Multilocale Translations
Manage app translations: find missing or duplicate phrases, add languages and export dictionaries.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"multilocale": {
"url": "https://mcp.multilocale.com/mcp"
}
}
}원격 엔드포인트
https://mcp.multilocale.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (17)
🟢list_projects
List all MultiLocale projects the authenticated user has access to. Returns a bounded Markdown and structured preview of project ids, names, locales, and timestamps.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"projectCount": {
"type": "integer",
"minimum": 0
},
"projectsTruncated": {
"type": "boolean"
},
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 128
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"locales": {
"type": "array",
"items": {
"$ref": "#/properties/projects/items/properties/defaultLocale/anyOf/0"
},
"maxItems": 200
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/projects/items/properties/creationTime"
}
},
"required": [
"id",
"name",
"defaultLocale",
"locales",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
}
},
"required": [
"status",
"projectCount",
"projectsTruncated",
"projects"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_project(projectIdOrName)
Fetch a single MultiLocale project by id or name. Returns bounded Markdown and structured project metadata, including name, configured locales, and timestamps.
입력 스키마
{
"type": "object",
"properties": {
"projectIdOrName": {
"type": "string",
"maxLength": 128,
"description": "Project id or project name (slug)"
}
},
"required": [
"projectIdOrName"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"project": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 128
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"locales": {
"type": "array",
"items": {
"$ref": "#/properties/project/anyOf/0/properties/defaultLocale/anyOf/0"
},
"maxItems": 200
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/project/anyOf/0/properties/creationTime"
}
},
"required": [
"id",
"name",
"defaultLocale",
"locales",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"project"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴add_project(name, defaultLocale, locales)
Create a MultiLocale project with a default locale and optional additional locales. Refuses to create a duplicate project name in the authenticated organization.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "New project name (prefer a URL-safe slug)"
},
"defaultLocale": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Default locale code for the project (for example, en)"
},
"locales": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 35
},
"maxItems": 200,
"description": "Initial locale codes. The default locale is added automatically when omitted."
}
},
"required": [
"name",
"defaultLocale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"created",
"already-exists"
]
},
"project": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 128
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"locales": {
"type": "array",
"items": {
"$ref": "#/properties/project/anyOf/0/properties/defaultLocale/anyOf/0"
},
"maxItems": 200
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/project/anyOf/0/properties/creationTime"
}
},
"required": [
"id",
"name",
"defaultLocale",
"locales",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"project"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_project(projectIdOrName, defaultLocale, locales, context)
Update a MultiLocale project’s default locale, complete locale list, or translation context. Project names are intentionally not changed because phrases reference the project name.
입력 스키마
{
"type": "object",
"properties": {
"projectIdOrName": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Project id or project name (slug)"
},
"defaultLocale": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "New default locale code. It must be one of the project locales."
},
"locales": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 35
},
"minItems": 1,
"maxItems": 200,
"description": "Complete replacement list of locale codes. Include the default locale."
},
"context": {
"type": "string",
"maxLength": 600,
"description": "Optional translation context for the project. Use an empty string to clear it."
}
},
"required": [
"projectIdOrName"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"no-input",
"not-found",
"no-change",
"updated"
]
},
"project": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"changedFields": {
"type": "array",
"items": {
"type": "string",
"enum": [
"defaultLocale",
"locales",
"context"
]
},
"maxItems": 3
}
},
"required": [
"status",
"project",
"changedFields"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_phrases(project, language, key)
List translation phrases for a MultiLocale project. Optionally filter by language or key. Returns a bounded Markdown and structured preview of id, key, language, and value.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"maxLength": 128,
"description": "Project name (slug) to list phrases for"
},
"language": {
"type": "string",
"maxLength": 35,
"description": "Filter by language code (e.g. en, it, es)"
},
"key": {
"type": "string",
"maxLength": 256,
"description": "Filter by exact phrase key"
}
},
"required": [
"project"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"phraseCount": {
"type": "integer",
"minimum": 0
},
"phrasesTruncated": {
"type": "boolean"
},
"phrases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"key": {
"type": "string",
"maxLength": 256
},
"language": {
"type": "string",
"maxLength": 35
},
"value": {
"type": "string",
"maxLength": 2000
},
"valueTruncated": {
"type": "boolean"
},
"machineTranslated": {
"type": [
"boolean",
"null"
]
},
"projects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxItems": 100
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/phrases/items/properties/creationTime"
}
},
"required": [
"id",
"key",
"language",
"value",
"valueTruncated",
"machineTranslated",
"projects",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
}
},
"required": [
"status",
"phraseCount",
"phrasesTruncated",
"phrases"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_phrase(project, key, language)
Fetch translations for one exact phrase key in a MultiLocale project. Returns a bounded Markdown and structured preview across locales, or a single locale when language is provided.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"maxLength": 128,
"description": "Project name (slug) the phrase belongs to"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "Exact phrase key to look up"
},
"language": {
"type": "string",
"maxLength": 35,
"description": "Language code to fetch (e.g. en, it). Omit to fetch all languages for the key."
}
},
"required": [
"project",
"key"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"project": {
"type": "string",
"maxLength": 128
},
"key": {
"type": "string",
"maxLength": 256
},
"translationCount": {
"type": "integer",
"minimum": 0
},
"translationsTruncated": {
"type": "boolean"
},
"translations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"language": {
"type": "string",
"maxLength": 35
},
"value": {
"type": "string",
"maxLength": 2000
},
"valueTruncated": {
"type": "boolean"
},
"machineTranslated": {
"type": [
"boolean",
"null"
]
},
"projects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxItems": 100
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/translations/items/properties/creationTime"
}
},
"required": [
"id",
"language",
"value",
"valueTruncated",
"machineTranslated",
"projects",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 24
}
},
"required": [
"status",
"project",
"key",
"translationCount",
"translationsTruncated",
"translations"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_phrases(project, query, language)
Search translation phrases for a MultiLocale project by matching a query string against phrase keys and values. Returns a bounded Markdown and structured preview of matching ids, keys, languages, and values.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"maxLength": 128,
"description": "Project name (slug) to search phrases in"
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search text to match against phrase keys and values"
},
"language": {
"type": "string",
"maxLength": 35,
"description": "Restrict search to a specific language code (e.g. en, it)"
}
},
"required": [
"project",
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty",
"no-matches"
]
},
"phraseCount": {
"type": "integer",
"minimum": 0
},
"phrasesTruncated": {
"type": "boolean"
},
"phrases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"key": {
"type": "string",
"maxLength": 256
},
"language": {
"type": "string",
"maxLength": 35
},
"value": {
"type": "string",
"maxLength": 2000
},
"valueTruncated": {
"type": "boolean"
},
"machineTranslated": {
"type": [
"boolean",
"null"
]
},
"projects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxItems": 100
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/phrases/items/properties/creationTime"
}
},
"required": [
"id",
"key",
"language",
"value",
"valueTruncated",
"machineTranslated",
"projects",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
}
},
"required": [
"status",
"phraseCount",
"phrasesTruncated",
"phrases"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_duplicate_phrase_values(project, scanLimit)
Find keys in a bounded scan of one MultiLocale project whose default-locale translations have the same value. The result explicitly reports when the scan or output preview is truncated.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Project id or name whose default-locale copy should be checked"
},
"scanLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2000,
"description": "Maximum default-locale phrases to scan. Defaults to 1000, capped at 2000."
}
},
"required": [
"project"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"none",
"partial",
"not-found"
]
},
"project": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"phrasesScanned": {
"type": "integer",
"minimum": 0,
"maximum": 2000
},
"scanLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2000
},
"scanTruncated": {
"type": "boolean"
},
"duplicateCount": {
"type": "integer",
"minimum": 0,
"maximum": 2000
},
"duplicatesTruncated": {
"type": "boolean"
},
"duplicates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"maxLength": 500
},
"valueTruncated": {
"type": "boolean"
},
"keys": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"maxItems": 10
},
"keysTruncated": {
"type": "boolean"
},
"sharedWith": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"maxItems": 10
},
"sharedWithTruncated": {
"type": "boolean"
}
},
"required": [
"value",
"valueTruncated",
"keys",
"keysTruncated",
"sharedWith",
"sharedWithTruncated"
],
"additionalProperties": false
},
"maxItems": 25
}
},
"required": [
"status",
"project",
"defaultLocale",
"phrasesScanned",
"scanLimit",
"scanTruncated",
"duplicateCount",
"duplicatesTruncated",
"duplicates"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_missing_translations(project, language, localeLimit, scanLimit)
Report missing keys in a bounded scan of one locale or up to 10 configured locales, compared with the project default locale. The result explicitly reports partial locale or phrase scans and never creates translations.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Project id or name whose translation coverage should be checked"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Locale code to check. Omit to report coverage for every configured locale."
},
"localeLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10,
"description": "Maximum configured locales to check when language is omitted. Defaults to 10."
},
"scanLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2000,
"description": "Maximum phrases to scan per locale. Defaults to 1000, capped at 2000."
}
},
"required": [
"project"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"complete",
"incomplete",
"partial",
"not-found"
]
},
"project": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"sourcePhrasesScanned": {
"type": "integer",
"minimum": 0,
"maximum": 2000
},
"scanLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2000
},
"sourceScanTruncated": {
"type": "boolean"
},
"localesTruncated": {
"type": "boolean"
},
"locales": {
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string",
"minLength": 1,
"maxLength": 35
},
"totalKeys": {
"type": "integer",
"minimum": 0,
"maximum": 2000
},
"translatedKeys": {
"type": "integer",
"minimum": 0,
"maximum": 2000
},
"missingKeyCount": {
"type": "integer",
"minimum": 0,
"maximum": 2000
},
"completionPercent": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"targetPhrasesScanned": {
"type": "integer",
"minimum": 0,
"maximum": 2000
},
"targetScanTruncated": {
"type": "boolean"
},
"analysisIncomplete": {
"type": "boolean"
},
"missingKeys": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"maxItems": 25
},
"missingKeysTruncated": {
"type": "boolean"
}
},
"required": [
"language",
"totalKeys",
"translatedKeys",
"missingKeyCount",
"completionPercent",
"targetPhrasesScanned",
"targetScanTruncated",
"analysisIncomplete",
"missingKeys",
"missingKeysTruncated"
],
"additionalProperties": false
},
"maxItems": 10
}
},
"required": [
"status",
"project",
"defaultLocale",
"sourcePhrasesScanned",
"scanLimit",
"sourceScanTruncated",
"localesTruncated",
"locales"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢export_locale_dictionary(project, language, skip, limit)
Export one locale of a MultiLocale project as bounded, sorted key/value entries. Results are API-paginated with a maximum of 50 entries per call and each value is capped at 500 characters.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Project name (slug) to export"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Language code to export (for example, en)"
},
"skip": {
"type": "integer",
"minimum": 0,
"maximum": 10000,
"description": "Number of keys to skip, sorted alphabetically. Defaults to 0 and is capped at 10000."
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 50,
"description": "Maximum number of keys to return. Defaults to 25, capped at 50."
}
},
"required": [
"project",
"language"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty",
"partial"
]
},
"project": {
"type": "string",
"maxLength": 128
},
"language": {
"type": "string",
"maxLength": 35
},
"returnedCount": {
"type": "integer",
"minimum": 0,
"maximum": 50
},
"skip": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"nextSkip": {
"anyOf": [
{
"$ref": "#/properties/skip"
},
{
"type": "null"
}
]
},
"hasMore": {
"type": "boolean"
},
"offsetCapReached": {
"type": "boolean"
},
"valuesTruncated": {
"type": "boolean"
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"value": {
"type": "string",
"maxLength": 500
}
},
"required": [
"key",
"value"
],
"additionalProperties": false
},
"maxItems": 50
}
},
"required": [
"status",
"project",
"language",
"returnedCount",
"skip",
"nextSkip",
"hasMore",
"offsetCapReached",
"valuesTruncated",
"entries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_team_members
List a bounded roster for the authenticated MultiLocale organization. Returns only each member's display name and role. Email addresses, member IDs, role IDs, phone, country, and signup device details are excluded.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"memberCount": {
"type": "integer",
"minimum": 0
},
"membersTruncated": {
"type": "boolean"
},
"members": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"role": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"name",
"role"
],
"additionalProperties": false
},
"maxItems": 100
}
},
"required": [
"status",
"memberCount",
"membersTruncated",
"members"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴add_phrase(project, key, value, model, context)
Create a new key in a project’s default locale and generate translations for every other configured locale. Omit value to use the key as its source value. Refuses to overwrite an existing key.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Project name (slug) to add the key to"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "New exact phrase key"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "Source value in the default locale. Omit to use the key itself."
},
"model": {
"type": "string",
"maxLength": 64,
"description": "Translation model to use. Defaults to gpt-6-luna."
},
"context": {
"type": "string",
"maxLength": 600,
"description": "Optional context that helps translators disambiguate the phrase."
}
},
"required": [
"project",
"key"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"created",
"not-found",
"already-exists"
]
},
"project": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"key": {
"type": "string",
"maxLength": 256
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"translationCount": {
"type": "integer",
"minimum": 0
},
"locales": {
"type": "array",
"items": {
"type": "string",
"maxLength": 35
},
"maxItems": 200
}
},
"required": [
"status",
"project",
"key",
"defaultLocale",
"translationCount",
"locales"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_phrase(project, key, language, value)
Update the translation value for a specific phrase key and language in a MultiLocale project. Phrases may be shared across projects — updating affects all projects that share the key. Clears machine-translation flags since the value is now human-edited.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"maxLength": 128,
"description": "Project name (slug) the phrase belongs to"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "Exact phrase key to update"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Language code of the translation to update (e.g. en, it, es)"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "New translation value for the given language"
}
},
"required": [
"project",
"key",
"language",
"value"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"not-found",
"no-change",
"updated"
]
},
"project": {
"type": "string",
"maxLength": 128
},
"key": {
"type": "string",
"maxLength": 256
},
"language": {
"type": "string",
"maxLength": 35
},
"previousValue": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"sharedProjects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxItems": 100
}
},
"required": [
"status",
"project",
"key",
"language",
"previousValue",
"value",
"sharedProjects"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴add_locale(project, locale, model, context)
Add a new locale to a project and generate translations for every key currently missing in that locale. Uses the default-locale value as the source for each translation.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Project name (slug) to localize"
},
"locale": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "New locale code to add (for example, it)"
},
"model": {
"type": "string",
"maxLength": 64,
"description": "Translation model to use. Defaults to gpt-6-luna."
},
"context": {
"type": "string",
"maxLength": 600,
"description": "Optional context applied while translating the missing phrases."
}
},
"required": [
"project",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"created",
"not-found",
"already-exists"
]
},
"project": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"locale": {
"type": "string",
"maxLength": 35
},
"translationCount": {
"type": "integer",
"minimum": 0
},
"locales": {
"type": "array",
"items": {
"type": "string",
"maxLength": 35
},
"maxItems": 200
}
},
"required": [
"status",
"project",
"locale",
"translationCount",
"locales"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴share_phrase(project, key, targetProjects)
Attach every locale translation for one key in a source project to one or more target projects. The underlying phrase rows become shared, so future edits affect every attached project.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Source project id or name that already contains the key"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "Exact key to share across every locale"
},
"targetProjects": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"minItems": 1,
"maxItems": 25,
"description": "One or more target project ids or names to attach to the key"
}
},
"required": [
"project",
"key",
"targetProjects"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"updated",
"not-found",
"no-targets",
"already-shared"
]
},
"project": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"key": {
"type": "string",
"maxLength": 256
},
"targetProjects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxItems": 25
},
"translationCount": {
"type": "integer",
"minimum": 0
}
},
"required": [
"status",
"project",
"key",
"targetProjects",
"translationCount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_phrase(project, key)
Permanently delete every locale translation for one key in a project. If a phrase is shared with other projects, this deletes the shared row for those projects too, rather than only detaching the project.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Project id or name that contains the key to delete"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "Exact key whose complete locale group should be deleted"
}
},
"required": [
"project",
"key"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"deleted",
"not-found"
]
},
"project": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
]
},
"key": {
"type": "string",
"maxLength": 256
},
"deletedTranslationCount": {
"type": "integer",
"minimum": 0
},
"sharedProjects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxItems": 100
}
},
"required": [
"status",
"project",
"key",
"deletedTranslationCount",
"sharedProjects"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_project_overview(projectIdOrName)
Render a bounded overview for a known MultiLocale project. Use this after listing projects or when the user provides a project id or name. It shows safe project metadata and up to 24 configured locales without downloading the project phrase dictionary.
입력 스키마
{
"type": "object",
"properties": {
"projectIdOrName": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "MultiLocale project id or name (slug) to render"
}
},
"required": [
"projectIdOrName"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"project": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 128
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"localeCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"localesTruncated": {
"type": "boolean"
},
"locales": {
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"maxLength": 35
}
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEditTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"defaultLocale",
"localeCount",
"localesTruncated",
"locales",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"project"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}커뮤니티
증거