@object-ui/i18n 17.6.0 → 18.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.
Files changed (62) hide show
  1. package/CHANGELOG.md +5408 -0
  2. package/README.md +255 -13
  3. package/dist/LocalizationContext.d.ts +32 -9
  4. package/dist/LocalizationContext.js +32 -10
  5. package/dist/builtinAggregateLabels.d.ts +40 -0
  6. package/dist/builtinAggregateLabels.js +23 -0
  7. package/dist/currency.d.ts +27 -3
  8. package/dist/currency.js +28 -4
  9. package/dist/fallbackInterpolation.d.ts +79 -0
  10. package/dist/fallbackInterpolation.js +124 -0
  11. package/dist/i18n.d.ts +27 -1
  12. package/dist/i18n.js +99 -16
  13. package/dist/index.d.ts +8 -13
  14. package/dist/index.js +45 -17
  15. package/dist/locales/ar.d.ts +1504 -188
  16. package/dist/locales/ar.js +1711 -281
  17. package/dist/locales/de.d.ts +1080 -188
  18. package/dist/locales/de.js +1248 -261
  19. package/dist/locales/en.d.ts +1141 -249
  20. package/dist/locales/en.js +1714 -295
  21. package/dist/locales/es.d.ts +1186 -188
  22. package/dist/locales/es.js +1350 -255
  23. package/dist/locales/fr.d.ts +1186 -188
  24. package/dist/locales/fr.js +1351 -258
  25. package/dist/locales/index.d.ts +11940 -2033
  26. package/dist/locales/index.js +48 -9
  27. package/dist/locales/ja.d.ts +1080 -188
  28. package/dist/locales/ja.js +1240 -254
  29. package/dist/locales/ko.d.ts +1080 -188
  30. package/dist/locales/ko.js +1244 -258
  31. package/dist/locales/pt.d.ts +1186 -188
  32. package/dist/locales/pt.js +1350 -255
  33. package/dist/locales/registry.d.ts +102 -0
  34. package/dist/locales/registry.js +220 -0
  35. package/dist/locales/rtl.d.ts +24 -0
  36. package/dist/locales/rtl.js +26 -0
  37. package/dist/locales/ru.d.ts +1292 -188
  38. package/dist/locales/ru.js +1479 -272
  39. package/dist/locales/zh.d.ts +1144 -252
  40. package/dist/locales/zh.js +1245 -259
  41. package/dist/pickLocalized.d.ts +30 -0
  42. package/dist/pickLocalized.js +39 -0
  43. package/dist/provider.d.ts +101 -12
  44. package/dist/provider.js +335 -50
  45. package/dist/translateFn.d.ts +29 -0
  46. package/dist/translateFn.js +8 -0
  47. package/dist/useDisplayLocale.d.ts +11 -0
  48. package/dist/useDisplayLocale.js +11 -0
  49. package/dist/useObjectLabel.d.ts +143 -100
  50. package/dist/useObjectLabel.js +129 -82
  51. package/dist/useSafeTranslation.js +40 -42
  52. package/dist/utils/first-day-of-week.d.ts +71 -0
  53. package/dist/utils/first-day-of-week.js +61 -0
  54. package/dist/utils/formatting.d.ts +23 -1
  55. package/dist/utils/formatting.js +34 -5
  56. package/dist/utils/index.d.ts +1 -0
  57. package/dist/utils/index.js +1 -0
  58. package/dist/utils/spec-formatters.d.ts +13 -23
  59. package/dist/utils/spec-formatters.js +41 -2
  60. package/dist/utils/spec-translations.d.ts +16 -3
  61. package/dist/utils/spec-translations.js +52 -13
  62. package/package.json +12 -6
@@ -13,16 +13,19 @@ const ja = {
13
13
  notRestored: 'サーバーはリクエストを受け付けましたが、管理者セッションを復元しませんでした。まだ {{user}} として操作しています。サインアウトして再度サインインして終了してください。',
14
14
  },
15
15
  },
