# 基本エラー
ErrInvalidParams: '不正なリクエスト: {{ .detail }}'
ErrMcpGatewayArgsParse: 'MCP カスタム引数の形式が正しくありません'
ErrMcpGatewayArgsConflict: '引数 {{ .name }} は 1Panel によって管理されているため、カスタム引数には設定できません'
ErrTokenParse: 'トークンエラー: {{ .detail }}'
ErrInitialPassword: '元のパスワードが違います'
ErrInternalServer: '内部エラー: {{ .detail }}'
ErrRecordExist: 'レコードが既に存在します'
ErrRecordNotFound: 'レコードが見つかりません'
WafLogExport: 'WAF ログのエクスポート'
MonitorLogExport: 'Web サイト監視ログのエクスポート'
LogExportNoData: '条件に一致するログがありません'
LogExportDiskSpace: '空き容量が 1 GiB 未満のため、エクスポートを停止しました'
LogExportRetentionInvalid: 'エクスポート履歴の保持期間は 1～30 日にしてください'
ErrSystemLogKeywordFilterUnsupported: '現在のシステムバージョンはシステムログのキーワードフィルタリングに対応していません（systemd 237 以降が必要です）'
ErrStructTransform: '型変換エラー: {{ .err }}'
ErrNotSupportType: '未対応のタイプ: {{ .name }}'

# ファイルAI
ErrFileAINotEnabled: 'ファイル管理の「AI アカウント」でファイル AI 検索を有効にし、アカウントを選んでください。'
ErrFileAISearchBadPattern: '検索パターンが無効です（正規表現など）: {{ .detail }}'
FileAISearchEmptyDir: 'このパス以下に一覧できるファイルまたはフォルダーがありません（またはすべて除外されました）。'

# リモートダウンロード
ErrWgetRemoteFailed: 'リモートのダウンロード URL が無効か、到達できません：{{ .detail }}'
ErrWgetInvalidContentType: 'リモート URL がファイルではなくエラーページ等を返しました、{{ .detail }}'
ErrWgetProxyNotConfigured: '先にパネル設定でプロキシサーバーを設定してください'
ErrWgetProxyInvalid: 'プロキシサーバーのアドレスが無効です：{{ .detail }}'

# ログインとセキュリティ
ErrNotLogin: 'ログインしていません: {{ .detail }}'
ErrPasswordExpired: 'パスワード期限切れ: {{ .detail }}'

# リクエストとAPI
ErrProxy: 'リクエストに失敗しました: {{ .detail }}'
ErrApiConfigStatusInvalid: 'API利用不可: {{ .detail }}'
ErrApiConfigKeyInvalid: 'APIキーが無効です: {{ .detail }}'
ErrApiConfigIPInvalid: 'IPが許可されていません: {{ .detail }}'
ErrApiConfigDisable: 'APIは無効です: {{ .detail }}'
ErrApiConfigKeyTimeInvalid: 'タイムスタンプが無効です: {{ .detail }}'
ErrCreateHttpClient: 'リクエスト {{ .err }} の作成に失敗しました'
ErrHttpReqTimeOut: 'リクエストがタイムアウトしました {{ .err }}'
ErrHttpReqFailed: 'リクエストが失敗しました {{ .err }}'
ErrNoSuchHost: '要求されたサーバー {{ .err }} が見つかりません'
ErrHttpReqNotFound: '要求されたリソース {{ .err }} が見つかりませんでした'

# クイックジャンプ
ErrMinQuickJump: 'クイックアクセスを1件以上追加'
ErrMaxQuickJump: '最大4件のクイックアクセス'

# 共通
ErrShutDown: 'コマンドは手動で停止されました'
ErrUsernameIsExist: 'ユーザー名はすでに使われています'
ErrNameIsExist: '名称はすでに使われています'
ErrDemoEnvironment: 'デモ環境では利用できません'
ErrCmdTimeout: 'コマンドがタイムアウトしました'
ErrCmdIllegal: 'コマンドに無効な文字が含まれています'
ErrPortExist: 'ポート {{ .port }} は {{ .type }} [{{ .name }}] が使用中です'
TYPE_APP: 'アプリケーション'
TYPE_RUNTIME: 'ランタイム環境'
TYPE_DOMAIN: 'ドメイン名'
ErrTypePort: 'ポート {{ .name }} の形式が正しくありません'
ErrTypePortRange: 'ポート範囲は 1 ～ 65535 である必要があります'
Success: '成功'
Failed: '失敗'
SystemRestart: 'システムの再起動によりタスクが中断されました'
ErrGroupIsDefault: 'デフォルト グループ、削除できません'
ErrGroupIsInWebsiteUse: 'グループは別の Web サイトで使用されているため、削除できません。'
Decrypt: '復号化'

