@cat-factory/app 0.274.0 → 0.276.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.
Files changed (69) hide show
  1. package/README.md +158 -4
  2. package/app/components/board/LaneViewControl.vue +87 -0
  3. package/app/components/board/nodes/BlockNode.vue +31 -11
  4. package/app/components/board/nodes/FrameSwimlanes.vue +139 -0
  5. package/app/components/board/nodes/InitiativeCard.vue +9 -28
  6. package/app/components/board/nodes/LaneGroup.vue +93 -0
  7. package/app/components/board/nodes/LaneTask.vue +66 -0
  8. package/app/components/board/nodes/TaskCard.vue +16 -2
  9. package/app/components/board/nodes/TaskLane.vue +82 -0
  10. package/app/components/layout/BoardToolbar.vue +4 -0
  11. package/app/components/layout/CommandBar.vue +8 -1
  12. package/app/components/layout/RolePrompt.vue +75 -0
  13. package/app/components/layout/SideBar.vue +22 -13
  14. package/app/components/layout/UiRoleSwitcher.vue +73 -0
  15. package/app/components/panels/InspectorPanel.vue +15 -2
  16. package/app/components/panels/inspector/TaskStructure.vue +70 -3
  17. package/app/components/settings/WorkspaceSettingsPanel.vue +59 -0
  18. package/app/composables/useBlockDrag.ts +47 -17
  19. package/app/composables/useBlockQueries.ts +27 -24
  20. package/app/composables/useFrameLanes.ts +177 -0
  21. package/app/composables/useNavContributions.ts +3 -0
  22. package/app/composables/useTaskExpansion.ts +1 -1
  23. package/app/docs/consumer-extensions.md +20 -6
  24. package/app/modular/external-tools.spec.ts +0 -45
  25. package/app/modular/external-tools.ts +12 -23
  26. package/app/modular/nav-contributions.spec.ts +176 -17
  27. package/app/modular/nav-contributions.ts +106 -23
  28. package/app/modular/nav-gates.ts +11 -2
  29. package/app/modular/registry.spec.ts +1 -0
  30. package/app/modular/tutorial-tours.spec.ts +5 -3
  31. package/app/modular/tutorial-tours.ts +53 -8
  32. package/app/pages/index.vue +36 -7
  33. package/app/stores/board/placement.ts +7 -0
  34. package/app/stores/board.spec.ts +119 -14
  35. package/app/stores/laneView.spec.ts +61 -0
  36. package/app/stores/laneView.ts +85 -0
  37. package/app/stores/launchPrompt.ts +63 -0
  38. package/app/stores/taskExpansion.spec.ts +1 -1
  39. package/app/stores/taskExpansion.ts +1 -1
  40. package/app/stores/tutorial.ts +4 -4
  41. package/app/stores/uiMode.spec.ts +11 -0
  42. package/app/stores/uiMode.ts +14 -2
  43. package/app/stores/uiRole.spec.ts +185 -0
  44. package/app/stores/uiRole.ts +86 -0
  45. package/app/stores/workspaceSettings.ts +4 -0
  46. package/app/utils/framePlacement.ts +9 -4
  47. package/app/utils/laneGeometry.spec.ts +69 -0
  48. package/app/utils/laneGeometry.ts +104 -0
  49. package/app/utils/laneSort.spec.ts +236 -0
  50. package/app/utils/laneSort.ts +306 -0
  51. package/app/utils/swimlanes.spec.ts +259 -0
  52. package/app/utils/swimlanes.ts +355 -0
  53. package/app/utils/uiMode.spec.ts +12 -0
  54. package/app/utils/uiMode.ts +24 -6
  55. package/app/utils/uiRole.ts +123 -0
  56. package/i18n/locales/de.json +104 -3
  57. package/i18n/locales/en.json +110 -3
  58. package/i18n/locales/es.json +104 -3
  59. package/i18n/locales/fr.json +104 -3
  60. package/i18n/locales/he.json +104 -3
  61. package/i18n/locales/it.json +104 -3
  62. package/i18n/locales/ja.json +104 -3
  63. package/i18n/locales/pl.json +104 -3
  64. package/i18n/locales/tr.json +104 -3
  65. package/i18n/locales/uk.json +104 -3
  66. package/package.json +2 -2
  67. package/app/components/board/nodes/DraggableTask.vue +0 -58
  68. package/app/components/board/nodes/ModuleFrame.vue +0 -73
  69. package/app/stores/tutorial.prompt.ts +0 -59
@@ -32,6 +32,25 @@
32
32
  "switchTo": "Passer en {mode}",
33
33
  "pinned": "Défini par ce déploiement"
34
34
  },
