@moraya/core 0.3.1 → 0.4.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 (52) hide show
  1. package/README.md +215 -41
  2. package/dist/ai/drivers/claude.d.ts +6 -0
  3. package/dist/ai/drivers/claude.js +229 -0
  4. package/dist/ai/drivers/claude.js.map +1 -0
  5. package/dist/ai/drivers/gemini.d.ts +6 -0
  6. package/dist/ai/drivers/gemini.js +212 -0
  7. package/dist/ai/drivers/gemini.js.map +1 -0
  8. package/dist/ai/drivers/index.d.ts +14 -0
  9. package/dist/ai/drivers/index.js +617 -0
  10. package/dist/ai/drivers/index.js.map +1 -0
  11. package/dist/ai/drivers/ollama.d.ts +8 -0
  12. package/dist/ai/drivers/ollama.js +158 -0
  13. package/dist/ai/drivers/ollama.js.map +1 -0
  14. package/dist/ai/drivers/openai.d.ts +7 -0
  15. package/dist/ai/drivers/openai.js +225 -0
  16. package/dist/ai/drivers/openai.js.map +1 -0
  17. package/dist/ai/drivers/tool-bridge.d.ts +37 -0
  18. package/dist/ai/drivers/tool-bridge.js +138 -0
  19. package/dist/ai/drivers/tool-bridge.js.map +1 -0
  20. package/dist/ai/drivers/types.d.ts +2 -0
  21. package/dist/ai/drivers/types.js +1 -0
  22. package/dist/ai/drivers/types.js.map +1 -0
  23. package/dist/ai/drivers/util.d.ts +13 -0
  24. package/dist/ai/drivers/util.js +40 -0
  25. package/dist/ai/drivers/util.js.map +1 -0
  26. package/dist/ai/image.d.ts +37 -0
  27. package/dist/ai/image.js +36 -0
  28. package/dist/ai/image.js.map +1 -0
  29. package/dist/ai/index.d.ts +37 -0
  30. package/dist/ai/index.js +826 -0
  31. package/dist/ai/index.js.map +1 -0
  32. package/dist/ai/types.d.ts +92 -0
  33. package/dist/ai/types.js +1 -0
  34. package/dist/ai/types.js.map +1 -0
  35. package/dist/ai/voice.d.ts +42 -0
  36. package/dist/ai/voice.js +34 -0
  37. package/dist/ai/voice.js.map +1 -0
  38. package/dist/chat-markdown/index.d.ts +82 -0
  39. package/dist/chat-markdown/index.js +165 -0
  40. package/dist/chat-markdown/index.js.map +1 -0
  41. package/dist/i18n/locales/ar.json +802 -732
  42. package/dist/i18n/locales/de.json +908 -838
  43. package/dist/i18n/locales/es.json +948 -876
  44. package/dist/i18n/locales/fr.json +1780 -1708
  45. package/dist/i18n/locales/hi.json +1804 -1734
  46. package/dist/i18n/locales/ja.json +835 -765
  47. package/dist/i18n/locales/ko.json +1779 -1709
  48. package/dist/i18n/locales/pt.json +890 -820
  49. package/dist/i18n/locales/ru.json +808 -738
  50. package/dist/i18n/locales/zh-Hant.json +1035 -965
  51. package/dist/types-CwM77g7u.d.ts +88 -0
  52. package/package.json +26 -2
@@ -1,60 +1,58 @@
1
1
  {
2
2
  "admin": {
3
- "__mt": true,
4
- "title": "Team Admin",
5
- "tab_members": "Members",
6
- "tab_kbs": "Knowledge Bases",
3
+ "title": "チーム管理者",
4
+ "tab_members": "メンバー",
5
+ "tab_kbs": "知識ベース",
7
6
  "tab_usage": "Usage",
8
- "members": "Members",
7
+ "members": "メンバー",
9
8
  "knowledge_bases": "Knowledge Bases",
10
- "invite_member": "Invite Member",
11
- "remove_member": "Remove",
12
- "create_kb": "Create KB",
13
- "no_members": "No members yet.",
14
- "no_kbs": "No knowledge bases yet.",
15
- "col_name": "Name",
16
- "col_email": "Email",
17
- "col_role": "Role",
18
- "col_joined": "Joined",
9
+ "invite_member": "メンバーを招待する",
10
+ "remove_member": "取り除く",
11
+ "create_kb": "ナレッジベースの作成",
12
+ "no_members": "まだメンバーがいません。",
13
+ "no_kbs": "ナレッジベースはまだありません。",
14
+ "col_name": "名前",
15
+ "col_email": "電子メール",
16
+ "col_role": "役割",
17
+ "col_joined": "参加しました",
19
18
  "e2e": "E2E",
20
19
  "ai": "AI",
21
20
  "usage_summary": "Usage Summary",
22
- "storage": "Storage",
23
- "notes": "Notes",
21
+ "storage": "ストレージ",
22
+ "notes": "注意事項",
24
23
  "ai_queries": "AI Queries",
25
- "active_members": "Active Members",
26
- "this_month": "this month"
24
+ "active_members": "アクティブなメンバー",
25
+ "this_month": "今月"
27
26
  },
28
27
  "agent": {
29
- "__mt": true,
30
- "title": "AI Agent",
31
- "subtitle": "Let AI handle multi-step tasks across your knowledge base",
28
+ "title": "AIエージェント",
29
+ "subtitle": "AI にナレッジ ベース全体の複数ステップのタスクを処理させます",
32
30
  "query_placeholder": "Describe a task for the agent to complete...",
33
- "run": "Run",
34
- "pause": "Pause",
35
- "resume": "Resume",
31
+ "run": "走る",
32
+ "pause": "一時停止",
33
+ "resume": "再開する",
36
34
  "cancel": "Cancel",
37
- "new_task": "New Task",
38
- "final_answer": "Final Answer",
39
- "upgrade_required": "AI Agent is available on Personal and above plans.",
35
+ "new_task": "新しいタスク",
36
+ "final_answer": "最終的な答え",
37
+ "upgrade_required": "AI エージェントは、パーソナル以上のプランで利用できます。",
40
38
  "mode": {
41
- "react": "ReAct (Adaptive)",
42
- "plan_execute": "Plan & Execute"
39
+ "react": "ReAct (適応型)",
40
+ "plan_execute": "計画と実行"
43
41
  },
44
42
  "history": {
45
- "title": "Agent History",
46
- "search_placeholder": "Search tasks...",
43
+ "title": "エージェント履歴",
44
+ "search_placeholder": "タスクを検索...",
47
45
  "no_results": "No tasks match your search.",
48
- "empty": "No agent tasks yet. Start your first task!",
49
- "steps": "steps"
46
+ "empty": "エージェントのタスクはまだありません。最初のタスクを開始してください。",
47
+ "steps": "ステップ"
50
48
  },
51
49
  "market": {
52
- "title": "Agent Templates",
53
- "subtitle": "Browse ready-to-use agent templates",
54
- "search_placeholder": "Search templates...",
55
- "no_results": "No templates match your search.",
56
- "all_tags": "All",
57
- "use": "Use Template"
50
+ "title": "エージェントテンプレート",
51
+ "subtitle": "すぐに使用できるエージェント テンプレートを参照する",
52
+ "search_placeholder": "テンプレートを検索...",
53
+ "no_results": "検索に一致するテンプレートはありません。",
54
+ "all_tags": "全て",
55
+ "use": "テンプレートを使用する"
58
56
  }
59
57
  },
60
58
  "ai": {
@@ -101,7 +99,8 @@
101
99
  "testing": "テスト中...",
102
100
  "connected": "接続済み!",
103
101
  "failed": "失敗",
104
- "test_failed": "接続テストに失敗しました"
102
+ "test_failed": "接続テストに失敗しました",
103
+ "endpoint_id_placeholder": "推論エンドポイント ID を入力してください"
105
104
  },
106
105
  "providers": {
107
106
  "claude": "Anthropic Claude",
@@ -191,51 +190,99 @@
191
190
  },
192
191
  "sections": {
193
192
  "image_ai": "画像 AI",
194
- "image_aihint": "AI 画像生成モデルの設定。"
193
+ "image_aihint": "AI 画像生成モデルの設定。",
194
+ "session_ai": "セッションAI",
195
+ "session_aihint": "Text chat model configurations.",
196
+ "realtime_voice_ai": "エンドツーエンドの音声 AI",
197
+ "realtime_voice_aihint": "リアルタイム音声会話構成 (複数のプロバイダー)。"
195
198
  },
196
199
  "generating": "生成中…",
197
- "not_configured": "AI プロバイダーが未設定です"
200
+ "not_configured": "AI プロバイダーが未設定です",
201
+ "model_short": {
202
+ "none": "No models configured",
203
+ "chat": "チャット",
204
+ "realtime": "RTボイス",
205
+ "image": "画像",
206
+ "speech": "Voice"
207
+ },
208
+ "voice": {
209
+ "record": "Record voice",
210
+ "cancel": "音声入力をキャンセルする",
211
+ "commit": "Use transcript"
212
+ },
213
+ "realtime": {
214
+ "chat_model_group": "チャットモデル",
215
+ "realtime_model_group": "エンドツーエンドモデル",
216
+ "image_model_group": "画像生成",
217
+ "speech_model_group": "音声文字起こし",
218
+ "add_model": "+ 音声モデルを追加",
219
+ "no_models": "エンドツーエンドの音声モデルが設定されていません",
220
+ "no_models_hint": "リアルタイム音声モデルを追加して、ウェーブボタン音声チャットを有効にします。",
221
+ "missing_config": "利用可能なエンドツーエンド音声モデルがありません。 [設定] -> [チャット] で設定します。",
222
+ "start_voice": "音声会話を開始する",
223
+ "stop_voice": "Stop voice conversation",
224
+ "live": "ライブ",
225
+ "providers": {
226
+ "gemini-live": "Gemini Live",
227
+ "openai-realtime": "OpenAIリアルタイム",
228
+ "doubao-realtime": "Doubao Realtime",
229
+ "qwen-realtime": "クウェン・リアルタイム",
230
+ "stepfun-realtime": "StepFun リアルタイム",
231
+ "tongyi-bailing": "トンイーバイリン",
232
+ "amazon-nova-sonic": "アマゾン ノバソニック"
233
+ },
234
+ "config": {
235
+ "access_key_id": "Access Key ID",
236
+ "secret_access_key": "Secret Access Key",
237
+ "session_token": "セッショントークン",
238
+ "doubao_app_id": "アプリID (X-Api-App-ID)",
239
+ "doubao_access_key": "アクセストークン (X-Api-Access-Key)",
240
+ "doubao_secret_key": "アプリキー (X-Api-App-Key)",
241
+ "voice": "声",
242
+ "region": "地域",
243
+ "optional": "オプション",
244
+ "secret_placeholder": "秘密キーを入力してください",
245
+ "missing_credential": "最初に API キーまたは必要な認証情報を入力してください。"
246
+ }
247
+ }
198
248
  },
199
249
  "ai_budget": {
200
- "__mt": true,
201
- "title": "AI Budget",
202
- "description": "Set monthly and per-call spending limits for AI requests routed through Moraya.",
203
- "monthly_spend": "Monthly Spend",
204
- "monthly_limit": "Monthly Limit",
205
- "per_call_limit": "Per-Call Limit",
206
- "hard_stop": "Hard Stop",
207
- "hard_stop_hint": "Block all AI calls once the monthly limit is reached.",
208
- "zero_unlimited": "0 = unlimited",
209
- "limit_reached": "Monthly budget limit reached. AI calls are blocked.",
210
- "near_limit": "You have used {pct}% of your monthly budget.",
211
- "saved": "Settings saved.",
212
- "save": "Save",
213
- "reset": "Reset Month",
214
- "how_it_works": "How It Works",
215
- "info1": "The router tracks estimated and actual costs per API call.",
216
- "info2": "Hard stop blocks new calls; soft limit shows warnings only.",
217
- "info3": "Monthly counters reset on the 1st of each month automatically."
250
+ "title": "AI 予算",
251
+ "description": "Moraya 経由でルーティングされる AI リクエストの月次および通話ごとの支出制限を設定します。",
252
+ "monthly_spend": "毎月の支出",
253
+ "monthly_limit": "月間限度額",
254
+ "per_call_limit": "通話ごとの制限",
255
+ "hard_stop": "ハードストップ",
256
+ "hard_stop_hint": "月間制限に達すると、すべての AI 呼び出しをブロックします。",
257
+ "zero_unlimited": "0 = 無制限",
258
+ "limit_reached": "毎月の予算の上限に達しました。 AI 通話はブロックされます。",
259
+ "near_limit": "毎月の予算の {pct}% を使用しました。",
260
+ "saved": "設定が保存されました。",
261
+ "save": "保存",
262
+ "reset": "リセット月",
263
+ "how_it_works": "仕組み",
264
+ "info1": "ルーターは、API 呼び出しごとの推定コストと実際のコストを追跡します。",
265
+ "info2": "ハードストップは新しい通話をブロックします。ソフトリミットは警告のみを表示します。",
266
+ "info3": "月次カウンターは毎月 1 日に自動的にリセットされます。"
218
267
  },
219
268
  "ai_history": {
220
- "__mt": true,
221
269
  "title": "AI Call History",
222
- "total_calls": "Total Calls",
270
+ "total_calls": "合計通話数",
223
271
  "month_cost": "This Month",
224
- "success_rate": "Success Rate",
272
+ "success_rate": "成功率",
225
273
  "tab_list": "Calls",
226
- "tab_provider": "By Provider",
227
- "tab_daily": "By Day",
228
- "no_records": "No call records yet.",
274
+ "tab_provider": "プロバイダー別",
275
+ "tab_daily": "日によって",
276
+ "no_records": "まだ通話記録がありません。",
229
277
  "failed": "Failed",
230
- "provider": "Provider",
231
- "calls": "Calls",
232
- "cost": "Cost",
233
- "share": "Share"
278
+ "provider": "プロバイダー",
279
+ "calls": "電話",
280
+ "cost": "料金",
281
+ "share": "共有"
234
282
  },