# エージェント
ErrAgentAccountBound: 'アカウントはエージェントに紐づいています'
ErrTerminalAIAccountInUse: 'このモデルアカウントは Terminal AI で使用中です。Terminal AI の設定で別のアカウントへ切り替えるか、Terminal AI を無効にしてから再試行してください。'
ErrFileAIAccountInUse: 'このモデルアカウントはファイル管理 AI で使用中です。ファイル管理 AI の設定で別のアカウントへ切り替えるか、ファイル管理 AI を無効にしてから再試行してください。'
ErrAgentAccountUnavailable: 'アカウント接続不可: {{ .err }}'
ErrAgentProviderNotSupported: 'エージェントプロバイダ非対応'
ErrAgentAccountRequired: 'まずエージェントアカウントを選択'
ErrAgentAccountNotVerified: 'アカウント未検証です'
ErrAgentAccountModelsRequired: '少なくとも 1 つのモデルを設定してください'
ErrAgentAccountSingleInitialModel: 'アカウント作成時に設定できる初期モデルは 1 つだけです'
ErrAgentModelNotInAccount: '選択したモデルはこのアカウントに設定されていません'
ErrAgentVerifyModelInUse: 'このモデルはアカウント検証に使用されています。削除する前に別の検証モデルを選択してください'
ErrAgentFallbackModelDuplicate: 'フォールバックモデルは重複できません'
ErrAgentFallbackModelPrimary: 'フォールバックモデルは主モデルと同じにできません'
ErrAgentModelInUse: 'このモデルはまだエージェントで使用中です: {{ .name }}'
ErrAgentBaseURLRequired: 'ベースURLが必要です'
ErrAgentApiKeyRequired: 'APIキーが必要です'
ErrAgentComposeRequired: 'Composeが必要です'
ErrAgentIDRequired: 'エージェントIDが必要です'
ErrAgentAccountIDRequired: 'アカウントIDが必要です'
ErrAgentLimitReached: 'Community Edition では AI エージェントを最大 {{ .max }} 件まで作成できます。Business Edition にアップグレードすると無制限で利用できます'
ErrAgentWebsiteBound: 'このエージェントはすでにサイトに関連付けられています'
ErrAgentWebsiteTypeUnsupported: '関連付けできるのはプロキシサイトまたは静的サイトのみです'
ErrAgentWebsiteInUse: 'このサイトはすでに別のエージェントに関連付けられています'
ErrAgentWebsiteUnbindUnsupported: 'ワンクリックデプロイのサイトは手動で関連解除できません'
ErrQwenPawAuthRequest: 'QwenPaw 認証情報の更新に失敗しました: {{ .err }}'
ErrQwenPawAuthOutOfSync: '現在の QwenPaw 認証情報が 1Panel の記録と一致しません。QwenPaw のパスワードをリセットするか、アプリケーションの .env にある認証情報を復元してください'
ErrQwenPawAuthDisabled: 'QwenPaw でログイン認証が有効になっていません'
ErrHermesPairingCodeUnavailable: 'Hermes でペアリングコードが一時的に見つかりません。ネットワーク要因の可能性があるため、しばらくしてから再試行してください。'
ErrHermesFeishuGroupAllowlistRequiresAllowlist: 'Feishu のグループポリシーが許可リストの場合、DM ポリシーをペアリングコードにはできません。'

# バックアップとアラート設定
Localhost: 'ローカルマシン'
ErrBackupInUsed: 'バックアップアカウントがスケジュールで使用中'
ErrBackupCheck: '接続テストに失敗しました: {{ .err }}'
ErrBackupLocalDelete: 'ローカルバックアップは削除できません'
ErrBackupLocalCreate: 'ローカルバックアップは作成できません'
ErrAlertConfigInUse: 'アラート設定は使用中のため削除できません'
ErrAlertConfigPhoneExist: '電話番号はすでに存在します'

# アプリ
ErrPortInUsed: '{{ .detail }} ポートはすでに使用されています'
ErrAppLimit: 'インストールされているアプリケーションの数が制限を超えました'
ErrNotInstall: 'アプリケーションがインストールされていません'
ErrPortInOtherApp: '{{ .port }} ポートは既にアプリケーション {{ .apps }} によって使用されています'
ErrDbUserNotValid: '既存のデータベース、ユーザー名、およびパスワードが一致しません'
ErrMysqlUserUsedByApps: 'このデータベースユーザーは【{{ .detail }}】で使用されているため、ホストの変更、削除、または権限の取り消しはできません'
ErrUpdateBuWebsite: 'アプリケーションは正常に更新されましたが、Web サイト構成ファイルの変更に失敗しました。設定を確認してください'
Err1PanelNetworkFailed: 'デフォルトのコンテナ ネットワークの作成に失敗しました。 {{ .detail }}'
ErrFileParse: 'アプリケーションの docker-compose ファイルの解析に失敗しました'
ErrInstallDirNotFound: 'インストール ディレクトリが存在しません。アンインストールする必要がある場合は、強制アンインストールを選択してください。'
AppStoreIsUpToDate: 'アプリストアはすでに最新バージョンです'
LocalAppVersionNull: '{{ .name }} アプリケーションはバージョンに同期されていません。アプリリストに追加できません'
LocalAppVersionErr: '{{ .name }} バージョン {{ .version }} の同期に失敗しました {{ .err }}'
ErrFileNotFound: '{{ .name }} ファイルが存在しません'
ErrFileParseApp: '{{ .name }} ファイルの解析に失敗しました {{ .err }}'
ErrAppDirNull: 'バージョン フォルダーが存在しません'
LocalAppErr: 'アプリケーション {{ .name }} の同期に失敗しました {{ .err }}'
ErrContainerName: 'コンテナ名が既に存在します'
ErrContainerNotFound: '{{ .name }} コンテナが存在しません'
ErrContainerMsg: '{{ .name }} コンテナが異常です。詳細についてはコンテナページのログを確認してください。'
ErrAppBackup: '{{ .name }} アプリケーションのバックアップに失敗しました。エラー {{ .err }}'
ErrVersionTooLow: '現在の 1Panel のバージョンが低すぎるため、App Store を更新できません。操作する前にバージョンをアップグレードしてください。'
ErrAppNameExist: 'アプリケーション名がすでに存在します'
ErrAppInstallNameExist: 'アプリケーションインストール名 {{ .name }} はすでに存在します'
AppStoreIsSyncing: 'App Store が同期中です。しばらくしてからもう一度お試しください'
ErrGetCompose: 'docker-compose.yml ファイルの取得に失敗しました {{ .detail }}'
ErrComposeProjectNameParse: 'Docker Compose 設定出力からプロジェクト名を解析できませんでした：{{ .detail }}'
ErrComposeProjectNameEmpty: 'Docker Compose 設定またはファイルの親ディレクトリからプロジェクト名を推定できません。名前を入力して再試行してください。'
ErrComposeNameInvalid: 'Compose プロジェクト名の形式が正しくありません。小文字または数字で始まり、小文字、数字、ハイフン、アンダースコアのみを使用した 1～256 文字にしてください。'
ErrAppVersionUnavailable: '現在のアプリケーションバージョンはリモートサービスから削除されています。別のバージョンを選択して再試行してください。'
ErrAppWarn: '異常な状態です。ログを確認してください'
ErrAppParamKey: 'パラメータ {{ .name }} フィールドが異常です'
ErrAppUpgrade: 'アプリケーション {{ .name }} のアップグレードに失敗しました {{ .err }}'
AppRecover: 'アプリケーション {{ .name }} をロールバックします'
PullImageStart: 'イメージ [{{ .name }}] のプルを開始します'
PullImageSuccess: 'イメージのプルが成功しました'
AppStoreSyncSuccess: 'App Store の同期が成功しました'
SyncAppDetail: 'アプリケーション構成を同期する'
AppVersionNotMatch: '{{ .name }} アプリケーションには、より高い 1Panel バージョンが必要なため、同期をスキップします'
MoveSiteDir: 'ウェブサイトディレクトリの変更を検出しました。OpenResty ウェブサイトディレクトリを {{ .name }} に移行する必要があります'
MoveSiteDirSuccess: 'Web サイト ディレクトリの移行に成功しました'
DeleteRuntimePHP: 'PHP ランタイムを削除する'
CustomAppStoreFileValid: 'App Store パッケージは.tar.gz 形式である必要があります'
PullImageTimeout: 'プル イメージのタイムアウトです。イメージのアクセラレーションを増やすか、別のイメージのアクセラレーションに変更してください'
ErrAppIsDown: '{{ .name }} アプリケーションの状態が異常です。確認してください'
ErrCustomApps: 'インストールされているアプリケーションがあります。まずアンインストールしてください'
ErrCustomRuntimes: 'ランタイム環境がインストールされています。まずそれを削除してください'
ErrAppVersionDeprecated: '{{ .name }} アプリケーションは現在の 1Panel バージョンと互換性がありません、スキップしました'
ErrDockerFailed: 'Docker の状態が異常です。サービス状態を確認してください'
ErrDockerComposeCmdNotFound: 'Docker Compose コマンドは存在しません。ホストマシンにこのコマンドを先にインストールしてください'
UseExistImage: 'イメージは既に存在します。既存のイメージを使用します'
UpgradePrepare: 'アプリケーションのアップグレードを準備'
UpgradeStop: '元のアプリケーションを停止'
UpgradeWaitReady: 'アプリケーションの準備完了を待機'
UpgradeBackupDisabled: 'アップグレードバックアップが無効なため、アップグレードスクリプトによるデータ変更を完全にはロールバックできません'
UpgradeRollbackFailed: 'ロールバックに失敗しました'
ErrDatabaseNotFound: 'データベース {{ .name }} は存在しません'

