게임 현지화의 게임 고유분 — 폰트 게임 임베딩 라이선스와 장르별 폰트 예산. 범용 검사는 nereus-l10n 이 한다. 트리거 "게임 현지화", "게임 폰트 라이선스", "장르 폰트 예산".
Scanned 9/19/2026
Install to Claude Code
npx -y skills add snwlee/Nereus --skill localization --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Localization?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/snwlee-localization)More formats (shields.io, HTML) on the badges page.
---
name: localization
description: 게임 현지화의 게임 고유분 — 폰트 게임 임베딩 라이선스와 장르별 폰트 예산. 범용 검사는 nereus-l10n 이 한다. 트리거 "게임 현지화", "게임 폰트 라이선스", "장르 폰트 예산".
---
# localization
nereus:common 규칙을 따른다. 담당 에이전트: architect.
**엔진과 무관하다** — Luau 든 C# 이든 Dart 든 폰트 라이선스와 용량 예산은 같은 기준으로 본다.
## 0. 이 스킬은 게임 고유분만 갖는다
현지화 검사기는 **`nereus-l10n` 으로 이관했다**(2026-09-13). 이유는 측정이다:
| 파일 | 줄 | 게임 고유 토큰 |
|---|---|---|
| `l10n-scan.mjs` | 99 | **0건** |
| `font-check.mjs` | 81 | **2곳** — 임베딩 종류, 장르 예산 |
하드코딩 문자열·로케일 키 누락·확장률 폭 초과·스크립트 커버리지는 **게임과 무관**하다.
배경화면 앱도 똑같이 필요하고, 그 저장소는 `nereus-game` 을 깔 이유가 없다.
게임 전용 플러그인에 두면 **비게임 제품에서는 현지화 검사가 통째로 없다.**
대사·자막 현지화 대비는 원래부터 `nereus-game:narrative` §4 가 갖는다. 여기가 아니다.
| 무엇 | 어디 |
|---|---|
| 소스 문자열·로케일 키·폭 | `nereus-l10n:l10n` |
| 스토어 등재 텍스트·ASO | `nereus-l10n:storelisting` |
| 스크립트 커버리지·두부·RTL | `nereus-l10n:typeface` |
| 대사·자막 분기 | `nereus-game:narrative` |
| **게임 임베딩 라이선스·장르 폰트 예산** | **여기** |
`nereus-l10n` 은 동반 플러그인으로 선언되어 있다. **이 스킬은 그 검사기를 직접 부르지 않는다** —
형제 플러그인을 프로세스로 부르면 설치 조합에 따라 조용히 깨진다. 사용자가 설치하면 그쪽 스킬이 뜬다.
## 1. 게임 임베딩 라이선스 — 요구 종류를 게임이 정한다
폰트 검사기는 요구 임베딩 종류를 **입력으로 받는다**. 게임은 `"game"` 을 넘긴다.
```json
{ "requiredEmbedding": "game" }
```
**게임 임베딩은 별개 권리다.** 상당수 폰트가 게임 임베딩을 금지하거나 별도 계약을 요구한다.
웹폰트 라이선스로 게임에 넣는 것은 위반이고, 데스크톱 라이선스도 게임을 덮지 않는 경우가 많다.
**안 주면 검사를 건너뛰는 것이 아니라 `required-embedding-undeclared` 로 낸다.**
모름은 허용이 아니다 — 건너뛰면 검사하지 않은 것이 통과로 읽힌다.
## 2. 장르 폰트 예산 — 값으로 주입한다
장르 프로파일(`profiles.mjs`)은 게임 고유다. 검사기가 장르를 알면 비게임 제품에서 못 쓴다.
그래서 **장르에서 꺼낸 값만** 넘긴다.
```json
{ "typography": { "maxFontKb": 900, "minSizePx": 18 } }
```
`profile.typography` 를 그대로 넘기면 된다. 기준을 안 주면 예산·크기는 판정되지 않고
`unmeasured` 에 `typography-baseline` 으로 남는다 — **통과로 내지 않는다.**
라이선스·스크립트 커버리지·서브셋은 프로파일과 무관하므로 기준이 없어도 계속 판정된다.
## 3. 유저 생성 텍스트가 있으면 서브셋을 금지한다
한글 11,172자를 다 넣으면 폰트가 수 MB 라 서브셋이 표준 해법이다. 그런데 닉네임·채팅은
**어떤 글자가 올지 모른다** — 서브셋한 폰트에서 유저 이름이 두부(□□□)가 된다.
용량 최적화의 대가가 그거면 최적화가 아니다. 게임은 유저 생성 텍스트를 갖는 일이 많아
`userGeneratedText` 를 사실대로 넘긴다.
## 4. 하지 말 것
- **범용 현지화 규칙을 여기에 다시 적지 않는다.** `nereus-l10n` 이 단일 출처다.
- **`nereus-l10n` 의 검사기를 프로세스로 부르지 않는다.** 동반 선언으로만 건다.
- **요구 임베딩을 코드나 문서에 기본값으로 박지 않는다.** 제품이 정한다.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!