235
283
  "app": {
236
- "__mt": true,
237
- "name": "Moraya Web",
238
- "tagline": "Your AI, your data, your cloud."
284
+ "name": "モラヤウェブ",
285
+ "tagline": "AI、データ、クラウド。"
239
286
  },
240
287
  "audit": {
241
288
  "report_title": "Document Audit Report: {filename}",
@@ -279,75 +326,74 @@
279
326
  "loading": "Loading audit log…"
280
327
  },
281
328
  "auth": {
282
- "__mt": true,
283
329
  "login": "Sign in with Picora",
284
- "logout": "Sign out",
285
- "logging_in": "Signing in...",
330
+ "logout": "サインアウト",
331
+ "logging_in": "サインイン中...",
286
332
  "login_title": "Welcome to Moraya Web",
287
- "login_subtitle": "Sign in with your Picora account to access your knowledge base.",
288
- "continue_offline": "Continue offline (no sync)",
289
- "connect_picora": "Connect Picora to sync",
290
- "connected_to_picora": "Connected to Picora",
291
- "disconnect": "Disconnect",
292
- "local_only_notice": "You are working locally. Notes are stored on this device only."
333
+ "login_subtitle": "Picora アカウントでサインインして、ナレッジ ベースにアクセスします。",
334
+ "continue_offline": "オフラインで続行 (同期なし)",
335
+ "connect_picora": "Picora を接続して同期する",
336
+ "connected_to_picora": "ピコラに接続しました",
337
+ "disconnect": "切断する",
338
+ "local_only_notice": "あなたは地元で働いています。メモはこのデバイスにのみ保存されます。"
293
339
  },
294
340
  "billing": {
295
- "__mt": true,
296
- "title": "Billing",
297
- "current_plan": "Current Plan",
341
+ "title": "請求する",
342
+ "current_plan": "現在の計画",
298
343
  "upgrade_title": "Upgrade Your Plan",
299
- "upgrade_subtitle": "Get more AI calls, unlimited storage, and premium features.",
344
+ "upgrade_subtitle": "より多くの AI 通話、無制限のストレージ、プレミアム機能を利用できます。",
300
345
  "downgrade_title": "Downgrade Plan",
301
- "downgrade_subtitle": "You can choose to downgrade effective immediately or at the end of your billing period.",
302
- "cancel_title": "Cancel Subscription",
303
- "cancel_subtitle": "We're sorry to see you go. You can cancel effective immediately or at the end of your billing period.",
346
+ "downgrade_subtitle": "ダウングレードは、すぐに有効にするか、請求期間の終了時に有効にするかを選択できます。",
347
+ "cancel_title": "サブスクリプションをキャンセルする",
348
+ "cancel_subtitle": "残念です。すぐにキャンセルすることも、請求期間の終了時にキャンセルすることもできます。",
304
349
  "plan_personal": "Personal",
305
- "plan_team": "Team",
306
- "plan_enterprise": "Enterprise",
307
- "plan_connect": "Connect (Free)",
308
- "monthly": "Monthly",
309
- "yearly": "Yearly",
350
+ "plan_team": "チーム",
351
+ "plan_enterprise": "企業",
352
+ "plan_connect": "接続(無料)",
353
+ "monthly": "毎月",
354
+ "yearly": "毎年",
310
355
  "yearly_savings": "Save 2 months",
311
- "per_seat": "/seat",
312
- "pay_with_stripe": "Pay with Card (Stripe)",
313
- "pay_with_alipay": "Pay with Alipay",
314
- "seats_label": "Number of seats",
356
+ "per_seat": "/シート",
357
+ "pay_with_stripe": "カードで支払う(ストライプ)",
358
+ "pay_with_alipay": "Alipayで支払う",
359
+ "seats_label": "席数",
315
360
  "seats_hint": "Minimum 1 seat",
316
- "effective_immediate": "Effective immediately",
317
- "effective_period_end": "At the end of the billing period",
318
- "cancel_confirm": "I understand my subscription will end",
361
+ "effective_immediate": "即時有効",
362
+ "effective_period_end": "請求期間の終了時",
363
+ "cancel_confirm": "サブスクリプションが終了することを理解しました",
319
364
  "downgrade_confirm": "I understand I may lose access to some features",
320
- "confirm_cancel": "Cancel Subscription",
365
+ "confirm_cancel": "サブスクリプションをキャンセルする",
321
366
  "confirm_downgrade": "Confirm Downgrade",
322
- "refund_title": "Request Refund",
323
- "refund_14day": "As a first-time subscriber within 14 days, you qualify for an automatic refund.",
367
+ "refund_title": "返金のリクエスト",
368
+ "refund_14day": "14 日以内の初めての定期購入者は、自動返金を受ける資格があります。",
324
369
  "refund_request": "Request Refund",
325
- "refund_pending": "Refund request submitted. Our team will review it.",
326
- "back_to_billing": "Back to Billing",
327
- "loading": "Loading...",
328
- "error": "Something went wrong. Please try again.",
329
- "checkout_redirect": "Redirecting to checkout...",
330
- "alipay_scan": "Scan with Alipay app to complete payment",
331
- "devices_title": "Manage Devices",
370
+ "refund_pending": "返金リクエストが送信されました。私たちのチームがそれを検討します。",
371
+ "back_to_billing": "請求に戻る",
372
+ "loading": "読み込み中...",
373
+ "error": "何か問題が発生しました。もう一度試してください。",
374
+ "checkout_redirect": "チェックアウトにリダイレクトしています...",
375
+ "alipay_scan": "Alipayアプリでスキャンして支払いを完了します",
376
+ "devices_title": "デバイスの管理",
332
377
  "devices_subtitle": "Devices signed into your account.",
333
- "device_current": "This device",
334
- "device_revoke": "Sign out",
378
+ "device_current": "このデバイス",
379
+ "device_revoke": "サインアウト",
335
380
  "device_revoke_confirm": "Sign out this device?",
336
- "device_last_active": "Last active",
337
- "devices_limit_reached": "You've reached the device limit for your plan.",
338
- "usage_ai_calls": "AI Calls",
339
- "usage_kbs": "Knowledge Bases",
340
- "usage_devices": "Devices",
341
- "usage_of": "{used} of {limit}",
342
- "upgrade_prompt_ai": "You've used {used}/{limit} AI calls this month.",
381
+ "device_last_active": "最後にアクティブだった",
382
+ "devices_limit_reached": "プランのデバイス制限に達しました。",
383
+ "usage_ai_calls": "AI通話",
384
+ "usage_kbs": "知識ベース",
385
+ "usage_devices": "デバイス",
386
+ "usage_of": "{used}/{limit}",
387
+ "upgrade_prompt_ai": "今月 {used}/{limit} AI 呼び出しを使用しました。",
343
388
  "upgrade_prompt_kb": "You've reached your KB limit ({limit}).",
344
389
  "upgrade_now": "Upgrade Now",
345
390
  "plan_features_personal": "Unlimited KBs, 2000 AI calls/month, BYO API key, E2E encryption, BYOC storage",
346
- "plan_features_team": "Everything in Personal, team collaboration, 5000 AI calls/month, Cloud KMS",
347
- "currency_usd": "USD ($)",
391
+ "plan_features_team": "Personal、チームコラボレーション、月あたり 5,000 件の AI コール、クラウド KMS のすべて",
392
+ "currency_usd": "米ドル ($)",
348
393
  "currency_cny": "CNY (¥)",
349
- "currency_eur": "EUR ()",
350
- "change_currency": "Change currency"
394
+ "currency_eur": "ユーロ (ユーロ)",
395
+ "change_currency": "Change currency",
396
+ "upgrade": "アップグレード"
351
397
  },
352
398
  "cloud_picker": {
353
399
  "title_image": "クラウド画像を挿入",
@@ -396,18 +442,17 @@
396
442
  "no_results": "結果が見つかりません"
397
443
  },
398
444
  "commands": {
399
- "__mt": true,
400
- "palette_title": "Command Palette",
445
+ "palette_title": "コマンドパレット",
401
446
  "placeholder": "Search commands...",
402
- "no_results": "No commands found",
403
- "type_to_search": "Type to search commands",
447
+ "no_results": "コマンドが見つかりません",
448
+ "type_to_search": "入力してコマンドを検索します",
404
449
  "go_home": "Go to Home",
405
- "open_settings": "Open Settings",
406
- "open_workflows": "Open Workflows",
450
+ "open_settings": "設定を開く",
451
+ "open_workflows": "オープンなワークフロー",
407
452
  "toggle_sidebar": "Toggle Sidebar",
408
453
  "sidebar_kb": "Sidebar: Knowledge Bases",
409
- "sidebar_explorer": "Sidebar: Files",
410
- "sidebar_outline": "Sidebar: Outline"
454
+ "sidebar_explorer": "サイドバー: ファイル",
455
+ "sidebar_outline": "サイドバー: 概要"
411
456
  },
412
457
  "common": {
413
458
  "save": "保存",
@@ -433,92 +478,90 @@
433
478
  "new": "新規"
434
479
  },
435
480
  "compose": {
436
- "__mt": true,
437
481
  "title": "Compose article",
438
482
  "start_over": "Start over",
439
- "stepper_label": "Compose stages",
483
+ "stepper_label": "ステージを構成する",
440
484
  "step": {
441
- "topic": "Topic",
442
- "article": "Article",
485
+ "topic": "トピック",
486
+ "article": "記事",
443
487
  "cover": "Cover",
444
- "review": "Review"
488
+ "review": "レビュー"
445
489
  },
446
490
  "topic": {
447
491
  "title": "What's the article about?",
448
- "hint": "Describe the topic, audience, key points — the more specific, the better.",
492
+ "hint": "トピック、対象者、重要なポイントを説明します。具体的であればあるほど良いです。",
449
493
  "placeholder": "e.g. A deep dive on why Rust's async model handles backpressure better than Go's…",
450
- "next": "Next: write article →"
494
+ "next": "次へ: 記事を書く →"
451
495
  },
452
496
  "tone": {
453
- "title": "Tone",
454
- "general": "General",
455
- "marketing": "Marketing",
456
- "technical": "Technical",
457
- "story": "Story"
497
+ "title": "トーン",
498
+ "general": "一般的な",
499
+ "marketing": "マーケティング",
500
+ "technical": "テクニカル",
501
+ "story": ""
458
502
  },
459
503
  "length": {
460
504
  "title": "Length",
461
- "short": "Short",
462
- "medium": "Medium",
463
- "long": "Long"
505
+ "short": "短い",
506
+ "medium": "中くらい",
507
+ "long": "長さ"
464
508
  },
465
509
  "article": {
466
- "title": "Write the article",
467
- "ready": "Ready to generate. Tap below to stream the article.",
468
- "generate": "Generate article",
469
- "generating": "Streaming from the model…",
470
- "cancel": "Stop",
471
- "regenerate": "Regenerate",
472
- "next": "Next: cover image →",
473
- "no_provider": "No AI provider configured. Set one up to generate articles.",
474
- "configure": "Configure AI provider"
510
+ "title": "記事を書く",
511
+ "ready": "生成する準備ができました。記事をストリーミングするには以下をタップしてください。",
512
+ "generate": "記事の生成",
513
+ "generating": "モデルからストリーミング中…",
514
+ "cancel": "停止",
515
+ "regenerate": "再生する",
516
+ "next": "次へ: 表紙画像 →",
517
+ "no_provider": "AI プロバイダーが構成されていません。記事を生成するために設定します。",
518
+ "configure": "AIプロバイダーを構成する"
475
519
  },
476
520
  "cover": {
477
- "title": "Cover image",
478
- "prompt_hint": "This prompt was auto-derived from your article. Edit if you want a specific look.",
479
- "prompt_placeholder": "Cover illustration for: ...",
521
+ "title": "表紙画像",
522
+ "prompt_hint": "このプロンプトは記事から自動的に派生したものです。特定の外観が必要な場合は編集してください。",
523
+ "prompt_placeholder": "表紙イラスト: ...",
480
524
  "generate": "Generate cover",
481
- "generating": "Generating…",
482
- "next": "Next: review →",
483
- "preview_alt": "Cover image preview",
484
- "no_provider": "No image generation provider configured. Set one up to make cover images.",
485
- "configure": "Configure image-gen provider",
486
- "style": "Style"
525
+ "generating": "生成中…",
526
+ "next": "次へ: レビュー →",
527
+ "preview_alt": "カバー画像のプレビュー",
528
+ "no_provider": "イメージ生成プロバイダーが構成されていません。カバー画像を作成するために設定します。",
529
+ "configure": "イメージ生成プロバイダーを構成する",
530
+ "style": "スタイル"
487
531
  },
488
532
  "review": {
489
- "title": "Review & publish",
490
- "publish_hint": "Insert into a note, or set up an MCP publish target to send this article to WeChat / RSS / custom platforms.",
491
- "insert": "Insert into note",
492
- "configure_publish": "Configure publish target",
493
- "uploading": "Uploading cover…",
494
- "cover_upload_failed": "Cover upload failed inserting without it.",
495
- "insert_failed": "Insert failed: {err}"
533
+ "title": "レビューして公開する",
534
+ "publish_hint": "メモに挿入するか、MCP パブリッシュ ターゲットを設定して、この記事を WeChat / RSS / カスタム プラットフォームに送信します。",
535
+ "insert": "メモに挿入",
536
+ "configure_publish": "公開ターゲットを構成する",
537
+ "uploading": "カバーをアップロード中…",
538
+ "cover_upload_failed": "カバーのアップロードに失敗しましたカバーなしで挿入しました。",
539
+ "insert_failed": "挿入に失敗しました: {err}"
496
540
  },
497
541
  "publish": {
498
- "send": "Send to…",
499
- "opening": "Preparing…",
500
- "picker_title": "Where to publish?",
501
- "empty": "No publish targets configured yet.",
502
- "configure": "Configure publish targets",
503
- "success": "Published to {target}",
504
- "failed": "{target} failed: {err}"
542
+ "send": "送信先…",
543
+ "opening": "準備中…",
544
+ "picker_title": "どこで公開するのか?",
545
+ "empty": "公開ターゲットがまだ設定されていません。",
546
+ "configure": "公開ターゲットを構成する",
547
+ "success": "{target} に公開されました",
548
+ "failed": "{target} が失敗しました: {err}"
505
549
  },
506
550
  "drafts": {
507
- "title": "Drafts",
508
- "new": "New draft",
551
+ "title": "下書き",
552
+ "new": "新しいドラフト",
509
553
  "new_sub": "Archive current and start fresh",
510
- "active": "Active",
511
- "untitled": "Untitled draft",
512
- "delete": "Delete draft"
554
+ "active": "アクティブ",
555
+ "untitled": "無題のドラフト",
556
+ "delete": "下書きの削除"
513
557
  }
514
558
  },