# SSH
ExportIP: 'ログインIP'
ExportArea: '地域'
ExportPort: 'ポート'
ExportAuthMode: 'ログイン方式'
ExportUser: 'ユーザー'
ExportStatus: 'ログイン状態'
ExportDate: '時間'

# ファイル
ErrFileCanNotRead: 'このファイルはプレビューをサポートしていません'
ErrSensitiveFileRead: '機密ファイルの読み取りは許可されていません'
ErrFileToLarge: 'ファイルは 10M より大きいため開けません'
ErrPathNotFound: 'ディレクトリが存在しません'
ErrMovePathFailed: 'ターゲット パスに元のパスを含めることはできません'
ErrLinkPathNotFound: 'ターゲット パスが存在しません'
ErrFileIsExist: 'ファイルまたはフォルダーは既に存在します'
ErrFileUpload: '{{ .name }} はファイル {{ .detail }} のアップロードに失敗しました'
ErrFileDownloadDir: 'ダウンロード フォルダーはサポートされていません'
ErrFileSharePath: '無効なパスか、対象がファイルではありません'
ErrFileShareInvalid: '共有リンクが無効か期限切れです'
ErrFileShareExpired: '共有リンクの有効期限が切れました'
ErrFileSharePassword: '共有パスワードが正しくありません'
ErrFileShareExhausted: 'この共有のダウンロード上限に達しました'
ErrFileSharePasswordPolicy: 'パスワードは4文字以上にしてください'
ErrFileShareRateLimit: 'アクセスが多すぎます。しばらくしてから再試行してください'
ErrCmdNotFound: '{{ .name }} コマンドが存在しません。まずこのコマンドをホストにインストールしてください'
ErrSourcePathNotFound: 'ソース ディレクトリが存在しません'
ErrFavoriteExist: 'このパスはすでにお気に入りに登録されています'
ErrInvalidChar: '不正な文字は許可されません'
ErrPathNotDelete: '選択されたディレクトリは削除できません'
ErrLogFileToLarge: 'ログファイルが500MBを超えており、開くことができません'
FileDropFailed: 'ファイル {{ .name }} のクリーンアップに失敗しました: {{ .err }}'
FileDropSuccess: 'ファイル {{ .name }} のクリーンアップに成功しました、{{ .count }} ファイルを削除、{{ .size }} のディスク領域を解放'
FileDropSum: 'ファイルのクリーンアップが完了しました、合計 {{ .count }} ファイルを削除、合計 {{ .size }} のディスク領域を解放'
ErrBadDecrypt: '圧縮パッケージの解凍パスワードが間違っています。解凍に失敗しました。確認後再試行！'

# ウェブサイト
ErrAliasIsExist: 'エイリアスがすでに存在します'
ErrBackupMatch: 'バックアップ ファイルは、現在の Web サイト データ {{ .detail }} の一部と一致しません'
ErrBackupExist: 'バックアップ ファイル内のソース データの対応する部分が存在しません {{ .detail }}'
ErrPHPResource: 'ローカルオペレーティング環境は切り替えをサポートしていません'
ErrPathPermission: 'インデックス ディレクトリに 1000:1000 以外の権限を持つフォルダーが検出されました。これにより、Web サイトでアクセス拒否エラーが発生する可能性があります。上記の保存ボタンをクリックしてください。'
ErrDomainIsUsed: 'ドメイン名はウェブサイト [{{ .name }}] で既に使用されています'
ErrDomainFormat: '{{ .name }} ドメイン名の形式が正しくありません'
ErrDefaultAlias: 'デフォルトは予約済みのコードです。別のコードを使用してください'
ErrParentWebsite: 'まずサブサイト {{ .name }} を削除する必要があります'
ErrBuildDirNotFound: 'ビルド ディレクトリが存在しません'
ErrImageNotExist: 'オペレーティング環境 {{ .name }} イメージが存在しません。オペレーティング環境を再編集してください'
ErrProxyIsUsed: 'ロードバランシングはリバースプロキシによって使用されているため、削除できません'
ErrSSLValid: '証明書ファイルが異常です、証明書の状態を確認してください！'
ErrWebsiteDir: 'ウェブサイトディレクトリ内のディレクトリを選択してください。'
ErrComposerFileNotFound: 'composer.json ファイルが存在しません'
ErrRuntimeNoPort: 'ランタイム環境にポートが設定されていません。先にランタイム環境を編集してください。'
ErrRuntimeProjectDirContainsCodeDir: '実行環境ディレクトリに選択したプロジェクトディレクトリが含まれています。別のプロジェクトディレクトリを選択して、再作成してください。'
Status: 'ステータス'
start: '開始'
stop: '停止'
restart: '再起動'
kill: '強制停止'
pause: '一時停止'
unpause: '再開'
remove: '削除'
delete: '削除'
ErrDefaultWebsite: 'デフォルト Web サイトが既に設定されています。設定する前にキャンセルしてください！'
SSL: '証明書'
Set: '設定'