35
+ "uiRole": {
36
+ "switcher": "Votre rôle",
37
+ "roles": {
38
+ "engineer": "Ingénieur",
39
+ "productManager": "Chef de produit",
40
+ "designer": "Designer"
41
+ },
42
+ "hints": {
43
+ "engineer": "Tout : planifier le travail, l'exécuter, le relire et le fusionner, et configurer la plateforme qui l'exécute.",
44
+ "productManager": "Les mêmes surfaces qu'un ingénieur : planifier le travail, l'exécuter et le suivre jusqu'à la fusion.",
45
+ "designer": "Un tableau plus simple : les services déjà présents, le travail en cours et de nouvelles tâches à partir d'une maquette ou d'un ticket."
46
+ },
47
+ "prompt": {
48
+ "title": "Sur quoi travaillez-vous ?",
49
+ "intro": "Choisissez ce qui correspond le mieux : l'application s'ouvrira sur les surfaces dont ce métier a besoin. Cela change ce que vous VOYEZ, jamais ce que vous avez le droit de faire.",
50
+ "change": "Vous pouvez changer ce choix à tout moment en haut de la barre latérale.",
51
+ "later": "Pas maintenant"
52
+ }
53
+ },
35
54
  "common": {
36
55
  "loading": "Chargement…",
37
56
  "save": "Enregistrer",
@@ -490,6 +509,71 @@
490
509
  "label": "Épopée",
491
510
  "activeCount": "{count} actives",
492
511
  "noTasksYet": "Pas encore de tâches"
512
+ },
513
+ "lanes": {
514
+ "viewTitle": "Organiser",
515
+ "resetView": "Rétablir les valeurs par défaut",
516
+ "notStarted": {
517
+ "label": "Pas commencé",
518
+ "empty": "Rien n'attend d'être pris en charge."
519
+ },
520
+ "inProgress": {
521
+ "label": "En cours",
522
+ "empty": "Aucune exécution en cours."
523
+ },
524
+ "needsYou": {
525
+ "label": "Vous attend",
526
+ "empty": "Rien ne vous attend."
527
+ },
528
+ "done": {
529
+ "label": "Terminé",
530
+ "empty": "Rien de terminé pour le moment.",
531
+ "hiddenByCap": "+{count} non affichées",
532
+ "hiddenByAge": "+{count} au-delà de la période de conservation",
533
+ "undated": "{count} sans date enregistrée",
534
+ "allWithheld": "Les tâches terminées sont comptées ici mais pas listées, conformément aux réglages de ce tableau."
535
+ },
536
+ "reason": {
537
+ "unstarted": "Prête à démarrer",
538
+ "dependencies": "En attente d’une dépendance",
539
+ "running": "En cours d’exécution",
540
+ "backgroundReview": "Relecture en arrière-plan",
541
+ "decision": "Décision requise",
542
+ "approval": "Approbation requise",
543
+ "failed": "Exécution en échec",
544
+ "budgetPaused": "Mise en pause par le budget de dépenses",
545
+ "prAwaitingMerge": "Pull request en attente de fusion",
546
+ "parked": "En attente d’une personne",
547
+ "unclassified": "Statut non reconnu",
548
+ "merged": "Fusionnée"
549
+ },
550
+ "sort": {
551
+ "heading": "Trier par",
552
+ "smart": "Recommandé par colonne",
553
+ "title": "Titre (A–Z)",
554
+ "oldest_activity": "Les plus silencieuses d’abord",
555
+ "newest_activity": "Activité la plus récente",
556
+ "longest_wait": "En attente depuis le plus longtemps",
557
+ "severity_desc": "Gravité (la plus élevée d’abord)",
558
+ "impact_desc": "Impact estimé (le plus élevé d’abord)",
559
+ "task_type": "Type de tâche"
560
+ },
561
+ "group": {
562
+ "heading": "Grouper par",
563
+ "none": "Aucun groupement",
564
+ "module": "Module",
565
+ "task_type": "Type de tâche",
566
+ "initiative": "Initiative",
567
+ "epic": "Épopée",
568
+ "blocking_reason": "Ce qu’il faut",
569
+ "catchAll": {
570
+ "module": "Aucun module",
571
+ "task_type": "Aucun type",
572
+ "initiative": "Hors initiative",
573
+ "epic": "Hors épopée",
574
+ "blocking_reason": "Non classé"
575
+ }
576
+ }
493
577
  }
494
578
  },
495
579
  "contextAttachments": {
@@ -1124,11 +1208,12 @@
1124
1208
  "title": "Structure",
1125
1209
  "hint": "Où vit cette tâche dans son service et quelles normes de code ses agents suivent.",
1126
1210
  "module": "Module",
1127
- "modulePlaceholder": "ex. Sessions (créé lors de l'implémentation s'il est nouveau)",
1128
- "moduleHint": "Le module du service auquel cette tâche appartient. Saisissez un nom ; un module qui n'existe pas encore est créé lors de l'implémentation de la tâche.",
1211
+ "modulePlaceholder": "Choisissez ou saisissez un module",
1212
+ "moduleHint": "Le module du service auquel appartient cette tâche ; le tableau groupe les colonnes par module. Un module qui nexiste pas encore est créé lors de limplémentation de la tâche.",
1129
1213
  "bestPractices": "Bonnes pratiques",
1130
1214
  "bestPracticesEmpty": "Aucune. Les agents suivent leurs consignes par défaut.",
1131
- "bestPracticesHint": "Fragments de bonnes pratiques ajoutés aux prompts des agents de cette tâche, en plus des normes au niveau du service."
1215
+ "bestPracticesHint": "Fragments de bonnes pratiques ajoutés aux prompts des agents de cette tâche, en plus des normes au niveau du service.",
1216
+ "moduleNone": "Aucun module"
1132
1217
  },
1133
1218
  "runSettings": {
1134
1219
  "title": "Paramètres d'exécution",
@@ -2387,6 +2472,7 @@
2387
2472
  "shortcuts": "Raccourcis clavier",
2388
2473
  "bugHunt": "Chasse aux bugs",
2389
2474
  "toggleUiMode": "Changer le mode d'interface",
2475
+ "chooseRole": "Changer de rôle",
2390
2476
  "foundationalServices": "Services fondamentaux",
2391
2477
  "notificationSettings": "Gérer le routage des notifications"
2392
2478
  },
