Multilocale Translations
Manage app translations: find missing or duplicate phrases, add languages and export dictionaries.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"multilocale": {
"url": "https://mcp.multilocale.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp.multilocale.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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"
}Esquema de salida
{
"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
}Comunidad
Evidencia