# SSL証明書
ErrSSLCannotDelete: '{{ .name }} 証明書は Web サイトで使用されているため、削除できません'
ErrAccountCannotDelete: 'アカウントは証明書に関連付けられているため、削除できません'
ErrSSLApply: '証明書の更新は成功しましたが、openresty の再ロードに失敗しました。設定を確認してください。'
ErrEmailIsExist: 'メールボックスは既に存在します'
ErrSSLKeyNotFound: '秘密鍵ファイルが存在しません'
ErrSSLCertificateNotFound: '証明書ファイルが存在しません'
ErrSSLKeyFormat: '秘密鍵ファイルの検証に失敗しました'
ErrSSLCertificateFormat: '証明書ファイルの形式が正しくありません。pem 形式を使用してください'
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid または EabHmacKey は空白にできません'
ErrOpenrestyNotFound: 'HTTP モードでは OpenResty が必要です'
ApplySSLStart: '証明書の申請を開始します。ドメイン名 [{{ .domain }}] 申請方法 [{{ .type }}]'
dnsAccount: 'DNS 自動'
dnsManual: 'DNS マニュアル'
http: 'HTTP'
ApplySSLFailed: '[{{ .domain }}] 証明書の申請に失敗しました、{{ .detail }}'
ApplySSLSuccess: '[{{ .domain }}] 証明書の申請に成功しました。'
DNSAccountName: 'DNS アカウント [{{ .name }}] ベンダー [{{ .type }}]'
PushDirLog: '証明書がディレクトリ [{{ .path }}] {{ .status }} にプッシュされました'
ErrDeleteCAWithSSL: '現在の組織には発行済みの証明書があり、削除できません。'
ErrDeleteWithPanelSSL: 'パネル SSL 構成はこの証明書を使用しているため、削除できません'
ErrDefaultCA: 'デフォルトの権限を削除できません'
ApplyWebSiteSSLLog: '{{ .name }} ウェブサイト証明書の更新を開始しています'
ErrUpdateWebsiteSSL: '{{ .name }} Web サイト証明書の更新に失敗しました: {{ .err }}'
ApplyWebSiteSSLSuccess: 'Web サイトの証明書を正常に更新しました'
ErrExecShell: 'スクリプト {{ .err }} の実行に失敗しました'
ExecShellStart: 'スクリプトの実行を開始します'
ExecShellSuccess: 'スクリプトの実行が成功しました'
StartUpdateSystemSSL: 'システム証明書の更新を開始します'
UpdateSystemSSLSuccess: 'システム証明書を正常に更新しました'
ErrWildcardDomain: 'HTTP モードでワイルドカード ドメイン名証明書を申請できません'
ErrApplySSLCanNotDelete: '申請中の証明書 {{ .name }} は削除できません。しばらくしてからもう一度お試しください。'
StartPushSSLToNode: '証明書をノードにプッシュ開始'
PushSSLToNodeFailed: 'ノードに証明書をプッシュ失敗: {{ .err }}'
PushSSLToNodeSuccess: 'ノードに証明書をプッシュ成功'

# MySQL
ErrUserIsExist: '現在のユーザーは既に存在します。再入力してください'
ErrDatabaseIsExist: '現在のデータベースは既に存在します。再入力してください'
ErrExecTimeOut: 'SQL 実行がタイムアウトしました。データベースを確認してください'
ErrRemoteExist: 'この名前のリモート データベースは既に存在します。変更してもう一度お試しください'
ErrLocalExist: '名前はローカル データベースに既に存在します。変更してもう一度お試しください'
RemoteBackup: 'リモートデータベースをバックアップするには、まずイメージ {{ .name }} を使用してローカルコンテナデータベースサービスを起動する必要があります。しばらくお待ちください...'
RemoteRecover: 'リモートデータベースを復元するには、まずイメージ {{ .name }} を使用してローカルコンテナデータベースサービスを起動する必要があります。しばらくお待ちください...'
Arg: '引数'

# Redis
ErrTypeOfRedis: 'リカバリ ファイルの種類が現在の永続化方法と一致しません。変更して再試行してください'