515
559
  "conflict": {
516
- "__mt": true,
517
- "title": "Conflict Detected",
518
- "description": "This note was edited on another device.",
519
- "keep_server": "Keep server version",
520
- "keep_local": "Keep my version",
521
- "merge": "Merge manually"
560
+ "title": "競合が検出されました",
561
+ "description": "このメモは別のデバイスで編集されました。",
562
+ "keep_server": "サーバーのバージョンを維持する",
563
+ "keep_local": "私のバージョンを維持してください",
564
+ "merge": "手動でマージする"
522
565
  },
523
566
  "context_menu": {
524
567
  "cut": "切り取り",
@@ -569,64 +612,63 @@
569
612
  "new_note": "New note"
570
613
  },
571
614
  "enterprise": {
572
- "__mt": true,
573
615
  "hsm": {
574
- "title": "Hardware Security Module (HSM)",
616
+ "title": "ハードウェア セキュリティ モジュール (HSM)",
575
617
  "subtitle": "Connect your HSM provider for FIPS 140-2 Level 3+ key operations",
576
- "upgrade_required": "HSM integration requires the Enterprise plan.",
618
+ "upgrade_required": "HSM 統合には Enterprise プランが必要です。",
577
619
  "providers": {
578
- "aws": "AWS CloudHSM",
579
- "aliyun": "Aliyun HSM",
580
- "pkcs11": "PKCS#11 (Generic)"
620
+ "aws": "AWSクラウドHSM",
621
+ "aliyun": "アリユン HSM",
622
+ "pkcs11": "PKCS#11 (汎用)"
581
623
  },
582
624
  "aws": {
583
- "cluster_id": "Cluster ID",
584
- "region": "AWS Region"
625
+ "cluster_id": "クラスターID",
626
+ "region": "AWS リージョン"
585
627
  },
586
628
  "aliyun": {
587
- "instance_id": "Instance ID",
588
- "region": "Region"
629
+ "instance_id": "インスタンスID",
630
+ "region": "地域"
589
631
  },
590
632
  "pkcs11": {
591
- "lib_path": "Library Path (.so / .dll / .dylib)",
592
- "slot": "Slot ID",
593
- "supported_mechanisms": "Supported Mechanisms"
633
+ "lib_path": "ライブラリパス (.so / .dll / .dylib)",
634
+ "slot": "スロットID",
635
+ "supported_mechanisms": "サポートされているメカニズム"
594
636
  }
595
637
  },
596
638
  "orgs": {
597
- "title": "Multi-Organization Management",
598
- "subtitle": "Manage seat allocation and cross-org knowledge sharing",
599
- "upgrade_required": "Multi-org management requires the Enterprise plan.",
600
- "seat_allocation": "Seat Allocation",
601
- "total_seats": "Total Seats",
602
- "allocated": "Allocated",
603
- "unallocated": "Unallocated",
604
- "org_list": "Organizations",
605
- "members": "Members",
606
- "cross_org_sharing": "Cross-Org Sharing",
607
- "shares_to": "shares KBs to",
608
- "kb_ids_placeholder": "kb-1, kb-2, ...",
609
- "request_share": "Request Share"
639
+ "title": "複数組織の管理",
640
+ "subtitle": "シートの割り当てと組織間の知識共有を管理する",
641
+ "upgrade_required": "複数組織の管理には Enterprise プランが必要です。",
642
+ "seat_allocation": "座席の割り当て",
643
+ "total_seats": "総座席数",
644
+ "allocated": "割り当て済み",
645
+ "unallocated": "未割り当て",
646
+ "org_list": "組織",
647
+ "members": "メンバー",
648
+ "cross_org_sharing": "組織間の共有",
649
+ "shares_to": "KB を共有します",
650
+ "kb_ids_placeholder": "kb-1kb-2、...",
651
+ "request_share": "共有のリクエスト"
610
652
  },
611
653
  "compliance": {
612
- "title": "Compliance & Archiving",
613
- "subtitle": "GDPR, HIPAA, SOC2, ISO 27001 compliance exports and WORM archiving",
614
- "upgrade_required": "Compliance archiving requires the Enterprise plan.",
654
+ "title": "コンプライアンスとアーカイブ",
655
+ "subtitle": "GDPRHIPAASOC2ISO 27001 準拠のエクスポートと WORM アーカイブ",
656
+ "upgrade_required": "コンプライアンス アーカイブには Enterprise プランが必要です。",
615
657
  "tabs": {
616
- "retention": "Retention",
617
- "worm": "WORM",
618
- "export": "Export"
658
+ "retention": "保持",
659
+ "worm": "ワーム",
660
+ "export": "輸出"
619
661
  },
620
662
  "retention": {
621
- "title": "7-Year Retention",
622
- "hint": "Records are retained for 7 years and cannot be deleted during this period.",
623
- "days_left": "days left",
624
- "years": "years"
663
+ "title": "7年間の保持",
664
+ "hint": "記録は 7 年間保存され、この期間中に削除することはできません。",
665
+ "days_left": "残り日数",
666
+ "years": ""
625
667
  },
626
668
  "worm": {
627
- "title": "WORM Records",
628
- "description": "Write-Once-Read-Many records are immutable once created.",
629
- "immutable_label": "Immutable",
669
+ "title": "WORM レコード",
670
+ "description": "Write-Once-Read-Many レコードは、一度作成されると変更できません。",
671
+ "immutable_label": "不変",
630
672
  "immutable_desc": "Records cannot be modified or deleted after creation.",
631
673
  "retention_years": "Retention Period"
632
674
  },
@@ -642,45 +684,44 @@
642
684
  "title": "Custom Domain",
643
685
  "subtitle": "Use your own domain name for the Moraya workspace.",
644
686
  "upgrade_required": "Custom domain requires the Enterprise plan.",
645
- "hostname": "Your Domain",
687
+ "hostname": "あなたのドメイン",
646
688
  "cname_target": "CNAME Target",
647
- "dns_record": "DNS Record to Add",
648
- "dns_hint": "Add this CNAME record to your DNS provider and wait for propagation (up to 48h).",
689
+ "dns_record": "追加するDNSレコード",
690
+ "dns_hint": "この CNAME レコードを DNS プロバイダーに追加し、伝播を待ちます (最大 48 時間)",
649
691
  "save": "Save & Verify",
650
- "verifying_hint": "Verification in progress. DNS propagation may take up to 48 hours."
692
+ "verifying_hint": "検証中です。 DNS の伝達には最大 48 時間かかる場合があります。"
651
693
  },
652
694
  "custom_ai": {
653
- "title": "Custom AI Endpoint",
654
- "subtitle": "Connect your own OpenAI-compatible LLM endpoint.",
655
- "upgrade_required": "Custom AI endpoints require the Enterprise plan.",
656
- "add_provider": "Add Provider",
657
- "provider_name": "Provider Name",
658
- "base_url": "Base URL",
659
- "api_key_ref": "API Key Reference (Keychain ID)",
660
- "models_csv": "Models (comma-separated)",
661
- "add": "Add Provider",
695
+ "title": "カスタム AI エンドポイント",
696
+ "subtitle": "独自の OpenAI 互換 LLM エンドポイントに接続します。",
697
+ "upgrade_required": "カスタム AI エンドポイントには Enterprise プランが必要です。",
698
+ "add_provider": "プロバイダーの追加",
699
+ "provider_name": "プロバイダー名",
700
+ "base_url": "ベースURL",
701
+ "api_key_ref": "APIキーリファレンス(キーチェーンID)",
702
+ "models_csv": "モデル (カンマ区切り)",
703
+ "add": "プロバイダーの追加",
662
704
  "saved_providers": "Saved Providers",
663
- "context_window": "Context window",
664
- "models": "models",
705
+ "context_window": "コンテキストウィンドウ",
706
+ "models": "モデル",
665
707
  "openai_compatible": "OpenAI-compatible",
666
708
  "custom_format": "Custom format"
667
709
  },
668
710
  "data_residency": {
669
- "title": "Data Residency",
670
- "subtitle": "Control where your organization's data is stored and processed.",
711
+ "title": "データの所在地",
712
+ "subtitle": "組織のデータが保存および処理される場所を制御します。",
671
713
  "upgrade_required": "Data residency control requires the Enterprise plan.",
672
714
  "primary_region": "Primary Region",
673
- "allowed_regions": "Allowed Regions",
674
- "restrict_cross_region": "Restrict cross-region data transfers",
675
- "filter_by_compliance": "Filter by Compliance Standard",
715
+ "allowed_regions": "許可される地域",
716
+ "restrict_cross_region": "リージョン間のデータ転送を制限する",
717
+ "filter_by_compliance": "コンプライアンス規格によるフィルタリング",
676
718
  "all": "All",
677
- "requirements": "Legal Requirements",
719
+ "requirements": "法的要件",
678
720
  "save_policy": "Save Policy",
679
721
  "policy_saved": "Policy saved"
680
722
  }
681
723
  },
682
724
  "entitlement": {
683
- "__mt": true,
684
725
  "connect": "Connect",
685
726
  "personal": "Personal",
686
727
  "team": "Team",
@@ -727,7 +768,6 @@
727
768
  }
728
769
  },
729
770
  "explorer": {
730
- "__mt": true,
731
771
  "title": "Files",
732
772
  "filter_placeholder": "Filter notes...",
733
773
  "empty": "No notes yet",
@@ -775,15 +815,14 @@
775
815
  }
776
816
  },
777
817
  "fulltext_search": {
778
- "__mt": true,
779
818
  "title": "Hybrid Search",
780
- "placeholder": "Search notes, memories, workflows...",
781
- "clear": "Clear",
782
- "filters": "Filters",
783
- "filter_time": "Time",
784
- "filter_source": "Source",
785
- "filter_tags": "Tags",
786
- "time_all": "All time",
819
+ "placeholder": "メモ、思い出、ワークフローを検索...",
820
+ "clear": "クリア",
821
+ "filters": "フィルター",
822
+ "filter_time": "時間",
823
+ "filter_source": "ソース",
824
+ "filter_tags": "タグ",
825
+ "time_all": "ずっと",
787
826
  "time_today": "Today",
788
827
  "time_7d": "Last 7 days",
789
828
  "time_30d": "Last 30 days",
@@ -799,14 +838,14 @@
799
838
  "save_search": "Save search",
800
839
  "save_name_prompt": "Name this saved search",
801
840
  "searching": "Searching...",
802
- "no_results": "No results found",
803
- "start_typing": "Type to search",
804
- "history_empty": "No search history",
805
- "saved_empty": "No saved searches",
806
- "clear_history": "Clear history",
841
+ "no_results": "結果が見つかりませんでした",
842
+ "start_typing": "入力して検索します",
843
+ "history_empty": "検索履歴がありません",
844
+ "saved_empty": "保存された検索はありません",
845
+ "clear_history": "履歴をクリアする",
807
846
  "hint_navigate": "Navigate",
808
- "hint_open": "Open",
809
- "hint_close": "Close"
847
+ "hint_open": "開ける",
848
+ "hint_close": "近い"
810
849
  },
811
850
  "git": {
812
851
  "bind_title": "Git リポジトリをリンク",
@@ -891,15 +930,14 @@
891
930
  "merge_blocked": "Repository is in the middle of a merge. Resolve conflicts first."
892
931
  },
893
932
  "image_ctx": {
894
- "__mt": true,
895
- "copy_url": "Copy URL",
896
- "replace": "Replace Image",
897
- "edit_alt": "Edit Alt Text",
898
- "resize": "Resize",
899
- "delete": "Delete Image",
933
+ "copy_url": "URLをコピー",
934
+ "replace": "画像を置き換える",
935
+ "edit_alt": "代替テキストの編集",
936
+ "resize": "サイズ変更",
937
+ "delete": "画像の削除",
900
938
  "alt_label": "Alt Text",
901
- "alt_placeholder": "Describe the image...",
902
- "alt_hint": "Improves accessibility and SEO",
939
+ "alt_placeholder": "画像を説明して...",
940
+ "alt_hint": "アクセシビリティとSEOの向上",
903
941
  "save_alt": "Save"
904
942
  },
905
943
  "image_dialog": {
@@ -1492,59 +1530,57 @@
1492
1530
  }
1493
1531
  },