@@ -2411,6 +2497,7 @@
2411
2497
  "shortcuts": "raccourcis clavier touches aide",
2412
2498
  "bugHunt": "bug chasse tri backlog tickets non assignés",
2413
2499
  "toggleUiMode": "interface mode simple avancé afficher masquer",
2500
+ "chooseRole": "rôle ingénieur chef de produit designer profil vue simplifiée",
2414
2501
  "tutorial": "tutoriel visite guide aide apprendre découverte",
2415
2502
  "foundationalServices": "capacité partagée plateforme service api contrat openapi catalogue",
2416
2503
  "notificationSettings": "notifications e-mail routage canaux boîte"
@@ -3643,6 +3730,15 @@
3643
3730
  "advisory": "Indicatif (enregistrer, jamais mettre en pause)",
3644
3731
  "off": "Désactivé (ignorer la vérification)"
3645
3732
  }
3733
+ },
3734
+ "doneLane": {
3735
+ "heading": "Colonne « Terminé »",
3736
+ "body": "La quantité de travail terminé que la colonne « Terminé » de chaque service garde visible. Les deux limites masquent seulement des cartes : une tâche masquée reste sur le tableau, reste trouvable et reste comptée dans le total de la colonne.",
3737
+ "maxItems": "Cartes affichées",
3738
+ "zeroHint": "Les tâches terminées seront comptées mais jamais listées.",
3739
+ "ageToggle": "Masquer aussi les tâches terminées depuis longtemps",
3740
+ "days": "Conserver (jours)",
3741
+ "hidesOnlyHint": "Rien n’est supprimé. Les tâches sans date d’achèvement enregistrée ne sont jamais masquées en raison de leur ancienneté."
3646
3742
  }
3647
3743
  },
3648
3744
  "localModelEndpoints": {
@@ -7453,6 +7549,7 @@
7453
7549
  "failedRun": "Une exécution en échec",
7454
7550
  "infrastructure": "Un backend d’exécution connecté à cet espace de travail",
7455
7551
  "advancedTier": "Le mode d’interface avancé",
7552
+ "fullSurface": "Le rôle Ingénieur ou Chef de produit",
7456
7553
  "designSource": "Une source de design connectée"
7457
7554
  },
7458
7555
  "overlay": {
@@ -7494,6 +7591,10 @@
7494
7591
  "title": "Contrôles du tableau",
7495
7592
  "body": "Ces contrôles permettent de zoomer ou d'ajuster tout le tableau à la vue."
7496
7593
  },
7594
+ "role": {
7595
+ "title": "Votre rôle",
7596
+ "body": "Le tableau s'adapte au métier que vous exercez : les ingénieurs et les chefs de produit voient toutes les surfaces, les designers une version plus simple qui fait entrer le travail et le suit. Vous pouvez en changer ici à tout moment."
7597
+ },
7497
7598
  "interfaceTier": {
7498
7599
  "title": "Simple et avancé",
7499
7600
  "body": "L'interface démarre en mode simple, qui montre les surfaces de travail quotidiennes. Passez en avancé ici lorsque vous voulez aussi les surfaces d'expérimentation, d'amorçage et d'exploitation."
@@ -32,6 +32,25 @@
32
32
  "switchTo": "מעבר ל{mode}",
33
33
  "pinned": "נקבע על ידי פריסה זו"
34
34
  },
