forked from tashfeenahmed/freellmapi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathja.json
More file actions
844 lines (844 loc) · 50.7 KB
/
Copy pathja.json
File metadata and controls
844 lines (844 loc) · 50.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
{
"nav": {
"models": "モデル",
"playground": "遊び場",
"keys": "キー",
"analytics": "分析",
"premium": "プレミアム",
"upgrade": "アップグレード",
"settings": "設定",
"signOut": "サインアウト",
"openMenu": "ナビゲーションメニューを開く",
"switchLight": "ライトテーマに切り替える",
"switchDark": "ダークテーマに切り替える",
"switchToChinese": "中国語に切り替える",
"switchToEnglish": "英語に切り替える",
"modelsMenu": "モデルタイプを参照する",
"agents": "エージェント"
},
"auth": {
"createYourAccount": "アカウントを作成する",
"signIn": "サインイン",
"email": "電子メール",
"password": "パスワード",
"emailPlaceholder": "you@example.com",
"passwordPlaceholderSetup": "少なくとも 8 文字",
"passwordPlaceholderLogin": "あなたのパスワード",
"setupDescription": "このダッシュボードを保護する電子メールとパスワードを設定します。",
"loginDescription": "サインインして、キー、ルーティング、分析を管理します。",
"createAccount": "アカウントを作成する",
"creating": "作成中…",
"signingIn": "サインイン中…",
"loading": "読み込み中…",
"newPasswordAutoComplete": "新しいパスワード",
"currentPasswordAutoComplete": "現在のパスワード",
"serverUnreachableBefore": "サーバーにアクセスできません。バックエンドが実行されていることを確認してください (",
"serverUnreachableAfter": ")。",
"setupCode": "セットアップコード",
"setupCodePlaceholder": "サーバーログからのコード",
"setupCodeHint": "別のデバイスからセットアップするには、起動時にサーバー ログに出力されるワンタイム コードが必要です。",
"changePassword": "パスワードを変更",
"changeEmail": "メールアドレスを変更",
"forgotPassword": "パスワードをお忘れですか?",
"currentPassword": "現在のパスワード",
"newPassword": "新しいパスワード",
"newEmail": "新しいメールアドレス",
"resetCode": "リセットコード",
"resetCodePlaceholder": "サーバーログのコード",
"resetCodeHint": "パスワードリセットコードはサーバーログに出力されます。",
"forgotPasswordDescription": "下のボタンでリセットコードを生成します。コードはサーバーログに表示されるので、ここに入力して新しいパスワードを設定してください。",
"requestResetCode": "リセットコードを送信",
"requestingResetCode": "送信中…",
"resetPassword": "パスワードをリセット",
"resettingPassword": "リセット中…",
"changingPassword": "変更中…",
"changingEmail": "変更中…",
"backToLogin": "ログインに戻る",
"passwordChanged": "パスワードを変更しました。",
"emailChanged": "メールアドレスを変更しました。",
"passwordReset": "パスワードをリセットしました。ログインしてください。"
},
"common": {
"save": "保存",
"saving": "保存中…",
"cancel": "キャンセル",
"discard": "廃棄する",
"delete": "削除",
"confirm": "確認する",
"copy": "コピー",
"copied": "コピーされました",
"copyFailed": "コピーできませんでした — テキストを選択して手動でコピーしてください",
"show": "表示する",
"hide": "隠す",
"apply": "申し込む",
"applied": "適用済み",
"applying": "申請中…",
"active": "アクティブ",
"inactive": "非アクティブ",
"never": "決して",
"loading": "読み込み中…",
"error": "エラー",
"noData": "まだデータがありません",
"unsavedChanges": "未保存の変更",
"saveChanges": "変更を保存する",
"remove": "削除",
"unknownError": "不明なエラー",
"model": "モデル",
"provider": "プロバイダー",
"success": "成功",
"failures": "失敗",
"dismiss": "解雇する",
"status": "ステータス"
},
"settings": {
"title": "設定",
"language": "言語",
"theme": "テーマ",
"themeSystem": "システム",
"themeLight": "ライト",
"themeDark": "ダーク",
"searchLanguage": "言語を検索…",
"noLanguages": "言語が見つかりません",
"sections": "設定セクション",
"sectionGeneral": "一般",
"sectionCompression": "圧縮",
"sectionAdvanced": "詳細設定",
"sectionPreview": "プレビュー",
"generalDescription": "このダッシュボードの言語と外観。",
"advancedDescription": "圧縮パイプラインのしきい値と安全スイッチ。",
"compressionTitle": "プロンプト圧縮",
"compressionDescription": "コード、エラー、パス、数値、ツール定義を保持したまま、ルーティング前にリクエストサイズを削減します。",
"compressionHelp": "プロバイダーに送信する前に各リクエストを書き換え、使用トークン数を減らします。コード、エラー、ファイルパス、数値は保護され、それらを損なう書き換えは破棄されます。",
"compressionMode": "モード",
"compressionModeHelp": "オフはリクエストをそのまま送信します。ロスレスは重複した無駄なテキストのみを削除します。標準はさらにツール出力を短縮します。アグレッシブは加えて古いやり取りを要約します。",
"compressionOff": "オフ",
"compressionLossless": "ロスレス",
"compressionStandard": "標準",
"compressionAggressive": "アグレッシブ",
"compressionLossy": "ロッシー",
"compressionEngines": "エンジン",
"compressionEnginesHelp": "各エンジンは1つの書き換えステップです。どのエンジンが動作するかはモードが決めます。ここでオフにしたエンジンは、すべてのモードで使用されません。",
"engineDedup": "重複ブロック",
"engineDedupHelp": "会話の中で既に出現したテキストブロックを、それを指す短い参照に置き換えます。",
"engineLite": "空白の整理",
"engineLiteHelp": "行末の空白を削除し、連続する空行をまとめ、重複したシステムメッセージを除去します。",
"engineReadLifecycle": "置き換えられたファイル読み取り",
"engineReadLifecycleHelp": "同じファイルが後で再び読み取りまたは編集された場合、以前の読み取り結果を注記に置き換えます。",
"engineToolfilter": "ツール出力フィルター",
"engineToolfilterHelp": "ビルド、テスト、インストールなどのコマンドやツールの出力を短縮します。エラー行とスタックトレース行は常に残ります。",
"engineJsoncompact": "JSONテーブル",
"engineJsoncompactHelp": "同じフィールドを持つ長いJSON配列を、コンパクトなテーブルとして再エンコードします。可逆なので情報は失われません。",
"engineRelevance": "関連性フィルター",
"engineRelevanceHelp": "メッセージがサイズの上限を超えた場合、最新のメッセージと関連性の低い文から削除します。",
"engineAging": "古いやり取り",
"engineAgingHelp": "直近のいくつかを除く古いやり取りを、パス、エラー、決定事項を残した短い要約にまとめます。",
"engineHardBudget": "トークン上限",
"engineHardBudgetHelp": "リクエストが目標トークン数に収まるまで、重要度の低い行から削除します。",
"compressionAutoTrigger": "推定トークン数を超えたら自動実行",
"compressionAutoTriggerHelp": "推定トークン数がこの値を超えるリクエストは自動的にアグレッシブに切り替わります。空欄にすると無効になります。",
"compressionPrefixFreeze": "繰り返されるプロンプトの接頭辞を固定",
"compressionPrefixFreezeHelp": "同じテキストが3回確認されたシステムプロンプトはそのまま維持し、プロバイダー側のプロンプトキャッシュが機能し続けるようにします。",
"compressionTrustProjectFilters": "プロジェクトのフィルターファイルを信頼",
"compressionTrustProjectFiltersHelp": "作業ディレクトリからもツール出力フィルターを読み込みます。リポジトリがモデルへの出力を隠すために悪用できるため、既定ではオフです。",
"compressionStats": "サイズ削減",
"compressionEstimatedTokensSaved": "推定削減トークン数",
"compressionPreview": "ライブプレビュー",
"compressionPreviewDescription": "リクエストのボディをパイプラインに通して、プロバイダーが受け取る内容を確認します。",
"compressionPreviewPlaceholder": "リクエストのJSONまたはプレーンテキストを貼り付け",
"compressionRunPreview": "プレビューを実行",
"updatesTitle": "アップデート",
"checkForUpdates": "アップデートをチェックする",
"lastChecked": "最終チェック日: {when}",
"currentVersion": "現在のビルド:",
"updateAvailable": "アップデートがあります",
"changelog": "変更内容",
"upToDate": "最新版です",
"buildAhead": "このビルドは公式のmainより先行しています。",
"buildDiverged": "このビルドは公式のmainから分岐しています。",
"buildUnknown": "このカスタムビルドは公式のmainと比較できません。",
"notGitInstall": "このインストールにはコミット情報が含まれていません。",
"checkFailed": "アップデートを確認できませんでした。",
"contactsGithub": "確認は手動で行われ、GitHubに接続します。",
"openReleases": "GitHub Releasesを開く",
"restartAfterUpdate": "ビルド完了後にFreeLLMAPIを再起動してください。"
},
"models": {
"title": "モデル",
"chatModelsTab": "チャットモデル",
"fusionTab": "フュージョン",
"embeddingsTab": "埋め込み",
"imageTab": "画像",
"audioTab": "オーディオ",
"imageDesc": "テキストから画像への生成モデル。",
"audioDesc": "テキスト読み上げモデルと音声読み上げモデル。",
"mediaHint": "経由で生成",
"mediaEmpty": "まだモデルはありません。カタログから同期します。",
"ttsHeading": "テキスト読み上げ",
"sttHeading": "音声をテキストに変換",
"sttHint": "転写する",
"sttEmpty": "音声テキスト変換モデルはまだありません。カタログから同期します。",
"newBadge": "新しい",
"monthlyTokenBudget": "月間トークン予算",
"remaining": "残り",
"used": "使用済み",
"of": "の",
"showAllModels": "すべての {count} モデルを表示",
"showLess": "表示を少なくする",
"vision": "ビジョン",
"visionTitle": "画像入力を受け付ける",
"tools": "ツール",
"toolsTitle": "構造化されたツール呼び出しを発行するため、ツールを含むリクエストに適格です",
"retired": "提供終了",
"penalty": "−{value}ペナルティ",
"obs": "{count} オブス",
"tokPerMonth": "{count} トク/月",
"rpmLimit": "{count} rpm",
"rpdLimit": "{count} RPD",
"noKey": "鍵がありません",
"dragToReorder": "ドラッグして並べ替えます",
"dragToReorderGroup": "ドラッグしてモデルを並べ替えます",
"providerCount": "{count}プロバイダー",
"servedBy": "{providers}が提供",
"viewProviders": "プロバイダーを表示する",
"backToModels": "モデルに戻る",
"providersHeading": "このモデルを提供するプロバイダー",
"codeSnippetHeading": "このモデルを使用してください",
"modelNotFound": "このモデルは利用できないか、構成されたプロバイダーがありません。",
"providerIdsHeading": "プロバイダーモデルID",
"providerIdsHint": "統合モデル ID を送信してすべてのプロバイダー間でフェイルオーバーするか、プロバイダー固有の ID を送信して 1 つのプロバイダーを固定します。",
"copyModelName": "モデル名をコピーする",
"settingsHeading": "プロバイダー設定",
"settingsHint": "カタログ モデルに対するローカル編集は、カタログ同期全体で保持されます。削除されたカタログ モデルは、構成を通じて再度追加するまで削除されたままになります。",
"catalogModel": "カタログ",
"customModel": "カスタム",
"localOverride": "ローカルオーバーライド",
"displayName": "表示名",
"sizeLabel": "能力ティア",
"sizeLabelHint": "Frontier/Large/Medium/Small がインテリジェンス軸を決めます。認識されるティアのないモデルは 0 として扱われます。",
"sizeLabelNone": "なし(スコアなし)",
"contextWindow": "コンテキスト",
"inFallback": "連鎖中",
"saveModelSettings": "モデル設定の保存",
"aggregateBudget": "{count}/月",
"aggregateBudgetTitle": "このモデルのプロバイダー全体での 1 か月あたりの無料トークンの合計",
"rateRpm": "{count} RPM",
"rateRpd": "{count} RPD",
"rateTitle": "レート制限 — 毎月の固定トークン予算なし",
"splitOut": "このコピーをマージしないでください",
"splitOutHint": "このプロバイダーのコピーを統合モデルにマージするのではなく、独自の別個のエントリーを与えます。 コピー自体のページからマージし直すことができます。",
"splitUndo": "マージバック",
"splitUndoHint": "このコピーは、その統合モデルとは別に保管されます。 すべてのプロバイダーにわたって再度フェールオーバーするには、それをマージして戻します。",
"splitBadge": "別々に保管",
"noData": "データがありません",
"noDataTitle": "リクエストはまだ記録されていません。このプロバイダーの信頼性と速度は測定されていません。",
"bestOfN": "最高の{count}",
"perProviderScores": "プロバイダーごとのスコア: {list}",
"columnModel": "モデル",
"columnOn": "オン",
"noModelsBefore": "利用可能なモデルはありません。に API キーを追加します。",
"keysPageLink": "キーページ",
"noModelsAfter": "まず。",
"hiddenNoKeys": "非表示 (キーなし): {platforms}",
"searchPlaceholder": "モデルまたはプロバイダーを検索…",
"clearSearch": "検索をクリア",
"ctxAny": "あらゆるコンテキスト",
"ctxBadge": "{size} ctx",
"ctxTitle": "コンテキストウィンドウ",
"copyModelId": "モデルIDをコピー",
"showingCount": "{total} モデルの {shown}",
"clearFilters": "フィルターをクリアする",
"noMatches": "フィルターに一致するモデルはありません。",
"noModelsTitle": "モデルが設定されていません",
"intelligenceRank": "インテリジェンス",
"speedRank": "速度",
"rankHint": "カタログ内の順位 — 1 が最高です。",
"limitRpm": "RPM",
"limitRpd": "RPD",
"limitTpm": "TPM",
"limitTpd": "TPD",
"limitHint": "制限なしにするには空欄にします。",
"usageThisMonth": "月間使用量",
"usageEmpty": "今月はまだリクエストがありません。",
"usageRequestsMonth": "今月 {count} 件"
},
"strategies": {
"explore": "未計測のモデルを探索",
"exploreHint": "信頼性・スピードのデータがないモデルに10%の確率で試行の機会を与え、サンプルを蓄積させます。",
"title": "ルーティング戦略",
"description": "ルーティング戦略を選択します。手動モードでは、ドラッグして順序を設定します。他の戦略は、信頼性、スピード、インテリジェンスのライブスコアに基づいてルーティングされます。",
"weightsSummary": "信頼性 {reliability}% · スピード {speed}% · インテリジェンス {intelligence}%",
"guardrails": "ガードレール",
"guardrailsTooltip": "常時オンのガードレール: 無料の割り当てヘッドルーム × ライブ レート制限ペナルティ。 1.0 未満は、モデルが抑制されていることを意味します。",
"scoreTooltip": "最終的な配線スコア = 3 つの軸の加重平均にガードレールを掛けたもの。まずは上位ルートから。",
"modeManualHint": "手動モード: リクエストは以下の順序で上から下に進みます。ドラッグして並べ替えます。",
"modeScoreHint": "スコアはライブトラフィックから更新されます。以下の順序は、現時点でリクエストがルーティングされる方法です。",
"manual": "マニュアル",
"manualBlurb": "以下で設定した順序どおりにルーティングします。ハンドルをドラッグして順序を変更します。得点はありません。チェーンは上から下に続きます。",
"balanced": "バランスの取れた",
"balancedBlurb": "信頼性が最も高く (50%)、スピードとインテリジェンスが同等に重視されます (それぞれ 25%)。賢明なオールラウンドなデフォルト。",
"smartest": "最も賢い",
"smartestBlurb": "まだ動作する最も高性能なモデルを優先します。知性55%、信頼性35%、スピード10%。",
"fastest": "最速",
"fastestBlurb": "まだ動作する最速のモデルを優先します。スピード 55%、信頼性 35%、知性 10%。",
"reliable": "最も信頼できる",
"reliableBlurb": "何よりも成功率を最大化します。信頼性 70%、スピードとインテリジェンスがそれぞれ 15%。",
"custom": "カスタム",
"customBlurb": "スライダーを使用して、信頼性、スピード、インテリジェンスのバランスを独自に設定します。プリセットと同じエンジンを使用し、ウェイトのみを使用します。",
"adjust": "調整する",
"customWeights": "カスタムウェイト",
"customWeightsHelp": "スライダーは独立しています。株式の自動バランスは 100% になります。",
"weightReliability": "信頼性",
"weightSpeed": "速度",
"weightIntelligence": "インテリジェンス",
"weightRequired": "少なくとも 1 つの重みがゼロより大きくなければなりません。",
"scoreColumn": "スコア"
},
"penaltyInspector": {
"title": "ルーターの圧力",
"subtitle": "最後の {minutes} 分間からのペナルティ、クールダウン、および失敗",
"rowCount": "{count} アクティブ",
"offChain": "オフチェーン",
"penaltyValue": "ペナルティ {value}",
"factor": "スコア x{factor}",
"noCooldown": "クールダウンなし",
"cooldownChip": "{key} - {time}",
"errorsHeading": "{count} 最近のエラー",
"noRecentErrors": "最近のエラーはありません",
"noKey": "鍵がありません",
"reasons": {
"penalty": "罰せられた",
"cooldown": "クールダウン",
"recent_errors": "失敗した"
}
},
"keys": {
"pageTitle": "キー",
"pageDescription": "プロバイダーの資格情報と、アプリが接続する統合 API キー。",
"tabProviders": "プロバイダー",
"checklistSummary": "{total}件中{configured}件のプロバイダーを設定済み",
"checklistKeyless": "キー不要",
"tabQuotaSignals": "クォータ信号",
"tabApiKey": "統一されたAPIキー",
"tabAnthropic": "Anthropic",
"unifiedKey": "統合された API キー",
"regenerate": "再生する",
"showKey": "表示する",
"hideKey": "隠す",
"copyKey": "コピー",
"copyFullKey": "キー全体をコピー",
"copiedKey": "コピーされました",
"baseUrl": "ベース URL",
"endpointChat": "チャット",
"endpointResponses": "応答",
"endpointEmbeddings": "埋め込み",
"endpointEmbeddingsHint": "model: \"auto\" または [埋め込み] タブのファミリー",
"endpointMessages": "メッセージ",
"endpointMessagesHint": "Anthropic互換(Claude)",
"anthropicTitle": "Claude (Anthropic) モデル",
"anthropicDesc": "Claude または Anthropic SDK クライアントをこのサーバーに向けます。 Anthropic クライアントは、Claude モデル名を送信します。それぞれを Auto にマップするか (ルーターは空きモデルを選択します)、または特定のモデルを固定します。",
"anthropicBaseUrl": "ベース URL",
"anthropicAuth": "認証ヘッダー",
"anthropicAuto": "自動 — ルーターが最適なモデルを選択します",
"anthropicSave": "マッピングの保存",
"anthropicSaved": "保存されました",
"anthropicNote": "Anthropic クライアントは、組み込みの Claude モデル名を保持します。上記のマッピングにより、それぞれがプールにどのようにルーティングされるかが決まります。",
"familyDefault": "デフォルト",
"familyOpus": "オーパス",
"familySonnet": "ソネット",
"familyHaiku": "俳句",
"selectPlatform": "プロバイダーを選択してください",
"addKey": "キーを追加",
"keyAdded": "キーが追加されました",
"endpointKeysShareModels": "同じエンドポイントのキーはそのモデルを共有します。",
"export": "エクスポート",
"exportAll": "すべてのキー",
"exportHealthy": "健康のみ",
"exportKeys": "API キーをエクスポートする",
"exportFormat": "フォーマット",
"exportHealthyOnly": "正常なキーのみ",
"exportHealthyOnlyDesc": "現在ヘルスチェックに失敗しているキーを除外する",
"exportWillExport": "輸出します",
"exportKey": "キー",
"exportKeys plural": "キー",
"exporting": "エクスポート中…",
"exportDownload": "ダウンロード",
"exportSuccess": "エクスポートされた {count} キー",
"adding": "追加中…",
"selectProvider": "プロバイダーを選択してください…",
"accountId": "アカウントID",
"label": "ラベル",
"noKeyNeeded": "(鍵は必要ありません)",
"outboundProxy": "アウトバウンドプロキシ",
"outboundProxyDescription": "アウトバウンド LLM リクエストをプロキシ経由でルーティングします。 SOCKS5、HTTP、HTTPSをサポートします。",
"proxyUrl": "プロキシ URL",
"saveProxy": "保存",
"savingProxy": "保存中…",
"proxyLoadFailed": "プロキシ設定を読み込めませんでした。",
"addCustom": "カスタム OpenAI 互換モデルを追加",
"addCustomDescription": "OpenAI 互換エンドポイントでチャット、埋め込み、画像、または音声モデルをポイントします。 API キーは、ローカル サーバーの場合はオプションです。",
"customType": "タイプ",
"customTypeChat": "チャット",
"customTypeEmbedding": "埋め込み",
"customTypeImage": "画像",
"customTypeAudio": "オーディオ",
"customBaseUrl": "ベース URL",
"customModels": "モデル",
"customModel": "モデル",
"customDisplayName": "表示名",
"customDisplayNamePerModel": "モデルごと",
"customDisplayNameOptional": "オプション",
"customFamily": "家族",
"customFamilyPlaceholder": "デフォルトはモデルID",
"customApiKey": "APIキー",
"customCapabilities": "能力",
"addModel": "モデルの追加",
"modelAdded": "モデルを追加しました",
"addModels": "{count} モデルを追加",
"addEmbeddingModel": "埋め込みの追加",
"addImageModel": "画像モデルを追加",
"addAudioModel": "オーディオモデルの追加",
"addingCustom": "追加中…",
"discoverModels": "モデルを取得",
"probeNow": "エンドポイントをテスト",
"probeSuccess": "{model} を {latency}ms でテストしました",
"probeFailed": "テストに失敗しました: {reason}",
"discoverTitle": "このエンドポイントのモデル",
"discoverHint": "登録するモデルを選択してください。追加済みのモデルはロックされます。",
"discoverEmpty": "このエンドポイントはモデルを返しませんでした。",
"discoverAlreadyAdded": "追加済み",
"discoverSelectAll": "すべて選択",
"modelsAdded": "{count} 個のモデルを追加しました",
"getApiKey": "APIキーを取得する",
"deleteKeyConfirm": "このキーを削除しますか?これを元に戻すことはできません。",
"checkAll": "すべてチェックしてください",
"checking": "確認中…",
"editLabel": "ラベルを編集する",
"saveLabel": "ラベルを保存",
"unifiedKeyDescBefore": "これを OpenAI として使用します",
"unifiedKeyDescAfter": ";このプロキシへのリクエストを認証します。",
"serverUnreachableBefore": "サーバーにアクセスできません",
"serverUnreachableAfter": "。バックエンドが実行されていることを確認してください。 npm run dev は両方を開始し、サーバー ログはサーバー プレフィックスの下に出力されます。",
"paneProviderKey": "プロバイダーキー",
"paneImportFile": "インポートファイル",
"paneCustomEndpoint": "カスタムエンドポイント",
"platform": "プラットフォーム",
"apiToken": "APIトークン",
"noKeyNeededPlaceholder": "API キーは必要ありません",
"bearerTokenPlaceholder": "無記名トークン",
"pasteKeyPlaceholder": "ここにキーを貼り付けます",
"pasteSeveral": "複数を貼り付け",
"keylessHint": "API キーは必要ありません。このプロバイダーの無料利用枠は匿名です (IP ごとにレートが制限されています)。",
"enable": "有効にする",
"noProviderKeys": "プロバイダーキーはまだありません。上に 1 つ追加してルーティングを開始します。",
"filterPlaceholder": "フィルタープロバイダーまたはキー",
"filterAll": "すべて",
"filterHealthy": "健康",
"filterIssues": "問題点",
"filterDisabled": "無効",
"noFilterMatch": "フィルターに一致するプロバイダーはありません。",
"providerCountSummary": "{providers} プロバイダー · {keys} キー",
"summaryHealthy": "{count} 健康",
"summaryIssueOne": "{count}の問題",
"summaryIssueOther": "{count}の問題",
"providerActions": "プロバイダーのアクション",
"routeViaProxy": "プロキシ経由のルート",
"checkNow": "今すぐチェック",
"proxyEnvHintBefore": "また、",
"proxyEnvHintAfter": "環境変数 (優先されます)。無効にするには空白のままにします。例:",
"importKeys": "プロバイダーキーをインポートする",
"importKeysDescription": ".env、JSON、JSONC、CSV、Markdown、またはテキスト ファイルをアップロードします。",
"importFiles": "ファイル",
"importFileCount": "{count} が選択されました",
"previewFiles": "プレビュー",
"previewing": "プレビュー中…",
"selected": "選択済み",
"provider": "プロバイダー",
"keyName": "キー名",
"keyValue": "キーの値",
"chooseProvider": "プロバイダーの選択",
"noPreviewKeys": "これらのファイルにはキーが見つかりません。",
"skippedItems": "スキップされました:",
"moreItems": "+{count}もっと見る",
"importSelected": "{count}をインポート",
"importing": "インポート中…",
"noImportSelection": "プロバイダーを含む行を少なくとも 1 つ選択します。",
"duplicate": "重複",
"duplicatesFound": "{count} の重複が検出されました - すでに存在するため、スキップされます。",
"importResult": "{imported}をインポートしました。 {failed} に失敗しました。",
"importModelCount": "+{count}モデル",
"importResultWithModels": "{imported}をインポートしました。{models}モデルを登録しました。 {failed} に失敗しました。",
"confirmRemove": "確認しますか?",
"quotaSignalsTitle": "クォータ信号",
"quotaSignalsEmptyTitle": "クォータの観測はまだありません",
"quotaSignalsEmptyDesc": "これは、プロバイダーがレート制限ヘッダー、クォータ エラー、または検証信号を返した後に入力されます。",
"quotaKeyRef": "キー #{id}",
"quotaPoolRef": "プール {pool}",
"quotaLimit": "限界",
"quotaRemaining": "残り",
"quotaReset": "リセット",
"quotaObserved": "観察された",
"tabAgents": "エージェント",
"familyGeminiPro": "Gemini Pro",
"familyGeminiFlash": "Gemini Flash",
"familyGeminiFlashLite": "Gemini Flash-Lite",
"geminiTitle": "Gemini モデルマッピング",
"geminiDesc": "Gemini Pro、Flash、Flash-Lite の名前を Auto または特定のカタログモデルにマッピングします。",
"compatibilityTitle": "エージェント互換性",
"compatibilityDesc": "オプトインの互換サーフェスと Claude Code のモデル検出を制御します。",
"ollamaMode": "Ollama エミュレーション",
"ollamaModeHint": "オープンループバックは、未認証の LAN トラフィックを決して受け付けません。",
"ollamaOff": "オフ",
"ollamaLoopback": "ループバックで開放",
"ollamaKeyRequired": "API キーが必要",
"claudeAliases": "Claude Code 検出エイリアス",
"claudeAliasesHint": "claude/<model> エイリアスを公開して、ゲートウェイのモデルピッカーがカタログを一覧表示できるようにします。",
"urlTokensTitle": "取り消し可能な URL トークン",
"urlTokensDesc": "ヘッダーを使えないクライアント専用です。URL トークンは履歴やログに漏れる可能性があるため、不要になったら取り消してください。",
"urlTokenLabel": "トークンラベル",
"createUrlToken": "トークンを作成",
"urlTokenOnce": "このトークンを今すぐコピーしてください。二度と表示されません。",
"revoked": "取り消し済み",
"revoke": "取り消す",
"modelScope": "モデルスコープ",
"modelScopeDesc": "このキーを特定のモデル ID に限定します。他のモデルではルーターがこのキーをスキップします。",
"modelScopeAdd": "モデル ID を入力して Enter を押してください",
"modelScopeEmpty": "スコープ未設定 — このキーはプロバイダーのすべてのモデルに使えます。",
"modelScopeClear": "スコープを解除",
"modelScopeBadgeOne": "限定 · 1 モデル",
"modelScopeBadgeOther": "限定 · {count} モデル",
"cpTitle": "クライアントプロファイル",
"cpDesc": "クライアントごとの API キー。それぞれのシステムプロンプトをサーバーが常に適用します。",
"cpEmpty": "クライアントプロファイルはまだありません。",
"cpNameLabel": "名前",
"cpNamePlaceholder": "例: サポートボット",
"cpPromptLabel": "システムプロンプト(任意)",
"cpPromptPlaceholder": "このキーで行われるすべてのリクエストの先頭にサーバーが追加する指示。",
"cpCreate": "プロファイルを作成",
"cpRotate": "キーをローテーション",
"cpKeyOnce": "このキーを今すぐコピーしてください。二度と表示されません。",
"cpEnabledAria": "プロファイル有効"
},
"status": {
"healthy": "健康な",
"rateLimited": "レート制限のある",
"invalid": "無効な",
"error": "エラー",
"unchecked": "チェックされていない"
},
"analytics": {
"title": "分析",
"description": "リクエストの量、レイテンシ、トークンの使用量、および失敗。",
"range24h": "24時間",
"range7d": "7日",
"range30d": "30日",
"range90d": "90日",
"requests": "リクエスト",
"successRate": "成功率",
"inputTokens": "入力トークン",
"outputTokens": "出力トークン",
"avgLatency": "平均レイテンシー",
"p95Latency": "P95 レイテンシー",
"avgTtft": "平均 TTFT",
"estSavings": "推定貯蓄",
"requestsByProvider": "プロバイダーからのリクエスト",
"avgLatencyByProvider": "プロバイダー別の平均遅延",
"ttftByProvider": "プロバイダーによる最初のトークンまでの時間",
"ttftEmpty": "最初のトークンが記録されるまでの時間がまだありません。",
"requestsOverTime": "時間の経過に伴うリクエスト",
"tokensOverTime": "時間の経過に伴うトークン",
"byModel": "モデル別",
"byPlatform": "プラットフォーム別",
"errors": "エラー",
"errorDistribution": "誤差分布",
"pinnedRequests": "固定されたリクエスト",
"pinnedHonored": "光栄です",
"fallbackAttempts": "フォールバックの試行",
"savingsHint": "実際には、前回の {range} よりも ${actual} を節約できました。これは、同じトークンがモデルごとに価格設定された有料 API でかかるコストです。表示される数値は、最後の {span} データから丸 30 日までのペースを予測します。",
"savingsHintExact": "実際には、前回の {range} よりも ${actual} を節約できました。これは、同じトークンがモデルごとに価格設定された有料 API でかかるコストです。表示される数字は実際の 30 日間の合計です。",
"requestsHintPinned": "これらのリクエストのうち {pinned} は、特定のモデルを名前で固定しました。 {honored} は固定モデルによって提供されました。 {failed} は別のものにフェイルオーバーしました。残りは自動ルーティングされました。",
"requestsHintAuto": "この期間のすべてのリクエストは自動ルーティングされました。クライアントが特定のモデルを名前で固定することはありませんでした。",
"requestsHintTypes": "{chat} チャットと {embedding} 埋め込みリクエスト。",
"rangeLabel24h": "24時間",
"rangeLabel7d": "7日間",
"rangeLabel30d": "30日",
"rangeLabel90d": "90日",
"spanDays": "{count} 日",
"spanHours": "{count} 時間",
"latencyMs": "レイテンシー (ミリ秒)",
"latency": "レイテンシ",
"pinned": "固定された",
"inTokens": "トークン内",
"outTokens": "アウトトークン",
"saved": "保存されました",
"message": "メッセージ",
"time": "時間",
"perModelBreakdown": "モデルごとの内訳",
"usageByKey": "キーごとの使い方",
"keyColumn": "キー",
"keyLabelFallback": "キー #{id}",
"errorsByProvider": "プロバイダー別のエラー",
"recentErrors": "最近のエラー",
"noErrors": "エラーなし",
"recentCalls": "最近の通話",
"clientIp": "クライアントIP",
"clientAgent": "クライアントアプリ",
"requestedModelHint": "リクエストされた {model}、フォールバックによって提供される",
"attempts": "試み",
"filterAll": "すべて",
"filterCanceled": "キャンセル",
"providerBreakdown": "プロバイダーごとの内訳",
"tokensPerSec": "トク/秒",
"allProviders": "すべてのプロバイダー",
"requestDetailTitle": "リクエスト #{id}",
"failoverLadder": "フェイルオーバーラダー",
"failoverLadderHint": "このリクエストがフォールバック チェーンを順番に通過した各ホップ。",
"noAttemptTrace": "このリクエストの試行トレースは記録されませんでした。",
"keyOrdinal": "キー #{n}",
"attemptTimingHint": "リクエスト開始からの開始オフセット · 試行期間",
"requestedModel": "要求されたモデル",
"ttft": "TTFT",
"requestsByAgent": "エージェント別リクエスト"
},
"playground": {
"title": "遊び場",
"description": "ルーター経由でチャット完了を送信し、どのプロバイダーがサービスを提供しているかを確認します。",
"autoModel": "自動 (フォールバック チェーン)",
"fusionModel": "Fusion(マルチモデル合成)",
"selectModel": "モデルを選択してください",
"searchModels": "モデルを検索…",
"noModelsFound": "モデルが見つかりません",
"send": "送信",
"sending": "送信中…",
"clear": "クリア",
"inputPlaceholder": "メッセージを入力してください… (送信するには ⏎、改行には ⇧⏎)",
"emptyTitle": "メッセージを送信して始めてください。",
"emptyDescription": "{model}を使用します。上のセレクターでモデルを切り替えます。",
"noModels": "まだモデルはありません。 「キー」ページに API キーを追加して、このリストにデータを入力します。",
"copyReply": "返信をコピーする",
"fallback": "フォールバック",
"fallbacks": "フォールバック",
"fusionPanel": "パネル",
"fusionJudge": "裁判官",
"fusionTrace": "{count} モデルの応答",
"fusionFailed": "応答なし",
"fusionJudgeSynth": "最終的な答えを総合した",
"errorPrefix": "エラー:",
"systemPromptLabel": "システムプロンプト",
"systemPromptPlaceholder": "オプション。チャットの前にシステム メッセージとして送信されます。",
"errorTitle": "リクエストが失敗しました",
"attach": "ファイルを添付",
"attachTooMany": "1 件のメッセージに添付できるファイルは最大 {count} 件です。",
"attachTooLarge": "{name} は大きすぎます。上限は {max} です。",
"attachUnsupported": "{name} はサポートされていません。画像 (PNG、JPEG、WebP、GIF) またはテキスト ファイル (TXT、MD、CSV、JSON、LOG) を添付してください。",
"attachFailed": "{name} を読み取れませんでした。",
"noVisionBadge": "画像不可",
"visionWarning": "{model} は画像を受け付けません。ビジョン モデルまたは「自動」を選択してください。"
},
"embeddings": {
"title": "モデル",
"description": "埋め込みはファミリー内のみでフェイルオーバーします。つまり、別のプロバイダーが提供する同じモデルです。異なるモデルのベクトルには互換性がないため、ルーターがモデルを交換することはありません。",
"defaultBadge": "デフォルト・自動",
"makeDefault": "デフォルトにする",
"moveUp": "上に移動",
"moveDown": "下に移動",
"usageToday": "今日の {count} 要求",
"usageMonth": "今月は{count}トク",
"autoDescription": "POST /v1/embeddings 上の model: \"auto\" は、デフォルト ファミリにルーティングされます。ファミリ (またはプロバイダー モデル ID) に名前を付けると、そのファミリーが固定されます。その中のプロバイダーは順番に試行されます。",
"unsavedChanges": "未保存の変更",
"saveChanges": "変更を保存する",
"savingChanges": "保存中…",
"tokMax": "{tokens} トクマックス",
"emptyTitle": "埋め込みモデルはまだありません",
"emptyDesc": "埋め込みをサポートするプロバイダー キーを追加すると、埋め込みファミリーがここに表示されます。",
"dragToReorder": "ドラッグしてプロバイダーを並べ替えます"
},
"fusion": {
"title": "フュージョン",
"description": "モデルのパネルが並行して回答し、審査員がより強力な回答を 1 つ合成します。 APIをモデル「フュージョン」と呼んで使用します。",
"panelSource": "パネルソース",
"panelSourceHelp": "リクエストで独自のパネル モデルが指定されていない場合のパネル モデルの取得元。",
"mode": {
"auto": "自動 (フォールバック チェーン)",
"autoHelp": "アクティブなルーティング戦略によってランク付けされた、フォールバック チェーンからさまざまなモデルのセットを選択します。",
"explicit": "明示的なパネル",
"explicitHelp": "常に、以下で選択した特定のモデルを使用してください。"
},
"panelModels": "パネルモデル",
"selectedCount": "{count}/{max} が選択されました",
"noModels": "まだ接続されているモデルはありません。 API キーを追加し、フォールバック チェーンでモデルを有効にします。",
"panelSize": "パネルサイズ",
"panelSizeHelp": "自動的に選択する多様なモデルの数 (1 ~ {max})。",
"judge": "ジャッジモデル",
"judgeHelp": "パネルの回答を1つに合成するモデル。 Auto では、利用可能な最上位のモデルが使用されます。",
"judgeAuto": "自動(上位ランクが利用可能)",
"strategy": "戦略",
"strategySynthesize": "合成 — パネルを 1 つの答えにブレンドします",
"strategyBestOf": "Best of — 単一の最も強い回答を返します (ジャッジコールなし)",
"strategySynthesizeShort": "合成する",
"strategyBestOfShort": "ベストオブ",
"exposePanel": "パネルの詳細を公開する",
"exposePanelHelp": "各モデルの回答と判定メタデータを応答の x_fusion フィールドに添付します。",
"howToUse": "使用方法",
"howToUseHelp": "モデル「fusion」を使用して通常のチャット リクエストを送信します。これらの設定はデフォルトです。どのリクエストでも「fusion」フィールドでそれらをオーバーライドできます。",
"unsavedChanges": "未保存の変更",
"save": "保存"
},
"premium": {
"title": "プレミアム",
"description": "すべてのデバイス上のライブ モデル カタログ。",
"loading": "読み込み中…",
"checkForUpdates": "アップデートをチェックする",
"syncing": "同期中…",
"catalogFeed": "カタログフィード",
"liveFeed": "ライブフィード",
"monthlySnapshot": "月次スナップショット",
"lastChecked": "最終チェック日: {when}",
"liveDescription": "新しい無料モデル、クォータの変更、および癖の修正は、出荷されてから数時間以内にここに配信されます。アプリは 1 日に 2 回自動的にチェックします。何もすることはありません。",
"snapshotDescription": "無料利用枠: カタログは毎月のスナップショットから更新され、1 日に 2 回自動的にチェックされます。プレミアムでは、これを 2 ~ 3 日ごとに更新されるライブ フィードに切り替えます。",
"lastSyncProblem": "前回の同期の問題: {error}",
"license": "ライセンス",
"planAnnual": "プレミアム年間",
"planLifetime": "プレミアムライフタイム",
"expired": "期限切れ",
"inactive": "非アクティブ",
"lifetimeNote": "永久ライセンス: 期限切れになりません。",
"renewsOn": "{date} で更新します。",
"willNotRenew": "更新しません。 {date} まではプレミアムです。その後、このインストールは無料の月額カタログに戻ります。",
"keyInactive": "このキーはもうアクティブではありません。アプリは引き続き無料の毎月のカタログを提供します。",
"manageSubscription": "サブスクリプションの管理",
"openingPortal": "オープニング…",
"removeKey": "このデバイスからキーを削除します",
"manageHint": "サブスクリプションの管理では、Stripe の請求ポータルが開きます。キャンセル、カードの更新、または請求書のダウンロードが可能です。キーを削除すると、このデバイスが非アクティブ化されるだけです。あなたの購入はそのままです。",
"licenseKey": "ライセンスキー",
"licenseKeyPlaceholder": "fla_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"activate": "アクティブ化する",
"activating": "アクティブ化中…",
"keyHint": "キーは購入メールとチェックアウト後のページに記載されています。紛失しましたか?",
"recoverKey": "Web サイトで復元する",
"upsellTitle": "年間 19 ドルでライブ配信を開始",
"upsellDescription": "新しい無料モデルは、30 日後ではなく、存在した瞬間に提供されます。すべてのデバイスに 1 つのキー。いつでもキャンセルできます。ルーターは永久に無料のままです。",
"goPremium": "プレミアムに行く",
"bundled": "バンドルされた",
"planGeneric": "プレミアム"
},
"languages": {
"en": "English",
"zh-CN": "中文 (简体)",
"es": "Español",
"fr": "Français",
"pt-BR": "Português (Brasil)",
"it": "Italiano",
"hi": "हिन्दी",
"ar": "العربية",
"bn": "বাংলা",
"ru": "Русский",
"ur": "اردو",
"id": "Bahasa Indonesia",
"de": "Deutsch",
"ja": "日本語",
"sw": "Kiswahili",
"mr": "मराठी",
"te": "తెలుగు",
"tr": "Türkçe",
"ta": "தமிழ்",
"vi": "Tiếng Việt",
"ko": "한국어",
"fa": "فارسی",
"th": "ไทย",
"gu": "ગુજરાતી",
"pl": "Polski",
"uk": "Українська",
"kn": "ಕನ್ನಡ",
"ml": "മലയാളം",
"or": "ଓଡ଼ିଆ",
"my": "မြန်မာဘာသာ",
"pa": "ਪੰਜਾਬੀ",
"ro": "Română",
"nl": "Nederlands",
"ms": "Bahasa Melayu",
"tl": "Filipino",
"ha": "Hausa",
"yo": "Yorùbá",
"ig": "Igbo",
"am": "አማርኛ",
"uz": "Oʻzbekcha",
"az": "Azərbaycanca",
"si": "සිංහල",
"ne": "नेपाली",
"km": "ខ្មែរ",
"el": "Ελληνικά",
"cs": "Čeština",
"hu": "Magyar",
"sv": "Svenska",
"he": "עברית",
"da": "Dansk",
"fi": "Suomi",
"no": "Norsk",
"sk": "Slovenčina",
"bg": "Български",
"hr": "Hrvatski",
"sr": "Српски",
"lt": "Lietuvių",
"zh-TW": "中文 (繁體)",
"pt-PT": "Português (Portugal)",
"ka": "ქართული"
},
"errors": {
"boundaryTitle": "何か問題が発生しました",
"boundaryDescription": "ダッシュボードで予期しないエラーが発生しました。あなたのデータは安全です。もう一度試すか、モデルのページに戻ってください。",
"tryAgain": "もう一度試してください",
"goHome": "モデルに戻る"
},
"notFound": {
"title": "ページが見つかりません",
"description": "このページは存在しないか、移動された可能性があります。"
},
"setup": {
"title": "はじめに",
"subtitle": "最初のリクエストをルーティングするための 3 つのステップ。",
"progress": "{done}/{total}",
"step1Title": "プロバイダーキーを追加する",
"step1Desc": "少なくとも 1 つのプロバイダー アカウントを接続します。フリーキーは機能します。",
"step1Cta": "キーを追加する",
"step2Title": "テストリクエストを送信する",
"step2Desc": "プレイグラウンドで任意のモデルを選択して、挨拶してください。",
"step2Cta": "オープンプレイグラウンド",
"step3Title": "アプリを接続する",
"step3Desc": "統一された API キーを OpenAI 互換クライアントで使用します。",
"copyKey": "APIキーをコピー",
"copyUrl": "ベース URL をコピーします",
"copiedKey": "API キーがクリップボードにコピーされました",
"copiedUrl": "ベース URL がクリップボードにコピーされました"
},
"palette": {
"title": "コマンドパレット",
"placeholder": "ページ、モデル、アクションを検索します...",
"empty": "結果はありません",
"groupPages": "ページ",
"groupActions": "アクション",
"groupModels": "モデル",
"toggleTheme": "ダークモードを切り替える"
},
"validation": {
"required": "必須",
"url": "http:// または https:// で始まる有効な URL を入力してください",
"email": "有効なメールアドレスを入力してください",
"passwordMin": "少なくとも {min} 文字"
},
"agents": {
"title": "コーディングエージェント",
"description": "コーディングツールを 1 つの無料モデルゲートウェイに接続します。設定は自動生成され、バックアップも安全です。",
"apiKey": "API キー",
"quickstartTitle": "クイックスタート",
"quickstart": "最速の方法: ライブカタログから Claude Code を設定します。",
"currentKey": "現在の統合キー:",
"seenRecently": "最近確認済み",
"setupLabel": "自動セットアップ",
"setupHint": "このツールの設定ファイルを、このゲートウェイ向けに自動で書き込みます。",
"setupGuideHint": "このツールのセットアップ手順を表示します。ファイルは書き込まれません。",
"manualLabel": "手動接続",
"manualHint": "ツール自身の設定に入力するベース URL とキーです。",
"endpoint": "エンドポイント",
"documentation": "ドキュメント"
}
}