1494
1532
  "media": {
1495
- "__mt": true,
1496
- "upload_title": "Media Uploads",
1497
- "uploading": "Uploading",
1498
- "upload_done": "Uploaded",
1499
- "upload_error": "Upload failed",
1500
- "compressed_from": "Compressed",
1533
+ "upload_title": "メディアのアップロード",
1534
+ "uploading": "アップロード中",
1535
+ "upload_done": "アップロードされました",
1536
+ "upload_error": "アップロードに失敗しました",
1537
+ "compressed_from": "圧縮された",
1501
1538
  "compress_auto": "Auto-compress images > 1MB",
1502
- "size_limit_exceeded": "File exceeds size limit for your plan",
1503
- "mime_not_allowed": "File type not supported",
1539
+ "size_limit_exceeded": "ファイルがプランのサイズ制限を超えています",
1540
+ "mime_not_allowed": "サポートされていないファイル形式",
1504
1541
  "quota_warn": "This note has over 10MB of media",
1505
- "quota_hard": "Media quota exceeded (100MB per note)",
1506
- "quota_title": "Media Usage",
1507
- "paste_title": "Paste Media"
1542
+ "quota_hard": "メディア割り当てを超過しました (ノートあたり 100MB)",
1543
+ "quota_title": "メディアの使用",
1544
+ "paste_title": "メディアの貼り付け"
1508
1545
  },
1509
1546
  "memory": {
1510
- "__mt": true,
1511
- "title": "Long-Term Memory",
1547
+ "title": "長期記憶",
1512
1548
  "upgrade_required": "Long-term memory requires Personal plan or above.",
1513
- "health_title": "Memory Health",
1549
+ "health_title": "メモリの健康状態",
1514
1550
  "settings_title": "Memory Settings",
1515
1551
  "half_life_label": "Memory half-life",
1516
- "half_life_never": "Never (no decay)",
1552
+ "half_life_never": "決して(腐敗しない)",
1517
1553
  "days": "days",
1518
- "export_import": "Export / Import",
1519
- "memories_title": "Memories",
1520
- "search_placeholder": "Search memories...",
1521
- "filter_all": "All types",
1522
- "kind_preference": "Preference",
1523
- "kind_project": "Project",
1524
- "kind_fact": "Fact",
1525
- "no_memories": "No memories yet. Use /memorize in chat to add one.",
1526
- "edit": "Edit",
1527
- "delete": "Delete",
1554
+ "export_import": "エクスポート/インポート",
1555
+ "memories_title": "思い出",
1556
+ "search_placeholder": "思い出を探して…",
1557
+ "filter_all": "全種類",
1558
+ "kind_preference": "好み",
1559
+ "kind_project": "プロジェクト",
1560
+ "kind_fact": "事実",
1561
+ "no_memories": "まだ思い出はありません。チャットで /memorize を使用して追加します。",
1562
+ "edit": "編集",
1563
+ "delete": "消去",
1528
1564
  "enable": "Enable",
1529
- "disable": "Disable",
1565
+ "disable": "無効にする",
1530
1566
  "save": "Save",
1531
1567
  "cancel": "Cancel",
1532
1568
  "weight": "Weight",
1533
1569
  "danger_zone": "Danger Zone",
1534
- "reset_all": "Reset all memories",
1570
+ "reset_all": "すべての記憶をリセットする",
1535
1571
  "reset_confirm_instruction": "Type RESET to confirm deleting all memories. This cannot be undone.",
1536
- "confirm_reset": "Delete all memories",
1537
- "export_title": "Export Memories",
1538
- "export_hint": "Download all your memories as a JSON file for backup or migration.",
1539
- "export_btn": "Export memories",
1540
- "export_invalid_format": "Invalid memory export format.",
1541
- "import_title": "Import Memories",
1542
- "import_hint": "Import memories from a previously exported JSON file.",
1543
- "choose_file": "Choose file (.json)",
1544
- "import_placeholder": "Or paste JSON here...",
1545
- "import_btn": "Import",
1546
- "import_success": "Memories imported successfully.",
1547
- "memorize_ack": "Memory saved.",
1572
+ "confirm_reset": "すべての思い出を削除",
1573
+ "export_title": "思い出をエクスポートする",
1574
+ "export_hint": "バックアップまたは移行のために、すべての思い出を JSON ファイルとしてダウンロードします。",
1575
+ "export_btn": "思い出をエクスポートする",
1576
+ "export_invalid_format": "無効なメモリ エクスポート形式です。",
1577
+ "import_title": "思い出をインポートする",
1578
+ "import_hint": "以前にエクスポートした JSON ファイルからメモリをインポートします。",
1579
+ "choose_file": "ファイル (.json) を選択してください",
1580
+ "import_placeholder": "または、ここに JSON を貼り付けます...",
1581
+ "import_btn": "輸入",
1582
+ "import_success": "メモリーは正常にインポートされました。",
1583
+ "memorize_ack": "メモリが保存されました。",
1548
1584
  "forget_ack": "Memory forgotten.",
1549
1585
  "forget_not_found": "No matching memories found.",
1550
1586
  "private_mode_on": "Private mode on — this conversation will not be extracted.",
@@ -1623,7 +1659,6 @@
1623
1659
  "empty": "空のダイアグラム"
1624
1660
  },
1625
1661
  "mfa": {
1626
- "__mt": true,
1627
1662
  "title": "Multi-Factor Authentication",
1628
1663
  "description": "Configure MFA requirements for team members.",
1629
1664
  "policy": "MFA Policy",
@@ -1636,348 +1671,354 @@
1636
1671
  "saved_success": "MFA settings saved."
1637
1672
  },
1638
1673
  "migration": {
1639
- "__mt": true,
1640
1674
  "title": "KB Migration",
1641
1675
  "subtitle": "Move your knowledge base to a different storage provider",
1642
1676
  "new_migration": "New Migration",
1643
1677
  "wizard_title": "New Migration Wizard",
1644
1678
  "kb_id": "KB ID",
1645
1679
  "kb_name": "KB Name",
1646
- "provider": "Provider",
1647
- "bucket": "Bucket",
1648
- "prefix": "Prefix",
1649
- "source": "Source",
1650
- "target": "Target",
1651
- "encryption_mode": "Encryption Mode",
1652
- "dry_run_label": "Dry run (simulate only, no files copied)",
1653
- "dry_run_badge": "Dry Run",
1680
+ "provider": "プロバイダー",
1681
+ "bucket": "バケツ",
1682
+ "prefix": "プレフィックス",
1683
+ "source": "ソース",
1684
+ "target": "ターゲット",
1685
+ "encryption_mode": "暗号化モード",
1686
+ "dry_run_label": "ドライラン (シミュレーションのみ、ファイルはコピーされません)",
1687
+ "dry_run_badge": "ドライラン",
1654
1688
  "dry_run_start": "Start Dry Run",
1655
1689
  "start_migration": "Start Migration",
1656
1690
  "cancel": "Cancel",
1657
- "files": "files",
1658
- "errors": "Errors",
1659
- "started": "Started",
1660
- "rollback_deadline": "Rollback deadline",
1661
- "rollback": "Rollback",
1662
- "download_log": "Download Log",
1663
- "history_title": "Migration History",
1691
+ "files": "ファイル",
1692
+ "errors": "エラー",
1693
+ "started": "開始しました",
1694
+ "rollback_deadline": "ロールバック期限",
1695
+ "rollback": "ロールバック",
1696
+ "download_log": "ダウンロードログ",
1697
+ "history_title": "移行履歴",
1664
1698
  "history_empty": "No migrations yet",
1665
- "loading": "Loading...",
1666
- "confirm_delete": "Delete this migration session?"
1699
+ "loading": "読み込み中...",
1700
+ "confirm_delete": "この移行セッションを削除しますか?"
1667
1701
  },