35
+ "uiRole": {
36
+ "switcher": "התפקיד שלך",
37
+ "roles": {
38
+ "engineer": "מהנדס",
39
+ "productManager": "מנהל מוצר",
40
+ "designer": "מעצב"
41
+ },
42
+ "hints": {
43
+ "engineer": "הכול: לתכנן עבודה, להריץ אותה, לבדוק ולמזג, וגם להגדיר את הפלטפורמה שמריצה אותה.",
44
+ "productManager": "אותם משטחים כמו למהנדס: לתכנן עבודה, להריץ אותה ולעקוב אחריה עד המיזוג.",
45
+ "designer": "לוח פשוט יותר: השירותים שכבר נמצאים בו, העבודה שבתהליך ומשימות חדשות מעיצוב או מאישיו."
46
+ },
47
+ "prompt": {
48
+ "title": "על מה אתה עובד?",
49
+ "intro": "בחר את האפשרות הקרובה ביותר, והאפליקציה תיפתח במשטחים שהתפקיד הזה צריך. זה משנה מה שאתה רואה, לא מה שמותר לך לעשות.",
50
+ "change": "אפשר לשנות זאת בכל עת בראש סרגל הצד.",
51
+ "later": "לא כרגע"
52
+ }
53
+ },
35
54
  "common": {
36
55
  "loading": "טוען…",
37
56
  "save": "שמור",
@@ -490,6 +509,71 @@
490
509
  "label": "אפיק",
491
510
  "activeCount": "{count} פעילים",
492
511
  "noTasksYet": "אין עדיין משימות"
512
+ },
513
+ "lanes": {
514
+ "viewTitle": "סידור",
515
+ "resetView": "איפוס לברירת המחדל",
516
+ "notStarted": {
517
+ "label": "לא התחיל",
518
+ "empty": "אין דבר שממתין שיטופל."
519
+ },
520
+ "inProgress": {
521
+ "label": "בתהליך",
522
+ "empty": "אין הרצות פעילות."
523
+ },
524
+ "needsYou": {
525
+ "label": "ממתין לך",
526
+ "empty": "שום דבר לא ממתין לך."
527
+ },
528
+ "done": {
529
+ "label": "הושלם",
530
+ "empty": "עדיין לא הושלם דבר.",
531
+ "hiddenByCap": "+{count} לא מוצגות",
532
+ "hiddenByAge": "+{count} מחוץ לחלון השמירה",
533
+ "undated": "{count} ללא תאריך מתועד",
534
+ "allWithheld": "משימות שהושלמו נספרות כאן אך אינן מוצגות, בהתאם להגדרות הלוח."
535
+ },
536
+ "reason": {
537
+ "unstarted": "מוכן להתחלה",
538
+ "dependencies": "ממתין לתלות",
539
+ "running": "רץ",
540
+ "backgroundReview": "סקירה ברקע",
541
+ "decision": "נדרשת החלטה",
542
+ "approval": "נדרש אישור",
543
+ "failed": "ההרצה נכשלה",
544
+ "budgetPaused": "הושהה בגלל תקציב ההוצאות",
545
+ "prAwaitingMerge": "בקשת משיכה ממתינה למיזוג",
546
+ "parked": "ממתין לאדם",
547
+ "unclassified": "מצב לא מזוהה",
548
+ "merged": "מוזג"
549
+ },
550
+ "sort": {
551
+ "heading": "מיון לפי",
552
+ "smart": "מומלץ לכל עמודה",
553
+ "title": "כותרת (א׳–ת׳)",
554
+ "oldest_activity": "השקטים תחילה",
555
+ "newest_activity": "הפעילים לאחרונה",
556
+ "longest_wait": "הממתינים הכי הרבה זמן",
557
+ "severity_desc": "חומרה (הגבוהה תחילה)",
558
+ "impact_desc": "השפעה משוערת (הגבוהה תחילה)",
559
+ "task_type": "סוג משימה"
560
+ },
561
+ "group": {
562
+ "heading": "קיבוץ לפי",
563
+ "none": "בלי קיבוץ",
564
+ "module": "מודול",
565
+ "task_type": "סוג משימה",
566
+ "initiative": "יוזמה",
567
+ "epic": "אפוס",
568
+ "blocking_reason": "מה נדרש",
569
+ "catchAll": {
570
+ "module": "ללא מודול",
571
+ "task_type": "ללא סוג",
572
+ "initiative": "לא ביוזמה",
573
+ "epic": "לא באפוס",
574
+ "blocking_reason": "לא מסווג"
575
+ }
576
+ }
493
577
  }
494
578
  },
495
579
  "contextAttachments": {
@@ -1124,11 +1208,12 @@
1124
1208
  "title": "מבנה",
1125
1209
  "hint": "היכן משימה זו נמצאת בשירות שלה ואילו תקני קוד הסוכנים שלה מיישמים.",
1126
1210
  "module": "מודול",
1127
- "modulePlaceholder": "למשל Sessions (נוצר במהלך המימוש אם חדש)",
1128
- "moduleHint": "מודול השירות שאליו שייכת משימה זו. הקלד שם; מודול שעדיין לא קיים נוצר כשהמשימה ממומשת.",
1211
+ "modulePlaceholder": "בחר או הקלד מודול",
1212
+ "moduleHint": "מודול השירות שהמשימה שייכת אליו; הלוח מקבץ את העמודות לפיו. מודול שאינו קיים עדיין נוצר כשהמשימה מיושמת.",
1129
1213
  "bestPractices": "מומלצות עבודה",
1130
1214
  "bestPracticesEmpty": "אין. הסוכנים פועלים לפי ההנחיות המוגדרות כברירת מחדל.",
1131
- "bestPracticesHint": "פרגמנטים של שיטות עבודה מומלצות שמתווספים לפרומפטים של סוכני משימה זו, בנוסף לתקנים ברמת השירות."
1215
+ "bestPracticesHint": "פרגמנטים של שיטות עבודה מומלצות שמתווספים לפרומפטים של סוכני משימה זו, בנוסף לתקנים ברמת השירות.",
1216
+ "moduleNone": "ללא מודול"
1132
1217
  },
1133
1218
  "runSettings": {
1134
1219
  "title": "הגדרות הרצה",
@@ -2387,6 +2472,7 @@
2387
2472
  "shortcuts": "קיצורי מקלדת",
2388
2473
  "bugHunt": "ציד באגים",
2389
2474
  "toggleUiMode": "החלפת מצב ממשק",
2475
+ "chooseRole": "החלפת תפקיד",
2390
2476
  "foundationalServices": "שירותי תשתית",
2391
2477
  "notificationSettings": "ניהול ניתוב התראות"
2392
2478
  },
@@ -2411,6 +2497,7 @@
2411
2497
  "shortcuts": "קיצורים מקלדת מקשים עזרה",
2412
2498
  "bugHunt": "באג bug ציד מיון צבר פניות לא משויכות",
2413
2499
  "toggleUiMode": "ממשק מצב בסיסי מתקדם הצגה הסתרה",
2500
+ "chooseRole": "תפקיד מהנדס מנהל מוצר מעצב תצוגה פשוטה",
2414
2501
  "tutorial": "מדריך סיור עזרה הדרכה לימוד",
2415
2502
  "foundationalServices": "יכולת משותפת פלטפורמה שירות api חוזה openapi קטלוג",
2416
2503
  "notificationSettings": "התראות אימייל ניתוב ערוצים תיבה"
@@ -3785,6 +3872,15 @@
3785
3872
  "advisory": "המלצה (תיעוד, בלי עצירה)",
