@cat-factory/app 0.200.3 → 0.201.0
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/app/components/foundational/FoundationalContractSummary.vue +14 -2
- package/app/components/foundational/FoundationalServiceCatalogList.vue +10 -6
- package/app/components/foundational/FoundationalServiceManager.vue +14 -4
- package/app/components/foundational/FoundationalServiceSources.vue +19 -2
- package/app/components/foundational/FoundationalSuppressions.vue +32 -8
- package/app/components/github/BranchProtectionPreflight.vue +202 -0
- package/app/components/github/GitHubPanel.vue +14 -0
- package/app/components/layout/AccountRunCredentialSettings.vue +97 -0
- package/app/components/layout/AccountTeamSettings.vue +9 -0
- package/app/components/settings/ConnectionWarnings.vue +12 -2
- package/app/components/settings/UserSecretsSection.vue +17 -2
- package/app/components/settings/WorkspaceSettingsPanel.vue +33 -0
- package/app/composables/api/foundationalServices.ts +20 -11
- package/app/composables/api/github.ts +6 -0
- package/app/stores/foundationalServices.spec.ts +29 -7
- package/app/stores/foundationalServices.ts +15 -12
- package/app/stores/workspaceSettings.ts +3 -0
- package/app/types/foundationalServices.ts +1 -0
- package/app/utils/connectionWarnings.ts +6 -0
- package/i18n/locales/de.json +57 -4
- package/i18n/locales/en.json +57 -4
- package/i18n/locales/es.json +57 -4
- package/i18n/locales/fr.json +57 -4
- package/i18n/locales/he.json +57 -4
- package/i18n/locales/it.json +57 -4
- package/i18n/locales/ja.json +57 -4
- package/i18n/locales/pl.json +57 -4
- package/i18n/locales/tr.json +57 -4
- package/i18n/locales/uk.json +57 -4
- package/package.json +2 -2
package/i18n/locales/es.json
CHANGED
|
@@ -2269,7 +2269,7 @@
|
|
|
2269
2269
|
"action": "Elegir predeterminado"
|
|
2270
2270
|
},
|
|
2271
2271
|
"accountFoundational": {
|
|
2272
|
-
"intro": "Las capacidades compartidas que esta organización ya opera - almacenamiento de archivos, notificaciones, auditoría - con sus contratos de API. Todos los tableros las heredan, y a un arquitecto se le indica que las consuma en lugar de proponer reconstruirlas."
|
|
2272
|
+
"intro": "Las capacidades compartidas que esta organización ya opera - almacenamiento de archivos, notificaciones, auditoría - con sus contratos de API. Todos los tableros las heredan, y a un arquitecto se le indica que las consuma en lugar de proponer reconstruirlas. Los servicios que este despliegue registra en código también se heredan aquí, y se pueden sobrescribir por id o excluir abajo."
|
|
2273
2273
|
}
|
|
2274
2274
|
},
|
|
2275
2275
|
"settings": {
|
|
@@ -2380,7 +2380,10 @@
|
|
|
2380
2380
|
"warningsTitle": "Carencias en esta configuración",
|
|
2381
2381
|
"warnings": {
|
|
2382
2382
|
"runner_manifest_no_release": "Sin plantilla de release: al cancelar una ejecución no se puede indicar al pool que detenga su trabajo, así que un trabajo huérfano ocupa su runner hasta que el pool lo recupere por su cuenta.",
|
|
2383
|
-
"runner_manifest_no_status_path": "Sin ruta de estado: cada sondeo se interpreta como todavía en ejecución, así que un trabajo solo puede terminar agotando el presupuesto de sondeo de la ejecución."
|
|
2383
|
+
"runner_manifest_no_status_path": "Sin ruta de estado: cada sondeo se interpreta como todavía en ejecución, así que un trabajo solo puede terminar agotando el presupuesto de sondeo de la ejecución.",
|
|
2384
|
+
"github_pat_classic_account_wide": "Es un token clásico con el ámbito 'repo': alcanza todos los repositorios a los que puedes hacer push, incluidos aquellos donde nunca se instaló la App de GitHub de este espacio de trabajo. Las ejecuciones que inicias lo usan con preferencia sobre la App. Un token granular limitado a los repositorios de esta instalación es más estrecho.",
|
|
2385
|
+
"github_pat_scopes_beyond_need": "Este token concede permisos que cat-factory nunca usa. Quitarlos no cuesta nada y reduce lo que podría alcanzar una ejecución comprometida.",
|
|
2386
|
+
"github_pat_scope_unreadable": "GitHub aceptó este token pero no informó de sus ámbitos, así que aquí no se puede mostrar su alcance. Comprueba lo que concede en la configuración de tokens de GitHub."
|
|
2384
2387
|
}
|
|
2385
2388
|
},
|
|
2386
2389
|
"toast": {
|
|
@@ -2539,6 +2542,7 @@
|
|
|
2539
2542
|
"optionalField": "{label} (opcional)",
|
|
2540
2543
|
"testConnection": "Probar conexión",
|
|
2541
2544
|
"tokenValid": "Token válido",
|
|
2545
|
+
"tokenReachTitle": "Qué alcanza este token",
|
|
2542
2546
|
"tokenRejected": "Token rechazado",
|
|
2543
2547
|
"secretFallback": "Secreto",
|
|
2544
2548
|
"toast": {
|
|
@@ -2980,6 +2984,13 @@
|
|
|
2980
2984
|
"body": "Al completarse cada ejecución, el agente Kaizen evalúa cómo fue cada paso del agente, desde fluido y eficiente hasta confuso y caótico, y recomienda mejoras de prompt/modelo. Una combinación de prompt + agente + modelo que obtiene una buena nota sin recomendaciones cinco veces seguidas se marca como verificada y deja de evaluarse. La evaluación se ejecuta en segundo plano y se muestra en los detalles de la ejecución y en la pantalla de Kaizen. Configura el modelo del evaluador en Configuración de modelos (el agente \"Kaizen\").",
|
|
2981
2985
|
"toggle": "Evaluar ejecuciones de agentes con Kaizen"
|
|
2982
2986
|
},
|
|
2987
|
+
"runCredential": {
|
|
2988
|
+
"heading": "Credencial de ejecución",
|
|
2989
|
+
"body": "De forma predeterminada, una ejecución se autentica con el token de acceso personal de quien la inició, si esa persona guardó uno, de modo que los pushes y las solicitudes de incorporación se le atribuyen. El alcance de su token es el que ella misma le concedió, a menudo mayor que los repositorios que cubre la instalación de la App de GitHub de este espacio de trabajo. Desactiva esta opción para que cada ejecución se autentique como la instalación de la App.",
|
|
2990
|
+
"toggle": "Permitir que las ejecuciones actúen como quien las inicia",
|
|
2991
|
+
"offHint": "Las ejecuciones harán push y abrirán solicitudes de incorporación como la App de GitHub, no como quien las inició.",
|
|
2992
|
+
"accountFloorNote": "Una política de toda la cuenta puede prohibirlo para todos los tableros; si hay una definida, las ejecuciones aquí usarán la App de GitHub sin importar este interruptor."
|
|
2993
|
+
},
|
|
2983
2994
|
"metadata": {
|
|
2984
2995
|
"heading": "Metadatos del espacio de trabajo",
|
|
2985
2996
|
"body": "Valores de los campos personalizados que define esta instalación. Las herramientas externas los leen para abrirse en el proyecto correcto de este espacio de trabajo.",
|
|
@@ -3282,6 +3293,15 @@
|
|
|
3282
3293
|
"saveFailed": "No se pudo guardar el grupo de consenso",
|
|
3283
3294
|
"deleteFailed": "No se pudo eliminar el grupo de consenso"
|
|
3284
3295
|
}
|
|
3296
|
+
},
|
|
3297
|
+
"runCredentialPolicy": {
|
|
3298
|
+
"heading": "Política de credenciales de ejecución",
|
|
3299
|
+
"body": "Un tablero puede permitir que una ejecución se autentique con el token de acceso personal de quien la inició. Resulta útil y, para una sola persona dentro de una organización que no ha adoptado cat-factory, suele ser la única opción. Pero un token personal alcanza todo lo que su propietario le concedió, normalmente más que la instalación de la App de GitHub de esta cuenta, y quien administre un tablero puede volver a activar su interruptor. Prohíbelo aquí y ningún tablero de esta cuenta podrá hacerlo.",
|
|
3300
|
+
"toggle": "Prohibir que las ejecuciones usen el token de acceso personal de quien las inicia",
|
|
3301
|
+
"onHint": "Todas las ejecuciones de esta cuenta se autenticarán como la instalación de la App de GitHub. Los envíos y las solicitudes de incorporación vendrán de la aplicación y no de la persona que inició la ejecución.",
|
|
3302
|
+
"offHint": "Sin definir: cada tablero decide por sí mismo. Los tableros existentes conservan lo que hayan elegido.",
|
|
3303
|
+
"saved": "Política de credenciales de ejecución guardada",
|
|
3304
|
+
"saveFailed": "No se pudo guardar la política de credenciales de ejecución"
|
|
3285
3305
|
}
|
|
3286
3306
|
},
|
|
3287
3307
|
"providers": {
|
|
@@ -5191,6 +5211,7 @@
|
|
|
5191
5211
|
"subtitle": "Las capacidades compartidas que tu organización ya opera, para que un diseño las consuma en lugar de reconstruirlas."
|
|
5192
5212
|
},
|
|
5193
5213
|
"tier": {
|
|
5214
|
+
"builtin": "Despliegue",
|
|
5194
5215
|
"account": "Cuenta",
|
|
5195
5216
|
"workspace": "Tablero"
|
|
5196
5217
|
},
|
|
@@ -5201,6 +5222,8 @@
|
|
|
5201
5222
|
},
|
|
5202
5223
|
"contracts": {
|
|
5203
5224
|
"omitted": "+{count} más sin listar",
|
|
5225
|
+
"notIndexed": "las operaciones no se indexan para este formato; abre el documento",
|
|
5226
|
+
"noOperations": "no declara operaciones",
|
|
5204
5227
|
"none": "No hay contrato de API adjunto. Al agente se le dirá que la interfaz es desconocida en lugar de dejar que la adivine."
|
|
5205
5228
|
},
|
|
5206
5229
|
"catalog": {
|
|
@@ -5211,8 +5234,14 @@
|
|
|
5211
5234
|
"hideDocuments": "Ocultar documentos de contrato"
|
|
5212
5235
|
},
|
|
5213
5236
|
"suppressions": {
|
|
5214
|
-
"title":
|
|
5215
|
-
|
|
5237
|
+
"title": {
|
|
5238
|
+
"workspace": "Excluidos en este tablero",
|
|
5239
|
+
"account": "Excluidos en esta cuenta"
|
|
5240
|
+
},
|
|
5241
|
+
"intro": {
|
|
5242
|
+
"workspace": "Estos servicios heredados están ocultos para los diseños de este tablero. No se ha borrado nada y los demás tableros los conservan.",
|
|
5243
|
+
"account": "Estos servicios registrados por este despliegue están ocultos para los diseños de todos los tableros de esta cuenta. No se ha borrado nada y las demás cuentas los conservan."
|
|
5244
|
+
},
|
|
5216
5245
|
"restore": "Volver a ofrecer",
|
|
5217
5246
|
"shadowsNothing": "Ahora mismo no se hereda nada con este id, así que esta exclusión no oculta nada."
|
|
5218
5247
|
},
|
|
@@ -5305,6 +5334,7 @@
|
|
|
5305
5334
|
"synced": "Sincronizado: {updated} actualizados, {removed} eliminados",
|
|
5306
5335
|
"syncSkipped": "{count} archivo parecía un contrato pero no se pudo usar. | {count} archivos parecían contratos pero no se pudieron usar.",
|
|
5307
5336
|
"syncTruncated": "La carpeta contiene más de lo que cabe en una sincronización, así que solo se leyó una parte.",
|
|
5337
|
+
"syncFolderMissing": "La carpeta enlazada no está en el repositorio. Revisa la ruta o vuelve a enlazar la fuente si se movió.",
|
|
5308
5338
|
"syncFailed": "No se pudo sincronizar el repositorio",
|
|
5309
5339
|
"changesAvailable": "Hay cambios en el origen",
|
|
5310
5340
|
"upToDate": "Ya está actualizado",
|
|
@@ -6054,6 +6084,29 @@
|
|
|
6054
6084
|
"title": "Conecta cat-factory con {provider}",
|
|
6055
6085
|
"titleAny": "Conecta cat-factory con tus repositorios",
|
|
6056
6086
|
"intro": "cat-factory funciona abriendo solicitudes de incorporación de cambios en tus repositorios. Conecta tu proveedor de repositorios para continuar."
|
|
6087
|
+
},
|
|
6088
|
+
"branchProtection": {
|
|
6089
|
+
"heading": "Protección de la rama predeterminada",
|
|
6090
|
+
"body": "Las ejecuciones de agentes hacen push con una credencial que puede escribir en todos los repositorios que cubre. Nada de lo que hay aquí impide que una ejecución comprometida haga push directamente a una rama predeterminada, ni que fusione su propia solicitud de incorporación mediante la API del host: solo la protección de ramas en el host cubre ambos casos, y la configuras tú. Esta comprobación indica si está activa.",
|
|
6091
|
+
"check": "Comprobar la protección",
|
|
6092
|
+
"allProtected": "La rama predeterminada de cada repositorio vinculado está protegida.",
|
|
6093
|
+
"exposed": "{count} repositorio tiene la rama predeterminada sin proteger. | {count} repositorios tienen la rama predeterminada sin proteger.",
|
|
6094
|
+
"unavailable": "El proveedor conectado no puede informar de la protección de ramas, así que esta comprobación no dice nada: no es un resultado limpio.",
|
|
6095
|
+
"omitted": "No se comprobó {count} repositorio vinculado más. | No se comprobaron {count} repositorios vinculados más.",
|
|
6096
|
+
"state": {
|
|
6097
|
+
"protected": "Protegida",
|
|
6098
|
+
"unprotected": "Sin proteger",
|
|
6099
|
+
"unknown": "Desconocida"
|
|
6100
|
+
},
|
|
6101
|
+
"unprotectedHint": "la credencial de una ejecución puede hacer push aquí directamente y fusionar su propia solicitud de incorporación",
|
|
6102
|
+
"detailUnavailable": "protegida, pero no se pudo leer la regla: puede seguir permitiendo pushes directos",
|
|
6103
|
+
"requiresPr": "solicitud de incorporación obligatoria, {reviews} revisión(es) de aprobación, {checks} comprobación(es) obligatoria(s)",
|
|
6104
|
+
"noPrRequired": "protegida, pero no exige solicitud de incorporación",
|
|
6105
|
+
"unknownReason": {
|
|
6106
|
+
"branch_not_found": "no se encontró la rama predeterminada: la proyección del repositorio puede estar obsoleta",
|
|
6107
|
+
"forbidden": "la credencial no tiene permiso para leer las ramas de este repositorio",
|
|
6108
|
+
"error": "no se pudo contactar con el host"
|
|
6109
|
+
}
|
|
6057
6110
|
}
|
|
6058
6111
|
},
|
|
6059
6112
|
"tutorial": {
|
package/i18n/locales/fr.json
CHANGED
|
@@ -2269,7 +2269,7 @@
|
|
|
2269
2269
|
"action": "Choisir la valeur par défaut"
|
|
2270
2270
|
},
|
|
2271
2271
|
"accountFoundational": {
|
|
2272
|
-
"intro": "Les capacités partagées que cette organisation exploite déjà - stockage de fichiers, notifications, audit - avec leurs contrats d'API. Chaque tableau en hérite, et il est demandé à un architecte de les consommer plutôt que de proposer de les reconstruire."
|
|
2272
|
+
"intro": "Les capacités partagées que cette organisation exploite déjà - stockage de fichiers, notifications, audit - avec leurs contrats d'API. Chaque tableau en hérite, et il est demandé à un architecte de les consommer plutôt que de proposer de les reconstruire. Les services que ce déploiement enregistre dans le code sont également hérités ici : ils peuvent être remplacés par identifiant ou écartés ci-dessous."
|
|
2273
2273
|
}
|
|
2274
2274
|
},
|
|
2275
2275
|
"settings": {
|
|
@@ -2380,7 +2380,10 @@
|
|
|
2380
2380
|
"warningsTitle": "Lacunes dans cette configuration",
|
|
2381
2381
|
"warnings": {
|
|
2382
2382
|
"runner_manifest_no_release": "Aucun modèle de release : annuler une exécution ne permet pas de demander au pool d'arrêter son job, donc un job orphelin occupe son runner jusqu'à ce que le pool le récupère de lui-même.",
|
|
2383
|
-
"runner_manifest_no_status_path": "Aucun chemin de statut : chaque interrogation est lue comme toujours en cours, donc un job ne peut se terminer qu'en épuisant le budget d'interrogation de l'exécution."
|
|
2383
|
+
"runner_manifest_no_status_path": "Aucun chemin de statut : chaque interrogation est lue comme toujours en cours, donc un job ne peut se terminer qu'en épuisant le budget d'interrogation de l'exécution.",
|
|
2384
|
+
"github_pat_classic_account_wide": "Il s'agit d'un jeton classique avec la portée 'repo' : il atteint tous les dépôts sur lesquels vous pouvez pousser, y compris ceux où l'App GitHub de cet espace de travail n'a jamais été installée. Les exécutions que vous lancez l'utilisent de préférence à l'App. Un jeton à portée fine, limité aux dépôts de cette installation, est plus restreint.",
|
|
2385
|
+
"github_pat_scopes_beyond_need": "Ce jeton accorde des permissions que cat-factory n'utilise jamais. Les retirer ne coûte rien et réduit ce qu'une exécution compromise pourrait atteindre.",
|
|
2386
|
+
"github_pat_scope_unreadable": "GitHub a accepté ce jeton mais n'a signalé aucune portée, sa portée ne peut donc pas être affichée ici. Vérifiez ce qu'il accorde dans vos paramètres de jetons GitHub."
|
|
2384
2387
|
}
|
|
2385
2388
|
},
|
|
2386
2389
|
"toast": {
|
|
@@ -2539,6 +2542,7 @@
|
|
|
2539
2542
|
"optionalField": "{label} (facultatif)",
|
|
2540
2543
|
"testConnection": "Tester la connexion",
|
|
2541
2544
|
"tokenValid": "Jeton valide",
|
|
2545
|
+
"tokenReachTitle": "Ce que ce jeton atteint",
|
|
2542
2546
|
"tokenRejected": "Jeton rejeté",
|
|
2543
2547
|
"secretFallback": "Secret",
|
|
2544
2548
|
"toast": {
|
|
@@ -2980,6 +2984,13 @@
|
|
|
2980
2984
|
"body": "À la fin de chaque exécution, l'agent Kaizen évalue le déroulement de chaque étape de l'agent, de fluide et efficace à confus et chaotique, et recommande des améliorations de prompt/modèle. Une combinaison prompt + agent + modèle bien notée sans recommandation cinq fois de suite est marquée comme vérifiée et n'est plus évaluée. L'évaluation s'exécute en arrière-plan et s'affiche dans les détails de l'exécution et l'écran Kaizen. Définissez le modèle de l'évaluateur dans Configuration des modèles (l'agent \"Kaizen\").",
|
|
2981
2985
|
"toggle": "Évaluer les exécutions d'agents avec Kaizen"
|
|
2982
2986
|
},
|
|
2987
|
+
"runCredential": {
|
|
2988
|
+
"heading": "Identifiant d'exécution",
|
|
2989
|
+
"body": "Par défaut, une exécution s'authentifie avec le jeton d'accès personnel de la personne qui l'a lancée, si elle en a enregistré un, de sorte que les poussées et les demandes de tirage lui sont attribuées. La portée de son jeton est celle qu'elle lui a accordée, souvent plus large que les dépôts couverts par l'installation de l'App GitHub de cet espace de travail. Désactivez cette option pour que chaque exécution s'authentifie plutôt comme l'installation de l'App.",
|
|
2990
|
+
"toggle": "Laisser les exécutions agir au nom de la personne qui les lance",
|
|
2991
|
+
"offHint": "Les exécutions pousseront et ouvriront des demandes de tirage en tant qu'App GitHub, et non au nom de la personne qui les a lancées.",
|
|
2992
|
+
"accountFloorNote": "Une politique à l’échelle du compte peut l’interdire pour tous les tableaux ; si elle est définie, les exécutions ici utilisent l’App GitHub quel que soit cet interrupteur."
|
|
2993
|
+
},
|
|
2983
2994
|
"metadata": {
|
|
2984
2995
|
"heading": "Métadonnées de l'espace de travail",
|
|
2985
2996
|
"body": "Valeurs des champs personnalisés définis par ce déploiement. Les outils externes les lisent pour s'ouvrir sur le bon projet pour cet espace de travail.",
|
|
@@ -3282,6 +3293,15 @@
|
|
|
3282
3293
|
"saveFailed": "Impossible d'enregistrer le groupe de consensus",
|
|
3283
3294
|
"deleteFailed": "Impossible de supprimer le groupe de consensus"
|
|
3284
3295
|
}
|
|
3296
|
+
},
|
|
3297
|
+
"runCredentialPolicy": {
|
|
3298
|
+
"heading": "Politique d’identifiants d’exécution",
|
|
3299
|
+
"body": "Un tableau peut laisser une exécution s’authentifier avec le jeton d’accès personnel de la personne qui l’a lancée. C’est utile et, pour une personne seule au sein d’une organisation qui n’a pas adopté cat-factory, c’est souvent la seule option. Mais un jeton personnel atteint tout ce que son propriétaire lui a accordé, généralement plus que l’installation de l’App GitHub de ce compte, et l’administration d’un tableau peut réactiver son propre interrupteur. Interdisez-le ici et aucun tableau de ce compte ne le pourra.",
|
|
3300
|
+
"toggle": "Interdire aux exécutions d’utiliser le jeton d’accès personnel de leur initiateur",
|
|
3301
|
+
"onHint": "Toutes les exécutions de ce compte s’authentifieront en tant qu’installation de l’App GitHub. Les poussées et les demandes de tirage proviendront de l’application et non de la personne ayant lancé l’exécution.",
|
|
3302
|
+
"offHint": "Non défini : chaque tableau décide pour lui-même. Les tableaux existants conservent leur choix.",
|
|
3303
|
+
"saved": "Politique d’identifiants d’exécution enregistrée",
|
|
3304
|
+
"saveFailed": "Impossible d’enregistrer la politique d’identifiants d’exécution"
|
|
3285
3305
|
}
|
|
3286
3306
|
},
|
|
3287
3307
|
"providers": {
|
|
@@ -5191,6 +5211,7 @@
|
|
|
5191
5211
|
"subtitle": "Les capacités partagées que votre organisation exploite déjà, pour qu'une conception les consomme au lieu de les reconstruire."
|
|
5192
5212
|
},
|
|
5193
5213
|
"tier": {
|
|
5214
|
+
"builtin": "Déploiement",
|
|
5194
5215
|
"account": "Compte",
|
|
5195
5216
|
"workspace": "Tableau"
|
|
5196
5217
|
},
|
|
@@ -5201,6 +5222,8 @@
|
|
|
5201
5222
|
},
|
|
5202
5223
|
"contracts": {
|
|
5203
5224
|
"omitted": "+{count} autres non listées",
|
|
5225
|
+
"notIndexed": "les opérations ne sont pas indexées pour ce format ; ouvrez le document",
|
|
5226
|
+
"noOperations": "ne déclare aucune opération",
|
|
5204
5227
|
"none": "Aucun contrat d'API joint. On indiquera à l'agent que l'interface est inconnue plutôt que de le laisser la deviner."
|
|
5205
5228
|
},
|
|
5206
5229
|
"catalog": {
|
|
@@ -5211,8 +5234,14 @@
|
|
|
5211
5234
|
"hideDocuments": "Masquer les documents de contrat"
|
|
5212
5235
|
},
|
|
5213
5236
|
"suppressions": {
|
|
5214
|
-
"title":
|
|
5215
|
-
|
|
5237
|
+
"title": {
|
|
5238
|
+
"workspace": "Écartés sur ce tableau",
|
|
5239
|
+
"account": "Écartés pour ce compte"
|
|
5240
|
+
},
|
|
5241
|
+
"intro": {
|
|
5242
|
+
"workspace": "Ces services hérités sont masqués pour les conceptions de ce tableau. Rien n'a été supprimé, et tous les autres tableaux les conservent.",
|
|
5243
|
+
"account": "Ces services enregistrés par ce déploiement sont masqués pour les conceptions de tous les tableaux de ce compte. Rien n'a été supprimé, et les autres comptes les conservent."
|
|
5244
|
+
},
|
|
5216
5245
|
"restore": "Proposer à nouveau",
|
|
5217
5246
|
"shadowsNothing": "Rien n'est hérité sous cet identifiant pour le moment : cet écartement ne masque donc rien."
|
|
5218
5247
|
},
|
|
@@ -5305,6 +5334,7 @@
|
|
|
5305
5334
|
"synced": "Synchronisé : {updated} mis à jour, {removed} retirés",
|
|
5306
5335
|
"syncSkipped": "{count} fichier ressemblait à un contrat mais n'a pas pu être utilisé. | {count} fichiers ressemblaient à des contrats mais n'ont pas pu être utilisés.",
|
|
5307
5336
|
"syncTruncated": "Le dossier contient plus que ce qu'une synchronisation peut prendre : seule une partie a été lue.",
|
|
5337
|
+
"syncFolderMissing": "Le dossier lié n'existe pas dans le dépôt. Vérifiez le chemin, ou reliez la source si elle a été déplacée.",
|
|
5308
5338
|
"syncFailed": "Impossible de synchroniser le dépôt",
|
|
5309
5339
|
"changesAvailable": "Des changements sont disponibles en amont",
|
|
5310
5340
|
"upToDate": "Déjà à jour",
|
|
@@ -6054,6 +6084,29 @@
|
|
|
6054
6084
|
"title": "Connecter cat-factory à {provider}",
|
|
6055
6085
|
"titleAny": "Connecter cat-factory à vos dépôts",
|
|
6056
6086
|
"intro": "cat-factory fonctionne en ouvrant des pull requests sur vos dépôts. Connectez votre hébergeur de dépôts pour continuer."
|
|
6087
|
+
},
|
|
6088
|
+
"branchProtection": {
|
|
6089
|
+
"heading": "Protection de la branche par défaut",
|
|
6090
|
+
"body": "Les exécutions d'agents poussent avec un identifiant qui peut écrire dans tous les dépôts qu'il couvre. Rien ici n'empêche une exécution compromise de pousser directement sur une branche par défaut, ni de fusionner sa propre demande de tirage via l'API de l'hôte : seule la protection de branche chez l'hôte couvre les deux cas, et c'est à vous de la configurer. Cette vérification indique si elle est en place.",
|
|
6091
|
+
"check": "Vérifier la protection",
|
|
6092
|
+
"allProtected": "La branche par défaut de chaque dépôt lié est protégée.",
|
|
6093
|
+
"exposed": "{count} dépôt a une branche par défaut non protégée. | {count} dépôts ont une branche par défaut non protégée.",
|
|
6094
|
+
"unavailable": "Le fournisseur connecté ne peut pas signaler la protection de branche : cette vérification n'a donc rien à dire, ce n'est pas un résultat favorable.",
|
|
6095
|
+
"omitted": "{count} dépôt lié supplémentaire n'a pas été vérifié. | {count} dépôts liés supplémentaires n'ont pas été vérifiés.",
|
|
6096
|
+
"state": {
|
|
6097
|
+
"protected": "Protégée",
|
|
6098
|
+
"unprotected": "Non protégée",
|
|
6099
|
+
"unknown": "Inconnue"
|
|
6100
|
+
},
|
|
6101
|
+
"unprotectedHint": "l'identifiant d'une exécution peut pousser ici directement et fusionner sa propre demande de tirage",
|
|
6102
|
+
"detailUnavailable": "protégée, mais la règle n'a pas pu être lue — les poussées directes restent peut-être autorisées",
|
|
6103
|
+
"requiresPr": "demande de tirage obligatoire, {reviews} revue(s) d'approbation, {checks} vérification(s) obligatoire(s)",
|
|
6104
|
+
"noPrRequired": "protégée, mais aucune demande de tirage n'est exigée",
|
|
6105
|
+
"unknownReason": {
|
|
6106
|
+
"branch_not_found": "branche par défaut introuvable — la projection du dépôt est peut-être obsolète",
|
|
6107
|
+
"forbidden": "l'identifiant n'est pas autorisé à lire les branches de ce dépôt",
|
|
6108
|
+
"error": "l'hôte n'a pas pu être joint"
|
|
6109
|
+
}
|
|
6057
6110
|
}
|
|
6058
6111
|
},
|
|
6059
6112
|
"tutorial": {
|
package/i18n/locales/he.json
CHANGED
|
@@ -2269,7 +2269,7 @@
|
|
|
2269
2269
|
"action": "בחירת ברירת מחדל"
|
|
2270
2270
|
},
|
|
2271
2271
|
"accountFoundational": {
|
|
2272
|
-
"intro": "היכולות המשותפות שהארגון הזה כבר מפעיל - אחסון קבצים, התראות, ביקורת - יחד עם חוזי ה-API שלהן. כל לוח יורש אותן, ולארכיטקט נאמר לצרוך אותן במקום להציע בנייה מחדש."
|
|
2272
|
+
"intro": "היכולות המשותפות שהארגון הזה כבר מפעיל - אחסון קבצים, התראות, ביקורת - יחד עם חוזי ה-API שלהן. כל לוח יורש אותן, ולארכיטקט נאמר לצרוך אותן במקום להציע בנייה מחדש. שירותים שהפריסה רושמת בקוד עוברים בירושה גם לכאן, ואפשר לדרוס אותם לפי מזהה או להחריג אותם למטה."
|
|
2273
2273
|
}
|
|
2274
2274
|
},
|
|
2275
2275
|
"settings": {
|
|
@@ -2575,7 +2575,10 @@
|
|
|
2575
2575
|
"warningsTitle": "פערים בתצורה הזו",
|
|
2576
2576
|
"warnings": {
|
|
2577
2577
|
"runner_manifest_no_release": "אין תבנית שחרור: ביטול הרצה לא יכול להודיע למאגר להפסיק את המשימה שלו, ולכן משימה יתומה תופסת את הראנר שלה עד שהמאגר משחרר אותה בעצמו.",
|
|
2578
|
-
"runner_manifest_no_status_path": "אין נתיב סטטוס: כל תשאול נקרא כאילו המשימה עדיין רצה, ולכן משימה יכולה להסתיים רק לאחר ניצול כל תקציב התשאול של ההרצה."
|
|
2578
|
+
"runner_manifest_no_status_path": "אין נתיב סטטוס: כל תשאול נקרא כאילו המשימה עדיין רצה, ולכן משימה יכולה להסתיים רק לאחר ניצול כל תקציב התשאול של ההרצה.",
|
|
2579
|
+
"github_pat_classic_account_wide": "זהו אסימון קלאסי עם ההרשאה 'repo': הוא מגיע לכל מאגר שאתם יכולים לדחוף אליו, כולל מאגרים שאפליקציית GitHub של סביבת העבודה הזו מעולם לא הותקנה בהם. הרצות שאתם מתחילים משתמשות בו במקום באפליקציה. אסימון מפורט המוגבל למאגרים של התקנה זו צר יותר.",
|
|
2580
|
+
"github_pat_scopes_beyond_need": "האסימון הזה מעניק הרשאות ש-cat-factory לעולם אינה משתמשת בהן. הסרתן אינה עולה דבר ומצמצמת את מה שהרצה שנפרצה יכולה להגיע אליו.",
|
|
2581
|
+
"github_pat_scope_unreadable": "GitHub קיבלה את האסימון הזה אך לא דיווחה על ההרשאות שלו, ולכן לא ניתן להציג כאן את טווחו. בדקו בהגדרות האסימונים שלכם ב-GitHub מה הוא מעניק."
|
|
2579
2582
|
}
|
|
2580
2583
|
},
|
|
2581
2584
|
"toast": {
|
|
@@ -2679,6 +2682,7 @@
|
|
|
2679
2682
|
"optionalField": "{label} (אופציונלי)",
|
|
2680
2683
|
"testConnection": "בדוק חיבור",
|
|
2681
2684
|
"tokenValid": "האסימון תקין",
|
|
2685
|
+
"tokenReachTitle": "לאן האסימון הזה מגיע",
|
|
2682
2686
|
"tokenRejected": "האסימון נדחה",
|
|
2683
2687
|
"secretFallback": "סוד",
|
|
2684
2688
|
"toast": {
|
|
@@ -3120,6 +3124,13 @@
|
|
|
3120
3124
|
"body": "לאחר שכל הרצה מסתיימת, סוכן ה-Kaizen מדרג כיצד התנהל כל שלב סוכן, מחלק ויעיל ועד מבולבל וכאוטי, וממליץ על שיפורי הנחיה/מודל. שילוב הנחיה + סוכן + מודל שמדורג גבוה ללא המלצות חמש פעמים ברציפות מסומן כמאומת ואינו מדורג עוד. הדירוג רץ ברקע ומוצג בתוך פרטי ההרצה ומסך ה-Kaizen. הגדר את מודל המדרג ב'הגדרת מודלים' (סוכן \"Kaizen\").",
|
|
3121
3125
|
"toggle": "דרג הרצות סוכנים עם Kaizen"
|
|
3122
3126
|
},
|
|
3127
|
+
"runCredential": {
|
|
3128
|
+
"heading": "אישור הרצה",
|
|
3129
|
+
"body": "כברירת מחדל הרצה מאמתת את עצמה באמצעות אסימון הגישה האישי של מי שהתחיל אותה, אם שמר כזה, כך שדחיפות ובקשות משיכה מיוחסות לאותו אדם. טווח ההרשאות של האסימון שלו הוא מה שהוא עצמו העניק לו, ולעתים קרובות רחב יותר מהמאגרים שהתקנת אפליקציית GitHub של סביבת העבודה הזו מכסה. כבו אפשרות זו כדי שכל הרצה תאמת את עצמה כהתקנת האפליקציה במקום זאת.",
|
|
3130
|
+
"toggle": "לאפשר להרצות לפעול בשם מי שהתחיל אותן",
|
|
3131
|
+
"offHint": "הרצות ידחפו ויפתחו בקשות משיכה בשם אפליקציית GitHub, ולא בשם מי שהתחיל אותן.",
|
|
3132
|
+
"accountFloorNote": "מדיניות ברמת החשבון יכולה לאסור זאת עבור כל הלוחות; אם הוגדרה, הרצות כאן ישתמשו באפליקציית GitHub ללא קשר למתג הזה."
|
|
3133
|
+
},
|
|
3123
3134
|
"metadata": {
|
|
3124
3135
|
"heading": "מטא-נתונים של סביבת העבודה",
|
|
3125
3136
|
"body": "ערכים לשדות המותאמים אישית שההתקנה הזו מגדירה. כלים חיצוניים קוראים אותם ונפתחים ישירות בפרויקט הנכון עבור סביבת העבודה הזו.",
|
|
@@ -3293,6 +3304,15 @@
|
|
|
3293
3304
|
"saveFailed": "לא ניתן היה לשמור את קבוצת הקונצנזוס",
|
|
3294
3305
|
"deleteFailed": "לא ניתן היה למחוק את קבוצת הקונצנזוס"
|
|
3295
3306
|
}
|
|
3307
|
+
},
|
|
3308
|
+
"runCredentialPolicy": {
|
|
3309
|
+
"heading": "מדיניות אישורי הרצה",
|
|
3310
|
+
"body": "לוח יכול לאפשר להרצה להזדהות באמצעות אסימון הגישה האישי של מי שהתחיל אותה. זה שימושי, ועבור אדם יחיד בארגון שלא אימץ את cat-factory זו לעתים האפשרות היחידה. אבל אסימון אישי מגיע לכל מה שבעליו העניק לו, בדרכלל יותר מהתקנת אפליקציית GitHub של חשבון זה, ומנהל לוח יכול להדליק מחדש את המתג של הלוח. אסור זאת כאן ואף לוח בחשבון זה לא יוכל.",
|
|
3311
|
+
"toggle": "לאסור על הרצות להשתמש באסימון הגישה האישי של מי שהתחיל אותן",
|
|
3312
|
+
"onHint": "כל הרצה בחשבון זה תזדהה כהתקנת אפליקציית GitHub. דחיפות ובקשות משיכה יגיעו מהאפליקציה ולא מהאדם שהתחיל את ההרצה.",
|
|
3313
|
+
"offHint": "לא הוגדר: כל לוח מחליט בעצמו. לוחות קיימים שומרים על בחירתם.",
|
|
3314
|
+
"saved": "מדיניות אישורי הרצה נשמרה",
|
|
3315
|
+
"saveFailed": "לא ניתן לשמור את מדיניות אישורי הרצה"
|
|
3296
3316
|
}
|
|
3297
3317
|
},
|
|
3298
3318
|
"providers": {
|
|
@@ -5202,6 +5222,7 @@
|
|
|
5202
5222
|
"subtitle": "היכולות המשותפות שהארגון שלכם כבר מפעיל, כדי שתכנון יצרוך אותן במקום לבנות אותן מחדש."
|
|
5203
5223
|
},
|
|
5204
5224
|
"tier": {
|
|
5225
|
+
"builtin": "פריסה",
|
|
5205
5226
|
"account": "חשבון",
|
|
5206
5227
|
"workspace": "לוח"
|
|
5207
5228
|
},
|
|
@@ -5212,6 +5233,8 @@
|
|
|
5212
5233
|
},
|
|
5213
5234
|
"contracts": {
|
|
5214
5235
|
"omitted": "עוד {count} שאינם ברשימה",
|
|
5236
|
+
"notIndexed": "פעולות אינן מאונדקסות עבור פורמט זה; פתחו את המסמך",
|
|
5237
|
+
"noOperations": "אינו מצהיר על פעולות",
|
|
5215
5238
|
"none": "לא צורף חוזה API. לסוכן ייאמר שהממשק אינו ידוע, במקום שינחש אותו."
|
|
5216
5239
|
},
|
|
5217
5240
|
"catalog": {
|
|
@@ -5222,8 +5245,14 @@
|
|
|
5222
5245
|
"hideDocuments": "הסתרת מסמכי החוזה"
|
|
5223
5246
|
},
|
|
5224
5247
|
"suppressions": {
|
|
5225
|
-
"title":
|
|
5226
|
-
|
|
5248
|
+
"title": {
|
|
5249
|
+
"workspace": "הוחרגו בלוח הזה",
|
|
5250
|
+
"account": "הוחרגו בחשבון הזה"
|
|
5251
|
+
},
|
|
5252
|
+
"intro": {
|
|
5253
|
+
"workspace": "השירותים שהועברו בירושה מוסתרים מתכנונים בלוח הזה. שום דבר לא נמחק, וכל שאר הלוחות שומרים אותם.",
|
|
5254
|
+
"account": "השירותים שהפריסה הזו רשמה מוסתרים מתכנונים בכל הלוחות של החשבון הזה. שום דבר לא נמחק, ושאר החשבונות שומרים אותם."
|
|
5255
|
+
},
|
|
5227
5256
|
"restore": "להציע שוב",
|
|
5228
5257
|
"shadowsNothing": "כרגע לא נורש דבר תחת המזהה הזה, ולכן ההחרגה הזו אינה מסתירה כלום."
|
|
5229
5258
|
},
|
|
@@ -5316,6 +5345,7 @@
|
|
|
5316
5345
|
"synced": "סונכרן: {updated} עודכנו, {removed} הוסרו",
|
|
5317
5346
|
"syncSkipped": "קובץ אחד נראה כמו חוזה אך לא ניתן היה להשתמש בו. | {count} קבצים נראו כמו חוזים אך לא ניתן היה להשתמש בהם.",
|
|
5318
5347
|
"syncTruncated": "התיקייה מכילה יותר ממה שסנכרון אחד יכול לקלוט, ולכן נקרא רק חלק ממנה.",
|
|
5348
|
+
"syncFolderMissing": "התיקייה המקושרת אינה נמצאת במאגר. בדקו את הנתיב, או קשרו מחדש את המקור אם הוא הועבר.",
|
|
5319
5349
|
"syncFailed": "לא ניתן היה לסנכרן את המאגר",
|
|
5320
5350
|
"changesAvailable": "יש שינויים במקור",
|
|
5321
5351
|
"upToDate": "כבר מעודכן",
|
|
@@ -6065,6 +6095,29 @@
|
|
|
6065
6095
|
"title": "חבר את cat-factory ל-{provider}",
|
|
6066
6096
|
"titleAny": "חבר את cat-factory למאגרים שלך",
|
|
6067
6097
|
"intro": "cat-factory פועל על ידי פתיחת בקשות משיכה במאגרים שלך. חבר את ספק המאגרים שלך כדי להמשיך."
|
|
6098
|
+
},
|
|
6099
|
+
"branchProtection": {
|
|
6100
|
+
"heading": "הגנת הענף הראשי",
|
|
6101
|
+
"body": "הרצות סוכן דוחפות באמצעות אישור שיכול לכתוב לכל מאגר שהוא מכסה. שום דבר כאן לא ימנע מהרצה שנפרצה לדחוף ישירות לענף הראשי או למזג בקשת משיכה משלה דרך ה-API של השרת המארח — רק הגנת ענפים בצד המארח מכסה את שני המקרים, והיא באחריותכם להגדיר. בדיקה זו מראה אם היא קיימת.",
|
|
6102
|
+
"check": "בדיקת הגנה",
|
|
6103
|
+
"allProtected": "הענף הראשי של כל מאגר מקושר מוגן.",
|
|
6104
|
+
"exposed": "למאגר {count} יש ענף ראשי לא מוגן. | ל-{count} מאגרים יש ענף ראשי לא מוגן.",
|
|
6105
|
+
"unavailable": "הספק המחובר אינו יכול לדווח על הגנת ענפים, ולכן לבדיקה הזו אין מה לומר — זו אינה תוצאה תקינה.",
|
|
6106
|
+
"omitted": "מאגר מקושר נוסף אחד לא נבדק. | {count} מאגרים מקושרים נוספים לא נבדקו.",
|
|
6107
|
+
"state": {
|
|
6108
|
+
"protected": "מוגן",
|
|
6109
|
+
"unprotected": "לא מוגן",
|
|
6110
|
+
"unknown": "לא ידוע"
|
|
6111
|
+
},
|
|
6112
|
+
"unprotectedHint": "האישור של הרצה יכול לדחוף לכאן ישירות ולמזג בקשת משיכה משלו",
|
|
6113
|
+
"detailUnavailable": "מוגן, אך לא ניתן היה לקרוא את הכלל — ייתכן שדחיפות ישירות עדיין מותרות",
|
|
6114
|
+
"requiresPr": "נדרשת בקשת משיכה, {reviews} ביקורות מאשרות, {checks} בדיקות נדרשות",
|
|
6115
|
+
"noPrRequired": "מוגן, אך אינו דורש בקשת משיכה",
|
|
6116
|
+
"unknownReason": {
|
|
6117
|
+
"branch_not_found": "הענף הראשי לא נמצא — ייתכן שהטלת המאגר מיושנת",
|
|
6118
|
+
"forbidden": "לאישור אין הרשאה לקרוא את הענפים של מאגר זה",
|
|
6119
|
+
"error": "לא ניתן היה להגיע לשרת המארח"
|
|
6120
|
+
}
|
|
6068
6121
|
}
|
|
6069
6122
|
},
|
|
6070
6123
|
"tutorial": {
|
package/i18n/locales/it.json
CHANGED
|
@@ -303,7 +303,10 @@
|
|
|
303
303
|
"warningsTitle": "Lacune in questa configurazione",
|
|
304
304
|
"warnings": {
|
|
305
305
|
"runner_manifest_no_release": "Nessun template di release: annullare un'esecuzione non può dire al pool di fermare il suo job, quindi un job orfano tiene occupato il suo runner finché il pool non lo recupera da solo.",
|
|
306
|
-
"runner_manifest_no_status_path": "Nessun percorso di stato: ogni polling viene letto come ancora in corso, quindi un job può terminare solo esaurendo il budget di polling dell'esecuzione."
|
|
306
|
+
"runner_manifest_no_status_path": "Nessun percorso di stato: ogni polling viene letto come ancora in corso, quindi un job può terminare solo esaurendo il budget di polling dell'esecuzione.",
|
|
307
|
+
"github_pat_classic_account_wide": "È un token classico con l'ambito 'repo': raggiunge ogni repository su cui puoi fare push, compresi quelli in cui l'App GitHub di questo spazio di lavoro non è mai stata installata. Le esecuzioni che avvii lo usano di preferenza rispetto all'App. Un token granulare limitato ai repository di questa installazione è più ristretto.",
|
|
308
|
+
"github_pat_scopes_beyond_need": "Questo token concede permessi che cat-factory non usa mai. Rimuoverli non costa nulla e restringe ciò che un'esecuzione compromessa potrebbe raggiungere.",
|
|
309
|
+
"github_pat_scope_unreadable": "GitHub ha accettato questo token ma non ne ha segnalato gli ambiti, quindi la sua portata non può essere mostrata qui. Verifica cosa concede nelle impostazioni dei token di GitHub."
|
|
307
310
|
}
|
|
308
311
|
},
|
|
309
312
|
"toast": {
|
|
@@ -407,6 +410,7 @@
|
|
|
407
410
|
"optionalField": "{label} (facoltativo)",
|
|
408
411
|
"testConnection": "Testa la connessione",
|
|
409
412
|
"tokenValid": "Token valido",
|
|
413
|
+
"tokenReachTitle": "Cosa raggiunge questo token",
|
|
410
414
|
"tokenRejected": "Token rifiutato",
|
|
411
415
|
"secretFallback": "Segreto",
|
|
412
416
|
"toast": {
|
|
@@ -848,6 +852,13 @@
|
|
|
848
852
|
"body": "Al termine di ogni run, l'agente Kaizen valuta l'andamento di ogni passo dell'agente, da fluido ed efficiente a confuso e caotico, e raccomanda miglioramenti al prompt/modello. Una combinazione di prompt + agente + modello che ottiene una valutazione elevata senza raccomandazioni per cinque volte di fila viene contrassegnata come verificata e non viene piu valutata. La valutazione viene eseguita in background ed e mostrata all'interno dei dettagli del run e nella schermata Kaizen. Imposta il modello del valutatore in Configurazione del modello (l'agente \"Kaizen\").",
|
|
849
853
|
"toggle": "Valuta i run degli agenti con Kaizen"
|
|
850
854
|
},
|
|
855
|
+
"runCredential": {
|
|
856
|
+
"heading": "Credenziale di esecuzione",
|
|
857
|
+
"body": "Per impostazione predefinita un'esecuzione si autentica con il token di accesso personale di chi l'ha avviata, se ne ha memorizzato uno, così push e richieste di pull vengono attribuiti a quella persona. La portata del suo token è quella che le ha concesso lei stessa, spesso più ampia dei repository coperti dall'installazione dell'App GitHub di questo spazio di lavoro. Disattiva questa opzione per far autenticare ogni esecuzione come installazione dell'App.",
|
|
858
|
+
"toggle": "Consenti alle esecuzioni di agire per conto di chi le avvia",
|
|
859
|
+
"offHint": "Le esecuzioni faranno push e apriranno richieste di pull come App GitHub, non come chi le ha avviate.",
|
|
860
|
+
"accountFloorNote": "Un criterio a livello di account può vietarlo per ogni board; se ne è impostato uno, le esecuzioni qui useranno l'App GitHub indipendentemente da questo interruttore."
|
|
861
|
+
},
|
|
851
862
|
"metadata": {
|
|
852
863
|
"heading": "Metadati dell'area di lavoro",
|
|
853
864
|
"body": "Valori dei campi personalizzati definiti da questa installazione. Gli strumenti esterni li leggono per aprirsi sul progetto giusto per quest'area di lavoro.",
|
|
@@ -1021,6 +1032,15 @@
|
|
|
1021
1032
|
"saveFailed": "Impossibile salvare il gruppo di consenso",
|
|
1022
1033
|
"deleteFailed": "Impossibile eliminare il gruppo di consenso"
|
|
1023
1034
|
}
|
|
1035
|
+
},
|
|
1036
|
+
"runCredentialPolicy": {
|
|
1037
|
+
"heading": "Criterio per le credenziali di esecuzione",
|
|
1038
|
+
"body": "Una board può consentire a un'esecuzione di autenticarsi con il token di accesso personale di chi l'ha avviata. È utile e, per una singola persona in un'organizzazione che non ha adottato cat-factory, spesso è l'unica possibilità. Ma un token personale raggiunge tutto ciò che il proprietario gli ha concesso, di solito più dell'installazione dell'App GitHub di questo account, e chi amministra una board può riattivarne l'interruttore. Vietalo qui e nessuna board di questo account potrà farlo.",
|
|
1039
|
+
"toggle": "Vietare alle esecuzioni di usare il token di accesso personale di chi le avvia",
|
|
1040
|
+
"onHint": "Ogni esecuzione di questo account si autenticherà come installazione dell'App GitHub. I push e le pull request proverranno dall'app e non dalla persona che ha avviato l'esecuzione.",
|
|
1041
|
+
"offHint": "Non impostato: ogni board decide da sé. Le board esistenti mantengono la loro scelta.",
|
|
1042
|
+
"saved": "Criterio per le credenziali di esecuzione salvato",
|
|
1043
|
+
"saveFailed": "Impossibile salvare il criterio per le credenziali di esecuzione"
|
|
1024
1044
|
}
|
|
1025
1045
|
},
|
|
1026
1046
|
"inspector": {
|
|
@@ -2329,7 +2349,7 @@
|
|
|
2329
2349
|
"action": "Scegli predefinito"
|
|
2330
2350
|
},
|
|
2331
2351
|
"accountFoundational": {
|
|
2332
|
-
"intro": "Le capacità condivise che questa organizzazione già gestisce - archiviazione file, notifiche, audit - con i loro contratti API. Ogni bacheca le eredita, e a un architetto viene detto di utilizzarle invece di proporre di ricostruirle."
|
|
2352
|
+
"intro": "Le capacità condivise che questa organizzazione già gestisce - archiviazione file, notifiche, audit - con i loro contratti API. Ogni bacheca le eredita, e a un architetto viene detto di utilizzarle invece di proporre di ricostruirle. Anche i servizi che questa distribuzione registra nel codice vengono ereditati qui, e possono essere sovrascritti per id o esclusi qui sotto."
|
|
2333
2353
|
}
|
|
2334
2354
|
},
|
|
2335
2355
|
"board": {
|
|
@@ -4232,6 +4252,7 @@
|
|
|
4232
4252
|
"subtitle": "Le capacità condivise che la tua organizzazione già gestisce, così che una progettazione le utilizzi invece di ricostruirle."
|
|
4233
4253
|
},
|
|
4234
4254
|
"tier": {
|
|
4255
|
+
"builtin": "Distribuzione",
|
|
4235
4256
|
"account": "Account",
|
|
4236
4257
|
"workspace": "Bacheca"
|
|
4237
4258
|
},
|
|
@@ -4242,6 +4263,8 @@
|
|
|
4242
4263
|
},
|
|
4243
4264
|
"contracts": {
|
|
4244
4265
|
"omitted": "+{count} non elencate",
|
|
4266
|
+
"notIndexed": "le operazioni non vengono indicizzate per questo formato; apri il documento",
|
|
4267
|
+
"noOperations": "non dichiara operazioni",
|
|
4245
4268
|
"none": "Nessun contratto API allegato. All'agente verrà detto che l'interfaccia è sconosciuta, invece di lasciargliela indovinare."
|
|
4246
4269
|
},
|
|
4247
4270
|
"catalog": {
|
|
@@ -4252,8 +4275,14 @@
|
|
|
4252
4275
|
"hideDocuments": "Nascondi i documenti di contratto"
|
|
4253
4276
|
},
|
|
4254
4277
|
"suppressions": {
|
|
4255
|
-
"title":
|
|
4256
|
-
|
|
4278
|
+
"title": {
|
|
4279
|
+
"workspace": "Esclusi su questa bacheca",
|
|
4280
|
+
"account": "Esclusi per questo account"
|
|
4281
|
+
},
|
|
4282
|
+
"intro": {
|
|
4283
|
+
"workspace": "Questi servizi ereditati sono nascosti alle progettazioni di questa bacheca. Nulla è stato eliminato e tutte le altre bacheche li mantengono.",
|
|
4284
|
+
"account": "Questi servizi registrati da questa distribuzione sono nascosti alle progettazioni di tutte le bacheche di questo account. Nulla è stato eliminato e gli altri account li mantengono."
|
|
4285
|
+
},
|
|
4257
4286
|
"restore": "Proponi di nuovo",
|
|
4258
4287
|
"shadowsNothing": "Al momento non si eredita nulla con questo id, quindi questa esclusione non nasconde nulla."
|
|
4259
4288
|
},
|
|
@@ -4346,6 +4375,7 @@
|
|
|
4346
4375
|
"synced": "Sincronizzato: {updated} aggiornati, {removed} rimossi",
|
|
4347
4376
|
"syncSkipped": "{count} file sembrava un contratto ma non è stato utilizzabile. | {count} file sembravano contratti ma non sono stati utilizzabili.",
|
|
4348
4377
|
"syncTruncated": "La cartella contiene più di quanto una sincronizzazione possa prendere, quindi ne è stata letta solo una parte.",
|
|
4378
|
+
"syncFolderMissing": "La cartella collegata non è presente nel repository. Controlla il percorso oppure ricollega la sorgente se è stata spostata.",
|
|
4349
4379
|
"syncFailed": "Impossibile sincronizzare il repository",
|
|
4350
4380
|
"changesAvailable": "Sono disponibili modifiche a monte",
|
|
4351
4381
|
"upToDate": "Già aggiornato",
|
|
@@ -6066,6 +6096,29 @@
|
|
|
6066
6096
|
"title": "Collega cat-factory a {provider}",
|
|
6067
6097
|
"titleAny": "Collega cat-factory ai tuoi repository",
|
|
6068
6098
|
"intro": "cat-factory funziona aprendo pull request sui tuoi repository. Collega il tuo host di repository per continuare."
|
|
6099
|
+
},
|
|
6100
|
+
"branchProtection": {
|
|
6101
|
+
"heading": "Protezione del ramo predefinito",
|
|
6102
|
+
"body": "Le esecuzioni degli agenti fanno push con una credenziale che può scrivere in ogni repository che copre. Nulla qui impedisce a un'esecuzione compromessa di fare push direttamente su un ramo predefinito o di unire la propria richiesta di pull tramite l'API dell'host: solo la protezione dei rami sull'host copre entrambi i casi, e sei tu a configurarla. Questo controllo indica se è attiva.",
|
|
6103
|
+
"check": "Controlla la protezione",
|
|
6104
|
+
"allProtected": "Il ramo predefinito di ogni repository collegato è protetto.",
|
|
6105
|
+
"exposed": "{count} repository ha il ramo predefinito non protetto. | {count} repository hanno il ramo predefinito non protetto.",
|
|
6106
|
+
"unavailable": "Il provider collegato non può riportare la protezione dei rami, quindi questo controllo non dice nulla: non è un esito positivo.",
|
|
6107
|
+
"omitted": "{count} altro repository collegato non è stato controllato. | Altri {count} repository collegati non sono stati controllati.",
|
|
6108
|
+
"state": {
|
|
6109
|
+
"protected": "Protetto",
|
|
6110
|
+
"unprotected": "Non protetto",
|
|
6111
|
+
"unknown": "Sconosciuto"
|
|
6112
|
+
},
|
|
6113
|
+
"unprotectedHint": "la credenziale di un'esecuzione può fare push qui direttamente e unire la propria richiesta di pull",
|
|
6114
|
+
"detailUnavailable": "protetto, ma la regola non è stata leggibile: potrebbe consentire ancora push diretti",
|
|
6115
|
+
"requiresPr": "richiesta di pull obbligatoria, {reviews} revisione/i di approvazione, {checks} controllo/i obbligatorio/i",
|
|
6116
|
+
"noPrRequired": "protetto, ma non richiede una richiesta di pull",
|
|
6117
|
+
"unknownReason": {
|
|
6118
|
+
"branch_not_found": "ramo predefinito non trovato: la proiezione del repository potrebbe essere obsoleta",
|
|
6119
|
+
"forbidden": "la credenziale non può leggere i rami di questo repository",
|
|
6120
|
+
"error": "non è stato possibile raggiungere l'host"
|
|
6121
|
+
}
|
|
6069
6122
|
}
|
|
6070
6123
|
},
|
|
6071
6124
|
"tutorial": {
|