1668
1702
  "mobile": {
1669
- "__mt": true,
1670
1703
  "tab": {
1671
- "nav_label": "Primary navigation",
1672
- "edit": "Edit",
1704
+ "nav_label": "プライマリナビゲーション",
1705
+ "edit": "編集",
1673
1706
  "ai": "AI",
1674
- "files": "Knowledge Base",
1675
- "settings": "Settings"
1707
+ "files": "ナレッジベース",
1708
+ "settings": "設定"
1676
1709
  },
1677
1710
  "appbar": {
1678
- "menu": "Open sidebar",
1679
- "more": "More actions",
1680
- "toggle_ai_pane": "Toggle AI pane",
1681
- "untitled": "Untitled"
1711
+ "menu": "サイドバーを開く",
1712
+ "more": "さらなるアクション",
1713
+ "toggle_ai_pane": "AI ペインの切り替え",
1714
+ "untitled": "無題"
1682
1715
  },
1683
1716
  "overflow": {
1684
- "mode_label": "Mode",
1717
+ "mode_label": "モード",
1685
1718
  "mode_visual": "Visual",
1686
1719
  "mode_source": "Source",
1687
1720
  "search": "Find & Replace",
1688
- "outline": "Outline",
1689
- "export": "Export",
1690
- "share": "Share"
1721
+ "outline": "概要",
1722
+ "export": "輸出",
1723
+ "share": "共有"
1691
1724
  },
1692
1725
  "format": {
1693
- "bold": "Bold",
1694
- "italic": "Italic",
1695
- "heading": "Heading",
1696
- "list": "List",
1697
- "code": "Code",
1698
- "link": "Link",
1699
- "link_prompt": "Enter URL",
1700
- "image": "Image"
1726
+ "bold": "大胆な",
1727
+ "italic": "イタリック",
1728
+ "heading": "見出し",
1729
+ "list": "リスト",
1730
+ "code": "コード",
1731
+ "link": "リンク",
1732
+ "link_prompt": "URLを入力してください",
1733
+ "image": "画像"
1701
1734
  },
1702
1735
  "ai": {
1703
1736
  "title": "AI",
1704
- "placeholder": "Ask anything or describe what you want to write…",
1705
- "send": "Send",
1706
- "voice": "Voice",
1707
- "model": "Model",
1708
- "empty_state": "Your AI conversations will appear here.",
1709
- "thinking": "Thinking…",
1710
- "clear": "Clear conversation",
1711
- "clear_confirm": "Clear all messages?",
1737
+ "placeholder": "何か質問したり、書きたいことを説明したりしてください...",
1738
+ "send": "送信",
1739
+ "voice": "",
1740
+ "model": "モデル",
1741
+ "empty_state": "AI の会話がここに表示されます。",
1742
+ "thinking": "考え…",
1743
+ "clear": "明確な会話",
1744
+ "clear_confirm": "すべてのメッセージをクリアしますか?",
1712
1745
  "cleared": "会話をクリアしました",
1713
1746
  "clear_undone": "メッセージを復元しました",
1714
- "stub_response": "Hi! I'm a placeholder response. The real AI provider will be wired up in v0.68.",
1715
- "not_configured_title": "AI is not configured yet",
1716
- "not_configured_text": "Add an API key or pick a local model in Settings → AI to start chatting.",
1717
- "not_configured": "AI is not configured. Open Settings to set up an AI model?",
1718
- "configure_now": "Set up",
1719
- "stop": "Stop",
1720
- "error_prefix": "Error",
1721
- "pick_model": "Switch AI model",
1722
- "no_providers": "No AI providers configured yet. Tap “Set up” to add one.",
1723
- "conversations": "Conversations",
1724
- "new_chat": "New chat",
1725
- "no_conversations": "No conversations yet. Tap “New chat” to start.",
1726
- "no_matches": "No conversations match your search.",
1727
- "search_placeholder": "Search conversations…",
1728
- "attach_image": "Attach image",
1729
- "remove_attachment": "Remove attachment",
1730
- "attached_image": "Attached image",
1731
- "compressing": "Compressing…",
1732
- "copy": "Copy",
1733
- "sync_syncing": "Syncing with Picora…",
1747
+ "stub_response": "こんにちは!私はプレースホルダー応答です。実際の AI プロバイダーは v0.68 で接続されます。",
1748
+ "not_configured_title": "AIはまだ構成されていません",
1749
+ "not_configured_text": "API キーを追加するか、[設定][AI] でローカル モデルを選択してチャットを開始します。",
1750
+ "not_configured": "AIが設定されていません。 AI モデルをセットアップするには、[設定] を開いてください?",
1751
+ "configure_now": "設定",
1752
+ "stop": "停止",
1753
+ "error_prefix": "エラー",
1754
+ "pick_model": "AIモデルの切り替え",
1755
+ "no_providers": "AI プロバイダーがまだ構成されていません。 「設定」をタップして追加します。",
1756
+ "conversations": "会話",
1757
+ "new_chat": "新しいチャット",
1758
+ "no_conversations": "まだ会話はありません。 「新しいチャット」をタップして開始します。",
1759
+ "no_matches": "検索に一致する会話はありません。",
1760
+ "search_placeholder": "会話を検索…",
1761
+ "attach_image": "画像を添付",
1762
+ "remove_attachment": "添付ファイルを削除する",
1763
+ "attached_image": "添付画像",
1764
+ "compressing": "圧縮中…",
1765
+ "copy": "コピー",
1766
+ "sync_syncing": "ピコラと同期中…",
1734
1767
  "sync_idle": "Synced with Picora",
1735
- "sync_offline": "Offline (will retry)",
1736
- "sync_error": "Sync error check connection",
1737
- "sync_disabled": "Sync disabled",
1738
- "mention_title": "Mention a note",
1739
- "mention_search": "Search your notes…",
1740
- "no_notes": "No notes yet — open one from the Files tab.",
1741
- "insert_action": "Insert",
1768
+ "sync_offline": "オフライン (再試行します)",
1769
+ "sync_error": "同期エラー接続を確認してください",
1770
+ "sync_disabled": "同期は無効です",
1771
+ "mention_title": "メモに言及する",
1772
+ "mention_search": "メモを検索してください…",
1773
+ "no_notes": "まだメモはありません。[ファイル] タブからメモを開きます。",
1774
+ "insert_action": "入れる",
1742
1775
  "insert_title": "Insert into note",
1743
- "insert_append": "Append to current note",
1744
- "insert_append_sub": "Add this AI reply to the doc you have open in the Edit tab.",
1745
- "insert_new": "Create new note",
1746
- "insert_new_sub": "Make a new doc from this AI reply and open it.",
1747
- "insert_no_active": "No document is open in the Edit tab.",
1748
- "insert_failed": "Could not write the note check storage permissions.",
1749
- "insert_append_ok": "Appended to current note.",
1750
- "insert_new_ok": "New note created.",
1776
+ "insert_append": "現在のメモに追加",
1777
+ "insert_append_sub": "この AI 返信を、[編集] タブで開いているドキュメントに追加します。",
1778
+ "insert_new": "新しいメモを作成する",
1779
+ "insert_new_sub": "この AI 応答から新しいドキュメントを作成し、開きます。",
1780
+ "insert_no_active": "[編集] タブでドキュメントが開いていません。",
1781
+ "insert_failed": "メモを書き込めませんでしたストレージのアクセス許可を確認してください。",
1782
+ "insert_append_ok": "現在のメモに追加されました。",
1783
+ "insert_new_ok": "新しいノートが作成されました。",
1751
1784
  "export": "Export / Share",
1752
- "export_failed": "Could not export this conversation.",
1753
- "export_ok": "Conversation exported.",
1754
- "rag_used": "Referenced {n} past message(s)",
1755
- "rag_on_title": "History RAG enabled — past conversations may be used as context",
1756
- "citations_title": "{n} reference(s)",
1757
- "citations_empty": "No citations attached to this message.",
1758
- "params_title": "Generation parameters",
1759
- "params_hint": "Override AI generation settings for this conversation only. Leave blank to use the provider default.",
1760
- "params_save": "Save",
1761
- "params_reset": "Reset to defaults",
1762
- "param_temperature": "Temperature",
1763
- "param_temperature_sub": "0 = deterministic · 1 = balanced · 2 = creative",
1764
- "param_max_tokens": "Max output tokens",
1765
- "param_max_tokens_sub": "Hard cap on the model's reply length",
1766
- "param_top_p": "Top-P",
1767
- "param_top_p_sub": "Nucleus sampling threshold (0–1)",
1768
- "param_stop": "Stop sequences",
1769
- "param_stop_sub": "Model halts when about to emit any of these. Comma-separated; use \\n for newline.",
1770
- "param_stop_placeholder": "\\n\\n###, END",
1771
- "presets_label": "Presets",
1772
- "preset_save_as": "Save current as preset",
1773
- "preset_save_prompt": "Name this preset:",
1774
- "preset_delete_confirm": "Delete preset \"{name}\"?",
1775
- "preset_delete_aria": "Delete preset",
1785
+ "export_failed": "この会話をエクスポートできませんでした。",
1786
+ "export_ok": "会話がエクスポートされました。",
1787
+ "rag_used": "{n} 個の過去のメッセージを参照しました",
1788
+ "rag_on_title": "履歴RAGが有効化 - 過去の会話をコンテキストとして使用できます",
1789
+ "citations_title": "{n} リファレンス",
1790
+ "citations_empty": "このメッセージには引用は添付されていません。",
1791
+ "params_title": "生成パラメータ",
1792
+ "params_hint": "この会話のみの AI 生成設定をオーバーライドします。プロバイダーのデフォルトを使用するには、空白のままにします。",
1793
+ "params_save": "保存",
1794
+ "params_reset": "デフォルトにリセットする",
1795
+ "param_temperature": "温度",
1796
+ "param_temperature_sub": "0 = 決定的 · 1 = バランスのとれた · 2 = 創造的",
1797
+ "param_max_tokens": "最大出力トークン",
1798
+ "param_max_tokens_sub": "モデルの返信の長さのハードキャップ",
1799
+ "param_top_p": "トップP",
1800
+ "param_top_p_sub": "核のサンプリングしきい値 (0 1)",
1801
+ "param_stop": "停止シーケンス",
1802
+ "param_stop_sub": "これらのいずれかを放出しようとすると、モデルが停止します。カンマ区切り。改行には \\n を使用します。",
1803
+ "param_stop_placeholder": "\\n\\n###、終了",
1804
+ "presets_label": "プリセット",
1805
+ "preset_save_as": "現在をプリセットとして保存",
1806
+ "preset_save_prompt": "このプリセットに名前を付けます:",
1807
+ "preset_delete_confirm": "プリセット「{name}」を削除しますか?",
1808
+ "preset_delete_aria": "プリセットの削除",
1776
1809
  "preset_deleted": "プリセット「{name}」を削除しました",
1777
1810
  "preset_restored": "プリセットを復元しました",
1778
- "preset_picker_title": "Pick a preset",
1779
- "preset_picker_hint": "Switch tone for this conversation. For fine-tuning, use the ⚙ gear.",
1780
- "preset_picker_custom_note": "Currently using custom values open to view or save them as a preset.",
1781
- "preset_custom_label": "Custom",
1782
- "retry_title": "Retry this reply",
1783
- "retry_action": "Retry",
1784
- "retry_as_is": "Retry with current params",
1785
- "retry_with_preset": "Or try a different preset",
1786
- "retry_done": "Reply regenerating",
1787
- "retry_undone": "Original reply restored",
1788
- "undo": "Undo",
1811
+ "preset_picker_title": "プリセットを選択する",
1812
+ "preset_picker_hint": "この会話のトーンを切り替えてください。微調整には⚙ギアを使用します。",
1813
+ "preset_picker_custom_note": "現在カスタム値を使用しています — ⚙ を開いて表示するか、プリセットとして保存します。",
1814
+ "preset_custom_label": "カスタム",
1815
+ "retry_title": "この返信を再試行してください",
1816
+ "retry_action": "リトライ",
1817
+ "retry_as_is": "現在のパラメータで再試行します",
1818
+ "retry_with_preset": "または、別のプリセットを試してください",
1819
+ "retry_done": "返信を再生成しています",
1820
+ "retry_undone": "元の返信が復元されました",
1821
+ "undo": "元に戻す",
1789
1822
  "presets": {
1790
1823
  "default": {
1791
- "label": "Default"
1824
+ "label": "デフォルト"
1792
1825
  },
1793
1826
  "precise": {
1794
- "label": "Precise"
1827
+ "label": "正確な"
1795
1828
  },
1796
1829
  "balanced": {
1797
- "label": "Balanced"
1830
+ "label": "バランスの取れた"
1798
1831
  },
1799
1832
  "creative": {
1800
- "label": "Creative"
1833
+ "label": "クリエイティブ"
1801
1834
  }
1802
1835
  },
1803
- "default": "Default",
1804
- "quick_actions_header": "Start with",
1805
- "workflows_header": "Workflows",
1806
- "wf_steps": "steps",
1836
+ "default": "デフォルト",
1837
+ "quick_actions_header": "から始める",
1838
+ "workflows_header": "ワークフロー",
1839
+ "wf_steps": "ステップ",
1807
1840
  "wf": {
1808
1841
  "summarize-then-translate": {
1809
- "name": "Summarize → Translate",
1810
- "desc": "TL;DR the input, then translate the summary."
1842
+ "name": "要約→翻訳",
1843
+ "desc": "入力内容をTL;DRしてから、概要を翻訳します。"
1811
1844
  },
1812
1845
  "translate-then-polish": {
1813
- "name": "TranslatePolish",
1814
- "desc": "Translate input, then smooth the translation."
1846
+ "name": "翻訳ポーランド語",
1847
+ "desc": "入力を翻訳してから、翻訳をスムーズにします。"
1815
1848
  },
1816
1849
  "step": {
1817
- "summarize": "Summarizing",
1818
- "translate": "Translating",
1819
- "polish": "Polishing",
1820
- "tone": "Tone",
1821
- "length": "Length",
1822
- "article": "Writing article",
1823
- "cover": "Cover image",
1824
- "target_lang": "Target language",
1825
- "dictate": "Dictation",
1826
- "structurize": "Structuring"
1850
+ "summarize": "要約する",
1851
+ "translate": "翻訳中",
1852
+ "polish": "研磨",
1853
+ "tone": "トーン",
1854
+ "length": "長さ",
1855
+ "article": "記事を書く",
1856
+ "cover": "表紙画像",
1857
+ "target_lang": "対象言語",
1858
+ "dictate": "ディクテーション",
1859
+ "structurize": "構造化"
1827
1860
  },
1828
1861
  "write-article": {
1829
- "name": "Write article + cover",
1830
- "desc": "Topictone/lengtharticle → AI cover",
1831
- "ask_tone": "What tone should the article take?",
1832
- "ask_length": "How long should it be?",
1833
- "cover_hint": "Generating a cover image…"
1862
+ "name": "記事+表紙を書く",
1863
+ "desc": "トピックトーン/長さ記事 → AI カバー",
1864
+ "ask_tone": "記事はどのようなトーンで書くべきでしょうか?",
1865
+ "ask_length": "どれくらいの長さにすればよいでしょうか?",
1866
+ "cover_hint": "カバー画像を生成中…"
1834
1867
  },
1835
1868
  "translate": {
1836
- "name": "Translate",
1837
- "desc": "Translate text into a target language",
1838
- "ask_lang": "Translate into which language?"
1869
+ "name": "翻訳する",
1870
+ "desc": "テキストをターゲット言語に翻訳する",
1871
+ "ask_lang": "どの言語に翻訳しますか?"
1839
1872
  },
1840
1873
  "voice-transcribe": {
1841
- "name": "Voice → note",
1842
- "desc": "Dictate, then structure into a note",
1843
- "hint": "Tap done when you finish speaking."
1874
+ "name": "音声→メモ",
1875
+ "desc": "口述してメモにまとめる",
1876
+ "hint": "話し終えたら「完了」をタップします。"
1844
1877
  },
1845
1878
  "tone": {
1846
- "general": "General",
1847
- "marketing": "Marketing",
1848
- "technical": "Technical",
1849
- "story": "Story"
1879
+ "general": "一般的な",
1880
+ "marketing": "マーケティング",
1881
+ "technical": "テクニカル",
1882
+ "story": ""
1850
1883
  },
1851
1884
  "length": {
1852
- "short": "Short (~500)",
1853
- "medium": "Medium (~1500)",
1854
- "long": "Long (~3000)"
1885
+ "short": "ショート (~500)",
1886
+ "medium": " (~1500)",
1887
+ "long": "ロング (~3000)"
1855
1888
  },
1856
1889
  "lang": {
1857
- "en": "English",
1858
- "zh": "Chinese",
1859
- "ja": "Japanese",
1860
- "ko": "Korean"
1890
+ "en": "英語",
1891
+ "zh": "中国語",
1892
+ "ja": "日本語",
1893
+ "ko": "韓国人"
1861
1894
  },
1862
- "cancel": "Cancel",
1863
- "listening": "Listening…",
1864
- "stt_done": "Done",
1865
- "generating_cover": "Generating cover…",
1866
- "cover_failed": "Cover generation failed",
1867
- "skip_cover": "Skip cover",
1868
- "regenerate": "Regenerate",
1869
- "insert_with_cover": "Insert article + cover",
1870
- "no_image_provider": "No image provider set one up in Settings Image generation."
1895
+ "cancel": "キャンセル",
1896
+ "listening": "リスニング…",
1897
+ "stt_done": "終わり",
1898
+ "generating_cover": "カバーを生成中…",
1899
+ "cover_failed": "カバーの生成に失敗しました",
1900
+ "skip_cover": "スキップカバー",
1901
+ "regenerate": "再生する",
1902
+ "insert_with_cover": "記事+表紙を挿入",
1903
+ "no_image_provider": "画像プロバイダーはありません[設定][画像生成] で設定します。"
1871
1904
  },
1872
1905
  "tpl": {
1873
1906
  "screenshot-to-md": {
1874
- "name": "ImageMarkdown",
1875
- "desc": "Convert a screenshot, photo, or chart to clean Markdown.",
1876
- "input": "Add a caption or leave empty — the model uses your image."
1907
+ "name": "画像マークダウン",
1908
+ "desc": "スクリーンショット、写真、またはグラフをクリーンな Markdown に変換します。",
1909
+ "input": "キャプションを追加するか、空のままにします。モデルはあなたの画像を使用します。"
1877
1910
  },
1878
1911
  "summarize-current": {
1879
- "name": "Summarize note",
1880
- "desc": "TL;DR + key terms of the doc open in the Edit tab.",
1881
- "input": "Optional focus: “key claims only”, “as bullet list”…"
1912
+ "name": "要約メモ",
1913
+ "desc": "TL;DR + ドキュメントの重要な用語が [編集] タブで開きます。",
1914
+ "input": "オプションのフォーカス: 「主要なクレームのみ」、「箇条書きとして」…"
1882
1915
  },
1883
1916
  "continue-writing": {
1884
- "name": "Continue writing",
1885
- "desc": "Pick up where you left off in the current doc.",
1917
+ "name": "書き続ける",
1918
+ "desc": "現在のドキュメントの中断したところから再開します。",
1886
1919
  "input": "Optional steering: tone, length, next section…"
1887
1920
  },
1888
1921
  "translate-zh-en": {
1889
- "name": "Translate ZH ↔ EN",
1890
- "desc": "Auto-detects source language. Preserves Markdown.",
1922
+ "name": "ZH ↔ JP を翻訳",
1923
+ "desc": "ソース言語を自動検出します。マークダウンを保持します。",
1891
1924
  "input": "Paste the text to translate."
1892
1925
  }
1893
1926
  },
1894
- "rename": "Rename",
1895
- "rename_prompt": "New title",
1896
- "delete_confirm": "Delete “{title}”? This cannot be undone.",
1897
- "conv_deleted": "Deleted “{title}",
1898
- "conv_restored": "Conversation restored",
1899
- "usage_tooltip": "Prompt tokens Completion tokens ↓",
1900
- "budget_warn_confirm": "You are nearing your monthly AI budget. Send anyway?",
1901
- "budget_over_confirm": "You are OVER your monthly AI budget. Send anyway?",
1902
- "bulk_import": "Import all",
1903
- "bulk_export": "Export all",
1904
- "import_ok": "Imported {n} conversation(s).",
1905
- "import_empty": "No conversations in that file.",
1906
- "import_failed": "Import failed: {err}",
1907
- "compose": "Compose article",
1908
- "commands_title": "Commands",
1909
- "more_actions": "More actions",
1927
+ "rename": "名前の変更",
1928
+ "rename_prompt": "新しいタイトル",
1929
+ "delete_confirm": "{title}」を削除しますか?これを元に戻すことはできません。",
1930
+ "conv_deleted": "{title}」を削除しました",
1931
+ "conv_restored": "会話が復元されました",
1932
+ "usage_tooltip": "プロンプトトークンコンプリーショントークン ↓",
1933
+ "budget_warn_confirm": "毎月の AI 予算に近づいています。とにかく送信しますか?",
1934
+ "budget_over_confirm": "毎月の AI 予算を超えています。とにかく送信しますか?",
1935
+ "bulk_import": "すべてインポート",
1936
+ "bulk_export": "すべてエクスポート",
1937
+ "import_ok": "{n} 会話をインポートしました。",
1938
+ "import_empty": "そのファイルには会話がありません。",
1939
+ "import_failed": "インポートに失敗しました: {err}",
1940
+ "compose": "記事を作成する",
1941
+ "commands_title": "コマンド",
1942
+ "more_actions": "さらなるアクション",
1910
1943
  "commands_empty": "No matching commands.",
1911
- "voice_dictate": "Voice input",
1912
- "voice_stop": "Stop",
1913
- "voice_read_aloud": "Read aloud",
1914
- "voice_local_badge": "On-device",
1915
- "voice_permission_denied": "Microphone or speech permission denied. Enable it in Settings to use voice.",
1916
- "voice_start_failed": "Could not start voice input.",
1917
- "voice_speak_failed": "Could not read this message aloud."
1944
+ "voice_dictate": "音声入力",
1945
+ "voice_stop": "停止",
1946
+ "voice_read_aloud": "声に出して読む",
1947
+ "voice_local_badge": "オンデバイス",
1948
+ "voice_permission_denied": "マイクまたは音声の許可が拒否されました。音声を使用するには、設定で有効にしてください。",
1949
+ "voice_start_failed": "音声入力を開始できませんでした。",
1950
+ "voice_speak_failed": "このメッセージを読み上げることができませんでした。",
1951
+ "delete": "消去"
1918
1952
  },
1919
1953
  "files": {
1920
- "title": "Knowledge Base",
1921
- "kb": "Knowledge Bases",
1922
- "tree": "All Notes",
1923
- "recent": "Recent",
1954
+ "title": "ナレッジベース",
1955
+ "kb": "知識ベース",
1956
+ "tree": "すべてのメモ",
1957
+ "recent": "最近の",
1924
1958
  "favorites": "Favorites",
1925
- "open_local": "Open from device",
1959
+ "open_local": "デバイスから開く",
1926
1960
  "open_local_failed": "Could not open this file. Make sure it's a text or Markdown file.",
1927
- "new": "New document",
1928
- "no_recent": "No recently opened documents.",
1929
- "no_favorites": "No favorites yet. Star a document from the editor to add it here.",
1961
+ "new": "新しいドキュメント",
1962
+ "no_recent": "最近開いたドキュメントはありません。",
1963
+ "no_favorites": "まだお気に入りはありません。ここに追加するには、エディターからドキュメントにスターを付けます。",
1930
1964
  "empty": "No notes yet. Tap “New document” or “Open from device” to start.",
1931
- "loading": "Loading…",
1932
- "new_kb": "New knowledge base",
1933
- "kb_name_placeholder": "Knowledge base name",
1934
- "create": "Create",
1965
+ "loading": "読み込み中…",
1966
+ "new_kb": "新しい知識ベース",
1967
+ "kb_name_placeholder": "ナレッジベース名",
1968
+ "create": "作成する",
1935
1969
  "cancel": "Cancel",
1936
1970
  "kb_create_failed": "Could not create the knowledge base."
1937
1971
  },
1938
1972
  "media": {
1939
1973
  "title": "Cloud images",
1940
- "search": "Search images",
1941
- "loading": "Loading…",
1942
- "empty": "No cloud images yet.",
1974
+ "search": "画像の検索",
1975
+ "loading": "読み込み中…",
1976
+ "empty": "雲の画像はまだありません。",
1943
1977
  "insert": "Insert cloud image"
1944
1978
  }
1945
1979
  },
