diff --git a/.changeset/28789-i18n-retire-packaged-flows-keys.md b/.changeset/28789-i18n-retire-packaged-flows-keys.md new file mode 100644 index 00000000000..dcad5590f0f --- /dev/null +++ b/.changeset/28789-i18n-retire-packaged-flows-keys.md @@ -0,0 +1,22 @@ +--- +'@object-ui/i18n': patch +--- + +refactor(i18n)!: the Packaged automation flows keys and Home's Manage Objects keys leave every pack + +Clause-②: yes (narrowing) +Metadata-protocol: none + + + +Setup's Packaged automation flows page and Home's Manage Objects entry are retired: packaged flows are switched on and off, and copied, in Studio's Automations pillar, and objects are managed in Studio. The strings those screens read stayed in `@object-ui/i18n` with no reader. They now leave all ten packs (ar, de, en, es, fr, ja, ko, pt, ru, zh). + +**BREAKING** (`@object-ui/i18n`, TypeScript only): the exported `TranslationKeys` (`typeof en`) loses 28 keys. A `t()` call that names one still compiles, since its key is a `string`, and reads the key back. Nothing replaces them; the fix is to delete the reference. + +| Removed key | Replacement | +|:---|:---| +| `packagedAutomation.title`, `.subtitle`, `.flowsHeading`, `.colFlow`, `.colActions`, `.toggleLabel`, `.notRunning`, `.notRunningDeploymentPolicy`, `.reasonDetails`, `.emptyTitle`, `.emptyBody`, `.loadFailed` | none: the flows list is retired; a packaged flow's switch lives in Studio | +| `packagedAutomation.clone`, `.cloneTitle`, `.cloneBody`, `.cloneName`, `.cloneLabel`, `.cloneCopyLabel`, `.cloneConfirm`, `.cloneCreated`, `.cloneSwitchSourceOff`, `.cloneSourceOff`, `.cloneOpen`, `.cloneFailed`, `.cloneFailedHttp` | none: the clone dialog is retired; Studio's New similar copies a flow | +| `home.quickActions.manageObjects`, `home.quickActions.manageObjectsDesc`, `layout.systemNav.objectManager` | none: Home's Manage Objects entry is retired | + +The keys Setup's Packaged actions page reads (`packagedAutomation.actionsHeading`, `.refresh`, `.colActivation`, `.on`, `.off`, `.cancel`, `.toggleFailed`, `.toggleFailedHttp` and the `actions*` / `switched*` / `actionOff*` family) are unchanged. diff --git a/packages/services/service-automation/src/connector-credentials-ui.ts b/packages/services/service-automation/src/connector-credentials-ui.ts index 78e1da5ac38..1b3bae8ab62 100644 --- a/packages/services/service-automation/src/connector-credentials-ui.ts +++ b/packages/services/service-automation/src/connector-credentials-ui.ts @@ -8,8 +8,8 @@ * service, no entry). * * The page body is the console's `automation:connector-credentials` component - * (`@object-ui/app-shell`), the way Setup's packaged-automation entry names - * `automation:packaged`. It reads `GET /api/v1/automation/connectors/credential-refs` + * (`@object-ui/app-shell`), the way Setup's packaged-actions entry names + * `automation:packaged-actions`. It reads `GET /api/v1/automation/connectors/credential-refs` * and writes through `PUT` / `DELETE …/credential-refs/:ref`; ⛔ no value ever * reaches it, since none of the three routes answers one. * diff --git a/ui/packages/i18n/src/__tests__/de-quote-pairing-3876.test.ts b/ui/packages/i18n/src/__tests__/de-quote-pairing-3876.test.ts index 0d50e1a0d1c..380bcc3f9ee 100644 --- a/ui/packages/i18n/src/__tests__/de-quote-pairing-3876.test.ts +++ b/ui/packages/i18n/src/__tests__/de-quote-pairing-3876.test.ts @@ -376,7 +376,10 @@ describe('objectui#3876 — de pack closes „ with “ and not with a straight // 104 once objectstack-ai/objectstack#28382 added `form.requiredForAction`, // the edit form's note that names the update action a field is required // for („{{action}}“) — one interpolated span, runtime data. - expect(okSpans, 'correctly paired spans').toBe(104); + // 103 once objectstack-ai/objectstack#28789 retired + // `packagedAutomation.cloneCreated` with the Packaged automation flows page + // it named a clone on — one interpolated span fewer. + expect(okSpans, 'correctly paired spans').toBe(103); }); it('keeps the count identity that replaces the card’s count(„) === count(“)', () => { @@ -452,8 +455,10 @@ describe('objectui#3876 — de pack closes „ with “ and not with a straight // more matched pair. 103 / 103 / 0 after objectstack-ai/objectstack#27520 // added `console.serverAction.fillRequiredThenRetry`, one more matched pair. // 104 / 104 / 0 after objectstack-ai/objectstack#28382 added - // `form.requiredForAction`, one more matched pair. - expect({ open, close, rdq }).toEqual({ open: 104, close: 104, rdq: 0 }); + // `form.requiredForAction`, one more matched pair. 103 / 103 / 0 after + // objectstack-ai/objectstack#28789 retired `packagedAutomation.cloneCreated`, + // one matched pair fewer. + expect({ open, close, rdq }).toEqual({ open: 103, close: 103, rdq: 0 }); // The durable shape: every „ closed by a “, every surplus “ an English // opener answered by a ”. Survived translating the two English values. expect(close).toBe(open + rdq); diff --git a/ui/packages/i18n/src/__tests__/dead-key-batch-retired-4730.test.ts b/ui/packages/i18n/src/__tests__/dead-key-batch-retired-4730.test.ts index b78f3d6c7c6..739351a94d5 100644 --- a/ui/packages/i18n/src/__tests__/dead-key-batch-retired-4730.test.ts +++ b/ui/packages/i18n/src/__tests__/dead-key-batch-retired-4730.test.ts @@ -120,7 +120,6 @@ const SURVIVING = [ 'calendar.moreEvents', 'calendar.allDay', 'home.quickActions.title', - 'home.quickActions.manageObjects', 'home.quickActions.systemSettings', 'actionDialog.title', 'actionDialog.description', @@ -128,7 +127,6 @@ const SURVIVING = [ 'actionDialog.confirm', 'layout.systemNav.applications', 'layout.systemNav.systemSettings', - 'layout.systemNav.objectManager', 'chart.nullCategory', 'grid.bulk.confirmDefault', 'grid.bulk.affectedRecords', diff --git a/ui/packages/i18n/src/locales/ar.ts b/ui/packages/i18n/src/locales/ar.ts index 42a36805c49..4099000bdd6 100644 --- a/ui/packages/i18n/src/locales/ar.ts +++ b/ui/packages/i18n/src/locales/ar.ts @@ -3386,8 +3386,6 @@ const ar = { browseMarketplace: "تصفح متجر التطبيقات", quickActions: { title: "إجراءات سريعة", - manageObjects: "إدارة الكائنات", - manageObjectsDesc: "تكوين نماذج البيانات", systemSettings: "إعدادات النظام", systemSettingsDesc: "تكوين النظام", }, @@ -3440,7 +3438,6 @@ const ar = { systemSettings: "إعدادات النظام", applications: "التطبيقات", appMarketplace: "سوق التطبيقات", - objectManager: "مدير الكائنات", users: "المستخدمون", organizations: "المؤسسات", roles: "الأدوار", @@ -5249,39 +5246,14 @@ const ar = { // وعلامات الاقتباس «…». ⛔ لا توجد صياغة عن الأصل أو الانحراف في هذه // المجموعة (§9). packagedAutomation: { - title: "أتمتة الحزم", - subtitle: "تدفقات وإجراءات تأتي مع الحزم المثبّتة. يمكنك إيقاف أي منها في هذا النشر، أو استنساخ تدفق باسم جديد لتخصيصه. التحرير يتم في Studio.", refresh: "تحديث", - flowsHeading: "تدفقات الحزم", actionsHeading: "إجراءات الحزم", - colFlow: "التدفق", colActivation: "التفعيل", - colActions: "إجراءات", - toggleLabel: "تفعيل {{label}}", on: "مفعل", off: "إيقاف", - notRunning: "لا يعمل هنا", - notRunningDeploymentPolicy: "مفعل، لكن هذا النشر لا يشغّل المهام المجدولة", - clone: "استنساخ", - cloneTitle: "استنساخ تدفق الحزمة", - cloneBody: "تحتفظ النسخة بالتعريف كاملاً وتتطلب اسم آلة وتسمية جديدين. حرّر النسخة في Studio.", - cloneName: "اسم آلة جديد", - cloneLabel: "تسمية جديدة", - cloneCopyLabel: "{{label}} (نسخة)", cancel: "إلغاء", - cloneConfirm: "إنشاء نسخة", - cloneCreated: "تم إنشاء التدفق «{{name}}».", - cloneSwitchSourceOff: "إيقاف «{{label}}»", - cloneSourceOff: "التدفق المضمّن «{{label}}» متوقف.", - cloneOpen: "فتح النسخة في Studio", - emptyTitle: "لا توجد تدفقات من الحزم", - emptyBody: "لا توجد حزمة مثبّتة توفّر تدفق أتمتة في هذا النشر. التدفقات التي تنشئها بنفسك موجودة في Studio.", - loadFailed: "تعذّر تحميل أتمتة الحزم.", toggleFailedHttp: "تعذّر تغيير التفعيل (HTTP {{status}}).", toggleFailed: "تعذّر تغيير التفعيل.", - cloneFailedHttp: "تعذّر استنساخ هذا التدفق (HTTP {{status}}).", - cloneFailed: "تعذّر استنساخ هذا التدفق.", - reasonDetails: "التفاصيل", actionsSubtitle: "إجراءات تأتي مع الحزم المثبّتة. أوقف أحدها في هذا النشر فيتوقف عن العمل في كل مكان يُعرض فيه. ويبقى بإمكانك إنشاء إجراء خاص بك إلى جانبه في Studio.", colAction: "الإجراء", colObject: "الكائن", diff --git a/ui/packages/i18n/src/locales/de.ts b/ui/packages/i18n/src/locales/de.ts index a128b462c23..d6b310c6a65 100644 --- a/ui/packages/i18n/src/locales/de.ts +++ b/ui/packages/i18n/src/locales/de.ts @@ -3136,8 +3136,6 @@ const de = { browseMarketplace: "App-Marktplatz durchsuchen", quickActions: { title: "Schnellaktionen", - manageObjects: "Objekte verwalten", - manageObjectsDesc: "Datenmodelle konfigurieren", systemSettings: "Systemeinstellungen", systemSettingsDesc: "Konfigurieren Sie Ihr System", }, @@ -3186,7 +3184,6 @@ const de = { systemSettings: "Systemeinstellungen", applications: "Anwendungen", appMarketplace: "App-Marktplatz", - objectManager: "Objekt-Manager", users: "Benutzer", organizations: "Organisationen", roles: "Rollen", @@ -4755,39 +4752,14 @@ const de = { // Flow, Anführungszeichen „…“. ⛔ Keine Herkunfts- oder Drift-Formulierungen // in dieser Gruppe (§9). packagedAutomation: { - title: "Paketautomatisierung", - subtitle: "Flows und Aktionen aus installierten Paketen. Schalten Sie eines für diese Installation ab oder klonen Sie einen Flow unter einem neuen Namen, um ihn anzupassen. Bearbeitet wird im Studio.", refresh: "Aktualisieren", - flowsHeading: "Paket-Flows", actionsHeading: "Paket-Aktionen", - colFlow: "Flow", colActivation: "Aktivierung", - colActions: "Aktionen", - toggleLabel: "Aktivierung für {{label}}", on: "An", off: "Aus", - notRunning: "Läuft hier nicht", - notRunningDeploymentPolicy: "An, aber diese Installation führt keine geplanten Aufgaben aus", - clone: "Klonen", - cloneTitle: "Paket-Flow klonen", - cloneBody: "Die Kopie übernimmt die gesamte Definition und benötigt einen neuen Maschinennamen und ein neues Label. Bearbeiten Sie die Kopie im Studio.", - cloneName: "Neuer Maschinenname", - cloneLabel: "Neues Label", - cloneCopyLabel: "{{label}} (Kopie)", cancel: "Abbrechen", - cloneConfirm: "Klon erstellen", - cloneCreated: "Flow „{{name}}“ erstellt.", - cloneSwitchSourceOff: "{{label}} ausschalten", - cloneSourceOff: "Der paketierte Flow {{label}} ist ausgeschaltet.", - cloneOpen: "Kopie in Studio öffnen", - emptyTitle: "Keine Paket-Flows", - emptyBody: "In dieser Installation liefert kein installiertes Paket einen Automatisierungs-Flow. Selbst erstellte Flows finden Sie im Studio.", - loadFailed: "Paketautomatisierung konnte nicht geladen werden.", toggleFailedHttp: "Aktivierung konnte nicht geändert werden (HTTP {{status}}).", toggleFailed: "Aktivierung konnte nicht geändert werden.", - cloneFailedHttp: "Dieser Flow konnte nicht geklont werden (HTTP {{status}}).", - cloneFailed: "Dieser Flow konnte nicht geklont werden.", - reasonDetails: "Details", actionsSubtitle: "Aktionen aus installierten Paketen. Schalten Sie eine für diese Installation ab, und sie läuft überall dort nicht mehr, wo sie angeboten wird. Eine eigene Aktion daneben zu erstellen, bleibt Ihnen im Studio offen.", colAction: "Aktion", colObject: "Objekt", diff --git a/ui/packages/i18n/src/locales/en.ts b/ui/packages/i18n/src/locales/en.ts index ee43aa6a965..8ee6057b7da 100644 --- a/ui/packages/i18n/src/locales/en.ts +++ b/ui/packages/i18n/src/locales/en.ts @@ -3749,8 +3749,6 @@ const en = { browseMarketplace: 'Browse App Marketplace', quickActions: { title: 'Quick Actions', - manageObjects: 'Manage Objects', - manageObjectsDesc: 'Configure data models', systemSettings: 'System Settings', systemSettingsDesc: 'Configure your system', }, @@ -3794,7 +3792,6 @@ const en = { systemSettings: 'System Settings', applications: 'Applications', appMarketplace: 'App Marketplace', - objectManager: 'Object Manager', users: 'Users', organizations: 'Organizations', roles: 'Roles', @@ -5518,85 +5515,33 @@ const en = { bulkOperationFailed: 'Bulk operation failed: {{reason}}', }, }, - // objectui#6301 — Setup › Packaged automation (ADR-0126 §7.4): the - // operational surface for the flows an installed package ships. Authoring + // objectui#6301 — Setup › Packaged actions (ADR-0126 §7.4, §8 item 2): the + // operational surface for the actions an installed package ships. Authoring // stays in Studio, so this group has no editing vocabulary at all; it is - // on/off, clone, and the states those two produce. + // on/off and the states that produces. The flows half of the page (its list + // and its clone dialog) retired into Studio's Automations pillar (ADR-0146 + // D11), and its keys left every pack with it. // // ⛔ No drift or ancestry wording anywhere in this group (ADR-0126 §9). There // is deliberately no "customized", no "based on v3", no "out of date" — the // platform does not track that lineage, and a translatable string for it is // the cheapest way for the surface to grow one. // - // ⛔ Server refusals are NOT in this group either. The posture gate, the - // subflow guard and the clone name conflict all arrive as server-authored - // prose and are rendered verbatim; the four `*Failed*` keys below are the - // last-resort fallbacks for a response that carried no message at all. + // ⛔ Server refusals are NOT in this group either. They arrive as + // server-authored prose and are rendered verbatim; the `*Failed*` keys below + // are the last-resort fallbacks for a response that carried no message at all. packagedAutomation: { - title: 'Packaged automation', - // Covers BOTH sections since ADR-0126 §8 item 2 put packaged actions on - // this page: only flows can be cloned, so the clone clause names them. - subtitle: - 'Flows and actions shipped by installed packages. Turn one off for this deployment, or clone a flow under a new name to customize it. Editing happens in Studio.', refresh: 'Refresh', - // Section headings — the page carries two tables. - flowsHeading: 'Packaged flows', actionsHeading: 'Packaged actions', - colFlow: 'Flow', colActivation: 'Activation', - colActions: 'Actions', - // The switch's accessible name — the only place a row's label is spoken. - toggleLabel: 'Activation for {{label}}', on: 'On', off: 'Off', - // The Activation badge on a flow whose switch is ON but whose trigger the - // engine has not armed on this deployment (objectui#13159): the switch - // keeps the flag, this says the flow does not run. The same words as - // Studio's rail for the same state (`engine.studio.auto.notRunning`). - notRunning: 'Not running here', - // The same row when the engine's cause is `deployment_policy` (objectstack#27378): - // package-authored scheduled work is off on this deployment. Plain words for the - // admin; the platform's sentence, which names the operator switch, stays behind - // the Details chip. - notRunningDeploymentPolicy: 'On, but this deployment does not run scheduled work', - clone: 'Clone', - cloneTitle: 'Clone packaged flow', - cloneBody: - 'The copy carries the whole definition and takes a new machine name and label. Edit the copy in Studio.', - cloneName: 'New machine name', - cloneLabel: 'New label', - // The Clone dialog's prefilled label (objectui#13344): the source flow's - // label, or its machine name when it has none, marked as the copy. - cloneCopyLabel: '{{label}} (copy)', cancel: 'Cancel', - cloneConfirm: 'Create clone', - cloneCreated: 'Created flow "{{name}}".', - // The clone result's next steps (objectui#13270): switch the flow the - // admin cloned from off through its own toggle, or open the clone where - // it is edited. The sharing-rule clone's words for the same offer. - cloneSwitchSourceOff: 'Switch "{{label}}" off', - cloneSourceOff: 'The packaged flow "{{label}}" is switched off.', - cloneOpen: 'Open the clone in Studio', - emptyTitle: 'No packaged flows', - emptyBody: - 'No installed package ships an automation flow on this deployment. Flows you author yourself live in Studio.', - loadFailed: 'Could not load packaged automation.', // Two keys per action, not one: the response arm has an HTTP status to // name and the transport-exception arm does not, and a single key cannot // carry a hole only half its call sites can fill. - // Artifact-neutral by wording, and shared by BOTH sections' toggles: the - // sentence says nothing about flows, so the actions half reuses it rather - // than defining a second key with the same English in ten packs. toggleFailedHttp: 'Could not change activation (HTTP {{status}}).', toggleFailed: 'Could not change activation.', - cloneFailedHttp: 'Could not clone this flow (HTTP {{status}}).', - cloneFailed: 'Could not clone this flow.', - // The chip an unarmed flow row's platform sentence opens from - // (objectui#12609). ⛔ Generic on purpose: the same word on every row that - // carries a sentence, whatever the sentence says. The sentence itself is - // the server's and is never kept in a pack; a label naming its cause would - // be the console classifying a field the contract says not to parse. - reasonDetails: 'Details', // ── Packaged ACTIONS section (ADR-0126 §8 item 2, ruling 3) ──────────── // ⛔ No clone key here on purpose: the action-clone half is unchartered, @@ -5612,7 +5557,7 @@ const en = { actionsEmptyBody: 'No installed package declares an action on this deployment. Actions you author yourself live in Studio.', actionsLoadFailed: 'Could not load packaged actions.', - // The toast after a switch the server accepted, in both sections, and + // The toast after a switch the server accepted, and // the confirm a packaged action's switch-off asks first (objectstack#27521). switchedOn: '"{{label}}" is switched on.', switchedOff: '"{{label}}" is switched off for this deployment.', diff --git a/ui/packages/i18n/src/locales/es.ts b/ui/packages/i18n/src/locales/es.ts index 2f0f81ca839..2105a0f0191 100644 --- a/ui/packages/i18n/src/locales/es.ts +++ b/ui/packages/i18n/src/locales/es.ts @@ -3200,8 +3200,6 @@ const es = { browseMarketplace: "Explorar marketplace de apps", quickActions: { title: "Acciones rápidas", - manageObjects: "Gestionar objetos", - manageObjectsDesc: "Configura modelos de datos", systemSettings: "Configuración del sistema", systemSettingsDesc: "Configura tu sistema", }, @@ -3251,7 +3249,6 @@ const es = { systemSettings: "Configuración del sistema", applications: "Aplicaciones", appMarketplace: "Mercado de aplicaciones", - objectManager: "Gestor de objetos", users: "Usuarios", organizations: "Organizaciones", roles: "Roles", @@ -4878,39 +4875,14 @@ const es = { // `flowRunner.completed` = Flujo, comillas «…». ⛔ Ninguna formulación de // linaje o desviación en este grupo (§9). packagedAutomation: { - title: "Automatización de paquetes", - subtitle: "Flujos y acciones incluidos en los paquetes instalados. Desactiva uno en esta implementación o clona un flujo con un nombre nuevo para personalizarlo. La edición se hace en Studio.", refresh: "Actualizar", - flowsHeading: "Flujos de paquete", actionsHeading: "Acciones de paquete", - colFlow: "Flujo", colActivation: "Activación", - colActions: "Acciones", - toggleLabel: "Activación de {{label}}", on: "Activado", off: "Desactivado", - notRunning: "No se ejecuta aquí", - notRunningDeploymentPolicy: "Activado, pero esta implementación no ejecuta tareas programadas", - clone: "Clonar", - cloneTitle: "Clonar flujo del paquete", - cloneBody: "La copia conserva toda la definición y necesita un nombre de máquina y una etiqueta nuevos. Edita la copia en Studio.", - cloneName: "Nuevo nombre de máquina", - cloneLabel: "Nueva etiqueta", - cloneCopyLabel: "{{label}} (copia)", cancel: "Cancelar", - cloneConfirm: "Crear clon", - cloneCreated: "Flujo «{{name}}» creado.", - cloneSwitchSourceOff: "Desactivar «{{label}}»", - cloneSourceOff: "El flujo empaquetado «{{label}}» está desactivado.", - cloneOpen: "Abrir la copia en Studio", - emptyTitle: "Sin flujos de paquete", - emptyBody: "Ningún paquete instalado incluye un flujo de automatización en esta implementación. Los flujos que creas tú están en Studio.", - loadFailed: "No se pudo cargar la automatización de paquetes.", toggleFailedHttp: "No se pudo cambiar la activación (HTTP {{status}}).", toggleFailed: "No se pudo cambiar la activación.", - cloneFailedHttp: "No se pudo clonar este flujo (HTTP {{status}}).", - cloneFailed: "No se pudo clonar este flujo.", - reasonDetails: "Detalles", actionsSubtitle: "Acciones incluidas en los paquetes instalados. Desactiva una en esta implementación y dejará de ejecutarse en todos los lugares donde se ofrece. Crear tu propia acción junto a ella sigue estando disponible en Studio.", colAction: "Acción", colObject: "Objeto", diff --git a/ui/packages/i18n/src/locales/fr.ts b/ui/packages/i18n/src/locales/fr.ts index d8cbdfb3788..652fa3e9cfe 100644 --- a/ui/packages/i18n/src/locales/fr.ts +++ b/ui/packages/i18n/src/locales/fr.ts @@ -3196,8 +3196,6 @@ const fr = { browseMarketplace: "Parcourir la marketplace d'apps", quickActions: { title: "Actions rapides", - manageObjects: "Gérer les objets", - manageObjectsDesc: "Configurer les modèles de données", systemSettings: "Paramètres système", systemSettingsDesc: "Configurez votre système", }, @@ -3247,7 +3245,6 @@ const fr = { systemSettings: "Paramètres système", applications: "Applications", appMarketplace: "Place de marché d'applications", - objectManager: "Gestionnaire d'objets", users: "Utilisateurs", organizations: "Organisations", roles: "Rôles", @@ -4874,39 +4871,14 @@ const fr = { // `flowRunner.completed` = Flux, guillemets « … ». ⛔ Aucune formulation // d'ascendance ou de dérive dans ce groupe (§9). packagedAutomation: { - title: "Automatisation des packages", - subtitle: "Flux et actions fournis par les packages installés. Désactivez-en un pour ce déploiement, ou clonez un flux sous un nouveau nom pour le personnaliser. La modification se fait dans Studio.", refresh: "Actualiser", - flowsHeading: "Flux des packages", actionsHeading: "Actions des packages", - colFlow: "Flux", colActivation: "Activation", - colActions: "Actions", - toggleLabel: "Activation de {{label}}", on: "Activé", off: "Désactivé", - notRunning: "Ne s'exécute pas ici", - notRunningDeploymentPolicy: "Activé, mais ce déploiement n'exécute pas les tâches planifiées", - clone: "Cloner", - cloneTitle: "Cloner le flux du package", - cloneBody: "La copie reprend toute la définition et exige un nouveau nom machine et un nouveau libellé. Modifiez la copie dans Studio.", - cloneName: "Nouveau nom machine", - cloneLabel: "Nouveau libellé", - cloneCopyLabel: "{{label}} (copie)", cancel: "Annuler", - cloneConfirm: "Créer le clone", - cloneCreated: "Flux « {{name}} » créé.", - cloneSwitchSourceOff: "Désactiver « {{label}} »", - cloneSourceOff: "Le flux empaqueté « {{label}} » est désactivé.", - cloneOpen: "Ouvrir la copie dans Studio", - emptyTitle: "Aucun flux de package", - emptyBody: "Aucun package installé ne fournit de flux d'automatisation sur ce déploiement. Les flux que vous créez vous-même se trouvent dans Studio.", - loadFailed: "Impossible de charger l'automatisation des packages.", toggleFailedHttp: "Impossible de modifier l'activation (HTTP {{status}}).", toggleFailed: "Impossible de modifier l'activation.", - cloneFailedHttp: "Impossible de cloner ce flux (HTTP {{status}}).", - cloneFailed: "Impossible de cloner ce flux.", - reasonDetails: "Détails", actionsSubtitle: "Actions fournies par les packages installés. Désactivez-en une pour ce déploiement et elle cesse de s'exécuter partout où elle est proposée. Vous pouvez toujours créer votre propre action à côté, dans Studio.", colAction: "Action", colObject: "Objet", diff --git a/ui/packages/i18n/src/locales/ja.ts b/ui/packages/i18n/src/locales/ja.ts index 081fba23289..a52945dbd84 100644 --- a/ui/packages/i18n/src/locales/ja.ts +++ b/ui/packages/i18n/src/locales/ja.ts @@ -3138,8 +3138,6 @@ const ja = { browseMarketplace: "アプリマーケットプレイスを参照", quickActions: { title: "クイックアクション", - manageObjects: "オブジェクトを管理", - manageObjectsDesc: "データモデルを設定", systemSettings: "システム設定", systemSettingsDesc: "システムを設定", }, @@ -3188,7 +3186,6 @@ const ja = { systemSettings: "システム設定", applications: "アプリケーション", appMarketplace: "アプリマーケットプレイス", - objectManager: "オブジェクトマネージャー", users: "ユーザー", organizations: "組織", roles: "ロール", @@ -4756,39 +4753,14 @@ const ja = { // 合わせています: `common.package` = パッケージ、`flowRunner.completed` = // フロー、引用符は「」。⛔ 系譜・ドリフトを示す語はこのグループに置きません (§9)。 packagedAutomation: { - title: "パッケージ自動化", - subtitle: "インストール済みパッケージが提供するフローとアクションです。このデプロイでオフにできます。フローは新しい名前でクローンしてカスタマイズすることもできます。編集は Studio で行います。", refresh: "更新", - flowsHeading: "パッケージフロー", actionsHeading: "パッケージアクション", - colFlow: "フロー", colActivation: "有効状態", - colActions: "操作", - toggleLabel: "{{label}} の有効状態", on: "オン", off: "オフ", - notRunning: "ここでは実行されていません", - notRunningDeploymentPolicy: "オンですが、このデプロイではスケジュールされた処理を実行しません", - clone: "クローン", - cloneTitle: "パッケージフローをクローン", - cloneBody: "コピーは定義全体を引き継ぎ、新しいマシン名とラベルが必要です。コピーの編集は Studio で行ってください。", - cloneName: "新しいマシン名", - cloneLabel: "新しいラベル", - cloneCopyLabel: "{{label}}(コピー)", cancel: "キャンセル", - cloneConfirm: "クローンを作成", - cloneCreated: "フロー「{{name}}」を作成しました。", - cloneSwitchSourceOff: "「{{label}}」をオフにする", - cloneSourceOff: "パッケージフロー「{{label}}」はオフです。", - cloneOpen: "Studio でコピーを開く", - emptyTitle: "パッケージフローはありません", - emptyBody: "このデプロイには、自動化フローを提供するインストール済みパッケージがありません。自分で作成したフローは Studio にあります。", - loadFailed: "パッケージ自動化を読み込めませんでした。", toggleFailedHttp: "有効状態を変更できませんでした (HTTP {{status}})。", toggleFailed: "有効状態を変更できませんでした。", - cloneFailedHttp: "このフローをクローンできませんでした (HTTP {{status}})。", - cloneFailed: "このフローをクローンできませんでした。", - reasonDetails: "詳細", actionsSubtitle: "インストール済みパッケージが提供するアクションです。このデプロイでオフにすると、提供されているすべての場所で実行されなくなります。自分のアクションを別途 Studio で作成することは引き続き可能です。", colAction: "アクション", colObject: "オブジェクト", diff --git a/ui/packages/i18n/src/locales/ko.ts b/ui/packages/i18n/src/locales/ko.ts index 572c616c225..825137cb893 100644 --- a/ui/packages/i18n/src/locales/ko.ts +++ b/ui/packages/i18n/src/locales/ko.ts @@ -3135,8 +3135,6 @@ const ko = { browseMarketplace: "앱 마켓플레이스 탐색", quickActions: { title: "빠른 작업", - manageObjects: "객체 관리", - manageObjectsDesc: "데이터 모델 구성", systemSettings: "시스템 설정", systemSettingsDesc: "시스템 구성", }, @@ -3185,7 +3183,6 @@ const ko = { systemSettings: "시스템 설정", applications: "애플리케이션", appMarketplace: "앱 마켓플레이스", - objectManager: "객체 관리자", users: "사용자", organizations: "조직", roles: "역할", @@ -4753,39 +4750,14 @@ const ko = { // 따릅니다: `common.package` = 패키지, `flowRunner.completed` = 플로우, // 인용부호는 「」. ⛔ 계보·드리프트를 나타내는 표현은 이 그룹에 두지 않습니다 (§9). packagedAutomation: { - title: "패키지 자동화", - subtitle: "설치된 패키지가 제공하는 플로우와 액션입니다. 이 배포에서 끌 수 있으며, 플로우는 새 이름으로 복제해 사용자 지정할 수도 있습니다. 편집은 Studio에서 합니다.", refresh: "새로고침", - flowsHeading: "패키지 플로우", actionsHeading: "패키지 액션", - colFlow: "플로우", colActivation: "활성화 상태", - colActions: "작업", - toggleLabel: "{{label}}의 활성화 상태", on: "켜짐", off: "꺼짐", - notRunning: "여기서 실행되지 않음", - notRunningDeploymentPolicy: "켜져 있으나 이 배포에서는 예약 작업을 실행하지 않음", - clone: "복제", - cloneTitle: "패키지 플로우 복제", - cloneBody: "사본은 정의 전체를 그대로 가져가며 새 머신 이름과 레이블이 필요합니다. 사본은 Studio에서 편집하세요.", - cloneName: "새 머신 이름", - cloneLabel: "새 레이블", - cloneCopyLabel: "{{label}} (사본)", cancel: "취소", - cloneConfirm: "복제본 만들기", - cloneCreated: "플로우 「{{name}}」을(를) 만들었습니다.", - cloneSwitchSourceOff: "「{{label}}」 끄기", - cloneSourceOff: "패키지 플로우 「{{label}}」이(가) 꺼져 있습니다.", - cloneOpen: "Studio에서 복사본 열기", - emptyTitle: "패키지 플로우 없음", - emptyBody: "이 배포에는 자동화 플로우를 제공하는 설치된 패키지가 없습니다. 직접 작성한 플로우는 Studio에 있습니다.", - loadFailed: "패키지 자동화를 불러오지 못했습니다.", toggleFailedHttp: "활성화 상태를 변경하지 못했습니다 (HTTP {{status}}).", toggleFailed: "활성화 상태를 변경하지 못했습니다.", - cloneFailedHttp: "이 플로우를 복제하지 못했습니다 (HTTP {{status}}).", - cloneFailed: "이 플로우를 복제하지 못했습니다.", - reasonDetails: "세부 정보", actionsSubtitle: "설치된 패키지가 제공하는 액션입니다. 이 배포에서 끄면 액션이 제공되는 모든 곳에서 실행되지 않습니다. Studio에서 직접 액션을 따로 작성하는 것은 계속 가능합니다.", colAction: "액션", colObject: "오브젝트", diff --git a/ui/packages/i18n/src/locales/pt.ts b/ui/packages/i18n/src/locales/pt.ts index a6cc30eb6fa..64014e29802 100644 --- a/ui/packages/i18n/src/locales/pt.ts +++ b/ui/packages/i18n/src/locales/pt.ts @@ -3195,8 +3195,6 @@ const pt = { browseMarketplace: "Explorar marketplace de apps", quickActions: { title: "Ações rápidas", - manageObjects: "Gerenciar objetos", - manageObjectsDesc: "Configure modelos de dados", systemSettings: "Configurações do sistema", systemSettingsDesc: "Configure seu sistema", }, @@ -3246,7 +3244,6 @@ const pt = { systemSettings: "Configurações do sistema", applications: "Aplicativos", appMarketplace: "Marketplace de aplicativos", - objectManager: "Gerenciador de objetos", users: "Usuários", organizations: "Organizações", roles: "Perfis", @@ -4873,39 +4870,14 @@ const pt = { // Fluxo, aspas "…". ⛔ Nenhuma formulação de linhagem ou desvio neste // grupo (§9). packagedAutomation: { - title: "Automação de pacotes", - subtitle: "Fluxos e ações fornecidos pelos pacotes instalados. Desligue um nesta implantação ou clone um fluxo com um novo nome para personalizá-lo. A edição acontece no Studio.", refresh: "Atualizar", - flowsHeading: "Fluxos de pacote", actionsHeading: "Ações de pacote", - colFlow: "Fluxo", colActivation: "Ativação", - colActions: "Ações", - toggleLabel: "Ativação de {{label}}", on: "Ativado", off: "Desativado", - notRunning: "Não está em execução aqui", - notRunningDeploymentPolicy: "Ativado, mas esta implantação não executa tarefas agendadas", - clone: "Clonar", - cloneTitle: "Clonar fluxo do pacote", - cloneBody: "A cópia mantém toda a definição e exige um novo nome de máquina e um novo rótulo. Edite a cópia no Studio.", - cloneName: "Novo nome de máquina", - cloneLabel: "Novo rótulo", - cloneCopyLabel: "{{label}} (cópia)", cancel: "Cancelar", - cloneConfirm: "Criar clone", - cloneCreated: 'Fluxo "{{name}}" criado.', - cloneSwitchSourceOff: 'Desativar "{{label}}"', - cloneSourceOff: 'O fluxo empacotado "{{label}}" está desativado.', - cloneOpen: 'Abrir a cópia no Studio', - emptyTitle: "Nenhum fluxo de pacote", - emptyBody: "Nenhum pacote instalado fornece um fluxo de automação nesta implantação. Os fluxos que você mesmo cria ficam no Studio.", - loadFailed: "Não foi possível carregar a automação de pacotes.", toggleFailedHttp: "Não foi possível alterar a ativação (HTTP {{status}}).", toggleFailed: "Não foi possível alterar a ativação.", - cloneFailedHttp: "Não foi possível clonar este fluxo (HTTP {{status}}).", - cloneFailed: "Não foi possível clonar este fluxo.", - reasonDetails: "Detalhes", actionsSubtitle: "Ações fornecidas pelos pacotes instalados. Desligue uma nesta implantação e ela deixa de ser executada em todos os lugares onde é oferecida. Criar sua própria ação ao lado dela continua disponível no Studio.", colAction: "Ação", colObject: "Objeto", diff --git a/ui/packages/i18n/src/locales/ru.ts b/ui/packages/i18n/src/locales/ru.ts index 7c26bb68b6a..a6bbefcd09f 100644 --- a/ui/packages/i18n/src/locales/ru.ts +++ b/ui/packages/i18n/src/locales/ru.ts @@ -3270,8 +3270,6 @@ const ru = { browseMarketplace: "Обзор маркетплейса приложений", quickActions: { title: "Быстрые действия", - manageObjects: "Управление объектами", - manageObjectsDesc: "Настройте модели данных", systemSettings: "Системные настройки", systemSettingsDesc: "Настройте систему", }, @@ -3322,7 +3320,6 @@ const ru = { systemSettings: "Системные настройки", applications: "Приложения", appMarketplace: "Маркетплейс приложений", - objectManager: "Менеджер объектов", users: "Пользователи", organizations: "Организации", roles: "Роли", @@ -5010,39 +5007,14 @@ const ru = { // Поток, кавычки «…». ⛔ Никаких формулировок о происхождении или // расхождении в этой группе (§9). packagedAutomation: { - title: "Автоматизация из пакетов", - subtitle: "Потоки и действия, поставляемые установленными пакетами. Отключите любой из них в этой установке или клонируйте поток под новым именем, чтобы настроить. Редактирование — в Studio.", refresh: "Обновить", - flowsHeading: "Потоки из пакетов", actionsHeading: "Действия из пакетов", - colFlow: "Поток", colActivation: "Активация", - colActions: "Действия", - toggleLabel: "Активация для {{label}}", on: "Вкл.", off: "Выкл.", - notRunning: "Здесь не выполняется", - notRunningDeploymentPolicy: "Вкл., но эта установка не выполняет запланированные задачи", - clone: "Клонировать", - cloneTitle: "Клонировать поток из пакета", - cloneBody: "Копия сохраняет определение целиком и требует нового машинного имени и метки. Редактируйте копию в Studio.", - cloneName: "Новое машинное имя", - cloneLabel: "Новая метка", - cloneCopyLabel: "{{label}} (копия)", cancel: "Отмена", - cloneConfirm: "Создать клон", - cloneCreated: "Поток «{{name}}» создан.", - cloneSwitchSourceOff: "Выключить «{{label}}»", - cloneSourceOff: "Пакетный поток «{{label}}» выключен.", - cloneOpen: "Открыть копию в Studio", - emptyTitle: "Нет потоков из пакетов", - emptyBody: "В этой установке ни один установленный пакет не поставляет поток автоматизации. Потоки, которые вы создаёте сами, находятся в Studio.", - loadFailed: "Не удалось загрузить автоматизацию из пакетов.", toggleFailedHttp: "Не удалось изменить активацию (HTTP {{status}}).", toggleFailed: "Не удалось изменить активацию.", - cloneFailedHttp: "Не удалось клонировать этот поток (HTTP {{status}}).", - cloneFailed: "Не удалось клонировать этот поток.", - reasonDetails: "Подробности", actionsSubtitle: "Действия, поставляемые установленными пакетами. Отключите действие в этой установке — и оно перестанет выполняться везде, где предлагается. Создать рядом собственное действие по-прежнему можно в Studio.", colAction: "Действие", colObject: "Объект", diff --git a/ui/packages/i18n/src/locales/zh.ts b/ui/packages/i18n/src/locales/zh.ts index 79dd7a5e577..52ea7d0ef7f 100644 --- a/ui/packages/i18n/src/locales/zh.ts +++ b/ui/packages/i18n/src/locales/zh.ts @@ -3229,8 +3229,6 @@ const zh = { browseMarketplace: '浏览应用市场', quickActions: { title: '快捷操作', - manageObjects: '管理对象', - manageObjectsDesc: '配置数据模型', systemSettings: '系统设置', systemSettingsDesc: '配置您的系统', }, @@ -3273,7 +3271,6 @@ const zh = { systemSettings: '系统设置', applications: '应用', appMarketplace: '应用市场', - objectManager: '对象管理器', users: '用户', organizations: '组织', roles: '角色', @@ -4808,44 +4805,19 @@ const zh = { bulkOperationFailed: '批量操作失败:{{reason}}', }, }, - // objectui#6301 — 设置 › 打包自动化(ADR-0126 §7.4)。术语沿用本包既有译法: - // `common.package` = 软件包,`flowRunner.completed` = 流程,`common.duplicate` - // 一族的“复制”在这里写作“克隆”,因为服务端的 clone 是另起机器名的同级流程, - // 不是一次副本粘贴。⛔ 本组不含任何血缘/漂移措辞(§9)。 + // objectui#6301 — 设置 › 打包动作(ADR-0126 §7.4)。术语沿用本包既有译法: + // `common.package` = 软件包。页面的流程一半(列表与克隆对话框)已移入 Studio + // 的自动化区(ADR-0146 D11),其键随之离开各语言包。⛔ 本组不含任何血缘/漂移 + // 措辞(§9)。 packagedAutomation: { - title: '打包自动化', - subtitle: '由已安装软件包提供的流程与动作。可在本部署中关闭其中之一,流程还可以新名称克隆后再自定义。编辑在 Studio 中进行。', refresh: '刷新', - flowsHeading: '打包流程', actionsHeading: '打包动作', - colFlow: '流程', colActivation: '启用状态', - colActions: '操作', - toggleLabel: '{{label}} 的启用状态', on: '已启用', off: '已关闭', - notRunning: '未在此运行', - notRunningDeploymentPolicy: '已启用,但此部署不运行计划任务', - clone: '克隆', - cloneTitle: '克隆打包流程', - cloneBody: '副本会带上完整定义,并需要新的机器名和标签。请在 Studio 中编辑副本。', - cloneName: '新机器名', - cloneLabel: '新标签', - cloneCopyLabel: '{{label}}(副本)', cancel: '取消', - cloneConfirm: '创建克隆', - cloneCreated: '已创建流程「{{name}}」。', - cloneSwitchSourceOff: '停用「{{label}}」', - cloneSourceOff: '打包流程「{{label}}」已停用。', - cloneOpen: '在 Studio 中打开副本', - emptyTitle: '没有打包流程', - emptyBody: '本部署中没有任何已安装软件包提供自动化流程。你自己编写的流程在 Studio 中。', - loadFailed: '无法加载打包自动化。', toggleFailedHttp: '无法更改启用状态(HTTP {{status}})。', toggleFailed: '无法更改启用状态。', - cloneFailedHttp: '无法克隆此流程(HTTP {{status}})。', - cloneFailed: '无法克隆此流程。', - reasonDetails: '详情', actionsSubtitle: '由已安装软件包提供的动作。在本部署中关闭后,它在所有提供它的位置都不再运行。你仍然可以在 Studio 中另行编写自己的动作。', colAction: '动作', colObject: '对象',