@jossuealcala/madre 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.en.md +69 -1
- package/CHANGELOG.md +69 -1
- package/README.en.md +11 -15
- package/README.md +3 -3
- package/bin/madre.cjs +40 -0
- package/bin/madre.mjs +5 -0
- package/docs/REFERENCE.md +29 -3
- package/docs/SDK.md +4 -2
- package/docs/en/REFERENCE.md +29 -3
- package/docs/en/SDK.md +4 -2
- package/docs/training/README.md +28 -1
- package/docs/training/train.sh +5 -1
- package/package.json +3 -3
- package/public/app.js +1626 -151
- package/public/attribution.js +44 -1
- package/public/brands.js +20 -5
- package/public/code-tools.js +143 -0
- package/public/editor.js +20 -4
- package/public/es.js +393 -25
- package/public/hardware.js +50 -0
- package/public/index.html +5 -1
- package/public/macroverso.js +187 -96
- package/public/market-art.js +161 -0
- package/public/market-view.js +529 -0
- package/public/market.js +189 -0
- package/public/neural.js +110 -0
- package/public/nostromo-engine.js +412 -47
- package/public/power.js +100 -0
- package/public/resay.js +5 -0
- package/public/salas-mac.css +98 -14
- package/public/salas-mac.html +9 -1
- package/public/salas-mac.js +307 -30
- package/public/styles.css +838 -61
- package/public/tour.js +48 -6
- package/public/troubleshooting.js +6 -1
- package/public/wallpaper.js +275 -0
- package/src/adapters/cursor.mjs +96 -0
- package/src/adapters/gemini.mjs +10 -3
- package/src/adapters/madre.mjs +2 -1
- package/src/auth-probe.mjs +143 -12
- package/src/bridge/policy.mjs +1 -1
- package/src/capabilities.mjs +9 -0
- package/src/checkpoint.mjs +16 -1
- package/src/credentials.mjs +3 -0
- package/src/dataset.mjs +76 -4
- package/src/enlaces.mjs +208 -2
- package/src/extensions.mjs +11 -3
- package/src/i18n.mjs +16 -0
- package/src/looks.mjs +125 -2
- package/src/market-key.mjs +8 -0
- package/src/market-remote.mjs +239 -0
- package/src/models.mjs +4 -0
- package/src/module-scope.mjs +68 -0
- package/src/modules/ahp.mjs +102 -7
- package/src/modules/bishop-exam.mjs +122 -0
- package/src/modules/bishop.mjs +71 -12
- package/src/modules/enlaces.mjs +87 -6
- package/src/modules/image-studio.mjs +10 -1
- package/src/modules/intents.mjs +3 -1
- package/src/modules/local-models.mjs +124 -0
- package/src/modules/ollama.mjs +12 -3
- package/src/modules/playwright.mjs +73 -15
- package/src/modules/sdk.mjs +61 -9
- package/src/npm-launch.mjs +18 -0
- package/src/ollama.mjs +6 -5
- package/src/outbound.mjs +9 -1
- package/src/ports.mjs +4 -2
- package/src/room/control.mjs +1 -1
- package/src/room/prompt.mjs +13 -2
- package/src/room.mjs +14 -4
- package/src/router.mjs +1 -1
- package/src/runs.mjs +4 -1
- package/src/runtime-detection.mjs +9 -0
- package/src/salas.mjs +26 -0
- package/src/server.mjs +617 -48
- package/src/setup.mjs +1 -1
package/public/es.js
CHANGED
|
@@ -173,9 +173,6 @@ export const ES = {
|
|
|
173
173
|
'Gemini intentó pasarle esta tarea a uno de sus propios subagentes. MADRE no lo permite: un subagente responde fuera del permiso que MADRE controla, así que nada de lo que escribiera se podría comprobar, mostrar ni deshacer.',
|
|
174
174
|
'Ask again saying it should do the work itself, without subagents.':
|
|
175
175
|
'Vuelve a pedirlo diciéndole que haga el trabajo él mismo, sin subagentes.',
|
|
176
|
-
' · this reply names {n} file(s) that are not on disk: {files}':
|
|
177
|
-
' · esta respuesta menciona {n} archivo(s) que no existen: {files}',
|
|
178
|
-
' · nothing was written this turn': ' · esta respuesta no escribió nada',
|
|
179
176
|
'OPEN MODULES': 'ABRIR MÓDULOS',
|
|
180
177
|
'@{who} puts {agents} to work': '@{who} pone a trabajar a {agents}',
|
|
181
178
|
'@{who} puts {agents} to work, then closes': '@{who} pone a trabajar a {agents} y luego cierra',
|
|
@@ -325,12 +322,10 @@ export const ES = {
|
|
|
325
322
|
'ROUTE BLOCKED': 'RUTA BLOQUEADA',
|
|
326
323
|
'route: {destination}': 'ruta: {destination}',
|
|
327
324
|
'Not on this computer.': 'No lo tienes instalado.',
|
|
328
|
-
'Not on this computer · {command}': 'No lo tienes instalado · {command}',
|
|
329
325
|
'version unknown': 'versión desconocida',
|
|
330
326
|
'HAS A FREE OPTION': 'TIENE OPCIÓN GRATIS',
|
|
331
327
|
'PASTE API KEY': 'PEGAR LLAVE DE API',
|
|
332
328
|
'signs in from your terminal:': 'inicia sesión desde tu terminal:',
|
|
333
|
-
'Or do it from a terminal: {command}': 'O hazlo desde la terminal: {command}',
|
|
334
329
|
|
|
335
330
|
// ── EL COMPOSITOR ─────────────────────────────────────────────────────────
|
|
336
331
|
'Permission to create: let the agent create files for this request, only inside .pulse/out/':
|
|
@@ -612,11 +607,10 @@ export const ES = {
|
|
|
612
607
|
// Lo que la revisión previa de Continuidad encuentra antes de escribir nada (2026-10-11).
|
|
613
608
|
'npx is not on PATH for the MADRE server; start MADRE from a terminal where `npx --version` works.':
|
|
614
609
|
'El servidor de MADRE no encuentra npx. Abre MADRE desde una terminal donde `npx --version` funcione.',
|
|
615
|
-
'The project is not a git repository. AHP+ pins itself to the git root: run `git init` in the project first.':
|
|
616
|
-
'El proyecto no es un repositorio git. AHP+ se instala en la raíz de git: primero ejecuta `git init` en el proyecto.',
|
|
617
610
|
'The project\'s git root is {top}, not the project itself. AHP+ would install there. Run `git init` inside the project, or remove the stray repository at {top}.':
|
|
618
611
|
'La raíz de git del proyecto es {top}, no el proyecto mismo, y AHP+ se instalaría ahí. Ejecuta `git init` dentro del proyecto, o quita el repositorio que sobra en {top}.',
|
|
619
|
-
'the project
|
|
612
|
+
'git on this computer (MADRE runs `git init` in the project when it does not use git yet)': 'git en esta computadora (MADRE corre `git init` en el proyecto si todavía no usa git)',
|
|
613
|
+
'.git/ when the project does not use git yet': '.git/ si el proyecto todavía no usa git',
|
|
620
614
|
'npx on the PATH of the terminal MADRE was started from': 'npx disponible (en el PATH) en la terminal desde donde abriste MADRE',
|
|
621
615
|
'not in this project': 'no está en este proyecto',
|
|
622
616
|
|
|
@@ -1153,8 +1147,8 @@ export const ES = {
|
|
|
1153
1147
|
'Without Ollama running, the project keeps using its providers. Start it, then RECHECK.':
|
|
1154
1148
|
'Mientras Ollama no esté abierto, el proyecto sigue usando sus proveedores. Ábrelo y toca REVISAR OTRA VEZ.',
|
|
1155
1149
|
'CANNOT ENABLE YET': 'TODAVÍA NO SE PUEDE ENCENDER',
|
|
1156
|
-
'
|
|
1157
|
-
'
|
|
1150
|
+
'This writes into the project. MADRE will run, in the project folder:':
|
|
1151
|
+
'Esto escribe dentro del proyecto. MADRE va a ejecutar esto en la carpeta del proyecto:',
|
|
1158
1152
|
' this project': ' este proyecto',
|
|
1159
1153
|
'Load your module files again without restarting the project': 'Vuelve a cargar tus archivos de módulo sin reiniciar el proyecto',
|
|
1160
1154
|
'REMOVE': 'QUITAR',
|
|
@@ -1530,7 +1524,7 @@ export const ES = {
|
|
|
1530
1524
|
'UNUSED · 0': 'SIN USAR · 0',
|
|
1531
1525
|
'ASK · 0': 'PREGUNTAR · 0',
|
|
1532
1526
|
'RECENTER': 'CENTRAR',
|
|
1533
|
-
'
|
|
1527
|
+
'Leave the Memory map': 'Salir del Mapa de memoria',
|
|
1534
1528
|
// /module: las ideas, dos de cada forma de módulo.
|
|
1535
1529
|
'command': 'comando',
|
|
1536
1530
|
'integration': 'integración',
|
|
@@ -2077,8 +2071,8 @@ export const ES = {
|
|
|
2077
2071
|
'Signs in with a ChatGPT account. An OpenAI API key works too.': 'Inicia sesión con una cuenta de ChatGPT. También sirve una llave de API de OpenAI.',
|
|
2078
2072
|
'Signs in with a Claude account or with the Anthropic Console. An Anthropic API key works too.':
|
|
2079
2073
|
'Inicia sesión con una cuenta de Claude o con la Consola de Anthropic. También sirve una llave de API de Anthropic.',
|
|
2080
|
-
'
|
|
2081
|
-
'
|
|
2074
|
+
'Connects with a Gemini API key from Google AI Studio. A Google account works only where Google still accepts it: free personal accounts are refused.':
|
|
2075
|
+
'Se conecta con una llave de API de Gemini de Google AI Studio. Una cuenta de Google solo sirve donde Google todavía la acepta: rechaza las cuentas personales gratuitas.',
|
|
2082
2076
|
'Brings no model of its own: you point it at a provider you already use, in the cloud or on this computer.':
|
|
2083
2077
|
'No trae modelo propio: lo apuntas a un proveedor que ya uses, en la nube o en esta computadora.',
|
|
2084
2078
|
'MATURE': 'MADURO',
|
|
@@ -2121,7 +2115,7 @@ export const ES = {
|
|
|
2121
2115
|
'TRYING IT…': 'PROBÁNDOLO…',
|
|
2122
2116
|
'only in its own draft folder ': 'solo en su carpeta de borrador ',
|
|
2123
2117
|
' · nothing else in the project': ' · nada más en el proyecto',
|
|
2124
|
-
'on · the browser does not start: {problem}.
|
|
2118
|
+
'on · the browser does not start: {problem}. Turn it off and on again: MADRE downloads what is missing.': 'encendido · el navegador no arranca: {problem}. Apágalo y vuelve a encenderlo: MADRE descarga lo que falte.',
|
|
2125
2119
|
'Untitled': 'Sin título',
|
|
2126
2120
|
'Files': 'Archivos',
|
|
2127
2121
|
'The viewer': 'El visor',
|
|
@@ -2137,10 +2131,10 @@ export const ES = {
|
|
|
2137
2131
|
'@{agent} · {server}: {with} with it ({nWith} turns) · {without} without it ({nWithout} turns)': '@{agent} · {server}: {with} con él ({nWith} respuestas) · {without} sin él ({nWithout} respuestas)',
|
|
2138
2132
|
'it did not answer within {seconds}s': 'no contestó en {seconds} s',
|
|
2139
2133
|
'it exited with code {code} before it spoke': 'se cerró con el código {code} antes de responder',
|
|
2140
|
-
'TEST BROWSER
|
|
2141
|
-
'NAVEGADOR DE PRUEBAS
|
|
2142
|
-
'TEST BROWSER
|
|
2143
|
-
'NAVEGADOR DE PRUEBAS
|
|
2134
|
+
'TEST BROWSER stays off: MADRE downloaded the {browser} browser and it still does not start ({problem}). Check your internet connection and turn it on again, or choose another browser in its settings.':
|
|
2135
|
+
'NAVEGADOR DE PRUEBAS se queda apagado: MADRE descargó el navegador {browser} y aún no arranca ({problem}). Revisa tu conexión a internet y vuelve a encenderlo, o elige otro navegador en sus ajustes.',
|
|
2136
|
+
'TEST BROWSER stays off: MADRE could not install its browser server ({problem}). Check your internet connection and turn it on again.':
|
|
2137
|
+
'NAVEGADOR DE PRUEBAS se queda apagado: MADRE no pudo instalar su servidor de navegador ({problem}). Revisa tu conexión a internet y vuelve a encenderlo.',
|
|
2144
2138
|
'#{n} {label} is written in the message: you will be asked to confirm it when you send it.': '#{n} {label} está escrito en el mensaje: se te pedirá confirmarlo al enviarlo.',
|
|
2145
2139
|
'stopped at the {seconds}s limit': 'detenido al llegar al límite de {seconds} s',
|
|
2146
2140
|
'stopped ({why})': 'detenido ({why})',
|
|
@@ -2164,8 +2158,14 @@ export const ES = {
|
|
|
2164
2158
|
'Google reported the model as unavailable (HTTP 503) and the CLI kept retrying.':
|
|
2165
2159
|
'Google reportó el modelo como no disponible (HTTP 503) y la app de Gemini siguió reintentando.',
|
|
2166
2160
|
'Try again shortly or choose another model.': 'Vuelve a intentar en un momento o elige otro modelo.',
|
|
2161
|
+
' · said it created {files}, but it is not in your project': ' · dijo que creó {files}, pero no está en tu proyecto',
|
|
2162
|
+
' · nothing was written in this reply': ' · en esta respuesta no se escribió nada',
|
|
2163
|
+
'ASK AGAIN': 'PEDIRLO OTRA VEZ',
|
|
2164
|
+
'Last time you said you created {files}, but nothing was written to disk. Create them now and check that they exist before you answer.': 'La vez pasada dijiste que creaste {files}, pero no se escribió nada. Créalos ahora y revisa que existan antes de contestar.',
|
|
2167
2165
|
'Google rejected the Gemini credentials.': 'Google rechazó las credenciales de Gemini.',
|
|
2168
2166
|
'Run `gemini` and use /auth, or check GEMINI_API_KEY.': 'Corre `gemini` y usa /auth, o revisa GEMINI_API_KEY.',
|
|
2167
|
+
'Google no longer accepts this Gemini sign-in (IneligibleTierError): the free personal Google account is refused before it reaches a model.': 'Google ya no acepta este inicio de sesión de Gemini (IneligibleTierError): rechaza la cuenta personal gratuita de Google antes de llegar al modelo.',
|
|
2168
|
+
'Paste a Gemini API key from Google AI Studio in Settings › Agents › Gemini, or run `gemini`, type /auth and pick "Use Gemini API key".': 'Pega una llave de API de Gemini de Google AI Studio en Ajustes › Agentes › Gemini, o corre `gemini`, escribe /auth y elige «Use Gemini API key».',
|
|
2169
2169
|
|
|
2170
2170
|
// ── EL RECORRIDO DE PRIMER CONTACTO ───────────────────────────────────────
|
|
2171
2171
|
|
|
@@ -3172,7 +3172,7 @@ export const ES = {
|
|
|
3172
3172
|
'Reload in {language}': 'Recargar en {language}',
|
|
3173
3173
|
'Back to default': 'Restablecer',
|
|
3174
3174
|
'Copied': 'Copiado',
|
|
3175
|
-
'
|
|
3175
|
+
'Agents in Settings': 'Agentes en Ajustes',
|
|
3176
3176
|
'The memory could not be read.': 'No se pudo leer la memoria.',
|
|
3177
3177
|
'Read at {time}': 'Leído a las {time}',
|
|
3178
3178
|
'Nothing yet: the project has no memories saved.': 'Aún nada: el proyecto no tiene memorias guardadas.',
|
|
@@ -3220,7 +3220,6 @@ export const ES = {
|
|
|
3220
3220
|
'Install': 'Instalar',
|
|
3221
3221
|
'Sign in again': 'Iniciar sesión otra vez',
|
|
3222
3222
|
'Sign in': 'Iniciar sesión',
|
|
3223
|
-
'To sign in, copy this into your Terminal app:': 'Para iniciar sesión, copia esto en tu app Terminal:',
|
|
3224
3223
|
'This project has no memory yet.': 'Este proyecto todavía no tiene memoria.',
|
|
3225
3224
|
'At a glance': 'De un vistazo',
|
|
3226
3225
|
'Details and checkups': 'Detalles y revisiones',
|
|
@@ -3360,7 +3359,17 @@ export const ES = {
|
|
|
3360
3359
|
'The page reloads in it when you choose to.': 'La página se recarga en ese idioma cuando tú lo decidas.',
|
|
3361
3360
|
'Opens your browser to sign in with ChatGPT.': 'Abre tu navegador para iniciar sesión con ChatGPT.',
|
|
3362
3361
|
'Opens your browser to sign in with your Claude account.': 'Abre tu navegador para iniciar sesión con tu cuenta de Claude.',
|
|
3363
|
-
'
|
|
3362
|
+
'Opens your browser to sign in with your Google account.': 'Abre tu navegador para iniciar sesión con tu cuenta de Google.',
|
|
3363
|
+
'Opens your browser to sign in with your Google account. Google refuses free personal accounts on this CLI; if it refuses yours, paste a Gemini API key from Google AI Studio instead.': 'Abre tu navegador para iniciar sesión con tu cuenta de Google. Google rechaza las cuentas personales gratuitas en este CLI; si rechaza la tuya, mejor pega una llave de API de Gemini de Google AI Studio.',
|
|
3364
|
+
'Google account': 'Cuenta de Google',
|
|
3365
|
+
'Then type /auth and pick "Use Gemini API key" with a key from aistudio.google.com/app/apikey. "Login with Google" is refused for free personal accounts.': 'Luego escribe /auth y elige "Use Gemini API key" con una llave de aistudio.google.com/app/apikey. "Login with Google" no funciona con cuentas personales gratuitas.',
|
|
3366
|
+
'Add --console to bill the work to the Anthropic Console instead of your subscription.': 'Agrega --console para cobrar el trabajo a tu crédito de la Anthropic Console en lugar de tu suscripción.',
|
|
3367
|
+
// La otra forma de entrar, plegada bajo los botones: lo mismo escrito en una terminal.
|
|
3368
|
+
'Prefer your terminal?': '¿Prefieres tu terminal?',
|
|
3369
|
+
'Select it': 'Selecciónalo',
|
|
3370
|
+
'or install the ChatGPT desktop app, which bundles codex': 'o instala la app de escritorio de ChatGPT, que trae codex',
|
|
3371
|
+
'or: brew install --cask claude-code': 'o: brew install --cask claude-code',
|
|
3372
|
+
'or: npm install -g opencode-ai': 'o: npm install -g opencode-ai',
|
|
3364
3373
|
'Pick a provider and paste its key or complete its OAuth flow.': 'Elige un proveedor y pega su llave de API o inicia sesión en su página.',
|
|
3365
3374
|
'Files and local sites': 'Archivos y sitios locales',
|
|
3366
3375
|
'Files as a window': 'Archivos en ventana',
|
|
@@ -3600,13 +3609,11 @@ export const ES = {
|
|
|
3600
3609
|
'Update {name} to {version}': 'Actualizar {name} a {version}',
|
|
3601
3610
|
'Update {name}': 'Actualizar {name}',
|
|
3602
3611
|
'This runs on this computer, outside the project.': 'Esto corre en esta computadora, fuera del proyecto.',
|
|
3603
|
-
'Not now': 'Ahora no',
|
|
3604
3612
|
'Update': 'Actualizar',
|
|
3605
3613
|
'Its path from the project root. Missing folders are made; an existing file is never touched.': 'Su ruta desde la raíz del proyecto. Las carpetas que falten se crean; un archivo que ya existe nunca se toca.',
|
|
3606
3614
|
'Path': 'Ruta',
|
|
3607
3615
|
'Create': 'Crear',
|
|
3608
3616
|
'A file the project guards': 'Un archivo protegido del proyecto',
|
|
3609
|
-
'It could not be created.': 'No se pudo crear.',
|
|
3610
3617
|
'{path} was created.': 'Se creó {path}.',
|
|
3611
3618
|
'Not a file name this project can create.': 'No es un nombre de archivo que este proyecto pueda crear.',
|
|
3612
3619
|
'A file with that name is already there.': 'Ya hay un archivo con ese nombre.',
|
|
@@ -4103,6 +4110,132 @@ export const ES = {
|
|
|
4103
4110
|
'No projects yet. Add the first one.': 'Todavía no hay proyectos. Agrega el primero.',
|
|
4104
4111
|
'No projects yet. You can add them from Home whenever you like.': 'Todavía no hay proyectos. Puedes agregarlos desde Inicio cuando quieras.',
|
|
4105
4112
|
'Not signed in': 'Sin iniciar sesión',
|
|
4113
|
+
'Market': 'Mercado',
|
|
4114
|
+
'Free': 'Gratis',
|
|
4115
|
+
'See it': 'Verlo',
|
|
4116
|
+
'Featured': 'Destacado',
|
|
4117
|
+
'No module matches «{query}».': 'Ningún módulo coincide con «{query}».',
|
|
4118
|
+
'Add a project first: this module is installed into one.': 'Primero agrega un proyecto: este módulo se instala en uno.',
|
|
4119
|
+
'Install in this project': 'Instalar en este proyecto',
|
|
4120
|
+
'Opening the project…': 'Abriendo el proyecto…',
|
|
4121
|
+
'That project did not open.': 'Ese proyecto no se abrió.',
|
|
4122
|
+
'Open Local AI': 'Abrir IA local',
|
|
4123
|
+
'{name} is on in all your projects.': '{name} se encendió en todos tus proyectos.',
|
|
4124
|
+
'Without the terminal': 'Sin pasar por la terminal',
|
|
4125
|
+
'What used to take a command, in one press.': 'Lo que antes pedía un comando, con un botón.',
|
|
4126
|
+
'To create': 'Para crear',
|
|
4127
|
+
'Images, previews and decisions as buttons.': 'Imágenes, vistas previas y decisiones con botones.',
|
|
4128
|
+
'AI on your computer': 'IA en tu computadora',
|
|
4129
|
+
'Free, private, and lighter on your plans.': 'Gratis, privada y más ligera para tus planes.',
|
|
4130
|
+
'Connect it': 'Conéctalo',
|
|
4131
|
+
'Your other projects and the apps you already use.': 'Tus otros proyectos y las apps que ya usas.',
|
|
4132
|
+
'What other projects know, through a signed connection': 'Lo que saben otros proyectos, por una conexión firmada',
|
|
4133
|
+
'Other apps and services, for the agents': 'Otras apps y servicios, para los agentes',
|
|
4134
|
+
'To open your page in a browser, click through it and take screenshots, the agents need Test browser.': 'Para abrir tu página en un navegador, recorrerla y tomar capturas, los agentes necesitan el Navegador de pruebas.',
|
|
4135
|
+
'To see your pages as they look, beside the conversation, turn on Preview.': 'Para ver tus páginas como se ven, junto a la conversación, enciende Vista previa.',
|
|
4136
|
+
'To make images, the agents need Images.': 'Para crear imágenes, los agentes necesitan Imágenes.',
|
|
4137
|
+
'To read your pull requests, issues and CI, the agents need GitHub.': 'Para leer tus pull requests, issues y CI, los agentes necesitan GitHub.',
|
|
4138
|
+
'To keep the project\'s state and hand work between agents and editors, install Continuity.': 'Para guardar el estado del proyecto y pasar el trabajo entre agentes y editores, instala Continuidad.',
|
|
4139
|
+
'For @madre and a memory that searches by meaning, turn on Local AI.': 'Para @madre y una memoria que busca por significado, enciende IA local.',
|
|
4140
|
+
'To have every agent answer shorter and spend less, turn on Token saver.': 'Para que cada agente conteste más corto y gaste menos, enciende Ahorro de tokens.',
|
|
4141
|
+
'Turned on. Ask again and the agents can use it.': 'Encendido. Vuelve a pedirlo y los agentes ya lo pueden usar.',
|
|
4142
|
+
'See it in the Market': 'Verlo en el Mercado',
|
|
4143
|
+
'Every module MADRE can add to this project': 'Todos los módulos que MADRE puede sumar a este proyecto',
|
|
4144
|
+
'Modules add what MADRE does: more for your agents, less for the terminal. Free for now. From Home you choose: every project, or only one.': 'Los módulos suman a lo que hace MADRE: más para tus agentes, menos terminal. Gratis por ahora. Desde Inicio eliges: todos tus proyectos, o solo uno.',
|
|
4145
|
+
'Modules add what MADRE does: more for your agents, less for the terminal. Free for now. What you get here is for this project.': 'Los módulos suman a lo que hace MADRE: más para tus agentes, menos terminal. Gratis por ahora. Lo que obtienes aquí es para este proyecto.',
|
|
4146
|
+
'for {project}': 'para {project}',
|
|
4147
|
+
'Get': 'Obtener',
|
|
4148
|
+
'New in the Market: {name}.': 'Nuevo en el Mercado: {name}.',
|
|
4149
|
+
'{n} new modules in the Market.': '{n} módulos nuevos en el Mercado.',
|
|
4150
|
+
'This is not a Market catalog MADRE can read.': 'Este no es un catálogo del Mercado que MADRE pueda leer.',
|
|
4151
|
+
'The Market catalog does not say when it was made.': 'El catálogo del Mercado no dice cuándo se hizo.',
|
|
4152
|
+
"The Market catalog is not signed with MADRE's key, so MADRE did not read it.": 'El catálogo del Mercado no está firmado con la llave de MADRE, así que MADRE no lo leyó.',
|
|
4153
|
+
'The Market served a catalog older than the one this computer has, so MADRE kept its own.': 'El Mercado entregó un catálogo más viejo que el que ya tiene esta computadora, así que MADRE se quedó con el suyo.',
|
|
4154
|
+
'The Market has no module «{id}» to install.': 'El Mercado no tiene un módulo «{id}» para instalar.',
|
|
4155
|
+
'This module needs MADRE {version} or newer.': 'Este módulo necesita MADRE {version} o más nuevo.',
|
|
4156
|
+
'The module file is not the one the Market signed, so MADRE did not install it.': 'El archivo del módulo no es el que firmó el Mercado, así que MADRE no lo instaló.',
|
|
4157
|
+
'The file says it is «{found}», not «{id}», so MADRE did not install it.': 'El archivo dice que es «{found}», no «{id}», así que MADRE no lo instaló.',
|
|
4158
|
+
'Getting {name} from the Market…': 'Trayendo {name} del Mercado…',
|
|
4159
|
+
'{name} could not be installed.': '{name} no se pudo instalar.',
|
|
4160
|
+
'Needs MADRE {version}': 'Necesita MADRE {version}',
|
|
4161
|
+
'Update MADRE to get this module.': 'Actualiza MADRE para obtener este módulo.',
|
|
4162
|
+
'{name} updated itself to version {version}.': '{name} se actualizó solo a la versión {version}.',
|
|
4163
|
+
'MADRE could not reach the Market. Check your internet connection and try again.': 'MADRE no pudo llegar al Mercado. Revisa tu conexión a internet e inténtalo de nuevo.',
|
|
4164
|
+
'madre.run · the Market': 'madre.run · el Mercado',
|
|
4165
|
+
"Nothing about you: it asks for the catalog of modules, and for the file of a module you got or that has a newer version. Every file is checked against the author's signature before it is used.": 'Nada sobre ti: pide el catálogo de módulos, y el archivo de un módulo que obtuviste o que tiene una versión más nueva. Cada archivo se revisa contra la firma del autor antes de usarse.',
|
|
4166
|
+
'when MADRE opens, at most every ten minutes, and when you get a module': 'cuando MADRE se abre, como mucho cada diez minutos, y cuando obtienes un módulo',
|
|
4167
|
+
'Settings › Version and reports › Look for new versions · or PULSE_MARKET=0': 'Ajustes › Versión y reportes › Buscar versiones nuevas · o PULSE_MARKET=0',
|
|
4168
|
+
'On on this computer': 'Encendida en esta computadora',
|
|
4169
|
+
'Off on this computer': 'Apagada en esta computadora',
|
|
4170
|
+
'What is on': 'Lo que está encendido',
|
|
4171
|
+
'Results': 'Resultados',
|
|
4172
|
+
'carousel': 'carrusel',
|
|
4173
|
+
'slide': 'diapositiva',
|
|
4174
|
+
'Price': 'Precio',
|
|
4175
|
+
'Where': 'Dónde',
|
|
4176
|
+
'Shelf': 'Estante',
|
|
4177
|
+
'On in all your projects': 'Encendido en todos tus proyectos',
|
|
4178
|
+
'On in this project': 'Encendido en este proyecto',
|
|
4179
|
+
'Off in this project': 'Apagado en este proyecto',
|
|
4180
|
+
'On in {n} of {total} projects': 'Encendido en {n} de {total} proyectos',
|
|
4181
|
+
'Off in every project': 'Apagado en todos los proyectos',
|
|
4182
|
+
'Installed in {n} of {total} projects': 'Instalado en {n} de {total} proyectos',
|
|
4183
|
+
'Not installed in any project': 'Sin instalar en ningún proyecto',
|
|
4184
|
+
'Installed in: {projects}': 'Instalado en: {projects}',
|
|
4185
|
+
'{name} is on in this project.': '{name} se encendió en este proyecto.',
|
|
4186
|
+
'{name} is off in this project.': '{name} se apagó en este proyecto.',
|
|
4187
|
+
'{name} is on in {project}.': '{name} se encendió en {project}.',
|
|
4188
|
+
'Get it for this project': 'Obtener para este proyecto',
|
|
4189
|
+
'Turn off in this project': 'Apagar en este proyecto',
|
|
4190
|
+
'Get it for all your projects': 'Obtener para todos tus proyectos',
|
|
4191
|
+
'Turn off in every project': 'Apagar en todos los proyectos',
|
|
4192
|
+
'or only in': 'o solo en',
|
|
4193
|
+
'Only in this one': 'Solo en este',
|
|
4194
|
+
'Choose project by project': 'Elegir proyecto por proyecto',
|
|
4195
|
+
'See it in MODULES': 'Verlo en MÓDULOS',
|
|
4196
|
+
"MADRE shows you the commands before it runs them, in this project's MODULES.": 'MADRE te muestra los comandos antes de correrlos, en MÓDULOS de este proyecto.',
|
|
4197
|
+
'It opened in a new tab, on this module: MADRE shows you the commands there before it runs them.': 'Se abrió en una pestaña nueva, en este módulo: ahí MADRE te muestra los comandos antes de correrlos.',
|
|
4198
|
+
'What you have on or installed, and in which projects. A change here reaches each project with its next message.': 'Lo que tienes encendido o instalado, y en qué proyectos. Lo que cambies aquí llega a cada proyecto con su siguiente mensaje.',
|
|
4199
|
+
'Nothing is on yet. The Market has what each module does.': 'Todavía no hay nada encendido. En el Mercado está lo que hace cada módulo.',
|
|
4200
|
+
'Not on': 'Sin encender',
|
|
4201
|
+
'All your projects': 'Todos tus proyectos',
|
|
4202
|
+
'On in {project}. Press to turn it off there.': 'Encendido en {project}. Presiona para apagarlo ahí.',
|
|
4203
|
+
'Off in {project}. Press to turn it on there.': 'Apagado en {project}. Presiona para encenderlo ahí.',
|
|
4204
|
+
'Local AI settings': 'Ajustes de IA local',
|
|
4205
|
+
'Install in another': 'Instalar en otro',
|
|
4206
|
+
'That module is not turned on by project.': 'Ese módulo no se enciende por proyecto.',
|
|
4207
|
+
'Let your agents see your page: they open it, click through it and bring back screenshots.': 'Que tus agentes vean tu página: la abren, la recorren y te traen capturas.',
|
|
4208
|
+
'Hand work from one agent to another without losing the thread: the project keeps its state beside the code.': 'Pasa el trabajo de un agente a otro sin perder el hilo: el proyecto guarda su estado junto al código.',
|
|
4209
|
+
'Ask for a logo, a banner or an illustration, and the agents make it with your own key.': 'Pide un logo, un banner o una ilustración, y los agentes lo hacen con tu propia llave.',
|
|
4210
|
+
'A memory that searches by meaning, and @madre, on your own computer: free and private.': 'Una memoria que busca por significado, y @madre, en tu propia computadora: gratis y privada.',
|
|
4211
|
+
'the browser server could not be installed': 'no se pudo instalar el servidor del navegador',
|
|
4212
|
+
'Getting the test browser ready: MADRE downloads what it is missing. It can take a few minutes.': 'Preparando el navegador de pruebas: MADRE descarga lo que le falta. Puede tardar unos minutos.',
|
|
4213
|
+
'The project does not use git yet. MADRE runs `git init` in it first: it adds a .git folder and leaves your files as they are.': 'El proyecto todavía no usa git. MADRE corre primero `git init` en él: agrega una carpeta .git y deja tus archivos como están.',
|
|
4214
|
+
'Continuity keeps its history with git, and this Mac does not have it yet. Install it with Apple\'s command line tools: it takes a few minutes, then come back here.': 'Continuidad guarda su historia con git, y esta Mac todavía no lo tiene. Instálalo con las herramientas de línea de comandos de Apple: tarda unos minutos y luego vuelves aquí.',
|
|
4215
|
+
'Continuity keeps its history with git, and this computer does not have it yet. Install git with your system\'s package manager, then come back here.': 'Continuidad guarda su historia con git, y esta computadora todavía no lo tiene. Instala git con el gestor de paquetes de tu sistema y luego vuelve aquí.',
|
|
4216
|
+
'Install git': 'Instalar git',
|
|
4217
|
+
'Set it up': 'Prepararlo',
|
|
4218
|
+
'There is nothing to set up for this module.': 'Este módulo no tiene nada que preparar.',
|
|
4219
|
+
'It could not be started.': 'No se pudo iniciar.',
|
|
4220
|
+
"Apple's installer opened. When it finishes, come back here and install.": 'Se abrió el instalador de Apple. Cuando termine, vuelve aquí e instala.',
|
|
4221
|
+
'Google signed you in, but it refuses this account on Gemini CLI (free personal accounts are refused). Gemini was left as it was: paste a Gemini API key from Google AI Studio instead.': 'Google te dejó iniciar sesión, pero rechaza esta cuenta en Gemini CLI (no acepta cuentas personales gratuitas). Gemini quedó como estaba: mejor pega una llave de API de Gemini de Google AI Studio.',
|
|
4222
|
+
'Opens your browser to sign in with your Cursor account.': 'Abre tu navegador para iniciar sesión con tu cuenta de Cursor.',
|
|
4223
|
+
'Signs in with your Cursor account and uses its plan. For now it reads and answers; it does not write in your project.': 'Inicia sesión con tu cuenta de Cursor y usa su plan. Por ahora lee y contesta; no escribe en tu proyecto.',
|
|
4224
|
+
'New project': 'Nuevo proyecto',
|
|
4225
|
+
'my-new-project': 'mi-proyecto-nuevo',
|
|
4226
|
+
'Project name': 'Nombre del proyecto',
|
|
4227
|
+
'Create project': 'Crear proyecto',
|
|
4228
|
+
'The folder is made in': 'La carpeta se crea en',
|
|
4229
|
+
'Choose another place': 'Elegir otro lugar',
|
|
4230
|
+
'It could not be created.': 'No se pudo crear.',
|
|
4231
|
+
'{name} was created and added to Home.': '{name} se creó y se agregó a Inicio.',
|
|
4232
|
+
'An empty folder, made for you, that becomes a project.': 'Una carpeta vacía, hecha para ti, que se vuelve proyecto.',
|
|
4233
|
+
'Write a name for the project.': 'Escribe un nombre para el proyecto.',
|
|
4234
|
+
'That name is too long.': 'Ese nombre es demasiado largo.',
|
|
4235
|
+
'A folder cannot be called that: leave out slashes and : * ? " < > |, and do not start with a dot or end with a dot or a space.': 'Una carpeta no se puede llamar así: no uses diagonales ni : * ? " < > |, y no empieces con punto ni termines con punto o espacio.',
|
|
4236
|
+
'There is already a folder with that name there.': 'Ya hay una carpeta con ese nombre ahí.',
|
|
4237
|
+
'@{agent} is not signed in. Connect it in Settings › Agents and send again.': '@{agent} no tiene sesión. Conéctalo en Ajustes › Agentes y vuelve a enviar.',
|
|
4238
|
+
'@{agent} is not available on this computer. Set it up in Settings › Agents.': '@{agent} no está disponible en esta computadora. Configúralo en Ajustes › Agentes.',
|
|
4106
4239
|
'Nothing that looks like a project in the usual places. Look for it in Your folders.': 'No encontré nada que parezca un proyecto en los lugares de siempre. Búscalo en Tus carpetas.',
|
|
4107
4240
|
'Only folders inside your home folder.': 'Solo carpetas dentro de tu carpeta de usuario.',
|
|
4108
4241
|
'Open the sign-in page': 'Abrir la página para iniciar sesión',
|
|
@@ -4115,6 +4248,12 @@ export const ES = {
|
|
|
4115
4248
|
'Opens your browser to sign in with the Anthropic Console: the work is billed to your API credit, not to a subscription.':
|
|
4116
4249
|
'Abre tu navegador para entrar con la Consola de Anthropic: el trabajo se cobra a tu crédito de API, no a una suscripción.',
|
|
4117
4250
|
'Paste the code the page gave you': 'Pega aquí el código que te dio la página',
|
|
4251
|
+
// OpenCode con GitHub Copilot: un código que MADRE muestra y la persona escribe en GitHub.
|
|
4252
|
+
'Gives you a code to type at github.com/login/device: the work goes against your Copilot subscription (Pro, Pro+, Business or Enterprise).':
|
|
4253
|
+
'Te da un código para escribir en github.com/login/device: el uso se descuenta de tu suscripción de Copilot (Pro, Pro+, Business o Enterprise).',
|
|
4254
|
+
'Type this code on that page:': 'Escribe este código en esa página:',
|
|
4255
|
+
'Pick a provider, then paste its key or sign in with its account. GitHub Enterprise and the other providers are in its list.':
|
|
4256
|
+
'Elige un proveedor y pega su llave o entra con su cuenta. GitHub Enterprise y los demás proveedores están en su lista.',
|
|
4118
4257
|
'Send the code': 'Enviar el código',
|
|
4119
4258
|
'Sent. The sign-in finishes on its own.': 'Enviado. El inicio de sesión termina solo.',
|
|
4120
4259
|
'The code was not accepted.': 'No se aceptó el código. Revísalo e inténtalo de nuevo.',
|
|
@@ -4868,6 +5007,8 @@ export const ES = {
|
|
|
4868
5007
|
'New: notices shrink into dots': 'Nuevo: los avisos se hacen puntos',
|
|
4869
5008
|
'To keep the chat clean, notices shrink into a small dot after 10 seconds. Click the dot to read them again. The ones that need something from you stay open.': 'Para que el chat se vea limpio, los avisos se hacen un puntito después de 10 segundos. Haz clic en el punto para volver a leerlos. Los que necesitan algo de ti se quedan abiertos.',
|
|
4870
5009
|
'You\'ll find it under «More», on the top bar.': 'Lo encuentras en «Más», en la barra de arriba.',
|
|
5010
|
+
'Scroll up to see it': 'Sube para verlo',
|
|
5011
|
+
'Scroll down to see it': 'Baja para verlo',
|
|
4871
5012
|
'New: add widgets': 'Nuevo: agrega widgets',
|
|
4872
5013
|
'This button opens «Add to Home»: choose the widgets you want to see here, or bring back the ones you removed.': 'Este botón abre «Agregar a Inicio»: elige los widgets que quieres ver aquí o regresa los que quitaste.',
|
|
4873
5014
|
'collapse': 'contraer',
|
|
@@ -4912,14 +5053,15 @@ export const ES = {
|
|
|
4912
5053
|
'Mac with Apple chip': 'Mac con chip Apple',
|
|
4913
5054
|
'Linux with NVIDIA': 'Linux con NVIDIA',
|
|
4914
5055
|
'Your computer': 'Tu computadora',
|
|
4915
|
-
'Any Mac with an M chip.
|
|
5056
|
+
'Any Mac with an M chip. Its memory decides the size you can train, below.': 'Cualquier Mac con chip M. Su memoria decide qué tamaño puedes entrenar, abajo.',
|
|
4916
5057
|
'Experimental: MLX runs on Linux with an NVIDIA card (CUDA 12, compute capability 7.5 or newer, glibc 2.35, Python 3.10), but mlx-lm only promises Apple chips. Step 2 checks the card first.': 'Experimental: MLX corre en Linux con una tarjeta NVIDIA (CUDA 12, capacidad de cómputo 7.5 o mayor, glibc 2.35, Python 3.10), pero mlx-lm solo garantiza los chips de Apple. El paso 2 revisa la tarjeta primero.',
|
|
4917
5058
|
'Export the training data': 'Exporta los datos de entrenamiento',
|
|
4918
5059
|
'Use «Export» above. Do it again whenever the project has grown.': 'Con «Exportar», arriba. Repítelo cuando el proyecto haya crecido.',
|
|
4919
5060
|
'Prepare Python, once': 'Prepara Python, una sola vez',
|
|
4920
5061
|
'A separate environment with mlx-lm, so nothing else on your computer changes.': 'Un entorno aparte con mlx-lm, para no cambiar nada más en tu computadora.',
|
|
4921
5062
|
'A separate environment with MLX for CUDA and mlx-lm. It must print «CUDA: True»; if not, stop here.': 'Un entorno aparte con MLX para CUDA y mlx-lm. Debe decir «CUDA: True»; si no, detente aquí.',
|
|
4922
|
-
'Train · base {model}
|
|
5063
|
+
'Train · base {model}': 'Entrena · base {model}',
|
|
5064
|
+
'An hour or more, depending on the size and on how many pairs there are. It learns from the exported pairs and leaves an adjustment («adapters»).': 'Una hora o más, según el tamaño y cuántos pares haya. Aprende de los pares exportados y deja un ajuste («adapters»).',
|
|
4923
5065
|
'From 10 to 40 minutes. It learns from the exported pairs and leaves an adjustment («adapters»).': 'De 10 a 40 minutos. Aprende de los pares exportados y deja un ajuste («adapters»).',
|
|
4924
5066
|
'Join the adjustment with the base model': 'Une el ajuste con el modelo base',
|
|
4925
5067
|
'Turn it into a file Ollama reads (GGUF)': 'Conviértelo en un archivo que Ollama pueda leer (GGUF)',
|
|
@@ -4927,10 +5069,236 @@ export const ES = {
|
|
|
4927
5069
|
'@madre switches to it at the next recheck of Local AI.': '@madre lo usa desde la siguiente revisión de IA local.',
|
|
4928
5070
|
'Try it before trusting it': 'Pruébalo antes de confiar en él',
|
|
4929
5071
|
'Ask @madre ten things the project decided and five it never discussed. It should get the first right and say it never discussed the others; if it makes things up, remove it with «ollama rm {model}» and train with more pairs.': 'Pregúntale a @madre diez cosas que el proyecto decidió y cinco de las que nunca se habló. Debe acertar las primeras y decir que de las otras nunca se habló; si inventa, quítalo con «ollama rm {model}» y entrena con más pares.',
|
|
5072
|
+
// Lo que tu computadora puede hacer con una IA local, medido en ella (2026-10-16).
|
|
5073
|
+
'Not measured.': 'Sin medir.',
|
|
5074
|
+
'{chip} · {gb} GB of shared memory': '{chip} · {gb} GB de memoria compartida',
|
|
5075
|
+
'Apple chip': 'Chip Apple',
|
|
5076
|
+
'{gpu} · {vram} GB of video memory · {gb} GB of memory': '{gpu} · {vram} GB de memoria de video · {gb} GB de memoria',
|
|
5077
|
+
'No compatible graphics card found · {gb} GB of memory': 'No se encontró una tarjeta gráfica compatible · {gb} GB de memoria',
|
|
5078
|
+
'What it can do with a local AI, measured on it. Each model has a minimum to run it and another to train it.': 'Lo que puede hacer con una IA local, medido en ella. Cada modelo tiene un mínimo para correrlo y otro para entrenarlo.',
|
|
5079
|
+
'Hardware': 'Equipo',
|
|
5080
|
+
'Model for every day': 'Modelo para el día a día',
|
|
5081
|
+
'{model} · Ollama downloads it as {tag}': '{model} · Ollama lo descarga como {tag}',
|
|
5082
|
+
'None runs well here: the project keeps using its providers.': 'Ninguno corre bien aquí: el proyecto sigue usando sus proveedores.',
|
|
5083
|
+
'Yes, slowly: it runs on the processor.': 'Sí, lento: corre en el procesador.',
|
|
5084
|
+
'Training starts at {gb} GB.': 'Entrenar empieza en {gb} GB.',
|
|
5085
|
+
'Training needs an Apple chip or an NVIDIA card.': 'Entrenar necesita un chip Apple o una tarjeta NVIDIA.',
|
|
5086
|
+
'Needs at least {model}, from {gb} GB.': 'Necesita al menos {model}, desde {gb} GB.',
|
|
5087
|
+
'The Coordinator with local AI': 'El Coordinador con IA local',
|
|
5088
|
+
'Slow': 'Lento',
|
|
5089
|
+
'Yes': 'Sí',
|
|
5090
|
+
'No': 'No',
|
|
5091
|
+
'Every size, to run and to train': 'Cada tamaño, para correr y para entrenar',
|
|
5092
|
+
'To run': 'Para correr',
|
|
5093
|
+
'To train': 'Para entrenar',
|
|
5094
|
+
'Here': 'Aquí',
|
|
5095
|
+
'runs': 'corre',
|
|
5096
|
+
'runs slowly': 'corre lento',
|
|
5097
|
+
'trains': 'entrena',
|
|
5098
|
+
'does not fit': 'no alcanza',
|
|
5099
|
+
'{gb} GB': '{gb} GB',
|
|
5100
|
+
"Minimums for the whole computer, with the system and the browser open: a 4-bit model in Ollama to run it, a LoRA with mlx-lm to train it. On a Mac with an Apple chip the memory is shared; with an NVIDIA card what counts is the card's own.": 'Mínimos para la computadora completa, con el sistema y el navegador abiertos: un modelo de 4 bits en Ollama para correrlo, un LoRA con mlx-lm para entrenarlo. En una Mac con chip Apple la memoria es compartida; con una tarjeta NVIDIA cuenta la de la tarjeta.',
|
|
5101
|
+
'Trains on this computer': 'Se entrena en esta computadora',
|
|
5102
|
+
'Needs {gb} GB to train': 'Necesita {gb} GB para entrenar',
|
|
5103
|
+
'Model size': 'Tamaño del modelo',
|
|
5104
|
+
'{model} trains on this computer ({here}). Needs about {disk} GB free on disk.': '{model} se entrena en esta computadora ({here}). Necesita unos {disk} GB libres en disco.',
|
|
5105
|
+
'{model} needs {gb} GB to train and this computer has {have} GB: train it on a larger one, or pick a smaller size.': '{model} necesita {gb} GB para entrenarse y esta computadora tiene {have} GB: entrénalo en una más grande o elige un tamaño menor.',
|
|
5106
|
+
'This computer has no Apple chip or NVIDIA card to train with ({here}). The recipe is the one for a computer that has one.': 'Esta computadora no tiene un chip Apple ni una tarjeta NVIDIA para entrenar ({here}). La receta es la de una computadora que sí lo tenga.',
|
|
5107
|
+
'Ollama keeps it in 4 bits, the size the table counts on. @madre switches to it at the next recheck of Local AI.': 'Ollama lo guarda en 4 bits, el tamaño con el que cuenta la tabla. @madre lo usa desde la siguiente revisión de IA local.',
|
|
4930
5108
|
// El escalón sin razonar de OpenCode (2026-10-14).
|
|
4931
5109
|
'No reasoning: it answers straight away. For the simplest requests.': 'Sin razonar: contesta de inmediato. Para lo más sencillo.',
|
|
4932
5110
|
// Proveedores de OpenCode: el catálogo completo (2026-10-14).
|
|
4933
5111
|
'Most used': 'Más usados',
|
|
4934
5112
|
'All providers': 'Todos los proveedores',
|
|
4935
5113
|
// Avisos de la primera vez de 1.0.2 (2026-10-14).
|
|
5114
|
+
// El botón que lleva al final cuando algo terminó abajo (2026-10-16).
|
|
5115
|
+
'@{agent} answered below · go to the end': '@{agent} contestó abajo · ir al final',
|
|
5116
|
+
'The plan finished below · go to the end': 'El plan terminó abajo · ir al final',
|
|
5117
|
+
// El Coordinador aprende de los proyectos que lo permiten (D-S15, 2026-10-16).
|
|
5118
|
+
'learning can only be on or off.': 'el aprendizaje solo puede estar encendido o apagado.',
|
|
5119
|
+
'Only the Coordinator learns from a connection.': 'Solo el Coordinador aprende de una conexión.',
|
|
5120
|
+
'The Coordinator never signs what it learns from: you do.': 'El Coordinador nunca firma de qué aprende: lo firmas tú.',
|
|
5121
|
+
'The Coordinator took what this project knows {n} times in the last hour, its limit. Try again later.': 'El Coordinador tomó lo que sabe este proyecto {n} veces en la última hora, su límite. Vuelve a intentarlo más tarde.',
|
|
5122
|
+
' · the Coordinator learns from it': ' · el Coordinador aprende de él',
|
|
5123
|
+
'The Coordinator learned what this project knows: {n} notes, cleaned of private data.': 'El Coordinador aprendió lo que sabe este proyecto: {n} notas, sin datos privados.',
|
|
5124
|
+
'Learned from {room}: {n} notes for the training.': 'Aprendió de {room}: {n} notas para el entrenamiento.',
|
|
5125
|
+
'The Coordinator learns from it': 'El Coordinador aprende de él',
|
|
5126
|
+
"Its notes also go into the training of the Coordinator's local AI, so it knows this project without opening it. Clearing it or revoking takes it out of the next export; a model already trained keeps what it learned until you train it again.": 'Sus notas también entran al entrenamiento de la IA local del Coordinador, para que conozca este proyecto sin abrirlo. Si lo apagas o revocas la conexión, sale de la próxima exportación; un modelo ya entrenado conserva lo que aprendió hasta que lo vuelvas a entrenar.',
|
|
5127
|
+
'The Coordinator learns from {room}: its notes go into its training.': 'El Coordinador aprende de {room}: sus notas entran a su entrenamiento.',
|
|
5128
|
+
'The Coordinator does not learn from it: it only looks it up.': 'El Coordinador no aprende de él: solo lo consulta.',
|
|
5129
|
+
'the Coordinator learns from it': 'el Coordinador aprende de él',
|
|
5130
|
+
'{room}: did not answer and nothing was kept': '{room}: no respondió y no hay copia guardada',
|
|
5131
|
+
'{room}: {n} notes from the last time it answered': '{room}: {n} notas de la última vez que respondió',
|
|
5132
|
+
'{room}: {n} notes': '{room}: {n} notas',
|
|
5133
|
+
'Learned from your projects: {list}.': 'Aprendió de tus proyectos: {list}.',
|
|
5134
|
+
// Estado del proyecto, notas entregadas y examen del modelo local del Coordinador (D-S16, D-S17, D-S18, 2026-10-16).
|
|
5135
|
+
'sharing the project state can only be on or off.': 'compartir el estado del proyecto solo puede estar encendido o apagado.',
|
|
5136
|
+
'delivering notes can only be on or off.': 'entregar notas solo puede estar encendido o apagado.',
|
|
5137
|
+
'The Coordinator never signs a connection that shares the project state: you do.': 'El Coordinador nunca firma una conexión que comparte el estado del proyecto: la firmas tú.',
|
|
5138
|
+
'The Coordinator never signs a connection that delivers notes: you do.': 'El Coordinador nunca firma una conexión que entrega notas: la firmas tú.',
|
|
5139
|
+
'That is not something a connection can allow.': 'Eso no es algo que una conexión pueda permitir.',
|
|
5140
|
+
'A delivered note is a decision, a fact, a preference or a question.': 'Una nota entregada es una decisión, un hecho, una preferencia o una pregunta.',
|
|
5141
|
+
'A delivered note has between 1 and 600 characters.': 'Una nota entregada tiene entre 1 y 600 caracteres.',
|
|
5142
|
+
'This project has too many delivered notes waiting. Accept or decline some first.': 'Este proyecto tiene demasiadas notas entregadas esperando. Acepta o rechaza algunas primero.',
|
|
5143
|
+
'The state of this project was read {n} times in the last hour, its limit. Try again later.': 'El estado de este proyecto se leyó {n} veces en la última hora, su límite. Intenta más tarde.',
|
|
5144
|
+
'A page cannot deliver across a connection; only a project can.': 'Una página no puede entregar notas por una conexión; solo un proyecto puede.',
|
|
5145
|
+
'A delivery carries between 1 and {n} notes.': 'Una entrega lleva entre 1 y {n} notas.',
|
|
5146
|
+
'This project received {n} deliveries in the last hour, its limit. Try again later.': 'Este proyecto recibió {n} entregas en la última hora, su límite. Intenta más tarde.',
|
|
5147
|
+
'No signed connection lets this project deliver notes to that one.': 'Ninguna conexión firmada deja a este proyecto entregarle notas a ese.',
|
|
5148
|
+
'No signed connection lets this project read the state of that one.': 'Ninguna conexión firmada deja a este proyecto leer el estado de ese.',
|
|
5149
|
+
'Only an agent in #3 or #4 accepts a delivered note; below that, you decide it.': 'Solo un agente en #3 o #4 acepta una nota entregada; por debajo, la decides tú.',
|
|
5150
|
+
'A delivered note is accepted or declined.': 'Una nota entregada se acepta o se rechaza.',
|
|
5151
|
+
'That delivered note is not waiting here.': 'Esa nota entregada no está esperando aquí.',
|
|
5152
|
+
' · it also reads the state of this project': ' · también lee el estado de este proyecto',
|
|
5153
|
+
' · this project also reads its state': ' · este proyecto también lee su estado',
|
|
5154
|
+
" · both read each other's state": ' · los dos leen el estado del otro',
|
|
5155
|
+
' · it can deliver notes here, which you accept': ' · puede entregar notas aquí, que tú aceptas',
|
|
5156
|
+
' · this project can deliver notes to it': ' · este proyecto puede entregarle notas',
|
|
5157
|
+
' · both can deliver notes to each other': ' · los dos pueden entregarse notas',
|
|
5158
|
+
'Delivered by {room}{agent}': 'Entregado por {room}{agent}',
|
|
5159
|
+
'One note for this project. It enters the memory only if it is accepted.': 'Una nota para este proyecto. Entra a la memoria solo si se acepta.',
|
|
5160
|
+
'{n} notes for this project. Each enters the memory only if it is accepted.': '{n} notas para este proyecto. Cada una entra a la memoria solo si se acepta.',
|
|
5161
|
+
'Why: {why}': 'Por qué: {why}',
|
|
5162
|
+
'ACCEPTED': 'ACEPTADA',
|
|
5163
|
+
'DECLINED': 'RECHAZADA',
|
|
5164
|
+
'Accept': 'Aceptar',
|
|
5165
|
+
'Decline': 'Rechazar',
|
|
5166
|
+
'{room} read the state of this project.': '{room} leyó el estado de este proyecto.',
|
|
5167
|
+
'{room} asked for the state of this project; it keeps none (Continuity is not installed).': '{room} pidió el estado de este proyecto; no tiene (Continuidad no está instalada).',
|
|
5168
|
+
'@{agent} read the state of {room}.': '@{agent} leyó el estado de {room}.',
|
|
5169
|
+
'@{agent} delivered {n} notes to {room}. They wait there until it accepts them.': '@{agent} entregó {n} notas a {room}. Esperan allí hasta que las acepte.',
|
|
5170
|
+
'EXAM': 'EXAMEN',
|
|
5171
|
+
"The Coordinator's local model {model} is being examined: {n} questions and orders.": 'Se está examinando el modelo local del Coordinador, {model}: {n} preguntas y órdenes.',
|
|
5172
|
+
'The exam of {model} could not finish: {why}': 'El examen de {model} no pudo terminar: {why}',
|
|
5173
|
+
'{model} passed: {known} about the projects, {unknown} said it never discussed, {orders} orders. The Coordinator gives orders with it up to #1.': '{model} aprobó: {known} sobre los proyectos, {unknown} dijo que nunca se habló, {orders} órdenes. El Coordinador da órdenes con él hasta #1.',
|
|
5174
|
+
'{model} did not pass: {known} about the projects, {unknown} said it never discussed, {orders} orders. The Coordinator keeps only answering with it.': '{model} no aprobó: {known} sobre los proyectos, {unknown} dijo que nunca se habló, {orders} órdenes. El Coordinador sigue solo respondiendo con él.',
|
|
5175
|
+
'Examining {model}… a local model answers one question at a time; it takes a few minutes.': 'Examinando {model}… un modelo local responde una pregunta a la vez; tarda unos minutos.',
|
|
5176
|
+
'Not examined yet. Until it passes, the Coordinator only answers with @madre.': 'Sin examinar todavía. Hasta que apruebe, el Coordinador solo responde con @madre.',
|
|
5177
|
+
'{model} passed on {date}: {known} about the projects, {unknown} said it never discussed, {orders} orders. The Coordinator gives orders with it up to #1.': '{model} aprobó el {date}: {known} sobre los proyectos, {unknown} dijo que nunca se habló, {orders} órdenes. El Coordinador da órdenes con él hasta #1.',
|
|
5178
|
+
'{model} passed, but the model in use is another one now ({now}). Examine it again.': '{model} aprobó, pero ahora se usa otro modelo ({now}). Examínalo otra vez.',
|
|
5179
|
+
'{model} did not pass on {date}: {known} about the projects, {unknown} said it never discussed, {orders} orders.{why}': '{model} no aprobó el {date}: {known} sobre los proyectos, {unknown} dijo que nunca se habló, {orders} órdenes.{why}',
|
|
5180
|
+
"fewer than 3 questions about the projects: export the Coordinator's training data first": 'menos de 3 preguntas sobre los proyectos: exporta primero los datos de entrenamiento del Coordinador',
|
|
5181
|
+
'no connection lets the Coordinator give orders, so no order could be tried': 'ninguna conexión deja al Coordinador dar órdenes, así que no se pudo probar ninguna',
|
|
5182
|
+
'Examine': 'Examinar',
|
|
5183
|
+
'could not start': 'no pudo empezar',
|
|
5184
|
+
'Questions about the projects, questions about things nobody discussed, and orders: the bar is fixed and the result is kept for this model': 'Preguntas sobre los proyectos, preguntas sobre cosas de las que nunca se habló, y órdenes: la vara es fija y el resultado se guarda para este modelo',
|
|
5185
|
+
'Exam before giving orders': 'Examen antes de dar órdenes',
|
|
5186
|
+
'shares its state': 'comparte su estado',
|
|
5187
|
+
'receives delivered notes': 'recibe notas entregadas',
|
|
5188
|
+
'It shares its state': 'Comparte su estado',
|
|
5189
|
+
'It receives delivered notes': 'Recibe notas entregadas',
|
|
5190
|
+
'Besides its notes, its canonical state as Continuity keeps it: objective, phase, next step, its last handoff, decisions and what is still open. Only if the project has Continuity installed; never its files or its code.': 'Además de sus notas, su estado canónico como lo guarda Continuidad: objetivo, fase, siguiente paso, su último traspaso, decisiones y lo que sigue abierto. Solo si el proyecto tiene Continuidad instalada; nunca sus archivos ni su código.',
|
|
5191
|
+
'The project that reads can hand it notes. They wait there until you accept them (or an agent of that project in #3 EDIT or above): nothing enters its memory on its own.': 'El proyecto que lee puede entregarle notas. Esperan allí hasta que las aceptes (o un agente de ese proyecto en #3 EDITAR o más): nada entra a su memoria por sí solo.',
|
|
5192
|
+
"Both also read each other's state, as Continuity keeps it.": 'Los dos leen también el estado del otro, como lo guarda Continuidad.',
|
|
5193
|
+
'{reader} also reads the state of {source}, as Continuity keeps it.': '{reader} lee también el estado de {source}, como lo guarda Continuidad.',
|
|
5194
|
+
'Each can deliver notes to the other; they wait until that project accepts them. Nothing is written directly, and you can revoke it at any moment from Connections.': 'Cada uno puede entregarle notas al otro; esperan hasta que ese proyecto las acepte. Nada se escribe directo, y puedes revocarla en cualquier momento desde Conexiones.',
|
|
5195
|
+
'{reader} can deliver notes to {source}; they wait there until accepted. Nothing is written directly, and you can revoke it at any moment from Connections.': '{reader} puede entregarle notas a {source}; esperan allí hasta que se acepten. Nada se escribe directo, y puedes revocarla en cualquier momento desde Conexiones.',
|
|
5196
|
+
"The Coordinator's local model gives orders up to #1, and only after passing its exam.": 'El modelo local del Coordinador da órdenes hasta #1, y solo después de aprobar su examen.',
|
|
5197
|
+
"The Coordinator's local model gives orders up to #1.": 'El modelo local del Coordinador da órdenes hasta #1.',
|
|
5198
|
+
'the local model proposes no connections': 'el modelo local no propone conexiones',
|
|
5199
|
+
'on · @{agent} · passed its exam: orders up to #1': 'encendido · @{agent} · aprobó su examen: órdenes hasta #1',
|
|
5200
|
+
'The exam is already running.': 'El examen ya está corriendo.',
|
|
5201
|
+
"Local AI has no chat model to examine. Download one in Local AI, or train the Coordinator's.": 'La IA local no tiene un modelo de chat que examinar. Descarga uno en IA local, o entrena el del Coordinador.',
|
|
5202
|
+
// Apagar MADRE, IA local y notas entregadas en Ajustes (2026-10-16).
|
|
5203
|
+
'your computer runs {model}': 'tu computadora corre {model}',
|
|
5204
|
+
'Delivered notes': 'Notas entregadas',
|
|
5205
|
+
'Notes other projects handed to this one. Each enters the memory only if it is accepted.': 'Notas que otros proyectos le entregaron a este. Cada una entra a la memoria solo si se acepta.',
|
|
5206
|
+
'Could not read them.': 'No se pudieron leer.',
|
|
5207
|
+
'Nothing waiting': 'Nada esperando',
|
|
5208
|
+
'{n} decided before.': '{n} decididas antes.',
|
|
5209
|
+
'No project has delivered notes here yet.': 'Ningún proyecto ha entregado notas aquí todavía.',
|
|
5210
|
+
'1 note to accept': '1 nota por aceptar',
|
|
5211
|
+
'{n} notes to accept': '{n} notas por aceptar',
|
|
5212
|
+
'Notes other projects delivered here, waiting for you': 'Notas que otros proyectos entregaron aquí y te esperan',
|
|
5213
|
+
'Turn MADRE off': 'Apagar MADRE',
|
|
5214
|
+
'Turn MADRE off?': '¿Apagar MADRE?',
|
|
5215
|
+
'Home and every open project close.': 'Se cierran Inicio y todos los proyectos abiertos.',
|
|
5216
|
+
'Home and the one open project close.': 'Se cierran Inicio y el proyecto abierto.',
|
|
5217
|
+
'Home and the {n} open projects close.': 'Se cierran Inicio y los {n} proyectos abiertos.',
|
|
5218
|
+
'If an agent is working, it stops and the conversation says so; everything else is kept as it is.': 'Si un agente está trabajando, se detiene y la conversación lo dice; todo lo demás se guarda como está.',
|
|
5219
|
+
'To use it again, open MADRE the way you always do. Your projects, conversations and settings will be there.': 'Para volver a usarlo, abre MADRE como siempre. Tus proyectos, conversaciones y ajustes seguirán ahí.',
|
|
5220
|
+
'Turn off': 'Apagar',
|
|
5221
|
+
'Turning off…': 'Apagando…',
|
|
5222
|
+
'MADRE is off': 'MADRE está apagado',
|
|
5223
|
+
'You can close this tab. To use it again, open MADRE the way you always do.': 'Puedes cerrar esta pestaña. Para volver a usarlo, abre MADRE como siempre.',
|
|
5224
|
+
'These projects did not answer and may still be open: {list}. Open MADRE again and close them from Home.': 'Estos proyectos no respondieron y quizá sigan abiertos: {list}. Abre MADRE otra vez y ciérralos desde Inicio.',
|
|
5225
|
+
'MADRE is turned off from its own page, on this computer.': 'MADRE se apaga desde su propia página, en esta computadora.',
|
|
5226
|
+
// Modo neural de los mapas (1.0.3).
|
|
5227
|
+
'Neural': 'Neural',
|
|
5228
|
+
'Neural mode · your memories as the neurons of a brain: only what travels lights up': 'Modo neural · tus memorias como las neuronas de un cerebro: solo se enciende lo que viaja',
|
|
5229
|
+
'Try neural mode': 'Prueba el modo neural',
|
|
5230
|
+
'The same network, as neurons: only the paths something travels light up.': 'La misma red, como neuronas: solo se encienden los caminos por donde algo viaja.',
|
|
5231
|
+
'Try it': 'Probar',
|
|
5232
|
+
'Not now': 'Ahora no',
|
|
5233
|
+
// Tu propia imagen de fondo (1.0.3).
|
|
5234
|
+
'Your picture': 'Tu imagen',
|
|
5235
|
+
'Choose a picture of yours as the wallpaper': 'Elige una imagen tuya como fondo',
|
|
5236
|
+
'Choose a picture: a PNG, JPEG or WebP file.': 'Elige una imagen: un archivo PNG, JPEG o WebP.',
|
|
5237
|
+
'That picture is too large to read (more than 40 MB).': 'Esa imagen es demasiado grande para leerla (más de 40 MB).',
|
|
5238
|
+
'That picture could not be read. Try a PNG, JPEG or WebP.': 'No se pudo leer esa imagen. Prueba con un PNG, JPEG o WebP.',
|
|
5239
|
+
'That picture could not be prepared.': 'No se pudo preparar esa imagen.',
|
|
5240
|
+
'That picture could not be kept.': 'No se pudo guardar esa imagen.',
|
|
5241
|
+
'Framing': 'Encuadre',
|
|
5242
|
+
'Framing of your picture': 'Encuadre de tu imagen',
|
|
5243
|
+
'Drag the frame to choose which part of your picture stays in view.': 'Arrastra el recuadro para elegir qué parte de tu imagen queda a la vista.',
|
|
5244
|
+
'Your picture fills the screen as it is.': 'Tu imagen llena la pantalla tal como es.',
|
|
5245
|
+
'The framing could not be kept.': 'No se pudo guardar el encuadre.',
|
|
5246
|
+
'Change picture': 'Cambiar imagen',
|
|
5247
|
+
'There is no picture of yours here.': 'Aquí no hay una imagen tuya.',
|
|
5248
|
+
'The picture is larger than 8 MB.': 'La imagen pesa más de 8 MB.',
|
|
5249
|
+
'Only a WebP, JPEG or PNG picture can be a wallpaper.': 'Solo una imagen WebP, JPEG o PNG puede ser fondo.',
|
|
5250
|
+
// El espacio de código (1.0.3).
|
|
5251
|
+
'CODE': 'CÓDIGO',
|
|
5252
|
+
'Code · your files, the editor and the preview beside the conversation': 'Código · tus archivos, el editor y la vista previa junto a la conversación',
|
|
5253
|
+
'Code': 'Código',
|
|
5254
|
+
'Open files': 'Archivos abiertos',
|
|
5255
|
+
'Hide the files': 'Ocultar los archivos',
|
|
5256
|
+
'Show the files': 'Mostrar los archivos',
|
|
5257
|
+
'Find a file…': 'Buscar un archivo…',
|
|
5258
|
+
'Side by side': 'Al lado',
|
|
5259
|
+
'The document beside its text, as you write': 'El documento junto a su texto, mientras escribes',
|
|
5260
|
+
'The page beside its code, reloaded when you save': 'La página junto a su código, recargada al guardar',
|
|
5261
|
+
'Open a file': 'Abre un archivo',
|
|
5262
|
+
'Choose one in the files, or press {keys} to find it by its name. What an agent changes is marked in its colour.': 'Elige uno en los archivos o pulsa {keys} para buscarlo por su nombre. Lo que cambia un agente queda marcado en su color.',
|
|
5263
|
+
'Find a file': 'Buscar un archivo',
|
|
5264
|
+
'Changed by the agents': 'Cambiados por los agentes',
|
|
5265
|
+
'@{agent} changed it: {n} to review': '@{agent} lo cambió: {n} por revisar',
|
|
5266
|
+
'Close {file}': 'Cerrar {file}',
|
|
5267
|
+
'@{agent} · 1 change to review': '@{agent} · 1 cambio por revisar',
|
|
5268
|
+
'@{agent} · {n} changes to review': '@{agent} · {n} cambios por revisar',
|
|
5269
|
+
'Previous change': 'Cambio anterior',
|
|
5270
|
+
'Next change': 'Cambio siguiente',
|
|
5271
|
+
'No file by that name.': 'Ningún archivo se llama así.',
|
|
5272
|
+
'This project has no files yet.': 'Este proyecto todavía no tiene archivos.',
|
|
5273
|
+
'Changed by @{agent} {when}': 'Cambiado por @{agent} {when}',
|
|
5274
|
+
'Changed by @{agent}': 'Cambiado por @{agent}',
|
|
5275
|
+
'changed these lines': 'cambió estas líneas',
|
|
5276
|
+
'added these lines': 'agregó estas líneas',
|
|
5277
|
+
'removed 1 line': 'quitó 1 línea',
|
|
5278
|
+
'removed {n} lines': 'quitó {n} líneas',
|
|
5279
|
+
'What was there before': 'Lo que había antes',
|
|
5280
|
+
'Keep': 'Conservar',
|
|
5281
|
+
'It stays as the agent left it, and stops being marked': 'Se queda como lo dejó el agente y deja de estar marcado',
|
|
5282
|
+
'Puts back what was there before, in these lines only': 'Vuelve a poner lo que había antes, solo en estas líneas',
|
|
5283
|
+
'Ask why': 'Preguntar por qué',
|
|
5284
|
+
'Why did you change these lines?': '¿Por qué cambiaste estas líneas?',
|
|
5285
|
+
'Asks @{agent} in the conversation': 'Se lo pregunta a @{agent} en la conversación',
|
|
5286
|
+
'Save or discard your own changes in this file first.': 'Primero guarda o descarta tus propios cambios en este archivo.',
|
|
5287
|
+
'Taken back · {path}': 'Deshecho · {path}',
|
|
5288
|
+
'as you write': 'mientras escribes',
|
|
5289
|
+
'Preview shows the page your code makes, in a sealed frame. It is off in this project.': 'Vista previa muestra la página que hace tu código, en un marco sellado. Está apagada en este proyecto.',
|
|
5290
|
+
'Turn on Preview': 'Encender Vista previa',
|
|
5291
|
+
'reloads when you save': 'se recarga al guardar',
|
|
5292
|
+
"Type part of a file's name.": 'Escribe parte del nombre de un archivo.',
|
|
5293
|
+
'Open a file by its name…': 'Abre un archivo por su nombre…',
|
|
5294
|
+
'That is not a file of this project.': 'Eso no es un archivo de este proyecto.',
|
|
5295
|
+
'That is not a change of this project.': 'Eso no es un cambio de este proyecto.',
|
|
5296
|
+
'{name} enabled': 'Se encendió {name}',
|
|
5297
|
+
'{name} disabled': 'Se apagó {name}',
|
|
5298
|
+
'Explain': 'Explicar',
|
|
5299
|
+
'Improve': 'Mejorar',
|
|
5300
|
+
'Write tests': 'Escribir pruebas',
|
|
5301
|
+
'Fix': 'Arreglar',
|
|
5302
|
+
'Improve this without changing what it does': 'Mejora esto sin cambiar lo que hace',
|
|
5303
|
+
'Find and fix the bugs here': 'Encuentra y arregla los errores aquí',
|
|
4936
5304
|
};
|