1946
1980
  "notifications": {
1947
- "__mt": true,
1948
1981
  "title": "Push Notifications",
1949
- "subtitle": "Receive alerts when your AI tasks finish or collaborators @ you.",
1950
- "unsupported": "This browser does not support push notifications.",
1951
- "permission_status": "Permission",
1952
- "permission_denied": "Notification permission denied.",
1953
- "denied_hint": "Open your browser settings to re-enable notifications.",
1954
- "enable": "Enable",
1955
- "disable": "Disable",
1956
- "no_token": "Failed to obtain a device token.",
1982
+ "subtitle": "AI タスクが終了したとき、またはコラボレーターがあなたに連絡したときにアラートを受け取ります。",
1983
+ "unsupported": "このブラウザはプッシュ通知をサポートしていません。",
1984
+ "permission_status": "許可",
1985
+ "permission_denied": "通知の許可が拒否されました。",
1986
+ "denied_hint": "ブラウザの設定を開いて通知を再度有効にします。",
1987
+ "enable": "有効にする",
1988
+ "disable": "無効にする",
1989
+ "no_token": "デバイストークンの取得に失敗しました。",
1957
1990
  "device_registered": "This device is registered:",
1958
1991
  "registered_devices": "Registered devices",
1959
- "no_devices": "No devices registered yet.",
1960
- "revoke": "Revoke",
1961
- "revoke_confirm": "Revoke this device? It will stop receiving push notifications immediately.",
1992
+ "no_devices": "まだデバイスが登録されていません。",
1993
+ "revoke": "取り消す",
1994
+ "revoke_confirm": "このデバイスを取り消しますか?プッシュ通知の受信はすぐに停止されます。",
1962
1995
  "platform": {
1963
- "web": "Web",
1996
+ "web": "ウェブ",
1964
1997
  "ios": "iOS",
1965
- "android": "Android",
1966
- "desktop": "Desktop",
1967
- "unknown": "Unknown"
1968
- },
1969
- "registered_at": "Registered {date}",
1970
- "last_seen": "Last seen {date}",
1971
- "error_register": "Could not register this device.",
1972
- "error_list": "Could not load device list."
1998
+ "android": "アンドロイド",
1999
+ "desktop": "デスクトップ",
2000
+ "unknown": "未知"
2001
+ },
2002
+ "registered_at": "{date} 登録しました",
2003
+ "last_seen": "最後に見た{date}",
2004
+ "error_register": "このデバイスを登録できませんでした。",
2005
+ "error_list": "デバイスリストをロードできませんでした。",
2006
+ "recent": "最近のお知らせ"
2007
+ },
2008
+ "ocr": {
2009
+ "capture_button": "テキストをキャプチャして抽出する",
2010
+ "capture_short": "捕獲",
2011
+ "recognizing": "テキストを認識中…",
2012
+ "empty_result": "テキストが検出されませんでした",
2013
+ "failed": "OCRが失敗しました",
2014
+ "engine_unavailable": "このデバイスでは OCR を利用できません"
1973
2015
  },
1974
2016
  "offline": {
1975
- "__mt": true,
1976
- "cache_enabled": "Offline cache enabled",
1977
- "cache_disabled": "Offline cache disabled",
1978
- "cache_size": "{size} cached",
1979
- "cache_note_count": "{count} notes cached",
1980
- "cache_expired": "Cache expired",
2017
+ "cache_enabled": "オフラインキャッシュが有効になっている",
2018
+ "cache_disabled": "オフラインキャッシュが無効になっています",
2019
+ "cache_size": "{size} がキャッシュされました",
2020
+ "cache_note_count": "{count} メモがキャッシュされました",
2021
+ "cache_expired": "キャッシュの有効期限が切れました",
1981
2022
  "note_cached": "Note cached for offline",
1982
2023
  "note_evicted": "Note evicted from cache",
1983
2024
  "offline_banner": "You are offline. Showing cached content.",
@@ -1991,27 +2032,25 @@
1991
2032
  "collapse": "Collapse"
1992
2033
  },
1993
2034
  "perf": {
1994
- "__mt": true,
1995
2035
  "memory_warning": "High memory usage detected ({percent}%)",
1996
2036
  "memory_critical": "Critical memory usage ({percent}%)",
1997
2037
  "memory_trend_growing": "Memory growing",
1998
2038
  "memory_trend_stable": "Memory stable",
1999
2039
  "memory_trend_shrinking": "Memory shrinking",
2000
- "vitals_score": "Performance score: {score}",
2001
- "vitals_good": "Good",
2002
- "vitals_needs_improvement": "Needs improvement",
2003
- "vitals_poor": "Poor"
2040
+ "vitals_score": "パフォーマンススコア: {score}",
2041
+ "vitals_good": "良い",
2042
+ "vitals_needs_improvement": "改善が必要",
2043
+ "vitals_poor": "貧しい"
2004
2044
  },
2005
2045
  "permissions": {
2006
- "__mt": true,
2007
- "paste_title": "Allow Clipboard Access?",
2008
- "paste_desc": "Moraya wants to read image data from your clipboard. This is used only when you paste an image.",
2046
+ "paste_title": "クリップボードへのアクセスを許可しますか?",
2047
+ "paste_desc": "Moraya はクリップボードから画像データを読み取ろうとしています。画像を貼り付ける場合のみ使用します。",
2009
2048
  "allow_once": "Allow Once",
2010
2049
  "allow_always": "Always Allow",
2011
2050
  "deny": "Deny",
2012
- "granted": "Clipboard access granted",
2013
- "denied": "Clipboard access denied",
2014
- "revoke": "Revoke Permission"
2051
+ "granted": "クリップボードへのアクセスが許可されました",
2052
+ "denied": "クリップボードへのアクセスが拒否されました",
2053
+ "revoke": "許可を取り消す"
2015
2054
  },
2016
2055
  "plugin_action": {
2017
2056
  "title": "プラグイン実行",
@@ -2156,43 +2195,40 @@
2156
2195
  "seo_no_provider": "AIプロバイダーが設定されていません。設定でAIプロバイダーを構成してください。"
2157
2196
  },
2158
2197
  "pwa": {
2159
- "__mt": true,
2160
- "install_prompt": "Install Moraya Web for a better experience.",
2161
- "install": "Install",
2162
- "dismiss": "Not now",
2198
+ "install_prompt": "より良いエクスペリエンスを得るために、Moraya Web をインストールしてください。",
2199
+ "install": "インストール",
2200
+ "dismiss": "今じゃない",
2163
2201
  "update_available": "A new version is available.",
2164
- "refresh": "Refresh"
2202
+ "refresh": "リフレッシュ"
2165
2203
  },
2166
2204
  "quickopen": {
2167
- "__mt": true,
2168
- "title": "Quick Open",
2169
- "placeholder": "Search notes...",
2170
- "no_results": "No notes found",
2171
- "hint_enter": " Open",
2172
- "hint_cmd_enter": "⌘↵ Open in new tab"
2205
+ "title": "クイックオープン",
2206
+ "placeholder": "メモを検索...",
2207
+ "no_results": "メモが見つかりませんでした",
2208
+ "hint_enter": " 開く",
2209
+ "hint_cmd_enter": "⌘↵ 新しいタブで開く"
2173
2210
  },
2174
2211
  "rag": {
2175
- "__mt": true,
2176
- "title": "AI Knowledge Search (RAG)",
2177
- "mode_label": "Search Mode",
2212
+ "title": "AI ナレッジ検索 (RAG)",
2213
+ "mode_label": "検索モード",
2178
2214
  "mode_disabled": "Disabled",
2179
- "mode_client": "Client-side (E2E compatible)",
2180
- "mode_server": "Server-side (faster, KMS required)",
2181
- "index_status": "Index Status",
2182
- "indexed_notes": "Indexed notes",
2183
- "rebuild_index": "Rebuild Full Index",
2184
- "pause_rebuild": "Pause",
2185
- "rebuilding": "Rebuilding index...",
2186
- "search_settings": "Search Settings",
2187
- "top_k_label": "Results (top-K)",
2188
- "threshold_label": "Min. similarity",
2215
+ "mode_client": "クライアント側(E2E互換)",
2216
+ "mode_server": "サーバー側 (高速、KMS が必要)",
2217
+ "index_status": "インデックスステータス",
2218
+ "indexed_notes": "インデックス付きメモ",
2219
+ "rebuild_index": "完全なインデックスを再構築",
2220
+ "pause_rebuild": "一時停止",
2221
+ "rebuilding": "インデックスを再構築中...",
2222
+ "search_settings": "検索設定",
2223
+ "top_k_label": "結果 (上位 K)",
2224
+ "threshold_label": "分。類似性",
2189
2225
  "sources_label": "Sources",
2190
2226
  "sources_count": "{n} note excerpts",
2191
- "jump_to_source": "Jump to note →",
2227
+ "jump_to_source": "ノートへジャンプ→",
2192
2228
  "no_sources": "No sources",
2193
- "server_mode_warning": "Server mode lets Moraya temporarily decrypt your notes for indexing. Requires Cloud KMS.",
2194
- "model_version": "Model version",
2195
- "upgrade_for_cross_kb": "Upgrade to Personal to search across all your knowledge bases."
2229
+ "server_mode_warning": "サーバー モードでは、Moraya はインデックス作成のためにメモを一時的に復号化します。クラウド KMS が必要です。",
2230
+ "model_version": "モデルバージョン",
2231
+ "upgrade_for_cross_kb": "Personal にアップグレードすると、すべてのナレッジ ベースを検索できます。"
2196
2232
  },
2197
2233
  "review": {
2198
2234
  "panel_title": "レビュー",
@@ -2282,49 +2318,48 @@
2282
2318
  "invalid_regex": "Invalid regular expression"
2283
2319
  },
