규칙은 로컬라이제이션 엔진이 대상 로캘에 적용하는, 이름이 지정된 하나의 언어 지침입니다. 예를 들어 "주소에서는 Straße를 Str.로 줄여 쓴다"처럼 구체적이어야 하며, "좀 더 캐주얼하게"처럼 모호한 지침이어서는 안 됩니다. 규칙은 규칙 세트에 담깁니다. 규칙 세트는 조직이 소유하는 컨테이너이며, 엔진에 연결해서 적용합니다. 즉, 하나의 규칙 모음으로 필요한 모든 엔진에 동일한 기준을 적용할 수 있습니다.
Rules는 예전에 instructions였습니다
대시보드에서는 이제 이를 rules라고 부르고 ruleset으로 묶어 보여줍니다. REST API에서는 여전히 개별 rule이 /instructions에 그대로 노출되며, 필드 이름도 바뀌지 않았습니다. 달라진 점은 rule을 작성하는 위치로, 이제 rulesetId가 ownerEngineId를 대체합니다.
작동 방식#
규칙 세트는 엔진이 아니라 조직에 속합니다. 엔진에 연결해야 그 안의 규칙이 적용되며, 엔진 자체에 복사되는 내용은 없습니다.
| 객체 | 필드 |
|---|---|
| 규칙 세트 | 이름, 설명. 원하는 만큼 규칙을 담을 수 있습니다. |
| 규칙 | 이름, 대상 로캘(또는 *), 텍스트. |
번역 요청이 들어오면 엔진은 연결된 모든 규칙 세트에서 요청의 targetLocale과 일치하는 대상 로캘을 가진 모든 규칙을 수집해, 브랜드 보이스와 용어집과 함께 LLM 프롬프트에 포함합니다. 규칙은 서로 경쟁하지 않습니다. 일치하는 규칙은 모두 포함되며, 가장 잘 맞는 로캘이 먼저 오도록 정렬되어 가장 구체적인 지침이 앞에 배치됩니다.
| 필드 | 설명 |
|---|---|
| 이름 | 규칙을 식별하는 짧은 라벨(예: "독일어 경칭") |
| 대상 로캘 | 이 규칙이 적용될 로캘 또는 모든 로캘에 적용하는 * |
| 텍스트 | 자연어로 작성한 언어 규칙 |
로캘마다 여러 규칙 가능
하나의 로캘에 필요한 만큼 규칙을 만들어 보세요. 각 규칙은 하나의 주제만 다뤄야 합니다. 그래야 각각 독립적으로 테스트할 수 있고, rules AI 평가로 점수화할 수 있으며, 필요할 때 안전하게 삭제할 수 있습니다.
규칙 세트는 조직 소유입니다#
| 작업 | 효과 |
|---|---|
| 규칙 세트 만들기 | 조직 수준에 생성되며, 엔진에 연결하기 전까지는 아무 데도 적용되지 않습니다 |
| 엔진에 연결 | 그 안의 모든 규칙이 해당 엔진의 번역에 적용됩니다 |
| 여러 엔진에 연결 | 같은 규칙이 모두에 적용됩니다. 한 번 수정하면 모든 엔진이 따릅니다 |
| 하나의 엔진에 여러 규칙 세트 연결 | 모든 규칙이 함께 적용됩니다 |
| 엔진에서 연결 해제 | 엔진은 더 이상 해당 규칙 세트를 적용하지 않습니다. 규칙 세트와 그 안의 규칙은 그대로 유지됩니다. |
| 규칙 세트 삭제 | 아직 이를 적용 중인 엔진이 있으면 삭제할 수 없습니다. 먼저 연결을 해제하세요. 삭제하면 그 안의 규칙도 함께 삭제됩니다. |
| 엔진 삭제 | 규칙 세트와 규칙은 그대로 남습니다. 이들은 엔진이 아니라 조직에 속합니다. |
조직 사이드바의 Rules에서 규칙 세트를 관리하세요. 엔진의 Rules 탭에서는 현재 그 엔진에 적용 중인 항목을 확인하고, 규칙 세트를 연결하거나 해제할 수 있습니다.
미리 정의된 instructions#
Lingo.dev는 바로 가져다 쓸 수 있는 규칙 카탈로그를 큐레이션합니다. 대부분의 Team이 필요로 하지만, 막상 따로 적어두지는 않는 로캘 관례들입니다. 엔진의 Rules 탭에서 Predefined Instructions를 열고 원하는 항목을 선택하세요. 이 규칙들은 규칙 세트를 거치지 않고 엔진에 직접 연결되며, 언제든 연결 해제할 수 있습니다.
큐레이션된 규칙은 사용자가 직접 만든 규칙보다 먼저 프롬프트에 들어갑니다. 그래서 직접 작성한 규칙은 기본 규칙과 충돌하기보다, 그 위에서 기준을 더 구체화하거나 덮어쓸 수 있습니다.
규칙 vs. 브랜드 보이스#
둘 다 번역 결과를 좌우하지만, 관여하는 수준은 다릅니다:
| 브랜드 보이스 | 규칙 | |
|---|---|---|
| 범위 | 전반적인 톤, 스타일, 격식 수준 | 하나의 구체적인 언어 규칙 |
| 로캘별 | 로캘마다 하나의 텍스트, 엔진별로 로캘당 하나의 보이스 | 로캘마다 여러 규칙 |
| 적용 방식 | 가장 잘 맞는 단일 텍스트 하나 | 일치하는 모든 규칙이 함께 적용됨 |
| 와일드카드 | 예(*가 기본 보이스로 작동) | 예(*가 모든 로캘에 적용됨) |
| 예시 | "비격식체 du 사용, 기술적인 톤" | "주소에서는 항상 Straße를 Str.로 줄여 쓴다" |
브랜드 보이스는 특정 언어에서 제품이 어떻게 말해야 하는지를 정의할 때 사용하세요. 예를 들면 격식 수준, 어조, 문장 스타일 같은 요소입니다.
규칙은 모델이 놓치기 쉬운 구체적인 관례를 반영할 때 사용하세요. 예를 들면 약어, 문장 부호, 단위 표기, 로캘별 문법 패턴 등이 있습니다.
둘은 함께 작동합니다. 브랜드 보이스가 전체적인 말투를 정하고, 규칙은 세부 예외를 다룹니다.
효과적인 규칙 작성하기#
각 규칙은 하나의 명확하고 모호하지 않은 지침이어야 합니다. 엔진은 이 전체 텍스트를 LLM 프롬프트에 넣기 때문에, 명확할수록 좋습니다.
좋은 규칙#
Always use the Oxford comma in English lists.In Japanese, use full-width parentheses ()instead of half-width ().For German addresses, abbreviate "Straße" to "Str." and
"Nummer" to "Nr."When translating percentage values for French, add a
non-breaking space before the percent sign: 42 %.피해야 할 것#
- 브랜드 보이스와 겹치는 모호한 지침("좀 더 캐주얼하게") — 이런 내용은 대신 브랜드 보이스에 넣으세요
- 하나의 규칙에 서로 관련 없는 여러 지침을 넣는 것 — 각각 독립적으로 테스트할 수 있도록 나누세요
- 용어집과 충돌하는 규칙 — 엔진의 우선순위 구조에서는 용어집 용어가 우선합니다
와일드카드 로캘#
대상 로캘을 *로 설정하면 하나의 규칙을 모든 로캘에 적용할 수 있습니다. 언어에 관계없이 공통으로 적용되는 규칙에 유용합니다:
Never translate product feature names: "Smart Compose",
"Quick Actions", "Flow Builder".Preserve Markdown formatting in all translated strings.
Keep bold (**), italic (*), and link syntax [text](url) intact.엔진이 요청을 처리할 때는 로캘별 규칙과 와일드카드 규칙이 모두 포함됩니다. 서로 덮어쓰는 것이 아니라 함께 적용됩니다.
API에서 규칙 사용하기#
localize endpoint를 호출하면 규칙이 자동으로 적용됩니다. 엔진은 자신이 적용 중인 규칙 세트에서 요청의 targetLocale과 일치하는 모든 규칙(그리고 * 규칙)을 수집합니다. 추가 파라미터는 필요하지 않습니다.
| 호출 | 목적 |
|---|---|
POST /rulesets | 조직용 규칙 세트 만들기 |
GET /organizations/:id/rulesets | 조직의 규칙 세트를 규칙 수와 엔진 수와 함께 조회 |
GET /rulesets/:id/rules | 규칙 세트의 규칙 조회 |
POST /instructions with rulesetId | 규칙 세트에 규칙 추가 |
PUT /engines/:id/rulesets | 엔진이 적용할 규칙 세트 목록 교체 |
DELETE /engines/:id/rulesets/:rulesetId | 엔진에서 특정 규칙 세트 하나의 적용 중지 |
GET /engines/:id/instructions | 엔진이 현재 적용 중인 모든 규칙 조회 |
ownerEngineId의 POST /instructions도 여전히 작동합니다. 엔진에 자체 규칙 세트가 없으면 하나를 만든 뒤, 그 엔진의 자체 규칙 세트에 기록합니다. 가능하면 rulesetId 사용을 권장합니다.
액세스#
org:ruleset:read와 org:ruleset:edit는 규칙 세트와 그 안의 규칙을 제어합니다. 여기에 더해, 규칙 세트를 엔진에 연결하려면 해당 엔진에 대한 engine:edit도 필요합니다. 규칙 세트별 권한을 부여하면 조직의 모든 규칙 세트가 아니라 특정 규칙 세트 하나에만 읽기 및 편집 권한을 줄 수 있습니다. 자세한 내용은 Roles & Permissions를 참고하세요.
MCP로 규칙 관리하기#
Lingo.dev MCP server를 사용하면 AI 코딩 어시스턴트가 규칙과 규칙 세트를 직접 생성, 업데이트, 삭제할 수 있습니다:
"Create a ruleset called German conventions and apply it to
the marketing engine.""Add a rule to that ruleset: always abbreviate Straße to Str.
in addresses.""Add a wildcard rule: never translate the term Smart Compose."