# コンテナ
ErrInUsed: '{{ .detail }} は使用中であり、削除できません！'
ErrObjectInUsed: 'このオブジェクトは使用中であり、削除できません！'
ErrObjectBeDependent: 'このイメージは他のイメージに依存されているため、削除できません！'
ErrPortRules: 'ポート番号が一致しません。再入力してください。'
ErrPgImagePull: 'イメージのプルがタイムアウトしました。イメージのアクセラレーションを設定するか、{{ .name }} イメージを手動でプルして再試行してください'
PruneHelper: '今回のクリーンアップ {{ .name }} でディスク領域 {{ .size }} を解放しました'
ImageRemoveHelper: 'イメージ{{ .name }}を削除し、{{ .size }}のディスク領域を解放しました'
BuildCache: 'ビルドキャッシュ'
Volume: 'ストレージボリューム'
Network: 'ネットワーク'
PruneStart: 'クリーンアップ中、しばらくお待ちください...'
ContainerBackupPrepare: 'コンテナバックアップ作業領域を準備'
ContainerBackupStop: 'バックアップ前にコンテナを停止'
ContainerBackupInspect: 'コンテナ inspect とネットワーク情報をバックアップ'
ContainerBackupMounts: 'コンテナのマウントデータをバックアップ'
ContainerBackupMeta: 'コンテナバックアップのメタデータを書き込み'
ContainerBackupStart: 'バックアップ後にコンテナを起動'
ContainerRecoverPrepare: 'コンテナ復元作業領域を準備'
ContainerRecoverExtract: 'コンテナバックアップを展開'
ContainerRecoverParse: 'コンテナバックアップメタデータを読み込み'
ContainerRecoverCreate: 'コンテナを再作成'
ContainerRecoverMounts: 'コンテナマウントを復元'
ContainerRecoverStart: '復元済みコンテナを起動'
ContainerRecoverCleanup: 'コンテナ復元作業領域をクリーンアップ'
ComposeBackupPrepare: 'Compose バックアップ作業領域を準備'
ComposeBackupStop: 'バックアップ前に Compose を停止'
ComposeBackupFiles: 'Compose ファイルをバックアップ'
ComposeBackupContainers: 'Compose コンテナをバックアップ'
ComposeBackupMeta: 'Compose バックアップのメタデータを書き込み'
ComposeBackupStart: 'バックアップ後に Compose を起動'
ComposeBackupCleanup: 'Compose バックアップ作業領域をクリーンアップ'
ComposeRecoverPrepare: 'Compose 復元作業領域を準備'
ComposeRecoverExtract: 'Compose バックアップを展開'
ComposeRecoverMeta: 'Compose バックアップメタデータを読み込み'
ComposeRecoverMetaLogName: 'Compose 復元メタ情報: 名前={{ .name }}'
ComposeRecoverMetaLogPath: 'Compose 復元メタ情報: バックアップパス={{ .backupPath }} 復元先={{ .targetDir }}'
ComposeRecoverMetaLogCount: 'Compose 復元メタ情報: ファイル={{ .files }} コンテナ={{ .containers }}'
ComposeRecoverFiles: 'Compose ファイルを復元'
ComposeRecoverContainers: 'Compose コンテナを復元'
ComposeRecoverRecord: 'Compose 記録を保存'
ComposeRecoverCleanup: 'Compose 復元作業領域をクリーンアップ'

# ランタイム
ErrFileNotExist: '{{ .detail }} ファイルが存在しません。ソース ファイルの整合性を確認してください。'
ErrImageBuildErr: 'イメージのビルドに失敗しました'
ErrImageExist: 'イメージはすでに存在します！イメージ名を変更してください。'
ErrDelWithWebsite: 'オペレーティング環境は既に Web サイトに関連付けられているため、削除できません'
ErrRuntimeStart: '起動に失敗しました'
ErrPackageJsonNotFound: 'package.json ファイルが存在しません'
ErrScriptsNotFound: 'スクリプト構成項目が package.json に見つかりませんでした'
ErrContainerNameNotFound: 'コンテナ名を取得できません。.env ファイルを確認してください'
ErrNodeModulesNotFound: 'node_modules フォルダが存在しません。ランタイム環境を編集するか、ランタイム環境が正常に起動するまでお待ちください。'
ErrContainerNameIsNull: 'コンテナ名が存在しません'
ErrPHPPortIsDefault: 'ポート9000はデフォルトポートです。修正してから再試行してください'
ErrPHPRuntimePortFailed: 'ポート {{ .name }} は現在のランタイム環境で使用されています。修正してから再試行してください'

# ツール
ErrConfigNotFound: '構成ファイルが存在しません'
ErrConfigParse: '構成ファイルの形式が正しくありません'
ErrConfigIsNull: '構成ファイルは空にできません'
ErrConfigDirNotFound: '実行ディレクトリが存在しません'
ErrConfigAlreadyExist: '同じ名前の設定ファイルがすでに存在します'
ErrUserFindErr: 'ユーザー {{ .name }} の検索に失敗しました {{ .err }}'

# Cronジョブ
CutWebsiteLogSuccess: '{{ .name }} ウェブサイトのログが正常にカットされました。バックアップ パス {{ .path }}'
HandleShell: 'スクリプト {{ .name }} を実行します'
HandleCurl: 'URL {{ .name }} にアクセス'
HandleNtpSync: 'システム時刻の同期'
HandleSystemClean: 'システム キャッシュのクリーンアップ'
SystemLog: 'システムログ'
CutWebsiteLog: 'ウェブサイトログのローテーション'
FileOrDir: 'ディレクトリ / ファイル'
UploadFile: 'バックアップファイル {{ .file }} を {{ .backup }} にアップロード中'
Upload: 'アップロード'
IgnoreBackupErr: 'バックアップ失敗、エラー: {{ .detail }}、このエラーを無視します...'
IgnoreUploadErr: 'アップロード失敗、エラー: {{ .detail }}、このエラーを無視します...'
LoadBackupFailed: 'バックアップアカウントの接続取得に失敗、エラー: {{ .detail }}'
InExecuting: '現在のタスクは実行中です。重複して実行しないでください！'
NoSuchResource: 'データベースにバックアップ内容が見つかりませんでした。スキップします...'
CleanLog: 'ログをクリーン'
CleanLogByName: '{{ .name }} のログをクリーン'
WafIpGroupNotFound: 'WAF IPグループが見つかりません。[高度な機能 - WAF - ブラックリスト/ホワイトリスト - IPグループ]に移動し、リモートダウンロード方式でIPグループを追加してください。'

# ツールボックス
ErrNotExistUser: '現在のユーザーは存在しません。変更してもう一度お試しください。'
ErrBanAction: '設定に失敗しました。現在の {{ .name }} サービスは利用できません。確認してもう一度お試しください。'
ErrClamdscanNotFound: 'clamdscan コマンドが検出されませんでした。インストールするにはドキュメントを参照してください。'
TaskSwapSet: 'Swap設定'
SetSwap: 'Swap設定 {{ .path }} - {{ .size }}'
CreateSwap: 'Swapファイル作成'
FormatSwap: 'Swapファイルフォーマット'
EnableSwap: 'Swapファイル有効化'

# 改ざん防止
CleanTamperSetting: '履歴保護設定をクリーンアップ'
SetTamperWithRules: 'ルールに従ってディレクトリ保護を開始'
ProtectDir: 'ディレクトリを保護 {{ .name }}'
IgnoreFile: 'ファイルを保護 {{ .name }}'
TamperSetSuccessful: '保護設定が完了し、以下のディレクトリの監視を開始します：'