3786
3873
  "off": "כבוי (דילוג על הבדיקה)"
3787
3874
  }
3875
+ },
3876
+ "doneLane": {
3877
+ "heading": "עמודת «הושלם»",
3878
+ "body": "כמה עבודה שהושלמה נשארת גלויה בעמודת «הושלם» של כל שירות. שתי המגבלות מסתירות כרטיסים בלבד: משימה שהוסתרה נשארת בלוח, נשארת ניתנת לחיפוש ונשארת בסך הכול של העמודה.",
3879
+ "maxItems": "כרטיסים מוצגים",
3880
+ "zeroHint": "משימות שהושלמו ייספרו אך לא יוצגו לעולם.",
3881
+ "ageToggle": "להסתיר גם משימות שהושלמו מזמן",
3882
+ "days": "לשמור (ימים)",
3883
+ "hidesOnlyHint": "שום דבר לא נמחק. משימות ללא תאריך השלמה מתועד לא מוסתרות לפי גיל."
3788
3884
  }
3789
3885
  },
3790
3886
  "localModelEndpoints": {
@@ -7453,6 +7549,7 @@
7453
7549
  "failedRun": "ריצה שנכשלה",
7454
7550
  "infrastructure": "עורף הרצה המחובר למרחב העבודה הזה",
7455
7551
  "advancedTier": "מצב הממשק המתקדם",
7552
+ "fullSurface": "תפקיד מהנדס או מנהל מוצר",
7456
7553
  "designSource": "מקור עיצוב מחובר"
7457
7554
  },
7458
7555
  "overlay": {
@@ -7494,6 +7591,10 @@
7494
7591
  "title": "פקדי הלוח",
7495
7592
  "body": "בעזרת הפקדים האלה מתקרבים, מתרחקים או מתאימים את כל הלוח לתצוגה."
7496
7593
  },
7594
+ "role": {
7595
+ "title": "התפקיד שלך",
7596
+ "body": "הלוח מותאם לתפקיד שלך: מהנדסים ומנהלי מוצר רואים את כל המשטחים, ומעצבים רואים לוח פשוט יותר שמכניס עבודה ועוקב אחריה. אפשר לשנות זאת כאן בכל עת."
7597
+ },
7497
7598
  "interfaceTier": {
7498
7599
  "title": "בסיסי ומתקדם",
7499
7600
  "body": "הממשק נפתח במצב הבסיסי, שמציג את משטחי העבודה היומיומיים. עבור כאן למתקדם כשאתה רוצה גם את משטחי הניסויים, הקמת המאגרים והתפעול."
@@ -1163,6 +1163,15 @@
1163
1163
  "advisory": "Segnalazione (registra, mai in pausa)",
1164
1164
  "off": "Disattivato (salta il controllo)"
1165
1165
  }
1166
+ },
1167
+ "doneLane": {
1168
+ "heading": "Colonna «Completato»",
1169
+ "body": "Quanto lavoro completato la colonna «Completato» di ogni servizio mantiene in vista. Entrambi i limiti nascondono solo le schede: un’attività nascosta resta sulla board, resta ricercabile e resta nel totale della colonna.",
1170
+ "maxItems": "Schede mostrate",
1171
+ "zeroHint": "Le attività completate saranno conteggiate ma mai elencate.",
1172
+ "ageToggle": "Nascondi anche le attività completate da tempo",
1173
+ "days": "Conserva (giorni)",
1174
+ "hidesOnlyHint": "Non viene eliminato nulla. Le attività senza data di completamento registrata non vengono mai nascoste per anzianità."
1166
1175
  }
1167
1176
  },
1168
1177
  "localModelEndpoints": {
@@ -1791,11 +1800,12 @@
1791
1800
  "title": "Struttura",
1792
1801
  "hint": "Dove risiede questa attivita' nel suo servizio e quali standard di coding seguono i suoi agenti.",
1793
1802
  "module": "Modulo",
1794
- "modulePlaceholder": "ad es. Sessioni (creato durante l'implementazione se nuovo)",
1795
- "moduleHint": "Il modulo del servizio a cui appartiene questa attivita'. Digita un nome; un modulo che non esiste ancora viene creato quando l'attivita' viene implementata.",
1803
+ "modulePlaceholder": "Scegli o digita un modulo",
1804
+ "moduleHint": "Il modulo del servizio a cui appartiene questa attività; la board raggruppa le colonne in base a esso. Un modulo che non esiste ancora viene creato quando l’attività viene implementata.",
1796
1805
  "bestPractices": "Best practice",
1797
1806
  "bestPracticesEmpty": "Nessuna. Gli agenti seguono le loro linee guida predefinite.",
1798
- "bestPracticesHint": "Frammenti di best practice integrati nei prompt degli agenti di questa attivita', in aggiunta agli standard a livello di servizio."
1807
+ "bestPracticesHint": "Frammenti di best practice integrati nei prompt degli agenti di questa attivita', in aggiunta agli standard a livello di servizio.",
1808
+ "moduleNone": "Nessun modulo"
1799
1809
  },
1800
1810
  "runSettings": {
1801
1811
  "title": "Impostazioni di esecuzione",
@@ -2667,6 +2677,7 @@
2667
2677
  "shortcuts": "Scorciatoie da tastiera",
2668
2678
  "bugHunt": "Caccia ai bug",
2669
2679
  "toggleUiMode": "Cambia modalità interfaccia",
2680
+ "chooseRole": "Cambia il tuo ruolo",
2670
2681
  "foundationalServices": "Servizi fondamentali",
2671
2682
  "notificationSettings": "Gestisci l'instradamento delle notifiche"
2672
2683
  },
