From a3584c5fa3b4e264d9d34bd37122cce50d857351 Mon Sep 17 00:00:00 2001
From: Junseong Park <39112954+jsparkdev@users.noreply.github.com>
Date: Tue, 13 Jan 2026 12:57:23 +0900
Subject: [PATCH 1/2] i18n(ko-KR): update `fonts.mdx`
---
.../ko/reference/experimental-flags/fonts.mdx | 214 +++++++++++++-----
1 file changed, 155 insertions(+), 59 deletions(-)
diff --git a/src/content/docs/ko/reference/experimental-flags/fonts.mdx b/src/content/docs/ko/reference/experimental-flags/fonts.mdx
index d0b475deb1bea..af8ff5820516c 100644
--- a/src/content/docs/ko/reference/experimental-flags/fonts.mdx
+++ b/src/content/docs/ko/reference/experimental-flags/fonts.mdx
@@ -152,7 +152,7 @@ body {
## 사용 가능한 원격 글꼴 제공자
-Astro는 대부분의 [unifont](https://github.com/unjs/unifont/) 제공자를 다시 내보냅니다. 또한, 모든 unifont 제공자에 대해 [사용자 정의 Astro 글꼴 제공자](#나만의-글꼴-제공자-구축하기)를 만들 수도 있습니다.
+Astro는 [unifont](https://github.com/unjs/unifont/) 제공자를 기반으로 하는 몇 가지 내장 제공자를 내보냅니다. 또한 [사용자 정의 Astro 글꼴 제공자를 직접 제작](#나만의-글꼴-제공자-구축하기)할 수도 있습니다.
다음 제공자는 기본적으로 제공됩니다.
@@ -206,7 +206,7 @@ provider: fontProviders.fontsource()
provider: fontProviders.google()
```
-또한, `google()` 글꼴 제공자는 [unifont Google `ProviderOption`](https://github.com/unjs/unifont/blob/main/src/providers/google.ts#L10-L26)에서 사용 가능한 모든 옵션들을 허용합니다.
+또한, `google()` 글꼴 제공자는 [unifont Google 제공자](https://github.com/unjs/unifont/#options-1)에서 사용 가능한 모든 옵션들을 허용합니다.
```js
provider: fontProviders.google({
@@ -218,6 +218,28 @@ provider: fontProviders.google({
+
+
+
+
+
+
+```js
+provider: fontProviders.googleicons()
+```
+
+또한, `googleicons()` 글꼴 제공자는 [unifont Google Icons 옵션](https://github.com/unjs/unifont/#options-2)에서 사용 가능한 모든 옵션을 허용합니다.
+
+```js
+provider: fontProviders.googleicons({
+ glyphs: {
+ "Material Symbols Outlined": ["arrow_right", "favorite", "arrow_drop_down"]
+ }
+})
+```
+
+
+
## 사용 예시
@@ -514,7 +536,7 @@ optimizedFallbacks: false
원격 글꼴에 대한 추가 구성 옵션을 사용할 수 있습니다. 예를 들어 특정 글꼴 두께나 스타일만 다운로드하는 등, [글꼴 제공자](#사용-가능한-원격-글꼴-제공자)로부터 로드되는 데이터를 사용자 정의하려면 이러한 옵션을 설정하세요. 더 세부적인 제어를 위해 [세분화된 구성](#세분화된-원격-글꼴-구성)을 사용할 수 있습니다.
-내부적으로 이러한 옵션은 [unifont](https://github.com/unjs/unifont/)에 의해 처리됩니다. 일부 속성은 일부 제공업체에서 지원되지 않을 수 있으며, 각 제공업체에서 다르게 처리될 수 있습니다.
+각 제공자는 이러한 옵션을 처리할 책임이 있으므로, 다음 속성들에 대한 가용성 및 지원 여부는 제공자마다 다를 수 있습니다.
#### weights
@@ -846,88 +868,162 @@ export default defineConfig({
## 나만의 글꼴 제공자 구축하기
-[내장된 제공자](#사용-가능한-원격-글꼴-제공자) 중 하나를 사용하고 싶지 않다면 (예: 타사 unifont 제공자를 사용하거나 개인 레지스트리를 위해 무언가를 구축하려는 경우) 직접 구축할 수 있습니다.
+[내장된 제공자](#사용-가능한-원격-글꼴-제공자) 중 하나를 사용하고 싶지 않다면 (예: [타사 unifont 제공자](#제3자-unifont-제공자-지원)를 사용하거나 [개인 레지스트리를 위해 무언가를 구축](#비공개-레지스트리-지원)하려는 경우) 직접 구축할 수 있습니다.
-Astro 글꼴 제공자는 구성 객체와 실제 구현의 두 부분으로 구성됩니다.
+사용자 정의 글꼴 제공자를 구현하기 위해 권장되는 방법은 [구성](#config)을 매개변수로 받고 [`FontProvider` 객체](#글꼴-제공자-객체)를 반환하는 함수를 내보내는 것입니다.
-
+### 글꼴 제공자 객체
-1. 다음을 포함하는 `FontProvider` 구성 객체를 반환하는 함수를 만듭니다.
+실험적인 글꼴 API를 사용하면 통합된 방식으로 글꼴에 액세스할 수 있습니다. 각 패밀리는 글꼴 페이스를 검색하기 위해 Astro 글꼴 제공자를 사용해야 합니다.
- - `entrypoint`: URL, 루트를 기준으로 하는 상대 경로 또는 패키지 가져오기입니다.
- - `config`: unifont 제공자에게 전달되는 선택적인 직렬화 가능한 객체입니다.
+`FontProvider`는 필수 속성인 [`name`](#name-1) 및 [`resolveFont()`](#resolvefont)를 포함하는 객체입니다. 또한 선택적 속성인 [`config`](#config), [`init()`](#init) 및 [`listFonts()`](#listfonts)를 사용할 수 있습니다.
-
+#### `name`
-
+
- ```ts title="provider/config.ts"
- import type { FontProvider } from 'astro';
+**타입:** `string`
+
- export function myProvider(): FontProvider {
- return {
- entrypoint: new URL('./implementation.js', import.meta.url)
- };
- };
- ```
+제공자를 식별하고 로그에 표시하기 위한 고유한 이름입니다.
-
+#### `resolveFont()`
-
+
- ```ts title="provider/config.ts"
- import type { FontProvider } from 'astro';
+**타입:** `(options: ResolveFontOptions) => Awaitable<{ fonts: FontFaceData[] } | undefined>`
+
- interface Config {
- // ...
- };
+주어진 옵션을 바탕으로 글꼴 페이스 데이터를 검색하고 반환하는 데 사용됩니다.
- export function myProvider(config: Config): FontProvider {
- return {
- entrypoint: new URL('./implementation.js', import.meta.url),
- config
- };
- };
- ```
+#### `config`
-
+
-
+**타입:** `Record`
+**기본값:** `undefined`
+
-2. 두 번째 파일을 만들어 unifont `provider` 구현을 내보냅니다.
+식별을 위해 사용되는 직렬화 가능한 객체입니다.
- ```ts title="implementation.ts"
- import { defineFontProvider } from "unifont";
+#### `init()`
- export const provider = defineFontProvider("my-provider", async (options, ctx) => {
- // 사용자 정의 글꼴을 가져오거나 정의합니다.
- // ...
- });
- ```
+
- :::tip
-
- unifont 제공자를 만드는 방법에 대해 더 자세히 알아보려면 [unifont 제공자의 소스 코드](https://github.com/unjs/unifont/blob/main/src/providers/)를 확인하세요.
+**타입:** `(context: FontProviderInitContext) => Awaitable`
+**기본값:** `undefined`
+
- :::
+초기화 로직을 수행하는 데 사용되는 선택적 콜백입니다. 컨텍스트에는 캐싱에 유용한 `storage` 객체가 포함되어 있습니다.
-3. 글꼴 구성에 사용자 정의 제공자를 추가합니다.
+#### `listFonts()`
- ```js title="astro.config.mjs" ins="myProvider()"
- import { defineConfig } from "astro/config";
- import { myProvider } from "./provider/config";
+
- export default defineConfig({
- experimental: {
+**타입:** `() => Awaitable`
+**기본값:** `undefined`
+
+
+사용 가능한 글꼴 이름 목록을 반환하는 데 사용되는 선택적 콜백입니다.
+
+### 비공개 레지스트리 지원
+
+다음 예시는 비공개 레지스트리를 위한 글꼴 제공자를 정의합니다.
+
+```ts title="font-provider.ts"
+import type { FontProvider } from "astro";
+import { retrieveFonts, type Fonts } from "./utils.js",
+
+interface Config {
+ token: string;
+}
+
+export function registryFontProvider(config: Config): FontProvider {
+ let data: Fonts = {}
+
+ return {
+ name: "registry",
+ config,
+ init: async () => {
+ data = await retrieveFonts(token);
+ },
+ listFonts: () => {
+ return Object.keys(data);
+ },
+ resolveFont: ({ familyName, ...options }) => {
+ const fonts = data[familyName];
+ if (fonts) {
+ return { fonts };
+ }
+ return undefined;
+ },
+ };
+}
+```
+
+이후 Astro 구성에서 이 글꼴 제공자를 등록할 수 있습니다.
+
+```ts title="astro.config.ts"
+import { defineConfig } from "astro/config";
+import { registryFontProvider } from "./font-provider";
+
+export default defineConfig({
+ experimental: {
fonts: [{
- provider: myProvider(),
- // ...
+ provider: registryFontProvider({
+ token: "..."
+ }),
+ name: "Custom",
+ cssVariable: "--font-custom"
}]
- }
- });
- ```
+ }
+});
+```
-
+### 제3자 unifont 제공자 지원
+
+내부에 unifont 제공자를 사용하는 Astro 글꼴 제공자를 정의할 수 있습니다.
+
+```ts title="font-provider.ts" {3,5,6}
+import type { FontProvider } from "astro";
+import type { InitializedProvider } from 'unifont';
+import { acmeProvider, type AcmeOptions } from '@acme/unifont-provider'
+
+function acmeFontProvider(config?: AcmeOptions): FontProvider {
+ const provider = acmeProvider(config);
+ let initializedProvider: InitializedProvider | undefined;
+ return {
+ name: provider._name,
+ config,
+ async init(context) {
+ initializedProvider = await provider(context);
+ },
+ async resolveFont({ familyName, ...rest }) {
+ return await initializedProvider?.resolveFont(familyName, rest);
+ },
+ async listFonts() {
+ return await initializedProvider?.listFonts?.();
+ },
+ };
+}
+```
+
+이후 Astro 구성에서 이 글꼴 제공자를 등록할 수 있습니다.
+
+```ts title="astro.config.ts"
+import { defineConfig } from "astro/config";
+import { acmeFontProvider } from "./font-provider";
+
+export default defineConfig({
+ experimental: {
+ fonts: [{
+ provider: acmeFontProvider({/* ... */}),
+ name: "Custom",
+ cssVariable: "--font-custom"
+ }]
+ }
+});
+```
## 캐싱
From caed511440f16062b325deed9117738c03317d13 Mon Sep 17 00:00:00 2001
From: Junseong Park <39112954+jsparkdev@users.noreply.github.com>
Date: Tue, 13 Jan 2026 12:57:42 +0900
Subject: [PATCH 2/2] update wrong outdated in i18n status
---
src/content/docs/ko/guides/deploy/azion.mdx | 2 +-
src/content/docs/ko/guides/deploy/heroku.mdx | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/content/docs/ko/guides/deploy/azion.mdx b/src/content/docs/ko/guides/deploy/azion.mdx
index 723561cebe2a8..cedbdb98c749f 100644
--- a/src/content/docs/ko/guides/deploy/azion.mdx
+++ b/src/content/docs/ko/guides/deploy/azion.mdx
@@ -14,7 +14,7 @@ import { Steps } from '@astrojs/starlight/components';
## 전제 조건
-시작하려면 다음이 필요합니다:
+시작하려면 다음이 필요합니다.
- [Azion 계정](https://www.azion.com/). 계정이 없는 경우 무료 계정을 신청할 수 있습니다.
- [GitHub](https://github.com/) 저장소에 저장된 앱 코드.
diff --git a/src/content/docs/ko/guides/deploy/heroku.mdx b/src/content/docs/ko/guides/deploy/heroku.mdx
index 214421c680877..57904b54b71bd 100644
--- a/src/content/docs/ko/guides/deploy/heroku.mdx
+++ b/src/content/docs/ko/guides/deploy/heroku.mdx
@@ -39,7 +39,7 @@ import { Steps } from '@astrojs/starlight/components';
이것이 여러분의 사이트 구성입니다. [heroku-buildpack-static](https://github.com/heroku/heroku-buildpack-static)에서 자세한 내용을 읽어보세요.
-5. Heroku git remote를 설정합니다:
+5. Heroku git remote를 설정합니다.
```bash
# version change