2284
2320
  "security": {
2285
- "__mt": true,
2286
- "title": "Security",
2287
- "encryption_mode_label": "Encryption Mode",
2288
- "mode_none": "None",
2289
- "mode_e2e": "E2E Client Encryption",
2290
- "mode_kms": "Cloud KMS",
2291
- "setup_title": "Set Up E2E Encryption",
2292
- "setup_subtitle": "Your notes will be encrypted before leaving your device. Moraya cannot read your notes.",
2293
- "passphrase_label": "Passphrase",
2294
- "passphrase_confirm_label": "Confirm Passphrase",
2321
+ "title": "安全",
2322
+ "encryption_mode_label": "暗号化モード",
2323
+ "mode_none": "なし",
2324
+ "mode_e2e": "E2E クライアント暗号化",
2325
+ "mode_kms": "クラウドKMS",
2326
+ "setup_title": "E2E 暗号化のセットアップ",
2327
+ "setup_subtitle": "メモはデバイスから離れる前に暗号化されます。モラヤはあなたのメモを読むことができません。",
2328
+ "passphrase_label": "パスフレーズ",
2329
+ "passphrase_confirm_label": "パスフレーズの確認",
2295
2330
  "passphrase_strength_weak": "Too weak",
2296
- "passphrase_strength_fair": "Fair",
2297
- "passphrase_strength_strong": "Strong",
2298
- "passphrase_strength_very_strong": "Very strong",
2299
- "passphrase_min_length": "Minimum 12 characters",
2300
- "passphrase_mismatch": "Passphrases do not match",
2301
- "passphrase_too_weak": "Passphrase is too weak. Use a longer, more complex phrase.",
2302
- "warning_no_recovery": "⚠️ If you forget your passphrase and lose your recovery code, your data cannot be recovered. Moraya has no backup.",
2303
- "recovery_code_title": "Your Recovery Code",
2304
- "recovery_code_subtitle": "Write down these 12 words. You will need them if you forget your passphrase.",
2305
- "recovery_confirm_instruction": "Enter word #{n} to confirm you wrote it down:",
2306
- "recovery_confirm_correct": "Correct! Enter word #{n}:",
2307
- "recovery_confirm_wrong": "Wrong word. Try again.",
2308
- "recovery_complete": "Recovery code confirmed.",
2309
- "i_have_written_down": "I have written down my recovery code",
2310
- "unlock_title": "Unlock Your Notes",
2311
- "unlock_subtitle": "Enter your passphrase to decrypt your notes.",
2331
+ "passphrase_strength_fair": "公平",
2332
+ "passphrase_strength_strong": "強い",
2333
+ "passphrase_strength_very_strong": "とても強い",
2334
+ "passphrase_min_length": "最低 12 文字",
2335
+ "passphrase_mismatch": "パスフレーズが一致しません",
2336
+ "passphrase_too_weak": "パスフレーズが弱すぎます。より長く、より複雑なフレーズを使用します。",
2337
+ "warning_no_recovery": "⚠️ パスフレーズを忘れて回復コードを紛失した場合、データは回復できません。モラヤにはバックアップが無い。",
2338
+ "recovery_code_title": "リカバリーコード",
2339
+ "recovery_code_subtitle": "この 12 個の単語を書き留めてください。パスフレーズを忘れた場合に必要になります。",
2340
+ "recovery_confirm_instruction": "単語 #{n} を入力して、書き留めたことを確認します。",
2341
+ "recovery_confirm_correct": "正しい!単語 #{n} を入力してください:",
2342
+ "recovery_confirm_wrong": "言葉が間違っています。もう一度やり直してください。",
2343
+ "recovery_complete": "リカバリコードが確認されました。",
2344
+ "i_have_written_down": "リカバリーコードを書き留めました",
2345
+ "unlock_title": "メモのロックを解除する",
2346
+ "unlock_subtitle": "パスフレーズを入力してメモを復号化します。",
2312
2347
  "unlock_button": "Unlock",
2313
2348
  "unlock_failed": "Wrong passphrase. Please try again.",
2314
2349
  "unlock_remember_device": "Remember this device for 7 days",
2315
2350
  "migrate_title": "Upgrade to Cloud KMS",
2316
- "migrate_subtitle": "Your notes will be re-encrypted using your cloud KMS. Moraya can use your KMS to assist with AI features.",
2317
- "migrate_warning": "This is a one-way migration. You cannot revert to E2E mode without exporting and re-importing all data.",
2318
- "migrate_confirm": "I understand and want to proceed",
2319
- "migrate_progress": "Migrating {completed}/{total} notes...",
2320
- "migrate_done": "Migration complete!",
2351
+ "migrate_subtitle": "メモはクラウド KMS を使用して再暗号化されます。 Moraya KMS を使用して AI 機能を支援できます。",
2352
+ "migrate_warning": "これは一方向の移行です。すべてのデータをエクスポートして再インポートしないと、E2E モードに戻すことはできません。",
2353
+ "migrate_confirm": "理解しましたので続行します",
2354
+ "migrate_progress": "{completed}/{total} メモを移行しています...",
2355
+ "migrate_done": "移行が完了しました。",
2321
2356
  "migrate_failed": "Migration failed. Your original data is unchanged.",
2322
- "kms_provider_label": "KMS Provider",
2323
- "kms_key_arn_label": "Key ARN / Key ID",
2324
- "kms_role_arn_label": "Role ARN (for AssumeRole)",
2325
- "kms_verify": "Verify KMS Connection",
2326
- "kms_verified": "KMS connection verified",
2327
- "kms_verify_failed": "KMS connection failed",
2357
+ "kms_provider_label": "KMSプロバイダー",
2358
+ "kms_key_arn_label": "キー ARN / キー ID",
2359
+ "kms_role_arn_label": "ロール ARN (AssumeRole )",
2360
+ "kms_verify": "KMS 接続の確認",
2361
+ "kms_verified": "KMS接続が確認されました",
2362
+ "kms_verify_failed": "KMS接続に失敗しました",
2328
2363
  "back": "Back",
2329
2364
  "next": "Next",
2330
2365
  "save": "Save",
@@ -2332,14 +2367,24 @@
2332
2367
  "setup_complete": "E2E encryption enabled",
2333
2368
  "deriving_key": "Deriving encryption key...",
2334
2369
  "encrypting": "Encrypting notes...",
2335
- "current_mode": "Current mode: {mode}",
2370
+ "current_mode": "現在のモード: {mode}",
2336
2371
  "last_unlock": "Last unlocked: {time}",
2337
- "use_recovery_code": "Use recovery code instead",
2338
- "recovery_unlock_title": "Recover Access",
2372
+ "use_recovery_code": "代わりにリカバリーコードを使用してください",
2373
+ "recovery_unlock_title": "アクセスを回復する",
2339
2374
  "recovery_unlock_subtitle": "Enter your 12-word recovery code to regain access.",
2340
- "recovery_code_input": "Recovery Code (12 words, space-separated)",
2341
- "recovery_unlock_button": "Recover",
2342
- "set_new_passphrase": "Set New Passphrase"
2375
+ "recovery_code_input": "リカバリコード (12 ワード、スペース区切り)",
2376
+ "recovery_unlock_button": "回復する",
2377
+ "set_new_passphrase": "新しいパスフレーズを設定する",
2378
+ "biometric_unlock_title": "モラヤのロックを解除する",
2379
+ "biometric_unlock_subtitle": "データにアクセスするための認証",
2380
+ "biometric_failed": "認証に失敗しました",
2381
+ "unlock_with_biometric": "生体認証によるロック解除",
2382
+ "unlock_with_face_id": "Face IDでロックを解除する",
2383
+ "unlock_with_touch_id": "Unlock with Touch ID",
2384
+ "unlock_with_fingerprint": "Unlock with fingerprint",
2385
+ "unlock_with_iris": "Unlock with iris scan",
2386
+ "unlock_with_passkey": "Unlock with passkey",
2387
+ "use_passphrase_fallback": "Use passphrase instead"
2343
2388
  },
2344
2389
  "seo": {
2345
2390
  "title": "SEO 最適化",
@@ -2359,7 +2404,6 @@
2359
2404
  "step_description": "タイトル、抜粋、タグを生成"
2360
2405
  },
2361
2406
  "sessions": {
2362
- "__mt": true,
2363
2407
  "title": "Active Sessions",
2364
2408
  "active_sessions": "Active Sessions",
2365
2409
  "anomaly_alerts": "Security Alerts",
@@ -2371,9 +2415,9 @@
2371
2415
  "yes": "Yes",
2372
2416
  "no": "Cancel",
2373
2417
  "dismiss": "Dismiss",
2374
- "just_now": "Just now",
2375
- "hours_ago": "h ago",
2376
- "days_ago": "d ago"
2418
+ "just_now": "ちょうど今",
2419
+ "hours_ago": "時間前",
2420
+ "days_ago": "一日前"
2377
2421
  },
2378
2422
  "settings": {
2379
2423
  "title": "Settings",
@@ -3011,20 +3055,19 @@
3011
3055
  "local_workspace": "Local"
3012
3056
  },
3013
3057
  "sso": {
3014
- "__mt": true,
3015
- "title": "Single Sign-On",
3016
- "description": "Configure SSO to let team members authenticate via your identity provider.",
3017
- "enable_sso": "Enable SSO",
3018
- "require_sso": "Require SSO for all members",
3058
+ "title": "シングルサインオン",
3059
+ "description": "SSO を構成して、チーム メンバーが ID プロバイダー経由で認証できるようにします。",
3060
+ "enable_sso": "SSOを有効にする",
3061
+ "require_sso": "すべてのメンバーに SSO を要求する",
3019
3062
  "oidc": "OIDC / OAuth 2.0",
3020
3063
  "saml": "SAML 2.0",
3021
- "provider": "Identity Provider",
3022
- "custom_provider": "Custom",
3023
- "issuer": "Issuer URL",
3024
- "client_id": "Client ID",
3025
- "client_secret": "Client Secret",
3026
- "scopes": "Scopes",
3027
- "idp_metadata_url": "IdP Metadata URL",
3064
+ "provider": "アイデンティティプロバイダー",
3065
+ "custom_provider": "カスタム",
3066
+ "issuer": "発行者のURL",
3067
+ "client_id": "クライアントID",
3068
+ "client_secret": "クライアントシークレット",
3069
+ "scopes": "スコープ",
3070
+ "idp_metadata_url": "IdPメタデータURL",
3028
3071
  "sp_entity_id": "SP Entity ID",
3029
3072
  "sp_acs_url": "ACS URL",
3030
3073
  "signing_cert": "Signing Certificate",
@@ -3049,53 +3092,52 @@
3049
3092
  "ai_tooltip": "AI"
3050
3093
  },
3051
3094
  "storage": {
3052
- "__mt": true,
3053
- "title": "Storage",
3054
- "connected_providers": "Connected Providers",
3055
- "connect_provider": "Connect Provider",
3056
- "primary": "Primary",
3057
- "set_primary": "Set as Primary",
3058
- "remove": "Remove",
3059
- "edit": "Edit",
3060
- "verify": "Verify Connection",
3061
- "verifying": "Verifying...",
3095
+ "title": "ストレージ",
3096
+ "connected_providers": "接続されたプロバイダー",
3097
+ "connect_provider": "プロバイダーに接続する",
3098
+ "primary": "主要な",
3099
+ "set_primary": "プライマリとして設定",
3100
+ "remove": "取り除く",
3101
+ "edit": "編集",
3102
+ "verify": "接続の確認",
3103
+ "verifying": "確認中...",
3062
3104
  "verify_success": "Connection verified",
3063
3105
  "verify_failed": "Verification failed",
3064
- "no_providers": "No storage providers connected.",
3106
+ "no_providers": "ストレージプロバイダーが接続されていません。",
3065
3107
  "connect_prompt": "Connect your own cloud storage to keep full control of your data.",
3066
- "picora_default": "Picora is your storage provider (Connect plan)",
3067
- "upgrade_for_byoc": "Upgrade to Personal to connect your own storage.",
3068
- "step_choose": "Choose Provider",
3069
- "step_setup": "Setup Script",
3070
- "step_credentials": "Enter Credentials",
3071
- "step_verify": "Verify",
3072
- "step_name": "Name & Save",
3073
- "provider_label": "Provider",
3074
- "bucket_label": "Bucket Name",
3075
- "region_label": "Region",
3076
- "access_key_label": "Access Key ID",
3077
- "secret_key_label": "Secret Access Key",
3078
- "role_arn_label": "Role ARN (for STS)",
3079
- "account_id_label": "Account ID",
3080
- "key_id_label": "Key ID",
3081
- "application_key_label": "Application Key",
3082
- "binding_label": "Display Name",
3108
+ "picora_default": "Picora はストレージ プロバイダー (Connect プラン)",
3109
+ "upgrade_for_byoc": "Personal にアップグレードして、独自のストレージを接続します。",
3110
+ "step_choose": "プロバイダーの選択",
3111
+ "step_setup": "セットアップスクリプト",
3112
+ "step_credentials": "資格情報を入力してください",
3113
+ "step_verify": "確認する",
3114
+ "step_name": "名前を付けて保存",
3115
+ "provider_label": "プロバイダー",
3116
+ "bucket_label": "バケット名",
3117
+ "region_label": "地域",
3118
+ "access_key_label": "アクセスキーID",
3119
+ "secret_key_label": "シークレットアクセスキー",
3120
+ "role_arn_label": "ロール ARN (STS )",
3121
+ "account_id_label": "アカウントID",
3122
+ "key_id_label": "キーID",
3123
+ "application_key_label": "アプリケーションキー",
3124
+ "binding_label": "表示名",
3083
3125
  "copy_script": "Copy Script",
3084
- "copy_policy": "Copy Policy JSON",
3085
- "copied": "Copied!",
3086
- "back": "Back",
3126
+ "copy_policy": "ポリシー JSON をコピー",
3127
+ "copied": "コピーしました!",
3128
+ "back": "戻る",
3087
3129
  "next": "Next",
3088
- "save": "Save",
3130
+ "save": "保存",
3089
3131
  "health_ok": "Healthy",
3090
3132
  "health_degraded": "Degraded",
3091
- "health_failed": "Failed",
3133
+ "health_failed": "失敗した",
3092
3134
  "health_unknown": "Unknown",
3093
- "access_denied": "Access denied.",
3094
- "bucket_not_found": "Bucket not found.",
3135
+ "access_denied": "アクセスが拒否されました。",
3136
+ "bucket_not_found": "バケットが見つかりません。",
3095
3137
  "bucket_exists": "Bucket already exists.",
3096
3138
  "clock_skew": "System clock is out of sync. Please check your date/time settings.",
3097
- "b2_no_sts_warning": "Backblaze B2 does not support STS. Credentials are stored in session only. Enable E2E encryption (v0.43) for better security.",
3098
- "r2_token_info": "Create an API Token in Cloudflare Dashboard with R2 Read/Write permissions for this bucket."
3139
+ "b2_no_sts_warning": "Backblaze B2 STS をサポートしていません。資格情報はセッションにのみ保存されます。セキュリティを向上させるために、E2E 暗号化 (v0.43) を有効にします。",
3140
+ "r2_token_info": "Cloudflareダッシュボードで、このバケットに対するR2読み取り/書き込み権限を持つAPIトークンを作成します。"
3099
3141
  },
