home-hosted 0.7.21 → 0.8.1
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.
- package/AGENTS.md +130 -157
- package/README.md +14 -5
- package/dist/cli.js +281 -417
- package/dist/cli.js.map +1 -1
- package/package.json +2 -1
- package/uis/stock/dist/assets/de-DRY6VVqP.js +1 -0
- package/uis/stock/dist/assets/es-CKPLbx5t.js +1 -0
- package/uis/stock/dist/assets/fr-CQ7_4vtN.js +1 -0
- package/uis/stock/dist/assets/index-DwE9bYyS.css +2 -0
- package/uis/stock/dist/assets/index-HT6jUD-L.js +46 -0
- package/uis/stock/dist/assets/ja-bRUylgOt.js +1 -0
- package/uis/stock/dist/assets/ko-DWqbA99M.js +1 -0
- package/uis/stock/dist/assets/plex-sans-cyrillic-BAAhND-U.woff2 +0 -0
- package/uis/stock/dist/assets/plex-sans-cyrillic-ext-d45eAU9y.woff2 +0 -0
- package/uis/stock/dist/assets/ru-DUFxhVp3.js +1 -0
- package/uis/stock/dist/assets/vi-B0-81iVf.js +1 -0
- package/uis/stock/dist/assets/zh-CN-CeoyD9BM.js +1 -0
- package/uis/stock/dist/index.html +7 -3
- package/uis/stock/dist/ui.json +3 -3
- package/uis/stock/dist/assets/index-3hQv8lsr.js +0 -46
- package/uis/stock/dist/assets/index-Dp4rjHQQ.css +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={"app.name":`home-hosted`,"app.tagline":`プロセス監視コントロールパネル`,"common.cancel":`キャンセル`,"common.confirm":`確認`,"common.reset":`リセット`,"common.keepIt":`このままにする`,"common.remove":`削除`,"common.close":`閉じる`,"common.save":`保存`,"common.saving":`保存中…`,"common.discard":`変更を破棄`,"common.delete":`削除`,"common.edit":`編集`,"common.add":`追加`,"common.retry":`再試行`,"common.copy":`コピー`,"common.copied":`コピーしました`,"common.enabled":`有効`,"common.disabled":`無効`,"common.none":`なし`,"common.unknown":`不明`,"common.loading":`読み込み中…`,"common.selectAll":`すべて選択`,"common.selectNone":`選択を解除`,"common.name":`名前`,"common.label":`ラベル`,"common.hostname":`ホスト名`,"common.port":`ポート`,"common.command":`コマンド`,"common.environment":`環境変数`,"common.memory":`メモリ`,"common.cpu":`CPU`,"common.disk":`ディスク`,"common.uptime":`稼働時間`,"common.status":`状態`,"common.actions":`操作`,"common.details":`詳細`,"common.overview":`概要`,"common.warning":`警告`,"common.error":`エラー`,"common.confirmQuestion":`{label}?`,"common.unset":`未設定`,"common.never":`なし`,"common.now":`たった今`,"nav.global":`全体`,"nav.workspace":`ワークスペース`,"nav.others":`その他`,"nav.overview":`概要`,"nav.servers":`サーバー`,"nav.logs":`ログ`,"nav.workspaceSettings":`ワークスペース設定`,"nav.globalOverview":`全体概要`,"nav.globalSettings":`全体設定`,"nav.reverseProxy":`リバースプロキシ`,"connection.live":`ライブ`,"connection.connecting":`接続中`,"connection.reconnecting":`再接続中`,"connection.liveUpdates":`ライブ更新`,"theme.label":`テーマ: {theme}`,"theme.light":`ライト`,"theme.dark":`ダーク`,"theme.system":`システム`,"language.label":`言語`,"language.select":`言語を選択`,"topbar.search":`検索またはコマンドを実行`,"topbar.openNavigation":`ナビゲーションを開く`,"topbar.commandPalette":`コマンドパレット`,"topbar.account":`アカウント`,"topbar.signedIn":`サインイン済み`,"topbar.signOut":`サインアウト`,"status.stopped":`停止`,"status.starting":`起動中`,"status.running":`実行中`,"status.stopping":`停止中`,"status.backoff":`再起動中`,"status.crashed":`クラッシュ`,"status.conflict":`ポート競合`,"health.disabled":`未確認`,"health.unknown":`未プローブ`,"health.healthy":`正常`,"health.unhealthy":`異常`,"history.start":`起動しました`,"history.exit":`終了しました`,"history.crash":`クラッシュしました`,"history.forcedRestart":`強制再起動`,"history.unhealthy":`異常`,"history.recovered":`復旧しました`,"servers.total":{other:`{count} 台のサーバー`},"servers.running":{other:`{count} 台実行中`},"logs.lines":{other:`{count} 行`},"days.remaining":{other:`{count} 日`},"login.title":`続行するにはサインインしてください`,"login.firstRunTitle":`このパネルにはまだパスワードがありません`,"login.firstRunSubtitle":`このマシン上のものは何でもアクセスできます。サインイン後すぐにパスワードを設定してください。`,"login.authOffTitle":`認証が無効になっています`,"login.authOffSubtitle":`パネルはループバックのみをリッスンしており、今のところそれが唯一の保護です。`,"login.subtitle":`コントロールパネルは保護されています。パスワードを入力して続行してください。`,"login.password":`パスワード`,"login.showPassword":`パスワードを表示`,"login.hidePassword":`パスワードを非表示`,"login.signIn":`サインイン`,"login.openDashboard":`ダッシュボードを開く`,"login.exposed":`公開されています`,"login.defaultPasswordWarning":`既定のパスワード {password} のままです。設定で変更してください — 変更するまで 127.0.0.1 を超えるバインドは拒否されます。`,"login.noPasswordWarning":`パスワードが設定されていません。このマシンで設定を開いて追加するか、{command} を実行してください。`,"login.sessionNote":`セッションは最後のアクセスから {days} 日間サインイン状態を保ちます — リクエストごとに期間が延びます。サインアウトはこのブラウザーのみを消去します。`,"login.servedFromThisMachine":`このマシンから配信`,"nav.navigation":`ナビゲーション`,"nav.closeNavigation":`ナビゲーションを閉じる`,"nav.hostVitals":`ホストの状態`,"common.dismiss":`閉じる`,"topbar.workspaceLabel":`ワークスペース: {name}`,"palette.placeholder":`サーバーへ移動、操作を実行、設定を開く…`,"palette.openServer":`{label} を開く`,"palette.serverLogs":`{label} のログ`,"palette.startServer":`{label} を起動`,"palette.stopServer":`{label} を停止`,"palette.restartServer":`{label} を再起動`,"palette.goOverview":`概要へ移動`,"palette.goGlobalOverview":`全体概要へ移動`,"palette.goGlobalSettings":`全体設定へ移動`,"palette.goProxy":`リバースプロキシへ移動`,"palette.goServers":`サーバーへ移動`,"palette.goLogs":`ログへ移動`,"palette.goWorkspaceSettings":`ワークスペース設定へ移動`,"palette.startAll":`ここで有効なサーバーをすべて起動`,"palette.stopAll":`ここですべてのサーバーを停止`,"palette.switchWorkspace":`{label} に切り替え`,"palette.globalSetting":`全体設定: {label}`,"palette.workspaceSetting":`ワークスペース設定: {label}`,"palette.theme":`{theme}テーマ`,"palette.groupServers":`サーバー`,"palette.groupActions":`操作`,"palette.groupNavigate":`移動`,"palette.groupWorkspaces":`ワークスペース`,"palette.groupAppearance":`外観`,"palette.navigate":`移動`,"palette.run":`実行`,"palette.noMatches":`「{query}」に一致するものはありません。`,"palette.results":{other:`{count} 件の結果`},"workspace.new":`新しいワークスペース`,"workspace.rename":`ワークスペース名を変更`,"workspace.create":`ワークスペースを作成`,"workspace.renameAction":`名前を変更`,"workspace.createHint":`独自の設定、サーバー、ログ、シークレット、バックアップ項目を持ち、同じパネルから配信されます。`,"workspace.renameHint":`変わるのは名前だけです。ワークスペース id はそのままなので、URL とパスは引き続き機能します。`,"workspace.nameHint":`ヘッダーに表示されます。`,"workspace.nameHintId":`ヘッダーに表示されます。Id: {id}`,"workspace.none":`ワークスペースなし`,"workspace.delete":`ワークスペースを削除`,"notice.configError":`設定を読み込めませんでした: {error}`,"notice.configErrorHint":`パネルは既存の設定で動作を続けます。{path} を修正すれば自動で再読み込みします。`,"notice.defaultPassword":`このパネルはまだ既定のパスワードのままです。`,"notice.defaultPasswordHint":`全体設定で変更してください — 変更するまで 127.0.0.1 を超えるバインドは拒否されます。`,"notice.noPassword":`認証は有効ですがパスワードが未設定のため、何も要求されていません。`,"notice.noPasswordHint":`全体設定でパスワードを設定して、パネルを実際に保護してください。`,"notice.exposed":`このパネルは 127.0.0.1 を超えて到達できます。`,"notice.exposedHint":`強固なパスワードを保つか、TLS を終端するプロキシを前に置いてください。`,"notice.authOff":`認証が無効です — パネルはループバックバインドだけに守られています。`,"host.loadPerCpu":`負荷 / cpu`,"host.cpuTemp":`CPU 温度`,"activity.emptyTitle":`過去 24 時間のイベントはありません`,"activity.emptyDescription":`起動・終了・クラッシュ・復旧は発生するたびにここに表示されます。`,"activity.ran":`{duration} 実行`,"serverCard.open":`{url} を開く`,"serverCard.adoptedHint":`このプロセスは自身を置き換えました。パネルは 2 つ目のコピーを起動せず、後継プロセスを引き継ぎました。停止は引き続き機能し、出力は後継プロセスが送った先に残ります。`,"serverCard.detached":`デタッチ`,"serverCard.persistentHint":"このエントリは専用のナニーで実行されるため、パネルの停止・再起動・強制終了後も動き続けます。`home-hosted down` は停止せず報告するだけで、停止するのは明示的な停止操作だけです。","serverCard.persistent":`常駐`,"serverCard.disabled":`無効`,"serverCard.autostart":`自動起動`,"serverCard.healthProbe":`ヘルスプローブ`,"serverCard.notProbed":`未プローブ`,"serverCard.restarts":`再起動回数`,"serverCard.pid":`PID`,"serverCard.rss":`RSS`,"serverCard.procs":`プロセス数`,"serverCard.portFree":`空き`,"serverCard.portInUse":`使用中`,"serverCard.uptime24h":`24 時間稼働`,"serverCard.probe":`プローブ`,"serverCard.crashes24h":`24 時間のクラッシュ`,"serverCard.lastCrash":`最終クラッシュ`,"serverCard.unhealthyFor":`{duration} にわたり異常`,"serverCard.nextAttempt":`次の試行 {when}`,"serverCard.start":`起動`,"serverCard.stop":`停止`,"serverCard.restart":`再起動`,"serverCard.detailsHint":`ライブログと詳細なテレメトリ`,"serverCard.moreActions":`{label} のその他の操作`,"serverCard.disable":`サーバーを無効化`,"serverCard.enable":`サーバーを有効化`,"serverCard.removeFromAutostart":`自動起動から外す`,"serverCard.autostartWithPanel":`パネルとともに自動起動`,"serverCard.clearLogBuffer":`ログバッファーを消去`,"serverCard.removeServer":`サーバーを削除`,"serverCard.removeTitle":`このサーバーを削除しますか?`,"serverCard.removeDescription":`{label} は servers.config.json から削除されます。プロセスは停止し、ログとクラッシュ履歴も一緒に削除されます。`,"serverCard.statusField":`状態`,"addServer.title":`サーバーを追加`,"addServer.description":`{workspace} の servers.config.json にエントリを追加します。省略したポリシーはすべて既定値から継承されます。`,"addServer.thisWorkspace":`このワークスペース`,"addServer.identity":`識別情報`,"addServer.id":`Id`,"addServer.idHint":`小文字の英字、数字、ハイフン、アンダースコア。URL とログで使われます。`,"addServer.labelHint":`パネルに表示されます。既定では id になります。`,"addServer.process":`プロセス`,"addServer.commandHint":`シェルを介さずに起動されます。`,"addServer.argumentsHint":`1 行に 1 引数。行内の空白は保持されます。`,"addServer.portLifecycle":`ポートとライフサイクル`,"addServer.bindHint":`lan はネットワークに公開します。認証の背後でのみ行ってください。`,"addServer.advanced":`詳細設定`,"addServer.advancedHint":`環境変数、バックアップ、ポリシー、ライフサイクル、ブートストラップ`,"addServer.backups":`バックアップ`,"addServer.backupIgnore":`既知の生成ファイルを無視`,"addServer.bootstrapDescription":`初回起動前に実行される 1 回限りのコマンド。`,"addServer.bootstrapHint":`インストール、マイグレーション、ダウンロード — 毎回ではなく初回起動の前に。`,"addServer.policyResources":`ポリシーとリソース`,"addServer.logBufferHint":`空欄なら既定値を使用します。`,"addServer.inheritNote":`再起動・ヘルス・停止は {settings} と同じ設定で始まります。ここで変更すると継承ではなくこのエントリに書き込まれます。`,"addServer.serverDefaults":`設定 → サーバーの既定値`,"addServer.placeholdersTitle":`使用できる引数プレースホルダー`,"addServer.submit":`servers.config.json に追加`,"serverForm.workingDirectory":`作業ディレクトリ`,"serverForm.cwdHint":`相対パスは projectDir の下で解決されます。`,"serverForm.arguments":`引数`,"serverForm.portHint":`空欄はプローブや事前確認を行うポートがないことを意味します。`,"serverForm.bindAddress":`バインドアドレス`,"serverForm.autostart":`up とともに自動起動`,"serverForm.autostartHint":`コントロールプレーンが起動するたびに開始します。`,"serverForm.persistent":`常駐`,"serverForm.persistentHint":"パネル停止後も動き続けます。`down` は停止せず報告するだけです。","serverForm.envHint":`1 行に KEY=value を 1 つ。プロセスにエクスポートされます。`,"serverForm.dataEnvs":`データ環境変数`,"serverForm.dataEnvsHint":`1 行に ENV=path を 1 つ — プロセスにエクスポートされ、自動でバックアップされます。`,"serverForm.envFile":`環境ファイル`,"serverForm.envFilePlaceholder":`任意の KEY=value ファイル`,"serverForm.envFileHint":`起動時に読み込まれ、値は env を上書きします。`,"serverForm.dependsOn":`依存先`,"serverForm.dependsOnHint":`カンマ区切り。最初に起動して正常になるまで待ち、最後に停止します。`,"serverForm.backupPaths":`追加のバックアップパス`,"serverForm.backupPathsHint":`1 行に 1 つ。プレースホルダーも使えます。データ環境変数はすでに取得されます。`,"serverForm.backupIgnore":`このバックアップ時に既知の生成ファイルを無視`,"serverForm.backupIgnoreHint":`node_modules、dist、.next など、復元に不要なキャッシュをスキップします。`,"serverForm.bootstrap":`ブートストラップ`,"serverForm.bootstrapDescription":`初回起動前に実行される 1 回限りのコマンド — インストール、マイグレーション、ダウンロード。`,"serverForm.runBootstrap":`ブートストラップを実行`,"serverForm.bootstrapHint":`オフの場合、エントリにブートストラップはなく、キーは null として送信されます。`,"serverForm.timeoutMs":`タイムアウト (ms)`,"serverForm.runOnce":`セッションごとに 1 回だけ`,"serverForm.runOnceHint":`オフの場合、起動のたびに再実行されます。`,"serverForm.bootstrapArgs":`ブートストラップの引数`,"serverForm.bootstrapArgsHint":`1 行に 1 つ。プレースホルダーはメインの引数と同じです。`,"serverForm.bootstrapEnv":`ブートストラップの環境変数`,"serverForm.bootstrapEnvHint":`1 行に KEY=value を 1 つ。ブートストラップのプロセスにのみエクスポートされます。`,"serverForm.onPortConflict":`ポート競合時`,"serverForm.logBufferLines":`ログバッファーの行数`,"serverForm.maxRssMb":`最大 RSS (MB)`,"serverForm.maxRssHint":`これを超えると再起動します。空欄または 0 で無効になります。`,"serverForm.enabledHint":`オフでもエントリは設定に残りますが、起動は拒否されます。`,"bind.local":`local — 127.0.0.1`,"bind.lan":`lan — 0.0.0.0`,"bind.explicit":`{bind} — 明示`,"onPortConflict.block":`block — 起動を拒否`,"onPortConflict.warn":`warn — そのまま起動`,"onPortConflict.follow":`follow — 自身のデタッチ再起動を引き継ぐ`,"onPortConflict.reclaim":`reclaim — 監視下のコピーに置き換える`,"onPortConflict.kill":`kill — ポートを占有しているものを停止`,"editor.title":`設定を編集`,"editor.description":`{file} に上書き設定を書き込みます。手を付けない項目は既定値を継承し続けます。`,"editor.unsaved":{one:`未保存の変更`,other:`未保存の変更`},"editor.inSync":`同期済み`,"editor.process":`プロセス`,"editor.processDescription":`何を、どこで、どの環境で起動するか。`,"editor.labelPlaceholder":`空欄なら id を使用`,"editor.argumentsHint":`1 行に 1 つ。{port} {host} {home} {projectDir} {dataRoot} {id} {label} {cwd} {bind} {lanIp} が置換されます。`,"editor.portTitle":`ポートとバインド`,"editor.portDescription":`ポートをどのように事前確認し、プロセスがどこから到達可能か。`,"editor.bindHint":`設定がすでに指定しているカスタム IPv4 は選択可能なままです。`,"editor.lifecycle":`ライフサイクル`,"editor.lifecycleDescription":`スーパーバイザーがこのエントリを管理するかどうか。`,"editor.save":`servers.config.json に保存`,"editor.changesTitle":`未保存の変更`,"editor.changesDescription":`保存すると servers.config.json に書き込まれる内容。`,"editor.nothingToSave":`保存するものはありません。`,"editor.saveChanges":{one:`{count} 件の変更を保存`,other:`{count} 件の変更を保存`},"lifecycle.restartTitle":`再起動ポリシー`,"lifecycle.restartDescription":`クラッシュ後の試行間のバックオフ。`,"lifecycle.restartOnCrash":`クラッシュ時に再起動`,"lifecycle.maxRetries":`最大再試行回数`,"lifecycle.maxRetriesHint":`サーバーがクラッシュ状態のままになるまでの試行回数。`,"lifecycle.baseDelay":`基本遅延 (ms)`,"lifecycle.factor":`バックオフ係数`,"lifecycle.maxDelay":`最大遅延 (ms)`,"lifecycle.resetAfter":`リセットまでの稼働 (ms)`,"lifecycle.resetAfterHint":`この長さ稼働すると再試行カウンターが消えます。`,"lifecycle.healthTitle":`ヘルスチェック`,"lifecycle.healthDescription":`プロセス起動後に準備状態をどうプローブするか。`,"lifecycle.probe":`このサーバーをプローブ`,"lifecycle.probeType":`プローブの種類`,"lifecycle.probePort":`TCP ポート — 接続のみ`,"lifecycle.probeHttp":`HTTP リクエスト — 応答を検証`,"lifecycle.interval":`間隔 (ms)`,"lifecycle.timeout":`タイムアウト (ms)`,"lifecycle.unhealthyAfter":`異常とみなす失敗回数`,"lifecycle.unhealthyAfterHint":`連続して失敗したプローブ数。`,"lifecycle.forceRestartAfter":`強制再起動まで (ms)`,"lifecycle.forceRestartAfterHint":`0 で無効になります。`,"lifecycle.startTimeout":`起動タイムアウト (ms)`,"lifecycle.httpPath":`HTTP パス`,"lifecycle.httpMethod":`HTTP メソッド`,"lifecycle.expectStatus":`期待するステータス`,"lifecycle.expectStatusHint":`空欄なら以下をすべて受け入れます。`,"lifecycle.expectStatusBelow":`このステータス未満で正常`,"lifecycle.expectBody":`本文に含む必要がある文字列`,"lifecycle.expectBodyPlaceholder":`任意の部分文字列`,"lifecycle.headBodyHint":`HEAD には応答本文がないためこのチェックは無視されます — GET を使うか、空にしてください。`,"lifecycle.stopTitle":`停止の動作`,"lifecycle.stopDescription":`プロセスツリーをどのように終了させるか。`,"lifecycle.signal":`シグナル`,"lifecycle.signalTerm":`SIGTERM — 停止を要求`,"lifecycle.signalInt":`SIGINT — 割り込み (Ctrl-C)`,"lifecycle.signalKill":`SIGKILL — 即時強制終了`,"lifecycle.grace":`猶予期間 (ms)`,"lifecycle.killGroup":`プロセスグループ全体を強制終了`,"lifecycle.killPortHolders":`ポートを占有しているものも強制終了`,"killPort.trigger":`ポート {port} を占有しているものを強制終了`,"killPort.title":`ポート {port} のプロセスを強制終了しますか?`,"killPort.body":`まず停止を要求し、それに従わない場合にのみ強制終了します。このパネルが管理するものは拒否されるため、管理対象のサーバーがこの方法で失われることはありません。`,"killPort.confirm":`強制終了`,"logs.emptyHint":`まだ出力はありません。`,"logs.noMatches":`この検索やストリームフィルターに一致するものはありません。`,"logs.searchPlaceholder":`この出力を検索`,"logs.searchLabel":`ログ出力を検索`,"logs.clearSearch":`検索を消去`,"logs.prevMatch":`前の一致`,"logs.nextMatch":`次の一致`,"logs.showTimestamps":`タイムスタンプを表示`,"logs.hideTimestamps":`タイムスタンプを非表示`,"logs.timestampsShort":`ts`,"logs.pause":`一時停止`,"logs.follow":`追従`,"logs.clearHint":`メモリ上のバッファーを消去`,"logs.clearLabel":`ログバッファーを消去`,"logs.downloadHint":`保存されたファイルをダウンロード`,"logs.downloadLabel":`ログファイルをダウンロード`,"logs.outputLabel":`ログ出力`,"logs.jumpToLatest":`最新へ移動`,"logs.streaming":`ストリーミング中`,"logs.paused":`一時停止中`,"logs.snapshot":`スナップショット`,"logs.linesOf":`{total} 行中 {count} 行`,"logs.matches":`{count} 件の一致`,"logs.rowHeight":`行の高さ {height}px · ウィンドウ表示`,"logs.streamAll":`すべて`,"logs.streamOut":`out`,"logs.streamErr":`err`,"logs.streamSys":`sys`,"metric.emptyHint":`収集中…`,"host.samplingOff":`ホストのサンプリングはオフです`,"host.samplingOffDescription":`負荷、メモリ、ディスク、温度を収集するには設定でオンにしてください。`,"host.swap":`スワップ`,"host.cpus":`CPU`,"host.loadAverage":`負荷 1 / 5 / 15`,"host.memoryUsed":`メモリ使用量`,"host.sampled":`サンプリング時刻`,"host.filesystems":`ファイルシステム`,"host.thresholdsBreached":`しきい値超過`,"validation.port":`ポートは 1 から 65535 までの整数である必要があります。`,"validation.idRequired":`id は必須です — このサーバーが属するキーになります。`,"validation.idPattern":`id は小文字の英字または数字で始まり、小文字の英字、数字、ハイフン、アンダースコアのみを含む必要があります。`,"validation.commandRequired":`コマンドは必須です — スーパーバイザーが起動する実行ファイルです。`,"validation.bootstrapCommand":`ブートストラップには実行するコマンドが必要です。`,"settings.shell.fieldsChanged":{one:`フィールドを変更`,other:`フィールドを変更`},"settings.shell.noUnsavedChanges":`未保存の変更はありません`,"settings.shell.discard":`変更を破棄`,"settings.shell.save":`設定を保存`,"settings.shell.unsavedTitle":`未保存の変更`,"settings.shell.nothingToSave":`保存するものはありません。`,"settings.shell.saveChanges":{one:`{count} 件の変更を保存`,other:`{count} 件の変更を保存`},"settings.auth.policyTitle":`アクセスポリシー`,"settings.auth.policyDescription":`パネルがループバック上でもネットワークに公開されていても、認証は適用されます。`,"settings.auth.requirePassword":`パスワードを必須にする`,"settings.auth.requirePasswordHint":`すべてのリクエストにサインイン済みセッションが必要です。`,"settings.auth.sessionLifetime":`セッションの有効期間 (ms)`,"settings.auth.sessionLifetimeHint":`アイドルタイムアウト。604800000 は 1 週間操作がないことに相当します。リクエストごとに延長されます。`,"settings.auth.cookieSecure":`Cookie の Secure`,"settings.auth.cookieSecureAuto":`自動 — HTTPS の場合のみ`,"settings.auth.cookieSecureAlways":`常に`,"settings.auth.cookieSecureNever":`しない — 平文 HTTP`,"settings.auth.trustProxy":`リバースプロキシの背後`,"settings.auth.trustProxyOff":`いいえ — x-forwarded-* を無視`,"settings.auth.trustProxyLoopback":`はい、このマシンからのみ`,"settings.auth.trustProxyAny":`はい、どの呼び出し元からでも`,"settings.auth.trustProxyHint":`クライアントアドレスとプロトコルに x-forwarded-* を信頼します。「このマシンからのみ」は同一ホスト上のプロキシに対する安全な選択です。「どの呼び出し元からでも」は呼び出し元自身のヘッダーを信じるため、ログインのロックアウトが偽装アドレスごとに数えられ、回避できます。`,"settings.auth.maxLoginAttempts":`ログイン試行の上限`,"settings.auth.maxLoginAttemptsHint":`一時的なロックアウトまでの失敗回数。`,"settings.auth.lockout":`ロックアウト (ms)`,"settings.auth.apiTokenSet":`API トークンが設定されています`,"settings.auth.apiTokenMissing":`API トークンがありません`,"settings.auth.apiTokenNote":`スクリプトはサインインの代わりに {code} で API を呼び出せます。`,"settings.auth.noTokenNote":`シェルスクリプトやエージェント用には {command} で生成してください。`,"settings.auth.defaultPasswordTitle":`既定のパスワードがまだ使われています`,"settings.auth.defaultPasswordText":`以下で独自のパスワードを設定してください。それまで {address} を超えるバインドは拒否されたままです。`,"settings.auth.blockedTitle":`このリスナーは拒否されています`,"settings.auth.noPasswordTitle":`認証は有効ですがパスワードが未設定です`,"settings.auth.noPasswordText":`まだ実際には何も要求されておらず、パスワードが存在するまで {address} を超えるバインドは拒否されたままです。`,"settings.auth.exposedTitle":`127.0.0.1 を超えて到達できます`,"settings.auth.exposedText":`パスワードを強固に保つか、パネルの前に TLS を終端するプロキシを置いてください。`,"settings.auth.changePassword":`パスワードを変更`,"settings.auth.setPassword":`パスワードを設定`,"settings.auth.passwordDescription":`シークレットファイルに scrypt ハッシュとして保存され、設定には決して入りません。`,"settings.auth.currentPassword":`現在のパスワード`,"settings.auth.newPassword":`新しいパスワード`,"settings.auth.repeatPassword":`新しいパスワードを再入力`,"settings.auth.passwordMismatch":`2 つのパスワードが一致しません。`,"settings.auth.updatePassword":`パスワードを更新`,"settings.auth.setPasswordAndEnable":`パスワードを設定して認証を有効化`,"settings.auth.clearPassword":`パスワードを消去`,"settings.auth.clearPasswordConfirm":`消去を確認`,"settings.auth.clearPasswordTitle":`パスワードを消去しますか?`,"settings.auth.clearPasswordHint":`同時に認証も無効になり、パネルに到達できる人は誰でもそのまま入れてしまいます。`,"settings.auth.shortPasswordTitle":`短いパスワードです`,"settings.auth.shortPasswordText":`許可されていますが、ネットワークとこのパネルの間にあるのは長さだけです。`,"settings.auth.passwordUpdated":`パスワードを更新しました。他のセッションはサインアウトされました。`,"settings.auth.passwordCleared":`パスワードを消去し、認証を無効にしました。`,"settings.backup.createTitle":`バックアップを作成`,"settings.backup.createDescription":`このアーカイブに含めるものを選びます。作成するまで何も書き込まれません。`,"settings.backup.entriesCount":{one:`{count} 件のエントリ`,other:`{count} 件のエントリ`},"settings.backup.itemsSelected":{one:`{count} 件を選択`,other:`{count} 件を選択`},"settings.backup.chooseItems":`項目を選択`,"settings.backup.partialCapture":`選択した項目だけが取り込まれます。`,"settings.backup.withoutGlobalSettings":`グローバル設定がなければ、復元はターゲットのパネルがすでに宣言している場所にしかワークスペースを配置できません。`,"settings.backup.password":`パスワード (任意)`,"settings.backup.passwordHint":`アーカイブを暗号化します。復元時に同じパスワードを求められます。`,"settings.backup.create":`バックアップを作成`,"settings.backup.chooseItemsFor":`{label} — 項目を選択`,"settings.backup.subDescription":`ワークスペースは全体を取得することも、設定、サーバー、シークレット、宣言されたデータパスだけを取得することもできます。`,"settings.backup.selectedOf":`{total} 件中 {selected} 件を選択`,"settings.backup.nothingSelectable":`このワークスペースにはまだ選択できるものがありません。`,"settings.backup.apply":`適用`,"settings.backup.created":`バックアップを作成しました。`,"settings.backup.leafSettingsHint":`サーバーの既定値、ログ保持、通知`,"settings.backup.leafServersHint":`servers.config.json のすべてのエントリ`,"settings.backup.leafSecretsHint":`Telegram ボットトークンと DDNS 資格情報`,"settings.backup.leafDataHint":`宣言されたデータパス`,"settings.backup.pathFromOrigin":`{path} — {origin} から`,"settings.backup.entrySettingsHint":`リスナー、認証、ホストの状態、バックアップポリシー`,"settings.backup.entrySecretsHint":`パスワードハッシュと API トークンハッシュ`,"settings.backup.entryTlsHint":`パネル自身の証明書ペア`,"settings.backup.entryWorkspaceHint":`その設定、サーバー、シークレット、宣言されたデータパス`,"settings.backups.policyTitle":`ポリシー`,"settings.backups.policyDescription":`パネルが保持するアーカイブの数と、すべてのアーカイブが追加で取得するパス。`,"settings.backups.allow":`バックアップを許可`,"settings.backups.allowHint":`オフにすると新しいアーカイブは作成されませんが、ディスク上にあるものは引き続きダウンロードと復元ができます。`,"settings.backups.offTitle":`バックアップはオフです`,"settings.backups.offText":`再びオンにするまで新しいものはアーカイブされません。以下のアーカイブは引き続きダウンロード、復元、削除ができます。`,"settings.backups.keep":`保持数`,"settings.backups.keepHint":`各バックアップ後に古いアーカイブが削除されます。`,"settings.backups.extraPaths":`追加パス`,"settings.backups.extraPathsHint":`カンマ区切り。各ワークスペースが宣言するものに加えて、すべてのアーカイブで取得されます。`,"settings.backups.extraPathsPlaceholder":`{home}/myapp-data`,"settings.backups.archiveDirectory":`アーカイブディレクトリ`,"settings.backups.copyArchiveDirectory":`アーカイブディレクトリをコピー`,"settings.backups.changeDirectory":`変更はファイル単位の判断です。{path} を編集してください。`,"settings.backups.theSettingsFile":`設定ファイル`,"settings.backups.capturesTitle":`バックアップが取得するもの`,"settings.backups.capturesDescription":`作成ダイアログでこれらを選びます。ワークスペースは全体を取得することも、設定、サーバー、シークレット、宣言されたデータパスだけを取得することもできます。`,"settings.backups.nothingSelectable":`まだ選択できるものがありません。`,"settings.backups.fromOrigin":`{origin} から`,"settings.backups.notCaptured":`取得されません`,"settings.backups.generatedSkipped":`生成ディレクトリをスキップ`,"settings.backups.included":`含まれる`,"settings.backups.skipped":`スキップ`,"settings.backups.workspacesNote":`このパネルは {count} 個のワークスペースを提供しており、それぞれが独立した選択可能なエントリです。`,"settings.backups.archivesTitle":`アーカイブ`,"settings.backups.archivesDescription":`バックアップディレクトリに保存され、いつでもダウンロードできます。`,"settings.backups.create":`バックアップを作成…`,"settings.backups.restore":`復元…`,"settings.backups.noArchives":`まだアーカイブはありません`,"settings.backups.noArchivesEnabled":`今すぐ作成して、パネルと選んだワークスペースを取得してください。`,"settings.backups.noArchivesDisabled":`まだ何もアーカイブされておらず、バックアップはオフです。`,"settings.backups.encrypted":`暗号化`,"settings.backups.download":`ダウンロード`,"settings.backups.restoreAction":`復元`,"settings.backups.confirmDelete":`削除を確認`,"settings.backups.deleted":`{name} を削除しました。`,"settings.backups.kindSettings":`設定`,"settings.backups.kindServers":`サーバー`,"settings.backups.kindSecrets":`シークレット`,"settings.backups.kindTls":`tls`,"settings.backups.kindData":`データ`,"settings.ddns.statePending":`待機中`,"settings.ddns.stateOk":`更新済み`,"settings.ddns.stateUnchanged":`最新`,"settings.ddns.stateSkipped":`スキップ`,"settings.ddns.stateError":`失敗`,"settings.ddns.passFinished":`動的 DNS の実行が完了しました`,"settings.ddns.credentialsSaved":`{account} の資格情報を保存しました`,"settings.ddns.credentialsRemoved":`{account} の資格情報を削除しました`,"settings.ddns.loadErrorTitle":`動的 DNS 設定を読み込めませんでした`,"settings.ddns.title":`動的 DNS`,"settings.ddns.description":`これらのホスト名をこのマシンの公開アドレスに向け続けます。資格情報はシークレットファイルにあり、servers.config.json には決して入りません。`,"settings.ddns.checking":`確認中`,"settings.ddns.needsAttention":`対応が必要`,"settings.ddns.watching":`監視中`,"settings.ddns.updateNow":`今すぐ更新`,"settings.ddns.enabled":`動的 DNS を更新し続ける`,"settings.ddns.enabledHint":`以下の間隔で実行されます。プロバイダーはアドレスが実際に変わったときにのみ呼び出されます。`,"settings.ddns.interval":`確認間隔 (ms)`,"settings.ddns.intervalHint":`60000 は 1 分で、既定は 5 分です。`,"settings.ddns.ttl":`TTL (秒)`,"settings.ddns.ttlHint":`1 はプロバイダーが対応している場合の自動を意味します。`,"settings.ddns.detectIpv4":`IPv4 を検出`,"settings.ddns.detectIpv4Hint":`A レコードに必要です。`,"settings.ddns.detectIpv6":`IPv6 を検出`,"settings.ddns.detectIpv6Hint":`AAAA レコードに必要です。`,"settings.ddns.accountsTitle":`プロバイダーアカウント`,"settings.ddns.accountsDescription":`API トークンごとに 1 エントリ。資格情報はサーバーに保存され、二度と返ってきません。`,"settings.ddns.hostnameCount":{one:`{count} 個のホスト名`,other:`{count} 個のホスト名`},"settings.ddns.credentialsSet":`資格情報を保存済み`,"settings.ddns.noCredentials":`資格情報なし`,"settings.ddns.credentials":`資格情報`,"settings.ddns.removeAccountBlocked":`先にこのアカウントを使っているホスト名を削除してください`,"settings.ddns.noAccounts":`まだアカウントがありません。プロバイダーを選んで追加してください。`,"settings.ddns.provider":`プロバイダー`,"settings.ddns.accountId":`アカウント id`,"settings.ddns.accountIdPlaceholder":`cloudflare-home`,"settings.ddns.accountIdHint":"アカウント id はアカウントを識別し、保存された資格情報のキーになります。小文字の英字、数字、`-`、`_`。","settings.ddns.hostnamesTitle":`ホスト名`,"settings.ddns.hostnamesDescription":`更新し続けるリスト全体 — suba.domain.com、domain.xyz など。`,"settings.ddns.account":`アカウント`,"settings.ddns.recordA":`A (IPv4)`,"settings.ddns.recordAaaa":`AAAA (IPv6)`,"settings.ddns.aaaaUnsupported":`このプロバイダーは AAAA レコードを管理できません。`,"settings.ddns.proxied":`プロキシ経由`,"settings.ddns.proxiedHint":`Cloudflare がこのレコードを自社ネットワーク経由で配信します。`,"settings.ddns.ipv6Off":`IPv6 検出はオフです`,"settings.ddns.advanced":`詳細`,"settings.ddns.advancedHint":`登録ドメインと TTL の上書き`,"settings.ddns.registeredDomain":`登録ドメイン`,"settings.ddns.registeredDomainPlaceholder":`example.co.uk`,"settings.ddns.registeredDomainHint":`apex をプロバイダーに伝える必要がある場合のみ。3 ラベルのドメインなど。`,"settings.ddns.ttlOverride":`TTL の上書き (秒)`,"settings.ddns.ttlOverrideHint":`空欄なら上記の値を使用します。`,"settings.ddns.noHostnames":`まだホスト名がありません。`,"settings.ddns.hostnamePlaceholder":`home.example.com`,"settings.ddns.lastPass":`前回の実行`,"settings.ddns.ipv4Value":`IPv4 {address}`,"settings.ddns.ipv6Value":`IPv6 {address}`,"settings.ddns.type":`種類`,"settings.ddns.state":`状態`,"settings.ddns.address":`アドレス`,"settings.ddns.detail":`詳細`,"settings.ddns.credentialsTitle":`プロバイダーの資格情報`,"settings.ddns.credentialsDescription":`保存されたフィールドが返されることはありません。保存するとこのアカウントのすべてのフィールドが置き換えられ、すぐに 1 回実行されます。`,"settings.ddns.optional":`任意。`,"settings.ddns.whereToGet":`入手方法`,"settings.ddns.forget":`破棄`,"settings.ddns.forgetConfirm":`破棄する`,"settings.ddns.forgetTitle":`保存された資格情報を破棄しますか?`,"settings.ddns.forgetHint":`ディスクから削除され、読み戻すことはできません。再び貼り付ける必要があります。`,"settings.ddns.saveCredentials":`資格情報を保存`,"settings.defaults.title":`サーバーの既定値`,"settings.defaults.description":`独自の値を設定していないすべてのエントリに適用されます。`,"settings.defaults.enabledHint":`新しいエントリは有効な状態で始まります。`,"settings.defaults.autostart":`パネルとともに自動起動`,"settings.defaults.bind":`バインド`,"settings.defaults.bindLocal":`ローカル — 127.0.0.1`,"settings.defaults.bindLan":`LAN — 0.0.0.0`,"settings.defaults.onPortConflict":`ポート競合時`,"settings.defaults.conflictBlock":`起動をブロック`,"settings.defaults.conflictWarn":`警告してそのまま起動`,"settings.defaults.conflictFollow":`自身のデタッチ再起動を引き継ぐ`,"settings.defaults.conflictReclaim":`デタッチ再起動を監視下のコピーに置き換える`,"settings.defaults.conflictKill":`ポートを占有しているものを強制終了`,"settings.defaults.logBufferLines":`ログバッファーの行数`,"settings.defaults.logBufferLinesHint":`サーバーごとにメモリ上に保持されます。`,"settings.host.title":`しきい値`,"settings.host.description":`しきい値 0 はそのアラートを無効にします。超過時は通知が 1 回、復旧時にもう 1 回届きます。`,"settings.host.enabled":`このマシンをサンプリング`,"settings.host.enabledHint":`負荷、メモリ、スワップ、ディスク、CPU 温度を以下の間隔で取得します。`,"settings.host.interval":`間隔 (ms)`,"settings.host.intervalHint":`ホストをサンプリングしアラートを確認する頻度。`,"settings.host.diskPaths":`ディスクパス`,"settings.host.diskPathsHint":`カンマ区切り。{home} のようなテンプレートは展開されます。`,"settings.host.diskUsed":`ディスク使用率 (%)`,"settings.host.memoryUsed":`メモリ使用率 (%)`,"settings.host.swapUsed":`スワップ使用率 (%)`,"settings.host.zeroDisables":`0 でアラートを無効にします。`,"settings.host.loadPerCpu":`CPU あたりの負荷`,"settings.host.loadPerCpuHint":`1 分間の平均負荷をコア数で割った値。`,"settings.host.tempCelsius":`CPU 温度 (°C)`,"settings.host.tempCelsiusHint":`Linux のみ。OS が公開していない場合は無視されます。`,"settings.host.breachingNow":`現在超過中:`,"settings.host.nothingBreaching":`現在超過しているものはありません。`,"settings.interface.title":`インターフェース`,"settings.interface.description":`パネルは静的サイトです。標準のものを維持するか、ステートディレクトリから独自ビルドを配信します。`,"settings.interface.currentlyServing":`現在配信中のもの`,"settings.interface.copyDirectory":`UI ディレクトリをコピー`,"settings.interface.fileCount":`{count} ファイル`,"settings.interface.sourceStock":`標準`,"settings.interface.sourceCustom":`カスタム`,"settings.interface.unnamed":`名前なし`,"settings.interface.panelVersion":`パネルのバージョン`,"settings.interface.copyPanelVersion":`パネルのバージョンをコピー`,"settings.interface.panelVersionHint":`このパネルプロセスが実行しているリリース — {command} も同じ番号を表示します。`,"settings.interface.panelName":`パネル名`,"settings.interface.panelNameHint":`標準 UI がサイドバーに表示します。カスタム UI は代わりに独自の名前を表示できます。`,"settings.interface.uploadLabel":`UI ビルドをアップロード (index.html を含む .zip)`,"settings.interface.docsHint":`API コントラクトは {docs} を参照してください。カスタム UI でパネルが壊れた場合、{command} でターミナルから標準のものに戻せます。`,"settings.interface.resetName":`名前をリセット`,"settings.interface.confirmRevert":`戻すことを確認`,"settings.interface.revertToStock":`標準に戻す`,"settings.interface.install":`UI をインストール`,"settings.interface.installed":`UI を {name} に置き換えました — ページを再読み込みしてください`,"settings.interface.yourBuild":`独自ビルド`,"settings.interface.restored":`標準 UI を復元しました — ページを再読み込みしてください`,"settings.interface.nothingInstalled":`カスタム UI はインストールされていません`,"settings.listener.title":`リスナー`,"settings.listener.description":`パネルが応答する場所。これを移動するとパネルが再起動し、このページは新しいアドレスに移動します。`,"settings.listener.port":`制御ポート`,"settings.listener.portHint":`既定は 3999。`,"settings.listener.bind":`バインド`,"settings.listener.bindLocal":`ローカル`,"settings.listener.bindLan":`LAN`,"settings.listener.bindCustom":`カスタム`,"settings.listener.bindLanHint":`0.0.0.0 — ネットワーク全体から到達できます。`,"settings.listener.bindLocalHint":`127.0.0.1 — このマシンのみ。`,"settings.listener.bindCustomHint":`以下で入力する特定のインターフェースアドレス。`,"settings.listener.ipv4":`IPv4 アドレス`,"settings.listener.ipv4Placeholder":`192.168.1.20`,"settings.listener.ipv4Error":`IPv4 アドレスを入力してください。例: 192.168.1.20。`,"settings.listener.ipv4Hint":`127.0.0.1 を超えるバインドには実際のパスワードが必要です。`,"settings.listener.openBrowser":`パネル起動時にブラウザーを開く`,"settings.listener.liveAddress":`現在のアドレス`,"settings.listener.restartRequired":`再起動が必要`,"settings.listener.copyLiveAddress":`現在のアドレスをコピー`,"settings.listener.liveAddressHint":`リスナーが現在バインドしている先。保存した変更はパネルが再バインドした後に有効になります。`,"settings.logs.title":`保持`,"settings.logs.description":`ライブ表示は常にメモリから取得されます。これらのファイルは再起動後も残り、ログページに供給されます。`,"settings.logs.persist":`ログをディスクに保存`,"settings.logs.persistHint":`オフにするとすべてメモリ上のみに保持されます。`,"settings.logs.maxBytes":`ローテーションのサイズ (バイト)`,"settings.logs.maxBytesHint":`サーバーごと。.1、.2、… に切り替わる前のサイズ。`,"settings.logs.keep":`ローテーション後のファイルを保持`,"settings.logs.directory":`ログディレクトリ`,"settings.logs.copyDirectory":`ログディレクトリをコピー`,"settings.logs.browseHint":`{logs} ページでこれらのファイルを閲覧およびダウンロードできます。`,"settings.telegram.title":`Telegram`,"settings.telegram.description":`ポリシーは設定にあり、ボットトークンはシークレットで、サーバーから返ってくることはありません。`,"settings.telegram.enabled":`通知を送信`,"settings.telegram.enabledHint":`イベントごとに 1 通。以下のクールダウンで抑制されます。`,"settings.telegram.chatId":`チャット id`,"settings.telegram.chatIdPlaceholder":`123456789 または @channel`,"settings.telegram.chatIdHint":`「チャットを検出」でボットの更新から自動入力できます。`,"settings.telegram.cooldown":`イベントごとのクールダウン (ms)`,"settings.telegram.cooldownHint":`サーバーと理由ごとなので、落ち続けるサーバーでもスパムにはなりません。`,"settings.telegram.onCrash":`再試行を使い果たしたとき`,"settings.telegram.onUnhealthy":`ポートが異常なとき`,"settings.telegram.onForcedRestart":`強制再起動`,"settings.telegram.onRecovered":`復旧`,"settings.telegram.onHost":`ホストの状態がしきい値を超過`,"settings.telegram.onHostHint":`ディスク、メモリ、スワップ、負荷、CPU 温度。ホストの状態のしきい値に従います。`,"settings.telegram.onDdns":`動的 DNS が変更または失敗`,"settings.telegram.onDdnsHint":`レコードを変更した実行ごとに 1 通、失敗した実行にも 1 通。`,"settings.telegram.botToken":`ボットトークン`,"settings.telegram.tokenSet":`トークン設定済み`,"settings.telegram.noToken":`トークンなし`,"settings.telegram.tokenNote":`@BotFather から取得 — シークレットであり、servers.config.json には決して入れません。`,"settings.telegram.tokenPlaceholder":`123456789:AA…`,"settings.telegram.tokenSavedPlaceholder":`保存済み — 置き換えるには新しいトークンを入力`,"settings.telegram.saveToken":`トークンを保存`,"settings.telegram.detectChats":`チャットを検出`,"settings.telegram.sendTest":`テスト送信`,"settings.telegram.removeToken":`トークンを削除`,"settings.telegram.removeTokenConfirm":`削除を確認`,"settings.telegram.removeTokenTitle":`ボットトークンを削除しますか?`,"settings.telegram.removeTokenHint":`再びトークンを貼り付けるまで通知は停止します。`,"settings.telegram.tokenSaved":`トークンを保存しました。`,"settings.telegram.tokenSavedFor":`@{username} のトークンを保存しました。`,"settings.telegram.tokenRemoved":`トークンを削除しました。`,"settings.telegram.noChats":`チャットが見つかりません。先にボットへ /start を送信してから再検出してください。`,"settings.telegram.testSent":`テストメッセージを送信しました。`,"settings.telegram.testFailed":`テストメッセージの送信に失敗しました。`,"settings.telegram.chatsSeen":`ボットが見たチャット:`,"settings.telegram.lastSend":`前回の送信: {result}`,"settings.tls.title":`HTTPS`,"settings.tls.description":`PEM ペアをアップロードすると、パネルは自身のリスナーで TLS を提供します。ホームネットワークなら自己署名証明書で十分です。`,"settings.tls.serve":`パネルを HTTPS で提供`,"settings.tls.serveHint":`「設定を保存」で保存されます。パネルが再バインドし、このページもそれに追従します。`,"settings.tls.certificateTitle":`証明書`,"settings.tls.certificateDescription":`PEM エンコードされた証明書とその秘密鍵。どちらもシークレットファイルに残ります。`,"settings.tls.unusableTitle":`保存された証明書は使用できません`,"settings.tls.subject":`サブジェクト`,"settings.tls.issuer":`発行者`,"settings.tls.validUntil":`有効期限`,"settings.tls.days":`{count} 日`,"settings.tls.privateKey":`秘密鍵`,"settings.tls.keyMatches":`証明書と一致します`,"settings.tls.keyMismatch":`一致しません`,"settings.tls.fingerprint":`フィンガープリント`,"settings.tls.copyFingerprint":`フィンガープリントをコピー`,"settings.tls.noCertificateTitle":`証明書がアップロードされていません`,"settings.tls.noCertificateText":`以下で PEM 証明書と鍵をアップロードしてから保存してください。証明書が存在するまで HTTPS は提供されません。`,"settings.tls.certFile":`証明書ファイル (.pem, .crt)`,"settings.tls.keyFile":`秘密鍵ファイル (.pem, .key)`,"settings.tls.pasteCertificate":`または証明書を貼り付け`,"settings.tls.pasteKey":`または秘密鍵を貼り付け`,"settings.tls.saveCertificate":`証明書を保存`,"settings.tls.removeCertificate":`証明書を削除`,"settings.tls.confirmRemove":`削除を確認`,"settings.tls.removeTitle":`証明書を削除しますか?`,"settings.tls.removeHint":`TLS はオンのままですが提供するものがなくなるため、リスナーが再バインドするとパネルは http に戻ります。`,"settings.tls.stored":`証明書を保存しました。`,"settings.tls.removed":`証明書を削除しました。`,"settings.paths.dataRoot":`データルート`,"settings.paths.dataRootHint":`HHOSTED_HOME — グローバル設定、ワークスペース、TLS、バックアップ、UI。`,"settings.paths.globalSettings":`グローバル設定`,"settings.paths.globalSettingsHint":`settings.json — リスナー、認証、TLS ポリシー、ホストの状態、バックアップ。`,"settings.paths.projectDir":`プロジェクトディレクトリ`,"settings.paths.projectDirHint":`相対エントリパスの基準。`,"settings.paths.panelAddress":`パネルアドレス`,"settings.paths.panelAddressHint":`このコントロールパネルが現在稼働している場所。`,"settings.paths.serversConfig":`サーバー設定`,"settings.paths.serversConfigHint":`{label} の servers.config.json。`,"settings.paths.workspaceSettings":`ワークスペース設定`,"settings.paths.workspaceSettingsHint":`サーバーの既定値、ログ保持、通知、DDNS。`,"settings.paths.logs":`ログ`,"settings.paths.logsHint":`このワークスペースで永続化された出力。`,"settings.paths.copyPath":`{label} をコピー`,"settings.paths.whereThingsLive":`ファイルの場所`,"settings.paths.whereThingsLiveDescription":`読み取り専用。パスをそのままシェルやエディターにコピーできます。`,"settings.paths.workspaceFiles":`ワークスペースのファイル`,"settings.paths.workspaceFilesDescription":`各ワークスペースは自身の設定、構成、ログディレクトリを持ち、互いに共有されません。`,"settings.restore.title":`バックアップを復元`,"settings.restore.description":`計画を適用するまで何も書き込まれません。`,"settings.restore.archive":`アーカイブ`,"settings.restore.archiveHint":`保存されたアーカイブ、またはこのマシン上の .zip。`,"settings.restore.encryptedName":`{name} — 暗号化`,"settings.restore.uploadOption":`ファイルをアップロード…`,"settings.restore.archiveFile":`アーカイブファイル (.zip)`,"settings.restore.unchangedTitle":`まだ何も変更されていません`,"settings.restore.archiveLine":`アーカイブ {name}。`,"settings.restore.uploadedArchive":`アップロードされたアーカイブ。`,"settings.restore.passwordProtected":`このバックアップはパスワードで保護されています。`,"settings.restore.password":`パスワード`,"settings.restore.checkAgain":`パスワードでもう一度確認`,"settings.restore.choosePrompt":`復元するものを選択 — {total} 件中 {selected} 件を選択。`,"settings.restore.willRestore":`復元します: {items}。`,"settings.restore.skipped":`スキップ: {items}。`,"settings.restore.nothing":`なし`,"settings.restore.restartNote":`パネル自身の設定が異なるため、後でパネルを再起動してください。`,"settings.restore.reloadedNote":`復元されたワークスペースはすぐに再読み込みされます。自動起動のエントリは自身で起動します。`,"settings.restore.applyStored":`この復元を適用`,"settings.restore.applyUpload":`アップロードを復元`,"settings.restore.restored":`{count} 件を復元しました。`,"settings.restore.restoredWithNotes":`{count} 件を復元しました — {notes}。`,"settings.restore.noteReloaded":`復元されたサーバーは稼働中で、自動起動のエントリが起動しています`,"settings.restore.noteRestart":`パネル自身の設定を適用するには再起動してください`,"settings.rebind.failed":`コントロールパネルは {target} で応答しませんでした。新しいリスナーについてコンソールを確認してください。`,"proxy.status.certified":`証明書準備完了`,"proxy.status.localCa":`エンジン CA`,"proxy.status.uploaded":`アップロードされたペア`,"proxy.status.awaitingCa":`CA を待機中`,"proxy.status.failed":`証明書の取得に失敗`,"proxy.status.fellBack":`ローカル CA にフォールバック`,"proxy.status.serving":`提供中`,"proxy.status.disabled":`無効`,"proxy.status.noUpstream":`アップストリームなし`,"proxy.status.error":`エラー`,"proxy.status.unapplied":`未適用`,"proxy.status.off":`オフ`,"proxy.status.stopped":`停止`,"proxy.status.starting":`起動中`,"proxy.status.running":`実行中`,"proxy.status.unsupported":`未対応`,"proxy.target.server":`監視下のサーバー`,"proxy.target.panel":`このコントロールパネル`,"proxy.target.external":`リテラルのアップストリーム`,"proxy.target.controlPanel":`コントロールパネル`,"proxy.target.noServer":`サーバーが選択されていません`,"proxy.target.noUpstream":`アップストリームなし`,"proxy.tls.auto":`自動 — エンジンが判断`,"proxy.tls.off":`オフ — 平文 HTTP`,"proxy.tls.manual":`アップロードされた証明書`,"proxy.tls.plain":`平文 HTTP`,"proxy.tls.uploaded":`アップロードされた証明書`,"proxy.tls.letsEncrypt":`Let’s Encrypt`,"proxy.tls.engineCa":`エンジン CA (ローカル)`,"proxy.tls.hintOff":`平文 HTTP: このホスト名には証明書が提供されません。`,"proxy.tls.hintManual":`以下でアップロードした証明書ペアを提供します。`,"proxy.tls.hintEmpty":`公開ホスト名には ACME 証明書、ローカル専用の名前にはエンジン自身の CA が使われます。`,"proxy.tls.hintPublic":`公開ホスト名なので、エンジンは CA に証明書を要求します — ACME アカウントのメールアドレスが必要です。`,"proxy.tls.hintLocal":`ローカル専用の名前なので、エンジンは自身のローカル信頼 CA で署名します。`,"proxy.retry.inFallback":`約 8 時間`,"proxy.retry.inMinutes":{one:`約 {count} 分`,other:`約 {count} 分`},"proxy.retry.inHours":{one:`約 {count} 時間`,other:`約 {count} 時間`},"proxy.engine.title":`エンジン`,"proxy.engine.description":`リバースプロキシ本体。パネルは現在のビルドをダウンロードして監視し、エンジン自身の管理 API を通じて設定を適用します。`,"proxy.engine.notInFrame":`プロキシの状態はまだこのパネルの対象外です。`,"proxy.engine.readFailed":`エンジンを読み取れませんでした`,"proxy.engine.notInstalled":`エンジンがインストールされていません`,"proxy.engine.installNote":`インストールすると、パネルが監視する現在の {engine} リリースをダウンロードします — 約 46 MB、1 回のみ。ルートを追加してプロキシをオンにするまで何も公開されません。`,"proxy.engine.version":`バージョン`,"proxy.engine.notProbed":`まだプローブしていません`,"proxy.engine.source":`入手元`,"proxy.engine.sourceCustom":`手動で設定されたパス`,"proxy.engine.sourceDownloaded":`パネルがダウンロード`,"proxy.engine.size":`サイズ`,"proxy.engine.binary":`バイナリ`,"proxy.engine.copyPath":`バイナリのパスをコピー`,"proxy.engine.address":`現在のアドレス`,"proxy.engine.process":`プロセス`,"proxy.engine.certificates":`証明書`,"proxy.engine.noCert":`公開証明書はまだありません`,"proxy.engine.expiresSoon":`最短で {days} 日後に失効`,"proxy.engine.acme":`ACME 証明書`,"proxy.engine.localCa":`ローカル CA`,"proxy.engine.dns01":`DNS-01`,"proxy.engine.tcpUdp":`TCP/UDP`,"proxy.engine.documentation":`{engine} のドキュメント`,"proxy.engine.failed":`エンジンが失敗を報告しました`,"proxy.engine.setcapHint":`特権ポート (1024 未満) には Linux でこれを 1 回実行する必要があります:`,"proxy.engine.copyCommand":`コマンドをコピー`,"proxy.engine.install":`エンジンをインストール`,"proxy.engine.start":`起動`,"proxy.engine.stop":`停止`,"proxy.engine.apply":`設定を適用`,"proxy.engine.revert":`元に戻す`,"proxy.engine.revertHint":`最後の設定の前に適用されていた設定に戻します`,"proxy.engine.update":`エンジンを更新`,"proxy.listener.title":`リスナーと証明書`,"proxy.listener.description":`プロキシがリッスンする場所。80 と 443 はルーターが転送する先であり ACME チャレンジが期待する先です。1024 未満のポートには特権バインドが必要です。`,"proxy.listener.unprivilegedPorts":`非特権ポート`,"proxy.listener.run":`リバースプロキシを実行`,"proxy.listener.runHint":`「設定を保存」で保存されます。パネルはそれに合わせてエンジンを起動または停止します。`,"proxy.listener.httpPort":`HTTP ポート`,"proxy.listener.httpPortHint":`ACME HTTP-01 チャレンジと HTTPS へのリダイレクト。`,"proxy.listener.httpsPort":`HTTPS ポート`,"proxy.listener.httpsPortHint":`証明書を提供する場所。`,"proxy.listener.useFallback":`{http} / {https} を使用`,"proxy.listener.useStandard":`80 / 443 を使用`,"proxy.listener.forwardHint":`非特権で実行中 — ルーターで 80 と 443 をこれらのポートに転送してください。`,"proxy.listener.privilegedTitle":`1024 未満のポートには特権バインドが必要です`,"proxy.listener.privilegedBody":`パネルを自分のユーザーで実行すると、権限なしでは 80 や 443 をバインドできません。1 回 {how} してエンジンを再起動するか、{http}/{https} のままにしてルーターから 80/443 を転送してください。Windows ではバインド自体は自由ですが、別のものが占有している可能性があります。`,"proxy.listener.privilegedWithSetcap":`エンジンのバイナリに {command} を適用`,"proxy.listener.email":`ACME アカウントのメールアドレス`,"proxy.listener.emailPlaceholder":`you@example.com`,"proxy.listener.emailHint":`Let's Encrypt が証明書の失効を警告するために使います。ローカル専用の名前はエンジン自身の CA を使うため不要です。`,"proxy.listener.emailNeededTitle":`自動 HTTPS にはメールアドレスが必要です`,"proxy.listener.emailNeededBody":`「{host}」は公開ホスト名なので、エンジンは CA に証明書を要求し、アカウントのアドレスが必須です。入力するか、ルートの TLS をオフにするか、試用中はステージングエンドポイントをオンにしてください。`,"proxy.listener.staging":`ACME ステージングエンドポイントを使用`,"proxy.listener.stagingHint":`試用中は信頼されない証明書となり、レート制限も消費しません。`,"proxy.listener.dns01":`DNS-01 でチャレンジに応答`,"proxy.listener.dns01Hint":`パネルはルートの DNS アカウントを通じてチャレンジレコードを書き込むため、証明書の取得に受信ポートは不要です。`,"proxy.listener.resolvers":`レコードの確認先`,"proxy.listener.resolversPlaceholder":`1.1.1.1, 8.8.8.8`,"proxy.listener.resolversHint":`エンジンがレコードを読むネームサーバー。空欄なら自身のものを使います。スプリットホライズン DNS で別のビューが見える場合に必要です。`,"proxy.listener.noAccountTitle":`チャレンジに応答できる DNS アカウントがありません`,"proxy.listener.noAccountBody":`DNS-01 はオンですが、使用できる資格情報を持つアカウントがありません。ワークスペース設定 → 動的 DNS で追加するか、公開名はポートチャレンジのまま、到達できない CA を待ち続けます。`,"proxy.listener.manyAccountsTitle":`公開ルートごとにアカウントを選ぶ必要があります`,"proxy.listener.manyAccountsBody":`応答できるアカウントが複数あるため「自動」では選べません。ルートごとに 1 つ選ぶか、それらの名前はポートチャレンジのままになります。`,"proxy.listener.accountNote":`各ルートが自身のアカウントを選ぶため、異なるゾーンの名前にも正しいものが使われます。「自動」のままのルートは、一覧にある唯一のアカウントを使います。どのアカウントも応答しない名前はポートチャレンジのままです。`,"proxy.listener.pendingNote":`証明書を発行中の公開名も、その間は到達できます — 一時的な信頼されない証明書による HTTPS、または転送すべきポートを示すページを伴う平文 HTTP で。`,"proxy.routes.title":`ルート`,"proxy.routes.description":`サービスごとに公開ホスト名を 1 つ。ルートは任意のワークスペースの監視下のサーバー、このパネル、またはリテラルのアップストリームを指せます。`,"proxy.routes.add":`ルートを追加`,"proxy.routes.cannotSaveTitle":`このままではこれらのルートを保存できません`,"proxy.routes.cannotRoute":`{host} はルーティングできません`,"proxy.routes.emptyTitle":`まだルートがありません`,"proxy.routes.emptyDescription":`1 つ追加してドメイン経由でサーバーを公開します — エンジンが自分で証明書を取得します。`,"proxy.routes.addFirst":`最初のルートを追加`,"proxy.routes.columnHostname":`ホスト名`,"proxy.routes.columnTarget":`ターゲット`,"proxy.routes.columnUpstream":`アップストリーム`,"proxy.routes.columnTls":`TLS`,"proxy.routes.columnState":`状態`,"proxy.routes.columnOn":`オン`,"proxy.routes.openInTab":`{url} を新しいタブで開く`,"proxy.routes.noHostname":`ホスト名がまだありません`,"proxy.routes.toggle":`ルート {name}`,"proxy.routes.edit":`{name} を編集`,"proxy.routes.remove":`{name} を削除`,"proxy.routeDialog.titleEdit":`ルートを編集`,"proxy.routeDialog.titleAdd":`ルートを追加`,"proxy.routeDialog.description":`ホスト名、転送先、そして TLS での提供方法。`,"proxy.routeDialog.hostname":`ホスト名`,"proxy.routeDialog.hostnamePlaceholder":`gitea.example.com`,"proxy.routeDialog.path":`パスのプレフィックス`,"proxy.routeDialog.pathPlaceholder":`/optional`,"proxy.routeDialog.pathHint":`空欄ならホスト全体を提供します。`,"proxy.routeDialog.target":`ターゲット`,"proxy.routeDialog.tls":`TLS`,"proxy.routeDialog.dnsAccount":`DNS アカウント`,"proxy.routeDialog.localNote":`ローカル専用の名前はエンジン自身の CA が署名するため、DNS アカウントは関与しません。`,"proxy.routeDialog.workspace":`ワークスペース`,"proxy.routeDialog.server":`サーバー`,"proxy.routeDialog.noServers":`このワークスペースにはサーバーがありません`,"proxy.routeDialog.stoppedNote":`停止しているサーバーはルーティングされません。再び実行されるまで行は「アップストリームなし」と表示します。`,"proxy.routeDialog.upstream":`アップストリーム`,"proxy.routeDialog.upstreamPlaceholder":`http://10.0.0.5:8080`,"proxy.routeDialog.upstreamHint":`ポートを含むリテラルのアドレス。スキームは任意です。`,"proxy.routeDialog.panelNote":`コントロールパネルを提供するには認証がオンで、既定ではないパスワードが必要です — そうでなければパネルは保存を拒否します。`,"proxy.routeDialog.save":`ルートを保存`,"proxy.account.automatic":`自動 (応答できる唯一のアカウント)`,"proxy.account.noTxt":`TXT 非対応`,"proxy.account.noCredentials":`資格情報なし`,"proxy.account.gone":`そのアカウントは設定されなくなりました。`,"proxy.account.emptyHint":`DNS-01 はここにチャレンジレコードを書き込みます。空欄なら、応答できるアカウントが 1 つだけある場合にそれを使います。`,"proxy.account.cannotWrite":`{provider} アカウントは TXT レコードを書き込めないため、DNS-01 チャレンジに応答できません。`,"proxy.account.noCredentialsYet":`この {provider} アカウントにはまだ資格情報が保存されていません。`,"proxy.account.through":`チャレンジはこの {provider} アカウントを通じて書き込まれます。`,"proxy.certificate.title":`アップロードされた証明書`,"proxy.certificate.description":`「アップロードされた証明書」に設定されたルートが提供します。それ以外 — 公開でもローカルでも — はエンジンが自分で証明します。`,"proxy.certificate.add":`証明書を追加`,"proxy.certificate.emptyTitle":`証明書がアップロードされていません`,"proxy.certificate.emptyDescription":`「アップロードされた証明書」に設定されたルートには、そのホスト名をカバーするペアが必要です。なければエンジンが提供するものがありません。`,"proxy.certificate.daysLeft":`残り {days} 日`,"proxy.certificate.subject":`サブジェクト`,"proxy.certificate.issuer":`発行者`,"proxy.certificate.validUntil":`有効期限`,"proxy.certificate.covers":`対象`,"proxy.certificate.noSans":`SAN にホスト名がありません`,"proxy.certificate.removeAria":`{name} を削除`,"proxy.certificate.removeQuestion":`「{name}」を削除しますか?`,"proxy.certificate.removeBody":`ペアはディスクから削除されます。「アップロードされた証明書」に設定されたルートは、変更するまでエンジン自身の証明書を提供し続け、それがまだ提供している間はパネルがこの削除を拒否します。`,"proxy.certificate.removeIt":`削除する`,"proxy.certificate.stored":`「{label}」を保存しました。`,"proxy.certificate.removed":`「{name}」を削除しました。`,"proxy.certificateDialog.title":`証明書を追加`,"proxy.certificateDialog.description":`ペアは id の名前でディスクに保存され、「アップロードされた証明書」に設定されたルートがそれを提供できます。`,"proxy.certificateDialog.label":`ラベル`,"proxy.certificateDialog.labelPlaceholder":`自宅用ワイルドカード`,"proxy.certificateDialog.id":`Id`,"proxy.certificateDialog.idHint":`ディスク上のファイル名になります`,"proxy.certificateDialog.certFile":`証明書ファイル (.pem, .crt)`,"proxy.certificateDialog.keyFile":`秘密鍵ファイル (.pem, .key)`,"proxy.certificateDialog.pasteCert":`または証明書を貼り付け`,"proxy.certificateDialog.pasteKey":`または秘密鍵を貼り付け`,"proxy.certificateDialog.certPlaceholder":`-----BEGIN CERTIFICATE-----`,"proxy.certificateDialog.keyPlaceholder":`-----BEGIN PRIVATE KEY-----`,"proxy.certificateDialog.store":`証明書を保存`,"proxy.certificateDialog.errorLabel":`ラベルは必須です`,"proxy.certificateDialog.errorId":`id は英字または数字で始まり、その後に英字、数字、ハイフン、アンダースコアのみ`,"proxy.certificateDialog.errorTaken":`「{id}」は別の証明書がすでに使用しています`,"proxy.certificateDialog.errorCertificate":`証明書を貼り付けるか選択してください`,"proxy.certificateDialog.errorPrivateKey":`秘密鍵を貼り付けるか選択してください`,"proxy.retryButton.force":`証明書の再取得を強制`,"proxy.retryButton.question":`{host} について CA に再要求しますか?`,"proxy.retryButton.body":`このホスト名の CA 証明書の取得に以前失敗し、エンジンはローカル CA を使用しています。{retryIn} ごとに自動再試行します。`,"proxy.retryButton.warning":`今すぐ再試行するとこのルートが停止し、しばらく利用できなくなります。続行しますか?`,"proxy.retryButton.leave":`そのままにする`,"proxy.retryButton.now":`今すぐ再試行`,"proxy.view.title":`リバースプロキシ`,"proxy.view.description":`ドメイン経由でサーバーを公開し、80/443 または DNS チャレンジによる自動 HTTPS を利用します。`,"proxy.view.dnsNote":`DNS-01 では、ワークスペース設定 → 動的 DNS で任意のワークスペースにそのドメインの DNS プロバイダーを追加します。その後、どのワークスペースからでもルートがそのアカウントを選べます。`,"proxy.view.readFailed":`リバースプロキシを読み取れませんでした`,"proxy.view.reading":`リバースプロキシを読み込んでいます…`,"proxy.view.engineInstalled":`エンジンをインストールしました`,"proxy.view.engineStarting":`エンジンを起動中`,"proxy.view.engineStopping":`エンジンを停止中`,"proxy.view.configApplied":`設定を適用しました`,"proxy.view.configReverted":`設定を元に戻しました`,"proxy.view.settingsSaved":`設定を保存しました。`,"proxy.view.settingsSavedToast":`設定を保存しました`,"proxy.view.retryFailed":`再試行に失敗しました`,"proxy.view.retryAsked":`{host} について CA に再要求しています`,"proxy.view.fieldChanged":`フィールドを変更`,"proxy.view.fieldsChanged":`フィールドを変更`,"proxy.view.noChanges":`未保存の変更はありません`,"proxy.view.discard":`変更を破棄`,"proxy.view.save":`設定を保存`,"proxy.validation.labelRequired":`ラベルは必須です`,"proxy.validation.idPattern":`id は英字または数字で始まり、その後に英字、数字、ハイフン、アンダースコアのみ`,"proxy.validation.hostRequired":`ホスト名は必須です`,"proxy.validation.hostPattern":`英字、数字、ドット、ハイフンからなるホスト名。例: home.example.com`,"proxy.validation.hostTaken":`「{host}」はこのパスですでにルーティングされています`,"proxy.validation.pathSlash":`パスのプレフィックスは / で始まります`,"proxy.validation.pathSpace":`パスのプレフィックスに空白は使えません`,"proxy.validation.idTaken":`ルート id「{id}」が 2 回使われています`,"proxy.validation.workspaceRequired":`サーバーを所有するワークスペースを選択してください`,"proxy.validation.serverRequired":`そのワークスペース内のサーバーを選択してください`,"proxy.validation.url":`http://10.0.0.5:8080 のようなアップストリーム`,"views.actions.addAServer":`サーバーを追加`,"views.actions.addServer":`サーバーを追加`,"views.actions.startAll":`すべて起動`,"views.actions.stopAll":`すべて停止`,"views.common.thisWorkspace":`このワークスペース`,"views.globalOverview.configError":`設定を読み込めませんでした: {error}`,"views.globalOverview.degraded":`機能低下`,"views.globalOverview.description":`ホストの状態と、すべてのワークスペースのすべてのサーバーを、置かれている場所ごとにまとめて表示します。`,"views.globalOverview.emptyDescription":`ヘッダーでワークスペースを選び、最初に常駐させるプロセスを追加してください。`,"views.globalOverview.emptyTitle":`まだどこにもサーバーがありません`,"views.globalOverview.groupEmptyDescription":`1 つ追加すると、ここおよびワークスペースページに表示されます。`,"views.globalOverview.groupRunning":`{running}/{total} 実行中`,"views.globalOverview.hostUptime":`ホストの稼働時間`,"views.globalOverview.hostVitals":`ホストの状態`,"views.globalOverview.hostVitalsNote":`このマシン。すべてのワークスペースで共有されます。`,"views.globalOverview.needLook":{one:`{count} 台のサーバーに対応が必要`,other:`{count} 台のサーバーに対応が必要`},"views.globalOverview.openWorkspace":`ワークスペースを開く`,"views.globalOverview.panelUptime":`パネルの稼働時間`,"views.globalOverview.samplingOff":`サンプリング オフ`,"views.globalOverview.samplingOn":`サンプリング オン`,"views.globalOverview.serversTotal":`合計 {count} 台のサーバー`,"views.globalOverview.serving":`提供中`,"views.globalOverview.workspaces":`ワークスペース`,"views.globalSettings.authenticationDescription":`このパネルにサインインできるのは誰か、そしてセッションがどう信頼されるか。`,"views.globalSettings.backupsDescription":`取得ごとに 1 つのアーカイブで、パネルと選んだワークスペースを対象にします。`,"views.globalSettings.changesDescription":`保存するとパネルの設定ファイルに書き込まれる内容。`,"views.globalSettings.description":`このパネルのリスナー、アクセス、ホストの状態、バックアップ、TLS、パス — すべてのワークスペースで共有されます。`,"views.globalSettings.hostDescription":`このマシン自身のリソースに対するアラートしきい値。`,"views.globalSettings.interfaceDescription":`標準ではなく独自のパネル UI を配信します。`,"views.globalSettings.languageDescription":`このパネルを表示する言語。このブラウザーに適用されます。`,"views.globalSettings.languageNote":`選択はこのブラウザーに保存され、ログインページにも適用されます。パネル自身のログ出力や API メッセージは変わりません。`,"views.globalSettings.listenerDescription":`コントロールパネルがリッスンする場所と、自身を知らせる方法。`,"views.globalSettings.loadErrorTitle":`ファイル専用の一部の値を読み込めませんでした`,"views.globalSettings.navLabel":`グローバル設定のセクション`,"views.globalSettings.pathsDescription":`home-hosted がファイルを置く場所。グローバルとワークスペースごと。`,"views.globalSettings.saveFailed":`設定を保存できませんでした。`,"views.globalSettings.saved":`設定を保存しました。`,"views.globalSettings.savedRebinding":`設定を保存しました — パネルは新しいアドレスに移動しています。`,"views.globalSettings.savedToast":`設定を保存しました`,"views.globalSettings.sectionAuthentication":`認証`,"views.globalSettings.sectionBackups":`バックアップ`,"views.globalSettings.sectionHost":`ホストの状態`,"views.globalSettings.sectionInterface":`インターフェース`,"views.globalSettings.sectionListener":`リスナー`,"views.globalSettings.sectionPaths":`パス`,"views.globalSettings.sectionTls":`TLS`,"views.globalSettings.title":`グローバル設定`,"views.globalSettings.tlsDescription":`独自の証明書でパネルを HTTPS 配信します。`,"views.logs.allStreams":`すべてのストリーム`,"views.logs.clear":`消去`,"views.logs.clearDescription":`{server} — ディスク上のファイルが切り詰められます。プロセスは動き続け、以降の行はここから書き込まれます。`,"views.logs.clearFile":`ファイルを消去`,"views.logs.clearNote":`出力がまだ必要なら先にダウンロードしてください — パネルからは元に戻せません。`,"views.logs.clearTitle":`保存されたログファイルを消去しますか?`,"views.logs.fileEmpty":`保存されたファイルは空です。`,"views.logs.filesOnDisk":{one:`{count} ファイル`,other:`{count} ファイル`},"views.logs.loadedLines":`{count} 行を読み込みました`,"views.logs.modeLive":`ライブストリーム`,"views.logs.modePersisted":`永続化`,"views.logs.noServersDescription":`1 つ追加すると、その出力がここに永続化されます。`,"views.logs.noServersTitle":`サーバーがありません`,"views.logs.nothingOnDisk":`このサーバーのディスク上には何もありません — 永続化がオフか、まだ何も書き込んでいません。`,"views.logs.nothingPersisted":`永続化されたものはありません`,"views.logs.persistedSummary":`{workspace} · {total} 台中 {persisted} 台がディスク上 · {size}`,"views.logs.persistedTitle":`永続化されたログ`,"views.logs.pickServerDescription":`永続化された出力とライブストリームはサーバーごとです。一覧から 1 つ選んでください。`,"views.logs.pickServerTitle":`サーバーを選択`,"views.logs.reload":`再読み込み`,"views.logs.retentionNote":`ローテーションと保持はワークスペース設定 → ログで設定します。`,"views.logs.searchAria":`ログを検索`,"views.logs.searchPlaceholder":`末尾ウィンドウを検索`,"views.logs.searchedLines":`{count} 行を検索しました`,"views.logs.streamAria":`ストリーム`,"views.logs.tailAria":`末尾のサイズ`,"views.logs.waitingOutput":`接続しました — 出力を待っています。`,"views.overview.acrossTree":`ツリー全体で`,"views.overview.cpuNow":`現在 {value}% cpu`,"views.overview.crashedOrUnhealthy":`クラッシュまたは異常`,"views.overview.description":`このワークスペースのすべてのサーバーのライブ状態。1 本のイベントストリームで更新されます。`,"views.overview.emptyDescription":`このワークスペースが常駐させる最初のプロセスを追加してください。`,"views.overview.emptyTitle":`このワークスペースにサーバーがありません`,"views.overview.enabled":`{count} 台が有効`,"views.overview.longestUptime":`最長稼働時間`,"views.overview.needLook":{one:`{count} 台のサーバーに対応が必要`,other:`{count} 台のサーバーに対応が必要`},"views.overview.needsAttention":`対応が必要`,"views.overview.notUp":`{count} 台が停止中`,"views.overview.nothingBroken":`壊れているものはありません`,"views.overview.nothingRunning":`実行中のものはありません`,"views.overview.openFullList":`完全な一覧を開く`,"views.overview.peak":`ピーク {value}`,"views.overview.processMemory":`プロセスのメモリ`,"views.overview.recentActivity":`最近のアクティビティ`,"views.overview.running":`実行中`,"views.overview.sampling":`リソース履歴は 5 秒ごとにサンプリングされ、このセッション中保持されます`,"views.overview.stopped":`停止`,"views.overview.workspaceLabel":`ワークスペース {id}`,"views.route.server":`サーバー`,"views.serverDetail.allServers":`すべてのサーバー`,"views.serverDetail.autostart":`パネルとともに自動起動`,"views.serverDetail.backToServers":`サーバーに戻る`,"views.serverDetail.bind":`バインド`,"views.serverDetail.bindCustom":`{bind} — カスタム`,"views.serverDetail.bindLan":`0.0.0.0 — すべてのインターフェース`,"views.serverDetail.bindLocal":`127.0.0.1 — このマシンのみ`,"views.serverDetail.closeEditor":`エディターを閉じる`,"views.serverDetail.copyJson":`JSON 設定をコピー`,"views.serverDetail.crashes24":`24 時間のクラッシュ`,"views.serverDetail.dependencies":`依存関係`,"views.serverDetail.detached":`デタッチ`,"views.serverDetail.detachedHint":`このプロセスは自身を置き換えました。パネルは 2 つ目のコピーを起動せず、後継プロセスを引き継ぎました。停止は引き続き機能し、出力は後継プロセスが送った先に残ります。`,"views.serverDetail.disableServer":`サーバーを無効化`,"views.serverDetail.editHint":`このエントリのすべてのフィールドを編集`,"views.serverDetail.effectiveConfig":`有効な設定`,"views.serverDetail.effectiveConfigNote":`設定の既定値はすでにこれらの値にマージされています。`,"views.serverDetail.enableServer":`サーバーを有効化`,"views.serverDetail.eventHistory":`イベント履歴`,"views.serverDetail.eventHistoryNote":`パネルが 24 時間保持します。`,"views.serverDetail.fieldArgs":`引数`,"views.serverDetail.fieldBackupPaths":`バックアップパス`,"views.serverDetail.fieldBootstrap":`ブートストラップ`,"views.serverDetail.fieldCommand":`コマンド`,"views.serverDetail.fieldCwd":`作業ディレクトリ`,"views.serverDetail.fieldDataEnvs":`データ環境変数`,"views.serverDetail.fieldDependsOn":`依存先`,"views.serverDetail.fieldEnv":`環境変数`,"views.serverDetail.fieldEnvFile":`環境ファイル`,"views.serverDetail.fieldHealth":`ヘルス`,"views.serverDetail.fieldLogBuffer":`ログバッファー`,"views.serverDetail.fieldOnPortConflict":`ポート競合時`,"views.serverDetail.fieldPortBind":`ポート · バインド`,"views.serverDetail.fieldRestart":`再起動`,"views.serverDetail.fieldRssLimit":`RSS 上限`,"views.serverDetail.fieldStop":`停止`,"views.serverDetail.fields":`フィールド`,"views.serverDetail.goneDescription":`{id} はもう servers.config.json にありません。別のタブで削除された可能性があります。`,"views.serverDetail.goneTitle":`そのサーバーは存在しません`,"views.serverDetail.health":`ヘルス`,"views.serverDetail.healthProbe":`ヘルスプローブ`,"views.serverDetail.lastCrash":`最終クラッシュ`,"views.serverDetail.lastProbe":`最終プローブ`,"views.serverDetail.logBufferLines":`{count} 行`,"views.serverDetail.memoryRss":`メモリ (RSS)`,"views.serverDetail.moreActions":`{label} のその他の操作`,"views.serverDetail.neverWritten":`このサーバーはまだ何も書き込んでいません。`,"views.serverDetail.nextAttempt":`次の試行`,"views.serverDetail.none":`なし`,"views.serverDetail.off":`オフ`,"views.serverDetail.persistent":`常駐`,"views.serverDetail.persistentHint":"このエントリは専用のナニーで実行されるため、パネルの停止・再起動・強制終了後も動き続けます。`home-hosted down` は停止せず報告するだけで、停止するのは停止操作だけです。","views.serverDetail.pid":`PID`,"views.serverDetail.portFree":`空き`,"views.serverDetail.portInUse":`使用中`,"views.serverDetail.portState":`ポートの状態`,"views.serverDetail.probeFailed":`ヘルスプローブが合格していません。`,"views.serverDetail.probeFailedFor":`ヘルスプローブが {duration} の間合格していません。`,"views.serverDetail.processes":`プロセス`,"views.serverDetail.rawJson":`生 JSON`,"views.serverDetail.removeAutostart":`自動起動から外す`,"views.serverDetail.removeDescription":`{label} は servers.config.json から削除されます。プロセスは停止し、ログとクラッシュ履歴も一緒に削除されます。`,"views.serverDetail.removeNote":`パネルからは元に戻せません — エントリは手動かバックアップから戻す必要があります。`,"views.serverDetail.removeServer":`サーバーを削除`,"views.serverDetail.removeTitle":`このサーバーを削除しますか?`,"views.serverDetail.restart":`再起動`,"views.serverDetail.restarts":`再起動回数`,"views.serverDetail.sectionConfig":`設定`,"views.serverDetail.sectionHistory":`履歴`,"views.serverDetail.sectionOutput":`ライブ出力`,"views.serverDetail.start":`起動`,"views.serverDetail.startsOnItsOwn":`自身で起動します。{code} に id を追加すると、他のサーバーの後に順序付けられます。`,"views.serverDetail.stop":`停止`,"views.serverDetail.telemetry":`テレメトリ`,"views.serverDetail.telemetryNote":`このページが開いている間、5 秒ごとにサンプリングされます。`,"views.serverDetail.unhealthyFor":`異常の継続時間`,"views.serverDetail.uptime24":`24 時間の稼働`,"views.serverDetail.waitingFirstLine":`最初の行を待っています…`,"views.servers.clearFilter":`フィルターを消去`,"views.servers.clearFilters":`フィルターを消去`,"views.servers.description":`{workspace} の servers.config.json のすべてのエントリ。ライブのリソース、ヘルス、履歴付き。`,"views.servers.emptyDescription":`このパネルが監視する最初のプロセスを追加してください。コマンド、引数、環境変数、作業ディレクトリはすべて設定ファイルにあります。`,"views.servers.emptyTitle":`サーバーが設定されていません`,"views.servers.filterAll":`すべて`,"views.servers.filterAria":`サーバーを絞り込む`,"views.servers.filterAttention":`要注意`,"views.servers.filterDisabled":`無効`,"views.servers.filterPlaceholder":`id、ラベル、コマンド、ポートで絞り込む`,"views.servers.filterRunning":`実行中`,"views.servers.filterStopped":`停止`,"views.servers.noMatchDescription":`別の状態を試すか、検索を消去してください。`,"views.servers.noMatchTitle":`このフィルターに一致するものはありません`,"views.settings.changesDescription":`保存すると {workspace} の設定に書き込まれる内容。`,"views.settings.configErrorNote":`パネルは既存の設定で監視を続けます。ファイルを修正すれば自動で再読み込みします。`,"views.settings.configErrorTitle":`ワークスペースの設定を読み込めませんでした`,"views.settings.configWarningTitle":`このワークスペースの設定に警告があります`,"views.settings.ddnsDescription":`どのレジストラが保持していても、ホスト名をこのマシンの公開アドレスに向け続けます。`,"views.settings.defaultsDescription":`このワークスペースで独自の値を設定していないすべてのエントリに適用されます。`,"views.settings.description":`{workspace} のサーバーの既定値、ログ保持、通知、動的 DNS。`,"views.settings.logsDescription":`このワークスペースが出力をディスクにどれだけ、どれだけの期間保持するか。`,"views.settings.navLabel":`ワークスペース設定のセクション`,"views.settings.notificationsDescription":`このワークスペースのクラッシュとヘルスのアラートを Telegram チャットに送信します。`,"views.settings.saveFailed":`設定を保存できませんでした。`,"views.settings.saved":`ワークスペース設定を保存しました。`,"views.settings.savedToast":`ワークスペース設定を保存しました`,"views.settings.sectionDdns":`動的 DNS`,"views.settings.sectionDefaults":`サーバーの既定値`,"views.settings.sectionLogs":`ログ`,"views.settings.sectionNotifications":`通知`};export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={"app.name":`home-hosted`,"app.tagline":`프로세스 감독 제어판`,"common.cancel":`취소`,"common.confirm":`확인`,"common.reset":`초기화`,"common.keepIt":`그대로 두기`,"common.remove":`제거`,"common.close":`닫기`,"common.save":`저장`,"common.saving":`저장 중…`,"common.discard":`변경 사항 버리기`,"common.delete":`삭제`,"common.edit":`편집`,"common.add":`추가`,"common.retry":`다시 시도`,"common.copy":`복사`,"common.copied":`복사됨`,"common.enabled":`사용`,"common.disabled":`사용 안 함`,"common.none":`없음`,"common.unknown":`알 수 없음`,"common.loading":`불러오는 중…`,"common.selectAll":`모두 선택`,"common.selectNone":`선택 해제`,"common.name":`이름`,"common.label":`레이블`,"common.hostname":`호스트 이름`,"common.port":`포트`,"common.command":`명령`,"common.environment":`환경 변수`,"common.memory":`메모리`,"common.cpu":`CPU`,"common.disk":`디스크`,"common.uptime":`가동 시간`,"common.status":`상태`,"common.actions":`작업`,"common.details":`세부 정보`,"common.overview":`개요`,"common.warning":`경고`,"common.error":`오류`,"common.confirmQuestion":`{label}?`,"common.unset":`설정 안 됨`,"common.never":`없음`,"common.now":`방금`,"nav.global":`전역`,"nav.workspace":`워크스페이스`,"nav.others":`기타`,"nav.overview":`개요`,"nav.servers":`서버`,"nav.logs":`로그`,"nav.workspaceSettings":`워크스페이스 설정`,"nav.globalOverview":`전역 개요`,"nav.globalSettings":`전역 설정`,"nav.reverseProxy":`리버스 프록시`,"connection.live":`실시간`,"connection.connecting":`연결 중`,"connection.reconnecting":`다시 연결 중`,"connection.liveUpdates":`실시간 업데이트`,"theme.label":`테마: {theme}`,"theme.light":`라이트`,"theme.dark":`다크`,"theme.system":`시스템`,"language.label":`언어`,"language.select":`언어 선택`,"topbar.search":`검색하거나 명령 실행`,"topbar.openNavigation":`탐색 열기`,"topbar.commandPalette":`명령 팔레트`,"topbar.account":`계정`,"topbar.signedIn":`로그인됨`,"topbar.signOut":`로그아웃`,"status.stopped":`중지됨`,"status.starting":`시작 중`,"status.running":`실행 중`,"status.stopping":`중지 중`,"status.backoff":`다시 시작 중`,"status.crashed":`충돌함`,"status.conflict":`포트 충돌`,"health.disabled":`확인 안 함`,"health.unknown":`검사 안 됨`,"health.healthy":`정상`,"health.unhealthy":`비정상`,"history.start":`시작됨`,"history.exit":`종료됨`,"history.crash":`충돌함`,"history.forcedRestart":`강제 재시작`,"history.unhealthy":`비정상`,"history.recovered":`복구됨`,"servers.total":{other:`서버 {count}개`},"servers.running":{other:`{count}개 실행 중`},"logs.lines":{other:`{count}줄`},"days.remaining":{other:`{count}일`},"login.title":`계속하려면 로그인하세요`,"login.firstRunTitle":`이 제어판에는 아직 비밀번호가 없습니다`,"login.firstRunSubtitle":`이 컴퓨터의 어떤 것이든 접근할 수 있습니다. 로그인한 직후에 비밀번호를 설정하세요.`,"login.authOffTitle":`인증이 꺼져 있습니다`,"login.authOffSubtitle":`제어판은 루프백에서만 수신하며, 지금은 그것이 유일한 보호입니다.`,"login.subtitle":`제어판이 보호되고 있습니다. 계속하려면 비밀번호를 입력하세요.`,"login.password":`비밀번호`,"login.showPassword":`비밀번호 표시`,"login.hidePassword":`비밀번호 숨기기`,"login.signIn":`로그인`,"login.openDashboard":`대시보드 열기`,"login.exposed":`노출됨`,"login.defaultPasswordWarning":`아직 기본 비밀번호 {password}를 사용 중입니다. 설정에서 변경하세요 — 변경하기 전까지 127.0.0.1 밖으로의 바인딩은 거부됩니다.`,"login.noPasswordWarning":`비밀번호가 설정되지 않았습니다. 이 컴퓨터에서 설정을 열어 추가하거나 {command}를 실행하세요.`,"login.sessionNote":`세션은 마지막 방문 후 {days}일 동안 로그인 상태를 유지합니다 — 요청마다 기간이 연장됩니다. 로그아웃은 이 브라우저만 정리합니다.`,"login.servedFromThisMachine":`이 컴퓨터에서 제공됨`,"nav.navigation":`탐색`,"nav.closeNavigation":`탐색 닫기`,"nav.hostVitals":`호스트 상태`,"common.dismiss":`닫기`,"topbar.workspaceLabel":`워크스페이스: {name}`,"palette.placeholder":`서버로 이동, 작업 실행, 설정 열기…`,"palette.openServer":`{label} 열기`,"palette.serverLogs":`{label}의 로그`,"palette.startServer":`{label} 시작`,"palette.stopServer":`{label} 중지`,"palette.restartServer":`{label} 다시 시작`,"palette.goOverview":`개요로 이동`,"palette.goGlobalOverview":`전역 개요로 이동`,"palette.goGlobalSettings":`전역 설정으로 이동`,"palette.goProxy":`리버스 프록시로 이동`,"palette.goServers":`서버로 이동`,"palette.goLogs":`로그로 이동`,"palette.goWorkspaceSettings":`워크스페이스 설정으로 이동`,"palette.startAll":`여기에서 사용 설정된 모든 서버 시작`,"palette.stopAll":`여기에서 모든 서버 중지`,"palette.switchWorkspace":`{label}(으)로 전환`,"palette.globalSetting":`전역 설정: {label}`,"palette.workspaceSetting":`워크스페이스 설정: {label}`,"palette.theme":`{theme} 테마`,"palette.groupServers":`서버`,"palette.groupActions":`작업`,"palette.groupNavigate":`이동`,"palette.groupWorkspaces":`워크스페이스`,"palette.groupAppearance":`모양`,"palette.navigate":`이동`,"palette.run":`실행`,"palette.noMatches":`“{query}”와 일치하는 항목이 없습니다.`,"palette.results":{other:`결과 {count}개`},"workspace.new":`새 워크스페이스`,"workspace.rename":`워크스페이스 이름 변경`,"workspace.create":`워크스페이스 만들기`,"workspace.renameAction":`이름 변경`,"workspace.createHint":`자체 설정, 서버, 로그, 시크릿, 백업 항목을 가지며 같은 제어판에서 제공됩니다.`,"workspace.renameHint":`이름만 바뀝니다. 워크스페이스 id는 그대로라 URL과 경로가 계속 작동합니다.`,"workspace.nameHint":`상단 표시줄에 표시됩니다.`,"workspace.nameHintId":`상단 표시줄에 표시됩니다. Id: {id}`,"workspace.none":`워크스페이스 없음`,"workspace.delete":`워크스페이스 삭제`,"notice.configError":`설정을 읽을 수 없습니다: {error}`,"notice.configErrorHint":`제어판은 기존 설정으로 계속 실행됩니다. {path}를 고치면 스스로 다시 불러옵니다.`,"notice.defaultPassword":`이 제어판은 아직 기본 비밀번호를 사용 중입니다.`,"notice.defaultPasswordHint":`전역 설정에서 변경하세요 — 변경하기 전까지 127.0.0.1 밖으로의 바인딩은 거부됩니다.`,"notice.noPassword":`인증은 켜져 있지만 비밀번호가 없어 아무것도 요구하지 않습니다.`,"notice.noPasswordHint":`전역 설정에서 비밀번호를 설정해 제어판을 실제로 잠그세요.`,"notice.exposed":`이 제어판은 127.0.0.1 밖에서 접근할 수 있습니다.`,"notice.exposedHint":`비밀번호를 강하게 유지하거나, TLS를 종료하는 프록시를 앞에 두세요.`,"notice.authOff":`인증이 사용 안 함입니다 — 제어판은 루프백 바인딩으로만 보호됩니다.`,"host.loadPerCpu":`부하 / cpu`,"host.cpuTemp":`CPU 온도`,"activity.emptyTitle":`지난 24시간 동안 이벤트 없음`,"activity.emptyDescription":`시작, 종료, 충돌, 복구가 발생하는 대로 여기에 표시됩니다.`,"activity.ran":`{duration} 실행`,"serverCard.open":`{url} 열기`,"serverCard.adoptedHint":`이 프로세스는 스스로를 교체했습니다. 제어판은 두 번째 복사본을 시작하지 않고 후속 프로세스를 인수했습니다. 중지는 계속 작동하며, 출력은 후속 프로세스가 보낸 곳에 남습니다.`,"serverCard.detached":`분리됨`,"serverCard.persistentHint":"이 항목은 자체 nanny로 실행되므로 제어판이 중지, 재시작 또는 종료되어도 계속 실행됩니다. `home-hosted down`은 중지하지 않고 보고만 하며, 명시적 중지만이 중지합니다.","serverCard.persistent":`상주`,"serverCard.disabled":`사용 안 함`,"serverCard.autostart":`자동 시작`,"serverCard.healthProbe":`상태 검사`,"serverCard.notProbed":`검사 안 됨`,"serverCard.restarts":`재시작`,"serverCard.pid":`PID`,"serverCard.rss":`RSS`,"serverCard.procs":`프로세스`,"serverCard.portFree":`사용 가능`,"serverCard.portInUse":`사용 중`,"serverCard.uptime24h":`24시간 가동`,"serverCard.probe":`검사`,"serverCard.crashes24h":`24시간 충돌`,"serverCard.lastCrash":`마지막 충돌`,"serverCard.unhealthyFor":`{duration} 동안 비정상`,"serverCard.nextAttempt":`다음 시도 {when}`,"serverCard.start":`시작`,"serverCard.stop":`중지`,"serverCard.restart":`다시 시작`,"serverCard.detailsHint":`실시간 로그와 전체 텔레메트리`,"serverCard.moreActions":`{label}의 추가 작업`,"serverCard.disable":`서버 사용 안 함`,"serverCard.enable":`서버 사용`,"serverCard.removeFromAutostart":`자동 시작에서 제거`,"serverCard.autostartWithPanel":`제어판과 함께 자동 시작`,"serverCard.clearLogBuffer":`로그 버퍼 비우기`,"serverCard.removeServer":`서버 제거`,"serverCard.removeTitle":`이 서버를 제거할까요?`,"serverCard.removeDescription":`{label}이(가) servers.config.json에서 제거됩니다. 프로세스가 중지되고 로그와 충돌 기록도 함께 삭제됩니다.`,"serverCard.statusField":`상태`,"addServer.title":`서버 추가`,"addServer.description":`{workspace}의 servers.config.json에 항목을 추가합니다. 생략한 정책은 모두 기본값에서 상속됩니다.`,"addServer.thisWorkspace":`이 워크스페이스`,"addServer.identity":`식별 정보`,"addServer.id":`Id`,"addServer.idHint":`소문자, 숫자, 대시, 밑줄. URL과 로그에 사용됩니다.`,"addServer.labelHint":`제어판에 표시됩니다. 기본값은 id입니다.`,"addServer.process":`프로세스`,"addServer.commandHint":`셸 없이 실행됩니다.`,"addServer.argumentsHint":`한 줄에 인수 하나. 줄 안의 공백은 유지됩니다.`,"addServer.portLifecycle":`포트와 수명 주기`,"addServer.bindHint":`lan은 네트워크에 노출합니다. 인증 뒤에서만 사용하세요.`,"addServer.advanced":`고급 설정`,"addServer.advancedHint":`환경 변수, 백업, 정책, 수명 주기, 부트스트랩`,"addServer.backups":`백업`,"addServer.backupIgnore":`알려진 생성 파일 무시`,"addServer.bootstrapDescription":`첫 시작 전에 실행되는 일회성 명령입니다.`,"addServer.bootstrapHint":`설치, 마이그레이션, 다운로드 — 매번이 아니라 첫 시작 전에.`,"addServer.policyResources":`정책과 리소스`,"addServer.logBufferHint":`비워 두면 기본값을 사용합니다.`,"addServer.inheritNote":`다시 시작, 상태, 중지는 {settings}와 같게 시작합니다. 여기서 변경하면 상속으로 남지 않고 이 항목에 기록됩니다.`,"addServer.serverDefaults":`설정 → 서버 기본값`,"addServer.placeholdersTitle":`사용 가능한 인수 자리표시자`,"addServer.submit":`servers.config.json에 추가`,"serverForm.workingDirectory":`작업 디렉터리`,"serverForm.cwdHint":`상대 경로는 projectDir 아래에서 확인됩니다.`,"serverForm.arguments":`인수`,"serverForm.portHint":`비워 두면 검사하거나 사전 확인할 포트가 없다는 뜻입니다.`,"serverForm.bindAddress":`바인드 주소`,"serverForm.autostart":`up과 함께 자동 시작`,"serverForm.autostartHint":`제어 플레인이 시작될 때마다 시작합니다.`,"serverForm.persistent":`상주`,"serverForm.persistentHint":"제어판이 중지되어도 계속 실행됩니다. `down`은 중지하지 않고 보고만 합니다.","serverForm.envHint":`한 줄에 KEY=value 하나, 프로세스로 내보냅니다.`,"serverForm.dataEnvs":`데이터 환경 변수`,"serverForm.dataEnvsHint":`한 줄에 ENV=path 하나 — 프로세스로 내보내고 자동으로 백업합니다.`,"serverForm.envFile":`환경 파일`,"serverForm.envFilePlaceholder":`선택 사항인 KEY=value 파일`,"serverForm.envFileHint":`시작할 때 읽으며, 값이 env를 덮어씁니다.`,"serverForm.dependsOn":`의존 대상`,"serverForm.dependsOnHint":`쉼표로 구분. 먼저 시작해 정상이 될 때까지 기다리고, 마지막에 중지합니다.`,"serverForm.backupPaths":`추가 백업 경로`,"serverForm.backupPathsHint":`한 줄에 하나, 자리표시자 사용 가능. 데이터 환경 변수는 이미 포함됩니다.`,"serverForm.backupIgnore":`이 항목을 백업할 때 알려진 생성 파일 무시`,"serverForm.backupIgnoreHint":`node_modules, dist, .next 등 복원에 필요 없는 캐시를 건너뜁니다.`,"serverForm.bootstrap":`부트스트랩`,"serverForm.bootstrapDescription":`첫 시작 전에 실행되는 일회성 명령 — 설치, 마이그레이션, 다운로드.`,"serverForm.runBootstrap":`부트스트랩 실행`,"serverForm.bootstrapHint":`끄면 항목에 부트스트랩이 없고 키가 null로 전송됩니다.`,"serverForm.timeoutMs":`시간 제한 (ms)`,"serverForm.runOnce":`세션마다 한 번만`,"serverForm.runOnceHint":`끄면 시작할 때마다 다시 실행합니다.`,"serverForm.bootstrapArgs":`부트스트랩 인수`,"serverForm.bootstrapArgsHint":`한 줄에 하나, 자리표시자는 기본 인수와 같습니다.`,"serverForm.bootstrapEnv":`부트스트랩 환경 변수`,"serverForm.bootstrapEnvHint":`한 줄에 KEY=value 하나, 부트스트랩 프로세스에만 내보냅니다.`,"serverForm.onPortConflict":`포트 충돌 시`,"serverForm.logBufferLines":`로그 버퍼 줄 수`,"serverForm.maxRssMb":`최대 RSS (MB)`,"serverForm.maxRssHint":`이 값을 넘으면 다시 시작합니다. 비우거나 0이면 사용하지 않습니다.`,"serverForm.enabledHint":`끄면 항목은 설정에 남지만 시작은 거부됩니다.`,"bind.local":`local — 127.0.0.1`,"bind.lan":`lan — 0.0.0.0`,"bind.explicit":`{bind} — 명시적`,"onPortConflict.block":`block — 시작 거부`,"onPortConflict.warn":`warn — 그래도 시작`,"onPortConflict.follow":`follow — 자신의 분리된 재시작을 인수`,"onPortConflict.reclaim":`reclaim — 감독되는 복사본으로 교체`,"onPortConflict.kill":`kill — 포트를 점유한 대상을 중지`,"editor.title":`설정 편집`,"editor.description":`{file}에 재정의를 기록합니다. 건드리지 않은 항목은 계속 기본값을 상속합니다.`,"editor.unsaved":{one:`저장하지 않은 변경`,other:`저장하지 않은 변경`},"editor.inSync":`동기화됨`,"editor.process":`프로세스`,"editor.processDescription":`무엇을, 어디서, 어떤 환경으로 실행하는지.`,"editor.labelPlaceholder":`비워 두면 id 사용`,"editor.argumentsHint":`한 줄에 하나. {port} {host} {home} {projectDir} {dataRoot} {id} {label} {cwd} {bind} {lanIp}가 치환됩니다.`,"editor.portTitle":`포트와 바인딩`,"editor.portDescription":`포트를 어떻게 사전 확인하고 프로세스가 어디에서 접근 가능한지.`,"editor.bindHint":`설정이 이미 지정한 사용자 지정 IPv4는 계속 선택할 수 있습니다.`,"editor.lifecycle":`수명 주기`,"editor.lifecycleDescription":`감독자가 이 항목을 관리하는지 여부.`,"editor.save":`servers.config.json에 저장`,"editor.changesTitle":`저장하지 않은 변경`,"editor.changesDescription":`저장하면 servers.config.json에 기록될 내용.`,"editor.nothingToSave":`저장할 항목이 없습니다.`,"editor.saveChanges":{one:`변경 {count}건 저장`,other:`변경 {count}건 저장`},"lifecycle.restartTitle":`재시작 정책`,"lifecycle.restartDescription":`충돌 후 시도 사이의 백오프.`,"lifecycle.restartOnCrash":`충돌 시 다시 시작`,"lifecycle.maxRetries":`최대 재시도`,"lifecycle.maxRetriesHint":`서버가 충돌 상태로 남기까지의 시도 횟수.`,"lifecycle.baseDelay":`기본 지연 (ms)`,"lifecycle.factor":`백오프 계수`,"lifecycle.maxDelay":`최대 지연 (ms)`,"lifecycle.resetAfter":`리셋까지 (ms)`,"lifecycle.resetAfterHint":`이만큼 실행하면 재시도 카운터가 초기화됩니다.`,"lifecycle.healthTitle":`상태 확인`,"lifecycle.healthDescription":`프로세스가 올라온 뒤 준비 상태를 어떻게 검사하는지.`,"lifecycle.probe":`이 서버 검사`,"lifecycle.probeType":`검사 유형`,"lifecycle.probePort":`TCP 포트 — 연결만`,"lifecycle.probeHttp":`HTTP 요청 — 응답 검증`,"lifecycle.interval":`간격 (ms)`,"lifecycle.timeout":`시간 제한 (ms)`,"lifecycle.unhealthyAfter":`비정상 판정 실패 횟수`,"lifecycle.unhealthyAfterHint":`연속 실패한 검사 횟수.`,"lifecycle.forceRestartAfter":`강제 재시작까지 (ms)`,"lifecycle.forceRestartAfterHint":`0이면 사용하지 않습니다.`,"lifecycle.startTimeout":`시작 시간 제한 (ms)`,"lifecycle.httpPath":`HTTP 경로`,"lifecycle.httpMethod":`HTTP 메서드`,"lifecycle.expectStatus":`기대 상태`,"lifecycle.expectStatusHint":`비워 두면 아래 값을 모두 허용합니다.`,"lifecycle.expectStatusBelow":`이 상태 미만이면 정상`,"lifecycle.expectBody":`본문에 포함할 문자열`,"lifecycle.expectBodyPlaceholder":`선택 사항인 부분 문자열`,"lifecycle.headBodyHint":`HEAD에는 응답 본문이 없어 이 검사는 무시됩니다 — GET을 사용하거나 비우세요.`,"lifecycle.stopTitle":`중지 동작`,"lifecycle.stopDescription":`프로세스 트리를 어떻게 종료시키는지.`,"lifecycle.signal":`시그널`,"lifecycle.signalTerm":`SIGTERM — 중지 요청`,"lifecycle.signalInt":`SIGINT — 인터럽트 (Ctrl-C)`,"lifecycle.signalKill":`SIGKILL — 즉시 강제 종료`,"lifecycle.grace":`유예 기간 (ms)`,"lifecycle.killGroup":`프로세스 그룹 전체 강제 종료`,"lifecycle.killPortHolders":`포트를 점유한 대상도 강제 종료`,"killPort.trigger":`포트 {port}를 점유한 대상 강제 종료`,"killPort.title":`포트 {port}의 프로세스를 강제 종료할까요?`,"killPort.body":`먼저 중지를 요청하고, 무시할 때만 강제 종료합니다. 이 제어판이 감독하는 대상은 거부되므로 관리 중인 서버가 이렇게 사라지지는 않습니다.`,"killPort.confirm":`강제 종료`,"logs.emptyHint":`아직 출력이 없습니다.`,"logs.noMatches":`이 검색이나 스트림 필터와 일치하는 항목이 없습니다.`,"logs.searchPlaceholder":`이 출력 검색`,"logs.searchLabel":`로그 출력 검색`,"logs.clearSearch":`검색 지우기`,"logs.prevMatch":`이전 일치`,"logs.nextMatch":`다음 일치`,"logs.showTimestamps":`타임스탬프 표시`,"logs.hideTimestamps":`타임스탬프 숨기기`,"logs.timestampsShort":`ts`,"logs.pause":`일시 정지`,"logs.follow":`따라가기`,"logs.clearHint":`메모리 버퍼 비우기`,"logs.clearLabel":`로그 버퍼 비우기`,"logs.downloadHint":`저장된 파일 다운로드`,"logs.downloadLabel":`로그 파일 다운로드`,"logs.outputLabel":`로그 출력`,"logs.jumpToLatest":`최신으로 이동`,"logs.streaming":`스트리밍 중`,"logs.paused":`일시 정지됨`,"logs.snapshot":`스냅숏`,"logs.linesOf":`{total}줄 중 {count}줄`,"logs.matches":`{count}건 일치`,"logs.rowHeight":`행 높이 {height}px · 윈도 처리`,"logs.streamAll":`전체`,"logs.streamOut":`out`,"logs.streamErr":`err`,"logs.streamSys":`sys`,"metric.emptyHint":`수집 중…`,"host.samplingOff":`호스트 샘플링이 꺼져 있습니다`,"host.samplingOffDescription":`부하, 메모리, 디스크, 온도를 수집하려면 설정에서 켜세요.`,"host.swap":`스왑`,"host.cpus":`CPU`,"host.loadAverage":`부하 1 / 5 / 15`,"host.memoryUsed":`메모리 사용량`,"host.sampled":`샘플링 시각`,"host.filesystems":`파일 시스템`,"host.thresholdsBreached":`임계값 초과`,"validation.port":`포트는 1에서 65535 사이의 정수여야 합니다.`,"validation.idRequired":`id는 필수입니다 — 이 서버가 속한 키입니다.`,"validation.idPattern":`id는 소문자나 숫자로 시작하고 소문자, 숫자, 대시, 밑줄만 포함해야 합니다.`,"validation.commandRequired":`명령은 필수입니다 — 감독자가 실행하는 실행 파일입니다.`,"validation.bootstrapCommand":`부트스트랩에는 실행할 명령이 필요합니다.`,"settings.shell.fieldsChanged":{one:`필드 변경됨`,other:`필드 변경됨`},"settings.shell.noUnsavedChanges":`저장하지 않은 변경 없음`,"settings.shell.discard":`변경 사항 버리기`,"settings.shell.save":`설정 저장`,"settings.shell.unsavedTitle":`저장하지 않은 변경`,"settings.shell.nothingToSave":`저장할 항목이 없습니다.`,"settings.shell.saveChanges":{one:`변경 {count}건 저장`,other:`변경 {count}건 저장`},"settings.auth.policyTitle":`접근 정책`,"settings.auth.policyDescription":`제어판이 루프백에 있든 네트워크에 노출되어 있든 인증이 적용됩니다.`,"settings.auth.requirePassword":`비밀번호 요구`,"settings.auth.requirePasswordHint":`모든 요청에 로그인된 세션이 필요합니다.`,"settings.auth.sessionLifetime":`세션 수명 (ms)`,"settings.auth.sessionLifetimeHint":`유휴 시간 제한. 604800000은 1주일간 활동이 없는 것입니다. 요청마다 다시 시작됩니다.`,"settings.auth.cookieSecure":`Cookie Secure`,"settings.auth.cookieSecureAuto":`자동 — HTTPS에서만`,"settings.auth.cookieSecureAlways":`항상`,"settings.auth.cookieSecureNever":`안 함 — 일반 HTTP`,"settings.auth.trustProxy":`리버스 프록시 뒤`,"settings.auth.trustProxyOff":`아니요 — x-forwarded-* 무시`,"settings.auth.trustProxyLoopback":`예, 이 컴퓨터에서만`,"settings.auth.trustProxyAny":`예, 모든 호출자로부터`,"settings.auth.trustProxyHint":`클라이언트 주소와 프로토콜에 x-forwarded-*를 신뢰합니다. '이 컴퓨터에서만'은 같은 호스트의 프록시에 안전한 선택입니다. '모든 호출자로부터'는 호출자 자신의 헤더를 믿으므로 로그인 잠금이 위조된 주소별로 집계되어 우회될 수 있습니다.`,"settings.auth.maxLoginAttempts":`최대 로그인 시도`,"settings.auth.maxLoginAttemptsHint":`임시 잠금까지의 실패 횟수.`,"settings.auth.lockout":`잠금 (ms)`,"settings.auth.apiTokenSet":`API 토큰이 설정됨`,"settings.auth.apiTokenMissing":`API 토큰 없음`,"settings.auth.apiTokenNote":`스크립트는 로그인 대신 {code}로 API를 호출할 수 있습니다.`,"settings.auth.noTokenNote":`셸 스크립트와 에이전트용으로는 {command}로 생성하세요.`,"settings.auth.defaultPasswordTitle":`아직 기본 비밀번호를 사용 중입니다`,"settings.auth.defaultPasswordText":`아래에서 직접 비밀번호를 설정하세요. 설정하기 전까지 {address} 밖으로의 바인딩은 계속 거부됩니다.`,"settings.auth.blockedTitle":`이 리스너는 거부되고 있습니다`,"settings.auth.noPasswordTitle":`인증은 켜져 있지만 비밀번호가 없습니다`,"settings.auth.noPasswordText":`아직 실제로 요구되는 것이 없으며, 비밀번호가 생기기 전까지 {address} 밖으로의 바인딩은 계속 거부됩니다.`,"settings.auth.exposedTitle":`127.0.0.1 밖에서 접근 가능`,"settings.auth.exposedText":`비밀번호를 강하게 유지하거나, 제어판 앞에 TLS를 종료하는 프록시를 두세요.`,"settings.auth.changePassword":`비밀번호 변경`,"settings.auth.setPassword":`비밀번호 설정`,"settings.auth.passwordDescription":`시크릿 파일에 scrypt 해시로 저장되며 설정에는 절대 들어가지 않습니다.`,"settings.auth.currentPassword":`현재 비밀번호`,"settings.auth.newPassword":`새 비밀번호`,"settings.auth.repeatPassword":`새 비밀번호 다시 입력`,"settings.auth.passwordMismatch":`두 비밀번호가 일치하지 않습니다.`,"settings.auth.updatePassword":`비밀번호 업데이트`,"settings.auth.setPasswordAndEnable":`비밀번호 설정 및 인증 사용`,"settings.auth.clearPassword":`비밀번호 지우기`,"settings.auth.clearPasswordConfirm":`지우기 확인`,"settings.auth.clearPasswordTitle":`비밀번호를 지울까요?`,"settings.auth.clearPasswordHint":`인증도 함께 꺼지며, 제어판에 접근하는 사람은 누구든 바로 들어올 수 있습니다.`,"settings.auth.shortPasswordTitle":`짧은 비밀번호입니다`,"settings.auth.shortPasswordText":`허용되지만, 네트워크와 이 제어판 사이에 있는 것은 길이뿐입니다.`,"settings.auth.passwordUpdated":`비밀번호를 업데이트했습니다. 다른 세션은 로그아웃되었습니다.`,"settings.auth.passwordCleared":`비밀번호를 지우고 인증을 사용 안 함으로 설정했습니다.`,"settings.backup.createTitle":`백업 만들기`,"settings.backup.createDescription":`이 아카이브가 담을 항목을 선택하세요. 만들기 전까지는 아무것도 기록되지 않습니다.`,"settings.backup.entriesCount":{one:`항목 {count}개`,other:`항목 {count}개`},"settings.backup.itemsSelected":{one:`{count}개 선택됨`,other:`{count}개 선택됨`},"settings.backup.chooseItems":`항목 선택`,"settings.backup.partialCapture":`선택한 항목만 담깁니다.`,"settings.backup.withoutGlobalSettings":`전역 설정이 없으면 복원은 대상 제어판이 이미 선언한 위치에만 워크스페이스를 배치할 수 있습니다.`,"settings.backup.password":`비밀번호 (선택 사항)`,"settings.backup.passwordHint":`아카이브를 암호화합니다. 복원할 때 같은 비밀번호를 요구합니다.`,"settings.backup.create":`백업 만들기`,"settings.backup.chooseItemsFor":`{label} — 항목 선택`,"settings.backup.subDescription":`워크스페이스는 전체를 담을 수도 있고 설정, 서버, 시크릿, 선언된 데이터 경로만 담을 수도 있습니다.`,"settings.backup.selectedOf":`{total}개 중 {selected}개 선택됨`,"settings.backup.nothingSelectable":`이 워크스페이스에는 아직 선택할 수 있는 항목이 없습니다.`,"settings.backup.apply":`적용`,"settings.backup.created":`백업을 만들었습니다.`,"settings.backup.leafSettingsHint":`서버 기본값, 로그 보존, 알림`,"settings.backup.leafServersHint":`servers.config.json의 모든 항목`,"settings.backup.leafSecretsHint":`Telegram 봇 토큰과 DDNS 자격 증명`,"settings.backup.leafDataHint":`선언된 데이터 경로`,"settings.backup.pathFromOrigin":`{path} — {origin}에서`,"settings.backup.entrySettingsHint":`리스너, 인증, 호스트 상태, 백업 정책`,"settings.backup.entrySecretsHint":`비밀번호 해시와 API 토큰 해시`,"settings.backup.entryTlsHint":`제어판 자체의 인증서 쌍`,"settings.backup.entryWorkspaceHint":`해당 설정, 서버, 시크릿, 선언된 데이터 경로`,"settings.backups.policyTitle":`정책`,"settings.backups.policyDescription":`제어판이 보관하는 아카이브 수와 모든 아카이브가 추가로 담는 경로.`,"settings.backups.allow":`백업 허용`,"settings.backups.allowHint":`끄면 새 아카이브가 만들어지지 않습니다. 이미 디스크에 있는 것은 계속 다운로드하고 복원할 수 있습니다.`,"settings.backups.offTitle":`백업이 꺼져 있습니다`,"settings.backups.offText":`다시 켤 때까지 새로 보관되는 것은 없습니다. 아래 아카이브는 계속 다운로드, 복원, 삭제할 수 있습니다.`,"settings.backups.keep":`보관 개수`,"settings.backups.keepHint":`백업할 때마다 오래된 아카이브가 정리됩니다.`,"settings.backups.extraPaths":`추가 경로`,"settings.backups.extraPathsHint":`쉼표로 구분. 각 워크스페이스가 선언한 것에 더해 모든 아카이브에 담깁니다.`,"settings.backups.extraPathsPlaceholder":`{home}/myapp-data`,"settings.backups.archiveDirectory":`아카이브 디렉터리`,"settings.backups.copyArchiveDirectory":`아카이브 디렉터리 복사`,"settings.backups.changeDirectory":`변경은 파일 단위 결정입니다. {path}를 편집하세요.`,"settings.backups.theSettingsFile":`설정 파일`,"settings.backups.capturesTitle":`백업이 담는 항목`,"settings.backups.capturesDescription":`만들기 대화 상자에서 선택합니다. 워크스페이스는 전체를 담을 수도 있고 설정, 서버, 시크릿, 선언된 데이터 경로만 담을 수도 있습니다.`,"settings.backups.nothingSelectable":`아직 선택할 수 있는 항목이 없습니다.`,"settings.backups.fromOrigin":`{origin}에서`,"settings.backups.notCaptured":`담기지 않음`,"settings.backups.generatedSkipped":`생성 디렉터리 건너뜀`,"settings.backups.included":`포함됨`,"settings.backups.skipped":`건너뜀`,"settings.backups.workspacesNote":`이 제어판은 워크스페이스 {count}개를 제공하며, 각각이 선택 가능한 별도 항목입니다.`,"settings.backups.archivesTitle":`아카이브`,"settings.backups.archivesDescription":`백업 디렉터리에 저장되며 언제든 다운로드할 수 있습니다.`,"settings.backups.create":`백업 만들기…`,"settings.backups.restore":`복원…`,"settings.backups.noArchives":`아직 아카이브 없음`,"settings.backups.noArchivesEnabled":`지금 만들어 제어판과 원하는 워크스페이스를 담으세요.`,"settings.backups.noArchivesDisabled":`아직 아무것도 보관되지 않았고 백업이 꺼져 있습니다.`,"settings.backups.encrypted":`암호화됨`,"settings.backups.download":`다운로드`,"settings.backups.restoreAction":`복원`,"settings.backups.confirmDelete":`삭제 확인`,"settings.backups.deleted":`{name}을(를) 삭제했습니다.`,"settings.backups.kindSettings":`설정`,"settings.backups.kindServers":`서버`,"settings.backups.kindSecrets":`시크릿`,"settings.backups.kindTls":`tls`,"settings.backups.kindData":`데이터`,"settings.ddns.statePending":`대기 중`,"settings.ddns.stateOk":`업데이트됨`,"settings.ddns.stateUnchanged":`최신`,"settings.ddns.stateSkipped":`건너뜀`,"settings.ddns.stateError":`실패`,"settings.ddns.passFinished":`동적 DNS 실행 완료`,"settings.ddns.credentialsSaved":`{account}의 자격 증명을 저장했습니다`,"settings.ddns.credentialsRemoved":`{account}의 자격 증명을 제거했습니다`,"settings.ddns.loadErrorTitle":`동적 DNS 설정을 불러올 수 없습니다`,"settings.ddns.title":`동적 DNS`,"settings.ddns.description":`이 호스트 이름들이 이 컴퓨터의 공인 주소를 계속 가리키게 합니다. 자격 증명은 시크릿 파일에 있으며 servers.config.json에는 절대 들어가지 않습니다.`,"settings.ddns.checking":`확인 중`,"settings.ddns.needsAttention":`확인 필요`,"settings.ddns.watching":`감시 중`,"settings.ddns.updateNow":`지금 업데이트`,"settings.ddns.enabled":`동적 DNS 계속 업데이트`,"settings.ddns.enabledHint":`아래 간격으로 실행됩니다. 공급자는 주소가 실제로 바뀐 경우에만 호출됩니다.`,"settings.ddns.interval":`확인 간격 (ms)`,"settings.ddns.intervalHint":`60000은 1분이며 기본값은 5분입니다.`,"settings.ddns.ttl":`TTL (초)`,"settings.ddns.ttlHint":`1은 공급자가 지원하는 경우 자동을 뜻합니다.`,"settings.ddns.detectIpv4":`IPv4 감지`,"settings.ddns.detectIpv4Hint":`A 레코드에 필요합니다.`,"settings.ddns.detectIpv6":`IPv6 감지`,"settings.ddns.detectIpv6Hint":`AAAA 레코드에 필요합니다.`,"settings.ddns.accountsTitle":`공급자 계정`,"settings.ddns.accountsDescription":`API 토큰마다 항목 하나. 자격 증명은 서버에 저장되며 다시 돌아오지 않습니다.`,"settings.ddns.hostnameCount":{one:`호스트 이름 {count}개`,other:`호스트 이름 {count}개`},"settings.ddns.credentialsSet":`자격 증명 저장됨`,"settings.ddns.noCredentials":`자격 증명 없음`,"settings.ddns.credentials":`자격 증명`,"settings.ddns.removeAccountBlocked":`먼저 이 계정을 쓰는 호스트 이름을 제거하세요`,"settings.ddns.noAccounts":`아직 계정이 없습니다. 공급자를 선택해 추가하세요.`,"settings.ddns.provider":`공급자`,"settings.ddns.accountId":`계정 id`,"settings.ddns.accountIdPlaceholder":`cloudflare-home`,"settings.ddns.accountIdHint":"계정 id는 계정을 식별하고 저장된 자격 증명의 키가 됩니다. 소문자, 숫자, `-`, `_`.","settings.ddns.hostnamesTitle":`호스트 이름`,"settings.ddns.hostnamesDescription":`계속 업데이트할 전체 목록 — suba.domain.com, domain.xyz 등.`,"settings.ddns.account":`계정`,"settings.ddns.recordA":`A (IPv4)`,"settings.ddns.recordAaaa":`AAAA (IPv6)`,"settings.ddns.aaaaUnsupported":`이 공급자는 AAAA 레코드를 관리할 수 없습니다.`,"settings.ddns.proxied":`프록시됨`,"settings.ddns.proxiedHint":`Cloudflare가 자체 네트워크를 통해 이 레코드를 제공합니다.`,"settings.ddns.ipv6Off":`IPv6 감지가 꺼져 있습니다`,"settings.ddns.advanced":`고급`,"settings.ddns.advancedHint":`등록 도메인과 TTL 재정의`,"settings.ddns.registeredDomain":`등록 도메인`,"settings.ddns.registeredDomainPlaceholder":`example.co.uk`,"settings.ddns.registeredDomainHint":`공급자에게 apex를 알려야 할 때만. 예: 3단계 레이블 도메인.`,"settings.ddns.ttlOverride":`TTL 재정의 (초)`,"settings.ddns.ttlOverrideHint":`비워 두면 위 값을 사용합니다.`,"settings.ddns.noHostnames":`아직 호스트 이름이 없습니다.`,"settings.ddns.hostnamePlaceholder":`home.example.com`,"settings.ddns.lastPass":`마지막 실행`,"settings.ddns.ipv4Value":`IPv4 {address}`,"settings.ddns.ipv6Value":`IPv6 {address}`,"settings.ddns.type":`유형`,"settings.ddns.state":`상태`,"settings.ddns.address":`주소`,"settings.ddns.detail":`세부 정보`,"settings.ddns.credentialsTitle":`공급자 자격 증명`,"settings.ddns.credentialsDescription":`저장된 필드는 다시 전송되지 않습니다. 저장하면 이 계정의 모든 필드가 교체되고 곧바로 한 번 실행됩니다.`,"settings.ddns.optional":`선택 사항.`,"settings.ddns.whereToGet":`발급 방법`,"settings.ddns.forget":`삭제`,"settings.ddns.forgetConfirm":`삭제하기`,"settings.ddns.forgetTitle":`저장된 자격 증명을 삭제할까요?`,"settings.ddns.forgetHint":`디스크에서 제거되어 다시 읽을 수 없으며, 다시 붙여 넣어야 합니다.`,"settings.ddns.saveCredentials":`자격 증명 저장`,"settings.defaults.title":`서버 기본값`,"settings.defaults.description":`자체 값을 설정하지 않은 모든 항목에 적용됩니다.`,"settings.defaults.enabledHint":`새 항목은 사용 상태로 시작합니다.`,"settings.defaults.autostart":`제어판과 함께 자동 시작`,"settings.defaults.bind":`바인드`,"settings.defaults.bindLocal":`로컬 — 127.0.0.1`,"settings.defaults.bindLan":`LAN — 0.0.0.0`,"settings.defaults.onPortConflict":`포트 충돌 시`,"settings.defaults.conflictBlock":`시작 차단`,"settings.defaults.conflictWarn":`경고 후 그래도 시작`,"settings.defaults.conflictFollow":`자신의 분리된 재시작을 인수`,"settings.defaults.conflictReclaim":`분리된 재시작을 감독되는 복사본으로 교체`,"settings.defaults.conflictKill":`포트를 점유한 대상 강제 종료`,"settings.defaults.logBufferLines":`로그 버퍼 줄 수`,"settings.defaults.logBufferLinesHint":`서버마다 메모리에 보관됩니다.`,"settings.host.title":`임계값`,"settings.host.description":`임계값 0은 해당 경고를 사용하지 않습니다. 초과 시 한 번, 복구 시 다시 한 번 알립니다.`,"settings.host.enabled":`이 컴퓨터 샘플링`,"settings.host.enabledHint":`부하, 메모리, 스왑, 디스크, CPU 온도를 아래 간격으로 수집합니다.`,"settings.host.interval":`간격 (ms)`,"settings.host.intervalHint":`호스트를 샘플링하고 경고를 확인하는 주기.`,"settings.host.diskPaths":`디스크 경로`,"settings.host.diskPathsHint":`쉼표로 구분. {home} 같은 템플릿은 확장됩니다.`,"settings.host.diskUsed":`디스크 사용률 (%)`,"settings.host.memoryUsed":`메모리 사용률 (%)`,"settings.host.swapUsed":`스왑 사용률 (%)`,"settings.host.zeroDisables":`0이면 경고를 사용하지 않습니다.`,"settings.host.loadPerCpu":`CPU당 부하`,"settings.host.loadPerCpuHint":`1분 평균 부하를 코어 수로 나눈 값.`,"settings.host.tempCelsius":`CPU 온도 (°C)`,"settings.host.tempCelsiusHint":`Linux 전용. OS가 제공하지 않으면 무시됩니다.`,"settings.host.breachingNow":`현재 초과 중:`,"settings.host.nothingBreaching":`현재 초과 중인 항목이 없습니다.`,"settings.interface.title":`인터페이스`,"settings.interface.description":`제어판은 정적 사이트입니다. 기본 제공 UI를 쓰거나 상태 디렉터리에서 직접 빌드한 UI를 제공하세요.`,"settings.interface.currentlyServing":`현재 제공 중`,"settings.interface.copyDirectory":`UI 디렉터리 복사`,"settings.interface.fileCount":`파일 {count}개`,"settings.interface.sourceStock":`기본`,"settings.interface.sourceCustom":`사용자 지정`,"settings.interface.unnamed":`이름 없음`,"settings.interface.panelVersion":`제어판 버전`,"settings.interface.copyPanelVersion":`제어판 버전 복사`,"settings.interface.panelVersionHint":`이 제어판 프로세스가 실행 중인 릴리스 — {command}도 같은 번호를 출력합니다.`,"settings.interface.panelName":`제어판 이름`,"settings.interface.panelNameHint":`기본 UI가 사이드바에 표시합니다. 사용자 지정 UI는 대신 자체 이름을 표시할 수 있습니다.`,"settings.interface.uploadLabel":`UI 빌드 업로드 (index.html이 있는 .zip)`,"settings.interface.docsHint":`API 계약은 {docs}를 참고하세요. 사용자 지정 UI가 제어판을 망가뜨리면 {command}로 터미널에서 기본 UI를 되돌릴 수 있습니다.`,"settings.interface.resetName":`이름 초기화`,"settings.interface.confirmRevert":`되돌리기 확인`,"settings.interface.revertToStock":`기본으로 되돌리기`,"settings.interface.install":`UI 설치`,"settings.interface.installed":`UI를 {name}(으)로 교체했습니다 — 페이지를 새로 고치세요`,"settings.interface.yourBuild":`직접 빌드`,"settings.interface.restored":`기본 UI를 복원했습니다 — 페이지를 새로 고치세요`,"settings.interface.nothingInstalled":`설치된 사용자 지정 UI 없음`,"settings.listener.title":`리스너`,"settings.listener.description":`제어판이 응답하는 위치. 변경하면 제어판이 다시 시작되고 이 페이지는 새 주소로 이동합니다.`,"settings.listener.port":`제어 포트`,"settings.listener.portHint":`기본값 3999.`,"settings.listener.bind":`바인드`,"settings.listener.bindLocal":`로컬`,"settings.listener.bindLan":`LAN`,"settings.listener.bindCustom":`사용자 지정`,"settings.listener.bindLanHint":`0.0.0.0 — 네트워크 전체에서 접근 가능합니다.`,"settings.listener.bindLocalHint":`127.0.0.1 — 이 컴퓨터에서만.`,"settings.listener.bindCustomHint":`아래에 입력하는 특정 인터페이스 주소.`,"settings.listener.ipv4":`IPv4 주소`,"settings.listener.ipv4Placeholder":`192.168.1.20`,"settings.listener.ipv4Error":`IPv4 주소를 입력하세요. 예: 192.168.1.20.`,"settings.listener.ipv4Hint":`127.0.0.1 밖으로 바인딩하려면 실제 비밀번호가 필요합니다.`,"settings.listener.openBrowser":`제어판이 뜰 때 브라우저 열기`,"settings.listener.liveAddress":`현재 주소`,"settings.listener.restartRequired":`다시 시작 필요`,"settings.listener.copyLiveAddress":`현재 주소 복사`,"settings.listener.liveAddressHint":`리스너가 지금 바인딩된 주소. 저장한 변경은 제어판이 다시 바인딩한 뒤 적용됩니다.`,"settings.logs.title":`보존`,"settings.logs.description":`실시간 보기는 항상 메모리에서 옵니다. 이 파일들은 다시 시작해도 남아 로그 페이지에 공급됩니다.`,"settings.logs.persist":`로그를 디스크에 보관`,"settings.logs.persistHint":`끄면 모든 것을 메모리에만 보관합니다.`,"settings.logs.maxBytes":`로테이션 크기 (바이트)`,"settings.logs.maxBytesHint":`서버마다. .1, .2, …로 넘어가기 전 크기.`,"settings.logs.keep":`로테이션된 파일 보관`,"settings.logs.directory":`로그 디렉터리`,"settings.logs.copyDirectory":`로그 디렉터리 복사`,"settings.logs.browseHint":`{logs} 페이지에서 이 파일들을 살펴보고 다운로드할 수 있습니다.`,"settings.telegram.title":`Telegram`,"settings.telegram.description":`정책은 설정에 있고 봇 토큰은 시크릿이라 서버에서 다시 돌아오지 않습니다.`,"settings.telegram.enabled":`알림 보내기`,"settings.telegram.enabledHint":`이벤트마다 메시지 하나, 아래 쿨다운으로 제한됩니다.`,"settings.telegram.chatId":`채팅 id`,"settings.telegram.chatIdPlaceholder":`123456789 또는 @channel`,"settings.telegram.chatIdHint":`채팅 감지를 사용하면 봇의 업데이트에서 자동으로 채웁니다.`,"settings.telegram.cooldown":`이벤트별 쿨다운 (ms)`,"settings.telegram.cooldownHint":`서버와 사유별이므로 계속 요동치는 서버도 도배하지 못합니다.`,"settings.telegram.onCrash":`재시도 소진`,"settings.telegram.onUnhealthy":`포트 비정상`,"settings.telegram.onForcedRestart":`강제 재시작`,"settings.telegram.onRecovered":`복구됨`,"settings.telegram.onHost":`호스트 상태 임계값 초과`,"settings.telegram.onHostHint":`디스크, 메모리, 스왑, 부하, CPU 온도. 호스트 상태의 임계값을 따릅니다.`,"settings.telegram.onDdns":`동적 DNS 변경 또는 실패`,"settings.telegram.onDdnsHint":`레코드를 바꾼 실행마다 한 건, 실패한 실행에도 한 건.`,"settings.telegram.botToken":`봇 토큰`,"settings.telegram.tokenSet":`토큰 설정됨`,"settings.telegram.noToken":`토큰 없음`,"settings.telegram.tokenNote":`@BotFather에서 발급 — 시크릿이며 servers.config.json에 절대 넣지 않습니다.`,"settings.telegram.tokenPlaceholder":`123456789:AA…`,"settings.telegram.tokenSavedPlaceholder":`저장됨 — 교체하려면 새 토큰을 입력하세요`,"settings.telegram.saveToken":`토큰 저장`,"settings.telegram.detectChats":`채팅 감지`,"settings.telegram.sendTest":`테스트 전송`,"settings.telegram.removeToken":`토큰 제거`,"settings.telegram.removeTokenConfirm":`제거 확인`,"settings.telegram.removeTokenTitle":`봇 토큰을 제거할까요?`,"settings.telegram.removeTokenHint":`다시 토큰을 붙여 넣을 때까지 알림이 중지됩니다.`,"settings.telegram.tokenSaved":`토큰을 저장했습니다.`,"settings.telegram.tokenSavedFor":`@{username}의 토큰을 저장했습니다.`,"settings.telegram.tokenRemoved":`토큰을 제거했습니다.`,"settings.telegram.noChats":`채팅을 찾지 못했습니다. 먼저 봇에 /start를 보낸 뒤 다시 감지하세요.`,"settings.telegram.testSent":`테스트 메시지를 보냈습니다.`,"settings.telegram.testFailed":`테스트 메시지를 보내지 못했습니다.`,"settings.telegram.chatsSeen":`봇이 확인한 채팅:`,"settings.telegram.lastSend":`마지막 전송: {result}`,"settings.tls.title":`HTTPS`,"settings.tls.description":`PEM 쌍을 업로드하면 제어판이 자체 리스너에서 TLS를 제공합니다. 홈 네트워크에서는 자체 서명 인증서로 충분합니다.`,"settings.tls.serve":`제어판을 HTTPS로 제공`,"settings.tls.serveHint":`설정 저장으로 저장됩니다. 제어판이 다시 바인딩하고 이 페이지도 따라갑니다.`,"settings.tls.certificateTitle":`인증서`,"settings.tls.certificateDescription":`PEM으로 인코딩된 인증서와 개인 키. 둘 다 시크릿 파일에 남습니다.`,"settings.tls.unusableTitle":`저장된 인증서를 사용할 수 없습니다`,"settings.tls.subject":`주체`,"settings.tls.issuer":`발급자`,"settings.tls.validUntil":`만료일`,"settings.tls.days":`{count}일`,"settings.tls.privateKey":`개인 키`,"settings.tls.keyMatches":`인증서와 일치함`,"settings.tls.keyMismatch":`일치하지 않음`,"settings.tls.fingerprint":`지문`,"settings.tls.copyFingerprint":`지문 복사`,"settings.tls.noCertificateTitle":`업로드된 인증서 없음`,"settings.tls.noCertificateText":`아래에서 PEM 인증서와 키를 업로드한 뒤 저장하세요. 인증서가 있을 때까지 HTTPS는 제공되지 않습니다.`,"settings.tls.certFile":`인증서 파일 (.pem, .crt)`,"settings.tls.keyFile":`개인 키 파일 (.pem, .key)`,"settings.tls.pasteCertificate":`또는 인증서 붙여 넣기`,"settings.tls.pasteKey":`또는 개인 키 붙여 넣기`,"settings.tls.saveCertificate":`인증서 저장`,"settings.tls.removeCertificate":`인증서 제거`,"settings.tls.confirmRemove":`제거 확인`,"settings.tls.removeTitle":`인증서를 제거할까요?`,"settings.tls.removeHint":`TLS는 켜진 채로 남지만 제공할 것이 없어, 리스너가 다시 바인딩되면 제어판이 http로 돌아갑니다.`,"settings.tls.stored":`인증서를 저장했습니다.`,"settings.tls.removed":`인증서를 제거했습니다.`,"settings.paths.dataRoot":`데이터 루트`,"settings.paths.dataRootHint":`HHOSTED_HOME — 전역 설정, 워크스페이스, TLS, 백업, UI.`,"settings.paths.globalSettings":`전역 설정`,"settings.paths.globalSettingsHint":`settings.json — 리스너, 인증, TLS 정책, 호스트 상태, 백업.`,"settings.paths.projectDir":`프로젝트 디렉터리`,"settings.paths.projectDirHint":`상대 항목 경로의 기준.`,"settings.paths.panelAddress":`제어판 주소`,"settings.paths.panelAddressHint":`이 제어판이 현재 실행 중인 위치.`,"settings.paths.serversConfig":`서버 설정`,"settings.paths.serversConfigHint":`{label}의 servers.config.json.`,"settings.paths.workspaceSettings":`워크스페이스 설정`,"settings.paths.workspaceSettingsHint":`서버 기본값, 로그 보존, 알림, DDNS.`,"settings.paths.logs":`로그`,"settings.paths.logsHint":`이 워크스페이스의 영구 저장된 출력.`,"settings.paths.copyPath":`{label} 복사`,"settings.paths.whereThingsLive":`파일 위치`,"settings.paths.whereThingsLiveDescription":`읽기 전용. 경로를 셸이나 편집기에 바로 복사할 수 있습니다.`,"settings.paths.workspaceFiles":`워크스페이스 파일`,"settings.paths.workspaceFilesDescription":`각 워크스페이스는 자체 설정, 구성, 로그 디렉터리를 가지며 서로 공유하지 않습니다.`,"settings.restore.title":`백업 복원`,"settings.restore.description":`계획을 적용하기 전까지는 아무것도 기록되지 않습니다.`,"settings.restore.archive":`아카이브`,"settings.restore.archiveHint":`저장된 아카이브 또는 이 컴퓨터의 .zip.`,"settings.restore.encryptedName":`{name} — 암호화됨`,"settings.restore.uploadOption":`파일 업로드…`,"settings.restore.archiveFile":`아카이브 파일 (.zip)`,"settings.restore.unchangedTitle":`아직 변경된 것이 없습니다`,"settings.restore.archiveLine":`아카이브 {name}.`,"settings.restore.uploadedArchive":`업로드한 아카이브.`,"settings.restore.passwordProtected":`이 백업은 비밀번호로 보호되어 있습니다.`,"settings.restore.password":`비밀번호`,"settings.restore.checkAgain":`비밀번호로 다시 확인`,"settings.restore.choosePrompt":`복원할 항목 선택 — {total}개 중 {selected}개 선택됨.`,"settings.restore.willRestore":`복원합니다: {items}.`,"settings.restore.skipped":`건너뜁니다: {items}.`,"settings.restore.nothing":`없음`,"settings.restore.restartNote":`제어판 자체의 설정이 달라, 나중에 제어판을 다시 시작하세요.`,"settings.restore.reloadedNote":`복원된 워크스페이스는 즉시 다시 로드됩니다. 자동 시작으로 표시된 항목은 스스로 시작합니다.`,"settings.restore.applyStored":`이 복원 적용`,"settings.restore.applyUpload":`업로드 복원`,"settings.restore.restored":`{count}개 항목을 복원했습니다.`,"settings.restore.restoredWithNotes":`{count}개 항목을 복원했습니다 — {notes}.`,"settings.restore.noteReloaded":`복원된 서버가 실행 중이고 자동 시작 항목이 시작 중입니다`,"settings.restore.noteRestart":`제어판 자체 설정을 적용하려면 다시 시작하세요`,"settings.rebind.failed":`제어판이 {target}에서 응답하지 않았습니다. 새 리스너는 콘솔을 확인하세요.`,"proxy.status.certified":`인증서 준비됨`,"proxy.status.localCa":`엔진 CA`,"proxy.status.uploaded":`업로드된 쌍`,"proxy.status.awaitingCa":`CA 대기 중`,"proxy.status.failed":`인증서 실패`,"proxy.status.fellBack":`로컬 CA로 폴백`,"proxy.status.serving":`제공 중`,"proxy.status.disabled":`사용 안 함`,"proxy.status.noUpstream":`업스트림 없음`,"proxy.status.error":`오류`,"proxy.status.unapplied":`아직 적용 안 됨`,"proxy.status.off":`꺼짐`,"proxy.status.stopped":`중지됨`,"proxy.status.starting":`시작 중`,"proxy.status.running":`실행 중`,"proxy.status.unsupported":`지원 안 됨`,"proxy.target.server":`감독되는 서버`,"proxy.target.panel":`이 제어판`,"proxy.target.external":`리터럴 업스트림`,"proxy.target.controlPanel":`제어판`,"proxy.target.noServer":`선택한 서버 없음`,"proxy.target.noUpstream":`업스트림 없음`,"proxy.tls.auto":`자동 — 엔진이 결정`,"proxy.tls.off":`끔 — 일반 HTTP`,"proxy.tls.manual":`업로드된 인증서`,"proxy.tls.plain":`일반 HTTP`,"proxy.tls.uploaded":`업로드된 인증서`,"proxy.tls.letsEncrypt":`Let’s Encrypt`,"proxy.tls.engineCa":`엔진 CA (로컬)`,"proxy.tls.hintOff":`일반 HTTP: 이 호스트 이름에는 인증서가 제공되지 않습니다.`,"proxy.tls.hintManual":`아래에서 업로드한 인증서 쌍을 제공합니다.`,"proxy.tls.hintEmpty":`공인 호스트 이름에는 ACME 인증서가, 로컬 전용 이름에는 엔진 자체 CA가 사용됩니다.`,"proxy.tls.hintPublic":`공인 호스트 이름이므로 엔진이 CA에 인증서를 요청합니다 — ACME 계정 이메일이 필요합니다.`,"proxy.tls.hintLocal":`로컬 전용 이름이므로 엔진이 자체 로컬 신뢰 CA로 서명합니다.`,"proxy.retry.inFallback":`약 8시간`,"proxy.retry.inMinutes":{one:`약 {count}분`,other:`약 {count}분`},"proxy.retry.inHours":{one:`약 {count}시간`,other:`약 {count}시간`},"proxy.engine.title":`엔진`,"proxy.engine.description":`리버스 프록시 본체. 제어판은 현재 빌드를 내려받아 감독하고, 엔진 자체의 관리 API를 통해 설정을 적용합니다.`,"proxy.engine.notInFrame":`프록시 상태는 아직 이 제어판의 범위에 없습니다.`,"proxy.engine.readFailed":`엔진을 읽을 수 없습니다`,"proxy.engine.notInstalled":`설치된 엔진 없음`,"proxy.engine.installNote":`설치하면 제어판이 감독하는 현재 {engine} 릴리스를 내려받습니다 — 약 46 MB, 한 번만. 경로를 추가하고 프록시를 켜기 전까지는 아무것도 노출되지 않습니다.`,"proxy.engine.version":`버전`,"proxy.engine.notProbed":`아직 검사 안 됨`,"proxy.engine.source":`출처`,"proxy.engine.sourceCustom":`직접 설정한 경로`,"proxy.engine.sourceDownloaded":`제어판이 내려받음`,"proxy.engine.size":`크기`,"proxy.engine.binary":`바이너리`,"proxy.engine.copyPath":`바이너리 경로 복사`,"proxy.engine.address":`현재 주소`,"proxy.engine.process":`프로세스`,"proxy.engine.certificates":`인증서`,"proxy.engine.noCert":`아직 공인 인증서 없음`,"proxy.engine.expiresSoon":`가장 빠른 만료가 {days}일 후`,"proxy.engine.acme":`ACME 인증서`,"proxy.engine.localCa":`로컬 CA`,"proxy.engine.dns01":`DNS-01`,"proxy.engine.tcpUdp":`TCP/UDP`,"proxy.engine.documentation":`{engine} 문서`,"proxy.engine.failed":`엔진이 실패를 보고했습니다`,"proxy.engine.setcapHint":`특권 포트(1024 미만)는 Linux에서 한 번 이 작업이 필요합니다:`,"proxy.engine.copyCommand":`명령 복사`,"proxy.engine.install":`엔진 설치`,"proxy.engine.start":`시작`,"proxy.engine.stop":`중지`,"proxy.engine.apply":`설정 적용`,"proxy.engine.revert":`되돌리기`,"proxy.engine.revertHint":`마지막 설정 이전에 적용된 설정으로 돌아갑니다`,"proxy.engine.update":`엔진 업데이트`,"proxy.listener.title":`리스너와 인증서`,"proxy.listener.description":`프록시가 리스닝하는 위치. 80과 443은 라우터가 전달하는 포트이자 ACME 챌린지가 기대하는 포트입니다. 1024 미만 포트에는 특권 바인딩이 필요합니다.`,"proxy.listener.unprivilegedPorts":`비특권 포트`,"proxy.listener.run":`리버스 프록시 실행`,"proxy.listener.runHint":`설정 저장으로 저장됩니다. 제어판이 그에 맞춰 엔진을 시작하거나 중지합니다.`,"proxy.listener.httpPort":`HTTP 포트`,"proxy.listener.httpPortHint":`ACME HTTP-01 챌린지와 HTTPS로의 리디렉션.`,"proxy.listener.httpsPort":`HTTPS 포트`,"proxy.listener.httpsPortHint":`인증서를 제공하는 위치.`,"proxy.listener.useFallback":`{http} / {https} 사용`,"proxy.listener.useStandard":`80 / 443 사용`,"proxy.listener.forwardHint":`비특권으로 실행 중 — 라우터에서 80과 443을 이 포트로 전달하세요.`,"proxy.listener.privilegedTitle":`1024 미만 포트에는 특권 바인딩이 필요합니다`,"proxy.listener.privilegedBody":`제어판을 본인 사용자로 실행하면 권한 없이 80이나 443을 바인딩할 수 없습니다. 한 번 {how}한 뒤 엔진을 다시 시작하거나, {http}/{https}를 유지하고 라우터에서 80/443을 전달하세요. Windows에서는 바인딩 자체는 자유롭지만 다른 대상이 점유하고 있을 수 있습니다.`,"proxy.listener.privilegedWithSetcap":`엔진 바이너리에 {command} 적용`,"proxy.listener.email":`ACME 계정 이메일`,"proxy.listener.emailPlaceholder":`you@example.com`,"proxy.listener.emailHint":`Let's Encrypt가 인증서 만료를 경고하는 데 사용합니다. 로컬 전용 이름은 엔진 자체 CA를 쓰므로 필요하지 않습니다.`,"proxy.listener.emailNeededTitle":`자동 HTTPS에는 이메일이 필요합니다`,"proxy.listener.emailNeededBody":`“{host}”는 공인 호스트 이름이므로 엔진이 CA에 인증서를 요청하며 계정 주소가 필요합니다. 주소를 입력하거나, 경로의 TLS를 끄거나, 시험 중에는 스테이징 엔드포인트를 켜세요.`,"proxy.listener.staging":`ACME 스테이징 엔드포인트 사용`,"proxy.listener.stagingHint":`시험 중에는 신뢰되지 않는 인증서가 발급되고 요청 한도도 소모하지 않습니다.`,"proxy.listener.dns01":`DNS-01로 챌린지 응답`,"proxy.listener.dns01Hint":`제어판이 경로의 DNS 계정을 통해 챌린지 레코드를 기록하므로 인증서 발급에 인바운드 포트가 필요하지 않습니다.`,"proxy.listener.resolvers":`레코드 확인 대상`,"proxy.listener.resolversPlaceholder":`1.1.1.1, 8.8.8.8`,"proxy.listener.resolversHint":`엔진이 레코드를 읽는 네임서버. 비워 두면 자체 네임서버를 사용합니다. 스플릿 호라이즌 DNS로 다른 뷰가 보이는 경우 필요합니다.`,"proxy.listener.noAccountTitle":`챌린지에 응답할 DNS 계정이 없습니다`,"proxy.listener.noAccountBody":`DNS-01이 켜져 있지만 사용할 자격 증명을 가진 계정이 없습니다. 워크스페이스 설정 → 동적 DNS에서 추가하거나, 공인 이름은 포트 챌린지에 남아 도달할 수 없는 CA를 계속 기다립니다.`,"proxy.listener.manyAccountsTitle":`공인 경로마다 계정을 골라야 합니다`,"proxy.listener.manyAccountsBody":`응답할 수 있는 계정이 여러 개라 “자동”으로는 고를 수 없습니다. 경로마다 하나를 고르거나, 그 이름들은 포트 챌린지에 남습니다.`,"proxy.listener.accountNote":`경로마다 자체 계정을 고르므로 서로 다른 영역의 이름에도 알맞은 계정이 쓰입니다. “자동”으로 남긴 경로는 표에 있는 유일한 계정을 사용합니다. 어떤 계정도 응답하지 않는 이름은 포트 챌린지에 남습니다.`,"proxy.listener.pendingNote":`인증서가 아직 발급 중인 공인 이름도 그동안 접근할 수 있습니다 — 임시의 신뢰되지 않는 인증서를 쓰는 HTTPS, 또는 전달할 포트를 안내하는 페이지와 함께 일반 HTTP로.`,"proxy.routes.title":`경로`,"proxy.routes.description":`서비스마다 공인 호스트 이름 하나. 경로는 어느 워크스페이스의 감독되는 서버, 이 제어판, 또는 리터럴 업스트림을 가리킬 수 있습니다.`,"proxy.routes.add":`경로 추가`,"proxy.routes.cannotSaveTitle":`이 상태로는 이 경로들을 저장할 수 없습니다`,"proxy.routes.cannotRoute":`{host}은(는) 라우팅할 수 없습니다`,"proxy.routes.emptyTitle":`아직 경로 없음`,"proxy.routes.emptyDescription":`하나를 추가해 도메인을 통해 서버를 노출하세요 — 엔진이 스스로 인증서를 받습니다.`,"proxy.routes.addFirst":`첫 경로 추가`,"proxy.routes.columnHostname":`호스트 이름`,"proxy.routes.columnTarget":`대상`,"proxy.routes.columnUpstream":`업스트림`,"proxy.routes.columnTls":`TLS`,"proxy.routes.columnState":`상태`,"proxy.routes.columnOn":`켜짐`,"proxy.routes.openInTab":`새 탭에서 {url} 열기`,"proxy.routes.noHostname":`아직 호스트 이름 없음`,"proxy.routes.toggle":`경로 {name}`,"proxy.routes.edit":`{name} 편집`,"proxy.routes.remove":`{name} 제거`,"proxy.routeDialog.titleEdit":`경로 편집`,"proxy.routeDialog.titleAdd":`경로 추가`,"proxy.routeDialog.description":`호스트 이름, 전달 대상, 그리고 TLS로 제공하는 방식.`,"proxy.routeDialog.hostname":`호스트 이름`,"proxy.routeDialog.hostnamePlaceholder":`gitea.example.com`,"proxy.routeDialog.path":`경로 접두사`,"proxy.routeDialog.pathPlaceholder":`/optional`,"proxy.routeDialog.pathHint":`비워 두면 호스트 전체를 제공합니다.`,"proxy.routeDialog.target":`대상`,"proxy.routeDialog.tls":`TLS`,"proxy.routeDialog.dnsAccount":`DNS 계정`,"proxy.routeDialog.localNote":`로컬 전용 이름은 엔진 자체 CA가 서명하므로 DNS 계정이 관여하지 않습니다.`,"proxy.routeDialog.workspace":`워크스페이스`,"proxy.routeDialog.server":`서버`,"proxy.routeDialog.noServers":`이 워크스페이스에는 서버가 없습니다`,"proxy.routeDialog.stoppedNote":`중지된 서버는 라우팅되지 않습니다. 다시 실행될 때까지 행은 “업스트림 없음”을 표시합니다.`,"proxy.routeDialog.upstream":`업스트림`,"proxy.routeDialog.upstreamPlaceholder":`http://10.0.0.5:8080`,"proxy.routeDialog.upstreamHint":`포트를 포함한 리터럴 주소. 스킴은 선택 사항입니다.`,"proxy.routeDialog.panelNote":`제어판을 제공하려면 인증이 켜져 있어야 하고 기본값이 아닌 비밀번호가 필요합니다 — 그렇지 않으면 제어판이 저장을 거부합니다.`,"proxy.routeDialog.save":`경로 저장`,"proxy.account.automatic":`자동 (응답할 수 있는 유일한 계정)`,"proxy.account.noTxt":`TXT 미지원`,"proxy.account.noCredentials":`자격 증명 없음`,"proxy.account.gone":`해당 계정은 더 이상 설정되어 있지 않습니다.`,"proxy.account.emptyHint":`DNS-01은 여기에 챌린지 레코드를 기록합니다. 비워 두면 챌린지에 응답할 수 있는 계정이 하나뿐일 때 그것을 사용합니다.`,"proxy.account.cannotWrite":`{provider} 계정은 TXT 레코드를 기록할 수 없어 DNS-01 챌린지에 응답할 수 없습니다.`,"proxy.account.noCredentialsYet":`이 {provider} 계정에는 아직 저장된 자격 증명이 없습니다.`,"proxy.account.through":`챌린지는 이 {provider} 계정을 통해 기록됩니다.`,"proxy.certificate.title":`업로드된 인증서`,"proxy.certificate.description":`“업로드된 인증서”로 설정된 경로가 제공합니다. 그 외 — 공인이든 로컬이든 — 는 엔진이 스스로 인증합니다.`,"proxy.certificate.add":`인증서 추가`,"proxy.certificate.emptyTitle":`업로드된 인증서 없음`,"proxy.certificate.emptyDescription":`“업로드된 인증서”로 설정된 경로에는 호스트 이름을 포괄하는 쌍이 필요합니다. 없으면 엔진이 제공할 것이 없습니다.`,"proxy.certificate.daysLeft":`{days}일 남음`,"proxy.certificate.subject":`주체`,"proxy.certificate.issuer":`발급자`,"proxy.certificate.validUntil":`만료일`,"proxy.certificate.covers":`포괄`,"proxy.certificate.noSans":`SAN에 호스트 이름 없음`,"proxy.certificate.removeAria":`{name} 제거`,"proxy.certificate.removeQuestion":`“{name}”을(를) 제거할까요?`,"proxy.certificate.removeBody":`쌍이 디스크에서 삭제됩니다. “업로드된 인증서”로 설정된 경로는 변경할 때까지 엔진 자체 인증서를 계속 제공하며, 아직 그것을 제공하는 동안에는 제어판이 이 삭제를 거부합니다.`,"proxy.certificate.removeIt":`제거하기`,"proxy.certificate.stored":`“{label}”을(를) 저장했습니다.`,"proxy.certificate.removed":`“{name}”을(를) 제거했습니다.`,"proxy.certificateDialog.title":`인증서 추가`,"proxy.certificateDialog.description":`쌍은 id 이름으로 디스크에 저장되며, “업로드된 인증서”로 설정된 경로가 이를 제공할 수 있습니다.`,"proxy.certificateDialog.label":`레이블`,"proxy.certificateDialog.labelPlaceholder":`홈 와일드카드`,"proxy.certificateDialog.id":`Id`,"proxy.certificateDialog.idHint":`디스크의 파일 이름이 됩니다`,"proxy.certificateDialog.certFile":`인증서 파일 (.pem, .crt)`,"proxy.certificateDialog.keyFile":`개인 키 파일 (.pem, .key)`,"proxy.certificateDialog.pasteCert":`또는 인증서 붙여 넣기`,"proxy.certificateDialog.pasteKey":`또는 개인 키 붙여 넣기`,"proxy.certificateDialog.certPlaceholder":`-----BEGIN CERTIFICATE-----`,"proxy.certificateDialog.keyPlaceholder":`-----BEGIN PRIVATE KEY-----`,"proxy.certificateDialog.store":`인증서 저장`,"proxy.certificateDialog.errorLabel":`레이블은 필수입니다`,"proxy.certificateDialog.errorId":`id는 문자나 숫자로 시작하고 그 뒤에 문자, 숫자, 대시, 밑줄만 올 수 있습니다`,"proxy.certificateDialog.errorTaken":`“{id}”는 다른 인증서가 이미 사용 중입니다`,"proxy.certificateDialog.errorCertificate":`인증서를 붙여 넣거나 선택하세요`,"proxy.certificateDialog.errorPrivateKey":`개인 키를 붙여 넣거나 선택하세요`,"proxy.retryButton.force":`인증서 재시도 강제`,"proxy.retryButton.question":`{host}에 대해 CA에 다시 요청할까요?`,"proxy.retryButton.body":`이 호스트 이름의 CA 인증서를 이전에 받지 못해 엔진이 로컬 CA를 사용하고 있습니다. {retryIn}마다 자동으로 재시도합니다.`,"proxy.retryButton.warning":`지금 재시도하면 이 경로가 종료되어 잠시 사용할 수 없게 됩니다. 계속할까요?`,"proxy.retryButton.leave":`그대로 두기`,"proxy.retryButton.now":`지금 재시도`,"proxy.view.title":`리버스 프록시`,"proxy.view.description":`도메인을 통해 서버를 노출하고, 80/443 또는 DNS 챌린지로 자동 HTTPS를 사용합니다.`,"proxy.view.dnsNote":`DNS-01의 경우, 워크스페이스 설정 → 동적 DNS에서 어느 워크스페이스에든 해당 도메인의 DNS 공급자를 추가하세요. 그러면 어느 워크스페이스에서든 경로가 그 계정을 고를 수 있습니다.`,"proxy.view.readFailed":`리버스 프록시를 읽을 수 없습니다`,"proxy.view.reading":`리버스 프록시를 읽는 중…`,"proxy.view.engineInstalled":`엔진 설치됨`,"proxy.view.engineStarting":`엔진 시작 중`,"proxy.view.engineStopping":`엔진 중지 중`,"proxy.view.configApplied":`설정 적용됨`,"proxy.view.configReverted":`설정 되돌림`,"proxy.view.settingsSaved":`설정을 저장했습니다.`,"proxy.view.settingsSavedToast":`설정 저장됨`,"proxy.view.retryFailed":`재시도에 실패했습니다`,"proxy.view.retryAsked":`{host}에 대해 CA에 다시 요청하는 중`,"proxy.view.fieldChanged":`필드 변경됨`,"proxy.view.fieldsChanged":`필드 변경됨`,"proxy.view.noChanges":`저장하지 않은 변경 없음`,"proxy.view.discard":`변경 사항 버리기`,"proxy.view.save":`설정 저장`,"proxy.validation.labelRequired":`레이블은 필수입니다`,"proxy.validation.idPattern":`id는 문자나 숫자로 시작하고 그 뒤에 문자, 숫자, 대시, 밑줄만 올 수 있습니다`,"proxy.validation.hostRequired":`호스트 이름은 필수입니다`,"proxy.validation.hostPattern":`문자, 숫자, 점, 대시로 된 호스트 이름. 예: home.example.com`,"proxy.validation.hostTaken":`"{host}"는 이 경로에 이미 라우팅되어 있습니다`,"proxy.validation.pathSlash":`경로 접두사는 /로 시작합니다`,"proxy.validation.pathSpace":`경로 접두사에는 공백을 넣을 수 없습니다`,"proxy.validation.idTaken":`경로 id "{id}"가 두 번 사용되었습니다`,"proxy.validation.workspaceRequired":`서버를 소유한 워크스페이스를 고르세요`,"proxy.validation.serverRequired":`해당 워크스페이스의 서버를 고르세요`,"proxy.validation.url":`http://10.0.0.5:8080 같은 업스트림`,"views.actions.addAServer":`서버 추가`,"views.actions.addServer":`서버 추가`,"views.actions.startAll":`모두 시작`,"views.actions.stopAll":`모두 중지`,"views.common.thisWorkspace":`이 워크스페이스`,"views.globalOverview.configError":`구성을 읽을 수 없습니다: {error}`,"views.globalOverview.degraded":`성능 저하`,"views.globalOverview.description":`호스트 상태와 모든 워크스페이스의 모든 서버를 위치별로 묶어 표시합니다.`,"views.globalOverview.emptyDescription":`상단에서 워크스페이스를 고르고, 처음으로 계속 살려 둘 프로세스를 추가하세요.`,"views.globalOverview.emptyTitle":`아직 어디에도 서버가 없습니다`,"views.globalOverview.groupEmptyDescription":`하나 추가하면 여기와 워크스페이스 페이지에 표시됩니다.`,"views.globalOverview.groupRunning":`{running}/{total} 실행 중`,"views.globalOverview.hostUptime":`호스트 가동 시간`,"views.globalOverview.hostVitals":`호스트 상태`,"views.globalOverview.hostVitalsNote":`이 컴퓨터이며 모든 워크스페이스가 공유합니다.`,"views.globalOverview.needLook":{one:`서버 {count}대를 살펴봐야 합니다`,other:`서버 {count}대를 살펴봐야 합니다`},"views.globalOverview.openWorkspace":`워크스페이스 열기`,"views.globalOverview.panelUptime":`제어판 가동 시간`,"views.globalOverview.samplingOff":`샘플링 꺼짐`,"views.globalOverview.samplingOn":`샘플링 켜짐`,"views.globalOverview.serversTotal":`총 서버 {count}대`,"views.globalOverview.serving":`제공 중`,"views.globalOverview.workspaces":`워크스페이스`,"views.globalSettings.authenticationDescription":`누가 이 제어판에 로그인할 수 있는지, 세션을 어떻게 신뢰하는지.`,"views.globalSettings.backupsDescription":`한 번의 수집마다 아카이브 하나로, 제어판과 선택한 워크스페이스를 담습니다.`,"views.globalSettings.changesDescription":`저장하면 제어판의 설정 파일에 기록될 내용.`,"views.globalSettings.description":`이 제어판의 리스너, 접근, 호스트 상태, 백업, TLS, 경로 — 모든 워크스페이스가 공유합니다.`,"views.globalSettings.hostDescription":`이 컴퓨터 자체 리소스에 대한 경고 임계값.`,"views.globalSettings.interfaceDescription":`기본 UI 대신 직접 만든 제어판 UI를 제공합니다.`,"views.globalSettings.languageDescription":`이 제어판을 표시할 언어. 이 브라우저에 적용됩니다.`,"views.globalSettings.languageNote":`선택은 이 브라우저에 저장되며 로그인 페이지에도 적용됩니다. 제어판 자체의 로그 출력이나 API 메시지는 바뀌지 않습니다.`,"views.globalSettings.listenerDescription":`제어판이 리스닝하는 위치와 자신을 알리는 방식.`,"views.globalSettings.loadErrorTitle":`파일에만 있는 일부 값을 불러올 수 없습니다`,"views.globalSettings.navLabel":`전역 설정 섹션`,"views.globalSettings.pathsDescription":`home-hosted가 파일을 두는 위치. 전역과 워크스페이스별.`,"views.globalSettings.saveFailed":`설정을 저장할 수 없습니다.`,"views.globalSettings.saved":`설정을 저장했습니다.`,"views.globalSettings.savedRebinding":`설정을 저장했습니다 — 제어판이 새 주소로 이동 중입니다.`,"views.globalSettings.savedToast":`설정 저장됨`,"views.globalSettings.sectionAuthentication":`인증`,"views.globalSettings.sectionBackups":`백업`,"views.globalSettings.sectionHost":`호스트 상태`,"views.globalSettings.sectionInterface":`인터페이스`,"views.globalSettings.sectionListener":`리스너`,"views.globalSettings.sectionPaths":`경로`,"views.globalSettings.sectionTls":`TLS`,"views.globalSettings.title":`전역 설정`,"views.globalSettings.tlsDescription":`자체 인증서로 제어판을 HTTPS로 제공합니다.`,"views.logs.allStreams":`모든 스트림`,"views.logs.clear":`지우기`,"views.logs.clearDescription":`{server} — 디스크의 파일이 잘립니다. 프로세스는 계속 실행되며 이후 줄은 여기서부터 기록됩니다.`,"views.logs.clearFile":`파일 지우기`,"views.logs.clearNote":`출력이 아직 필요하면 먼저 다운로드하세요 — 제어판에서는 되돌릴 수 없습니다.`,"views.logs.clearTitle":`저장된 로그 파일을 지울까요?`,"views.logs.fileEmpty":`저장된 파일이 비어 있습니다.`,"views.logs.filesOnDisk":{one:`파일 {count}개`,other:`파일 {count}개`},"views.logs.loadedLines":`{count}줄을 불러왔습니다`,"views.logs.modeLive":`실시간 스트림`,"views.logs.modePersisted":`영구 저장`,"views.logs.noServersDescription":`하나 추가하면 그 출력이 여기에 영구 저장됩니다.`,"views.logs.noServersTitle":`서버 없음`,"views.logs.nothingOnDisk":`이 서버의 디스크에는 아무것도 없습니다 — 영구 저장이 꺼져 있거나 아직 기록한 내용이 없습니다.`,"views.logs.nothingPersisted":`영구 저장된 것 없음`,"views.logs.persistedSummary":`{workspace} · 서버 {total}대 중 {persisted}대가 디스크에 · {size}`,"views.logs.persistedTitle":`영구 저장된 로그`,"views.logs.pickServerDescription":`영구 저장된 출력과 실시간 스트림은 서버별입니다. 목록에서 하나를 고르세요.`,"views.logs.pickServerTitle":`서버 선택`,"views.logs.reload":`다시 불러오기`,"views.logs.retentionNote":`로테이션과 보존은 워크스페이스 설정 → 로그에서 설정합니다.`,"views.logs.searchAria":`로그 검색`,"views.logs.searchPlaceholder":`끝부분 창 검색`,"views.logs.searchedLines":`{count}줄을 검색했습니다`,"views.logs.streamAria":`스트림`,"views.logs.tailAria":`끝부분 크기`,"views.logs.waitingOutput":`연결됨 — 출력을 기다리는 중입니다.`,"views.overview.acrossTree":`트리 전체에서`,"views.overview.cpuNow":`지금 {value}% cpu`,"views.overview.crashedOrUnhealthy":`충돌 또는 비정상`,"views.overview.description":`이 워크스페이스의 모든 서버 라이브 상태. 하나의 이벤트 스트림으로 갱신됩니다.`,"views.overview.emptyDescription":`이 워크스페이스가 계속 살려 둘 첫 프로세스를 추가하세요.`,"views.overview.emptyTitle":`이 워크스페이스에 서버가 없습니다`,"views.overview.enabled":`{count}대 사용`,"views.overview.longestUptime":`최장 가동 시간`,"views.overview.needLook":{one:`서버 {count}대를 살펴봐야 합니다`,other:`서버 {count}대를 살펴봐야 합니다`},"views.overview.needsAttention":`확인 필요`,"views.overview.notUp":`{count}대 중지됨`,"views.overview.nothingBroken":`고장 난 것이 없습니다`,"views.overview.nothingRunning":`실행 중인 것이 없습니다`,"views.overview.openFullList":`전체 목록 열기`,"views.overview.peak":`최고 {value}`,"views.overview.processMemory":`프로세스 메모리`,"views.overview.recentActivity":`최근 활동`,"views.overview.running":`실행 중`,"views.overview.sampling":`리소스 기록은 5초마다 샘플링되어 이 세션 동안 보관됩니다`,"views.overview.stopped":`중지됨`,"views.overview.workspaceLabel":`워크스페이스 {id}`,"views.route.server":`서버`,"views.serverDetail.allServers":`모든 서버`,"views.serverDetail.autostart":`제어판과 함께 자동 시작`,"views.serverDetail.backToServers":`서버로 돌아가기`,"views.serverDetail.bind":`바인드`,"views.serverDetail.bindCustom":`{bind} — 사용자 지정`,"views.serverDetail.bindLan":`0.0.0.0 — 모든 인터페이스`,"views.serverDetail.bindLocal":`127.0.0.1 — 이 컴퓨터에서만`,"views.serverDetail.closeEditor":`편집기 닫기`,"views.serverDetail.copyJson":`JSON 구성 복사`,"views.serverDetail.crashes24":`24시간 충돌`,"views.serverDetail.dependencies":`의존성`,"views.serverDetail.detached":`분리됨`,"views.serverDetail.detachedHint":`이 프로세스는 스스로를 교체했습니다. 제어판은 두 번째 복사본을 시작하지 않고 후속 프로세스를 인수했습니다. 중지는 계속 작동하며, 출력은 후속 프로세스가 보낸 곳에 남습니다.`,"views.serverDetail.disableServer":`서버 사용 안 함`,"views.serverDetail.editHint":`이 항목의 모든 필드 편집`,"views.serverDetail.effectiveConfig":`적용되는 구성`,"views.serverDetail.effectiveConfigNote":`설정의 기본값이 이미 이 값들에 병합되어 있습니다.`,"views.serverDetail.enableServer":`서버 사용`,"views.serverDetail.eventHistory":`이벤트 기록`,"views.serverDetail.eventHistoryNote":`제어판이 24시간 동안 보관합니다.`,"views.serverDetail.fieldArgs":`인수`,"views.serverDetail.fieldBackupPaths":`백업 경로`,"views.serverDetail.fieldBootstrap":`부트스트랩`,"views.serverDetail.fieldCommand":`명령`,"views.serverDetail.fieldCwd":`작업 디렉터리`,"views.serverDetail.fieldDataEnvs":`데이터 환경 변수`,"views.serverDetail.fieldDependsOn":`의존 대상`,"views.serverDetail.fieldEnv":`환경 변수`,"views.serverDetail.fieldEnvFile":`환경 파일`,"views.serverDetail.fieldHealth":`상태`,"views.serverDetail.fieldLogBuffer":`로그 버퍼`,"views.serverDetail.fieldOnPortConflict":`포트 충돌 시`,"views.serverDetail.fieldPortBind":`포트 · 바인드`,"views.serverDetail.fieldRestart":`다시 시작`,"views.serverDetail.fieldRssLimit":`RSS 제한`,"views.serverDetail.fieldStop":`중지`,"views.serverDetail.fields":`필드`,"views.serverDetail.goneDescription":`{id}이(가) 더 이상 servers.config.json에 없습니다. 다른 탭에서 제거되었을 수 있습니다.`,"views.serverDetail.goneTitle":`해당 서버가 없습니다`,"views.serverDetail.health":`상태`,"views.serverDetail.healthProbe":`상태 검사`,"views.serverDetail.lastCrash":`마지막 충돌`,"views.serverDetail.lastProbe":`마지막 검사`,"views.serverDetail.logBufferLines":`{count}줄`,"views.serverDetail.memoryRss":`메모리 (RSS)`,"views.serverDetail.moreActions":`{label}의 추가 작업`,"views.serverDetail.neverWritten":`이 서버는 아직 아무것도 기록하지 않았습니다.`,"views.serverDetail.nextAttempt":`다음 시도`,"views.serverDetail.none":`없음`,"views.serverDetail.off":`꺼짐`,"views.serverDetail.persistent":`상주`,"views.serverDetail.persistentHint":"이 항목은 자체 nanny로 실행되므로 제어판이 중지, 재시작 또는 종료되어도 계속 실행됩니다. `home-hosted down`은 중지하지 않고 보고만 하며, 중지하는 것은 중지뿐입니다.","views.serverDetail.pid":`PID`,"views.serverDetail.portFree":`사용 가능`,"views.serverDetail.portInUse":`사용 중`,"views.serverDetail.portState":`포트 상태`,"views.serverDetail.probeFailed":`상태 검사가 통과되지 않았습니다.`,"views.serverDetail.probeFailedFor":`상태 검사가 {duration} 동안 통과되지 않았습니다.`,"views.serverDetail.processes":`프로세스`,"views.serverDetail.rawJson":`원시 JSON`,"views.serverDetail.removeAutostart":`자동 시작에서 제거`,"views.serverDetail.removeDescription":`{label}이(가) servers.config.json에서 제거됩니다. 프로세스가 중지되고 로그와 충돌 기록도 함께 삭제됩니다.`,"views.serverDetail.removeNote":`제어판에서는 되돌릴 수 없습니다 — 항목을 직접 또는 백업에서 다시 추가해야 합니다.`,"views.serverDetail.removeServer":`서버 제거`,"views.serverDetail.removeTitle":`이 서버를 제거할까요?`,"views.serverDetail.restart":`다시 시작`,"views.serverDetail.restarts":`재시작`,"views.serverDetail.sectionConfig":`구성`,"views.serverDetail.sectionHistory":`기록`,"views.serverDetail.sectionOutput":`실시간 출력`,"views.serverDetail.start":`시작`,"views.serverDetail.startsOnItsOwn":`스스로 시작합니다. {code}에 id를 추가하면 다른 서버 뒤에 오도록 순서를 정할 수 있습니다.`,"views.serverDetail.stop":`중지`,"views.serverDetail.telemetry":`텔레메트리`,"views.serverDetail.telemetryNote":`이 페이지가 열려 있는 동안 5초마다 샘플링됩니다.`,"views.serverDetail.unhealthyFor":`비정상 지속 시간`,"views.serverDetail.uptime24":`24시간 가동`,"views.serverDetail.waitingFirstLine":`첫 줄을 기다리는 중…`,"views.servers.clearFilter":`필터 지우기`,"views.servers.clearFilters":`필터 지우기`,"views.servers.description":`{workspace}의 servers.config.json에 있는 모든 항목. 실시간 리소스, 상태, 기록 포함.`,"views.servers.emptyDescription":`이 제어판이 감독할 첫 프로세스를 추가하세요. 명령, 인수, 환경 변수, 작업 디렉터리는 모두 구성 파일에 있습니다.`,"views.servers.emptyTitle":`구성된 서버 없음`,"views.servers.filterAll":`전체`,"views.servers.filterAria":`서버 필터링`,"views.servers.filterAttention":`주의`,"views.servers.filterDisabled":`사용 안 함`,"views.servers.filterPlaceholder":`id, 레이블, 명령 또는 포트로 필터링`,"views.servers.filterRunning":`실행 중`,"views.servers.filterStopped":`중지됨`,"views.servers.noMatchDescription":`다른 상태를 시도하거나 검색을 지우세요.`,"views.servers.noMatchTitle":`이 필터와 일치하는 항목이 없습니다`,"views.settings.changesDescription":`저장하면 {workspace}의 설정에 기록될 내용.`,"views.settings.configErrorNote":`제어판은 기존 구성으로 계속 감독합니다. 파일을 고치면 스스로 다시 불러옵니다.`,"views.settings.configErrorTitle":`워크스페이스 구성을 읽을 수 없습니다`,"views.settings.configWarningTitle":`이 워크스페이스의 구성에 경고가 있습니다`,"views.settings.ddnsDescription":`어느 등록 기관이 보유하든 호스트 이름을 이 컴퓨터의 공인 주소로 계속 가리키게 합니다.`,"views.settings.defaultsDescription":`이 워크스페이스에서 자체 값을 설정하지 않은 모든 항목에 적용됩니다.`,"views.settings.description":`{workspace}의 서버 기본값, 로그 보존, 알림, 동적 DNS.`,"views.settings.logsDescription":`이 워크스페이스가 출력을 디스크에 얼마나 오래 보관하는지.`,"views.settings.navLabel":`워크스페이스 설정 섹션`,"views.settings.notificationsDescription":`이 워크스페이스의 충돌과 상태 경고를 Telegram 채팅으로 보냅니다.`,"views.settings.saveFailed":`설정을 저장할 수 없습니다.`,"views.settings.saved":`워크스페이스 설정을 저장했습니다.`,"views.settings.savedToast":`워크스페이스 설정 저장됨`,"views.settings.sectionDdns":`동적 DNS`,"views.settings.sectionDefaults":`서버 기본값`,"views.settings.sectionLogs":`로그`,"views.settings.sectionNotifications":`알림`};export{e as default};
|
|
Binary file
|
|
Binary file
|