# WAF
ErrScope: 'この構成の変更はサポートされていません'
ErrStateChange: '状態の変更に失敗しました'
ErrRuleExist: 'ルールは既に存在します'
ErrRuleNotExist: 'ルールが存在しません'
ErrParseIP: 'IP 形式が間違っています'
ErrDefaultIP: 'デフォルトは予約名です。別の名前に変更してください'
ErrGroupInUse: 'IP グループはブラックリスト/ホワイトリストで使用されており、削除できません'
ErrIPGroupAclUse: 'IPグループはウェブサイト {{ .name }} のカスタムルールで使用されているため、削除できません'
ErrIPGroupOriginProtectionUse: 'IP グループはウェブサイト {{ .name }} の CDN オリジン保護で使用されています'
ErrOriginProtectionIPGroupRequired: 'オリジン保護を有効にする前に空でない IP グループを少なくとも 1 つ選択してください'
ErrOriginProtectionIPGroupInvalid: 'IP グループ {{ .name }} は存在しないか空です'
ErrGroupExist: 'IP グループ名がすでに存在します'
ErrIPRange: 'IP 範囲が間違っています'
ErrIPExist: 'IP がすでに存在します'
urlDefense: 'URL ルール'
urlHelper: '禁止された URL'
dirFilter: 'ディレクトリ フィルター'
xss: 'XSS'
phpExec: 'PHP スクリプトの実行'
oneWordTrojan: 'ワンワードトロイの木馬'
appFilter: '危険なディレクトリフィルタリングを適用する'
webShell: 'ウェブシェル'
args: 'パラメータルール'
protocolFilter: 'プロトコルフィルタリング'
javaFilter: 'Java 危険ファイル フィルター'
scannerFilter: 'スキャナ フィルタ'
escapeFilter: 'エスケープフィルター'
customRule: 'カスタムルール'
httpMethod: 'HTTP メソッド フィルタリング'
fileExt: 'ファイルアップロード制限'
defaultIpBlack: '悪意のある IP グループ'
cookie: 'クッキールール'
urlBlack: 'URL ブラックリスト'
uaBlack: 'ユーザーエージェント ブラックリスト'
attackCount: '攻撃頻度の制限'
fileExtCheck: 'ファイルアップロード制限'
geoRestrict: '地域アクセス制限'
unknownWebsite: '不正なドメイン名アクセス'
notFoundCount: '404 レート制限'
headerDefense: 'ヘッダールール'
defaultUaBlack: 'ユーザーエージェントルール'
methodWhite: 'HTTP ルール'
captcha: '人間と機械による認証'
fiveSeconds: '5秒検証'
vulnCheck: '補足ルール'
acl: 'カスタムルール'
sql: 'SQL インジェクション'
cc: 'アクセス頻度制限'
defaultUrlBlack: 'URL ルール'
sqlInject: 'SQL インジェクション'
ErrDBNotExist: 'データベースが存在しません'
allow: '許可'
deny: '拒否'
OpenrestyNotFound: 'OpenResty がインストールされていません'
remoteIpIsNull: 'IPリストが空です'
OpenrestyVersionErr: 'OpenResty のバージョンが古すぎます。1.27.1.2-2-2-focal 以降にアップグレードしてください'
ErrFileTooLarge: 'ファイルが 1MB を超えているためアップロードできません'

# タスク
TaskStart: '{{ .name }} タスクが開始されました [START]'
TaskEnd: '{{ .name }} タスクが完了しました [COMPLETED]'
TaskFailed: '{{ .name }} タスクが失敗しました'
TaskTimeout: '{{ .name }} がタイムアウトしました'
TaskSuccess: '{{ .name }} タスクが成功しました'
TaskRetry: '{{ .name }} 回目の再試行を開始します'
SubTaskSuccess: '{{ .name }} が成功しました'
SubTaskFailed: '{{ .name }} が失敗しました: {{ .err }}'
TaskInstall: 'インストール'
TaskUninstall: 'アンインストール'
TaskCreate: '作成'
TaskDelete: '削除'
TaskUpgrade: 'アップグレード'
TaskUpdate: '更新'
AgentPluginInstall: 'プラグインをインストール'
AgentPluginEnable: 'プラグインを有効化'
AgentPluginDisable: 'プラグインを無効化'
AgentPluginUpdate: 'プラグインを更新'
AgentPluginUninstall: 'プラグインをアンインストール'
TaskRestart: '再起動'
TaskProtect: '保護'
TaskBackup: 'バックアップ'
TaskRecover: '回復'
TaskRollback: 'ロールバック'
TaskPull: 'プル'
TaskCommit: 'コミット'
TaskBuild: 'ビルド'
TaskPush: '送信'
TaskClean: 'クリーンアップ'
TaskHandle: '実行'
TaskImport: 'インポート'
TaskExport: 'エクスポート'
Website: 'ウェブサイト'
App: 'アプリケーション'
Runtime: 'ランタイム環境'
Database: 'データベース'
ConfigFTP: 'FTP ユーザー {{ .name }} を作成します'
ConfigOpenresty: 'OpenResty の設定ファイルを作成'
InstallAppSuccess: 'アプリケーション {{ .name }} が正常にインストールされました'
ConfigRuntime: 'ランタイム環境を構成する'
ConfigApp: '構成アプリケーション'
SuccessStatus: '{{ .name }} は成功しました'
FailedStatus: '{{ .name }} が {{ .err }} に失敗しました'
HandleLink: 'ハンドルアプリケーションの関連付け'
HandleDatabaseApp: 'アプリケーション パラメータの処理'
ExecShell: '{{ .name }} スクリプトを実行する'
PullImage: 'イメージをプル'
Start: '開始'
Run: '開始'
Stop: '停止'
Image: '鏡'
Compose: 'オーケストレーション'
Container: 'コンテナ'
AppLink: 'リンクされたアプリケーション'
EnableSSL: 'HTTPS を有効にする'
AppStore: 'Appストア'
TaskSync: '同期'
LocalApp: 'ローカルアプリケーション'
SubTask: 'サブタスク'
RuntimeExtension: 'ランタイム環境拡張'
TaskIsExecuting: 'タスクは実行中です'
CustomAppstore: 'カスタム アプリケーション ウェアハウス'
TaskExec: '実行'
TaskBatch: '一括操作'
FileConvert: 'ファイル形式の変換'

