> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 언어 및 문구

앱 크롬, 설정 레이블, 메일, 알림 이벤트를 위한 4로케일 사전 골격을 사용하세요.

## 설치 및 설정

어떤 단계를 시작하기 전에 [시작하기 전에](https://supastack.dev/ko/docs/web/before-you-start.md) 및 [터미널 기본 사항](https://supastack.dev/ko/docs/web/terminal-basics.md)을 읽어보세요. 이 지침에서는 VS Code에서 전체 supastack 단일 저장소를 열었다고 가정합니다. 해당 루트 package.json은 저장소 루트를 표시합니다. pnpm 명령에서 작업 영역 패키지는 앱 또는 공유 코드 폴더입니다. 제품에서 작업공간은 팀의 데이터 컨테이너이자 보안 경계입니다. corepack pnpm --filter ... 명령이 해당 루트에서 실행되는 동안 monorepo에서 하나의 패키지를 선택합니다. 동기화된 모바일 또는 데스크톱 폴더만 열었다면 웹 백엔드, Docker 설정 또는 루트 스크립트가 포함되지 않습니다. 이 모노 저장소 또는 연결 가능한 호스팅 서버에서 백엔드를 실행하고 플랫폼 폴더의 자체 스크립트를 사용하세요. 환경 변수는 로컬 .env 파일이나 호스팅 대시보드에 저장된 명명된 설정입니다. 관련 앱을 변경한 후 다시 시작하고, NEXT_PUBLIC_ 및 EXPO_PUBLIC_ 값에서 서버 비밀을 유지하세요.

1. VS Code에서 packages/i18n/src/index.ts를 열어 지원되는 언어 이름과 로캘 도우미를 확인합니다. 제품 사본을 변경하기 전에 일치하는 사전 파일을 찾으십시오.

2. 영어, 독일어, 스페인어, 프랑스어 사전에 동일한 새 키와 번역을 추가합니다.

3. 저장소 루트에서 corepack pnpm test -- packages/i18n/src/index.test.ts를 실행하고 corepack pnpm --filter @supastack/web dev로 웹을 시작합니다. 예상: 언어 전환기는 현재 페이지 경로를 유지하면서 표시되는 텍스트를 변경합니다.

로케일은 SUPPORTED_LOCALES, LOCALE_COOKIE,solveLocale, getDictionary 및 localePath를 사용하여 @supastack/i18n에 있습니다. 프록시는 x-supastack-locale을 설정하고 표준 영어 리디렉션을 처리합니다. LanguageSwitcher는 쿠키를 업데이트하고 활성 하위 경로를 유지합니다. 주요 앱 경로(/dashboard, /settings, /billing, /chat)는 소프트 /{locale} 마케팅 홈과 함께 /[locale] 접두사 아래에서 직접 작동합니다.

사전에는 마케팅 탐색, 설정 섹션 라벨, 조직 설정 크롬, 거래 메일(초대/OTP/magic-link/AI/billing), 알림 기본 설정 라벨 및 인앱 알림 이벤트 복사가 포함됩니다.

```
import { getDictionary, resolveLocale, LOCALE_COOKIE } from "@supastack/i18n";

const locale = resolveLocale([
  cookieStore.get(LOCALE_COOKIE)?.value,
  headers.get("x-supastack-locale"),
  headers.get("accept-language"),
]);
const copy = getDictionary(locale);
```


## 복사 명령

설명을 따라 명령이 실행되는 폴더를 확인하세요. 두 개의 터미널에 레이블이 지정되어 있으면 두 개의 터미널 창을 열고 두 번째 명령을 사용하는 동안 첫 번째 명령을 계속 실행하세요.

```
corepack pnpm test -- packages/i18n/src/index.test.ts
corepack pnpm --filter @supastack/web dev
```


## 구현 워크플로

사용 가능한 경우 서버 렌더링 설정/조직 페이지 및 알림CopyForEvent / 인증 메일 전달 옵션에 로케일을 전달합니다. 영어를 DEFAULT_LOCALE로 유지하고 사전 키 이외의 마케팅 주장을 작성하지 마십시오.

트랜잭션 메일은 아웃리치와 분리된 상태로 유지됩니다. 모든 마케팅 라우트를 [locale] 아래에 중첩하기 전에 사전을 확장하세요.


## 검증 및 문제 해결

한 문구에 영어가 나타나면 해당 키가 4개 사전 모두에 있는지, 페이지에서 동일한 키를 요구하는지 확인하세요. 언어를 전환하면 홈페이지로 돌아가는 경우 로케일 링크를 구축할 때 현재 경로를 유지하세요. 거래 이메일 경로에 이메일 사본을 보관하세요. 대량 홍보용으로 재사용하지 마세요.

packages/i18n Vitest, 프록시 테스트 및 locale-app-routes 테스트를 실행합니다. 로캘 접두사가 de/es/fr인 경우 / 및 현지화된 설정/org/dashboard/billing/chat 제목에서 LanguageSwitcher를 즉시 확인하세요.


## 다음

[블로그 글 작성](https://supastack.dev/ko/docs/web/blog-content.md)