3100
3142
  "table": {
3101
3143
  "insert_row_above": "上に行を挿入",
@@ -3139,36 +3181,35 @@
3139
3181
  "dirty_dot": "Unsaved changes"
3140
3182
  },
3141
3183
  "team": {
3142
- "__mt": true,
3143
- "title": "Team Knowledge Bases",
3144
- "create": "New Team KB",
3145
- "no_kbs": "You don't have any team knowledge bases yet.",
3146
- "create_first": "Create your first team KB",
3147
- "members": "members",
3148
- "open": "Open",
3149
- "settings": "Settings",
3150
- "encryption_kms": "Cloud KMS (AI Review enabled)",
3184
+ "title": "チームのナレッジベース",
3185
+ "create": "新しいチームのKB",
3186
+ "no_kbs": "チームのナレッジベースがまだありません。",
3187
+ "create_first": "最初のチーム KB を作成する",
3188
+ "members": "メンバー",
3189
+ "open": "開ける",
3190
+ "settings": "設定",
3191
+ "encryption_kms": "クラウド KMS (AI レビューが有効)",
3151
3192
  "encryption_e2e": "E2E Encryption (AI Review disabled)",
3152
- "wizard_title": "Create Team Knowledge Base",
3193
+ "wizard_title": "チームのナレッジベースを作成する",
3153
3194
  "step_info": "Name",
3154
3195
  "step_provider": "Storage",
3155
- "step_members": "Members",
3156
- "step_encryption": "Encryption",
3157
- "step_confirm": "Confirm",
3158
- "kb_name_label": "Team KB Name",
3159
- "kb_name_placeholder": "e.g. Engineering Docs",
3160
- "provider_label": "Provider",
3161
- "bucket_label": "Bucket",
3162
- "prefix_label": "Prefix (optional)",
3163
- "invite_emails_label": "Email addresses (comma-separated)",
3164
- "invite_role_label": "Role",
3165
- "mode_kms_name": "Cloud KMS",
3196
+ "step_members": "メンバー",
3197
+ "step_encryption": "暗号化",
3198
+ "step_confirm": "確認する",
3199
+ "kb_name_label": "チームKB",
3200
+ "kb_name_placeholder": "例えばエンジニアリングドキュメント",
3201
+ "provider_label": "プロバイダー",
3202
+ "bucket_label": "バケツ",
3203
+ "prefix_label": "プレフィックス (オプション)",
3204
+ "invite_emails_label": "電子メールアドレス (カンマ区切り)",
3205
+ "invite_role_label": "役割",
3206
+ "mode_kms_name": "クラウドKMS",
3166
3207
  "mode_kms_desc": "AI Review and server-side features enabled.",
3167
- "mode_e2e_name": "End-to-End",
3168
- "mode_e2e_desc": "Maximum privacy. AI Review not available.",
3169
- "confirm_summary": "Confirm & Create",
3208
+ "mode_e2e_name": "エンドツーエンド",
3209
+ "mode_e2e_desc": "最大限のプライバシー。 AI レビューは利用できません。",
3210
+ "confirm_summary": "確認と作成",
3170
3211
  "creating": "Creating…",
3171
- "create_kb": "Create Team KB"
3212
+ "create_kb": "チームKBの作成"
3172
3213
  },
3173
3214
  "templates": {
3174
3215
  "gallery": {
@@ -3591,29 +3632,28 @@
3591
3632
  }
3592
3633
  },
3593
3634
  "theme": {
3594
- "__mt": true,
3595
3635
  "title": "Appearance",
3596
- "mode_title": "Color Mode",
3597
- "mode_light": "Light",
3598
- "mode_dark": "Dark",
3636
+ "mode_title": "カラーモード",
3637
+ "mode_light": "ライト",
3638
+ "mode_dark": "暗い",
3599
3639
  "mode_system": "System",
3600
- "custom_title": "Custom Themes",
3601
- "custom_new": "New Theme",
3602
- "custom_export": "Export",
3603
- "custom_import": "Import",
3604
- "custom_delete": "Delete",
3605
- "custom_activate": "Activate",
3606
- "custom_deactivate": "Deactivate",
3640
+ "custom_title": "カスタムテーマ",
3641
+ "custom_new": "新しいテーマ",
3642
+ "custom_export": "輸出",
3643
+ "custom_import": "輸入",
3644
+ "custom_delete": "消去",
3645
+ "custom_activate": "活性化",
3646
+ "custom_deactivate": "非アクティブ化",
3607
3647
  "custom_edit": "Edit",
3608
3648
  "editor_title": "Theme Editor",
3609
- "name_label": "Theme Name",
3610
- "no_custom": "No custom themes yet. Create one below.",
3611
- "groups_base": "Base Colors",
3649
+ "name_label": "テーマ名",
3650
+ "no_custom": "カスタムテーマはまだありません。以下に作成します。",
3651
+ "groups_base": "ベースカラー",
3612
3652
  "groups_editor": "Editor",
3613
3653
  "groups_ui": "UI Components",
3614
- "groups_code": "Code Block",
3615
- "saved": "Save",
3616
- "import_error": "Invalid theme file. Please use a valid Moraya theme JSON."
3654
+ "groups_code": "コードブロック",
3655
+ "saved": "保存",
3656
+ "import_error": "テーマファイルが無効です。有効な Moraya テーマの JSON を使用してください。"
3617
3657
  },
3618
3658
  "titlebar": {
3619
3659
  "unsaved": "未保存",
@@ -3642,7 +3682,34 @@
3642
3682
  "summarize_prompt": "以下の文字起こしから会議の要約を生成してください。主な議論ポイント、決定事項、アクションアイテムを特定してください。Markdown 形式でフォーマットしてください。",
3643
3683
  "no_speech_config": "音声認識プロバイダーが設定されていません。設定 → 音声 で追加してください。",
3644
3684
  "no_speech_config_hint": "設定 → 音声 で音声認識プロバイダー(例:Deepgram)を追加してください。",
3645
- "go_to_voice_settings": "音声設定を開く"
3685
+ "go_to_voice_settings": "音声設定を開く",
3686
+ "mute_mic": "マイクをミュートする",
3687
+ "unmute_mic": "マイクのミュートを解除する",
3688
+ "source_label": "ソース",
3689
+ "source_mic": "マイク",
3690
+ "source_system": "システム",
3691
+ "source_mixed": "混合",
3692
+ "mode_label": "モード",
3693
+ "mode_transcription": "転写",
3694
+ "mode_interview": "インタビュー",
3695
+ "summarize_interview": "インタビューを要約する",
3696
+ "to_document_append": "現在のドキュメントに追加",
3697
+ "interview_summarize_prompt": "次のインタビュー記録を要約してください。重要な質問、簡潔な回答ポイント、最適化の提案を抽出します。マークダウン形式でフォーマットします。",
3698
+ "interview_no_aiconfig": "チャット AI モデルが設定されていません。 「設定」→「AI」で追加してください。",
3699
+ "interview_empty_answer": "AIは空の答えを返しました。",
3700
+ "interview_answer_pending": "最新のコンテキストを分析しています...",
3701
+ "interview_answer_failed": "インタビューの回答を生成できませんでした。",
3702
+ "interview_system_share_hint": "インタビュー モードは、現在のオーディオ ソース設定に従います。画面共有は、システム ソースが選択されている場合にのみ要求されます。",
3703
+ "interview_native_system_hint": "インタビュー モードは、現在のオーディオ ソース設定に従います。 macOS では、システムおよび混合ソースは、画面共有ダイアログの代わりにネイティブ システム オーディオ キャプチャを使用します。",
3704
+ "system_source_restart_hint": "システム/ミックスソースに切り替えた後、録音が停止されました。再度「開始」をクリックして再認証し、続行します。",
3705
+ "system_source_click_start_hint": "システム ソースのアクセス許可は、[スタート] ボタンからトリガーする必要があります。もう一度「開始」をクリックしてください。",
3706
+ "system_source_permission_denied": "システムソース権限が拒否されました。画面共有を許可し、音声共有を有効にしてから、再試行してください。",
3707
+ "system_source_no_audio_track_hint": "システム オーディオ トラックがキャプチャされませんでした。共有ダイアログで、オーディオ共有を有効にし、画面全体を優先します。プラットフォームに音声共有オプションがない場合は、マイクまたは混合ソースを使用してください。",
3708
+ "system_source_unsupported_hint": "この環境では、共有ダイアログにシステム オーディオ トラックが公開されません。ソースは自動的にマイクにフォールバックしました。真のシステム オーディオの場合は、ネイティブ ループバック キャプチャ パスを使用します。",
3709
+ "system_source_native_hint": "macOS ネイティブ システムのオーディオ キャプチャがアクティブになっています。システムソースには画面共有ダイアログは必要ありません。",
3710
+ "system_source_native_mixed_hint": "macOS ネイティブ システムのオーディオ キャプチャがアクティブになっています。ミックスソースは、ネイティブシステムオーディオとアプリ内のマイク入力を組み合わせたものです。",
3711
+ "system_source_native_permission_denied": "macOS はネイティブ システム オーディオ キャプチャを拒否しました。 「システム設定」→「プライバシーとセキュリティ」でアプリを許可してから、もう一度お試しください。",
3712
+ "system_source_runtime_incompatible": "この macOS ランタイムは、ネイティブ システム オーディオ キャプチャと完全な互換性がありません。 macOS を更新するか、マイクソースに切り替えてください。"
3646
3713
  },
3647
3714
  "update": {
3648
3715
  "title": "バージョン情報",
@@ -3662,34 +3729,37 @@
3662
3729
  "new_version_available": "新しいバージョンが利用可能です!クリックしてアップグレードしてください。"
3663
3730
  },
3664
3731
  "voice": {
3665
- "__mt": true,
3666
- "title": "Voice Capture",
3667
- "provider": "Provider",
3668
- "language": "Language",
3669
- "doubao": "Doubao (Realtime)",
3670
- "start": "Record",
3671
- "stop": "Stop",
3672
- "processing": "Processing...",
3673
- "transcript": "Transcript",
3674
- "words": "words",
3675
- "structurize": "AI Structurize",
3676
- "view_history": "View History",
3677
- "untitled": "Untitled",
3678
- "key_points": "Key Points",
3679
- "action_items": "Action Items",
3680
- "save_note": "Save Note",
3681
- "discard": "Discard",
3682
- "quota_exceeded": "Monthly voice quota exceeded. Upgrade or wait until next month.",
3683
- "quota_near": "You are near your monthly voice limit.",
3732
+ "title": "ボイスキャプチャ",
3733
+ "provider": "プロバイダー",
3734
+ "language": "言語",
3735
+ "doubao": "豆宝(リアルタイム)",
3736
+ "start": "記録",
3737
+ "stop": "停止",
3738
+ "processing": "処理...",
3739
+ "transcript": "成績証明書",
3740
+ "words": "言葉",
3741
+ "structurize": "AIによる構造化",
3742
+ "view_history": "履歴を見る",
3743
+ "untitled": "無題",
3744
+ "key_points": "重要なポイント",
3745
+ "action_items": "アクションアイテム",
3746
+ "save_note": "メモの保存",
3747
+ "discard": "破棄",
3748
+ "quota_exceeded": "毎月の音声割り当てを超過しました。アップグレードするか、来月までお待ちください。",
3749
+ "quota_near": "毎月の音声制限に近づいています。",
3684
3750
  "history": {
3685
- "title": "Voice History",
3686
- "new_capture": "+ New Recording",
3687
- "search_placeholder": "Search transcripts...",
3688
- "no_results": "No transcripts match your search.",
3689
- "empty": "No recordings yet. Start capturing your voice!",
3690
- "reprocess": "Re-process",
3691
- "delete": "Delete"
3692
- }
3751
+ "title": "音声履歴",
3752
+ "new_capture": "+ 新規録音",
3753
+ "search_placeholder": "トランスクリプトを検索...",
3754
+ "no_results": "検索に一致するトランスクリプトはありません。",
3755
+ "empty": "まだ録画はありません。あなたの声をキャプチャし始めましょう!",
3756
+ "reprocess": "再処理",
3757
+ "delete": "消去"
3758
+ },
3759
+ "hold_to_record": "長押しして録音する",
3760
+ "release_to_send": "リリースして送信する",
3761
+ "cancel": "スライドしてキャンセル",
3762
+ "permission_denied": "マイクの許可が拒否されました"
3693
3763
  },
3694
3764
  "welcome": {
3695
3765
  "title": "Moraya へようこそ",