# タスク - ClamAV
Clamscan: '{{ .name }} をスキャン'
TaskScan: 'スキャン'

# タスク - AI
OllamaModelPull: 'Ollama モデル {{ .name }} をプルします'
OllamaModelSize: 'Ollama モデル {{ .name }} のサイズを取得します'
AIBenchmarkRun: "AIベンチマークを実行"

# タスク - スナップショット
Snapshot: 'スナップショット'
SnapDBInfo: '1Panel データベース情報を書き込む'
SnapCopy: 'ファイルとディレクトリ {{ .name }} をコピーします'
SnapNewDB: 'データベース {{ .name }} 接続を初期化します'
SnapDeleteOperationLog: '操作ログの削除'
SnapDeleteLoginLog: 'アクセスログを削除する'
SnapDeleteMonitor: '監視データを削除する'
SnapRemoveSystemIP: 'システム IP を削除します'
SnapBaseInfo: '1Panel の基本情報を書き込む'
SnapInstallAppImageEmpty: 'アプリケーションイメージが選択されていないため、スキップします...'
SnapInstallApp: '1Panelインストール済みアプリケーションのバックアップ'
SnapDockerSave: 'インストールされたアプリケーションを圧縮する'
SnapLocalBackup: '1Panel ローカル バックアップ ディレクトリをバックアップします'
SnapCompressBackup: 'ローカル バックアップ ディレクトリを圧縮する'
SnapPanelData: '1Panel データ ディレクトリをバックアップ'
SnapCompressPanel: '圧縮データ ディレクトリ'
SnapWebsite: '1Panel ウェブサイト ディレクトリのバックアップ'
SnapCloseDBConn: 'データベース接続を閉じる'
SnapCompress: 'スナップショット ファイルを作成する'
SnapCompressFile: 'スナップショット ファイルを圧縮する'
SnapCheckCompress: 'スナップショット圧縮ファイルをチェックする'
SnapCompressSize: 'スナップショット ファイル サイズ {{ .name }}'
SnapUpload: 'スナップショット ファイルをアップロード'
SnapUploadTo: 'スナップショット ファイルを {{ .name }} にアップロードします'
SnapUploadRes: 'スナップショット ファイルを {{ .name }} にアップロードします'
SnapshotRecover: 'スナップショットの復元'
RecoverDownload: 'スナップショット ファイルをダウンロード'
Download: 'ダウンロード'
RecoverDownloadAccount: 'スナップショット ダウンロード バックアップ アカウント {{ .name }} を取得します'
RecoverDecompress: 'スナップショット圧縮ファイルを解凍する'
Decompress: '減圧'
BackupBeforeRecover: 'スナップショットの前にシステム関連データをバックアップする'
ReadJson: 'スナップショット内の Json ファイルを読み取ります'
ReadJsonPath: 'スナップショット内の Json ファイル パスを取得します'
ReadJsonContent: 'Json ファイルを読み取ります'
ReadJsonMarshal: 'Json エスケープ処理'
RecoverApp: 'インストールされたアプリを復元する'
RecoverWebsite: 'ウェブサイトディレクトリを回復する'
RecoverAppImage: 'スナップショットイメージのバックアップを復元する'
RecoverCompose: '他のコンポーザーのコンテンツを復元する'
RecoverComposeList: 'すべてのコンポーザーを復元する'
RecoverComposeItem: '{{ .name }} の作成を回復する'
RecoverAppEmpty: 'スナップショット ファイルにアプリケーション イメージのバックアップが見つかりませんでした'
RecoverBaseData: '基本データとファイルを回復する'
RecoverDaemonJsonEmpty: 'スナップショット ファイルと現在のマシンの両方に、コンテナー構成 daemon.json ファイルがありません'
RecoverDaemonJson: 'コンテナ構成 daemon.json ファイルを復元する'
RecoverDBData: 'データベース データを回復する'
RecoverBackups: 'ローカル バックアップ ディレクトリを復元する'
RecoverPanelData: 'リカバリデータディレクトリ'

# タスク - コンテナ
ContainerImagePull: 'コンテナ イメージ {{ .name }} をプルします'
ContainerRemoveOld: '元のコンテナ {{ .name }} を削除します'
ContainerImageCheck: 'イメージが正常にプルされているかどうかを確認します'
ContainerLoadInfo: 'コンテナの基本情報を取得する'
ContainerRecreate: 'コンテナの更新に失敗しました。元のコンテナの復元を開始しています'
ContainerCreate: '新しいコンテナ {{ .name }} を作成します'
ContainerCreateFailed: 'コンテナの作成に失敗しました。失敗したコンテナを削除してください'
ContainerStartCheck: 'コンテナが起動されているかどうかを確認します'
ContainerAcquireLock: 'コンテナ {{ .name }} の操作ロックを待機'
ContainerUpgradeItem: 'コンテナ {{ .name }} をアップグレード'
ContainerUpgradeSummary: 'コンテナのアップグレード結果を集計'
ContainerCleanupWarning: '更新は成功しましたが、バックアップコンテナ {{ .name }} を削除できませんでした。新しいコンテナが正常に動作していることを確認してから、バックアップコンテナを手動で削除してください。エラー: {{ .err }}'
ContainerStopOld: '元のコンテナ {{ .name }} を停止'
ContainerRenameOld: 'ロールバック用に元のコンテナ {{ .name }} の名前を変更'
ContainerDisconnectOld: '元のコンテナ {{ .name }} のネットワークアドレスを解放'
ContainerCreateReplacement: '置換コンテナ {{ .name }} を作成'
ContainerStartReplacement: '置換コンテナ {{ .name }} を起動'
ContainerWaitReplacement: '置換コンテナ {{ .name }} の準備状態を確認'
ContainerRollbackRestartOld: '元のコンテナ {{ .name }} を再起動'
ContainerRollbackRemoveReplacement: '起動に失敗した置換コンテナ {{ .name }} を削除'
ContainerRollbackRenameOld: '元のコンテナ {{ .name }} の名前を復元'
ContainerRollbackReconnectOld: '元のコンテナ {{ .name }} のネットワークを復元'