16
- // objectui#2600 B5 — capability picker scope group headers (labels come from the sys_capability registry).
16
+ // objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
17
17
  capability: {
18
18
  label: {
19
19
  manage_users: "ユーザー管理",
20
20
  manage_org_users: "組織ユーザーの管理",
21
21
  manage_metadata: "メタデータ管理",
22
+ manage_mailboxes: "メールボックスの管理",
22
23
  manage_platform_settings: "プラットフォーム設定の管理",
23
24
  setup_access: "設定へのアクセス",
24
25
  setup_write: "設定の書き込み",
25
26
  studio_access: "Studio へのアクセス",
27
+ manage_sharing: "共有の管理",
28
+ view_all_audit_log: "すべての監査ログを表示",
26
29
  },
27
30
  group: {
28
31
  platform: 'プラットフォーム',
@@ -30,26 +33,6 @@ const ja = {
30
33
  other: 'その他',
31
34
  },
32
35
  },
33
- // objectui#3546 slice six — PermissionFacetLink の授権ファセット要約。
34
- // 数量ラベルは appDesigner.objectManager.fieldCount と同じ「{{count}} + 単位」形。
35
- // 日本語に単複はないため `_one` は基底キーと同値(意図的)。
36
- perm: {
37
- facet: {
38
- none: "なし",
39
- more: "+{{count}} 件",
40
- objects: "{{count}} オブジェクト",
41
- objects_one: "{{count}} オブジェクト",
42
- fields: "{{count}} フィールドルール",
43
- fields_one: "{{count}} フィールドルール",
44
- rls: "{{count}} RLS ポリシー",
45
- rls_one: "{{count}} RLS ポリシー",
46
- tabs: "{{count}} タブルール",
47
- tabs_one: "{{count}} タブルール",
48
- adminScope: "委任管理を設定済み",
49
- designInStudio: "Studio でデザイン →",
50
- designInStudioHint: "Studio でデザイン",
51
- },
52
- },
53
36
  lookup: {
54
37
  recentlyUsed: '最近使用したもの',
55
38
  allResults: 'すべての結果',
@@ -63,7 +46,8 @@ const ja = {
63
46
  selectFirst: 'まず {{fields}} を選択してください',
64
47
  selectRecord: 'レコードを選択',
65
48
  recordCount: '{{count}} 件のレコード',
66
- recordCountOne: '1 件のレコード',
49
+ recordCount_one: '{{count}} 件のレコード',
50
+ recordCount_other: '{{count}} 件のレコード',
67
51
  pageOf: '{{total}} ページ中 {{current}} ページ',
68
52
  filters: 'フィルター',
69
53
  clear: 'クリア',
@@ -116,14 +100,26 @@ const ja = {
116
100
  closePanel: "パネルを閉じる",
117
101
  resizeDrawer: "パネル幅を調整",
118
102
  itemCount: "{{count}} 件",
119
- itemCountOne: "{{count}} 件",
103
+ itemCount_one: "{{count}} 件",
104
+ itemCount_other: "{{count}} 件",
120
105
  toggleSidebar: "サイドバーを切り替え",
106
+ breadcrumb: "パンくずリスト",
121
107
  package: "パッケージ",
122
108
  done: "完了",
123
109
  editInStudio: "Studio で編集",
124
110
  record: "レコード",
125
111
  retry: "再試行",
126
112
  printDialogHint: "ブラウザーの印刷ダイアログを開きます(PDF エクスポートではありません)",
113
+ // The non-grid row ceiling's footnote (objectui#7210). Two keys because
114
+ // there are two conditions: a reported `total` states the fact with BOTH
115
+ // numbers, a missing one cannot name how many. Kept terse deliberately —
116
+ // this copy is eagerly loaded, and since objectui#7399 these bytes are
117
+ // budgeted by the `i18n-locales` chunk, not `framework`. ⛔ That ceiling's
118
+ // headroom is deliberately NOT restated here — it moves on every
119
+ // re-baseline, and the figure that was here went stale.
120
+ // `pnpm check:eager-closure` prints it.
121
+ rowCeilingNote: "{{total}} 件中、最初の {{shown}} 件を表示しています。フィルターを絞り込んでください。",
122
+ rowCeilingNoteUnknownTotal: "最初の {{shown}} 件を表示しています。フィルターを絞り込んでください。",
127
123
  },
128
124
  actions: {
129
125
  decisionOutput: {
@@ -135,6 +131,15 @@ const ja = {
135
131
  acknowledge: '保存しました',
136
132
  copyAll: 'すべてコピー',
137
133
  },
134
+ notAvailableHere: '「{{action}}」は現在のページでは利用できません。',
135
+ notAvailableForRecord: 'このレコードでは利用できません',
136
+ completedSuccessfully: '操作が正常に完了しました',
137
+ failed: '操作に失敗しました',
138
+ parallelFailed: '1 つ以上の並列操作が失敗しました',
139
+ undo: '元に戻す',
140
+ undone: '変更を元に戻しました',
141
+ undoneOperation: '元に戻す: {{description}}',
142
+ redoneOperation: 'やり直す: {{description}}',
138
143
  },
139
144
  validation: {
140
145
  required: "{{field}}は必須です",
@@ -152,19 +157,47 @@ const ja = {
152
157
  },
153
158
  form: {
154
159
  noPermissionToSave: "このレコードを保存する権限がありません。",
160
+ noPermissionToCreate: "{{object}}を作成する権限がありません。フィールドは読み取り専用です。",
161
+ noPermissionToEdit: "{{object}}を編集する権限がありません。フィールドは読み取り専用です。",
155
162
  submitFailed: "保存できませんでした。もう一度お試しください。",
163
+ uploadInFlight: "アップロードが完了してから保存してください。",
164
+ clearedOnHide: "現在の値に該当しなくなった項目をクリアしました: {{fields}}",
165
+ visibleWhenFaulted: "送信できません: {{fields}} の visibleWhen ルールを評価できませんでした。このフォームを送信するには、先にルールを修正する必要があります。",
156
166
  discardTitle: "変更を破棄しますか?",
157
167
  discardMessage: "保存されていない変更があります。このままフォームを閉じると編集内容は失われます。",
158
168
  // objectui#4024 — the create/edit dialog's `sr-only` accessible
159
169
  // description, used when the form declares no `description` of its own.
160
170
  dialogDescriptionFallback: "フォームの項目を入力してから、送信またはキャンセルしてください。",
171
+ deniedDescription: "このフィールドを編集する権限がありません。",
172
+ serverDefaultHint: "保存時に自動で設定されます。",
173
+ maxFileSize: "最大サイズ: {{size}}",
174
+ masterDetail: {
175
+ loadingColumns: "列を読み込み中…",
176
+ subtotal: "小計",
177
+ tax: "税({{rate}}%)",
178
+ total: "合計",
179
+ lineItem: "明細行",
180
+ rowTitle: "{{title}} — {{row}} 行目",
181
+ applyRow: "適用",
182
+ editorDescription: "レコードとその明細行を入力してから、保存してください。",
183
+ noChildObject: "このコレクションには子オブジェクトが設定されていません。{{property}} に、行を一覧表示するオブジェクトを設定してください。",
184
+ schemaUnavailable: "{{object}} のスキーマを読み込めなかったため、このコレクションには表示する列がありません。オブジェクトが存在し読み取り可能であることを確認してから、再読み込みしてください。",
185
+ noRelationshipField: "{{object}} が {{parent}} にどのようにリンクしているかを特定できませんでした。親を参照する lookup または master_detail フィールドがありません。このコレクションの {{property}} に、親レコードを保持するフィールドを設定してください。",
186
+ },
187
+ lineItems: {
188
+ title: "明細行",
189
+ saveRecordFirst: "明細行を追加するには、先にレコードを保存してください。",
190
+ notLoaded: "このレコードの明細行は読み込まれていません。",
191
+ loadFailed: "明細行の読み込みに失敗しました",
192
+ saveFailed: "明細行の保存に失敗しました",
193
+ noChildObject: "このパネルには子オブジェクトが設定されていません。{{property}} に、行を一覧表示するオブジェクトを設定してください。",
194
+ },
161
195
  keepEditing: "編集を続ける",
162
196
  discard: "破棄",
163
197
  conflictTitle: "保存の競合",
164
198
  conflictMessage: "編集中にこのレコードが他のユーザーによって変更されました。上書きすると、相手の変更はあなたの内容で置き換えられます。",
165
199
  conflictLatestVersion: "相手の保存時刻: {{time}}",
166
200
  conflictOverwrite: "上書き",
167
- addItem: "項目を追加",
168
201
  removeItem: "項目を削除",
169
202
  fieldRequired: "この項目は必須です",
170
203
  invalidFormat: "形式が正しくありません",
@@ -182,6 +215,12 @@ const ja = {
182
215
  createSuccess: "{{object}}が作成されました",
183
216
  updateSuccess: "{{object}}が更新されました",
184
217
  deleteSuccess: "{{object}}が削除されました",
218
+ created: "作成しました",
219
+ saved: "保存しました",
220
+ savedNamed: "{{title}}を保存しました",
221
+ submitted: "送信しました",
222
+ errorLoading: "フォームの読み込みエラー",
223
+ navigateRefused: "このフォームに宣言された `navigateOnSuccess` の遷移先が拒否されたため、遷移は行われませんでした。",
185
224
  fullscreen: {
186
225
  title: "テキストを編集",
187
226
  description: "テキスト全体を編集してから、変更を保存またはキャンセルしてください。",
@@ -200,12 +239,18 @@ const ja = {
200
239
  remove: "画像 {{index}} を削除",
201
240
  enlarge: "{{name}} を拡大",
202
241
  preview: "画像プレビュー",
242
+ cropPreview: "画像の切り抜きプレビュー",
203
243
  previous: "前の画像",
204
244
  next: "次の画像",
205
245
  counter: "{{current}} / {{total}}",
206
246
  },
247
+ percent: {
248
+ slider: "パーセンテージ",
249
+ },
207
250
  relativeDate: {
208
251
  overdue: "期限超過 {{count}}日",
252
+ overdue_one: "期限超過 {{count}}日",
253
+ overdue_other: "期限超過 {{count}}日",
209
254
  },
210
255
  file: {
211
256
  dragDropHere: 'ファイルをここにドラッグ&ドロップ',
@@ -222,6 +267,9 @@ const ja = {
222
267
  remove: '{{name}} を削除',
223
268
  exceedsMaxSize: '「{{name}}」は最大サイズ({{max}} MB)を超えています',
224
269
  uploadFailed: '「{{name}}」のアップロードに失敗しました:{{error}}',
270
+ uploadIncomplete: '「{{name}}」のアップロードが完了しませんでした:ファイル ID が返されなかったため、何も保存されていません',
271
+ restricted: '制限付きファイル',
272
+ restrictedHint: 'このファイルの詳細を表示する権限がありません',
225
273
  },
226
274
  richText: {
227
275
  format: "フォーマット: {{format}}",
@@ -238,6 +286,10 @@ const ja = {
238
286
  search: "オブジェクトを検索…",
239
287
  empty: "オブジェクトが見つかりません",
240
288
  },
289
+ registryRef: {
290
+ loadFailed: "一覧を読み込めませんでした。名前を直接入力できます。",
291
+ notFound: "{{name}}(見つかりません)",
292
+ },
241
293
  recipient: {
242
294
  selectTypeFirst: "先に受信者タイプを選択してください。",
243
295
  loading: "読み込み中…",
@@ -249,6 +301,9 @@ const ja = {
249
301
  selectBusinessUnit: "事業単位を選択",
250
302
  selectPosition: "役職を選択",
251
303
  selectUnitAndSubordinates: "事業単位を選択",
304
+ selectField: "ユーザーフィールドを選択",
305
+ noUserFields: "このオブジェクトにユーザーフィールドはありません",
306
+ fieldNotUserTyped: "{{name}} — ユーザーフィールドではありません",
252
307
  },
253
308
  filterCondition: {
254
309
  selectObjectFirst: "先にオブジェクトを選択してください。",
@@ -259,6 +314,33 @@ const ja = {
259
314
  editAsJson: "JSON で編集",
260
315
  useVisualBuilder: "ビジュアルビルダーを使用",
261
316
  },
317
+ object: {
318
+ invalidJson: "JSON が不正です",
319
+ },
320
+ location: {
321
+ refusedFormat: "保存されていません: 緯度, 経度 の組で入力してください(例: 30.2741, 120.1551)。",
322
+ refusedRange: "保存されていません: {{detail}}",
323
+ latitude: "緯度",
324
+ longitude: "経度",
325
+ refusedResidueOne: "保存されていません: {{name}}「{{text}}」は数値ではありません。通常の小数で入力してください(例: 30.2741, 120.1551)。",
326
+ refusedResidue: "保存されていません: {{name}}「{{text}}」と{{otherName}}「{{otherText}}」は数値ではありません。通常の小数で入力してください(例: 30.2741, 120.1551)。",
327
+ },
328
+ date: {
329
+ impossibleDay: "保存されている値「{{value}}」は実在しない日付です。置き換えるには日付を選択してください。",
330
+ },
331
+ dateTime: {
332
+ impossibleDay: "保存されている値「{{value}}」は実在しない日付です。置き換えるには日付と時刻を選択してください。",
333
+ },
334
+ datePicker: {
335
+ today: "今日",
336
+ tomorrow: "明日",
337
+ clear: "日付をクリア",
338
+ openCalendar: "カレンダーを開く",
339
+ invalid: "保存されていません:「{{value}}」は日付ではありません。{{format}} の形式で入力するか、カレンダーから選択してください。",
340
+ },
341
+ number: {
342
+ badInput: "保存されていません: このボックスのテキストは数値ではありません。通常の小数で入力してください(例: {{example}})。",
343
+ },
262
344
  tags: {
263
345
  placeholder: "入力してEnterキーで追加…",
264
346
  },
@@ -270,10 +352,25 @@ const ja = {
270
352
  postalCode: "郵便番号",
271
353
  country: "国",
272
354
  },
355
+ boolean: {
356
+ offBadge: "{{label}} — オフ",
357
+ completed: "完了",
358
+ notCompleted: "未完了",
359
+ },
273
360
  textarea: {
274
361
  characterCount: "文字数: {{max}} 文字中 {{count}} 文字",
275
362
  charactersRemaining: "残り {{count}} 文字",
276
363
  },
364
+ grid: {
365
+ addLine: "行を追加",
366
+ noItems: "項目なし",
367
+ noItemsAddHint: "まだ項目がありません。「{{label}}」をクリックして開始してください。",
368
+ optionalColumns: "オプションの列",
369
+ computed: "自動計算",
370
+ openRow: "行を開く",
371
+ duplicateRow: "行を複製",
372
+ removeRow: "行を削除",
373
+ },
277
374
  },
278
375
  table: {
279
376
  rowsPerPage: "1ページの行数",
@@ -289,10 +386,15 @@ const ja = {
289
386
  selectAllRows: "すべての行を選択",
290
387
  expandRow: "行を展開",
291
388
  collapseRow: "行を折りたたむ",
389
+ rowActions: "行のアクション",
292
390
  hideColumn: "列を非表示",
293
391
  freezeColumn: "列を固定",
294
392
  unfreezeColumn: "列の固定を解除",
295
393
  pageInfo: "{{total}}ページ中{{current}}ページ",
394
+ firstPage: "最初のページ",
395
+ previousPage: "前のページ",
396
+ nextPage: "次のページ",
397
+ lastPage: "最後のページ",
296
398
  totalRecords: "合計{{count}}件",
297
399
  noResults: "結果が見つかりません",
298
400
  noResultsHint: "フィルターや検索クエリを調整してみてください。",
@@ -302,23 +404,39 @@ const ja = {
302
404
  open: "開く",
303
405
  search: "検索…",
304
406
  modified: "{{count}} 行が変更されました",
407
+ modified_one: "{{count}} 行が変更されました",
408
+ modified_other: "{{count}} 行が変更されました",
409
+ saved: "{{count}} 行を保存しました",
410
+ saved_one: "{{count}} 行を保存しました",
411
+ saved_other: "{{count}} 行を保存しました",
305
412
  saveFailed: '保存に失敗しました',
306
413
  selected: "{{count}} 件選択中",
414
+ selected_one: "{{count}} 件選択中",
415
+ selected_other: "{{count}} 件選択中",
307
416
  edit: "編集",
308
417
  delete: "削除",
309
418
  },
310
419
  grid: {
311
420
  bulkSelected: "{{count}} 件を選択中",
421
+ bulkSelected_one: "{{count}} 件を選択中",
422
+ bulkSelected_other: "{{count}} 件を選択中",
312
423
  bulkSelectedAllMatches: "{{count}} 件を選択中(該当すべて)",
313
424
  bulkClear: "選択解除",
314
425
  bulkAllOnPage: "このページの {{count}} 件がすべて選択されています。",
426
+ bulkAllOnPage_one: "このページの {{count}} 件がすべて選択されています。",
427
+ bulkAllOnPage_other: "このページの {{count}} 件がすべて選択されています。",
315
428
  bulkSelectAllMatching: "該当する {{count}} 件すべてを選択",
316
429
  bulkAllMatchingSelected: "該当する {{count}} 件のレコードがすべて選択されています。",
430
+ bulkActions: "一括操作",
317
431
  bulk: {
318
432
  confirmDefault: "{{count}} 件のレコードに適用されます。",
433
+ confirmDefault_one: "{{count}} 件のレコードに適用されます。",
434
+ confirmDefault_other: "{{count}} 件のレコードに適用されます。",
319
435
  overLimit: "選択件数({{count}})がアクションの上限({{limit}})を超えています。選択を減らしてください。",
320
436
  affectedRecords: "対象レコード({{count}}):",
321
437
  skippedIneligible: "選択したレコードのうち {{count}} 件はこのアクションの対象外のため、スキップされます。",
438
+ skippedIneligible_one: "選択したレコードのうち {{count}} 件はこのアクションの対象外のため、スキップされます。",
439
+ skippedIneligible_other: "選択したレコードのうち {{count}} 件はこのアクションの対象外のため、スキップされます。",
322
440
  rowFallback: "{{index}} 行目",
323
441
  andMore: "… 他 {{count}} 件",
324
442
  processed: "{{count}} / {{total}} 件を処理",
@@ -336,7 +454,6 @@ const ja = {
336
454
  undo: "取り消す",
337
455
  undoing: "取り消し中…",
338
456
  done: "完了",
339
- selectPlaceholder: "選択…",
340
457
  loading: "読み込み中…",
341
458
  },
342
459
  actions: "アクション",
@@ -349,17 +466,27 @@ const ja = {
349
466
  pullToRefresh: "引っ張って更新",
350
467
  refreshing: "更新中…",
351
468
  openRecord: "レコードを開く",
469
+ recordUnavailable: "{{object}} · レコードを表示できません",
352
470
  rowHeight: "行の高さ: {{mode}}",
353
471
  openMenu: "メニューを開く",
354
472
  empty: "空",
355
473
  yes: "はい",
356
474
  no: "いいえ",
357
475
  systemFields: "システム",
476
+ // objectui#10881 — the grouped grid's two refusals: over a data source
477
+ // that cannot answer the group header query, and over rows a host
478
+ // handed in while declaring them one page of more. `queryGroupHeaders`
479
+ // is the member's name and stays untranslated.
480
+ grouping: {
481
+ needsHeaderQuery: "このビューはグループ化されていますが、データソースが queryGroupHeaders を実装していないため、グループの件数を数えられません。レコードを表示するにはグループ化を解除してください。",
482
+ needsWholeRows: "グループ化にはすべてのレコードが必要ですが、このグリッドにはその一部のページしか渡されていないため、グループの件数を数えられません。すべてのレコードを渡すか、queryGroupHeaders を実装したデータソースからグリッドに読み込ませてください。",
483
+ },
358
484
  // objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
359
485
  // `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
360
486
  // pack controls its own separator and word order.
361
487
  summary: {
362
488
  pattern: "{{label}}: {{value}}",
489
+ pagePattern: "{{label}}(このページ): {{value}}",
363
490
  count: "件数",
364
491
  countEmpty: "空欄",
365
492
  countFilled: "入力済み",
@@ -381,10 +508,14 @@ const ja = {
381
508
  },
382
509
  import: {
383
510
  downloadTemplate: "テンプレートをダウンロード",
384
- downloadTemplateHint: "正しい列を備えた CSV を取得します(必須項目には * が付きます)。",
511
+ downloadTemplateHint: "インポートできる列だけを含む Excel ファイルを取得します(必須項目には * が付き、記入方法の説明が付きます)。",
385
512
  templateFileName: "{{object}}-import-template",
513
+ templateDownloadFailed: "テンプレートをダウンロードできませんでした。もう一度お試しください。",
514
+ templateNotPermitted: "このオブジェクトのレコードを作成する権限がないため、インポートテンプレートは利用できません。",
386
515
  autoMatched: "自動マッピング済み",
387
516
  autoMatchedSummary: "{{count}} 列を自動マッピングしました — 下で確認・調整してください。",
517
+ autoMatchedSummary_one: "{{count}} 列を自動マッピングしました — 下で確認・調整してください。",
518
+ autoMatchedSummary_other: "{{count}} 列を自動マッピングしました — 下で確認・調整してください。",
388
519
  confidence: {
389
520
  high: "確度: 高",
390
521
  medium: "確度: 中",
@@ -397,8 +528,14 @@ const ja = {
397
528
  cancelImport: "インポートを中止",
398
529
  importCancelled: "インポートを中止しました",
399
530
  resultsTruncated: "{{total}} 行のうち先頭 {{count}} 行の結果を表示しています。",
531
+ resultsTruncated_one: "{{total}} 行のうち先頭 {{count}} 行の結果を表示しています。",
532
+ resultsTruncated_other: "{{total}} 行のうち先頭 {{count}} 行の結果を表示しています。",
400
533
  createdCount: "{{count}} 件を作成",
534
+ createdCount_one: "{{count}} 件を作成",
535
+ createdCount_other: "{{count}} 件を作成",
401
536
  updatedCount: "{{count}} 件を更新",
537
+ updatedCount_one: "{{count}} 件を更新",
538
+ updatedCount_other: "{{count}} 件を更新",
402
539
  downloadFailed: "失敗した行をダウンロード",
403
540
  options: "インポート設定",
404
541
  writeMode: "既存レコードに一致した行の扱い",
@@ -413,9 +550,6 @@ const ja = {
413
550
  needMatchFields: "照合する項目を 1 つ以上選択してください。",
414
551
  matchOnlyField: "(照合のみ)",
415
552
  optCreateOptions: "未知の選択肢の値を保持する",
416
- optRunAutomations: "自動化とトリガーを実行する",
417
- optTreatHistorical: "過去データとしてインポートする",
418
- optTreatHistoricalHint: "(完了済みレコードをそのまま取り込みます — ステートマシンの検査を省略し、現在時刻を打刻せずに元のタイムスタンプと作成者を保持します)",
419
553
  optSkipBlankKey: "照合値が空の行をスキップする",
420
554
  optBackground: "バックグラウンドでインポートする",
421
555
  optBackgroundHint: "(取り消し可能なジョブとして実行されます)",
@@ -430,6 +564,7 @@ const ja = {
430
564
  invalidBoolean: "「{{value}}」は有効な true/false の値ではありません",
431
565
  invalidNumber: "「{{value}}」は有効な数値ではありません",
432
566
  invalidDate: "「{{value}}」は有効な日付ではありません",
567
+ invalidTime: "「{{value}}」は有効な時刻ではありません",
433
568
  invalidOption: "「{{value}}」は許可された選択肢に含まれていません",
434
569
  requiredValue: "この項目は必須です",
435
570
  matchAmbiguous: "既存の複数レコードに一致します — 一意の値かレコード ID を使用してください",
@@ -446,10 +581,15 @@ const ja = {
446
581
  historyColResult: "結果",
447
582
  historyColTime: "日時",
448
583
  errorCount: "エラー {{count}} 件",
584
+ errorCount_one: "エラー {{count}} 件",
585
+ errorCount_other: "エラー {{count}} 件",
449
586
  undoImport: "インポートを取り消す",
450
587
  undoing: "取り消し中…",
451
588
  undoConfirm: "このインポートを取り消しますか?作成されたレコードは削除され、更新されたレコードは以前の値に戻されます。",
452
589
  reverted: "取り消し済み",
590
+ undoPartial: "{{count}} 行を取り消せませんでした。もう一度取り消すと、これらの行だけを再試行します。",
591
+ undoPartial_one: "{{count}} 行を取り消せませんでした。もう一度取り消すと、この行だけを再試行します。",
592
+ undoPartial_other: "{{count}} 行を取り消せませんでした。もう一度取り消すと、これらの行だけを再試行します。",
453
593
  jobStatus: {
454
594
  pending: "待機中",
455
595
  running: "実行中",
@@ -506,19 +646,29 @@ const ja = {
506
646
  mapped: "マッピング済み",
507
647
  skipped: "スキップ済み",
508
648
  rowsWithErrors: "{{count}} 行にエラー",
649
+ rowsWithErrors_one: "{{count}} 行にエラー",
650
+ rowsWithErrors_other: "{{count}} 行にエラー",
509
651
  rowsCorrected: "{{count}} 行が修正されました",
652
+ rowsCorrected_one: "{{count}} 行が修正されました",
653
+ rowsCorrected_other: "{{count}} 行が修正されました",
510
654
  clickToFix: "— ハイライトされたセルをクリックしてインラインで修正。",
511
655
  showingRows: "{{total}} 行中 {{shown}} 行を表示",
512
656
  importing: "インポート中… {{progress}}%",
513
657
  importComplete: "インポート完了",
658
+ importPartial: "インポートは完了しましたが、エラーがあります",
659
+ importFailed: "インポートに失敗しました",
514
660
  imported: "{{count}} 件インポートされました",
515
661
  skippedCount: "{{count}} 件スキップされました",
516
662
  moreErrors: "…他 {{count}} 件のエラー",
663
+ moreErrors_one: "…他 {{count}} 件のエラー",
664
+ moreErrors_other: "…他 {{count}} 件のエラー",
517
665
  cancel: "キャンセル",
518
666
  back: "戻る",
519
667
  next: "次へ",
520
668
  close: "閉じる",
521
669
  importNRows: "{{count}} 行をインポート",
670
+ importNRows_one: "{{count}} 行をインポート",
671
+ importNRows_other: "{{count}} 行をインポート",
522
672
  importingProgress: "インポート中…",
523
673
  requiredMark: "*",
524
674
  required: "必須",
@@ -530,17 +680,44 @@ const ja = {
530
680
  month: "月",
531
681
  week: "週",
532
682
  day: "日",
533
- agenda: "予定表",
534
683
  allDay: "終日",
535
- noEvents: "予定はありません",
536
684
  newEvent: "新しい予定",
537
685
  moreEvents: "+{{count}} 件",
686
+ unscheduled: "日時未定 ({{count}})",
687
+ loading: "カレンダーを読み込み中…",
688
+ loadError: "エラー: {{message}}",
689
+ configRequired: "カレンダーの設定が必要です。startDateField を指定してください。これはカレンダー唯一の必須キーです。予定のタイトルは titleField がなくても解決されます。",
690
+ configRequiredHint: "これはビューの calendar ブロックに属します。インターフェースページには独自のカレンダースロットがありません。sourceView をカレンダーを宣言しているビューに向けてください。",
691
+ eventDetails: "予定の詳細",
692
+ pullToRefresh: "引っ張って更新",
693
+ refreshing: "更新中…",
694
+ onDate: "{{date}}",
695
+ eventTitle: "タイトル",
696
+ eventTitlePlaceholder: "この予定の内容は?",
697
+ creating: "作成中…",
698
+ titleRequired: "タイトルは必須です",
699
+ a11y: {
700
+ region: "カレンダー",
701
+ grid: "カレンダーグリッド",
702
+ goToToday: "今日に移動",
703
+ previousPeriod: "前の期間",
704
+ nextPeriod: "次の期間",
705
+ currentDate: "現在の日付: {{date}}",
706
+ dayCell: "{{date}}、予定 {{count}} 件",
707
+ dayCell_one: "{{date}}、予定 {{count}} 件",
708
+ dayCell_other: "{{date}}、予定 {{count}} 件",
709
+ resizeEventEnd: "予定の終了日を変更",
710
+ resizeEventEndHint: "ドラッグして終了日を変更",
711
+ resizeStart: "開始時刻を変更",
712
+ resizeEnd: "終了時刻を変更",
713
+ },
538
714
  },
539
715
  list: {
540
716
  firstRunTitle: "まだ何もありません",
541
717
  firstRunMessage: "最初のレコードを作成して始めましょう。",
542
718
  noMatches: "該当するレコードがありません",
543
719
  noMatchesMessage: "現在のフィルターや検索条件に一致するレコードはありません。条件を調整するか解除してください。",
720
+ viewFilterNoMatchesMessage: "このビューのフィルターに一致するレコードはありません。",
544
721
  loadErrorTitle: "レコードを読み込めませんでした",
545
722
  loadErrorMessage: "データの読み込み中に問題が発生しました。接続を確認して再試行してください。",
546
723
  loadErrorForbiddenTitle: "アクセス権がありません",
@@ -577,17 +754,24 @@ const ja = {
577
754
  refresh: "更新",
578
755
  loading: "レコードを読み込み中…",
579
756
  recordCount: "{{count}} 件のレコード",
580
- recordCountOne: "{{count}} 件のレコード",
757
+ recordCount_one: "{{count}} 件のレコード",
758
+ recordCount_other: "{{count}} 件のレコード",
581
759
  addRecord: "レコードを追加",
760
+ // objectui#12703 — the compact list's footer link to the object's list or the block's view.
761
+ viewAll: "すべて表示",
582
762
  tabs: "タブ",
583
763
  allRecords: "すべてのレコード",
584
764
  search: "検索",
585
765
  filter: "フィルター",
586
766
  filterRecords: "レコードをフィルター",
767
+ filterActive: "フィルター、{{count}} 件適用中",
768
+ filterActive_one: "フィルター、{{count}} 件適用中",
769
+ filterActive_other: "フィルター、{{count}} 件適用中",
587
770
  sort: "並べ替え",
588
771
  sortRecords: "レコードを並べ替え",
589
772
  sortByIdSuffix: "(ID順)",
590
773
  sortRelationalHint: "他のレコードを参照する列は表示されていません。保存されている ID でしか並べ替えられず、セルに表示される名称では並べ替えできません。その名称で並べ替えるには、名称をこのオブジェクトに非正規化し、参照元が変更されたときに書き込まれる保存項目として持たせたうえで、その項目で並べ替えてください。数式項目は使えません。数式は仮想的で、対応する列が保存されないため、サーバーは並べ替えを拒否します。",
774
+ sortRelationalPicked: "リンク列は表示名ではなく、保存されている ID で並べ替えられます。",
591
775
  resetSortToDefault: "ビューの既定の並び順に戻す",
592
776
  group: "グループ",
593
777
  groupBy: "グループ化",
@@ -608,14 +792,15 @@ const ja = {
608
792
  print: "印刷",
609
793
  hideFieldsTitle: "フィールドを非表示",
610
794
  dataLimitReached: "最初の {{limit}} 件のレコードを表示しています。さらにデータがある場合があります。",
611
- viewSettings: "ビュー設定",
612
- viewSettingsHint: "グループ化、色、密度、表示フィールド。",
795
+ display: "表示",
796
+ layout: "レイアウト",
797
+ rowNumbers: "行番号",
798
+ resetToViewDefault: "ビューの既定に戻す",
613
799
  addGroup: "グループフィールドを追加",
614
800
  collapsedByDefault: "デフォルトで折りたたむ",
615
801
  removeGroup: "削除",
616
802
  inlineEditShort: "インライン編集",
617
803
  inlineEditLabel: "レコードをインラインで編集(セルをクリックして編集)",
618
- recordEditingTitle: "レコード編集",
619
804
  },
620
805
  managedByBadge: {
621
806
  systemWritable: {
@@ -646,6 +831,7 @@ const ja = {
646
831
  },
647
832
  kanban: {
648
833
  uncategorized: "未分類",
834
+ loadMore: "さらに読み込む",
649
835
  columns: "カラム",
650
836
  addCard: "カードを追加",
651
837
  addColumn: "カラムを追加",
@@ -653,13 +839,28 @@ const ja = {
653
839
  deleteCard: "カードを削除",
654
840
  deleteColumn: "カラムを削除",
655
841
  noCards: "カードがありません",
842
+ columnCards: "{{column}} のカード",
843
+ laneCards: "{{column}} - {{lane}} のカード",
656
844
  cardTitlePlaceholder: "カードのタイトルを入力…",
657
845
  requiredFieldsTitle: "必須項目を入力してください",
658
846
  requiredFieldsDescription: "この移動により以下の項目が必須になります。入力して続行してください。",
847
+ dnd: {
848
+ start: "{{card}} を持ち上げました。{{column}} にあります。",
849
+ overCard: "{{card}} を {{column}} の {{target}} の上に移動中です。",
850
+ overColumn: "{{card}} を {{column}} の上に移動中です。",
851
+ overNone: "{{card}} はどのカラムの上にもありません。",
852
+ moved: "{{card}} を {{column}} に移動しました。",
853
+ dropped: "{{card}} をドロップしました。{{column}} のままです。",
854
+ cancelled: "ドラッグをキャンセルしました。{{card}} は {{column}} のままです。",
855
+ untitledCard: "無題のカード",
856
+ unnamedColumn: "名前のないカラム",
857
+ instructions: "このカードを別のカラムに移動するには、マウスまたはタッチでドラッグします。",
858
+ dragging: "{{card}} をドラッグ中",
859
+ },
659
860
  },
660
861
  timeline: {
661
862
  bucket: {
662
- overdue: "期限超過",
863
+ earlier: "以前",
663
864
  today: "今日",
664
865
  tomorrow: "明日",
665
866
  thisWeek: "今週",
@@ -674,6 +875,17 @@ const ja = {
674
875
  },
675
876
  gantt: {
676
877
  rowLabel: "項目",
878
+ unusableRange: {
879
+ malformedDate: "ガントの日付範囲が使用できません — {{path}} が {{value}} で、有効な日付として解析できません。ガントのすべての日付は解析可能である必要があります: 各行アイテムの startDate と endDate、およびスキーマで固定した minDate / maxDate。",
880
+ malformedRow: "ガントの行が使用できません — {{path}} が {{value}} で、行の形ではありません。ガントは items を行のリストとして、各行を label と自身の items を持つオブジェクトとして、各行の items をバーのリストとして読み取ります。これらの位置にある null、数値、文字列、プレーンなオブジェクトは描画できません。",
881
+ inverted: "ガントの日付範囲が使用できません — minDate {{minDate}} が maxDate {{maxDate}} より後です。固定した minDate / maxDate は行から計算した範囲より優先されるため、この軸には列がなくバーを配置できません。2 つの値を入れ替えてください。",
882
+ },
883
+ },
884
+ unsupported: {
885
+ objectBoundGantt: "サポートされていないバリアント \"gantt\" — オブジェクト連動のタイムラインはフィードバリアント({{variants}})を描画します。ガントには、それぞれが入れ子の items を持つリテラル行が必要なため、ここではガント軸(scale)は効果がありません。",
886
+ },
887
+ unconfigured: {
888
+ noDateAxis: "タイムラインの日付軸が必要です — このビューは日付フィールドを宣言しておらず、オブジェクト連動のタイムラインが日付フィールドを作り出すことはありません。次のいずれかを宣言してください: {{fields}}。最初のものが spec の記法で、残りは旧来のエイリアスです。",
677
889
  },
678
890
  },
679
891
  gantt: {
@@ -691,6 +903,7 @@ const ja = {
691
903
  },
692
904
  aria: {
693
905
  taskList: "タスク一覧",
906
+ refreshing: "更新中…",
694
907
  },
695
908
  tooltip: {
696
909
  days: "日",
@@ -736,13 +949,19 @@ const ja = {
736
949
  conflict: {
737
950
  title: "スケジュールの競合",
738
951
  body: "この移動は依存関係の制約と競合します。影響を受ける {{count}} 件のタスクを自動で再スケジュールしますか?",
952
+ body_one: "この移動は依存関係の制約と競合します。影響を受ける {{count}} 件のタスクを自動で再スケジュールしますか?",
953
+ body_other: "この移動は依存関係の制約と競合します。影響を受ける {{count}} 件のタスクを自動で再スケジュールしますか?",
739
954
  confirm: "自動で再スケジュール",
740
955
  cancel: "そのままにする",
741
956
  },
742
957
  autoScheduleDlg: {
743
958
  title: "自動スケジュール",
744
959
  body: "依存リンクを満たすため {{count}} 件のタスクを後ろにずらしますか?",
960
+ body_one: "依存リンクを満たすため {{count}} 件のタスクを後ろにずらしますか?",
961
+ body_other: "依存リンクを満たすため {{count}} 件のタスクを後ろにずらしますか?",
745
962
  skipped: "ロックされた {{count}} 件のタスクもリンクに違反していますが、スキップされました。",
963
+ skipped_one: "ロックされた {{count}} 件のタスクもリンクに違反していますが、スキップされました。",
964
+ skipped_other: "ロックされた {{count}} 件のタスクもリンクに違反していますが、スキップされました。",
746
965
  confirm: "適用",
747
966
  cancel: "キャンセル",
748
967
  none: "依存関係はすべて満たされています — 再スケジュールの必要はありません。",
@@ -821,10 +1040,14 @@ const ja = {
821
1040
  tabActionsFor: "{{name}} のビュー操作",
822
1041
  readonlyAriaLabel: "読み取り専用ビュー",
823
1042
  readonlyTooltip: "システムビュー — コードで定義され、読み取り専用です。",
1043
+ malformedFilter: "このビューのフィルターが不正なため、レコードを表示しません:{{subject}} の条件を適用できません。",
1044
+ noObject: "オブジェクトが指定されていません。{{property}} または dataSource.object を設定してください。",
824
1045
  },
825
1046
  designer: {
826
1047
  undo: "元に戻す",
827
1048
  redo: "やり直す",
1049
+ canvasMinimap: "キャンバスのミニマップ",
1050
+ versionHistory: "バージョン履歴",
828
1051
  },
829
1052
  detail: {
830
1053
  editInlineHint: "ダブルクリックで編集",
@@ -846,7 +1069,8 @@ const ja = {
846
1069
  pageHeaderActions: "ページヘッダーの操作",
847
1070
  emojiPicker: "絵文字ピッカー",
848
1071
  reactionCount: "{{emoji}} {{count}} 件のリアクション",
849
- reactionCountOne: "{{emoji}} {{count}} 件のリアクション",
1072
+ reactionCount_one: "{{emoji}} {{count}} 件のリアクション",
1073
+ reactionCount_other: "{{emoji}} {{count}} 件のリアクション",
850
1074
  recordDetail: "レコード詳細",
851
1075
  recordDetailWithLabel: "{{label}}の詳細",
852
1076
  openAsFullPage: "フルページで開く",
@@ -873,7 +1097,6 @@ const ja = {
873
1097
  viewAll: "すべて表示",
874
1098
  new: "新規",
875
1099
  add: "追加",
876
- emptyValue: "—",
877
1100
  activity: "アクティビティ",
878
1101
  editRow: "編集",
879
1102
  deleteRow: "削除",
@@ -885,6 +1108,7 @@ const ja = {
885
1108
  sortBy: "並べ替え",
886
1109
  filterPlaceholder: "フィルター…",
887
1110
  highlightFields: "主要フィールド",
1111
+ highlightsLabel: "レコードの主要フィールド",
888
1112
  comments: "コメント",
889
1113
  searchComments: "コメントを検索…",
890
1114
  addCommentPlaceholder: "コメントを追加… (Ctrl+Enterで送信)",
@@ -895,11 +1119,18 @@ const ja = {
895
1119
  unpin: "ピン解除",
896
1120
  justNow: "たった今",
897
1121
  minutesAgo: "{{count}}分前",
1122
+ minutesAgo_one: "{{count}}分前",
1123
+ minutesAgo_other: "{{count}}分前",
898
1124
  hoursAgo: "{{count}}時間前",
1125
+ hoursAgo_one: "{{count}}時間前",
1126
+ hoursAgo_other: "{{count}}時間前",
899
1127
  daysAgo: "{{count}}日前",
1128
+ daysAgo_one: "{{count}}日前",
1129
+ daysAgo_other: "{{count}}日前",
900
1130
  dropFilesToUpload: "ファイルをここにドロップまたはクリックしてアップロード",
901
1131
  attachmentCount: "{{count}} 件の添付ファイル",
902
- attachmentCountPlural: "{{count}} 件の添付ファイル",
1132
+ attachmentCount_one: "{{count}} 件の添付ファイル",
1133
+ attachmentCount_other: "{{count}} 件の添付ファイル",
903
1134
  removeAttachment: "添付ファイルを削除",
904
1135
  // Record Attachments panel (enable.files, objectstack#4358)
905
1136
  attachments: "添付ファイル",
@@ -908,6 +1139,7 @@ const ja = {
908
1139
  noAttachments: "添付ファイルはまだありません。ファイルをアップロードして始めましょう。",
909
1140
  downloadAttachment: "ダウンロード",
910
1141
  deleteAttachment: "添付ファイルを削除",
1142
+ deleteAttachmentConfirm: "添付ファイル「{{name}}」を削除してもよろしいですか?",
911
1143
  attachmentDeleteDenied: "この添付ファイルを削除できるのは、アップロードした本人またはこのレコードを編集できるユーザーのみです。",
912
1144
  attachmentParentAccessDenied: "このレコードにファイルを添付する権限がありません。",
913
1145
  attachmentDownloadDenied: "この添付ファイルをダウンロードする権限がありません。",
@@ -917,11 +1149,6 @@ const ja = {
917
1149
  attachmentsLoadFailed: "このレコードの添付ファイルを読み込めませんでした。",
918
1150
  attachmentsApiUnavailable: "このオブジェクトでは添付ファイルの一覧を利用できません。",
919
1151
  retryLoadAttachments: "再試行",
920
- unifiedDiff: "統合差分",
921
- sideBySideDiff: "横並び差分",
922
- noChanges: "変更なし",
923
- previousVersion: "前のバージョン",
924
- currentVersion: "現在のバージョン",
925
1152
  discussion: "ディスカッション",
926
1153
  showDiscussion: "ディスカッションを表示 ({{count}})",
927
1154
  hideDiscussion: "ディスカッションを非表示",
@@ -936,25 +1163,35 @@ const ja = {
936
1163
  writeComment: "コメントを入力…",
937
1164
  subscribedTooltip: "購読中 — クリックで解除",
938
1165
  unsubscribedTooltip: "通知を購読",
939
- firstRecord: "最初のレコード (Home)",
940
- previousRecordKey: "前のレコード (←)",
941
- nextRecordKey: "次のレコード (→)",
942
- lastRecord: "最後のレコード (End)",
943
1166
  noRecords: "レコードなし",
944
- searchWhileNavigating: "ナビゲーション中に検索",
945
- searchRecords: "レコードを検索…",
946
1167
  allActivity: "すべてのアクティビティ",
947
1168
  commentsOnly: "コメントのみ",
948
1169
  fieldChangesFilter: "フィールド変更",
949
1170
  tasksOnly: "タスクのみ",
950
1171
  leaveCommentPlaceholder: "コメントを入力… (Ctrl+Enterで送信)",
951
1172
  noActivity: "アクティビティの記録なし",
1173
+ activityAccessDenied: "このレコードのアクティビティを表示する権限がありません。",
1174
+ commentsAccessDenied: "このレコードのコメントを表示する権限がありません。",
1175
+ // objectui#7149 — the rest of `ActivityTimeline`. The four chip labels the
1176
+ // `detail.*` pack did not already name, and the `formatFieldChange`
1177
+ // sentences, which are assembled in code and so need interpolation holes.
1178
+ allFilter: 'すべて',
1179
+ createsFilter: '作成',
1180
+ deletesFilter: '削除',
1181
+ statusChangesFilter: 'ステータス変更',
1182
+ activityEmptyValue: '(空)',
1183
+ activityFieldChanged: '{{field}} を「{{old}}」から「{{new}}」に変更しました',
1184
+ activityCreated: 'このレコードを作成しました',
1185
+ activityDeleted: 'このレコードを削除しました',
1186
+ activityStatusChanged: 'ステータスを「{{value}}」に変更しました',
1187
+ activityUpdated: 'レコードを更新しました',
952
1188
  loadMore: "さらに読み込む",
953
1189
  edited: "(編集済み)",
954
1190
  via: "{{source}} 経由",
955
1191
  viewSource: "ソースを表示",
956
1192
  replyCount: "{{count}} 件の返信",
957
- replyCountPlural: "{{count}} 件の返信",
1193
+ replyCount_one: "{{count}} 件の返信",
1194
+ replyCount_other: "{{count}} 件の返信",
958
1195
  replyPlaceholder: "返信…",
959
1196
  filterActivity: "アクティビティをフィルター",
960
1197
  openDiscussion: "ディスカッションパネルを開く",
@@ -966,9 +1203,12 @@ const ja = {
966
1203
  lockedByApproval: "承認のためロック中",
967
1204
  lockedTooltip: "このレコードには承認待ちのリクエストがあります。編集はロックされています",
968
1205
  writeStrippedTitle: "保存しました(一部の項目は反映されていません)",
1206
+ writeWarningsTitle: "保存しました(警告があります)",
969
1207
  writeStrippedReadonly: "次の項目は読み取り専用のため反映されませんでした: {{fields}}",
970
1208
  writeStrippedByState: "次の項目はこのレコードの現在の状態では編集できないため反映されませんでした: {{fields}}",
971
1209
  writeStrippedPrimaryKey: "次の項目はレコードの識別子で、保存では変更できないため反映されませんでした: {{fields}}",
1210
+ writeStrippedComputed: "次の項目はサーバーが数式で計算するため、送信した値は反映されませんでした: {{fields}}",
1211
+ writeStrippedStoredExpression: "次の項目はレコードから計算されるため、送信した値ではなく計算値が保存されました: {{fields}}",
972
1212
  writeStrippedUnknownReason: "次の項目はサーバーで反映されませんでした: {{fields}}",
973
1213
  approvalPendingEditable: "承認中 · 編集可能",
974
1214
  approvalPendingTooltip: "このレコードには承認待ちのリクエストがありますが、このステップでは編集できます",
@@ -990,6 +1230,13 @@ const ja = {
990
1230
  pathStageLostUpcoming: '{{stage}}、失注、未到達',
991
1231
  pathStageWonUpcoming: '{{stage}}、目標ステージ、未到達',
992
1232
  linkCopied: "リンクをクリップボードにコピーしました",
1233
+ commentFailed: "コメントを投稿できませんでした。何も保存されていません。もう一度お試しください。",
1234
+ reactionFailed: "リアクションが保存されませんでした。もう一度お試しください。",
1235
+ editComment: "コメントを編集",
1236
+ deleteComment: "コメントを削除",
1237
+ deleteCommentConfirm: "このコメントを削除してもよろしいですか?",
1238
+ commentEditFailed: "編集内容は保存されませんでした。コメントは以前の内容のままです。",
1239
+ commentDeleteFailed: "コメントは削除されませんでした。もう一度お試しください。",
993
1240
  linkCopyFailed: "リンクのコピーに失敗しました",
994
1241
  cancel: "キャンセル",
995
1242
  cancelEdit: "変更を破棄",
@@ -1021,26 +1268,50 @@ const ja = {
1021
1268
  copyPhone: "電話番号をコピー",
1022
1269
  copyRecordId: "レコードIDをコピー",
1023
1270
  showEmptyFields: "{{count}} 件の空フィールドを表示",
1271
+ showEmptyFields_one: "{{count}} 件の空フィールドを表示",
1272
+ showEmptyFields_other: "{{count}} 件の空フィールドを表示",
1024
1273
  hideEmptyFields: "空フィールドを非表示",
1025
1274
  noValue: "値なし",
1275
+ unresolvedReference: "未解決の参照: {{value}} はユーザーとして解決されませんでした",
1276
+ unresolvedLookupReference: "未解決の参照: {{value}} はこの画面でレコードとして解決されませんでした",
1277
+ repeaterItemCount: "{{count}} 件",
1278
+ repeaterItemCount_one: "{{count}} 件",
1279
+ repeaterItemCount_other: "{{count}} 件",
1280
+ fileCount: "ファイル {{count}} 件",
1281
+ fileCount_one: "ファイル {{count}} 件",
1282
+ fileCount_other: "ファイル {{count}} 件",
1026
1283
  },
1027
1284
  chart: {
1028
- noData: "チャートデータがありません",
1029
1285
  loading: "チャート読み込み中…",
1286
+ refreshing: "更新中…",
1030
1287
  nullCategory: "(未設定)",
1031
- },
1032
- map: {
1033
- searchLocations: "場所を検索…",
1034
- locationDetails: "場所の詳細",
1035
- markersCount: "{{count}} 個のマーカー",
1036
- invalidCoordinates: "座標が欠落または無効なため、{{count}} 件のレコードが地図から除外されました。",
1037
- invalidCoordinatesPlural: "座標が欠落または無効なため、{{count}} 件のレコードが地図から除外されました。",
1288
+ scatterOneMeasure: "散布図は1つの指標だけを描画します。系列は1つだけ残してください:",
1289
+ unconfigured: {
1290
+ noCategoryAxis: "チャートのカテゴリ軸が必要です — オブジェクト連携チャートは軸を推測しません。次のいずれかを宣言してください:",
1291
+ },
1038
1292
  },
1039
1293
  dashboard: {
1040
- noRows: "行がありません",
1294
+ // objectui#7063 — the DEFAULT empty state every dashboard widget renders
1295
+ // when its query SUCCEEDED and returned nothing. It replaced the terse
1296
+ // per-widget `noRows` / `noDataAvailable` fragments at the render site;
1297
+ // objectui#7125 deleted those two keys from all ten packs once nothing
1298
+ // read them. The copy here has to read as a state rather than a failure,
1299
+ // which is why it says the widget loaded. `sourceLabel` carries its own
1300
+ // punctuation so the call site concatenates no separator (see
1301
+ // `WidgetEmptyState`).
1302
+ empty: {
1303
+ title: "まだデータがありません",
1304
+ message: "このウィジェットは正常に読み込まれましたが、クエリはまだレコードを返していません。",
1305
+ sourceLabel: "データソース:",
1306
+ },
1041
1307
  loading: "読み込み中…",
1308
+ refreshing: "更新中…",
1309
+ refreshAll: "すべて更新",
1310
+ refreshDashboard: "ダッシュボードを更新",
1042
1311
  pickMeasures: "このデータセットウィジェットの指標(値)を選択してください。",
1043
1312
  datasetUnsupported: "このデータソースはデータセットクエリに対応していません。",
1313
+ widgetForbiddenTitle: "アクセス権がありません",
1314
+ widgetForbiddenMessage: "このウィジェットのデータを表示する権限がありません。",
1044
1315
  details: "詳細",
1045
1316
  exportCsv: "CSV で書き出す",
1046
1317
  openInList: "リストで開く",
@@ -1068,12 +1339,10 @@ const ja = {
1068
1339
  },
1069
1340
  },
1070
1341
  addWidget: "ウィジェットを追加",
1071
- removeWidget: "ウィジェットを削除",
1072
1342
  editLayout: "レイアウトを編集",
1073
1343
  saveLayout: "レイアウトを保存",
1074
1344
  resetLayout: "レイアウトをリセット",
1075
1345
  total: "合計",
1076
- noDataAvailable: "データがありません",
1077
1346
  noDataSourceFor: "データソースが利用できません:",
1078
1347
  config: {
1079
1348
  breadcrumb: {
@@ -1195,10 +1464,6 @@ const ja = {
1195
1464
  appDescription: "説明",
1196
1465
  appIcon: "アイコン",
1197
1466
  template: "テンプレート",
1198
- layout: "レイアウト",
1199
- layoutSidebar: "サイドバー",
1200
- layoutHeader: "ヘッダー",
1201
- layoutEmpty: "空",
1202
1467
  selectObjects: "オブジェクトを選択",
1203
1468
  searchObjects: "オブジェクトを検索…",
1204
1469
  selectAll: "すべて選択",
@@ -1207,7 +1472,6 @@ const ja = {
1207
1472
  addGroup: "グループを追加",
1208
1473
  addUrl: "URLを追加",
1209
1474
  addSeparator: "区切りを追加",
1210
- noNavItems: "ナビゲーション項目がありません。",
1211
1475
  logoUrl: "ロゴURL",
1212
1476
  primaryColor: "プライマリカラー",
1213
1477
  faviconUrl: "ファビコンURL",
@@ -1234,13 +1498,12 @@ const ja = {
1234
1498
  appearance: "外観",
1235
1499
  rowHeight: "行高さ",
1236
1500
  livePreview: "リアルタイムプレビュー",
1237
- stepBasicDesc: "名前、タイトル、レイアウト",
1501
+ stepBasicDesc: "名前、タイトル、アイコン",
1238
1502
  stepObjectsDesc: "ビジネスオブジェクトを選択",
1239
1503
  stepNavigationDesc: "ナビゲーションツリーを構築",
1240
1504
  stepBrandingDesc: "ロゴ、色、ファビコン",
1241
1505
  noObjectsFound: "オブジェクトが見つかりません。",
1242
1506
  noNavItemsHint: "ナビゲーション項目がありません。前のステップでオブジェクトを選択するか、手動で追加してください。",
1243
- separator: "セパレーター",
1244
1507
  separatorLabel: "— セパレーター —",
1245
1508
  newGroup: "新しいグループ",
1246
1509
  newLink: "新しいリンク",
@@ -1274,6 +1537,7 @@ const ja = {
1274
1537
  navTypeSeparator: "区切り",
1275
1538
  navTypeAction: "アクション",
1276
1539
  navTypeComponent: "コンポーネント",
1540
+ navTypeDoc: "ドキュメント",
1277
1541
  navEditIcon: "アイコンを編集",
1278
1542
  navToggleVisible: "表示を切り替え",
1279
1543
  navHidden: "非表示",
@@ -1351,11 +1615,8 @@ const ja = {
1351
1615
  defaultValue: "デフォルト値",
1352
1616
  placeholder: "プレースホルダー",
1353
1617
  referenceTo: "参照先",
1354
- formula: "数式",
1355
1618
  options: "オプション",
1356
1619
  addOption: "オプションを追加",
1357
- validationRules: "検証ルール",
1358
- addRule: "ルールを追加",
1359
1620
  systemBadge: "システム",
1360
1621
  ungrouped: "一般",
1361
1622
  deleteConfirmTitle: "フィールドを削除しますか?",
@@ -1374,16 +1635,31 @@ const ja = {
1374
1635
  },
1375
1636
  },
1376
1637
  console: {
1638
+ studio: {
1639
+ title: "Studio",
1640
+ accessRequired: "Studio を開くには Studio へのアクセス権限が必要です。",
1641
+ },
1377
1642
  saveAdvisoryTitle: "保存しました — 編集チェックで {{count}} 件の推奨事項が見つかりました",
1643
+ saveAdvisoryTitle_one: "保存しました — 編集チェックで {{count}} 件の推奨事項が見つかりました",
1644
+ saveAdvisoryTitle_other: "保存しました — 編集チェックで {{count}} 件の推奨事項が見つかりました",
1645
+ publishAdvisoryTitle: "公開しました — 編集チェックで {{count}} 件の推奨事項が見つかりました",
1646
+ publishAdvisoryTitle_one: "公開しました — 編集チェックで {{count}} 件の推奨事項が見つかりました",
1647
+ publishAdvisoryTitle_other: "公開しました — 編集チェックで {{count}} 件の推奨事項が見つかりました",
1648
+ importMappingsUnavailable: "{{object}} の保存済みインポートマッピングを読み込めませんでした",
1649
+ importMappingsRefused: "サーバーがこのリクエストを拒否しました。つまりこのリストが空なのは読み取れなかったためであり、何も登録されていないためではありません。再度サインインするか、管理者にアクセス権を依頼してください。",
1650
+ importMappingsUnreadable: "このリストが空なのは読み取れなかったためであり、何も登録されていないためではありません。再試行し、繰り返し発生する場合は報告してください。",
1651
+ savedViewsUnavailable: "{{object}} の保存済みビューを読み込めませんでした",
1652
+ savedViewsRefused: "サーバーがこのリクエストを拒否しました。つまりこのリストが空なのは読み取れなかったためであり、このオブジェクトに保存済みビューがないためではありません。再度サインインするか、管理者にアクセス権を依頼してください。",
1653
+ savedViewsUnreadable: "このリストが空なのは読み取れなかったためであり、このオブジェクトに保存済みビューがないためではありません。再試行し、繰り返し発生する場合は報告してください。",
1378
1654
  settingsHub: {
1379
1655
  title: "設定",
1380
- subtitle: "ワークスペース、連携、機能フラグを設定します。",
1656
+ subtitle: "システム、連携、機能フラグを設定します。",
1381
1657
  loadError: "設定の読み込みに失敗しました",
1382
1658
  empty: "登録された設定はありません。プラグインは SettingsService 経由で設定マニフェストを登録できます。",
1383
1659
  settingsCount: "{{n}} 件の設定",
1384
1660
  beta: "ベータ",
1385
1661
  categories: {
1386
- Workspace: "ワークスペース",
1662
+ Workspace: "一般",
1387
1663
  Communication: "コミュニケーション",
1388
1664
  Security: "セキュリティ",
1389
1665
  Infrastructure: "インフラストラクチャ",
@@ -1430,13 +1706,18 @@ const ja = {
1430
1706
  },
1431
1707
  usage: {
1432
1708
  title: "AI 使用状況",
1433
- meterBuild: "ビルド",
1434
- meterAsk: "質問",
1709
+ poolUsed: "{{percent}} 使用済み",
1435
1710
  statusOk: "残量に余裕があります",
1436
1711
  statusLow: "残りわずかです",
1437
1712
  statusFull: "上限に達しました",
1438
1713
  resetsDaily: "今夜リセットされます",
1439
1714
  resetsMonthly: "次のサイクルでリセットされます",
1715
+ resetsWeeklyDays: "{{count}}日後にリセットされます",
1716
+ resetsWeeklyDays_one: "{{count}}日後にリセットされます",
1717
+ resetsWeeklyDays_other: "{{count}}日後にリセットされます",
1718
+ resetsWeeklyHours: "{{count}}時間後にリセットされます",
1719
+ resetsWeeklyHours_one: "{{count}}時間後にリセットされます",
1720
+ resetsWeeklyHours_other: "{{count}}時間後にリセットされます",
1440
1721
  ctaUpgrade: "アップグレードして続行",
1441
1722
  ctaTopUp: "クレジットを追加して続行",
1442
1723
  ariaLabel: "AI 使用状況: {{status}}",
@@ -1449,6 +1730,31 @@ const ja = {
1449
1730
  share: "共有",
1450
1731
  shareTitle: "この会話を共有",
1451
1732
  shareDisabledTitle: "共有するにはチャットを開始してください",
1733
+ buildDoctor: "ビルド診断",
1734
+ buildDoctorTitle: "ビルド診断 — 実際に反映された内容は?",
1735
+ buildDoctorDisabledTitle: "先にメッセージを送信してください",
1736
+ buildDoctorDrawer: {
1737
+ description: 'エージェントが主張した内容と、実際に反映されている内容の比較です。読み取り専用の診断です。',
1738
+ reconciling: '照合中…',
1739
+ notAvailable: '利用できません — 会話が見つからないか、アクセス権限がありません。',
1740
+ untitled: '(無題)',
1741
+ summary: '{{turns}} ターン · {{messages}} 件のメッセージ · {{tokens}} tok · LLM {{seconds}} 秒',
1742
+ allLive: '試行した {{count}} 件の変更はすべて反映されています — 失われたものはありません。',
1743
+ discrepancies: '{{count}} 件の不一致 — チャットの内容と実際に反映されている内容が一致しません。',
1744
+ orphanedTitle: '提案されたが適用されていない',
1745
+ orphanedHint: 'エージェントが提案した確認カードが、その後どのターンでも適用されず、変更が暗黙のうちに失われました。',
1746
+ missingTitle: '適用済みとされたが見つからない',
1747
+ missingHint: 'ツールの結果は適用済みとしていますが、成果物は sys_metadata に反映されていません。',
1748
+ toolErrorsTitle: 'ツールエラー',
1749
+ toolErrorsHint: 'ビルド中にエラーを返したツール呼び出しです。',
1750
+ verifyTitle: 'ビルドチェック(verify_build)',
1751
+ yourApp: 'あなたのアプリ:',
1752
+ noIssues: '問題 0 件',
1753
+ issueCount: '問題 {{count}} 件',
1754
+ platformNoise: 'プラットフォームの sys_* 検出 {{count}} 件を非表示',
1755
+ pendingActions: '保留中のアクション',
1756
+ timeline: 'タイムライン({{count}})',
1757
+ },
1452
1758
  newChat: "新規",
1453
1759
  searchChats: "チャットを検索…",
1454
1760
  noChatsYet: "チャットはまだありません",
@@ -1471,6 +1777,8 @@ const ja = {
1471
1777
  liveCanvasUnlisted: "ライブアプリ — {{app}}(公開するまで非掲載)",
1472
1778
  loadingAgents: "エージェントを読み込んでいます…",
1473
1779
  askAnything: "何でも質問してください…",
1780
+ askOrChangeApp: "データについて質問するか、このアプリの変更を依頼…",
1781
+ describeAppToBuild: "作りたいアプリ、または変更したい点を入力…",
1474
1782
  emptyTitle: "会話を始める",
1475
1783
  emptyDescription: "何でも質問してください — アシスタントは現在のアプリのコンテキストを参照できます。",
1476
1784
  switchAssistant: "アシスタントを切り替え",
@@ -1478,7 +1786,7 @@ const ja = {
1478
1786
  empty: {
1479
1787
  build: {
1480
1788
  title: "AI でビルド",
1481
- description: "アプリやワークフローを普通の言葉で説明してください — オブジェクト、画面、自動化を下書きしますので、確認して公開してください。",
1789
+ description: "アプリを普通の言葉で説明してください — オブジェクト、画面、サンプルデータを下書きしますので、確認して公開してください。",
1482
1790
  },
1483
1791
  ask: {
1484
1792
  title: "データに質問",
@@ -1487,17 +1795,22 @@ const ja = {
1487
1795
  editApp: {
1488
1796
  title: "「{{app}}」を編集中",
1489
1797
  titleGeneric: "このアプリを編集",
1490
- description: "何を変更しますか?このアプリをその場で変更します — 項目、オブジェクト、ビュー、自動化の追加や、既存部分の調整ができます。",
1798
+ description: "何を変更しますか?このアプリをその場で変更します — 項目、オブジェクト、ビュー、ダッシュボードの追加や、既存部分の調整ができます。",
1491
1799
  },
1492
1800
  },
1493
1801
  clearConversation: "クリア",
1494
1802
  sendHint: "で送信",
1803
+ newlineHint: "で改行",
1495
1804
  agentActivity: "エージェントの動作",
1496
1805
  toolCompleted: "完了",
1497
1806
  toolRunning: "実行中",
1498
1807
  toolAwaitingApproval: "承認待ち",
1499
1808
  toolFailed: "失敗",
1500
1809
  toolDetailsHidden: "このビューではツールの入力と生の結果は非表示です。",
1810
+ toolDenyReason: "オペレーターがチャットで却下しました",
1811
+ builderHandoffTitle: "ビルダーで構築する",
1812
+ builderHandoffOpen: "ビルダーで開く →",
1813
+ builderHandoffSuperseded: "より新しいリクエストがあります",
1501
1814
  copy: "コピー",
1502
1815
  copied: "コピーしました",
1503
1816
  regenerate: "再生成",
@@ -1512,7 +1825,7 @@ const ja = {
1512
1825
  publishOk: "公開しました — オブジェクトが有効になりました。",
1513
1826
  seedWarn: "公開しましたが、一部のサンプルデータを読み込めませんでした。",
1514
1827
  openBuiltApp: "アプリを開く",
1515
- designBuiltApp: "Studio でデザイン",
1828
+ viewBuiltAppInStudio: "Studio で表示",
1516
1829
  previewDraft: "プレビュー",
1517
1830
  previewApp: "アプリをプレビュー",
1518
1831
  resizeSplit: "チャットとプレビューのサイズを変更",
@@ -1540,23 +1853,41 @@ const ja = {
1540
1853
  recentRecords: "最近作成されたレコードを 5 件表示してください。",
1541
1854
  recordCounts: "オブジェクトごとのレコード数を数えてください。",
1542
1855
  },
1856
+ // cloud#1984 — these five chips are the maker's own recommendations, so
1857
+ // they may only ask for what ADR-0112 v1 BUILDS: objects, fields, views
1858
+ // (grid/kanban/calendar/gallery), pages, dashboards and sample data. No
1859
+ // wording that promises autonomous behaviour (alert / remind / notify /
1860
+ // automate / status workflow) — v1 has no flows, actions or schedules, and
1861
+ // the model silently degrades such a request into a board or a filtered
1862
+ // view, so the chip would promise an alert and deliver a page. REVERT to
1863
+ // the automation wording when ADR-0112 v2 re-adds flows and actions.
1543
1864
  metadataAssistant: {
1544
- buildCrm: "営業 CRM を作って — 顧客、担当者、ステージ別に集計できる商談パイプライン。",
1545
- buildApp: "プロジェクト管理を作って — プロジェクト、担当者と期日つきのタスク、ステータス別ボード。",
1546
- buildFlow: "サポートデスクを設計して — 優先度つきチケット、ステータスのワークフロー、顧客との紐付け。",
1547
- buildInventory: "在庫管理アプリを作って — 商品、在庫数、仕入先、在庫僅少の可視化。",
1548
- buildRecruiting: "採用管理を作って — 候補者、募集職種、面接ステージ、メモ。",
1865
+ buildCrm: "営業 CRM を作って — 顧客、担当者、ステージ項目つきの商談、ステージ別に金額を集計するダッシュボード。",
1866
+ buildApp: "プロジェクト管理を作って — プロジェクト、担当者と期日つきのタスク、ステータス別ボード、期日のカレンダー。",
1867
+ buildFlow: "サポートデスクを設計して — 優先度とステータスの項目を持つチケット、ステータス別ボード、顧客との紐付け。",
1868
+ buildInventory: "在庫管理アプリを作って — 商品、在庫数、仕入先、発注点を下回る商品を絞り込むビュー。",
1869
+ buildRecruiting: "採用管理を作って — 候補者、募集職種、面接ステージ項目、ステージ別ボード。",
1549
1870
  },
1550
1871
  generic: {
1551
1872
  help: "どんなことを手伝ってもらえますか?",
1552
1873
  availableObjects: "利用できるデータオブジェクトを一覧にしてください。",
1553
1874
  recentActivity: "最近の自分の活動を要約してください。",
1554
1875
  },
1876
+ // objectui#7709 — the edit-mode starters, shown when the maker is bound
1877
+ // to an EXISTING app (`?package=`). Same rule as the five above: they
1878
+ // may only ask for what ADR-0112 v1 BUILDS. The fourth chip used to be
1879
+ // `addAutomation` ("an approval, a status flow, or a notification") and
1880
+ // every capability it named is refused by v1 (cloud#1956 / PR #1970), so
1881
+ // it now asks for sample data — `seed` IS on v1's whitelist, and having
1882
+ // no data is what an existing app most often lacks. REVERT: when
1883
+ // ADR-0112 v2 re-adds flows and actions, THIS chip's automation wording
1884
+ // comes back as `addAutomation`; the retired string is pinned for every
1885
+ // pack in `packages/i18n/src/__tests__/makerEditChips-v1-scope-7709.test.ts`.
1555
1886
  editApp: {
1556
1887
  addField: "いずれかのオブジェクトに項目を追加してください。",
1557
1888
  addObject: "新しいオブジェクトを追加し、既存のものと関連づけてください。",
1558
1889
  addDashboard: "主要指標のダッシュボードを追加してください。",
1559
- addAutomation: "自動化を追加してください — 承認、ステータスフロー、または通知。",
1890
+ addSampleData: "既存のオブジェクトに、デモで使えるリアルなサンプルデータを入れてください。",
1560
1891
  },
1561
1892
  },
1562
1893
  changesTitle: "変更の確認",
@@ -1621,6 +1952,7 @@ const ja = {
1621
1952
  collapse: "チャットを折りたたむ",
1622
1953
  maximize: "フルページで開く",
1623
1954
  open: "アシスタントを開く",
1955
+ planAwaitingApproval: "提案されたプランが承認待ちです",
1624
1956
  },
1625
1957
  group: {
1626
1958
  today: "今日",
@@ -1631,13 +1963,17 @@ const ja = {
1631
1963
  },
1632
1964
  },
1633
1965
  title: "ObjectStack コンソール",
1634
- initializing: "アプリケーションを初期化中…",
1635
- loadingHint: "新しい環境のセットアップには少し時間がかかることがあります。",
1966
+ initializing: "コンソールを開いています…",
1967
+ skipToContent: "コンテンツへスキップ",
1636
1968
  breadcrumb: {
1637
- dashboards: "ダッシュボード",
1638
- pages: "ページ",
1639
- reports: "レポート",
1640
1969
  system: "システム",
1970
+ marketplace: "マーケットプレイス",
1971
+ settings: '設定',
1972
+ apps: 'アプリ',
1973
+ profile: 'プロフィール',
1974
+ approvals: '承認',
1975
+ aiApprovals: 'AI 承認',
1976
+ auditLog: '監査ログ',
1641
1977
  },
1642
1978
  // objectui#4024 — the single-namespace settings screen. Its sibling
1643
1979
  // `settingsHub` above already resolved through this pack; the view was the
@@ -1658,16 +1994,30 @@ const ja = {
1658
1994
  unsavedCount: "未保存の変更 {{count}} 件",
1659
1995
  unsavedCount_one: "未保存の変更 {{count}} 件",
1660
1996
  unsavedCount_other: "未保存の変更 {{count}} 件",
1997
+ fieldErrorsToast: "{{count}} 件の設定を確認してください:{{settings}}",
1998
+ fieldErrorsToast_one: "{{count}} 件の設定を確認してください:{{settings}}",
1999
+ fieldErrorsToast_other: "{{count}} 件の設定を確認してください:{{settings}}",
1661
2000
  cryptoRefusalTitle: "このデプロイメントはシークレットを暗号化できません",
1662
2001
  cryptoRefusalSubjectSuffix: "は暗号化対象として宣言されているため、何も書き込まれませんでした。",
1663
2002
  cryptoRefusalNoSubject: "暗号化対象として宣言された値は拒否され、何も書き込まれませんでした。",
1664
2003
  cryptoRefusalToast: "シークレットを暗号化できません: {{subject}}",
1665
2004
  cryptoRefusalToastNoSubject: "シークレットを暗号化できません",
1666
- },
1667
- loadingSteps: {
1668
- connecting: "データソースに接続中",
1669
- loadingConfig: "設定を読み込み中",
1670
- preparingWorkspace: "ワークスペースを準備中",
2005
+ sourceBadgeInherited: "{{source}}から継承",
2006
+ sourceBadgeOverrides: "{{source}}を上書き",
2007
+ resetToDefault: "デフォルトに戻す",
2008
+ envLockBadge: "環境変数でロック",
2009
+ envLockBadgeTitle: "環境変数で固定されているため、画面から編集できません。",
2010
+ deprecatedBadge: "非推奨",
2011
+ deprecatedBadgeReplacedBy: "非推奨 → {{replacedBy}}",
2012
+ unsupportedSpecifierType: "サポートされていない設定項目の種類: {{type}}",
2013
+ },
2014
+ workspaceTimezonePrompt: {
2015
+ title: "システムのタイムゾーンを設定",
2016
+ description: "このシステムは、まだプラットフォームの既定のタイムゾーン({{current}})を使用しています。システムのタイムゾーンは、数式での「今日」の意味、レポートの日付ごとのグループ化、日付と時刻の表示方法を決め、システムの全員に適用されます。下にブラウザーのタイムゾーンを入力しています。",
2017
+ laterHint: "設定ページでいつでも変更できます。",
2018
+ decline: "既定のままにする",
2019
+ confirm: "タイムゾーンを設定",
2020
+ saved: "システムのタイムゾーンを {{zone}} に設定しました",
1671
2021
  },
1672
2022
  error: {
1673
2023
  connectionFailed: "サーバーに接続できません",
@@ -1692,27 +2042,28 @@ const ja = {
1692
2042
  groups: {
1693
2043
  general: "一般",
1694
2044
  navigation: "ナビゲーション",
1695
- dataViews: "データビュー",
1696
2045
  aiChat: "AI アシスタント",
1697
- preferences: "設定",
1698
2046
  },
1699
2047
  openCommandPalette: "コマンドパレットを開く",
1700
2048
  showShortcuts: "キーボードショートカットを表示",
1701
2049
  closeDialog: "ダイアログ / パネルを閉じる",
1702
2050
  toggleSidebar: "サイドバーを切り替え",
1703
- focusSearch: "検索にフォーカス",
1704
- createRecord: "新しいレコードを作成",
1705
- refreshData: "データを更新",
1706
- editRecord: "選択したレコードを編集",
1707
2051
  newChat: "新しいチャット",
1708
2052
  toggleChatsList: "チャット一覧を切り替え",
1709
- toggleDarkMode: "ダークモードを切り替え",
2053
+ goHome: "ホームに戻る",
2054
+ },
2055
+ reportIndex: {
2056
+ title: "レポート",
2057
+ emptyTitle: "レポートはありません",
2058
+ emptyDescription: "このアプリには開けるレポートがありません。",
1710
2059
  },
1711
2060
  commandPalette: {
1712
2061
  title: "コマンドパレット",
1713
2062
  placeholder: "コマンドを入力または検索…",
1714
2063
  noResults: "結果が見つかりません。",
1715
2064
  objects: "オブジェクト",
2065
+ packages: "パッケージ",
2066
+ flows: "フロー",
1716
2067
  dashboards: "ダッシュボード",
1717
2068
  pages: "ページ",
1718
2069
  reports: "レポート",
@@ -1729,6 +2080,21 @@ const ja = {
1729
2080
  records: "レコード",
1730
2081
  recentRecords: "最近閲覧",
1731
2082
  },
2083
+ // objectui#9954 — see the `en` pack for what raises each case.
2084
+ readRate: {
2085
+ ratioTitle: 'このシステムの読み取り量が異常です',
2086
+ ratio: '書き込み 1 行あたり {{ratio}} 行を読み取っています。プラットフォームは {{threshold}} を超える比率を検出対象とします。制限やブロックは一切行われていません。読み取りパターンを確認するための報告です。',
2087
+ noWritesTitle: 'このシステムは読み取りのみで書き込みがまったくありません',
2088
+ noWrites: '行の読み取りはある一方で書き込みがまったくないため、読み取り比率に上限がありません。これは最も深刻な読み取り値です。プラットフォームは {{threshold}} を超える比率を検出対象とします。制限やブロックは一切行われていません。読み取りパターンを確認するための報告です。',
2089
+ },
2090
+ // objectui#10439 — see the `en` pack for what raises each case.
2091
+ storageUsage: {
2092
+ warningTitle: 'ストレージの空き容量が少なくなっています',
2093
+ warning: '{{limit}} MB 中 {{used}} MB を使用しています。ストレージが満杯になると、アップロードとインポートは一時停止されます。',
2094
+ blockedTitle: 'ストレージが満杯です:アップロードとインポートは一時停止中です',
2095
+ blocked: '{{limit}} MB 中 {{used}} MB を使用しています。既存のデータはそのままで、読み取り、エクスポート、個々のレコードの編集は引き続き利用できます。',
2096
+ upgrade: 'アップグレードして続行',
2097
+ },
1732
2098
  errors: {
1733
2099
  somethingWentWrong: "問題が発生しました",
1734
2100
  unexpectedError: "このビューのレンダリング中に予期しないエラーが発生しました。",
@@ -1759,22 +2125,26 @@ const ja = {
1759
2125
  viewNameInvalid: "英小文字、数字、アンダースコアを使用し、先頭は文字かアンダースコアにしてください。",
1760
2126
  systemViewReadonly: "システムビューはコードで定義されており、読み取り専用です。",
1761
2127
  cannotEditMetaView: "このビューはコードで定義された組み込みビューのため、変更できません。",
2128
+ resetView: "ビューをリセット",
2129
+ resetViewTitle: "このビューの並べ替え、フィルター、列幅をビュー本来の設定に戻します。変わるのはあなたの表示だけです。",
1762
2130
  cannotDeleteMetaView: "このビューはコードで定義された組み込みビューのため、削除できません。",
1763
2131
  expandToPage: "フルページで開く",
1764
2132
  objectNotFound: "オブジェクトが見つかりません",
1765
2133
  objectNotFoundDescription: "オブジェクト「{{objectName}}」は現在の設定に存在しません。",
1766
2134
  objectNotFoundHint: "アプリのナビゲーション設定を確認するか、サイドバーから別のオブジェクトを選択してください。",
2135
+ objectPackageDisabled: "オブジェクト「{{objectName}}」が属するパッケージは無効になっているため、提供されていません。",
1767
2136
  filterOrNotSavable: "このフィルターは条件間に OR を使用しており、保存済みビューにはまだ保存できません。現在のリストには適用されています。ビューに保存するには OR グループを解除してください。",
1768
2137
  filterNestedNotSavable: "このフィルターはネストされた条件グループを使用しており、保存済みビューには保存できません。ビューに保存するには単一の条件リストに展開してください。",
1769
2138
  allRecords: "すべてのレコード",
1770
2139
  new: "新規",
1771
2140
  configureView: "ビューを設定",
1772
- toolbar: "ツールバー",
1773
2141
  toolbarEnabledCount: "{{total}} 件中 {{count}} 件有効",
1774
2142
  searchFields: "フィールドを検索…",
1775
2143
  title: "タイトル",
1776
2144
  viewType: "ビュータイプ",
1777
2145
  recordCount: "{{count}} 件のレコード",
2146
+ recordCount_one: "{{count}} 件のレコード",
2147
+ recordCount_other: "{{count}} 件のレコード",
1778
2148
  save: "保存",
1779
2149
  discard: "破棄",
1780
2150
  createView: "ビューを作成",
@@ -1786,11 +2156,12 @@ const ja = {
1786
2156
  longitudeField: "経度フィールド",
1787
2157
  imageField: "画像フィールド",
1788
2158
  selectField: "フィールドを選択…",
1789
- groupBy: "グループ化",
1790
2159
  endDateField: "終了日フィールド",
1791
2160
  import: "インポート",
1792
2161
  importTitle: "CSVからインポート",
1793
2162
  importedToast: "{{count}} 行をインポートしました。",
2163
+ importedToast_one: "{{count}} 行をインポートしました。",
2164
+ importedToast_other: "{{count}} 行をインポートしました。",
1794
2165
  importedWithSkipped: "{{ok}} 行をインポートしました。{{skipped}} 行をスキップしました。",
1795
2166
  createViewDesc: "ビュータイプを選択して名前を付けてください。設定は後で変更できます。",
1796
2167
  cancel: "キャンセル",
@@ -1799,6 +2170,8 @@ const ja = {
1799
2170
  deleteViewTitle: "ビューを削除",
1800
2171
  deleteViewConfirm: "ビュー「{{name}}」を削除してもよろしいですか?この操作は元に戻せません。",
1801
2172
  bulkDeleteConfirm: "選択した {{count}} 件のレコードを削除しますか?この操作は元に戻せません。",
2173
+ bulkDeleteConfirm_one: "選択した {{count}} 件のレコードを削除しますか?この操作は元に戻せません。",
2174
+ bulkDeleteConfirm_other: "選択した {{count}} 件のレコードを削除しますか?この操作は元に戻せません。",
1802
2175
  duplicateViewName: "この名前のビューはすでに存在します。",
1803
2176
  viewTypeGrid: "グリッド",
1804
2177
  viewTypeGridDesc: "スプレッドシート形式のレコード一覧。",
@@ -1835,14 +2208,22 @@ const ja = {
1835
2208
  chartTypePie: "円グラフ",
1836
2209
  chartTypeArea: "面積グラフ",
1837
2210
  chartTypeScatter: "散布図",
1838
- xAxisField: "X軸フィールド",
1839
- xAxisFieldHelp: "カテゴリまたは時間の次元。",
1840
- yAxisField: "Y軸フィールド",
1841
- yAxisFieldHelp: "集計する数値フィールド。",
2211
+ dataset: "データセット",
2212
+ datasetHelp: "グラフはこのオブジェクトのデータセットから数値を読み取ります。",
2213
+ chartMeasure: "メジャー",
2214
+ chartMeasureHelp: "値軸にプロットするデータセットのメジャー。",
2215
+ chartDimension: "ディメンション",
2216
+ chartDimensionHelp: "値をグループ化するデータセットのディメンション(任意)。",
2217
+ viewTypeUnavailableDataset: "このオブジェクトにはグラフに使えるデータセットがありません。",
2218
+ noDatasetMeasure: "このデータセットにはグラフに使えるメジャーが宣言されていません。",
1842
2219
  ufTabs: "タブ",
1843
2220
  ufAddField: "+ フィルターフィールドを追加…",
1844
2221
  ufShowAllRecords: "「すべてのレコード」タブを表示",
1845
2222
  },
2223
+ runtimeDraft: {
2224
+ publishFailed: "公開に失敗しました",
2225
+ discardFailed: "下書きの破棄に失敗しました",
2226
+ },
1846
2227
  localeSwitcher: {
1847
2228
  label: "言語",
1848
2229
  },
@@ -1850,14 +2231,22 @@ const ja = {
1850
2231
  nav: {
1851
2232
  pinItem: "{{name}} をピン留め",
1852
2233
  unpinItem: "{{name}} のピンを外す",
1853
- dragToReorder: "ドラッグして並べ替え",
1854
2234
  favorites: "お気に入り",
2235
+ launcherLabel: "アプリランチャー",
2236
+ menuLabel: "アプリナビゲーション",
2237
+ menuEmpty: "このアプリには開けるナビゲーション項目がありません。",
2238
+ itemMenu: "{{name}} のその他の操作",
2239
+ openInNewTab: "新しいタブで開く",
2240
+ copyLink: "リンクをコピー",
2241
+ linkCopied: "リンクをクリップボードにコピーしました",
2242
+ linkCopyFailed: "リンクのコピーに失敗しました",
2243
+ design: "デザイン",
1855
2244
  },
1856
2245
  },
1857
2246
  auth: {
1858
2247
  setPassword: {
1859
2248
  title: "リカバリー用パスワードを設定",
1860
- description: "シングルサインオンでサインインしました。SSO が利用できなくなったときにもこの環境へ直接サインインできるよう、ローカルパスワードを設定してください。",
2249
+ description: "シングルサインオンでサインインしました。SSO が利用できなくなったときにも直接サインインできるよう、ローカルパスワードを設定してください。",
1861
2250
  email: "メールアドレス",
1862
2251
  newPassword: "新しいパスワード",
1863
2252
  confirmPassword: "パスワードの確認",
@@ -1873,9 +2262,8 @@ const ja = {
1873
2262
  signingIn: "サインインしています…",
1874
2263
  ssoHandoff: "{{target}} に進む",
1875
2264
  devAdminHint: {
1876
- title: "開発用インスタンス",
1877
- body: "初期設定の開発用管理者でサインインします:",
1878
- dismiss: "閉じる",
2265
+ title: "ローカル開発インスタンス",
2266
+ signIn: "開発用管理者でサインイン",
1879
2267
  },
1880
2268
  title: "アカウントにサインイン",
1881
2269
  description: "メールアドレスとパスワードを入力してください",
@@ -1905,6 +2293,22 @@ const ja = {
1905
2293
  resendOtpCountdownText: "{seconds} 秒後に再送信",
1906
2294
  usePhoneOtpText: "確認コードでサインイン",
1907
2295
  usePasswordSignInText: "パスワードでサインインする",
2296
+ socialButton: "{provider} で続行",
2297
+ orText: "またはメールアドレスで続行",
2298
+ ssoButton: "SSO でサインイン",
2299
+ ssoOnlyDescription: "所属組織のシングルサインオンでサインインしてください",
2300
+ usePasswordText: "パスワードを使用する",
2301
+ backToSsoText: "シングルサインオンに戻る",
2302
+ // objectui#12600 — the console login card's own header, the password
2303
+ // field's reveal toggle, and the footer's legal links.
2304
+ welcomeTitle: "おかえりなさい",
2305
+ welcomeDescription: "サインインして作業を続けましょう",
2306
+ showPasswordText: "パスワードを表示",
2307
+ hidePasswordText: "パスワードを非表示",
2308
+ footer: {
2309
+ privacy: "プライバシー",
2310
+ terms: "利用規約",
2311
+ },
1908
2312
  },
1909
2313
  register: {
1910
2314
  title: "アカウントを作成",
@@ -1923,8 +2327,12 @@ const ja = {
1923
2327
  submittingButton: "アカウント作成中…",
1924
2328
  hasAccountText: "すでにアカウントをお持ちですか?",
1925
2329
  signInText: "サインイン",
2330
+ socialButton: "{provider} で新規登録",
2331
+ orText: "またはメールアドレスで続行",
1926
2332
  errors: {
1927
2333
  userExists: "このメールアドレスのアカウントはすでに存在します。代わりにサインインしてください。",
2334
+ selfRegistrationClosed: "このシステムではセルフ登録を受け付けていません。管理者に招待を依頼してください。",
2335
+ emailDomainNotAllowed: "このメールアドレスのドメインはここでの登録が許可されていません。組織のメールアドレスを使用するか、管理者に招待を依頼してください。",
1928
2336
  },
1929
2337
  verifyInbox: {
1930
2338
  title: "受信箱を確認してください",
@@ -2000,7 +2408,7 @@ const ja = {
2000
2408
  checkSpam: "メールが届きませんか?スパムフォルダーを確認するか、サポートに連絡してください。",
2001
2409
  or: "または",
2002
2410
  // objectui#3546 slice three.
2003
- resendUnavailable: "この環境ではメール配信が設定されていない可能性があります。問題が続く場合はサポートに連絡してください。",
2411
+ resendUnavailable: "このシステムではメール配信が設定されていない可能性があります。問題が続く場合はサポートに連絡してください。",
2004
2412
  },
2005
2413
  setup: {
2006
2414
  welcomeTitle: "ObjectStackへようこそ",
@@ -2044,7 +2452,7 @@ const ja = {
2044
2452
  disabledDescription: "このデプロイメントではデバイス認証が有効になっていないため、ここでこのデバイスを承認できません。",
2045
2453
  },
2046
2454
  shell: {
2047
- tenantHostHint: "このワークスペースにサインインしています",
2455
+ tenantHostHint: "このシステムにサインインしています",
2048
2456
  },
2049
2457
  layout: {
2050
2458
  headline: "強力なビジネスアプリを、より速く。",
@@ -2054,6 +2462,7 @@ const ja = {
2054
2462
  signOut: "代わりにサインアウト",
2055
2463
  password: {
2056
2464
  title: "パスワードの有効期限が切れました",
2465
+ resetTitle: "パスワードの変更が必要です",
2057
2466
  fallbackMessage: "続行するには新しいパスワードを設定してください。",
2058
2467
  current: "現在のパスワード",
2059
2468
  next: "新しいパスワード",
@@ -2079,6 +2488,11 @@ const ja = {
2079
2488
  verifying: "確認しています…",
2080
2489
  invalidCode: "コードが無効です。もう一度お試しください。",
2081
2490
  },
2491
+ impersonation: {
2492
+ passwordTitle: "{{user}} はパスワードを変更する必要があります",
2493
+ mfaTitle: "{{user}} は二要素認証を設定する必要があります",
2494
+ body: "{{user}} になりすまして操作しています。この操作はユーザー本人にしか行えません。なりすましを終了して、ご自身のアカウントに戻ってください。",
2495
+ },
2082
2496
  },
2083
2497
  },
2084
2498
  // objectui#3546 slice three — the /oauth/consent screen.
@@ -2087,12 +2501,17 @@ const ja = {
2087
2501
  title: "{{appName}} がアカウントへのアクセスを求めています",
2088
2502
  request: "{{appName}} が許可を求めています{{suffix}}。",
2089
2503
  unknownApp: "あるアプリケーション",
2504
+ unidentified: "このアプリケーションを識別できませんでした。",
2505
+ clientId: "クライアント ID",
2090
2506
  willAllow: "このアプリは次のことができます:",
2091
2507
  scope: {
2092
2508
  openid: "本人確認を行う",
2093
2509
  profile: "基本プロフィール(名前、画像)を読み取る",
2094
2510
  email: "メールアドレスを読み取る",
2095
2511
  offlineAccess: "サインインしたままにする(アクセスの更新)",
2512
+ dataRead: "レコードを読み取る(ご自身の権限の範囲内)",
2513
+ dataWrite: "レコードを作成・変更・削除する(ご自身の権限の範囲内)",
2514
+ actionsExecute: "あなたに代わってアクションを実行する(ご自身の権限の範囲内)",
2096
2515
  },
2097
2516
  deny: "拒否",
2098
2517
  authorize: "許可",
@@ -2123,11 +2542,20 @@ const ja = {
2123
2542
  role: "ロール",
2124
2543
  save: "変更を保存",
2125
2544
  },
2545
+ language: {
2546
+ title: "言語",
2547
+ description: "あなた宛ての通知やメッセージに使用される言語です。画面の表示言語は地球アイコンのメニューで別途切り替えます。",
2548
+ label: "優先する言語",
2549
+ systemDefault: "デプロイメントの既定値を使用",
2550
+ save: "保存",
2551
+ saved: "言語の設定を更新しました。",
2552
+ readOnly: "このアカウントの言語は管理者が管理しています。",
2553
+ },
2126
2554
  password: {
2127
2555
  changeTitle: "パスワードを変更",
2128
2556
  setTitle: "ローカルパスワードを設定",
2129
- changeDescription: "この環境へのサインインに使用するパスワードを更新します。",
2130
- setDescription: "シングルサインオンでサインインしています。ローカルパスワードを設定すると、この環境でメールアドレスとパスワードでもサインインできます。",
2557
+ changeDescription: "サインインに使用するパスワードを更新します。",
2558
+ setDescription: "シングルサインオンでサインインしています。ローカルパスワードを設定すると、メールアドレスとパスワードでもサインインできます。",
2131
2559
  current: "現在のパスワード",
2132
2560
  new: "新しいパスワード",
2133
2561
  password: "パスワード",
@@ -2136,7 +2564,7 @@ const ja = {
2136
2564
  mismatch: "パスワードが一致しません",
2137
2565
  enterCurrent: "現在のパスワードを入力してください",
2138
2566
  changed: "パスワードを変更しました。",
2139
- localSet: "ローカルパスワードを設定しました。この環境でメールアドレスとパスワードでサインインできます。",
2567
+ localSet: "ローカルパスワードを設定しました。メールアドレスとパスワードでサインインできます。",
2140
2568
  changeAction: "パスワードを変更",
2141
2569
  setAction: "パスワードを設定",
2142
2570
  },
@@ -2151,22 +2579,21 @@ const ja = {
2151
2579
  unknown: "予期しないエラーが発生しました。",
2152
2580
  },
2153
2581
  workspace: {
2154
- label: "ワークスペース",
2155
- default: "マイワークスペース",
2156
- switch: "ワークスペースを切り替え",
2157
- create: "ワークスペースを作成",
2158
- createTitle: "ワークスペースの作成",
2159
- createDescription: "ワークスペースはチームで協力するための共有スペースです。",
2160
- createButton: "ワークスペースを作成",
2161
- nameLabel: "ワークスペース名",
2582
+ label: "組織",
2583
+ default: "マイ組織",
2584
+ switch: "組織を切り替え",
2585
+ createTitle: "組織の作成",
2586
+ createDescription: "組織はチームで協力するための共有スペースです。",
2587
+ createButton: "組織を作成",
2588
+ nameLabel: "組織名",
2162
2589
  namePlaceholder: "例: Acme Inc",
2163
2590
  slugLabel: "URL スラッグ",
2164
2591
  slugHint: "URL に使用されます。小文字、数字、ハイフンのみ。",
2165
2592
  invite: "メンバーを招待",
2166
2593
  members: "メンバー",
2167
- settings: "ワークスペース設定",
2594
+ settings: "組織設定",
2168
2595
  multiOrgDisabled: "このインスタンスでは新しい組織の作成が無効です。",
2169
- createFailed: 'ワークスペースの作成に失敗しました',
2596
+ createFailed: '組織の作成に失敗しました',
2170
2597
  },
2171
2598
  help: {
2172
2599
  onThisPage: "このページの内容",
@@ -2174,12 +2601,17 @@ const ja = {
2174
2601
  appDocs: 'このアプリのドキュメント',
2175
2602
  allDocs: 'すべてのドキュメント',
2176
2603
  onlineDocs: 'オンラインドキュメント',
2604
+ loadingDocumentation: 'ドキュメントを読み込み中',
2605
+ about: 'バージョン情報',
2606
+ aboutTitle: 'このコンソールについて',
2607
+ aboutDescription: 'このコンソールのコンパイル元となったビルドです。',
2608
+ aboutBuild: 'コンソールのビルド',
2609
+ aboutBuildUnknown: '不明なビルド(このコンソールのビルド時にバージョンが設定されていません)',
2177
2610
  },
2178
2611
  sidebar: {
2179
2612
  packageManagement: "パッケージ管理",
2180
2613
  searchNavigation: "ナビゲーションを検索…",
2181
2614
  settings: "設定",
2182
- help: "ヘルプ",
2183
2615
  helpTooltip: "ヘルプとドキュメント",
2184
2616
  activityFeed: "アクティビティフィード",
2185
2617
  notifications: "通知",
@@ -2189,18 +2621,16 @@ const ja = {
2189
2621
  area: "エリア",
2190
2622
  scope: "スコープ",
2191
2623
  recent: "最近",
2192
- favorites: "お気に入り",
2193
2624
  starred: "スター付き",
2194
2625
  removeFromFavorites: "お気に入りから {{name}} を削除",
2626
+ allReports: "すべてのレポート",
2195
2627
  },
2196
2628
  topbar: {
2197
2629
  openAssistant: "{{name}} アシスタントを開く",
2198
2630
  offline: "オフライン",
2199
2631
  usersOnline: "現在オンラインのユーザー",
2200
2632
  switchView: "ビューを切り替え",
2201
- switchObject: "オブジェクトを切り替え",
2202
2633
  connection: {
2203
- connected: "接続済み",
2204
2634
  connecting: "接続中…",
2205
2635
  reconnecting: "再接続中…",
2206
2636
  disconnected: "切断されました",
@@ -2213,23 +2643,22 @@ const ja = {
2213
2643
  },
2214
2644
  aiAssistant: "AI アシスタント",
2215
2645
  designInStudio: "Studio でデザイン",
2646
+ editApp: "アプリを編集",
2216
2647
  },
2217
2648
  home: {
2218
2649
  build: {
2219
2650
  title: "アプリを作る",
2220
- subtitle: "ゼロから始める — オブジェクト、フォーム、自動化、画面を設計します。",
2221
- noCapability: "このワークスペースではアプリの作成はできません — 「メタデータ管理」権限が必要ですが、お使いのアカウントにはありません。",
2651
+ noCapability: "このシステムではアプリの作成はできません — 「メタデータ管理」権限が必要ですが、お使いのアカウントにはありません。",
2222
2652
  },
2223
2653
  template: {
2224
2654
  title: "テンプレートから始める",
2225
- subtitle: "マーケットプレイスからテンプレートアプリをインストールしてカスタマイズします。",
2226
2655
  marketplaceDisabled: "このランタイムにはアプリマーケットプレイスが設定されていないため、ここからインストールできるテンプレートはありません。",
2227
2656
  },
2228
2657
  welcomeAdminDescription: "ビジネスを一文で説明してください — AI がオブジェクト、画面、API、エージェントツールを生成します。左のメニューから自分で設定することもできます。",
2229
2658
  welcomeAdminDescriptionNoBuild: "左の管理メニューから最初のアプリケーションを設定してください。データが入ると、AI アシスタントが分析を手伝えます。",
2230
2659
  welcomeAdminDescriptionNoAi: "左の管理メニューから最初のアプリケーションを設定してください。",
2231
2660
  noAppsTitle: "アプリケーションがまだありません",
2232
- noAppsDescription: "ワークスペースを準備中です — 管理者が共有したアプリがここに表示されます。",
2661
+ noAppsDescription: "システムを準備中です — 管理者が共有したアプリがここに表示されます。",
2233
2662
  buildWithAI: "AI でビルド",
2234
2663
  askAI: "AI に質問",
2235
2664
  recoveryReminder: {
@@ -2238,7 +2667,15 @@ const ja = {
2238
2667
  dismiss: "閉じる",
2239
2668
  },
2240
2669
  pendingDrafts: {
2241
- message: "未公開の変更が {{count}} 件あります — 公開すると反映されます。",
2670
+ // objectui#12602 — the drafts row in Home's "My work" section: the
2671
+ // count, then the first draft names joined by `nameSeparator`, in
2672
+ // their package when they share one.
2673
+ title: "未公開の変更 {{count}} 件",
2674
+ title_one: "未公開の変更 {{count}} 件",
2675
+ title_other: "未公開の変更 {{count}} 件",
2676
+ inPackage: "{{names}} が {{package}} で公開待ちです",
2677
+ waiting: "{{names}} が公開待ちです",
2678
+ nameSeparator: "、",
2242
2679
  cta: "公開",
2243
2680
  publishing: "公開しています…",
2244
2681
  published: "公開しました。変更が反映されています。",
@@ -2253,20 +2690,24 @@ const ja = {
2253
2690
  capabilityWarn: "作成時チェック:{{count}} 件のケイパビリティ参照が解決できません。",
2254
2691
  },
2255
2692
  title: "ホーム",
2256
- subtitle: "ワークスペースのダッシュボード",
2257
2693
  nav: "ホーム",
2258
2694
  allApps: "すべてのアプリケーション",
2259
2695
  yourApps: "あなたのアプリ",
2260
2696
  showMoreApps: "もっと見る",
2261
2697
  showLess: "折りたたむ",
2262
2698
  continueEmpty: "開いた項目がここに表示されます。",
2263
- actionCenter: {
2264
- title: "対応が必要な項目",
2265
- empty: "すべて対応済みです",
2699
+ // objectui#12602 — Home's "My work" section: its heading, the link to the
2700
+ // full inbox, each column's title, "view all" link and empty line.
2701
+ myWork: {
2702
+ title: "マイワーク",
2703
+ openInbox: "受信トレイを開く",
2704
+ viewAll: "すべて表示",
2705
+ approvals: "承認待ち",
2706
+ approvalsEmpty: "承認待ちの項目はありません",
2707
+ notifications: "通知",
2708
+ notificationsEmpty: "未読の通知はありません",
2266
2709
  },
2267
- loading: "ワークスペースを読み込み中…",
2268
- recent: "最近",
2269
- starred: "スター付き",
2710
+ loading: "読み込み中…",
2270
2711
  welcome: "ObjectUI へようこそ",
2271
2712
  welcomeDescription: "最初のアプリケーションを作成するか、システム設定を行ってください。",
2272
2713
  createFirstApp: "最初のアプリを作成",
@@ -2274,12 +2715,10 @@ const ja = {
2274
2715
  browseMarketplace: "アプリマーケットプレイスを参照",
2275
2716
  quickActions: {
2276
2717
  title: "クイックアクション",
2277
- createApp: "アプリを作成",
2278
- createAppDesc: "新しいアプリケーションを開始",
2279
2718
  manageObjects: "オブジェクトを管理",
2280
2719
  manageObjectsDesc: "データモデルを設定",
2281
2720
  systemSettings: "システム設定",
2282
- systemSettingsDesc: "ワークスペースを設定",
2721
+ systemSettingsDesc: "システムを設定",
2283
2722
  },
2284
2723
  appCard: {
2285
2724
  noDescription: "説明なし",
@@ -2289,20 +2728,29 @@ const ja = {
2289
2728
  greetingAfternoon: "こんにちは",
2290
2729
  greetingEvening: "こんばんは",
2291
2730
  greetingNight: "夜遅くまで作業中",
2292
- heroTagline: "前回の続きを始めるか、新しいものを探索してください。",
2293
- open: "開く",
2294
- stats: {
2295
- apps: "アプリケーション",
2296
- starred: "スター付き",
2297
- recent: "最近のアイテム",
2731
+ greetingSeparator: "、",
2732
+ greetingEnd: "。",
2733
+ search: "アプリ、レコード、ページを検索…",
2734
+ summary: {
2735
+ approvals: "今日は承認待ちが {{count}} 件あります",
2736
+ approvals_one: "今日は承認待ちが {{count}} 件あります",
2737
+ approvals_other: "今日は承認待ちが {{count}} 件あります",
2738
+ none: "今日の対応事項はありません",
2298
2739
  },
2740
+ addApp: "アプリを追加",
2741
+ appOpened: "{{time}}に起動",
2742
+ open: "開く",
2299
2743
  recentApps: {
2300
2744
  title: "最近アクセスしたもの",
2301
2745
  itemType: {
2302
2746
  object: "オブジェクト",
2303
2747
  dashboard: "ダッシュボード",
2304
2748
  page: "ページ",
2749
+ report: "レポート",
2750
+ package: "パッケージ",
2751
+ view: "リストビュー",
2305
2752
  record: "レコード",
2753
+ metadata: "メタデータ",
2306
2754
  },
2307
2755
  },
2308
2756
  starredApps: {
@@ -2324,7 +2772,6 @@ const ja = {
2324
2772
  organizations: "組織",
2325
2773
  roles: "ロール",
2326
2774
  configuration: "構成",
2327
- createApp: "アプリを作成",
2328
2775
  administration: "管理",
2329
2776
  datasources: "データソース",
2330
2777
  documentation: "ドキュメント",
@@ -2339,16 +2786,23 @@ const ja = {
2339
2786
  manageAllApps: "すべてのアプリを管理",
2340
2787
  systemConsole: "システムコンソール",
2341
2788
  noAppsConfigured: "アプリが設定されていません",
2789
+ allApps: "すべてのアプリ",
2790
+ editAppInStudio: "Studio で {{app}} を編集",
2791
+ backToHome: "ホームに戻る",
2792
+ settings: "システム設定",
2793
+ productHome: "{{product}} ホーム",
2342
2794
  },
2343
2795
  activityFeed: {
2344
2796
  title: "最近の活動",
2345
2797
  filter: "フィルター",
2346
2798
  empty: "最近の活動はありません",
2799
+ accessDenied: "アクティビティを表示する権限がありません。",
2347
2800
  ariaLabel: "アクティビティフィード",
2348
2801
  typeCreate: "作成",
2349
2802
  typeUpdate: "更新",
2350
2803
  typeDelete: "削除",
2351
2804
  typeComment: "コメント",
2805
+ typeSystem: "システム",
2352
2806
  relativeJustNow: "たった今",
2353
2807
  relativeSecondsAgo: "{{count}}秒前",
2354
2808
  relativeMinutesAgo: "{{count}}分前",
@@ -2370,8 +2824,11 @@ const ja = {
2370
2824
  placeholder: "オブジェクト、ダッシュボード、ページ、レポートを検索…",
2371
2825
  inputAriaLabel: "オブジェクト、ダッシュボード、ページ、レポートを検索",
2372
2826
  resultsCount: "\"{{query}}\" の結果 {{count}} 件",
2373
- resultsCountPlural: "\"{{query}}\" の結果 {{count}} 件",
2827
+ resultsCount_one: "\"{{query}}\" の結果 {{count}} 件",
2828
+ resultsCount_other: "\"{{query}}\" の結果 {{count}} 件",
2374
2829
  itemsAvailable: "{{count}} 件利用可能",
2830
+ itemsAvailable_one: "{{count}} 件利用可能",
2831
+ itemsAvailable_other: "{{count}} 件利用可能",
2375
2832
  noResults: "結果が見つかりません",
2376
2833
  noResultsHint: "検索語句を調整してみてください",
2377
2834
  typeObjects: "オブジェクト",
@@ -2396,26 +2853,38 @@ const ja = {
2396
2853
  noAppsConfigured: "アプリが設定されていません",
2397
2854
  noAppsConfiguredDescription: "登録されているアプリケーションがありません。最初のアプリを作成するか、システム設定を参照してください。",
2398
2855
  appNotAvailable: "アプリを利用できません",
2399
- appNotAvailableDescription: "このアプリはまだ利用できません — まだ公開処理中の可能性があります。しばらくしてからもう一度お試しください。",
2856
+ appNotAvailableDescription: "このアプリは利用できません — しばらくしてからもう一度お試しください。",
2857
+ appNotFound: "このアプリを開けません",
2858
+ appNotFoundDescription: "サーバーはお使いのアカウントに対してこのアプリを返しませんでした。",
2859
+ appUnreachable: "サーバーに接続できませんでした",
2860
+ appUnreachableDescription: "このアプリを確認できませんでした。しばらくしてからもう一度お試しください。",
2400
2861
  appAccessDenied: "このアプリへのアクセス権限がありません",
2401
2862
  appAccessDeniedDescription: "このアプリは存在しますが、お使いのアカウントには開く権限がありません。管理者にアクセス権の付与を依頼してください。",
2402
2863
  appAccessDeniedHome: "ホームに戻る",
2864
+ appNothingAvailable: "{{app}} で利用できるものはまだありません",
2865
+ appNothingAvailableDescription: "このアプリには、お使いのアカウントで開けるページがありません。管理者にアクセス権の付与を依頼してください。",
2866
+ appNothingAvailableGrantDescription: "このアプリには、お使いのアカウントで開けるページがありません。設定でアクセス権を付与できます。",
2867
+ openSetup: "設定を開く",
2403
2868
  createFirstApp: "最初のアプリを作成",
2404
2869
  systemSettings: "システム設定",
2405
2870
  back: "戻る",
2406
2871
  recordNotFound: "レコードが見つかりません",
2407
2872
  recordNotFoundDescription: "お探しのレコードは存在しないか、削除された可能性があります。",
2873
+ recordAccessDenied: "{{object}}レコードへのアクセス権がありません",
2874
+ recordAccessDeniedDescription: "この種類のレコードを表示する権限がありません。必要な場合は管理者にお問い合わせください。",
2875
+ recordLoadFailed: "このレコードを読み込めませんでした",
2876
+ recordLoadFailedDescription: "読み込み中に問題が発生しました。接続を確認して再試行してください。",
2408
2877
  },
2409
2878
  actionDialog: {
2410
2879
  title: "アクションパラメーター",
2411
2880
  description: "続行するために必要な情報を入力してください。",
2412
2881
  selectPlaceholder: "{{label}} を選択",
2413
2882
  requiredError: "{{label}} は必須です",
2883
+ unresolvedParam: 'このパラメーターは表示できません。参照元のフィールドがオブジェクトのメタデータに存在しないため、必要なコントロールを生成できません。管理者にアクション定義の修正を依頼してください。',
2884
+ carryOverHint: 'そのまま引き継ぎ(読み取り専用)',
2414
2885
  cancel: "キャンセル",
2415
2886
  confirm: "確認",
2416
2887
  uploading: "アップロード中…",
2417
- defaultActionTitle: "アクション",
2418
- ok: "OK",
2419
2888
  lookupPlaceholder: "{{label}} のレコードID",
2420
2889
  lookupHelpText: "このパラメータには参照オブジェクトが設定されていないため、レコードピッカーを利用できません。レコードIDを直接入力するか、管理者にアクションパラメータの修正を依頼してください。",
2421
2890
  },
@@ -2424,11 +2893,6 @@ const ja = {
2424
2893
  confirm: "続行",
2425
2894
  cancel: "キャンセル",
2426
2895
  },
2427
- rowAction: {
2428
- openMenu: "メニューを開く",
2429
- edit: "編集",
2430
- delete: "削除",
2431
- },
2432
2896
  navigationSync: {
2433
2897
  addedPage: "ナビゲーション更新:ページ「{{name}}」を追加しました",
2434
2898
  addedDashboard: "ナビゲーション更新:ダッシュボード「{{name}}」を追加しました",
@@ -2442,13 +2906,18 @@ const ja = {
2442
2906
  updateFailed: "ナビゲーションの更新に失敗しました",
2443
2907
  },
2444
2908
  objectActions: {
2445
- resetPackageSetConfirm: "この権限セットはインストール済みパッケージに含まれているため削除できません。削除を実行すると、パッケージ同梱の初期状態に戻り、この環境でのカスタマイズは破棄されます。続行しますか?",
2446
- resetPackageSetSuccess: "権限セットをパッケージ同梱の初期状態に戻しました",
2447
2909
  deleteSuccess: "{{label}} を削除しました",
2448
2910
  deleteFailed: "{{label}} の削除に失敗しました",
2449
2911
  noRecordId: "レコードIDが指定されていません",
2450
2912
  deleteConfirm: "このレコードを削除してもよろしいですか?",
2913
+ deleteConfirmTitle: "{{label}}「{{name}}」を削除しますか?",
2914
+ bulkDeleteConfirmTitle: "{{count}} 件の {{label}} レコードを削除しますか?",
2915
+ bulkDeleteConfirmTitle_one: "{{count}} 件の {{label}} レコードを削除しますか?",
2916
+ bulkDeleteConfirmTitle_other: "{{count}} 件の {{label}} レコードを削除しますか?",
2917
+ deleteConfirmButton: "削除",
2451
2918
  bulkDeleteSuccess: "{{count}} 件の {{label}} レコードを削除しました",
2919
+ bulkDeleteSuccess_one: "{{count}} 件の {{label}} レコードを削除しました",
2920
+ bulkDeleteSuccess_other: "{{count}} 件の {{label}} レコードを削除しました",
2452
2921
  bulkDeletePartial: "{{succeeded}} 件削除、{{failed}} 件失敗",
2453
2922
  },
2454
2923
  objectViewActions: {
@@ -2460,15 +2929,6 @@ const ja = {
2460
2929
  exportFailed: "エクスポートに失敗しました:{{message}}",
2461
2930
  forecastSoon: "予測ビューは近日公開予定",
2462
2931
  },
2463
- recordDetail: {
2464
- viewersTooltip: "このレコードを閲覧中のユーザー",
2465
- },
2466
- cellRender: {
2467
- empty: "空",
2468
- yes: "はい",
2469
- no: "いいえ",
2470
- systemFields: "システム",
2471
- },
2472
2932
  user: {
2473
2933
  profile: "プロフィール",
2474
2934
  settings: "設定",
@@ -2490,6 +2950,7 @@ const ja = {
2490
2950
  loading: "読み込み中…",
2491
2951
  failedToLoad: "マトリックスの読み込みに失敗しました:{{message}}",
2492
2952
  needsAcross: "マトリックスレポートには少なくとも1つの `groupingsAcross` フィールドが必要です。",
2953
+ forbiddenMessage: "このレポートのデータを表示する権限がありません。",
2493
2954
  aggregate: {
2494
2955
  count: "件数",
2495
2956
  countDistinct: "ユニーク件数",
@@ -2504,18 +2965,18 @@ const ja = {
2504
2965
  },
2505
2966
  },
2506
2967
  organizations: {
2507
- create: "ワークスペースを作成",
2508
- mine: "マイワークスペース",
2509
- title: "ワークスペース",
2510
- heading: "あなたのワークスペース",
2511
- subtitle: "続行するワークスペースを選択するか、新しいワークスペースを作成してください。",
2512
- searchPlaceholder: "ワークスペースを検索",
2513
- new: "新しいワークスペース",
2514
- current: "現在のワークスペース",
2968
+ create: "組織を作成",
2969
+ mine: "マイ組織",
2970
+ title: "組織",
2971
+ heading: "あなたの組織",
2972
+ subtitle: "続行する組織を選択するか、新しい組織を作成してください。",
2973
+ searchPlaceholder: "組織を検索",
2974
+ new: "新しい組織",
2975
+ current: "現在の組織",
2515
2976
  manage: "管理",
2516
- emptyTitle: "まだワークスペースがありません",
2517
- emptyDescription: "最初のワークスペースを作成して開始してください。",
2518
- noMatches: "検索条件に一致するワークスペースがありません。",
2977
+ emptyTitle: "まだ組織がありません",
2978
+ emptyDescription: "最初の組織を作成して開始してください。",
2979
+ noMatches: "検索条件に一致する組織がありません。",
2519
2980
  },
2520
2981
  organization: {
2521
2982
  roles: {
@@ -2600,6 +3061,7 @@ const ja = {
2600
3061
  readOnlyNote: "設定を変更できるのはオーナーのみです。",
2601
3062
  nameLabel: "組織名",
2602
3063
  slugLabel: "スラッグ",
3064
+ slugLockedNote: "この組織には稼働中の環境があるため、ここではスラッグを変更できません。変更すると、それらの環境のサブドメインも移動します。",
2603
3065
  logoLabel: "ロゴ",
2604
3066
  logoUpload: "アップロード",
2605
3067
  logoReplace: "変更",
@@ -2658,18 +3120,37 @@ const ja = {
2658
3120
  regionLabel: "通知",
2659
3121
  groupCount: "通知 {{count}} 件",
2660
3122
  groupUnread: "未読 {{count}} 件",
3123
+ groupUnread_one: "未読 {{count}} 件",
3124
+ groupUnread_other: "未読 {{count}} 件",
2661
3125
  groupMarkRead: "既読にする",
2662
3126
  groupMarkReadTitle: "この種類をすべて既読にする",
2663
3127
  empty: "通知はありません",
2664
3128
  markAllRead: "すべて既読にする",
2665
3129
  viewAll: "すべての通知を表示",
2666
3130
  approvalsPending: "{{count}} 件の承認待ち",
3131
+ approvalsPending_one: "{{count}} 件の承認待ち",
3132
+ approvalsPending_other: "{{count}} 件の承認待ち",
2667
3133
  viewApprovals: "承認を表示",
2668
3134
  noPendingApprovals: "承認待ちはありません",
2669
3135
  openApprovalsInbox: "承認ボックスを開く",
2670
3136
  badgeTotal: "合計 {{total}} 件",
2671
- badgeNotifications: "通知 {{unread}} 件",
2672
- badgeApprovals: "承認待ち {{approvals}} 件",
3137
+ badgeNotifications: "通知 {{count}} 件",
3138
+ badgeNotifications_one: "通知 {{count}} 件",
3139
+ badgeNotifications_other: "通知 {{count}} 件",
3140
+ badgeApprovals: "承認待ち {{count}} 件",
3141
+ badgeApprovals_one: "承認待ち {{count}} 件",
3142
+ badgeApprovals_other: "承認待ち {{count}} 件",
3143
+ arrivalMany: "新着メッセージ {{count}} 件",
3144
+ arrivalMany_one: "新着メッセージ {{count}} 件",
3145
+ arrivalMany_other: "新着メッセージ {{count}} 件",
3146
+ arrivalRepeats: "このトピックの新着メッセージ {{count}} 件",
3147
+ arrivalRepeats_one: "このトピックの新着メッセージ {{count}} 件",
3148
+ arrivalRepeats_other: "このトピックの新着メッセージ {{count}} 件",
3149
+ arrivalOpen: "表示",
3150
+ toastEnabled: "アプリ内通知",
3151
+ desktopEnabled: "デスクトップ通知",
3152
+ desktopBlocked: "ブロックされています。ブラウザーの設定でこのサイトの通知を許可してください。",
3153
+ desktopUnsupported: "このブラウザーはデスクトップ通知に対応していません。",
2673
3154
  emptyUnread: "既読にしました",
2674
3155
  filterUnread: "未読",
2675
3156
  filterAll: "すべて",
@@ -2683,12 +3164,14 @@ const ja = {
2683
3164
  thankYouTitle: "ありがとうございます!",
2684
3165
  thankYouMessage: "送信が正常に受信されました。",
2685
3166
  redirecting: "{{seconds}} 秒後にリダイレクトします…",
3167
+ redirectPending: "リダイレクトしています…",
2686
3168
  unavailableTitle: "フォームが利用できません",
2687
3169
  unavailableDescription: "このURLで利用できる公開フォームはありません。基になるビューが匿名共有を有効にし、このスラグに一致することを確認してください。",
2688
3170
  tryDemo: "デモを試す",
2689
3171
  retry: "再試行",
2690
3172
  loading: "フォームを読み込み中…",
2691
3173
  requiredHint: "* 必須項目",
3174
+ requiredFields: "必須項目: {{fields}}",
2692
3175
  consentLabelDefault: "プライバシーポリシーに同意し、このリクエストのためにデータを処理することに同意します。",
2693
3176
  consentLink: "プライバシーポリシー",
2694
3177
  consentRequired: "続行するにはプライバシーポリシーに同意してください。",
@@ -2701,10 +3184,10 @@ const ja = {
2701
3184
  body: 'MCP サーフェスがオフになっています(OS_MCP_SERVER_ENABLED=false)。運用担当者に再有効化を依頼してください。',
2702
3185
  },
2703
3186
  url: {
2704
- title: 'この環境の MCP エンドポイント',
3187
+ title: 'このシステムの MCP エンドポイント',
2705
3188
  body: 'MCP 対応の AI クライアントはこの URL で接続します。認証はセルフサービスです:デプロイメント自体が OAuth 2.1 認可サーバーなので、ブラウザでログインするだけ。すべての呼び出しはあなたの権限と行レベルセキュリティの下で実行されます。',
2706
3189
  downloadSkill: 'SKILL.md をダウンロード',
2707
- skillHint: 'ポータブルなエージェントスキル:スキル対応エージェントにこの環境の使い方を教えます。',
3190
+ skillHint: 'ポータブルなエージェントスキル:スキル対応エージェントにこのシステムの使い方を教えます。',
2708
3191
  },
2709
3192
  claude: {
2710
3193
  body: '設定 → コネクタ → カスタムコネクタを追加で、この URL を貼り付け、ブラウザでログインしてください。',
@@ -2739,18 +3222,83 @@ const ja = {
2739
3222
  noImportableFields: "そのオブジェクトにはインポート可能なフィールドがありません。",
2740
3223
  schemaReadFailed: "オブジェクトのスキーマを読み取れませんでした。",
2741
3224
  imported: "{{count}} 行を {{object}} にインポートしました。",
3225
+ imported_one: "{{count}} 行を {{object}} にインポートしました。",
3226
+ imported_other: "{{count}} 行を {{object}} にインポートしました。",
2742
3227
  importFrom: "実データのインポート元",
2743
3228
  into: "→",
2744
3229
  opening: "開いています…",
2745
3230
  importAction: "インポート",
2746
3231
  dismiss: "閉じる",
2747
3232
  },
2748
- cloudOnboarding: {
2749
- hintCreate: "最初の環境を作成しましょう。独自の URL・データベース・プランを持つ専用ワークスペースで、アプリの構築はその中で行います。",
2750
- hintReady: "本番環境の準備が整いました。開いてアプリの構築と実行を行ってください。すべて環境の中で行われます。",
2751
- createEnvironment: "環境を作成",
2752
- openProduction: "本番環境を開く",
2753
- manageEnvironments: "環境を管理",
3233
+ cloudWorkspaceTimezoneNotice: {
3234
+ seeded: "環境のタイムゾーンは、作成時にブラウザーに合わせて {{zone}} に設定されました。「設定 → ローカリゼーション」で変更できます。",
3235
+ },
3236
+ ai: {
3237
+ nlQuery: {
3238
+ placeholder: "データについて質問してください…",
3239
+ ask: "質問",
3240
+ results: "結果",
3241
+ match: "一致度 {{percent}}",
3242
+ simulatedSummary: "検索結果: {{query}}",
3243
+ noResults: "一致するレコードが見つかりません",
3244
+ recentQueries: "最近のクエリ",
3245
+ },
3246
+ formAssist: {
3247
+ title: "AI の提案",
3248
+ suggestionCount: "{{count}} 件の提案",
3249
+ suggestionCount_one: "{{count}} 件の提案",
3250
+ suggestionCount_other: "{{count}} 件の提案",
3251
+ applyAll: "すべて適用",
3252
+ confidence: "信頼度 {{percent}}",
3253
+ appliedCount: "{{count}} 件の提案を適用しました",
3254
+ appliedCount_one: "{{count}} 件の提案を適用しました",
3255
+ appliedCount_other: "{{count}} 件の提案を適用しました",
3256
+ },
3257
+ recommendations: {
3258
+ title: "おすすめ",
3259
+ generating: "おすすめを生成しています…",
3260
+ empty: "おすすめはありません",
3261
+ },
3262
+ },
3263
+ aiApprovals: {
3264
+ title: "AI 承認",
3265
+ description: "AI エージェントが提案した操作です。実行前に人による確認が必要です。",
3266
+ tabPending: "承認待ち",
3267
+ tabDecided: "処理済み",
3268
+ tabAll: "すべて",
3269
+ statusPending: "承認待ち",
3270
+ statusApproved: "承認済み",
3271
+ statusExecuted: "実行済み",
3272
+ statusFailed: "失敗",
3273
+ statusRejected: "却下",
3274
+ colTool: "ツール",
3275
+ colAction: "アクション",
3276
+ colObject: "オブジェクト",
3277
+ colStatus: "ステータス",
3278
+ colProposed: "提案日時",
3279
+ colDecision: "判断",
3280
+ emptyTitle: "待機中の操作はありません",
3281
+ emptyDescription: "AI が重要な操作を提案すると、確認のためここに表示されます。",
3282
+ view: "表示",
3283
+ approve: "承認",
3284
+ reject: "却下",
3285
+ working: "処理中…",
3286
+ approveAndExecute: "承認して実行",
3287
+ outcomeApprove: "{{id}} の承認: {{message}}",
3288
+ outcomeReject: "{{id}} の却下: {{message}}",
3289
+ outcomeExecuteFailed: "実行中に操作が失敗しました",
3290
+ drawerFallbackTitle: "保留中の操作",
3291
+ drawerSubtitle: "{{object}} に対するツール {{tool}}",
3292
+ fieldProposedBy: "提案者",
3293
+ fieldDecidedBy: "判断者",
3294
+ fieldConversation: "会話",
3295
+ fieldToolInput: "ツール入力",
3296
+ fieldResult: "結果",
3297
+ fieldError: "エラー",
3298
+ fieldRejectionReason: "却下理由",
3299
+ rejectTitle: "この操作を却下しますか?",
3300
+ rejectBody: "理由は AI に返され、次の応答の調整に使われます。",
3301
+ rejectPlaceholder: "理由(任意。例:「レコード ID が誤っています — 先にユーザーに確認してください。」)",
2754
3302
  },
2755
3303
  aiModelStatus: {
2756
3304
  summary: "ビルド / 質問は {{conversational}}({{conversationalSource}})、構造化出力は {{structured}}({{structuredSource}})を使用します。",
@@ -2760,8 +3308,8 @@ const ja = {
2760
3308
  rowConversational: "Build / Ask モデル",
2761
3309
  rowStructured: "構造化(ブループリント / シード)",
2762
3310
  rowReasoning: "推論の強度",
2763
- readFailed: "有効な AI モデルを読み取れませんでした。この環境は AI サービスを実行していないか、ai:read 権限がない可能性があります。",
2764
- readFailedWithStatus: "有効な AI モデルを読み取れませんでした(HTTP {{status}})。この環境は AI サービスを実行していないか、ai:read 権限がない可能性があります。",
3311
+ readFailed: "有効な AI モデルを読み取れませんでした。このシステムは AI サービスを実行していないか、ai:read 権限がない可能性があります。",
3312
+ readFailedWithStatus: "有効な AI モデルを読み取れませんでした(HTTP {{status}})。このシステムは AI サービスを実行していないか、ai:read 権限がない可能性があります。",
2765
3313
  overridesInEffect: "有効なオーバーライド: ",
2766
3314
  noOverrides: "なし — デプロイ済みコードの既定値で動作しています。",
2767
3315
  adapter: "アダプター: ",
@@ -2769,6 +3317,174 @@ const ja = {
2769
3317
  sourceInherits: "build/ask と同じ",
2770
3318
  sourcePinned: "{{source}} で固定",
2771
3319
  },
3320
+ // objectui#7254 — the AI copilot's tool cards. Three families, all of them
3321
+ // English-only until this landed while every other string on the same screen
3322
+ // was translated:
3323
+ //
3324
+ // `tool.*` — one entry per PLATFORM-PROVIDED tool name
3325
+ // (@objectstack/spec `PLATFORM_TOOLS_BY_PACKAGE`, the
3326
+ // closed registry those runtimes are conformance-tested
3327
+ // against). `humanizeToolName` looks each up as
3328
+ // `chatbot.tool.<tool_name>` and falls back to its English
3329
+ // title-caser for a custom / third-party tool, so a name
3330
+ // missing here is degraded, never broken. Every value, `en`
3331
+ // included, is a short sentence in the pack's language
3332
+ // saying what the step does (cloud#2927 Target 3, ruled
3333
+ // 「同意」; objectui#12724): never the tool id, and never
3334
+ // the title-caser's output for it, which is how the step
3335
+ // reads for a tool the pack has no entry for.
3336
+ // `toolLabels-locale-parity-7481` holds both.
3337
+ // `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
3338
+ // set for both surfaces (they used to carry separate
3339
+ // tables and disagreed on casing).
3340
+ // `plan.*` — the "N objects · N views · N dashboards" strip. Plural
3341
+ // FAMILIES: one slot per CLDR category the pack's language
3342
+ // selects (objectui#11432), plus the base key for a call
3343
+ // made without a count. `all-locales-key-parity.test.ts`
3344
+ // derives the required slots from `Intl.PluralRules`.
3345
+ //
3346
+ // objectui#7481 — five `tool.*` entries are NEWER than the registry above:
3347
+ // `get_authoring_rules` (cloud#1837), `load_tools`, `open_record`, `test_flow`
3348
+ // and `toggle_flow` are registered by cloud `service-ai-studio` but the pinned
3349
+ // `@objectstack/spec` snapshot does not list them yet. They are kept here on
3350
+ // purpose: a step label the user reads must not wait on a pin bump. When the
3351
+ // pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
3352
+ // against the registry instead of against its own hand-held list.
3353
+ chatbot: {
3354
+ answer: {
3355
+ showFull: '全文を表示',
3356
+ collapse: '折りたたむ',
3357
+ expandTable: '展開',
3358
+ exitExpandedTable: '閉じる',
3359
+ },
3360
+ tool: {
3361
+ aggregate_data: "関連データを集計する",
3362
+ get_record: "このレコードを読み込む",
3363
+ query_data: "必要なデータを照会する",
3364
+ query_records: "該当するレコードを探す",
3365
+ search_knowledge: "ナレッジベースで調べる",
3366
+ visualize_data: "データをグラフにする",
3367
+ add_field: "オブジェクトに項目を追加する",
3368
+ apply_blueprint: "設計案どおりにアプリを構築する",
3369
+ apply_edit: "この変更を適用する",
3370
+ create_metadata: "メタデータを新しく作成する",
3371
+ create_object: "オブジェクトを新しく作成する",
3372
+ create_package: "パッケージを新しく作成する",
3373
+ create_seed: "オブジェクトのサンプルデータを生成する",
3374
+ delete_field: "項目を削除する",
3375
+ describe_metadata: "メタデータの内容を確認する",
3376
+ describe_object: "オブジェクトの構造を確認する",
3377
+ get_active_package: "現在のパッケージを確認する",
3378
+ get_authoring_rules: "作成ルールを読む",
3379
+ get_metadata_schema: "メタデータの形式を調べる",
3380
+ get_package: "パッケージの情報を確認する",
3381
+ list_metadata: "既存のメタデータを一覧表示する",
3382
+ list_objects: "既存のオブジェクトを一覧表示する",
3383
+ list_packages: "既存のパッケージを一覧表示する",
3384
+ load_tools: "ほかのツールを読み込む",
3385
+ modify_field: "項目を変更する",
3386
+ open_record: "このレコードを開く",
3387
+ propose_blueprint: "アプリの設計案をまとめる",
3388
+ set_active_package: "対象のパッケージに切り替える",
3389
+ suggest_builder: "AI での構築を提案する",
3390
+ test_flow: "フローを試しに実行する",
3391
+ todo_write: "あとで確認する項目を書き留める",
3392
+ toggle_flow: "フローを有効または無効にする",
3393
+ update_metadata: "メタデータを更新する",
3394
+ validate_expression: "式が正しいか確認する",
3395
+ verify_build: "構築結果を照合する",
3396
+ },
3397
+ toolState: {
3398
+ agentActivity: "エージェントの動作",
3399
+ pending: "待機中",
3400
+ running: "実行中",
3401
+ awaitingApproval: "承認待ち",
3402
+ responded: "応答済み",
3403
+ completed: "完了",
3404
+ error: "エラー",
3405
+ denied: "拒否",
3406
+ failed: "失敗",
3407
+ },
3408
+ phase: {
3409
+ build: "構築",
3410
+ design: "プランの設計",
3411
+ stepCount: "{{count}} ステップ",
3412
+ stepCount_one: "{{count}} ステップ",
3413
+ stepCount_other: "{{count}} ステップ",
3414
+ expand: "ステップを表示",
3415
+ collapse: "ステップを隠す",
3416
+ },
3417
+ plan: {
3418
+ countObjects: "{{count}} 件のオブジェクト",
3419
+ countObjects_one: "{{count}} 件のオブジェクト",
3420
+ countObjects_other: "{{count}} 件のオブジェクト",
3421
+ countViews: "{{count}} 件のビュー",
3422
+ countViews_one: "{{count}} 件のビュー",
3423
+ countViews_other: "{{count}} 件のビュー",
3424
+ countDashboards: "{{count}} 件のダッシュボード",
3425
+ countDashboards_one: "{{count}} 件のダッシュボード",
3426
+ countDashboards_other: "{{count}} 件のダッシュボード",
3427
+ countSeedData: "サンプルデータ",
3428
+ extendTarget: "既存のアプリに追加:{{app}}",
3429
+ awaitingConfirm: "確認待ち",
3430
+ objectsAndFields: "オブジェクトとフィールド",
3431
+ views: "ビュー",
3432
+ suggestedField: "追加提案",
3433
+ nameField: "名前:{{field}}",
3434
+ },
3435
+ build: {
3436
+ building: "{{app}}を構築しています…",
3437
+ built: "{{app}}を構築しました",
3438
+ builtAndLive: "構築して公開済み · {{app}}",
3439
+ appFallback: "アプリ",
3440
+ addingSampleData: "サンプルデータを追加中",
3441
+ group: {
3442
+ object: "オブジェクト",
3443
+ view: "ビュー",
3444
+ dashboard: "ダッシュボード",
3445
+ app: "アプリ",
3446
+ seed: "サンプルデータ",
3447
+ },
3448
+ moreArtifacts: "他 {{n}} 件",
3449
+ verifying: "変更を確認しています…",
3450
+ verifyStep: "ステップ {{n}}",
3451
+ verified: "変更を確認しました",
3452
+ unknownPhase: "不明なビルドフェーズ",
3453
+ nextStepsLead: "次はこう話しかけられます:{{steps}}",
3454
+ nextStepQuote: "「{{step}}」",
3455
+ draftPosture: "以降の変更は下書きとして保存され、Studio で公開します。",
3456
+ checksPassed: "照合済み {{passed}}/{{total}}",
3457
+ },
3458
+ changes: {
3459
+ planTitle: "変更案 · {{count}} 件",
3460
+ planTitle_one: "変更案 · {{count}} 件",
3461
+ planTitle_other: "変更案 · {{count}} 件",
3462
+ saveDraft: "下書きとして保存",
3463
+ reviewAndPublish: "変更を確認して公開",
3464
+ undo: "取り消す",
3465
+ undoWithOthers: "取り消す(ほかの下書き {{count}} 件も含む)",
3466
+ undoWithOthers_one: "取り消す(ほかの下書き {{count}} 件も含む)",
3467
+ undoWithOthers_other: "取り消す(ほかの下書き {{count}} 件も含む)",
3468
+ undoConfirm: "取り消すと、このアプリパッケージの未公開の下書き {{total}} 件がすべて破棄されます。うち {{count}} 件は今回の変更ではありません。",
3469
+ undoConfirm_one: "取り消すと、このアプリパッケージの未公開の下書き {{total}} 件がすべて破棄されます。うち {{count}} 件は今回の変更ではありません。",
3470
+ undoConfirm_other: "取り消すと、このアプリパッケージの未公開の下書き {{total}} 件がすべて破棄されます。うち {{count}} 件は今回の変更ではありません。",
3471
+ undoConfirmUnknown: "取り消すと、今回の変更だけでなく、このアプリパッケージの未公開の下書きがすべて破棄されます。",
3472
+ undoConfirmAction: "すべて取り消す",
3473
+ undoCancel: "キャンセル",
3474
+ undoing: "取り消し中…",
3475
+ undone: "取り消しました",
3476
+ undoFailed: "取り消せませんでした",
3477
+ kind: {
3478
+ field: "フィールド",
3479
+ object: "オブジェクト",
3480
+ view: "ビュー",
3481
+ dashboard: "ダッシュボード",
3482
+ app: "アプリ",
3483
+ seed: "サンプルデータ",
3484
+ package: "アプリパッケージ",
3485
+ },
3486
+ },
3487
+ },
2772
3488
  chatbotError: {
2773
3489
  title: "応答に失敗しました",
2774
3490
  fallbackDetail: "問題が発生しました。もう一度お試しください。",
@@ -2782,10 +3498,13 @@ const ja = {
2782
3498
  buyCredits: "クレジットパックを購入",
2783
3499
  upgradePlan: "プランをアップグレード",
2784
3500
  },
3501
+ planTier: {
3502
+ teamAndUp: "Team プラン以上",
3503
+ },
2785
3504
  environment: {
2786
- addEnvironment: "環境を追加",
2787
3505
  setUpProduction: "本番環境をセットアップ",
2788
3506
  addDevelopment: "開発環境を追加",
3507
+ developmentLocked: "開発環境 · {{tier}}",
2789
3508
  // Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
2790
3509
  entitlement: {
2791
3510
  productionLimitTitle: "本番環境はすでに作成済みです",
@@ -2833,7 +3552,7 @@ const ja = {
2833
3552
  },
2834
3553
  unbound: {
2835
3554
  title: "未接続",
2836
- body: "このランタイムを ObjectStack コントロールプレーンに接続すると、組織のプライベートパッケージを閲覧してここにインストールできます。承認はクラウドアカウントでワンクリック。ID や認証情報をこのページに入力する必要はありません。",
3555
+ body: "このランタイムはコントロールプレーンに接続されていません。「接続」を押すと新しいウィンドウでクラウドアカウントが開き、ワンクリックで接続を承認できます。ID や認証情報をこのページに入力する必要はありません。",
2837
3556
  connect: "接続",
2838
3557
  },
2839
3558
  },
@@ -2846,10 +3565,17 @@ const ja = {
2846
3565
  dismiss: "閉じる",
2847
3566
  confirmedToast: "「{{set}}」を {{anchor}} に付与しました。",
2848
3567
  dismissedToast: "「{{set}}」の提案を閉じました。",
3568
+ guestUnsupported: "ここでは付与できません。Guest ポジションのセットは承認された提案から導出されません。",
3569
+ acceptedState: "「{{set}}」は、サインイン済みの全ユーザー(Everyone ポジション)向けに承認されています。",
3570
+ notInForceState: "「{{set}}」は承認されましたが、まだ有効ではありません。このリクエストでは Everyone ポジションは変更されませんでした。理由はサーバーログに記録されています。",
3571
+ dismissedState: "「{{set}}」は付与されていません。提案は閉じられたか、取り消されました。",
3572
+ revoke: "取り消す",
3573
+ revoking: "取り消しています…",
3574
+ revokedToast: "「{{set}}」の承認を取り消しました。",
2849
3575
  },
2850
3576
  title: "アプリマーケットプレイス",
2851
3577
  subtitle: "ObjectStackカタログに公開された承認済みアプリを参照します。アプリをクリックして詳細を表示し、環境にインストールしてください。",
2852
- searchPlaceholder: "名前またはマニフェストIDでアプリを検索…",
3578
+ searchPlaceholder: '名前またはアプリIDでアプリを検索…',
2853
3579
  searchAria: "マーケットプレイスアプリを検索",
2854
3580
  installed: "インストール済み",
2855
3581
  installedCount: "インストール済み({{count}})",
@@ -2859,21 +3585,26 @@ const ja = {
2859
3585
  noMatchFilters: "フィルターに一致するアプリがありません。",
2860
3586
  noDescription: "説明がありません。",
2861
3587
  back: "マーケットプレイスに戻る",
2862
- installedTitle: "インストール済みアプリ",
2863
- installedSubtitle: "このランタイムのカーネルにインストールされているマーケットプレイスパッケージ。",
2864
- installedEmpty: "このランタイムにはまだマーケットプレイスアプリがインストールされていません。",
2865
3588
  browseLink: "マーケットプレイスを参照 →",
2866
- installedAdditiveNote: "<strong>注意:</strong>カーネルAPIは追加のみです。アンインストールするとディスク上のマニフェストが削除され、次回起動時にパッケージは読み込まれませんが、実行中のカーネルはランタイムを再起動するまでアプリを登録したままにします。",
2867
- installedAt: "{{when}} にインストール",
2868
- installedBy: "{{user}} による",
2869
- installedPackageId: "パッケージ",
2870
- cachedAs: "<code>{{path}}</code> としてキャッシュ",
3589
+ installedAdditiveNote: "アンインストールすると、アプリは実行中のカーネルから直ちに削除され、その権限セットと権限セットの付与も併せて削除されます。キャッシュされたマニフェストも削除されるため、次回起動時にパッケージは読み込まれません。オブジェクトに保存されたレコードはデータベースに残ります。",
2871
3590
  versionBadge: "v{{version}}",
2872
3591
  installedBadge: "インストール済み v{{version}}",
3592
+ // objectui#11645 — an install-local entry this runtime refused to load at
3593
+ // startup (the listing's `notLoaded` marker), read on Installed Apps.
3594
+ notLoaded: {
3595
+ badge: "未読み込み",
3596
+ protocolIncompatible: "このランタイムはこのパッケージを読み込んでいません。このパッケージはプロトコル {{requiredRange}} を対象としていますが、このランタイムはそのプロトコルをサポートしていません。",
3597
+ otherReason: "このランタイムはこのパッケージを読み込んでいません({{code}})。",
3598
+ },
2873
3599
  load: {
2874
3600
  failed: "マーケットプレイスの読み込みに失敗しました",
2875
3601
  failedHintConfigured: "このランタイムは {{url}} のコントロールプレーン経由でマーケットプレイスに接続します。オンラインであること、ここから到達できることを確認してください。",
2876
- failedHintSameOrigin: "このランタイムはマーケットプレイスのカタログを自身で提供しています。ランタイムがオンラインであることを確認してください。",
3602
+ failedHintSameOrigin: "マーケットプレイスのカタログには、このランタイムを経由してアクセスします。ランタイムがオンラインで、カタログに到達できることを確認してください。",
3603
+ loading: "マーケットプレイスのカタログを読み込んでいます…",
3604
+ slow: "まだ読み込み中です — マーケットプレイスのカタログの応答が遅れています。",
3605
+ retry: "再試行",
3606
+ unreachable: "マーケットプレイスのカタログに到達できませんでした。",
3607
+ answeredError: "マーケットプレイスのカタログがエラーを返しました(HTTP {{status}})。",
2877
3608
  packageFailed: "パッケージの読み込みに失敗しました",
2878
3609
  notFound: "見つかりません。",
2879
3610
  },
@@ -2897,10 +3628,15 @@ const ja = {
2897
3628
  purgeSampleData: 'サンプルデータを削除',
2898
3629
  purgeConfirm: 'このパッケージが投入したサンプルレコードをすべて削除しますか?ユーザーが追加したレコードは削除されません。',
2899
3630
  purgeSuccess: '{{count}} 件のサンプルレコードを削除しました。',
3631
+ purgeSuccess_one: '{{count}} 件のサンプルレコードを削除しました。',
3632
+ purgeSuccess_other: '{{count}} 件のサンプルレコードを削除しました。',
2900
3633
  purgeNoData: '削除するサンプルレコードがありません。',
2901
3634
  reseedQueued: 'サンプルデータは次回の環境アクセス時に再投入されます。',
2902
3635
  reseedLocalSuccess: 'サンプルデータを再投入しました:{{inserted}} 件追加、{{updated}} 件更新。',
2903
3636
  reseedPartialErrors: '({{count}} 件のレコードの書き込みに失敗しました)',
3637
+ reseedPartialErrors_one: '({{count}} 件のレコードの書き込みに失敗しました)',
3638
+ reseedPartialErrors_other: '({{count}} 件のレコードの書き込みに失敗しました)',
3639
+ sampleDataKernelUnavailable: 'このコントロールプレーンには環境カーネルがないため、ここではサンプルデータを再投入・削除できません。環境自身のランタイムから実行してください。',
2904
3640
  updateAvailable: 'アップデートあり',
2905
3641
  },
2906
3642
  action: {
@@ -2910,6 +3646,7 @@ const ja = {
2910
3646
  working: "処理中…",
2911
3647
  installToCloud: "クラウドにインストール…",
2912
3648
  installing: "インストール中…",
3649
+ updating: "更新中…",
2913
3650
  uninstall: "アンインストール",
2914
3651
  uninstalling: "アンインストール中…",
2915
3652
  details: "詳細",
@@ -2927,15 +3664,45 @@ const ja = {
2927
3664
  environmentPlaceholder: "環境を選択",
2928
3665
  includeSampleData: "サンプルデータを含む",
2929
3666
  noEnvs: "アクティブな組織に環境が見つかりません。",
2930
- noPermission: "どの環境にもアプリをインストールする権限がありません。組織のオーナーと管理者のみインストールできます。",
3667
+ noPermission: "どの環境にもアプリをインストールする権限がありません。組織のオーナーと管理者のみインストールできます。組織の管理者にお問い合わせください。",
2931
3668
  signInFirst: "最初にObjectStack Cloudにサインインしてください。",
2932
3669
  success: "インストールが完了しました。環境を開いて新しいアプリを確認してください。",
2933
3670
  localSuccess: "このランタイムに v{{version}} をインストールしました。「{{name}}」がアプリスイッチャーに表示されます。",
3671
+ localLoadsAtRestart: "このランタイムに v{{version}} をインストールしました。「{{name}}」はランタイムの次回再起動時に読み込まれ、それまではアプリスイッチャーに表示されません。",
2934
3672
  localManifestConflict: "{{message}}\nヒント:ローカルアプリがすでにこのmanifest_idを使用しています。最初にobjectstack.config.tsから削除してください。",
2935
3673
  localUnauthorized: "最初にこのランタイムにサインインしてから再試行してください。",
2936
3674
  localMarketplaceUnavailable: "このランタイムにはOS_CLOUD_URLが設定されていないため、マーケットプレイスカタログにアクセスできません。",
2937
3675
  updateTo: "更新 → v{{version}}",
2938
3676
  installedVersion: "インストール済み v{{version}}",
3677
+ deploying: "アプリをデプロイしています…",
3678
+ deployed: "アプリのデプロイが完了しました。",
3679
+ openApp: "{{name}} を開く",
3680
+ deployTimeout: "インストールは記録されましたが、この環境ではまだアプリが提供されていません。デプロイ中の可能性があります。しばらくしてから再確認してください。表示されない場合は、パッケージが読み込まれていない、アプリが含まれていない、またはアプリにあなたが持っていない権限が必要な可能性があります。",
3681
+ checkAgain: "再確認",
3682
+ // ADR-0131 D6 — the install modes a package's manifest permits, and
3683
+ // what an unmanaged install answers (MarketplacePackagePage).
3684
+ mode: {
3685
+ label: "インストール方式",
3686
+ managed: "マネージド",
3687
+ managedHint: "パッケージが管理元のままです。コードとして登録され、アップグレードを受け取り、その項目はここでは編集しません。",
3688
+ unmanaged: "アンマネージドコピー",
3689
+ unmanagedHint: "このランタイム自身のメタデータとして一度だけコピーされます。すべての項目をここで編集でき、コピーはアップグレードを受け取りません。",
3690
+ required: "このパッケージをインストールするには、インストール方式を選択してください。",
3691
+ },
3692
+ unmanagedSuccess: "「{{name}}」の v{{version}} を、このランタイム自身のメタデータとしてベース {{base}} にコピーしました。コピーは編集でき、アップグレードは受け取りません。",
3693
+ unmanagedStrippedLocks: "パッケージはこれらの項目をロックしていました。コピーは編集可能なため、ロックはコピーされていません:",
3694
+ unmanagedIgnored: "このランタイムはアンマネージドインストールに対応していないため、「{{name}}」はコピーではなくマネージド(コードとして登録)でインストールされました。ランタイムをアップグレードしてから、パッケージをアンインストールし、アンマネージドコピーとして再度インストールしてください。",
3695
+ },
3696
+ // objectui#12146 — the install dialog opened as an UPDATE of the copy
3697
+ // this environment holds (MarketplacePackagePage).
3698
+ update: {
3699
+ dialogTitle: "{{name}} を更新",
3700
+ dialogDescCurrent: "この環境({{host}})にインストール済みのアプリを更新します。",
3701
+ dialogDescPicker: "インストール済みのアプリを更新する環境を選択します。ObjectStack Cloudにサインインする必要があります。",
3702
+ majorNotice: "メジャーバージョンの更新です(v{{fromMajor}} → v{{toMajor}})。互換性のない変更が含まれる可能性があります。",
3703
+ releaseNotes: "v{{version}} のリリースノートを読む",
3704
+ success: "v{{version}} に更新しました。",
3705
+ deployTimeout: "更新は記録されましたが、この環境ではまだ v{{version}} が提供されていません。デプロイ中の可能性があります。しばらくしてから再確認してください。",
2939
3706
  },
2940
3707
  // objectui#3546 — the MarketplacePage "Your organization" strip.
2941
3708
  org: {
@@ -2953,7 +3720,8 @@ const ja = {
2953
3720
  reviewed: "審査・承認済み",
2954
3721
  unreviewed: "未審査",
2955
3722
  signed: "署名済み",
2956
- grantsIntro: "インストール時に、このパッケージには次の権限が付与されます:",
3723
+ grantsIntro: "このパッケージは次の権限を要求します:",
3724
+ notEnforced: "この一覧はインストール時に記録され、新しいバージョンがより多くを要求した場合は再確認されます。ただしランタイムはまだ、このパッケージをこの一覧に制限しません。",
2957
3725
  services: "プラットフォームサービス",
2958
3726
  hooks: "ライフサイクルフック",
2959
3727
  network: "ネットワークアクセス",
@@ -2967,9 +3735,11 @@ const ja = {
2967
3735
  },
2968
3736
  },
2969
3737
  uninstall: {
2970
- confirm: "このランタイムから {{manifestId}} v{{version}} をアンインストールしますか?\n\nキャッシュされたマニフェストが削除されます。アプリは次の再起動まで実行中のカーネルに読み込まれたままになります。",
2971
- successInList: "{{manifestId}} を削除しました。ランタイムを再起動して実行中のカーネルから完全にアンロードしてください。",
2972
- successInDetail: "{{manifestId}} のキャッシュされたマニフェストを削除しました。ランタイムを再起動してアプリを完全にアンロードしてください。",
3738
+ confirm: "このランタイムから {{manifestId}} v{{version}} をアンインストールしますか?\n\nアプリは実行中のカーネルから直ちに削除され、その権限セットと権限セットの付与も併せて削除されます。キャッシュされたマニフェストも削除されます。オブジェクトに保存されたレコードはデータベースに残ります。",
3739
+ successInList: "{{manifestId}} を削除しました。アプリは実行中のカーネルから削除され、その権限セットと権限セットの付与も削除されました。オブジェクトに保存されたレコードはデータベースに残ります。",
3740
+ successInDetail: "{{manifestId}} とそのキャッシュされたマニフェストを削除しました。アプリは実行中のカーネルから削除され、その権限セットと権限セットの付与も削除されました。オブジェクトに保存されたレコードはデータベースに残ります。",
3741
+ confirmNotLoaded: "このランタイムから {{manifestId}} v{{version}} をアンインストールしますか?\n\nキャッシュされたマニフェストが削除されます。このランタイムはこのパッケージを読み込んでいないため、実行中の部分はありません。",
3742
+ successNotLoaded: "{{manifestId}} を削除しました。読み込まれていなかったため、再起動は不要です。",
2973
3743
  },
2974
3744
  accessDenied: {
2975
3745
  title: "アプリマーケットプレイスは管理者専用です",
@@ -2992,30 +3762,19 @@ const ja = {
2992
3762
  storage: "ストレージ",
2993
3763
  other: "その他",
2994
3764
  },
2995
- pricing: {
2996
- free: "無料",
2997
- freemium: "フリーミアム",
2998
- paid: "有料",
2999
- subscription: "サブスクリプション",
3000
- "usage-based": "使用量ベース",
3001
- "contact-sales": "営業に問い合わせ",
3002
- },
3003
3765
  relativeTime: {
3004
3766
  today: "今日",
3005
3767
  daysAgo: "{{count}}日前",
3006
3768
  monthsAgo: "{{count}}ヶ月前",
3769
+ monthsAgo_one: "{{count}}ヶ月前",
3770
+ monthsAgo_other: "{{count}}ヶ月前",
3007
3771
  yearsAgo: "{{count}}年前",
3772
+ yearsAgo_one: "{{count}}年前",
3773
+ yearsAgo_other: "{{count}}年前",
3008
3774
  },
3009
3775
  },
3010
- approvals: {
3011
- approve: '承認',
3012
- reject: '却下',
3013
- comment: 'コメント(任意)',
3014
- approveSuccess: '承認しました',
3015
- rejectSuccess: '却下しました',
3016
- rejectConfirm: 'この承認リクエストを却下しますか?',
3017
- },
3018
3776
  approvalsInbox: {
3777
+ recordUnresolvable: 'このレコードは開けません',
3019
3778
  loadMore: 'さらに読み込む',
3020
3779
  loadingMore: '読み込み中…',
3021
3780
  loadedOf: '{{total}} 件中 {{loaded}} 件を表示',
@@ -3034,6 +3793,8 @@ const ja = {
3034
3793
  requestInfoSent: '追加情報を求めて差し戻しました',
3035
3794
  remindBtn: 'リマインド',
3036
3795
  remindSuccess: '{{count}} 名の承認者に通知しました',
3796
+ remindSuccess_one: '{{count}} 名の承認者に通知しました',
3797
+ remindSuccess_other: '{{count}} 名の承認者に通知しました',
3037
3798
  remindThrottled: 'リマインドは送信済みです。しばらくしてからお試しください。',
3038
3799
  replyPlaceholder: 'このリクエストに返信…',
3039
3800
  slaRemaining: 'SLA 残り {{dur}}',
@@ -3050,8 +3811,11 @@ const ja = {
3050
3811
  progressApprovals: '承認 — {{got}} / {{need}}',
3051
3812
  progressGroups: 'グループ承認 — {{got}} / {{need}} グループ',
3052
3813
  progressEligible: '承認可能者 {{count}} 名',
3814
+ progressEligible_one: '承認可能者 {{count}} 名',
3815
+ progressEligible_other: '承認可能者 {{count}} 名',
3053
3816
  progressBar: '承認の進捗',
3054
3817
  declaredActions: 'アクション',
3818
+ decisionPanelOffRequestPage: '承認の決定パネルは承認リクエストのページでのみ機能します。',
3055
3819
  attachmentChip: '添付ファイル',
3056
3820
  attachmentOpenFailed: '添付ファイルを開けませんでした。もう一度お試しください',
3057
3821
  approveOneTitle: '「{{title}}」を承認しますか?',
@@ -3081,6 +3845,8 @@ const ja = {
3081
3845
  filterCount: '{{shown}} / {{total}} 件',
3082
3846
  selected: '選択中',
3083
3847
  actionableCount: '({{count}} 件操作可能)',
3848
+ actionableCount_one: '({{count}} 件操作可能)',
3849
+ actionableCount_other: '({{count}} 件操作可能)',
3084
3850
  selectAll: 'すべて選択',
3085
3851
  selectRow: 'このリクエストを選択',
3086
3852
  colRequest: '承認事項',
@@ -3115,6 +3881,9 @@ const ja = {
3115
3881
  emptyPending: 'すべて処理済みです。あなたの承認待ちはありません。',
3116
3882
  emptyOther: 'まだ何もありません。',
3117
3883
  emptyViewAll: 'すべてのリクエストを見る',
3884
+ waitingOnOthers: "{{count}} 件の申請が他の承認者を待っています",
3885
+ waitingOnOthers_one: "{{count}} 件の申請が他の承認者を待っています",
3886
+ waitingOnOthers_other: "{{count}} 件の申請が他の承認者を待っています",
3118
3887
  noMatches: '現在のフィルターに一致するものはありません。',
3119
3888
  keyboardHint: 'ショートカット:j/k 移動 · Enter 開く · x 選択 · a 承認 · r 却下',
3120
3889
  drawerTitle: '承認リクエスト',
@@ -3132,12 +3901,12 @@ const ja = {
3132
3901
  overrideActionLabel: '{{action}}(管理者権限)',
3133
3902
  overrideNotice: 'このステップの承認者枠をお持ちではありません。続行すると管理者オーバーライドが使われ、ステップは直ちに確定し、未対応の承認者はすべてスキップされます。この決定は管理者オーバーライドとして記録されます。',
3134
3903
  overrideNoticeWho: 'このステップの承認者枠をお持ちではありません。続行すると管理者オーバーライドが使われ、ステップは直ちに確定し、未対応の承認者 — {{who}} — はスキップされます。この決定は管理者オーバーライドとして記録されます。',
3904
+ overrideReassignNotice: 'このステップの承認者枠をお持ちではありません。続行すると管理者オーバーライドが使われ、ステップは選択した新しい承認者に引き継がれ、未対応の承認者はすべて置き換えられます。リクエストは承認待ちのまま、新しい承認者の対応を待ちます。この引き継ぎは管理者オーバーライドとして記録されます。',
3905
+ overrideReassignNoticeWho: 'このステップの承認者枠をお持ちではありません。続行すると管理者オーバーライドが使われ、ステップは選択した新しい承認者に引き継がれ、未対応の承認者 — {{who}} — は置き換えられます。リクエストは承認待ちのまま、新しい承認者の対応を待ちます。この引き継ぎは管理者オーバーライドとして記録されます。',
3906
+ overrideRecallNotice: 'あなたが申請したリクエストではありません。続行すると管理者オーバーライドが使われ、リクエストは取り下げられ、未対応の承認者はすべて操作できなくなり、レコードのロックが解除されます。',
3907
+ overrideRecallNoticeWho: 'あなたが申請したリクエストではありません。続行すると管理者オーバーライドが使われ、リクエストは取り下げられ、レコードのロックが解除され、未対応の承認者 — {{who}} — は操作できなくなります。',
3135
3908
  viaOverrideChip: '管理者オーバーライド',
3136
3909
  viaOverrideHint: '操作者はこのステップの承認者枠を持たず、管理者オーバーライド経路で実行しました。',
3137
- rawData: '生データ(JSON)',
3138
- copy: 'コピー',
3139
- copied: 'コピーしました',
3140
- copyFailed: 'コピーに失敗しました',
3141
3910
  overrideActor: '別のIDで操作(管理者)',
3142
3911
  actor: '操作ID',
3143
3912
  auto: '自動',
@@ -3154,11 +3923,19 @@ const ja = {
3154
3923
  approveN: '{{count}} 件を承認',
3155
3924
  rejectN: '{{count}} 件を却下',
3156
3925
  bulkApproveTitle: 'この {{count}} 件を承認しますか?',
3926
+ bulkApproveTitle_one: 'この {{count}} 件を承認しますか?',
3927
+ bulkApproveTitle_other: 'この {{count}} 件を承認しますか?',
3157
3928
  bulkApproveBody: '各リクエストはあなたのIDで承認され、フローは承認ブランチに進みます。',
3158
3929
  bulkRejectTitle: 'この {{count}} 件を却下しますか?',
3930
+ bulkRejectTitle_one: 'この {{count}} 件を却下しますか?',
3931
+ bulkRejectTitle_other: 'この {{count}} 件を却下しますか?',
3159
3932
  bulkRejectBody: '選択したリクエストを却下し、各申請者に通知します。',
3160
3933
  bulkApproved: '{{count}} 件を承認しました',
3934
+ bulkApproved_one: '{{count}} 件を承認しました',
3935
+ bulkApproved_other: '{{count}} 件を承認しました',
3161
3936
  bulkRejected: '{{count}} 件を却下しました',
3937
+ bulkRejected_one: '{{count}} 件を却下しました',
3938
+ bulkRejected_other: '{{count}} 件を却下しました',
3162
3939
  bulkPartial: '{{ok}} 件成功、{{fail}} 件失敗:{{which}}',
3163
3940
  rejectOneTitle: '「{{title}}」を却下しますか?',
3164
3941
  rejectOneBody: 'リクエストを却下し、申請者に通知します。',
@@ -3183,8 +3960,14 @@ const ja = {
3183
3960
  alreadyDecided: 'このリクエストは処理済みです。一覧を更新してください。',
3184
3961
  justNow: 'たった今',
3185
3962
  minutesAgo: '{{count}} 分前',
3963
+ minutesAgo_one: '{{count}} 分前',
3964
+ minutesAgo_other: '{{count}} 分前',
3186
3965
  hoursAgo: '{{count}} 時間前',
3966
+ hoursAgo_one: '{{count}} 時間前',
3967
+ hoursAgo_other: '{{count}} 時間前',
3187
3968
  daysAgo: '{{count}} 日前',
3969
+ daysAgo_one: '{{count}} 日前',
3970
+ daysAgo_other: '{{count}} 日前',
3188
3971
  },
3189
3972
  preview: {
3190
3973
  empty: {
@@ -3205,6 +3988,9 @@ const ja = {
3205
3988
  publishing: '公開中…',
3206
3989
  exit: 'プレビューを終了',
3207
3990
  changes: '変更',
3991
+ pendingHere: '下書きプレビュー · このページの未公開の変更 {{count}} 件',
3992
+ pendingHere_one: '下書きプレビュー · このページの未公開の変更 {{count}} 件',
3993
+ pendingHere_other: '下書きプレビュー · このページの未公開の変更 {{count}} 件',
3208
3994
  },
3209
3995
  changes: {
3210
3996
  title: '保留中の変更',
@@ -3219,11 +4005,65 @@ const ja = {
3219
4005
  detailNone: '差分は検出されませんでした — ドラフトは公開版と一致しています。',
3220
4006
  detailChangedKeys: 'その他の変更:',
3221
4007
  confirmNote: '公開すると、このパッケージの保留中ドラフト {{count}} 件がまとめて(アトミックに)公開されます。',
4008
+ confirmNote_one: '公開すると、このパッケージの保留中ドラフト {{count}} 件がまとめて(アトミックに)公開されます。',
4009
+ confirmNote_other: '公開すると、このパッケージの保留中ドラフト {{count}} 件がまとめて(アトミックに)公開されます。',
4010
+ // objectui#11591 — the package-less sheet: no package to batch, so each
4011
+ // draft publishes by itself and one that fails stays pending.
4012
+ confirmNoteSeparate: '公開すると、保留中のドラフト {{count}} 件がそれぞれ個別に公開されます。公開に失敗したドラフトは保留中のまま残り、ほかのドラフトは公開されます。',
4013
+ confirmNoteSeparate_one: '公開すると、保留中のドラフト {{count}} 件がそれぞれ個別に公開されます。公開に失敗したドラフトは保留中のまま残り、ほかのドラフトは公開されます。',
4014
+ confirmNoteSeparate_other: '公開すると、保留中のドラフト {{count}} 件がそれぞれ個別に公開されます。公開に失敗したドラフトは保留中のまま残り、ほかのドラフトは公開されます。',
3222
4015
  publishConfirm: 'すべて公開',
3223
- // [objectui#5418] Pre-publish security-posture findings, shown next to
4016
+ summaryItems: '{{count}} 件',
4017
+ summaryItems_one: '{{count}} 件',
4018
+ summaryItems_other: '{{count}} 件',
4019
+ summaryType: '{{type}} {{n}}',
4020
+ typeCount: {
4021
+ object: 'オブジェクト {{count}}',
4022
+ object_one: 'オブジェクト {{count}}',
4023
+ object_other: 'オブジェクト {{count}}',
4024
+ view: 'ビュー {{count}}',
4025
+ view_one: 'ビュー {{count}}',
4026
+ view_other: 'ビュー {{count}}',
4027
+ page: 'ページ {{count}}',
4028
+ page_one: 'ページ {{count}}',
4029
+ page_other: 'ページ {{count}}',
4030
+ dashboard: 'ダッシュボード {{count}}',
4031
+ dashboard_one: 'ダッシュボード {{count}}',
4032
+ dashboard_other: 'ダッシュボード {{count}}',
4033
+ app: 'アプリ {{count}}',
4034
+ app_one: 'アプリ {{count}}',
4035
+ app_other: 'アプリ {{count}}',
4036
+ action: 'アクション {{count}}',
4037
+ action_one: 'アクション {{count}}',
4038
+ action_other: 'アクション {{count}}',
4039
+ report: 'レポート {{count}}',
4040
+ report_one: 'レポート {{count}}',
4041
+ report_other: 'レポート {{count}}',
4042
+ flow: 'フロー {{count}}',
4043
+ flow_one: 'フロー {{count}}',
4044
+ flow_other: 'フロー {{count}}',
4045
+ permission: '権限セット {{count}}',
4046
+ permission_one: '権限セット {{count}}',
4047
+ permission_other: '権限セット {{count}}',
4048
+ agent: 'エージェント {{count}}',
4049
+ agent_one: 'エージェント {{count}}',
4050
+ agent_other: 'エージェント {{count}}',
4051
+ email_template: 'メールテンプレート {{count}}',
4052
+ email_template_one: 'メールテンプレート {{count}}',
4053
+ email_template_other: 'メールテンプレート {{count}}',
4054
+ },
4055
+ // objectui#12929 — the unchecked choice under an added object field whose
4056
+ // literal default the batch publish can write into the existing records.
4057
+ backfillOption: '既定値を補完(既存レコード {{count}} 件)',
4058
+ backfillOption_one: '既定値を補完(既存レコード {{count}} 件)',
4059
+ backfillOption_other: '既定値を補完(既存レコード {{count}} 件)',
4060
+ backfillOptionNoCount: '既定値を補完',
4061
+ // [`7a90afdf9`] Pre-publish security-posture findings, shown next to
3224
4062
  // the confirm button so a refusal the door would issue is read BEFORE
3225
4063
  // the click rather than as a toast after the batch rolled back.
3226
4064
  securityBlockTitle: '公開は拒否されます — {{count}} 件の項目に先に決定が必要です',
4065
+ securityBlockTitle_one: '公開は拒否されます — {{count}} 件の項目に先に決定が必要です',
4066
+ securityBlockTitle_other: '公開は拒否されます — {{count}} 件の項目に先に決定が必要です',
3227
4067
  securityBlockWhere: 'オブジェクトの「設定 → レコード共有」で修正してから、もう一度公開してください。',
3228
4068
  },
3229
4069
  // ADR-0045 — the materialized-but-unlisted app banner
@@ -3248,7 +4088,7 @@ const ja = {
3248
4088
  revertLabel: '変更を取り消しました',
3249
4089
  applyLabel: 'ビルドによる変更',
3250
4090
  revert: '取り消し',
3251
- items: '件',
4091
+ items: '{{count}} 件',
3252
4092
  revertAction: '取り消す',
3253
4093
  reverted: '取り消しました — 変更を元に戻しました。',
3254
4094
  revertFailed: '取り消しに失敗しました',
@@ -3277,28 +4117,32 @@ const ja = {
3277
4117
  rangeEnd: "終了",
3278
4118
  operators: {
3279
4119
  equals: "等しい",
3280
- notEquals: "等しくない",
4120
+ not_equals: "等しくない",
3281
4121
  contains: "含む",
3282
- containsCaseInsensitive: "含む(大文字小文字を区別しない)",
3283
- notContains: "含まない",
3284
- isEmpty: "空である",
3285
- isNotEmpty: "空でない",
3286
- greaterThan: "より大きい",
3287
- lessThan: "より小さい",
3288
- greaterOrEqual: "以上",
3289
- lessOrEqual: "以下",
4122
+ icontains: "含む(大文字小文字を区別しない)",
4123
+ not_contains: "含まない",
4124
+ is_empty: "空である",
4125
+ is_not_empty: "空でない",
4126
+ greater_than: "より大きい",
4127
+ less_than: "より小さい",
4128
+ greater_than_or_equal: "以上",
4129
+ less_than_or_equal: "以下",
3290
4130
  before: "より前",
3291
4131
  after: "より後",
3292
4132
  between: "範囲内",
3293
4133
  in: "いずれか",
3294
- notIn: "いずれでもない",
3295
- startsWith: "前方一致",
3296
- endsWith: "後方一致",
3297
- isNull: "null である",
3298
- isNotNull: "null でない",
4134
+ not_in: "いずれでもない",
4135
+ starts_with: "前方一致",
4136
+ ends_with: "後方一致",
4137
+ is_null: "null である",
4138
+ is_not_null: "null でない",
3299
4139
  exists: "設定済み",
3300
4140
  notExists: "未設定",
3301
4141
  },
4142
+ emptyCheckHint: {
4143
+ text: '「{{isEmpty}}」は空白のテキストにも一致します。「{{isNull}}」は値がない場合にのみ一致します。',
4144
+ list: '「{{isEmpty}}」は空のリストにも一致します。「{{isNull}}」は値がない場合にのみ一致します。',
4145
+ },
3302
4146
  },
3303
4147
  sortBuilder: {
3304
4148
  sortBy: "並べ替え",
@@ -3311,7 +4155,8 @@ const ja = {
3311
4155
  },
3312
4156
  collaboration: {
3313
4157
  commentCount: "コメント {{count}} 件",
3314
- commentCountOne: "コメント {{count}} 件",
4158
+ commentCount_one: "コメント {{count}} 件",
4159
+ commentCount_other: "コメント {{count}} 件",
3315
4160
  resolvedSuffix: " · 解決済み",
3316
4161
  sortComments: "コメントの並べ替え",
3317
4162
  sortOldest: "古い順",
@@ -3320,11 +4165,18 @@ const ja = {
3320
4165
  reopen: "再オープン",
3321
4166
  justNow: "たった今",
3322
4167
  minutesAgo: "{{count}} 分前",
4168
+ minutesAgo_one: "{{count}} 分前",
4169
+ minutesAgo_other: "{{count}} 分前",
3323
4170
  hoursAgo: "{{count}} 時間前",
4171
+ hoursAgo_one: "{{count}} 時間前",
4172
+ hoursAgo_other: "{{count}} 時間前",
3324
4173
  daysAgo: "{{count}} 日前",
4174
+ daysAgo_one: "{{count}} 日前",
4175
+ daysAgo_other: "{{count}} 日前",
3325
4176
  edited: "(編集済み)",
3326
4177
  reactionCount: "リアクション {{count}} 件",
3327
- reactionCountOne: "リアクション {{count}} 件",
4178
+ reactionCount_one: "リアクション {{count}} 件",
4179
+ reactionCount_other: "リアクション {{count}} 件",
3328
4180
  addThumbsUp: "いいねを追加",
3329
4181
  reply: "返信",
3330
4182
  reactThumbsUp: "いいねでリアクション",
@@ -3335,9 +4187,11 @@ const ja = {
3335
4187
  commentPlaceholder: "コメントを追加…(@ でメンション)",
3336
4188
  send: "送信",
3337
4189
  presentUserCount: "オンライン {{count}} 人",
3338
- presentUserCountOne: "オンライン {{count}} 人",
4190
+ presentUserCount_one: "オンライン {{count}} 人",
4191
+ presentUserCount_other: "オンライン {{count}} 人",
3339
4192
  moreUserCount: "他 {{count}} 人",
3340
- moreUserCountOne: "他 {{count}} 人",
4193
+ moreUserCount_one: "他 {{count}} 人",
4194
+ moreUserCount_other: "他 {{count}} 人",
3341
4195
  userStatusTitle: "{{name}}({{status}})",
3342
4196
  statusActive: "アクティブ",
3343
4197
  statusIdle: "アイドル",
@@ -3345,6 +4199,11 @@ const ja = {
3345
4199
  },
3346
4200
  wizard: {
3347
4201
  missingRequired: "必須項目を入力してください: {{fields}}",
4202
+ back: "戻る",
4203
+ submitting: "送信中…",
4204
+ stepFallback: "ステップ {{n}}",
4205
+ progressLabel: "進捗",
4206
+ emptyStep: "このステップにはフィールドが設定されていません",
3348
4207
  },
3349
4208
  flowRunner: {
3350
4209
  title: '入力',
@@ -3394,6 +4253,8 @@ const ja = {
3394
4253
  setDefaultFailed: "デフォルトアプリの設定に失敗しました:{{reason}}",
3395
4254
  appDeleted: "{{name}} を削除しました",
3396
4255
  deleteFailed: "アプリの削除に失敗しました:{{reason}}",
4256
+ nothingToDelete: "{{name}} に削除するものはありません:{{reason}}",
4257
+ alreadyAtDefault: "すでにパッケージの既定の状態です",
3397
4258
  bulkEnabled: "{{n}} 件のアプリを有効化しました",
3398
4259
  bulkDisabled: "{{n}} 件のアプリを無効化しました",
3399
4260
  bulkFailed: "{{n}} 件失敗しました:{{details}}",
@@ -3402,5 +4263,130 @@ const ja = {
3402
4263
  bulkOperationFailed: "一括操作に失敗しました:{{reason}}",
3403
4264
  },
3404
4265
  },
4266
+ // objectui#6301 — 設定 › パッケージ自動化 (ADR-0126 §7.4)。用語は既存訳に
4267
+ // 合わせています: `common.package` = パッケージ、`flowRunner.completed` =
4268
+ // フロー、引用符は「」。⛔ 系譜・ドリフトを示す語はこのグループに置きません (§9)。
4269
+ packagedAutomation: {
4270
+ title: "パッケージ自動化",
4271
+ subtitle: "インストール済みパッケージが提供するフローとアクションです。このデプロイでオフにできます。フローは新しい名前でクローンしてカスタマイズすることもできます。編集は Studio で行います。",
4272
+ refresh: "更新",
4273
+ flowsHeading: "パッケージフロー",
4274
+ actionsHeading: "パッケージアクション",
4275
+ colFlow: "フロー",
4276
+ colActivation: "有効状態",
4277
+ colActions: "操作",
4278
+ toggleLabel: "{{label}} の有効状態",
4279
+ on: "オン",
4280
+ off: "オフ",
4281
+ notRunning: "ここでは実行されていません",
4282
+ clone: "クローン",
4283
+ cloneTitle: "パッケージフローをクローン",
4284
+ cloneBody: "コピーは定義全体を引き継ぎ、新しいマシン名とラベルが必要です。コピーの編集は Studio で行ってください。",
4285
+ cloneName: "新しいマシン名",
4286
+ cloneLabel: "新しいラベル",
4287
+ cancel: "キャンセル",
4288
+ cloneConfirm: "クローンを作成",
4289
+ cloneCreated: "フロー「{{name}}」を作成しました。",
4290
+ cloneSwitchSourceOff: "「{{label}}」をオフにする",
4291
+ cloneSourceOff: "パッケージフロー「{{label}}」はオフです。",
4292
+ cloneOpen: "Studio でコピーを開く",
4293
+ emptyTitle: "パッケージフローはありません",
4294
+ emptyBody: "このデプロイには、自動化フローを提供するインストール済みパッケージがありません。自分で作成したフローは Studio にあります。",
4295
+ loadFailed: "パッケージ自動化を読み込めませんでした。",
4296
+ toggleFailedHttp: "有効状態を変更できませんでした (HTTP {{status}})。",
4297
+ toggleFailed: "有効状態を変更できませんでした。",
4298
+ cloneFailedHttp: "このフローをクローンできませんでした (HTTP {{status}})。",
4299
+ cloneFailed: "このフローをクローンできませんでした。",
4300
+ reasonDetails: "詳細",
4301
+ actionsSubtitle: "インストール済みパッケージが提供するアクションです。このデプロイでオフにすると、提供されているすべての場所で実行されなくなります。自分のアクションを別途 Studio で作成することは引き続き可能です。",
4302
+ colAction: "アクション",
4303
+ colObject: "オブジェクト",
4304
+ actionToggleLabel: "{{object}} の {{label}} の有効状態",
4305
+ actionsEmptyTitle: "パッケージアクションはありません",
4306
+ actionsEmptyBody: "このデプロイには、アクションを宣言するインストール済みパッケージがありません。自分で作成したアクションは Studio にあります。",
4307
+ actionsLoadFailed: "パッケージアクションを読み込めませんでした。",
4308
+ },
4309
+ element: {
4310
+ number: {
4311
+ noObject: "オブジェクトが指定されていません。dataSource.object を設定してください。",
4312
+ sourceUnresolved: "この指標のデータソースを解決できませんでした",
4313
+ },
4314
+ image: {
4315
+ noSource: "画像ソースがありません",
4316
+ },
4317
+ recordPicker: {
4318
+ sourceUnresolved: "このレコードピッカーのデータソースを解決できませんでした",
4319
+ },
4320
+ calendar: {
4321
+ sourceUnresolved: "このカレンダーのデータソースを解決できませんでした",
4322
+ },
4323
+ chart: {
4324
+ sourceUnresolved: "このグラフのデータソースを解決できませんでした",
4325
+ },
4326
+ pivotTable: {
4327
+ sourceUnresolved: "このピボットテーブルのデータソースを解決できませんでした",
4328
+ },
4329
+ detailView: {
4330
+ sourceUnresolved: "この詳細ビューのデータソースを解決できませんでした",
4331
+ },
4332
+ relatedList: {
4333
+ sourceUnresolved: "この関連リストのデータソースを解決できませんでした",
4334
+ parentUnreadable: "この関連リストの親レコードを読み込めませんでした",
4335
+ },
4336
+ form: {
4337
+ sourceUnresolved: "このフォームのデータソースを解決できませんでした",
4338
+ },
4339
+ lineItems: {
4340
+ sourceUnresolved: "この明細行パネルのデータソースを解決できませんでした",
4341
+ },
4342
+ gantt: {
4343
+ sourceUnresolved: "このガントチャートのデータソースを解決できませんでした",
4344
+ },
4345
+ grid: {
4346
+ sourceUnresolved: "このグリッドのデータソースを解決できませんでした",
4347
+ },
4348
+ board: {
4349
+ sourceUnresolved: "このボードのデータソースを解決できませんでした",
4350
+ },
4351
+ listView: {
4352
+ sourceUnresolved: "このリストビューのデータソースを解決できませんでした",
4353
+ },
4354
+ map: {
4355
+ sourceUnresolved: "この地図のデータソースを解決できませんでした",
4356
+ },
4357
+ timeline: {
4358
+ sourceUnresolved: "このタイムラインのデータソースを解決できませんでした",
4359
+ },
4360
+ component: {
4361
+ sourceUnresolved: "このコンポーネントのデータソースを解決できませんでした",
4362
+ noDataSource: "データソースが解決されていません",
4363
+ apiRefused: "このコンポーネントの API データソースは拒否されました",
4364
+ apiUnreadable: "このコンポーネントの API データソースを読み取れませんでした",
4365
+ },
4366
+ metadataViewer: {
4367
+ missingKey: "このビューには {{key}} がありません。",
4368
+ loading: "{{name}} を読み込み中…",
4369
+ loadFailed: "{{name}} を読み込めませんでした: {{message}}",
4370
+ notFound: "{{name}} が見つかりません。",
4371
+ stateMachine: "ステートマシン",
4372
+ flow: "フロー",
4373
+ permission: "権限",
4374
+ noStateMachine: "{{object}} にステートマシンがありません。",
4375
+ noStateMachineNamed: "{{object}} に「{{name}}」という名前のステートマシンがありません。",
4376
+ lifecycle: "{{object}} のライフサイクル",
4377
+ field: "フィールド {{field}}",
4378
+ initial: "初期",
4379
+ final: "最終",
4380
+ steps: "ステップ: {{count}}",
4381
+ noSteps: "表示するステップがありません。",
4382
+ untitledStep: "(ステップ)",
4383
+ hiddenSteps: "非表示の技術ステップ: {{count}} · すべて表示するには {{setting}} を設定",
4384
+ objectAccess: "オブジェクトアクセス: {{count}}",
4385
+ noPermissions: "オブジェクト権限が宣言されていません。",
4386
+ object: "オブジェクト",
4387
+ unknownType: "不明なメタデータビューの種類です。{{a}}、{{b}}、{{c}} のいずれかを指定してください。",
4388
+ unknownTypeNamed: "不明なメタデータビューの種類「{{type}}」です。{{a}}、{{b}}、{{c}} のいずれかを指定してください。",
4389
+ },
4390
+ },
3405
4391
  };
3406
4392
  export default ja;