ChatGPT-Next-Web/app/locales/jp.ts
2024-09-25 16:11:57 +08:00

591 lines
21 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { SubmitKey } from "../store/config";
import type { PartialLocaleType } from "./index";
import { getClientConfig } from "../config/client";
import { SAAS_CHAT_UTM_URL } from "@/app/constant";
const isApp = !!getClientConfig()?.isApp;
const jp: PartialLocaleType = {
WIP: "この機能は開発中です",
Error: {
Unauthorized: isApp
? `😆 会話中に問題が発生しましたが、心配しないでください:
\\ 1⃣ 設定なしで始めたい場合は、[ここをクリックしてすぐにチャットを開始 🚀](${SAAS_CHAT_UTM_URL})
\\ 2⃣ 自分のOpenAIリソースを使用したい場合は、[ここをクリックして](/#/settings)設定を変更してください ⚙️`
: `😆 会話中に問題が発生しましたが、心配しないでください:
\ 1⃣ 設定なしで始めたい場合は、[ここをクリックしてすぐにチャットを開始 🚀](${SAAS_CHAT_UTM_URL})
\ 2⃣ プライベートデプロイ版を使用している場合は、[ここをクリックして](/#/auth)アクセストークンを入力してください 🔑
\ 3⃣ 自分のOpenAIリソースを使用したい場合は、[ここをクリックして](/#/settings)設定を変更してください ⚙️
`,
},
Auth: {
Title: "パスワードが必要です",
Tips: "管理者がパスワード認証を有効にしました。以下にアクセスコードを入力してください",
SubTips: "または、OpenAIまたはGoogle APIキーを入力してください",
Input: "ここにアクセスコードを入力",
Confirm: "確認",
Later: "後で",
Return: "戻る",
SaasTips: "設定が面倒すぎる、すぐに使いたい",
TopTips:
"🥳 NextChat AIの発売特典で、OpenAI o1、GPT-4o、Claude-3.5などの最新の大規模モデルを今すぐアンロック",
},
ChatItem: {
ChatItemCount: (count: number) => `${count}件の会話`,
},
Chat: {
SubTitle: (count: number) => `合計${count}件の会話`,
EditMessage: {
Title: "メッセージ履歴を編集",
Topic: {
Title: "チャットテーマ",
SubTitle: "現在のチャットテーマを変更",
},
},
Actions: {
ChatList: "メッセージリストを見る",
CompressedHistory: "圧縮された履歴プロンプトを見る",
Export: "チャット履歴をエクスポート",
Copy: "コピー",
Stop: "停止",
Retry: "再試行",
Pin: "固定",
PinToastContent: "1件の会話をプリセットプロンプトに固定しました",
PinToastAction: "見る",
Delete: "削除",
Edit: "編集",
RefreshTitle: "タイトルを更新",
RefreshToast: "タイトル更新リクエストが送信されました",
},
Commands: {
new: "新しいチャット",
newm: "マスクから新しいチャット",
next: "次のチャット",
prev: "前のチャット",
clear: "コンテキストをクリア",
del: "チャットを削除",
},
InputActions: {
Stop: "応答を停止",
ToBottom: "最新へスクロール",
Theme: {
auto: "自動テーマ",
light: "ライトモード",
dark: "ダークモード",
},
Prompt: "クイックコマンド",
Masks: "すべてのマスク",
Clear: "チャットをクリア",
Settings: "チャット設定",
UploadImage: "画像をアップロード",
},
Rename: "チャットの名前を変更",
Typing: "入力中…",
Input: (submitKey: string) => {
var inputHints = `${submitKey}で送信`;
if (submitKey === String(SubmitKey.Enter)) {
inputHints += "、Shift + Enterで改行";
}
return inputHints + "、/で補完をトリガー、:でコマンドをトリガー";
},
Send: "",
Config: {
Reset: "",
SaveAs: "",
},
IsContext: "",
},
Export: {
Title: "",
Copy: "",
Download: "",
Share: "ShareGPTに共有",
MessageFromYou: "",
MessageFromChatGPT: "ChatGPT",
Format: {
Title: "",
SubTitle: "MarkdownテキストまたはPNG画像としてエクスポートできます",
},
IncludeContext: {
Title: "",
SubTitle: "",
},
Steps: {
Select: "",
Preview: "",
},
Image: {
Toast: "",
Modal: "",
},
},
Select: {
Search: "",
All: "",
Latest: "",
Clear: "",
},
Memory: {
Title: "",
EmptyContent: "",
Send: "",
Copy: "",
Reset: "[unused]",
ResetConfirm: "",
},
Home: {
NewChat: "",
DeleteChat: "",
DeleteToast: "",
Revert: "",
},
Settings: {
Title: "",
SubTitle: "",
Danger: {
Reset: {
Title: "",
SubTitle: "",
Action: "",
Confirm: "",
},
Clear: {
Title: "",
SubTitle: "",
Action: "",
Confirm: "",
},
},
Lang: {
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
All: "",
},
Avatar: "",
FontSize: {
Title: "",
SubTitle: "",
},
FontFamily: {
Title: "",
SubTitle:
"",
Placeholder: "",
},
InjectSystemPrompts: {
Title: "",
SubTitle:
"ChatGPTのシステムプロンプトを強制的に追加",
},
InputTemplate: {
Title: "",
SubTitle: "",
},
Update: {
Version: (x: string) => `現在のバージョン:${x}`,
IsLatest: "",
CheckUpdate: "",
IsChecking: "...",
FoundUpdate: (x: string) => `新しいバージョンを発見:${x}`,
GoToUpdate: "",
},
SendKey: "",
Theme: "",
TightBorder: "",
SendPreviewBubble: {
Title: "",
SubTitle: "Markdownコンテンツをプレビュー",
},
AutoGenerateTitle: {
Title: "",
SubTitle: "",
},
Sync: {
CloudState: "",
NotSyncYet: "",
Success: "",
Fail: "",
Config: {
Modal: {
Title: "",
Check: "",
},
SyncType: {
Title: "",
SubTitle: "",
},
Proxy: {
Title: "",
SubTitle:
"",
},
ProxyUrl: {
Title: "URL",
SubTitle: "",
},
WebDav: {
Endpoint: "WebDAV ",
UserName: "",
Password: "",
},
UpStash: {
Endpoint: "UpStash Redis REST URL",
UserName: "",
Password: "UpStash Redis REST ",
},
},
LocalState: "",
Overview: (overview: any) => {
return `${overview.chat} 回の対話、${overview.message} 件のメッセージ、${overview.prompt} 件のプロンプト、${overview.mask} 件のマスク`;
},
ImportFailed: "",
},
Mask: {
Splash: {
Title: "",
SubTitle: "",
},
Builtin: {
Title: "",
SubTitle: "",
},
},
Prompt: {
Disable: {
Title: "",
SubTitle: " / ",
},
List: "",
ListCount: (builtin: number, custom: number) =>
`内蔵 ${builtin} 件、ユーザー定義 ${custom} 件`,
Edit: "",
Modal: {
Title: "",
Add: "",
Search: "",
},
EditModal: {
Title: "",
},
},
HistoryCount: {
Title: "",
SubTitle: "",
},
CompressThreshold: {
Title: "",
SubTitle: "",
},
Usage: {
Title: "",
SubTitle(used: any, total: any) {
return `今月の使用量 $${used}、サブスクリプション合計 $${total}`;
},
IsChecking: "",
Check: "",
NoAccess: "APIキーまたはアクセスパスワードを入力して残高を確認",
},
Access: {
SaasStart: {
Title: "NextChat AIを使用する",
Label: "()",
SubTitle:
"NextChatによって公式に管理されており使OpenAI o1GPT-4oClaude-3.5",
ChatNow: "",
},
AccessCode: {
Title: "",
SubTitle: "",
Placeholder: "",
},
CustomEndpoint: {
Title: "",
SubTitle: "AzureまたはOpenAIサービスを使用するかどうか",
},
Provider: {
Title: "",
SubTitle: "",
},
OpenAI: {
ApiKey: {
Title: "APIキー",
SubTitle: "OpenAIキーを使用してパスワードアクセス制限を回避",
Placeholder: "OpenAI APIキー",
},
Endpoint: {
Title: "",
SubTitle:
"http(s)://を含める必要があります",
},
},
Azure: {
ApiKey: {
Title: "APIキー",
SubTitle: "カスタムAzureキーを使用してパスワードアクセス制限を回避",
Placeholder: "Azure APIキー",
},
Endpoint: {
Title: "エンドポイント",
SubTitle: "例:",
},
ApiVerion: {
Title: "APIバージョン (azure api version)",
SubTitle: "特定のバージョンを選択",
},
},
Anthropic: {
ApiKey: {
Title: "APIキー",
SubTitle:
"カスタムAnthropicキーを使用してパスワードアクセス制限を回避",
Placeholder: "Anthropic APIキー",
},
Endpoint: {
Title: "エンドポイント",
SubTitle: "例:",
},
ApiVerion: {
Title: "APIバージョン (claude api version)",
SubTitle: "特定のAPIバージョンを選択",
},
},
Google: {
ApiKey: {
Title: "APIキー",
SubTitle: "Google AIからAPIキーを取得",
Placeholder: "Google AI Studio APIキーを入力",
},
Endpoint: {
Title: "エンドポイント",
SubTitle: "例:",
},
ApiVersion: {
Title: "APIバージョンgemini-pro専用",
SubTitle: "特定のAPIバージョンを選択",
},
GoogleSafetySettings: {
Title: "Google セーフティ設定",
SubTitle: "コンテンツフィルタリングレベルを設定",
},
},
Baidu: {
ApiKey: {
Title: "APIキー",
SubTitle: "カスタムBaidu APIキーを使用",
Placeholder: "Baidu APIキー",
},
SecretKey: {
Title: "シークレットキー",
SubTitle: "カスタムBaiduシークレットキーを使用",
Placeholder: "Baiduシークレットキー",
},
Endpoint: {
Title: "エンドポイント",
SubTitle: "カスタムはサポートしていません、.env設定に進んでください",
},
},
ByteDance: {
ApiKey: {
Title: "APIキー",
SubTitle: "カスタムByteDance APIキーを使用",
Placeholder: "ByteDance APIキー",
},
Endpoint: {
Title: "エンドポイント",
SubTitle: "例:",
},
},
Alibaba: {
ApiKey: {
Title: "APIキー",
SubTitle: "カスタムAlibaba Cloud APIキーを使用",
Placeholder: "Alibaba Cloud APIキー",
},
Endpoint: {
Title: "エンドポイント",
SubTitle: "例:",
},
},
CustomModel: {
Title: "カスタムモデル名",
SubTitle: "カスタムモデルの選択肢を追加、英語のカンマで区切る",
},
},
Model: "モデル (model)",
CompressModel: {
Title: "圧縮モデル",
SubTitle: "履歴を圧縮するために使用されるモデル",
},
Temperature: {
Title: "ランダム性 (temperature)",
SubTitle: "値が大きいほど応答がランダムになります",
},
TopP: {
Title: "トップP (top_p)",
SubTitle:
"ランダム性に似ていますが、ランダム性と一緒に変更しないでください",
},
MaxTokens: {
Title: "1回の応答制限 (max_tokens)",
SubTitle: "1回の対話で使用される最大トークン数",
},
PresencePenalty: {
Title: "新鮮度 (presence_penalty)",
SubTitle: "値が大きいほど新しいトピックに移行する可能性が高くなります",
},
FrequencyPenalty: {
Title: "頻度ペナルティ (frequency_penalty)",
SubTitle: "値が大きいほど繰り返しの単語が減少します",
},
},
Store: {
DefaultTopic: "新しいチャット",
BotHello: "何かお手伝いできますか?",
Error: "エラーが発生しました。後でもう一度試してください",
Prompt: {
History: (content: string) =>
"これは前提としての履歴チャットの要約です:" + content,
Topic:
"この文の簡潔なテーマを四から五文字で返してください。説明、句読点、感嘆詞、余計なテキストは不要です。太字も不要です。テーマがない場合は「雑談」と返してください",
Summarize:
"対話の内容を簡潔に要約し、後続のコンテキストプロンプトとして使用します。200文字以内に抑えてください",
},
},
Copy: {
Success: "クリップボードに書き込みました",
Failed: "コピーに失敗しました。クリップボードの権限を付与してください",
},
Download: {
Success: "内容がダウンロードされました",
Failed: "ダウンロードに失敗しました",
},
Context: {
Toast: (x: any) => `${x} 件のプリセットプロンプトが含まれています`,
Edit: "現在の対話設定",
Add: "対話を追加",
Clear: "コンテキストがクリアされました",
Revert: "コンテキストを元に戻す",
},
Plugin: {
Name: "プラグイン",
},
Discovery: {
Name: "発見",
},
FineTuned: {
Sysmessage: "あなたはアシスタントです",
},
SearchChat: {
Name: "検索",
Page: {
Title: "チャット履歴を検索",
Search: "検索キーワードを入力",
NoResult: "結果が見つかりませんでした",
NoData: "データがありません",
Loading: "読み込み中",
SubTitle: (count: number) => `${count} 件の結果が見つかりました`,
},
Item: {
View: "表示",
},
},
Mask: {
Name: "マスク",
Page: {
Title: "プリセットキャラクターマスク",
SubTitle: (count: number) => `${count} 件のプリセットキャラクター定義`,
Search: "キャラクターマスクを検索",
Create: "新規作成",
},
Item: {
Info: (count: number) => `${count} 件のプリセット対話が含まれています`,
Chat: "対話",
View: "表示",
Edit: "編集",
Delete: "削除",
DeleteConfirm: "削除してもよろしいですか?",
},
EditModal: {
Title: (readonly: boolean) =>
`プリセットマスクの編集 ${readonly ? "(読み取り専用)" : ""}`,
Download: "プリセットをダウンロード",
Clone: "プリセットをクローン",
},
Config: {
Avatar: "キャラクターアバター",
Name: "キャラクター名",
Sync: {
Title: "グローバル設定を使用",
SubTitle: "現在の対話でグローバルモデル設定を使用するかどうか",
Confirm:
"現在の対話のカスタム設定が自動的に上書きされます。グローバル設定を有効にしてもよろしいですか?",
},
HideContext: {
Title: "プリセット対話を非表示",
SubTitle:
"非表示にすると、プリセット対話はチャット画面に表示されません",
},
Share: {
Title: "このマスクを共有",
SubTitle: "このマスクの直リンクを生成",
Action: "リンクをコピー",
},
},
},
NewChat: {
Return: "戻る",
Skip: "直接開始",
NotShow: "今後表示しない",
ConfirmNoShow:
"無効にしてもよろしいですか?無効にした後、設定でいつでも再度有効にできます。",
Title: "マスクを選択",
SubTitle: "今すぐ始めよう、マスクの背後にある魂と思考の衝突",
More: "すべて表示",
},
URLCommand: {
Code: "リンクにアクセスコードが含まれています。自動入力しますか?",
Settings: "リンクにプリセット設定が含まれています。自動入力しますか?",
},
UI: {
Confirm: "確認",
Cancel: "キャンセル",
Close: "閉じる",
Create: "新規作成",
Edit: "編集",
Export: "エクスポート",
Import: "インポート",
Sync: "同期",
Config: "設定",
},
Exporter: {
Description: {
Title: "コンテキストをクリアした後のメッセージのみが表示されます",
},
Model: "モデル",
Messages: "メッセージ",
Topic: "テーマ",
Time: "時間",
},
};
export default jp;