# タスク - イメージ
ImageBuild: 'イメージビルド'
ImagePull: '画像をプル'
ImageRepoAuthFromDB: 'データベースからリポジトリ認証情報を取得する'
ImagePush: '画像をプッシュ'
ImageRenameTag: '画像タグを変更する'
ImageNewTag: '新しい画像タグ {{ .name }}'
ComposeCreate: 'コンポジションを作成する'

# タスク - ウェブサイト
BackupNginxConfig: 'ウェブサイトの OpenResty 構成ファイルをバックアップする'
CompressFileSuccess: 'ディレクトリを正常に圧縮しました。{{ .name }} に圧縮されました'
CompressDir: '圧縮ディレクトリ'
DeCompressFile: 'ファイル {{ .name }} を解凍します'
ErrCheckValid: 'バックアップ ファイルの検証に失敗しました、{{ .name }}'
Rollback: 'ロールバック'
websiteDir: 'ウェブサイトディレクトリ'
RecoverFailedStartRollBack: 'リカバリに失敗しました。ロールバックを開始します'
AppBackupFileIncomplete: 'バックアップ ファイルが不完全で、app.json または app.tar.gz ファイルが不足しています'
AppAttributesNotMatch: 'アプリケーションの種類または名前が一致しません'

# アラート
ErrAlertMethodNotSupported: 'このバージョンではこの通知方法は利用できません'
ErrAlertSync: 'アラーム情報の同期エラーです。確認してもう一度お試しください。'

# タスク - ランタイム
ErrInstallExtension: 'インストールタスクが進行中です、タスクが終了するのを待ってください'

# アラートメールテンプレート
PanelAlertTitle: 'パネルアラート通知'
TestAlertTitle: 'テストメール - メール接続の確認'
TestAlert: 'これはテストメールです。メール送信設定が正しく構成されているかを確認します。'
LicenseExpirationAlert: 'あなたの {{ .node }}{{ .ip }} パネル、ライセンスは {{ .day }} 日後に期限切れになります。詳細はパネルにログインして'
CronJobFailedAlert: 'あなたの {{ .node }}{{ .ip }} パネル、スケジュールタスク {{ .name }} の実行に失敗しました。詳細はパネルにログインして'
ClamAlert: 'あなたの {{ .node }}{{ .ip }} パネル、ウイルススキャンタスクで {{ .num }} 個の感染ファイルを検出しました。詳細はパネルにログインして'
WebSiteAlert: 'あなたの {{ .node }}{{ .ip }} パネル、{{ .num }} 個のウェブサイトが {{ .day }} 日後に期限切れになります。詳細はパネルにログインして'
SSLAlert: 'あなたの {{ .node }}{{ .ip }} パネル、{{ .num }} 枚のSSL証明書が {{ .day }} 日後に期限切れになります。詳細はパネルにログインして'
DiskUsedAlert: 'あなたの {{ .node }}{{ .ip }} パネル、ディスク {{ .name }} の使用率が {{ .used }} に達しました。詳細はパネルにログインして'
ResourceAlert: 'あなたの {{ .node }}{{ .ip }} パネル、過去 {{ .time }} 分間の {{ .name }} 平均使用率は {{ .used }} です。詳細はパネルにログインして'
PanelVersionAlert: 'あなたの {{ .node }}{{ .ip }} パネル、最新バージョンがアップグレード可能です。詳細はパネルにログインして'
PanelPwdExpirationAlert: 'あなたの {{ .node }}{{ .ip }} パネル、パネルパスワードは {{ .day }} 日後に期限切れになります。詳細はパネルにログインして'
CommonAlert: 'あなたの {{ .node }}{{ .ip }} パネル、{{ .msg }}。詳細はパネルにログインして'
NodeExceptionAlert: 'あなたの {{ .node }}{{ .ip }} パネル、{{ .num }} 個のノードに異常が発生しています。詳細はパネルにログインして'
LicenseExceptionAlert: 'あなたの {{ .node }}{{ .ip }} パネル、{{ .num }} 個のライセンスに異常が発生しています。詳細はパネルにログインして'
SSHAndPanelLoginAlert: 'あなたの {{ .node }}{{ .ip }} パネル、{{ .loginIp }} からの {{ .name }} ログインに異常があります。詳細はパネルにログインして'

# ディスク
DeviceNotFound: 'デバイス {{ .name }} が見つかりません'
DeviceIsMounted: 'デバイス {{ .name }} はマウントされています、まずアンマウントしてください'
PartitionDiskErr: 'パーティションに失敗しました、{{ .err }}'
FormatDiskErr: 'ディスクのフォーマットに失敗しました、{{ .err }}'
MountDiskErr: 'ディスクのマウントに失敗しました、{{ .err }}'
XfsNotFound: 'xfs ファイルシステムが検出されませんでした、最初に xfsprogs をインストールしてください'

# ターミナル
TerminalAIBlockedRiskyCommand: '危険なコマンドをブロックしました: {{ .command }}'
TerminalAIThinking: 'AI が考えています...'
TerminalAIReadyToExecute: '思考が完了しました。Enter で実行してください（所要時間 {{ .duration }}、token: {{ .tokens }}）'
TerminalAIRequestFailed: 'AI リクエストに失敗しました: {{ .err }}'

# AIゲートウェイ
ErrAIProxyServiceNotInstalled: '{{ .name }} サービスはインストールされていません'
ErrAIProxyModelAccountNotFound: 'モデルアカウント {{ .id }} が見つかりません'
ErrAIProxyModelMapRequired: 'この項目は必須です。'
ErrAIProxyModelMapInvalid: 'モデルマッピングは有効な JSON オブジェクトである必要があります: {{ .err }}'
ErrAIProxyModelMapEmpty: 'モデルマッピングは空にできません'
ErrAIProxyModelMapEmptyExternalModel: 'モデルマッピングに空のリクエストモデルがあります'
ErrAIProxyModelMapEmptyUpstreamModel: '{{ .model }} の上流モデルは空にできません'
AIProxyUserFallback: '削除済みユーザー (ID: {{ .id }})'
AIProviderBailian: 'Alibaba Cloud Model Studio'
AIProviderBailianCodingPlan: 'Alibaba Cloud Model Studio Coding Plan'
AIProviderArk: 'Volcengine Ark'
AIProviderArkCodingPlan: 'Volcengine Ark Coding Plan'