@@ -2691,6 +2702,7 @@
2691
2702
  "shortcuts": "scorciatoie da tastiera tasti hotkey cheatsheet aiuto",
2692
2703
  "bugHunt": "bug caccia triage backlog ticket non assegnati",
2693
2704
  "toggleUiMode": "interfaccia modalità base avanzata mostra nascondi",
2705
+ "chooseRole": "ruolo ingegnere responsabile di prodotto designer profilo vista semplice",
2694
2706
  "tutorial": "tutorial tour guida aiuto imparare introduzione",
2695
2707
  "foundationalServices": "capacità condivisa piattaforma servizio api contratto openapi catalogo",
2696
2708
  "notificationSettings": "notifiche email instradamento canali casella"
@@ -3259,6 +3271,71 @@
3259
3271
  "label": "Epic",
3260
3272
  "activeCount": "{count} attive",
3261
3273
  "noTasksYet": "Ancora nessuna attività"
3274
+ },
3275
+ "lanes": {
3276
+ "viewTitle": "Disponi",
3277
+ "resetView": "Ripristina i valori predefiniti",
3278
+ "notStarted": {
3279
+ "label": "Non iniziato",
3280
+ "empty": "Non c’è nulla in attesa di essere preso."
3281
+ },
3282
+ "inProgress": {
3283
+ "label": "In corso",
3284
+ "empty": "Nessuna esecuzione in corso."
3285
+ },
3286
+ "needsYou": {
3287
+ "label": "Richiede te",
3288
+ "empty": "Non c’è nulla in attesa di te."
3289
+ },
3290
+ "done": {
3291
+ "label": "Completato",
3292
+ "empty": "Ancora nulla di completato.",
3293
+ "hiddenByCap": "+{count} non mostrate",
3294
+ "hiddenByAge": "+{count} oltre la finestra di conservazione",
3295
+ "undated": "{count} senza data registrata",
3296
+ "allWithheld": "Le attività completate vengono conteggiate qui ma non elencate, secondo le impostazioni di questa board."
3297
+ },
3298
+ "reason": {
3299
+ "unstarted": "Pronta per iniziare",
3300
+ "dependencies": "In attesa di una dipendenza",
3301
+ "running": "In esecuzione",
3302
+ "backgroundReview": "Revisione in background",
3303
+ "decision": "Serve una decisione",
3304
+ "approval": "Serve un’approvazione",
3305
+ "failed": "Esecuzione fallita",
3306
+ "budgetPaused": "In pausa per il budget di spesa",
3307
+ "prAwaitingMerge": "Pull request in attesa di merge",
3308
+ "parked": "In attesa di una persona",
3309
+ "unclassified": "Stato non riconosciuto",
3310
+ "merged": "Unita"
3311
+ },
3312
+ "sort": {
3313
+ "heading": "Ordina per",
3314
+ "smart": "Consigliato per colonna",
3315
+ "title": "Titolo (A–Z)",
3316
+ "oldest_activity": "Le più silenziose per prime",
3317
+ "newest_activity": "Attività più recente",
3318
+ "longest_wait": "In attesa da più tempo",
3319
+ "severity_desc": "Gravità (dalla più alta)",
3320
+ "impact_desc": "Impatto stimato (dal più alto)",
3321
+ "task_type": "Tipo di attività"
3322
+ },
3323
+ "group": {
3324
+ "heading": "Raggruppa per",
3325
+ "none": "Nessun raggruppamento",
3326
+ "module": "Modulo",
3327
+ "task_type": "Tipo di attività",
3328
+ "initiative": "Iniziativa",
3329
+ "epic": "Epica",
3330
+ "blocking_reason": "Cosa serve",
3331
+ "catchAll": {
3332
+ "module": "Nessun modulo",
3333
+ "task_type": "Nessun tipo",
3334
+ "initiative": "Fuori da un’iniziativa",
3335
+ "epic": "Fuori da un’epica",
3336
+ "blocking_reason": "Non classificato"
3337
+ }
3338
+ }
3262
3339
  }
3263
3340
  },
3264
3341
  "contextAttachments": {
@@ -5665,6 +5742,25 @@
5665
5742
  "switchTo": "Passa alla modalità {mode}",
5666
5743
  "pinned": "Impostato da questo deployment"
5667
5744
  },
5745
+ "uiRole": {
5746
+ "switcher": "Il tuo ruolo",
5747
+ "roles": {
5748
+ "engineer": "Ingegnere",
5749
+ "productManager": "Responsabile di prodotto",
5750
+ "designer": "Designer"
5751
+ },
5752
+ "hints": {
5753
+ "engineer": "Tutto: pianificare il lavoro, eseguirlo, revisionarlo e fare il merge, e configurare la piattaforma che lo esegue.",
5754
+ "productManager": "Le stesse superfici di un ingegnere: pianificare il lavoro, eseguirlo e seguirlo fino al merge.",
5755
+ "designer": "Una board più semplice: i servizi già presenti, il lavoro in corso e nuove attività da un design o da una issue."
5756
+ },
5757
+ "prompt": {
5758
+ "title": "Su cosa lavori?",
5759
+ "intro": "Scegli l'opzione più vicina e l'app si aprirà sulle superfici che quel lavoro richiede. Cambia ciò che VEDI, non ciò che ti è permesso fare.",
5760
+ "change": "Puoi cambiarlo quando vuoi dall'alto della barra laterale.",
5761
+ "later": "Non ora"
5762
+ }
5763
+ },
5668
5764
  "common": {
5669
5765
  "loading": "Caricamento…",
5670
5766
  "save": "Salva",
@@ -7453,6 +7549,7 @@
7453
7549
  "failedRun": "Un’esecuzione fallita",
7454
7550
  "infrastructure": "Un backend di esecuzione collegato a questo workspace",
7455
7551
  "advancedTier": "La modalità interfaccia avanzata",
7552
+ "fullSurface": "Il ruolo Ingegnere o Responsabile di prodotto",
7456
7553
  "designSource": "Una sorgente di design collegata"
7457
7554
  },
