@object-ui/i18n 13.2.0 → 14.0.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/CHANGELOG.md +51 -0
- package/dist/locales/ar.d.ts +62 -0
- package/dist/locales/ar.js +62 -0
- package/dist/locales/de.d.ts +62 -0
- package/dist/locales/de.js +62 -0
- package/dist/locales/en.d.ts +85 -1
- package/dist/locales/en.js +86 -1
- package/dist/locales/es.d.ts +62 -0
- package/dist/locales/es.js +62 -0
- package/dist/locales/fr.d.ts +62 -0
- package/dist/locales/fr.js +62 -0
- package/dist/locales/index.d.ts +667 -2
- package/dist/locales/ja.d.ts +62 -0
- package/dist/locales/ja.js +62 -0
- package/dist/locales/ko.d.ts +62 -0
- package/dist/locales/ko.js +62 -0
- package/dist/locales/pt.d.ts +62 -0
- package/dist/locales/pt.js +62 -0
- package/dist/locales/ru.d.ts +62 -0
- package/dist/locales/ru.js +62 -0
- package/dist/locales/zh.d.ts +86 -1
- package/dist/locales/zh.js +86 -1
- package/dist/pickLocalized.d.ts +3 -2
- package/dist/pickLocalized.js +7 -2
- package/dist/useObjectLabel.d.ts +1 -0
- package/dist/useObjectLabel.js +1 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# @object-ui/i18n
|
|
2
2
|
|
|
3
|
+
## 14.0.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c70bca7: fix(console-ai): Live Canvas is a full-screen, opt-in preview on mobile — not a broken split (#2481)
|
|
8
|
+
|
|
9
|
+
On a phone the beside-chat Live Canvas split overflowed the viewport (the chat
|
|
10
|
+
column's fixed min-width plus the preview exceeded the screen, and the resize
|
|
11
|
+
handle is desktop-only, so it was stuck clipped). Under `md` the canvas is now:
|
|
12
|
+
|
|
13
|
+
- **Full-width chat, no split** — the build streams in the chat as before.
|
|
14
|
+
- **Opt-in + full-screen** — when the preview is available a floating "Preview
|
|
15
|
+
app" pill appears; tapping it (or a Preview button on a draft card) takes the
|
|
16
|
+
canvas full-screen over the chat. Closing returns to the chat with the
|
|
17
|
+
preview one tap away. The auto-drafted canvas never covers the streaming
|
|
18
|
+
chat unprompted.
|
|
19
|
+
|
|
20
|
+
Desktop is unchanged (the resizable beside-chat split). Adds the
|
|
21
|
+
`console.ai.previewApp` string (en/zh).
|
|
22
|
+
|
|
23
|
+
- 05e56ca: 导出/导入模板的下载文件名与内容本地化。
|
|
24
|
+
|
|
25
|
+
**导出文件名**:CSV/Excel/JSON 导出下载不再是 `<对象名>.<扩展名>`(如 `contracts.csv`),改为「对象显示名-视图名-时间戳.扩展名」(如 `任务-In Progress-20260714-153045.xlsx`);`exportOptions.fileNamePrefix` 配置仍优先(且作为完整前缀,不再追加视图名)。视图名与对象名重复时自动省略;`@object-ui/core` 新增 `buildExportFileName(ext, { prefix, label, objectName, viewLabel }, now?)` 与 `sanitizeFileNameBase(raw)`,ObjectGrid 与 ListView 的所有导出路径(服务端流式与前端兜底)统一走它。app-shell/plugin-view 的 ObjectView 现将当前视图的显示标签写进传给 ListView 的 schema(`label`),使导出文件名能区分同一对象的不同保存视图。
|
|
26
|
+
|
|
27
|
+
**导入模板**:「下载模板」修复两处英文漏出——示例行的 select/多选取值改为优先取选项**显示标签**(如 `准备中`)而非 ASCII slug(`prepare`,服务端导入两者都接受);模板文件名本地化为 `{{object}}-导入模板.csv`(新增 i18n key `grid.import.templateFileName`,英文回退 `{{object}}-import-template.csv`)。
|
|
28
|
+
|
|
29
|
+
- 5971cc4: i18n: translate the Profile page, honor inline i18n label objects under bare
|
|
30
|
+
base-language codes, and localize managed-by badges / record quick actions.
|
|
31
|
+
|
|
32
|
+
- `pickLocalized` now upgrades a bare base language (`zh`) to any
|
|
33
|
+
region-qualified key sharing the base (`zh-CN`) — runtime language is
|
|
34
|
+
normalized to the base code while metadata authors write full BCP-47 tags,
|
|
35
|
+
so inline `{ en, 'zh-CN', ... }` label objects previously fell back to
|
|
36
|
+
English.
|
|
37
|
+
- ProfilePage (`account:profile_card` / `/system/profile`): every hardcoded
|
|
38
|
+
string — page title/subtitle, avatar Upload/Replace/Remove, Personal
|
|
39
|
+
Information card, Change/Set Password card — now goes through
|
|
40
|
+
`useObjectTranslation()` with `profile.*` keys (new namespace in all ten
|
|
41
|
+
locale bundles); the lazy-load fallback reuses `common.loading`.
|
|
42
|
+
- `ManagedByBadge` chips/tooltips (Config/System/Append-only/Identity) now
|
|
43
|
+
resolve through new `managedByBadge.*` keys with `{{provider}}`
|
|
44
|
+
interpolation.
|
|
45
|
+
- `record:quick_actions` resolves action labels via the
|
|
46
|
+
`objects.{object}._actions.{action}.label` convention plus `pickLocalized`,
|
|
47
|
+
so object action buttons (Change Password, Enable 2FA, …) localize.
|
|
48
|
+
- `record:details` / `record:related_list` / `record:alert` / `ObjectTree`
|
|
49
|
+
pass inline label objects through `pickLocalized`.
|
|
50
|
+
- Locale bundles: added `managedByBadge` namespace to all ten locales and
|
|
51
|
+
backfilled `list.inlineEditShort` / `inlineEditLabel` /
|
|
52
|
+
`recordEditingTitle` for ja/es/ko/de/fr/pt/ru/ar.
|
|
53
|
+
|
|
3
54
|
## 13.2.0
|
|
4
55
|
|
|
5
56
|
### Patch Changes
|
package/dist/locales/ar.d.ts
CHANGED
|
@@ -280,6 +280,31 @@ declare const ar: {
|
|
|
280
280
|
addGroup: string;
|
|
281
281
|
collapsedByDefault: string;
|
|
282
282
|
removeGroup: string;
|
|
283
|
+
inlineEditShort: string;
|
|
284
|
+
inlineEditLabel: string;
|
|
285
|
+
recordEditingTitle: string;
|
|
286
|
+
};
|
|
287
|
+
managedByBadge: {
|
|
288
|
+
config: {
|
|
289
|
+
short: string;
|
|
290
|
+
title: string;
|
|
291
|
+
body: string;
|
|
292
|
+
};
|
|
293
|
+
system: {
|
|
294
|
+
short: string;
|
|
295
|
+
title: string;
|
|
296
|
+
body: string;
|
|
297
|
+
};
|
|
298
|
+
appendOnly: {
|
|
299
|
+
short: string;
|
|
300
|
+
title: string;
|
|
301
|
+
body: string;
|
|
302
|
+
};
|
|
303
|
+
betterAuth: {
|
|
304
|
+
short: string;
|
|
305
|
+
title: string;
|
|
306
|
+
body: string;
|
|
307
|
+
};
|
|
283
308
|
};
|
|
284
309
|
kanban: {
|
|
285
310
|
addCard: string;
|
|
@@ -1222,6 +1247,43 @@ declare const ar: {
|
|
|
1222
1247
|
tenantHostHint: string;
|
|
1223
1248
|
};
|
|
1224
1249
|
};
|
|
1250
|
+
profile: {
|
|
1251
|
+
title: string;
|
|
1252
|
+
subtitle: string;
|
|
1253
|
+
saving: string;
|
|
1254
|
+
avatar: {
|
|
1255
|
+
upload: string;
|
|
1256
|
+
replace: string;
|
|
1257
|
+
remove: string;
|
|
1258
|
+
};
|
|
1259
|
+
info: {
|
|
1260
|
+
title: string;
|
|
1261
|
+
description: string;
|
|
1262
|
+
saved: string;
|
|
1263
|
+
name: string;
|
|
1264
|
+
email: string;
|
|
1265
|
+
emailImmutable: string;
|
|
1266
|
+
role: string;
|
|
1267
|
+
save: string;
|
|
1268
|
+
};
|
|
1269
|
+
password: {
|
|
1270
|
+
changeTitle: string;
|
|
1271
|
+
setTitle: string;
|
|
1272
|
+
changeDescription: string;
|
|
1273
|
+
setDescription: string;
|
|
1274
|
+
current: string;
|
|
1275
|
+
new: string;
|
|
1276
|
+
password: string;
|
|
1277
|
+
confirm: string;
|
|
1278
|
+
tooShort: string;
|
|
1279
|
+
mismatch: string;
|
|
1280
|
+
enterCurrent: string;
|
|
1281
|
+
changed: string;
|
|
1282
|
+
localSet: string;
|
|
1283
|
+
changeAction: string;
|
|
1284
|
+
setAction: string;
|
|
1285
|
+
};
|
|
1286
|
+
};
|
|
1225
1287
|
errors: {
|
|
1226
1288
|
networkError: string;
|
|
1227
1289
|
serverError: string;
|
package/dist/locales/ar.js
CHANGED
|
@@ -280,6 +280,31 @@ const ar = {
|
|
|
280
280
|
addGroup: "إضافة حقل مجموعة",
|
|
281
281
|
collapsedByDefault: "مطوي افتراضياً",
|
|
282
282
|
removeGroup: "إزالة",
|
|
283
|
+
inlineEditShort: "تحرير مضمّن",
|
|
284
|
+
inlineEditLabel: "حرّر السجلات مباشرة (انقر خلية للتحرير)",
|
|
285
|
+
recordEditingTitle: "تحرير السجلات",
|
|
286
|
+
},
|
|
287
|
+
managedByBadge: {
|
|
288
|
+
config: {
|
|
289
|
+
short: "إعدادات المسؤول",
|
|
290
|
+
title: "تكوين المسؤول",
|
|
291
|
+
body: "تحدد هذه الصفوف سلوك المنصة أثناء التشغيل. أنشئها هنا؛ وتُخزَّن بيانات التشغيل الناتجة في جدول منفصل.",
|
|
292
|
+
},
|
|
293
|
+
system: {
|
|
294
|
+
short: "يديره النظام",
|
|
295
|
+
title: "تديره المنصة",
|
|
296
|
+
body: "تُنشأ الصفوف تلقائيًا عند تشغيل الإجراءات على السجل المصدر. القائمة أدناه واجهة مراقبة للقراءة فقط — وتوجد إجراءات مستوى الصف (اعتماد، استرجاع، إعادة إرسال، …) على كل صف.",
|
|
297
|
+
},
|
|
298
|
+
appendOnly: {
|
|
299
|
+
short: "للقراءة فقط · سجل التدقيق",
|
|
300
|
+
title: "سجل تاريخي للقراءة فقط",
|
|
301
|
+
body: "سجل تدقيق غير قابل للتغيير. لا يمكن إنشاء الصفوف أو تعديلها أو حذفها من الواجهة — تكتبها المنصة عند وقوع الأحداث. استخدم التصدير للتنزيل لمراجعة الامتثال.",
|
|
302
|
+
},
|
|
303
|
+
betterAuth: {
|
|
304
|
+
short: "الهوية",
|
|
305
|
+
title: "يديره مزوّد الهوية",
|
|
306
|
+
body: "مخطط هذا الكائن مملوك لـ {{provider}}. التعديلات المباشرة تتجاوز تجزئة كلمات المرور والتحقق من الجلسات وفحوصات المصادقة الثنائية وخطافات التدقيق. أدر هذه السجلات عبر تدفقات تسجيل الدخول والدعوة والأمان لدى مزوّد المصادقة.",
|
|
307
|
+
},
|
|
283
308
|
},
|
|
284
309
|
kanban: {
|
|
285
310
|
addCard: "إضافة بطاقة",
|
|
@@ -1222,6 +1247,43 @@ const ar = {
|
|
|
1222
1247
|
tenantHostHint: "تسجل الدخول إلى مساحة العمل هذه",
|
|
1223
1248
|
},
|
|
1224
1249
|
},
|
|
1250
|
+
profile: {
|
|
1251
|
+
title: "الملف الشخصي",
|
|
1252
|
+
subtitle: "إدارة إعدادات حسابك",
|
|
1253
|
+
saving: "جارٍ الحفظ…",
|
|
1254
|
+
avatar: {
|
|
1255
|
+
upload: "رفع",
|
|
1256
|
+
replace: "استبدال",
|
|
1257
|
+
remove: "إزالة",
|
|
1258
|
+
},
|
|
1259
|
+
info: {
|
|
1260
|
+
title: "المعلومات الشخصية",
|
|
1261
|
+
description: "قم بتحديث اسمك وعرض تفاصيل حسابك",
|
|
1262
|
+
saved: "تم تحديث الملف الشخصي بنجاح.",
|
|
1263
|
+
name: "الاسم",
|
|
1264
|
+
email: "البريد الإلكتروني",
|
|
1265
|
+
emailImmutable: "لا يمكن تغيير البريد الإلكتروني.",
|
|
1266
|
+
role: "الدور",
|
|
1267
|
+
save: "حفظ التغييرات",
|
|
1268
|
+
},
|
|
1269
|
+
password: {
|
|
1270
|
+
changeTitle: "تغيير كلمة المرور",
|
|
1271
|
+
setTitle: "تعيين كلمة مرور محلية",
|
|
1272
|
+
changeDescription: "قم بتحديث كلمة المرور التي تستخدمها لتسجيل الدخول إلى هذه البيئة.",
|
|
1273
|
+
setDescription: "لقد سجّلت الدخول عبر تسجيل الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن أيضاً من تسجيل الدخول بالبريد الإلكتروني وكلمة المرور في هذه البيئة.",
|
|
1274
|
+
current: "كلمة المرور الحالية",
|
|
1275
|
+
new: "كلمة المرور الجديدة",
|
|
1276
|
+
password: "كلمة المرور",
|
|
1277
|
+
confirm: "تأكيد كلمة المرور",
|
|
1278
|
+
tooShort: "يجب أن تتكون كلمة المرور من 8 أحرف على الأقل",
|
|
1279
|
+
mismatch: "كلمتا المرور غير متطابقتين",
|
|
1280
|
+
enterCurrent: "أدخل كلمة المرور الحالية",
|
|
1281
|
+
changed: "تم تغيير كلمة المرور.",
|
|
1282
|
+
localSet: "تم تعيين كلمة المرور المحلية. يمكنك الآن تسجيل الدخول بالبريد الإلكتروني وكلمة المرور في هذه البيئة.",
|
|
1283
|
+
changeAction: "تغيير كلمة المرور",
|
|
1284
|
+
setAction: "تعيين كلمة المرور",
|
|
1285
|
+
},
|
|
1286
|
+
},
|
|
1225
1287
|
errors: {
|
|
1226
1288
|
networkError: "خطأ في الشبكة. يرجى التحقق من اتصالك.",
|
|
1227
1289
|
serverError: "خطأ في الخادم. يرجى المحاولة مرة أخرى لاحقاً.",
|
package/dist/locales/de.d.ts
CHANGED
|
@@ -280,6 +280,31 @@ declare const de: {
|
|
|
280
280
|
addGroup: string;
|
|
281
281
|
collapsedByDefault: string;
|
|
282
282
|
removeGroup: string;
|
|
283
|
+
inlineEditShort: string;
|
|
284
|
+
inlineEditLabel: string;
|
|
285
|
+
recordEditingTitle: string;
|
|
286
|
+
};
|
|
287
|
+
managedByBadge: {
|
|
288
|
+
config: {
|
|
289
|
+
short: string;
|
|
290
|
+
title: string;
|
|
291
|
+
body: string;
|
|
292
|
+
};
|
|
293
|
+
system: {
|
|
294
|
+
short: string;
|
|
295
|
+
title: string;
|
|
296
|
+
body: string;
|
|
297
|
+
};
|
|
298
|
+
appendOnly: {
|
|
299
|
+
short: string;
|
|
300
|
+
title: string;
|
|
301
|
+
body: string;
|
|
302
|
+
};
|
|
303
|
+
betterAuth: {
|
|
304
|
+
short: string;
|
|
305
|
+
title: string;
|
|
306
|
+
body: string;
|
|
307
|
+
};
|
|
283
308
|
};
|
|
284
309
|
kanban: {
|
|
285
310
|
addCard: string;
|
|
@@ -1222,6 +1247,43 @@ declare const de: {
|
|
|
1222
1247
|
tenantHostHint: string;
|
|
1223
1248
|
};
|
|
1224
1249
|
};
|
|
1250
|
+
profile: {
|
|
1251
|
+
title: string;
|
|
1252
|
+
subtitle: string;
|
|
1253
|
+
saving: string;
|
|
1254
|
+
avatar: {
|
|
1255
|
+
upload: string;
|
|
1256
|
+
replace: string;
|
|
1257
|
+
remove: string;
|
|
1258
|
+
};
|
|
1259
|
+
info: {
|
|
1260
|
+
title: string;
|
|
1261
|
+
description: string;
|
|
1262
|
+
saved: string;
|
|
1263
|
+
name: string;
|
|
1264
|
+
email: string;
|
|
1265
|
+
emailImmutable: string;
|
|
1266
|
+
role: string;
|
|
1267
|
+
save: string;
|
|
1268
|
+
};
|
|
1269
|
+
password: {
|
|
1270
|
+
changeTitle: string;
|
|
1271
|
+
setTitle: string;
|
|
1272
|
+
changeDescription: string;
|
|
1273
|
+
setDescription: string;
|
|
1274
|
+
current: string;
|
|
1275
|
+
new: string;
|
|
1276
|
+
password: string;
|
|
1277
|
+
confirm: string;
|
|
1278
|
+
tooShort: string;
|
|
1279
|
+
mismatch: string;
|
|
1280
|
+
enterCurrent: string;
|
|
1281
|
+
changed: string;
|
|
1282
|
+
localSet: string;
|
|
1283
|
+
changeAction: string;
|
|
1284
|
+
setAction: string;
|
|
1285
|
+
};
|
|
1286
|
+
};
|
|
1225
1287
|
errors: {
|
|
1226
1288
|
networkError: string;
|
|
1227
1289
|
serverError: string;
|
package/dist/locales/de.js
CHANGED
|
@@ -280,6 +280,31 @@ const de = {
|
|
|
280
280
|
addGroup: "Gruppenfeld hinzufügen",
|
|
281
281
|
collapsedByDefault: "Standardmäßig eingeklappt",
|
|
282
282
|
removeGroup: "Entfernen",
|
|
283
|
+
inlineEditShort: "Inline bearbeiten",
|
|
284
|
+
inlineEditLabel: "Datensätze inline bearbeiten (Zelle anklicken zum Bearbeiten)",
|
|
285
|
+
recordEditingTitle: "Datensatzbearbeitung",
|
|
286
|
+
},
|
|
287
|
+
managedByBadge: {
|
|
288
|
+
config: {
|
|
289
|
+
short: "Admin-Konfiguration",
|
|
290
|
+
title: "Administrator-Konfiguration",
|
|
291
|
+
body: "Diese Zeilen definieren das Laufzeitverhalten der Plattform. Erstellen Sie sie hier; die erzeugten Laufzeitdaten liegen in einer separaten Tabelle.",
|
|
292
|
+
},
|
|
293
|
+
system: {
|
|
294
|
+
short: "Systemverwaltet",
|
|
295
|
+
title: "Von der Plattform verwaltet",
|
|
296
|
+
body: "Zeilen werden automatisch erstellt, wenn Aktionen auf dem Quelldatensatz ausgeführt werden. Die Liste ist eine schreibgeschützte Überwachungsansicht – Aktionen auf Zeilenebene (Genehmigen, Zurückrufen, Erneut senden, …) befinden sich an jeder Zeile.",
|
|
297
|
+
},
|
|
298
|
+
appendOnly: {
|
|
299
|
+
short: "Schreibgeschützt · Audit-Log",
|
|
300
|
+
title: "Schreibgeschützter Verlauf",
|
|
301
|
+
body: "Unveränderliches Audit-Log. Zeilen können in der UI nicht erstellt, bearbeitet oder gelöscht werden – die Plattform schreibt sie bei Ereignissen. Nutzen Sie Export für Compliance-Prüfungen.",
|
|
302
|
+
},
|
|
303
|
+
betterAuth: {
|
|
304
|
+
short: "Identität",
|
|
305
|
+
title: "Vom Identitätsanbieter verwaltet",
|
|
306
|
+
body: "Das Schema dieses Objekts gehört {{provider}}. Direkte Änderungen umgehen Passwort-Hashing, Sitzungsvalidierung, Zwei-Faktor-Prüfungen und Audit-Hooks. Verwalten Sie diese Datensätze über die Anmelde-, Einladungs- und Sicherheitsabläufe Ihres Authentifizierungsanbieters.",
|
|
307
|
+
},
|
|
283
308
|
},
|
|
284
309
|
kanban: {
|
|
285
310
|
addCard: "Karte hinzufügen",
|
|
@@ -1222,6 +1247,43 @@ const de = {
|
|
|
1222
1247
|
tenantHostHint: "Sie melden sich bei diesem Arbeitsbereich an",
|
|
1223
1248
|
},
|
|
1224
1249
|
},
|
|
1250
|
+
profile: {
|
|
1251
|
+
title: "Profil",
|
|
1252
|
+
subtitle: "Verwalten Sie Ihre Kontoeinstellungen",
|
|
1253
|
+
saving: "Speichern…",
|
|
1254
|
+
avatar: {
|
|
1255
|
+
upload: "Hochladen",
|
|
1256
|
+
replace: "Ersetzen",
|
|
1257
|
+
remove: "Entfernen",
|
|
1258
|
+
},
|
|
1259
|
+
info: {
|
|
1260
|
+
title: "Persönliche Informationen",
|
|
1261
|
+
description: "Aktualisieren Sie Ihren Namen und sehen Sie Ihre Kontodetails ein",
|
|
1262
|
+
saved: "Profil erfolgreich aktualisiert.",
|
|
1263
|
+
name: "Name",
|
|
1264
|
+
email: "E-Mail",
|
|
1265
|
+
emailImmutable: "Die E-Mail-Adresse kann nicht geändert werden.",
|
|
1266
|
+
role: "Rolle",
|
|
1267
|
+
save: "Änderungen speichern",
|
|
1268
|
+
},
|
|
1269
|
+
password: {
|
|
1270
|
+
changeTitle: "Passwort ändern",
|
|
1271
|
+
setTitle: "Lokales Passwort festlegen",
|
|
1272
|
+
changeDescription: "Aktualisieren Sie das Passwort, mit dem Sie sich in dieser Umgebung anmelden.",
|
|
1273
|
+
setDescription: "Sie haben sich per Single Sign-On angemeldet. Legen Sie ein lokales Passwort fest, um sich in dieser Umgebung auch mit E-Mail und Passwort anmelden zu können.",
|
|
1274
|
+
current: "Aktuelles Passwort",
|
|
1275
|
+
new: "Neues Passwort",
|
|
1276
|
+
password: "Passwort",
|
|
1277
|
+
confirm: "Passwort bestätigen",
|
|
1278
|
+
tooShort: "Das Passwort muss mindestens 8 Zeichen lang sein",
|
|
1279
|
+
mismatch: "Die Passwörter stimmen nicht überein",
|
|
1280
|
+
enterCurrent: "Geben Sie Ihr aktuelles Passwort ein",
|
|
1281
|
+
changed: "Passwort geändert.",
|
|
1282
|
+
localSet: "Lokales Passwort festgelegt. Sie können sich in dieser Umgebung jetzt auch mit E-Mail und Passwort anmelden.",
|
|
1283
|
+
changeAction: "Passwort ändern",
|
|
1284
|
+
setAction: "Passwort festlegen",
|
|
1285
|
+
},
|
|
1286
|
+
},
|
|
1225
1287
|
errors: {
|
|
1226
1288
|
networkError: "Netzwerkfehler. Bitte überprüfen Sie Ihre Verbindung.",
|
|
1227
1289
|
serverError: "Serverfehler. Bitte versuchen Sie es später erneut.",
|
package/dist/locales/en.d.ts
CHANGED
|
@@ -351,6 +351,28 @@ declare const en: {
|
|
|
351
351
|
readonly inlineEditLabel: "Edit records inline (click a cell to edit)";
|
|
352
352
|
readonly recordEditingTitle: "Record editing";
|
|
353
353
|
};
|
|
354
|
+
readonly managedByBadge: {
|
|
355
|
+
readonly config: {
|
|
356
|
+
readonly short: "Admin config";
|
|
357
|
+
readonly title: "Administrator configuration";
|
|
358
|
+
readonly body: "These rows define how the platform behaves at runtime. Author them here; the runtime data they produce lives in a separate table.";
|
|
359
|
+
};
|
|
360
|
+
readonly system: {
|
|
361
|
+
readonly short: "System-managed";
|
|
362
|
+
readonly title: "Managed by the platform";
|
|
363
|
+
readonly body: "Rows here are created automatically when actions run on the source record. The list below is a read-only monitoring surface — row-level actions (Approve, Recall, Resend, …) live on each row.";
|
|
364
|
+
};
|
|
365
|
+
readonly appendOnly: {
|
|
366
|
+
readonly short: "Read-only · Audit log";
|
|
367
|
+
readonly title: "Read-only historical record";
|
|
368
|
+
readonly body: "Immutable audit log. Rows cannot be created, edited, or deleted from the UI — they're written by the platform when events occur. Use Export to download for compliance review.";
|
|
369
|
+
};
|
|
370
|
+
readonly betterAuth: {
|
|
371
|
+
readonly short: "Identity";
|
|
372
|
+
readonly title: "Managed by the identity provider";
|
|
373
|
+
readonly body: "This object's schema is owned by {{provider}}. Direct edits bypass password hashing, session validation, two-factor checks, and audit hooks. Manage these records through your authentication provider's sign-in, invitation, and security flows instead.";
|
|
374
|
+
};
|
|
375
|
+
};
|
|
354
376
|
readonly kanban: {
|
|
355
377
|
readonly addCard: "Add card";
|
|
356
378
|
readonly addColumn: "Add column";
|
|
@@ -410,7 +432,7 @@ declare const en: {
|
|
|
410
432
|
readonly row: {
|
|
411
433
|
readonly expand: "Expand";
|
|
412
434
|
readonly collapse: "Collapse";
|
|
413
|
-
readonly
|
|
435
|
+
readonly open: "Open details";
|
|
414
436
|
};
|
|
415
437
|
readonly aria: {
|
|
416
438
|
readonly taskList: "Task list";
|
|
@@ -426,6 +448,25 @@ declare const en: {
|
|
|
426
448
|
readonly addSuccessor: "Add successor…";
|
|
427
449
|
readonly removeDependency: "Remove dependency";
|
|
428
450
|
readonly noCandidates: "No available tasks";
|
|
451
|
+
readonly searchTasks: "Search tasks…";
|
|
452
|
+
readonly qrcode: "Mobile QR code";
|
|
453
|
+
};
|
|
454
|
+
readonly qr: {
|
|
455
|
+
readonly title: "Open on mobile";
|
|
456
|
+
readonly hint: "Scan with a phone to open the details";
|
|
457
|
+
readonly copy: "Copy link";
|
|
458
|
+
readonly copied: "Copied";
|
|
459
|
+
readonly close: "Close";
|
|
460
|
+
};
|
|
461
|
+
readonly delete: {
|
|
462
|
+
readonly title: "Delete this task?";
|
|
463
|
+
readonly body: "\"{{title}}\" will be permanently removed. This action cannot be undone.";
|
|
464
|
+
readonly cancel: "Cancel";
|
|
465
|
+
readonly confirm: "Delete";
|
|
466
|
+
readonly deleting: "Deleting…";
|
|
467
|
+
};
|
|
468
|
+
readonly drawer: {
|
|
469
|
+
readonly fallbackTitle: "Task Details";
|
|
429
470
|
};
|
|
430
471
|
readonly linkType: {
|
|
431
472
|
readonly fs: "Finish → Start";
|
|
@@ -447,6 +488,8 @@ declare const en: {
|
|
|
447
488
|
};
|
|
448
489
|
readonly readOnly: "Read-only";
|
|
449
490
|
readonly readOnlyHint: "Editing is disabled for this view.";
|
|
491
|
+
readonly lockedHint: "No edit permission";
|
|
492
|
+
readonly writeFailed: "Save failed — the change was rolled back";
|
|
450
493
|
};
|
|
451
494
|
readonly view: {
|
|
452
495
|
readonly editViewConfig: "Edit view config";
|
|
@@ -1199,6 +1242,7 @@ declare const en: {
|
|
|
1199
1242
|
readonly seedWarn: "Published, but some sample data failed to load.";
|
|
1200
1243
|
readonly openBuiltApp: "Open app";
|
|
1201
1244
|
readonly previewDraft: "Preview";
|
|
1245
|
+
readonly previewApp: "Preview app";
|
|
1202
1246
|
readonly resizeSplit: "Resize chat and preview";
|
|
1203
1247
|
readonly hideChats: "Hide chats";
|
|
1204
1248
|
readonly showChats: "Show chats";
|
|
@@ -1507,6 +1551,7 @@ declare const en: {
|
|
|
1507
1551
|
readonly errors: {
|
|
1508
1552
|
readonly invalidCredentials: "Invalid email or password. Please try again.";
|
|
1509
1553
|
readonly emailNotVerified: "Please verify your email address before signing in.";
|
|
1554
|
+
readonly oauthCallbackFailed: "Single sign-on could not be completed — the sign-in link expired or was already used. Please try again.";
|
|
1510
1555
|
};
|
|
1511
1556
|
};
|
|
1512
1557
|
readonly register: {
|
|
@@ -1631,6 +1676,43 @@ declare const en: {
|
|
|
1631
1676
|
readonly tenantHostHint: "You are signing in to this workspace";
|
|
1632
1677
|
};
|
|
1633
1678
|
};
|
|
1679
|
+
readonly profile: {
|
|
1680
|
+
readonly title: "Profile";
|
|
1681
|
+
readonly subtitle: "Manage your account settings";
|
|
1682
|
+
readonly saving: "Saving…";
|
|
1683
|
+
readonly avatar: {
|
|
1684
|
+
readonly upload: "Upload";
|
|
1685
|
+
readonly replace: "Replace";
|
|
1686
|
+
readonly remove: "Remove";
|
|
1687
|
+
};
|
|
1688
|
+
readonly info: {
|
|
1689
|
+
readonly title: "Personal Information";
|
|
1690
|
+
readonly description: "Update your name and view account details";
|
|
1691
|
+
readonly saved: "Profile updated successfully.";
|
|
1692
|
+
readonly name: "Name";
|
|
1693
|
+
readonly email: "Email";
|
|
1694
|
+
readonly emailImmutable: "Email cannot be changed.";
|
|
1695
|
+
readonly role: "Role";
|
|
1696
|
+
readonly save: "Save Changes";
|
|
1697
|
+
};
|
|
1698
|
+
readonly password: {
|
|
1699
|
+
readonly changeTitle: "Change Password";
|
|
1700
|
+
readonly setTitle: "Set Local Password";
|
|
1701
|
+
readonly changeDescription: "Update the password you use to sign in to this environment.";
|
|
1702
|
+
readonly setDescription: "You signed in via single sign-on. Set a local password to also sign in with email and password on this environment.";
|
|
1703
|
+
readonly current: "Current password";
|
|
1704
|
+
readonly new: "New password";
|
|
1705
|
+
readonly password: "Password";
|
|
1706
|
+
readonly confirm: "Confirm password";
|
|
1707
|
+
readonly tooShort: "Password must be at least 8 characters";
|
|
1708
|
+
readonly mismatch: "Passwords do not match";
|
|
1709
|
+
readonly enterCurrent: "Enter your current password";
|
|
1710
|
+
readonly changed: "Password changed.";
|
|
1711
|
+
readonly localSet: "Local password set. You can now sign in with email and password on this environment.";
|
|
1712
|
+
readonly changeAction: "Change password";
|
|
1713
|
+
readonly setAction: "Set password";
|
|
1714
|
+
};
|
|
1715
|
+
};
|
|
1634
1716
|
readonly errors: {
|
|
1635
1717
|
readonly networkError: "Network error. Please check your connection.";
|
|
1636
1718
|
readonly serverError: "Server error. Please try again later.";
|
|
@@ -1956,6 +2038,8 @@ declare const en: {
|
|
|
1956
2038
|
readonly deleteFailed: "Failed to delete {{label}}";
|
|
1957
2039
|
readonly noRecordId: "No record ID provided";
|
|
1958
2040
|
readonly deleteConfirm: "Are you sure you want to delete this record?";
|
|
2041
|
+
readonly resetPackageSetConfirm: string;
|
|
2042
|
+
readonly resetPackageSetSuccess: "Permission set reset to its shipped baseline";
|
|
1959
2043
|
readonly bulkDeleteSuccess: "Deleted {{count}} {{label}} records";
|
|
1960
2044
|
readonly bulkDeletePartial: "{{succeeded}} deleted, {{failed}} failed";
|
|
1961
2045
|
};
|
package/dist/locales/en.js
CHANGED
|
@@ -351,6 +351,28 @@ const en = {
|
|
|
351
351
|
inlineEditLabel: 'Edit records inline (click a cell to edit)',
|
|
352
352
|
recordEditingTitle: 'Record editing',
|
|
353
353
|
},
|
|
354
|
+
managedByBadge: {
|
|
355
|
+
config: {
|
|
356
|
+
short: 'Admin config',
|
|
357
|
+
title: 'Administrator configuration',
|
|
358
|
+
body: 'These rows define how the platform behaves at runtime. Author them here; the runtime data they produce lives in a separate table.',
|
|
359
|
+
},
|
|
360
|
+
system: {
|
|
361
|
+
short: 'System-managed',
|
|
362
|
+
title: 'Managed by the platform',
|
|
363
|
+
body: 'Rows here are created automatically when actions run on the source record. The list below is a read-only monitoring surface — row-level actions (Approve, Recall, Resend, …) live on each row.',
|
|
364
|
+
},
|
|
365
|
+
appendOnly: {
|
|
366
|
+
short: 'Read-only · Audit log',
|
|
367
|
+
title: 'Read-only historical record',
|
|
368
|
+
body: "Immutable audit log. Rows cannot be created, edited, or deleted from the UI — they're written by the platform when events occur. Use Export to download for compliance review.",
|
|
369
|
+
},
|
|
370
|
+
betterAuth: {
|
|
371
|
+
short: 'Identity',
|
|
372
|
+
title: 'Managed by the identity provider',
|
|
373
|
+
body: "This object's schema is owned by {{provider}}. Direct edits bypass password hashing, session validation, two-factor checks, and audit hooks. Manage these records through your authentication provider's sign-in, invitation, and security flows instead.",
|
|
374
|
+
},
|
|
375
|
+
},
|
|
354
376
|
kanban: {
|
|
355
377
|
addCard: 'Add card',
|
|
356
378
|
addColumn: 'Add column',
|
|
@@ -410,7 +432,7 @@ const en = {
|
|
|
410
432
|
row: {
|
|
411
433
|
expand: 'Expand',
|
|
412
434
|
collapse: 'Collapse',
|
|
413
|
-
|
|
435
|
+
open: 'Open details',
|
|
414
436
|
},
|
|
415
437
|
aria: {
|
|
416
438
|
taskList: 'Task list',
|
|
@@ -426,6 +448,25 @@ const en = {
|
|
|
426
448
|
addSuccessor: 'Add successor…',
|
|
427
449
|
removeDependency: 'Remove dependency',
|
|
428
450
|
noCandidates: 'No available tasks',
|
|
451
|
+
searchTasks: 'Search tasks…',
|
|
452
|
+
qrcode: 'Mobile QR code',
|
|
453
|
+
},
|
|
454
|
+
qr: {
|
|
455
|
+
title: 'Open on mobile',
|
|
456
|
+
hint: 'Scan with a phone to open the details',
|
|
457
|
+
copy: 'Copy link',
|
|
458
|
+
copied: 'Copied',
|
|
459
|
+
close: 'Close',
|
|
460
|
+
},
|
|
461
|
+
delete: {
|
|
462
|
+
title: 'Delete this task?',
|
|
463
|
+
body: '"{{title}}" will be permanently removed. This action cannot be undone.',
|
|
464
|
+
cancel: 'Cancel',
|
|
465
|
+
confirm: 'Delete',
|
|
466
|
+
deleting: 'Deleting…',
|
|
467
|
+
},
|
|
468
|
+
drawer: {
|
|
469
|
+
fallbackTitle: 'Task Details',
|
|
429
470
|
},
|
|
430
471
|
linkType: {
|
|
431
472
|
fs: 'Finish → Start',
|
|
@@ -447,6 +488,8 @@ const en = {
|
|
|
447
488
|
},
|
|
448
489
|
readOnly: 'Read-only',
|
|
449
490
|
readOnlyHint: 'Editing is disabled for this view.',
|
|
491
|
+
lockedHint: 'No edit permission',
|
|
492
|
+
writeFailed: 'Save failed — the change was rolled back',
|
|
450
493
|
},
|
|
451
494
|
view: {
|
|
452
495
|
editViewConfig: 'Edit view config',
|
|
@@ -1214,6 +1257,7 @@ const en = {
|
|
|
1214
1257
|
seedWarn: 'Published, but some sample data failed to load.',
|
|
1215
1258
|
openBuiltApp: 'Open app',
|
|
1216
1259
|
previewDraft: 'Preview',
|
|
1260
|
+
previewApp: 'Preview app',
|
|
1217
1261
|
resizeSplit: 'Resize chat and preview',
|
|
1218
1262
|
hideChats: 'Hide chats',
|
|
1219
1263
|
showChats: 'Show chats',
|
|
@@ -1523,6 +1567,7 @@ const en = {
|
|
|
1523
1567
|
errors: {
|
|
1524
1568
|
invalidCredentials: 'Invalid email or password. Please try again.',
|
|
1525
1569
|
emailNotVerified: 'Please verify your email address before signing in.',
|
|
1570
|
+
oauthCallbackFailed: 'Single sign-on could not be completed — the sign-in link expired or was already used. Please try again.',
|
|
1526
1571
|
},
|
|
1527
1572
|
},
|
|
1528
1573
|
register: {
|
|
@@ -1647,6 +1692,43 @@ const en = {
|
|
|
1647
1692
|
tenantHostHint: 'You are signing in to this workspace',
|
|
1648
1693
|
},
|
|
1649
1694
|
},
|
|
1695
|
+
profile: {
|
|
1696
|
+
title: 'Profile',
|
|
1697
|
+
subtitle: 'Manage your account settings',
|
|
1698
|
+
saving: 'Saving…',
|
|
1699
|
+
avatar: {
|
|
1700
|
+
upload: 'Upload',
|
|
1701
|
+
replace: 'Replace',
|
|
1702
|
+
remove: 'Remove',
|
|
1703
|
+
},
|
|
1704
|
+
info: {
|
|
1705
|
+
title: 'Personal Information',
|
|
1706
|
+
description: 'Update your name and view account details',
|
|
1707
|
+
saved: 'Profile updated successfully.',
|
|
1708
|
+
name: 'Name',
|
|
1709
|
+
email: 'Email',
|
|
1710
|
+
emailImmutable: 'Email cannot be changed.',
|
|
1711
|
+
role: 'Role',
|
|
1712
|
+
save: 'Save Changes',
|
|
1713
|
+
},
|
|
1714
|
+
password: {
|
|
1715
|
+
changeTitle: 'Change Password',
|
|
1716
|
+
setTitle: 'Set Local Password',
|
|
1717
|
+
changeDescription: 'Update the password you use to sign in to this environment.',
|
|
1718
|
+
setDescription: 'You signed in via single sign-on. Set a local password to also sign in with email and password on this environment.',
|
|
1719
|
+
current: 'Current password',
|
|
1720
|
+
new: 'New password',
|
|
1721
|
+
password: 'Password',
|
|
1722
|
+
confirm: 'Confirm password',
|
|
1723
|
+
tooShort: 'Password must be at least 8 characters',
|
|
1724
|
+
mismatch: 'Passwords do not match',
|
|
1725
|
+
enterCurrent: 'Enter your current password',
|
|
1726
|
+
changed: 'Password changed.',
|
|
1727
|
+
localSet: 'Local password set. You can now sign in with email and password on this environment.',
|
|
1728
|
+
changeAction: 'Change password',
|
|
1729
|
+
setAction: 'Set password',
|
|
1730
|
+
},
|
|
1731
|
+
},
|
|
1650
1732
|
errors: {
|
|
1651
1733
|
networkError: 'Network error. Please check your connection.',
|
|
1652
1734
|
serverError: 'Server error. Please try again later.',
|
|
@@ -1976,6 +2058,9 @@ const en = {
|
|
|
1976
2058
|
deleteFailed: 'Failed to delete {{label}}',
|
|
1977
2059
|
noRecordId: 'No record ID provided',
|
|
1978
2060
|
deleteConfirm: 'Are you sure you want to delete this record?',
|
|
2061
|
+
resetPackageSetConfirm: 'This permission set ships with an installed package and cannot be removed. ' +
|
|
2062
|
+
'Deleting resets it to the shipped baseline and discards your environment customization. Continue?',
|
|
2063
|
+
resetPackageSetSuccess: 'Permission set reset to its shipped baseline',
|
|
1979
2064
|
bulkDeleteSuccess: 'Deleted {{count}} {{label}} records',
|
|
1980
2065
|
bulkDeletePartial: '{{succeeded}} deleted, {{failed}} failed',
|
|
1981
2066
|
},
|