7458
7555
  "overlay": {
@@ -7494,6 +7591,10 @@
7494
7591
  "title": "Controlli della board",
7495
7592
  "body": "Con questi controlli ingrandisci, riduci o adatti l’intera board alla vista."
7496
7593
  },
7594
+ "role": {
7595
+ "title": "Il tuo ruolo",
7596
+ "body": "La board si adatta al lavoro che fai: ingegneri e responsabili di prodotto vedono tutte le superfici, i designer una più semplice che porta dentro il lavoro e lo segue. Puoi cambiarlo qui quando vuoi."
7597
+ },
7497
7598
  "interfaceTier": {
7498
7599
  "title": "Base e avanzata",
7499
7600
  "body": "L'interfaccia parte in modalità base, che mostra le superfici di lavoro quotidiane. Passa qui ad avanzata quando vuoi anche quelle di sperimentazione, avvio dei repository e gestione operativa."
@@ -32,6 +32,25 @@
32
32
  "switchTo": "{mode}に切り替える",
33
33
  "pinned": "このデプロイで設定されています"
34
34
  },
35
+ "uiRole": {
36
+ "switcher": "あなたの役割",
37
+ "roles": {
38
+ "engineer": "エンジニア",
39
+ "productManager": "プロダクトマネージャー",
40
+ "designer": "デザイナー"
41
+ },
42
+ "hints": {
43
+ "engineer": "すべて。作業の計画、実行、レビューとマージ、そして実行基盤の設定まで。",
44
+ "productManager": "エンジニアと同じ画面です。作業を計画し、実行し、マージまで見届けます。",
45
+ "designer": "よりシンプルなボード。すでにあるサービス、進行中の作業、そしてデザインや課題から作る新しいタスクだけ。"
46
+ },
47
+ "prompt": {
48
+ "title": "どのような仕事をしていますか?",
49
+ "intro": "最も近いものを選ぶと、その仕事に必要な画面でアプリが開きます。変わるのは表示される内容だけで、権限は変わりません。",
50
+ "change": "サイドバー上部からいつでも変更できます。",
51
+ "later": "後にする"
52
+ }
53
+ },
35
54
  "common": {
36
55
  "loading": "読み込み中…",
37
56
  "save": "保存",
@@ -490,6 +509,71 @@
490
509
  "label": "エピック",
491
510
  "activeCount": "{count} 件アクティブ",
492
511
  "noTasksYet": "タスクはまだありません"
512
+ },
513
+ "lanes": {
514
+ "viewTitle": "並べ替え",
515
+ "resetView": "既定に戻す",
516
+ "notStarted": {
517
+ "label": "未着手",
518
+ "empty": "着手待ちのものはありません。"
519
+ },
520
+ "inProgress": {
521
+ "label": "進行中",
522
+ "empty": "実行中のものはありません。"
523
+ },
524
+ "needsYou": {
525
+ "label": "対応が必要",
526
+ "empty": "あなたの対応を待っているものはありません。"
527
+ },
528
+ "done": {
529
+ "label": "完了",
530
+ "empty": "まだ完了したものはありません。",
531
+ "hiddenByCap": "+{count} 件は非表示",
532
+ "hiddenByAge": "+{count} 件は保持期間より前",
533
+ "undated": "{count} 件は日付の記録なし",
534
+ "allWithheld": "このボードの設定により、完了タスクはここで集計されますが一覧表示されません。"
535
+ },
536
+ "reason": {
537
+ "unstarted": "開始可能",
538
+ "dependencies": "依存関係を待機中",
539
+ "running": "実行中",
540
+ "backgroundReview": "バックグラウンドでレビュー中",
541
+ "decision": "判断が必要",
542
+ "approval": "承認が必要",
543
+ "failed": "実行が失敗",
544
+ "budgetPaused": "支出予算により一時停止",
545
+ "prAwaitingMerge": "プルリクエストがマージ待ち",
546
+ "parked": "人の対応を待機中",
547
+ "unclassified": "未知のステータス",
548
+ "merged": "マージ済み"
549
+ },
550
+ "sort": {
551
+ "heading": "並び順",
552
+ "smart": "レーンごとの推奨",
553
+ "title": "タイトル(A–Z)",
554
+ "oldest_activity": "動きの少ないものから",
555
+ "newest_activity": "最近動いたものから",
556
+ "longest_wait": "待機が長いものから",
557
+ "severity_desc": "重大度(高い順)",
558
+ "impact_desc": "推定インパクト(高い順)",
559
+ "task_type": "タスク種別"
560
+ },
561
+ "group": {
562
+ "heading": "グループ化",
563
+ "none": "グループ化しない",
564
+ "module": "モジュール",
565
+ "task_type": "タスク種別",
566
+ "initiative": "イニシアチブ",
567
+ "epic": "エピック",
568
+ "blocking_reason": "必要なこと",
569
+ "catchAll": {
570
+ "module": "モジュールなし",
571
+ "task_type": "種別なし",
572
+ "initiative": "イニシアチブ外",
573
+ "epic": "エピック外",
574
+ "blocking_reason": "未分類"
575
+ }
576
+ }
493
577
  }
494
578
  },
495
579
  "contextAttachments": {
@@ -1124,11 +1208,12 @@
1124
1208
  "title": "構造",
1125
1209
  "hint": "このタスクがサービス内のどこに属し、エージェントがどのコーディング標準に従うか。",
1126
1210
  "module": "モジュール",
1127
- "modulePlaceholder": "例: Sessions (新規の場合は実装時に作成)",
1128
- "moduleHint": "このタスクが属するサービスのモジュール。名前を入力してください。まだ存在しないモジュールはタスクの実装時に作成されます。",
1211
+ "modulePlaceholder": "モジュールを選択または入力",
1212
+ "moduleHint": "このタスクが属するサービスモジュールです。ボードはこれでレーンをグループ化します。まだ存在しないモジュールは、タスクの実装時に作成されます。",
1129
1213
  "bestPractices": "ベストプラクティス",
1130
1214
  "bestPracticesEmpty": "なし。エージェントは既定のガイダンスに従います。",
1131
- "bestPracticesHint": "サービスレベルの標準に加えて、このタスクのエージェントのプロンプトに組み込まれるベストプラクティスフラグメント。"
1215
+ "bestPracticesHint": "サービスレベルの標準に加えて、このタスクのエージェントのプロンプトに組み込まれるベストプラクティスフラグメント。",
1216
+ "moduleNone": "モジュールなし"
1132
1217
  },
1133
1218
  "runSettings": {
1134
1219
  "title": "実行設定",
@@ -2387,6 +2472,7 @@
2387
2472
  "shortcuts": "キーボードショートカット",
2388
2473
  "bugHunt": "バグハント",
2389
2474
  "toggleUiMode": "インターフェースモードを切り替え",
2475
+ "chooseRole": "役割を変更",
2390
2476
  "foundationalServices": "基盤サービス",
2391
2477
  "notificationSettings": "通知ルーティングを管理"
2392
2478
  },
@@ -2411,6 +2497,7 @@
2411
2497
  "shortcuts": "キーボード ショートカット キー ヘルプ",
2412
2498
  "bugHunt": "bug バグ ハント トリアージ バックログ 課題 未割り当て",
2413
2499
  "toggleUiMode": "インターフェース モード 基本 詳細 表示 非表示",
2500
+ "chooseRole": "役割 ロール エンジニア プロダクトマネージャー デザイナー 簡易表示",
2414
2501
  "tutorial": "チュートリアル ツアー ガイド ヘルプ 使い方 オンボーディング",
2415
2502
  "foundationalServices": "共通機能 プラットフォーム サービス api コントラクト openapi カタログ",
2416
2503
  "notificationSettings": "通知 メール ルーティング チャネル 受信箱"
@@ -3785,6 +3872,15 @@
3785
3872
  "advisory": "参考(記録するが保留しない)",
3786
3873
  "off": "オフ(チェックしない)"
3787
3874
  }
3875
+ },
3876
+ "doneLane": {
3877
+ "heading": "完了レーン",
3878
+ "body": "各サービスフレームの「完了」レーンに表示し続ける完了済み作業の量です。どちらの上限もカードを隠すだけで、隠れたタスクはボードに残り、検索でき、レーンの合計にも含まれます。",
3879
+ "maxItems": "表示するカード数",
3880
+ "zeroHint": "完了タスクは集計されますが、一覧表示はされません。",
3881
+ "ageToggle": "完了から時間が経ったタスクも隠す",
3882
+ "days": "保持期間(日)",
3883
+ "hidesOnlyHint": "削除は行われません。完了日が記録されていないタスクが期間によって隠されることはありません。"
3788
3884
  }
3789
3885
  },
3790
3886
  "localModelEndpoints": {
@@ -7453,6 +7549,7 @@
7453
7549
  "failedRun": "失敗した実行",
7454
7550
  "infrastructure": "このワークスペースに接続された実行バックエンド",
7455
7551
  "advancedTier": "詳細インターフェースモード",
7552
+ "fullSurface": "エンジニアまたはプロダクトマネージャーの役割",
7456
7553
  "designSource": "接続済みのデザインソース"
7457
7554
  },
7458
7555
  "overlay": {
@@ -7494,6 +7591,10 @@
7494
7591
  "title": "ボードの操作",
7495
7592
  "body": "これらのコントロールでズームイン・ズームアウトしたり、ボード全体を表示に収めたりできます。"
7496
7593
  },
7594
+ "role": {
7595
+ "title": "あなたの役割",
7596
+ "body": "ボードは仕事に合わせて調整されます。エンジニアとプロダクトマネージャーはすべての画面を、デザイナーは作業を取り込んで追いかけるためのシンプルな画面を使います。ここでいつでも変更できます。"
7597
+ },
7497
7598
  "interfaceTier": {
7498
7599
  "title": "ベーシックとアドバンスト",
7499
7600
  "body": "画面は日々の作業に必要なものだけを表示するベーシックモードで始まります。実験用、リポジトリ立ち上げ用、運用向けの画面も使いたくなったら、ここでアドバンストに切り替えてください。"