diff --git a/README_ja.md b/README_ja.md
index 47e3f5a7..d07a85b8 100644
--- a/README_ja.md
+++ b/README_ja.md
@@ -1,86 +1,125 @@
-
# Self-hosted LiveSync
[英語版ドキュメント](./README.md) - [中国語版ドキュメント](./README_cn.md).
-Obsidianで利用可能なすべてのプラットフォームで使える、CouchDBをサーバに使用する、コミュニティ版の同期プラグイン
+Self-hosted LiveSync は、Obsidian 対応のすべてのプラットフォームで利用できる、コミュニティ開発の同期プラグインです。CouchDB や MinIO、S3、R2 などのオブジェクトストレージを利用し、信頼性の高いデータ同期を実現します。
+
+WebRTC によるピアツーピア(P2P)同期にも対応しており、中央のデータ保存サーバーを介さずにデバイス間でノートを交換できます。ピアの検出にはシグナリングリレーが必要です。詳しくは[ピアツーピア同期の仕組み](./docs/p2p.md)をご覧ください。
+
+セットアップガイド、トラブルシューティング、技術資料、設計判断、過去の資料は[ドキュメント一覧](docs/README.md)から確認できます。

-※公式のSyncと同期することはできません。
-
+>[!IMPORTANT]
+> このプラグインは公式の「Obsidian Sync」と互換性がなく、同サービスとは同期できません。
## 機能
-- 高効率・低トラフィックでVault同士を同期
-- 競合解決がいい感じ
- - 単純な競合なら自動マージします
-- OSSソリューションを同期サーバに使用
- - 互換ソリューションも使用可能です
-- End-to-End暗号化実装済み
-- 設定・スニペット・テーマ、プラグインの同期が可能
-- [Webクリッパー](https://chrome.google.com/webstore/detail/obsidian-livesync-webclip/jfpaflmpckblieefkegjncjoceapakdf) もあります
-
-NDAや類似の契約や義務、倫理を守る必要のある、研究者、設計者、開発者のような方に特にオススメです。
+- Vault を効率的に、通信量を抑えて同期します。
+- 競合する変更を適切に処理します。
+ - 単純な競合は自動的にマージします。
+- サーバーにはオープンソースのソリューションを使用します。
+ - 互換性のあるソリューションにも対応します。
+- エンドツーエンド暗号化に対応します。
+- [カスタマイズ同期(高度な設定)](docs/settings_ja.md#6-customisation-sync-advanced)または[非表示ファイル同期](docs/tips/hidden-file-sync.md)で、設定、スニペット、テーマ、プラグインを同期します。
+- WebRTC によるピアツーピア同期を行います。
+このプラグインは、セキュリティ上の理由からノートを完全に自己管理する必要がある研究者、エンジニア、開発者に特に適しています。ノートが完全にプライベートなままであることに安心感を求める方にも適しています。
>[!IMPORTANT]
-> - インストール・アップデート前には必ずVaultをバックアップしてください
-> - 複数の同期ソリューションを同時に有効にしないでください(これはiCloudや公式のSyncも含みます)
-> - このプラグインは同期プラグインです。バックアップとして使用しないでください
-
+> - このプラグインをインストールまたはアップグレードする前に、Vault をバックアップしてください。
+> - iCloud や Obsidian Sync など、同じ Vault に書き込む他の同期ソリューションと同時に有効にしないでください。
+> - バックアップには、[Differential ZIP Backup](https://github.com/vrtmrz/diffzip) も利用できます。
## このプラグインの使い方
-### 3分セットアップ - CouchDB on fly.io
+セルフホストでは、信頼できるサーバーを選び、自分で管理できます。サーバーをセットアップして保守し、安全な状態を保ってください。
-**はじめての方におすすめ**
+
-[](https://www.youtube.com/watch?v=7sa_I1832Xc)
+### 必要なもの
-1. [Fly.ioにCouchDBをセットアップする](docs/setup_flyio.md)
-2. [Quick Setup](docs/quick_setup_ja.md)でプラグインを設定する
+| 方法 | 必要なもの | あると便利なもの |
+| --- | --- | --- |
+| CouchDB | CouchDB 互換サーバー | — |
+| オブジェクトストレージ | S3 互換サービスまたはサーバー | — |
+| ピアツーピア | 不要 | 独自のシグナリングサーバー |
+CouchDB 互換サーバーを使う場合は、環境に合ったセットアップガイドを選んでください。
-### Manually Setup
+- [自分のサーバー](docs/setup_own_server_ja.md): Raspberry Pi など、自分で管理するサーバーで CouchDB を実行します。
+- [Docker](docker/README.md): 付属の Docker スタックで CouchDB をデプロイします。
+- [Fly.io](docs/setup_flyio.md): ホスト型インフラ上で自分の CouchDB インスタンスを管理します。
+- [IBM Cloudant(マネージド)](docs/setup_cloudant_ja.md): IBM が管理するデータベースサービスを利用します。
-1. サーバのセットアップ
- 1. [Fly.ioにCouchDBをセットアップする](docs/setup_flyio.md)
- 2. [CouchDBをセットアップする](docs/setup_own_server_ja.md)
-2. [Quick Setup](docs/quick_setup_ja.md)でプラグインを設定する
+各ガイドでセットアップ方法とプロバイダー固有の費用を確認してください。
-> [!TIP]
-> IBM Cloudantもまだ使用できますが、いくつかの理由で現在はおすすめしていません。[IBM Cloudantのセットアップ](docs/setup_cloudant_ja.md)はまだあります。
+
+
+Fly.io の動画による手順は、[自動セットアップ](docs/setup_flyio.md#a-very-automated-setup)を参照してください。
+
+P2P では中央のデータ保存サーバーは不要ですが、ピアの検出にはシグナリングリレーが必要です。プロジェクトの公開シグナリングリレーを利用できるため、サーバーを用意する必要はありません。別のデバイスが同期している間は、必要なデータを持つデバイスを少なくとも1台オンラインにしてください。[P2P の通信モデル](./docs/p2p.md)を確認してから、[ピアツーピアのセットアップ](./docs/setup_p2p.md)に進んでください。
+
+デバイス上で P2P のセットアップと接続がどのように動作するかを確認したい場合は、実験的な [WebPeer ブラウザーユーティリティ](https://vrtmrz.github.io/obsidian-livesync/webpeer/)のガイド付き接続チェックを試してください。空の Vault を使用し、ノートの同期はテストしません。範囲と制限は [WebPeer のドキュメント](src/apps/webpeer/README.md)を参照してください。
+
+### 同期を開始する
+
+1. 最初のデバイスで、CouchDB の[クイックセットアップ](docs/quick_setup_ja.md)、[オブジェクトストレージのセットアップ](docs/setup_object_storage.md)、または[ピアツーピアのセットアップ](docs/setup_p2p.md)を使用して Self-hosted LiveSync をインストールおよび設定します。
+2. 動作中のデバイスからセットアップ URI を生成し、同じガイドに従って他のデバイスを追加します。
+3. テスト用ノートを作成し、双方向に同期されることを確認します。
+
+
+
+### コミュニティが紹介するホスティングサービス
+
+> [!NOTE]
+> 以下のサービスは第三者によって運営されています。Self-hosted LiveSync の公式サービスではなく、本プロジェクトが推奨または保証するものでもありません。表内の掲載は各プロバイダーから提案されたものです。
+
+自分でサーバーをセットアップして保守したくない場合は、以下のプロバイダーが、このプラグインから接続できるマネージド CouchDB サーバーを提供しています。
+
+| プロバイダー | 提供内容 |
+| --- | --- |
+| [Zenith Hosting](https://zenith.hosting/host/obsidian-livesync) | マネージド CouchDB ホスティング。 |
+
+同期データはプロバイダーが運営するサーバーに保存されます。Vault にとって許容できるか検討し、利用前にプロバイダーの最新の利用規約、料金、データ取扱方針を確認してください。
## ステータスバーの説明
-同期ステータスはステータスバーに、下記のアイコンとともに表示されます
+同期ステータスは、デフォルトでステータスバーとエディタ内に表示されます。主な表示は以下のとおりです。
-- アクティビティー
- - 📲 ネットワーク接続中
-- 同期ステータス
- - ⏹️ 停止中
- - 💤 変更待ち(LiveSync中)
- - ⚡️ 同期の進行中
- - ⚠ エラー
-- 統計情報
- - ↑ アップロードしたチャンクとメタデータ数
- - ↓ ダウンロードしたチャンクとメタデータ数
-- 進捗情報
- - 📥 転送後、未処理の項目数
- - 📄 稼働中データベース操作数
- - 💾 稼働中のストレージ書き込み数操作数
- - ⏳ 稼働中のストレージ読み込み数操作数
- - 🛫 待機中のストレージ読み込み数操作数
- - ⚙️ 隠しファイルの操作数(待機・稼働中合計)
- - 🧩 取得待ちを行っているチャンク数
- - 🔌 設定同期関連の操作数
+| 表示 | 意味 |
+| --- | --- |
+| ⏹️ | 停止中。 |
+| 🌀 | 同期を開始しています。 |
+| 💤 | LiveSync モードが変更を待っています。 |
+| ⚡️ | 同期中です。 |
+| ⏩ | CouchDB の変更履歴を比較しています(ローカルに保持済みの項目も含みます)。 |
+| ⚠ | エラーが発生しました。 |
+| ↑ / ↓ | アップロード/ダウンロードしたチャンクとメタデータ。 |
+| 📲 / 🌐N | 個別のリモート操作を実行中/概算のリモートリクエスト数。 |
-データベースやファイルの破損を避けるため、Obsidianの終了は進捗情報が表示されなくなるまで待ってください(プラグインも復帰を試みますが)。特にファイルを削除やリネームした場合は気をつけてください。
+
+詳細な進捗カウンターと [CSS のカスタマイズ](docs/tips/status-display.md#customising-status-items-with-css-snippets)については、[ステータス表示ガイド](docs/tips/status-display.md)を参照してください。
-## Tips and Troubleshooting
-- 2台目以降のセットアップ時に、初期同期をより迅速かつ簡単に行うには、[ファストセットアップガイド](docs/tips/fast-setup_ja.md)をご参照ください。
-- 何かこまったら、[Tips and Troubleshooting](docs/troubleshooting.md)をご参照ください。
+Obsidian を閉じる前に、保留中のファイル操作が完了するまで待ってください。特にファイルの削除や名前変更の後は注意してください。
-## License
+## ヒントとトラブルシューティング
+- 後続のデバイスをセットアップする際に、より高速で簡単な初期複製を行う場合は、[Fast Setup ガイド](docs/tips/fast-setup_ja.md)を参照してください。
+- 通常のノート同期が動作することを確認してから、[非表示ファイル同期](docs/tips/hidden-file-sync.md)を設定してください。
+- Obsidian または LiveSync が正常に起動できない場合は、リモートデータベースを変更またはリセットする前に、[復旧とフラグファイル](docs/recovery.md)を確認してください。
+- Self-hosted LiveSync 1.0 には Obsidian 1.7.2 以降が必要です。旧バージョンの Obsidian で 1.0 を使用する必要がある場合は、バージョン、プラットフォーム、およびそのバージョンにとどまる理由を添えて [Issue を作成](https://github.com/vrtmrz/obsidian-livesync/issues/new?template=issue-report.md)してください。サポートの拡張が可能かどうかを検討します。標準のコミュニティプラグインインストーラーでは、互換性のある古いプラグインリリースが選択されます。
+- プラグインが動作しない場合は、[トラブルシューティング](docs/troubleshooting.md)を参照してください。
-Licensed under the MIT License.
\ No newline at end of file
+## 謝辞
+本プロジェクトの継続的な発展は、以下の方々の支援によって支えられています。
+- 多くの [コントリビューター](https://github.com/vrtmrz/obsidian-livesync/graphs/contributors)の皆様。
+- 多くの [GitHub スポンサー](https://github.com/sponsors/vrtmrz#sponsors)の皆様。
+- JetBrains コミュニティプログラム / オープンソースプロジェクト支援
+
+貢献してくださった方々のご厚意とご支援に、深く感謝します。
+
+## 開発ガイド
+開発環境のセットアップ、テスト基盤、コード規約などについては、[開発ガイド](devs.md)を参照してください。
+
+## ライセンス
+
+MIT License の下で公開されています。
diff --git a/docs/quick_setup_ja.md b/docs/quick_setup_ja.md
index 06c2644c..3ea1ae88 100644
--- a/docs/quick_setup_ja.md
+++ b/docs/quick_setup_ja.md
@@ -1,93 +1,140 @@
-# Quick setup
-このプラグインには、いろいろな状況に対応するための非常に多くの設定オプションがあります。しかし、実際に使用する設定項目はそれほど多くはありません。そこで、初期設定を簡略化するために、「セットアップウィザード」を実装しています。
-※なお、次のデバイスからは、`現在の設定をセットアップURIにコピー`と`セットアップURIで接続`を使ってセットアップしてください。
+# クイックセットアップ
+[英語版](./quick_setup.md) - [中国語版](./quick_setup_cn.md)
-## Wizardの使い方
-`🧙♂️ Setup wizard` から開きます。もしセットアップされていなかったり、同期設定が何も有効になっていない場合はデフォルトで開いています。
+このガイドでは、最初のデバイスで通常のノート同期を開始し、その後、別のデバイスを追加します。オプション機能は、この基本的な同期が動作することを確認してから設定してください。
-
+開始前に、次の準備をしてください。
-### Discard the existing configuration and set up
-今設定されている内容をいったん全部消してから、ウィザードを始めます。
+- 対象となるすべての Vault をバックアップする。
+- Obsidian Sync、iCloud 同期、および同じ Vault に書き込む他のサービスを無効にする。
+- リモートサービスとセットアップ URI を用意する。
+- セットアップ URI とそのパスフレーズを別々に保管する。
-### Do not discard the existing configuration and set up
-今の設定を消さずにウィザードを開始します。
-たとえ設定されていたとしても、ウィザードモードではすべての設定を見ることができません。
+この手順では、推奨されるプロビジョニング済み CouchDB の手順を説明します。サーバーとセットアップ URI の準備方法は[こちら](./setup_own_server_ja.md)を参照してください。
-いずれかのNextを押すと、設定画面がウィザードモードになります。
+## セットアップ URI の内容
-### Wizardモード
+セットアップ URI は `obsidian://setuplivesync?settings=` で始まります。認証情報を含む接続設定が暗号化されて格納されていますが、暗号化されていても URI 自体を安全に保管してください。
-
+セットアップ URI 用のパスフレーズは URI を復号するためのものです。同期データを保護する Vault 暗号化パスフレーズとは別のものです。両方を安全に保管し、URI とそのパスフレーズを同じ経路で送らないでください。
-順番に設定を行っていきます。
+## 1台目のデバイスをセットアップする
-## Remote Database configuration
+リモートデータベースが新規の場合、またはサーバー全体を再構築する際にこのデバイスを明示的に正本とする場合に限り、この手順を使ってください。
-### Remote databaseの設定
-セットアップしたデータベースの情報を入力していきます。
+1. 対象の Vault に Self-hosted LiveSync をインストールして有効にします。
+2. `Welcome to Self-hosted LiveSync` 通知を選び、オンボーディングを開きます。
+3. `I am setting this up for the first time` を選び、新しい同期をセットアップすることを確認します。
+4. `Connection Method` で `Use a Setup URI (Recommended)` を選びます。
+5. セットアップ URI を貼り付け、URI 用のパスフレーズを入力して `Test Settings and Continue` を選びます。
-
+ 
-これらはデータベースをセットアップした際に決めた情報です。
+6. `Setup Complete: Preparing to Initialise Server` の内容を確認し、`Restart and Initialise Server` を選びます。
-### Test database connectionとCheck database configuration
-ここで、データベースへの接続状況と、データベース設定を確認します。
-
+ 
-#### Test Database Connection
-データベースに接続できるか自体を確認します。失敗する場合はいくつか理由がありますが、一度Check database configurationを行ってそちらでも失敗するか確認してください。
+7. 最終的な上書き警告をよく読みます。バックアップがあり、リモートデータを置き換える意図があることを確認してから、`I Understand, Overwrite Server` を選びます。
-#### Check database configuration
-データベースの設定を確認し、不備がある場合はその場で修正します。
+ 
-
+8. 新規に用意したデータベースでは、`No Synchronisation Settings Found` と表示される場合があります。新しいデータベースであることが確かな場合は、`Use this device's settings` を選びます。既存の設定があるはずなら、キャンセルして接続先のリモートを確認してください。キャンセルすると、Vault とデータベースへの反映を一時停止した状態で再起動します。リモートを確認するまで LiveSync を無効のままにしてください。`Could Not Read Synchronisation Settings` と表示された場合は再試行するか、このデバイスの設定を使って上書きを続行します。上書きには正常な接続が必要です。
-この項目は接続先によって異なる場合があります。上記の場合、みっつのFixボタンを順にすべて押してください。
-Fixボタンがなくなり、すべてチェックマークになれば完了です。
+ 
-### 機密性設定
+9. `All optional features are disabled` の確認に進みます。通常の同期経路を確認するまで、オプション機能は無効のままにしてください。
+10. 初期化と、要求された再起動が完了するまで待ちます。LiveSync の進捗表示が消えるまで Obsidian を開いたままにしてください。
-
+別のデバイスを追加する前に、通常のテストノートを作成し、アップロードが完了するまで待ちます。
-意図しないデータベースの暴露に備えて、End to End Encryptionを有効にします。この項目を有効にした場合、デバイスを出る瞬間にノートの内容が暗号化されます。`Path Obfuscation`を有効にすると、ファイル名も難読化されます。現在は安定しているため、こちらも推奨されます。
-暗号化には256bitのAES-GCMを採用しています。
-これらの設定は、あなたが閉じたネットワークの内側にいて、かつ第三者からアクセスされない事が明確な場合には無効にできます。
+## 別のデバイス用のセットアップ URI を作成する
+動作中の1台目のデバイスで、追加デバイス用のセットアップ URI を作成します。サーバーのプロビジョニング時に作成した URI を使い回すのではなく、1台目で実際に使われている設定を取り込めます。
-
+1. 1台目で Obsidian のコマンドパレットを開きます。
+2. `Self-hosted LiveSync: Copy settings as a new Setup URI` を実行します。
+3. URI を保護する新しいパスフレーズを入力し、`OK` を選びます。
-### Next
-次へ進みます
+ 
-### Discard exist database and proceed
-すでにRemote databaseがある場合、Remote databaseの内容を破棄してから次へ進みます
+4. 生成されたセットアップ URI をコピーし、`OK` を選びます。
+ 
-## Sync Settings
-最後に同期方法の設定を行います。
+新しい URI とそのパスフレーズは別々に保管してください。URI は暗号化されていますが、認証情報と Vault 設定を含むため、引き続き安全に扱ってください。
-
+## 別のデバイスを追加する
-Presetsから、いずれかの同期方法を選び`Apply`を行うと、必要に応じてローカル・リモートのデータベースを初期化・構築します。
-「All done!」(日本語環境では「完了!」)と表示されれば完了です。自動的に、「現在の設定をセットアップURIにコピー」のダイアログが開き、Setup URIを暗号化するためのパスフレーズを求められます(このパスフレーズはSetup URIを暗号化するためのもので、Vault自体の暗号化キーではありません)。
-パスフレーズを入力すると、クリップボードにSetup URIが保存されますので、これを2台目以降のデバイスに何らかの方法で転送してください。
+新しい Vault、または別途バックアップした Vault を使ってください。未同期のノートがある本番 Vault は、[Fast Setup の選択肢](./tips/fast-setup_ja.md)を確認せずに使用しないでください。
-
+1. Self-hosted LiveSync をインストールして有効にします。
+2. `Welcome to Self-hosted LiveSync` 通知からオンボーディングを開きます。
+3. `I am adding a device to an existing synchronisation setup` を選び、デバイスを追加することを確認します。
+4. `Device Setup Method` で `Use a Setup URI (Recommended)` を選びます。
+5. 1台目で作成した新しいセットアップ URI を貼り付け、URI 用のパスフレーズを入力して `Test Settings and Continue` を選びます。
+6. `Setup Complete: Preparing to Fetch Synchronisation Data` の内容を確認し、`Restart and Fetch Data` を選びます。
-お好みのパスフレーズを設定してください。
-クリップボードにSetup URIが保存されますので、これを2台目以降のデバイスに何らかの方法で転送してください。
+ 
-# 2台目以降の設定方法
-2台目の端末にSelf-hosted LiveSyncをインストールしたあと、コマンドパレットから`Use the copied setup URI (Formerly Open setup URI)`を選択し、転送したsetup URIを入力します。その後、パスフレーズを入力するとセットアップ用のウィザードが開きます。
-下記のように答えてください。
+7. 新規または空の Vault では `Overwrite all with remote files` を選びます。ローカルの作業がある Vault では操作を止め、[Fast Setup ガイド](./tips/fast-setup_ja.md)から適切な方法を選んでください。
-- `Importing LiveSync's conf, OK?` に `Yes`
-- `How would you like to set it up?` に `Set it up as secondary or subsequent device`
+ 
-これで設定が反映され、レプリケーションが開始されます。
+8. 追加のローカルファイルの扱いを尋ねられたら、保守的な選択肢は `Keep local files even if not on remote` です。ローカル Vault を破棄してリモートと完全に同じ状態にする意図がある場合に限り、削除する選択肢を使ってください。
-> [!TIP]
-> **ファストセットアップ (Fast Setup)**
-> 近年のバージョンでは、セットアップURIの読み込みやデータの全取得(Fetch All)を実行した際、より簡単に同期戦略を選択して即座に初期同期を完了できる **ファストセットアップ (Simple Fetch)** フローが利用できます。詳細は [ファストセットアップガイド](./tips/fast-setup_ja.md) をご参照ください。
\ No newline at end of file
+ 
+
+9. データ取得、ファイルへの反映、および要求された再起動が完了するまで待ちます。LiveSync の進捗表示が消えるまで Obsidian を開いたままにしてください。
+
+1台目で作成したテストノートが変更されずに表示されることを確認します。次に、新しいデバイスで2つ目の通常ノートを作成または編集し、1台目に届くことを確認します。
+
+
+
+## 通常の同期が動作した後
+
+オプション機能は、どの機能が管理するかと初期化の方向を明確にするため、1つずつ追加してください。
+
+- 選択した非表示ファイルやフォルダーには[非表示ファイル同期](./tips/hidden-file-sync.md)を使用します。
+- Obsidian のカスタマイズ設定には[カスタマイズ同期](./settings_ja.md#6-customisation-sync-advanced)を使用します。
+
+同じファイルに両方の機能を有効にしないでください。
+
+## 1台目で CouchDB を手動設定する
+
+この方法は CouchDB の準備ができていて、セットアップ URI を利用できない場合に使います。表示されるオンボーディング画面で1台目を設定する手順であり、CouchDB サーバーのプロビジョニングや修復は行いません。後続のデバイスには、認証情報を再入力するのではなく、この1台目で動作確認後に作成したセットアップ URI を使ってください。
+
+1. 対象の Vault に Self-hosted LiveSync をインストールして有効にします。
+2. `Welcome to Self-hosted LiveSync` 通知を選び、`I am setting this up for the first time` を選択して、新しい同期をセットアップすることを確認します。
+3. `Connection Method` で `Configure a remote manually`、続けて `Proceed with manual configuration` を選びます。
+
+ 
+
+4. `End-to-End Encryption` で同期データの保護方法を決めます。
+ - 通常の新規 Vault では `End-to-End Encryption` を有効にし、強力な Vault 暗号化パスフレーズを入力します。
+ - リモートドキュメントのプロパティも隠す場合は `Obfuscate Properties` を有効にします。
+ - Vault 暗号化パスフレーズは安全に保管してください。セットアップ URI を保護するパスフレーズとは別のものです。
+
+ 
+
+5. `Choose a synchronisation remote` で `CouchDB` を選び、`Continue to CouchDB setup` を選びます。
+
+ 
+
+6. CouchDB の完全な URL、ユーザー名、パスワード、データベース名を入力します。
+ - Obsidian Mobile では HTTPS が必要です。HTTP は、デスクトップから信頼できるローカル接続を行う場合に限り使用できます。
+ - 選択したデータベースへの接続が許可された認証情報を使います。1台目を設定する際、データベースが存在しなければ作成できる権限も必要です。
+
+ 
+
+7. `Check server requirements` は任意です。表示中の認証情報を Obsidian の内部リクエスト API 経由で設定済みサーバーへ送信します。一部の検査には CouchDB 管理者権限が必要です。最初の検査は読み取り専用です。サーバー変更が提案された場合は、個々の変更内容を確認してから別途承認してください。
+
+ 
+
+8. `Create or connect to database and continue` を選びます。オンボーディングを続けるには、この接続テストに成功する必要があります。
+9. `Setup Complete: Preparing to Initialise Server` の内容を確認し、`Restart and Initialise Server` を選びます。
+10. 最終的な上書き警告を読みます。このデバイスを正本とする意図があり、最新のバックアップがある場合に限り、`I Understand, Overwrite Server` を選びます。
+11. 新規作成したデータベースでは `No Synchronisation Settings Found` と表示される場合があります。この新規データベースであることが確かな場合は、`Use this device's settings` を選びます。既存の設定があるはずなら、キャンセルして接続先を確認してください。キャンセル後は Vault とデータベースへの反映を一時停止した状態で再起動するため、リモートを確認するまで LiveSync を無効のままにしてください。`Could Not Read Synchronisation Settings` と表示された場合は再試行するか、このデバイスの設定を使って上書きを続行します。上書きには正常な接続が必要です。
+12. `All optional features are disabled` の確認に進み、初期化の進捗が消えるまで Obsidian を開いたままにしてください。
+
+通常のテストノートを作成し、同期されることを確認します。CouchDB に届いたら、[別のデバイス用のセットアップ URI を作成する](#別のデバイス用のセットアップ-uri-を作成する)、続けて[別のデバイスを追加する](#別のデバイスを追加する)に進んでください。これにより、2台目の設定を、1台目で実際に適用されたリモートプロファイルと暗号化設定に合わせられます。
diff --git a/docs/settings_ja.md b/docs/settings_ja.md
index 8d75dd7d..19d94b0c 100644
--- a/docs/settings_ja.md
+++ b/docs/settings_ja.md
@@ -1,507 +1,1629 @@
-注意:少し内容が古くなっています。
+# Self-hosted LiveSync の設定項目
-# このプラグインの設定項目
+Self-hosted LiveSync には数多くの設定項目があります。このドキュメントでは各設定の詳細について説明します(導入手順そのものではありません)。設定は複数のカテゴリに分類され、アイコンで表示されます。アイコンの対応は以下のとおりです。
-## Remote Database Configurations
-同期先のデータベース設定(Remote Server)を行います。
+Obsidian 1.13 以降では、ルート設定ページはタスク別に整理されています。未設定の状態では **Quick Setup(クイックセットアップ)** が最初に表示され、続いて **Synchronisation(同期)** と **General Settings(一般設定)** が表示されます。本プラグインの設定が完了すると、**Synchronisation(同期)** と **General Settings(一般設定)** が先頭になり、続いて **Set up other devices(他のデバイスのセットアップ)** と **Quick Setup(クイックセットアップ)** が表示されます。以前のサポート対象 Obsidian バージョンでは、同じ項目を備えたペイン形式が維持されます。未設定時は **Quick Setup** が開き、設定済み時は **General Settings** が開きます。
-現在のバージョンでは、複数のリモート接続設定(接続プロファイル)を登録・管理し、切り替えて使用することが可能です(「Remote Databases」リスト)。
+| アイコン | ルートグループ | 内容または利用条件 |
+| :--: | ------------------------ | ------------------------------------------------------------- |
+| 🧙♂️ | Quick Setup | セットアップ URI、オンボーディング、有効化操作 |
+| 🔄 | Synchronisation | リモート設定および同期設定 |
+| ⚙️ | General Settings | 外観、ロギング、追加メニュー |
+| 📲 | Set up other devices(他のデバイスのセットアップ) | 設定完了後のセットアップ URI のコピーまたは QR コード表示 |
+| 🛠️ | Maintenance and recovery(メンテナンスと復旧) | メンテナンスおよび Hatch(ハッチ) |
+| 🧩 | Extra features(追加機能) | 高度な機能が有効な場合のセレクターおよびカスタマイズ同期 |
+| 🔧 | Advanced settings(高度な設定) | 各モードが有効な場合の高度な設定、パワーユーザー向け設定、パッチ |
+| ℹ️ | Help and information(ヘルプと情報) | ヘルプとトラブルシューティング、更新履歴 |
-- **➕ 新規接続を追加 (Add new connection)**: 新しい接続設定を作成し、各セットアップダイアログを起動します。
-- **📥 接続をインポート (Import connection)**: 接続文字列(`sls+https://...`、`sls+s3://...`、`sls+p2p://...`など)を貼り付けてインポートします。
+## 1.0 における機能の成熟度
+
+以下のステータスは、1.0 系統におけるオプション機能および互換性機能に適用されます。
+
+| ステータス | 対象機能 | 1.0 の方針 |
+| --- | --- | --- |
+| サポート対象(オプトイン) | Peer-to-Peer(P2P)同期、非表示ファイル同期、カスタマイズ同期 | 維持されており、実際のランタイムテストでカバーされています。それぞれのセットアップ手順や運用上の制約を受け入れられる場合にのみ有効化してください。 |
+| メンテナンス継続(高度な設定) | データ圧縮 | ストレージと帯域幅のトレードオフを明示的に選ぶ機能として利用できます。複数種類のデータを含むデータセットでは、容量の節約効果より処理負荷とメモリ消費の方が大きくなるため、デフォルトでは無効です。 |
+| ベータまたは実験的機能 | JWT 認証、除外ファイル、新しいファイルによる競合の自動解決、CouchDB 向けガベージコレクション V3 | 明示的なテストや特殊な用途のために残されています。デフォルトでは無効であり、サポートされる最小セットアップには含まれません。 |
+| 互換性維持のみ | V1 動的反復回数、旧 IndexedDB アダプター、現在非推奨のハッシュアルゴリズム、Eden チャンク、保存された `doNotUseFixedRevisionForChunks` キー | 既存の設定とデータは引き続き読み取り可能です。新規 Vault では現在のデフォルトが使用され、互換性コントロールは移行や復旧パスで必要な場合にのみ表示されます。 |
+
+### 初期化が必要な変更の適用
+
+一部の互換性設定はすぐには保存されません。**Apply(適用)** を選択するまで保留状態となります。適用アクションはルート設定ページおよび該当する子ページに表示され続けます。再起動後にどの既存データを使用するかを確認する以下のダイアログが表示されます。
+
+- **Reset Synchronisation on This Device(このデバイスの同期をリセット)**: 設定されたリモートからこのデバイスのローカルデータベースを再構築します。P2P の場合、再起動後にオンラインのソースデバイスを選択します。
+- **Overwrite Server Data with This Device's Files(このデバイスのファイルでサーバーデータを上書き)**: この Vault からローカルおよびリモートのデータベースを再構築します。P2P の場合、現在の Vault ファイルからこのデバイスのみを準備します。
+- **Review another way to apply these settings(これらの設定を適用する別の方法を確認)**: 変更を保留にしたままにするか、初期化なしで適用するかの別の選択肢に戻ります。初期化なしで適用するのは高度な互換性のためのフォールバックであり、既存の同期データと互換性がなくなる可能性があります。
+
+LiveSync は保留中の設定を保存する前に、選択された次回起動時の操作を予約します。検証またはその予約に失敗した場合、設定は未適用のままとなり、設定のみを適用する選択肢は提示されません。
+
+| アイコン | 説明 |
+| :--: | ------------------------------------------------------------------ |
+| 💬 | [0. Change Log(更新履歴)](#0-change-log) |
+| 🧙♂️ | [1. Quick Setup and Extra menus(クイックセットアップと追加メニュー)](#1-quick-setup-and-extra-menus) |
+| ⚙️ | [2. General Settings(一般設定)](#2-general-settings) |
+| 🛰️ | [3. Remote Configuration(リモート設定)](#3-remote-configuration) |
+| 🔄 | [4. Sync Settings(同期設定)](#4-sync-settings) |
+| 🚦 | [5. Selector(セレクター:高度な設定)](#5-selector-advanced) |
+| 🔌 | [6. Customisation sync (Advanced)(カスタマイズ同期:高度な設定)](#6-customisation-sync-advanced) |
+| 🧰 | [7. Hatch(ハッチ)](#7-hatch) |
+| 🔧 | [8. Advanced settings(高度な設定)](#8-advanced-settings) |
+| 💪 | [9. Power users(パワーユーザー向け設定)](#9-power-users) |
+| 🩹 | [10. Patches (Edge Case)(パッチ:エッジケース)](#10-patches-edge-case) |
+| 🎛️ | [11. Maintenance(メンテナンス)](#11-maintenance) |
+
+
+
+## 0. 変更履歴
+
+このペインには常に最新のリリースの履歴が表示されます。特定のプラグインバージョンが読まれたかどうかは追跡せず、通常のアップデート後に自動的に開くことはありません。
+
+内部データベースや設定の互換性レビューは、このペインではなく独立した安全確認ダイアログを使います。Obsidian のレイアウト準備が整った後、保留中のレビューがある場合は **「互換性レビューのため同期を一時停止しました(Synchronisation paused for compatibility review)」** として開きます。ダイアログにはリモート同期が一時停止された理由が説明され、アップデート前に設定されていた自動同期の選択は保持されます。ダイアログを閉じるか **「同期の一時停止を維持(Keep synchronisation paused)」** を選択すると、同期は一時停止されたままになります。通知(Notice)内の **「理由を確認(Review why)」** リンクをクリックするか、コマンド `Review why synchronisation is paused` を実行して再度開けます。**Change Log** を開いてもレビューを承認したことにはなりません。
+
+新しいデバイスを追加した場合や、新しいプロファイルで複製された Vault を開いた場合など、デバイスローカルの承認記録が存在しないこと自体は、レビューを必須とする理由にはなりません。他に保留中のレビューがない場合、LiveSync は現在の内部データベースバージョンを記録します。未設定の既存 Vault はオンボーディング状態のままとなり、次回設定済み起動時に互換性を評価した上で、マーカーが存在しないことを記録します。既知のバージョン差異、無効なマーカー、設定スキーマの問題、および保存済みのレビューについては引き続き対応が必要です。検出された状態が実行中のバージョンで処理可能な場合、**「同期を再開(Resume synchronisation)」** を選択すると現在の内部データベースバージョンが記録され、設定どおりの動作が復元されます。古いバージョンのプラグインでは、新しいデータベースや設定バージョンによって引き起こされた一時停止を解除できません。
+
+
+
+## 1. クイックセットアップと追加メニュー
+
+Quick Setup(クイックセットアップ)には、Self-hosted LiveSync を設定するためのアクションが含まれています。Obsidian 1.13 以降では、これらのアクションはルート設定ページに表示されます。ペインベースのインターフェースでは、**Quick Setup** ペインにまとめて表示されます。
+
+未設定の環境では、オンボーディングダイアログは自動で開かず、Vault のローカルデータベースへのスキャンも行われません。長時間表示される通知からオンボーディングを開始できます。通知を閉じた場合は、Obsidian 1.13 以降ではルートの **Quick Setup** グループにある **「オンボーディングウィザードを再実行(Rerun Onboarding Wizard)」** を使用してください。以前のサポート対象バージョンでは、**Self-hosted LiveSync settings** → **Quick Setup** → **Rerun Onboarding Wizard** から開きます。
+
+このデバイスが同期の初期化元となるファイルを所有している場合は「新しいデバイス(new-device)」のパスを選択してください。すでに確立されたリモートの状態を受信する場合は「既存デバイス(existing-device)」のパスを選択します。ウィザードは設定を有効化して再起動を要求する前に、それぞれ Rebuild(再構築)または Fetch(取得)を予約するため、通常の起動時スキャンが実行される前に選択した初期化処理が実行されます。
+
+### 1. セットアップ操作
+
+Self-hosted LiveSync を設定する推奨手順です。数回のクリックで設定できます。
+
+
+
+#### セットアップ URI で接続
+
+[動作中のデバイスからコピーした](#copy-the-current-settings-to-a-setup-uri)、またはセットアップスクリプトによって生成されたセットアップ URI を使用して Self-hosted LiveSync を設定します。
+
+現在のセットアップ URI は、リモートプロファイル、表示名、および個別のメイン/P2P の選択を保持します。フラットな接続設定のみを含む古い形式のセットアップ URI も引き続きサポートされており、適用時にリモートプロファイルへ移行されます。
+
+設定するデバイスに応じてアクションを選択してください。
+
+| 選択肢 | 動作 |
+| --- | --- |
+| **⚠️ Initialise or overwrite the remote(リモートを初期化または上書き)** | この Vault からリモートを初期化します。リモート上の既存データは上書きされます。 |
+| **🔗 Join this device(このデバイスを参加させる)** | 既存のリモートに参加し、その同期データをこのデバイスに取得(Fetch)します。追加のデバイスにはこれを使用します。 |
+| **⚙️ Apply settings only (advanced)(設定のみ適用:高度な設定)** | 再構築や取得を行わずに設定のみを適用します。このデバイスにすでに互換性のある同期データがある場合にのみ使用してください。 |
+
+#### 手動セットアップ
+
+Self-hosted LiveSync をステップバイステップで手動設定します。最小限の設定項目で設定できます。
+
+手動で CouchDB、オブジェクトストレージ、または P2P のセットアップを完了すると、すでに保存されているプロファイルを置き換えることなく、対応するリモートプロファイルが作成されます。CouchDB およびオブジェクトストレージのセットアップでは、新しいプロファイルがメインリモートとして選択されます。P2P セットアップでは P2P 用として選択され、ウィザードが LiveSync を有効化している場合はメインリモートとしても選択されます。わかりやすい表示名が自動生成され、後から変更可能です。
+
+#### LiveSync を有効化
+
+セットアップが完了していない場合にのみこのボタンが表示されます。手動セットアップが完了したら、このボタンからこのデバイスで LiveSync を有効化できます。
+
+### 2. 他のデバイスをセットアップ
+
+
+
+#### 現在の設定をセットアップ URI にコピー
+
+動作中のデバイスから現在の設定をコピーし、[追加のデバイスでセットアップ URI を開きます](#connect-with-setup-uri)。URI と個別のパスフレーズは厳重に保管してください。
+
+パスフレーズを入力した後、**Setup URI availability** で **Time-bound(有効期限付き)** または **Compatible (no time limit)(互換性優先:無期限)** を選択します。
+
+- **Time-bound(有効期限付き)**: デフォルトです。ダイアログにはこのデバイスのローカルタイムゾーンでの正確な終了時刻が表示されます。現在の固定7日間の UTC ウィンドウの終了時点を指すため、残り時間は7日未満になる場合があります。受信側デバイスには、有効期限付きセットアップ URI をサポートするバージョンが必要です。
+- **Compatible (no time limit)(互換性優先:無期限)**: 時間制限のない既存の暗号化 URI 形式を使用します。古い受信側デバイスでも、URI に含まれる設定をサポートしている必要があります。
+
+時間制限は URI を開く際にチェックされます。すでにインポートされた設定や認証情報は、期限後も引き続き使用可能です。この制限によってリモートアクセス権が取り消されることはなく、デバイスの時計を巻き戻して URI を再利用することも防げません。表示された時刻を過ぎた場合は、動作中のデバイスから新しい URI を生成してください。
+
+QR コード共有は既存の形式を使用し、時間制限はありません。QR コード には共有設定と認証情報が含まれているため、厳重に保管してください。
+
+### 3. 追加メニュー
+
+設定ダイアログを簡潔に保つため、一部のメニューや機能はデフォルトで非表示になっています。Obsidian 1.13 以降では、**General Settings** → **Extra menus** から有効化できます。ペインベースのインターフェースでは、General Settings 内に同様のコントロールが表示されます。
+
+
+
+#### 高度な機能を有効化
+
+画面表示: **高度な機能を有効にする**
+
+設定キー: `useAdvancedMode`
+
+この設定を有効にすると、以下のペインが表示されます。
+| アイコン | 説明 |
+| :--: | ------------------------------------------------------------------ |
+| 🚦 | [5. Selector (Advanced)](#5-selector-advanced) |
+| 🔌 | [6. Customisation sync (Advanced)](#6-customisation-sync-advanced) |
+| 🔧 | [8. Advanced settings(高度な設定)](#8-advanced-settings) |
+
+#### エキスパート機能を有効化
+
+画面表示: **エキスパート機能を有効にする**
+
+設定キー: `usePowerUserMode`
+
+この設定を有効にすると、以下のペインが表示されます。
+| アイコン | 説明 |
+| :--: | ------------------------------------------------------------------ |
+| 💪 | [9. Power users(パワーユーザー向け設定)](#9-power-users) |
+
+#### エッジケース対応機能を有効化
+
+画面表示: **エッジケース対応機能を有効にする**
+
+設定キー: `useEdgeCaseMode`
+
+この設定を有効にすると、以下のペインが表示されます。
+| アイコン | 説明 |
+| :--: | ------------------------------------------------------------------ |
+| 🩹 | [10. Patches (Edge Case)](#10-patches-edge-case) |
+
+
+
+## 2. 一般設定
+
+### 1. 外観
+
+アイコンの意味、進行状況カウンター、CSS スニペットについては、[ステータス表示ガイド](tips/status-display.md) を参照してください。
+
+#### 表示言語
+
+画面表示: **インターフェースの表示言語**
+
+設定キー: `displayLanguage`
+
+表示言語を変更できます。システムの言語や Obsidian の言語設定とは独立しています。
+注意: 未翻訳のメッセージも一部含まれます。エラー報告の際は一度「既定(英語)」に戻してください。もちろん、翻訳への貢献は大歓迎です。
+
+#### エディタ内にステータスを表示
+
+画面表示: **ステータスをエディタ内に表示**
+
+設定キー: `showStatusOnEditor`
+
+エディタ内に同期ステータスを表示できます。
+再起動後に反映されます。
+
+#### ステータスをアイコンのみで表示
+
+画面表示: **ステータス表示をアイコンのみにする**
+
+設定キー: `showOnlyIconsOnEditor`
+
+ステータスをアイコンのみで表示します。ステータスバーのスペースを節約したい場合に便利です。
+
+#### ステータスバーにステータスを表示
+
+画面表示: **ステータスバーに、ステータスを表示**
+
+設定キー: `showStatusOnStatusbar`
+
+ステータスバーに同期ステータスを表示できます(デフォルト: オン)。
+
+#### ファイル警告バナーの代わりにステータスアイコンを表示
+
+画面表示: **ファイル警告バナーの代わりにステータスアイコンを表示**
+
+設定キー: `hideFileWarningNotice`
+
+有効にすると、ファイル警告バナーの代わりにステータス内に ⛔ アイコンが表示されます。詳細情報は表示されなくなります。
+
+#### ネットワーク警告の表示方法
+
+画面表示: **ネットワーク警告の表示方式**
+
+設定キー: `networkWarningStyle`
+
+同期サーバーに接続できないときのネットワークエラーの表示方法を設定します。
+
+#### 大量の変更受信時にワークスペースを保護(オプトイン)
+
+画面表示: **SyncGuard を有効化**
+
+設定キー: `syncGuardEnabled`
+
+有効にすると、CouchDB LiveSync の起動時または再開時に多数のノート変更を受信したことを検知した後、ワークスペースの操作を一時的にブロックします。保護中も変更の受信と適用は続きます。同期に失敗した場合やリモートを利用できない場合も含め、オーバーレイはいつでも解除できます。この設定はデバイスごとに保存され、同期先の他のデバイスには影響しません。
+
+SyncGuard の設定はメインのプラグイン設定とは別に、このデバイス、Vault、および[データベースサフィックス](#database-suffix)ごとにローカル保存されます。セットアップ URI では転送されません。以前のテストビルドで保存された値は、プラグイン起動時にデバイスごとの保存領域へ移行されます。
+
+データベースサフィックスを変更した後は、Obsidian を再起動してから、オーバーレイを利用する前に SyncGuard の2つの設定を確認してください。再起動するまでは、設定画面に以前のサフィックスに対する値が表示される場合があります。
+
+このしきい値により、通常の少量の転送では操作を妨げません。ただし、受信前に変更数を把握できないため、SyncGuard が有効になる前に一部のノートが更新されることがあります。SyncGuard はユーザーインターフェース上の補助機能であり、Vault のアトミックなスナップショットを保証するものでも、他のプラグインや外部ツールの操作を制限するものでもありません。ほかのリモート種別や、初回のキャッチアップ後に発生した通常のライブ変更には適用されません。
+
+**待たずに続行**を選ぶと、同期が続いている間もワークスペースを操作できるため、一部のノートが最新でない場合があります。SyncGuard は主に起動時または再開時の保護機能です。手動で解除した後、内部的に再接続してもオーバーレイが再表示されるとは限りません。後続の変更が反映されたか確認するには、同期状態を確認してください。
+
+#### ワークスペース保護に必要な受信ファイル数
+
+画面表示: **SyncGuard を適用する最小ファイル数**
+
+設定キー: `syncGuardMinimumFiles`
+
+キャッチアップ中に保護を開始するために必要な、異なるノートのメタデータドキュメント数です(デフォルト: 20)。チャンクドキュメントや同じノートの繰り返しのリビジョンは件数に加算されません。保護が始まると、ネットワークからのキャッチアップが正常に完了し、観測されたローカル処理がすべて終わるまで保護が続きます。キャッチアップに失敗した場合は、**待たずに続行**を選んでオフラインで作業してください。
+
+### 2. ログ
+
+#### 通知のみを表示
+
+画面表示: **通知のみ表示**
+
+設定キー: `lessInformationInLog`
+
+ログ出力を抑制し、通知のみを表示します。不具合のログを報告する際は無効にしてください。
+
+#### 詳細ログ
+
+画面表示: **詳細ログ**
+
+設定キー: `showVerboseLog`
+
+詳細なログを出力します。不具合のログを報告する際は有効にしてください。
+
+
+
+## 3. リモート設定
+
+### 1. 接続設定
+
+Self-hosted LiveSync は、**Connection settings** → **Saved connections** に複数のリモート接続プロファイルを保存します。各プロファイルは CouchDB データベース、オブジェクトストレージ接続、または P2P 設定を表し、1つの Vault 内に複数のプロファイルを保持できます。
+
+各プロファイルには一意の内部識別子と表示名があります。表示名は重複しても問題なく、プロファイルの選択には使用されません。メインリモートと P2P リモートは個別に選択されるため、コードや設定のインポートでは `default` のような特別な識別子に依存せず、両方の選択を保持する必要があります。
+
+- **➕ 新規接続を追加 (Add new connection)**: セットアップダイアログを開いて新しい接続プロファイルを作成します。
+- **📥 接続をインポート (Import connection)**: 接続文字列(`sls+https://...`、`sls+s3://...`、`sls+p2p://...` など)を貼り付けてリモート設定プロファイルをインポートします。
- **🔧 設定 (Configure)**: セットアップダイアログを開き、選択した接続プロファイルの設定を編集します。
-- **✅ 有効化 (Activate)**: 選択したプロファイルをアクティブな同期先として有効化します。
+- **✅ 有効化 (Activate)**: このプロファイルを選択し、現在アクティブなリモートとして有効化します。
- **🗑️ 削除 (Delete)**: 接続プロファイルを一覧から削除します。
-これらの接続プロファイルを追加・編集する際、選択したデータベースの種類(CouchDB、S3互換オブジェクトストレージ、P2Pなど)に応じたセットアップダイアログが開きます。
+#### リモートの種類
-何らかの同期が有効になっている場合は編集できないため、同期を解除してから行ってください。
+画面表示: **現在の同期方式**
-### CouchDB の設定
-CouchDBの各設定項目は、接続プロファイルを追加 (➕) または設定 (🔧) する際に開く **CouchDB セットアップダイアログ** 内で設定します。
+設定キー: `remoteType`
-#### URI
-設定キー: couchDB_URI
+アクティブな接続タイプです。接続プロファイルをアクティブ化すると、自動的に従来の構成へ反映されます。
-CouchDBの接続先URIです。ダイアログ内では **URL** と表記されます。Cloudantの場合は「External Endpoint (preferred)」になります。
-注意: Obsidian Mobileではセキュア接続 (HTTPS) のみが使用可能です。また、末尾にスラッシュ(`/`)を付けてはいけません。
+### 参加済みデバイス
-#### Username
-設定キー: couchDB_USER
+**「参加済みデバイス」** から **「デバイスを確認」** を選択すると、アクティブな CouchDB またはオブジェクトストレージ接続上のデバイスレコードを確認できます。コマンドパレットやバージョン通知からも同じ操作を実行できます。**「更新」** を選択すると、リモートから一覧を再読み込みします。このデバイスのレコードがリモートに存在しない場合も含め、常にこのデバイスが先頭に表示されます。このダイアログを開いたり更新したりしても、欠落している CouchDB データベースが自動作成されることはありません。
-CouchDBのログインユーザー名です。ダイアログ内では **Username** と表記されます。このユーザーには管理者権限があることが望ましいです。
+一覧には各デバイスの ID、記録されたプラットフォーム、プラグインのバージョン、アプリのバージョン、最後に記録された接続日時が表示されます。古いクライアントでは情報が不完全な場合があります。これらの記録から、デバイスが現在オンラインかどうかは分かりません。ロックされたリモートでは、許可リスト外のデバイスは **「接続拒否」** と表示されます。
-#### Password
-設定キー: couchDB_PASSWORD
+同期が開始される前、およびこのダイアログが更新されたときに、Self-hosted LiveSync は自身より新しいまたは古いプラグインバージョンが記録されていないか確認します。バージョンが異なる場合は、デバイス間でプラグインバージョンを確認して統一するよう推奨通知が表示されます。これは推奨通知であり、同期自体は停止しません。ダイアログでは、明示的に接続がブロックされていない限り異なるバージョン間の同期は概ね安全ですが、効率が低下したりストレージを多く消費したりする可能性があること、また P2P 同期が利用できない可能性があることが説明されます。不明な開発バージョンのラベルは未分類のままとなります。自動確認は同期開始時に最大で1分に1回実行され、接続を持続的にポーリングすることはありません。
-CouchDBのログインパスワードです。ダイアログ内では **Password** と表記されます。
+**「デバイスの記録を削除(Forget device)」** は、確認後に他のデバイスの参加レコードを削除します。リモートのロック状態や他のすべてのデバイスは保持されます。Vault ファイルが削除されたり、認証情報が無効化されたりすることはありません。ロックされていないリモートでは、デバイスは再度登録可能です。ロックされたリモートでは、既存の復旧手順が適用されます。CouchDB に保存後、結果が確認されます。確認できない場合は一覧を更新して再試行してください。CouchDB はこれらのレコードを同時更新を拒否しないローカルドキュメントにまとめて保存するため、他のデバイスからの変更によって上書きされる可能性があります。他のデバイスで同期を一時停止することで競合を回避できます。オブジェクトストレージは条件付き更新を使用します。サーバーが条件付き更新をサポートしていない場合、レコードは保持されます。
-#### Database Name
-設定キー: couchDB_DBNAME
+### 2. 通知
-同期先のデータベース名です。ダイアログ内では **Database Name** と表記されます。
-注意: データベース名には大文字、スペース、および一部の特殊文字(`_$()+/-` 以外)は使用できません。また、アンダースコア(`_`)から始めることはできません。存在しない場合は、接続テスト時または設定適用時に自動作成されます(作成権限が必要です)。
+#### 起動時にリモートの推定ストレージ容量を通知
-#### CORS回避のためにRequest APIを使用する
-設定キー: useRequestAPI
+画面表示: **起動時に推定リモートストレージサイズがしきい値を超えたら通知**
-この項目はセットアップダイアログ内では **Use Internal API** と表記されます。有効な場合、不可避なCORS問題を回避するためにObsidianの内部Request APIを使用します。これはWeb標準に準拠していない回避策であり、すべての環境での動作を保証するものではありません。安全性が低下する可能性がある点にご注意ください。将来のObsidianのアップデートによって動作しなくなる可能性があります。
+設定キー: `notifyThresholdOfRemoteStorageSize`
-#### カスタムヘッダー
-設定キー: couchDB_CustomHeaders
+MB 単位(0で無効化)。起動時、この値が未設定の場合、または推定リモートストレージサイズがこの値を超えた場合に、クリック可能な長時間表示通知が表示されます。**「選択肢を確認(Review options)」** を選択すると、時間制限のない詳細ダイアログが開きます。明示的にリモートサイズチェックを実行すると、そのダイアログが直接開きます。
-CouchDBサーバーに送信するすべてのリクエストに含めるカスタムHTTPヘッダーを設定します。ダイアログ内では **Custom Headers** と表記されます。`ヘッダー名: 値` の形式で、1行に1つずつ入力してください。
+### 3. プライバシーと暗号化
-#### JWT認証の使用 (実験的機能)
-設定キー: useJWT
+#### エンドツーエンド暗号化
-CouchDBでのJSON Web Token (JWT) 認証を有効にします。ダイアログ内では **Use JWT Authentication** と表記されます。十分に検証されていない実験的機能であるため、ご注意ください。
+画面表示: **E2E暗号化**
-#### JWTアルゴリズム
-設定キー: jwtAlgorithm
+設定キー: `encrypt`
-JWTの署名に使用するアルゴリズムを選択します。ダイアログ内では **JWT Algorithm** と表記されます。対応アルゴリズム: `HS256`, `HS512`, `ES256`, `ES512`
-
-#### JWT有効期限 (分)
-設定キー: jwtExpDuration
-
-トークンの有効期限を分単位で指定します。ダイアログ内では **JWT Expiration Duration (minutes)** と表記されます。`0` を指定すると有効期限は無効になります。
-
-#### JWTキー
-設定キー: jwtKey
-
-JWTの署名に使用する秘密鍵またはプライベートキーを指定します。ダイアログ内では **JWT Key** と表記されます。`HS256/HS512` の場合は共通鍵を、`ES256/ES512` の場合は pkcs8 PEM形式の秘密鍵を入力してください。
-
-#### JWTキーID (kid)
-設定キー: jwtKid
-
-JWTヘッダーに含めるキーIDを指定します。ダイアログ内では **JWT Key ID (kid)** と表記されます。
-
-#### JWTサブジェクト (sub)
-設定キー: jwtSub
-
-JWTのサブジェクト (CouchDBユーザー名) を指定します。ダイアログ内では **JWT Subject (sub)** と表記されます。
-
-### Object Storage (Minio, S3, R2) の設定
-Object Storageの各設定項目は、接続プロファイルを追加 (➕) または設定 (🔧) する際に開く **S3/MinIO/R2 セットアップダイアログ** 内で設定します。
-
-#### エンドポイントURL
-設定キー: endpoint
-
-S3互換ストレージのエンドポイントURLです。ダイアログ内では **Endpoint URL** と表記されます。
-注意: Obsidian Mobileではセキュア接続 (HTTPS) のみが使用可能です。
-
-#### アクセスキー ID
-設定キー: accessKey
-
-認証に使用するアクセスキーIDです。ダイアログ内では **Access Key ID** と表記されます。
-
-#### シークレットアクセスキー
-設定キー: secretKey
-
-認証に使用するシークレットアクセスキーです。ダイアログ内では **Secret Access Key** と表記されます。
-
-#### リージョン
-設定キー: region
-
-ストレージのリージョンを指定します(例: `us-east-1`、Cloudflare R2の場合は `auto`)。ダイアログ内では **Region** と表記されます。
-
-#### バケット名
-設定キー: bucket
-
-同期データを保存するバケット名です。ダイアログ内では **Bucket Name** と表記されます。
-
-#### カスタムHTTPハンドラーを使用する
-設定キー: useCustomRequestHandler
-
-この項目はセットアップダイアログ内では **Use internal API** と表記されます。オブジェクトストレージがCORSをサポートしていない場合に有効にします。Obsidianの内部APIを使用してS3サーバーと通信することでCORS制約を回避します。Web標準には準拠していないため、将来のObsidianのアップデートによって動作しなくなる可能性があります。
-
-#### バケット内のファイルプレフィックス
-設定キー: bucketPrefix
-
-この項目はセットアップダイアログ内では **Folder Prefix** と表記されます。実質的なディレクトリ指定です。末尾は `/` である必要があります(例:`vault-name/`)。バケットのルートに保存する場合は空欄のままにしてください。
-
-#### forcePathStyleを有効にする
-設定キー: forcePathStyle
-
-この項目はセットアップダイアログ内では **Use Path-Style Access** と表記されます。有効な場合、バケット操作でforcePathStyleオプションを使用します。
-
-#### カスタムヘッダー
-設定キー: bucketCustomHeaders
-
-オブジェクトストレージバケットに送信するすべてのリクエストに含めるカスタムHTTPヘッダーを設定します。ダイアログ内では **Custom Headers** と表記されます。`ヘッダー名: 値` の形式で、1行に1つずつ入力してください。
-
-
-
-### End to End Encryption
-データベースを暗号化します。この効果はデータベースに格納されるデータに限られ、ディスク上のファイルは平文のままです。
-暗号化はAES-GCMを使用して行っています。
-
-### Passphrase
-暗号化を行う際に使用するパスフレーズです。充分に長いものを使用してください。
-
-### パスの難読化
-設定キー: usePathObfuscation
-
-ダイアログ内では **Obfuscate Properties** と表記されます。有効な場合、リモートサーバー上でのファイルパスやフォルダ名を難読化(暗号化)します。これによりプライバシーが向上しますが、パフォーマンスがわずかに低下する可能性があります。
-
-### 暗号化アルゴリズム
-設定キー: E2EEAlgorithm
-
-ダイアログ内では **Encryption Algorithm** と表記されます。エンドツーエンド暗号化に使用する暗号化アルゴリズムのバージョンを選択します。
-- `v2` (V2: AES-256-GCM With HKDF): 推奨されるデフォルトのバージョンです。
-- `forceV1` または `""` (V1: Legacy): レガシーな暗号化バージョンです。古いバージョンで暗号化された既存の保管庫(Vault)を同期する場合にのみ使用してください。
-
-### Apply
-End to End 暗号化を行うに当たって、異なるパスフレーズで暗号化された同一の内容を入手されることは避けるべきです。また、Self-hosted LiveSyncはコンテンツのcrc32を重複回避に使用しているため、その点でも攻撃が有効になってしまいます。
-
-そのため、End to End 暗号化を有効にする際には、ローカル、リモートすべてのデータベースをいったん破棄し、新しいパスフレーズで暗号化された内容のみを、改めて同期し直します。
-
-有効化するには、一番体力のある端末からApply and sendを行います。
-既に存在するリモートと同期する場合は、設定してJust applyを行ってください。
-
-- Apply and send
-1. ローカルのデータベースを初期化しパスフレーズを設定(またはクリア)します。その後、すべてのファイルをもう一度データベースに登録します。
-2. リモートのデータベースを初期化します。
-3. リモートのデータベースをロックし、他の端末を締め出します。
-4. すべて再送信します。
-
-負荷と時間がかかるため、デスクトップから行う方が好ましいです。
-- Apply and receive
-1. ローカルのデータベースを初期化し、パスフレーズを設定(またはクリア)します。
-2. リモートのデータベースにかかっているロックを解除します。
-3. すべて受信して、復号します。
-
-どちらのオペレーションも、実行するとすべての同期設定が無効化されます。
-
-
-
-
-### Test Database connection
-上記の設定でデータベースに接続できるか確認します。
-
-### Check database configuration
-ここから直接CouchDBの設定を確認・変更できます。
-
-### Peer-to-Peer (P2P) 同期の設定
-
-#### P2P同期を有効にする
-設定キー: P2P_Enabled
-
-WebRTCを介したデバイス間での直接的なP2P同期を有効にします。ダイアログ内では **Enabled** と表記されます。
-
-#### リレーサーバーのURL
-設定キー: P2P_relays
-
-WebRTCによるP2P接続を仲介・調整するためのWebSocketリレーサーバーのURLを指定します。ダイアログ内では **Relay URL** と表記されます。複数のURLを指定する場合はカンマで区切ります。ダイアログ内のボタンをクリックすると、デフォルトのリレーサーバーを設定できます。
-
-#### グループID
-設定キー: P2P_roomID
-
-同期するデバイス群を識別するためのルームIDまたはグループIDを指定します。ダイアログ内では **Group ID** と表記されます。同期させたいすべてのデバイスで同じグループIDを指定する必要があります。任意のカスタム文字列を入力するか、ランダム生成ボタンで生成できます。
+エンドツーエンド暗号化を有効にします。有効化を推奨します。パスフレーズを変更した場合は、データベースの再構築が必要になります(案内が表示されます)。
#### パスフレーズ
-設定キー: P2P_passphrase
-P2P通信の認証および暗号化に使用するパスワード(パスフレーズ)を指定します。ダイアログ内では **Passphrase** と表記されます。同期するすべてのデバイスで同じパスフレーズを指定する必要があります。
+画面表示: **パスフレーズ**
-#### デバイス名
-設定キー: P2P_DevicePeerName
+設定キー: `passphrase`
-P2Pネットワーク上でこのデバイスを識別するための名前を指定します。ダイアログ内では **Device Peer ID** と表記されます。グループ内のデバイス間で重複しない一意の値を設定してください。
+暗号化パスフレーズです。パスフレーズを変更した場合は、データベースの再構築が必要になります(案内が表示されます)。
-#### 起動時のP2P自動接続開始
-設定キー: P2P_AutoStart
+#### 独立した ID の導出
-有効な場合、プラグインの起動時に自動的にP2P接続を開始します。ダイアログ内では **Auto Start P2P Connection** と表記されます。
+設定キー: `idDerivationVersion`, `idDerivationKey`
-#### 接続済みピアへの変更の自動ブロードキャスト
-設定キー: P2P_AutoBroadcast
+この設定は、暗号化されたチャンク ID および難読化されたメタデータドキュメント ID 用に独立したキーを保存します。新しい Vault のセットアップでは、E2EE が有効な場合にデフォルトで **「ランダムな ID キーを生成(Generate a random ID key)」** が選択されます。既存の Vault ではデフォルトで **「現在の設定を保持(Keep current configuration)」** が選択されます。ラジオボタンの選択肢には利用可能な構成がまとめて表示されます。**Keep current configuration** の下の小さな説明文には、保存されている構成(既存の ID キー、または E2EE パスフレーズにリンクされたレガシー ID)が表示されます。その選択肢はどちらの状態も維持します。新規 Vault で明示的に選択するとレガシー ID が使用されます。レガシー構成の場合、E2EE パスフレーズを変更すると ID も変更されます。
-有効な場合、ローカルでの変更が接続済みのピアに自動的にブロードキャストされます。ダイアログ内では **Auto Broadcast Changes** と表記されます。通知されたピアは変更の取得を開始します。
+自分でキーを設定するには、**「ID キーを設定(Set an ID key)」** を選択します。その後、**「現在の E2EE パスフレーズから導出(Derive from current E2EE passphrase)」**、**「ID ソースを入力(Enter an ID source)」**、**「ID 復旧コードをインポート(Import an ID recovery code)」** の3つの選択肢が表示されます。後ろの2つではテキスト入力欄が表示されます。ソース入力欄はタグ付きの復旧コードも認識します。空欄のままにすると既存のキーが保持され、最初のキー設定には入力が必要です。通常のソースは設定を適用する際にキーに変換され、後から再表示できません。復旧コードは保存されたキーを直接インポートします。
-#### TURNサーバーのURL (カンマ区切り)
-設定キー: P2P_turnServers
+このデバイスで保存されたキーを表示・コピーするには、**「現在の復旧コードを表示(Show current recovery code)」** を使用します。コードは `sls-id-v1:` で始まり、別のキーを導出することなく、別のデバイスの手動入力欄に貼り付けられます。セットアップ URI は別のパスフレーズの下で同じ保存済みキーを保持します。すべてのデバイスを紛失した後に構成を復元する必要がある場合は、ランダムなデフォルトに頼る前に、復旧コードを保存するか、再現可能なソースを選択してください。コードは厳重に保管してください。
-ダイアログ内では **TURN Server URLs (comma-separated)** と表記されます。厳しいNATやファイアウォールがある環境で、WebRTCの直接接続が確立できない場合にP2P接続を中継するためのTURN/STUNサーバーのURLをカンマ区切りで指定します。通常は空欄のままで問題ありません。
+E2EE パスフレーズをソースとして使用すると、後からパスフレーズを変更しても ID の安定性が保たれますが、既知の ID に基づく推測から元のパスフレーズを分離できません。その分離が重要な場合は、長く予測困難な別のソースを使用してください。強度の低いソースをハッシュ化しても強度は向上しません。
-#### TURNユーザー名
-設定キー: P2P_turnUsername
+後から E2EE パスフレーズを変更しても保存された ID キーは変更されませんが、暗号化されたデータに対しては既存の再暗号化および再構築(Rebuild)手順が引き続き適用されます。E2EE がオフの間、保存された ID キーは保持されますが使用されず、E2EE が再び有効になるまでは既存のレガシー ID 生成が適用されます。パスの難読化がオフの場合、異なる ID キーを持つデバイス間でも同期できますが、同一のコンテンツに対して重複したチャンクが生成される可能性があります。パスの難読化が有効な場合、ID キーを有効化、置換、または無効化するとドキュメント ID が変わる可能性があります。通常の同期を再開する前に、参加デバイスを更新し、信頼できる Vault から Rebuild を実行し、他のデバイスで Fetch を実行してください。QR コード には既存の QR 共有ルールに基づき保存されたキーが含まれるため、QR コード は厳重に保管してください。
-TURNサーバーでの認証に使用するユーザー名を設定します。ダイアログ内では **TURN Username** と表記されます。
+#### パスの難読化
-#### TURNパスワード
-設定キー: P2P_turnCredential
+画面表示: **パスの難読化**
-TURNサーバーでの認証に使用するパスワード(クレデンシャル)を設定します。ダイアログ内では **TURN Credential** と表記されます。
+設定キー: `usePathObfuscation`
-## Local Database Configurations
-端末内に作成されるデータベースの設定です。
+デフォルトでは、パフォーマンス向上のためファイルパスは難読化されません。これを有効にするとファイルパスが難読化されます。ファイルパスを隠蔽したい場合に便利です。
-### Batch database update
-データベースの更新を以下の事象が発生するまで遅延させます。
-- レプリケーションが発生する
-- 他のファイルを開く
-- ウィンドウの表示状態を変更する
-- ファイルの修正以外のファイル関連イベント
-このオプションはLiveSyncと同時には使用できません。
+#### ファイルの内部プロパティを暗号化
-### minimum chunk size と LongLine threshold
-チャンクの分割についての設定です。※現在これらの項目はUIから直接設定することはできません(デフォルト値で自動処理されます)。
+画面表示: **内部ファイルプロパティを暗号化**
-Self-hosted LiveSyncは一つのチャンクのサイズを最低minimum chunk size文字確保した上で、できるだけ効率的に同期できるよう、ノートを分割してチャンクを作成します。
-これは、同期を行う際に、一定の文字数で分割した場合、先頭の方を編集すると、その後の分割位置がすべてずれ、結果としてほぼまるごとのファイルのファイル送受信を行うことになっていた問題を避けるために実装されました。
-具体的には、先頭から順に直近の下記の箇所を検索し、一番長く切れたものを一つのチャンクとします。
+設定キー: `encryptInternalMetadata`
-1. 次の改行を探し、それがLongLine Thresholdより先であれば、一つのチャンクとして確定します。
+CouchDB では、非表示ファイル同期およびカスタマイズ同期で使用されるメタデータ内のパス、日時、サイズ、およびチャンク参照を暗号化します。E2EE V2 と **Property Encryption(プロパティ暗号化)** が必要です。新規 Vault ではデフォルトで有効になっていますが、これらの前提条件が有効になるまでは効果がありません。既存の Vault や古いセットアップ URI、QR コードでは、有効化しない限り無効のままとなります。
-2. そうではない場合は、下記を順に探します。
- 1. 改行
- 2. windowsでの空行がある所
- 3. 非Windowsでの空行がある所
-3. この三つのうち一番遠い場所と、 「改行後、#から始まる所」を比べ、短い方をチャンクとします。
+この設定を有効にすると、今後のメタデータ書き込みが保護されます。既存のメタデータや以前のリビジョンはリモートデータベース内で平文のまま残る可能性があります。既存のメタデータも保護したい場合は、完全なデータを準備し、すべてのデバイスを互換バージョンにアップデートした上で、手動でリモートデータベースを再構築(Rebuild)してください。この設定を変更しても、LiveSync が自動的にデータを収集したり再構築を開始したりすることはありません。再構築せずに有効化する操作では、現在 LiveSync を実行中のデバイスも含め、他のすべての同期デバイスを事前にアップデートするよう明示的にリマインドされます。移行期間中は平文と暗号化されたメタデータが混在できます。ドキュメント ID、リビジョン情報、ドキュメント数、および暗号文の長さは引き続き外部から確認可能です。
-このルールは経験則的に作りました。実データが偏っているため。もし思わぬ挙動をしている場合は、是非コマンドから`Dump informations of this doc`を選択し、情報をください。
-改行文字と#を除き、すべて●に置換しても、アルゴリズムは有効に働きます。
-デフォルトは20文字と、250文字です。
+#### 暗号化アルゴリズム
-### チャンクスプリッター
-設定キー: chunkSplitterVersion
+画面表示: **暗号化アルゴリズム**
-チャンク分割アルゴリズムを選択します。V3が最も効率的です。問題が発生した場合はDefaultまたはLegacyに設定してください。
+設定キー: `E2EEAlgorithm`
-## General Settings
-一般的な設定です。
+エンドツーエンド暗号化に使用する暗号化アルゴリズムのバージョンです。
-### Do not show low-priority log
-有効にした場合、優先度の低いログを記録しません。通知を伴うログのみ表示されます。
+- `v2`(V2: AES-256-GCM With HKDF): 推奨およびデフォルトのバージョン。
+- `forceV1` または `""`(V1: レガシー): 旧世代の暗号化。レガシー形式で暗号化された既存の Vault がある場合にのみ使用してください。
-### Vervose log
-詳細なログをログに出力します。
+#### 反復回数を動的に設定(旧 V1 との互換性)
-### ファイル警告バナーの代わりにステータスアイコンを表示
-設定キー: hideFileWarningNotice
+設定キー: `useDynamicIterationCount`
-有効な場合、ファイル警告バナーの代わりにステータス表示内に ⛔ アイコンが表示されます(詳細情報は非表示になります)。
+この設定はレガシーな V1 暗号化データにのみ適用されます。既存の V1 データベースを開く際は保存された値を維持してください。新規 Vault では E2EE V2 が使用されるため、この設定は使用されません。
-### ネットワーク警告のスタイル
-設定キー: networkWarningStyle
+### 4. 取得設定
-同期サーバーに接続できない場合のネットワークエラーの表示方法。
+#### リモートサーバーから設定を取得
-## Sync setting
-同期に関する設定です。
+すでに設定されているリモートサーバーから必要な設定を取得します。
-### 同期モード (Sync Mode)
-設定キー: syncMode
+### 5. MinIO・S3・R2
-同期処理を実行するトリガーとなる条件を設定します。
-- **LiveSync** (`LIVESYNC`): リアルタイムかつ継続的な双方向同期を行います。
- 注意: このモードには CouchDB または WebRTC P2P リモートサーバーが必要です。S3互換オブジェクトストレージではサポートされていません。
-- **Periodic Sync** (`PERIODIC`): **Periodic Sync Interval** で指定した一定の間隔ごとに同期処理を実行します。
-- **On Events** (`ONEVENTS`): ファイルの保存、ファイルを開く、起動時など、特定のイベントが発生した際に同期をトリガーします(詳細は下部の設定スイッチで制御します)。
+これらの設定は、オブジェクトストレージの接続プロファイルを追加(`➕`)または編集(`🔧`)する際に開く **S3/MinIO/R2 セットアップダイアログ** 内で設定します。
-### Periodic Sync Interval
-定期的に同期を行う場合の間隔(秒単位)です。
+#### エンドポイント URL
-### 同期の最小間隔
-設定キー: syncMinimumInterval
+画面表示: **エンドポイント URL**
-イベント時の自動同期の最小間隔(ミリ秒)。
+設定キー: `endpoint`
-### Sync on Save
-ファイルが保存されたときに同期を行います。
-**Obsidianは、ノートを編集している間、定期的に保存を行います。添付ファイルを新しく追加した場合も同様に処理されます。**
+リモートストレージのエンドポイント URL です。
+注意: Obsidian Mobile ではセキュア接続(HTTPS)のみが使用可能です。
-### Sync on File Open
-ファイルを開いた際に同期を行います。
+#### アクセスキー
-### Sync on Start
-Obsidianの起動時に同期を行います。
+画面表示: **アクセスキー**
-備考:
-LiveSyncをONにするか、もしくはPeriodic Sync + Sync On File Openがオススメです。
+設定キー: `accessKey`
-### Use Trash for deleted files
-リモートでファイルが削除された際、デバイスにもその削除が反映されます。
-このオプションが有効になっている場合、実際に削除する代わりに、ゴミ箱に移動します。
+認証に使用するアクセスキー ID です。ダイアログ内では **Access Key ID** と表記されます。
-### Do not delete empty folder
-Self-hosted LiveSyncは通常、フォルダ内のファイルがすべて削除された場合、フォルダを削除します。
-備考:Self-hosted LiveSyncの同期対象はファイルです。
+#### シークレットキー
-### Use newer file if conflicted (beta)
-競合が発生したとき、常に新しいファイルを使用して競合を自動的に解決します。
+画面表示: **シークレットキー**
+設定キー: `secretKey`
-### Experimental.
-### Sync hidden files
+認証に使用するシークレットアクセスキーです。ダイアログ内では **Secret Key** と表記されます。
-隠しファイルを同期します
+#### リージョン
-- Scan hidden files before replication.
-このオプション有効にすると、レプリケーションを実行する前に隠しファイルをスキャンします。
+画面表示: **リージョン**
-- Scan hidden files periodicaly.
-このオプションを有効にすると、n秒おきに隠しファイルをスキャンします。
+設定キー: `region`
+
+ストレージのリージョンです(例: `us-east-1`、Cloudflare R2 の場合は `auto`)。
+
+#### バケット名
+
+画面表示: **バケット名**
+
+設定キー: `bucket`
+
+同期ファイルを保存するバケットの名前です。
+
+#### カスタム HTTP ハンドラーを使用
+
+画面表示: **カスタム HTTP ハンドラーの利用**
+
+設定キー: `useCustomRequestHandler`
+
+この項目はセットアップダイアログ内では **Use internal API(内部 API を使用)** と表記されます。オブジェクトストレージが CORS をサポートしていない場合に有効化してください。S3 サーバーとの通信に Obsidian の内部 API を使用します。これは Web 標準に準拠していませんが、CORS 制限を回避できます。将来の Obsidian バージョンで動作しなくなる可能性があります。
+
+#### バケット内のファイルプレフィックス
+
+画面表示: **バケット内のファイルプレフィックス**
+
+設定キー: `bucketPrefix`
+
+この項目はセットアップダイアログ内では **Folder Prefix(フォルダープレフィックス)** と表記されます。実質的なディレクトリとして機能します。末尾は `/` で終わる必要があります(例: `vault-name/`)。バケットのルートにデータを保存する場合は空欄のままにします。
+
+#### forcePathStyle を有効化
+
+画面表示: **forcePathStyle を有効化**
+
+設定キー: `forcePathStyle`
+
+この項目はセットアップダイアログ内では **Use Path-Style Access(パススタイルアクセスを使用)** と表記されます。有効にすると、バケット操作に forcePathStyle オプションが使用されます。
+
+#### カスタムヘッダー
+
+画面表示: **カスタムヘッダー**
+
+設定キー: `bucketCustomHeaders`
+
+オブジェクトストレージバケットに送信されるすべてのリクエストに含めるカスタム HTTP ヘッダーです。`Header-Name: Value` の形式で、各ヘッダーを改行で区切って指定します。
+
+#### 接続をテスト
+
+接続をテストします。
+
+#### 設定を適用
+
+設定を適用します。
+
+### 6. CouchDB
+
+これらの設定は、CouchDB 接続プロファイルを追加(`➕`)または編集(`🔧`)する際に開く **CouchDB セットアップダイアログ** 内で設定します。
+
+#### サーバー URI
+
+画面表示: **サーバー URI**
+
+設定キー: `couchDB_URI`
+
+CouchDB サーバーの URI です。ダイアログ内では **URL** と表記されます。
+Obsidian Mobile ではセキュアな HTTPS 接続のみが使用可能です。セットアップダイアログは完全な HTTP または HTTPS URL を受け付け、設定適用時に正規化します。
+
+#### ユーザー名
+
+画面表示: **ユーザー名**
+
+設定キー: `couchDB_USER`
+
+CouchDB の認証に使用するユーザー名です。ダイアログ内では **Username** と表記されます。
+
+#### パスワード
+
+画面表示: **パスワード**
+
+設定キー: `couchDB_PASSWORD`
+
+CouchDB の認証に使用するパスワードです。ダイアログ内では **Password** と表記されます。
+
+#### データベース名
+
+画面表示: **データベース名**
+
+設定キー: `couchDB_DBNAME`
+
+データベースの名前です。空にはできません。CouchDB は接続試行時に名前を検証します。セットアップダイアログ側で独自の狭い命名ルールを適用することはありません。
+
+#### Request API を使用して避けられない CORS 問題を回避
+
+画面表示: **Request API を使用して避けられない CORS 問題を回避**
+
+設定キー: `useRequestAPI`
+
+この項目はセットアップダイアログ内では **Use Internal API(内部 API を使用)** と表記されます。有効にすると、Obsidian の内部リクエスト API を使用して CORS 制限を回避します。Obsidian 管理下の API を通じて設定された認証情報を CouchDB サーバーに送信するため、信頼できるサーバーに対してのみ使用してください。可能な限り CouchDB 側の CORS を適切に設定することを推奨します。この互換性回避策は、将来の Obsidian バージョンで変更される可能性があります。
+
+#### カスタムヘッダー
+
+設定キー: `couchDB_CustomHeaders`
+
+画面表示: **カスタムヘッダー**
+
+CouchDB サーバーに送信されるすべてのリクエストに含めるカスタム HTTP ヘッダーです。`Header-Name: Value` の形式で、各ヘッダーを改行で区切って指定します。
+
+#### JWT 認証を使用
+
+画面表示: **JWT 認証を使用**
+
+設定キー: `useJWT`
+
+CouchDB で JSON Web Token(JWT)認証を有効にします。これは実験的機能であり、完全な検証は行われていません。
+
+#### JWT アルゴリズム
+
+画面表示: **JWT アルゴリズム**
+
+設定キー: `jwtAlgorithm`
+
+JWT の署名に使用するアルゴリズムです。対応アルゴリズム: `HS256`, `HS512`, `ES256`, `ES512`。
+
+#### JWT の有効期間(分)
+
+画面表示: **JWT 有効期限(分)**
+
+設定キー: `jwtExpDuration`
+
+トークンの有効期間(分単位)です。0を指定すると有効期限は無効になります。
+
+#### JWT キー
+
+画面表示: **JWT キー**
+
+設定キー: `jwtKey`
+
+JWT の署名に使用するシークレットキー(HS256/HS512 の場合)または PKCS#8 PEM 形式の秘密鍵(ES256/ES512 の場合)です。
+
+#### JWT キー ID(kid)
+
+画面表示: **JWT キー ID (kid)**
+
+設定キー: `jwtKid`
+
+JWT に含まれるキー ID(`kid`)ヘッダーパラメータです。
+
+#### JWT サブジェクト(sub)
+
+画面表示: **JWT サブジェクト (sub)**
+
+設定キー: `jwtSub`
+
+JWT のサブジェクト(`sub`)クレームであり、CouchDB のユーザー名と一致する必要があります。
+
+#### 接続と保存の操作
+
+ダイアログが開かれた理由によってアクションが異なります。
+
+- 最初のデバイスのオンボーディングでは **「データベースを作成または接続して続行(Create or connect to database and continue)」** を使用します。データベースが存在せず、指定したアカウントに作成権限がある場合は自動作成されることがあります。
+- 追加デバイスのオンボーディングでは **「既存のデータベースに接続して続行(Connect to existing database and continue)」** を使用します。存在しないデータベースを自動作成することはありません。
+- 保存済みリモートプロファイルの追加や編集では **「接続テストして保存(Test connection and save)」** を使用します。存在しないデータベースを自動作成することはありません。
+- 設定モードでは **「接続せずに保存(Save without connecting)」** も選べます。プロファイルは更新されますが、接続が修正されるまで自動同期が失敗する可能性があります。
+
+オンボーディングでは接続の成功が必須であり、未検証のまま続行するアクションは提供されません。
+
+#### サーバーの要件を確認
+
+画面表示: **サーバー要件を確認**
+
+このオプションチェックは、Obsidian の内部リクエスト API を通じて CouchDB サーバーの設定を読み取り、設定された認証情報をそのサーバーに送信します。管理者権限が必要になる場合があります。初期チェックは読み取り専用です。提示される各修正案には CouchDB の正確な設定項目と推奨値が示され、変更を適用する前に個別の確認が必要です。
+
+#### 設定を適用
+
+設定を適用します。
+
+### 7. ピアツーピア(P2P)同期
+
+#### P2P 同期を有効化
+
+画面表示: **P2P 同期を有効化**
+
+設定キー: `P2P_Enabled`
+
+WebRTC 経由の直接ピアツーピア同期を有効にします。
+
+#### シグナリングリレー URL
+
+設定キー: `P2P_relays`
+
+ピア検出と WebRTC 接続ネゴシエーションに使用される、Nostr 互換の WebSocket リレー URL です。複数の URL をカンマで区切って指定できます。シグナリングリレーは Vault のコンテンツを保存または転送しません。詳細は [P2P 同期の仕組み](p2p.md) を参照してください。
+
+P2P セットアップの接続テストは、アクティブな P2P ルームを中断しません。アクティブなリレーセットが要求された URL をすでにカバーしている場合、テストはそのアクティブなシグナリングトランスポートを監視します。テストによって P2P 実行中にリレーが追加されることになる場合は、アクティブなリレー設定を使用するか、事前に P2P を切断するよう求められます。P2P がアイドル状態の場合、テストは短時間のシグナリング試行を開始して破棄します。このチェックでは、ピアの検出、他デバイスとの認証、または TURN/WebRTC データパスの導通までは確認できません。
+
+#### グループ ID
+
+画面表示: **グループ ID**
+
+設定キー: `P2P_roomID`
+
+同期デバイスのグループを識別するためのルーム ID またはグループ ID です。同期するすべてのデバイスで同じグループ ID を使用する必要があります。任意のカスタム文字列を入力するか、ランダムなグループ ID を生成できます。
+
+#### パスフレーズ
+
+設定キー: `P2P_passphrase`
+
+画面表示: **パスフレーズ**
+
+P2P 通信の認証および暗号化に使用するパスワードまたはパスフレーズです。すべてのデバイスで同じパスフレーズを使用する必要があります。
+
+#### デバイスのピア ID
+
+画面表示: **デバイスのピア ID**
+
+設定キー: `P2P_DevicePeerName`
+
+P2P ネットワーク内でのこのデバイスのピア名または識別子です。デバイスグループ内で一意である必要があります。
+
+#### 起動時に P2P 接続を自動開始
+
+画面表示: **起動時に P2P 接続を自動開始**
+
+設定キー: `P2P_AutoStart`
+
+この項目はセットアップダイアログ内では **Auto Start P2P Connection** と表記されます。有効にすると、プラグイン起動時に P2P 接続が自動的に開始されます。
+
+#### 接続と切断
+
+P2P 接続を閉じると、LiveSync P2P ルームから退出し、そのレプリケーションサービスを停止し、シグナリングリレーソケットを閉じて自動再接続を一時停止します。アイドル状態の WebRTC 接続は再利用のために一時的にトランスポート管理下に残る場合がありますが、退出したルームのトラフィックは処理できません。再度接続するとリレーの再接続が再開され、新しい LiveSync ルームに参加します。
+
+#### 接続後に変更を自動通知
+
+画面表示: **接続中のピアに変更を自動ブロードキャスト**
+
+設定キー: `P2P_AutoBroadcast`
+
+有効にすると、ローカルでの変更後に接続されたピアに変更を通知します。通知には Vault データは含まれません。受信側ピアは、このデバイスをフォローしている場合にのみ変更を取得(Fetch)します。
+
+#### TURN 設定
+
+設定キー: `P2P_managedType`
+
+既存の TURN サーバー設定項目を使用する場合は **Manual(手動)** を、TURN キー ID および TURN キー API トークンを使用する場合は **Managed (Cloudflare)(マネージド:Cloudflare)** を選択します。API トークンはプロファイルとともに保持され、セットアップ URI や QR コード共有に含まれます。発行された一時認証情報はメモリ内にのみ保持されます。レポートではプロバイダー設定は伏字になります。共有、有効期限、再接続の挙動については [TURN 認証情報](p2p.md#turn-credentials) を参照してください。
+
+#### TURN キー ID と TURN キー API トークン
+
+設定キー: `P2P_managedId`, `P2P_managedToken`
+
+**Managed (Cloudflare)** が選択されている場合に表示されます。TURN キーの ID と専用 API トークンを入力します。トークン欄はマスク表示されます。アカウント ID、カスタムエンドポイント、更新間隔は不要です。
+
+#### TURN サーバー URL(カンマ区切り)
+
+画面表示: **TURN サーバー URL(カンマ区切り)**
+
+設定キー: `P2P_turnServers`
+
+カンマ区切りの TURN サーバー URL リストです。TURN は、厳格な NAT やファイアウォール規則によって直接ピア接続が妨げられている場合に、暗号化された WebRTC トラフィックを中継するオプションのフォールバックです。必須のシグナリングリレーとは異なります。ほとんどの環境では空欄のままで問題ありません。
+
+#### TURN ユーザー名
+
+画面表示: **TURN ユーザー名**
+
+設定キー: `P2P_turnUsername`
+
+TURN サーバーの認証ユーザー名です。
+
+#### TURN 認証情報
+
+画面表示: **TURN 認証情報**
+
+設定キー: `P2P_turnCredential`
+
+TURN サーバーの認証パスワードまたは認証情報です。
+
+#### P2P メッセージサイズ
+
+設定キー: `P2P_maxWirePayloadBytes`
+
+このプロファイル設定は、Trystero が独自のフレーミングを適用する前の、各送信 Commonlib RPC メッセージのサイズを制限します。Vault のチャンクサイズや IP MTU、SCTP フラグメントサイズとは異なります。利用可能なプリセットは **Standard**(15,360バイト)、**Reduced**(2,048バイト)、**Conservative**(1,024バイト)、**Maximum compatibility**(800バイト)です。値を小さくすると、大きな WebRTC メッセージがドロップされる経路でのスループットと引き換えに互換性が向上します。
+
+送信側が送信メッセージのサイズを制御します。制約のある経路を経由して送信する可能性のあるすべてのデバイスで、同じ保守的なプリセットを選択してください。このキーのない既存プロファイルでは **Standard** が使用されます。P2P 接続文字列および暗号化されたセットアップ URI は、選択されたプリセットを保持します。
+
+#### 接続経路
+
+設定キー: `P2P_connectionPath`
+
+**Automatic(自動)** は、WebRTC に直接接続または TURN リレー経路の選択を任せるデフォルト設定です。**TURN relay only(TURN リレーのみ)** は `iceTransportPolicy: 'relay'` を強制し、プロファイルに有効な手動 TURN URL または設定された TURN 認証情報ソースが含まれている場合に利用可能です。リレー専用モードが選択されている状態で手動 TURN 設定を削除すると、**Automatic** に戻り通知が表示されます。認証情報を提供できないソースが選択されている場合、接続は開始されず、接続経路は変更されません。
+
+この選択は P2P プロファイルに属し、P2P 接続文字列および暗号化されたセットアップ URI に保持されます。異なる互換性の選択を持つ複数のプロファイルが同じグループ ID と認証情報を使用できますが、アクティブになるのは選択された P2P プロファイルのみです。
+
+
+
+## 4. 同期設定
+
+### 1. 同期プリセット
+
+#### プリセット
+
+画面表示: **プリセット**
+
+設定キー: `preset`
+プリセット設定を適用します。
+
+### 2. 同期方法
+
+#### 同期モード
+
+画面表示: **同期モード**
+
+設定キー: `syncMode`
+
+同期を開始するトリガーです。
+
+- **LiveSync** (`LIVESYNC`): リアルタイムで継続的な双方向同期。
+ 注意: CouchDB または WebRTC P2P リモートサーバーが必要です。S3 互換オブジェクトストレージではサポートされていません。
+- **Periodic Sync** (`PERIODIC`): **Periodic Sync interval** 設定で指定された一定間隔ごとに同期を実行します。
+- **On Events** (`ONEVENTS`): 下記のトグルで設定された特定のイベント(保存、ファイルオープン、起動時など)をトリガーとして同期を実行します。
+
+#### 定期同期の間隔
+
+画面表示: **定期同期の間隔**
+
+設定キー: `periodicReplicationInterval`
+同期間隔(秒)。
+
+#### 同期間隔の最小値
+
+画面表示: **同期間隔の最小値**
+
+設定キー: `syncMinimumInterval`
+イベントによる自動同期の最小間隔。
+
+#### 保存時に同期
+
+画面表示: **保存時に同期**
+
+設定キー: `syncOnSave`
+ファイル保存時に同期を開始します。
+
+#### エディタ保存時に同期
+
+画面表示: **エディタでの保存時に、同期されます**
+
+設定キー: `syncOnEditorSave`
+エディタでファイルを保存した際に自動的に同期を開始します。
+
+#### ファイルを開いたときに同期
+
+画面表示: **ファイルを開いた時に同期**
+
+設定キー: `syncOnFileOpen`
+ファイルを開いた際にそのファイルの同期を強制します。
+
+#### 起動時に同期
+
+画面表示: **起動時同期**
+
+設定キー: `syncOnStart`
+Obsidian 起動時にすべてのファイルを自動同期します。
+
+#### ファイルのマージ後に同期
+
+画面表示: **ファイルがマージ(統合)された時に同期**
+
+設定キー: `syncAfterMerge`
+ファイルマージ後に自動的に同期します。
+
+#### バックグラウンドで複製を継続
+
+画面表示: **バックグラウンドでもレプリケーションを継続する**
+
+設定キー: `keepReplicationActiveInBackground`
+デスクトップ専用。バッテリーとネットワークをより多く消費します。この設定は継続的レプリケーションおよび定期レプリケーションに適用されます。
+
+#### 同期中のスリープを許可
+
+画面表示: **同期中のスリープを許可**
+
+設定キー: `allowSleepDuringSynchronisation`
+
+個別の同期処理の実行中にオペレーティングシステムのスリープを許可します。このオプションは全プラットフォームに適用され、デフォルトでは無効です。無効な場合、個別の処理はベストエフォートで画面スリープ防止を要求します。
+
+#### デスクトップで同期中のスリープを許可
+
+画面表示: **デスクトップで同期中のスリープを許可**
+
+設定キー: `allowSleepDuringSynchronisationOnDesktop`
+
+デスクトップ専用。全般オプションが無効な場合でも、個別の同期処理中にオペレーティングシステムのスリープを許可します。このオプションはデフォルトで有効になっているため、定期同期やイベント駆動同期によってデスクトップの自動スリープが繰り返し妨げられるのを防ぎます。デスクトップでも画面スリープ防止を維持したい場合は無効にしてください。
+
+セットアップ URI は両方のスリープ設定を保持します。これらが含まれていない古いセットアップ URI では、上記のデフォルトが使用されます。これらの設定は、ワンショットレプリケーション、P2P ピア検出と選択、再構築、取得、リモートチャンク取得、およびダウンロードされたドキュメントの Vault への適用など、個別のリモート操作を対象とします。Obsidian がバックグラウンドにある間の継続的レプリケーション動作は制御しません。また、スリープを許可しても OS のサスペンドを強制することはありません。
+
+### 3. 更新の間引き
+
+#### データベース更新をバッチ処理
+
+画面表示: **データベースのバッチ更新**
+
+設定キー: `batchSave`
+
+LiveSync モード以外では、ローカルデータベースに保存する前に繰り返されたローカルファイルの更新をまとめます。これにより中間のデータベースリビジョンを減らし、他のデバイスへの反映を遅らせます。
+
+#### LiveSync モードでデータベース更新をバッチ処理
+
+画面表示: **LiveSync モードでデータベース更新をバッチ処理**
+
+設定キー: `batchSaveInLiveSync`
+
+LiveSync モードでも、同様に上限付きの遅延を適用します。この設定は既存 Vault、新規 Vault のいずれでもデフォルトで無効です。`liveSync: true` と `batchSave: true` を含む古い設定でも有効にはなりません。設定画面には現在のモードに応じた選択肢が表示され、モードを切り替えても両方の設定が保持されます。古いクライアントは引き続き LiveSync モードでのバッチ処理を無視します。
+
+両方の選択肢は以下の遅延設定を共有します。手動同期、削除、または名前変更によってバッチを早期に終了できます。バッチ処理は中間の更新頻度を抑えるための機能です。テンプレート展開の完了検知や、他デバイスとの同時編集の防止を目的としたものではありません。
+
+#### バッチ更新の最小遅延
+
+画面表示: **バッチデータベース更新の最小遅延**
+
+設定キー: `batchSaveMinimumDelay`
+
+最新の対象編集が行われた後、ローカルデータベースに保存するまでの待機時間(秒)。下記の最大遅延に従います。
+
+#### バッチ更新の最大遅延
+
+画面表示: **バッチデータベース更新の最大遅延**
+
+設定キー: `batchSaveMaximumDelay`
+
+ファイルに対する最初の保留中更新からの最大意図的遅延(秒)。その後の編集によってこの制限がリセットされることはなく、処理スロットの待機によって別のバッチ遅延が追加されることもありません。この時間が経過すると処理が実行可能になりますが、指定時間内の書き込み完了や他デバイスへの到達を保証するものではありません。
+
+### 4. 削除の伝播(高度な設定)
+
+#### 旧式のゴミ箱設定
+
+設定キー: `trashInsteadDelete`
+このキーは設定インポート、セットアップ URI、および以前のバージョンとの互換性のために引き続き受け入れられますが、設定画面には表示されなくなりました。リモートファイルの削除は、このレガシーな値に関係なく、`FileManager.trashFile` API を通じてユーザーの Obsidian 削除設定に従います。
+
+#### 空のフォルダーを保持
+
+画面表示: **空フォルダーの維持**
+
+設定キー: `doNotDeleteFolder`
+ファイルが存在しない空のフォルダーを保持するかどうかを設定します。
+
+### 5. 競合解決(高度な設定)
+
+競合解決は未知のローカルコンテンツを保護し、利用可能なリビジョン履歴が安全な共通ベースを提供する場合にのみ自動マージを行います。リビジョンツリールール、古い解決や同時解決、バイナリファイルの制限、および競合が未解決の間に使用されるデバイスローカルの系統情報については、[競合解決とリビジョン系統の仕様](specs_conflict_resolution.md) を参照してください。
+
+#### (ベータ)常に新しいファイルで上書き
+
+画面表示: **(ベータ機能)常に新しいファイルで上書きする**
+
+設定キー: `resolveConflictsByNewerFile`
+テスト専用。より新しい更新日時を持つコピーを選択してファイル競合を解決します。変更されたファイルが上書きされる可能性があり、どのリビジョンがユーザーの意図を反映しているかは判別できません。
+
+#### 非アクティブファイルの競合解決を遅延
+
+画面表示: **非アクティブなファイルは、競合解決を先送りする**
+
+設定キー: `checkConflictOnlyOnOpen`
+ファイルが開かれたときにのみ競合を確認するかどうかを設定します。
+
+#### 非アクティブファイルのマージ競合の確認を遅延
+
+画面表示: **非アクティブなファイルに対する競合解決プロンプトの表示を遅延させる**
+
+設定キー: `showMergeDialogOnlyOnActive`
+ファイルが開かれたときに競合ファイルについて確認を求めるかどうかを設定します。
+
+### 6. Markdown による同期設定(高度な設定)
+
+#### ファイル名
+
+画面表示: **ファイル名**
+
+設定キー: `settingSyncFile`
+設定を Markdown ファイルに保存します。新しい設定が届いた際に通知されます。プラットフォームごとに異なるファイルを設定できます。
+
+#### ファイルに認証情報を書き込む
+
+画面表示: **認証情報のファイル内保存**
+
+設定キー: `writeCredentialsForSettingSync`
+(非推奨)有効にすると、認証情報がファイルに保存されます。
+
+この設定が無効な場合、オブジェクトストレージキー、認証ヘッダー、その他の認証情報、すべての接続プロファイルおよびそのアクティブ選択はファイルから除外されます。インポート時も受信側デバイスのローカル認証情報とプロファイルが保持されます。有効な場合、ファイルには認証情報と完全な接続プロファイルが含まれます。手動で共有する場合は、設定画面のプレーンテキストエクスポートまたは暗号化されたセットアップ URI を使用してください。
+
+#### すべての設定ファイルに通知
+
+画面表示: **すべての設定同期ファイルを通知**
+
+設定キー: `notifyAllSettingSyncFile`
+すべての設定同期ファイルの変更を通知します。
+
+### 7. 非表示ファイル(高度な設定)
+
+この機能を有効にする前に、[非表示ファイル同期ガイド](./tips/hidden-file-sync.md) を確認してください。Rebuild(再構築)および Fetch(取得)のセットアップ操作では意図的にオプション機能が無効化されたままになります。まず通常のノート同期を確立してから、各デバイスで個別に非表示ファイル同期を初期化してください。
+
+#### 非表示ファイル同期を有効化
+
+画面表示: **非表示ファイル同期を有効化**
+
+設定キー: `syncInternalFiles`
+非表示ファイルやフォルダー(`.obsidian` 配下の設定ファイル、テンプレート、スニペット、テーマなど)の同期を有効にします。
+
+#### 複製前に非表示ファイルをスキャン
+
+画面表示: **レプリケーション開始前に非表示ファイルをスキャンする**
+
+設定キー: `syncInternalFilesBeforeReplication`
+レプリケーション前に非表示ファイルをスキャンします。
+
+#### 定期的に非表示ファイルをスキャン
+
+画面表示: **定期的に非表示ファイルをスキャンする**
+
+設定キー: `syncInternalFilesInterval`
+非表示ファイルを定期的にスキャンする間隔(秒)。0で無効化。
#### 非表示ファイルの変更通知を抑制
-設定キー: suppressNotifyHiddenFilesChange
-有効な場合、非表示ファイルの変更に関する通知を抑制します。
+画面表示: **非表示ファイルの変更通知を抑制**
-隠しファイルは能動的に検出されないため、スキャンが必要です。
-スキャンでは、ファイルと共にファイルの変更時刻を保存します。もしファイルが消された場合は、その事実も保存します。このファイルを記録したエントリーがレプリケーションされた際、ストレージよりも新しい場合はストレージに反映されます。
+設定キー: `suppressNotifyHiddenFilesChange`
+有効にすると、非表示ファイルの変更通知が抑制されます。
-そのため、端末のクロックは時刻合わせされている必要があります。ファイルが隠しフォルダに生成された場合でも、もし変更時刻が古いと判断された場合はスキップされるかキャンセル(つまり、削除)されます。
+
+## 5. セレクター(高度な設定)
-Each scan stores the file with their modification time. And if the file has been disappeared, the fact is also stored. Then, When the entry of the hidden file has been replicated, it will be reflected in the storage if the entry is newer than storage.
+### 1. 通常ファイル
-Therefore, the clock must be adjusted. If the modification time is old, the changeset will be skipped or cancelled (It means, **deleted**), even if the file spawned in a hidden folder.
+#### 同期するファイル
+画面表示: **同期するファイル**
+設定キー: `syncOnlyRegEx`
+(正規表現)通常ファイルを一致するパスのみに制限します。空欄にするとすべての通常ファイルパスが許可されます。非表示ファイル同期は独自のターゲットパターンを使用します。
-### Advanced settings
-Self-hosted LiveSyncはPouchDBを使用し、リモートと[このプロトコル](https://docs.couchdb.org/en/stable/replication/protocol.html)で同期しています。
-そのため、全てのノートなどはデータベースが許容するペイロードサイズやドキュメントサイズに併せてチャンクに分割されています。
+#### 同期しないファイル
-しかしながら、それだけでは不十分なケースがあり、[Replicate Changes](https://docs.couchdb.org/en/stable/replication/protocol.html#replicate-changes)の[2.4.2.5.2. Upload Batch of Changed Documents](https://docs.couchdb.org/en/stable/replication/protocol.html#upload-batch-of-changed-documents)を参照すると、このリクエストは巨大になる可能性がありました。
+画面表示: **同期しないファイル**
-残念ながら、このサイズを呼び出しごとに自動的に調整する方法はありません。
-そのため、設定を変更できるように機能追加いたしました。
+設定キー: `syncIgnoreRegEx`
+(正規表現)ローカルおよびリモートで、一致する通常ファイルおよび非表示ファイルの変更をスキップします。
-備考:もし小さな値を設定した場合、リクエスト数は増えます。
-もしサーバから遠い場合、トータルのスループットは遅くなり、転送量は増えます。
+#### 最大ファイルサイズ
-### Batch size
-一度に処理するChange feedの数です。デフォルトは250です。
+画面表示: **最大ファイル容量**
-### Batch limit
-一度に処理するBatchの数です。デフォルトは40です。
+設定キー: `syncMaxSizeInMB`
+(MB)この値を設定すると、これより大きいサイズのローカルファイルおよびリモートファイルの変更はスキップされます。ファイルが再び小さくなった場合は、新しいものが使用されます。
-### 1回のリクエストで送信するチャンクの最大サイズ
-設定キー: sendChunksBulkMaxSize
+#### (ベータ)除外ファイルを使用
-メガバイト(MB)単位で指定します。
+画面表示: **(ベータ機能)除外ファイル(ignore)の使用**
-## Customisation Sync (カスタマイズ同期)
-プラグイン、ホットキー、テーマ、スニペットなどのObsidianのカスタマイズ設定を同期する機能です(以前は **Plugin Sync** と呼ばれていました)。
+設定キー: `useIgnoreFiles`
+これを設定すると、除外ファイルに一致するローカルファイルの変更がスキップされます。リモートの変更はローカルの除外ファイルを使用して判定されます。
-### デバイス名 (Device name)
-設定キー: deviceAndVaultName
+#### 除外ファイル
-同期するすべてのデバイス間で一意となるデバイス名です。この設定を編集するには、一度カスタマイズ同期を無効にする必要があります。
+画面表示: **除外ファイル**
-### ファイル保存ごとのカスタマイズ同期 (Per-file-saved customisation sync)
-設定キー: usePluginSyncV2
+設定キー: `ignoreFiles`
+カンマ区切りで指定します(例: `.gitignore, .dockerignore`)。
-有効な場合、ファイルごとの効率的なカスタマイズ同期が使用されます。有効にする際には簡単な移行作業が必要であり、すべてのデバイスを v0.23.18 以降にアップデートする必要があります。この機能を有効にすると、古いバージョンとの互換性が失われます。
+保存された設定によって通常ファイルを反映できるかどうかが変化した場合、LiveSync はローカルデータベースにすでに保持されている通常ファイルのメタデータを再評価します。これにはセレクター式、除外ファイル設定、最大サイズおよび更新日時制限、ファイル名の大文字小文字の処理が含まれます。したがって、除外中に受信されチェックポイントが記録されたリモートリビジョンも、条件が緩和された後はリモートチェックポイントを巻き戻すことなく反映できます。条件を狭めても、すでに反映されたファイルが削除されることはありません。
-### カスタマイズ同期を有効にする (Enable customisation sync)
-設定キー: usePluginSync
+### 2. 非表示ファイル(高度な設定)
-テーマ、スニペット、ホットキー、プラグイン設定などの同期を有効にします。
-注意: 安全上の理由から、この機能を使用するにはエンドツーエンド暗号化(End-to-End Encryption)が有効になっている必要があります。
+#### 除外パターン
-### カスタマイズの自動スキャン (Scan customisation automatically)
-設定キー: autoSweepPlugins
+画面表示: **除外パターン**
-レプリケーション(同期処理)を実行する前に、カスタマイズ設定の変更をスキャンします。
+非表示ファイル同期で除外するパターンを設定します。
-### 定期的なカスタマイズのスキャン (Scan customisation periodically)
-設定キー: autoSweepPluginsPeriodic
+#### 既定のパターンを追加
-1分ごとにカスタマイズ設定の変更を定期的にスキャンします。
+画面表示: **デフォルトパターンを追加**
-### カスタマイズ更新の通知 (Notify customised)
-設定キー: notifyPluginOrSettingUpdated
+デフォルトの除外パターンを追加します。
-他のデバイスで新しくカスタマイズ設定が更新されたときに通知を表示します。
+
-## Miscellaneous
-その他の設定です
-### Show status inside editor
-同期の情報をエディター内に表示します。
-モバイルで便利です。
+## 6. カスタマイズ同期(高度な設定)
-### Check integrity on saving
-保存時にデータが全て保存できたかチェックを行います。
+カスタマイズ同期はサポート対象の高度なオプトイン機能です。現在のファイル単位の実装は、スニペット、設定ファイル、およびプラグインファイルに対する2つの Vault による実際の Obsidian ワークフローでカバーされています。非表示ファイル同期は、セットアップ、選択、競合動作が異なる別の機能です。同じファイルを管理するために両方の機能を使用しないでください。
+**Automatic(自動)** はアイテムのファイルを非表示ファイル同期に委譲します。[対象パターンと除外パターン](./tips/hidden-file-sync.md#review-the-file-selection) を確認した上で、まずこのデバイスの **Sync Settings** で非表示ファイル同期を有効化および初期化してください。非表示ファイル同期が無効な状態で Automatic を選択すると通知が表示され、現在のモードは変更されません。別のデバイスからインポートされたものを含め、既存の Automatic 割り当ては非表示ファイル同期が無効な間も保持されます。
-## Hatch
-ここから先は、困ったときに開ける蓋の中身です。注意して使用してください。
+### 1. カスタマイズ同期
-同期の状態に問題がある場合、Hatchの直下に警告が表示されることがあります。
+#### デバイス名
-- パターン1
-
-データベースがロックされていて、端末が「解決済み」とマークされていない場合、警告が表示されます。
-他のデバイスで、End to End暗号化を有効にしたか、Drop Historyを行った等、他の端末がそのまま同期を行ってはいない状態に陥った場合表示されます。
-暗号化を有効化した場合は、パスフレーズを設定して「このデバイスの同期状態をリセット」、または「このデバイスのファイルでサーバーデータを上書き」を行うと自動的に解除されます。
-手動でこのロックを解除する場合は「I've made a backup, mark this device 'resolved'」をクリックしてください。
+画面表示: **デバイス名**
-- パターン2
-
-リモートのデータベースが、過去、パターン1を解除したことがあると表示しています。
-ご使用のすべてのデバイスでロックを解除した場合は、データベースのロックを解除することができます。
-ただし、このまま放置しても問題はありません。
+設定キー: `deviceAndVaultName`
+同期されるすべてのデバイス間で一意の名前を指定します。この設定を編集するには、カスタマイズ同期を一度無効にしてください。
-### Verify and repair all files
-Vault内のファイルを全て読み込み直し、もし差分があったり、データベースから正常に読み込めなかったものに関して、データベースに反映します。
+#### ファイルごとに保存するカスタマイズ設定を同期
-- このデバイスの同期状態をリセット (Reset Synchronisation on This Device)
-ローカルのデータベースを破棄し、リモートのデータから再構築します。
-- このデバイスのファイルでサーバーデータを上書き (Overwrite Server Data with This Device's Files)
-ローカルおよびリモートのデータベースをこのデバイス上のファイルで再構築(上書き)します。
+画面表示: **ファイル単位のカスタマイズ同期を有効化**
-### Lock remote database
-リモートのデータベースをロックし、他の端末で同期を行おうとしてもエラーとともに同期がキャンセルされるように設定します。これは、データベースの再構築を行った場合、自動的に設定されるものと同じものです。
+設定キー: `usePluginSyncV2`
+有効にすると、効率的なファイル単位のカスタマイズ同期が使用されます。有効化時に小規模な移行が必要になります。また、すべてのデバイスを v0.23.18 以降にアップデートする必要があります。一度有効にすると、古いバージョンとの互換性は失われます。
-万が一同期に不具合が発生していて、使用しているデバイスのデータ+サーバーのデータを保護する場合などに、緊急避難的に使用してください。
+#### カスタマイズ同期を有効化
-### Scram スイッチ (Scram Switches)
-データベースの破損や予期しないデータ喪失を防ぐために、同期処理を緊急停止するためのスイッチです。重大な設定不一致や同期エラーが発生した場合、プラグインは自動的に Scram 状態に移行し、同期動作を一時停止することがあります。
+画面表示: **カスタマイズ同期を有効化**
-#### ファイルの更新監視を一時停止 (Suspend file watching)
-設定キー: suspendFileWatching
+設定キー: `usePluginSync`
+カスタマイズ同期を有効にします。
-ローカルファイル変更の監視と検知を停止します。
+#### カスタマイズを自動スキャン
-#### データベース反映を一時停止 (Suspend database reflecting)
-設定キー: suspendParseReplicationResult
+画面表示: **自動的にカスタマイズをスキャン**
-データベースでの変更をストレージファイル(Vault内のファイル)へ書き戻す処理を停止します。
+設定キー: `autoSweepPlugins`
+レプリケーション前にカスタマイズをスキャンします。
-### 互換性(メタデータ)(Compatibility (Metadata))
+#### カスタマイズを定期スキャン
-#### 削除済みファイルのメタデータを保持しない (Do not keep metadata of deleted files.)
-設定キー: deleteMetadataOfDeletedFiles
+画面表示: **定期的にカスタマイズをスキャン**
-ファイルを削除した際に、そのファイルの同期履歴メタデータも即座にデータベースから削除し、保持しないようにします。
+設定キー: `autoSweepPluginsPeriodic`
+1分ごとにカスタマイズを定期スキャンします。
-#### 削除済みデータのメタデータをクリーンナップする (Delete old metadata of deleted files on start-up)
-設定キー: automaticallyDeleteMetadataOfDeletedFiles
+#### カスタマイズの変更を通知
-ファイルを削除した際のメタデータを保持する期間(日数)を設定します。指定した日数を経過した古い削除済みファイルのメタデータは、プラグイン起動時にデータベースから自動的に削除(クリーンナップ)されます。`0` を指定すると自動削除は無効になります。
+画面表示: **カスタマイズが行われたら通知する**
-### 破損している可能性があるファイルも処理する
-設定キー: processSizeMismatchedFiles
+設定キー: `notifyPluginOrSettingUpdated`
+別のデバイスによって新しくカスタマイズされたときに通知します。
-サイズ不一致のあるファイルを処理します。特定のAPIや外部連携によって作成されたファイルを同期する際に役立ちます。
+#### 開く
-### Remediation
+画面表示: **開く**
-#### イベント反映時の最大ファイル更新日時
-設定キー: maxMTimeForReflectEvents
+ダイアログを開きます。
-この値(Unixエポックからの秒数)より新しい更新日時を持つファイルについては、イベントの反映を無視します。0を指定すると制限が無効になります。
+
-### Corrupted data
-
+## 7. ハッチ
-データベースからストレージに書き出せなかったファイルがここに表示されます。
-もし、Obsidian内にそのデータが存在する場合は、一度編集を行い、上書きを行うと保存に成功する場合があります。(File Historyプラグインで救っても大丈夫です)
-それ以外の場合は、残念ながら復旧手段がないため、データベース上の破損したファイルを削除しない限り、エラーが表示されます。
-その「データベース上の破損したファイルを削除」するボタンです。
+### 1. レポートツール
+このパネルには、レポートの収集やデータベース状態の検査を行う5つのアクションがまとめられています。これらのアクションは診断情報の取得専用であり、データベースの修復やリセットは行いません。
+
+#### Issue 報告用のレポートを作成
+
+**「レポートをクリップボードにコピー(Copy Report to clipboard)」** を選択すると、サポート報告用の診断情報と最近のログが収集されます。機密情報が含まれる可能性があるため、共有する前にレポートの内容を確認してください。
+
+#### ファイルのデータベース情報をコピー
+
+ファイルを選択して、そのローカルデータベース情報をコピーします。コマンド **Copy database information for the active file** を実行すると、エディタで開いているファイルに対して同じ検査が実行されます。
+
+レポートには Vault 相対パス、ドキュメントおよびチャンクの識別子、ローカルデータベースのリビジョン、競合、およびローカルチャンクの利用可能性が含まれます。リモートへの問い合わせやファイルコンテンツの収集は行いません。パスや識別子はプライベートなメタデータである可能性があるため、共有前に確認してください。
+
+#### レポートの仮名からファイルを検索
+
+診断レポートからパスの仮名(pseudonym)を貼り付け、**「ファイルを検索(Find file)」** を選択します。検索は現在の Vault とローカルの通常ファイルメタデータのみを対象とし、リモートデータベースには接続しません。一致するローカル候補がすべて返され、各候補の実際の Vault パスとドキュメント ID はこのローカルダイアログ内でのみ表示されます。1つのパスに対して複数のローカルドキュメント ID が存在する場合は個別の候補として扱われます。Vault のみに存在する候補のフォローアップでは、ローカルドキュメントが選択されなかったため、メタデータは未検査としてマークされます。一致が見つからない場合は、ファイルの名前が変更されたか削除されたか、あるいは該当するメタデータがリモートにのみ存在する可能性があります。
+
+選択した候補について、既存の Vault ファイルを開くか、元のレポートの仮名ソルトと選択した正確なドキュメント ID を使用して共有可能なローカルレポートを作成できます。レポートには現在・競合・履歴のステータス、チャンクの利用可能性、マージベース、Vault のサイズ情報が含まれます。ファイルコンテンツや認証情報は含まれません。履歴ステータス一覧は全履歴本文まではスキャンしません。
+
+パスの仮名はレポートの公開8文字ソルトを使用します。レポートを持っている人は、推測されたパスを仮名と照合してテストできます。同じソルトを使うことで、特定の対象を絞り込んだ追加調査時にもパスや識別子の仮名を再現できます。古い序数形式の仮名はこのツールでは検索できません。
+
+#### データベースの整合性を検査
+
+**「検査(Inspect)」** を選択して、元の名前または一時的な仮名を選択し、通常ファイルのメタデータと現在の競合を検査します。デフォルトで **「リモートデータベースを含める(Include remote database)」** が選択されています。チェックを外すとローカルデータベースと Vault のみを検査します。この選択は現在の実行にのみ適用され、除外された場合はレポートでリモートの対象範囲が未チェックとしてマークされます。コマンド **Inspect database integrity** でも同じダイアログが開きます。検査は読み取り専用であり、修復は行いません。また、その結果だけを根拠にデータを削除しないでください。対象範囲、レポート形式、プライバシー、キャンセルについては [レポートの収集](troubleshooting.md#collect-a-report) を、状態とレビューインデックスの解釈については [コンパクト Markdown 整合性レポートの読み方](troubleshooting.md#read-the-compact-markdown-integrity-report) を参照してください。
+
+#### データベースの使用状況を分析
+
+画面表示: **データベース使用状況を分析**
+
+**「分析(Analyse)」** を選択して名前ポリシーを選択し、ローカルのリビジョンおよびチャンクの使用状況をレポートします。[高度な機能](#enable-advanced-features) が有効な場合、コマンド **Analyse Database Usage (advanced)** からも同じダイアログを開けます。完了した実行では TSV および JSON が提供され、未完了の実行ではそのステータスと理由が JSON に保持されます。既存のオンデマンドチャンク取得は変更されません。計算の制限とエクスポート手順については [レポートの収集](troubleshooting.md#collect-a-report) を参照してください。
+
+### 2. チェックと復旧
+
+このパネルには、設定やデータベースコンテンツの変更につながる可能性のあるチェック項目がまとめられています。
+
+#### 設定診断ツール
+
+Setting Doctor(設定診断ツール)を実行して、設定の不一致や最適でない設定がないか確認します。推奨事項を適用すると設定が変更されたりデータベースの再構築が要求されたりする場合があるため、続行する前に推奨内容を確認してください。
+
+#### 破損ファイルをスキャン
+
+データベース内に正しく保存されていないファイルがないかスキャンします。スキャンによってデータベースコンテンツを変更する修復操作が提示される場合があります。確定する前に提案された各アクションを確認してください。
+
+### 3. トラブルシューティング
+
+このパネルでは、リモートストレージ通知チェックおよびファイルロギングコントロールを、レポート収集や復旧チェックから分離して管理します。
+
+#### 通知しきい値をリセットしてリモートデータベースの使用量を確認
+
+画面表示: **通知しきい値をリセットしてリモートデータベース使用量を確認**
+
+リモートストレージサイズの閾値をリセットし、リモートストレージのサイズを再確認します。これにより保存された通知閾値が変更されます。
+
+#### ログをファイルに書き込む
+
+画面表示: **ファイルにログを記録**
+
+設定キー: `writeLogToTheFile`
+警告!パフォーマンスに深刻な影響を与えます。また、デフォルト名ではログは同期されません。ログには機密情報が含まれることが多いため、取り扱いには十分注意してください。
+
+### 4. Scram スイッチ
+
+データベースの破損を防ぐために同期プロセスを中断する緊急コントロールです。重大な不一致や同期エラーが発生した場合、プラグインは自動的に Scram 状態に入り、処理を一時停止することがあります。
+
+#### ファイル監視を一時停止
+
+画面表示: **監視の一時停止**
+
+設定キー: `suspendFileWatching`
+ローカルファイルの変更監視を停止します。
+
+#### データベースの反映を一時停止
+
+画面表示: **データベース反映の一時停止**
+
+設定キー: `suspendParseReplicationResult`
+データベースの変更をストレージファイルへ反映する処理を停止します。
+
+### 5. 復旧と修復
+
+#### 現在の Vault ファイルのチャンクを再作成
+
+現在 Vault 内に存在するファイルからチャンクを再作成します。それらの現在のコンテンツが正本であることが確認された後、欠落しているチャンクを修復できます。利用できない過去のリビジョンや競合コンテンツは復元できません。
+
+#### 競合とファイル/データベース間の差異を確認
+
+各 Vault ファイルを、ローカルデータベース内のすべての現行末端リビジョン(leaf)と比較します。代表リビジョン(winner)と競合リビジョンは、正確なリビジョン識別子、ローカルチャンクの利用可能性、および現在の Vault ファイルとの関係とともに個別に表示されます。利用できない共通祖先も個別に報告されます。これらは安全な3方向マージに必要ですが、破棄対象となる現行末端リビジョンではありません。
+
+**「検査を開始(Begin inspection)」** を選択して検査を実行します。報告された各ファイルと現在の末端リビジョンにはレンチメニューがあり、読み取り専用の比較、Vault への正確なデータベースリビジョンの適用、正確なバイト一致の記録、Vault ファイルを指定ブランチの子として保存、チャンク取得の再試行、またはブランチの明示的な破棄を行えます。破壊的な操作には確認が必要です。リビジョン履歴を変更する前に、[競合または不一致ファイルの復旧](recovery.md#recover-a-conflicted-or-mismatched-file) に従ってください。
+
+同じ検査によって、保存されたドキュメント ID が記録されたパスと一致しないローカルメタデータも報告されます。その論理パスに対応するメタデータを引き続き一貫して特定できる場合、古いエントリがあっても通常の検査は抑制されません。特定できない場合、未解決のパスは通常のファイル修復アクションから除外されます。現在の代表リビジョンに競合する末端リビジョンがなく、修復先が明確な場合は、レンチメニューから対象を個別に確認して修復できます。修復先は、現在のローカルファイル名の大文字小文字とパス難読化の設定から導出され、古い ID を削除する前に書き込みと検証が行われます。対象が曖昧、競合中、削除済み、除外対象、またはその他の理由で安全に修復できない場合は、読み取り専用のままです。この操作で Vault 内のファイル名やフォルダー名が変更されることはありません。バックアップ、修復、伝播、検証の手順については、[メタデータドキュメント ID 不一致の修復](recovery.md#repair-a-metadata-document-id-mismatch) を参照してください。デバイス間で広範な名前の差異がある場合は、そのガイドに従って信頼できる Vault を選び、Obsidian を終了してからストレージ上の名前を修正し、中央のリモートデータベースを再構築して他のデバイスをリセットしてください。
+
+#### 競合ファイルをすべて新しい方で解決
+
+画面表示: **競合したすべてのファイルを新しい方で解決**
+
+確認後、更新日時に基づいてすべての競合を解決します。最新のバージョンを除くすべてのバージョンに論理削除が記録されます。これは破壊的なポリシー選択であり、すでに利用できないコンテンツは復旧できません。
+
+#### パスが難読化されていないファイルを確認して変換
+
+画面表示: **パスが難読化されていないファイルを確認して変換**
+
+パスが難読化されていないファイルを確認して変換します。
+
+### 6. リセット
+
+#### 未設定の状態に戻す
+
+画面表示: **未設定状態に戻す**
+
+未設定状態に戻します。
+
+#### カスタマイズ同期データをすべて削除
+
+すべてのカスタマイズ同期データを削除します。
+
+
+
+## 8. 高度な設定
+
+### 1. メモリーキャッシュ
+
+#### メモリーキャッシュのサイズ(項目数)
+
+画面表示: **メモリキャッシュのサイズ(項目数)**
+
+設定キー: `hashCacheMaxCount`
+ハッシュキャッシュの最大保持アイテム数。
+
+#### メモリーキャッシュのサイズ(文字数)
+
+画面表示: **全体でキャッシュする文字数**
+
+設定キー: `hashCacheMaxAmount`
+ハッシュキャッシュの最大保持文字数(メガ文字)。
+
+### 2. ローカルデータベースの調整
+
+#### チャンクサイズを拡大
+
+画面表示: **チャンクサイズを最適化する**
+
+設定キー: `customChunkSize`
+
+新規セットアップでは、すべてのリモートタイプで0が使用されます。V3 Rabin–Karp では、バイナリチャンクに対して最大 100 KiB、最小 25 KiB、約 25 KiB の候補ギャップが設定されます。候補ギャップは平均チャンク長を表す値ではありません。4 MiB 未満のテキストは適応型の小さな境界を維持し、大きなテキストは UTF-8 セーフなカットを伴うバイナリ閾値を使用します。
+
+値を大きくすると、変更がほとんどないバイナリファイルのドキュメント数を削減できますが、編集後に新しく保存されるコンテンツが増加する可能性があります。既存の明示的な値および合意された値は保持されます。プラグインをアップデートしても Vault の再チャンク化は行われません。編集、強制書き込み、チャンク再作成、または完全な Rebuild によって新しい境界が作成される一方、既存のコンテンツは引き続き読み取り可能です。
+
+#### チャンク分割方式
+
+画面表示: **チャンクスプリッター**
+
+設定キー: `chunkSplitterVersion`
+
+チャンクスプリッターのバージョンを選択します。V3 が最も効率的です。問題が起きたときは、Default または Legacy を選んでください。
+
+#### 分割上限付きチャンク分割方式を使用
+
+画面表示: **分割制限付きチャンク分割を使用**
+
+設定キー: `enableChunkSplitterV2`
+有効にすると、チャンクは最大100個までに制限されて分割されます。ただし重複排除(dedupe)の効果はわずかに低下します。
+
+#### セグメント分割方式を使用
+
+画面表示: **セグメント分割を使用**
+
+設定キー: `useSegmenter`
+有効にすると、チャンクは意味のあるセグメント(段落や見出し単位など)に分割されます。一部のプラットフォームではサポートされていません。
+
+#### 起動時にコンテンツを厳密に確認
+
+画面表示: **起動時にコンテンツを厳密に確認**
+
+設定キー: `strictContentCheckOnStartup`
+
+有効にすると、ファイルの正確な更新日時とサイズが一致している場合でも、通常の起動時にファイルコンテンツとローカルデータベースを比較します。無効な場合(デフォルト)、更新日時、サイズ、および記録されたデバイスローカルの系統情報が競合のない現在のリビジョンと一致し、保留中のファイル処理がない場合にのみ、この比較をスキップできます。したがって、通常のファイルイベント経路外で行われ、正確な更新日時とサイズが維持された編集は、通常の起動では検出されない可能性があります。手動スキャンおよび明示的な Fetch や Rebuild 操作では、厳密なコンテンツチェックが維持されます。
+
+### 3. 転送の調整
+
+#### 必要に応じてチャンクを取得
+
+画面表示: **必要に応じてチャンクを取得する**
+
+設定キー: `readChunksOnline`
+有効にすると、通常のプルレプリケーションですべてのチャンクを含める代わりに、必要なときに不足しているチャンクを取得します。新規セットアップでも同様にチャンクサイズ0の推奨値が保持されます。この設定によって、他デバイスで保存済みのコンテンツが再チャンク化されることはありません。
+
+#### オンデマンド取得のバッチサイズ
+
+画面表示: **オンデマンド取得のバッチサイズ**
+
+設定キー: `concurrencyOfReadChunksOnline`
+オンデマンド取得の並行バッチサイズ。
+
+#### 連続するオンデマンド取得の間隔
+
+画面表示: **連続するオンデマンド取得の間隔**
+
+設定キー: `minimumIntervalOfReadChunksOnline`
+連続するオンデマンド取得の遅延間隔。
+
+#### チャンクを手動再送するときの最大リクエストサイズ
+
+画面表示: **チャンクを手動で再送する際の最大リクエストサイズ**
+
+設定キー: `sendChunksBulkMaxSize`
+
+明示的な **「すべてのチャンクを再送信(Resend all chunks)」** メンテナンス操作によって1つのリクエストで送信されるチャンクの最大サイズを制限します(MB 単位)。通常および初期レプリケーションではこの設定は使用されません。
+
+
+
+## 9. パワーユーザー向け設定
+
+### 1. リモートデータベースの調整
+
+#### ドキュメント内にチャンクを一時格納(終了予定の互換機能)
+
+設定キー: `useEden`
+この設定は新しい構成では提供されなくなりました。既存の保存された値は引き続き受け入れられるため、既存のデータベースの構造を意図せず変更することなく開いて移行できます。
+
+#### 一時格納するチャンクの最大数
+
+画面表示: **一時保管する最大チャンク数**
+
+設定キー: `maxChunksInEden`
+ドキュメント内に一時格納できるチャンクの最大数です。この数を超えたチャンクは、直ちに独立したチャンクになります。
+
+#### 一時格納するチャンクの最大サイズ
+
+画面表示: **保持するチャンクの最大サイズ**
+
+設定キー: `maxTotalLengthInEden`
+ドキュメント内に一時格納できるチャンクの最大合計サイズです。このサイズを超えたチャンクは、直ちに独立したチャンクになります。
+
+#### 一時格納期間の上限
+
+画面表示: **最大保持期限**
+
+設定キー: `maxAgeInEden`
+ドキュメント内にチャンクを一時格納できる最大期間です。この期間を超えたチャンクは、独立したチャンクになります。
+
+#### データ圧縮(高度なオプトイン機能)
+
+設定キー: `enableCompression`
+
+データ圧縮は、E2EE の前に各チャンクに対して fflate レベル8を適用します。圧縮によって小さくならないチャンクは非圧縮のままとなり、読み取り側は両方の表現を引き続き受け入れます。設定を変更しても互換性のための再構築は不要であり、既存の表現と新しい表現が共存できます。
+
+測定されたストレージおよび転送の利点に伴い、ワークロードに応じた処理負荷とメモリコストが発生するため、この設定はデフォルトで無効のままとなっています。仕様、証拠、実行モデル、再現コマンドについては [データ圧縮の仕様](specs_data_compression.md) を参照してください。
+
+### 2. CouchDB 接続の調整
+
+#### バッチサイズ
+
+画面表示: **バッチサイズ**
+
+設定キー: `batch_size`
+通常の CouchDB レプリケーションバッチ内の変更数。スキーマのデフォルトは25、最小値は2です。この値のみを変更してもレプリケーションチェックポイントは維持されます。数値を大きくすると通信往復回数は減らせますが、リクエストサイズやメモリ使用量は制限されません。
+
+#### バッチ上限
+
+画面表示: **バッチの上限**
+
+設定キー: `batches_limit`
+PouchDB が先行読み込みできる変更バッチの数。スキーマのデフォルトは25、最小値は2です。これによって並行本文転送が行われることはなく、PouchDB は一度に1つのレプリケーションバッチを順次処理します。P2P やオブジェクトストレージの転送単位は制御しません。
+
+#### ハートビートの代わりにタイムアウトを使用
+
+画面表示: **ハートビートの代わりにタイムアウトを使用**
+
+設定キー: `useTimeouts`
+このオプションを有効にすると、PouchDB は接続を無期限に開いたままにする代わりに60秒間接続を保持し、その間に変更が届かない場合はソケットを閉じて再度開きます。プロキシがリクエスト時間を制限している場合に役立ちますが、リソース消費が増加する可能性があります。
+
+### 3. 設定の暗号化
+
+#### 機密設定項目を暗号化
+
+画面表示: **機密性の高い設定項目の暗号化**
+
+設定キー: `configPassphraseStore`
+
+機密設定項目のパスフレーズの提供方法を選択します。**Default(デフォルト)** は既存のデフォルトキーを使用します。**Use a custom passphrase(カスタムパスフレーズを使用)** は `configPassphrase` の値を使用し、そのキーをこのデバイスに保存します。**Ask an passphrase at every launch(起動のたびにパスフレーズを確認)** は起動時にマスクされたパスフレーズを要求し、正常に入力されたキーをその起動セッションの間メモリにキャッシュします。
+
+この設定とパスフレーズは一緒に適用してください。適用すると、保存された機密値が選択したパスフレーズで再暗号化され、LiveSync がそのパスフレーズを取得する方法が一度の操作で変更されます。適用に失敗した場合でも、編集された値は再試行のために保持されます。再暗号化は平文の値を維持します。E2EE パスフレーズ、ID キー、Vault コンテンツを変更することはありません。
+
+#### 機密設定項目のパスフレーズ
+
+画面表示: **機密性の高い設定項目にパスフレーズを使用**
+
+設定キー: `configPassphrase`
+このパスフレーズは別のデバイスにコピーされません。**Use a custom passphrase** の場合、選択したモードは設定に保存されますが、キーはこのデバイスに残ります。保護された設定を復号する必要があり、別のデバイスにキーがない場合、LiveSync は起動時にパスフレーズを要求します。保護された設定によって検証された後、キーはそのデバイスに保存されます。
+
+### 4. 開発者向け
+
+#### 開発者向けデバッグツールを有効化
+
+画面表示: **開発者向けデバッグツールを有効化(利用可能な場合)。**
+
+設定キー: `enableDebugTools`
+Obsidian の再起動が必要です。
+
+
+
+## 10. パッチ(エッジケース対応)
+
+### 1. 互換性(メタデータ)
+
+#### 削除済みファイルのメタデータを保持しない
+
+画面表示: **削除済みファイルのメタデータを保持しない**
+
+設定キー: `deleteMetadataOfDeletedFiles`
+
+競合のないファイルの場合、この設定を無効にするとメタデータドキュメントに論理削除が記録されます。有効にすると、PouchDB の tombstone(削除済みマーカー)を通じてそのドキュメントが削除されます。どちらの動作もファイルの削除および名前変更を送信元から伝播させます。Vault ファイルを削除する前に、LiveSync は現在の代表リビジョンを再検証します。この最終チェックで同時復元が確認された場合、復元されたファイルが保持されます。この設定は削除の表現方法を変更するものであり、ファイルコンテンツは個別のチャンクに保存されたままとなります。未解決の競合中の削除は、個別の [表示ブランチルール](specs_conflict_resolution.md#operations-while-a-conflict-exists) に従います。
+
+#### 起動時に削除済みファイルの古いメタデータを削除
+
+画面表示: **起動時に削除済みファイルの古いメタデータを削除する**
+
+設定キー: `automaticallyDeleteMetadataOfDeletedFiles`
+(日数指定。0 の場合は自動削除を無効化)
+
+### 2. 互換性(競合時の動作)
+
+#### マージ競合を常に確認
+
+画面表示: **競合のマージ時に毎回確認を求める**
+
+設定キー: `disableMarkdownAutoMerge`
+安全に自動マージできる場合でも、すべてのマージについて確認を求めるかどうかを設定します。
+
+#### 競合時に最新の変更を適用
+
+画面表示: **競合がある場合は最新の変更を適用する**
+
+設定キー: `writeDocumentsIfConflicted`
+競合が発生した場合でも、ドキュメントに最新の変更を自動的に適用します。
+
+### 3. 互換性(データベース構造)
+
+#### (廃止)互換性のために旧アダプターを使用
+
+画面表示: **(廃止済み)古いアダプターを互換性のために利用**
+
+設定キー: `useIndexedDBAdapter`
+v0.17.16 より前では、ローカルデータベースに古いアダプターを使用していました。現在は新しいアダプターが推奨されます。ただしローカルデータベースの再構築が必要です。時間のあるときにこのトグルをオフにしてください。オンのままにした場合、リモートデータベースからの取得中にも無効化を求められます。
+
+#### コンテンツ由来のチャンクリビジョン(廃止された設定)
+
+画面表示: **コンテンツ由来のチャンクリビジョン(廃止された設定)**
+
+設定キー: `doNotUseFixedRevisionForChunks`
+チャンクリビジョンは常にコンテンツから派生します。このキーは互換性のために保存設定やセットアップ URI で引き続き受け入れられますが、その値によって動作が変わることはなく、メンテナンスの前提条件でもありません。
+
+#### ファイル名の大文字と小文字を区別
+
+画面表示: **ファイルの大文字・小文字を区別する**
+
+設定キー: `handleFilenameCaseSensitive`
+有効にすると、すべてのファイルが大文字小文字を区別して処理されます(従来の挙動)。
+
+この設定が無効な場合、同じディレクトリ内でのファイル名の大文字小文字のみの変更は名前変更として同期されます。ディレクトリ名の大文字小文字の変更はこの処理ではサポートされていません。
+
+新規 Vault ではクロスプラットフォーム互換性のために大文字小文字を区別しない処理が使用されます。明示的な値を持つ既存の設定はその選択を保持します。以前のリリースでもこの値が存在しない場合は大文字小文字を区別しない処理を適用していたため、1.0 では欠落しているレガシー値を互換性レビューやデータベース再構築を必要とせずに `false` として保存します。
+
+#### Unicode パスの識別
+
+設定キー: `pathNormalizationVersion`
+
+バージョン `0` はレガシーなファイル同一性を維持し、既存および新規設定のデフォルトです。バージョン `1` はドキュメント ID 導出時に Unicode NFC を使用するため、CLI と Obsidian 間で合成形式と分解形式の等価なパスが同じファイルを識別します。既存の物理ファイル名は保持されます。このモードは現在 CouchDB のみをサポートしています。
+
+バージョン `1` は協調的な移行が必要です。Rebuild 前にソースクライアントで設定し、Fetch 前に残りの各クライアントで設定してください。設定を変更しただけでは既存のメタデータは移行されません。完全な手順については [Unicode NFC パス同一性への移行](recovery.md#migrate-to-unicode-nfc-path-identity) に従ってください。移行されたリモートに対してバージョン `0` のクライアントを実行しないでください。
+
+選択された値は、通常の設定保存および再読み込みの間保留状態となります。Rebuild または Fetch 操作が正常に予約されたときにのみアクティブになります。キャンセルした場合は保留のままとなります。
+
+同じ ID を持つ別ファイルや保持されたメタデータドキュメントが存在する場合、どちらのデータベースもリセットする前に再構築を停止します。ローカルデータベースを置き換える際、Rebuild および Fetch は未解決の競合がない論理削除を除外します。未解決の競合がある削除済みの代表リビジョンは、引き続き検査対象となります。この検査では、ホストがサポートするファイル一覧を使用します。Obsidian は Vault API が公開するパスを検査するため、インデックスに隠れた物理的な別名は検出できません。名前の重複や同期対象の範囲は、事前に解決してください。Self-hosted LiveSync がそれらを自動マージすることはありません。大文字小文字を区別しない処理では、既存の大文字小文字規則も適用されます。
+
+### 4. 互換性(内部 API の使用)
+
+#### カスタマイズ同期時に変更をスキャン
+
+画面表示: **カスタマイズ同期時に変更をスキャンする**
+
+設定キー: `watchInternalFileChanges`
+内部 API を使用しません。
+
+### 5. エッジケース対応(データベース)
+
+
+
+#### データベースサフィックス
+
+画面表示: **データベースの接尾辞(suffix)**
+
+設定キー: `additionalSuffixOfDatabaseName`
+LiveSync は、異なるデータベースサフィックスを付けない限り、同名の複数 Vault を扱えません。この値は自動的に設定されます。
+
+この値を変更した後は Obsidian を再起動し、選択したサフィックスに対応する[SyncGuard の設定](#大量の変更受信時にワークスペースを保護オプトイン)を確認してください。
+
+#### チャンク ID のハッシュアルゴリズム(互換性)
+
+画面表示: **チャンク ID のハッシュアルゴリズム**
+
+設定キー: `hashAlg`
+
+`xxhash64` がサポートされている現在の値です。古いアルゴリズムは、既存データベースのエッジケース互換性パスとしてのみ選択可能です。アルゴリズムを変更するとデバイス間でのチャンク再利用が減少する可能性があり、通常の設定差異のレビューが必要になります。
+
+独立した ID 導出が有効な場合、暗号化されたチャンク ID は `hashAlg` の代わりにバージョン付き HMAC 構造を使用します。選択された `hashAlg` は引き続きレガシー ID に適用されます。
+
+### 6. エッジケース対応(動作)
+
+#### 従来の動作でデータベースを取得
+
+画面表示: **以前の動作でデータベースを取得**
+
+設定キー: `doNotSuspendOnFetching`
+従来の挙動でデータベースを取得します。
+
+#### 空のフォルダーを保持
+
+画面表示: **空フォルダーの維持**
+
+設定キー: `doNotDeleteFolder`
+ファイルが存在しない空のフォルダーを保持するかどうかを設定します。
+
+#### 破損しているように見えるファイルも処理
+
+画面表示: **破損していると思われるファイルも処理する**
+
+設定キー: `processSizeMismatchedFiles`
+
+サイズ不一致のあるファイルを処理するためにこの設定を有効にします。これらは一部の外部 API や統合によって発生することがあります。
+
+### 7. エッジケース対応(処理)
+
+#### バックグラウンドでチャンクを分割しない
+
+画面表示: **バックグラウンドでチャンクを分割しない**
+
+設定キー: `disableWorkerForGeneratingChunks`
+有効にすると、チャンクは UI スレッドで分割されます(従来の挙動)。
+
+#### 小さいファイルをフォアグラウンドで処理
+
+画面表示: **小さいファイルを UI スレッドで処理**
+
+設定キー: `processSmallFilesInUIThread`
+有効にすると、1 KB 未満のファイルは UI スレッドで処理されます。
+
+#### 互換性のあるチャンク設定を自動調整
+
+設定キー: `autoAcceptCompatibleTweak`
+
+現在のリリースでは、差異が互換性のあるチャンク設定に限定されている場合にデフォルトでこれが有効になります。チャンクハッシュアルゴリズム、チャンクサイズ、またはチャンクスプリッターのバージョンについて、より新しい更新日時が記録されている側の値が使用されます。どちらにも更新日時が記録されていない場合や日時が等しい場合はリモートの値が使用されます。ダイアログの表示やデータベースの再構築は必要ありません。既存のコンテンツは引き続き読み取り可能ですが、これらの値を変更するとチャンクの再利用性が低下する可能性があります。互換性のある差異を手動で確認したい場合はこれをオフにしてください。互換性のない設定に関わる差異は、常に明示的な判断が必要です。
+
+### 8. 互換性(対処済みの問題)
+
+#### 複製前に設定の不一致を確認しない
+
+画面表示: **レプリケーション前に設定の不一致を確認しない**
+
+設定キー: `disableCheckingConfigMismatch`
+レプリケーション前に設定の不一致をチェックしません。
+
+### 9. 是正措置
+
+#### 反映対象とするファイルイベントの更新日時上限
+
+画面表示: **ファイルイベントを反映する最大ファイル更新日時**
+
+設定キー: `maxMTimeForReflectEvents`
+
+この値(UNIX エポックからの秒数)より新しい更新日時を持つファイルは、イベントが反映されません。0に設定するとこの制限は無効になります。
+
+
+
+## 11. メンテナンス
+
+### 1. Scram!
+
+#### サーバーをロック
+
+画面表示: **サーバーをロック**
+
+リモートサーバーをロックして他のデバイスとの同期を防止します。
+
+#### 緊急再起動
+
+画面表示: **緊急再起動**
+
+すべての同期を無効にして再起動します。
+
+### 2. 同期
+
+#### 再送信
+
+画面表示: **再送信**
+
+ローカルで利用可能なすべてのチャンクをリモートに明示的に再送信します。これは復旧・メンテナンス専用の操作です。通常のレプリケーションで全チャンクを事前に送信するものではありません。
+
+#### 受信ジャーナル履歴をリセット
+
+画面表示: **ジャーナル受信履歴をリセット**
+
+ジャーナル受信履歴を初期化します。次回の同期時に、このデバイスが送信したもの以外のすべてのアイテムが再度ダウンロードされます。
+
+#### 送信ジャーナル履歴をリセット
+
+画面表示: **ジャーナル送信履歴をリセット**
+
+ジャーナル送信履歴を初期化します。次回の同期時に、このデバイスが受信したもの以外のすべてのアイテムが再度送信されます。
+
+### 3. 再構築操作(ローカル)
+
+#### このデバイスの同期をリセット
+
+画面表示: **このデバイスの同期をリセット**
+
+リモートからローカルデータベースを復元または再構築します。
+
+### 4. 全体の再構築
+
+#### このデバイスのファイルでサーバーデータを上書き
+
+画面表示: **このデバイスのファイルでサーバーデータを上書き**
+
+ローカルファイルを使用してローカルおよびリモートのデータベースを再構築します。
+
+### 5. 再構築操作(リモートのみ)
+
+#### クリーンアップを実行
+
+画面表示: **クリーンアップを実行**
+
+最新以外のすべてのリビジョンを破棄してストレージ容量を削減します。リモートサーバーとローカルクライアントに同等の空き容量が必要です。
+
+#### リモートを上書き
+
+画面表示: **リモートを上書き**
+
+ローカルデータベースとパスフレーズを使用してリモートを上書きします。
+
+#### すべてのジャーナルカウンターをリセット
+
+画面表示: **すべてのジャーナルカウンターをリセット**
+
+すべてのジャーナル履歴を初期化します。次回の同期時にすべてのアイテムが送受信されます。
+
+#### すべてのジャーナルカウンターを削除
+
+画面表示: **すべてのジャーナルカウンターを削除**
+
+すべてのダウンロード/アップロードキャッシュをパージします。
+
+#### 初期化ワイプ(Fresh Start Wipe)
+
+画面表示: **初期化ワイプ**
+
+リモートサーバー上のすべてのデータをバッチで削除します。この操作は非トランザクション処理です(途中で中断してもロールバックされません)。開始する前にすべての同期デバイスを停止してください。操作が中断されたり失敗が報告されたりした場合は、停止した状態を維持し、Fresh Start Wipe を再実行した上で、信頼できる Vault から **Overwrite Server Data with This Device's Files** を実行してください。
+
+### 6. ガベージコレクション V3(CouchDB のみ)
+
+ガベージコレクション V3 は、現在のファイルや競合ブランチから到達不可能なチャンクドキュメントを特定し、それらのチャンクに対してローカルで論理削除を作成し、その削除を CouchDB に伝播させてリモートのコンパクション(圧縮)を要求します。
+
+Vault、ローカルデータベース、およびリモートが正常であり、関連するすべてのデバイスが同期完了している場合にのみ使用してください。現在の状態でチャンクが不要になった過去のリビジョンは、読み取り不能になる可能性があります。データの破損修復や意図的な再構築の代替手段にはなりません。詳細は [ガベージコレクション V3 の仕様](specs_garbage_collection.md) を参照してください。
+
+### 7. リセット
+
+#### 既存の設定とデータベースを破棄
+
+Self-hosted LiveSync の設定とローカルデータベースを破棄してリセットします。危険な操作です。実行前に必ずバックアップを作成してください。
+
+#### リセットまたはアンインストールのためにローカルデータベースを削除
+
+画面表示: **Self-hosted LiveSync をリセットまたはアンインストールするため、ローカルデータベースを削除**
+
+ローカルデータベースを削除して、Self-hosted LiveSync をリセットまたはアンインストールします。
diff --git a/docs/setup_cloudant_ja.md b/docs/setup_cloudant_ja.md
index 94efc181..3f582de8 100644
--- a/docs/setup_cloudant_ja.md
+++ b/docs/setup_cloudant_ja.md
@@ -1,7 +1,7 @@
-# IBM Cloudantのセットアップ
+# IBM Cloudant のセットアップ
## インスタンスの作成
-下記の手順で、試用のためにIBM Cloudantのインスタンスを作成できます。
+下記の手順で、試用のために IBM Cloudant のインスタンスを作成できます。
1. 「リソースの作成」ボタンをクリックします。
@@ -10,70 +10,71 @@
1. カタログが開くので、「Cloudant」と検索してください。出てきた選択肢をクリックすると作成画面に進みます。

-1. Liteプランを選択してください。
+1. 無料の Lite プランを選択してください。

-1. リージョンと環境を選択します。LiteではMultitenantしか選択できないので、Multitenantを選択してください。デフォルトで選択されています。
+1. リージョンと環境を選択します。Lite では Multitenant しか選択できないので、Multitenant を選択してください。デフォルトで選択されています。
リージョンはお好みの場所で作成してください。

-3. "Authentication Method"で「IAM and legacy credentials」を選択します。
+1. "Authentication Method"で「IAM and legacy credentials」を選択します。

-4. Liteプランが選択されていることと、Capacityを確認します。
+1. Lite プランが選択されていることと、Capacity を確認します。

-5. 確認ができたら、右側のCreateボタンをクリックします。
+1. 確認ができたら、右側の Create ボタンをクリックします。

-6. 上記の手順が正常に完了したら、左のメニューから「リソース・リスト」をクリックしてください。リソース・リストが表示され、「サービス及びソフトウエア」に作成したCloudantのインスタンスが表示されます。
+1. 上記の手順が正常に完了したら、左のメニューから「リソース・リスト」をクリックしてください。リソース・リストが表示され、「サービスおよびソフトウェア」に作成した Cloudant のインスタンスが表示されます。
インスタンス名をクリックしてください。

-7. ここで、"External Endpoint (preferred)" と記載されているアドレスを控えてください。後ほど使います。(\*1)
+1. ここで、"External Endpoint (preferred)" と記載されているアドレスを控えてください。後ほどデータベース名と組み合わせて使用します。(\*1)

## データベースの設定
-1. 「Launch Dashboard」ボタンをクリックします。そうすると、今度はデータベースのダッシュボードが表示されます。CouchDBには、Fauxtonというインターフェイスがあるのですが、それそのものです。
+1. 「Launch Dashboard」ボタンをクリックします。すると、データベースのダッシュボードが表示されます。これは CouchDB の Fauxton インターフェースとほぼ同じものです。

-1. CORSの許可設定を行います。メニューの「Account」をクリックし、「CORS」タブを開きます。
+1. CORS の許可設定を行います。メニューの「Account」をクリックし、「CORS」タブを開きます。
最初は「Restrict to specific domains」が選択されているので、「All domains (\*)」を選択し直します。この反映は即座に行われますが、すぐに戻せるので大丈夫です。
+ただし、Cloudant では `app://obsidian.md` を許可する設定は使用できません。

1. データベースが作成できるか確認します。メニューの「Databases」をクリックし、次に「Create Database」ボタンをクリックします。
-右側にパネルが表示されますので、好きな名前を入力し、「Create」ボタンをクリックします。
+右側にパネルが表示されますので、好きな名前を入力し(\*2)、「Create」ボタンをクリックします。

-1. それっぽいメッセージが表示された後、データベースが表示されていれば、ほとんどセットアップは完了です。今後、ほとんどこの画面は使いません。Self-hosted LiveSyncからデータベースは作成できます。
+1. 完了を示すメッセージが表示された後、データベースが表示されていれば、セットアップはほぼ完了です。データベースを作成できることを確認した後は、通常この画面を開く必要はありません。Self-hosted LiveSync からもデータベースを作成できます。

-### 資格情報のセットアップ
+### 認証情報のセットアップ
-1. IBM Cloudに戻って、「サービス資格情報」をクリックしてください。おそらく何も表示されていないので、「新規資格情報」をクリックします。
+1. IBM Cloud に戻って、「サービス資格情報」をクリックしてください。おそらく何も表示されていないので、「新規資格情報」をクリックします。

-1. 資格情報を作成するダイアログが表示されるので、わかりやすい名前を入力します。その後、役割に「管理者」が選択されていることを確認してから、「追加」ボタンをクリックしてください。
+1. 認証情報を作成するダイアログが表示されるので、任意の名前を入力するか既定のままにして、「追加」ボタンをクリックしてください。

- 備考: この「名前」はSelf-hosted LiveSyncで使用するUsernameとはまた別のものです。
+ 備考: この「名前」は Self-hosted LiveSync で使用する Username とはまた別のものです。
-1. 「サービス資格情報」に戻ると、新しい資格情報が作成されています。~~わかりにくいことに名前は「鍵名」に変わります~~。左側のボタンを押すと詳細が開きます。
+1. 「サービス資格情報」に戻ると、新しい認証情報が作成されています。~~わかりにくいことに名前は「鍵名」に変わります~~。左側のボタンを押すと詳細が開きます。

- Self-hosted LiveSyncから使用するUsernameとPasswordは、表示されたJSONに記載されているものを使用します。
- 今回の図で言うと、Usernameは"apikey-v2-2unu15184f7o8emr90xlqgkm2ncwhbltml6tgnjl9sd5"(\*3)、パスワードは"c2c11651d75497fa3d3c486e4c8bdf27"(\*4)になります。
+ Self-hosted LiveSync から使用する Username と Password は、表示された JSON に記載されているものを使用します。
+ 今回の図で言うと、Username は"apikey-v2-2unu15184f7o8emr90xlqgkm2ncwhbltml6tgnjl9sd5"(\*3)、パスワードは"c2c11651d75497fa3d3c486e4c8bdf27"(\*4)になります。
-## Self-hosted LiveSyncに設定
+## Self-hosted LiveSync に設定

先ほどの設定例から引用すると、
-| Items | Value | example |
-| ------------------- | -------------------------------- | --------------------------------------------------------------------------- |
+| 項目 | 値 | 例 |
+| --- | --- | --- |
| URI | (\*1) | https://xxxxxxxxxxxxxxxxx-bluemix.cloudantnosqldb.appdomain.cloud |
-| Username | (\*3) | apikey-v2-2unu15184f7o8emr90xlqgkm2ncwhbltml6tgnjl9sd5 |
-| Password | (\*4) | c2c11651d75497fa3d3c486e4c8bdf27 |
-| Database name | (\*2) | sync-test |
+| Username | (\*3) | apikey-v2-2unu15184f7o8emr90xlqgkm2ncwhbltml6tgnjl9sd5 |
+| Password | (\*4) | c2c11651d75497fa3d3c486e4c8bdf27 |
+| Database name | (\*2) | sync-test |
-となります。
+のとおりです。
diff --git a/docs/setup_own_server_ja.md b/docs/setup_own_server_ja.md
index 5211c3ac..bd601a28 100644
--- a/docs/setup_own_server_ja.md
+++ b/docs/setup_own_server_ja.md
@@ -1,93 +1,434 @@
-# CouchDBのセットアップ方法
+# CouchDB サーバーのセットアップ
-## CouchDBのインストールとPCやMacでの使用
-CouchDBを構築するには、[Dockerのイメージ](https://hub.docker.com/_/couchdb)を使用するのが一番簡単です。
-ただし、インストールしたCouchDBをSelf-hosted LiveSyncから使用するためには、少々設定が必要となります。
-具体的には、下記の設定が`local.ini`として必要になります。
+## 目次
+
+- [1. CouchDB を準備する](#1-prepare-couchdb)
+ - [A. Docker を使用する](#a-using-docker)
+ - [B. Docker Compose を使用する](#b-using-docker-compose)
+ - [C. CouchDB を直接インストールする](#c-install-couchdb-directly)
+- [2. couchdb-init.sh を実行して初期化する](#2-run-couchdb-initsh-for-initialise)
+- [3. デバイスから CouchDB に接続できるようにする](#3-expose-couchdb-to-the-internet)
+- [4. クライアントのセットアップ](#4-client-setup)
+- [手動セットアップ情報](#manual-setup-information)
+- [リバースプロキシ](#reverse-proxies)
+
+---
+
+
+
+## 1. CouchDB を準備する
+
+
+
+### A. Docker を使用する
+
+
+
+#### 1. 準備
+```bash
+
+# 環境変数を設定する。
+export hostname=http://localhost:5984
+export username=goojdasjdas # 好きな値に変更してください。
+export password=kpkdasdosakpdsa # 好きな値に変更してください。
+
+# 保存データと設定用のディレクトリを作成する。
+mkdir couchdb-data
+mkdir couchdb-etc
+```
+
+
+
+#### 2. Docker コンテナを実行する
+1. 起動確認。
+```
+$ docker run --name couchdb-for-ols --rm -it -e COUCHDB_USER=${username} -e COUCHDB_PASSWORD=${password} -v ${PWD}/couchdb-data:/opt/couchdb/data -v ${PWD}/couchdb-etc:/opt/couchdb/etc/local.d -p 5984:5984 couchdb
+```
+> [!WARNING]
+> コンテナがエラーで終了した場合は、couchdb-data と couchdb-etc のアクセス権を確認してください。
+> CouchDB の起動後、これらのディレクトリの所有者は uid:`5984` になります。その uid に所有者を変更し直してください。
+
+2. バックグラウンドで有効化する
+```
+$ docker run --name couchdb-for-ols -d --restart always -e COUCHDB_USER=${username} -e COUCHDB_PASSWORD=${password} -v ${PWD}/couchdb-data:/opt/couchdb/data -v ${PWD}/couchdb-etc:/opt/couchdb/etc/local.d -p 5984:5984 couchdb
+```
+
+完了したら、[手順 2](#2-run-couchdb-initsh-for-initialise)に進んでください。
+
+
+
+### B. Docker Compose を使用する
+
+
+
+#### 1. 準備
```
-[couchdb]
-single_node=true
-max_document_size = 50000000
+# 保存データと設定用のディレクトリを作成する。
+mkdir couchdb-data
+mkdir couchdb-etc
-[chttpd]
-require_valid_user = true
-max_http_request_size = 4294967296
+# 所有者をユーザー 5984 に変更する。
+chown -R 5984:5984 ./couchdb-data
+chown -R 5984:5984 ./couchdb-etc
+```
-[chttpd_auth]
-require_valid_user = true
-authentication_redirect = /_utils/session.html
+
-[httpd]
-WWW-Authenticate = Basic realm="couchdb"
-enable_cors = true
+#### 2. 次の内容を追加した `docker-compose.yml` ファイルを作成する
+```
+services:
+ couchdb:
+ image: couchdb:latest
+ container_name: couchdb-for-ols
+ user: 5984:5984
+ environment:
+ - COUCHDB_USER= # 好きな値に変更してください。
+ - COUCHDB_PASSWORD= # 好きな値に変更してください。
+ volumes:
+ - ./couchdb-data:/opt/couchdb/data
+ - ./couchdb-etc:/opt/couchdb/etc/local.d
+ ports:
+ - 5984:5984
+ restart: unless-stopped
+```
+
+
+#### 3. Docker Compose ファイルを実行して起動確認する
+
+```
+docker compose up
+# 古いバージョンを使用している場合
+docker-compose up
+```
+> [!WARNING]
+> コンテナがエラーで終了した場合は、couchdb-data と couchdb-etc のアクセス権を確認してください。
+> CouchDB の起動後、これらのディレクトリの所有者は uid:`5984` になります。その uid に所有者を変更し直してください。
+
+
+
+#### 4. Docker Compose ファイルをバックグラウンドで実行する
+すべて正常に完了し、エラーが発生しなかった場合は、`CTRL+C` で終了してから次のコマンドを実行します。
+```
+docker compose up -d
+# 古いバージョンを使用している場合
+docker-compose up -d
+```
+
+完了したら、[手順 2](#2-run-couchdb-initsh-for-initialise)に進んでください。
+
+
+
+### C. CouchDB を直接インストールする
+[公式ドキュメント](https://docs.couchdb.org/en/stable/install/index.html)を参照してください。ただし、完全に設定する必要はありません。管理者を設定するだけで十分です。
+
+
+
+## 2. couchdb-init.sh を実行して初期化する
+
+Deno 2 が必要です。CouchDB の接続情報とデータベースの詳細をエクスポートし、プロビジョニング用のラッパーを実行します。
+
+この手順の `username` と `password` は CouchDB の管理者認証情報です。Docker または Docker Compose の場合は、`COUCHDB_USER` と `COUCHDB_PASSWORD` に指定した同じ値を使用します。直接インストールした場合は、CouchDB のセットアップ時に設定した管理者を使用します。ラッパーは、管理者以外の同期用アカウントを別途作成しません。
+
+```
+export hostname=http://localhost:5984
+export username=''
+export password=''
+export database=obsidiannotes
+curl -s https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/couchdb/couchdb-init.sh | bash
+```
+
+> [!TIP]
+> fish では `hostname` が読み取り専用で、エクスポートできません。代わりに `env` 経由で値を渡してください: `curl -s https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/couchdb/couchdb-init.sh | env hostname='http://localhost:5984' username='' password='' database=obsidiannotes bash`
+
+次のように表示された場合:
+```
+CouchDB provisioning completed.
+```
+
+ラッパーは、レジストリでバージョンを固定した Commonlib を使用するコードをそのまま実行します。`database` を指定すると、データベースを作成し、Commonlib を通じて LiveSync のデータベースバージョンドキュメントを初期化します。`database` を指定しない場合は、CouchDB サーバーの設定のみを行います。
+
+Docker Compose を使用していて上記のコマンドが動作しない場合、または `ERROR: Hostname missing` と表示される場合は、プレースホルダーを自分の値に置き換えて次のコマンドを実行してください:
+```
+curl -s https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/couchdb/couchdb-init.sh | hostname='http://:5984' username='' password='' database=obsidiannotes bash
+```
+
+
+
+## 3. デバイスから CouchDB に接続できるようにする
+
+- CouchDB を信頼できるローカルネットワーク上のデスクトップデバイスでのみ使用する場合は、この手順を省略できます。
+ - モバイルデバイスでは、Obsidian は有効な証明書付きの HTTPS を必要とします。HTTPS を使用するために CouchDB を公開する必要はありません。
+
+デバイスから CouchDB サーバーへの接続方法を選択します。自分で運用する[リバースプロキシ](#reverse-proxies)、プライベートネットワーク経由のアクセス、または任意のトンネルサービスを使用できます。[Docker プロファイル](../docker/README.md#profile-details)には例があります。
+
+Cloudflare は任意の選択肢の1つです。次の例では、一時的なテスト用に [Quick Tunnel](https://developers.cloudflare.com/tunnel/get-started/quick-tunnels/) を使用します。ランダムなホスト名が表示され、トンネルを作成するたびに変わります。また、`cloudflared` プロセスを停止すると URL は動作しなくなります。Quick Tunnel はテストと開発用であり、本番用ではありません。継続して使用する場合は、選択した接続方法を設定してください。Cloudflare を選ぶ場合は、[Cloudflare Tunnel ガイド](https://developers.cloudflare.com/tunnel/get-started/)が参考になります。
+
+```
+cloudflared tunnel --url http://localhost:5984
+```
+
+次の 2024 年の出力は形式の例です。ホスト名は例示のみを目的としています。実際には、自分のトンネルが出力した URL を使用してください。
+
+```
+2024-02-14T10:35:25Z INF Thank you for trying Cloudflare Tunnel. Doing so, without a Cloudflare account, is a quick way to experiment and try it out. However, be aware that these account-less Tunnels have no uptime guarantee. If you intend to use Tunnels in production you should use a pre-created named tunnel by following: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps
+2024-02-14T10:35:25Z INF Requesting new quick Tunnel on trycloudflare.com...
+2024-02-14T10:35:26Z INF +--------------------------------------------------------------------------------------------+
+2024-02-14T10:35:26Z INF | Your quick Tunnel has been created! Visit it at (it may take some time to be reachable): |
+2024-02-14T10:35:26Z INF | https://tiles-photograph-routine-groundwater.trycloudflare.com |
+2024-02-14T10:35:26Z INF +--------------------------------------------------------------------------------------------+
+ :
+ :
+ :
+```
+トンネルが出力した URL をサーバーアドレスとして使用します。クライアントの設定とテストが完了するまで、トンネルプロセスを実行したままにしてください。
+
+
+
+## 4. クライアントのセットアップ
+> [!TIP]
+> 生成されたセットアップ URI は、新しい Vault の現在のデフォルトと、選択したリモートプロファイルを引き継ぐため、推奨される方法です。セットアップ URI を生成できない場合は、[1台目で CouchDB を手動設定する](./quick_setup_ja.md#1台目で-couchdb-を手動設定する)に従い、その後、動作中のデバイスから新しいセットアップ URI を生成して、追加のデバイスごとに使用してください。
+
+
+
+### 1. デスクトップデバイスまたはサーバーでセットアップ URI を生成する
+
+ここでの `LIVESYNC_USER` と `LIVESYNC_PASS` は、Self-hosted LiveSync がこのデータベースへの通常のアクセス用に保存する認証情報です。手順 2 の管理者認証情報でもかまいません。このデータベースへの必要なアクセス権を持つ CouchDB アカウントを別途設定している場合は、そのアカウントを使用してください。プロビジョニングラッパーもセットアップ URI ジェネレーターも、その別のアカウントを作成しません。
+
+デバイスから CouchDB に接続するときに使用するサーバー URL を使用します。上記の一時的な Quick Tunnel の例では、実行中の自分のトンネルが出力した URL を使用してください。
+
+```bash
+export LIVESYNC_HOST=''
+export LIVESYNC_DB=obsidiannotes
+export LIVESYNC_USER=''
+export LIVESYNC_PASS=''
+export LIVESYNC_PASSPHRASE=''
+export uri_passphrase='' # 任意
+deno run --minimum-dependency-age=0 --allow-env https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/setup/generate_setup_uri.ts
+```
+
+> [!TIP]
+> `LIVESYNC_PASSPHRASE` は、エンドツーエンド暗号化で同期 Vault のデータを保護します。`uri_passphrase` はセットアップ URI のみを保護します。異なる値を使用し、両方を安全に保管し、セットアップ URI とそのパスフレーズを同じ経路で送らないでください。
+>
+> `uri_passphrase` を省略した場合、ジェネレーターは暗号学的にランダムな値を作成し、一度だけ表示します。
+
+ジェネレーターは、ランダムな ID キーの復旧コードも表示します。同じ Vault のセットアップ URI を再生成する可能性がある場合は、そのコードを保存してください。`id_recovery_code` として渡し直さないと、後で実行したときに異なるキーが作成されます。`id_mode=legacy` は、以前の ID 動作を使用する Vault に接続する場合にのみ設定してください。詳しくは[セットアップユーティリティのリファレンス](../utils/readme.md#setup-uri-generation)を参照してください。
+
+ジェネレーターは、プロビジョニングユーティリティが使用するのと同じ、レジストリでバージョンを固定した Commonlib リリースを使用します。設定済みの CouchDB リモートプロファイルを作成し、新しい Vault の現在のデフォルトを適用して、Commonlib のセットアップ URI 契約でエンコードします。
+
+デフォルトでは、URI は Ephemeral(一時的)であり、ジェネレーターが表示した正確な UTC 時刻までのみ開けます。これは作成から7日後ではなく、固定された7日間の UTC ウィンドウの終了時点です。URI に時間条件が必要ない場合、または既存の暗号化形式をサポートする古いクライアントで読み取る必要がある場合は、コマンドを実行する前に `uri_mode=persistent` を設定してください。
+
+出力は次の形式になります。以下のタイムスタンプと値は例です。
+
+```text
+Generated couchdb Setup URI.
+Ephemeral: usable until 2026-10-01T00:00:00.000Z (UTC).
+Your passphrase for the Setup URI is: H7vX...a-random-32-character-value
+This passphrase is never shown again, so store it safely.
+ID recovery code: sls-id-v1:<64 lowercase hexadecimal characters>
+Use id_recovery_code with this value and reuse the same remote settings when generating another Setup URI for the same Vault.
+obsidian://setuplivesync?settings=%5B%22tm2DpsOE74nJAryprZO2M93wF%2Fvg.......4b26ed33230729%22%5D
+```
+
+セットアップ URI とそのパスフレーズは別々に保管してください。
+
+
+
+### 2. Self-hosted LiveSync を Obsidian にセットアップする
+
+1台目については、[クイックセットアップ](./quick_setup_ja.md#1台目のデバイスをセットアップする)に従ってください。現在のオンボーディング通知、セットアップ URI のインポート、サーバーの初期化、および新しくプロビジョニングされたデータベースで表示される安全確認について説明しています。
+
+通常のノート同期が動作した後、その1台目で[新しいセットアップ URI を生成](./quick_setup_ja.md#別のデバイス用のセットアップ-uri-を作成する)し、[別のデバイスを追加する](./quick_setup_ja.md#別のデバイスを追加する)に従ってください。2台目を、プロビジョニング時に作成した初期セットアップ URI の保持に依存させないでください。オプション機能は、通常の経路が確認された後にのみ設定してください。[非表示ファイル同期には専用のガイド](./tips/hidden-file-sync.md)があります。
+
+---
+
+
+
+## 手動セットアップ情報
+
+
+
+### ドメインの設定
+
+ドメインの A レコードをサーバーに向けて設定し、任意の方法でリバースプロキシをホストします。
+注: CouchDB をトップディレクトリにマウントすることは推奨しません。
+Caddy を使用すると、SSL 付きでサーバーを自動的に提供でき便利です。
+
+Caddy と CouchDB を同時に起動する [docker-compose.yml と ini ファイル](https://github.com/vrtmrz/self-hosted-livesync-server)を公開しています。Traefik を使用している場合は、下の[リバースプロキシ](#reverse-proxies)のセクションを確認してください。
+
+また、サーバーログを必ず確認し、不正なアクセスに注意してください。
+
+
+
+## リバースプロキシ
+
+
+
+### Traefik
+
+Traefik を使用している場合、この [docker-compose.yml](https://github.com/vrtmrz/obsidian-livesync/blob/main/docker-compose.traefik.yml) ファイル(下にも掲載)には、適切な CORS パラメーターがすべて設定されています。外部ネットワーク `proxy` が存在することを前提としています。
+
+```yaml
+services:
+ couchdb:
+ image: couchdb:latest
+ container_name: obsidian-livesync
+ user: 1000:1000
+ environment:
+ - COUCHDB_USER=username
+ - COUCHDB_PASSWORD=password
+ volumes:
+ - ./data:/opt/couchdb/data
+ - ./local.ini:/opt/couchdb/etc/local.ini
+ # Traefik に渡している場合はポートは不要
+ #ports:
+ # - 5984:5984
+ restart: unless-stopped
+ networks:
+ - proxy
+ labels:
+ - "traefik.enable=true"
+ # Traefik ネットワーク
+ - "traefik.docker.network=proxy"
+ # 'obsidian-livesync.example.org' を自分のドメインに置き換えるのを忘れないでください
+ - "traefik.http.routers.obsidian-livesync.rule=Host(`obsidian-livesync.example.org`)"
+ # 'websecure' エントリーポイントは基本的に HTTPS のエントリーポイントです。問題が発生した場合にのみ次のコードスニペットを確認してください。これがリバースプロキシする最初のコンテナでなければ、おそらく Traefik は正しく設定されています。
+ - "traefik.http.routers.obsidian-livesync.entrypoints=websecure"
+ - "traefik.http.routers.obsidian-livesync.service=obsidian-livesync"
+ - "traefik.http.services.obsidian-livesync.loadbalancer.server.port=5984"
+ - "traefik.http.routers.obsidian-livesync.tls=true"
+ # 'letsencrypt' を自分の証明書リゾルバーに置き換えてください
+ - "traefik.http.routers.obsidian-livesync.tls.certresolver=letsencrypt"
+ - "traefik.http.routers.obsidian-livesync.middlewares=obsidiancors"
+ # Traefik 2.x で CORS を動作させるために必要な部分はここから
+ - "traefik.http.middlewares.obsidiancors.headers.accesscontrolallowmethods=GET,PUT,POST,HEAD,DELETE"
+ - "traefik.http.middlewares.obsidiancors.headers.accesscontrolallowheaders=accept,authorization,content-type,origin,referer"
+ - "traefik.http.middlewares.obsidiancors.headers.accesscontrolalloworiginlist=app://obsidian.md,capacitor://localhost,http://localhost"
+ - "traefik.http.middlewares.obsidiancors.headers.accesscontrolmaxage=3600"
+ - "traefik.http.middlewares.obsidiancors.headers.addvaryheader=true"
+ - "traefik.http.middlewares.obsidiancors.headers.accessControlAllowCredentials=true"
+
+networks:
+ proxy:
+ external: true
+```
+
+上記で言及した `traefik.yml` 設定ファイルの抜粋:
+```yml
+...
+
+entryPoints:
+ web:
+ address: ":80"
+ http:
+ redirections:
+ entryPoint:
+ to: "websecure"
+ scheme: "https"
+ websecure:
+ address: ":443"
+
+...
+```
+
+
+
+### Nginx
+
+Nginx を CouchDB のリバースプロキシとして設定する際は、よくある間違いに注意してください。
+
+1. Fast Fetch の進捗が止まり、無期限にフリーズしたように見える場合は、`proxy_buffering` が無効になっていることを確認してください:
+
+```nginx
+location / {
+ proxy_pass http://127.0.0.1:5984;
+ proxy_buffering off;
+ ...
+}
+```
+
+2. "413 Entity too large" エラーが発生する場合は、`client_max_body_size` を増やしてください:
+
+```nginx
+location / {
+ proxy_pass http://127.0.0.1:5984;
+ client_max_body_size 50M; # 必要に応じて値を調整してください
+ ...
+}
+```
+
+3. "404 Database not found" エラーが発生する場合は、CouchDB をルートロケーションに配置していることを確認してください(推奨):
+
+```nginx
+server {
+ server_name couchdb.domain.com
+
+ location / {
+ proxy_pass http://127.0.0.1:5984;
+ ...
+ }
+}
+```
+
+CouchDB をサブディレクトリに配置することも可能ですが、設定をそれに合わせて変更する必要があります:
+
+```nginx
+
+server {
+ server_name domain.com
+
+ location /couchdb {
+ rewrite ^ $request_uri;
+ rewrite ^/couchdb/(.*) /$1 break;
+
+ proxy_pass http://127.0.0.1:5984$uri;
+ proxy_set_header Host $host;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ ...
+ }
+ location /_session {
+ proxy_pass http://127.0.0.1:5984/_session;
+ proxy_set_header Host $host;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ ...
+ }
+}
+```
+
+4. データベース接続の詳細設定でカスタム HTTP ヘッダーを追加した場合は、Nginx と CouchDB の両方の設定を更新してください:
+
+Nginx:
+```nginx
+location / {
+ set $pass 1;
+
+ # カスタム HTTP ヘッダーを処理する例
+ if ($http_x_custom_header != 'foo'){
+ set $pass 0;
+ }
+
+ # 重要: OPTIONS リクエストにはヘッダーが含まれないため、常に CouchDB にプロキシする必要があります
+ if ($request_method = 'OPTIONS') {
+ set $pass 1;
+ }
+
+ if ($pass = 0) {
+ return 403;
+ }
+
+ proxy_pass http://127.0.0.1:5984;
+ ...
+}
+```
+
+couchdb-etc/docker.ini:
+```ini
+...
[cors]
-origins = app://obsidian.md,capacitor://localhost,http://localhost
credentials = true
-headers = accept, authorization, content-type, origin, referer
-methods = GET, PUT, POST, HEAD, DELETE
-max_age = 3600
+origins = app://obsidian.md,capacitor://localhost,http://localhost
+
+;カスタムヘッダーをリストに追加して、CORS が壊れないようにしてください
+headers = accept, authorization, content-type, origin, referer, x-custom-header
```
-
-このファイルを作成し、
-```
-$ docker run --rm -it -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -v .local.ini:/opt/couchdb/etc/local.ini -p 5984:5984 couchdb
-```
-とすると簡単にCouchDBを起動することができます。
-備考:このとき、local.iniのオーナーが5984:5984になります。これは、Dockerイメージの制限事項です。編集する場合はいったんオーナーを変更してください。
-正常にSelf-hosted LiveSyncからアクセスすることができたら、お好みでバックグラウンドで起動するように編集して起動してください。
-例)
-```
-$ docker run -d --restart always -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -v .local.ini:/opt/couchdb/etc/local.ini -p 5984:5984 couchdb
-```
-
-
-## モバイルからのアクセス
-MacやPCからアクセスする場合は上記の方法で作ったサーバーで問題ありませんが、モバイル端末からアクセスする場合は有効なSSLの証明書が必要となります。
-
-### モバイルからのアクセスのテスト
-テストを行う場合は、[localhost.run](http://localhost.run/)などのサービスが便利です。
-```
-$ ssh -R 80:localhost:5984 nokey@localhost.run
-Warning: Permanently added the RSA host key for IP address '35.171.254.69' to the list of known hosts.
-
-===============================================================================
-Welcome to localhost.run!
-
-Follow your favourite reverse tunnel at [https://twitter.com/localhost_run].
-
-**You need a SSH key to access this service.**
-If you get a permission denied follow Gitlab's most excellent howto:
-https://docs.gitlab.com/ee/ssh/
-*Only rsa and ed25519 keys are supported*
-
-To set up and manage custom domains go to https://admin.localhost.run/
-
-More details on custom domains (and how to enable subdomains of your custom
-domain) at https://localhost.run/docs/custom-domains
-
-To explore using localhost.run visit the documentation site:
-https://localhost.run/docs/
-
-===============================================================================
-
-
-** your connection id is xxxxxxxxxxxxxxxxxxxxxxxxxxxx, please mention it if you send me a message about an issue. **
-
-xxxxxxxx.localhost.run tunneled with tls termination, https://xxxxxxxx.localhost.run
-Connection to localhost.run closed by remote host.
-Connection to localhost.run closed.
-```
-このように表示された場合、`https://xxxxxxxx.localhost.run`が一時的なサーバアドレスとして使用できます。
-
-### ドメインを設定してアクセスする。
-
-DNSのAレコードを設定し、お好みの方法でリバースプロキシをホスティングしてください。
-備考:トップディレクトリにCouchDBを露出させるのはおすすめしません。
-Caddy等でLet's Encryptの証明書を自動取得すると運用が楽になります。
-
-CaddyとCouchDBを同時に立てられる[docker-composeの設定とiniファイル](https://github.com/vrtmrz/self-hosted-livesync-server)を公開しています。
-ぜひご利用下さい。
-
-なお、サーバのログは必ず確認し、不正なアクセスに注意してください。
\ No newline at end of file
diff --git a/docs/tech_info_ja.md b/docs/tech_info_ja.md
index faee6b6a..de13cc01 100644
--- a/docs/tech_info_ja.md
+++ b/docs/tech_info_ja.md
@@ -4,13 +4,30 @@

-1. ノートが更新された際、Obsidianがイベントを発報します。Obsidian-LiveSyncはそれをハンドリングして、ローカルのPouchDBに変更を反映します。
-2. PouchDBは、リモートのCouchDBに差分をレプリケーションします。
-3. 他のデバイスは、リモートのCouchDBを監視しているので、変更が検出された場合はそのまま差分がダウンロードされます。
-4. Self-hosted LiveSyncはPouchDBに転送された変更を、ObsidianのVaultに反映していきます。
+1. ノートが更新されると、Obsidian からイベントが通知されます。Self-hosted LiveSync はイベントを処理し、ローカルの PouchDB に変更を反映します。
+2. PouchDB は差分をリモートの CouchDB に複製します。
+3. 他のデバイスはリモートの CouchDB を監視し、変更を検出すると差分をダウンロードします。
+4. Self-hosted LiveSync は、PouchDB が受信した変更を Obsidian の Vault に反映します。
-図は2端末での単一方向として描きましたが、実際には双方向に、複数の端末間で実行されます。
+図では2台のデバイス間の一方向として示していますが、実際には複数のデバイス間で双方向に同期します。
+
+## ファイルイベントとストレージ書き込み
+
+ファイルイベントは、Vault 内で検出された変更を表します。Commonlib はこれらのイベントをフィルタリングおよび直列化してから、ローカルデータベース内のファイルメタデータを更新します。したがって、キューに入った `DELETE` はデータベースの変更を要求するものであり、それ自体が物理ファイルを削除する命令ではありません。同期対象外へのファイル名の変更も、宛先ファイルがディスク上に残ったままデータベース上は削除扱いとなる場合があります。
+
+逆方向の処理はデータベースのメタデータから始まります。レプリケーションされた変更やフルスキャンによってデータベースからストレージへのハンドラが呼び出され、競合およびコンテンツ保護ルールに従って Vault ファイルの書き込みや削除が行われます。古いファイルイベントによるメタデータの削除を防ぐことと、正当なレプリケーションによる削除を適用することは、別の判断基準として扱われます。
+
+Commonlib の [Storage events and database-to-storage reflection](https://github.com/vrtmrz/livesync-commonlib/blob/main/docs/storage-events-and-reflection.md) には、イベントの境界、Commonlib 0.1.23 で導入された削除の再検証、およびその制限事項が記載されています。特に、削除保護機能は外部フォルダの大文字小文字の変更やパスの表記揺れの完全な収束を保証するものではありません。
+
+## 現在の技術リファレンス
+
+- [データベースのデータ構造 (Database Data Structures)](datastructure.md): 現在のメタデータおよびチャンクの形式、識別子の取り扱い、削除、リモート上の生の表現について解説しています。
+- [Replicator のアーキテクチャ (Replicator architecture)](design_docs/replicator_architecture.md): プロバイダーの構成、アクティブな Replicator の公開、終了、および P2P の所有権について解説しています。
+- [競合解決とリビジョン履歴 (Conflict resolution and revision provenance)](specs_conflict_resolution.md): 現在のリビジョンツリーおよびファイルの来歴ルールを定義しています。
+- [チャンクの取得と待機 (Chunk Retrieval and Waiting)](design_docs/chunk_retrieval_and_waiting.md): 不足しているチャンクの到着と、処理が落ち着くまでの待機の扱いを定義しています。
+- [パスコンポーネント長の互換性 (Path component length compatibility)](design_docs/path_component_length_compatibility.md): 255 UTF-8 バイトがパスの妥当性を判断する普遍的な規則ではなく、Android や Linux における互換性警告である理由を解説しています。
+- [データ圧縮 (Data Compression)](specs_data_compression.md) および [ガベージコレクション V3 (Garbage Collection V3)](specs_garbage_collection.md): それぞれのストレージとメンテナンスに関する取り決めを説明しています。
## 帯域幅低減のために
-
\ No newline at end of file
+
diff --git a/docs/tips/fast-setup_ja.md b/docs/tips/fast-setup_ja.md
index 56be7d2c..7f342a81 100644
--- a/docs/tips/fast-setup_ja.md
+++ b/docs/tips/fast-setup_ja.md
@@ -1,30 +1,29 @@
# ファストセットアップ (Fast Setup / Simple Fetch)
-ファストセットアップは、2台目以降のデバイスのセットアップやデータベース再構築時のデータ取得・初期化処理を、直感的かつ迅速に行うための簡略化された同期フローです。
+ファストセットアップ(Simple Fetch)は、新規または空の2台目以降のデバイスに初期複製する際の推奨フローです。復旧にも使えますが、取得時の選択によってローカルファイルが置き換わることがあります。すでに作業がある Vault で処理方法を選ぶ前に、価値のあるローカルデータとリモートデータを保全してください。正本を特定する方法は[復旧とフラグファイル](../recovery.md#first-choose-the-authoritative-copy)を参照してください。
-従来のセットアップウィザードにおける複数の詳細なステップを踏むことなく、同期の基本方針を選択するだけで、データベースのダウンロードとローカルファイルのスキャン・反映を一連のプロセスとして自動的に実行します。
+従来のセットアップウィザードにおける複数の詳細なステップを踏むことなく、同期の基本方針を選択するだけで、データベースのダウンロードとローカルファイルのスキャン・反映を一連のプロセスとして自動的に実行します。取得経路は、選択したリモートによって異なります。
---
## 仕組み
-2台目以降のデバイスで **セットアップURI** をインポートした場合や、手動でデータの再フェッチ(Vaultルートに `redflag3.md` / `flag_fetch.md` を配置する等)が予約された場合、プラグインはリモートデータベースからのデータ取得スケジュールを設定します。
+2台目以降のデバイスで **セットアップ URI** をインポートした場合や、手動でデータの再取得(Vault ルートに `redflag3.md` / `flag_fetch.md` を配置する等)が予約された場合、プラグインはリモートデータベースからのデータ取得スケジュールを設定します。
-その後の起動時、プラグインはデータフェッチ予約モードで立ち上がり、**「Data retrieval scheduled(データ取得のスケジュール)」** という簡略化されたダイアログを表示します。
+その後の起動時、プラグインはデータ取得予約モードで立ち上がり、**「Data retrieval scheduled(データ取得のスケジュール)」** という簡略化されたダイアログを表示します。
---
## 技術的な特徴
-ファストセットアップは、高速かつ安全でクリーンな処理を実現するために、以下の最適化を行っています。
+ファストセットアップでは、取得と反映に関して次の動作を行います。
-1. **高速なストリーム受信**
- - 全データを取得しますが、ストリーム受信によるレプリケーションを使用するため、処理が非常に高速です。
+1. **CouchDB 向けのストリームベースの Fast Fetch**
+ - ストリームベースの Fast Fetch は CouchDB 専用です。リモートのメタデータを段階的に取得します。オブジェクトストレージと P2P は、それぞれ独自の取得経路を使用します。
2. **ストレージ反映の遅延による不要な警告の抑制**
- - データのダウンロード中にローカルファイル(ストレージ)への書き出し(反映)処理をあえて遅延させることで、同期途中で発生しがちな「破損データ同期」や「サイズ不一致」などの一時的なエラー警告を抑え込みます。
- - すべてのデータダウンロードが完了した後に一括してストレージへ書き出すため、不必要な警告画面でユーザーを混乱させません。
-3. **時刻ベース比較の妥当性**
- - 初期セットアップやリカバリーの段階(この状態に移行した直後)においては、概ねファイル更新時刻(タイムスタンプ)ベースでの単純比較を行うことで、十分かつ妥当な同期結果を得ることができます。これにより複雑な競合解決の手間を省きます。
+ - 取得中にローカルファイルへの反映を遅延させることで、リモートデータの取得中に発生する一時的な同期警告を抑制します。
+3. **更新日時を比較してファイル全体を選択**
+ - **更新日時を比較して新しい方を採用** は更新日時を比較し、ファイル全体として新しい方のバージョンを選択します。ファイルの内容をマージする処理ではありません。作業中の Vault にこの方法を使う前に、価値のあるローカルおよびリモートの編集内容を保全し、[復旧とフラグファイル](../recovery.md#first-choose-the-authoritative-copy)を確認してください。
---
@@ -33,30 +32,31 @@
### ステップ 1: データの反映方法の選択
取得したリモートデータを、既存のローカルファイルとどのように統合するかを選択します。
-1. **Compare time and take newer (newer-wins)**
- - ファイルの更新日時を比較し、より新しい方を採用します。
- - **推奨されるケース:** すでに Self-hosted LiveSync を使用しており、複数のデバイスで編集した変更内容をタイムスタンプに基づいて統合したい場合。
-2. **Overwrite all with remote files (remote-wins)**
+1. **更新日時を比較して新しい方を採用(newer-wins)**
+ - ファイルの更新日時を比較し、ファイル全体として新しい方のバージョンを採用します。両方のバージョンの編集内容を統合するものではありません。
+ - **推奨されるケース:** 両方のバージョンを保全した上で、更新日時に基づいてどちらかを意図的に選択したい場合。
+ - 作業中の Vault にこの方法を使う前に、価値のあるローカルおよびリモートの編集内容を保全し、[復旧とフラグファイル](../recovery.md#first-choose-the-authoritative-copy)を確認してください。
+2. **すべてリモートのファイルで上書き(remote-wins)**
- リモートデータベースの内容を正(Source of Truth)として扱います。
- - **推奨されるケース:** まったく新しいデバイスをセットアップする場合(空のVaultなど)。
+ - **推奨されるケース:** 新しい2台目以降のデバイスを、空の Vault でセットアップする場合。
- *警告: ローカルにあるすべてのファイルがリモートの内容で上書きされます。重要なデータがある場合は、事前にバックアップを取得してください。*
-3. **Use the detailed flow (legacy)**
+3. **詳細フローを使用(legacy)**
- 従来の詳細なセットアップウィザードダイアログに戻ります。
- **推奨されるケース:** データベースの構成オプションをステップバイステップで細かく制御・確認したい場合。
### ステップ 2: 競合および削除ルールの構成
ステップ 1 での選択内容に応じて、ローカルとリモートの不一致をどう処理するかを設定します。
-#### 「Compare time and take newer」を選択した場合:
-- **Delete local files if they were deleted on remote**
- - 他のデバイスで削除済みのファイルをローカルからも削除し、Vaultを同期・クリーンな状態に保ちます。
-- **Recreate remote files even if they were deleted on remote**
+#### 「更新日時を比較して新しい方を採用」を選択した場合:
+- **リモートで削除されている場合はローカルファイルを削除**
+ - 他のデバイスで削除済みのファイルをローカルからも削除し、ローカル Vault を整理して他のデバイスと揃った状態に保ちます。
+- **リモートで削除されていてもローカルファイルを保持**
- 他のデバイスで削除されたファイルであっても、ローカルファイルを維持し、リモートデータベースに再度アップロードします。
-#### 「Overwrite all with remote files」を選択した場合:
-- **Delete local files if not on remote**
- - リモートに存在しないローカル専用ファイルを削除し、ローカルのVaultをリモートデータベースと完全に一致させます。
-- **Keep local files even if not on remote**
+#### 「すべてリモートのファイルで上書き」を選択した場合:
+- **リモートに存在しない場合はローカルファイルを削除**
+ - リモートに存在しないローカル専用ファイルを削除し、ローカルの Vault をリモートデータベースと完全に一致させます。
+- **リモートに存在しなくてもローカルファイルを保持**
- リモートに存在しないローカルファイルをそのまま残します。ただし、同期後に重複ファイルが発生する可能性があるため、その場合は手動でクリーンアップを行ってください。
### ステップ 3: 自動同期の実行
@@ -64,3 +64,28 @@
1. リモートデータベースの高速ダウンロードを実行します (`fetchLocalDBFast`)。
2. ローカルファイルへの変更反映のため、フォアグラウンドでフルスキャン (`synchroniseAllFilesBetweenDBandStorage`) を自動的に実行します。
3. 処理が完了すると、プラグインは通常の動作状態へ復帰します。
+
+### ファストセットアップが中断した場合
+
+ファストセットアップは、ドキュメントを保存しながら最後に正常に保存されたリモートの位置を記録します。一時的な接続の中断が発生した場合、その位置から自動的に再試行されます。キャプチャされたリモートの状態が正常にすべて保存された後にのみ、完了が報告されます。
+
+データの復号、リモートレスポンスの読み取り、またはローカルデータベースへの書き込み中のエラーによって処理が停止した場合、LiveSync は Vault スキャンを実行せず、再構築されたローカルデータベースの確定も行いません。保存された位置と取得フラグはそのまま保持されます。保存された有効な選択肢は、再起動時に確認ダイアログで再び利用できます。部分的に再構築されたデータベースが Vault に適用されたり、新しいローカル変更と混ざったりしないよう、ファイル監視とデータベースの反映も一時停止されたままになります。
+
+**ログを表示** で最初のエラー内容を確認し、原因を修正してから Obsidian を再起動して、保持された状態から再試行してください。処理を続行する意思がある間は、取得フラグを削除したり、手動で Scram スイッチを再開したりしないでください。再起動後も同じエラーが解消しない場合は、LiveSync を一時停止したままデータを保護し、[レポートを収集](../troubleshooting.md#collect-a-report) してください。
+
+
+## 取得フラグに記憶される選択肢
+
+ファストセットアップは、選択肢を `flag_fetch.md`(または取得フラグがそれだけの場合は `redflag3.md`)内の `json` コードブロックに保存します。このファイルは通常の Markdown であり、Obsidian 内で開いて編集できます。選択肢が更新されても、状態ブロックの外側にある説明文は保持されます。フラグファイル全体は一時的なものであり、処理が完了またはキャンセルされたときに削除されます。
+
+中断後に再起動すると、現在のリモートと保存された選択肢が表示されます。それらの選択肢で続行するか、選び直すか、あるいは予約された取得をキャンセルできます。前回の取得が完了したもののフラグを削除できなかった場合も含め、保存された選択肢が確認なしに適用されることはありません。
+
+新しい参加(Join)を開始するか、別の取得を予約すると、`flag_fetch.md` は空のフラグに置き換えられ、新しい選択肢が求められます。両方のファイル名が存在する場合は、空の場合も含めて `flag_fetch.md` が優先され、完了時に両方のエイリアスが削除されます。
+
+生成されるブロックには `type: "livesync-fast-setup"`、`version: 1`、および2つの安定した英語の選択値(`stage1` と `stage2`)が含まれます。接続の認証情報は保存されません。既存の選択肢の認識可能な組み合わせのみが受け入れられます。確認を行うと、P2P 接続設定を変更した後であっても、現在選択されているリモートに選択肢が適用されます。
+
+空のフラグがある場合は、通常の選択ダイアログが起動します。空ではないフラグに対応する有効な選択肢が含まれていない場合、プラグインは新しい選択肢を指定して続行するかどうかを確認します。これには不正な形式の JSON、未対応のバージョン、重複した状態ブロック、不完全な Markdown のコードフェンスなどが含まれます。続行を選択した場合、ファイル内容は変更されず、今回の試行にのみ新しい選択肢が使用されます。再起動すると再度確認が行われます。プラグインが Markdown を修復したり、代替ブロックを追加したりすることはありません。取得を完了またはキャンセルすると、説明文を含めフラグファイル全体が削除されます。
+
+ストレージの読み取りまたは書き込みに失敗した場合は処理が停止し、空のフラグとしては扱われません。処理の最後にフラグの削除に失敗した場合、その問題が解決するまでファイル監視とデータベースの反映は一時停止されたままになります。フラグが残っている場合、再起動時に再度確認が求められます。
+
+以前のバージョンでは、選択肢をデバイスのローカルストレージに個別に保存していました。それらの値は完了した取得の後にも残存している可能性があるため、再利用されなくなりました。中断された処理の実行中に更新した場合は、もう一度選択肢を確認してください。この変更自体によってダウンロード済みのデータや Fast Fetch(ファストフェッチ)のチェックポイントが削除されることはありません。
diff --git a/package.json b/package.json
index 182e7ee3..8562842c 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,7 @@
"check": "npm run tsc-check && npm run tsc-check:apps && npm run lint && npm run lint:community && npm run lint:community:tools && npm run svelte-check && npm run check:compatibility",
"i18n:bake": "npm run i18n:yaml2json && npm run i18n:bakejson && npm run i18n:format",
"i18n:bakejson": "tsx _tools/bakei18n.ts",
- "i18n:format": "prettier --config .prettierrc.mjs --write --log-level error 'src/common/messagesJson/*.json' 'src/common/messages/*.ts'",
+ "i18n:format": "prettier --config .prettierrc.mjs --write --log-level error \"src/common/messagesJson/*.json\" \"src/common/messages/*.ts\"",
"i18n:json2yaml": "tsx _tools/json2yaml.ts",
"i18n:yaml2json": "tsx _tools/yaml2json.ts",
"test:unit": "vitest run --config vitest.config.unit.ts",
diff --git a/paper/paper.ja.md b/paper/paper.ja.md
index a53a6ae1..a420c1c5 100644
--- a/paper/paper.ja.md
+++ b/paper/paper.ja.md
@@ -1,76 +1,97 @@
-# Summary
+---
+title: 'Self-hosted LiveSync: ローカルファースト Obsidian Vault のための検査可能で復旧可能な複製'
+tags:
+ - ローカルファーストソフトウェア
+ - 同期
+ - CouchDB
+ - PouchDB
+ - WebRTC
+ - Obsidian
+ - TypeScript
+authors:
+ - name: 'vorotamoroz'
+ affiliation: 1
+ corresponding: true
+affiliations:
+ - name: '独立研究者'
+ index: 1
+date: 2026年9月5日
+bibliography: paper.bib
+---
+
+# 概要
Self-hosted LiveSync は、ローカルの Markdown ファイルとして文書を保存するノートアプリ Obsidian [@obsidian] 向けのオープンソース同期プラグインである。ユーザーが管理するストレージまたは直接のピアツーピア接続を介し、ノートや添付ファイルを収めたディレクトリー(Vault)をデスクトップとモバイルデバイス間で同期する。
-本プラグインにより、ユーザーはオフラインで編集を行い、再接続後に同期できる。2台のオフライン端末で同一ノートを別々に編集した場合のように編集の衝突が生じても、即座の解決を強制したり競合する変更を無条件に上書きしたりすることはない。ファイル形式や設定されたポリシーに応じて、重複しない変更箇所の自動マージや、競合する版を後から比較・解決するための保持が可能である。組み込みの検査ツールは、競合や内容の欠落の調査を支援し、コピーが残っている場合の復旧を支援する。
+本プラグインにより、ユーザーはオフラインで編集を行い、再接続後に同期できる。2台のオフラインデバイスで同一ノートを別々に編集した場合のように編集の競合が生じても、即座の解決を強制したり競合する変更を無条件に上書きしたりすることはない。ファイル形式や設定されたポリシーに応じて、重複しない変更箇所の自動マージや、競合する版を後から比較・解決するための保持が可能である。組み込みの検査ツールは、競合や内容の欠落の調査を支援し、コピーが残っている場合の復旧を支援する。
-本ソフトウエアは、データの保存先を自ら管理しながら複数デバイスで記録を継続する必要がある研究者、エンジニア、および実務者のワークフローに対応する。
+本ソフトウェアは、データの保存先を自ら管理しながら複数デバイスで記録を継続する必要がある研究者、エンジニア、および実務者のワークフローに対応する。
-# Statement of Need
+# 背景と必要性
-研究やエンジニアリングのワークフローは、長期間蓄積されるノート、観察記録、設計上の決定事項、および関連ファイルに依存している。著者の業務では、管理下にある各デバイスの導入ソフトウエアを制御し、業務ファイルを自身の管理下にあるインフラで扱い、運用実績のあるサーバーソフトウエアを採用する必要があった。これらの制約から、デスクトップとモバイル双方の Obsidian 内で直接動作し、外部クライアントデーモンを必要としない同期エンジンを開発した。
+研究やエンジニアリングのワークフローは、長期間蓄積されるノート、観察記録、設計上の決定事項、および関連ファイルに依存している。著者の業務では、管理下にある各デバイスの導入ソフトウェアを制御し、業務ファイルを自身の管理下にあるインフラで扱い、運用実績のあるサーバーソフトウェアを採用する必要があった。これらの制約から、デスクトップとモバイル双方の Obsidian 内で直接動作し、外部クライアントデーモンを必要としない同期エンジンを開発した。
-オフライン端末で別々に行った編集の競合は、変更を交換した際に認識される。意図しない編集や削除、並行した変更の乖離、あるいはデータベースの状態とは独立した外部ツールによるファイル変更も起こりうる。競合する版を保持せずに単一の版で上書きしてしまうと、ユーザーが変更を確認して判断する前に情報が失われるおそれがある。
+オフラインデバイスで別々に行った編集の競合は、変更を交換した際に認識される。意図しない編集や削除、並行した変更の乖離、あるいはデータベースの状態とは独立した外部ツールによるファイル変更も起こりうる。競合する版を保持せずに単一の版で上書きしてしまうと、ユーザーが変更を確認して判断する前に、情報が不可逆的に失われるおそれがある。
フィールドワークやモバイルでの作業中、研究者や実務者は、競合する編集内容をレビューする前であっても、観察の記録とデバイス間でのノート転送を続ける必要がある。Self-hosted LiveSync は、このように記録と競合解決を分けて進める作業を支援する。並行ブランチが未解決のままでも複製を継続でき、競合する編集は、レビューまたは設定されたポリシーによって解決されるまで保護される。
-# State of the Field
+# 関連分野の現状
-ローカルファーストソフトウエアは、ユーザーデータの唯一の所有者としてのホスト型サービスへの依存を避けつつ、ローカルにおける可用性と、複数デバイス間での同期や協調を両立させる [@kleppmann2019localfirst]。Obsidian エコシステム内では、いくつかのツールが異なるアプローチから複数デバイス間の同期に対応している。Obsidian Sync は統合されたホスト型サービスを提供し [@obsidiansync]、Obsidian Git はバージョン管理指向の push/pull ワークフローを提供し [@obsidiangit]、Syncthing はファイルシステム層で動作し [@syncthing]、Remotely Save はクラウドやセルフホスト型ストレージの複数の API に Obsidian を接続する [@remotelysave]。
+ローカルファーストソフトウェアは、ユーザーデータの唯一の所有者としてのホスト型サービスへの依存を避けつつ、ローカルにおける可用性と、複数デバイス間での同期や協調を両立させる [@kleppmann2019localfirst]。Obsidian エコシステム内では、いくつかのツールが異なるアプローチから複数デバイス間の同期に対応している。Obsidian Sync は統合されたホスト型サービスを提供し [@obsidiansync]、Obsidian Git はバージョン管理指向の push/pull ワークフローを提供し [@obsidiangit]、Syncthing はファイルシステム層で動作し [@syncthing]、Remotely Save はクラウドやセルフホスト型ストレージの複数の API に Obsidian を接続する [@remotelysave]。
これらのアプローチは、並行する変更の表現方法が異なる。Syncthing は競合コピーを通常のファイルとして他のデバイスへ転送し [@syncthingsync]、Git は分岐した履歴をマージ前に取得できる [@gitfetch]。Obsidian Git はデスクトップおよびモバイル上でこの操作を自動化している [@obsidiangit]。Conflict-free Replicated Data Types(CRDT)でも複数の選択肢を検査でき、Automerge は同じオブジェクトプロパティーへの並行した代入を保持する [@automergeconflicts]。Self-hosted LiveSync は、競合するファイルの各バージョンを、メタデータドキュメントのリビジョンツリー上の末端リビジョン(leaf、各分岐の現在の版)として保持し、設定されたポリシーまたはユーザーによる明示的な操作によって解決されるまで維持する。
-これらの既存ツールはそれぞれ異なる運用上の要請に応えている。ホスト型サービスは導入の平易さを重視し、外部のファイル同期ツールは任意のファイルシステムツリーを対象とし、バージョン管理ツールは明示的なコミットワークフローを前提としている。一方、著者の環境では管理対象デバイス上でバックグラウンドクライアントデーモンの実行が制限されており、かつ競合する版の保持と、その版に結び付いたファイル更新を扱うためには、複製処理とローカルファイル操作を直接統合する必要があった。そのため、Self-hosted LiveSync は外部デーモンを介さず Obsidian 内で直接動作するプラグインとして構築され、複数のバックエンドで同一のリビジョンセマンティクスを維持するために、中核ロジックをプラットホーム非依存のエンジンとして分離する構成が採用された。
+これらの既存ツールはそれぞれ異なる運用上の要請に応えている。ホスト型サービスは導入の平易さを重視し、外部のファイル同期ツールは任意のファイルシステムツリーを対象とし、バージョン管理ツールは明示的なコミットワークフローを前提としている。一方、著者の環境では管理対象デバイス上でバックグラウンドクライアントデーモンの実行が制限されており、かつ競合する版の保持と、その版に結び付いたファイル更新を扱うためには、複製処理とローカルファイル操作を直接統合する必要があった。そのため、Self-hosted LiveSync は外部デーモンを介さず Obsidian 内で直接動作するプラグインとして構築され、複数のバックエンドで同一のリビジョンセマンティクスを維持するために、中核ロジックをプラットフォーム非依存のエンジンとして分離する構成が採用された。
Self-hosted LiveSync は新しいデータベース複製アルゴリズムを導入するものではない。むしろその貢献は、リビジョン認識可能なデータベースのセマンティクスを、外部から編集できるファイル Vault へ適用した点にある。Content-addressed なチャンク、デバイスローカルな来歴情報、および組み込みの復旧ツールにより、通常のノート作成ワークフローを損なうことなく、競合のレビューを保留しながら編集を継続できるようにしている。
-# Software Design
+# ソフトウェア設計
共通の複製サービスおよび競合処理サービスは `@vrtmrz/livesync-commonlib` [@commonlib021] として公開されており、Obsidian プラグイン、コマンドラインインターフェース(CLI)、Web アプリケーション、および Web Peer で利用されている。
-## Revision-aware Vault representation
+## リビジョンを認識する Vault の表現
-Vault の各ファイルは、ローカルの PouchDB [@pouchdb] 内で、パス、サイズ、更新日時、および分割されたチャンクドキュメントへの参照を含むメタデータドキュメントとして表現される。チャンクは Content-addressed であり、同一のコンテンツ領域を持つリビジョン間や異なるファイル間で再利用できる。複数デバイス間で並行して更新が行われると、メタデータドキュメントの周囲に競合する複数の leaf(子を持たない末端リビジョン)が形成される。PouchDB はデフォルトの取得対象として決定論的な winner(選出された leaf)を選出するが、この選択は内部的なタイブレークに過ぎず、その winner がより新しい、より安全である、あるいは特定のデバイスの Vault に表示されているバージョンであることを証明するものではない。
+Vault の各ファイルは、ローカルの PouchDB [@pouchdb] 内で、パス、サイズ、更新日時、および分割されたチャンクドキュメントへの参照を含むメタデータドキュメントとして表現される。チャンクは Content-addressed であり、同一のコンテンツ領域を持つリビジョン間や異なるファイル間で再利用できる。複数デバイス間で並行して更新が行われると、メタデータドキュメントに複数の競合末端リビジョンが形成される。PouchDB はデフォルトの取得対象となる代表リビジョン(winner)を決定論的に選ぶが、これは内部的なタイブレークに過ぎず、そのリビジョンがより新しい、より安全である、あるいは特定のデバイスの Vault に表示されているバージョンであることを意味しない。
-並行する更新によってブランチ $\alpha$ と $\beta$ に分岐した場合、両方の leaf は解決前に他のデバイスへ複製される。自動3方向マージは、両方の leaf と最も近い利用可能な共通祖先についてメタデータ本文およびチャンクが読み取り可能である場合に、Markdown(`.md`)、Canvas(`.canvas`)、および JSON(`.json`)ファイルを対象として適用される(その他の形式は対象外である)。Markdown では、同一オフセットへの並行した挿入は即座に失敗とせず、更新日時に応じて順次連結して統合できる。CouchDB の複製プロトコルは祖先リビジョンの識別子を伝播するものの祖先の内容は取得しないため [@couchdbreplication]、祖先の履歴や内容が欠落している場合、あるいは互換性のない編集衝突が生じた場合、同期エンジンは自動マージを保留する。自動マージが無効または適用不能であり両方の版が読み取り可能である場合、JSON ファイルおよび内容の異なるバイナリーファイルは互換性のための動作として、「常に新しいファイルで上書きする」が無効であっても更新日時によって解決され、このオプションを有効にするとテキストの競合にも当該解決が拡張される。それ以外の場合、テキストの競合は手動解決のために保持され、両方の版が読み取り可能であれば2方向の差分(two-way diff)によって直接比較できる。
+並行する更新によってブランチ $\alpha$ と $\beta$ に分岐した場合、両方の末端リビジョンは解決前に他のデバイスへ複製される。自動3方向マージは、両方の末端リビジョンと最も近い利用可能な共通祖先についてメタデータ本文およびチャンクが読み取り可能である場合に、Markdown(`.md`)、Canvas(`.canvas`)、および JSON(`.json`)ファイルを対象として適用される(その他の形式は対象外である)。Markdown では、同一オフセットへの並行した挿入は即座に失敗とせず、更新日時に応じて順次連結して統合できる。CouchDB の複製プロトコルは祖先リビジョンの識別子を伝播するものの祖先の内容は取得しないため [@couchdbreplication]、祖先の履歴や内容が欠落している場合、あるいは互換性のない編集競合が生じた場合、同期エンジンは自動マージを保留する。自動マージが無効または適用不能であり両方の版が読み取り可能である場合、JSON ファイルおよび内容の異なるバイナリーファイルは互換性のための動作として、「常に新しいファイルで上書きする」が無効であっても更新日時によって解決され、このオプションを有効にするとテキストの競合にも当該解決が拡張される。それ以外の場合、テキストの競合は手動解決のために保持され、両方の版が読み取り可能であれば2方向の差分(two-way diff)によって直接比較できる。
-## Device-local branch provenance
+## デバイスごとのブランチ来歴
データベースは競合する複数のブランチを同時に保持できるが、ローカルの Vault は任意のパスに対して単一の実体ファイルしか配置できない。ローカルファイルがどのブランチを表しているかを識別するため、本プラグインは正確なデータベースリビジョンと観測されたローカルの更新日時をデバイスローカルな Key-Value ストアに保存する。このリビジョンは当該パスの**ブランチアンカー**として機能し、データベースから Vault への実体化、または Vault からデータベースへの書き込みが成功した後に更新される。
-未解決の競合が存在する状態において、ローカルで行われた編集や論理削除はアンカーされたリビジョンの子となり、競合する leaf を損なうことなく、その特定のブランチを前進させる。パスをまたぐリネームでは、移動先を保存した上で、アンカーされた移動元のブランチのみを論理削除する。この状態で来歴情報が利用できない場合、本プラグインはファイルのバイト列が利用可能な既存の単一リビジョン本文と厳密に一致する場合に限り Vault 内のファイルをそのリビジョンにひもづけ、それ以外の場合はパスや日時から勝手に推測せず、手動解決すべき競合として保持する。競合が存在しない通常時は、通常の書き込みによって単に現在のデータベースリビジョンが前進する。
+未解決の競合が存在する状態において、ローカルで行われた編集や論理削除はアンカーされたリビジョンの子となり、他の競合末端リビジョンを損なうことなく、その特定のブランチを前進させる。パスをまたぐリネームでは、移動先を保存した上で、アンカーされた移動元のブランチのみを論理削除する。この状態で来歴情報が利用できない場合、本プラグインはファイルのバイト列が利用可能な既存の単一リビジョン本文と厳密に一致する場合に限り Vault 内のファイルをそのリビジョンにひもづけ、それ以外の場合はパスや日時から勝手に推測せず、手動解決すべき競合として保持する。競合が存在しない通常時は、通常の書き込みによって単に現在のデータベースリビジョンが前進する。
-組み込みのコンフリクトインスペクターは、現在の winner、すべての conflict leaf、および最も近い利用可能な共通祖先を検査する。インスペクターは欠落したチャンクやファイル/データベース間の差異を報告し、現在の leaf を明示的に選択して操作できるようにする。変更を伴う操作は実行前にリビジョンを再確認し、古い画面状態によってすでに末端ではなくなったリビジョンを誤って削除したり前進させたりするのを防止する。
+組み込みの競合インスペクターは、現在の代表リビジョン(winner)、すべての競合末端リビジョン、および最も近い利用可能な共通祖先を検査する。インスペクターは欠落したチャンクやファイル/データベース間の差異を報告し、現在の末端リビジョンを明示的に選択して操作できるようにする。変更を伴う操作は実行前にリビジョンを再確認し、古い画面状態によってすでに末端ではなくなったリビジョンを誤って削除したり前進させたりするのを防ぐ。
-## Transport-independent replication
+## 通信方式に依存しない複製
-CouchDB のリビジョンモデルを基準に、Self-hosted LiveSync はデータベースの表現を通信トランスポートから分離し、バックエンドにかかわらずファイルメタデータのリビジョン識別子と競合する leaf をそのまま複製する。CouchDB [@couchdb] ではネイティブなリビジョン複製を利用する。S3 互換オブジェクトストレージでは、メタデータドキュメントの末端リビジョンと祖先リビジョンの識別子をジャーナルに記録し、新しいローカルリビジョンを作成せずに適用する一方、チャンクドキュメントは内容由来の識別子を保持し、新しいローカルリビジョンとして保存される。WebRTC ピアツーピア(P2P)アダプター [@webrtc] は、Trystero [@trystero] の DataChannels と RPC ベースのレプリケーション shim によりドキュメント要求をバッチ処理し、同一のリビジョンセマンティクスをピア間で直接保持する。CouchDB およびジャーナル転送においては、Web Streams が転送をパイプライン処理し、転送中にメモリーへ保持されるデータ量を抑制する。
+CouchDB のリビジョンモデルを基準に、Self-hosted LiveSync はデータベースの表現を通信トランスポートから分離し、バックエンドにかかわらずファイルメタデータのリビジョン識別子と競合末端リビジョンをそのまま複製する。CouchDB [@couchdb] ではネイティブなリビジョン複製を利用する。S3 互換オブジェクトストレージでは、メタデータドキュメントの末端リビジョンと祖先リビジョンの識別子をジャーナルに記録し、新しいローカルリビジョンを作成せずに適用する一方、チャンクドキュメントは内容由来の識別子を保持し、新しいローカルリビジョンとして保存される。WebRTC ピアツーピア(P2P)アダプター [@webrtc] は、Trystero [@trystero] の DataChannels と RPC ベースのレプリケーション shim によりドキュメント要求をバッチ処理し、同一のリビジョンセマンティクスをピア間で直接保持する。CouchDB およびジャーナル転送においては、Web Streams が転送をパイプライン処理し、転送中にメモリーへ保持されるデータ量を抑制する。
これらのトランスポートは柔軟に組み合わせられる。P2P 同期は参加デバイスが同時にオンラインである必要があるが、中央の CouchDB やオブジェクトストレージを併用することで、オフライン期間を挟んだデバイス間でも同期できる。すべての通信方式でコンテンツのエンドツーエンド暗号化とパス難読化をサポートしている。P2P では接続交渉時のセッション記述が暗号化されるが、シグナリングリレーやネットワークサービスからは接続時刻やネットワークアドレスを観測できる。
-## Retention and recovery
+## 保持と復旧
-分岐した各ブランチは未変更のチャンクを共有するため、競合する leaf を保持するために生じるコストは主に新規チャンクとリビジョンメタデータに限られる。蓄積した保存領域はリモートデータベースの再構築によって回収できるほか、CouchDB 向けには、明示的に開始するベータ版のガベージコレクションにより、現在の winner、すべての conflict leaf、および未解決の競合を検査するために必要な、利用可能な祖先から到達可能なチャンクを保護しながらインプレースで回収できる。過去のリビジョンで置き換えられたチャンクは後から回収されうるため、過去のリビジョン本文は無条件のバックアップではない。
+分岐した各ブランチは未変更のチャンクを共有するため、競合末端リビジョンを保持するコストは主に新規チャンクとリビジョンメタデータに限られる。蓄積した保存領域はリモートデータベースの再構築によって回収できるほか、CouchDB 向けには、明示的に開始するベータ版のガベージコレクションにより、現在の代表リビジョンとすべての競合末端リビジョン、および未解決の競合を検査するために必要な、利用可能な祖先から到達可能なチャンクを保護しながらインプレースで回収できる。過去のリビジョンで置き換えられたチャンクは後から回収されうるため、過去のリビジョン本文は無条件のバックアップではない。
必要なチャンクが欠落している場合でも、読み取り不能な現在のリビジョンはリビジョンツリーに残り、競合処理によって自動的に破棄されることはない。欠落したチャンクが他のデバイスに残っている場合があるため、それらの再接続と同期を待って復旧操作を保留できる。競合インスペクターは影響を受けるリビジョンを明示し、取得の再試行や明示的な復旧操作を支援する。復旧には、デバイス、リモートストレージ、またはバックアップに内容が残っている必要がある。
-# Research Impact Statement
+# 研究への影響
-Self-hosted LiveSync は、著者が複数のデバイスやプラットホームを対象に行うソフトウエア開発業務から生まれた。この作業では、主たるデバイスを利用できない状況でも、各デバイスでスクリーンショットを取得し、観察記録を保存する必要があった。同じワークフローは、現在では著者の先行技術調査にも利用されており、先行文献の読解に伴うメモや考察を同期するために用いられている。競合する版が保持されることで、分岐した記録が即座に上書きされず、後から比較・確認することが可能になる。
+Self-hosted LiveSync は、著者が複数のデバイスやプラットフォームを対象に行うソフトウェア開発業務から生まれた。この作業では、主たるデバイスを利用できない状況でも、各デバイスでスクリーンショットを取得し、観察記録を保存する必要があった。同じワークフローは、現在では著者の先行技術調査にも利用されており、先行文献の読解に伴うメモや考察を同期するために用いられている。競合する版が保持されることで、分岐した記録が即座に上書きされず、後から比較・確認することが可能になる。
-ユニットテストおよび結合テストは、リビジョンの系譜、チャンクの到達可能性、利用できない内容、およびホストの構成を対象とする。CLI および実環境の Obsidian によるシナリオでは、競合する leaf が残っている状態での編集、論理削除、およびリネームを含め、競合の伝播と解決を検証する。3ノードの P2P シナリオでは、未解決の leaf が解決前にデバイス間を移動できることを確認している。再利用可能なヘッドレステスト基盤は独立してアーカイブされている [@fancykit]。決定論的なフィクスチャーを用いて同一の生成データ上で P2P と CouchDB の経路を比較しているが、制御されたローカル測定値が普遍的な性能を示すわけではない。
+ユニットテストおよび結合テストは、リビジョンの系譜、チャンクの到達可能性、利用できない内容、およびホストの構成を対象とする。CLI および実環境の Obsidian によるシナリオでは、競合する末端リビジョンが残っている状態での編集、論理削除、およびリネームを含め、競合の伝播と解決を検証する。3ノードの P2P シナリオでは、未解決の末端リビジョンが解決前にデバイス間を移動できることを確認している。再利用可能なヘッドレステスト基盤は独立してアーカイブされている [@fancykit]。決定論的なフィクスチャーを用いて同一の生成データ上で P2P と CouchDB の経路を比較しているが、制御されたローカル測定値が普遍的な性能を示すわけではない。
-2026年9月2日時点で、Obsidian プラグインディレクトリーでは 90万回以上のダウンロード、デスクトップおよびモバイルのサポート、ならびに公式の Research カテゴリーへの配置が報告されている [@obsidianplugin]。GitHub リポジトリーでは 12,200件以上のスター、440件のフォーク、および広範なユーザーコミュニティーからの貢献が記録されている [@selfhostedlivesyncrepo]。これらの数値自体は研究上の直接的な影響を証明するものではないが、本ソフトウエアがコミュニティーに受容され、単一のプライベートなワークフローを超えて運用されている証拠を提供する。
+2026年9月2日時点で、Obsidian プラグインディレクトリーでは 90万回以上のダウンロード、デスクトップおよびモバイルのサポート、ならびに Research カテゴリーへの配置が報告されている [@obsidianplugin]。GitHub リポジトリーでは 12,200件以上のスター、440件のフォーク、および幅広いユーザーコミュニティからの貢献が記録されている [@selfhostedlivesyncrepo]。これらの数値自体は研究上の直接的な影響を証明するものではないが、本ソフトウェアがコミュニティに受け入れられ、単一の個人的なワークフローを超えて利用されていることを示している。
-本稿で説明したソフトウエアは Self-hosted LiveSync 1.0.23 [@selfhostedlivesync] であり、MIT ライセンスの下でリリースされ、Commonlib 0.1.21 [@commonlib021] に固定されている。プラグイン、再利用可能なテストハーネス [@fancykit]、および以前の Commonlib 0.1.19 のスナップショット [@commonlib] は Zenodo に恒久的にアーカイブされており、プラットホーム非依存のロジックが独立したテストと再利用を可能にしている。
+本稿で説明したソフトウェアは Self-hosted LiveSync 1.0.23 [@selfhostedlivesync] であり、MIT ライセンスの下でリリースされ、Commonlib 0.1.21 [@commonlib021] に固定されている。プラグイン、再利用可能なテストハーネス [@fancykit]、および以前の Commonlib 0.1.19 のスナップショット [@commonlib] は Zenodo に恒久的にアーカイブされており、プラットフォーム非依存のロジックが独立したテストと再利用を可能にしている。
-# AI Usage Disclosure
+# AI の利用に関する開示
-2026年7月から9月にかけて、コード探索、テストおよびベンチマークの足場作り、CI およびドキュメントの編集、原稿の推敲および校正、レビュー、引用の検証、ならびに結果の要約に GPT-5 を使用した OpenAI Codex が利用された。また、Codex を通じて GPT-6 も 9月の原稿レビューおよび改訂を支援した。本原稿の準備において、その他の生成 AI ツールは使用されていない。GitHub Copilot(モデルおよびバージョンは未記録)は、本リリースに含まれるコミットの実装、テスト、およびドキュメント作成を支援した。Google Gemini(Gemini Flash バージョン 3.5 から 3.8)は、リソースチェックおよび関連するコードベースの検証に使用された。人間の著者自身がすべての支援出力をレビュー、編集、および検証し、主要な設計判断を行い、関連する検証コマンドおよびベンチマークコマンドを実行した。著者は、提出された資料の正確性、独創性、ライセンス、および倫理的コンプライアンスについて引き続き全責任を負う。
+2026年7月から9月にかけて、コード探索、テストおよびベンチマークの足場作り、CI およびドキュメントの編集、原稿の推敲および校正、レビュー、引用の検証、ならびに結果の要約に GPT-5 を使用した OpenAI Codex が利用された。また、Codex を通じて GPT-6 も 9月の原稿レビューおよび改訂を支援した。本原稿の準備において、その他の生成 AI ツールは使用されていない。GitHub Copilot は、本リリースのコミット作成を支援した。Google Gemini(Flash バージョン 3.5 から 3.8)は、コードベースの検証を支援した。人間の著者自身がすべての支援出力をレビュー、編集、および検証し、主要な設計判断を行い、関連する検証コマンドおよびベンチマークコマンドを実行した。著者は、提出された資料の正確性、独創性、ライセンス、および倫理的コンプライアンスについて引き続き全責任を負う。
-# Acknowledgements
+# 謝辞
-著者は、プロジェクトの貢献者、ユーザー、ならびに PouchDB、CouchDB、および Trystero のアップストリームメンテナーに感謝の意を表する。本プロジェクトは、GitHub Sponsors を通じたコミュニティーの支援、JetBrains からの開発ツールライセンス、および OpenAI の Codex for Open Source プログラムによる支援を受けている。
+著者は、プロジェクトの貢献者、ユーザー、ならびに PouchDB、CouchDB、および Trystero のアップストリームメンテナーに感謝の意を表する。本プロジェクトは、GitHub Sponsors を通じたコミュニティの支援、JetBrains からの開発ツールライセンス、および OpenAI の Codex for Open Source プログラムによる支援を受けている。
-# References
+# 参考文献
diff --git a/src/common/messages/LiveSyncProvisionalMessages.ts b/src/common/messages/LiveSyncProvisionalMessages.ts
index f081cd13..21996333 100644
--- a/src/common/messages/LiveSyncProvisionalMessages.ts
+++ b/src/common/messages/LiveSyncProvisionalMessages.ts
@@ -3,10 +3,18 @@
* exercised. These keys remain application-owned and must not be added to
* Commonlib merely to make them available to the LiveSync translator.
*
- * Move a message to the YAML catalogue when it is ready for translation, and
- * remove it from this map in the same change.
+ * Japanese overrides may live in liveSyncProvisionalJapaneseMessages while a
+ * key remains provisional. Move a message to the YAML catalogue when its wording
+ * is ready for the full translation workflow, and remove it from both maps in
+ * the same change.
*/
export const liveSyncProvisionalEnglishMessages = {
+ "Enable SyncGuard": "Enable SyncGuard",
+ "Enable device-local SyncGuard protection during synchronisation.":
+ "Enable device-local SyncGuard protection during synchronisation.",
+ "SyncGuard minimum files": "SyncGuard minimum files",
+ "Minimum number of Vault files required for SyncGuard protection to apply.":
+ "Minimum number of Vault files required for SyncGuard protection to apply.",
"Synchronisation protection": "Synchronisation protection",
"Synchronising your Vault": "Synchronising your Vault",
"Receiving changes from the server…": "Receiving changes from the server…",
@@ -415,6 +423,451 @@ export const liveSyncProvisionalEnglishMessages = {
"The fetch flag does not contain one supported selection. Choose new options and continue with the current remote?\n\nCurrent remote: ${REMOTE}\n\nThe flag contents will remain unchanged. The new choices apply only to this attempt; another restart will ask again. Completing or cancelling the fetch removes the flag.":
"The fetch flag does not contain one supported selection. Choose new options and continue with the current remote?\n\nCurrent remote: ${REMOTE}\n\nThe flag contents will remain unchanged. The new choices apply only to this attempt; another restart will ask again. Completing or cancelling the fetch removes the flag.",
"Choose new options and continue": "Choose new options and continue",
+ "Batch database updates in LiveSync mode": "Batch database updates in LiveSync mode",
+ "Wait for a bounded local quiet period before processing file updates in LiveSync mode, reducing intermediate database updates while delaying their reflection to remote devices.":
+ "Wait for a bounded local quiet period before processing file updates in LiveSync mode, reducing intermediate database updates while delaying their reflection to remote devices.",
+ Apply: "Apply",
+ Add: "Add",
+ Revert: "Revert",
+ "Vault history": "Vault history",
+ "From:": "From:",
+ "To:": "To:",
+ "Info:": "Info:",
+ "To stop the countdown, tap anywhere on the dialogue": "To stop the countdown, tap anywhere on the dialogue",
} as const;
export type LiveSyncProvisionalMessageKey = keyof typeof liveSyncProvisionalEnglishMessages;
+
+/** Japanese translations for provisional LiveSync messages which are already user-facing. */
+export const liveSyncProvisionalJapaneseMessages: Partial> = {
+ "Enable SyncGuard": "SyncGuard を有効化",
+ "Enable device-local SyncGuard protection during synchronisation.":
+ "同期中に、このデバイスで SyncGuard による保護を有効にします。",
+ "SyncGuard minimum files": "SyncGuard を適用する最小ファイル数",
+ "Minimum number of Vault files required for SyncGuard protection to apply.":
+ "SyncGuard による保護を適用するために必要な Vault 内の最小ファイル数です。",
+ "Synchronisation protection": "同期保護",
+ "Synchronising your Vault": "Vault を同期しています",
+ "Receiving changes from the server…": "サーバーから変更を受信しています…",
+ "Applying received changes to local notes…": "受信した変更をローカルノートに適用しています…",
+ "Synchronisation was interrupted. You can continue locally, but some notes may be out of date.":
+ "同期が中断されました。ローカルで作業を続けられますが、一部のノートは最新でない可能性があります。",
+ "At least ${COUNT} changed files received": "変更されたファイルを少なくとも ${COUNT} 件受信しました",
+ "Continue without waiting": "待たずに続行",
+ "Hidden File Sync is disabled on this device. Enable it in Sync Settings before using Automatic or initialising hidden files.":
+ "このデバイスでは非表示ファイル同期が無効です。Automatic を使用する場合や非表示ファイルを初期化する場合は、同期設定で有効にしてください。",
+ "Hidden File Sync initialisation was not started.": "非表示ファイル同期は初期化されませんでした。",
+ "Unknown platform": "不明なプラットフォーム",
+ "This removes only this device's record from the remote.":
+ "リモートから削除されるのは、このデバイスの記録のみです。",
+ "This remote is unlocked. A device that returns can register again.":
+ "このリモートのロックは解除されています。再接続したデバイスは再登録できます。",
+ "This remote is locked. Use the existing recovery process for devices that need to join again.":
+ "このリモートはロックされています。再参加が必要なデバイスには、既存の復旧手順を使用してください。",
+ "This remote is locked. If the device returns, use the existing recovery process to join it again.":
+ "このリモートはロックされています。デバイスが再接続した場合は、既存の復旧手順で再参加させてください。",
+ "This remote does not support conditional updates, so the device record could not be removed.":
+ "このリモートは条件付き更新に対応していないため、デバイスの記録を削除できませんでした。",
+ "This remote does not currently have a record of joined devices.":
+ "このリモートには参加済みデバイスの記録がありません。",
+ "This list shows device information recorded by the remote. It does not show whether a device is online now.":
+ "この一覧にはリモートに記録されたデバイス情報が表示されます。デバイスが現在オンラインかどうかは示しません。",
+ "This device has been locked out. Use the existing recovery process to join again.":
+ "このデバイスは接続を拒否されています。再参加するには、既存の復旧手順を使用してください。",
+ "This device": "このデバイス",
+ "This remote has been cleaned. Use the existing recovery process to join devices again as needed.":
+ "このリモートはクリーンアップされました。必要に応じて、既存の復旧手順でデバイスを再参加させてください。",
+ "The device record was forgotten.": "デバイスの記録を削除しました。",
+ "The device record was already absent.": "デバイスの記録はすでにありません。",
+ "The device list changed while you were trying to forget this device. Refresh the list before trying again.":
+ "このデバイスの記録を削除しようとしている間に一覧が更新されました。もう一度試す前に一覧を再読み込みしてください。",
+ "The device information could not be loaded. Close this dialogue and open Joined devices again if the remote configuration has changed.":
+ "デバイス情報を読み込めませんでした。リモート設定を変更した場合は、このダイアログを閉じて「参加済みデバイス」を開き直してください。",
+ "Review device records for the active CouchDB or Object Storage connection.":
+ "アクティブな CouchDB またはオブジェクトストレージ接続のデバイス記録を確認します。",
+ Refresh: "更新",
+ "Plug-in version": "プラグインのバージョン",
+ Platform: "プラットフォーム",
+ "Older Self-hosted LiveSync versions detected: ${versions}.":
+ "古いバージョンの Self-hosted LiveSync が検出されました: ${versions}。",
+ "Newer Self-hosted LiveSync versions detected: ${versions}.":
+ "新しいバージョンの Self-hosted LiveSync が検出されました: ${versions}。",
+ "Reviewing and aligning Self-hosted LiveSync versions across devices is recommended.":
+ "各デバイスの Self-hosted LiveSync のバージョンを確認し、揃えることをおすすめします。",
+ Open: "開く",
+ "Not recorded": "未記録",
+ "Not accepted": "未承認",
+ "No joined devices are recorded on this remote.": "このリモートには参加済みデバイスが記録されていません。",
+ "Locked out": "接続拒否",
+ "Loading joined devices…": "参加済みデバイスを読み込んでいます…",
+ "Last recorded": "最終記録日時",
+ "Joined devices could not be updated. Refresh the list and try again. If the remote configuration has changed, close this dialogue and open Joined devices again.":
+ "参加済みデバイスを更新できませんでした。一覧を再読み込みしてもう一度お試しください。リモート設定を変更した場合は、このダイアログを閉じて「参加済みデバイス」を開き直してください。",
+ "Joined devices are available after database startup with an active CouchDB or Object Storage connection.":
+ "参加済みデバイスは、データベースの起動後に CouchDB またはオブジェクトストレージへの接続が有効になると表示されます。",
+ "Joined devices": "参加済みデバイス",
+ "Review devices": "デバイスを確認",
+ "Synchronisation between different plug-in versions is generally safe unless the connection is explicitly blocked. However, it may be less efficient or use more storage, and P2P synchronisation may be unavailable.":
+ "プラグインのバージョンが異なるデバイス間でも、接続が明示的にブロックされていなければ、通常は安全に同期できます。ただし、効率が低下したり、使用容量が増えたりする場合があります。また、P2P 同期を利用できないことがあります。",
+ "Forgetting…": "記録を削除しています…",
+ "Forgetting the record does not delete Vault files or revoke credentials.":
+ "記録を削除しても、Vault 内のファイルは削除されず、認証情報も無効になりません。",
+ "Forget this device record?": "このデバイスの記録を削除しますか?",
+ "Forget device": "デバイスの記録を削除",
+ Close: "閉じる",
+ Cancel: "キャンセル",
+ "App version": "アプリのバージョン",
+ Accepted: "承認済み",
+ "Preparing follow-up report…": "追加調査用レポートを準備しています…",
+ "Cancelling local search. Checked ${COUNT} entries.":
+ "ローカル検索をキャンセルしています。${COUNT}件を確認しました。",
+ "Search current Vault paths and current local Metadata only. Older history and remote-only files are not searched.":
+ "現在の Vault パスとローカルのメタデータのみを検索します。古い履歴やリモートにのみ存在するファイルは検索しません。",
+ "The lookup does not read file contents or contact a remote database. Follow-up reports include current conflicts and merge bases.":
+ "検索でファイルの内容を読み取ったり、リモートデータベースに接続したりすることはありません。追加調査用レポートには、現在の競合とマージベースが含まれます。",
+ "Local file diagnostic report": "ローカルファイル診断レポート",
+ "Checked ${COUNT} local entries.": "ローカルの項目を ${COUNT} 件確認しました。",
+ "Enter a valid report path pseudonym.": "有効なレポート用パス仮名を入力してください。",
+ "Search cancelled. Matches found so far are shown.":
+ "検索をキャンセルしました。ここまでに見つかった一致項目を表示します。",
+ "No matches were found in current Vault paths or current local Metadata. Older history and remote-only files are not searched.":
+ "現在の Vault パスとローカルのメタデータに一致する項目はありません。古い履歴やリモートにのみ存在するファイルは検索していません。",
+ "Found ${COUNT} local matches.": "ローカルで ${COUNT} 件見つかりました。",
+ "The local search could not finish.": "ローカル検索を完了できませんでした。",
+ "The file could not be opened.": "ファイルを開けませんでした。",
+ "The follow-up report could not be prepared.": "追加調査用レポートを作成できませんでした。",
+ "Report path pseudonym": "レポート用パス仮名",
+ Source: "ソース",
+ Metadata: "メタデータ",
+ Vault: "Vault",
+ "Metadata document ID": "メタデータドキュメント ID",
+ "No current Metadata document": "現在のメタデータドキュメントなし",
+ "Current Vault file": "現在の Vault ファイル",
+ Present: "あり",
+ Missing: "なし",
+ "Open file": "ファイルを開く",
+ "Prepare follow-up report": "追加調査用レポートを作成",
+ "This report uses pseudonyms. Review its coverage before sharing.":
+ "このレポートでは仮名を使用します。共有する前に、その対象範囲を確認してください。",
+ "Back to matches": "検索結果に戻る",
+ "Reading revisions": "リビジョンを読み込んでいます",
+ "Calculating database usage": "データベース使用量を計算しています",
+ "Discovering revisions": "リビジョンを確認しています",
+ "Find a file from a report pseudonym": "レポート用の仮名からファイルを検索",
+ "Find matching paths in this Vault and local Metadata, then prepare a follow-up report using the same pseudonyms.":
+ "この Vault とローカルのメタデータから一致するパスを検索し、同じ仮名を使って追加調査用レポートを作成します。",
+ "Find file": "ファイルを検索",
+ "⚠️ Initialise or overwrite the remote": "⚠️ リモートを初期化または上書き",
+ "🔗 Join this device": "🔗 このデバイスを参加させる",
+ "⚙️ Apply settings only (advanced)": "⚙️ 設定のみ適用(高度な設定)",
+ "Configure TURN when a direct connection cannot be established or when you select TURN relay only.":
+ "直接接続を確立できない場合、または TURN リレーのみを選択する場合は、TURN を設定してください。",
+ "TURN configuration": "TURN 設定",
+ Manual: "手動",
+ "Managed (Cloudflare)": "マネージド(Cloudflare)",
+ "TURN Key ID": "TURN キー ID",
+ "TURN Key API Token": "TURN キー API トークン",
+ "Unsupported TURN configuration": "未対応の TURN 設定",
+ "The API token is saved with this profile and included in Setup URI and QR code sharing. Temporary TURN credentials are kept in memory only.":
+ "API トークンはこのプロファイルに保存され、セットアップ URI や QR コードでの共有にも含まれます。一時的な TURN 認証情報はメモリー上にのみ保持されます。",
+ "TURN relay only requires a TURN server or a configured credential source under Advanced Settings.":
+ "TURN リレーのみを使うには、TURN サーバーまたは高度な設定で認証情報の取得元を設定してください。",
+ "Enter a TURN Key ID.": "TURN キー ID を入力してください。",
+ "TURN Key ID contains unsupported characters.": "TURN キー ID に未対応の文字が含まれています。",
+ "Enter a TURN Key API Token.": "TURN キー API トークンを入力してください。",
+ "TURN Key API Token must use Bearer token syntax.":
+ "TURN キー API トークンは Bearer トークン形式で入力してください。",
+ "The selected TURN configuration is not supported.": "選択した TURN 設定には対応していません。",
+ "Setup Complete: Preparing to Fetch from Another Device": "セットアップ完了: 別のデバイスから取得する準備中",
+ "The P2P connection has been configured successfully. The initial synchronisation data must now be fetched from an online source device.":
+ "P2P 接続を設定しました。初回の同期を行うため、オンラインのソースデバイスからデータを取得してください。",
+ "After restarting, select an online source device for the initial Fetch. The local LiveSync database on this device will be rebuilt from that source. Unsynchronised files in this Vault may conflict with the fetched data.":
+ "再起動後、初回取得のソースとなるオンラインデバイスを選択してください。このデバイスのローカル LiveSync データベースは、そのソースから再構築されます。この Vault で未同期のファイルは、取得したデータと競合する可能性があります。",
+ "Restart this device, then choose the source device when P2P Rebuild opens.":
+ "このデバイスを再起動してください。P2P 再構築が開いたら、ソースデバイスを選択します。",
+ "Restart and Select Source Device": "再起動してソースデバイスを選択",
+ "P2P Status pane": "P2P ステータスペイン",
+ "No central data-storage server is required, but a signalling relay is required for peer discovery. Both devices must be online at the same time. Vault data travels through the encrypted P2P connection, not through the signalling relay. Some features may be limited.":
+ "中央データストレージサーバーは不要ですが、ピアの検出にはシグナリングリレーが必要です。両方のデバイスが同時にオンラインである必要があります。Vault のデータは暗号化された P2P 接続を通り、シグナリングリレーを経由しません。一部の機能は制限される場合があります。",
+ "P2P requires no central data-storage server, but it still uses a signalling relay for peer discovery.":
+ "P2P には中央データストレージサーバーは不要ですが、ピアの検出にはシグナリングリレーを使用します。",
+ "Signalling relay URLs": "シグナリングリレー URL",
+ "Peer discovery uses Nostr-compatible signalling relays.":
+ "ピアの検出には Nostr 互換のシグナリングリレーを使用します。",
+ "Use the project's public signalling relay": "プロジェクトの公開シグナリングリレーを使用",
+ "The project's public signalling relay is a best-effort convenience operated by the project author. It does not store Vault contents, but signalling metadata may be visible to the relay. Availability and log retention are not guaranteed. You can replace it with your own Nostr-compatible relay.":
+ "プロジェクトの公開シグナリングリレーは、プロジェクト作者が便宜上、可能な範囲で運用しています。Vault の内容は保存されませんが、シグナリングのメタデータはリレーから見える場合があります。稼働状況やログの保存期間は保証されません。独自の Nostr 互換リレーに変更できます。",
+ "Learn more about P2P connections": "P2P 接続について詳しく見る",
+ "Learn more about signalling and TURN": "シグナリングと TURN について詳しく見る",
+ "WebRTC encrypts data between your devices, including when it passes through TURN. The TURN provider cannot read the transferred data. It can see network addresses and traffic volume.":
+ "TURN を経由する場合も含め、WebRTC はデバイス間のデータを暗号化します。TURN プロバイダーは転送データを読み取れませんが、ネットワークアドレスと通信量を確認できます。",
+ "Connection compatibility": "接続互換性",
+ "P2P message size": "P2P メッセージサイズ",
+ Standard: "標準",
+ Reduced: "縮小",
+ Conservative: "保守的",
+ "Maximum compatibility": "互換性を最大化",
+ "Smaller messages can improve compatibility on paths which fragment or drop larger WebRTC messages. This setting limits outgoing P2P messages, so use a compatible profile on each sending device when required.":
+ "メッセージを小さくすると、大きな WebRTC メッセージが分割または破棄される経路で互換性が向上する場合があります。この設定は送信する P2P メッセージのサイズを制限します。必要に応じて、送信側の各デバイスで互換性のあるプロファイルを選択してください。",
+ "Connection path": "接続経路",
+ "TURN relay only": "TURN リレーのみ",
+ "TURN relay only is available when at least one valid TURN server URL is configured under Advanced Settings.":
+ "高度な設定で有効な TURN サーバー URL を1つ以上設定すると、TURN リレーのみを選択できます。",
+ "TURN relay only requires at least one valid TURN server URL. Connection path has been restored to Automatic.":
+ "TURN リレーのみを使うには、有効な TURN サーバー URL が1つ以上必要です。接続経路を自動に戻しました。",
+ "Announce changes": "変更を通知",
+ "Announce changes automatically after connecting": "接続後に変更を自動通知",
+ "When enabled, this device notifies connected peers after a local change. The notification contains no Vault data; a peer which follows this device then fetches the change through the encrypted P2P connection.":
+ "有効にすると、ローカルで変更があったときに接続中のピアへ通知します。通知に Vault のデータは含まれません。このデバイスの変更を受け取る設定のピアは、暗号化された P2P 接続を通じて変更を取得します。",
+ "Stop announcing changes": "変更の通知を停止",
+ "Start announcing changes": "変更の通知を開始",
+ "Follow changes": "変更を受け取る",
+ "Stop following changes from this device": "このデバイスからの変更受信を停止",
+ "Follow changes from this device": "このデバイスからの変更を受信",
+ "Synchronise when this device connects": "このデバイスの接続時に同期",
+ "Follow whenever this device connects": "このデバイスが接続するたびに変更を受信",
+ "Include in the P2P synchronisation command": "P2P 同期コマンドに含める",
+ "More actions for ${DEVICE}": "${DEVICE} のその他の操作",
+ "Use this device's settings": "このデバイスの設定を使用",
+ Retry: "再試行",
+ "No Synchronisation Settings Found": "同期設定が見つかりません",
+ "The selected remote has no saved synchronisation settings. This is normal for a new remote. Use this device's settings, or cancel if you expected existing settings.":
+ "選択したリモートには保存済みの同期設定がありません。新しいリモートでは通常の状態です。このデバイスの設定を使用してください。既存の設定があるはずの場合はキャンセルしてください。",
+ "Could Not Read Synchronisation Settings": "同期設定を読み取れませんでした",
+ "Could not read the remote's synchronisation settings. Check the connection and credentials, then retry.":
+ "リモートの同期設定を読み取れませんでした。接続と認証情報を確認してから、もう一度お試しください。",
+ "Could not read the remote's synchronisation settings. Retry, or continue the overwrite with this device's settings. A working connection is still required.":
+ "リモートの同期設定を読み取れませんでした。再試行するか、このデバイスの設定で上書きを続行してください。続行する場合も、接続が機能している必要があります。",
+ "Skips checking and applying synchronisation settings from the remote.":
+ "リモートの同期設定の確認と適用をスキップします。",
+ "Change CouchDB server setting": "CouchDB サーバー設定を変更",
+ "Change CouchDB server setting '${SETTING}' to '${VALUE}'?":
+ "CouchDB サーバー設定「${SETTING}」を「${VALUE}」に変更しますか?",
+ "TURN relay only requires TURN configuration. Connection path has been restored to Automatic.":
+ "TURN リレーのみを使うには TURN の設定が必要です。接続経路を自動に戻しました。",
+ "This file has unresolved conflicts.": "このファイルには未解決の競合があります。",
+ "This file has ${COUNT} unresolved versions. They will be reviewed one pair at a time.":
+ "このファイルには未解決の版が ${COUNT} 件あります。1組ずつ確認します。",
+ "Sync now": "今すぐ同期",
+ "Apply pending changes now": "保留中の変更を今すぐ適用",
+ "Copy database information for the active file": "アクティブなファイルのデータベース情報をコピー",
+ "Copy database information for a file": "ファイルのデータベース情報をコピー",
+ "Copy revision, conflict, and local chunk availability information, including document and chunk identifiers but not file contents.":
+ "ファイルの内容を含めずに、ドキュメント ID やチャンク ID などのリビジョン、競合、ローカルのチャンク有無に関する情報をコピーします。",
+ "Choose file": "ファイルを選択",
+ "Choose a file to inspect": "確認するファイルを選択",
+ "Database information for ${FILE}": "${FILE} のデータベース情報",
+ "All revisions and chunk availability below are a snapshot of this device's local database; the remote is not queried. Review the Vault-relative path, document identifier, content-derived chunk identifiers, and metadata before sharing this report. File contents are omitted.":
+ "以下のリビジョンとチャンク有無は、このデバイスのローカルデータベースのスナップショットです。リモートには問い合わせません。このレポートを共有する前に、Vault からの相対パス、ドキュメント ID、コンテンツ由来のチャンク ID、メタデータを確認してください。ファイルの内容は含まれません。",
+ "📁 Vault: ${SIZE} B · ${TIME}": "📁 Vault: ${SIZE} B · ${TIME}",
+ "📁 Vault: missing": "📁 Vault: ファイルなし",
+ "🗄️ Local DB: missing": "🗄️ ローカル DB: データなし",
+ "Vault and database revision": "Vault とデータベースのリビジョン",
+ "Vault file": "Vault ファイル",
+ "Database revision": "データベースのリビジョン",
+ "Vault file is newer": "Vault ファイルの方が新しい",
+ "Database revision is newer": "データベースのリビジョンの方が新しい",
+ "Within the two-second comparison window": "2秒以内の誤差範囲内",
+ "Timestamp comparison unavailable": "タイムスタンプを比較できません",
+ "${ROLE}: ${REVISION}": "${ROLE}: ${REVISION}",
+ "Winner revision": "代表リビジョン",
+ "Conflict revision": "競合リビジョン",
+ "Unknown revision": "不明なリビジョン",
+ "🗑️ Logical deletion": "🗑️ 論理削除",
+ "Readable on this device; recorded size ${RECORDED}, decoded size ${ACTUAL}":
+ "このデバイスで読み取り可能。記録サイズ ${RECORDED}、デコード後サイズ ${ACTUAL}",
+ "🧩 Missing chunks: ${COUNT}": "🧩 チャンク不足: ${COUNT} 件",
+ "📦 DB: recorded ${RECORDED} B · decoded ${DECODED} B · Δsize ${DIFFERENCE} B":
+ "📦 DB: 記録 ${RECORDED} B · デコード後 ${DECODED} B · サイズ差 ${DIFFERENCE} B",
+ "📦 DB: recorded ${RECORDED} B · decoded unavailable": "📦 DB: 記録 ${RECORDED} B · デコード後サイズは不明",
+ "📁 Vault: ${VAULT} B · Δsize vs DB ${DIFFERENCE} B": "📁 Vault: ${VAULT} B · DB とのサイズ差 ${DIFFERENCE} B",
+ "🕒 DB ${DATABASE_TIME} · Vault ${VAULT_TIME} · Δtime ${DIFFERENCE} ms (${RELATION})":
+ "🕒 DB ${DATABASE_TIME} · Vault ${VAULT_TIME} · 時刻差 ${DIFFERENCE} ms(${RELATION})",
+ "✅ Matches Vault": "✅ Vault と一致",
+ "⚠️ Differs from Vault": "⚠️ Vault と不一致",
+ "✅ Vault matches winner": "✅ Vault は代表リビジョンと一致",
+ "⚠️ Conflicts: ${COUNT}": "⚠️ 競合: ${COUNT} 件",
+ "Compare with Vault": "Vault と比較",
+ "Apply this revision to Vault": "このリビジョンを Vault に適用",
+ "Apply database revision ${REVISION} to ${FILE}? The current Vault file will be overwritten.":
+ "データベースのリビジョン ${REVISION} を ${FILE} に適用しますか?現在の Vault ファイルは上書きされます。",
+ "Apply database revision to Vault": "データベースのリビジョンを Vault に適用",
+ "Mark this revision as the Vault version": "このリビジョンを Vault の版として指定",
+ "Store Vault file as a child of this revision": "Vault ファイルをこのリビジョンの子として保存",
+ "Apply logical deletion to Vault": "論理削除を Vault に適用",
+ "Apply logical deletion ${REVISION} to ${FILE}? The current Vault file will be removed.":
+ "論理削除 ${REVISION} を ${FILE} に適用しますか?現在の Vault ファイルは削除されます。",
+ "Retry reading revision": "リビジョンの読み込みを再試行",
+ "Discard this branch": "このブランチを破棄",
+ "Discard branch": "ブランチを破棄",
+ "Discard database branch ${REVISION} of ${FILE}? This creates a logical deletion for that exact live branch. The current Vault file will not be changed.":
+ "${FILE} のデータベースブランチ ${REVISION} を破棄しますか?この操作は該当する現行ブランチに論理削除を記録します。現在の Vault ファイルは変更されません。",
+ "Discard unreadable revision": "読み取れないリビジョンを破棄",
+ "Discard database revision ${REVISION} of ${FILE}? This creates a logical deletion for that exact live revision. Missing content cannot be recovered by this action.":
+ "${FILE} のデータベースリビジョン ${REVISION} を破棄しますか?この操作は該当する現行リビジョンに論理削除を記録します。不足している内容はこの操作では復元できません。",
+ "Revision metadata is unavailable on this device": "このデバイスではリビジョンのメタデータを利用できません",
+ "Shared ancestor ${REVISION} is not readable on this device. Automatic three-way merging may be unavailable, but the live revisions remain available for explicit review.":
+ "共有祖先 ${REVISION} はこのデバイスで読み取れません。自動3方向マージを利用できない場合がありますが、現行リビジョンは引き続き個別に確認できます。",
+ "No shared ancestor is available for this conflict. The live revisions remain available for explicit review.":
+ "この競合には共有祖先がありません。現行リビジョンは引き続き個別に確認できます。",
+ "More actions for revision ${REVISION}": "リビジョン ${REVISION} のその他の操作",
+ "More actions for ${FILE}": "${FILE} のその他の操作",
+ "Show revision history": "リビジョン履歴を表示",
+ "Store Vault file as a new local database document":
+ "Vault ファイルを新しいローカルデータベースドキュメントとして保存",
+ "Copy database information": "データベース情報をコピー",
+ "Recreate chunks for current Vault files": "現在の Vault ファイルのチャンクを再作成",
+ "Recreate chunks from the files currently present in this Vault. This cannot reconstruct unavailable historical or conflict content.":
+ "この Vault に現在あるファイルからチャンクを再作成します。利用できない過去の内容や競合内容は復元できません。",
+ "Recreate current chunks": "現在のチャンクを再作成",
+ "Resolve every conflict by modification time? This logically deletes every version except the newest one and cannot recover content which is already unavailable.":
+ "すべての競合を更新日時で解決しますか?最も新しい版以外はすべて論理削除され、すでに利用できない内容は復元できません。",
+ "Resolve all conflicts by the newest version": "すべての競合を最も新しい版で解決",
+ "Inspect conflicts and file/database differences": "競合とファイル/データベース間の差異を調査",
+ "Scan Vault files and local-database Metadata for conflicts, missing chunks, identity mismatches, and differences. Each result provides actions for one exact entry or revision.":
+ "Vault ファイルとローカルデータベースのメタデータをスキャンし、競合、チャンク不足、識別情報の不一致、差異を確認します。各結果から、該当する項目またはリビジョンに対する操作を選択できます。",
+ "Begin inspection": "調査を開始",
+ "Metadata entry requires review and was left unchanged": "確認が必要なメタデータ項目は変更せずに残しました",
+ "The stored document ID does not match the ID derived from its recorded path.":
+ "保存されたドキュメント ID が、記録されたパスから導出される ID と一致しません。",
+ "The stored document ID and recorded path are handled by different synchronisation features.":
+ "保存されたドキュメント ID と記録されたパスは、それぞれ異なる同期機能によって処理されます。",
+ "Stored document ID: ${ID}": "保存されたドキュメント ID: ${ID}",
+ "Expected document ID: ${ID}": "期待されるドキュメント ID: ${ID}",
+ "Source revision: ${REVISION}": "ソースリビジョン: ${REVISION}",
+ "One-step repair is unavailable because this entry is ambiguous, no longer current, or unsafe to change.":
+ "この項目は情報があいまいであるか、最新ではないか、または変更が安全ではないため、ワンステップ修復は利用できません。",
+ "An exact target is already present; repair can remove the obsolete ID.":
+ "同一の対象がすでに存在するため、修復時に古い ID を削除できます。",
+ "Repair is available for this entry.": "この項目は修復できます。",
+ "Repair this Metadata document ID": "このメタデータドキュメント ID を修復",
+ "Repair Metadata ID": "メタデータ ID を修復",
+ "Keep unchanged": "変更せずに保持",
+ "This moves one local Metadata entry to the ID derived from its recorded path.\n\n**File:** `${FILE}` \n**Source:** `${SOURCE}@${REVISION}` \n**Target:** `${TARGET}`\n\nThe target is verified before the source is removed. Its CouchDB revision ancestry cannot be preserved.\n\n> [!warning] Before repairing\n> - Back up this device.\n> - If file-name case or path obfuscation was intentionally changed for the whole database, use Rebuild instead.\n> - If other devices share this database, pause them, allow this device to upload the repair, then resume them one at a time.":
+ "ローカルのメタデータ項目を、記録されたパスから導出される ID に移動します。\n\n**ファイル:** `${FILE}` \n**移動元:** `${SOURCE}@${REVISION}` \n**移動先:** `${TARGET}`\n\n移動元を削除する前に、移動先を検証します。CouchDB のリビジョン祖先は保持できません。\n\n> [!warning] 修復する前に\n> - このデバイスをバックアップしてください。\n> - データベース全体のファイル名の大文字・小文字の扱いやパス難読化を意図的に変更した場合は、代わりに再構築してください。\n> - 他のデバイスがこのデータベースを共有している場合は、それらを一時停止し、このデバイスから修復内容がアップロードされた後、1台ずつ再開してください。",
+ "Metadata document ID repair and the ordinary Vault scan completed. Run this inspection again after synchronisation.":
+ "メタデータドキュメント ID の修復と通常の Vault スキャンが完了しました。同期後にこの調査を再実行してください。",
+ "Metadata document ID repair completed, but the ordinary Vault scan did not run. Keep synchronisation paused, resolve the scan condition, then run 'Scan storage and database again'.":
+ "メタデータドキュメント ID の修復は完了しましたが、通常の Vault スキャンは実行されませんでした。同期を一時停止したままスキャンを妨げている状態を解消し、「ストレージとデータベースを再スキャン」を実行してください。",
+ "The inspected state changed. No repair was performed; run inspection again.":
+ "調査対象の状態が変化しました。修復は行われていません。調査を再実行してください。",
+ "Repair stopped after creating the target. The source was retained. Run inspection again before retrying.":
+ "移動先を作成した後、修復を停止しました。移動元は保持されています。再試行する前に調査を実行してください。",
+ "Repair failed before the source was removed. Run inspection again before retrying.":
+ "移動元を削除する前に修復が失敗しました。再試行する前に調査を実行してください。",
+ "(RegExp) Limit normal files to matching paths. Leave empty to allow all normal file paths. Hidden File Sync uses its own target patterns.":
+ "(正規表現)通常ファイルを一致するパスに限定します。空欄にすると、すべての通常ファイルパスが対象になります。非表示ファイル同期には専用の対象パターンを使用します。",
+ "(RegExp) Skip changes to matching normal and hidden files, locally and remotely.":
+ "(正規表現)一致する通常ファイルと非表示ファイルの変更を、ローカルとリモートの両方でスキップします。",
+ "Repair Metadata document ID": "メタデータドキュメント ID を修復",
+ "Connection settings": "接続設定",
+ "Saved connections": "保存済みの接続",
+ "ID generation": "ID の生成",
+ "Keep current configuration": "現在の設定を維持",
+ "Set an ID key": "ID キーを設定",
+ "Current configuration: a saved ID key is used.": "現在の設定: 保存済みの ID キーを使用します。",
+ "Current configuration: the saved ID key is retained while E2EE is off.":
+ "現在の設定: E2EE が無効な間も保存済みの ID キーを保持します。",
+ "Current configuration: no ID key is saved. With E2EE enabled, keeping it uses legacy IDs tied to the E2EE passphrase.":
+ "現在の設定: ID キーは保存されていません。E2EE が有効な場合、現在の設定を維持すると E2EE パスフレーズに紐づく旧形式の ID を使用します。",
+ "Changing the E2EE passphrase changes IDs generated by the legacy configuration.":
+ "旧形式の設定では、E2EE パスフレーズを変更すると生成される ID も変わります。",
+ "This uses a saved key for new Chunk IDs and obfuscated Metadata document IDs, so changing the E2EE passphrase does not derive a new key automatically.":
+ "新しいチャンク ID と難読化されたメタデータドキュメント ID に保存済みのキーを使います。そのため、E2EE パスフレーズを変更しても新しいキーは自動導出されません。",
+ Configured: "設定済み",
+ "The saved ID key is configured. Its source cannot be shown again.":
+ "保存済みの ID キーが設定されています。キーの導出元を再表示することはできません。",
+ "Leave this input empty to keep the saved ID key.":
+ "保存済みの ID キーを維持するには、この欄を空のままにしてください。",
+ "Generate a random ID key": "ランダムな ID キーを生成",
+ "How to set the ID key": "ID キーの設定方法",
+ "Derive from current E2EE passphrase": "現在の E2EE パスフレーズから導出",
+ "Enter an ID source": "ID の導出元を入力",
+ "Import an ID recovery code": "ID 復旧コードをインポート",
+ "ID source": "ID の導出元",
+ "ID recovery code": "ID 復旧コード",
+ "Enter an ID recovery code": "ID 復旧コードを入力",
+ "Choose a long, unpredictable source. It is used once and cannot be shown again after saving. A recovery code can be displayed on this device later. This input also accepts a tagged recovery code.":
+ "長く推測されにくい導出元を指定してください。導出元は一度だけ使用され、保存後は再表示できません。復旧コードは後からこのデバイスで表示できます。この入力欄にはタグ付き復旧コードも指定できます。",
+ "Paste a tagged recovery code from an existing device to restore the same ID key.":
+ "既存のデバイスからタグ付き復旧コードを貼り付けると、同じ ID キーを復元できます。",
+ "For recovery after losing every device, save the recovery code after setup or choose an ID source you can reproduce.":
+ "すべてのデバイスを失った場合に備え、セットアップ後に復旧コードを保存するか、再現可能な ID の導出元を選んでください。",
+ "Show current recovery code": "現在の復旧コードを表示",
+ "Hide current recovery code": "現在の復旧コードを隠す",
+ "Current ID recovery code": "現在の ID 復旧コード",
+ "Copy recovery code": "復旧コードをコピー",
+ "Recovery code copied.": "復旧コードをコピーしました。",
+ "The displayed recovery code belongs to the current key. Reopen this dialogue after saving to copy the replacement key.":
+ "表示中の復旧コードは現在のキーに対応しています。キーを置き換えた場合は、保存後にこのダイアログを開き直して新しい復旧コードをコピーしてください。",
+ "The recovery code could not be copied. Select and copy the visible code instead.":
+ "復旧コードをコピーできませんでした。表示されているコードを選択してコピーしてください。",
+ "The ID key is derived from the current E2EE passphrase and saved separately. Changing that passphrase later does not change the saved ID key. To reduce the risk of guessing that passphrase from known IDs, use a separate, unpredictable ID source instead.":
+ "ID キーは現在の E2EE パスフレーズから導出され、別に保存されます。後からパスフレーズを変更しても、保存済みの ID キーは変わりません。既知の ID からパスフレーズを推測されるリスクを下げるには、別の推測されにくい ID の導出元を使用してください。",
+ "An ID source is required to enable this option.": "このオプションを有効にするには、ID の導出元が必要です。",
+ "The ID source or recovery code is invalid. Check it and try again.":
+ "ID の導出元または復旧コードが無効です。確認してもう一度お試しください。",
+ "Read normal-file Metadata and current conflicts locally and in CouchDB, then compare content for suspect groups. Choose original names or pseudonyms before starting.":
+ "ローカルと CouchDB の通常ファイルのメタデータおよび現在の競合を読み取り、問題が疑われる項目の内容を比較します。開始前に、元の名前を使うか仮名を使うか選択してください。",
+ Inspect: "調査",
+ "Inspect database integrity": "データベースの整合性を調査",
+ "Inspection completed. Review the findings and coverage before sharing.":
+ "調査が完了しました。共有する前に結果と調査範囲を確認してください。",
+ "Inspection partially completed. Some information could not be checked; review the reported reasons.":
+ "調査は一部のみ完了しました。確認できなかった情報があります。表示された理由を確認してください。",
+ "Inspection failed. The report records the available evidence and reasons.":
+ "調査に失敗しました。レポートには、取得できた証拠と失敗理由が記録されています。",
+ "Inspection cancelled. The report contains only the evidence collected so far.":
+ "調査をキャンセルしました。レポートには、ここまでに収集した証拠のみが含まれます。",
+ "Report copied.": "レポートをコピーしました。",
+ "Copy failed. Select the report text and copy it manually.":
+ "コピーに失敗しました。レポートのテキストを選択して手動でコピーしてください。",
+ "Download requested. You can also copy the report if downloads are unavailable on this device.":
+ "ダウンロードを要求しました。このデバイスでダウンロードできない場合は、レポートをコピーすることもできます。",
+ "Pseudonyms include a public salt, so guessed paths can be checked. Original names include private filenames. Reports omit file contents and credentials.":
+ "仮名には公開ソルトが含まれるため、推測したパスと照合できます。元の名前を選ぶと、非公開のファイル名が含まれます。どちらのレポートにもファイルの内容や認証情報は含まれません。",
+ "Read available local revisions and report their Chunk references. Settings are left unchanged.":
+ "利用可能なローカルリビジョンを読み取り、参照するチャンクをレポートします。設定は変更されません。",
+ "Inspect normal-file Metadata, current conflicts, and suspect content against the Vault. Remote inspection supports CouchDB. Older history is excluded; findings do not authorise deletion.":
+ "通常ファイルのメタデータ、現在の競合、問題が疑われる内容を Vault と照合します。リモートの調査は CouchDB に対応しています。古い履歴は対象外です。調査結果を根拠に削除が実行されることはありません。",
+ "Include remote database": "リモートデータベースを含める",
+ "Names in this report": "レポート内の名前",
+ "Pseudonyms (recommended)": "仮名(推奨)",
+ "Original names": "元の名前",
+ "Cancelling inspection…": "調査をキャンセルしています…",
+ "Items inspected": "調査した項目数",
+ "Cancel inspection": "調査をキャンセル",
+ "This report uses temporary pseudonyms. Counts and relationships remain visible.":
+ "このレポートでは一時的な仮名を使用します。件数や項目間の関係は表示されます。",
+ "This report contains original paths and identifiers. Review them before sharing.":
+ "このレポートには元のパスと識別子が含まれます。共有する前に内容を確認してください。",
+ "Partial Usage results are available as JSON so their coverage and reasons stay with the rows.":
+ "一部のみ取得できた使用状況の結果は JSON で出力できます。各行に調査範囲と理由が保持されます。",
+ "Report format": "レポート形式",
+ "Diagnostic report": "診断レポート",
+ "Copy report": "レポートをコピー",
+ "Save report": "レポートを保存",
+ "The inspection could not finish. Close this dialogue and try again after database startup.":
+ "調査を完了できませんでした。このダイアログを閉じ、データベースの起動後にもう一度お試しください。",
+ "Resume scheduled fetch?": "予約済みの取得を再開しますか?",
+ "Apply these saved choices to the current remote?\n\nCurrent remote: ${REMOTE}\n\n- ${STAGE1}\n- ${STAGE2}\n\nThe fetch flag may remain after an interruption or an incomplete cleanup. Continue only if this fetch is still intended.":
+ "保存済みの選択肢を現在のリモートに適用しますか?\n\n現在のリモート: ${REMOTE}\n\n- ${STAGE1}\n- ${STAGE2}\n\n中断や不完全なクリーンアップの後に取得フラグが残っている可能性があります。この取得を実行する意図がある場合にのみ続行してください。",
+ "Continue with these choices": "この選択肢で続行",
+ "Choose again": "選び直す",
+ "Saved fetch choices could not be read": "保存済みの取得設定を読み取れませんでした",
+ "The fetch flag does not contain one supported selection. Choose new options and continue with the current remote?\n\nCurrent remote: ${REMOTE}\n\nThe flag contents will remain unchanged. The new choices apply only to this attempt; another restart will ask again. Completing or cancelling the fetch removes the flag.":
+ "取得フラグに有効な選択肢が含まれていません。新しい選択肢を指定して、現在のリモートで続行しますか?\n\n現在のリモート: ${REMOTE}\n\nフラグの内容は変更されません。新しい選択肢は今回の試行にのみ適用され、再起動すると再度確認されます。取得を完了またはキャンセルすると、フラグは削除されます。",
+ "Choose new options and continue": "新しい選択肢を指定して続行",
+ "Batch database updates in LiveSync mode": "LiveSync モードでデータベース更新をバッチ処理",
+ "Wait for a bounded local quiet period before processing file updates in LiveSync mode, reducing intermediate database updates while delaying their reflection to remote devices.":
+ "LiveSync モードでは、ローカルでの更新が一定時間落ち着くまで待ってからファイル更新を処理します。これにより中間のデータベース更新を減らし、リモートデバイスへの反映を遅らせます。",
+ Apply: "適用",
+ Add: "追加",
+ Revert: "元に戻す",
+ "Vault history": "Vault 履歴",
+ "From:": "開始:",
+ "To:": "終了:",
+ "Info:": "情報:",
+ "To stop the countdown, tap anywhere on the dialogue":
+ "カウントダウンを停止するには、ダイアログの任意の場所をタップしてください",
+};
diff --git a/src/common/messages/combinedMessages.prod.ts b/src/common/messages/combinedMessages.prod.ts
index 79d537ff..dcf9475f 100644
--- a/src/common/messages/combinedMessages.prod.ts
+++ b/src/common/messages/combinedMessages.prod.ts
@@ -3,6 +3,7 @@ export const allMessages: Readonly Storage": {
def: "Database -> Storage",
es: "Base de datos -> Almacenamiento",
+ ja: "データベース → ストレージ",
ko: "데이터베이스 -> 스토리지",
ru: "База данных -> Файлы",
zh: "数据库 → 存储",
@@ -1439,6 +1536,7 @@ export const allMessages: Readonly ${remote})": {
def: "Higher (${local} > ${remote})",
es: "Superior (${local} > ${remote})",
+ ja: "高い (${local} > ${remote})",
ko: "더 높음 (${local} > ${remote})",
ru: "Больше (${local} > ${remote})",
zh: "较高(${local} > ${remote})",
@@ -2999,6 +3182,7 @@ export const allMessages: Readonly [!MORE]-\n> Si lo has estado utilizando durante muchos años, puede haber fragmentos no referenciados - es decir, basura - acumulándose en la base de datos. Por lo tanto, recomendamos reconstruir todo. Probablemente se volverá mucho más pequeño.\n>\n> Si el volumen de tu bóveda simplemente está aumentando, es mejor reconstruir todo después de organizar los archivos. Self-hosted LiveSync no elimina los datos reales incluso si los eliminas para acelerar el proceso. Está aproximadamente [documentado](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md).\n>\n> Si no te importa el aumento, puedes aumentar el límite de notificación en 100 MB. Este es el caso si lo estás ejecutando en tu propio servidor. Sin embargo, es mejor reconstruir todo de vez en cuando.\n>\n\n> [!WARNING]\n> Si realizas la reconstrucción completa, asegúrate de que todos los dispositivos estén sincronizados. El complemento fusionará tanto como sea posible, sin embargo.\n",
fr: "**Votre base de données grossit !** Pas d'inquiétude, nous pouvons y remédier dès maintenant, avant de manquer d'espace sur le stockage distant.\n\n| Taille mesurée | Taille configurée |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> Si vous l'utilisez depuis de nombreuses années, il peut y avoir des fragments non référencés — des déchets, en somme — accumulés dans la base. Nous recommandons donc de tout reconstruire. Cela réduira probablement beaucoup la taille.\n>\n> Si le volume de votre coffre augmente simplement, il est préférable de tout reconstruire après avoir organisé les fichiers. Self-hosted LiveSync ne supprime pas réellement les données même si vous les effacez, afin d'accélérer le processus. Ceci est documenté grossièrement [ici](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md).\n>\n> Si cela ne vous dérange pas, vous pouvez augmenter la limite de notification de 100 Mo. C'est le cas si vous l'exécutez sur votre propre serveur. Il reste toutefois préférable de tout reconstruire de temps en temps.\n>\n\n> [!WARNING]\n> Si vous tout reconstruisez, assurez-vous que tous les appareils sont synchronisés. Le plug-in fusionnera autant que possible cependant.\n",
he: "**מסד הנתונים שלך הולך וגדל!** אל תדאג, אנחנו יכולים לטפל בזה עכשיו. הזמן שנשאר עד לאזול המקום באחסון המרוחק.\n\n| גודל נמדד | גודל מוגדר |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> אם אתה משתמש בפלאגין כבר שנים רבות, ייתכן שנצברו נתחים לא מקושרים — כלומר, זבל — במסד הנתונים. לכן, אנו ממליצים לבנות הכל מחדש. ככל הנראה מסד הנתונים יהיה קטן בהרבה לאחר מכן.\n>\n> אם נפח הכספת שלך פשוט גדל, עדיף לבנות מחדש לאחר ארגון הקבצים. Self-hosted LiveSync אינו מוחק נתונים בפועל גם כאשר אתה מוחק קבצים כדי להאיץ את התהליך. הדבר [מתועד בפירוט](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md).\n>\n> אם אינך מוטרד מהגידול, ניתן להגדיל את סף ההתראה ב-100MB. הדבר מתאים אם השרת הוא שלך. עם זאת, מומלץ לבנות מחדש מעת לעת.\n>\n\n> [!WARNING]\n> אם תבנה מחדש, ודא שכל המכשירים מסונכרנים. הפלאגין ינסה למזג כמה שניתן.\n",
- ja: "**データベースが大きくなっています!** でも心配しないでください。リモートストレージの容量が不足する前に対応できます。\n\n| 測定サイズ | 設定サイズ |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 長年使用している場合、参照されていないチャンク(つまりゴミ)がデータベースに蓄積している可能性があります。そのため、すべてを再構築することをお勧めします。おそらくかなり小さくなるでしょう。\n>\n> 単純に保管庫の容量が増えている場合は、事前にファイルを整理してからすべてを再構築するのが良いでしょう。Self-hosted LiveSyncは処理速度を上げるため、削除しても実際のデータを削除しません。これはおおまかに[documentation](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)に記載されています。\n>\n> 増加を気にしない場合は、通知制限を100MB単位で増やすことができます。これは自分のサーバーで実行している場合に適しています。ただし、定期的にすべてを再構築する方が良いでしょう。\n>\n\n> [!WARNING]\n> すべてを再構築する場合は、すべてのデバイスが同期されていることを確認してください。もちろん、プラグインは可能な限り解決しようと努力はしますけど...\n",
+ ja: "**データベースが増加しています。** リモートストレージの容量が不足する前に対処できます。\n\n| 測定サイズ | 設定サイズ |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> Vault を長年使用している場合、参照されていないチャンクがデータベース内に蓄積している可能性があります。データベースを再構築することで、この未使用データを削除してサイズを大幅に削減できる可能性があります。\n>\n> 単純に Vault の容量自体が増加している場合は、データベースを再構築する前にファイルを整理してください。削除処理を高速に保つため、Self-hosted LiveSync は削除されたデータを即座には消去しません。詳細は[技術ドキュメント](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)を参照してください。\n>\n> 容量の増加に問題がなければ、通知制限を 100 MB 単位で引き上げられます。自前でサーバーを運用している場合に適していますが、定期的な再構築をおすすめします。\n>\n\n> [!WARNING]\n> すべてを再構築する前に、すべてのデバイスが同期されていることを確認してください。プラグインは可能な限り変更内容をマージします。\n",
ko: "**데이터베이스 용량이 점점 커지고 있습니다!** 하지만 걱정하지 마세요. 지금 대응할 수 있습니다. 원격 스토리지 공간이 부족해지기까지 남은 시간입니다.\n\n| 측정된 크기 | 설정된 한도 |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 오랜 기간 사용했다면 참조되지 않는 청크, 즉 쓰레기 데이터가 데이터베이스에 쌓였을 수 있습니다. 이 경우 전체 재구축을 권장합니다. 용량이 훨씬 줄어들 것입니다.\n>\n> 단순히 보관함 용량이 커지고 있는 것이라면, 파일을 정리한 뒤에 전체를 재구축하는 것이 좋습니다. Self-hosted LiveSync는 처리 속도를 위해 파일을 삭제해도 실제 데이터를 바로 지우지 않습니다. 이 내용은 [기술 문서](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)에 간략히 정리되어 있습니다.\n>\n> 용량 증가가 괜찮다면 알림 한도를 100MB 단위로 높일 수 있습니다. 직접 서버를 운영하는 경우에 적합한 방법입니다. 다만 가끔은 전체를 재구축해 주는 것이 좋습니다.\n>\n\n> [!WARNING]\n> 전체 재구축을 실행할 때는 모든 기기가 동기화되어 있는지 확인해 주세요. 플러그인이 최대한 병합하려고 시도하기는 합니다.\n",
ru: "**Ваша база данных увеличивается!** Но не волнуйтесь, мы можем решить это сейчас. Это время до того, как на удалённом хранилище закончится место.\n\n| Измеренный размер | Заданный размер |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> Если вы пользуетесь плагином много лет, в базе данных могли накопиться чанки без ссылок — то есть мусор. Поэтому мы рекомендуем перестроить всё. Вероятно, база станет намного меньше.\n>\n> Если объём вашего хранилища просто растёт, лучше перестроить всё после наведения порядка в файлах. Self-hosted LiveSync не удаляет сами данные, даже если вы их удалили, — так работа идёт быстрее. Это в общих чертах [описано в документации](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md).\n>\n> Если рост вас не смущает, вы можете увеличить порог уведомления на 100 МБ. Так стоит делать, если вы работаете на своём сервере. Но время от времени всё же лучше перестраивать всё.\n>\n\n> [!WARNING]\n> Если вы перестраиваете всё, убедитесь, что все устройства синхронизированы. Впрочем, плагин объединит столько, сколько сможет.\n",
zh: "**您的数据库正在变大!** 但别担心,我们现在可以解决它。在远程存储空间用完之前还有时间。\n\n| 测量大小 | 配置大小 |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 如果您已经使用了很多年,数据库中可能会积累未引用的 chunks——也就是垃圾。因此,我们建议重建所有内容。它可能会变得小得多。\n>\n> 如果您的库容量只是在增加,最好在整理文件后重建所有内容。即使您为了加速过程删除了文件,Self-hosted LiveSync 也不会删除实际数据。这大致[有文档记录](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)。\n>\n> 如果您不介意增加,可以将通知限制增加 100MB。如果您在自己的服务器上运行,就是这种情况。但是,最好还是不时地重建所有内容。\n>\n\n> [!WARNING]\n> 如果您执行重建所有内容,请确保所有设备都已同步。尽管如此,插件会尽可能地合并\n",
@@ -4541,7 +4794,7 @@ export const allMessages: Readonly [!MORE]-\n> - 0: No advertir sobre el tamaño del almacenamiento.\n> Esto es recomendado si tienes suficiente espacio en el almacenamiento remoto, especialmente si lo tienes autoalojado. Y puedes comprobar el tamaño del almacenamiento y reconstruir manualmente.\n> - 800: Advertir si el tamaño del almacenamiento remoto supera los 800 MB.\n> Esto es recomendado si estás usando fly.io con un límite de 1 GB o IBM Cloudant.\n> - 2000: Advertir si el tamaño del almacenamiento remoto supera los 2 GB.\n\nSi hemos alcanzado el límite, se nos pedirá que aumentemos el límite paso a paso.\n",
fr: "Nous pouvons définir un avertissement de capacité maximale de la base de données, **afin d'agir avant de manquer d'espace sur le stockage distant**.\nVoulez-vous activer ceci ?\n\n> [!MORE]-\n> - 0 : Ne pas avertir sur la taille de stockage.\n> Recommandé si vous avez suffisamment d'espace sur le stockage distant, surtout en auto-hébergement. Vous pouvez vérifier la taille et reconstruire manuellement.\n> - 800 : Avertir si la taille du stockage distant dépasse 800 Mo.\n> Recommandé si vous utilisez fly.io avec une limite de 1 Go ou IBM Cloudant.\n> - 2000 : Avertir si la taille du stockage distant dépasse 2 Go.\n\nSi la limite est atteinte, il nous sera proposé de l'augmenter étape par étape.\n",
he: "ניתן להגדיר אזהרת קיבולת מקסימלית של מסד הנתונים, **כדי לנקוט פעולה לפני שנגמר המקום באחסון המרוחד**.\nהאם להפעיל זאת?\n\n> [!MORE]-\n> - 0: אל תזהיר על גודל האחסון.\n> מומלץ אם יש לך מספיק מקום באחסון המרוחד, בעיקר אם השרת הוא שלך. ניתן לבדוק את גודל האחסון ולבנות מחדש ידנית.\n> - 800: הזהר אם גודל האחסון המרוחד עולה על 800MB.\n> מומלץ אם אתה משתמש ב-fly.io עם מגבלת 1GB או ב-IBM Cloudant.\n> - 2000: הזהר אם גודל האחסון המרוחד עולה על 2GB.\n\nאם הגענו למגבלה, תתבקש להרחיב את הסף בהדרגה.\n",
- ja: "リモートストレージの容量が不足する前に対策を講じるため、**最大データベース容量の警告**を設定できます。\nこれを有効にしますか?\n\n> [!MORE]-\n> - 0: ストレージサイズについて警告しない。\n> 自宅サーバーなど、リモートストレージに十分な容量がある場合に推奨されます。ストレージサイズを確認し、手動で再構築できます。\n> - 800: リモートストレージサイズが800MBを超えたら警告。\n> 1GB制限のfly.ioやIBM Cloudantを使用している場合に推奨されます。\n> - 2000: リモートストレージサイズが2GBを超えたら警告。\n\n制限に達した場合、段階的に制限を増やすよう求められます。\n",
+ ja: "リモートストレージの容量が不足する前に対策を講じるため、**最大データベース容量の警告**を設定できます。\nこれを有効にしますか?\n\n> [!MORE]-\n> - 0: ストレージサイズに関する警告は行いません。\n> 自宅サーバーなど、リモートストレージに十分な容量がある場合に推奨されます。ストレージサイズを確認し、手動で再構築できます。\n> - 800: リモートストレージサイズが800MBを超えた場合に警告します。\n> 1GB制限のfly.ioやIBM Cloudantを使用している場合に推奨されます。\n> - 2000: リモートストレージサイズが2GBを超えた場合に警告します。\n\n制限に達した場合、段階的に制限を増やすよう求められます。\n",
ko: "**원격 스토리지 공간이 부족해지기 전에 미리 조치할 수 있도록** 데이터베이스 용량 경고를 설정할 수 있습니다.\n이 기능을 활성화하시겠습니까?\n\n> [!MORE]-\n> - 0: 스토리지 용량을 경고하지 않습니다.\n> 직접 서버를 운영하는 등 원격 스토리지에 여유 공간이 충분한 경우에 권장합니다. 스토리지 용량을 직접 확인하고 수동으로 재구축할 수 있습니다.\n> - 800: 원격 스토리지 용량이 800MB를 초과하면 경고합니다.\n> 1GB 제한이 있는 fly.io나 IBM Cloudant를 사용하는 경우에 권장합니다.\n> - 2000: 원격 스토리지 용량이 2GB를 초과하면 경고합니다.\n\n한도에 도달하면 한도를 단계적으로 늘릴지 여쭤보겠습니다.\n",
ru: "Можно установить предупреждение о максимальной ёмкости базы данных.",
zh: "我们可以设置一个最大数据库容量警告,**以便在远程存储空间耗尽前采取行动**。\n您想启用这个功能吗?\n\n> [!MORE]-\n> - 0: 不警告存储大小。\n> 如果您在远程存储(尤其是自托管)上有足够的空间,则推荐此选项。您可以手动检查存储大小并重建。\n> - 800: 如果远程存储大小超过 800MB 则发出警告。\n> 如果您使用的是 fly.io(1GB 限制) 或 IBM Cloudant,则推荐此选项。\n> - 2000: 如果远程存储大小超过 2GB 则发出警告。\n\n如果达到限制,系统会要求我们逐步增大限制\n",
@@ -4551,6 +4804,7 @@ export const allMessages: Readonly [!DETAILS]-\n> Estas banderas son establecidas por el complemento mientras se reconstruye o se obtiene. Si el proceso termina de forma anormal, puede mantenerse sin querer.\n> Si no estás seguro puedes intentar volver a ejecutar estos procesos. Asegúrate de hacer una copia de seguridad de tu bóveda.\n",
fr: "Self-hosted LiveSync a été configuré pour ignorer certains événements. Est-ce correct ?\n\n| Type | Statut | Note |\n|:---:|:---:|---|\n| Événements de stockage | ${fileWatchingStatus} | Toute modification sera ignorée |\n| Événements de base | ${parseReplicationStatus} | Tout changement synchronisé sera reporté |\n\nVoulez-vous les reprendre et redémarrer Obsidian ?\n\n> [!DETAILS]-\n> Ces indicateurs sont définis par le plug-in lors d'une reconstruction ou d'une récupération. Si le processus se termine anormalement, ils peuvent rester activés involontairement.\n> Si vous n'êtes pas certain, vous pouvez relancer ces processus. Veillez à sauvegarder votre coffre.\n",
he: "Self-hosted LiveSync הוגדר להתעלם מאירועים מסוימים. האם זה נכון?\n\n| סוג | סטטוס | הערה |\n|:---:|:---:|---|\n| אירועי אחסון | ${fileWatchingStatus} | כל שינוי יתעלם |\n| אירועי מסד נתונים | ${parseReplicationStatus} | כל שינוי מסונכרן יידחה |\n\nהאם לחדש אותם ולהפעיל מחדש את Obsidian?\n\n> [!DETAILS]-\n> דגלים אלה מוגדרים על ידי הפלאגין במהלך בנייה מחדש או משיכה. אם התהליך הסתיים בצורה לא תקינה, ייתכן שהם נשארו כלא מכוון.\n> אם אינך בטוח, ניתן לנסות להריץ מחדש את התהליכים. ודא שיש לך גיבוי של הכספת.\n",
- ja: "Self-hosted LiveSyncは一部のイベントを無視するように設定されています。これは正しいですか?\n\n| タイプ | ステータス | メモ |\n|:---:|:---:|---|\n| ストレージイベント | ${fileWatchingStatus} | すべての変更が無視されます |\n| データベースイベント | ${parseReplicationStatus} | すべての同期された変更が延期されます |\n\nこれらを再開してObsidianを再起動しますか?\n\n> [!DETAILS]-\n> これらのフラグは、プラグインが再構築またはフェッチ中に設定されます。プロセスが異常終了した場合、意図せず保持されることがあります。\n> 不明な場合は、これらのプロセスを再実行してみてください。必ず保管庫をバックアップしてください。\n",
+ ja: "Self-hosted LiveSync は一部のイベントを無視または保留するように設定されています。これは意図した設定ですか?\n\n| タイプ | ステータス | メモ |\n|:---:|:---:|---|\n| ストレージイベント | ${fileWatchingStatus} | すべての変更が無視されます |\n| データベースイベント | ${parseReplicationStatus} | すべての同期済みの変更が保留されます |\n\nこれらのイベントの処理を再開して Obsidian を再起動しますか?\n\n> [!DETAILS]-\n> これらのフラグは、再構築または取得(Fetch)の処理中にプラグインによって設定されます。プロセスが予期せず終了した場合、フラグが残ったままになることがあります。\n> 判断に迷う場合は、Vault をバックアップした上で、該当の操作を再実行してください。\n",
ko: "Self-hosted LiveSync가 일부 이벤트를 무시하도록 설정되어 있습니다. 이 설정이 맞습니까?\n\n| 유형 | 상태 | 설명 |\n|:---:|:---:|---|\n| 스토리지 이벤트 | ${fileWatchingStatus} | 모든 수정 사항이 무시됩니다 |\n| 데이터베이스 이벤트 | ${parseReplicationStatus} | 모든 동기화 변경이 지연됩니다 |\n\n이벤트 감지를 다시 활성화하고 Obsidian을 재시작하시겠습니까?\n\n> [!DETAILS]-\n> 이 플래그는 플러그인이 재구축하거나 가져오는 동안 설정한 것입니다. 처리가 비정상적으로 종료되면 의도치 않게 남아 있을 수 있습니다.\n> 확실하지 않다면 해당 처리를 다시 실행해 보세요. 반드시 보관함을 백업해 두시기 바랍니다.\n",
ru: "Self-hosted LiveSync настроен игнорировать некоторые события. Это верно?\n\n| Тип | Статус | Примечание |\n|:---:|:---:|---|\n| События хранилища | ${fileWatchingStatus} | Любое изменение будет проигнорировано |\n| События базы данных | ${parseReplicationStatus} | Любое синхронизированное изменение будет отложено |\n\nВозобновить их и перезапустить Obsidian?\n\n> [!DETAILS]-\n> Эти флаги устанавливает плагин во время перестроения или загрузки. Если процесс завершится аварийно, они могут остаться включёнными непреднамеренно.\n> Если вы не уверены, попробуйте выполнить эти процессы заново. Обязательно сделайте резервную копию хранилища.\n",
zh: "Self-hosted LiveSync 已被配置为忽略某些事件。这样对吗?\n\n| 类型 | 状态 | 说明 |\n|:---:|:---:|---|\n| 存储事件 | ${fileWatchingStatus} | 所有修改都将被忽略 |\n| 数据库事件 | ${parseReplicationStatus} | 所有同步的更改都将被推迟 |\n\n您想恢复它们并重启 Obsidian 吗?\n\n> [!DETAILS]-\n> 这些标志是在重建或获取时由插件设置的。如果过程异常结束,它们可能会被无意中保留。\n> 如果您不确定,可以尝试重新运行这些过程。请确保备份您的库。\n",
@@ -4872,6 +5128,7 @@ export const allMessages: Readonly\nLegendas\n\n| Símbolo | Significado |\n|: ------ :| ------- |\n| ⇔ | Actualizado |\n| ⇄ | Sincronizar para equilibrar |\n| ⇐,⇒ | Transferir para sobrescribir |\n| ⇠,⇢ | Transferir para sobrescribir desde otro lado |\n\n\n\n## ${OPTION_REBUILD_BOTH}\nA simple vista: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nReconstruir tanto la base de datos local como la remota utilizando los archivos existentes de este dispositivo.\nEsto bloquea a otros dispositivos, y necesitan realizar la obtención.\n## ${OPTION_FETCH}\nA simple vista: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nInicializa la base de datos local y la reconstruye utilizando los datos obtenidos de la base de datos remota.\nEste caso incluye el caso en el que has reconstruido la base de datos remota.\n## ${OPTION_ONLY_SETTING}\nAlmacena solo la configuración. **Precaución: esto puede provocar corrupción de datos**; generalmente es necesario reconstruir la base de datos.",
fr: "La reconstruction des bases de données est nécessaire pour appliquer les changements. Veuillez sélectionner la méthode d'application.\n\n\nLégende\n\n| Symbole | Signification |\n|: ------ :| ------- |\n| ⇔ | À jour |\n| ⇄ | Synchroniser pour équilibrer |\n| ⇐,⇒ | Transférer pour écraser |\n| ⇠,⇢ | Transférer pour écraser depuis l'autre côté |\n\n\n\n## ${OPTION_REBUILD_BOTH}\nEn bref : 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nReconstruit les bases locale et distante à partir des fichiers existants de cet appareil.\nCeci provoque un verrouillage des autres appareils, qui devront effectuer une récupération.\n## ${OPTION_FETCH}\nEn bref : 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nInitialise la base locale et la reconstruit à partir des données récupérées depuis la base distante.\nCe cas inclut également celui où vous avez reconstruit la base distante.\n## ${OPTION_ONLY_SETTING}\nNe stocker que les paramètres. **Attention : cela peut entraîner une corruption des données** ; une reconstruction de la base est généralement nécessaire.",
he: "נדרשת בנייה מחדש של מסדי הנתונים כדי להחיל את השינויים. אנא בחר את השיטה.\n\n\nמקרא\n\n| סמל | משמעות |\n|: ------ :| ------- |\n| ⇔ | מעודכן |\n| ⇄ | סנכרן לאיזון |\n| ⇐,⇒ | העבר לדריסה |\n| ⇠,⇢ | העבר לדריסה מהצד השני |\n\n\n\n## ${OPTION_REBUILD_BOTH}\nבמבט: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nבנה מחדש גם את מסד הנתונים המקומי וגם המרוחד תוך שימוש בקבצים קיימים ממכשיר זה.\nפעולה זו תנעל מכשירים אחרים שיצטרכו לבצע משיכה.\n## ${OPTION_FETCH}\nבמבט: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nאתחל את מסד הנתונים המקומי ובנה אותו מחדש תוך שימוש בנתונים שנמשכו ממסד הנתונים המרוחד.\nכולל את המקרה שבו בנית מחדש את מסד הנתונים המרוחד.\n## ${OPTION_ONLY_SETTING}\nשמור רק את ההגדרות. **זהירות: עלול לגרום לפגיעה בנתונים**; בנייה מחדש של מסד הנתונים נדרשת בדרך כלל.",
- ja: "変更を適用するにはデータベースの再構築が必要です。変更を適用する方法を選択してください。\n\n\n凡例\n\n| 記号 | 意味 |\n|: ------ :| ------- |\n| ⇔ | 最新 |\n| ⇄ | 同期してバランスを取る |\n| ⇐,⇒ | 上書きするため転送 |\n| ⇠,⇢ | 反対側から上書きするため転送 |\n\n\n\n## ${OPTION_REBUILD_BOTH}\n概要: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nこのデバイスの既存ファイルを使用してローカルとリモートの両方のデータベースを再構築します。\n他のデバイスはロックアウトされ、フェッチが必要です。\n## ${OPTION_FETCH}\n概要: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nローカルデータベースを初期化し、リモートデータベースから取得したデータを使用して再構築します。\nリモートデータベースを再構築した場合も含まれます。\n## ${OPTION_ONLY_SETTING}\n設定のみを保存します。**注意: データ破損につながる可能性があります**。通常、データベースの再構築が必要です。",
+ ja: "変更を適用するにはデータベースの再構築が必要です。変更を適用する方法を選択してください。\n\n\n凡例\n\n| 記号 | 意味 |\n|: ------ :| ------- |\n| ⇔ | 最新 |\n| ⇄ | 同期してバランスを取る |\n| ⇐,⇒ | 上書きするため転送 |\n| ⇠,⇢ | 反対側から上書きするため転送 |\n\n\n\n## ${OPTION_REBUILD_BOTH}\n概要: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nこのデバイスの既存ファイルを使用してローカルとリモートの両方のデータベースを再構築します。\n他のデバイスはロックされ、データの再取得(Fetch)が必要になります。\n## ${OPTION_FETCH}\n概要: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nローカルデータベースを初期化し、リモートデータベースから取得したデータを使用して再構築します。\nすでにリモートデータベースを再構築している場合は、この方法を選択してください。\n## ${OPTION_ONLY_SETTING}\n設定のみを適用します。**注意: データが破損するおそれがあります**。通常はデータベースの再構築が必要です。",
ko: "변경 사항을 적용하려면 데이터베이스를 재구축해야 합니다. 변경 사항을 적용할 방법을 선택해 주세요.\n\n\n범례\n\n| 기호 | 의미 |\n|: ------ :| ------- |\n| ⇔ | 최신 상태 |\n| ⇄ | 양쪽을 맞추는 동기화 |\n| ⇐,⇒ | 덮어쓰기 전송 |\n| ⇠,⇢ | 반대편에서 덮어쓰기 전송 |\n\n\n\n## ${OPTION_REBUILD_BOTH}\n한눈에 보기: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\n이 기기의 기존 파일을 사용해 로컬과 원격 데이터베이스를 모두 재구축합니다.\n이 경우 다른 기기는 잠기며, 가져오기를 수행해야 합니다.\n## ${OPTION_FETCH}\n한눈에 보기: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\n로컬 데이터베이스를 초기화한 뒤, 원격 데이터베이스에서 가져온 데이터로 재구축합니다.\n원격 데이터베이스를 이미 재구축한 경우도 여기에 해당합니다.\n## ${OPTION_ONLY_SETTING}\n설정만 저장합니다. **주의: 데이터가 손상될 수 있습니다.** 일반적으로는 데이터베이스 재구축이 필요합니다.",
ru: "Требуется перестроение баз данных для применения изменений. Выберите способ применения изменений.\n\n\nОбозначения\n\n| Символ | Значение |\n|: ------ :| ------- |\n| ⇔ | Актуально |\n| ⇄ | Синхронизация для выравнивания |\n| ⇐,⇒ | Передача с перезаписью |\n| ⇠,⇢ | Передача с перезаписью с другой стороны |\n\n\n\n## ${OPTION_REBUILD_BOTH}\nКоротко: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nПерестроить локальную и удалённую базы данных по файлам, которые уже есть на этом устройстве.\nДругие устройства будут заблокированы, им потребуется загрузка с удалённого.\n## ${OPTION_FETCH}\nКоротко: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nОчистить локальную базу данных и построить её заново по данным, загруженным из удалённой базы данных.\nЭтот вариант подходит и тогда, когда вы перестроили удалённую базу данных.\n## ${OPTION_ONLY_SETTING}\nСохранить только настройки. **Внимание: это может привести к повреждению данных**; обычно перестроение базы данных необходимо.",
zh: "需要重建数据库以应用更改。请选择应用更改的方法。\n\n\n图例\n\n| 符号 | 含义 |\n|: ------ :| ------- |\n| ⇔ | 最新 |\n| ⇄ | 同步以平衡 |\n| ⇐,⇒ | 传输以覆盖 |\n| ⇠,⇢ | 从另一侧传输以覆盖 |\n\n\n\n## ${OPTION_REBUILD_BOTH}\n概览:📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\n使用此设备的现有文件重建本地和远程数据库。\n这将导致其他设备被锁定,并且它们需要执行获取操作。\n## ${OPTION_FETCH}\n概览:📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\n初始化本地数据库并使用从远程数据库获取的数据重建它。\n这种情况包括您已经重建了远程数据库的情况。\n## ${OPTION_ONLY_SETTING}\n仅存储设置。**注意:这可能导致数据损坏**;通常需要重建数据库",
@@ -6565,7 +6841,7 @@ export const allMessages: Readonly[!INFO]- Detalles\n> ## Crear una base de datos local antes de obtener los datos.\n> **Poco tráfico**, **mucha CPU**, **riesgo bajo**\n> Esta opción crea primero una base de datos local a partir de los archivos locales existentes antes de obtener los datos del remoto.\n> Si un archivo existe tanto en local como en remoto, solo se transferirán las diferencias.\n> Sin embargo, los archivos presentes en ambos sitios se tratarán inicialmente como archivos en conflicto. Se resolverán automáticamente si en realidad no lo están, pero el proceso puede tardar.\n> En general es el método más seguro y el que menos riesgo de pérdida de datos conlleva.\n> ## Crear los chunks de los archivos locales antes de obtener los datos.\n> **Poco tráfico**, **CPU moderada**, **riesgo bajo o moderado** (según la operación)\n> Esta opción crea primero los chunks de los archivos locales para la base de datos y después obtiene los datos. Así solo se transfieren los chunks que faltan en local. Aun así, todos los metadatos se toman del remoto.\n> Al iniciar, los archivos locales se comparan con esos metadatos. El contenido considerado más reciente sobrescribirá al más antiguo (según la fecha de modificación) y el resultado se sincroniza de vuelta a la base de datos remota.\n> Es seguro si los archivos locales son realmente los de fecha más reciente, pero puede dar problemas si un archivo tiene una fecha más nueva y un contenido más antiguo (como el `welcome.md` inicial).\n> Usa menos CPU y es más rápido que «Crear una base de datos local antes de obtener los datos», pero puede provocar pérdida de datos si no se usa con cuidado.\n> ## Obtener todo del remoto.\n> **Mucho tráfico**, **poca CPU**, **riesgo bajo o moderado** (según la operación)\n> Se obtiene todo del remoto.\n> Similar a Crear los chunks de los archivos locales antes de obtener los datos, pero todos los chunks se descargan del remoto.\n> Es la forma más tradicional de obtener los datos y normalmente la que más tráfico y tiempo consume. Conlleva un riesgo de sobrescribir archivos remotos parecido al de «Crear los chunks de los archivos locales antes de obtener los datos».\n> Aun así, suele considerarse el método más estable, por ser el más antiguo y directo.",
fr: "Comment voulez-vous récupérer ?\n- Créer une base locale avant de récupérer.\n **Trafic faible**, **CPU élevé**, **Risque faible**\n Recommandé si ...\n - Fichiers possiblement incohérents\n - Fichiers peu nombreux\n- Créer des fragments de fichiers locaux avant de récupérer.\n **Trafic faible**, **CPU modéré**, **Risque faible à modéré**\n Recommandé si ...\n - Fichiers probablement cohérents\n - Vous avez beaucoup de fichiers.\n- Tout récupérer depuis le distant.\n **Trafic élevé**, **CPU faible**, **Risque faible à modéré**\n\n>[!INFO]- Détails\n> ## Créer une base locale avant de récupérer.\n> **Trafic faible**, **CPU élevé**, **Risque faible**\n> Cette option crée d'abord une base locale à partir des fichiers locaux existants avant de récupérer les données depuis la source distante.\n> Si des fichiers correspondants existent à la fois localement et à distance, seules les différences entre eux seront transférées.\n> Toutefois, les fichiers présents aux deux emplacements seront initialement traités comme en conflit. Ils seront résolus automatiquement s'ils ne le sont pas réellement, mais ce processus peut prendre du temps.\n> C'est généralement la méthode la plus sûre, minimisant le risque de perte de données.\n> ## Créer des fragments de fichiers locaux avant de récupérer.\n> **Trafic faible**, **CPU modéré**, **Risque faible à modéré** (selon l'opération)\n> Cette option crée d'abord des fragments à partir des fichiers locaux pour la base, puis récupère les données. Par conséquent, seuls les fragments manquants localement sont transférés. Cependant, toutes les métadonnées sont prises de la source distante.\n> Les fichiers locaux sont ensuite comparés à ces métadonnées au lancement. Le contenu considéré comme plus récent écrasera le plus ancien (selon la date de modification). Le résultat est ensuite synchronisé vers la base distante.\n> C'est généralement sûr si les fichiers locaux ont bien l'horodatage le plus récent. Cela peut toutefois poser problème si un fichier a un horodatage plus récent mais un contenu plus ancien (comme le `welcome.md` initial).\n> Cette méthode utilise moins de CPU et est plus rapide que « Créer une base locale avant de récupérer », mais peut entraîner une perte de données si elle n'est pas utilisée avec précaution.\n> ## Tout récupérer depuis le distant.\n> **Trafic élevé**, **CPU faible**, **Risque faible à modéré** (selon l'opération)\n> Tout sera récupéré depuis le distant.\n> Similaire à Créer des fragments de fichiers locaux avant de récupérer, mais tous les fragments sont récupérés depuis la source distante.\n> C'est la façon la plus traditionnelle de récupérer, consommant généralement le plus de trafic réseau et de temps. Elle comporte également un risque similaire d'écraser les fichiers distants à l'option « Créer des fragments de fichiers locaux avant de récupérer ».\n> Elle est toutefois souvent considérée comme la méthode la plus stable car c'est la plus ancienne et la plus directe.",
he: 'כיצד ברצונך למשוך?\n- צור מסד נתונים מקומי לפני המשיכה.\n **תעבורה נמוכה**, **מעבד גבוה**, **סיכון נמוך**\n מומלץ אם...\n - קבצים עשויים להיות לא עקביים\n - אין הרבה קבצים\n- צור נתחי קבצים מקומיים לפני המשיכה.\n **תעבורה נמוכה**, **מעבד בינוני**, **סיכון נמוך עד בינוני**\n מומלץ אם...\n - הקבצים ככל הנראה עקביים\n - יש לך הרבה קבצים.\n- משוך הכל מהשרת המרוחד.\n **תעבורה גבוהה**, **מעבד נמוך**, **סיכון נמוך עד בינוני**\n\n>[!INFO]- פרטים\n> ## צור מסד נתונים מקומי לפני המשיכה.\n> **תעבורה נמוכה**, **מעבד גבוה**, **סיכון נמוך**\n> אפשרות זו יוצרת תחילה מסד נתונים מקומי תוך שימוש בקבצים מקומיים קיימים לפני משיכת נתונים מהמקור המרוחד.\n> אם קיימים קבצים תואמים גם מקומית וגם מרחוק, רק ההפרשים ביניהם יועברו.\n> עם זאת, קבצים הקיימים בשני המקומות יטופלו תחילה כקבצים מתנגשים. הם ייפתרו אוטומטית אם לא מתנגשים בפועל, אך תהליך זה עשוי לקחת זמן.\n> זוהי בדרך כלל השיטה הבטוחה ביותר, ממזערת סיכון לאובדן נתונים.\n> ## צור נתחי קבצים מקומיים לפני המשיכה.\n> **תעבורה נמוכה**, **מעבד בינוני**, **סיכון נמוך עד בינוני** (תלוי בפעולה)\n> אפשרות זו יוצרת תחילה נתחים מקבצים מקומיים למסד הנתונים, ואז מושכת נתונים. כתוצאה מכך, רק נתחים חסרים מקומית מועברים. עם זאת, כל המטה-נתונים נלקחים מהמקור המרוחד.\n> קבצים מקומיים נבדקים לאחר מכן מול מטה-נתונים אלה בעת ההפעלה. התוכן שנחשב חדש יותר ידרוס את הישן יותר (לפי זמן שינוי).\n> בדרך כלל בטוח אם הקבצים המקומיים הם אכן חדשים ביותר. עם זאת, עלול לגרום לבעיות אם לקובץ יש חותמת זמן חדשה יותר אך תוכן ישן יותר (כמו `welcome.md` ראשוני).\n> שיטה זו משתמשת בפחות מעבד ומהירה יותר מ-"צור מסד נתונים מקומי לפני המשיכה", אך עלולה להוביל לאובדן נתונים אם לא משתמשים בה בזהירות.\n> ## משוך הכל מהשרת המרוחד.\n> **תעבורה גבוהה**, **מעבד נמוך**, **סיכון נמוך עד בינוני** (תלוי בפעולה)\n> הכל יימשך מהשרת המרוחד.\n> דומה ל-צור נתחי קבצים מקומיים לפני המשיכה, אך כל הנתחים נמשכים מהמקור המרוחד.\n> זוהי הדרך המסורתית ביותר למשיכה, צורכת בדרך כלל את רוב תעבורת הרשת והזמן.\n> עם זאת, היא נחשבת לעתים קרובות לשיטה היציבה ביותר מכיוון שהיא הוותיקה והישירה ביותר.',
- ja: "どのようにフェッチしますか?\n- フェッチ前にローカルデータベースを作成\n **低トラフィック**, **高CPU負荷**, **低リスク**\n 推奨条件...\n - ファイルの整合性に不安がある\n - ファイル数がそれほど多くない\n- フェッチ前にローカルファイルチャンクを作成\n **低トラフィック**, **中程CPU負荷**, **低~中リスク**\n 推奨条件...\n - ファイルがおそらく整合している\n - ファイル数が多い\n- リモートからすべてをフェッチ\n **高トラフィック**, **低CPU負荷**, **低~中リスク**\n\n>[!INFO]- 詳細\n> ## フェッチ前にローカルデータベースを作成\n> **低トラフィック**, **高CPU負荷**, **低リスク**\n> このオプションは、リモートからデータをフェッチする前に、既存のローカルファイルを使用してローカルデータベースを作成します。\n> ローカルとリモートの両方に一致するファイルがある場合、差分のみが転送されます。\n> ただし、両方の場所に存在するファイルは最初は競合ファイルとして処理されます。実際に競合していなければ自動的に解決されますが、この処理には時間がかかる場合があります。\n> これは一般的に最も安全な方法で、データ損失のリスクを最小限に抑えます。\n> ## フェッチ前にローカルファイルチャンクを作成\n> **低トラフィック**, **中程CPU負荷**, **低~中リスク**(操作による)\n> このオプションは、最初にローカルファイルからデータベース用のチャンクを作成し、その後データをフェッチします。そのため、ローカルにないチャンクのみが転送されます。ただし、すべてのメタデータはリモートから取得されます。\n> ローカルファイルは起動時にこのメタデータと比較されます。新しいと判断されたコンテンツ(更新日時による)が古いものを上書きします。この結果はリモートデータベースに同期されます。\n> ローカルファイルが本当に最新のタイムスタンプであれば一般的に安全です。ただし、ファイルのタイムスタンプが新しくてもコンテンツが古い場合(初期の`welcome.md`など)は問題が発生する可能性があります。\n> これは\"フェッチ前にローカルデータベースを作成\"よりCPU使用量が少なく高速ですが、注意しないとデータ損失につながる可能性があります。\n> ## リモートからすべてをフェッチ\n> **高トラフィック**, **低CPU負荷**, **低~中リスク**(操作による)\n> すべてのデータがリモートからフェッチされます。\n> フェッチ前にローカルファイルチャンクを作成と似ていますが、すべてのチャンクがリモートからフェッチされます。\n> これは最も従来のフェッチ方法で、通常最もネットワークトラフィックと時間を消費します。'フェッチ前にローカルファイルチャンクを作成'オプションと同様のリモートファイル上書きのリスクがあります。\n> ただし、最も歴史があり簡単なアプローチであるため、最も安定した方法と見なされることが多いです。",
+ ja: "どのようにデータを取得しますか?\n- データ取得前にローカルデータベースを作成\n **低トラフィック**, **高CPU負荷**, **低リスク**\n 推奨される場合:\n - ファイルの整合性に不安がある\n - ファイル数がそれほど多くない\n- データ取得前にローカルファイルのチャンクを作成\n **低トラフィック**, **中程度のCPU負荷**, **低~中リスク**\n 推奨される場合:\n - ファイルの整合性に問題がない(可能性が高い)\n - ファイル数が多い\n- リモートからすべてを取得\n **高トラフィック**, **低CPU負荷**, **低~中リスク**\n\n>[!INFO]- 詳細\n> ## データ取得前にローカルデータベースを作成\n> **低トラフィック**, **高CPU負荷**, **低リスク**\n> このオプションは、リモートからデータを取得する前に、既存のローカルファイルを使用してローカルデータベースを作成します。\n> ローカルとリモートの両方に一致するファイルがある場合、差分のみが転送されます。\n> ただし、両方の場所に存在するファイルは最初は競合ファイルとして処理されます。実際に競合していなければ自動的に解決されますが、この処理には時間がかかる場合があります。\n> これは一般的に最も安全な方法で、データ損失のリスクを最小限に抑えます。\n> ## データ取得前にローカルファイルのチャンクを作成\n> **低トラフィック**, **中程度のCPU負荷**, **低~中リスク**(操作による)\n> このオプションは、最初にローカルファイルからデータベース用のチャンクを作成し、その後データを取得します。そのため、ローカルにないチャンクのみが転送されます。ただし、すべてのメタデータはリモートから取得されます。\n> ローカルファイルは起動時にこのメタデータと比較されます。新しいと判断されたコンテンツ(更新日時による)が古いものを上書きします。この結果はリモートデータベースに同期されます。\n> ローカルファイルの更新日時が実際に最新であれば、一般的に安全です。ただし、ファイルの更新日時が新しくてもコンテンツが古い場合(初期の`welcome.md`など)は問題が発生する可能性があります。\n> これは\"データ取得前にローカルデータベースを作成\"よりCPU使用量が少なく高速ですが、注意しないとデータ損失につながる可能性があります。\n> ## リモートからすべてを取得\n> **高トラフィック**, **低CPU負荷**, **低~中リスク**(操作による)\n> すべてのデータがリモートから取得されます。\n> データ取得前にローカルファイルのチャンクを作成と似ていますが、すべてのチャンクがリモートから取得されます。\n> これは従来の取得方法であり、通常最もネットワーク通信量と時間を消費します。'データ取得前にローカルファイルのチャンクを作成'オプションと同様のリモートファイル上書きのリスクがあります。\n> ただし、最も歴史があり簡単なアプローチであるため、最も安定した方法と見なされることが多いです。",
ko: "어떻게 가져오시겠습니까?\n- 가져오기 전에 로컬 데이터베이스를 한 번 생성.\n **낮은 트래픽**, **높은 CPU**, **낮은 위험**\n 다음의 경우에 권장합니다.\n - 파일이 일관되지 않을 가능성이 있음\n - 파일이 그리 많지 않음\n- 가져오기 전에 로컬 파일 청크 생성.\n **낮은 트래픽**, **보통 CPU**, **낮음~보통 위험**\n 다음의 경우에 권장합니다.\n - 파일이 대체로 일관됨\n - 파일이 많음\n- 원격에서 모든 것 가져오기.\n **높은 트래픽**, **낮은 CPU**, **낮음~보통 위험**\n\n>[!INFO]- 자세히\n> ## 가져오기 전에 로컬 데이터베이스를 한 번 생성.\n> **낮은 트래픽**, **높은 CPU**, **낮은 위험**\n> 원격에서 데이터를 가져오기 전에 기존 로컬 파일로 로컬 데이터베이스를 먼저 만듭니다.\n> 로컬과 원격 양쪽에 일치하는 파일이 있으면 둘 사이의 차이만 전송됩니다.\n> 다만 양쪽에 모두 있는 파일은 처음에 충돌 파일로 처리됩니다. 실제로 충돌하지 않는다면 자동으로 해결되지만, 이 과정에 시간이 걸릴 수 있습니다.\n> 일반적으로 가장 안전한 방법이며 데이터 손실 위험이 가장 낮습니다.\n> ## 가져오기 전에 로컬 파일 청크 생성.\n> **낮은 트래픽**, **보통 CPU**, **낮음~보통 위험** (작업에 따라 다름)\n> 먼저 로컬 파일로 데이터베이스용 청크를 만든 다음 데이터를 가져옵니다. 따라서 로컬에 없는 청크만 전송됩니다. 다만 메타데이터는 모두 원격에서 가져옵니다.\n> 그다음 시작 시점에 로컬 파일을 이 메타데이터와 비교합니다. 수정 시각을 기준으로 더 새롭다고 판단된 내용이 오래된 쪽을 덮어씁니다. 그 결과는 다시 원격 데이터베이스로 동기화됩니다.\n> 로컬 파일이 실제로 가장 최신 타임스탬프를 가지고 있다면 대체로 안전합니다. 하지만 타임스탬프는 더 새롭지만 내용은 더 오래된 파일(처음 만들어지는 `welcome.md` 같은)이 있으면 문제가 생길 수 있습니다.\n> \"가져오기 전에 로컬 데이터베이스를 한 번 생성\"보다 CPU를 적게 쓰고 더 빠르지만, 주의해서 사용하지 않으면 데이터가 손실될 수 있습니다.\n> ## 원격에서 모든 것 가져오기.\n> **높은 트래픽**, **낮은 CPU**, **낮음~보통 위험** (작업에 따라 다름)\n> 모든 것을 원격에서 가져옵니다.\n> 가져오기 전에 로컬 파일 청크 생성와 비슷하지만, 모든 청크를 원격에서 가져옵니다.\n> 가장 전통적인 가져오기 방식으로, 보통 네트워크 트래픽과 시간을 가장 많이 소모합니다. 또한 '가져오기 전에 로컬 파일 청크 생성' 옵션과 마찬가지로 원격 파일을 덮어쓸 위험이 있습니다.\n> 다만 가장 오래되고 단순한 방식이기 때문에 가장 안정적인 방법으로 여겨지는 경우가 많습니다.",
ru: "Как вы хотите загрузить?",
zh: "你希望如何获取?\n- 获取前先创建一次本地数据库。\n **低流量**,**高 CPU**,**低风险**\n 在以下情况下推荐使用:\n - 文件可能不一致\n - 文件数量不多\n- 获取前先创建本地文件的数据块。\n **低流量**,**中等 CPU**,**低到中等风险**\n 在以下情况下推荐使用:\n - 文件基本一致\n - 你有大量文件。\n- 从远程获取全部内容。\n **高流量**,**低 CPU**,**低到中等风险**\n\n>[!INFO]- 详情\n> ## 获取前先创建一次本地数据库。\n> **低流量**,**高 CPU**,**低风险**\n> 此选项会先利用现有的本地文件创建本地数据库,然后再从远程源获取数据。\n> 如果本地和远程存在相同的文件,则只会传输两者之间的差异。\n> 但是,两边都存在的文件最初会被视为冲突文件。如果它们实际上并无冲突,将会被自动解决,不过这一过程可能需要一些时间。\n> 这通常是最安全的方法,能将数据丢失风险降到最低。\n> ## 获取前先创建本地文件的数据块。\n> **低流量**,**中等 CPU**,**低到中等风险**(视具体操作而定)\n> 此选项会先根据本地文件为数据库创建数据块,然后再获取数据。因此,只会传输本地缺少的数据块。但是,所有元数据都取自远程源。\n> 启动时,系统会将本地文件与这些元数据进行比较。被认为更新的内容(按修改时间判断)将覆盖较旧的版本。随后,这一结果会同步回远程数据库。\n> 如果本地文件的时间戳确实是最新的,这通常是安全的。但如果某个文件的时间戳较新、内容却较旧(例如最初的 `welcome.md`),就可能引发问题。\n> 这种方式比“获取前先创建一次本地数据库”占用更少的 CPU、速度更快,但如果使用不当,可能会导致数据丢失。\n> ## 从远程获取全部内容。\n> **高流量**,**低 CPU**,**低到中等风险**(视具体操作而定)\n> 所有内容都将从远程获取。\n> 与 获取前先创建本地文件的数据块 相似,但所有数据块都从远程源获取。\n> 这是最传统的获取方式,通常消耗最多的网络流量和时间。与“获取前先创建本地文件的数据块”选项类似,它同样存在覆盖远程文件的风险。\n> 不过,它通常被认为是最稳定的方法,因为它是历史最悠久、最直接的做法。",
@@ -8511,7 +8838,7 @@ export const allMessages: Readonly[!SOLO PARA TUS OJOS]-\n>
${qr_image}
',
fr: "Nous avons généré un QR code pour transférer les paramètres. Scannez-le avec votre téléphone ou un autre appareil.\nNote : le QR code n'est pas chiffré, soyez prudent en l'affichant.\n\n>[!POUR VOS YEUX SEULEMENT]-\n>
${qr_image}
",
he: 'יצרנו קוד QR להעברת ההגדרות. אנא סרוק את קוד ה-QR עם הטלפון או מכשיר אחר.\nהערה: קוד ה-QR אינו מוצפן, אז היה זהיר בפתיחתו.\n\n>[!FOR YOUR EYES ONLY]-\n>
${qr_image}
',
- ja: '設定を転送するためのQRコードを生成しました。スマートフォンや他のデバイスでQRコードをスキャンしてください。\n注意: QRコードは暗号化されていないため、開く際は注意してください。\n\n>[!FOR YOUR EYES ONLY]-\n>
${qr_image}
',
+ ja: '設定を転送するためのQR コードを生成しました。スマートフォンや他のデバイスでQR コードをスキャンしてください。\n\nQR コードは暗号化されていません。信頼できるデバイスでのみスキャンしてください。\n\n>[!FOR YOUR EYES ONLY]-\n>
${qr_image}
',
ko: '설정을 전송하기 위한 QR 코드를 생성했습니다. 휴대폰이나 다른 기기로 QR 코드를 스캔해 주세요.\n참고: QR 코드는 암호화되지 않았으므로 열 때 주의하세요.\n\n>[!FOR YOUR EYES ONLY]-\n>
${qr_image}
',
ru: 'Мы сгенерировали QR-код для передачи настроек. Отсканируйте QR-код телефоном или другим устройством.\nВнимание: QR-код не зашифрован, открывайте его осторожно.\n\n>[!FOR YOUR EYES ONLY]-\n>
${qr_image}
',
zh: '我们已生成用于传输设置的二维码。请使用手机或其他设备扫描该二维码。\n注意:此二维码未加密,请谨慎打开。\n\n>[!FOR YOUR EYES ONLY]-\n>
${qr_image}
',
@@ -9942,7 +10314,7 @@ export const allMessages: Readonly Database": {
def: "Storage -> Database",
es: "Almacenamiento -> Base de datos",
+ ja: "ストレージ → データベース",
ko: "스토리지 -> 데이터베이스",
ru: "Файлы -> База данных",
zh: "存储 → 数据库",
@@ -10590,6 +10980,7 @@ export const allMessages: Readonlyjwt_keys->ALG:_`kid`.": {
def: "The key ID. this should be matched with CouchDB->jwt_keys->ALG:_`kid`.",
+ ja: "キー ID。CouchDB の jwt_keys -> ALG:_`kid` と一致している必要があります。",
zh: "密钥 ID。它应与 CouchDB->jwt_keys->ALG:_`kid` 相匹配。",
},
"the latest synchronisation data will be downloaded from the server to this device.": {
def: "the latest synchronisation data will be downloaded from the server to this device.",
es: "se descargarán a este dispositivo los datos de sincronización más recientes del servidor.",
+ ja: "最新の同期データがサーバーからこのデバイスへダウンロードされます。",
ko: "서버의 최신 동기화 데이터를 이 기기로 내려받습니다.",
ru: "на это устройство будут загружены свежие данные синхронизации с сервера.",
zh: "最新的同步数据将从服务器下载到本设备。",
@@ -10924,6 +11333,7 @@ export const allMessages: Readonly[!NOTICE]\n> Algunos cambios son compatibles, pero pueden consumir almacenamiento y transferencia de más. Se recomienda reconstruir. De momento puede que no se reconstruya, pero podría hacerse en un mantenimiento futuro.\n> ***Asegúrate de tener tiempo y una red estable antes de aplicarlo.***",
fr: "\n>[!AVIS]\n> Certains changements sont compatibles mais peuvent consommer du stockage et du trafic supplémentaires. Une reconstruction est recommandée. Cependant, elle peut ne pas être effectuée maintenant, mais pourra l'être lors d'une maintenance future.\n> ***Assurez-vous d'avoir du temps et une connexion stable pour appliquer !***",
he: "\n>[!NOTICE]\n> חלק מהשינויים תואמים אך עלולים לצרוך אחסון ותעבורה נוספים. מומלצת בנייה מחדש. עם זאת, ייתכן שבנייה מחדש לא תתבצע כעת, אך תיושם בתחזוקה עתידית.\n> ***ודא שיש לך זמן ושאתה מחובר לרשת יציבה לפני ההחלה!***",
- ja: "\n>[!NOTICE]\n> 一部の変更は互換性がありますが、追加のストレージと転送量を消費する可能性があります。再構築をお勧めします。ただし、再構築は現時点では実行されない場合がありますが、将来のメンテナンスで実装される可能性があります。\n> ***適用には時間と安定したネットワーク接続が必要です!***",
+ ja: "\n>[!NOTICE]\n> 一部の互換性のある変更により、ストレージ消費量や転送データ量が増加する可能性があります。再構築が推奨されますが、現時点では実行できません。将来のアップデートで追加される可能性があります。\n> ***これらの設定を適用する前に、十分な時間と安定したネットワーク接続を確保してください。***",
ko: "\n>[!NOTICE]\n> 일부 변경사항은 호환 가능하지만 추가 스토리지 및 전송량을 소모할 수 있습니다. 재구축을 권장합니다. 하지만 현재 재구축을 수행하지 않더라도 향후 유지보수에서 구현될 수 있습니다.\n> ***시간적 여유가 있고 안정적인 네트워크에 연결된 상태에서 적용해 주세요!***",
ru: "Некоторые изменения совместимы, но могут потребовать дополнительного хранилища. Рекомендуется перестроение.",
zh: "\n>[!NOTICE]\n> 部分更改是兼容的,但可能会占用额外的存储空间和传输流量。建议进行重建。不过,也可以暂不重建,留待今后维护时再进行。\n> ***应用前请确保你有充足的时间,并已连接到稳定的网络!***",
@@ -11464,7 +11914,7 @@ export const allMessages: Readonly[!WARNING]\n> Algunas configuraciones remotas no son compatibles con la base de datos local de este dispositivo. Habrá que reconstruirla.\n> ***Asegúrate de tener tiempo y una red estable antes de aplicarlo.***",
fr: "\n>[!AVERTISSEMENT]\n> Certaines configurations distantes ne sont pas compatibles avec la base locale de cet appareil. Une reconstruction de la base locale sera requise.\n> ***Assurez-vous d'avoir du temps et une connexion stable pour appliquer !***",
he: "\n>[!WARNING]\n> חלק מהתצורות המרוחקות אינן תואמות למסד הנתונים המקומי של מכשיר זה. נדרשת בנייה מחדש של מסד הנתונים המקומי.\n> ***ודא שיש לך זמן ושאתה מחובר לרשת יציבה לפני ההחלה!***",
- ja: "\n>[!WARNING]\n> 一部のリモート設定はこのデバイスのローカルデータベースと互換性がありません。ローカルデータベースの再構築が必要です。\n> ***適用には時間と安定したネットワーク接続が必要です!***",
+ ja: "\n>[!WARNING]\n> 一部のリモート設定はこのデバイスのローカルデータベースと互換性がありません。ローカルデータベースの再構築が必要です。\n> ***これらの設定を適用する前に、十分な時間と安定したネットワーク接続を確保してください。***",
ko: "\n>[!WARNING]\n> 일부 원격 구성이 이 기기의 로컬 데이터베이스와 호환되지 않습니다. 로컬 데이터베이스 재구축이 필요합니다.\n> ***시간적 여유가 있고 안정적인 네트워크에 연결된 상태에서 적용해 주세요!***",
ru: "Некоторые удалённые конфигурации несовместимы с локальной базой данных. Требуется перестроение.",
zh: "\n>[!WARNING]\n> 部分远程配置与本设备的本地数据库不兼容,将需要重建本地数据库。\n> ***应用前请确保你有充足的时间,并已连接到稳定的网络!***",
@@ -11476,7 +11926,7 @@ export const allMessages: Readonly[!NOTICE]\n> Hemos detectado que algunos valores difieren de forma que hacen incompatible la base de datos local con la remota.\n> Algunos cambios son compatibles, pero pueden consumir almacenamiento y transferencia de más. Se recomienda reconstruir. De momento puede que no se reconstruya, pero podría hacerse en un mantenimiento futuro.\n> Si decides reconstruir, tardará unos minutos o más. **Asegúrate de que es seguro hacerlo ahora.**",
fr: "\n>[!AVIS]\n> Nous avons détecté que certaines valeurs diffèrent et rendent la base locale incompatible avec la base distante.\n> Certains changements sont compatibles mais peuvent consommer du stockage et du trafic supplémentaires. Une reconstruction est recommandée. Cependant, elle peut ne pas être effectuée maintenant, mais pourra l'être lors d'une maintenance future.\n> Si vous souhaitez reconstruire, cela prend quelques minutes ou plus. **Assurez-vous qu'il est sûr de le faire maintenant.**",
he: "\n>[!NOTICE]\n> זיהינו שחלק מהערכים שונים, מה שגורם לאי-תאימות בין מסד הנתונים המקומי למרוחד.\n> חלק מהשינויים תואמים אך עלולים לצרוך אחסון ותעבורה נוספים. מומלצת בנייה מחדש. עם זאת, ייתכן שבנייה מחדש לא תתבצע כעת, אך תיושם בתחזוקה עתידית.\n> אם ברצונך לבנות מחדש, הדבר ייקח כמה דקות או יותר. **ודא שבטוח לבצע זאת עכשיו.**",
- ja: "\n>[!NOTICE]\n> ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。\n> 一部の変更は互換性がありますが、追加のストレージと転送量を消費する可能性があります。再構築をお勧めします。ただし、再構築は現時点では実行されない場合がありますが、将来のメンテナンスで実装される可能性があります。\n> 再構築を行う場合は数分以上かかります。**今実行しても安全か確認してください。**",
+ ja: "\n>[!NOTICE]\n> ローカルデータベースとリモートデータベースに非互換性を生じさせる設定の差異が検出されました。\n> 他の変更は互換性がありますが、ストレージ消費量や転送データ量が増加する可能性があります。再構築が推奨されますが、現時点では実行できません。将来のアップデートで追加される可能性があります。\n> 再構築には数分以上かかる場合があります。**今すぐ実行しても安全であることを確認してください。**",
ko: "\n>[!NOTICE]\n> 로컬 데이터베이스와 원격 데이터베이스가 호환되지 않도록 만드는 값들이 다른 것을 감지했습니다.\n> 일부 변경사항은 호환 가능하지만 추가 스토리지 및 전송량을 소모할 수 있습니다. 재구축을 권장합니다. 하지만 현재 재구축을 수행하지 않더라도 향후 유지보수에서 구현될 수 있습니다.\n> 재구축을 원한다면 몇 분 이상 소요됩니다. **지금 수행해도 안전한지 확인해 주세요.**",
ru: "Обнаружены значения, несовместимые с удалённой базой данных. Рекомендуется перестроение.",
zh: "\n>[!NOTICE]\n> 我们检测到部分值存在差异,导致本地数据库与远程数据库不兼容。\n> 部分更改是兼容的,但可能会占用额外的存储空间和传输流量。建议进行重建。不过,也可以暂不重建,留待今后维护时再进行。\n> 如果你要重建,大约需要几分钟或更长时间。**请先确认现在执行是安全的。**",
@@ -11488,7 +11938,7 @@ export const allMessages: Readonly[!WARNING]\n> Hemos detectado que algunos valores difieren de forma que hacen incompatible la base de datos local con la remota.\n> Hay que reconstruir la local o la remota. Ambas cosas tardan unos minutos o más. **Asegúrate de que es seguro hacerlo ahora.**",
fr: "\n>[!AVERTISSEMENT]\n> Nous avons détecté que certaines valeurs diffèrent et rendent la base locale incompatible avec la base distante.\n> Une reconstruction locale ou distante est nécessaire. L'une comme l'autre prend quelques minutes ou plus. **Assurez-vous qu'il est sûr de le faire maintenant.**",
he: "\n>[!WARNING]\n> זיהינו שחלק מהערכים שונים, מה שגורם לאי-תאימות בין מסד הנתונים המקומי למרוחד.\n> נדרשת בנייה מחדש של המסד המקומי או המרוחד. שניהם ייקחו כמה דקות או יותר. **ודא שבטוח לבצע זאת עכשיו.**",
- ja: "\n>[!WARNING]\n> ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。\n> ローカルまたはリモートの再構築が必要です。どちらも数分以上かかります。**今実行しても安全か確認してください。**",
+ ja: "\n>[!WARNING]\n> ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。\n> ローカルまたはリモートの再構築が必要です。どちらも数分以上かかります。**今すぐ実行しても安全であることを確認してください。**",
ko: "\n>[!WARNING]\n> 로컬 데이터베이스와 원격 데이터베이스가 호환되지 않도록 만드는 값들이 다른 것을 감지했습니다.\n> 로컬 또는 원격 재구축이 필요합니다. 둘 다 몇 분 이상 소요됩니다. **지금 수행해도 안전한지 확인해 주세요.**",
ru: "Обнаружены значения, несовместимые с удалённой базой данных. Требуется перестроение.",
zh: "\n>[!WARNING]\n> 我们检测到某些值存在差异,导致本地数据库与远程数据库不兼容。\n> 需要重建本地或远程其中之一,两者都需要几分钟甚至更长时间。**请确保现在执行此操作是安全的。**",
@@ -11531,6 +11981,7 @@ export const allMessages: Readonly Storage",
es: "Base de datos -> Almacenamiento",
+ ja: "データベース → ストレージ",
ko: "데이터베이스 -> 스토리지",
ru: "База данных -> Файлы",
zh: "数据库 -> 存储",
@@ -11867,6 +12357,7 @@ export const allMessages: Readonly Database",
es: "Almacenamiento -> Base de datos",
+ ja: "ストレージ → データベース",
ko: "스토리지 -> 데이터베이스",
ru: "Файлы -> База данных",
zh: "存储 -> 数据库",
@@ -12035,6 +12546,7 @@ export const allMessages: Readonly [!INFO]- The connected devices have been detected as follows:\n${devices}": "> [!INFO]- 次の接続済みデバイスが検出されました:\n${devices}",
- "A Setup URI is a single string of text containing your server address and authentication details. Using a URI, if one was generated by your server installation script, provides a simple and secure configuration.": "Setup URI は、サーバーアドレスと認証情報を含む 1 本の文字列です。サーバーのインストールスクリプトで生成された URI がある場合は、それを使うと簡単かつ安全に設定できます。",
+ "⚠️ Important Notice": "⚠️ 重要なお知らせ",
+ "⚠️ Please Confirm the Following": "⚠️ 以下を確認してください",
+ "✔ SELECT": "✔ 選択",
+ "✔ SYNC": "✔ 同期",
+ "✔ WATCH": "✔ 監視",
+ "📡 Off": "📡 オフ",
+ "📡 On": "📡 オン",
+ "🔴 Disconnected": "🔴 未接続",
+ "🕵️ Diag": "🕵️ 診断",
+ "🗑 Delete": "🗑 削除",
+ "🟢 Connected": "🟢 接続済み",
+ "${count} issue(s) detected!": "${count} 件の問題が検出されました!",
+ "A Setup URI is a single string of text containing your server address and authentication details. Using a URI, if one was generated by your server installation script, provides a simple and secure configuration.": "セットアップ URIは、サーバーアドレスと認証情報を含む1本の文字列です。サーバーのインストールスクリプトで生成された URI がある場合は、それを使うと簡単かつ安全に設定できます。",
+ "Accept": "承認",
+ "Accept in session": "このセッションのみ承認",
+ "ACCEPTED": "承認済み",
+ "ACCEPTED (in session)": "承認済み(セッション内)",
"Access Key": "アクセスキー",
+ "Access Key ID": "アクセスキー ID",
+ "Action": "操作",
"Activate": "有効化",
+ "Active Remote Configuration": "有効なリモート設定",
+ "Active Remote Type": "現在の同期方式",
"Add default patterns": "デフォルトパターンを追加",
"Add new connection": "接続を追加",
- "All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.": "すべてのデバイスで進捗値が同じです(${progress})。デバイスは同期されているようなので、Garbage Collection を続行できます。",
- "Always prompt merge conflicts": "常に競合は手動で解決する",
+ "AddOn Module (ConfigSync) has not been loaded. This is very unexpected situation. Please report this issue.": "アドオンモジュール(ConfigSync)を読み込めませんでした。予期しない事態です。この問題を報告してください。",
+ "AddOn Module (HiddenFileSync) has not been loaded. This is very unexpected situation. Please report this issue.": "アドオンモジュール(HiddenFileSync)を読み込めませんでした。予期しない事態です。この問題を報告してください。",
+ "Advanced": "高度な設定",
+ "Advanced Settings": "高度な設定",
+ "After restarting, the data on this device will be uploaded to the server as the 'master copy'. Please be aware that any unintended data currently on the server will be completely overwritten.": "再起動後、このデバイス上のデータが「マスターコピー」としてサーバーにアップロードされます。現在サーバー上にある意図しないデータは完全に上書きされますのでご注意ください。",
+ "After restarting, the database on this device will be rebuilt using data from the server. If there are any unsynchronised files in this vault, conflicts may occur with the server data.": "再起動後、サーバーのデータを使用してこのデバイス上のデータベースが再構築されます。このVaultに未同期のファイルがある場合、サーバーのデータとの間で競合が発生する可能性があります。",
+ "After that, synchronise to a brand new vault on each other device with the new remote one by one.": "その後、他のデバイスで新しいリモートを使用して、空の新しいVaultへ1台ずつ同期してください。",
+ "All checks passed successfully!": "すべてのチェックが正常に完了しました!",
+ "All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.": "すべてのデバイスで進捗値が同じです(${progress})。デバイスは同期されているようなので、ガベージコレクションを続行できます。",
+ "All the same or non-existent": "すべて同一または存在しない",
+ "Allow in session": "このセッションのみ許可",
+ "Allow permanently": "常に許可",
+ "Allow sleep during synchronisation": "同期中のスリープを許可",
+ "Allow sleep during synchronisation on the desktop": "デスクトップで同期中のスリープを許可",
+ "Allow the operating system to sleep while finite synchronisation operations are in progress.": "一時的な同期処理中も、オペレーティングシステムのスリープを許可します。",
+ "Also, please note that if you are using Peer-to-Peer synchronization, this configuration will be used when you switch to other methods and connect to a remote server in the future.": "なお、ピアツーピア(P2P)同期を使用している場合でも、将来他の同期方法に切り替えてリモートサーバーに接続する際には、この設定が使用されますのでご注意ください。",
+ "Always prompt merge conflicts": "競合のマージ時に毎回確認を求める",
+ "Analyse": "分析",
"Analyse database usage": "データベース使用状況を分析",
"Analyse database usage and generate a TSV report for diagnosis yourself. You can paste the generated report with any spreadsheet you like.": "データベース使用状況を分析し、自分で診断できるよう TSV レポートを生成します。生成したレポートは任意のスプレッドシートに貼り付けて確認できます。",
+ "Application ID": "アプリケーション ID",
+ "Apply All Selected": "選択したすべてを適用",
"Apply Latest Change if Conflicting": "競合がある場合は最新の変更を適用する",
"Apply preset configuration": "プリセットを適用する",
+ "Apply the settings": "設定を適用",
"Ask a passphrase at every launch": "起動のたびにパスフレーズを確認",
+ "Auto Connect": "自動接続",
+ "Auto Start P2P Connection": "P2P接続を自動開始",
+ "Auto-accept compatible tweak mismatches": "互換性のある調整項目の不一致を自動的に受け入れる",
+ "Automatic": "自動",
+ "Automatically accepts mismatches that are compatible but potentially lossy by comparing tweak modification times.": "調整項目の更新日時を比較し、互換性はあるものの情報が失われる可能性のある不一致を自動的に受け入れます。",
+ "Automatically broadcast changes to connected peers": "接続中のピアに変更を自動ブロードキャスト",
+ "Automatically start P2P connection on launch": "起動時に P2P 接続を自動開始",
"Automatically Sync all files when opening Obsidian.": "Obsidian起動時にすべてのファイルを自動同期します。",
+ "Available Peers": "利用可能なピア",
"Back": "戻る",
"Back to non-configured": "未設定状態に戻す",
"Batch database update": "データベースのバッチ更新",
"Batch limit": "バッチの上限",
- "Batch size": "バッチ容量",
+ "Batch size": "バッチサイズ",
"Batch size of on-demand fetching": "オンデマンド取得のバッチサイズ",
- "Before v0.17.16, we used an old adapter for the local database. Now the new adapter is preferred. However, it needs local database rebuilding. Please disable this toggle when you have enough time. If leave it enabled, also while fetching from the remote database, you will be asked to disable this.": "v0.17.6までは古いアダプターをローカル用のデータベースに使用していましたが、現在は新しいアダプターを推奨しています。しかし、新しいアダプターに変更するにはローカルデータベースの再構築が必要です。有効のままにしておくと、リモートデータベースからフェッチする場合に、この設定を無効にするかの質問が表示されます。",
+ "Before v0.17.16, we used an old adapter for the local database. Now the new adapter is preferred. However, it needs local database rebuilding. Please disable this toggle when you have enough time. If leave it enabled, also while fetching from the remote database, you will be asked to disable this.": "v0.17.16 より前は、ローカルデータベースに古いアダプターを使用していましたが、現在は新しいアダプターを推奨しています。変更にはローカルデータベースの再構築が必要なため、時間に余裕があるときにこの設定を無効にしてください。有効のままにしておくと、リモートデータベースから取得する際にも、この設定を無効にするよう求められます。",
+ "Broadcasting?": "ブロードキャスト中?",
"Bucket Name": "バケット名",
+ "by resetting the remote, you will be informed on other devices.": "リモートをリセットすると、他のデバイスに通知されます。",
"Cancel": "キャンセル",
- "Cancel Garbage Collection": "Garbage Collection をキャンセル",
- "Check and convert non-path-obfuscated files": "パス難読化されていないファイルを確認して変換",
+ "Cancel all and reboot": "すべてキャンセルして再起動",
+ "Cancel Garbage Collection": "ガベージコレクションをキャンセル",
+ "Changing the encryption algorithm will prevent access to any data previously encrypted with a different algorithm. Ensure that all your devices are configured to use the same algorithm to maintain access to your data.": "暗号化アルゴリズムを変更すると、以前に別のアルゴリズムで暗号化されたデータにアクセスできなくなります。データへのアクセスを維持するため、すべてのデバイスで同じアルゴリズムを使用するように設定してください。",
+ "Changing this setting requires migrating existing data (a bit time may be taken) and restarting Obsidian. Please make sure to back up your data before proceeding.": "この設定を変更するには、既存データの移行(少し時間がかかる場合があります)とObsidianの再起動が必要です。続行する前に必ずデータのバックアップを取ってください。",
+ "Check": "チェック",
+ "Check and convert non-path-obfuscated files": "パスが難読化されていないファイルを確認して変換",
"Check for documents that have not been converted to path-obfuscated IDs and convert them if necessary.": "まだパス難読化 ID に変換されていないドキュメントを確認し、必要に応じて変換します。",
+ "Check server requirements": "サーバー要件を確認",
+ "Checking connection... Please wait.": "接続を確認中... しばらくお待ちください。",
+ "Chunk revisions are always derived from their content. This stored key is retained only for compatibility.": "チャンクリビジョンは常にそのコンテンツから導出されます。保存されているこのキーは互換性の維持のみを目的として保持されています。",
+ "Chunk Splitter": "チャンクスプリッター",
+ "Chunks": "チャンク",
+ "Close": "閉じる",
+ "Close & Disconnect": "閉じて切断",
+ "Close this dialog": "このダイアログを閉じる",
+ "Closed:": "切断:",
"cmdConfigSync.showCustomizationSync": "カスタマイズ同期を表示",
"Comma separated `.gitignore, .dockerignore`": "カンマ区切り `.gitignore, .dockerignore`",
+ "Command": "コマンド",
+ "Communicating": "通信中",
"Compaction in progress on remote database...": "リモートデータベースでコンパクションを実行中です...",
"Compaction on remote database completed successfully.": "リモートデータベースでのコンパクションが正常に完了しました。",
"Compaction on remote database failed.": "リモートデータベースでのコンパクションに失敗しました。",
"Compaction on remote database timed out.": "リモートデータベースでのコンパクションがタイムアウトしました。",
+ "Compare file": "ファイルを比較",
+ "Compare file contents even when modification time and size match. This can slow startup in large vaults.": "更新日時とサイズが同じ場合でもファイルの内容を比較します。大きなVaultでは起動が遅くなることがあります。",
"Compare the content of files between on local database and storage. If not matched, you will be asked which one you want to keep.": "ローカルデータベースとストレージ上のファイル内容を比較します。一致しない場合は、どちらを残すか選択できます。",
+ "Compare time and take newer": "更新日時を比較して新しい方を採用",
"Compatibility (Conflict Behaviour)": "互換性(競合時の挙動)",
"Compatibility (Database structure)": "互換性(データベース構造)",
"Compatibility (Internal API Usage)": "互換性(内部 API の利用)",
"Compatibility (Metadata)": "互換性(メタデータ)",
"Compatibility (Remote Database)": "互換性(リモートデータベース)",
"Compatibility (Trouble addressed)": "互換性(対処済みの問題)",
- "Compute revisions for chunks": "チャンクの修正(リビジョン)を計算",
+ "Compute revisions for chunks": "チャンクの修正(リビジョン)を計算",
+ "Configuration": "設定",
"Configuration Encryption": "設定の暗号化",
"Configure": "設定",
"Configure And Change Remote": "リモートを設定して切り替える",
"Configure E2EE": "E2EE を設定",
"Configure Remote": "リモートを設定",
- "Configure the same server information as your other devices again, manually, very advanced users only.": "他の端末と同じサーバー情報を手動で再入力します。上級者向けの方法です。",
+ "Configure the same server information as your other devices again, manually, very advanced users only.": "他のデバイスと同じサーバー情報を手動で再入力します。上級者向けの方法です。",
+ "Conflict & Deletion Options": "競合と削除のオプション",
+ "Connect": "接続",
+ "Connect to existing database and continue": "既存のデータベースに接続して続行",
+ "Connected to Signaling Server (as Peer ID: ${peerId})": "シグナリングサーバーに接続しました(ピアID: ${peerId})",
+ "Connected:": "接続成功:",
"Connection Method": "接続方法",
+ "Connection Settings": "接続設定",
+ "Connection:": "接続:",
+ "Content-derived chunk revisions (obsolete setting)": "コンテンツ由来のチャンクリビジョン(廃止された設定)",
+ "Continue anyway": "このまま続行",
"Continue to CouchDB setup": "CouchDB 設定へ進む",
- "Continue to Peer-to-Peer only setup": "Peer-to-Peer 専用設定へ進む",
+ "Continue to Peer-to-Peer only setup": "ピアツーピア専用の設定へ進む",
"Continue to S3/MinIO/R2 setup": "S3/MinIO/R2 設定へ進む",
"Copy": "コピー",
"Copy Report to clipboard": "レポートをクリップボードにコピー",
+ "CouchDB Configuration": "CouchDB 設定",
"CouchDB Connection Tweak": "CouchDB 接続の調整",
+ "CouchDB only. Version 0 preserves legacy path identity; version 1 uses Unicode NFC. Physical file names stay unchanged. Update every device and stop synchronisation, then Rebuild both databases from a complete authoritative Vault and Fetch on the other devices. Resolve colliding file names first. P2P and Object Storage do not support version 1.": "CouchDB専用です。バージョン0は従来のパス識別を維持し、バージョン1はUnicode NFC形式でパスを識別します。物理ファイル名は変更されません。すべてのデバイスをアップデートして同期を停止した後、必要なファイルがすべてそろった正本のVaultから両方のデータベースを再構築し、他のデバイスでデータを取得してください。重複するファイル名は事前に解決してください。なお、P2Pおよびオブジェクトストレージはバージョン1に対応していません。",
+ "CouchDB validates the database name when you connect. The name must not be empty.": "CouchDBは接続時にデータベース名を検証します。名前を空にはできません。",
+ "Create or connect to database and continue": "データベースを作成または接続して続行",
+ "Create P2P remote": "P2Pリモートを作成",
"Cross-platform": "クロスプラットフォーム",
"Current adapter: {adapter}": "現在のアダプター: {adapter}",
+ "Custom Headers": "カスタムヘッダー",
+ "Custom headers for requesting the bucket. e.g. `x-custom-header1: value1\n x-custom-header2: value2`": "バケットリクエスト用のカスタムヘッダー。例: `x-custom-header1: value1\n x-custom-header2: value2`",
+ "Custom headers for requesting the CouchDB. e.g. `x-custom-header1: value1\n x-custom-header2: value2`": "CouchDB リクエスト用のカスタムヘッダー。例: `x-custom-header1: value1\n x-custom-header2: value2`",
"Customization Sync": "カスタマイズ同期",
- "Customization Sync (Beta3)": "カスタマイズ同期 (Beta3)",
+ "Customization Sync (Beta3)": "カスタマイズ同期 (Beta 3)",
"Data Compression": "データ圧縮",
+ "Data retrieval scheduled": "データの取得がスケジュールされました",
+ "Data to Copy": "コピーするデータ",
+ "Database -> Storage": "データベース → ストレージ",
"Database Adapter": "データベースアダプター",
"Database Name": "データベース名",
"Database suffix": "データベースの接尾辞(suffix)",
+ "Date": "日時",
"Default": "デフォルト",
"Delay conflict resolution of inactive files": "非アクティブなファイルは、競合解決を先送りする",
- "Delay merge conflict prompt for inactive files.": "非アクティブなファイルの競合解決のプロンプトの表示を遅延させる",
+ "Delay merge conflict prompt for inactive files.": "非アクティブなファイルに対する競合解決プロンプトの表示を遅延させる",
"Delete": "削除",
"Delete all customization sync data": "カスタマイズ同期データをすべて削除",
"Delete all data on the remote server.": "リモートサーバー上のすべてのデータを削除します。",
+ "Delete All of": "すべて削除: ",
"Delete local database to reset or uninstall Self-hosted LiveSync": "Self-hosted LiveSync をリセットまたはアンインストールするため、ローカルデータベースを削除",
- "Delete old metadata of deleted files on start-up": "削除済みデータのメタデータをクリーンナップする",
+ "Delete local files if deleted on remote": "リモートで削除されている場合はローカルファイルを削除",
+ "Delete local files if not on remote": "リモートに存在しない場合はローカルファイルを削除",
+ "Delete old metadata of deleted files on start-up": "起動時に削除済みファイルの古いメタデータを削除する",
"Delete Remote Configuration": "リモート設定を削除",
"Delete remote configuration '{name}'?": "リモート設定 '{name}' を削除しますか?",
+ "Delete remote configuration '${name}'?": "リモート設定 '${name}' を削除しますか?",
+ "DENIED": "拒否済み",
+ "DENIED (in session)": "拒否済み(セッション内)",
+ "Deny": "拒否",
+ "Deny in session": "このセッションのみ拒否",
+ "Deny permanently": "常に拒否",
+ "Deselect all": "すべての選択を解除",
"desktop": "デスクトップ",
+ "Desktop only; uses more battery and network.": "デスクトップ専用。バッテリー消費とネットワーク通信量が増加します。",
+ "Desktop only. Allow sleep on this device even when the general option is disabled.": "デスクトップ専用。全般オプションが無効な場合でも、このデバイスでスリープを許可します。",
+ "Detected Peers": "検出されたピア",
"Developer": "開発者",
"Device": "デバイス",
+ "device name": "デバイス名",
"Device name": "デバイス名",
- "Device Setup Method": "端末の設定方法",
- "dialog.yourLanguageAvailable": "Self-hosted LiveSync に設定されている言語の翻訳がありましたので、%{Display Language}が適用されました。\n\n注意: 全てのメッセージは翻訳されていません。あなたの貢献をお待ちしています!\nGithubにIssueを作成する際には、 %{Display Language} を一旦 %{lang-def} に戻してから、スクショやメッセージ、ログを収集してください。これは設定から変更できます。\n\n便利に使用できれば幸いです。",
- "dialog.yourLanguageAvailable.btnRevertToDefault": "Keep %{lang-def}",
+ "Device name to identify the device. Please use shorter one for the stable peer detection, i.e., \"iphone-16\" or \"macbook-2021\".": "デバイスを識別するための名前です。ピア検出を安定させるため、「iphone-16」や「macbook-2021」のような短めの名前を使用してください。",
+ "Device Peer ID": "デバイスのピアID",
+ "Device Setup Method": "デバイスの設定方法",
+ "Devices:": "デバイス:",
+ "Diagnostic RTCPeerConnection is enabled": "診断用 RTCPeerConnection が有効です",
+ "dialog.yourLanguageAvailable": "Self-hosted LiveSync では、ご使用の言語の翻訳が用意されていたため、「%{Display Language}」が有効になりました。\n\n注意: すべてのメッセージが翻訳されているわけではありません。皆さまのご貢献をお待ちしています!\nGitHub で Issue を報告する際は、まず**表示言語を %{lang-def} に切り替えて**から、スクリーンショット、メッセージ、ログを収集してください。表示言語は設定から変更できます。\n\nSelf-hosted LiveSync をぜひご活用ください。",
+ "dialog.yourLanguageAvailable.btnRevertToDefault": "%{lang-def} を維持",
"dialog.yourLanguageAvailable.Title": "翻訳が利用可能です!",
+ "Diff": "差分",
+ "Different": "不一致",
"Disables all synchronization and restart.": "すべての同期を無効にして再起動します。",
"Disables logging, only shows notifications. Please disable if you report an issue.": "ログを無効にし、通知のみを表示します。Issueを報告する場合は無効にしてください。",
+ "Disconnect": "切断",
+ "Dismiss": "閉じる",
"Display Language": "インターフェースの表示言語",
"Display name": "表示名",
- "Do not check configuration mismatch before replication": "サーバーから同期する前に設定の不一致を確認しない",
+ "Do not check configuration mismatch before replication": "レプリケーション前に設定の不一致を確認しない",
"Do not keep metadata of deleted files.": "削除済みファイルのメタデータを保持しない",
"Do not split chunks in the background": "バックグラウンドでチャンクを分割しない",
"Do not use internal API": "内部APIを使用しない",
@@ -105,8 +225,8 @@
"Doctor.Button.No": "いいえ",
"Doctor.Button.Skip": "そのままにする",
"Doctor.Button.Yes": "はい",
- "Doctor.Dialogue.Main": "こんにちは!${activateReason}のため、設定診断ツールが起動しました!\n残念ながら、いくつかの設定が潜在的な問題として検出されました。\nご安心ください。一つずつ解決していきましょう。\n\n事前にお知らせしますと、以下の項目についてお尋ねします。\n\n${issues}\n\n始めていいですか?",
- "Doctor.Dialogue.MainFix": "\n## ${name}\n\n| 現在の値 | 理想値 |\n|:---:|:---:|\n| ${current} | ${ideal} |\n\n**推奨レベル:** ${level}\n\n### 診断理由?\n\n${reason}\n\n${note}\n\nこれを理想値に修正しますか?",
+ "Doctor.Dialogue.Main": "設定診断ツールを起動しました(理由: ${activateReason})。\n問題の可能性がある設定がいくつか見つかりました。一つずつ確認していきましょう。\n\nこれから、次の項目について確認します。\n\n${issues}\n\n開始しますか?",
+ "Doctor.Dialogue.MainFix": "\n## ${name}\n\n| 現在の値 | 理想値 |\n|:---:|:---:|\n| ${current} | ${ideal} |\n\n**推奨レベル:** ${level}\n\n### 検出された理由\n\n${reason}\n\n${note}\n\n推奨値に変更しますか?",
"Doctor.Dialogue.Title": "Self-hosted LiveSync 設定診断ツール",
"Doctor.Dialogue.TitleAlmostDone": "あと少しです!",
"Doctor.Dialogue.TitleFix": "問題の修正 ${current}/${total}",
@@ -118,124 +238,249 @@
"Doctor.Message.RebuildLocalRequired": "注意!これを適用するにはローカルデータベースの再構築が必要です!",
"Doctor.Message.RebuildRequired": "注意!これを適用するには再構築が必要です!",
"Doctor.Message.SomeSkipped": "いくつかの問題をそのままにしました。次回起動時に再度確認しますか?",
- "Doctor.RULES.E2EE_V02500.REASON": "エンドツーエンド暗号化がより堅牢で高速になりました。また、以前のE2EEは再コードレビューにより脆弱性が発見されました。できるだけ早く適用することをお勧めします。ご不便をおかけして申し訳ありません。また、この設定は下位互換性がありません。すべての同期デバイスをv0.25.0以降にアップデートする必要があります。再構築は必須ではなく、新しい転送から新しいフォーマットに変換されますが、可能な限り再構築をお勧めします。",
+ "Doctor.RULES.E2EE_V02500.REASON": "エンドツーエンド暗号化の安全性と速度が向上しました。また、コードレビューで従来のE2EEに脆弱性が見つかりました。できるだけ早く新しい方式に切り替えることをおすすめします。この変更によりご不便をおかけしますが、古いバージョンとの互換性はありません。すべての同期デバイスを v0.25.0 以降にアップデートしてください。データベースの再構築は必須ではありません。以後のデータ転送時に新しい形式へ変換されますが、可能であれば再構築をおすすめします。",
+ "Document History": "ドキュメント履歴",
"Duplicate": "複製",
"Duplicate remote": "リモート設定を複製",
"E2EE Configuration": "E2EE 設定",
- "Edge case addressing (Behaviour)": "特殊なケースへの対応(動作)",
- "Edge case addressing (Database)": "特殊なケースへの対応(データベース)",
- "Edge case addressing (Processing)": "特殊なケースへの対応(処理)",
+ "Edge case addressing (Behaviour)": "エッジケースへの対処(動作)",
+ "Edge case addressing (Database)": "エッジケースへの対処(データベース)",
+ "Edge case addressing (Processing)": "エッジケースへの対処(処理)",
+ "Effectively a directory. Should end with `/`. e.g., `vault-name/`.": "実質的なディレクトリです。末尾は `/` にしてください(例: `vault-name/`)。",
"Emergency restart": "緊急再起動",
"Enable advanced features": "高度な機能を有効にする",
- "Enable customization sync": "カスタマイズ同期を有効",
+ "Enable advanced mode": "高度な設定モードを有効化",
+ "Enable customization sync": "カスタマイズ同期を有効化",
+ "Enable Developers' Debug Tools (If available).": "開発者向けデバッグツールを有効化(利用可能な場合)。",
"Enable Developers' Debug Tools.": "開発者用デバッグツールを有効にする",
"Enable edge case treatment features": "エッジケース対応機能を有効にする",
+ "Enable forcePathStyle": "forcePathStyle を有効化",
+ "Enable P2P Replicator": "P2Pレプリケーターを有効化",
+ "Enable P2P Synchronization": "P2P 同期を有効化",
+ "Enable per-file customization sync": "ファイル単位のカスタマイズ同期を有効化",
+ "Enable power user mode": "パワーユーザーモードを有効化",
"Enable poweruser features": "エキスパート機能を有効にする",
- "Enable this if your Object Storage doesn't support CORS": "オブジェクトストレージがCORSをサポートしていない場合は有効にしてください",
+ "Enable this if your Object Storage doesn't support CORS": "オブジェクトストレージが CORS をサポートしていない場合は有効にしてください。",
"Enable this option to automatically apply the most recent change to documents even when it conflicts": "このオプションを有効にすると、競合があっても最新の変更を自動的にドキュメントに適用します",
- "Encrypt contents on the remote database. If you use the plugin's synchronization feature, enabling this is recommended.": "リモートデータベースの暗号化(オンにすることを推奨)",
+ "Enabled": "有効",
+ "Enabling end-to-end encryption ensures that your data is encrypted on your device before being sent to the remote server. This means that even if someone gains access to the server, they won't be able to read your data without the passphrase. Make sure to remember your passphrase, as it will be required to decrypt your data on other devices.": "エンドツーエンド暗号化(E2EE)を有効にすると、データはリモートサーバーに送信される前にデバイス上で暗号化されます。これにより、万が一誰かがサーバーにアクセスできたとしても、パスフレーズがなければデータを読み取ることはできません。他のデバイスでデータを復号する際に必要となりますので、パスフレーズは必ず忘れないようにしてください。",
+ "Encrypt contents on the remote database. If you use the plugin's synchronization feature, enabling this is recommended.": "リモートデータベース上のコンテンツを暗号化します。このプラグインの同期機能を使用する場合は、有効にすることをおすすめします。",
+ "Encrypt file properties (paths, times, sizes, and Chunk references) used by Hidden File Sync and Customisation Sync. This affects future writes; manually rebuild the remote database to protect existing properties. Requires E2EE V2, Property Encryption, and compatible clients on every device.": "非表示ファイル同期およびカスタマイズ同期で使用されるファイルプロパティ(パス、日時、サイズ、チャンク参照)を暗号化します。これは今後の書き込みに影響します。既存のプロパティを保護するには、リモートデータベースを手動で再構築(Rebuild)してください。E2EE V2、プロパティ暗号化、およびすべてのデバイスで互換性のあるクライアントが必要です。",
+ "Encrypt internal file Properties": "内部ファイルプロパティを暗号化",
"Encrypting sensitive configuration items": "機密性の高い設定項目の暗号化",
+ "Encryption Algorithm": "暗号化アルゴリズム",
+ "Encryption passphrase. If changed, you should overwrite the server's database with the new (encrypted) files.": "暗号化パスフレーズ。変更した場合は、新しい(暗号化された)ファイルでサーバーのデータベースを上書きする必要があります。",
"Encryption phassphrase. If changed, you should overwrite the server's database with the new (encrypted) files.": "暗号化パスフレーズ。変更した場合、新しい(暗号化された)ファイルでサーバーのデータベースを上書きする必要があります。",
"End-to-End Encryption": "E2E暗号化",
+ "End-to-End Encryption Algorithm": "エンドツーエンド暗号化アルゴリズム",
"Endpoint URL": "エンドポイントURL",
"Enhance chunk size": "チャンクサイズを最適化する",
+ "Enter a complete HTTP or HTTPS URL.": "完全な HTTP または HTTPS の URL を入力してください。",
+ "Enter a folder prefix (optional)": "フォルダープレフィックスを入力(省略可能)",
"Enter Server Information": "サーバー情報の入力",
+ "Enter Setup URI": "セットアップ URIを入力",
"Enter the server information manually": "サーバー情報を手動で入力する",
+ "Enter TURN credential": "TURN 認証情報を入力",
+ "Enter TURN username": "TURN ユーザー名を入力",
+ "Enter your Access Key ID": "アクセスキー ID を入力してください",
+ "Enter your Bucket Name": "バケット名を入力してください",
+ "Enter your database name": "データベース名を入力してください",
+ "Enter your JWT Key ID": "JWT キー ID を入力してください",
+ "Enter your JWT secret or private key": "JWT シークレットまたは秘密鍵を入力してください",
+ "Enter your JWT Subject (CouchDB Username)": "JWT サブジェクト(CouchDB ユーザー名)を入力してください",
+ "Enter your passphrase": "パスフレーズを入力してください",
+ "Enter your password": "パスワードを入力してください",
+ "Enter your Region (e.g., us-east-1, auto for R2)": "リージョンを入力してください(例: us-east-1、R2 の場合は auto)",
+ "Enter your Secret Access Key": "シークレットアクセスキーを入力してください",
+ "Enter your username": "ユーザー名を入力してください",
+ "Error during connection test: ${reason}": "接続テスト中にエラーが発生しました: ${reason}",
+ "Error during testAndFixSettings: ${reason}": "設定のテストと修正(testAndFixSettings)中にエラーが発生しました: ${reason}",
+ "Experimental Settings": "実験的な設定",
"Export": "エクスポート",
"Failed to connect to remote for compaction.": "リモートデータベースに接続できず、コンパクションを実行できませんでした。",
"Failed to connect to remote for compaction. ${reason}": "リモートデータベースに接続できず、コンパクションを実行できませんでした。${reason}",
- "Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.": "Garbage Collection 前にワンショットレプリケーションを開始できませんでした。Garbage Collection はキャンセルされました。",
- "Failed to start replication after Garbage Collection.": "Garbage Collection 後にレプリケーションを開始できませんでした。",
+ "Failed to connect to the server: ${reason}": "サーバーへの接続に失敗しました: ${reason}",
+ "Failed to connect to the server. Please check your settings.": "サーバーに接続できませんでした。設定を確認してください。",
+ "Failed to connect to the signalling relay: ${reason}": "シグナリングリレーへの接続に失敗しました: ${reason}",
+ "Failed to create replicator instance.": "レプリケーターインスタンスの作成に失敗しました。",
+ "Failed to parse Setup-URI.": "セットアップ URIの解析に失敗しました。",
+ "Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.": "ガベージコレクションの前にワンショットレプリケーションを開始できませんでした。ガベージコレクションはキャンセルされました。",
+ "Failed to start replication after Garbage Collection.": "ガベージコレクション後にレプリケーションを開始できませんでした。",
+ "Failed:": "失敗:",
"Fetch": "取得",
- "Fetch chunks on demand": "ユーザーのタイミングでチャンクの更新を確認する",
+ "Fetch chunks on demand": "必要に応じてチャンクを取得する",
"Fetch database with previous behaviour": "以前の動作でデータベースを取得",
"Fetch remote settings": "リモート設定を取得",
+ "FETCHING": "取得中",
+ "Fetching status...": "ステータスを取得中...",
+ "File integrity": "ファイルの整合性",
+ "File prefix on the bucket": "バケット内のファイルプレフィックス",
"File to resolve conflict": "競合を解決するファイル",
+ "File to view History": "履歴を表示するファイル",
"Filename": "ファイル名",
+ "Files with modification times greater than this value (in seconds since the Unix epoch) will not have their events reflected. Set to 0 to disable this limit.": "この値(UNIX エポックからの秒数)より新しい更新日時を持つファイルは、ファイルイベントが反映されません。0 に設定するとこの制限が無効になります。",
+ "Final Confirmation: Overwrite Server Data with This Device's Files": "最終確認: このデバイスのファイルでサーバーのデータを上書きします",
+ "Finalise the process and resume normal operation": "処理を完了して通常の運用を再開",
"First, please select the option that best describes your current situation.": "まず、現在の状況に最も近い項目を選択してください。",
+ "Fix": "修正",
"Flag and restart": "フラグを立てて再起動",
+ "Flagged Selective": "フラグ付き選択同期",
+ "Folder Prefix": "フォルダープレフィックス",
+ "For HS256/HS512 algorithms, provide the shared secret key. For ES256/ES512 algorithms, provide the pkcs8 PEM-formatted private key.": "HS256/HS512 アルゴリズムの場合は共有秘密鍵を指定してください。ES256/ES512 アルゴリズムの場合は pkcs8 PEM 形式の秘密鍵を指定してください。",
"Forces the file to be synced when opened.": "ファイルを開いたときに強制的に同期します。",
"Fresh Start Wipe": "初期化ワイプ",
- "Garbage Collection cancelled by user.": "ユーザーによって Garbage Collection がキャンセルされました。",
- "Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.": "Garbage Collection が完了しました。削除したチャンク: ${deletedChunks} / ${totalChunks}。所要時間: ${seconds} 秒。",
- "Garbage Collection Confirmation": "Garbage Collection の確認",
- "Garbage Collection V3 (Beta)": "ガーベジコレクション V3 (Beta)",
- "Garbage Collection: Found ${unusedChunks} unused chunks to delete.": "Garbage Collection: 削除対象の未使用チャンクが ${unusedChunks} 件見つかりました。",
- "Garbage Collection: Scanned ${scanned} / ~${docCount}": "Garbage Collection: ${scanned} / ~${docCount} をスキャン済み",
- "Garbage Collection: Scanning completed. Total chunks: ${totalChunks}, Used chunks: ${usedChunks}": "Garbage Collection: スキャン完了。総チャンク数: ${totalChunks}、使用中チャンク数: ${usedChunks}",
+ "Furthermore, if conflicts are already present in the server data, they will be synchronised to this device as they are, and you will need to resolve them locally.": "さらに、サーバーデータにすでに競合がある場合は、その状態のままこのデバイスに同期されるため、ローカルで解決する必要があります。",
+ "Garbage Collection cancelled by user.": "ユーザーによってガベージコレクションがキャンセルされました。",
+ "Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.": "ガベージコレクションが完了しました。削除したチャンク: ${deletedChunks} / ${totalChunks}。所要時間: ${seconds} 秒。",
+ "Garbage Collection Confirmation": "ガベージコレクションの確認",
+ "Garbage Collection V3 (Beta)": "ガベージコレクション V3(ベータ)",
+ "Garbage Collection: Found ${unusedChunks} unused chunks to delete.": "ガベージコレクション: 削除対象の未使用チャンクが ${unusedChunks} 件見つかりました。",
+ "Garbage Collection: Scanned ${scanned} / ~${docCount}": "ガベージコレクション: ${scanned} / ~${docCount} をスキャン済み",
+ "Garbage Collection: Scanning completed. Total chunks: ${totalChunks}, Used chunks: ${usedChunks}": "ガベージコレクション: スキャン完了。総チャンク数: ${totalChunks}、使用中チャンク数: ${usedChunks}",
+ "Gathering information...": "情報を収集中...",
+ "Generate Random ID": "ランダムなIDを生成",
+ "Group ID": "グループID",
"Handle files as Case-Sensitive": "ファイルの大文字・小文字を区別する",
- "Hidden Files": "隠しファイル",
+ "Have you created a backup before proceeding?": "続行する前にバックアップを作成しましたか?",
+ "Hidden file synchronization have been temporarily disabled. Please enable them after the fetching, if you need them.": "非表示ファイルの同期は一時的に無効化されました。必要な場合は、取得完了後に有効化してください。",
+ "Hidden Files": "非表示ファイル",
+ "Hide completely": "完全に非表示",
+ "Hide not applicable items": "該当しない項目を非表示",
+ "Hide password": "パスワードを隠す",
+ "Higher (${local} > ${remote})": "高い (${local} > ${remote})",
+ "Highlight diff": "差分をハイライト",
+ "How should files that were deleted on other devices be handled?\n\n- **${NEWER_CLEANUP}**: Delete local files if they were deleted on remote.\n This is useful if you want to keep your vault clean and consistent across devices, but please make sure you have a backup if there is already any important data in your vault.\n- **${NEWER_SYNC_ALL}**: Recreate remote files even if they were deleted on remote.\n This option will keep all your local files, but it may cause duplicates if there are files that exist on local but not on remote. You can clean up these duplicates manually after the synchronisation.": "他のデバイスで削除されたファイルを、このデバイスでどのように扱いますか?\n- **${NEWER_CLEANUP}**: リモートでも削除されたファイルを、このデバイスからも削除します。\n これにより、各 Vault の内容を揃えられます。重要なローカルデータがある場合は、事前にバックアップしてください。\n- **${NEWER_SYNC_ALL}**: リモートで削除されたファイルを、ローカルのコピーから復元します。\n ローカルのファイルを残せますが、ローカルにだけ存在するファイルが重複する場合があります。同期後に重複を手動で整理してください。",
+ "How should files that were deleted on other devices be handled?\n\n- **${NEWER_CLEANUP}**: Delete local files if they were deleted on remote.\n This keeps your Vaults consistent. Back up any important local data first.\n- **${NEWER_SYNC_ALL}**: Recreate remote files even if they were deleted on remote.\n This keeps all local files, but may create duplicates when a file exists locally but not remotely. Remove any duplicates manually after synchronisation.": "他のデバイスで削除されたファイルを、このデバイスでどのように扱いますか?\n- **${NEWER_CLEANUP}**: リモートでも削除されたファイルを、このデバイスからも削除します。\n これにより、各 Vault の内容を揃えられます。重要なローカルデータがある場合は、事前にバックアップしてください。\n- **${NEWER_SYNC_ALL}**: リモートで削除されたファイルを、ローカルのコピーから復元します。\n ローカルのファイルを残せますが、ローカルにだけ存在するファイルが重複する場合があります。同期後に重複を手動で整理してください。",
"How to display network errors when the sync server is unreachable.": "同期サーバーに到達できない場合のネットワークエラーの表示方法を設定します。",
+ "How to handle extra existing local files?": "ローカルにのみ存在する既存ファイルの処理方法",
"How would you like to configure the connection to your server?": "サーバー接続をどのように設定しますか?",
- "I am adding a device to an existing synchronisation setup": "既存の同期構成に端末を追加します",
+ "However, This should not be enabled if you want to increase your secrecy more.": "ただし、秘匿性をより高めたい場合は、この設定を有効にしないでください。",
+ "I am adding a device to an existing synchronisation setup": "既存の同期構成にデバイスを追加します",
+ "I am ready, unlock the database": "準備完了、データベースのロックを解除",
"I am setting this up for the first time": "はじめて設定します",
+ "I am setting up a new server for the first time / I want to reset my existing server.": "新しいサーバーを初めてセットアップする / 既存のサーバーをリセットする",
+ "I am unable to create a backup of my Vault.": "Vaultのバックアップを作成できません。",
+ "I am unable to create a backup of my Vaults.": "Vaultのバックアップを作成できません。",
+ "I have created a backup of my Vault.": "Vaultのバックアップを作成しました。",
+ "I have made a backup, mark this device as resolved": "バックアップを作成済み、このデバイスを解決済みとしてマーク",
"I know my server details, let me enter them": "サーバー情報を把握しているので、自分で入力します",
- "If disabled(toggled), chunks will be split on the UI thread (Previous behaviour).": "無効(トグル)にすると、チャンクはUIスレッドで分割されます(以前の動作)。",
+ "I understand that all changes made on other smartphones or computers possibly could be lost.": "他のスマートフォンやPCで行われたすべての変更が失われる可能性があることを理解しています。",
+ "I understand that other devices will no longer be able to synchronise, and will need to be reset the synchronisation information.": "他のデバイスで同期ができなくなり、同期情報の再設定が必要になることを理解しています。",
+ "I understand that this action is irreversible once performed.": "一度実行するとこの操作を取り消せないことを理解しています。",
+ "I understand the risks and will proceed without a backup.": "リスクを理解した上で、バックアップを取らずに続行します。",
+ "I Understand, Overwrite Server": "理解した上でサーバーを上書きする",
+ "If \"Auto Start P2P Connection\" is enabled, the P2P connection will be started automatically when the plug-in launches.": "「P2P接続を自動開始」が有効な場合、プラグインの起動時に自動的にP2P接続が開始されます。",
+ "If disabled(toggled), chunks will be split on the UI thread (Previous behaviour).": "有効にすると、チャンクは UI スレッドで分割されます(以前の動作)。",
"If enabled per-filed efficient customization sync will be used. We need a small migration when enabling this. And all devices should be updated to v0.23.18. Once we enabled this, we lost a compatibility with old versions.": "有効にすると、ファイルごとの効率的なカスタマイズ同期が使用されます。有効化時に小規模な移行が必要です。また、すべてのデバイスをv0.23.18にアップデートする必要があります。一度有効にすると、古いバージョンとの互換性がなくなります。",
- "If enabled, chunks will be split into no more than 100 items. However, dedupe is slightly weaker.": "有効にすると、チャンクは最大100項目に分割されます。ただし、重複除去の精度は落ちます。",
+ "If enabled, changes will be automatically broadcasted to all connected peers. Notified peers will start fetching the changes.": "有効にすると、接続されているすべてのピアに変更が自動的にブロードキャストされます。通知を受け取ったピアは変更の取得を開始します。",
+ "If enabled, chunks will be split into no more than 100 items. However, dedupe is slightly weaker.": "有効にすると、チャンクは最大100個ずつのまとまりに分割されます。ただし、重複排除の効果はわずかに低下します。",
+ "If enabled, efficient per-file customization sync will be used. A minor migration is required when enabling this feature, and all devices must be updated to v0.23.18. Enabling this feature will result in losing compatibility with older versions.": "有効にすると、効率的なファイル単位のカスタマイズ同期が使用されます。この機能を有効にする際には小規模なデータ移行が必要です。また、すべてのデバイスを v0.23.18 以降にアップデートしてください。有効にすると、古いバージョンとの互換性が失われます。",
"If enabled, newly created chunks are temporarily kept within the document, and graduated to become independent chunks once stabilised.": "有効にすると、新しく作成されたチャンクはドキュメント内に一時的に保持され、安定したら独立したチャンクになります。",
"If enabled, the ⛔ icon will be shown inside the status instead of the file warnings banner. No details will be shown.": "有効にすると、ファイル警告バナーの代わりにステータス内へ ⛔ アイコンのみを表示します。詳細は表示されません。",
+ "If enabled, the file properties will be encrypted in the remote database. This is useful for protecting sensitive information in file paths, sizes, and IDs of its chunks. If you are using V1 E2EE, this only obfuscates the file path.": "有効にすると、リモートデータベース内のファイルプロパティが暗号化されます。これはファイルパス、サイズ、チャンク ID などの機密情報を保護するのに役立ちます。V1 E2EE を使用している場合は、ファイルパスの難読化のみが行われます。",
"If enabled, the file under 1kb will be processed in the UI thread.": "有効にすると、1kb未満のファイルはUIスレッドで処理されます。",
- "If enabled, the notification of hidden files change will be suppressed.": "有効にすると、隠しファイルの変更通知が抑制されます。",
+ "If enabled, the forcePathStyle option will be used for bucket operations.": "有効にすると、バケット操作に forcePathStyle オプションが使用されます。",
+ "If enabled, the notification of hidden files change will be suppressed.": "有効にすると、非表示ファイルの変更通知が抑制されます。",
+ "If enabled, the P2P connection will be automatically started when the application launches.": "有効にすると、アプリケーションの起動時に P2P 接続が自動的に開始されます。",
+ "If enabled, the plugin will not attempt to connect to the remote database even if the chunk was not found locally.": "有効にすると、チャンクがローカルで見つからない場合でも、プラグインはリモートデータベースへの接続を試行しません。",
+ "If enabled, the request API will be used to avoid `inevitable` CORS problems. This is a workaround and may not work in all cases. PLEASE READ THE DOCUMENTATION BEFORE USING THIS OPTION. This is a less-secure option.": "有効にすると、Request API を使用して避けられない CORS 問題を回避します。これは回避策であり、すべてのケースで機能するとは限りません。このオプションを使用する前に必ずドキュメントをお読みください。セキュリティが低下するオプションです。",
"If this enabled, all chunks will be stored with the revision made from its content. (Previous behaviour)": "有効にすると、すべてのチャンクはコンテンツから作成されたリビジョンと共に保存されます(以前の動作)。",
"If this enabled, All files are handled as case-Sensitive (Previous behaviour).": "有効にすると、すべてのファイルは大文字小文字を区別して処理されます(以前の動作)。",
- "If this enabled, chunks will be split into semantically meaningful segments. Not all platforms support this feature.": "有効にすると、チャンクは意味的に有意なセグメントに分割されます。すべてのプラットフォームがこの機能をサポートしているわけではありません。",
- "If this is set, changes to local files which are matched by the ignore files will be skipped. Remote changes are determined using local ignore files.": "これを設定すると、除外ファイルに一致するローカルファイルの変更はスキップされます。リモートの変更はローカルの無視ファイルを使用して判定されます。",
- "If this option is enabled, PouchDB will hold the connection open for 60 seconds, and if no change arrives in that time, close and reopen the socket, instead of holding it open indefinitely. Useful when a proxy limits request duration but can increase resource usage.": "このオプションを有効にすると、PouchDBは接続を60秒間保持し、その間に通信がない場合、一度接続を閉じて再接続します。接続を無期限に保持する代わりにこの動作を行います。プロキシ(Cloudflareなど)がリクエストの持続時間を制限している場合に有用ですが、リソース使用量が増加する可能性があります。",
+ "If this enabled, chunks will be split into semantically meaningful segments. Not all platforms support this feature.": "有効にすると、チャンクは意味のあるセグメント(段落や見出し単位など)に分割されます。一部のプラットフォームではサポートされていません。",
+ "If this enabled, JWT will be used for authentication.": "有効にすると、認証に JWT が使用されます。",
+ "If this is set, changes to local files which are matched by the ignore files will be skipped. Remote changes are determined using local ignore files.": "これを設定すると、除外ファイルに一致するローカルファイルの変更はスキップされます。リモートの変更はローカルの除外ファイルを使用して判定されます。",
+ "If this option is enabled, PouchDB will hold the connection open for 60 seconds, and if no change arrives in that time, close and reopen the socket, instead of holding it open indefinitely. Useful when a proxy limits request duration but can increase resource usage.": "このオプションを有効にすると、PouchDB は接続を60秒間保持し、その間に変更が届かなければ接続を閉じて再接続します。接続を無期限に保持する代わりにこの動作を行います。プロキシがリクエストの持続時間を制限している場合に有用ですが、リソース使用量が増加する可能性があります。",
+ "If you cannot avoid CORS issues, you might want to try this option. It uses Obsidian's internal API to communicate with the CouchDB server. Not compliant with web standards, but works. Note that this might break in future Obsidian versions.": "どうしてもCORSの問題を回避できない場合は、このオプションをお試しください。Obsidianの内部APIを使用してCouchDBサーバーと通信します。Web標準には準拠していませんが動作します。将来のObsidianのアップデートによって動作しなくなる可能性があることにご注意ください。",
+ "If you cannot avoid CORS issues, you might want to try this option. It uses Obsidian's internal API to communicate with the S3 server. Not compliant with web standards, but works. Note that this might break in future Obsidian versions.": "どうしてもCORSの問題を回避できない場合は、このオプションをお試しください。Obsidianの内部APIを使用してS3サーバーと通信します。Web標準には準拠していませんが動作します。将来のObsidianのアップデートによって動作しなくなる可能性があることにご注意ください。",
+ "If you have unsynchronised changes in your Vault on this device, they will likely diverge from the server's versions after the reset. This may result in a large number of file conflicts.": "このデバイスのVaultに未同期の変更がある場合、リセット後にサーバーのバージョンと乖離する可能性が高くなります。これにより、大量のファイル競合が発生する場合があります。",
+ "If you reached the payload size limit when using IBM Cloudant, please decrease batch size and batch limit to a lower value.": "IBM Cloudant の使用中にペイロードサイズ制限に達した場合は、バッチサイズとバッチ上限をより小さい値に減らしてください。",
+ "If you understand the risks and still wish to proceed, select so.": "リスクを理解した上で続行を希望する場合は、選択してください。",
+ "If you want to store the data in a specific folder within the bucket, you can specify a folder prefix here. Otherwise, leave it blank to store data at the root of the bucket.": "バケット内の特定のフォルダーにデータを保存したい場合は、ここにフォルダープレフィックスを指定できます。バケットのルートに保存する場合は空欄のままにしてください。",
+ "If you want to use `LiveSync`, you should broadcast changes. All `watching` peers which detects this will start the replication for fetching.": "`LiveSync` を使用する場合は変更をブロードキャストする必要があります。これを検出したすべての `watching`(監視中)ピアが、取得のためのレプリケーションを開始します。",
+ "Ignore": "無視",
"Ignore and Proceed": "無視して続行",
"Ignore files": "除外ファイル",
"Ignore patterns": "除外パターン",
"Import connection": "接続をインポート",
+ "IMPORTANT": "重要",
+ "In most cases, you should stick with the default algorithm (${algorithm}), This setting is only required if you have an existing Vault encrypted in a different format.": "ほとんどの場合、デフォルトのアルゴリズム(${algorithm})のままで問題ありません。この設定は、別の形式で暗号化された既存のVaultがある場合にのみ必要です。",
+ "In this scenario, Self-hosted LiveSync will recreate metadata for every file and deliberately generate conflicts. Where the file content is identical, these conflicts will be resolved automatically.": "このシナリオでは、Self-hosted LiveSync はすべてのファイルのメタデータを再作成し、意図的に競合を発生させます。ファイルの内容が同一である場合、これらの競合は自動的に解決されます。",
+ "Incoming:": "受信:",
"Incubate Chunks in Document": "ドキュメント内でチャンクを一時保管する",
+ "Initial Action": "初期アクション",
"Initialise all journal history, On the next sync, every item will be received and sent.": "すべてのジャーナル履歴を初期化します。次回の同期時に、すべての項目が再受信・再送信されます。",
+ "Initialise journal received history. On the next sync, every item except this device sent will be downloaded again.": "ジャーナルの受信履歴を初期化します。次回の同期時に、このデバイスが送信した項目以外のすべての項目が再ダウンロードされます。",
+ "Initialise journal sent history. On the next sync, every item except this device received will be sent again.": "ジャーナルの送信履歴を初期化します。次回の同期時に、このデバイスが受信した項目以外のすべての項目が再送信されます。",
+ "Internal timestamp for resolving compatible tweak mismatches.": "互換性のある調整項目の不一致を解決するための内部タイムスタンプ。",
"Interval (sec)": "秒",
+ "INVERTED": "反転",
+ "Issue detection log:": "問題検出ログ:",
+ "It is strongly advised to create a backup before proceeding. Continuing without a backup may lead to data loss.": "続行する前にバックアップを作成することを強くおすすめします。バックアップなしで続行すると、データが失われる可能性があります。",
+ "Just for a minute, please!": "少々お待ちください!",
+ "JWT (JSON Web Token) authentication allows you to securely authenticate with the CouchDB server using tokens. Ensure that your CouchDB server is configured to accept JWTs and that the provided key and settings match the server's configuration. Incidentally, I have not verified it very thoroughly.": "JWT(JSON Web Token)認証を使用すると、トークンを用いて CouchDB サーバーと安全に認証できます。CouchDB サーバーが JWT を受け入れるように設定されており、指定したキーと設定がサーバーの構成と一致していることを確認してください。なお、この機能は十分には検証されていません。",
+ "JWT Algorithm": "JWT アルゴリズム",
+ "JWT Expiration Duration (minutes)": "JWT 有効期限(分)",
+ "JWT Key": "JWT キー",
+ "JWT Key ID (kid)": "JWT キー ID (kid)",
+ "JWT Subject (sub)": "JWT サブジェクト (sub)",
"K.exp": "試験機能",
- "K.long_p2p_sync": "%{title_p2p_sync} (%{exp})",
+ "K.long_p2p_sync": "%{title_p2p_sync}",
"K.P2P": "%{Peer}-to-%{Peer}",
"K.Peer": "Peer",
- "K.ScanCustomization": "Scan customization",
- "K.short_p2p_sync": "P2P Sync (%{exp})",
- "K.title_p2p_sync": "Peer-to-Peer Sync",
- "Keep empty folder": "空フォルダの維持",
- "lang_def": "Default",
+ "K.ScanCustomization": "カスタマイズをスキャン",
+ "K.short_p2p_sync": "P2P 同期",
+ "K.title_p2p_sync": "ピアツーピア同期",
+ "Keep empty folder": "空フォルダーの維持",
+ "Keep local files even if deleted on remote": "リモートで削除されていてもローカルファイルを保持",
+ "Keep local files even if not on remote": "リモートに存在しなくてもローカルファイルを保持",
+ "Keep replication active in the background": "バックグラウンドでもレプリケーションを継続する",
+ "Key ID": "キー ID",
+ "Keypair or pre-shared key": "キーペアまたは事前共有キー(PSK)",
+ "lang_def": "既定(英語)",
"lang-de": "Deutsche",
"lang-def": "%{lang_def}",
"lang-es": "Español",
"lang-fr": "Français",
+ "lang-he": "ヘブライ語",
"lang-ja": "日本語",
"lang-ko": "한국어",
"lang-ru": "Русский",
"lang-zh": "简体中文",
"lang-zh-tw": "繁體中文",
+ "Last tweak modified timestamp": "調整項目の最終更新日時",
"Later": "後で",
+ "Legacy path identity": "従来のパス識別",
"Limit: {datetime} ({timestamp})": "制限: {datetime} ({timestamp})",
- "LiveSync could not handle multiple vaults which have same name without different prefix, This should be automatically configured.": "LiveSyncは、接頭辞(プレフィックス)のない同名の保管庫(Vault)を扱うことができません。これは自動的に設定されます。",
+ "live": "ライブ同期",
+ "LiveSync could not handle multiple vaults which have same name without different prefix, This should be automatically configured.": "LiveSync は、プレフィックスで区別されていない同名の Vault を複数処理できません。通常、プレフィックスは自動的に設定されます。",
"liveSyncReplicator.beforeLiveSync": "LiveSyncの前に、まずOneShotを開始します...",
- "liveSyncReplicator.cantReplicateLowerValue": "これ以上低い値ではレプリケーション(複製)できません。",
+ "liveSyncReplicator.cantReplicateLowerValue": "これ以上低い値ではレプリケーションできません。",
"liveSyncReplicator.checkingLastSyncPoint": "最後に同期したポイントを探しています。",
"liveSyncReplicator.couldNotConnectTo": "${uri} : ${name}に接続できませんでした\n(${db})",
"liveSyncReplicator.couldNotConnectToRemoteDb": "リモートデータベースに接続できませんでした: ${d}",
- "liveSyncReplicator.couldNotConnectToServer": "サーバーに接続できませんでした。",
+ "liveSyncReplicator.couldNotConnectToServer": "リモートへの接続が阻止されたか、失敗しました。",
"liveSyncReplicator.couldNotConnectToURI": "${uri}に接続できませんでした: ${dbRet}",
"liveSyncReplicator.couldNotMarkResolveRemoteDb": "リモートデータベースを解決済みとしてマークできませんでした。",
"liveSyncReplicator.liveSyncBegin": "LiveSyncを開始...",
"liveSyncReplicator.lockRemoteDb": "データ破損を防ぐためリモートデータベースをロック",
"liveSyncReplicator.markDeviceResolved": "このデバイスを『解決済み』としてマーク。",
+ "liveSyncReplicator.mismatchedTweakDetected": "デバイス間で設定の不一致が検出されました。手動レプリケーションを実行すると、解決を試みます。",
"liveSyncReplicator.oneShotSyncBegin": "OneShot同期を開始... (${syncMode})",
- "liveSyncReplicator.remoteDbCorrupted": "リモートデータベースが新しいか破損しています。self-hosted-livesyncの最新バージョンがインストールされていることを確認してください",
+ "liveSyncReplicator.remoteDbCorrupted": "リモートデータベースが新しいバージョンで作成されたか、破損しています。Self-hosted LiveSync の最新バージョンがインストールされていることを確認してください。",
"liveSyncReplicator.remoteDbCreatedOrConnected": "リモートデータベースが作成または接続されました",
"liveSyncReplicator.remoteDbDestroyed": "リモートデータベースが削除されました",
"liveSyncReplicator.remoteDbDestroyError": "リモートデータベースの削除中に問題が発生しました:",
"liveSyncReplicator.remoteDbMarkedResolved": "リモートデータベースが解決済みとしてマークされました。",
- "liveSyncReplicator.replicationClosed": "レプリケーション(複製)が終了しました",
- "liveSyncReplicator.replicationInProgress": "レプリケーション(複製)は既に進行中です",
+ "liveSyncReplicator.replicationClosed": "レプリケーションが終了しました",
+ "liveSyncReplicator.replicationInProgress": "レプリケーションはすでに進行中です",
"liveSyncReplicator.retryLowerBatchSize": "より小さいバッチサイズで再試行: ${batch_size}/${batches_limit}",
"liveSyncReplicator.unlockRemoteDb": "データ破損を防ぐためリモートデータベースをアンロック",
"liveSyncSetting.errorNoSuchSettingItem": "その設定項目は存在しません: ${key}",
"liveSyncSetting.originalValue": "元の値: ${value}",
"liveSyncSetting.valueShouldBeInRange": "値は ${min} < 値 < ${max} の範囲である必要があります",
"liveSyncSettings.btnApply": "適用",
- "Local Database Tweak": "ローカルデータベースの調整",
+ "Local Database Tweak": "ローカルデータベースの調整項目",
+ "Local only": "ローカルのみ",
"Lock": "ロック",
"Lock Server": "サーバーをロック",
"Lock the remote server to prevent synchronization with other devices.": "他のデバイスとの同期を防ぐため、リモートサーバーをロックします。",
@@ -244,32 +489,44 @@
"logPane.pause": "一時停止",
"logPane.title": "Self-hosted LiveSync ログ",
"logPane.wrap": "折り返し",
+ "Longest chunk line threshold value (Not Configurable from the UI Now).": "最長チャンク行の閾値(現在 UI からは設定不可)。",
+ "Lower (${local} < ${remote})": "低い (${local} < ${remote})",
+ "Maintenance Commands": "メンテナンスコマンド",
+ "Maintenance mode": "メンテナンスモード",
"Maximum delay for batch database updating": "バッチデータベース更新の最大遅延",
+ "Maximum file modification time for reflected file events": "ファイルイベントを反映する最大ファイル更新日時",
"Maximum file size": "最大ファイル容量",
"Maximum Incubating Chunk Size": "保持するチャンクの最大サイズ",
"Maximum Incubating Chunks": "一時保管する最大チャンク数",
"Maximum Incubation Period": "最大保持期限",
- "MB (0 to disable).": "MB (0で無効化)。",
+ "Maximum request size for manually resending chunks": "チャンクを手動で再送する際の最大リクエストサイズ",
+ "MB (0 to disable).": "MB(0で無効化)。",
+ "MB per request": "1リクエストあたりの MB 数",
"Memory cache": "メモリキャッシュ",
"Memory cache size (by total characters)": "全体でキャッシュする文字数",
- "Memory cache size (by total items)": "全体のキャッシュサイズ",
+ "Memory cache size (by total items)": "メモリキャッシュのサイズ(項目数)",
"Merge": "マージ",
+ "Minimum Chunk Size (Not Configurable from the UI Now).": "最小チャンクサイズ(現在 UI からは設定不可)。",
"Minimum delay for batch database updating": "バッチデータベース更新の最小遅延",
"Minimum interval for syncing": "同期間隔の最小値",
+ "Mixed": "混在",
"moduleCheckRemoteSize.logCheckingStorageSizes": "ストレージサイズを確認中",
"moduleCheckRemoteSize.logCurrentStorageSize": "リモートストレージサイズ: ${measuredSize}",
"moduleCheckRemoteSize.logExceededWarning": "リモートストレージサイズ: ${measuredSize} が ${notifySize} を超過しました",
- "moduleCheckRemoteSize.logThresholdEnlarged": "しきい値が ${size}MB に設定されました",
- "moduleCheckRemoteSize.msgConfirmRebuild": "これは少し時間がかかる場合があります。本当に今すべてを再構築しますか?",
- "moduleCheckRemoteSize.msgDatabaseGrowing": "**データベースが大きくなっています!** でも心配しないでください。リモートストレージの容量が不足する前に対応できます。\n\n| 測定サイズ | 設定サイズ |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 長年使用している場合、参照されていないチャンク(つまりゴミ)がデータベースに蓄積している可能性があります。そのため、すべてを再構築することをお勧めします。おそらくかなり小さくなるでしょう。\n>\n> 単純に保管庫の容量が増えている場合は、事前にファイルを整理してからすべてを再構築するのが良いでしょう。Self-hosted LiveSyncは処理速度を上げるため、削除しても実際のデータを削除しません。これはおおまかに[documentation](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)に記載されています。\n>\n> 増加を気にしない場合は、通知制限を100MB単位で増やすことができます。これは自分のサーバーで実行している場合に適しています。ただし、定期的にすべてを再構築する方が良いでしょう。\n>\n\n> [!WARNING]\n> すべてを再構築する場合は、すべてのデバイスが同期されていることを確認してください。もちろん、プラグインは可能な限り解決しようと努力はしますけど...\n",
- "moduleCheckRemoteSize.msgSetDBCapacity": "リモートストレージの容量が不足する前に対策を講じるため、**最大データベース容量の警告**を設定できます。\nこれを有効にしますか?\n\n> [!MORE]-\n> - 0: ストレージサイズについて警告しない。\n> 自宅サーバーなど、リモートストレージに十分な容量がある場合に推奨されます。ストレージサイズを確認し、手動で再構築できます。\n> - 800: リモートストレージサイズが800MBを超えたら警告。\n> 1GB制限のfly.ioやIBM Cloudantを使用している場合に推奨されます。\n> - 2000: リモートストレージサイズが2GBを超えたら警告。\n\n制限に達した場合、段階的に制限を増やすよう求められます。\n",
- "moduleCheckRemoteSize.option2GB": "2GB (標準)",
- "moduleCheckRemoteSize.option800MB": "800MB (Cloudant, fly.io)",
+ "moduleCheckRemoteSize.logThresholdEnlarged": "しきい値が ${size} MB に引き上げられました",
+ "moduleCheckRemoteSize.msgConfirmRebuild": "この処理には時間がかかる場合があります。今すぐすべてを再構築しますか?",
+ "moduleCheckRemoteSize.msgDatabaseGrowing": "**データベースが増加しています。** リモートストレージの容量が不足する前に対処できます。\n\n| 測定サイズ | 設定サイズ |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> Vault を長年使用している場合、参照されていないチャンクがデータベース内に蓄積している可能性があります。データベースを再構築することで、この未使用データを削除してサイズを大幅に削減できる可能性があります。\n>\n> 単純に Vault の容量自体が増加している場合は、データベースを再構築する前にファイルを整理してください。削除処理を高速に保つため、Self-hosted LiveSync は削除されたデータを即座には消去しません。詳細は[技術ドキュメント](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)を参照してください。\n>\n> 容量の増加に問題がなければ、通知制限を 100 MB 単位で引き上げられます。自前でサーバーを運用している場合に適していますが、定期的な再構築をおすすめします。\n>\n\n> [!WARNING]\n> すべてを再構築する前に、すべてのデバイスが同期されていることを確認してください。プラグインは可能な限り変更内容をマージします。\n",
+ "moduleCheckRemoteSize.msgSetDBCapacity": "リモートストレージの容量が不足する前に対策を講じるため、**最大データベース容量の警告**を設定できます。\nこれを有効にしますか?\n\n> [!MORE]-\n> - 0: ストレージサイズに関する警告は行いません。\n> 自宅サーバーなど、リモートストレージに十分な容量がある場合に推奨されます。ストレージサイズを確認し、手動で再構築できます。\n> - 800: リモートストレージサイズが800MBを超えた場合に警告します。\n> 1GB制限のfly.ioやIBM Cloudantを使用している場合に推奨されます。\n> - 2000: リモートストレージサイズが2GBを超えた場合に警告します。\n\n制限に達した場合、段階的に制限を増やすよう求められます。\n",
+ "moduleCheckRemoteSize.noticeExceeded": "リモートストレージのサイズは ${measuredSize} で、設定された通知しきい値 ${notifySize} を超えています。{HERE}",
+ "moduleCheckRemoteSize.noticeNotConfigured": "リモートストレージサイズの通知は設定されていません。{HERE}",
+ "moduleCheckRemoteSize.option2GB": "2 GB(標準)",
+ "moduleCheckRemoteSize.option800MB": "800 MB(Cloudant、fly.io)",
"moduleCheckRemoteSize.optionAskMeLater": "後で確認する",
"moduleCheckRemoteSize.optionDismiss": "無視",
- "moduleCheckRemoteSize.optionIncreaseLimit": "${newMax}MBに設定",
+ "moduleCheckRemoteSize.optionIncreaseLimit": "${newMax} MB に引き上げる",
"moduleCheckRemoteSize.optionNoWarn": "いいえ、警告しないでください",
- "moduleCheckRemoteSize.optionRebuildAll": "今すべてを再構築",
+ "moduleCheckRemoteSize.optionRebuildAll": "今すぐすべてを再構築",
+ "moduleCheckRemoteSize.optionReview": "選択肢を確認",
"moduleCheckRemoteSize.titleDatabaseSizeLimitExceeded": "リモートストレージサイズが制限を超過しました",
"moduleCheckRemoteSize.titleDatabaseSizeNotify": "データベースサイズ通知の設定",
"moduleInputUIObsidian.defaultTitleConfirmation": "確認",
@@ -280,39 +537,40 @@
"moduleLiveSyncMain.logLoadingPlugin": "プラグインをロード中...",
"moduleLiveSyncMain.logPluginInitCancelled": "プラグインの初期化がモジュールによってキャンセルされました",
"moduleLiveSyncMain.logPluginVersion": "Self-hosted LiveSync v${manifestVersion} ${packageVersion}",
- "moduleLiveSyncMain.logReadChangelog": "LiveSyncが更新されました。変更履歴をお読みください!",
+ "moduleLiveSyncMain.logReadChangelog": "LiveSync が更新されました。変更履歴(Change Log)をご確認ください。",
"moduleLiveSyncMain.logSafetyScanCompleted": "追加の安全スキャンが完了しました",
"moduleLiveSyncMain.logSafetyScanFailed": "モジュールで追加の安全スキャンが失敗しました",
"moduleLiveSyncMain.logUnloadingPlugin": "プラグインをアンロード中...",
- "moduleLiveSyncMain.logVersionUpdate": "LiveSyncが更新されました。互換性のない更新の場合、すべての自動同期が一時的に無効化されています。有効にする前に、すべてのデバイスが最新の状態であることを確認してください。",
- "moduleLiveSyncMain.msgScramEnabled": "Self-hosted LiveSyncは一部のイベントを無視するように設定されています。これは正しいですか?\n\n| タイプ | ステータス | メモ |\n|:---:|:---:|---|\n| ストレージイベント | ${fileWatchingStatus} | すべての変更が無視されます |\n| データベースイベント | ${parseReplicationStatus} | すべての同期された変更が延期されます |\n\nこれらを再開してObsidianを再起動しますか?\n\n> [!DETAILS]-\n> これらのフラグは、プラグインが再構築またはフェッチ中に設定されます。プロセスが異常終了した場合、意図せず保持されることがあります。\n> 不明な場合は、これらのプロセスを再実行してみてください。必ず保管庫をバックアップしてください。\n",
+ "moduleLiveSyncMain.logVersionUpdate": "LiveSync が更新されました。互換性のない更新の場合は、すべての自動同期が一時的に無効化されています。有効にする前に、すべてのデバイスが最新の状態であることを確認してください。",
+ "moduleLiveSyncMain.msgScramEnabled": "Self-hosted LiveSync は一部のイベントを無視または保留するように設定されています。これは意図した設定ですか?\n\n| タイプ | ステータス | メモ |\n|:---:|:---:|---|\n| ストレージイベント | ${fileWatchingStatus} | すべての変更が無視されます |\n| データベースイベント | ${parseReplicationStatus} | すべての同期済みの変更が保留されます |\n\nこれらのイベントの処理を再開して Obsidian を再起動しますか?\n\n> [!DETAILS]-\n> これらのフラグは、再構築または取得(Fetch)の処理中にプラグインによって設定されます。プロセスが予期せず終了した場合、フラグが残ったままになることがあります。\n> 判断に迷う場合は、Vault をバックアップした上で、該当の操作を再実行してください。\n",
"moduleLiveSyncMain.optionKeepLiveSyncDisabled": "LiveSyncを無効のままにする",
"moduleLiveSyncMain.optionResumeAndRestart": "再開してObsidianを再起動",
"moduleLiveSyncMain.titleScramEnabled": "緊急停止(Scram)が有効",
"moduleLocalDatabase.logWaitingForReady": "しばらくお待ちください...",
+ "moduleLog.pathComponentTooLong": "このパスには、${maxBytes} UTF-8 バイトを超えるファイル名またはフォルダー名が含まれています。一部の Android や Linux のファイルシステムでは正常に動作しない可能性があります。",
"moduleLog.showLog": "ログを表示",
"moduleMigration.fix0256.buttons.checkItLater": "後で確認する",
"moduleMigration.fix0256.buttons.DismissForever": "修正済み、今後確認しない",
"moduleMigration.fix0256.buttons.fix": "修正",
- "moduleMigration.fix0256.message": "最近のバグ(v0.25.6)により、一部のファイルが同期データベースに正しく保存されていない可能性があります。\nファイルをスキャンし、修正が必要なものが見つかりました。\n\n**修正準備ができたファイル:**\n\n${files}\n\nこれらのファイルはストレージ上の元ファイルとサイズが一致しており、復元可能です。\n「修正」ボタンをクリックしてデータベースを修正できます。\n\n${messageUnrecoverable}\n\n再実行したい場合は、Hatchから実行できます。\n",
- "moduleMigration.fix0256.messageUnrecoverable": "**このデバイスで修正できないファイル:**\n\n${filesNotRecoverable}\n\nこれらのファイルはメタデータに不整合があり、このデバイスでは修正できません(ほとんどの場合、どちらが正しいか判定できません)。\n復元するには、他のデバイスで確認するか、バックアップから手動で復元してください。\n",
+ "moduleMigration.fix0256.message": "v0.25.6 の不具合により、一部のファイルが同期データベースに正しく保存されていない可能性があります。\nファイルをスキャンしたところ、修復が必要なものが見つかりました。\n\n**修復可能なファイル:**\n\n${files}\n\nこれらのファイルはストレージ上の元ファイルとサイズが一致しており、復元できる可能性があります。\nデータベースを修復するには、下の「修正」ボタンを選択してください。\n\n${messageUnrecoverable}\n\n再実行したい場合は、Hatch から実行できます。\n",
+ "moduleMigration.fix0256.messageUnrecoverable": "**このデバイスで修復できないファイル:**\n\n${filesNotRecoverable}\n\nこれらのファイルはメタデータに不整合があり、このデバイスでは修復できません(ほとんどの場合、どちらが正しいか判定できません)。\n復元するには、他のデバイスでもこの機能で確認するか、バックアップから手動で復元してください。\n",
"moduleMigration.fix0256.title": "破損ファイルが検出されました",
- "moduleMigration.insecureChunkExist.buttons.fetch": "リモートを既に再構築した。リモートからフェッチ",
+ "moduleMigration.insecureChunkExist.buttons.fetch": "リモートは再構築済みです。リモートから取得します。",
"moduleMigration.insecureChunkExist.buttons.later": "後で行う",
"moduleMigration.insecureChunkExist.buttons.rebuild": "すべてを再構築",
- "moduleMigration.insecureChunkExist.laterMessage": "できるだけ早く対処することを強くお勧めします!",
- "moduleMigration.insecureChunkExist.message": "一部のチャンクが安全に保存されておらず、データベースで暗号化されていません。\n**この問題を修正するにはデータベースを再構築してください**。\n\nリモートデータベースがSSLで設定されていない、または安全性の低い認証情報を使用している場合、**機密データが漏洩するリスクがあります**。\n\n注意: すべてのデバイスでSelf-hosted LiveSync v0.25.6以降にアップグレードし、必ず保管庫をバックアップしてください。\n注意2: すべてを再構築とフェッチは時間とトラフィックを消費します。オフピーク時間に安定したネットワークで実行してください。\n",
+ "moduleMigration.insecureChunkExist.laterMessage": "できるだけ早く対処することを強く推奨します。",
+ "moduleMigration.insecureChunkExist.message": "一部のチャンクが安全に保存されておらず、データベースで暗号化されていません。\n**この問題を修正するにはデータベースを再構築してください**。\n\nリモートデータベースがSSLで設定されていない、または安全性の低い認証情報を使用している場合、**機密データが漏洩するリスクがあります**。\n\n注意: すべてのデバイスでSelf-hosted LiveSync v0.25.6以降にアップグレードし、必ずVaultをバックアップしてください。\n注意2: 「すべてを再構築」と「取得」には時間と通信量がかかります。オフピーク時間に安定したネットワーク環境で実行してください。\n",
"moduleMigration.insecureChunkExist.title": "安全でないチャンクが見つかりました!",
- "moduleMigration.logBulkSendCorrupted": "チャンクの一括送信が有効にされていましたが、この機能に問題がありました。ご不便をおかけして申し訳ありません。自動的に無効化されました。",
+ "moduleMigration.logBulkSendCorrupted": "チャンクの一括送信が有効になっていましたが、この機能に問題が発生したため、自動的に無効化されました。",
"moduleMigration.logFetchRemoteTweakFailed": "リモートの調整値の取得に失敗しました",
"moduleMigration.logLocalDatabaseNotReady": "何か問題が発生しました!ローカルデータベースが準備できていません",
"moduleMigration.logMigratedSameBehaviour": "以前と同じ動作でdb:${current}に移行しました",
"moduleMigration.logMigrationFailed": "${old}から${current}への移行が失敗またはキャンセルされました",
"moduleMigration.logRedflag2CreationFail": "redflag2の作成に失敗しました",
"moduleMigration.logRemoteTweakUnavailable": "リモートの調整値を取得できませんでした",
- "moduleMigration.logSetupCancelled": "セットアップがキャンセルされました。Self-hosted LiveSyncはセットアップを待っています!",
- "moduleMigration.msgFetchRemoteAgain": "ご存知のとおり、self-hosted LiveSyncはデフォルトの動作とデータベース構造を変更しました。\n\nご協力のおかげで、リモートデータベースはすでに移行されているようです。おめでとうございます!\n\nしかし、もう少し必要です。このデバイスの設定はリモートデータベースと互換性がありません。リモートデータベースを再度フェッチする必要があります。今すぐリモートから再フェッチしますか?\n\n___注意: 設定が変更され、データベースが再フェッチされるまで同期できません。___\n___注意2: チャンクは完全に不変なので、メタデータと差分のみフェッチできます。___",
- "moduleMigration.msgSinceV02321": "v0.23.21以降、self-hosted LiveSyncはデフォルトの動作とデータベース構造を変更しました。以下の変更が行われました:\n\n1. **ファイル名の大文字小文字の区別**\n ファイル名の処理が大文字小文字を区別しなくなりました。これは、ファイル名の大文字小文字を効果的に管理しないLinuxとiOS以外のほとんどのプラットフォームにとって有益な変更です。\n (これらの環境では、同じ名前で大文字小文字が異なるファイルに対して警告が表示されます)。\n\n2. **チャンクのリビジョン処理**\n チャンクは不変であり、リビジョンを固定できます。この変更により、ファイル保存のパフォーマンスが向上します。\n\n___しかし、これらの変更を有効にするには、リモートとローカルの両方のデータベースを再構築する必要があります。このプロセスは数分かかります。時間に余裕があるときに行うことをお勧めします。___\n\n- 以前の動作を維持したい場合は、`${KEEP}`を使用してこのプロセスをスキップできます。\n- 時間がない場合は、`${DISMISS}`を選択してください。後で再度確認されます。\n- 別のデバイスでデータベースを再構築した場合は、`${DISMISS}`を選択して再度同期してみてください。差異が検出されたため、再度確認されます。",
+ "moduleMigration.logSetupCancelled": "セットアップがキャンセルされました。Self-hosted LiveSync の設定を完了してください。",
+ "moduleMigration.msgFetchRemoteAgain": "Self-hosted LiveSync のデフォルトの動作とデータベース構造が変更されました。リモートデータベースは正常に移行されたようです。\n\nしかし、このデバイスの設定はリモートデータベースと互換性がないため、リモートデータベースを再度取得(Fetch)する必要があります。今すぐ取得しますか?\n\n___注意: 設定を更新してデータベースを再取得するまで同期できません。___\n___注意2: チャンクは不変であるため、メタデータと変更されたデータのみが取得されます。___",
+ "moduleMigration.msgSinceV02321": "v0.23.21 以降、Self-hosted LiveSync のデフォルトの動作とデータベース構造が変更されました。変更点は以下のとおりです:\n\n1. **ファイル名の大文字小文字を区別しない処理**\n ファイル名は大文字小文字を区別せずに処理されるようになりました。Linux および iOS では大文字小文字のみが異なるファイルが個別に扱われる場合があり、該当するファイル名が検出されると警告が表示されます。\n\n2. **チャンクのリビジョン処理**\n チャンクは不変であるため、リビジョンを固定できます。これによりファイル保存のパフォーマンスが向上します。\n\n___いずれの変更を適用する場合でも、ローカルとリモートの両方のデータベースを再構築する必要があります。処理には数分かかるため、時間に余裕があるときに実行してください。___\n\n- 以前の動作を維持したい場合は、`${KEEP}` を使用してこの処理をスキップできます。\n- 時間がない場合は `${DISMISS}` を選択してください。後で再度確認が表示されます。\n- 別のデバイスでデータベースを再構築した場合は、`${DISMISS}` を選択して再度同期を試してください。差異が検出された場合は、再度確認が表示されます。",
"moduleMigration.optionAdjustRemote": "リモートに合わせる",
"moduleMigration.optionDecideLater": "後で決める",
"moduleMigration.optionEnableBoth": "両方を有効にする",
@@ -320,27 +578,45 @@
"moduleMigration.optionEnableFixedRevisionForChunks": "#2のみ有効にする",
"moduleMigration.optionKeepPreviousBehaviour": "以前の動作を維持",
"moduleMigration.optionNoAskAgain": "いいえ、後で確認する",
- "moduleMigration.optionYesFetchAgain": "はい、再フェッチする",
+ "moduleMigration.optionYesFetchAgain": "はい、再取得する",
"moduleMigration.titleCaseSensitivity": "大文字小文字の区別",
"moduleObsidianMenu.replicate": "レプリケート",
"More actions": "その他の操作",
- "Move remotely deleted files to the trash, instead of deleting.": "リモートで削除されたファイルを削除せずにゴミ箱に移動する。",
+ "Mostly Complete: Decision Required": "ほぼ完了: 選択が必要です",
+ "Move remotely deleted files to the trash, instead of deleting.": "リモートで削除されたファイルを、削除する代わりにゴミ箱へ移動します。",
+ "Move remotely deleted files to the trash, instead of deleting. (This setting is ineffective from Obsidian v1.7.2 onwards, as deletion always respects your Obsidian preferences.)": "リモートで削除されたファイルを直接削除せずゴミ箱へ移動します。(Obsidian v1.7.2 以降、削除は常に Obsidian の環境設定に従うため、この設定は効果がありません。)",
+ "My remote server is already set up. I want to join this device.": "リモートサーバーの設定はすでに完了しています。このデバイスを追加したいです。",
+ "Name": "名前",
"Network warning style": "ネットワーク警告の表示方式",
+ "NEW": "新規",
"New Remote": "新しいリモート",
- "No connected device information found. Cancelling Garbage Collection.": "接続済みデバイスの情報が見つかりませんでした。Garbage Collection をキャンセルします。",
+ "Newer (${diff})": "より新しい (${diff})",
+ "No checks have been performed yet.": "チェックはまだ実行されていません。",
+ "No connected device information found. Cancelling Garbage Collection.": "接続済みデバイスの情報が見つかりませんでした。ガベージコレクションをキャンセルします。",
+ "No Connection": "未接続",
+ "No devices available. Waiting for other devices to connect...": "利用可能なデバイスがありません。他のデバイスの接続を待機しています...",
+ "No Items.": "項目がありません。",
"No limit configured": "制限は設定されていません",
+ "NO PREVIEW": "プレビューなし",
"No, please take me back": "いいえ、前に戻ります",
"Node ID": "ノード ID",
"Node Information Missing": "ノード情報がありません",
"Non-Synchronising files": "同期しないファイル",
"Normal Files": "通常ファイル",
- "Not all messages have been translated. And, please revert to \"Default\" when reporting errors.": "すべてのメッセージが翻訳されているわけではありません。また、Issue報告の際にはいったん\"Default\"に戻してください",
- "Notify all setting files": "すべての設定を通知",
+ "Not all messages have been translated. And, please revert to \"Default\" when reporting errors.": "未翻訳のメッセージも一部含まれます。問題を報告する際は、一度表示言語を「Default(英語)」に戻してください。",
+ "Not configured": "未設定",
+ "Not now": "今はしない",
+ "Note that the Group ID is not limited to the generated format; you can use any string as the Group ID.": "グループIDは生成された形式に限らず、任意の文字列を使用できます。",
+ "Note that you can generate a new Setup URI by running the \"Copy settings as a new Setup URI\" command in the command palette.": "コマンドパレットで「Copy settings as a new Setup URI」コマンドを実行することで、新しいセットアップ URIを生成できます。",
+ "Notify all setting files": "すべての設定同期ファイルを通知",
"Notify customized": "カスタマイズが行われたら通知する",
- "Notify when other device has newly customized.": "別の端末がカスタマイズを行なったら通知する",
- "Notify when the estimated remote storage size exceeds on start up": "起動時に予想リモートストレージサイズを超えたら通知",
- "Number of batches to process at a time. Defaults to 40. Minimum is 2. This along with batch size controls how many docs are kept in memory at a time.": "1度に処理するバッチの数。デフォルトは40、最小は2。この数値は、どれだけの容量の書類がメモリに保存されるかも定義します。",
+ "Notify when other device has newly customized.": "別のデバイスがカスタマイズを行ったら通知する",
+ "Notify when the estimated remote storage size exceeds on start up": "起動時に推定リモートストレージサイズがしきい値を超えたら通知",
+ "Now we can choose how to split the chunks; V3 is the most efficient. If you have troubled, please make this Default or Legacy.": "チャンクの分割方法を選択できるようになりました。V3 が最も効率的です。問題が発生した場合は、この設定を「Default」または「Legacy」に戻してください。",
+ "Number of batches to process at a time. Defaults to 40. Minimum is 2. This along with batch size controls how many docs are kept in memory at a time.": "一度に処理するバッチの数。デフォルトは40、最小は2です。この値とバッチサイズによって、一度にメモリ内に保持されるドキュメントの数が決まります。",
"Number of changes to sync at a time. Defaults to 50. Minimum is 2.": "一度に同期する変更の数。デフォルトは50、最小は2。",
+ "Obfuscate Properties": "プロパティの難読化",
+ "Obfuscating properties (e.g., path of file, size, creation and modification dates) adds an additional layer of security by making it harder to identify the structure and names of your files and folders on the remote server. This helps protect your privacy and makes it more difficult for unauthorized users to infer information about your data.": "プロパティ(ファイルパス、サイズ、作成日時や変更日時など)を難読化すると、リモートサーバー上のファイルやフォルダーの構造や名前の特定が困難になり、セキュリティ層が追加されます。これによりプライバシーが保護され、権限のないユーザーがデータに関する情報を推測しにくくなります。",
"Obsidian version": "Obsidian バージョン",
"obsidianLiveSyncSettingTab.btnApply": "適用",
"obsidianLiveSyncSettingTab.btnCheck": "確認",
@@ -353,14 +629,14 @@
"obsidianLiveSyncSettingTab.btnStart": "開始",
"obsidianLiveSyncSettingTab.btnTest": "テスト",
"obsidianLiveSyncSettingTab.btnUse": "使用",
- "obsidianLiveSyncSettingTab.buttonFetch": "フェッチ",
+ "obsidianLiveSyncSettingTab.buttonFetch": "取得",
"obsidianLiveSyncSettingTab.defaultLanguage": "デフォルト",
- "obsidianLiveSyncSettingTab.descConnectSetupURI": "セットアップURIを使用してSelf-hosted LiveSyncをセットアップする推奨方法です。",
- "obsidianLiveSyncSettingTab.descCopySetupURI": "新しいデバイスのセットアップにおすすめ!",
- "obsidianLiveSyncSettingTab.descEnableLiveSync": "上記の2つのオプションのいずれかを設定するか、すべての設定を手動で完了した後にのみ有効にしてください。",
- "obsidianLiveSyncSettingTab.descFetchConfigFromRemote": "既に設定済みのリモートサーバーから必要な設定を取得します。",
- "obsidianLiveSyncSettingTab.descManualSetup": "推奨しませんが、セットアップURIがない場合に便利です",
- "obsidianLiveSyncSettingTab.descTestDatabaseConnection": "データベース接続を開きます。リモートデータベースが見つからず、データベースを作成する権限がある場合は、データベースが作成されます。",
+ "obsidianLiveSyncSettingTab.descConnectSetupURI": "セットアップ URIを使用して Self-hosted LiveSync を設定する推奨手順です。",
+ "obsidianLiveSyncSettingTab.descCopySetupURI": "新しいデバイスのセットアップにおすすめです!",
+ "obsidianLiveSyncSettingTab.descEnableLiveSync": "上記の2つのオプションのいずれかを設定するか、すべての設定を手動で完了してから有効にしてください。",
+ "obsidianLiveSyncSettingTab.descFetchConfigFromRemote": "すでに設定済みのリモートサーバーから必要な設定を取得します。",
+ "obsidianLiveSyncSettingTab.descManualSetup": "推奨されませんが、セットアップ URIがない場合に便利です。",
+ "obsidianLiveSyncSettingTab.descTestDatabaseConnection": "データベース接続をテストします。リモートデータベースが存在せず、作成権限がある場合は自動的に作成されます。",
"obsidianLiveSyncSettingTab.descValidateDatabaseConfig": "データベース設定の潜在的な問題を確認し、修正します。",
"obsidianLiveSyncSettingTab.errAccessForbidden": "❗ アクセスが禁止されています。",
"obsidianLiveSyncSettingTab.errCannotContinueTest": "テストを続行できませんでした。",
@@ -376,9 +652,9 @@
"obsidianLiveSyncSettingTab.errRequireValidUserAuth": "❗ chttpd_auth.require_valid_userが不正です。",
"obsidianLiveSyncSettingTab.labelDisabled": "⏹️ : 無効",
"obsidianLiveSyncSettingTab.labelEnabled": "🔁 : 有効",
- "obsidianLiveSyncSettingTab.levelAdvanced": " (上級)",
- "obsidianLiveSyncSettingTab.levelEdgeCase": " (エッジケース)",
- "obsidianLiveSyncSettingTab.levelPowerUser": " (エキスパート)",
+ "obsidianLiveSyncSettingTab.levelAdvanced": "(上級)",
+ "obsidianLiveSyncSettingTab.levelEdgeCase": "(エッジケース)",
+ "obsidianLiveSyncSettingTab.levelPowerUser": "(エキスパート)",
"obsidianLiveSyncSettingTab.linkOpenInBrowser": "ブラウザで開く",
"obsidianLiveSyncSettingTab.linkPageTop": "ページトップ",
"obsidianLiveSyncSettingTab.linkTipsAndTroubleshooting": "ヒントとトラブルシューティング",
@@ -400,9 +676,10 @@
"obsidianLiveSyncSettingTab.logErrorOccurred": "エラーが発生しました!!",
"obsidianLiveSyncSettingTab.logEstimatedSize": "推定サイズ: ${size}",
"obsidianLiveSyncSettingTab.logPassphraseInvalid": "パスフレーズが無効です、修正してください。",
- "obsidianLiveSyncSettingTab.logPassphraseNotCompatible": "エラー: パスフレーズがリモートサーバーと適合しません!再度確認してください!",
- "obsidianLiveSyncSettingTab.logRebuildNote": "同期が無効になりました。必要に応じてフェッチして再有効化してください。",
+ "obsidianLiveSyncSettingTab.logPassphraseNotCompatible": "エラー: パスフレーズがリモートサーバーと一致しません!再度確認してください!",
+ "obsidianLiveSyncSettingTab.logRebuildNote": "同期が無効になりました。必要に応じてデータを取得し、同期を再有効化してください。",
"obsidianLiveSyncSettingTab.logSelectAnyPreset": "プリセットを選択してください。",
+ "obsidianLiveSyncSettingTab.logServerConfigurationCheck": "サーバー設定の確認",
"obsidianLiveSyncSettingTab.msgAreYouSureProceed": "本当に続行しますか?",
"obsidianLiveSyncSettingTab.msgChangesNeedToBeApplied": "変更を適用する必要があります!",
"obsidianLiveSyncSettingTab.msgConfigCheck": "--設定確認--",
@@ -414,34 +691,34 @@
"obsidianLiveSyncSettingTab.msgDone": "--完了--",
"obsidianLiveSyncSettingTab.msgEnableCors": "httpd.enable_corsを設定",
"obsidianLiveSyncSettingTab.msgEnableCorsChttpd": "chttpd.enable_corsを設定",
- "obsidianLiveSyncSettingTab.msgEnableEncryptionRecommendation": "エンドツーエンド暗号化とパス難読化を有効にすることをお勧めします。暗号化なしで続行してもよろしいですか?",
+ "obsidianLiveSyncSettingTab.msgEnableEncryptionRecommendation": "エンドツーエンド暗号化とパス難読化を有効にすることをおすすめします。暗号化なしで続行してもよろしいですか?",
"obsidianLiveSyncSettingTab.msgFetchConfigFromRemote": "リモートサーバーから設定を取得しますか?",
- "obsidianLiveSyncSettingTab.msgIfConfigNotPersistent": "サーバー設定が永続的でない場合(例: Dockerで実行中)、ここの値は変更される可能性があります。接続できるようになったら、サーバーのlocal.iniの設定を更新してください。",
- "obsidianLiveSyncSettingTab.msgInvalidPassphrase": "暗号化パスフレーズが無効かもしれません。続行してもよろしいですか?",
- "obsidianLiveSyncSettingTab.msgNewVersionNote": "アップグレード通知でここに来ましたか?バージョン履歴を確認してください。納得したらボタンをクリックしてください。新しい更新があると再度確認されます。",
+ "obsidianLiveSyncSettingTab.msgIfConfigNotPersistent": "サーバー設定が永続的でない場合(例: Dockerで実行中)、ここの値は変更される可能性があります。接続できるようになったら、サーバー側の local.ini の設定を更新してください。",
+ "obsidianLiveSyncSettingTab.msgInvalidPassphrase": "暗号化パスフレーズが無効である可能性があります。続行してもよろしいですか?",
+ "obsidianLiveSyncSettingTab.msgNewVersionNote": "アップデート通知からこの画面を開きましたか?バージョン履歴を確認し、問題がなければボタンを選択してください。次回のアップデート後に再度この確認が表示されます。",
"obsidianLiveSyncSettingTab.msgNonHTTPSInfo": "非HTTPS URIとして設定されています。モバイルデバイスでは動作しない可能性があります。",
"obsidianLiveSyncSettingTab.msgNonHTTPSWarning": "非HTTPS URIに接続できません。設定を更新して再試行してください。",
"obsidianLiveSyncSettingTab.msgNotice": "---お知らせ---",
- "obsidianLiveSyncSettingTab.msgObjectStorageWarning": "警告: この機能は開発中です。以下の点にご注意ください:\n- 追記専用アーキテクチャ。ストレージを縮小するには再構築が必要です。\n- やや不安定です。\n- 初回同期時、すべての履歴がリモートから転送されます。データ制限と速度に注意してください。\n- ライブ同期は差分のみです。\n\n問題があれば、またはこの機能についてアイデアがあれば、GitHubにIssueを作成してください。\nご協力に感謝します。",
+ "obsidianLiveSyncSettingTab.msgObjectStorageWarning": "警告: この機能は開発中です。以下の点にご注意ください:\n- 追記専用のアーキテクチャです。ストレージを縮小するには再構築が必要です。\n- やや不安定です。\n- 初回同期時、すべての履歴がリモートから転送されます。データ制限と速度に注意してください。\n- ライブ同期は差分のみです。\n\n問題が発生した場合や、この機能についてアイデアがある場合は、GitHub で Issue を作成してください。\nご協力ありがとうございます。",
"obsidianLiveSyncSettingTab.msgOriginCheck": "オリジン確認: ${org}",
- "obsidianLiveSyncSettingTab.msgRebuildRequired": "変更を適用するにはデータベースの再構築が必要です。変更を適用する方法を選択してください。\n\n\n凡例\n\n| 記号 | 意味 |\n|: ------ :| ------- |\n| ⇔ | 最新 |\n| ⇄ | 同期してバランスを取る |\n| ⇐,⇒ | 上書きするため転送 |\n| ⇠,⇢ | 反対側から上書きするため転送 |\n\n\n\n## ${OPTION_REBUILD_BOTH}\n概要: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nこのデバイスの既存ファイルを使用してローカルとリモートの両方のデータベースを再構築します。\n他のデバイスはロックアウトされ、フェッチが必要です。\n## ${OPTION_FETCH}\n概要: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nローカルデータベースを初期化し、リモートデータベースから取得したデータを使用して再構築します。\nリモートデータベースを再構築した場合も含まれます。\n## ${OPTION_ONLY_SETTING}\n設定のみを保存します。**注意: データ破損につながる可能性があります**。通常、データベースの再構築が必要です。",
+ "obsidianLiveSyncSettingTab.msgRebuildRequired": "変更を適用するにはデータベースの再構築が必要です。変更を適用する方法を選択してください。\n\n\n凡例\n\n| 記号 | 意味 |\n|: ------ :| ------- |\n| ⇔ | 最新 |\n| ⇄ | 同期してバランスを取る |\n| ⇐,⇒ | 上書きするため転送 |\n| ⇠,⇢ | 反対側から上書きするため転送 |\n\n\n\n## ${OPTION_REBUILD_BOTH}\n概要: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄\nこのデバイスの既存ファイルを使用してローカルとリモートの両方のデータベースを再構築します。\n他のデバイスはロックされ、データの再取得(Fetch)が必要になります。\n## ${OPTION_FETCH}\n概要: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄\nローカルデータベースを初期化し、リモートデータベースから取得したデータを使用して再構築します。\nすでにリモートデータベースを再構築している場合は、この方法を選択してください。\n## ${OPTION_ONLY_SETTING}\n設定のみを適用します。**注意: データが破損するおそれがあります**。通常はデータベースの再構築が必要です。",
"obsidianLiveSyncSettingTab.msgSetCorsCredentials": "cors.credentialsを設定",
"obsidianLiveSyncSettingTab.msgSetCorsOrigins": "cors.originsを設定",
"obsidianLiveSyncSettingTab.msgSetMaxDocSize": "couchdb.max_document_sizeを設定",
"obsidianLiveSyncSettingTab.msgSetMaxRequestSize": "chttpd.max_http_request_sizeを設定",
"obsidianLiveSyncSettingTab.msgSetRequireValidUser": "chttpd.require_valid_user = trueを設定",
"obsidianLiveSyncSettingTab.msgSetRequireValidUserAuth": "chttpd_auth.require_valid_user = trueを設定",
- "obsidianLiveSyncSettingTab.msgSettingModified": "設定\"${setting}\"が別のデバイスから変更されました。{HERE}をクリックして設定を再読み込みしてください。変更を無視するには他の場所をクリックしてください。",
- "obsidianLiveSyncSettingTab.msgSettingsUnchangeableDuringSync": "これらの設定は同期中に変更できません。ロックを解除するには、\"同期設定\"ですべての同期を無効にしてください。",
+ "obsidianLiveSyncSettingTab.msgSettingModified": "設定「${setting}」が別のデバイスから変更されました。{HERE}をクリックして設定を再読み込みしてください。変更を無視するには他の場所をクリックしてください。",
+ "obsidianLiveSyncSettingTab.msgSettingsUnchangeableDuringSync": "これらの設定は同期中に変更できません。ロックを解除するには、「同期設定」ですべての同期を無効にしてください。",
"obsidianLiveSyncSettingTab.msgSetWwwAuth": "httpd.WWW-Authenticateを設定",
"obsidianLiveSyncSettingTab.nameApplySettings": "設定を適用",
- "obsidianLiveSyncSettingTab.nameConnectSetupURI": "セットアップURIで接続",
- "obsidianLiveSyncSettingTab.nameCopySetupURI": "現在の設定をセットアップURIにコピー",
- "obsidianLiveSyncSettingTab.nameDisableHiddenFileSync": "隠しファイル同期を無効化",
+ "obsidianLiveSyncSettingTab.nameConnectSetupURI": "セットアップ URIで接続",
+ "obsidianLiveSyncSettingTab.nameCopySetupURI": "現在の設定をセットアップ URIにコピー",
+ "obsidianLiveSyncSettingTab.nameDisableHiddenFileSync": "非表示ファイル同期を無効化",
"obsidianLiveSyncSettingTab.nameDiscardSettings": "既存の設定とデータベースを破棄",
- "obsidianLiveSyncSettingTab.nameEnableHiddenFileSync": "隠しファイル同期を有効化",
- "obsidianLiveSyncSettingTab.nameEnableLiveSync": "LiveSyncを有効化",
- "obsidianLiveSyncSettingTab.nameHiddenFileSynchronization": "隠しファイル同期",
+ "obsidianLiveSyncSettingTab.nameEnableHiddenFileSync": "非表示ファイル同期を有効化",
+ "obsidianLiveSyncSettingTab.nameEnableLiveSync": "LiveSync を有効化",
+ "obsidianLiveSyncSettingTab.nameHiddenFileSynchronization": "非表示ファイル同期",
"obsidianLiveSyncSettingTab.nameManualSetup": "手動セットアップ",
"obsidianLiveSyncSettingTab.nameTestConnection": "接続テスト",
"obsidianLiveSyncSettingTab.nameTestDatabaseConnection": "データベース接続テスト",
@@ -462,16 +739,16 @@
"obsidianLiveSyncSettingTab.optionCancel": "キャンセル",
"obsidianLiveSyncSettingTab.optionCouchDB": "CouchDB",
"obsidianLiveSyncSettingTab.optionDisableAllAutomatic": "すべての自動を無効化",
- "obsidianLiveSyncSettingTab.optionFetchFromRemote": "リモートからフェッチ",
+ "obsidianLiveSyncSettingTab.optionFetchFromRemote": "リモートから取得",
"obsidianLiveSyncSettingTab.optionHere": "ここ",
"obsidianLiveSyncSettingTab.optionLiveSync": "LiveSync 同期",
- "obsidianLiveSyncSettingTab.optionMinioS3R2": "Minio,S3,R2",
+ "obsidianLiveSyncSettingTab.optionMinioS3R2": "MinIO、S3、R2",
"obsidianLiveSyncSettingTab.optionOkReadEverything": "OK、すべて読みました。",
"obsidianLiveSyncSettingTab.optionOnEvents": "イベント時",
"obsidianLiveSyncSettingTab.optionPeriodicAndEvents": "定期およびイベント時",
"obsidianLiveSyncSettingTab.optionPeriodicWithBatch": "バッチ付き定期",
"obsidianLiveSyncSettingTab.optionRebuildBoth": "このデバイスから両方を再構築",
- "obsidianLiveSyncSettingTab.optionSaveOnlySettings": "(危険) 設定のみ保存",
+ "obsidianLiveSyncSettingTab.optionSaveOnlySettings": "(危険)設定のみ保存",
"obsidianLiveSyncSettingTab.panelChangeLog": "変更履歴",
"obsidianLiveSyncSettingTab.panelGeneralSettings": "一般設定",
"obsidianLiveSyncSettingTab.panelPrivacyEncryption": "プライバシーと暗号化",
@@ -479,6 +756,7 @@
"obsidianLiveSyncSettingTab.panelSetup": "セットアップ",
"obsidianLiveSyncSettingTab.serverVersion": "サーバー情報: ${info}",
"obsidianLiveSyncSettingTab.titleActiveRemoteServer": "アクティブなリモートサーバー",
+ "obsidianLiveSyncSettingTab.titleAdvancedSettings": "高度な設定",
"obsidianLiveSyncSettingTab.titleAppearance": "外観",
"obsidianLiveSyncSettingTab.titleConflictResolution": "競合解決",
"obsidianLiveSyncSettingTab.titleCouchDB": "CouchDB サーバー",
@@ -486,11 +764,16 @@
"obsidianLiveSyncSettingTab.titleEncryptionNotEnabled": "暗号化が有効になっていません",
"obsidianLiveSyncSettingTab.titleEncryptionPassphraseInvalid": "暗号化パスフレーズが無効です",
"obsidianLiveSyncSettingTab.titleExtraFeatures": "追加および上級機能を有効化",
+ "obsidianLiveSyncSettingTab.titleExtraFeaturesGroup": "追加機能",
+ "obsidianLiveSyncSettingTab.titleExtraMenus": "追加メニュー",
"obsidianLiveSyncSettingTab.titleFetchConfig": "設定を取得",
"obsidianLiveSyncSettingTab.titleFetchConfigFromRemote": "リモートサーバーから設定を取得",
"obsidianLiveSyncSettingTab.titleFetchSettings": "設定の取得",
- "obsidianLiveSyncSettingTab.titleHiddenFiles": "隠しファイル",
+ "obsidianLiveSyncSettingTab.titleHelpAndInformation": "ヘルプと情報",
+ "obsidianLiveSyncSettingTab.titleHelpAndTroubleshooting": "ヘルプとトラブルシューティング",
+ "obsidianLiveSyncSettingTab.titleHiddenFiles": "非表示ファイル",
"obsidianLiveSyncSettingTab.titleLogging": "ログ",
+ "obsidianLiveSyncSettingTab.titleMaintenanceAndRecovery": "メンテナンスと復旧",
"obsidianLiveSyncSettingTab.titleMinioS3R2": "MinIO、S3、R2",
"obsidianLiveSyncSettingTab.titleNotification": "通知",
"obsidianLiveSyncSettingTab.titleOnlineTips": "オンラインヒント",
@@ -500,6 +783,7 @@
"obsidianLiveSyncSettingTab.titleRemoteServer": "リモートサーバー",
"obsidianLiveSyncSettingTab.titleReset": "リセット",
"obsidianLiveSyncSettingTab.titleSetupOtherDevices": "他のデバイスのセットアップ",
+ "obsidianLiveSyncSettingTab.titleSynchronisation": "同期",
"obsidianLiveSyncSettingTab.titleSynchronizationMethod": "同期方法",
"obsidianLiveSyncSettingTab.titleSynchronizationPreset": "同期プリセット",
"obsidianLiveSyncSettingTab.titleSyncSettings": "同期設定",
@@ -507,112 +791,163 @@
"obsidianLiveSyncSettingTab.titleUpdateThinning": "更新の間引き",
"obsidianLiveSyncSettingTab.warnCorsOriginUnmatched": "⚠ CORS Originが一致しません ${from}->${to}",
"obsidianLiveSyncSettingTab.warnNoAdmin": "⚠ 管理者権限がありません。",
+ "Of course, we can back up the data before proceeding.": "もちろん、続行する前にデータをバックアップできます。",
+ "Off": "オフ",
"Ok": "OK",
"Old Algorithm": "旧アルゴリズム",
- "Older fallback (Slow, W/O WebAssembly)": "旧フォールバック (低速、WebAssembly なし)",
+ "Older (${diff})": "より古い (${diff})",
+ "Older fallback (Slow, W/O WebAssembly)": "旧フォールバック(低速、WebAssembly なし)",
+ "On": "オン",
+ "On the source device, from the command palette, run the 'Show settings as a QR code' command.": "コピー元のデバイスで、コマンドパレットから「Show settings as a QR code」コマンドを実行してください。",
+ "On the source device, open Obsidian.": "コピー元のデバイスでObsidianを開きます。",
+ "On this device, please keep this Vault open.": "このデバイスで、このVaultを開いたままにしてください。",
+ "On this device, switch to the camera app or use a QR code scanner to scan the displayed QR code.": "このデバイスで、カメラアプリに切り替えるかQR コードスキャナーを使用して、表示されたQR コードをスキャンしてください。",
"Open": "開く",
+ "Open connection": "接続を開始",
+ "Open P2P Setup...": "P2P設定を開く...",
"Open the dialog": "ダイアログを開く",
+ "Other files": "その他のファイル",
"Overwrite": "上書き",
+ "Overwrite all with remote files": "すべてリモートのファイルで上書き",
"Overwrite patterns": "上書きパターン",
"Overwrite remote": "リモートを上書き",
"Overwrite remote with local DB and passphrase.": "ローカル DB とパスフレーズでリモートを上書きします。",
"Overwrite Server Data with This Device's Files": "このデバイスのファイルでサーバーデータを上書き",
+ "P2P Configuration": "P2P設定",
+ "P2P Status": "P2Pステータス",
"P2P.AskPassphraseForDecrypt": "リモートピアから設定が共有されました。設定を復号するためのパスフレーズを入力してください。",
"P2P.AskPassphraseForShare": "リモートピアからこのデバイスの設定が要求されました。設定を共有するためのパスフレーズを入力してください。このダイアログをキャンセルすることでリクエストを無視できます。",
"P2P.DisabledButNeed": "%{title_p2p_sync}は無効になっています。本当に有効にしますか?",
- "P2P.FailedToOpen": "シグナリングサーバーへのP2P接続を開けませんでした。",
+ "P2P.FailedToOpen": "シグナリングサーバーへのP2P接続を確立できませんでした。",
"P2P.NoAutoSyncPeers": "自動同期ピアが見つかりません。%{long_p2p_sync}ペインでピアを設定してください。",
"P2P.NoKnownPeers": "ピアが検出されていません。他のピアからの接続を待機中...",
- "P2P.Note.description": "このレプリケーターは、ピアツーピア接続を使用して、Vaultを他のデバイスと同期することができます。クラウドサービスを使用せずに、他のデバイスとVaultを同期することができます。\nこのレプリケーターはTrysteroをベースにしています。デバイス間の接続を確立するためにシグナリングサーバーを使用します。シグナリングサーバーはデバイス間で接続情報を交換するために使用されます。私たちのデータを知ったり保存したりすることはありません(または、そうあるべきではありません)。\n\nシグナリングサーバーは誰でもホストできます。これは単なるNostrリレーです。簡便さとレプリケーターの動作確認のために、vrtmrzがシグナリングサーバーのインスタンスをホストしています。vrtmrzが提供する実験用サーバーを使用することも、他のサーバーを使用することもできます。\n\nなお、シグナリングサーバーが私たちのデータを保存しなくても、一部のデバイスの接続情報を見ることができます。これにご注意ください。また、他の人が提供するサーバーを使用する場合は注意してください。",
- "P2P.Note.important_note": "ピアツーピアレプリケーターの実験的実装",
- "P2P.Note.important_note_sub": "この機能はまだ実験段階です。期待通りに動作しない可能性があることにご注意ください。さらに、バグ、セキュリティの問題、その他の問題がある可能性があります。この機能は自己責任でご使用ください。この機能の開発にご協力ください。",
+ "P2P.Note.description": "このレプリケーターを使用すると、クラウドサービスを介さずに、ピアツーピア接続でデバイス間を直接同期できます。\nTrystero を基盤としており、デバイス間で接続情報を交換して接続を確立するためにシグナリングサーバーを使用します。シグナリングサーバーが Vault のデータを受信または保存することはありません。\n\nシグナリングサーバー(Nostr リレー)は誰でもホストできます。利便性とテストのため vrtmrz が実験用サーバーを運用していますが、別のサーバーを指定することもできます。\n\nシグナリングサーバーは一部のデバイスの接続情報を参照できます。第三者が運営するサーバーを利用する際は、この点に留意してください。",
+ "P2P.Note.important_note": "ピアツーピアレプリケーターについて",
+ "P2P.Note.important_note_sub": "この機能は実験的です。使用する前にデータをバックアップしてください。開発への貢献を歓迎します。",
"P2P.Note.Summary": "この機能について(重要な注意事項を含む、一度お読みください)",
- "P2P.NotEnabled": "%{title_p2p_sync}が有効になっていません。新しい接続を開くことができません。",
- "P2P.P2PReplication": "%{P2P}レプリケーション(複製)",
+ "P2P.NotEnabled": "%{title_p2p_sync}が有効になっていません。新しい接続を開始できません。",
+ "P2P.P2PReplication": "%{P2P}レプリケーション",
"P2P.PaneTitle": "%{long_p2p_sync}",
- "P2P.ReplicatorInstanceMissing": "P2P同期レプリケーターが見つかりません。設定または有効化されていない可能性があります。",
+ "P2P.ReplicatorInstanceMissing": "P2P 同期レプリケーターが見つかりません。設定または有効化されていない可能性があります。",
"P2P.SeemsOffline": "ピア${name}はオフラインのようです。スキップしました。",
- "P2P.SyncAlreadyRunning": "P2P同期はすでに実行中です。",
- "P2P.SyncCompleted": "P2P同期が完了しました。",
- "P2P.SyncStartedWith": "${name}とのP2P同期を開始しました。",
+ "P2P.SyncAlreadyRunning": "P2P 同期はすでに実行中です。",
+ "P2P.SyncCompleted": "P2P 同期が完了しました。",
+ "P2P.SyncStartedWith": "${name}とのP2P 同期を開始しました。",
"paneMaintenance.markDeviceResolvedAfterBackup": "バックアップ後にこのデバイスを解決済みにする",
"paneMaintenance.remoteLockedAndDeviceNotAccepted": "リモートデータベースはロックされており、このデバイスはまだ承認されていません。",
"paneMaintenance.remoteLockedResolvedDevice": "リモートデータベースはロックされていますが、このデバイスはすでに承認されています。",
"paneMaintenance.unlockDatabaseReady": "データベースのロックを解除",
"Passphrase": "パスフレーズ",
+ "Passphrase is required.": "パスフレーズは必須です。",
"Passphrase of sensitive configuration items": "機密性の高い設定項目にパスフレーズを使用",
"password": "パスワード",
"Password": "パスワード",
"Paste a connection string": "接続文字列を貼り付ける",
- "Paste the Setup URI generated from one of your active devices.": "稼働中の端末で生成した Setup URI を貼り付けてください。",
+ "Paste the Setup URI generated from one of your active devices.": "稼働中のデバイスで生成したセットアップ URIを貼り付けてください。",
+ "Path": "パス",
+ "Path identity mode": "パス識別モード",
"Path Obfuscation": "パスの難読化",
"Patterns to match files for overwriting instead of merging": "マージではなく上書きするファイルを判定するパターン",
"Patterns to match files for syncing": "同期対象ファイルを判定するパターン",
- "Peer-to-Peer only": "Peer-to-Peer のみ",
+ "Peer ID:": "ピアID:",
+ "Peer to Peer Replicator": "ピアツーピアレプリケーター",
+ "Peer-to-Peer only": "ピアツーピアのみ",
"Peer-to-Peer Synchronisation": "ピアツーピア同期",
+ "Peers": "ピア",
"Per-file-saved customization sync": "ファイルごとのカスタマイズ同期",
"Perform": "実行",
"Perform cleanup": "クリーンアップを実行",
- "Perform Garbage Collection": "ガーベジコレクションを実行",
- "Perform Garbage Collection to remove unused chunks and reduce database size.": "未使用のチャンクを削除し、データベースサイズを削減するためにガーベジコレクションを実行します。",
- "Periodic Sync interval": "定時同期の感覚",
+ "Perform Garbage Collection": "ガベージコレクションを実行",
+ "Perform Garbage Collection to remove unused chunks and reduce database size.": "未使用のチャンクを削除し、データベースサイズを削減するためにガベージコレクションを実行します。",
+ "Periodic Sync interval": "定期同期の間隔",
+ "PERMANENT": "永続",
"Pick a file to resolve conflict": "競合を解決するファイルを選択",
- "Please disable 'Read chunks online' in settings to use Garbage Collection.": "Garbage Collection を使うには、設定で「Read chunks online」を無効にしてください。",
- "Please enable 'Compute revisions for chunks' in settings to use Garbage Collection.": "Garbage Collection を使うには、設定で「Compute revisions for chunks」を有効にしてください。",
+ "Pick a file to show history": "履歴を表示するファイルを選択してください",
+ "Please be aware that the End-to-End Encryption passphrase is not validated until the synchronisation process actually commences. This is a security measure designed to protect your data.": "エンドツーエンド暗号化のパスフレーズは、同期処理が実際に開始されるまで検証されないことにご注意ください。これはデータを保護するためのセキュリティ上の仕様です。",
+ "Please configure your end-to-end encryption settings.": "エンドツーエンド暗号化の設定を行ってください。",
+ "Please disable 'Read chunks online' in settings to use Garbage Collection.": "ガベージコレクションを使うには、設定で「必要に応じてチャンクを取得する」を無効にしてください。",
+ "Please enable 'Compute revisions for chunks' in settings to use Garbage Collection.": "ガベージコレクションを使うには、設定で「チャンクの修正(リビジョン)を計算」を有効にしてください。",
+ "Please enter the CouchDB server information below.": "以下にCouchDBサーバーの情報を入力してください。",
+ "Please enter the details required to connect to your S3/MinIO/R2 compatible object storage service.": "S3/MinIO/R2互換オブジェクトストレージサービスへの接続に必要な詳細を入力してください。",
+ "Please enter the Peer-to-Peer Synchronisation information below.": "以下にピアツーピア同期の情報を入力してください。",
+ "Please enter the Setup URI that was generated during server installation or on another device, along with the vault passphrase.": "サーバーのセットアップ時または別のデバイスで生成されたセットアップ URIと、Vaultのパスフレーズを入力してください。",
+ "Please follow the steps below to import settings from your existing device.": "既存のデバイスから設定をインポートするには、以下の手順に従ってください。",
+ "PLEASE NOTE": "注意",
"Please select 'Cancel' explicitly to cancel this operation.": "この操作を中止するには、明示的に「キャンセル」を選択してください。",
- "Please select a method to import the settings from another device.": "別の端末から設定を取り込む方法を選択してください。",
+ "Please select a method to import the settings from another device.": "別のデバイスから設定を取り込む方法を選択してください。",
+ "Please select an active P2P remote configuration to change P2P sync targets.": "P2P 同期ターゲットを変更するには、アクティブなP2Pリモート設定を選択してください。",
"Please select an option to proceed": "続行するには項目を選択してください",
+ "Please select the button below to restart and proceed to the data fetching confirmation.": "下のボタンを選択して再起動し、データ取得の確認へ進んでください。",
+ "Please select the button below to restart and proceed to the final confirmation.": "下のボタンを選択して再起動し、最終確認へ進んでください。",
"Please select the type of server to which you are connecting.": "接続するサーバーの種類を選択してください。",
+ "Please select your situation.": "現在の状況を選択してください。",
"Please set device name to identify this device. This name should be unique among your devices. While not configured, we cannot enable this feature.": "このデバイスを識別するためのデバイス名を設定してください。この名前は各デバイスで一意である必要があります。設定されるまで、この機能は有効にできません。",
"Please set this device name": "このデバイス名を設定してください",
- "Plug-in version": "プラグインバージョン",
+ "Please understand that this is intended behaviour.": "これは意図された動作であることをご了承ください。",
+ "Please use V2, V1 is deprecated and will be removed in the future, It was not a very appropriate algorithm. Only for compatibility V1 is kept.": "V2 を使用してください。V1 は非推奨であり将来的に削除される予定です。V1 はあまり適切なアルゴリズムではありませんでした。互換性維持のためだけに V1 が残されています。",
+ "Plug-in version": "プラグインのバージョン",
+ "Plugins": "プラグイン",
"Prepare the 'report' to create an issue": "Issue 作成用の「レポート」を準備",
"Presets": "プリセット",
- "Proceed Garbage Collection": "Garbage Collection を続行",
- "Proceed with Setup URI": "Setup URI で続行",
- "Proceeding with Garbage Collection, ignoring missing nodes.": "不足しているノードを無視して Garbage Collection を続行します。",
- "Proceeding with Garbage Collection.": "Garbage Collection を実行します。",
- "Process small files in the foreground": "小さいファイルを最前面で処理",
+ "Prevent fetching configuration from server": "サーバーからの設定取得を防止する",
+ "Proceed": "続行",
+ "Proceed Garbage Collection": "ガベージコレクションを続行",
+ "Proceed to the next step.": "次のステップへ進みます。",
+ "Proceed with Setup URI": "セットアップ URIで続行",
+ "Proceeding with Garbage Collection, ignoring missing nodes.": "不足しているノードを無視してガベージコレクションを続行します。",
+ "Proceeding with Garbage Collection.": "ガベージコレクションを実行します。",
+ "Process files even if seems to be corrupted": "破損していると思われるファイルも処理する",
+ "Process small files in the foreground": "小さいファイルをUIスレッドで処理",
"Progress": "進捗",
- "PureJS fallback (Fast, W/O WebAssembly)": "PureJS フォールバック (高速、WebAssembly なし)",
+ "Property Encryption": "プロパティ暗号化",
+ "PureJS fallback (Fast, W/O WebAssembly)": "PureJS フォールバック(高速、WebAssembly なし)",
"Purge all download/upload cache.": "ダウンロード/アップロードキャッシュをすべて削除します。",
"Purge all journal counter": "すべてのジャーナルカウンターを削除",
+ "Reboot to re-run the process": "再起動して処理を再実行",
"Rebuild local and remote database with local files.": "ローカルファイルを使ってローカルとリモートのデータベースを再構築します。",
- "Rebuilding Operations (Remote Only)": "再構築操作 (リモートのみ)",
+ "Rebuilding Operations (Remote Only)": "再構築操作(リモートのみ)",
+ "Recovery and Repair": "リカバリと修復",
"Recreate all": "すべて再作成",
"Recreate missing chunks for all files": "すべてのファイルの不足チャンクを再作成",
- "RedFlag.Fetch.Method.Desc": "どのようにフェッチしますか?\n- %{RedFlag.Fetch.Method.FetchSafer}\n **低トラフィック**, **高CPU負荷**, **低リスク**\n 推奨条件...\n - ファイルの整合性に不安がある\n - ファイル数がそれほど多くない\n- %{RedFlag.Fetch.Method.FetchSmoother}\n **低トラフィック**, **中程CPU負荷**, **低~中リスク**\n 推奨条件...\n - ファイルがおそらく整合している\n - ファイル数が多い\n- %{RedFlag.Fetch.Method.FetchTraditional}\n **高トラフィック**, **低CPU負荷**, **低~中リスク**\n\n>[!INFO]- 詳細\n> ## %{RedFlag.Fetch.Method.FetchSafer}\n> **低トラフィック**, **高CPU負荷**, **低リスク**\n> このオプションは、リモートからデータをフェッチする前に、既存のローカルファイルを使用してローカルデータベースを作成します。\n> ローカルとリモートの両方に一致するファイルがある場合、差分のみが転送されます。\n> ただし、両方の場所に存在するファイルは最初は競合ファイルとして処理されます。実際に競合していなければ自動的に解決されますが、この処理には時間がかかる場合があります。\n> これは一般的に最も安全な方法で、データ損失のリスクを最小限に抑えます。\n> ## %{RedFlag.Fetch.Method.FetchSmoother}\n> **低トラフィック**, **中程CPU負荷**, **低~中リスク**(操作による)\n> このオプションは、最初にローカルファイルからデータベース用のチャンクを作成し、その後データをフェッチします。そのため、ローカルにないチャンクのみが転送されます。ただし、すべてのメタデータはリモートから取得されます。\n> ローカルファイルは起動時にこのメタデータと比較されます。新しいと判断されたコンテンツ(更新日時による)が古いものを上書きします。この結果はリモートデータベースに同期されます。\n> ローカルファイルが本当に最新のタイムスタンプであれば一般的に安全です。ただし、ファイルのタイムスタンプが新しくてもコンテンツが古い場合(初期の`welcome.md`など)は問題が発生する可能性があります。\n> これは\"%{RedFlag.Fetch.Method.FetchSafer}\"よりCPU使用量が少なく高速ですが、注意しないとデータ損失につながる可能性があります。\n> ## %{RedFlag.Fetch.Method.FetchTraditional}\n> **高トラフィック**, **低CPU負荷**, **低~中リスク**(操作による)\n> すべてのデータがリモートからフェッチされます。\n> %{RedFlag.Fetch.Method.FetchSmoother}と似ていますが、すべてのチャンクがリモートからフェッチされます。\n> これは最も従来のフェッチ方法で、通常最もネットワークトラフィックと時間を消費します。'%{RedFlag.Fetch.Method.FetchSmoother}'オプションと同様のリモートファイル上書きのリスクがあります。\n> ただし、最も歴史があり簡単なアプローチであるため、最も安定した方法と見なされることが多いです。",
- "RedFlag.Fetch.Method.FetchSafer": "フェッチ前にローカルデータベースを作成",
- "RedFlag.Fetch.Method.FetchSmoother": "フェッチ前にローカルファイルチャンクを作成",
- "RedFlag.Fetch.Method.FetchTraditional": "リモートからすべてをフェッチ",
- "RedFlag.Fetch.Method.Title": "どのようにフェッチしますか?",
+ "RedFlag.Fetch.Method.Desc": "どのようにデータを取得しますか?\n- %{RedFlag.Fetch.Method.FetchSafer}\n **低トラフィック**, **高CPU負荷**, **低リスク**\n 推奨される場合:\n - ファイルの整合性に不安がある\n - ファイル数がそれほど多くない\n- %{RedFlag.Fetch.Method.FetchSmoother}\n **低トラフィック**, **中程度のCPU負荷**, **低~中リスク**\n 推奨される場合:\n - ファイルの整合性に問題がない(可能性が高い)\n - ファイル数が多い\n- %{RedFlag.Fetch.Method.FetchTraditional}\n **高トラフィック**, **低CPU負荷**, **低~中リスク**\n\n>[!INFO]- 詳細\n> ## %{RedFlag.Fetch.Method.FetchSafer}\n> **低トラフィック**, **高CPU負荷**, **低リスク**\n> このオプションは、リモートからデータを取得する前に、既存のローカルファイルを使用してローカルデータベースを作成します。\n> ローカルとリモートの両方に一致するファイルがある場合、差分のみが転送されます。\n> ただし、両方の場所に存在するファイルは最初は競合ファイルとして処理されます。実際に競合していなければ自動的に解決されますが、この処理には時間がかかる場合があります。\n> これは一般的に最も安全な方法で、データ損失のリスクを最小限に抑えます。\n> ## %{RedFlag.Fetch.Method.FetchSmoother}\n> **低トラフィック**, **中程度のCPU負荷**, **低~中リスク**(操作による)\n> このオプションは、最初にローカルファイルからデータベース用のチャンクを作成し、その後データを取得します。そのため、ローカルにないチャンクのみが転送されます。ただし、すべてのメタデータはリモートから取得されます。\n> ローカルファイルは起動時にこのメタデータと比較されます。新しいと判断されたコンテンツ(更新日時による)が古いものを上書きします。この結果はリモートデータベースに同期されます。\n> ローカルファイルの更新日時が実際に最新であれば、一般的に安全です。ただし、ファイルの更新日時が新しくてもコンテンツが古い場合(初期の`welcome.md`など)は問題が発生する可能性があります。\n> これは\"%{RedFlag.Fetch.Method.FetchSafer}\"よりCPU使用量が少なく高速ですが、注意しないとデータ損失につながる可能性があります。\n> ## %{RedFlag.Fetch.Method.FetchTraditional}\n> **高トラフィック**, **低CPU負荷**, **低~中リスク**(操作による)\n> すべてのデータがリモートから取得されます。\n> %{RedFlag.Fetch.Method.FetchSmoother}と似ていますが、すべてのチャンクがリモートから取得されます。\n> これは従来の取得方法であり、通常最もネットワーク通信量と時間を消費します。'%{RedFlag.Fetch.Method.FetchSmoother}'オプションと同様のリモートファイル上書きのリスクがあります。\n> ただし、最も歴史があり簡単なアプローチであるため、最も安定した方法と見なされることが多いです。",
+ "RedFlag.Fetch.Method.FetchSafer": "データ取得前にローカルデータベースを作成",
+ "RedFlag.Fetch.Method.FetchSmoother": "データ取得前にローカルファイルのチャンクを作成",
+ "RedFlag.Fetch.Method.FetchTraditional": "リモートからすべてを取得",
+ "RedFlag.Fetch.Method.Title": "どのようにデータを取得しますか?",
"RedFlag.FetchRemoteConfig.Buttons.Cancel": "いいえ、ローカル設定を使用",
"RedFlag.FetchRemoteConfig.Buttons.Fetch": "はい、リモート設定を取得して適用",
"RedFlag.FetchRemoteConfig.Message": "リモートに保存された設定を取得して、このデバイスに適用しますか?",
"RedFlag.FetchRemoteConfig.Title": "リモート設定の取得",
"Reduces storage space by discarding all non-latest revisions. This requires the same amount of free space on the remote server and the local client.": "最新版以外のすべてのリビジョンを破棄して、使用容量を削減します。実行には、リモートサーバーとローカルクライアントの両方に同程度の空き容量が必要です。",
- "Reducing the frequency with which on-disk changes are reflected into the DB": "ローカルでの変更がデータベースに反映される頻度を下げる(所定の回数まとめて同期する、逐一反映しない)",
+ "Reducing the frequency with which on-disk changes are reflected into the DB": "ローカルでの変更がデータベースに反映される頻度を下げる",
+ "Refresh": "更新",
"Region": "リージョン",
+ "Relay settings": "リレー設定",
+ "Reload": "再読み込み",
"Remediation": "是正",
"Remediation Setting Changed": "是正設定が変更されました",
- "Remote Database Tweak (In sunset)": "リモートデータベースの調整 (廃止予定)",
+ "Remote Database Tweak (In sunset)": "リモートデータベースの調整項目(廃止予定)",
"Remote Databases": "リモートデータベース",
"Remote name": "リモート名",
+ "Remote only": "リモートのみ",
"Remote server type": "リモートの種別",
"Remote Type": "同期方式",
"Rename": "名前を変更",
+ "Replicate now": "今すぐレプリケーション",
+ "Replicating": "レプリケーション中",
+ "Replicating...": "レプリケーション中...",
"Replicator.Dialogue.Locked.Action.Dismiss": "再確認のためキャンセル",
"Replicator.Dialogue.Locked.Action.Fetch": "このデバイスの同期をリセット",
"Replicator.Dialogue.Locked.Action.Unlock": "リモートデータベースのロックを解除",
- "Replicator.Dialogue.Locked.Message": "リモートデータベースがロックされています。これはいずれかの端末での再構築が原因です。\nデータベースの破損を避けるため、このデバイスは接続を保留するよう求められています。\n\n3つのオプションがあります:\n\n- %{Replicator.Dialogue.Locked.Action.Fetch}\n 最も推奨される信頼性の高い方法です。ローカルデータベースを一度破棄し、リモートデータベースからすべての同期情報を再取得します。ほとんどの場合、これは安全に実行できます。ただし、時間がかかり、安定したネットワークで実行する必要があります。\n- %{Replicator.Dialogue.Locked.Action.Unlock}\n この方法は、他のレプリケーション(複製)方法ですでに確実に同期されている場合のみ使用できます。単に同じファイルがあるという意味ではありません。確信がない場合は避けてください。\n- %{Replicator.Dialogue.Locked.Action.Dismiss}\n 操作をキャンセルします。次回のリクエスト時に再度確認されます。\n",
- "Replicator.Dialogue.Locked.Message.Fetch": "全フェッチがスケジュールされました。プラグインは実行のために再起動されます。",
+ "Replicator.Dialogue.Locked.Message": "いずれかのデバイスが再構築を実行しているため、リモートデータベースがロックされています。\nデータベースの破損を防ぐため、再構築が完了するまでこのデバイスは同期を一時停止する必要があります。\n\n次の3つの選択肢から指定してください:\n\n- %{Replicator.Dialogue.Locked.Action.Fetch}\n ほとんどの場合、これが推奨される選択肢です。ローカルデータベースを削除し、リモートデータベースから同期データを再取得します。時間がかかる場合があるため、安定したネットワーク環境で実行してください。\n- %{Replicator.Dialogue.Locked.Action.Unlock}\n 他のレプリケーション方式によってこのデバイスがすでに確実に同期されている場合にのみ使用してください。単に同じファイルが存在するだけでは不十分です。確信がない場合はこのオプションを使用しないでください。\n- %{Replicator.Dialogue.Locked.Action.Dismiss}\n 操作をキャンセルします。次回のリクエスト時に再度確認が表示されます。",
+ "Replicator.Dialogue.Locked.Message.Fetch": "データの全取得を予約しました。実行のためにプラグインを再起動します。",
"Replicator.Dialogue.Locked.Message.Unlocked": "リモートデータベースのロックが解除されました。操作を再試行してください。",
"Replicator.Dialogue.Locked.Title": "ロック中",
- "Replicator.Message.Cleaned": "データベースのクリーナップ中です。レプリケーション(複製)はキャンセルされました。",
+ "Replicator.Message.Cleaned": "データベースのクリーンアップ中です。レプリケーションはキャンセルされました。",
"Replicator.Message.InitialiseFatalError": "レプリケーターが利用できません。これは致命的なエラーです。",
- "Replicator.Message.Pending": "ファイルイベントが保留中です。レプリケーション(複製)はキャンセルされました。",
- "Replicator.Message.SomeModuleFailed": "一部のモジュールの失敗によりレプリケーション(複製)がキャンセルされました。",
- "Replicator.Message.VersionUpFlash": "更新が検出されました。設定ダイアログを開いて変更ログを確認してください。レプリケーション(複製)はキャンセルされました。",
+ "Replicator.Message.Pending": "ファイルイベントが保留中です。レプリケーションはキャンセルされました。",
+ "Replicator.Message.SomeModuleFailed": "一部のモジュールの失敗によりレプリケーションがキャンセルされました。",
+ "Replicator.Message.VersionUpFlash": "互換性レビューのため、リモート同期を一時停止しました。詳細と利用可能な操作については、「Review why synchronisation is paused」コマンドを実行してください。",
"Requires restart of Obsidian": "Obsidianの再起動が必要です",
"Requires restart of Obsidian.": "Obsidianの再起動が必要です。",
"Rerun Onboarding Wizard": "オンボーディングウィザードを再実行",
@@ -623,44 +958,74 @@
"Reset": "リセット",
"Reset all": "すべてリセット",
"Reset all journal counter": "すべてのジャーナルカウンターをリセット",
+ "Reset and Resume Synchronisation": "リセットして同期を再開",
"Reset journal received history": "ジャーナル受信履歴をリセット",
"Reset journal sent history": "ジャーナル送信履歴をリセット",
"Reset notification threshold and check the remote database usage": "通知しきい値をリセットしてリモートデータベース使用量を確認",
"Reset received": "受信履歴をリセット",
"Reset sent history": "送信履歴をリセット",
"Reset Synchronisation information": "同期情報をリセット",
- "Reset Synchronisation on This Device": "このデバイスの同期状態をリセット",
+ "Reset Synchronisation on This Device": "このデバイスの同期をリセット",
"Reset the remote storage size threshold and check the remote storage size again.": "リモートストレージ容量のしきい値をリセットし、リモートストレージ容量を再確認します。",
"Resolve All": "すべて解決",
"Resolve all conflicted files": "競合しているすべてのファイルを解決",
"Resolve All conflicted files by the newer one": "競合したすべてのファイルを新しい方で解決",
- "Resolve all conflicted files by the newer one. Caution: This will overwrite the older one, and cannot resurrect the overwritten one.": "競合しているすべてのファイルを新しい方の内容で解決します。注意:古い方は上書きされ、復元できません。",
+ "Resolve all conflicted files by the newer one. Caution: This will overwrite the older one, and cannot resurrect the overwritten one.": "競合しているすべてのファイルを新しい方の内容で解決します。注意:古い方は上書きされ、復元できません。",
+ "Restart and Fetch Data": "再起動してデータを取得",
+ "Restart and Initialise Server": "再起動してサーバーを初期化",
"Restart Now": "今すぐ再起動",
+ "Restarting Obsidian is strongly recommended. Until restart, some changes may not take effect, and display may be inconsistent. Are you sure to restart now?": "Obsidianの再起動を強く推奨します。再起動するまで一部の変更が適用されず、表示に不整合が生じる可能性があります。今すぐ再起動しますか?",
"Restore or reconstruct local database from remote.": "リモートからローカルデータベースを復元または再構築します。",
+ "Rev": "リビジョン",
+ "Revert changes": "変更を元に戻す",
+ "Revoke": "失効",
+ "Room ID": "ルームID",
+ "Room ID suffix:": "ルームIDサフィックス:",
+ "Rotation Duration": "ローテーション期間",
"Run Doctor": "診断を実行",
+ "S3/MinIO/R2 Configuration": "S3/MinIO/R2 設定",
"S3/MinIO/R2 Object Storage": "S3/MinIO/R2 オブジェクトストレージ",
+ "Same": "同一",
+ "Same or local only": "同一またはローカルのみ",
+ "Save and Apply": "保存して適用",
"Save settings to a markdown file. You will be notified when new settings arrive. You can set different files by the platform.": "Markdownファイルに設定を保存します。新しい設定が到着すると通知されます。プラットフォームごとに異なるファイルを設定できます。",
+ "Save without connecting": "接続せずに保存",
"Saving will be performed forcefully after this number of seconds.": "この秒数後に強制的に保存されます。",
+ "Saving without a successful connection test keeps this profile, but automatic synchronisation may fail until the connection is corrected.": "接続テストに成功せずに保存した場合でもこのプロファイルは保持されますが、接続が修正されるまで自動同期に失敗する可能性があります。",
"Scan a QR Code (Recommended for mobile)": "QR コードをスキャンする(モバイル推奨)",
- "Scan changes on customization sync": "カスタマイズされた同期時に、変更をスキャンする",
+ "Scan changes": "変更をスキャン",
+ "Scan changes on customization sync": "カスタマイズ同期時に変更をスキャンする",
"Scan customization automatically": "自動的にカスタマイズをスキャン",
- "Scan customization before replicating.": "レプリケーション(複製)前に、カスタマイズをスキャン",
- "Scan customization every 1 minute.": "カスタマイズのスキャンを1分ごとに行う",
+ "Scan customization before replicating.": "レプリケーション前にカスタマイズをスキャン",
+ "Scan customization every 1 minute.": "1分ごとにカスタマイズをスキャンする",
"Scan customization periodically": "定期的にカスタマイズをスキャン",
"Scan for Broken files": "破損ファイルをスキャン",
- "Scan for hidden files before replication": "レプリケーション(複製)開始前に、隠しファイルのスキャンを行う",
- "Scan hidden files periodically": "定期的に隠しファイルのスキャンを行う",
- "Scan the QR code displayed on an active device using this device's camera.": "稼働中の端末に表示された QR コードを、この端末のカメラで読み取ってください。",
+ "Scan for hidden files before replication": "レプリケーション開始前に非表示ファイルをスキャンする",
+ "Scan hidden files periodically": "定期的に非表示ファイルをスキャンする",
+ "Scan QR Code": "QR コードをスキャン",
+ "Scan the QR code displayed on an active device using this device's camera.": "稼働中のデバイスに表示された QR コードを、このデバイスのカメラで読み取ってください。",
"Schedule and Restart": "予約して再起動",
"Scram Switches": "緊急対応スイッチ",
"Scram!": "緊急停止",
"Seconds, 0 to disable": "秒数、0で無効",
"Seconds. Saving to the local database will be delayed until this value after we stop typing or saving.": "秒。入力や保存を停止してからこの値の間、ローカルデータベースへの保存が遅延されます。",
+ "Seconds. The maximum intentional wait from the first pending update before local database processing becomes due. This does not guarantee when database processing, network delivery, or reflection to another device will complete.": "最初の保留中の更新から、ローカルデータベースの処理が実行可能になるまでの最大待機時間(秒)です。データベース処理、ネットワーク転送、他のデバイスへの反映が完了する時刻を保証するものではありません。",
+ "Seconds. The quiet period after the latest pending update before local database processing becomes due.": "最新の保留中更新から、ローカルデータベースの処理が実行可能になるまでの待機時間(秒)です。",
+ "Secret Access Key": "シークレットアクセスキー",
"Secret Key": "シークレットキー",
+ "Select active P2P remote": "アクティブなP2Pリモートを選択",
+ "Select All Shiny": "すべての最新を選択",
+ "Select Flagged Shiny": "フラグ付きの最新を選択",
+ "Select P2P remote...": "P2Pリモートを選択...",
"Select the database adapter to use.": "使用するデータベースアダプターを選択します。",
+ "Selecting this option will result in the current data on this device being used to initialise the server. Any existing data on the server will be completely overwritten.": "このオプションを選択すると、このデバイスの現在のデータを使用してサーバーが初期化されます。サーバー上の既存のデータは完全に上書きされます。",
+ "Selecting this option will result in this device joining the existing server. You need to fetching the existing synchronisation data from the server to this device.": "このオプションを選択すると、このデバイスは既存のサーバーに参加します。サーバーからこのデバイスへ既存の同期データを取得する必要があります。",
+ "Selective": "選択的",
"Send": "送信",
"Send chunks": "チャンクを送信",
- "Server URI": "URI",
+ "SENDING": "送信中",
+ "Server URI": "サーバー URI",
+ "SESSION": "セッション",
"Setting.GenerateKeyPair.Desc": "キーペアを生成しました!\n\n注意: このキーペアは再度表示されません。安全な場所に保存してください。紛失した場合は、新しいキーペアを生成する必要があります。\n注意2: 公開鍵はspki形式、秘密鍵はpkcs8形式です。利便性のため、公開鍵の改行は`\\n`に変換されています。\n注意3: 公開鍵はリモートデータベースに、秘密鍵はローカルデバイスに設定してください。\n\n>[!FOR YOUR EYES ONLY]-\n>
",
+ "Setup.QRCode": "設定を転送するためのQR コードを生成しました。スマートフォンや他のデバイスでQR コードをスキャンしてください。\n\nQR コードは暗号化されていません。信頼できるデバイスでのみスキャンしてください。\n\n>[!FOR YOUR EYES ONLY]-\n>
${qr_image}
",
"Setup.RemoteE2EE.AdvancedTitle": "詳細設定",
- "Setup.RemoteE2EE.AlgorithmWarning": "暗号化アルゴリズムを変更すると、別のアルゴリズムで暗号化された既存データにはアクセスできなくなります。すべての端末で同じアルゴリズムを使うよう設定し、データにアクセスできる状態を維持してください。",
+ "Setup.RemoteE2EE.AlgorithmWarning": "暗号化アルゴリズムを変更すると、別のアルゴリズムで暗号化された既存データにはアクセスできなくなります。すべてのデバイスで同じアルゴリズムを使うよう設定し、データにアクセスできる状態を維持してください。",
"Setup.RemoteE2EE.ButtonCancel": "キャンセル",
"Setup.RemoteE2EE.ButtonProceed": "進む",
"Setup.RemoteE2EE.DefaultAlgorithmDesc": "ほとんどの場合は、既定のアルゴリズム(${algorithm})をそのまま使用してください。この設定が必要になるのは、既存の Vault が別の形式で暗号化されている場合のみです。",
@@ -699,122 +1074,518 @@
"Setup.RemoteE2EE.MultiDestinationWarning": "複数の同期先へ接続する場合でも、この設定は同一である必要があります。",
"Setup.RemoteE2EE.ObfuscatePropertiesDesc": "プロパティ(ファイルパス、サイズ、作成日時、更新日時など)を難読化すると、リモートサーバー上のファイルやフォルダーの構造や名前を特定しにくくできるため、追加の保護層になります。これによりプライバシーが守られ、権限のない第三者がデータに関する情報を推測しにくくなります。",
"Setup.RemoteE2EE.PassphraseValidationLine1": "エンドツーエンド暗号化のパスフレーズは、実際に同期処理が開始されるまで検証されない点にご注意ください。これはデータを保護するためのセキュリティ対策です。",
- "Setup.RemoteE2EE.PassphraseValidationLine2": "そのため、サーバー情報を手動で設定する際は細心の注意を払ってください。誤ったパスフレーズを入力すると、サーバー上のデータが破損します。これは意図された動作ですので、あらかじめご理解ください。",
+ "Setup.RemoteE2EE.PassphraseValidationLine2": "サーバー情報を手動で設定する際は細心の注意を払ってください。同期が開始されるまでパスフレーズを検証できないため、誤ったパスフレーズを入力するとサーバー上のデータが破損するおそれがあります。",
"Setup.RemoteE2EE.PlaceholderPassphrase": "パスフレーズを入力してください",
- "Setup.RemoteE2EE.StronglyRecommendedLine1": "エンドツーエンド暗号化を有効にすると、データはリモートサーバーへ送信される前にこの端末上で暗号化されます。つまり、たとえ誰かがサーバーへアクセスできても、パスフレーズがなければデータを読むことはできません。他の端末でデータを復号する際にも必要になるため、パスフレーズは必ず覚えておいてください。",
- "Setup.RemoteE2EE.StronglyRecommendedLine2": "また、Peer-to-Peer 同期を使用している場合でも、将来ほかの方式へ切り替えてリモートサーバーへ接続するときには、この設定が使われます。",
+ "Setup.RemoteE2EE.StronglyRecommendedLine1": "エンドツーエンド暗号化を有効にすると、データはリモートサーバーへ送信される前にこのデバイス上で暗号化されます。つまり、たとえ誰かがサーバーへアクセスできても、パスフレーズがなければデータを読むことはできません。他のデバイスでデータを復号する際にも必要になるため、パスフレーズは必ず覚えておいてください。",
+ "Setup.RemoteE2EE.StronglyRecommendedLine2": "また、ピアツーピア(P2P)同期を使用している場合でも、将来ほかの方式へ切り替えてリモートサーバーへ接続するときには、この設定が使われます。",
"Setup.RemoteE2EE.StronglyRecommendedTitle": "強く推奨",
"Setup.RemoteE2EE.Title": "エンドツーエンド暗号化",
"Setup.ScanQRCode.ButtonClose": "このダイアログを閉じる",
- "Setup.ScanQRCode.Guidance": "既存の端末から設定を取り込むには、以下の手順に従ってください。",
- "Setup.ScanQRCode.Step1": "この端末では、この Vault を開いたままにしてください。",
- "Setup.ScanQRCode.Step2": "元の端末で Obsidian を開きます。",
- "Setup.ScanQRCode.Step3": "元の端末でコマンドパレットから「設定を QR コードとして表示」を実行します。",
- "Setup.ScanQRCode.Step4": "この端末でカメラアプリに切り替えるか QR コードスキャナーを使って、表示された QR コードを読み取ってください。",
- "Setup.ScanQRCode.Title": "QRコードをスキャン",
- "Setup.ShowQRCode": "QRコードを表示",
- "Setup.ShowQRCode.Desc": "設定を転送するためのQRコードを表示します。",
+ "Setup.ScanQRCode.Guidance": "既存のデバイスから設定を取り込むには、以下の手順に従ってください。",
+ "Setup.ScanQRCode.Step1": "このデバイスでは、この Vault を開いたままにしてください。",
+ "Setup.ScanQRCode.Step2": "元のデバイスで Obsidian を開きます。",
+ "Setup.ScanQRCode.Step3": "元のデバイスでコマンドパレットから「Show settings as a QR code」を実行します。",
+ "Setup.ScanQRCode.Step4": "このデバイスでカメラアプリに切り替えるか QR コードスキャナーを使って、表示された QR コードを読み取ってください。",
+ "Setup.ScanQRCode.Title": "QR コードをスキャン",
+ "Setup.ShowQRCode": "QR コードを表示",
+ "Setup.ShowQRCode.Desc": "設定を転送するためのQR コードを表示します。",
"Setup.UseSetupURI.ButtonCancel": "キャンセル",
"Setup.UseSetupURI.ButtonProceed": "設定をテストして続行",
- "Setup.UseSetupURI.ErrorFailedToParse": "Setup URI を解析できませんでした。URI とパスフレーズを確認してください。",
+ "Setup.UseSetupURI.ErrorFailedToParse": "セットアップ URIを解析できませんでした。URIとパスフレーズを確認してください。",
"Setup.UseSetupURI.ErrorPassphraseRequired": "Vault のパスフレーズを入力してください。",
- "Setup.UseSetupURI.GuidanceLine1": "サーバーのセットアップ時または別の端末で生成された Setup URI と、Vault のパスフレーズを入力してください。",
- "Setup.UseSetupURI.GuidanceLine2": "コマンドパレットで「設定を新しい Setup URI としてコピー」を実行すると、新しい Setup URI を生成できます。",
- "Setup.UseSetupURI.InvalidInfo": "Setup URI が無効です。内容を確認して再試行してください。",
+ "Setup.UseSetupURI.GuidanceLine1": "サーバーのセットアップ時または別のデバイスで生成されたセットアップ URIと、Vault のパスフレーズを入力してください。",
+ "Setup.UseSetupURI.GuidanceLine2": "コマンドパレットで「Copy settings as a new setup URI」を実行すると、新しいセットアップ URIを生成できます。",
+ "Setup.UseSetupURI.InvalidInfo": "セットアップ URIが無効です。内容を確認して再試行してください。",
"Setup.UseSetupURI.LabelPassphrase": "Vault のパスフレーズ",
- "Setup.UseSetupURI.LabelSetupURI": "Setup URI",
+ "Setup.UseSetupURI.LabelSetupURI": "セットアップ URI",
"Setup.UseSetupURI.PlaceholderPassphrase": "Vault のパスフレーズを入力してください",
- "Setup.UseSetupURI.Title": "Setup URI を入力",
- "Setup.UseSetupURI.ValidInfo": "Setup URI は有効で、使用できます。",
+ "Setup.UseSetupURI.Title": "セットアップ URIを入力",
+ "Setup.UseSetupURI.ValidInfo": "セットアップ URIは有効で、使用できます。",
"Should we keep folders that don't have any files inside?": "中にファイルがないフォルダーを保持しますか?",
"Should we only check for conflicts when a file is opened?": "ファイルを開いたときのみ競合をチェックしますか?",
"Should we prompt you about conflicting files when a file is opened?": "ファイルを開いたときに競合ファイルについて確認を求めますか?",
"Should we prompt you for every single merge, even if we can safely merge automatcially?": "自動的に安全にマージできる場合でも、すべてのマージについて確認を求めますか?",
"Show full banner": "完全なバナーを表示",
+ "Show history": "履歴を表示",
+ "Show icon only": "アイコンのみ表示",
"Show only notifications": "通知のみ表示",
+ "Show password": "パスワードを表示",
"Show status as icons only": "ステータス表示をアイコンのみにする",
"Show status icon instead of file warnings banner": "ファイル警告バナーの代わりにステータスアイコンを表示",
"Show status inside the editor": "ステータスをエディタ内に表示",
"Show status on the status bar": "ステータスバーに、ステータスを表示",
- "Show verbose log. Please enable if you report an issue.": "エラー以外の詳細ログ項目も表示する。問題が発生した場合は有効にしてください。",
- "Some devices have differing progress values (max: ${maxProgress}, min: ${minProgress}).\nThis may indicate that some devices have not completed synchronisation, which could lead to conflicts. Strongly recommend confirming that all devices are synchronised before proceeding.": "一部のデバイスで進捗値が異なっています(最大: ${maxProgress}、最小: ${minProgress})。\nこれは一部のデバイスで同期が完了していない可能性を示しており、競合の原因になることがあります。続行する前に、すべてのデバイスが同期済みであることを確認することを強くおすすめします。",
+ "Show verbose log. Please enable if you report an issue.": "詳細なログを表示します。Issue を報告する際は有効にしてください。",
+ "Signaling Server Connection": "シグナリングサーバー接続",
+ "Signalling Relays": "シグナリングリレー",
+ "Signalling Status": "シグナリングステータス",
+ "Since you have chosen to overwrite all local files with remote data, **how would you like to handle local files that are not present in the remote database?**\n\n- **${DELETE_ALL}**: Local-only files and remote-deleted files will be removed.\n This makes your local Vault match the remote database. Back up any important local data first.\n- **${DELETE_NONE}**: All existing local files will be preserved.\n This keeps all local files, but may leave duplicates of files that exist only on this device. Remove any duplicates manually after synchronisation.": "リモートのデータですべてのローカルファイルを上書きすることを選択しました。**リモートデータベースにないローカルファイルをどのように扱いますか?**\n- **${DELETE_ALL}**: ローカルにだけあるファイルと、リモートで削除されたファイルを削除します。\n ローカル Vault をリモートデータベースと同じ状態にします。重要なデータがある場合は、事前にバックアップしてください。\n- **${DELETE_NONE}**: 既存のローカルファイルをすべて保持します。\n すべてのローカルファイルを残せますが、このデバイスにだけあるファイルが重複する場合があります。同期後に重複を手動で整理してください。",
+ "Since you have chosen to overwrite all local files with remote data, **how would you like to handle local files that are not present in the remote database?**\n\n- **${DELETE_ALL}**: Local-only files and remote-deleted files will be removed.\n This option will make your local vault exactly the same as the remote database, but please make sure you have a backup if there is any important data in your vault.\n- **${DELETE_NONE}**: All existing local files will be preserved.\n This option will keep all your local files, but it may cause duplicates if there are files that exist on local but not on remote. You can clean up these duplicates manually after the synchronisation.": "リモートのデータですべてのローカルファイルを上書きすることを選択しました。**リモートデータベースにないローカルファイルをどのように扱いますか?**\n- **${DELETE_ALL}**: ローカルにだけあるファイルと、リモートで削除されたファイルを削除します。\n ローカル Vault をリモートデータベースと同じ状態にします。重要なデータがある場合は、事前にバックアップしてください。\n- **${DELETE_NONE}**: 既存のローカルファイルをすべて保持します。\n すべてのローカルファイルを残せますが、このデバイスにだけあるファイルが重複する場合があります。同期後に重複を手動で整理してください。",
+ "Skip and close": "スキップして閉じる",
+ "Snippets": "スニペット",
+ "Some devices have differing progress values (max: ${maxProgress}, min: ${minProgress}).\nThis may indicate that some devices have not completed synchronisation, which could lead to conflicts. Strongly recommend confirming that all devices are synchronised before proceeding.": "一部のデバイスで進捗値が異なっています(最大: ${maxProgress}、最小: ${minProgress})。\n一部のデバイスで同期が完了していない可能性があり、競合の原因になることがあります。続行する前に、すべてのデバイスが同期済みであることを確認することを強くおすすめします。",
+ "Some files failed to synchronise. What would you like to do?": "一部のファイルの同期に失敗しました。どうしますか?",
+ "Start Broadcasting": "ブロードキャストを開始",
+ "Start change-broadcasting on Connect": "接続時に変更のブロードキャストを開始する",
+ "Start Sync & Close": "同期を開始して閉じる",
"Starts synchronisation when a file is saved.": "ファイルが保存されたときに同期を開始します。",
+ "Stat": "状態",
+ "Stats": "統計",
+ "Stop ⚡": "停止 ⚡",
+ "Stop Broadcasting": "ブロードキャストを停止",
"Stop reflecting database changes to storage files.": "データベースの変更をストレージファイルに反映させない",
"Stop watching for file changes.": "監視の停止",
- "Suppress notification of hidden files change": "隠しファイルの変更通知を抑制",
+ "Storage -> Database": "ストレージ → データベース",
+ "Strict content check on startup": "起動時にコンテンツを厳密に確認",
+ "Strongly Recommended": "強く推奨",
+ "Subject (whoami)": "サブジェクト(whoami)",
+ "Suppress notification of hidden files change": "非表示ファイルの変更通知を抑制",
"Suspend database reflecting": "データベース反映の一時停止",
"Suspend file watching": "監視の一時停止",
"Switch to IDB": "IDB に切り替える",
"Switch to IndexedDB": "IndexedDB に切り替える",
- "Sync after merging file": "ファイルがマージ(統合)された時に同期",
+ "Sync": "同期",
+ "Sync after merging file": "ファイルがマージ(統合)された時に同期",
"Sync automatically after merging files": "ファイルのマージ後に自動的に同期",
"Sync Mode": "同期モード",
"Sync on Editor Save": "エディタでの保存時に、同期されます",
"Sync on File Open": "ファイルを開いた時に同期",
"Sync on Save": "保存時に同期",
"Sync on Startup": "起動時同期",
+ "Sync once": "1回同期",
+ "Synchronisation Issues Detected": "同期の問題が検出されました",
"Synchronisation utilising journal files. You must have set up an S3/MinIO/R2 compatible object storage.": "ジャーナルファイルを利用する同期方式です。S3/MinIO/R2 互換のオブジェクトストレージを事前に構成しておく必要があります。",
"Synchronising files": "同期するファイル",
- "Syncing": "同期",
+ "Syncing": "同期中",
+ "Syncing...": "同期中...",
"Target patterns": "対象パターン",
+ "Test connection and save": "接続をテストして保存",
+ "Test Settings and Continue": "設定をテストして続行",
"Testing only - Resolve file conflicts by syncing newer copies of the file, this can overwrite modified files. Be Warned.": "テスト用 - ファイルの新しいコピーを同期してファイル競合を解決します。これにより変更されたファイルが上書きされる可能性があります。注意してください。",
- "The delay for consecutive on-demand fetches": "連続したオンデマンドフェッチの遅延",
- "The following accepted nodes are missing its node information:\n- ${missingNodes}\n\nThis indicates that they have not been connected for some time or have been left on an older version.\nIt is preferable to update all devices if possible. If you have any devices that are no longer in use, you can clear all accepted nodes by locking the remote once.": "次の承認済みノードにはノード情報がありません:\n- ${missingNodes}\n\nこれは、それらがしばらく接続されていないか、古いバージョンのままになっていることを示しています。\n可能であれば、まずすべてのデバイスを更新することをおすすめします。すでに使用していないデバイスがある場合は、リモートを一度ロックすることで承認済みノードをすべてクリアできます。",
+ "The algorithm used for JWT authentication.": "JWT 認証に使用されるアルゴリズム。",
+ "The Application ID for P2P connection. This should be same among your devices. Default is 'self-hosted-livesync' and could not be modified from the UI.": "P2P 接続用のアプリケーション ID。所有するデバイス間で同じ値にする必要があります。デフォルトは「self-hosted-livesync」で、UI からは変更できません。",
+ "The connection test cannot add a signalling relay while P2P is active. Use the active relay settings, or disconnect P2P before testing.": "P2Pがアクティブな間は、接続テストでシグナリングリレーを追加できません。現在有効なリレー設定を使用するか、テスト前にP2Pを切断してください。",
+ "The connection to the server has been configured successfully. As the next step,": "サーバーへの接続設定が正常に完了しました。次のステップとして、",
+ "The credential/password for the TURN servers.": "TURN サーバーの認証情報/パスワード。",
+ "The delay for consecutive on-demand fetches": "連続するオンデマンド取得の間隔",
+ "The files in this Vault are almost identical to the server's.": "このVault内のファイルはサーバー上のファイルとほぼ同一です。",
+ "The following accepted nodes are missing its node information:\n- ${missingNodes}\n\nThis indicates that they have not been connected for some time or have been left on an older version.\nIt is preferable to update all devices if possible. If you have any devices that are no longer in use, you can clear all accepted nodes by locking the remote once.": "次の承認済みノードにはノード情報がありません:\n- ${missingNodes}\n\nこれらのノードはしばらく接続されていないか、古いバージョンのままになっている可能性があります。\n可能であれば、まずすべてのデバイスを更新することをおすすめします。すでに使用していないデバイスがある場合は、リモートを一度ロックすることで承認済みノードをすべてクリアできます。",
+ "The Group ID and passphrase are used to identify your group of devices. Make sure to use the same Group ID and passphrase on all devices you want to synchronise.": "グループIDとパスフレーズは、デバイスのグループを識別するために使用されます。同期したいすべてのデバイスで同じグループIDとパスフレーズを使用してください。",
"The Hash algorithm for chunk IDs": "チャンクIDのハッシュアルゴリズム",
+ "The IndexedDB adapter often offers superior performance in certain scenarios, but it has been found to cause memory leaks when used with LiveSync mode. When using LiveSync mode, please use IDB adapter instead.": "IndexedDB アダプターは特定のシナリオで優れたパフォーマンスを発揮することが多いですが、LiveSync モードと併用するとメモリリークを引き起こすことが確認されています。LiveSync モードを使用する場合は、代わりに IDB アダプターを使用してください。",
+ "The key (PSK in HSxxx in base64, or private key in ESxxx in PEM) used for JWT authentication.": "JWT 認証に使用するキー(HSxxx の場合は Base64 形式の PSK、ESxxx の場合は PEM 形式の秘密鍵)。",
+ "The key ID. this should be matched with CouchDB->jwt_keys->ALG:_`kid`.": "キー ID。CouchDB の jwt_keys -> ALG:_`kid` と一致している必要があります。",
+ "the latest synchronisation data will be downloaded from the server to this device.": "最新の同期データがサーバーからこのデバイスへダウンロードされます。",
+ "the local database, that is to say the synchronisation information, must be reconstituted.": "ローカルデータベース(すなわち同期情報)を再構築する必要があります。",
"The maximum duration for which chunks can be incubated within the document. Chunks exceeding this period will graduate to independent chunks.": "ドキュメント内でチャンクを保持できる最大期間。この期間を超えたチャンクは独立したチャンクに昇格します。",
"The maximum number of chunks that can be incubated within the document. Chunks exceeding this number will immediately graduate to independent chunks.": "ドキュメント内で保持できるチャンクの最大数。この数を超えたチャンクは即座に独立したチャンクに昇格します。",
"The maximum total size of chunks that can be incubated within the document. Chunks exceeding this size will immediately graduate to independent chunks.": "ドキュメント内で保持できるチャンクの最大合計サイズ。このサイズを超えたチャンクは即座に独立したチャンクに昇格します。",
- "The minimum interval for automatic synchronisation on event.": "イベント発生時の自動同期における最小間隔です。",
- "This feature enables direct synchronisation between devices. No server is required, but both devices must be online at the same time for synchronisation to occur, and some features may be limited. Internet connection is only required to signalling (detecting peers) and not for data transfer.": "この機能では端末同士を直接同期できます。サーバーは不要ですが、同期を行うには両端末が同時にオンラインである必要があり、一部機能は制限されます。インターネット接続はシグナリング(ピア検出)にのみ必要で、データ転送自体には使われません。",
+ "The minimum interval for automatic synchronisation on event.": "イベント発生時の自動同期の最小間隔です。",
+ "The Nostr relay servers to establish connections for P2P connections. Multiple servers can be separated by commas.": "P2P 接続を確立するための Nostr リレーサーバー。複数のサーバーを指定する場合はカンマで区切ります。",
+ "The Passphrase for P2P connection. This should be same among your devices.": "P2P 接続用のパスフレーズ。所有するデバイス間で同じ値にする必要があります。",
+ "The remote database is locked for synchronisation to prevent vault corruption because this device is not marked as 'resolved'. Please back up your vault, reset the local database, and select 'Mark this device as resolved'. This warning will persist until replication confirms the device is resolved.": "このデバイスが「解決済み」としてマークされていないため、Vault の破損を防ぐ目的でリモートデータベースの同期がロックされています。Vault のバックアップを作成し、ローカルデータベースをリセットした上で、「このデバイスを解決済みとしてマーク」を選択してください。この警告は、レプリケーションによってデバイスの解決が確認されるまで表示され続けます。",
+ "The remote is already set up, and the configuration is compatible (or got compatible by this operation).": "リモートはすでに設定されており、設定に互換性があります(またはこの操作によって互換性が確保されました)。",
+ "The Room ID for P2P connection. This should be same among your devices.": "P2P 接続用のルーム ID。所有するデバイス間で同じ値にする必要があります。",
+ "The Rotation duration of token in minutes. Each generated tokens will be valid only within this duration.": "トークンのローテーション期間(分単位)。生成された各トークンはこの期間内でのみ有効です。",
+ "The Setup-URI does not appear to be valid. Please check that you have copied it correctly.": "Setup-URIが有効ではないようです。正しくコピーされているか確認してください。",
+ "The Setup-URI is valid and ready to use.": "Setup-URIは有効で使用可能です。",
+ "the single, authoritative master copy": "唯一の正統なマスターコピー",
+ "The subject for JWT authentication. Mostly username.": "JWT 認証のサブジェクト。通常はユーザー名です。",
+ "the synchronisation data on the server will be built based on the current data on this device.": "サーバー上の同期データはこのデバイスの現在のデータに基づいて構築されます。",
+ "The TURN servers to use for P2P connections. Multiple servers can be separated by commas.": "P2P 接続に使用する TURN サーバー。複数のサーバーを指定する場合はカンマで区切ります。",
+ "The username for the TURN servers.": "TURN サーバーのユーザー名。",
+ "Themes": "テーマ",
+ "There is a way to resolve this on other devices.": "他のデバイスでこれを解決する方法があります。",
+ "There may be differences between the files in this Vault and the server.": "このVault内のファイルとサーバー上のファイルとの間に差異がある可能性があります。",
+ "Therefore, we ask that you exercise extreme caution when configuring server information manually. If an incorrect passphrase is entered, the data on the server will become corrupted.": "サーバー情報を手動で設定する際は細心の注意を払ってください。同期が開始されるまでパスフレーズを検証できないため、誤ったパスフレーズを入力するとサーバー上のデータが破損するおそれがあります。",
+ "This can isolate your connections between devices. Use the same Room ID for the same devices.": "これによりデバイス間の接続を分離できます。同一のデバイス群には同じルームIDを使用してください。",
+ "This device": "このデバイス",
+ "This device name": "このデバイスの名前",
+ "This feature enables direct synchronisation between devices. No server is required, but both devices must be online at the same time for synchronisation to occur, and some features may be limited. Internet connection is only required to signalling (detecting peers) and not for data transfer.": "この機能ではデバイス同士を直接同期できます。サーバーは不要ですが、同期を行うには両デバイスが同時にオンラインである必要があり、一部機能は制限されます。インターネット接続はシグナリング(ピア検出)にのみ必要で、データ転送自体には使われません。",
+ "This first setup has several short steps because it confirms encryption, the connection method, and which device provides the initial data. Once it is complete, additional devices can reuse a Setup URI.": "最初のセットアップは、暗号化、接続方法、およびどのデバイスが初期データを提供するかを確認するため、いくつかの短いステップで構成されています。完了すると、追加のデバイスでセットアップ URIを再利用できるようになります。",
"This is an advanced option for users who do not have a URI or who wish to configure detailed settings.": "URI を持っていない場合や、詳細設定を手動で行いたいユーザー向けの上級者オプションです。",
+ "This is an extremely powerful operation. We strongly recommend that you copy your Vault folder to a safe location.": "これは影響の非常に大きい操作です。Vaultフォルダーを安全な場所にコピーすることを強く推奨します。",
"This is the most suitable synchronisation method for the design. All functions are available. You must have set up a CouchDB instance.": "この設計に最も適した同期方式です。すべての機能が利用できます。CouchDB インスタンスを事前に構成しておく必要があります。",
- "This passphrase will not be copied to another device. It will be set to `Default` until you configure it again.": "このパスフレーズは他のデバイスにコピーされません。再度設定するまで`Default`に設定されます。",
- "This will recreate chunks for all files. If there were missing chunks, this may fix the errors.": "すべてのファイルについてチャンクを再作成します。欠損しているチャンクがあった場合、エラーが解消される可能性があります。",
- "Transfer Tweak": "転送の調整",
+ "This optional check uses Obsidian's internal request API and sends the credentials above to the CouchDB server. Use it only with a server you trust; administrator access may be required.": "このオプションのチェックはObsidianの内部Request APIを使用し、上記の認証情報をCouchDBサーバーに送信します。信頼できるサーバーでのみ使用してください。管理者権限が必要になる場合があります。",
+ "This passphrase will not be copied to another device. It will be set to `Default` until you configure it again.": "このパスフレーズは他のデバイスにコピーされません。再度設定するまで `Default` のままになります。",
+ "This password is used to encrypt the connection. Use something long enough.": "このパスワードは接続の暗号化に使用されます。十分な長さのパスワードを使用してください。",
+ "This procedure will first delete all existing synchronisation data from the server. Following this, the server data will be completely rebuilt, using the current state of your Vault on this device (including its local database) as": "この手順では、まずサーバー上の既存の同期データをすべて削除します。その後、このデバイス上のVaultの現在の状態(ローカルデータベースを含む)を基に、サーバーデータを完全に再構築します。このVaultの位置づけ:",
+ "This setting must be the same even when connecting to multiple synchronisation destinations.": "複数の同期先に接続する場合でも、この設定は同一である必要があります。",
+ "This Vault is empty, or contains only new files that are not on the server.": "このVaultは空であるか、サーバー上に存在しない新しいファイルのみが含まれています。",
+ "This will rebuild the local database on this device using the most recent data from the server. This action is designed to resolve synchronisation inconsistencies and restore correct functionality.": "これにより、サーバーの最新データを使用してこのデバイスのローカルデータベースが再構築されます。この操作は同期の不整合を解消し、正常な機能を復元することを目的としています。",
+ "This will recreate chunks for all files. If there were missing chunks, this may fix the errors.": "すべてのファイルのチャンクを再作成します。欠損しているチャンクがあった場合、エラーが解消される可能性があります。",
+ "To minimise the creation of new conflicts": "新たな競合の発生を最小限に抑えるため",
+ "To prevent unwanted vault corruption, the remote database has been locked for synchronisation. (This device is marked as 'resolved'.) When all your devices are marked as 'resolved', unlock the database. This warning will continue to appear until replication confirms the device is resolved.": "意図しない Vault の破損を防ぐため、リモートデータベースの同期がロックされています。(このデバイスは「解決済み」としてマークされています。)すべてのデバイスが「解決済み」になったら、データベースのロックを解除してください。この警告は、レプリケーションによってデバイスの解決が確認されるまで表示され続けます。",
+ "Transfer Tweak": "転送の調整項目",
+ "TURN Credential": "TURN認証情報",
+ "TURN server settings are only necessary if you are behind a strict NAT or firewall that prevents direct P2P connections. In most cases, you can leave these fields blank.": "TURNサーバー設定は、直接のP2P接続を妨げる厳格なNATやファイアウォールの内側にある場合にのみ必要です。ほとんどの場合、これらのフィールドは空白のままで問題ありません。",
+ "TURN Server URLs (comma-separated)": "TURNサーバーURL(カンマ区切り)",
+ "TURN Servers": "TURN サーバー",
+ "TURN Username": "TURNユーザー名",
+ "TweakMismatchResolve.Action.DisableAutoAcceptCompatible": "自動受け入れを無効化",
"TweakMismatchResolve.Action.Dismiss": "無視",
+ "TweakMismatchResolve.Action.EnableAutoAcceptCompatible": "自動受け入れを有効化",
"TweakMismatchResolve.Action.UseConfigured": "設定済みの設定を使用",
"TweakMismatchResolve.Action.UseMine": "リモートデータベースの設定を更新",
"TweakMismatchResolve.Action.UseMineAcceptIncompatible": "リモートデータベースの設定を更新するがそのまま維持",
"TweakMismatchResolve.Action.UseMineWithRebuild": "リモートデータベースの設定を更新して再構築",
"TweakMismatchResolve.Action.UseRemote": "このデバイスに設定を適用",
"TweakMismatchResolve.Action.UseRemoteAcceptIncompatible": "このデバイスに設定を適用し、非互換性を無視",
- "TweakMismatchResolve.Action.UseRemoteWithRebuild": "このデバイスに設定を適用し、再フェッチ",
+ "TweakMismatchResolve.Action.UseRemoteWithRebuild": "このデバイスに設定を適用し、再取得",
+ "TweakMismatchResolve.Message.AutoAcceptCompatibleUndefined": "\nデバイス間で設定が異なっています。互換性のある変更を自動的に適用できます。\nこの「自動受け入れ」設定を有効にしますか?",
"TweakMismatchResolve.Message.Main": "\nリモートデータベースの設定は以下の通りです。これらの値は、このデバイスと少なくとも1回同期された他のデバイスによって設定されています。\n\nこれらの設定を使用する場合は、%{TweakMismatchResolve.Action.UseConfigured}を選択してください。\nこのデバイスの設定を維持する場合は、%{TweakMismatchResolve.Action.Dismiss}を選択してください。\n\n${table}\n\n>[!TIP]\n> すべての設定を同期したい場合は、この機能で最小限の設定を適用した後、`Sync settings via markdown`を使用してください。\n\n${additionalMessage}",
- "TweakMismatchResolve.Message.MainTweakResolving": "設定がリモートサーバーの設定と一致しません。\n\n以下の設定が一致している必要があります:\n\n${table}\n\n判断をお知らせください。\n\n${additionalMessage}",
- "TweakMismatchResolve.Message.UseRemote.WarningRebuildRecommended": "\n>[!NOTICE]\n> 一部の変更は互換性がありますが、追加のストレージと転送量を消費する可能性があります。再構築をお勧めします。ただし、再構築は現時点では実行されない場合がありますが、将来のメンテナンスで実装される可能性があります。\n> ***適用には時間と安定したネットワーク接続が必要です!***",
- "TweakMismatchResolve.Message.UseRemote.WarningRebuildRequired": "\n>[!WARNING]\n> 一部のリモート設定はこのデバイスのローカルデータベースと互換性がありません。ローカルデータベースの再構築が必要です。\n> ***適用には時間と安定したネットワーク接続が必要です!***",
- "TweakMismatchResolve.Message.WarningIncompatibleRebuildRecommended": "\n>[!NOTICE]\n> ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。\n> 一部の変更は互換性がありますが、追加のストレージと転送量を消費する可能性があります。再構築をお勧めします。ただし、再構築は現時点では実行されない場合がありますが、将来のメンテナンスで実装される可能性があります。\n> 再構築を行う場合は数分以上かかります。**今実行しても安全か確認してください。**",
- "TweakMismatchResolve.Message.WarningIncompatibleRebuildRequired": "\n>[!WARNING]\n> ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。\n> ローカルまたはリモートの再構築が必要です。どちらも数分以上かかります。**今実行しても安全か確認してください。**",
+ "TweakMismatchResolve.Message.MainTweakResolving": "このデバイスの設定がリモートサーバーの設定と一致していません。以下の差異を確認し、解決方法を選択してください:\n\n${table}\n\n${additionalMessage}",
+ "TweakMismatchResolve.Message.mineUpdated": "このデバイスの設定が調整されました。",
+ "TweakMismatchResolve.Message.remoteUpdated": "リモートに保存された設定が更新されました。",
+ "TweakMismatchResolve.Message.UseRemote.WarningRebuildRecommended": "\n>[!NOTICE]\n> 一部の互換性のある変更により、ストレージ消費量や転送データ量が増加する可能性があります。再構築が推奨されますが、現時点では実行できません。将来のアップデートで追加される可能性があります。\n> ***これらの設定を適用する前に、十分な時間と安定したネットワーク接続を確保してください。***",
+ "TweakMismatchResolve.Message.UseRemote.WarningRebuildRequired": "\n>[!WARNING]\n> 一部のリモート設定はこのデバイスのローカルデータベースと互換性がありません。ローカルデータベースの再構築が必要です。\n> ***これらの設定を適用する前に、十分な時間と安定したネットワーク接続を確保してください。***",
+ "TweakMismatchResolve.Message.WarningIncompatibleRebuildRecommended": "\n>[!NOTICE]\n> ローカルデータベースとリモートデータベースに非互換性を生じさせる設定の差異が検出されました。\n> 他の変更は互換性がありますが、ストレージ消費量や転送データ量が増加する可能性があります。再構築が推奨されますが、現時点では実行できません。将来のアップデートで追加される可能性があります。\n> 再構築には数分以上かかる場合があります。**今すぐ実行しても安全であることを確認してください。**",
+ "TweakMismatchResolve.Message.WarningIncompatibleRebuildRequired": "\n>[!WARNING]\n> ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。\n> ローカルまたはリモートの再構築が必要です。どちらも数分以上かかります。**今すぐ実行しても安全であることを確認してください。**",
"TweakMismatchResolve.Table": "| 値の名前 | このデバイス | リモート |\n|: --- |: ---- :|: ---- :|\n${rows}\n\n",
"TweakMismatchResolve.Table.Row": "| ${name} | ${self} | ${remote} |",
"TweakMismatchResolve.Title": "設定の不一致が検出されました",
+ "TweakMismatchResolve.Title.AutoAcceptCompatible": "自動受け入れが利用可能",
"TweakMismatchResolve.Title.TweakResolving": "設定の不一致が検出されました",
"TweakMismatchResolve.Title.UseRemoteConfig": "リモート設定を使用",
- "Unique name between all synchronized devices. To edit this setting, please disable customization sync once.": "同期するすべての端末間で重複しない(一意の)名前。この設定を変更する場合、カスタマイズ同期を無効にしてください。",
- "Use a custom passphrase": "カスタムパスフレーズを使う",
- "Use a Setup URI (Recommended)": "Setup URI を使う(推奨)",
+ "Ui.Common.LocalDatabaseInitialisationFailed": "Self-hosted LiveSync は同期できません。レポートを生成して詳細ログを確認してください。",
+ "Ui.Common.Signal.Caution": "注意",
+ "Ui.Common.Signal.Danger": "危険",
+ "Ui.Common.Signal.Notice": "お知らせ",
+ "Ui.Common.Signal.Warning": "警告",
+ "Ui.Common.SomeFilesCouldNotBeSynchronised": "一部のファイルを同期できませんでした。影響を受けたファイルを確認してください。レポートを生成して詳細ログを確認してください。",
+ "Ui.Settings.Advanced.LocalDatabaseTweak": "ローカルデータベースの調整項目",
+ "Ui.Settings.Advanced.MemoryCache": "メモリキャッシュ",
+ "Ui.Settings.Advanced.TransferTweak": "転送の調整項目",
+ "Ui.Settings.Common.Analyse": "分析",
+ "Ui.Settings.Common.Back": "戻る",
+ "Ui.Settings.Common.Check": "確認",
+ "Ui.Settings.Common.Configure": "設定",
+ "Ui.Settings.Common.Continue": "続行",
+ "Ui.Settings.Common.Delete": "削除",
+ "Ui.Settings.Common.Fetch": "取得",
+ "Ui.Settings.Common.Lock": "ロック",
+ "Ui.Settings.Common.Merge": "マージ",
+ "Ui.Settings.Common.Open": "開く",
+ "Ui.Settings.Common.Overwrite": "上書き",
+ "Ui.Settings.Common.Perform": "実行",
+ "Ui.Settings.Common.ResetAll": "すべてリセット",
+ "Ui.Settings.Common.ResolveAll": "すべて解決",
+ "Ui.Settings.Common.Scan": "スキャン",
+ "Ui.Settings.Common.Send": "送信",
+ "Ui.Settings.Common.Use": "使用",
+ "Ui.Settings.Common.VerifyAll": "すべて検証",
+ "Ui.Settings.CustomizationSync.OpenDesc": "ダイアログを開く",
+ "Ui.Settings.CustomizationSync.Panel": "カスタマイズ同期",
+ "Ui.Settings.CustomizationSync.WarnChangeDeviceName": "この機能が有効な間はデバイス名を変更できません。デバイス名を変更するには、まずこの機能を無効にしてください。",
+ "Ui.Settings.CustomizationSync.WarnSetDeviceName": "このデバイスを識別するためのデバイス名を設定してください。この名前は所有するデバイス間で一意である必要があります。設定されていない場合、この機能を有効にできません。",
+ "Ui.Settings.Hatch.AnalyseDatabaseUsage": "データベース使用状況の分析",
+ "Ui.Settings.Hatch.AnalyseDatabaseUsageDesc": "データベースの使用状況を分析し、自己診断用のTSVレポートを生成します。生成されたレポートはお好みのスプレッドシートに貼り付けて確認できます。",
+ "Ui.Settings.Hatch.BackToNonConfigured": "未設定の状態に戻す",
+ "Ui.Settings.Hatch.ConvertNonObfuscated": "パスが難読化されていないファイルの確認と変換",
+ "Ui.Settings.Hatch.ConvertNonObfuscatedDesc": "ローカルデータベース内でパスが難読化されずに保存されているファイルを確認し、必要に応じて変換します。",
+ "Ui.Settings.Hatch.CopyIssueReport": "レポートをクリップボードにコピー",
+ "Ui.Settings.Hatch.DatabaseLabel": "データベース: ${details}",
+ "Ui.Settings.Hatch.DatabaseToStorage": "データベース → ストレージ",
+ "Ui.Settings.Hatch.DeleteCustomizationSyncData": "すべてのカスタマイズ同期データを削除",
+ "Ui.Settings.Hatch.GeneratedReport": "生成されたレポート",
+ "Ui.Settings.Hatch.Missing": "欠落",
+ "Ui.Settings.Hatch.ModifiedSize": "更新日時: ${modified}、サイズ: ${size}",
+ "Ui.Settings.Hatch.ModifiedSizeActual": "更新日時: ${modified}、サイズ: ${size}(実際のサイズ: ${actualSize})",
+ "Ui.Settings.Hatch.PrepareIssueReport": "Issue 報告用レポートの準備",
+ "Ui.Settings.Hatch.RecoveryAndRepair": "リカバリと修復",
+ "Ui.Settings.Hatch.RecreateAll": "すべて再作成",
+ "Ui.Settings.Hatch.RecreateMissingChunks": "全ファイルの欠落チャンクを再作成",
+ "Ui.Settings.Hatch.RecreateMissingChunksDesc": "すべてのファイルのチャンクを再作成します。欠落しているチャンクがあった場合、エラーが修復される可能性があります。",
+ "Ui.Settings.Hatch.ResetPanel": "リセット",
+ "Ui.Settings.Hatch.ResetRemoteUsage": "通知の閾値をリセットしてリモートデータベースの使用状況を確認",
+ "Ui.Settings.Hatch.ResetRemoteUsageDesc": "リモートストレージ容量の閾値をリセットし、リモートストレージの容量を再確認します。",
+ "Ui.Settings.Hatch.ResolveAllConflictedFiles": "すべての競合ファイルを新しい方のバージョンで解決",
+ "Ui.Settings.Hatch.ResolveAllConflictedFilesDesc": "すべての競合ファイルを新しい方のバージョンで解決します。警告: 古い方のバージョンは上書きされ、復元できません。",
+ "Ui.Settings.Hatch.RunDoctor": "設定診断を実行",
+ "Ui.Settings.Hatch.ScanBrokenFiles": "破損ファイルをスキャン",
+ "Ui.Settings.Hatch.ScramSwitches": "Scramスイッチ",
+ "Ui.Settings.Hatch.ShowHistory": "履歴を表示",
+ "Ui.Settings.Hatch.StorageLabel": "ストレージ: ${details}",
+ "Ui.Settings.Hatch.StorageToDatabase": "ストレージ → データベース",
+ "Ui.Settings.Hatch.VerifyAndRepairAllFiles": "すべてのファイルを検証・修復",
+ "Ui.Settings.Hatch.VerifyAndRepairAllFilesDesc": "ローカルデータベースとストレージの間でファイルの内容を比較します。一致しない場合は、どちらを保持するか確認されます。",
+ "Ui.Settings.Maintenance.Cleanup": "クリーンアップを実行",
+ "Ui.Settings.Maintenance.CleanupDesc": "最新以外のリビジョンをすべて破棄してストレージ容量を削減します。これにはリモートサーバーとローカルクライアントの双方に同等の空き容量が必要です。",
+ "Ui.Settings.Maintenance.DeleteLocalDatabase": "Self-hosted LiveSync のリセットまたはアンインストールのためにローカルデータベースを削除",
+ "Ui.Settings.Maintenance.EmergencyRestart": "緊急再起動",
+ "Ui.Settings.Maintenance.EmergencyRestartDesc": "すべての同期を無効化して再起動します。",
+ "Ui.Settings.Maintenance.FreshStartWipe": "完全消去",
+ "Ui.Settings.Maintenance.FreshStartWipeDesc": "リモートサーバー上のすべてのデータを削除します。",
+ "Ui.Settings.Maintenance.GarbageCollection": "ガベージコレクション V3(ベータ)",
+ "Ui.Settings.Maintenance.GarbageCollectionAction": "ガベージコレクションを実行",
+ "Ui.Settings.Maintenance.GarbageCollectionDesc": "ガベージコレクションを実行して未使用のチャンクを削除し、データベースのサイズを削減します。",
+ "Ui.Settings.Maintenance.LockServer": "サーバーをロック",
+ "Ui.Settings.Maintenance.LockServerDesc": "リモートサーバーをロックして、他のデバイスとの同期を防止します。",
+ "Ui.Settings.Maintenance.OverwriteRemote": "リモートを上書き",
+ "Ui.Settings.Maintenance.OverwriteRemoteDesc": "ローカルデータベースとパスフレーズを使用してリモートを上書きします。",
+ "Ui.Settings.Maintenance.OverwriteServerData": "このデバイスのファイルでサーバーデータを上書き",
+ "Ui.Settings.Maintenance.OverwriteServerDataDesc": "このデバイスのファイルを使ってローカルおよびリモートのデータベースを再構築します。",
+ "Ui.Settings.Maintenance.PurgeAllJournalCounter": "すべてのジャーナルカウンターをパージ",
+ "Ui.Settings.Maintenance.PurgeAllJournalCounterDesc": "すべてのダウンロードおよびアップロードキャッシュをパージします。",
+ "Ui.Settings.Maintenance.RebuildingOperations": "再構築操作(リモートのみ)",
+ "Ui.Settings.Maintenance.Resend": "再送信",
+ "Ui.Settings.Maintenance.ResendDesc": "すべてのチャンクをリモートに再送信します。",
+ "Ui.Settings.Maintenance.Reset": "リセット",
+ "Ui.Settings.Maintenance.ResetAllJournalCounter": "すべてのジャーナルカウンターをリセット",
+ "Ui.Settings.Maintenance.ResetAllJournalCounterDesc": "すべてのジャーナル履歴を初期化します。次回の同期時に、すべての項目が再受信・再送信されます。",
+ "Ui.Settings.Maintenance.ResetJournalReceived": "ジャーナル受信履歴をリセット",
+ "Ui.Settings.Maintenance.ResetJournalReceivedDesc": "ジャーナル受信履歴を初期化します。次回の同期時に、このデバイスから送信されたものを除くすべての項目が再ダウンロードされます。",
+ "Ui.Settings.Maintenance.ResetJournalSent": "ジャーナル送信履歴をリセット",
+ "Ui.Settings.Maintenance.ResetJournalSentDesc": "ジャーナル送信履歴を初期化します。次回の同期時に、このデバイスで受信されたものを除くすべての項目が再送信されます。",
+ "Ui.Settings.Maintenance.ResetLocalSyncInfo": "同期情報をリセット",
+ "Ui.Settings.Maintenance.ResetLocalSyncInfoDesc": "リモートからローカルデータベースを復元または再構築します。",
+ "Ui.Settings.Maintenance.ResetReceived": "受信履歴をリセット",
+ "Ui.Settings.Maintenance.ResetSentHistory": "送信履歴をリセット",
+ "Ui.Settings.Maintenance.ResetThisDevice": "このデバイスの同期をリセット",
+ "Ui.Settings.Maintenance.ScheduleAndRestart": "スケジュールして再起動",
+ "Ui.Settings.Maintenance.Scram": "Scram!",
+ "Ui.Settings.Maintenance.SendChunks": "チャンクを送信",
+ "Ui.Settings.Maintenance.Syncing": "同期中",
+ "Ui.Settings.Maintenance.WriteRedFlagAndRestart": "フラグを設定して再起動",
+ "Ui.Settings.Patches.CompatibilityConflict": "互換性(競合時の動作)",
+ "Ui.Settings.Patches.CompatibilityDatabase": "互換性(データベース構造)",
+ "Ui.Settings.Patches.CompatibilityInternalApi": "互換性(内部APIの使用)",
+ "Ui.Settings.Patches.CompatibilityMetadata": "互換性(メタデータ)",
+ "Ui.Settings.Patches.CompatibilityRemote": "互換性(リモートデータベース)",
+ "Ui.Settings.Patches.CompatibilityTrouble": "互換性(対処済みの問題)",
+ "Ui.Settings.Patches.CurrentAdapter": "現在のアダプター: ${adapter}",
+ "Ui.Settings.Patches.DatabaseAdapter": "データベースアダプター",
+ "Ui.Settings.Patches.DatabaseAdapterDesc": "使用するデータベースアダプターを選択します。",
+ "Ui.Settings.Patches.EdgeCaseBehaviour": "エッジケースへの対処(動作)",
+ "Ui.Settings.Patches.EdgeCaseDatabase": "エッジケースへの対処(データベース)",
+ "Ui.Settings.Patches.EdgeCaseProcessing": "エッジケースへの対処(処理)",
+ "Ui.Settings.Patches.IndexedDbWarning": "IndexedDB アダプターは特定のシナリオにおいて優れたパフォーマンスを発揮することがありますが、LiveSync モードと併用するとメモリリークを引き起こすことが確認されています。LiveSync モードを使用する場合は、代わりに IDB アダプターを使用してください。",
+ "Ui.Settings.Patches.MigratingToIdb": "すべてのデータをIDBに移行中...",
+ "Ui.Settings.Patches.MigratingToIndexedDb": "すべてのデータをIndexedDBに移行中...",
+ "Ui.Settings.Patches.MigrationIdbCompleted": "IDBへの移行が完了しました。Obsidianは新しい設定ですぐに再起動されます。",
+ "Ui.Settings.Patches.MigrationIdbCompletedFollowUp": "IDBへの移行が完了しました。アダプターを切り替えてObsidianを再起動してください。",
+ "Ui.Settings.Patches.MigrationIndexedDbCompleted": "IndexedDBへの移行が完了しました。Obsidianは新しい設定ですぐに再起動されます。",
+ "Ui.Settings.Patches.MigrationIndexedDbCompletedFollowUp": "IndexedDBへの移行が完了しました。アダプターを切り替えてObsidianを再起動してください。",
+ "Ui.Settings.Patches.MigrationWarning": "この設定を変更すると、既存データの移行(時間がかかる場合があります)とObsidianの再起動が必要になります。続行する前に必ずデータのバックアップを取ってください。",
+ "Ui.Settings.Patches.OperationToIdb": "IDBへ",
+ "Ui.Settings.Patches.OperationToIndexedDb": "IndexedDBへ",
+ "Ui.Settings.Patches.Remediation": "是正",
+ "Ui.Settings.Patches.RemediationChanged": "是正設定が変更されました",
+ "Ui.Settings.Patches.RemediationNoLimit": "制限が設定されていません",
+ "Ui.Settings.Patches.RemediationRestarting": "是正設定が変更されました。Obsidianを再起動しています...",
+ "Ui.Settings.Patches.RemediationRestartLater": "後で",
+ "Ui.Settings.Patches.RemediationRestartMessage": "Obsidianの再起動を強く推奨します。再起動するまで一部の変更が有効にならず、表示に不整合が生じる可能性があります。今すぐ再起動しますか?",
+ "Ui.Settings.Patches.RemediationRestartNow": "今すぐ再起動",
+ "Ui.Settings.Patches.RemediationSuffixChanged": "サフィックスが変更されました。データベースを再度開いています...",
+ "Ui.Settings.Patches.RemediationWithValue": "制限: ${date} (${timestamp})",
+ "Ui.Settings.Patches.RemoteDatabaseSunset": "リモートデータベース調整(廃止予定)",
+ "Ui.Settings.Patches.SwitchToIDB": "IDBに切り替え",
+ "Ui.Settings.Patches.SwitchToIndexedDb": "IndexedDBに切り替え",
+ "Ui.Settings.PowerUsers.ConfigurationEncryption": "設定の暗号化",
+ "Ui.Settings.PowerUsers.ConnectionTweak": "CouchDB 接続の調整項目",
+ "Ui.Settings.PowerUsers.ConnectionTweakDesc": "IBM Cloudantの使用時にペイロードサイズ制限に達した場合は、バッチサイズとバッチ上限の値を小さくしてください。",
+ "Ui.Settings.PowerUsers.Default": "デフォルト",
+ "Ui.Settings.PowerUsers.Developer": "開発者向け",
+ "Ui.Settings.PowerUsers.EncryptSensitiveConfig": "機密性の高い設定項目を暗号化",
+ "Ui.Settings.PowerUsers.PromptPassphraseEveryLaunch": "起動するたびにパスフレーズを要求する",
+ "Ui.Settings.PowerUsers.UseCustomPassphrase": "カスタムパスフレーズを使用する",
+ "Ui.Settings.Remote.Activate": "有効化",
+ "Ui.Settings.Remote.ActiveSuffix": "(アクティブ)",
+ "Ui.Settings.Remote.AddConnection": "新規接続を追加",
+ "Ui.Settings.Remote.AddRemoteDefaultName": "新規リモート",
+ "Ui.Settings.Remote.ConfigureAndChangeRemote": "リモートを設定して切り替える",
+ "Ui.Settings.Remote.ConfigureE2EE": "E2EEを設定",
+ "Ui.Settings.Remote.ConfigureRemote": "リモートを設定",
+ "Ui.Settings.Remote.DeleteRemoteConfirm": "リモート設定「${name}」を削除しますか?",
+ "Ui.Settings.Remote.DeleteRemoteTitle": "リモート設定の削除",
+ "Ui.Settings.Remote.DisplayName": "表示名",
+ "Ui.Settings.Remote.DuplicateRemote": "リモートを複製",
+ "Ui.Settings.Remote.DuplicateRemoteSuffix": "${name}(コピー)",
+ "Ui.Settings.Remote.E2EEConfiguration": "E2EE設定",
+ "Ui.Settings.Remote.Export": "エクスポート",
+ "Ui.Settings.Remote.FetchRemoteSettings": "リモート設定を取得",
+ "Ui.Settings.Remote.ImportConnection": "接続をインポート",
+ "Ui.Settings.Remote.ImportConnectionPrompt": "接続文字列を貼り付けてください",
+ "Ui.Settings.Remote.ImportedCouchDb": "インポートされたCouchDB",
+ "Ui.Settings.Remote.ImportedRemote": "リモート",
+ "Ui.Settings.Remote.MoreActions": "その他の操作",
+ "Ui.Settings.Remote.PeerToPeerPanel": "ピアツーピア同期",
+ "Ui.Settings.Remote.RemoteConfigurationPrefix": "リモート設定",
+ "Ui.Settings.Remote.RemoteDatabases": "リモートデータベース",
+ "Ui.Settings.Remote.RemoteName": "リモート名",
+ "Ui.Settings.Remote.RemoteNameCouchDb": "CouchDB ${host}",
+ "Ui.Settings.Remote.RemoteNameP2P": "P2P ${room}",
+ "Ui.Settings.Remote.RemoteNameS3": "S3 ${bucket}",
+ "Ui.Settings.Remote.Rename": "名前を変更",
+ "Ui.Settings.Selector.AddDefaultPatterns": "デフォルトのパターンを追加",
+ "Ui.Settings.Selector.CrossPlatform": "クロスプラットフォーム",
+ "Ui.Settings.Selector.Default": "デフォルト",
+ "Ui.Settings.Selector.HiddenFiles": "非表示ファイル",
+ "Ui.Settings.Selector.IgnorePatterns": "除外パターン",
+ "Ui.Settings.Selector.NonSynchronisingFiles": "同期対象外ファイル",
+ "Ui.Settings.Selector.NonSynchronisingFilesDesc": "(正規表現)これを設定すると、一致するローカルおよびリモートのファイルの変更は同期からスキップされます。",
+ "Ui.Settings.Selector.NormalFiles": "通常ファイル",
+ "Ui.Settings.Selector.OverwritePatterns": "上書きパターン",
+ "Ui.Settings.Selector.OverwritePatternsDesc": "マージせずに上書きする対象ファイルのパターン",
+ "Ui.Settings.Selector.SynchronisingFiles": "同期対象ファイル",
+ "Ui.Settings.Selector.SynchronisingFilesDesc": "(正規表現)空欄の場合はすべてのファイルを同期します。同期対象を制限したい場合は正規表現フィルターを設定してください。",
+ "Ui.Settings.Selector.TargetPatterns": "対象パターン",
+ "Ui.Settings.Selector.TargetPatternsDesc": "同期対象とするファイルのパターン",
+ "Ui.Settings.Setup.RerunWizardButton": "ウィザードを再実行",
+ "Ui.Settings.Setup.RerunWizardDesc": "オンボーディングウィザードを再実行して、Self-hosted LiveSync を再設定します。",
+ "Ui.Settings.Setup.RerunWizardName": "オンボーディングウィザードの再実行",
+ "Ui.Settings.SyncSettings.Fetch": "取得",
+ "Ui.Settings.SyncSettings.Merge": "マージ",
+ "Ui.Settings.SyncSettings.Overwrite": "上書き",
+ "Ui.SetupWizard.ApplySettingsInitialisation.ApplyWithoutInitialisation": "初期化せずに適用",
+ "Ui.SetupWizard.ApplySettingsInitialisation.Back": "これらの設定を適用する別の方法を確認",
+ "Ui.SetupWizard.ApplySettingsInitialisation.BypassGuidance": "これらの設定のみを適用すると、このデバイスが既存の同期データと互換性を失う可能性があります。再構築が不要であることを確認している場合にのみ使用してください。",
+ "Ui.SetupWizard.ApplySettingsInitialisation.BypassTitle": "初期化せずに設定を適用しますか?",
+ "Ui.SetupWizard.ApplySettingsInitialisation.ContinueFetch": "取得を続行",
+ "Ui.SetupWizard.ApplySettingsInitialisation.FetchOption": "このデバイスの同期をリセット",
+ "Ui.SetupWizard.ApplySettingsInitialisation.FetchOptionDesc": "再起動後、現在のリモート同期データからこのデバイスのローカルデータベースを再構築します。その後、Vault内のファイルがそのデータと照合・調整されます。",
+ "Ui.SetupWizard.ApplySettingsInitialisation.FetchOptionP2PDesc": "再起動後、オンラインのソースデバイスを選択してください。そのソースからこのデバイスのローカルLiveSyncデータベースが再構築されます。",
+ "Ui.SetupWizard.ApplySettingsInitialisation.Guidance": "これらの設定変更により同期データの解釈方法が変わります。再起動後に初期化操作と合わせて適用してください。",
+ "Ui.SetupWizard.ApplySettingsInitialisation.KeepEditing": "編集を続ける",
+ "Ui.SetupWizard.ApplySettingsInitialisation.ProceedFetch": "再起動して同期データを取得",
+ "Ui.SetupWizard.ApplySettingsInitialisation.ProceedFetchP2P": "再起動してソースデバイスを選択",
+ "Ui.SetupWizard.ApplySettingsInitialisation.ProceedRebuild": "再起動してサーバーデータを上書き",
+ "Ui.SetupWizard.ApplySettingsInitialisation.ProceedRebuildP2P": "再起動してこのデバイスを準備",
+ "Ui.SetupWizard.ApplySettingsInitialisation.Question": "再起動後、どちらの既存データを使用しますか?",
+ "Ui.SetupWizard.ApplySettingsInitialisation.RebuildOption": "このデバイスのファイルでサーバーデータを上書き",
+ "Ui.SetupWizard.ApplySettingsInitialisation.RebuildOptionDesc": "現在このVault内にあるファイルからローカルおよびリモートのデータベースを再構築します。他の同期デバイスはその後、ローカル同期をリセットする必要があります。",
+ "Ui.SetupWizard.ApplySettingsInitialisation.RebuildOptionP2P": "この Vault の内容でこのデバイスを準備",
+ "Ui.SetupWizard.ApplySettingsInitialisation.RebuildOptionP2PDesc": "現在このVault内にあるファイルからこのデバイスのローカルLiveSyncデータベースを再構築します。他のデバイスが上書きされることはありません。",
+ "Ui.SetupWizard.ApplySettingsInitialisation.RemoteVerificationGuidance": "現在の認証情報および暗号化設定では、設定されたリモートを検証できませんでした。このまま続行すると再起動後の取得に失敗する可能性があります。",
+ "Ui.SetupWizard.ApplySettingsInitialisation.RemoteVerificationTitle": "リモート同期データを検証できませんでした",
+ "Ui.SetupWizard.ApplySettingsInitialisation.Title": "設定を適用して同期を再初期化",
+ "Ui.SetupWizard.Common.Back": "いいえ、戻ります",
+ "Ui.SetupWizard.Common.Cancel": "キャンセル",
+ "Ui.SetupWizard.Common.ProceedSelectOption": "続行するにはオプションを選択してください",
+ "Ui.SetupWizard.Intro.ExistingOption": "既存の同期設定にこのデバイスを追加する",
+ "Ui.SetupWizard.Intro.ExistingOptionDesc": "すでに他のPCやスマートフォンで同期を使用している場合はこちらを選択してください。このデバイスを既存の設定に接続します。",
+ "Ui.SetupWizard.Intro.Guidance": "同期の設定を簡単に行えるよう、いくつかの質問をご案内します。",
+ "Ui.SetupWizard.Intro.NewOption": "初めて同期を設定する",
+ "Ui.SetupWizard.Intro.NewOptionDesc": "このデバイスを最初の同期デバイスとして設定する場合はこちらを選択してください。",
+ "Ui.SetupWizard.Intro.ProceedExisting": "はい、既存の同期にこのデバイスを追加します",
+ "Ui.SetupWizard.Intro.ProceedNew": "はい、新しく同期を設定します",
+ "Ui.SetupWizard.Intro.Question": "まず、現在の状況に最も当てはまる項目を選択してください。",
+ "Ui.SetupWizard.Intro.Title": "Self-hosted LiveSync へようこそ",
+ "Ui.SetupWizard.Invitation.Start": "セットアップを開始",
+ "Ui.SetupWizard.OutroAskUserMode.CompatibleOption": "リモートはすでにセットアップ済みであり、設定の互換性がある(またはこの操作によって互換性が確保された)。",
+ "Ui.SetupWizard.OutroAskUserMode.CompatibleOptionDesc": "確信がない限り、このオプションの選択にはリスクが伴います。サーバー設定がこのデバイスと互換性があることを前提としており、そうでない場合はデータ損失が発生する可能性があります。影響を十分理解した上で選択してください。",
+ "Ui.SetupWizard.OutroAskUserMode.ExistingOption": "リモートサーバーはすでにセットアップ済みです。このデバイスを参加させたい。",
+ "Ui.SetupWizard.OutroAskUserMode.ExistingOptionDesc": "このオプションを選択すると、このデバイスが既存のサーバーに参加します。サーバー上の既存の同期データをこのデバイスに取得(Fetch)する必要があります。",
+ "Ui.SetupWizard.OutroAskUserMode.Guidance": "サーバーへの接続設定が完了しました。次のステップとして、ローカルデータベース(同期情報)を再構築(Rebuild)する必要があります。",
+ "Ui.SetupWizard.OutroAskUserMode.NewOption": "新しいサーバーを初めてセットアップする / 既存のサーバーをリセットしたい。",
+ "Ui.SetupWizard.OutroAskUserMode.NewOptionDesc": "このオプションを選択すると、このデバイス上の現在のデータを使用してサーバーを初期化します。サーバー上の既存のデータはすべて完全に上書きされます。",
+ "Ui.SetupWizard.OutroAskUserMode.ProceedApplySettings": "設定を適用",
+ "Ui.SetupWizard.OutroAskUserMode.ProceedNext": "次のステップへ進む",
+ "Ui.SetupWizard.OutroAskUserMode.Question": "現在の状況を選択してください。",
+ "Ui.SetupWizard.OutroAskUserMode.Title": "ほぼ完了: 選択が必要です",
+ "Ui.SetupWizard.OutroNewP2PUser.GuidanceNotice": "P2P には上書き対象となる中央サーバーのコピーがありません。このステップではこのデバイスのみを準備します。他のデバイスが初期データを取得(Fetch)する際は、このデバイスをオンラインのままにしておいてください。",
+ "Ui.SetupWizard.OutroNewP2PUser.GuidancePrimary": "ピアツーピア(P2P)接続の設定が完了しました。次に、この Vault 内の現在のファイルからローカル LiveSync データベースを作成します。",
+ "Ui.SetupWizard.OutroNewP2PUser.Important": "注意",
+ "Ui.SetupWizard.OutroNewP2PUser.Proceed": "再起動してこのデバイスを準備",
+ "Ui.SetupWizard.OutroNewP2PUser.Question": "下のボタンを選択して再起動し、ローカル初期化の確認に進んでください。",
+ "Ui.SetupWizard.OutroNewP2PUser.Title": "セットアップ完了: この P2P デバイスの準備",
+ "Ui.SetupWizard.OutroNewUser.GuidancePrimary": "サーバーへの接続設定が完了しました。次のステップとして、このデバイスの現在のデータからサーバー上の同期データを作成します。",
+ "Ui.SetupWizard.OutroNewUser.GuidanceWarning": "再起動後、このデバイス上のデータがマスターコピーとしてサーバーにアップロードされます。現在サーバー上にある意図しないデータは完全に上書きされますのでご注意ください。",
+ "Ui.SetupWizard.OutroNewUser.Important": "重要",
+ "Ui.SetupWizard.OutroNewUser.Proceed": "再起動してサーバーを初期化",
+ "Ui.SetupWizard.OutroNewUser.Question": "下のボタンを選択して再起動し、最終確認に進んでください。",
+ "Ui.SetupWizard.OutroNewUser.Title": "セットアップ完了: サーバー初期化の準備",
+ "Ui.SetupWizard.RebuildEverythingP2P.ConfirmLocalReset": "この操作により、このデバイスのローカル同期データベースのみがリセットされることを理解しました。",
+ "Ui.SetupWizard.RebuildEverythingP2P.ConfirmLocalResetNote": "現在この Vault 内にあるファイルを使用して再構築されます。",
+ "Ui.SetupWizard.RebuildEverythingP2P.ConfirmTitle": "⚠️ 以下の内容をご確認ください",
+ "Ui.SetupWizard.RebuildEverythingP2P.Guidance": "この手順により、このデバイス上のローカル LiveSync データベースが破棄され、この Vault 内の現在のファイルから再構築されます。他のデバイス上のデータが削除または上書きされることはありません。",
+ "Ui.SetupWizard.RebuildEverythingP2P.Note": "他のデバイスがこのデバイスから Vault を取得(Fetch)できるよう、初期化後もこのデバイスをオンラインのままにしておいてください。",
+ "Ui.SetupWizard.RebuildEverythingP2P.Proceed": "理解した上でこのデバイスを準備する",
+ "Ui.SetupWizard.RebuildEverythingP2P.Title": "最終確認: P2P 用にこのデバイスを準備",
+ "Ui.SetupWizard.SelectExisting.Guidance": "このデバイスを既存の同期設定に追加します。",
+ "Ui.SetupWizard.SelectExisting.ManualOption": "リモートを手動で設定",
+ "Ui.SetupWizard.SelectExisting.ManualOptionDesc": "他のデバイスと同じリモート設定を手動で再度行います。これは上級者向けのオプションです。",
+ "Ui.SetupWizard.SelectExisting.ProceedManual": "手動設定で続行",
+ "Ui.SetupWizard.SelectExisting.ProceedQr": "稼働中のデバイスに表示された QR コードを、このデバイスのカメラで読み取ってください。",
+ "Ui.SetupWizard.SelectExisting.ProceedSetupUri": "セットアップ URIで続行",
+ "Ui.SetupWizard.SelectExisting.QrOption": "QR コードをスキャン(モバイル推奨)",
+ "Ui.SetupWizard.SelectExisting.QrOptionDesc": "稼働中のデバイスに表示された QR コードを、このデバイスのカメラで読み取ってください。",
+ "Ui.SetupWizard.SelectExisting.Question": "他のデバイスから設定をインポートする方法を選択してください。",
+ "Ui.SetupWizard.SelectExisting.SetupUriOption": "セットアップ URIを使用(推奨)",
+ "Ui.SetupWizard.SelectExisting.SetupUriOptionDesc": "稼働中のデバイスで生成されたセットアップ URIを貼り付けます。",
+ "Ui.SetupWizard.SelectExisting.Title": "デバイスの設定方法",
+ "Ui.SetupWizard.SelectNew.Guidance": "これから同期接続の設定を行います。",
+ "Ui.SetupWizard.SelectNew.ManualOption": "リモートを手動で設定",
+ "Ui.SetupWizard.SelectNew.ManualOptionDesc": "セットアップ URIをお持ちでない場合や、詳細な設定を行いたい上級者向けのオプションです。CouchDB や S3 互換オブジェクトストレージの代わりに P2P 同期を使用する場合にも利用できます。",
+ "Ui.SetupWizard.SelectNew.ProceedManual": "手動設定で続行",
+ "Ui.SetupWizard.SelectNew.ProceedSetupUri": "セットアップ URIで続行",
+ "Ui.SetupWizard.SelectNew.Question": "この同期接続をどのように設定しますか?",
+ "Ui.SetupWizard.SelectNew.SetupUriOption": "セットアップ URIを使用(推奨)",
+ "Ui.SetupWizard.SelectNew.SetupUriOptionDesc": "セットアップ URIは接続情報と認証情報を含む1つの文字列です。セットアップスクリプトなどで生成されている場合は、簡単かつ安全に設定できます。",
+ "Ui.SetupWizard.SelectNew.Title": "接続方法",
+ "Ui.SetupWizard.SetupRemote.BucketOption": "S3 互換オブジェクトストレージ",
+ "Ui.SetupWizard.SetupRemote.BucketOptionDesc": "ジャーナルファイルを使用した同期。Amazon S3、MinIO、Cloudflare R2 などの S3 互換オブジェクトストレージサービスがあらかじめセットアップされている必要があります。",
+ "Ui.SetupWizard.SetupRemote.CouchDbOptionDesc": "現在の設計において最も適した同期方法です。すべての機能が利用可能です。あらかじめ CouchDB インスタンスがセットアップされている必要があります。",
+ "Ui.SetupWizard.SetupRemote.Guidance": "この同期設定で使用するリモートの種類を選択してください。",
+ "Ui.SetupWizard.SetupRemote.P2POption": "ピアツーピア(P2P)",
+ "Ui.SetupWizard.SetupRemote.P2POptionDesc": "デバイス間で直接同期を行います。サーバーは不要ですが、両方のデバイスが同時にオンラインである必要があり、一部の機能が制限される場合があります。インターネット接続はシグナリングにのみ必要で、データ転送には使用されません。",
+ "Ui.SetupWizard.SetupRemote.ProceedBucket": "オブジェクトストレージの設定へ進む",
+ "Ui.SetupWizard.SetupRemote.ProceedCouchDb": "CouchDB の設定へ進む",
+ "Ui.SetupWizard.SetupRemote.ProceedP2P": "P2P の設定へ進む",
+ "Ui.SetupWizard.SetupRemote.Title": "同期先の選択",
+ "Unicode NFC path identity": "Unicode NFC パス識別",
+ "Unique name between all synchronized devices. To edit this setting, please disable customization sync once.": "同期するすべてのデバイス間で重複しない(一意の)名前。この設定を変更する場合、カスタマイズ同期を無効にしてください。",
+ "Unless you are certain, selecting this options is bit dangerous. It assumes that the server configuration is compatible with this device. If this is not the case, data loss may occur. Please ensure you know what you are doing.": "確信がない限り、このオプションの選択は危険を伴います。サーバーの設定がこのデバイスと互換性があることを前提としています。互換性がない場合、データが失われる可能性があります。操作内容を十分に理解した上で実行してください。",
+ "Updating list...": "リストを更新中...",
+ "URL": "URL",
+ "Use a custom passphrase": "カスタムパスフレーズを使用",
+ "Use a Setup URI (Recommended)": "セットアップ URIを使う(推奨)",
"Use Custom HTTP Handler": "カスタムHTTPハンドラーの利用",
+ "Use Diagnostic RTCPeerConnection for statistics": "統計情報の収集に診断用RTCPeerConnectionを使用する",
"Use dynamic iteration count": "動的な繰り返し回数",
+ "Use internal API": "内部APIを使用",
+ "Use Internal API": "内部APIを使用",
+ "Use JWT Authentication": "JWT認証を使用",
+ "Use JWT instead of Basic Authentication": "Basic 認証の代わりに JWT を使用",
+ "Use Only Local Chunks": "ローカルチャンクのみを使用",
+ "Use Path-Style Access": "パススタイルアクセスを使用",
+ "Use Random Number": "乱数を使用",
+ "Use Request API to avoid `inevitable` CORS problem": "Request API を使用して避けられない CORS 問題を回避",
"Use Segmented-splitter": "セグメント分割を使用",
"Use splitting-limit-capped chunk splitter": "分割制限付きチャンク分割を使用",
+ "Use the detailed flow": "詳細フローを使用",
"Use the trash bin": "ゴミ箱を使用",
"Use timeouts instead of heartbeats": "ハートビートの代わりにタイムアウトを使用",
+ "Use vrtmrz's relay": "vrtmrzのリレーを使用",
"username": "ユーザー名",
"Username": "ユーザー名",
- "Verbose Log": "エラー以外のログ項目",
+ "Verbose Log": "詳細ログ",
"Verify all": "すべて検証",
"Verify and repair all files": "すべてのファイルを検証して修復",
"Warning! This will have a serious impact on performance. And the logs will not be synchronised under the default name. Please be careful with logs; they often contain your confidential information.": "警告!これはパフォーマンスに重大な影響を与えます。また、ログはデフォルト名では同期されません。ログには機密情報が含まれることが多いため、注意してください。",
+ "WATCHING": "監視中",
+ "We are about to retrieve the remote data.\n\nFirstly, how shall we handle the data retrieved from this remote source?\n\n- **${NEWER_WINS}**: Compares the modified time of files and takes the newer one.\n If you have been using Self-hosted LiveSync and have made changes on multiple devices, this option may be suitable for you as it tries to merge changes based on modified time.\n- **${REMOTE_WINS}**: Remote data is the source of truth.\n If you are new to using Self-hosted LiveSync. This option may be easiest to understand and get started with.\n It will overwrite all your local files with the remote data, so please make sure you have a backup if there is any important data in your vault.\n- **${DETAILED}**: Opens the detailed setup wizard.\n If you want to have more control over the synchronisation process, or want to review the changes before applying, you can choose this option to use the detailed flow.": "リモートサーバーからデータを取得します。 取得するデータをどのように扱いますか?\n- **${NEWER_WINS}**: 更新日時が新しい方のバージョンを採用します。\n 複数のデバイスでファイルを変更している場合に適しています。LiveSync は更新日時に基づいて採用するバージョンを決めます。\n- **${REMOTE_WINS}**: リモートデータを正として扱います。\n Self-hosted LiveSync を初めて使う場合は、この方法が分かりやすいでしょう。ローカルファイルはすべてリモートデータで上書きされるため、重要なデータがある場合は事前にバックアップしてください。\n- **${DETAILED}**: 詳細セットアップウィザードを開きます。\n 変更を適用する前に確認したい場合や、同期を細かく制御したい場合に選択してください。",
+ "We are about to retrieve the remote data.\n\nFirstly, how shall we handle the data retrieved from this remote source?\n\n- **${NEWER_WINS}**: Keep the version with the latest modification time.\n This may suit you if you already use Self-hosted LiveSync and have made changes on multiple devices. It attempts to merge changes based on modification times.\n- **${REMOTE_WINS}**: Treat the remote data as the source of truth.\n This may be easiest if you are new to Self-hosted LiveSync. It overwrites all local files with remote data, so back up any important local data first.\n- **${DETAILED}**: Open the detailed setup wizard.\n Choose this option to review changes before applying them or to have more control over synchronisation.": "リモートサーバーからデータを取得します。\n取得するデータをどのように扱いますか?\n- **${NEWER_WINS}**: 更新日時が新しい方のバージョンを採用します。\n 複数のデバイスでファイルを変更している場合に適しています。LiveSync は更新日時に基づいて採用するバージョンを決めます。\n- **${REMOTE_WINS}**: リモートデータを正として扱います。\n Self-hosted LiveSync を初めて使う場合は、この方法が分かりやすいでしょう。ローカルファイルはすべてリモートデータで上書きされるため、重要なデータがある場合は事前にバックアップしてください。\n- **${DETAILED}**: 詳細セットアップウィザードを開きます。\n 変更を適用する前に確認したい場合や、同期を細かく制御したい場合に選択してください。",
+ "We can not use \"/\" to the device name": "デバイス名に「/」は使用できません",
+ "We can use only Secure (HTTPS) connections on Obsidian Mobile.": "Obsidianモバイル版ではセキュア接続(HTTPS)のみ使用可能です。",
"We cannot change the device name while this feature is enabled. Please disable this feature to change the device name.": "この機能が有効な間はデバイス名を変更できません。変更するにはこの機能を無効にしてください。",
+ "We have to configure the device name": "デバイス名を設定する必要があります",
+ "We recommend that you copy your Vault folder to a safe location. This will provide a safeguard in case a large number of conflicts arise, or if you accidentally synchronise with an incorrect destination.": "Vaultフォルダーを安全な場所にコピーすることをおすすめします。これにより、大量の競合が発生した場合や誤った同期先に同期してしまった場合の備えになります。",
"We will now guide you through a few questions to simplify the synchronisation setup.": "これからいくつかの質問に沿って、同期設定を簡単に進めます。",
"We will now proceed with the server configuration.": "次にサーバー設定を進めます。",
"Welcome to Self-hosted LiveSync": "Self-hosted LiveSync へようこそ",
"When you save a file in the editor, start a sync automatically": "エディタでファイルを保存すると、自動的に同期を開始します",
+ "While enabled, it causes very performance impact but debugging replication testing and other features will be enabled. Please disable this if you have not read the source code. Requires restart of Obsidian. Sometimes there is no implementation.": "有効にするとパフォーマンスが大幅に低下しますが、デバッグ用のレプリケーションテストなどを実行できます。ソースコードを確認していない場合は無効にしてください。変更を反映するには Obsidian の再起動が必要です。機能が未実装の場合もあります。",
"Write credentials in the file": "認証情報のファイル内保存",
"Write logs into the file": "ファイルにログを記録",
- "xxhash32 (Fast but less collision resistance)": "xxhash32 (高速ですが衝突耐性は低め)",
- "xxhash64 (Fastest)": "xxhash64 (最速)",
- "Yes, I want to add this device to my existing synchronisation": "はい、この端末を既存の同期に追加します",
+ "xxhash32 (Fast but less collision resistance)": "xxhash32(高速ですが衝突耐性は低め)",
+ "xxhash64 (Fastest)": "xxhash64(最速)",
+ "xxhash64 is the current default.": "現在のデフォルトは xxhash64 です。",
+ "Yes, I want to add this device to my existing synchronisation": "はい、このデバイスを既存の同期に追加します",
"Yes, I want to set up a new synchronisation": "はい、新しい同期を設定します",
- "You are adding this device to an existing synchronisation setup.": "この端末を既存の同期構成に追加しようとしています。"
+ "You are adding this device to an existing synchronisation setup.": "このデバイスを既存の同期構成に追加しようとしています。",
+ "You can configure in the Obsidian Plugin Settings.": "Obsidian のプラグイン設定で設定できます。",
+ "You can enable this setting to process the files with size mismatches, these files can be created by some APIs or integrations.": "この設定を有効にすると、一部の API や連携機能によって生成される可能性のある、サイズ不一致のあるファイルを処理できます。",
+ "You should create a new synchronisation destination and rebuild your data there.": "新しい同期先を作成し、そこでデータを再構築(Rebuild)してください。",
+ "You should perform this operation only in exceptional circumstances, such as when the server data is completely corrupted, when changes on all other devices are no longer needed, or when the database size has become unusually large in comparison to the Vault size.": "この操作は、サーバーデータが完全に破損した場合、他のすべてのデバイスの変更が不要になった場合、あるいは Vault のサイズに比べてデータベースサイズが異常に肥大化した場合など、例外的な状況でのみ実行してください。",
+ "you wanted(Thank you)!": "ご要望"
}
diff --git a/src/common/messagesYAML/en.yaml b/src/common/messagesYAML/en.yaml
index 1995cf4e..093a0807 100644
--- a/src/common/messagesYAML/en.yaml
+++ b/src/common/messagesYAML/en.yaml
@@ -679,7 +679,7 @@ moduleCheckRemoteSize:
option800MB: 800MB (Cloudant, fly.io)
optionAskMeLater: Ask me later
optionDismiss: Dismiss
- optionIncreaseLimit: increase to ${newMax}MB
+ optionIncreaseLimit: Increase to ${newMax} MB
optionNoWarn: No, never warn please
optionReview: Review options
optionRebuildAll: Rebuild Everything Now
diff --git a/src/common/messagesYAML/ja.yaml b/src/common/messagesYAML/ja.yaml
index f2b860c0..7cc839aa 100644
--- a/src/common/messagesYAML/ja.yaml
+++ b/src/common/messagesYAML/ja.yaml
@@ -1,99 +1,252 @@
+", please select the option that best describes the current state of your Vault. The application will then check your files in the most appropriate way based on your selection.": 、現在の Vault の状態に最も当てはまる項目を選択してください。選択内容に基づき、最適な方法でファイルがチェックされます。
(Active): (有効)
-(BETA) Always overwrite with a newer file: (ベータ機能) 常に新しいファイルで上書きする
-(Beta) Use ignore files: (ベータ機能) 除外ファイル(ignore)の使用
-(Days passed, 0 to disable automatic-deletion): (経過日数、0で自動削除を無効化)
+(BETA) Always overwrite with a newer file: (ベータ機能)常に新しいファイルで上書きする
+(Beta) Use ignore files: (ベータ機能)除外ファイル(ignore)の使用
+(Days passed, 0 to disable automatic-deletion): (経過日数、0で自動削除を無効化)
+(e.g., after editing many files whilst offline): "(例: オフライン中に多数のファイルを編集した後など)"
+(e.g., immediately after restoring on another computer, or having recovered from a backup): "(例: 別のPCで復元した直後、またはバックアップから復旧した後など)"
+(e.g., setting up for the first time on a new smartphone, starting from a clean slate): "(例: 新しいスマートフォンで初めてセットアップし、空の状態から開始する場合など)"
(ex. Read chunks online) If this option is enabled, LiveSync reads chunks online directly instead of replicating them locally. Increasing Custom chunk size is recommended.:
- "(例: チャンクをオンラインで読む)
- このオプションを有効にすると、LiveSyncはチャンクをローカルに複製せず、直接オンラインで読み込みます。カスタムチャンクサイズを増やすことをお勧めしま\
+ "(例: チャンクをオンラインで読む)
+ このオプションを有効にすると、LiveSyncはチャンクをローカルに複製せず、直接オンラインで読み込みます。カスタムチャンクサイズを増やすことをおすすめしま\
す。"
(MB) If this is set, changes to local and remote files that are larger than this will be skipped. If the file becomes smaller again, a newer one will be used.:
- (MB)
+ (MB)
この値を設定すると、これより大きいサイズのローカルファイルやリモートファイルの変更はスキップされます。ファイルが再び小さくなった場合は、新しいものが使用されます。
-(Mega chars): (メガ文字)
-(Not recommended) If set, credentials will be stored in the file.: (非推奨) 設定した場合、認証情報がファイルに保存されます。
-(Obsolete) Use an old adapter for compatibility: (廃止済み)古いアダプターを互換性のために利用
+(Mega chars): (メガ文字)
+(Missing): (見つかりません)
+(Not recommended) If set, credentials will be stored in the file.: (非推奨)設定した場合、認証情報がファイルに保存されます。
+(Obsolete) Use an old adapter for compatibility: (廃止済み)古いアダプターを互換性のために利用
(RegExp) Empty to sync all files. Set filter as a regular expression to limit synchronising files.: (正規表現)空欄で全ファイルを同期します。正規表現を指定すると、同期対象のファイルを絞り込めます。
(RegExp) If this is set, any changes to local and remote files that match this will be skipped.: (正規表現)設定すると、これに一致するローカル/リモートファイルの変更はすべてスキップされます。
+(Select this if you already have another synchronising device.) This option adds this device to the same synchronisation.: (すでに同期している別のデバイスがある場合に選択してください。)このデバイスを既存の同期環境に追加します。
+(Select this if you are configuring this device as the first synchronisation device.) This option is suitable if you are new to LiveSync and want to set it up from scratch.: (このデバイスを最初の同期デバイスとして設定する場合に選択してください。)LiveSync を初めて利用し、最初から設定したい場合に適しています。
+"↑: Overwrite Remote": "↑: リモートを上書き"
+"↓: Overwrite Local": "↓: ローカルを上書き"
+"⇅: Use newer": "⇅: 新しい方を使用"
++1 week: +1週間
+"> [!INFO]- The connected devices have been detected as follows:\n${devices}": |-
+ > [!INFO]- 次の接続済みデバイスが検出されました:
+ ${devices}
+⚠️ Important Notice: ⚠️ 重要なお知らせ
+⚠️ Please Confirm the Following: ⚠️ 以下を確認してください
+✔ SELECT: ✔ 選択
+✔ SYNC: ✔ 同期
+✔ WATCH: ✔ 監視
+📡 Off: 📡 オフ
+📡 On: 📡 オン
+🔴 Disconnected: 🔴 未接続
+🕵️ Diag: 🕵️ 診断
+🗑 Delete: 🗑 削除
+🟢 Connected: 🟢 接続済み
+${count} issue(s) detected!: ${count} 件の問題が検出されました!
+A Setup URI is a single string of text containing your server address and authentication details. Using a URI, if one was generated by your server installation script, provides a simple and secure configuration.:
+ セットアップ URIは、サーバーアドレスと認証情報を含む1本の文字列です。サーバーのインストールスクリプトで生成された URI
+ がある場合は、それを使うと簡単かつ安全に設定できます。
+Accept: 承認
+Accept in session: このセッションのみ承認
+ACCEPTED: 承認済み
+ACCEPTED (in session): 承認済み(セッション内)
Access Key: アクセスキー
+Access Key ID: アクセスキー ID
+Action: 操作
Activate: 有効化
+Active Remote Configuration: 有効なリモート設定
+Active Remote Type: 現在の同期方式
Add default patterns: デフォルトパターンを追加
Add new connection: 接続を追加
-Always prompt merge conflicts: 常に競合は手動で解決する
+AddOn Module (ConfigSync) has not been loaded. This is very unexpected situation. Please report this issue.: アドオンモジュール(ConfigSync)を読み込めませんでした。予期しない事態です。この問題を報告してください。
+AddOn Module (HiddenFileSync) has not been loaded. This is very unexpected situation. Please report this issue.: アドオンモジュール(HiddenFileSync)を読み込めませんでした。予期しない事態です。この問題を報告してください。
+Advanced: 高度な設定
+Advanced Settings: 高度な設定
+After restarting, the data on this device will be uploaded to the server as the 'master copy'. Please be aware that any unintended data currently on the server will be completely overwritten.:
+ 再起動後、このデバイス上のデータが「マスターコピー」としてサーバーにアップロードされます。現在サーバー上にある意図しないデータは完全に上書きされますのでご注意ください。
+After restarting, the database on this device will be rebuilt using data from the server. If there are any unsynchronised files in this vault, conflicts may occur with the server data.:
+ 再起動後、サーバーのデータを使用してこのデバイス上のデータベースが再構築されます。このVaultに未同期のファイルがある場合、サーバーのデータとの間で競合が発生する可能性があります。
+After that, synchronise to a brand new vault on each other device with the new remote one by one.: その後、他のデバイスで新しいリモートを使用して、空の新しいVaultへ1台ずつ同期してください。
+All checks passed successfully!: すべてのチェックが正常に完了しました!
+All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.: すべてのデバイスで進捗値が同じです(${progress})。デバイスは同期されているようなので、ガベージコレクションを続行できます。
+All the same or non-existent: すべて同一または存在しない
+Allow in session: このセッションのみ許可
+Allow permanently: 常に許可
+Allow sleep during synchronisation: 同期中のスリープを許可
+Allow sleep during synchronisation on the desktop: デスクトップで同期中のスリープを許可
+Allow the operating system to sleep while finite synchronisation operations are in progress.: 一時的な同期処理中も、オペレーティングシステムのスリープを許可します。
+Also, please note that if you are using Peer-to-Peer synchronization, this configuration will be used when you switch to other methods and connect to a remote server in the future.:
+ なお、ピアツーピア(P2P)同期を使用している場合でも、将来他の同期方法に切り替えてリモートサーバーに接続する際には、この設定が使用されますのでご注意ください。
+Always prompt merge conflicts: 競合のマージ時に毎回確認を求める
+Analyse: 分析
+Analyse database usage: データベース使用状況を分析
+Analyse database usage and generate a TSV report for diagnosis yourself. You can paste the generated report with any spreadsheet you like.: データベース使用状況を分析し、自分で診断できるよう TSV レポートを生成します。生成したレポートは任意のスプレッドシートに貼り付けて確認できます。
+Application ID: アプリケーション ID
+Apply All Selected: 選択したすべてを適用
Apply Latest Change if Conflicting: 競合がある場合は最新の変更を適用する
Apply preset configuration: プリセットを適用する
+Apply the settings: 設定を適用
Ask a passphrase at every launch: 起動のたびにパスフレーズを確認
+Auto Connect: 自動接続
+Auto Start P2P Connection: P2P接続を自動開始
+Auto-accept compatible tweak mismatches: 互換性のある調整項目の不一致を自動的に受け入れる
+Automatic: 自動
+Automatically accepts mismatches that are compatible but potentially lossy by comparing tweak modification times.: 調整項目の更新日時を比較し、互換性はあるものの情報が失われる可能性のある不一致を自動的に受け入れます。
+Automatically broadcast changes to connected peers: 接続中のピアに変更を自動ブロードキャスト
+Automatically start P2P connection on launch: 起動時に P2P 接続を自動開始
Automatically Sync all files when opening Obsidian.: Obsidian起動時にすべてのファイルを自動同期します。
+Available Peers: 利用可能なピア
Back: 戻る
Back to non-configured: 未設定状態に戻す
Batch database update: データベースのバッチ更新
Batch limit: バッチの上限
-Batch size: バッチ容量
+Batch size: バッチサイズ
Batch size of on-demand fetching: オンデマンド取得のバッチサイズ
Before v0.17.16, we used an old adapter for the local database. Now the new adapter is preferred. However, it needs local database rebuilding. Please disable this toggle when you have enough time. If leave it enabled, also while fetching from the remote database, you will be asked to disable this.:
- v0.17.6までは古いアダプターをローカル用のデータベースに使用していましたが、現在は新しいアダプターを推奨しています。しかし、新しいアダプターに変更するにはローカルデータベースの再構築が必要です。有効のままにしておくと、リモートデータベースからフェッチする場合に、この設定を無効にするかの質問が表示されます。
+ v0.17.16 より前は、ローカルデータベースに古いアダプターを使用していましたが、現在は新しいアダプターを推奨しています。変更にはローカルデータベースの再構築が必要なため、時間に余裕があるときにこの設定を無効にしてください。有効のままにしておくと、リモートデータベースから取得する際にも、この設定を無効にするよう求められます。
+Broadcasting?: ブロードキャスト中?
Bucket Name: バケット名
+by resetting the remote, you will be informed on other devices.: リモートをリセットすると、他のデバイスに通知されます。
Cancel: キャンセル
-Check and convert non-path-obfuscated files: パス難読化されていないファイルを確認して変換
+Cancel all and reboot: すべてキャンセルして再起動
+Cancel Garbage Collection: ガベージコレクションをキャンセル
+Changing the encryption algorithm will prevent access to any data previously encrypted with a different algorithm. Ensure that all your devices are configured to use the same algorithm to maintain access to your data.:
+ 暗号化アルゴリズムを変更すると、以前に別のアルゴリズムで暗号化されたデータにアクセスできなくなります。データへのアクセスを維持するため、すべてのデバイスで同じアルゴリズムを使用するように設定してください。
+Changing this setting requires migrating existing data (a bit time may be taken) and restarting Obsidian. Please make sure to back up your data before proceeding.:
+ この設定を変更するには、既存データの移行(少し時間がかかる場合があります)とObsidianの再起動が必要です。続行する前に必ずデータのバックアップを取ってください。
+Check: チェック
+Check and convert non-path-obfuscated files: パスが難読化されていないファイルを確認して変換
Check for documents that have not been converted to path-obfuscated IDs and convert them if necessary.: まだパス難読化 ID に変換されていないドキュメントを確認し、必要に応じて変換します。
+Check server requirements: サーバー要件を確認
+Checking connection... Please wait.: 接続を確認中... しばらくお待ちください。
+Chunk revisions are always derived from their content. This stored key is retained only for compatibility.: チャンクリビジョンは常にそのコンテンツから導出されます。保存されているこのキーは互換性の維持のみを目的として保持されています。
+Chunk Splitter: チャンクスプリッター
+Chunks: チャンク
+Close: 閉じる
+Close & Disconnect: 閉じて切断
+Close this dialog: このダイアログを閉じる
+"Closed:": "切断:"
cmdConfigSync:
showCustomizationSync: カスタマイズ同期を表示
Comma separated `.gitignore, .dockerignore`: カンマ区切り `.gitignore, .dockerignore`
+Command: コマンド
+Communicating: 通信中
+Compaction in progress on remote database...: リモートデータベースでコンパクションを実行中です...
+Compaction on remote database completed successfully.: リモートデータベースでのコンパクションが正常に完了しました。
+Compaction on remote database failed.: リモートデータベースでのコンパクションに失敗しました。
+Compaction on remote database timed out.: リモートデータベースでのコンパクションがタイムアウトしました。
+Compare file: ファイルを比較
Compare the content of files between on local database and storage. If not matched, you will be asked which one you want to keep.: ローカルデータベースとストレージ上のファイル内容を比較します。一致しない場合は、どちらを残すか選択できます。
+Compare time and take newer: 更新日時を比較して新しい方を採用
Compatibility (Conflict Behaviour): 互換性(競合時の挙動)
Compatibility (Database structure): 互換性(データベース構造)
Compatibility (Internal API Usage): 互換性(内部 API の利用)
Compatibility (Metadata): 互換性(メタデータ)
Compatibility (Remote Database): 互換性(リモートデータベース)
Compatibility (Trouble addressed): 互換性(対処済みの問題)
-Compute revisions for chunks: チャンクの修正(リビジョン)を計算
+Compute revisions for chunks: チャンクの修正(リビジョン)を計算
+Configuration: 設定
Configuration Encryption: 設定の暗号化
Configure: 設定
Configure And Change Remote: リモートを設定して切り替える
Configure E2EE: E2EE を設定
Configure Remote: リモートを設定
+Configure the same server information as your other devices again, manually, very advanced users only.: 他のデバイスと同じサーバー情報を手動で再入力します。上級者向けの方法です。
+Conflict & Deletion Options: 競合と削除のオプション
+Connect: 接続
+Connect to existing database and continue: 既存のデータベースに接続して続行
+"Connected to Signaling Server (as Peer ID: ${peerId})": "シグナリングサーバーに接続しました(ピアID: ${peerId})"
+"Connected:": "接続成功:"
+Connection Method: 接続方法
+Connection Settings: 接続設定
+"Connection:": "接続:"
+Content-derived chunk revisions (obsolete setting): コンテンツ由来のチャンクリビジョン(廃止された設定)
+Continue anyway: このまま続行
+Continue to CouchDB setup: CouchDB 設定へ進む
+Continue to Peer-to-Peer only setup: ピアツーピア専用の設定へ進む
+Continue to S3/MinIO/R2 setup: S3/MinIO/R2 設定へ進む
Copy: コピー
+Copy Report to clipboard: レポートをクリップボードにコピー
+CouchDB Configuration: CouchDB 設定
CouchDB Connection Tweak: CouchDB 接続の調整
+CouchDB only. Version 0 preserves legacy path identity; version 1 uses Unicode NFC. Physical file names stay unchanged. Update every device and stop synchronisation, then Rebuild both databases from a complete authoritative Vault and Fetch on the other devices. Resolve colliding file names first. P2P and Object Storage do not support version 1.:
+ CouchDB専用です。バージョン0は従来のパス識別を維持し、バージョン1はUnicode
+ NFC形式でパスを識別します。物理ファイル名は変更されません。すべてのデバイスをアップデートして同期を停止した後、必要なファイルがすべてそろった正本のVaultから両方のデータベースを再構築し、他のデバイスでデータを取得してください。重複するファイル名は事前に解決してください。なお、P2Pおよびオブジェクトストレージはバージョン1に対応していません。
+CouchDB validates the database name when you connect. The name must not be empty.: CouchDBは接続時にデータベース名を検証します。名前を空にはできません。
+Create or connect to database and continue: データベースを作成または接続して続行
+Create P2P remote: P2Pリモートを作成
Cross-platform: クロスプラットフォーム
"Current adapter: {adapter}": "現在のアダプター: {adapter}"
+Custom Headers: カスタムヘッダー
+"Custom headers for requesting the bucket. e.g. `x-custom-header1: value1\n x-custom-header2: value2`": |-
+ バケットリクエスト用のカスタムヘッダー。例: `x-custom-header1: value1
+ x-custom-header2: value2`
+"Custom headers for requesting the CouchDB. e.g. `x-custom-header1: value1\n x-custom-header2: value2`": |-
+ CouchDB リクエスト用のカスタムヘッダー。例: `x-custom-header1: value1
+ x-custom-header2: value2`
Customization Sync: カスタマイズ同期
-Customization Sync (Beta3): カスタマイズ同期 (Beta3)
+Customization Sync (Beta3): カスタマイズ同期 (Beta 3)
Data Compression: データ圧縮
+Data retrieval scheduled: データの取得がスケジュールされました
+Data to Copy: コピーするデータ
+Database -> Storage: データベース → ストレージ
Database Adapter: データベースアダプター
Database Name: データベース名
Database suffix: データベースの接尾辞(suffix)
+Date: 日時
Default: デフォルト
Delay conflict resolution of inactive files: 非アクティブなファイルは、競合解決を先送りする
-Delay merge conflict prompt for inactive files.: 非アクティブなファイルの競合解決のプロンプトの表示を遅延させる
+Delay merge conflict prompt for inactive files.: 非アクティブなファイルに対する競合解決プロンプトの表示を遅延させる
Delete: 削除
Delete all customization sync data: カスタマイズ同期データをすべて削除
Delete all data on the remote server.: リモートサーバー上のすべてのデータを削除します。
+Delete All of: "すべて削除: "
Delete local database to reset or uninstall Self-hosted LiveSync: Self-hosted LiveSync をリセットまたはアンインストールするため、ローカルデータベースを削除
-Delete old metadata of deleted files on start-up: 削除済みデータのメタデータをクリーンナップする
+Delete local files if deleted on remote: リモートで削除されている場合はローカルファイルを削除
+Delete local files if not on remote: リモートに存在しない場合はローカルファイルを削除
+Delete old metadata of deleted files on start-up: 起動時に削除済みファイルの古いメタデータを削除する
Delete Remote Configuration: リモート設定を削除
Delete remote configuration '{name}'?: リモート設定 '{name}' を削除しますか?
+Delete remote configuration '${name}'?: リモート設定 '${name}' を削除しますか?
+DENIED: 拒否済み
+DENIED (in session): 拒否済み(セッション内)
+Deny: 拒否
+Deny in session: このセッションのみ拒否
+Deny permanently: 常に拒否
+Deselect all: すべての選択を解除
desktop: デスクトップ
+Desktop only; uses more battery and network.: デスクトップ専用。バッテリー消費とネットワーク通信量が増加します。
+Desktop only. Allow sleep on this device even when the general option is disabled.: デスクトップ専用。全般オプションが無効な場合でも、このデバイスでスリープを許可します。
+Detected Peers: 検出されたピア
Developer: 開発者
+Device: デバイス
+device name: デバイス名
Device name: デバイス名
+Device name to identify the device. Please use shorter one for the stable peer detection, i.e., "iphone-16" or "macbook-2021".: デバイスを識別するための名前です。ピア検出を安定させるため、「iphone-16」や「macbook-2021」のような短めの名前を使用してください。
+Device Peer ID: デバイスのピアID
+Device Setup Method: デバイスの設定方法
+"Devices:": "デバイス:"
+Diagnostic RTCPeerConnection is enabled: 診断用 RTCPeerConnection が有効です
dialog:
yourLanguageAvailable:
_value: >-
- Self-hosted LiveSync に設定されている言語の翻訳がありましたので、%{Display Language}が適用されました。
+ Self-hosted LiveSync では、ご使用の言語の翻訳が用意されていたため、「%{Display Language}」が有効になりました。
- 注意: 全てのメッセージは翻訳されていません。あなたの貢献をお待ちしています!
+ 注意: すべてのメッセージが翻訳されているわけではありません。皆さまのご貢献をお待ちしています!
- GithubにIssueを作成する際には、 %{Display Language} を一旦 %{lang-def}
- に戻してから、スクショやメッセージ、ログを収集してください。これは設定から変更できます。
+ GitHub で Issue を報告する際は、まず**表示言語を %{lang-def} に切り替えて**から、スクリーンショット、メッセージ、ログを収集してください。表示言語は設定から変更できます。
- 便利に使用できれば幸いです。
- btnRevertToDefault: Keep %{lang-def}
+ Self-hosted LiveSync をぜひご活用ください。
+ btnRevertToDefault: "%{lang-def} を維持"
Title: 翻訳が利用可能です!
+Diff: 差分
+Different: 不一致
Disables all synchronization and restart.: すべての同期を無効にして再起動します。
Disables logging, only shows notifications. Please disable if you report an issue.: ログを無効にし、通知のみを表示します。Issueを報告する場合は無効にしてください。
+Disconnect: 切断
+Dismiss: 閉じる
Display Language: インターフェースの表示言語
Display name: 表示名
-Do not check configuration mismatch before replication: サーバーから同期する前に設定の不一致を確認しない
+Do not check configuration mismatch before replication: レプリケーション前に設定の不一致を確認しない
Do not keep metadata of deleted files.: 削除済みファイルのメタデータを保持しない
Do not split chunks in the background: バックグラウンドでチャンクを分割しない
Do not use internal API: 内部APIを使用しない
@@ -107,15 +260,14 @@ Doctor:
Yes: はい
Dialogue:
Main: |-
- こんにちは!${activateReason}のため、設定診断ツールが起動しました!
- 残念ながら、いくつかの設定が潜在的な問題として検出されました。
- ご安心ください。一つずつ解決していきましょう。
+ 設定診断ツールを起動しました(理由: ${activateReason})。
+ 問題の可能性がある設定がいくつか見つかりました。一つずつ確認していきましょう。
- 事前にお知らせしますと、以下の項目についてお尋ねします。
+ これから、次の項目について確認します。
${issues}
- 始めていいですか?
+ 開始しますか?
MainFix: |-
## ${name}
@@ -126,13 +278,13 @@ Doctor:
**推奨レベル:** ${level}
- ### 診断理由?
+ ### 検出された理由
${reason}
${note}
- これを理想値に修正しますか?
+ 推奨値に変更しますか?
Title: Self-hosted LiveSync 設定診断ツール
TitleAlmostDone: あと少しです!
TitleFix: 問題の修正 ${current}/${total}
@@ -148,105 +300,267 @@ Doctor:
SomeSkipped: いくつかの問題をそのままにしました。次回起動時に再度確認しますか?
RULES:
E2EE_V02500:
- REASON: エンドツーエンド暗号化がより堅牢で高速になりました。また、以前のE2EEは再コードレビューにより脆弱性が発見されました。できるだけ早く適用することをお勧めします。ご不便をおかけして申し訳ありません。また、この設定は下位互換性がありません。すべての同期デバイスをv0.25.0以降にアップデートする必要があります。再構築は必須ではなく、新しい転送から新しいフォーマットに変換されますが、可能な限り再構築をお勧めします。
+ REASON: エンドツーエンド暗号化の安全性と速度が向上しました。また、コードレビューで従来のE2EEに脆弱性が見つかりました。できるだけ早く新しい方式に切り替えることをおすすめします。この変更によりご不便をおかけしますが、古いバージョンとの互換性はありません。すべての同期デバイスを v0.25.0 以降にアップデートしてください。データベースの再構築は必須ではありません。以後のデータ転送時に新しい形式へ変換されますが、可能であれば再構築をおすすめします。
+Document History: ドキュメント履歴
Duplicate: 複製
Duplicate remote: リモート設定を複製
E2EE Configuration: E2EE 設定
-Edge case addressing (Behaviour): 特殊なケースへの対応(動作)
-Edge case addressing (Database): 特殊なケースへの対応(データベース)
-Edge case addressing (Processing): 特殊なケースへの対応(処理)
+Edge case addressing (Behaviour): エッジケースへの対処(動作)
+Edge case addressing (Database): エッジケースへの対処(データベース)
+Edge case addressing (Processing): エッジケースへの対処(処理)
+Effectively a directory. Should end with `/`. e.g., `vault-name/`.: "実質的なディレクトリです。末尾は `/` にしてください(例: `vault-name/`)。"
Emergency restart: 緊急再起動
Enable advanced features: 高度な機能を有効にする
-Enable customization sync: カスタマイズ同期を有効
+Enable advanced mode: 高度な設定モードを有効化
+Enable customization sync: カスタマイズ同期を有効化
+Enable Developers' Debug Tools (If available).: 開発者向けデバッグツールを有効化(利用可能な場合)。
Enable Developers' Debug Tools.: 開発者用デバッグツールを有効にする
Enable edge case treatment features: エッジケース対応機能を有効にする
+Enable forcePathStyle: forcePathStyle を有効化
+Enable P2P Replicator: P2Pレプリケーターを有効化
+Enable P2P Synchronization: P2P 同期を有効化
+Enable per-file customization sync: ファイル単位のカスタマイズ同期を有効化
+Enable power user mode: パワーユーザーモードを有効化
Enable poweruser features: エキスパート機能を有効にする
-Enable this if your Object Storage doesn't support CORS: オブジェクトストレージがCORSをサポートしていない場合は有効にしてください
+Enable this if your Object Storage doesn't support CORS: オブジェクトストレージが CORS をサポートしていない場合は有効にしてください。
Enable this option to automatically apply the most recent change to documents even when it conflicts: このオプションを有効にすると、競合があっても最新の変更を自動的にドキュメントに適用します
-Encrypt contents on the remote database. If you use the plugin's synchronization feature, enabling this is recommended.: リモートデータベースの暗号化(オンにすることを推奨)
+Enabled: 有効
+Enabling end-to-end encryption ensures that your data is encrypted on your device before being sent to the remote server. This means that even if someone gains access to the server, they won't be able to read your data without the passphrase. Make sure to remember your passphrase, as it will be required to decrypt your data on other devices.:
+ エンドツーエンド暗号化(E2EE)を有効にすると、データはリモートサーバーに送信される前にデバイス上で暗号化されます。これにより、万が一誰かがサーバーにアクセスできたとしても、パスフレーズがなければデータを読み取ることはできません。他のデバイスでデータを復号する際に必要となりますので、パスフレーズは必ず忘れないようにしてください。
+Encrypt contents on the remote database. If you use the plugin's synchronization feature, enabling this is recommended.: リモートデータベース上のコンテンツを暗号化します。このプラグインの同期機能を使用する場合は、有効にすることをおすすめします。
+Encrypt file properties (paths, times, sizes, and Chunk references) used by Hidden File Sync and Customisation Sync. This affects future writes; manually rebuild the remote database to protect existing properties. Requires E2EE V2, Property Encryption, and compatible clients on every device.:
+ 非表示ファイル同期およびカスタマイズ同期で使用されるファイルプロパティ(パス、日時、サイズ、チャンク参照)を暗号化します。これは今後の書き込みに影響します。既存のプロパティを保護するには、リモートデータベースを手動で再構築(Rebuild)してください。E2EE
+ V2、プロパティ暗号化、およびすべてのデバイスで互換性のあるクライアントが必要です。
+Encrypt internal file Properties: 内部ファイルプロパティを暗号化
Encrypting sensitive configuration items: 機密性の高い設定項目の暗号化
+Encryption Algorithm: 暗号化アルゴリズム
+Encryption passphrase. If changed, you should overwrite the server's database with the new (encrypted) files.: 暗号化パスフレーズ。変更した場合は、新しい(暗号化された)ファイルでサーバーのデータベースを上書きする必要があります。
Encryption phassphrase. If changed, you should overwrite the server's database with the new (encrypted) files.: 暗号化パスフレーズ。変更した場合、新しい(暗号化された)ファイルでサーバーのデータベースを上書きする必要があります。
End-to-End Encryption: E2E暗号化
+End-to-End Encryption Algorithm: エンドツーエンド暗号化アルゴリズム
Endpoint URL: エンドポイントURL
Enhance chunk size: チャンクサイズを最適化する
+Enter a complete HTTP or HTTPS URL.: 完全な HTTP または HTTPS の URL を入力してください。
+Enter a folder prefix (optional): フォルダープレフィックスを入力(省略可能)
+Enter Server Information: サーバー情報の入力
+Enter Setup URI: セットアップ URIを入力
+Enter the server information manually: サーバー情報を手動で入力する
+Enter TURN credential: TURN 認証情報を入力
+Enter TURN username: TURN ユーザー名を入力
+Enter your Access Key ID: アクセスキー ID を入力してください
+Enter your Bucket Name: バケット名を入力してください
+Enter your database name: データベース名を入力してください
+Enter your JWT Key ID: JWT キー ID を入力してください
+Enter your JWT secret or private key: JWT シークレットまたは秘密鍵を入力してください
+Enter your JWT Subject (CouchDB Username): JWT サブジェクト(CouchDB ユーザー名)を入力してください
+Enter your passphrase: パスフレーズを入力してください
+Enter your password: パスワードを入力してください
+Enter your Region (e.g., us-east-1, auto for R2): "リージョンを入力してください(例: us-east-1、R2 の場合は auto)"
+Enter your Secret Access Key: シークレットアクセスキーを入力してください
+Enter your username: ユーザー名を入力してください
+"Error during connection test: ${reason}": "接続テスト中にエラーが発生しました: ${reason}"
+"Error during testAndFixSettings: ${reason}": "設定のテストと修正(testAndFixSettings)中にエラーが発生しました: ${reason}"
+Experimental Settings: 実験的な設定
Export: エクスポート
+Failed to connect to remote for compaction.: リモートデータベースに接続できず、コンパクションを実行できませんでした。
+Failed to connect to remote for compaction. ${reason}: リモートデータベースに接続できず、コンパクションを実行できませんでした。${reason}
+"Failed to connect to the server: ${reason}": "サーバーへの接続に失敗しました: ${reason}"
+Failed to connect to the server. Please check your settings.: サーバーに接続できませんでした。設定を確認してください。
+"Failed to connect to the signalling relay: ${reason}": "シグナリングリレーへの接続に失敗しました: ${reason}"
+Failed to create replicator instance.: レプリケーターインスタンスの作成に失敗しました。
+Failed to parse Setup-URI.: セットアップ URIの解析に失敗しました。
+Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.: ガベージコレクションの前にワンショットレプリケーションを開始できませんでした。ガベージコレクションはキャンセルされました。
+Failed to start replication after Garbage Collection.: ガベージコレクション後にレプリケーションを開始できませんでした。
+"Failed:": "失敗:"
Fetch: 取得
-Fetch chunks on demand: ユーザーのタイミングでチャンクの更新を確認する
+Fetch chunks on demand: 必要に応じてチャンクを取得する
Fetch database with previous behaviour: 以前の動作でデータベースを取得
Fetch remote settings: リモート設定を取得
+FETCHING: 取得中
+Fetching status...: ステータスを取得中...
+File integrity: ファイルの整合性
+File prefix on the bucket: バケット内のファイルプレフィックス
File to resolve conflict: 競合を解決するファイル
+File to view History: 履歴を表示するファイル
Filename: ファイル名
+Files with modification times greater than this value (in seconds since the Unix epoch) will not have their events reflected. Set to 0 to disable this limit.: この値(UNIX エポックからの秒数)より新しい更新日時を持つファイルは、ファイルイベントが反映されません。0 に設定するとこの制限が無効になります。
+"Final Confirmation: Overwrite Server Data with This Device's Files": "最終確認: このデバイスのファイルでサーバーのデータを上書きします"
+Finalise the process and resume normal operation: 処理を完了して通常の運用を再開
+First, please select the option that best describes your current situation.: まず、現在の状況に最も近い項目を選択してください。
+Fix: 修正
Flag and restart: フラグを立てて再起動
+Flagged Selective: フラグ付き選択同期
+Folder Prefix: フォルダープレフィックス
+For HS256/HS512 algorithms, provide the shared secret key. For ES256/ES512 algorithms, provide the pkcs8 PEM-formatted private key.:
+ HS256/HS512 アルゴリズムの場合は共有秘密鍵を指定してください。ES256/ES512 アルゴリズムの場合は pkcs8 PEM
+ 形式の秘密鍵を指定してください。
Forces the file to be synced when opened.: ファイルを開いたときに強制的に同期します。
Fresh Start Wipe: 初期化ワイプ
-Garbage Collection V3 (Beta): ガーベジコレクション V3 (Beta)
+Furthermore, if conflicts are already present in the server data, they will be synchronised to this device as they are, and you will need to resolve them locally.: さらに、サーバーデータにすでに競合がある場合は、その状態のままこのデバイスに同期されるため、ローカルで解決する必要があります。
+Garbage Collection cancelled by user.: ユーザーによってガベージコレクションがキャンセルされました。
+"Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.":
+ "ガベージコレクションが完了しました。削除したチャンク: ${deletedChunks} / ${totalChunks}。所要時間:
+ ${seconds} 秒。"
+Garbage Collection Confirmation: ガベージコレクションの確認
+Garbage Collection V3 (Beta): ガベージコレクション V3(ベータ)
+"Garbage Collection: Found ${unusedChunks} unused chunks to delete.": "ガベージコレクション: 削除対象の未使用チャンクが ${unusedChunks} 件見つかりました。"
+"Garbage Collection: Scanned ${scanned} / ~${docCount}": "ガベージコレクション: ${scanned} / ~${docCount} をスキャン済み"
+"Garbage Collection: Scanning completed. Total chunks: ${totalChunks}, Used chunks: ${usedChunks}": "ガベージコレクション: スキャン完了。総チャンク数: ${totalChunks}、使用中チャンク数: ${usedChunks}"
+Gathering information...: 情報を収集中...
+Generate Random ID: ランダムなIDを生成
+Group ID: グループID
Handle files as Case-Sensitive: ファイルの大文字・小文字を区別する
-Hidden Files: 隠しファイル
+Have you created a backup before proceeding?: 続行する前にバックアップを作成しましたか?
+Hidden file synchronization have been temporarily disabled. Please enable them after the fetching, if you need them.: 非表示ファイルの同期は一時的に無効化されました。必要な場合は、取得完了後に有効化してください。
+Hidden Files: 非表示ファイル
+Hide completely: 完全に非表示
+Hide not applicable items: 該当しない項目を非表示
+Hide password: パスワードを隠す
+Higher (${local} > ${remote}): 高い (${local} > ${remote})
+Highlight diff: 差分をハイライト
How to display network errors when the sync server is unreachable.: 同期サーバーに到達できない場合のネットワークエラーの表示方法を設定します。
-If disabled(toggled), chunks will be split on the UI thread (Previous behaviour).: 無効(トグル)にすると、チャンクはUIスレッドで分割されます(以前の動作)。
+How to handle extra existing local files?: ローカルにのみ存在する既存ファイルの処理方法
+How would you like to configure the connection to your server?: サーバー接続をどのように設定しますか?
+However, This should not be enabled if you want to increase your secrecy more.: ただし、秘匿性をより高めたい場合は、この設定を有効にしないでください。
+I am adding a device to an existing synchronisation setup: 既存の同期構成にデバイスを追加します
+I am ready, unlock the database: 準備完了、データベースのロックを解除
+I am setting this up for the first time: はじめて設定します
+I am setting up a new server for the first time / I want to reset my existing server.: 新しいサーバーを初めてセットアップする / 既存のサーバーをリセットする
+I am unable to create a backup of my Vault.: Vaultのバックアップを作成できません。
+I am unable to create a backup of my Vaults.: Vaultのバックアップを作成できません。
+I have created a backup of my Vault.: Vaultのバックアップを作成しました。
+I have made a backup, mark this device as resolved: バックアップを作成済み、このデバイスを解決済みとしてマーク
+I know my server details, let me enter them: サーバー情報を把握しているので、自分で入力します
+I understand that all changes made on other smartphones or computers possibly could be lost.: 他のスマートフォンやPCで行われたすべての変更が失われる可能性があることを理解しています。
+I understand that other devices will no longer be able to synchronise, and will need to be reset the synchronisation information.: 他のデバイスで同期ができなくなり、同期情報の再設定が必要になることを理解しています。
+I understand that this action is irreversible once performed.: 一度実行するとこの操作を取り消せないことを理解しています。
+I understand the risks and will proceed without a backup.: リスクを理解した上で、バックアップを取らずに続行します。
+I Understand, Overwrite Server: 理解した上でサーバーを上書きする
+If "Auto Start P2P Connection" is enabled, the P2P connection will be started automatically when the plug-in launches.: 「P2P接続を自動開始」が有効な場合、プラグインの起動時に自動的にP2P接続が開始されます。
+If disabled(toggled), chunks will be split on the UI thread (Previous behaviour).: 有効にすると、チャンクは UI スレッドで分割されます(以前の動作)。
If enabled per-filed efficient customization sync will be used. We need a small migration when enabling this. And all devices should be updated to v0.23.18. Once we enabled this, we lost a compatibility with old versions.:
有効にすると、ファイルごとの効率的なカスタマイズ同期が使用されます。有効化時に小規模な移行が必要です。また、すべてのデバイスをv0.23.18にアップデートする必要があります。一度有効にすると、古いバージョンとの互換性がなくなります。
-If enabled, chunks will be split into no more than 100 items. However, dedupe is slightly weaker.: 有効にすると、チャンクは最大100項目に分割されます。ただし、重複除去の精度は落ちます。
+If enabled, changes will be automatically broadcasted to all connected peers. Notified peers will start fetching the changes.: 有効にすると、接続されているすべてのピアに変更が自動的にブロードキャストされます。通知を受け取ったピアは変更の取得を開始します。
+If enabled, chunks will be split into no more than 100 items. However, dedupe is slightly weaker.: 有効にすると、チャンクは最大100個ずつのまとまりに分割されます。ただし、重複排除の効果はわずかに低下します。
+If enabled, efficient per-file customization sync will be used. A minor migration is required when enabling this feature, and all devices must be updated to v0.23.18. Enabling this feature will result in losing compatibility with older versions.:
+ 有効にすると、効率的なファイル単位のカスタマイズ同期が使用されます。この機能を有効にする際には小規模なデータ移行が必要です。また、すべてのデバイスを
+ v0.23.18 以降にアップデートしてください。有効にすると、古いバージョンとの互換性が失われます。
If enabled, newly created chunks are temporarily kept within the document, and graduated to become independent chunks once stabilised.: 有効にすると、新しく作成されたチャンクはドキュメント内に一時的に保持され、安定したら独立したチャンクになります。
If enabled, the ⛔ icon will be shown inside the status instead of the file warnings banner. No details will be shown.: 有効にすると、ファイル警告バナーの代わりにステータス内へ ⛔ アイコンのみを表示します。詳細は表示されません。
+If enabled, the file properties will be encrypted in the remote database. This is useful for protecting sensitive information in file paths, sizes, and IDs of its chunks. If you are using V1 E2EE, this only obfuscates the file path.:
+ 有効にすると、リモートデータベース内のファイルプロパティが暗号化されます。これはファイルパス、サイズ、チャンク ID
+ などの機密情報を保護するのに役立ちます。V1 E2EE を使用している場合は、ファイルパスの難読化のみが行われます。
If enabled, the file under 1kb will be processed in the UI thread.: 有効にすると、1kb未満のファイルはUIスレッドで処理されます。
-If enabled, the notification of hidden files change will be suppressed.: 有効にすると、隠しファイルの変更通知が抑制されます。
+If enabled, the forcePathStyle option will be used for bucket operations.: 有効にすると、バケット操作に forcePathStyle オプションが使用されます。
+If enabled, the notification of hidden files change will be suppressed.: 有効にすると、非表示ファイルの変更通知が抑制されます。
+If enabled, the P2P connection will be automatically started when the application launches.: 有効にすると、アプリケーションの起動時に P2P 接続が自動的に開始されます。
+If enabled, the plugin will not attempt to connect to the remote database even if the chunk was not found locally.: 有効にすると、チャンクがローカルで見つからない場合でも、プラグインはリモートデータベースへの接続を試行しません。
+If enabled, the request API will be used to avoid `inevitable` CORS problems. This is a workaround and may not work in all cases. PLEASE READ THE DOCUMENTATION BEFORE USING THIS OPTION. This is a less-secure option.:
+ 有効にすると、Request API を使用して避けられない CORS
+ 問題を回避します。これは回避策であり、すべてのケースで機能するとは限りません。このオプションを使用する前に必ずドキュメントをお読みください。セキュリティが低下するオプションです。
If this enabled, all chunks will be stored with the revision made from its content. (Previous behaviour): 有効にすると、すべてのチャンクはコンテンツから作成されたリビジョンと共に保存されます(以前の動作)。
If this enabled, All files are handled as case-Sensitive (Previous behaviour).: 有効にすると、すべてのファイルは大文字小文字を区別して処理されます(以前の動作)。
-If this enabled, chunks will be split into semantically meaningful segments. Not all platforms support this feature.: 有効にすると、チャンクは意味的に有意なセグメントに分割されます。すべてのプラットフォームがこの機能をサポートしているわけではありません。
-If this is set, changes to local files which are matched by the ignore files will be skipped. Remote changes are determined using local ignore files.: これを設定すると、除外ファイルに一致するローカルファイルの変更はスキップされます。リモートの変更はローカルの無視ファイルを使用して判定されます。
+If this enabled, chunks will be split into semantically meaningful segments. Not all platforms support this feature.: 有効にすると、チャンクは意味のあるセグメント(段落や見出し単位など)に分割されます。一部のプラットフォームではサポートされていません。
+If this enabled, JWT will be used for authentication.: 有効にすると、認証に JWT が使用されます。
+If this is set, changes to local files which are matched by the ignore files will be skipped. Remote changes are determined using local ignore files.: これを設定すると、除外ファイルに一致するローカルファイルの変更はスキップされます。リモートの変更はローカルの除外ファイルを使用して判定されます。
If this option is enabled, PouchDB will hold the connection open for 60 seconds, and if no change arrives in that time, close and reopen the socket, instead of holding it open indefinitely. Useful when a proxy limits request duration but can increase resource usage.:
- このオプションを有効にすると、PouchDBは接続を60秒間保持し、その間に通信がない場合、一度接続を閉じて再接続します。接続を無期限に保持する代わりにこの動作を行います。プロキシ(Cloudflareなど)がリクエストの持続時間を制限している場合に有用ですが、リソース使用量が増加する可能性があります。
+ このオプションを有効にすると、PouchDB は接続を60秒間保持し、その間に変更が届かなければ接続を閉じて再接続します。接続を無期限に保持する代わりにこの動作を行います。プロキシがリクエストの持続時間を制限している場合に有用ですが、リソース使用量が増加する可能性があります。
+If you cannot avoid CORS issues, you might want to try this option. It uses Obsidian's internal API to communicate with the CouchDB server. Not compliant with web standards, but works. Note that this might break in future Obsidian versions.:
+ どうしてもCORSの問題を回避できない場合は、このオプションをお試しください。Obsidianの内部APIを使用してCouchDBサーバーと通信します。Web標準には準拠していませんが動作します。将来のObsidianのアップデートによって動作しなくなる可能性があることにご注意ください。
+If you cannot avoid CORS issues, you might want to try this option. It uses Obsidian's internal API to communicate with the S3 server. Not compliant with web standards, but works. Note that this might break in future Obsidian versions.:
+ どうしてもCORSの問題を回避できない場合は、このオプションをお試しください。Obsidianの内部APIを使用してS3サーバーと通信します。Web標準には準拠していませんが動作します。将来のObsidianのアップデートによって動作しなくなる可能性があることにご注意ください。
+If you have unsynchronised changes in your Vault on this device, they will likely diverge from the server's versions after the reset. This may result in a large number of file conflicts.:
+ このデバイスのVaultに未同期の変更がある場合、リセット後にサーバーのバージョンと乖離する可能性が高くなります。これにより、大量のファイル競合が発生する場合があります。
+If you reached the payload size limit when using IBM Cloudant, please decrease batch size and batch limit to a lower value.: IBM Cloudant の使用中にペイロードサイズ制限に達した場合は、バッチサイズとバッチ上限をより小さい値に減らしてください。
+If you understand the risks and still wish to proceed, select so.: リスクを理解した上で続行を希望する場合は、選択してください。
+If you want to store the data in a specific folder within the bucket, you can specify a folder prefix here. Otherwise, leave it blank to store data at the root of the bucket.: バケット内の特定のフォルダーにデータを保存したい場合は、ここにフォルダープレフィックスを指定できます。バケットのルートに保存する場合は空欄のままにしてください。
+If you want to use `LiveSync`, you should broadcast changes. All `watching` peers which detects this will start the replication for fetching.:
+ "`LiveSync` を使用する場合は変更をブロードキャストする必要があります。これを検出したすべての
+ `watching`(監視中)ピアが、取得のためのレプリケーションを開始します。"
+Ignore: 無視
+Ignore and Proceed: 無視して続行
Ignore files: 除外ファイル
Ignore patterns: 除外パターン
Import connection: 接続をインポート
+IMPORTANT: 重要
+In most cases, you should stick with the default algorithm (${algorithm}), This setting is only required if you have an existing Vault encrypted in a different format.:
+ ほとんどの場合、デフォルトのアルゴリズム(${algorithm})のままで問題ありません。この設定は、別の形式で暗号化された既存のVaultがある場合にのみ必要です。
+In this scenario, Self-hosted LiveSync will recreate metadata for every file and deliberately generate conflicts. Where the file content is identical, these conflicts will be resolved automatically.:
+ このシナリオでは、Self-hosted LiveSync
+ はすべてのファイルのメタデータを再作成し、意図的に競合を発生させます。ファイルの内容が同一である場合、これらの競合は自動的に解決されます。
+"Incoming:": "受信:"
Incubate Chunks in Document: ドキュメント内でチャンクを一時保管する
+Initial Action: 初期アクション
Initialise all journal history, On the next sync, every item will be received and sent.: すべてのジャーナル履歴を初期化します。次回の同期時に、すべての項目が再受信・再送信されます。
+Initialise journal received history. On the next sync, every item except this device sent will be downloaded again.: ジャーナルの受信履歴を初期化します。次回の同期時に、このデバイスが送信した項目以外のすべての項目が再ダウンロードされます。
+Initialise journal sent history. On the next sync, every item except this device received will be sent again.: ジャーナルの送信履歴を初期化します。次回の同期時に、このデバイスが受信した項目以外のすべての項目が再送信されます。
+Internal timestamp for resolving compatible tweak mismatches.: 互換性のある調整項目の不一致を解決するための内部タイムスタンプ。
Interval (sec): 秒
+INVERTED: 反転
+"Issue detection log:": "問題検出ログ:"
+It is strongly advised to create a backup before proceeding. Continuing without a backup may lead to data loss.: 続行する前にバックアップを作成することを強くおすすめします。バックアップなしで続行すると、データが失われる可能性があります。
+Just for a minute, please!: 少々お待ちください!
+JWT (JSON Web Token) authentication allows you to securely authenticate with the CouchDB server using tokens. Ensure that your CouchDB server is configured to accept JWTs and that the provided key and settings match the server's configuration. Incidentally, I have not verified it very thoroughly.:
+ JWT(JSON Web Token)認証を使用すると、トークンを用いて CouchDB サーバーと安全に認証できます。CouchDB サーバーが JWT を受け入れるように設定されており、指定したキーと設定がサーバーの構成と一致していることを確認してください。なお、この機能は十分には検証されていません。
+JWT Algorithm: JWT アルゴリズム
+JWT Expiration Duration (minutes): JWT 有効期限(分)
+JWT Key: JWT キー
+JWT Key ID (kid): JWT キー ID (kid)
+JWT Subject (sub): JWT サブジェクト (sub)
K:
exp: 試験機能
- long_p2p_sync: "%{title_p2p_sync} (%{exp})"
+ long_p2p_sync: "%{title_p2p_sync}"
P2P: "%{Peer}-to-%{Peer}"
Peer: Peer
- ScanCustomization: Scan customization
- short_p2p_sync: P2P Sync (%{exp})
- title_p2p_sync: Peer-to-Peer Sync
-Keep empty folder: 空フォルダの維持
-lang_def: Default
+ ScanCustomization: カスタマイズをスキャン
+ short_p2p_sync: P2P 同期
+ title_p2p_sync: ピアツーピア同期
+Keep empty folder: 空フォルダーの維持
+Keep local files even if deleted on remote: リモートで削除されていてもローカルファイルを保持
+Keep local files even if not on remote: リモートに存在しなくてもローカルファイルを保持
+Keep replication active in the background: バックグラウンドでもレプリケーションを継続する
+Key ID: キー ID
+Keypair or pre-shared key: キーペアまたは事前共有キー(PSK)
+lang_def: 既定(英語)
lang-de: Deutsche
lang-def: "%{lang_def}"
lang-es: Español
lang-fr: Français
+lang-he: ヘブライ語
lang-ja: 日本語
lang-ko: 한국어
lang-ru: Русский
lang-zh: 简体中文
lang-zh-tw: 繁體中文
+Last tweak modified timestamp: 調整項目の最終更新日時
Later: 後で
+Legacy path identity: 従来のパス識別
"Limit: {datetime} ({timestamp})": "制限: {datetime} ({timestamp})"
-LiveSync could not handle multiple vaults which have same name without different prefix, This should be automatically configured.: LiveSyncは、接頭辞(プレフィックス)のない同名の保管庫(Vault)を扱うことができません。これは自動的に設定されます。
+live: ライブ同期
+LiveSync could not handle multiple vaults which have same name without different prefix, This should be automatically configured.: LiveSync は、プレフィックスで区別されていない同名の Vault を複数処理できません。通常、プレフィックスは自動的に設定されます。
liveSyncReplicator:
beforeLiveSync: LiveSyncの前に、まずOneShotを開始します...
- cantReplicateLowerValue: これ以上低い値ではレプリケーション(複製)できません。
+ cantReplicateLowerValue: これ以上低い値ではレプリケーションできません。
checkingLastSyncPoint: 最後に同期したポイントを探しています。
couldNotConnectTo: |-
${uri} : ${name}に接続できませんでした
(${db})
couldNotConnectToRemoteDb: "リモートデータベースに接続できませんでした: ${d}"
- couldNotConnectToServer: サーバーに接続できませんでした。
+ couldNotConnectToServer: リモートへの接続が阻止されたか、失敗しました。
couldNotConnectToURI: "${uri}に接続できませんでした: ${dbRet}"
couldNotMarkResolveRemoteDb: リモートデータベースを解決済みとしてマークできませんでした。
liveSyncBegin: LiveSyncを開始...
lockRemoteDb: データ破損を防ぐためリモートデータベースをロック
markDeviceResolved: このデバイスを『解決済み』としてマーク。
+ mismatchedTweakDetected: デバイス間で設定の不一致が検出されました。手動レプリケーションを実行すると、解決を試みます。
oneShotSyncBegin: OneShot同期を開始... (${syncMode})
- remoteDbCorrupted: リモートデータベースが新しいか破損しています。self-hosted-livesyncの最新バージョンがインストールされていることを確認してください
+ remoteDbCorrupted: リモートデータベースが新しいバージョンで作成されたか、破損しています。Self-hosted LiveSync の最新バージョンがインストールされていることを確認してください。
remoteDbCreatedOrConnected: リモートデータベースが作成または接続されました
remoteDbDestroyed: リモートデータベースが削除されました
remoteDbDestroyError: "リモートデータベースの削除中に問題が発生しました:"
remoteDbMarkedResolved: リモートデータベースが解決済みとしてマークされました。
- replicationClosed: レプリケーション(複製)が終了しました
- replicationInProgress: レプリケーション(複製)は既に進行中です
+ replicationClosed: レプリケーションが終了しました
+ replicationInProgress: レプリケーションはすでに進行中です
retryLowerBatchSize: "より小さいバッチサイズで再試行: ${batch_size}/${batches_limit}"
unlockRemoteDb: データ破損を防ぐためリモートデータベースをアンロック
liveSyncSetting:
@@ -255,7 +569,8 @@ liveSyncSetting:
valueShouldBeInRange: 値は ${min} < 値 < ${max} の範囲である必要があります
liveSyncSettings:
btnApply: 適用
-Local Database Tweak: ローカルデータベースの調整
+Local Database Tweak: ローカルデータベースの調整項目
+Local only: ローカルのみ
Lock: ロック
Lock Server: サーバーをロック
Lock the remote server to prevent synchronization with other devices.: 他のデバイスとの同期を防ぐため、リモートサーバーをロックします。
@@ -265,59 +580,72 @@ logPane:
pause: 一時停止
title: Self-hosted LiveSync ログ
wrap: 折り返し
+Longest chunk line threshold value (Not Configurable from the UI Now).: 最長チャンク行の閾値(現在 UI からは設定不可)。
+Lower (${local} < ${remote}): 低い (${local} < ${remote})
+Maintenance Commands: メンテナンスコマンド
+Maintenance mode: メンテナンスモード
Maximum delay for batch database updating: バッチデータベース更新の最大遅延
+Maximum file modification time for reflected file events: ファイルイベントを反映する最大ファイル更新日時
Maximum file size: 最大ファイル容量
Maximum Incubating Chunk Size: 保持するチャンクの最大サイズ
Maximum Incubating Chunks: 一時保管する最大チャンク数
Maximum Incubation Period: 最大保持期限
-MB (0 to disable).: MB (0で無効化)。
+Maximum request size for manually resending chunks: チャンクを手動で再送する際の最大リクエストサイズ
+MB (0 to disable).: MB(0で無効化)。
+MB per request: 1リクエストあたりの MB 数
Memory cache: メモリキャッシュ
Memory cache size (by total characters): 全体でキャッシュする文字数
-Memory cache size (by total items): 全体のキャッシュサイズ
+Memory cache size (by total items): メモリキャッシュのサイズ(項目数)
Merge: マージ
+Minimum Chunk Size (Not Configurable from the UI Now).: 最小チャンクサイズ(現在 UI からは設定不可)。
Minimum delay for batch database updating: バッチデータベース更新の最小遅延
+Minimum interval for syncing: 同期間隔の最小値
+Mixed: 混在
moduleCheckRemoteSize:
logCheckingStorageSizes: ストレージサイズを確認中
logCurrentStorageSize: "リモートストレージサイズ: ${measuredSize}"
logExceededWarning: "リモートストレージサイズ: ${measuredSize} が ${notifySize} を超過しました"
- logThresholdEnlarged: しきい値が ${size}MB に設定されました
- msgConfirmRebuild: これは少し時間がかかる場合があります。本当に今すべてを再構築しますか?
+ logThresholdEnlarged: しきい値が ${size} MB に引き上げられました
+ msgConfirmRebuild: この処理には時間がかかる場合があります。今すぐすべてを再構築しますか?
msgDatabaseGrowing: |
- **データベースが大きくなっています!** でも心配しないでください。リモートストレージの容量が不足する前に対応できます。
+ **データベースが増加しています。** リモートストレージの容量が不足する前に対処できます。
| 測定サイズ | 設定サイズ |
| --- | --- |
| ${estimatedSize} | ${maxSize} |
> [!MORE]-
- > 長年使用している場合、参照されていないチャンク(つまりゴミ)がデータベースに蓄積している可能性があります。そのため、すべてを再構築することをお勧めします。おそらくかなり小さくなるでしょう。
+ > Vault を長年使用している場合、参照されていないチャンクがデータベース内に蓄積している可能性があります。データベースを再構築することで、この未使用データを削除してサイズを大幅に削減できる可能性があります。
>
- > 単純に保管庫の容量が増えている場合は、事前にファイルを整理してからすべてを再構築するのが良いでしょう。Self-hosted LiveSyncは処理速度を上げるため、削除しても実際のデータを削除しません。これはおおまかに[documentation](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)に記載されています。
+ > 単純に Vault の容量自体が増加している場合は、データベースを再構築する前にファイルを整理してください。削除処理を高速に保つため、Self-hosted LiveSync は削除されたデータを即座には消去しません。詳細は[技術ドキュメント](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)を参照してください。
>
- > 増加を気にしない場合は、通知制限を100MB単位で増やすことができます。これは自分のサーバーで実行している場合に適しています。ただし、定期的にすべてを再構築する方が良いでしょう。
+ > 容量の増加に問題がなければ、通知制限を 100 MB 単位で引き上げられます。自前でサーバーを運用している場合に適していますが、定期的な再構築をおすすめします。
>
> [!WARNING]
- > すべてを再構築する場合は、すべてのデバイスが同期されていることを確認してください。もちろん、プラグインは可能な限り解決しようと努力はしますけど...
+ > すべてを再構築する前に、すべてのデバイスが同期されていることを確認してください。プラグインは可能な限り変更内容をマージします。
msgSetDBCapacity: |
リモートストレージの容量が不足する前に対策を講じるため、**最大データベース容量の警告**を設定できます。
これを有効にしますか?
> [!MORE]-
- > - 0: ストレージサイズについて警告しない。
+ > - 0: ストレージサイズに関する警告は行いません。
> 自宅サーバーなど、リモートストレージに十分な容量がある場合に推奨されます。ストレージサイズを確認し、手動で再構築できます。
- > - 800: リモートストレージサイズが800MBを超えたら警告。
+ > - 800: リモートストレージサイズが800MBを超えた場合に警告します。
> 1GB制限のfly.ioやIBM Cloudantを使用している場合に推奨されます。
- > - 2000: リモートストレージサイズが2GBを超えたら警告。
+ > - 2000: リモートストレージサイズが2GBを超えた場合に警告します。
制限に達した場合、段階的に制限を増やすよう求められます。
- option2GB: 2GB (標準)
- option800MB: 800MB (Cloudant, fly.io)
+ noticeExceeded: リモートストレージのサイズは ${measuredSize} で、設定された通知しきい値 ${notifySize} を超えています。{HERE}
+ noticeNotConfigured: リモートストレージサイズの通知は設定されていません。{HERE}
+ option2GB: 2 GB(標準)
+ option800MB: 800 MB(Cloudant、fly.io)
optionAskMeLater: 後で確認する
optionDismiss: 無視
- optionIncreaseLimit: ${newMax}MBに設定
+ optionIncreaseLimit: ${newMax} MB に引き上げる
optionNoWarn: いいえ、警告しないでください
- optionRebuildAll: 今すべてを再構築
+ optionRebuildAll: 今すぐすべてを再構築
+ optionReview: 選択肢を確認
titleDatabaseSizeLimitExceeded: リモートストレージサイズが制限を超過しました
titleDatabaseSizeNotify: データベースサイズ通知の設定
moduleInputUIObsidian:
@@ -330,30 +658,32 @@ moduleLiveSyncMain:
logLoadingPlugin: プラグインをロード中...
logPluginInitCancelled: プラグインの初期化がモジュールによってキャンセルされました
logPluginVersion: Self-hosted LiveSync v${manifestVersion} ${packageVersion}
- logReadChangelog: LiveSyncが更新されました。変更履歴をお読みください!
+ logReadChangelog: LiveSync が更新されました。変更履歴(Change Log)をご確認ください。
logSafetyScanCompleted: 追加の安全スキャンが完了しました
logSafetyScanFailed: モジュールで追加の安全スキャンが失敗しました
logUnloadingPlugin: プラグインをアンロード中...
- logVersionUpdate: LiveSyncが更新されました。互換性のない更新の場合、すべての自動同期が一時的に無効化されています。有効にする前に、すべてのデバイスが最新の状態であることを確認してください。
+ logVersionUpdate: LiveSync が更新されました。互換性のない更新の場合は、すべての自動同期が一時的に無効化されています。有効にする前に、すべてのデバイスが最新の状態であることを確認してください。
msgScramEnabled: |
- Self-hosted LiveSyncは一部のイベントを無視するように設定されています。これは正しいですか?
+ Self-hosted LiveSync は一部のイベントを無視または保留するように設定されています。これは意図した設定ですか?
| タイプ | ステータス | メモ |
|:---:|:---:|---|
| ストレージイベント | ${fileWatchingStatus} | すべての変更が無視されます |
- | データベースイベント | ${parseReplicationStatus} | すべての同期された変更が延期されます |
+ | データベースイベント | ${parseReplicationStatus} | すべての同期済みの変更が保留されます |
- これらを再開してObsidianを再起動しますか?
+ これらのイベントの処理を再開して Obsidian を再起動しますか?
> [!DETAILS]-
- > これらのフラグは、プラグインが再構築またはフェッチ中に設定されます。プロセスが異常終了した場合、意図せず保持されることがあります。
- > 不明な場合は、これらのプロセスを再実行してみてください。必ず保管庫をバックアップしてください。
+ > これらのフラグは、再構築または取得(Fetch)の処理中にプラグインによって設定されます。プロセスが予期せず終了した場合、フラグが残ったままになることがあります。
+ > 判断に迷う場合は、Vault をバックアップした上で、該当の操作を再実行してください。
optionKeepLiveSyncDisabled: LiveSyncを無効のままにする
optionResumeAndRestart: 再開してObsidianを再起動
titleScramEnabled: 緊急停止(Scram)が有効
moduleLocalDatabase:
logWaitingForReady: しばらくお待ちください...
moduleLog:
+ pathComponentTooLong: このパスには、${maxBytes} UTF-8 バイトを超えるファイル名またはフォルダー名が含まれています。一部の
+ Android や Linux のファイルシステムでは正常に動作しない可能性があります。
showLog: ログを表示
moduleMigration:
fix0256:
@@ -362,74 +692,71 @@ moduleMigration:
DismissForever: 修正済み、今後確認しない
fix: 修正
message: |
- 最近のバグ(v0.25.6)により、一部のファイルが同期データベースに正しく保存されていない可能性があります。
- ファイルをスキャンし、修正が必要なものが見つかりました。
+ v0.25.6 の不具合により、一部のファイルが同期データベースに正しく保存されていない可能性があります。
+ ファイルをスキャンしたところ、修復が必要なものが見つかりました。
- **修正準備ができたファイル:**
+ **修復可能なファイル:**
${files}
- これらのファイルはストレージ上の元ファイルとサイズが一致しており、復元可能です。
- 「修正」ボタンをクリックしてデータベースを修正できます。
+ これらのファイルはストレージ上の元ファイルとサイズが一致しており、復元できる可能性があります。
+ データベースを修復するには、下の「修正」ボタンを選択してください。
${messageUnrecoverable}
- 再実行したい場合は、Hatchから実行できます。
+ 再実行したい場合は、Hatch から実行できます。
messageUnrecoverable: |
- **このデバイスで修正できないファイル:**
+ **このデバイスで修復できないファイル:**
${filesNotRecoverable}
- これらのファイルはメタデータに不整合があり、このデバイスでは修正できません(ほとんどの場合、どちらが正しいか判定できません)。
- 復元するには、他のデバイスで確認するか、バックアップから手動で復元してください。
+ これらのファイルはメタデータに不整合があり、このデバイスでは修復できません(ほとんどの場合、どちらが正しいか判定できません)。
+ 復元するには、他のデバイスでもこの機能で確認するか、バックアップから手動で復元してください。
title: 破損ファイルが検出されました
insecureChunkExist:
buttons:
- fetch: リモートを既に再構築した。リモートからフェッチ
+ fetch: リモートは再構築済みです。リモートから取得します。
later: 後で行う
rebuild: すべてを再構築
- laterMessage: できるだけ早く対処することを強くお勧めします!
+ laterMessage: できるだけ早く対処することを強く推奨します。
message: |
一部のチャンクが安全に保存されておらず、データベースで暗号化されていません。
**この問題を修正するにはデータベースを再構築してください**。
リモートデータベースがSSLで設定されていない、または安全性の低い認証情報を使用している場合、**機密データが漏洩するリスクがあります**。
- 注意: すべてのデバイスでSelf-hosted LiveSync v0.25.6以降にアップグレードし、必ず保管庫をバックアップしてください。
- 注意2: すべてを再構築とフェッチは時間とトラフィックを消費します。オフピーク時間に安定したネットワークで実行してください。
+ 注意: すべてのデバイスでSelf-hosted LiveSync v0.25.6以降にアップグレードし、必ずVaultをバックアップしてください。
+ 注意2: 「すべてを再構築」と「取得」には時間と通信量がかかります。オフピーク時間に安定したネットワーク環境で実行してください。
title: 安全でないチャンクが見つかりました!
- logBulkSendCorrupted: チャンクの一括送信が有効にされていましたが、この機能に問題がありました。ご不便をおかけして申し訳ありません。自動的に無効化されました。
+ logBulkSendCorrupted: チャンクの一括送信が有効になっていましたが、この機能に問題が発生したため、自動的に無効化されました。
logFetchRemoteTweakFailed: リモートの調整値の取得に失敗しました
logLocalDatabaseNotReady: 何か問題が発生しました!ローカルデータベースが準備できていません
logMigratedSameBehaviour: 以前と同じ動作でdb:${current}に移行しました
logMigrationFailed: ${old}から${current}への移行が失敗またはキャンセルされました
logRedflag2CreationFail: redflag2の作成に失敗しました
logRemoteTweakUnavailable: リモートの調整値を取得できませんでした
- logSetupCancelled: セットアップがキャンセルされました。Self-hosted LiveSyncはセットアップを待っています!
+ logSetupCancelled: セットアップがキャンセルされました。Self-hosted LiveSync の設定を完了してください。
msgFetchRemoteAgain: |-
- ご存知のとおり、self-hosted LiveSyncはデフォルトの動作とデータベース構造を変更しました。
+ Self-hosted LiveSync のデフォルトの動作とデータベース構造が変更されました。リモートデータベースは正常に移行されたようです。
- ご協力のおかげで、リモートデータベースはすでに移行されているようです。おめでとうございます!
+ しかし、このデバイスの設定はリモートデータベースと互換性がないため、リモートデータベースを再度取得(Fetch)する必要があります。今すぐ取得しますか?
- しかし、もう少し必要です。このデバイスの設定はリモートデータベースと互換性がありません。リモートデータベースを再度フェッチする必要があります。今すぐリモートから再フェッチしますか?
-
- ___注意: 設定が変更され、データベースが再フェッチされるまで同期できません。___
- ___注意2: チャンクは完全に不変なので、メタデータと差分のみフェッチできます。___
+ ___注意: 設定を更新してデータベースを再取得するまで同期できません。___
+ ___注意2: チャンクは不変であるため、メタデータと変更されたデータのみが取得されます。___
msgSinceV02321: |-
- v0.23.21以降、self-hosted LiveSyncはデフォルトの動作とデータベース構造を変更しました。以下の変更が行われました:
+ v0.23.21 以降、Self-hosted LiveSync のデフォルトの動作とデータベース構造が変更されました。変更点は以下のとおりです:
- 1. **ファイル名の大文字小文字の区別**
- ファイル名の処理が大文字小文字を区別しなくなりました。これは、ファイル名の大文字小文字を効果的に管理しないLinuxとiOS以外のほとんどのプラットフォームにとって有益な変更です。
- (これらの環境では、同じ名前で大文字小文字が異なるファイルに対して警告が表示されます)。
+ 1. **ファイル名の大文字小文字を区別しない処理**
+ ファイル名は大文字小文字を区別せずに処理されるようになりました。Linux および iOS では大文字小文字のみが異なるファイルが個別に扱われる場合があり、該当するファイル名が検出されると警告が表示されます。
2. **チャンクのリビジョン処理**
- チャンクは不変であり、リビジョンを固定できます。この変更により、ファイル保存のパフォーマンスが向上します。
+ チャンクは不変であるため、リビジョンを固定できます。これによりファイル保存のパフォーマンスが向上します。
- ___しかし、これらの変更を有効にするには、リモートとローカルの両方のデータベースを再構築する必要があります。このプロセスは数分かかります。時間に余裕があるときに行うことをお勧めします。___
+ ___いずれの変更を適用する場合でも、ローカルとリモートの両方のデータベースを再構築する必要があります。処理には数分かかるため、時間に余裕があるときに実行してください。___
- - 以前の動作を維持したい場合は、`${KEEP}`を使用してこのプロセスをスキップできます。
- - 時間がない場合は、`${DISMISS}`を選択してください。後で再度確認されます。
- - 別のデバイスでデータベースを再構築した場合は、`${DISMISS}`を選択して再度同期してみてください。差異が検出されたため、再度確認されます。
+ - 以前の動作を維持したい場合は、`${KEEP}` を使用してこの処理をスキップできます。
+ - 時間がない場合は `${DISMISS}` を選択してください。後で再度確認が表示されます。
+ - 別のデバイスでデータベースを再構築した場合は、`${DISMISS}` を選択して再度同期を試してください。差異が検出された場合は、再度確認が表示されます。
optionAdjustRemote: リモートに合わせる
optionDecideLater: 後で決める
optionEnableBoth: 両方を有効にする
@@ -437,24 +764,50 @@ moduleMigration:
optionEnableFixedRevisionForChunks: "#2のみ有効にする"
optionKeepPreviousBehaviour: 以前の動作を維持
optionNoAskAgain: いいえ、後で確認する
- optionYesFetchAgain: はい、再フェッチする
+ optionYesFetchAgain: はい、再取得する
titleCaseSensitivity: 大文字小文字の区別
moduleObsidianMenu:
replicate: レプリケート
More actions: その他の操作
-Move remotely deleted files to the trash, instead of deleting.: リモートで削除されたファイルを削除せずにゴミ箱に移動する。
+"Mostly Complete: Decision Required": "ほぼ完了: 選択が必要です"
+Move remotely deleted files to the trash, instead of deleting.: リモートで削除されたファイルを、削除する代わりにゴミ箱へ移動します。
+Move remotely deleted files to the trash, instead of deleting. (This setting is ineffective from Obsidian v1.7.2 onwards, as deletion always respects your Obsidian preferences.):
+ リモートで削除されたファイルを直接削除せずゴミ箱へ移動します。(Obsidian v1.7.2 以降、削除は常に Obsidian
+ の環境設定に従うため、この設定は効果がありません。)
+My remote server is already set up. I want to join this device.: リモートサーバーの設定はすでに完了しています。このデバイスを追加したいです。
+Name: 名前
Network warning style: ネットワーク警告の表示方式
+NEW: 新規
New Remote: 新しいリモート
+Newer (${diff}): より新しい (${diff})
+No checks have been performed yet.: チェックはまだ実行されていません。
+No connected device information found. Cancelling Garbage Collection.: 接続済みデバイスの情報が見つかりませんでした。ガベージコレクションをキャンセルします。
+No Connection: 未接続
+No devices available. Waiting for other devices to connect...: 利用可能なデバイスがありません。他のデバイスの接続を待機しています...
+No Items.: 項目がありません。
No limit configured: 制限は設定されていません
+NO PREVIEW: プレビューなし
+No, please take me back: いいえ、前に戻ります
+Node ID: ノード ID
+Node Information Missing: ノード情報がありません
Non-Synchronising files: 同期しないファイル
Normal Files: 通常ファイル
-Not all messages have been translated. And, please revert to "Default" when reporting errors.: すべてのメッセージが翻訳されているわけではありません。また、Issue報告の際にはいったん"Default"に戻してください
-Notify all setting files: すべての設定を通知
+Not all messages have been translated. And, please revert to "Default" when reporting errors.: 未翻訳のメッセージも一部含まれます。問題を報告する際は、一度表示言語を「Default(英語)」に戻してください。
+Not configured: 未設定
+Not now: 今はしない
+Note that the Group ID is not limited to the generated format; you can use any string as the Group ID.: グループIDは生成された形式に限らず、任意の文字列を使用できます。
+Note that you can generate a new Setup URI by running the "Copy settings as a new Setup URI" command in the command palette.: コマンドパレットで「Copy settings as a new Setup URI」コマンドを実行することで、新しいセットアップ URIを生成できます。
+Notify all setting files: すべての設定同期ファイルを通知
Notify customized: カスタマイズが行われたら通知する
-Notify when other device has newly customized.: 別の端末がカスタマイズを行なったら通知する
-Notify when the estimated remote storage size exceeds on start up: 起動時に予想リモートストレージサイズを超えたら通知
-Number of batches to process at a time. Defaults to 40. Minimum is 2. This along with batch size controls how many docs are kept in memory at a time.: 1度に処理するバッチの数。デフォルトは40、最小は2。この数値は、どれだけの容量の書類がメモリに保存されるかも定義します。
+Notify when other device has newly customized.: 別のデバイスがカスタマイズを行ったら通知する
+Notify when the estimated remote storage size exceeds on start up: 起動時に推定リモートストレージサイズがしきい値を超えたら通知
+Now we can choose how to split the chunks; V3 is the most efficient. If you have troubled, please make this Default or Legacy.: チャンクの分割方法を選択できるようになりました。V3 が最も効率的です。問題が発生した場合は、この設定を「Default」または「Legacy」に戻してください。
+Number of batches to process at a time. Defaults to 40. Minimum is 2. This along with batch size controls how many docs are kept in memory at a time.: 一度に処理するバッチの数。デフォルトは40、最小は2です。この値とバッチサイズによって、一度にメモリ内に保持されるドキュメントの数が決まります。
Number of changes to sync at a time. Defaults to 50. Minimum is 2.: 一度に同期する変更の数。デフォルトは50、最小は2。
+Obfuscate Properties: プロパティの難読化
+Obfuscating properties (e.g., path of file, size, creation and modification dates) adds an additional layer of security by making it harder to identify the structure and names of your files and folders on the remote server. This helps protect your privacy and makes it more difficult for unauthorized users to infer information about your data.:
+ プロパティ(ファイルパス、サイズ、作成日時や変更日時など)を難読化すると、リモートサーバー上のファイルやフォルダーの構造や名前の特定が困難になり、セキュリティ層が追加されます。これによりプライバシーが保護され、権限のないユーザーがデータに関する情報を推測しにくくなります。
+Obsidian version: Obsidian バージョン
obsidianLiveSyncSettingTab:
btnApply: 適用
btnCheck: 確認
@@ -467,14 +820,14 @@ obsidianLiveSyncSettingTab:
btnStart: 開始
btnTest: テスト
btnUse: 使用
- buttonFetch: フェッチ
+ buttonFetch: 取得
defaultLanguage: デフォルト
- descConnectSetupURI: セットアップURIを使用してSelf-hosted LiveSyncをセットアップする推奨方法です。
- descCopySetupURI: 新しいデバイスのセットアップにおすすめ!
- descEnableLiveSync: 上記の2つのオプションのいずれかを設定するか、すべての設定を手動で完了した後にのみ有効にしてください。
- descFetchConfigFromRemote: 既に設定済みのリモートサーバーから必要な設定を取得します。
- descManualSetup: 推奨しませんが、セットアップURIがない場合に便利です
- descTestDatabaseConnection: データベース接続を開きます。リモートデータベースが見つからず、データベースを作成する権限がある場合は、データベースが作成されます。
+ descConnectSetupURI: セットアップ URIを使用して Self-hosted LiveSync を設定する推奨手順です。
+ descCopySetupURI: 新しいデバイスのセットアップにおすすめです!
+ descEnableLiveSync: 上記の2つのオプションのいずれかを設定するか、すべての設定を手動で完了してから有効にしてください。
+ descFetchConfigFromRemote: すでに設定済みのリモートサーバーから必要な設定を取得します。
+ descManualSetup: 推奨されませんが、セットアップ URIがない場合に便利です。
+ descTestDatabaseConnection: データベース接続をテストします。リモートデータベースが存在せず、作成権限がある場合は自動的に作成されます。
descValidateDatabaseConfig: データベース設定の潜在的な問題を確認し、修正します。
errAccessForbidden: ❗ アクセスが禁止されています。
errCannotContinueTest: テストを続行できませんでした。
@@ -490,9 +843,9 @@ obsidianLiveSyncSettingTab:
errRequireValidUserAuth: ❗ chttpd_auth.require_valid_userが不正です。
labelDisabled: "⏹️ : 無効"
labelEnabled: "🔁 : 有効"
- levelAdvanced: " (上級)"
- levelEdgeCase: " (エッジケース)"
- levelPowerUser: " (エキスパート)"
+ levelAdvanced: "(上級)"
+ levelEdgeCase: "(エッジケース)"
+ levelPowerUser: "(エキスパート)"
linkOpenInBrowser: ブラウザで開く
linkPageTop: ページトップ
linkTipsAndTroubleshooting: ヒントとトラブルシューティング
@@ -516,9 +869,10 @@ obsidianLiveSyncSettingTab:
logErrorOccurred: エラーが発生しました!!
logEstimatedSize: "推定サイズ: ${size}"
logPassphraseInvalid: パスフレーズが無効です、修正してください。
- logPassphraseNotCompatible: "エラー: パスフレーズがリモートサーバーと適合しません!再度確認してください!"
- logRebuildNote: 同期が無効になりました。必要に応じてフェッチして再有効化してください。
+ logPassphraseNotCompatible: "エラー: パスフレーズがリモートサーバーと一致しません!再度確認してください!"
+ logRebuildNote: 同期が無効になりました。必要に応じてデータを取得し、同期を再有効化してください。
logSelectAnyPreset: プリセットを選択してください。
+ logServerConfigurationCheck: サーバー設定の確認
msgAreYouSureProceed: 本当に続行しますか?
msgChangesNeedToBeApplied: 変更を適用する必要があります!
msgConfigCheck: --設定確認--
@@ -530,24 +884,24 @@ obsidianLiveSyncSettingTab:
msgDone: --完了--
msgEnableCors: httpd.enable_corsを設定
msgEnableCorsChttpd: chttpd.enable_corsを設定
- msgEnableEncryptionRecommendation: エンドツーエンド暗号化とパス難読化を有効にすることをお勧めします。暗号化なしで続行してもよろしいですか?
+ msgEnableEncryptionRecommendation: エンドツーエンド暗号化とパス難読化を有効にすることをおすすめします。暗号化なしで続行してもよろしいですか?
msgFetchConfigFromRemote: リモートサーバーから設定を取得しますか?
msgIfConfigNotPersistent: "サーバー設定が永続的でない場合(例:
- Dockerで実行中)、ここの値は変更される可能性があります。接続できるようになったら、サーバーのlocal.iniの設定を更新してください。"
- msgInvalidPassphrase: 暗号化パスフレーズが無効かもしれません。続行してもよろしいですか?
- msgNewVersionNote: アップグレード通知でここに来ましたか?バージョン履歴を確認してください。納得したらボタンをクリックしてください。新しい更新があると再度確認されます。
+ Dockerで実行中)、ここの値は変更される可能性があります。接続できるようになったら、サーバー側の local.ini の設定を更新してください。"
+ msgInvalidPassphrase: 暗号化パスフレーズが無効である可能性があります。続行してもよろしいですか?
+ msgNewVersionNote: アップデート通知からこの画面を開きましたか?バージョン履歴を確認し、問題がなければボタンを選択してください。次回のアップデート後に再度この確認が表示されます。
msgNonHTTPSInfo: 非HTTPS URIとして設定されています。モバイルデバイスでは動作しない可能性があります。
msgNonHTTPSWarning: 非HTTPS URIに接続できません。設定を更新して再試行してください。
msgNotice: ---お知らせ---
msgObjectStorageWarning: |-
警告: この機能は開発中です。以下の点にご注意ください:
- - 追記専用アーキテクチャ。ストレージを縮小するには再構築が必要です。
+ - 追記専用のアーキテクチャです。ストレージを縮小するには再構築が必要です。
- やや不安定です。
- 初回同期時、すべての履歴がリモートから転送されます。データ制限と速度に注意してください。
- ライブ同期は差分のみです。
- 問題があれば、またはこの機能についてアイデアがあれば、GitHubにIssueを作成してください。
- ご協力に感謝します。
+ 問題が発生した場合や、この機能についてアイデアがある場合は、GitHub で Issue を作成してください。
+ ご協力ありがとうございます。
msgOriginCheck: "オリジン確認: ${org}"
msgRebuildRequired: |-
変更を適用するにはデータベースの再構築が必要です。変更を適用する方法を選択してください。
@@ -567,30 +921,30 @@ obsidianLiveSyncSettingTab:
## ${OPTION_REBUILD_BOTH}
概要: 📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄
このデバイスの既存ファイルを使用してローカルとリモートの両方のデータベースを再構築します。
- 他のデバイスはロックアウトされ、フェッチが必要です。
+ 他のデバイスはロックされ、データの再取得(Fetch)が必要になります。
## ${OPTION_FETCH}
概要: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄
ローカルデータベースを初期化し、リモートデータベースから取得したデータを使用して再構築します。
- リモートデータベースを再構築した場合も含まれます。
+ すでにリモートデータベースを再構築している場合は、この方法を選択してください。
## ${OPTION_ONLY_SETTING}
- 設定のみを保存します。**注意: データ破損につながる可能性があります**。通常、データベースの再構築が必要です。
+ 設定のみを適用します。**注意: データが破損するおそれがあります**。通常はデータベースの再構築が必要です。
msgSetCorsCredentials: cors.credentialsを設定
msgSetCorsOrigins: cors.originsを設定
msgSetMaxDocSize: couchdb.max_document_sizeを設定
msgSetMaxRequestSize: chttpd.max_http_request_sizeを設定
msgSetRequireValidUser: chttpd.require_valid_user = trueを設定
msgSetRequireValidUserAuth: chttpd_auth.require_valid_user = trueを設定
- msgSettingModified: 設定"${setting}"が別のデバイスから変更されました。{HERE}をクリックして設定を再読み込みしてください。変更を無視するには他の場所をクリックしてください。
- msgSettingsUnchangeableDuringSync: これらの設定は同期中に変更できません。ロックを解除するには、"同期設定"ですべての同期を無効にしてください。
+ msgSettingModified: 設定「${setting}」が別のデバイスから変更されました。{HERE}をクリックして設定を再読み込みしてください。変更を無視するには他の場所をクリックしてください。
+ msgSettingsUnchangeableDuringSync: これらの設定は同期中に変更できません。ロックを解除するには、「同期設定」ですべての同期を無効にしてください。
msgSetWwwAuth: httpd.WWW-Authenticateを設定
nameApplySettings: 設定を適用
- nameConnectSetupURI: セットアップURIで接続
- nameCopySetupURI: 現在の設定をセットアップURIにコピー
- nameDisableHiddenFileSync: 隠しファイル同期を無効化
+ nameConnectSetupURI: セットアップ URIで接続
+ nameCopySetupURI: 現在の設定をセットアップ URIにコピー
+ nameDisableHiddenFileSync: 非表示ファイル同期を無効化
nameDiscardSettings: 既存の設定とデータベースを破棄
- nameEnableHiddenFileSync: 隠しファイル同期を有効化
- nameEnableLiveSync: LiveSyncを有効化
- nameHiddenFileSynchronization: 隠しファイル同期
+ nameEnableHiddenFileSync: 非表示ファイル同期を有効化
+ nameEnableLiveSync: LiveSync を有効化
+ nameHiddenFileSynchronization: 非表示ファイル同期
nameManualSetup: 手動セットアップ
nameTestConnection: 接続テスト
nameTestDatabaseConnection: データベース接続テスト
@@ -611,16 +965,16 @@ obsidianLiveSyncSettingTab:
optionCancel: キャンセル
optionCouchDB: CouchDB
optionDisableAllAutomatic: すべての自動を無効化
- optionFetchFromRemote: リモートからフェッチ
+ optionFetchFromRemote: リモートから取得
optionHere: ここ
optionLiveSync: LiveSync 同期
- optionMinioS3R2: Minio,S3,R2
+ optionMinioS3R2: MinIO、S3、R2
optionOkReadEverything: OK、すべて読みました。
optionOnEvents: イベント時
optionPeriodicAndEvents: 定期およびイベント時
optionPeriodicWithBatch: バッチ付き定期
optionRebuildBoth: このデバイスから両方を再構築
- optionSaveOnlySettings: (危険) 設定のみ保存
+ optionSaveOnlySettings: (危険)設定のみ保存
panelChangeLog: 変更履歴
panelGeneralSettings: 一般設定
panelPrivacyEncryption: プライバシーと暗号化
@@ -628,6 +982,7 @@ obsidianLiveSyncSettingTab:
panelSetup: セットアップ
serverVersion: "サーバー情報: ${info}"
titleActiveRemoteServer: アクティブなリモートサーバー
+ titleAdvancedSettings: 高度な設定
titleAppearance: 外観
titleConflictResolution: 競合解決
titleCouchDB: CouchDB サーバー
@@ -635,11 +990,16 @@ obsidianLiveSyncSettingTab:
titleEncryptionNotEnabled: 暗号化が有効になっていません
titleEncryptionPassphraseInvalid: 暗号化パスフレーズが無効です
titleExtraFeatures: 追加および上級機能を有効化
+ titleExtraFeaturesGroup: 追加機能
+ titleExtraMenus: 追加メニュー
titleFetchConfig: 設定を取得
titleFetchConfigFromRemote: リモートサーバーから設定を取得
titleFetchSettings: 設定の取得
- titleHiddenFiles: 隠しファイル
+ titleHelpAndInformation: ヘルプと情報
+ titleHelpAndTroubleshooting: ヘルプとトラブルシューティング
+ titleHiddenFiles: 非表示ファイル
titleLogging: ログ
+ titleMaintenanceAndRecovery: メンテナンスと復旧
titleMinioS3R2: MinIO、S3、R2
titleNotification: 通知
titleOnlineTips: オンラインヒント
@@ -649,6 +1009,7 @@ obsidianLiveSyncSettingTab:
titleRemoteServer: リモートサーバー
titleReset: リセット
titleSetupOtherDevices: 他のデバイスのセットアップ
+ titleSynchronisation: 同期
titleSynchronizationMethod: 同期方法
titleSynchronizationPreset: 同期プリセット
titleSyncSettings: 同期設定
@@ -656,88 +1017,149 @@ obsidianLiveSyncSettingTab:
titleUpdateThinning: 更新の間引き
warnCorsOriginUnmatched: ⚠ CORS Originが一致しません ${from}->${to}
warnNoAdmin: ⚠ 管理者権限がありません。
+Of course, we can back up the data before proceeding.: もちろん、続行する前にデータをバックアップできます。
+Off: オフ
Ok: OK
Old Algorithm: 旧アルゴリズム
-Older fallback (Slow, W/O WebAssembly): 旧フォールバック (低速、WebAssembly なし)
+Older (${diff}): より古い (${diff})
+Older fallback (Slow, W/O WebAssembly): 旧フォールバック(低速、WebAssembly なし)
+On: オン
+On the source device, from the command palette, run the 'Show settings as a QR code' command.: コピー元のデバイスで、コマンドパレットから「Show settings as a QR code」コマンドを実行してください。
+On the source device, open Obsidian.: コピー元のデバイスでObsidianを開きます。
+On this device, please keep this Vault open.: このデバイスで、このVaultを開いたままにしてください。
+On this device, switch to the camera app or use a QR code scanner to scan the displayed QR code.: このデバイスで、カメラアプリに切り替えるかQR コードスキャナーを使用して、表示されたQR コードをスキャンしてください。
Open: 開く
+Open connection: 接続を開始
+Open P2P Setup...: P2P設定を開く...
Open the dialog: ダイアログを開く
+Other files: その他のファイル
Overwrite: 上書き
+Overwrite all with remote files: すべてリモートのファイルで上書き
Overwrite patterns: 上書きパターン
Overwrite remote: リモートを上書き
Overwrite remote with local DB and passphrase.: ローカル DB とパスフレーズでリモートを上書きします。
Overwrite Server Data with This Device's Files: このデバイスのファイルでサーバーデータを上書き
+P2P Configuration: P2P設定
+P2P Status: P2Pステータス
P2P:
AskPassphraseForDecrypt: リモートピアから設定が共有されました。設定を復号するためのパスフレーズを入力してください。
AskPassphraseForShare: リモートピアからこのデバイスの設定が要求されました。設定を共有するためのパスフレーズを入力してください。このダイアログをキャンセルすることでリクエストを無視できます。
DisabledButNeed: "%{title_p2p_sync}は無効になっています。本当に有効にしますか?"
- FailedToOpen: シグナリングサーバーへのP2P接続を開けませんでした。
+ FailedToOpen: シグナリングサーバーへのP2P接続を確立できませんでした。
NoAutoSyncPeers: 自動同期ピアが見つかりません。%{long_p2p_sync}ペインでピアを設定してください。
NoKnownPeers: ピアが検出されていません。他のピアからの接続を待機中...
Note:
description: |-
- このレプリケーターは、ピアツーピア接続を使用して、Vaultを他のデバイスと同期することができます。クラウドサービスを使用せずに、他のデバイスとVaultを同期することができます。
- このレプリケーターはTrysteroをベースにしています。デバイス間の接続を確立するためにシグナリングサーバーを使用します。シグナリングサーバーはデバイス間で接続情報を交換するために使用されます。私たちのデータを知ったり保存したりすることはありません(または、そうあるべきではありません)。
+ このレプリケーターを使用すると、クラウドサービスを介さずに、ピアツーピア接続でデバイス間を直接同期できます。
+ Trystero を基盤としており、デバイス間で接続情報を交換して接続を確立するためにシグナリングサーバーを使用します。シグナリングサーバーが Vault のデータを受信または保存することはありません。
- シグナリングサーバーは誰でもホストできます。これは単なるNostrリレーです。簡便さとレプリケーターの動作確認のために、vrtmrzがシグナリングサーバーのインスタンスをホストしています。vrtmrzが提供する実験用サーバーを使用することも、他のサーバーを使用することもできます。
+ シグナリングサーバー(Nostr リレー)は誰でもホストできます。利便性とテストのため vrtmrz が実験用サーバーを運用していますが、別のサーバーを指定することもできます。
- なお、シグナリングサーバーが私たちのデータを保存しなくても、一部のデバイスの接続情報を見ることができます。これにご注意ください。また、他の人が提供するサーバーを使用する場合は注意してください。
- important_note: ピアツーピアレプリケーターの実験的実装
- important_note_sub: この機能はまだ実験段階です。期待通りに動作しない可能性があることにご注意ください。さらに、バグ、セキュリティの問題、その他の問題がある可能性があります。この機能は自己責任でご使用ください。この機能の開発にご協力ください。
+ シグナリングサーバーは一部のデバイスの接続情報を参照できます。第三者が運営するサーバーを利用する際は、この点に留意してください。
+ important_note: ピアツーピアレプリケーターについて
+ important_note_sub: この機能は実験的です。使用する前にデータをバックアップしてください。開発への貢献を歓迎します。
Summary: この機能について(重要な注意事項を含む、一度お読みください)
- NotEnabled: "%{title_p2p_sync}が有効になっていません。新しい接続を開くことができません。"
- P2PReplication: "%{P2P}レプリケーション(複製)"
+ NotEnabled: "%{title_p2p_sync}が有効になっていません。新しい接続を開始できません。"
+ P2PReplication: "%{P2P}レプリケーション"
PaneTitle: "%{long_p2p_sync}"
- ReplicatorInstanceMissing: P2P同期レプリケーターが見つかりません。設定または有効化されていない可能性があります。
+ ReplicatorInstanceMissing: P2P 同期レプリケーターが見つかりません。設定または有効化されていない可能性があります。
SeemsOffline: ピア${name}はオフラインのようです。スキップしました。
- SyncAlreadyRunning: P2P同期はすでに実行中です。
- SyncCompleted: P2P同期が完了しました。
- SyncStartedWith: ${name}とのP2P同期を開始しました。
+ SyncAlreadyRunning: P2P 同期はすでに実行中です。
+ SyncCompleted: P2P 同期が完了しました。
+ SyncStartedWith: ${name}とのP2P 同期を開始しました。
paneMaintenance:
markDeviceResolvedAfterBackup: バックアップ後にこのデバイスを解決済みにする
remoteLockedAndDeviceNotAccepted: リモートデータベースはロックされており、このデバイスはまだ承認されていません。
remoteLockedResolvedDevice: リモートデータベースはロックされていますが、このデバイスはすでに承認されています。
unlockDatabaseReady: データベースのロックを解除
Passphrase: パスフレーズ
+Passphrase is required.: パスフレーズは必須です。
Passphrase of sensitive configuration items: 機密性の高い設定項目にパスフレーズを使用
password: パスワード
Password: パスワード
Paste a connection string: 接続文字列を貼り付ける
+Paste the Setup URI generated from one of your active devices.: 稼働中のデバイスで生成したセットアップ URIを貼り付けてください。
+Path: パス
+Path identity mode: パス識別モード
Path Obfuscation: パスの難読化
Patterns to match files for overwriting instead of merging: マージではなく上書きするファイルを判定するパターン
Patterns to match files for syncing: 同期対象ファイルを判定するパターン
+"Peer ID:": "ピアID:"
+Peer to Peer Replicator: ピアツーピアレプリケーター
+Peer-to-Peer only: ピアツーピアのみ
Peer-to-Peer Synchronisation: ピアツーピア同期
+Peers: ピア
Per-file-saved customization sync: ファイルごとのカスタマイズ同期
Perform: 実行
Perform cleanup: クリーンアップを実行
-Perform Garbage Collection: ガーベジコレクションを実行
-Perform Garbage Collection to remove unused chunks and reduce database size.: 未使用のチャンクを削除し、データベースサイズを削減するためにガーベジコレクションを実行します。
-Periodic Sync interval: 定時同期の感覚
+Perform Garbage Collection: ガベージコレクションを実行
+Perform Garbage Collection to remove unused chunks and reduce database size.: 未使用のチャンクを削除し、データベースサイズを削減するためにガベージコレクションを実行します。
+Periodic Sync interval: 定期同期の間隔
+PERMANENT: 永続
Pick a file to resolve conflict: 競合を解決するファイルを選択
+Pick a file to show history: 履歴を表示するファイルを選択してください
+Please be aware that the End-to-End Encryption passphrase is not validated until the synchronisation process actually commences. This is a security measure designed to protect your data.: エンドツーエンド暗号化のパスフレーズは、同期処理が実際に開始されるまで検証されないことにご注意ください。これはデータを保護するためのセキュリティ上の仕様です。
+Please configure your end-to-end encryption settings.: エンドツーエンド暗号化の設定を行ってください。
+Please disable 'Read chunks online' in settings to use Garbage Collection.: ガベージコレクションを使うには、設定で「必要に応じてチャンクを取得する」を無効にしてください。
+Please enable 'Compute revisions for chunks' in settings to use Garbage Collection.: ガベージコレクションを使うには、設定で「チャンクの修正(リビジョン)を計算」を有効にしてください。
+Please enter the CouchDB server information below.: 以下にCouchDBサーバーの情報を入力してください。
+Please enter the details required to connect to your S3/MinIO/R2 compatible object storage service.: S3/MinIO/R2互換オブジェクトストレージサービスへの接続に必要な詳細を入力してください。
+Please enter the Peer-to-Peer Synchronisation information below.: 以下にピアツーピア同期の情報を入力してください。
+Please enter the Setup URI that was generated during server installation or on another device, along with the vault passphrase.: サーバーのセットアップ時または別のデバイスで生成されたセットアップ URIと、Vaultのパスフレーズを入力してください。
+Please follow the steps below to import settings from your existing device.: 既存のデバイスから設定をインポートするには、以下の手順に従ってください。
+PLEASE NOTE: 注意
+Please select 'Cancel' explicitly to cancel this operation.: この操作を中止するには、明示的に「キャンセル」を選択してください。
+Please select a method to import the settings from another device.: 別のデバイスから設定を取り込む方法を選択してください。
+Please select an active P2P remote configuration to change P2P sync targets.: P2P 同期ターゲットを変更するには、アクティブなP2Pリモート設定を選択してください。
+Please select an option to proceed: 続行するには項目を選択してください
+Please select the button below to restart and proceed to the data fetching confirmation.: 下のボタンを選択して再起動し、データ取得の確認へ進んでください。
+Please select the button below to restart and proceed to the final confirmation.: 下のボタンを選択して再起動し、最終確認へ進んでください。
+Please select the type of server to which you are connecting.: 接続するサーバーの種類を選択してください。
+Please select your situation.: 現在の状況を選択してください。
Please set device name to identify this device. This name should be unique among your devices. While not configured, we cannot enable this feature.: このデバイスを識別するためのデバイス名を設定してください。この名前は各デバイスで一意である必要があります。設定されるまで、この機能は有効にできません。
Please set this device name: このデバイス名を設定してください
+Please understand that this is intended behaviour.: これは意図された動作であることをご了承ください。
+Please use V2, V1 is deprecated and will be removed in the future, It was not a very appropriate algorithm. Only for compatibility V1 is kept.:
+ V2 を使用してください。V1 は非推奨であり将来的に削除される予定です。V1 はあまり適切なアルゴリズムではありませんでした。互換性維持のためだけに V1
+ が残されています。
+Plug-in version: プラグインのバージョン
+Plugins: プラグイン
+Prepare the 'report' to create an issue: Issue 作成用の「レポート」を準備
Presets: プリセット
-Process small files in the foreground: 小さいファイルを最前面で処理
-PureJS fallback (Fast, W/O WebAssembly): PureJS フォールバック (高速、WebAssembly なし)
+Prevent fetching configuration from server: サーバーからの設定取得を防止する
+Proceed: 続行
+Proceed Garbage Collection: ガベージコレクションを続行
+Proceed to the next step.: 次のステップへ進みます。
+Proceed with Setup URI: セットアップ URIで続行
+Proceeding with Garbage Collection, ignoring missing nodes.: 不足しているノードを無視してガベージコレクションを続行します。
+Proceeding with Garbage Collection.: ガベージコレクションを実行します。
+Process files even if seems to be corrupted: 破損していると思われるファイルも処理する
+Process small files in the foreground: 小さいファイルをUIスレッドで処理
+Progress: 進捗
+Property Encryption: プロパティ暗号化
+PureJS fallback (Fast, W/O WebAssembly): PureJS フォールバック(高速、WebAssembly なし)
Purge all download/upload cache.: ダウンロード/アップロードキャッシュをすべて削除します。
Purge all journal counter: すべてのジャーナルカウンターを削除
+Reboot to re-run the process: 再起動して処理を再実行
Rebuild local and remote database with local files.: ローカルファイルを使ってローカルとリモートのデータベースを再構築します。
-Rebuilding Operations (Remote Only): 再構築操作 (リモートのみ)
+Rebuilding Operations (Remote Only): 再構築操作(リモートのみ)
+Recovery and Repair: リカバリと修復
Recreate all: すべて再作成
Recreate missing chunks for all files: すべてのファイルの不足チャンクを再作成
RedFlag:
Fetch:
Method:
Desc: |-
- どのようにフェッチしますか?
+ どのようにデータを取得しますか?
- %{RedFlag.Fetch.Method.FetchSafer}
**低トラフィック**, **高CPU負荷**, **低リスク**
- 推奨条件...
+ 推奨される場合:
- ファイルの整合性に不安がある
- ファイル数がそれほど多くない
- %{RedFlag.Fetch.Method.FetchSmoother}
- **低トラフィック**, **中程CPU負荷**, **低~中リスク**
- 推奨条件...
- - ファイルがおそらく整合している
+ **低トラフィック**, **中程度のCPU負荷**, **低~中リスク**
+ 推奨される場合:
+ - ファイルの整合性に問題がない(可能性が高い)
- ファイル数が多い
- %{RedFlag.Fetch.Method.FetchTraditional}
**高トラフィック**, **低CPU負荷**, **低~中リスク**
@@ -745,42 +1167,50 @@ RedFlag:
>[!INFO]- 詳細
> ## %{RedFlag.Fetch.Method.FetchSafer}
> **低トラフィック**, **高CPU負荷**, **低リスク**
- > このオプションは、リモートからデータをフェッチする前に、既存のローカルファイルを使用してローカルデータベースを作成します。
+ > このオプションは、リモートからデータを取得する前に、既存のローカルファイルを使用してローカルデータベースを作成します。
> ローカルとリモートの両方に一致するファイルがある場合、差分のみが転送されます。
> ただし、両方の場所に存在するファイルは最初は競合ファイルとして処理されます。実際に競合していなければ自動的に解決されますが、この処理には時間がかかる場合があります。
> これは一般的に最も安全な方法で、データ損失のリスクを最小限に抑えます。
> ## %{RedFlag.Fetch.Method.FetchSmoother}
- > **低トラフィック**, **中程CPU負荷**, **低~中リスク**(操作による)
- > このオプションは、最初にローカルファイルからデータベース用のチャンクを作成し、その後データをフェッチします。そのため、ローカルにないチャンクのみが転送されます。ただし、すべてのメタデータはリモートから取得されます。
+ > **低トラフィック**, **中程度のCPU負荷**, **低~中リスク**(操作による)
+ > このオプションは、最初にローカルファイルからデータベース用のチャンクを作成し、その後データを取得します。そのため、ローカルにないチャンクのみが転送されます。ただし、すべてのメタデータはリモートから取得されます。
> ローカルファイルは起動時にこのメタデータと比較されます。新しいと判断されたコンテンツ(更新日時による)が古いものを上書きします。この結果はリモートデータベースに同期されます。
- > ローカルファイルが本当に最新のタイムスタンプであれば一般的に安全です。ただし、ファイルのタイムスタンプが新しくてもコンテンツが古い場合(初期の`welcome.md`など)は問題が発生する可能性があります。
+ > ローカルファイルの更新日時が実際に最新であれば、一般的に安全です。ただし、ファイルの更新日時が新しくてもコンテンツが古い場合(初期の`welcome.md`など)は問題が発生する可能性があります。
> これは"%{RedFlag.Fetch.Method.FetchSafer}"よりCPU使用量が少なく高速ですが、注意しないとデータ損失につながる可能性があります。
> ## %{RedFlag.Fetch.Method.FetchTraditional}
> **高トラフィック**, **低CPU負荷**, **低~中リスク**(操作による)
- > すべてのデータがリモートからフェッチされます。
- > %{RedFlag.Fetch.Method.FetchSmoother}と似ていますが、すべてのチャンクがリモートからフェッチされます。
- > これは最も従来のフェッチ方法で、通常最もネットワークトラフィックと時間を消費します。'%{RedFlag.Fetch.Method.FetchSmoother}'オプションと同様のリモートファイル上書きのリスクがあります。
+ > すべてのデータがリモートから取得されます。
+ > %{RedFlag.Fetch.Method.FetchSmoother}と似ていますが、すべてのチャンクがリモートから取得されます。
+ > これは従来の取得方法であり、通常最もネットワーク通信量と時間を消費します。'%{RedFlag.Fetch.Method.FetchSmoother}'オプションと同様のリモートファイル上書きのリスクがあります。
> ただし、最も歴史があり簡単なアプローチであるため、最も安定した方法と見なされることが多いです。
- FetchSafer: フェッチ前にローカルデータベースを作成
- FetchSmoother: フェッチ前にローカルファイルチャンクを作成
- FetchTraditional: リモートからすべてをフェッチ
- Title: どのようにフェッチしますか?
+ FetchSafer: データ取得前にローカルデータベースを作成
+ FetchSmoother: データ取得前にローカルファイルのチャンクを作成
+ FetchTraditional: リモートからすべてを取得
+ Title: どのようにデータを取得しますか?
FetchRemoteConfig:
Buttons:
Cancel: いいえ、ローカル設定を使用
Fetch: はい、リモート設定を取得して適用
Message: リモートに保存された設定を取得して、このデバイスに適用しますか?
Title: リモート設定の取得
-Reducing the frequency with which on-disk changes are reflected into the DB: ローカルでの変更がデータベースに反映される頻度を下げる(所定の回数まとめて同期する、逐一反映しない)
+Reduces storage space by discarding all non-latest revisions. This requires the same amount of free space on the remote server and the local client.: 最新版以外のすべてのリビジョンを破棄して、使用容量を削減します。実行には、リモートサーバーとローカルクライアントの両方に同程度の空き容量が必要です。
+Reducing the frequency with which on-disk changes are reflected into the DB: ローカルでの変更がデータベースに反映される頻度を下げる
+Refresh: 更新
Region: リージョン
+Relay settings: リレー設定
+Reload: 再読み込み
Remediation: 是正
Remediation Setting Changed: 是正設定が変更されました
-Remote Database Tweak (In sunset): リモートデータベースの調整 (廃止予定)
+Remote Database Tweak (In sunset): リモートデータベースの調整項目(廃止予定)
Remote Databases: リモートデータベース
Remote name: リモート名
+Remote only: リモートのみ
Remote server type: リモートの種別
Remote Type: 同期方式
Rename: 名前を変更
+Replicate now: 今すぐレプリケーション
+Replicating: レプリケーション中
+"Replicating...": レプリケーション中...
Replicator:
Dialogue:
Locked:
@@ -789,67 +1219,107 @@ Replicator:
Fetch: このデバイスの同期をリセット
Unlock: リモートデータベースのロックを解除
Message:
- _value: >
- リモートデータベースがロックされています。これはいずれかの端末での再構築が原因です。
-
- データベースの破損を避けるため、このデバイスは接続を保留するよう求められています。
-
-
- 3つのオプションがあります:
+ _value: |-
+ いずれかのデバイスが再構築を実行しているため、リモートデータベースがロックされています。
+ データベースの破損を防ぐため、再構築が完了するまでこのデバイスは同期を一時停止する必要があります。
+ 次の3つの選択肢から指定してください:
- %{Replicator.Dialogue.Locked.Action.Fetch}
- 最も推奨される信頼性の高い方法です。ローカルデータベースを一度破棄し、リモートデータベースからすべての同期情報を再取得します。ほとんどの場合、これは安全に実行できます。ただし、時間がかかり、安定したネットワークで実行する必要があります。
+ ほとんどの場合、これが推奨される選択肢です。ローカルデータベースを削除し、リモートデータベースから同期データを再取得します。時間がかかる場合があるため、安定したネットワーク環境で実行してください。
- %{Replicator.Dialogue.Locked.Action.Unlock}
- この方法は、他のレプリケーション(複製)方法ですでに確実に同期されている場合のみ使用できます。単に同じファイルがあるという意味ではありません。確信がない場合は避けてください。
+ 他のレプリケーション方式によってこのデバイスがすでに確実に同期されている場合にのみ使用してください。単に同じファイルが存在するだけでは不十分です。確信がない場合はこのオプションを使用しないでください。
- %{Replicator.Dialogue.Locked.Action.Dismiss}
- 操作をキャンセルします。次回のリクエスト時に再度確認されます。
- Fetch: 全フェッチがスケジュールされました。プラグインは実行のために再起動されます。
+ 操作をキャンセルします。次回のリクエスト時に再度確認が表示されます。
+ Fetch: データの全取得を予約しました。実行のためにプラグインを再起動します。
Unlocked: リモートデータベースのロックが解除されました。操作を再試行してください。
Title: ロック中
Message:
- Cleaned: データベースのクリーナップ中です。レプリケーション(複製)はキャンセルされました。
+ Cleaned: データベースのクリーンアップ中です。レプリケーションはキャンセルされました。
InitialiseFatalError: レプリケーターが利用できません。これは致命的なエラーです。
- Pending: ファイルイベントが保留中です。レプリケーション(複製)はキャンセルされました。
- SomeModuleFailed: 一部のモジュールの失敗によりレプリケーション(複製)がキャンセルされました。
- VersionUpFlash: 更新が検出されました。設定ダイアログを開いて変更ログを確認してください。レプリケーション(複製)はキャンセルされました。
+ Pending: ファイルイベントが保留中です。レプリケーションはキャンセルされました。
+ SomeModuleFailed: 一部のモジュールの失敗によりレプリケーションがキャンセルされました。
+ VersionUpFlash: 互換性レビューのため、リモート同期を一時停止しました。詳細と利用可能な操作については、「Review why synchronisation is paused」コマンドを実行してください。
Requires restart of Obsidian: Obsidianの再起動が必要です
Requires restart of Obsidian.: Obsidianの再起動が必要です。
+Rerun Onboarding Wizard: オンボーディングウィザードを再実行
+Rerun the onboarding wizard to set up Self-hosted LiveSync again.: オンボーディングウィザードを再実行して、Self-hosted LiveSync をもう一度設定します。
+Rerun Wizard: ウィザードを再実行
Resend: 再送信
Resend all chunks to the remote.: すべてのチャンクをリモートへ再送信します。
Reset: リセット
Reset all: すべてリセット
Reset all journal counter: すべてのジャーナルカウンターをリセット
+Reset and Resume Synchronisation: リセットして同期を再開
Reset journal received history: ジャーナル受信履歴をリセット
Reset journal sent history: ジャーナル送信履歴をリセット
+Reset notification threshold and check the remote database usage: 通知しきい値をリセットしてリモートデータベース使用量を確認
Reset received: 受信履歴をリセット
Reset sent history: 送信履歴をリセット
Reset Synchronisation information: 同期情報をリセット
-Reset Synchronisation on This Device: このデバイスの同期状態をリセット
+Reset Synchronisation on This Device: このデバイスの同期をリセット
+Reset the remote storage size threshold and check the remote storage size again.: リモートストレージ容量のしきい値をリセットし、リモートストレージ容量を再確認します。
Resolve All: すべて解決
Resolve all conflicted files: 競合しているすべてのファイルを解決
Resolve All conflicted files by the newer one: 競合したすべてのファイルを新しい方で解決
-"Resolve all conflicted files by the newer one. Caution: This will overwrite the older one, and cannot resurrect the overwritten one.": 競合しているすべてのファイルを新しい方の内容で解決します。注意:古い方は上書きされ、復元できません。
+"Resolve all conflicted files by the newer one. Caution: This will overwrite the older one, and cannot resurrect the overwritten one.": 競合しているすべてのファイルを新しい方の内容で解決します。注意:古い方は上書きされ、復元できません。
+Restart and Fetch Data: 再起動してデータを取得
+Restart and Initialise Server: 再起動してサーバーを初期化
Restart Now: 今すぐ再起動
+Restarting Obsidian is strongly recommended. Until restart, some changes may not take effect, and display may be inconsistent. Are you sure to restart now?: Obsidianの再起動を強く推奨します。再起動するまで一部の変更が適用されず、表示に不整合が生じる可能性があります。今すぐ再起動しますか?
Restore or reconstruct local database from remote.: リモートからローカルデータベースを復元または再構築します。
+Rev: リビジョン
+Revert changes: 変更を元に戻す
+Revoke: 失効
+Room ID: ルームID
+"Room ID suffix:": "ルームIDサフィックス:"
+Rotation Duration: ローテーション期間
+Run Doctor: 診断を実行
+S3/MinIO/R2 Configuration: S3/MinIO/R2 設定
+S3/MinIO/R2 Object Storage: S3/MinIO/R2 オブジェクトストレージ
+Same: 同一
+Same or local only: 同一またはローカルのみ
+Save and Apply: 保存して適用
Save settings to a markdown file. You will be notified when new settings arrive. You can set different files by the platform.: Markdownファイルに設定を保存します。新しい設定が到着すると通知されます。プラットフォームごとに異なるファイルを設定できます。
+Save without connecting: 接続せずに保存
Saving will be performed forcefully after this number of seconds.: この秒数後に強制的に保存されます。
-Scan changes on customization sync: カスタマイズされた同期時に、変更をスキャンする
+Saving without a successful connection test keeps this profile, but automatic synchronisation may fail until the connection is corrected.: 接続テストに成功せずに保存した場合でもこのプロファイルは保持されますが、接続が修正されるまで自動同期に失敗する可能性があります。
+Scan a QR Code (Recommended for mobile): QR コードをスキャンする(モバイル推奨)
+Scan changes: 変更をスキャン
+Scan changes on customization sync: カスタマイズ同期時に変更をスキャンする
Scan customization automatically: 自動的にカスタマイズをスキャン
-Scan customization before replicating.: レプリケーション(複製)前に、カスタマイズをスキャン
-Scan customization every 1 minute.: カスタマイズのスキャンを1分ごとに行う
+Scan customization before replicating.: レプリケーション前にカスタマイズをスキャン
+Scan customization every 1 minute.: 1分ごとにカスタマイズをスキャンする
Scan customization periodically: 定期的にカスタマイズをスキャン
-Scan for hidden files before replication: レプリケーション(複製)開始前に、隠しファイルのスキャンを行う
-Scan hidden files periodically: 定期的に隠しファイルのスキャンを行う
+Scan for Broken files: 破損ファイルをスキャン
+Scan for hidden files before replication: レプリケーション開始前に非表示ファイルをスキャンする
+Scan hidden files periodically: 定期的に非表示ファイルをスキャンする
+Scan QR Code: QR コードをスキャン
+Scan the QR code displayed on an active device using this device's camera.: 稼働中のデバイスに表示された QR コードを、このデバイスのカメラで読み取ってください。
Schedule and Restart: 予約して再起動
+Scram Switches: 緊急対応スイッチ
Scram!: 緊急停止
Seconds, 0 to disable: 秒数、0で無効
+"Seconds. The quiet period after the latest pending update before local database processing becomes due.":
+ 最新の保留中更新から、ローカルデータベースの処理が実行可能になるまでの待機時間(秒)です。
+"Seconds. The maximum intentional wait from the first pending update before local database processing becomes due. This does not guarantee when database processing, network delivery, or reflection to another device will complete.":
+ 最初の保留中の更新から、ローカルデータベースの処理が実行可能になるまでの最大待機時間(秒)です。データベース処理、ネットワーク転送、他のデバイスへの反映が完了する時刻を保証するものではありません。
Seconds. Saving to the local database will be delayed until this value after we stop typing or saving.: 秒。入力や保存を停止してからこの値の間、ローカルデータベースへの保存が遅延されます。
+Secret Access Key: シークレットアクセスキー
Secret Key: シークレットキー
+Select active P2P remote: アクティブなP2Pリモートを選択
+Select All Shiny: すべての最新を選択
+Select Flagged Shiny: フラグ付きの最新を選択
+Select P2P remote...: P2Pリモートを選択...
Select the database adapter to use.: 使用するデータベースアダプターを選択します。
+Selecting this option will result in the current data on this device being used to initialise the server. Any existing data on the server will be completely overwritten.: このオプションを選択すると、このデバイスの現在のデータを使用してサーバーが初期化されます。サーバー上の既存のデータは完全に上書きされます。
+Selecting this option will result in this device joining the existing server. You need to fetching the existing synchronisation data from the server to this device.: このオプションを選択すると、このデバイスは既存のサーバーに参加します。サーバーからこのデバイスへ既存の同期データを取得する必要があります。
+Selective: 選択的
Send: 送信
Send chunks: チャンクを送信
-Server URI: URI
+SENDING: 送信中
+Server URI: サーバー URI
+SESSION: セッション
Setting:
GenerateKeyPair:
Desc: |+
@@ -894,28 +1364,38 @@ Setting:
ScanBrokenFiles:
_value: 破損ファイルのスキャン
Desc: データベースに正しく保存されていないファイルをスキャンします。
+SettingService.ConfigurationCouldNotBeDecrypted: 既存の設定を復号できませんでした。設定キーは変更されていません。
+SettingService.ConfigurationEncryptionSaveFailed: 設定の暗号化を保存できませんでした。保存された設定とデバイスキーを確認してから再試行してください。
+SettingService.ConfigurationPassphraseCancelled: 設定パスフレーズの入力がキャンセルされたか、利用できませんでした。起動を中止しました。保存済みの設定は保持されています。
+SettingService.ConfigurationPassphraseDeviceLocalDescription: このパスフレーズはこのデバイス上にのみ保持されます。保存されたキーを持たない他のデバイスが保護された設定を復号する必要がある場合、起動時に同じパスフレーズを入力してください。
+SettingService.ConfigurationPassphraseRetryTitle: 設定を復号できませんでした。設定パスフレーズを再入力してください。
+SettingService.ConfigurationPassphraseRollbackFailed: 書き込み失敗後に設定パスフレーズを復元できませんでした。保存された設定とデバイスキーを確認してから再試行してください。
+SettingService.ConfigurationPassphraseTitle: 設定パスフレーズ
SettingTab:
Message:
- AskRebuild: 変更にはリモートデータベースからのフェッチが必要です。続行しますか?
+ AskRebuild: 変更を反映するにはリモートデータベースからのデータ取得が必要です。続行しますか?
+"Setup Complete: Preparing to Fetch Synchronisation Data": "セットアップ完了: 同期データの取得を準備中"
+"Setup Complete: Preparing to Initialise Server": "セットアップ完了: サーバーの初期化を準備中"
+Setup URI dialog cancelled.: セットアップ URIダイアログはキャンセルされました。
+Setup-URI: セットアップ URI
Setup:
Apply:
Buttons:
- ApplyAndFetch: 適用してフェッチ
+ ApplyAndFetch: 適用して取得
ApplyAndMerge: 適用してマージ
ApplyAndRebuild: 適用して再構築
Cancel: 破棄してキャンセル
OnlyApply: 適用のみ
Message: |-
- 新しい設定の準備ができました。適用に進みましょう。
- 適用方法はいくつかあります:
+ 新しい設定を適用する準備が整いました。適用方法を選択してください:
- - 適用してフェッチ
+ - 適用して取得
このデバイスを新しいクライアントとして設定します。適用後、リモートサーバーから同期します。
- 適用してマージ
- 既にファイルがあるデバイスで設定します。ローカルファイルを処理し、差分を転送します。競合が発生する場合があります。
+ すでにファイルがあるデバイスで設定します。ローカルファイルを処理し、差分を転送します。競合が発生する場合があります。
- 適用して再構築
ローカルファイルを使用してリモートを再構築します。これは通常、サーバーが破損した場合や最初からやり直したい場合に行います。
- 他のデバイスはロックされ、再フェッチが必要になります。
+ 他のデバイスはロックされ、データの再取得が必要になります。
- 適用のみ
適用のみを行います。再構築が必要な場合、競合が発生する可能性があります。
Title: ${method}からの新しい設定を適用
@@ -925,168 +1405,231 @@ Setup:
No: いいえ、URIの設定をそのまま使用
Yes: はい、診断ツールに相談する
Message: |-
- Self-hosted LiveSyncは徐々に歴史が長くなり、一部の推奨設定が変更されています。
+ Self-hosted LiveSync は開発が進む中で、一部の推奨設定が変更されています。
- セットアップは、これを行う非常に良い機会です。
+ セットアップ時は、設定を見直すよい機会です。
- インポートされた設定が最新の状態と比較して最適かどうかを確認するために、診断ツールを実行しますか?
+ インポートした設定が最新の状態と比べて最適か確認するため、診断ツールを実行しますか?
Title: 診断ツールに相談しますか?
FetchRemoteConf:
Buttons:
Fetch: はい、設定を取得
Skip: いいえ、URIの設定を使用
Message: |-
- 既に他のデバイスと同期したことがある場合、リモートデータベースには同期されたデバイス間の適切な設定値が保存されています。プラグインは堅牢な設定のためにそれらを取得したいと考えています。
+ このVaultがすでに他のデバイスと同期している場合、リモートデータベースにはそれらのデバイス間で共有されている設定値が保存されています。設定の整合性を保つため、これらの値を取得することをおすすめします。
- ただし、1つ確認が必要です。現在、ネットワークに安全にアクセスして設定を取得できる状況ですか?
+ 続行する前に、信頼できるネットワークに接続していることを確認してください。
- 注意: リモートデータベースがSSL証明書でホストされており、ネットワークが侵害されていなければ、ほとんどの場合安全に実行できます。
+ 注意: リモートデータベースが有効な証明書を持つ HTTPS でホストされており、ネットワークが侵害されていなければ、通常は安全です。
Title: リモートデータベースから設定を取得しますか?
QRCode: |-
- 設定を転送するためのQRコードを生成しました。スマートフォンや他のデバイスでQRコードをスキャンしてください。
- 注意: QRコードは暗号化されていないため、開く際は注意してください。
+ 設定を転送するためのQR コードを生成しました。スマートフォンや他のデバイスでQR コードをスキャンしてください。
+
+ QR コードは暗号化されていません。信頼できるデバイスでのみスキャンしてください。
>[!FOR YOUR EYES ONLY]-
>
${qr_image}
- ShowQRCode:
- _value: QRコードを表示
- Desc: 設定を転送するためのQRコードを表示します。
RemoteE2EE:
- Title: エンドツーエンド暗号化
+ AdvancedTitle: 詳細設定
+ AlgorithmWarning: 暗号化アルゴリズムを変更すると、別のアルゴリズムで暗号化された既存データにはアクセスできなくなります。すべてのデバイスで同じアルゴリズムを使うよう設定し、データにアクセスできる状態を維持してください。
+ ButtonCancel: キャンセル
+ ButtonProceed: 進む
+ DefaultAlgorithmDesc: ほとんどの場合は、既定のアルゴリズム(${algorithm})をそのまま使用してください。この設定が必要になるのは、既存の
+ Vault が別の形式で暗号化されている場合のみです。
Guidance: エンドツーエンド暗号化の設定を行ってください。
LabelEncrypt: エンドツーエンド暗号化
- PlaceholderPassphrase: パスフレーズを入力してください
- StronglyRecommendedTitle: 強く推奨
- StronglyRecommendedLine1: エンドツーエンド暗号化を有効にすると、データはリモートサーバーへ送信される前にこの端末上で暗号化されます。つまり、たとえ誰かがサーバーへアクセスできても、パスフレーズがなければデータを読むことはできません。他の端末でデータを復号する際にも必要になるため、パスフレーズは必ず覚えておいてください。
- StronglyRecommendedLine2: また、Peer-to-Peer 同期を使用している場合でも、将来ほかの方式へ切り替えてリモートサーバーへ接続するときには、この設定が使われます。
- MultiDestinationWarning: 複数の同期先へ接続する場合でも、この設定は同一である必要があります。
- LabelObfuscateProperties: プロパティを難読化
- ObfuscatePropertiesDesc: プロパティ(ファイルパス、サイズ、作成日時、更新日時など)を難読化すると、リモートサーバー上のファイルやフォルダーの構造や名前を特定しにくくできるため、追加の保護層になります。これによりプライバシーが守られ、権限のない第三者がデータに関する情報を推測しにくくなります。
- AdvancedTitle: 詳細設定
LabelEncryptionAlgorithm: 暗号化アルゴリズム
- DefaultAlgorithmDesc: ほとんどの場合は、既定のアルゴリズム(${algorithm})をそのまま使用してください。この設定が必要になるのは、既存の Vault が別の形式で暗号化されている場合のみです。
- AlgorithmWarning: 暗号化アルゴリズムを変更すると、別のアルゴリズムで暗号化された既存データにはアクセスできなくなります。すべての端末で同じアルゴリズムを使うよう設定し、データにアクセスできる状態を維持してください。
+ LabelObfuscateProperties: プロパティを難読化
+ MultiDestinationWarning: 複数の同期先へ接続する場合でも、この設定は同一である必要があります。
+ ObfuscatePropertiesDesc: プロパティ(ファイルパス、サイズ、作成日時、更新日時など)を難読化すると、リモートサーバー上のファイルやフォルダーの構造や名前を特定しにくくできるため、追加の保護層になります。これによりプライバシーが守られ、権限のない第三者がデータに関する情報を推測しにくくなります。
PassphraseValidationLine1: エンドツーエンド暗号化のパスフレーズは、実際に同期処理が開始されるまで検証されない点にご注意ください。これはデータを保護するためのセキュリティ対策です。
- PassphraseValidationLine2: そのため、サーバー情報を手動で設定する際は細心の注意を払ってください。誤ったパスフレーズを入力すると、サーバー上のデータが破損します。これは意図された動作ですので、あらかじめご理解ください。
- ButtonProceed: 進む
- ButtonCancel: キャンセル
- UseSetupURI:
- Title: Setup URI を入力
- GuidanceLine1: サーバーのセットアップ時または別の端末で生成された Setup URI と、Vault のパスフレーズを入力してください。
- GuidanceLine2: コマンドパレットで「設定を新しい Setup URI としてコピー」を実行すると、新しい Setup URI を生成できます。
- LabelSetupURI: Setup URI
- ValidInfo: Setup URI は有効で、使用できます。
- InvalidInfo: Setup URI が無効です。内容を確認して再試行してください。
- LabelPassphrase: Vault のパスフレーズ
- PlaceholderPassphrase: Vault のパスフレーズを入力してください
- ErrorPassphraseRequired: Vault のパスフレーズを入力してください。
- ErrorFailedToParse: Setup URI を解析できませんでした。URI とパスフレーズを確認してください。
- ButtonProceed: 設定をテストして続行
- ButtonCancel: キャンセル
+ PassphraseValidationLine2: サーバー情報を手動で設定する際は細心の注意を払ってください。同期が開始されるまでパスフレーズを検証できないため、誤ったパスフレーズを入力するとサーバー上のデータが破損するおそれがあります。
+ PlaceholderPassphrase: パスフレーズを入力してください
+ StronglyRecommendedLine1: エンドツーエンド暗号化を有効にすると、データはリモートサーバーへ送信される前にこのデバイス上で暗号化されます。つまり、たとえ誰かがサーバーへアクセスできても、パスフレーズがなければデータを読むことはできません。他のデバイスでデータを復号する際にも必要になるため、パスフレーズは必ず覚えておいてください。
+ StronglyRecommendedLine2: また、ピアツーピア(P2P)同期を使用している場合でも、将来ほかの方式へ切り替えてリモートサーバーへ接続するときには、この設定が使われます。
+ StronglyRecommendedTitle: 強く推奨
+ Title: エンドツーエンド暗号化
ScanQRCode:
- Title: QRコードをスキャン
- Guidance: 既存の端末から設定を取り込むには、以下の手順に従ってください。
- Step1: この端末では、この Vault を開いたままにしてください。
- Step2: 元の端末で Obsidian を開きます。
- Step3: 元の端末でコマンドパレットから「設定を QR コードとして表示」を実行します。
- Step4: この端末でカメラアプリに切り替えるか QR コードスキャナーを使って、表示された QR コードを読み取ってください。
ButtonClose: このダイアログを閉じる
-"Please enable 'Compute revisions for chunks' in settings to use Garbage Collection.": Garbage Collection を使うには、設定で「Compute revisions for chunks」を有効にしてください。
-"Please disable 'Read chunks online' in settings to use Garbage Collection.": Garbage Collection を使うには、設定で「Read chunks online」を無効にしてください。
-"Setup URI dialog cancelled.": Setup URI ダイアログはキャンセルされました。
-"Please select 'Cancel' explicitly to cancel this operation.": この操作を中止するには、明示的に「キャンセル」を選択してください。
-"Failed to connect to remote for compaction.": リモートデータベースに接続できず、コンパクションを実行できませんでした。
-"Failed to connect to remote for compaction. ${reason}": リモートデータベースに接続できず、コンパクションを実行できませんでした。${reason}
-"Compaction in progress on remote database...": リモートデータベースでコンパクションを実行中です...
-"Compaction on remote database timed out.": リモートデータベースでのコンパクションがタイムアウトしました。
-"Compaction on remote database completed successfully.": リモートデータベースでのコンパクションが正常に完了しました。
-"Compaction on remote database failed.": リモートデータベースでのコンパクションに失敗しました。
-"Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.": Garbage Collection 前にワンショットレプリケーションを開始できませんでした。Garbage Collection はキャンセルされました。
-"Cancel Garbage Collection": Garbage Collection をキャンセル
-"No connected device information found. Cancelling Garbage Collection.": 接続済みデバイスの情報が見つかりませんでした。Garbage Collection をキャンセルします。
-"The following accepted nodes are missing its node information:\n- ${missingNodes}\n\nThis indicates that they have not been connected for some time or have been left on an older version.\nIt is preferable to update all devices if possible. If you have any devices that are no longer in use, you can clear all accepted nodes by locking the remote once.": |-
- 次の承認済みノードにはノード情報がありません:
- - ${missingNodes}
-
- これは、それらがしばらく接続されていないか、古いバージョンのままになっていることを示しています。
- 可能であれば、まずすべてのデバイスを更新することをおすすめします。すでに使用していないデバイスがある場合は、リモートを一度ロックすることで承認済みノードをすべてクリアできます。
-"Ignore and Proceed": 無視して続行
-"Node Information Missing": ノード情報がありません
-"Garbage Collection cancelled by user.": ユーザーによって Garbage Collection がキャンセルされました。
-"Proceeding with Garbage Collection, ignoring missing nodes.": 不足しているノードを無視して Garbage Collection を続行します。
-"Proceed Garbage Collection": Garbage Collection を続行
-"> [!INFO]- The connected devices have been detected as follows:\n${devices}": |-
- > [!INFO]- 次の接続済みデバイスが検出されました:
- ${devices}
-"Device": デバイス
-"Node ID": ノード ID
-"Obsidian version": Obsidian バージョン
-"Plug-in version": プラグインバージョン
-"Progress": 進捗
-"Some devices have differing progress values (max: ${maxProgress}, min: ${minProgress}).\nThis may indicate that some devices have not completed synchronisation, which could lead to conflicts. Strongly recommend confirming that all devices are synchronised before proceeding.": |-
- 一部のデバイスで進捗値が異なっています(最大: ${maxProgress}、最小: ${minProgress})。
- これは一部のデバイスで同期が完了していない可能性を示しており、競合の原因になることがあります。続行する前に、すべてのデバイスが同期済みであることを確認することを強くおすすめします。
-"All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.": すべてのデバイスで進捗値が同じです(${progress})。デバイスは同期されているようなので、Garbage Collection を続行できます。
-"Garbage Collection Confirmation": Garbage Collection の確認
-"Proceeding with Garbage Collection.": Garbage Collection を実行します。
-"Garbage Collection: Scanned ${scanned} / ~${docCount}": |-
- Garbage Collection: ${scanned} / ~${docCount} をスキャン済み
-"Garbage Collection: Scanning completed. Total chunks: ${totalChunks}, Used chunks: ${usedChunks}": |-
- Garbage Collection: スキャン完了。総チャンク数: ${totalChunks}、使用中チャンク数: ${usedChunks}
-"Garbage Collection: Found ${unusedChunks} unused chunks to delete.": |-
- Garbage Collection: 削除対象の未使用チャンクが ${unusedChunks} 件見つかりました。
-"Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.": |-
- Garbage Collection が完了しました。削除したチャンク: ${deletedChunks} / ${totalChunks}。所要時間: ${seconds} 秒。
-"Failed to start replication after Garbage Collection.": Garbage Collection 後にレプリケーションを開始できませんでした。
+ Guidance: 既存のデバイスから設定を取り込むには、以下の手順に従ってください。
+ Step1: このデバイスでは、この Vault を開いたままにしてください。
+ Step2: 元のデバイスで Obsidian を開きます。
+ Step3: 元のデバイスでコマンドパレットから「Show settings as a QR code」を実行します。
+ Step4: このデバイスでカメラアプリに切り替えるか QR コードスキャナーを使って、表示された QR コードを読み取ってください。
+ Title: QR コードをスキャン
+ ShowQRCode:
+ _value: QR コードを表示
+ Desc: 設定を転送するためのQR コードを表示します。
+ UseSetupURI:
+ ButtonCancel: キャンセル
+ ButtonProceed: 設定をテストして続行
+ ErrorFailedToParse: セットアップ URIを解析できませんでした。URIとパスフレーズを確認してください。
+ ErrorPassphraseRequired: Vault のパスフレーズを入力してください。
+ GuidanceLine1: サーバーのセットアップ時または別のデバイスで生成されたセットアップ URIと、Vault のパスフレーズを入力してください。
+ GuidanceLine2: コマンドパレットで「Copy settings as a new setup URI」を実行すると、新しいセットアップ URIを生成できます。
+ InvalidInfo: セットアップ URIが無効です。内容を確認して再試行してください。
+ LabelPassphrase: Vault のパスフレーズ
+ LabelSetupURI: セットアップ URI
+ PlaceholderPassphrase: Vault のパスフレーズを入力してください
+ Title: セットアップ URIを入力
+ ValidInfo: セットアップ URIは有効で、使用できます。
Should we keep folders that don't have any files inside?: 中にファイルがないフォルダーを保持しますか?
Should we only check for conflicts when a file is opened?: ファイルを開いたときのみ競合をチェックしますか?
Should we prompt you about conflicting files when a file is opened?: ファイルを開いたときに競合ファイルについて確認を求めますか?
Should we prompt you for every single merge, even if we can safely merge automatcially?: 自動的に安全にマージできる場合でも、すべてのマージについて確認を求めますか?
Show full banner: 完全なバナーを表示
+Show history: 履歴を表示
+Show icon only: アイコンのみ表示
Show only notifications: 通知のみ表示
+Show password: パスワードを表示
Show status as icons only: ステータス表示をアイコンのみにする
Show status icon instead of file warnings banner: ファイル警告バナーの代わりにステータスアイコンを表示
Show status inside the editor: ステータスをエディタ内に表示
Show status on the status bar: ステータスバーに、ステータスを表示
-Show verbose log. Please enable if you report an issue.: エラー以外の詳細ログ項目も表示する。問題が発生した場合は有効にしてください。
+Show verbose log. Please enable if you report an issue.: 詳細なログを表示します。Issue を報告する際は有効にしてください。
+Signaling Server Connection: シグナリングサーバー接続
+Signalling Relays: シグナリングリレー
+Signalling Status: シグナリングステータス
+Skip and close: スキップして閉じる
+Snippets: スニペット
+"Some devices have differing progress values (max: ${maxProgress}, min: ${minProgress}).\nThis may indicate that some devices have not completed synchronisation, which could lead to conflicts. Strongly recommend confirming that all devices are synchronised before proceeding.": |-
+ 一部のデバイスで進捗値が異なっています(最大: ${maxProgress}、最小: ${minProgress})。
+ 一部のデバイスで同期が完了していない可能性があり、競合の原因になることがあります。続行する前に、すべてのデバイスが同期済みであることを確認することを強くおすすめします。
+Some files failed to synchronise. What would you like to do?: 一部のファイルの同期に失敗しました。どうしますか?
+Start Broadcasting: ブロードキャストを開始
+Start change-broadcasting on Connect: 接続時に変更のブロードキャストを開始する
+Start Sync & Close: 同期を開始して閉じる
Starts synchronisation when a file is saved.: ファイルが保存されたときに同期を開始します。
+Stat: 状態
+Stats: 統計
+Stop ⚡: 停止 ⚡
+Stop Broadcasting: ブロードキャストを停止
Stop reflecting database changes to storage files.: データベースの変更をストレージファイルに反映させない
Stop watching for file changes.: 監視の停止
-Suppress notification of hidden files change: 隠しファイルの変更通知を抑制
+Storage -> Database: ストレージ → データベース
+Strongly Recommended: 強く推奨
+Subject (whoami): サブジェクト(whoami)
+Suppress notification of hidden files change: 非表示ファイルの変更通知を抑制
Suspend database reflecting: データベース反映の一時停止
Suspend file watching: 監視の一時停止
Switch to IDB: IDB に切り替える
Switch to IndexedDB: IndexedDB に切り替える
-Sync after merging file: ファイルがマージ(統合)された時に同期
+Strict content check on startup: 起動時にコンテンツを厳密に確認
+Compare file contents even when modification time and size match. This can slow startup in large vaults.: 更新日時とサイズが同じ場合でもファイルの内容を比較します。大きなVaultでは起動が遅くなることがあります。
+Sync: 同期
+Sync after merging file: ファイルがマージ(統合)された時に同期
Sync automatically after merging files: ファイルのマージ後に自動的に同期
Sync Mode: 同期モード
Sync on Editor Save: エディタでの保存時に、同期されます
Sync on File Open: ファイルを開いた時に同期
Sync on Save: 保存時に同期
Sync on Startup: 起動時同期
+Sync once: 1回同期
+Synchronisation Issues Detected: 同期の問題が検出されました
+Synchronisation utilising journal files. You must have set up an S3/MinIO/R2 compatible object storage.: ジャーナルファイルを利用する同期方式です。S3/MinIO/R2 互換のオブジェクトストレージを事前に構成しておく必要があります。
Synchronising files: 同期するファイル
-Syncing: 同期
+Syncing: 同期中
+"Syncing...": 同期中...
Target patterns: 対象パターン
+Test connection and save: 接続をテストして保存
+Test Settings and Continue: 設定をテストして続行
Testing only - Resolve file conflicts by syncing newer copies of the file, this can overwrite modified files. Be Warned.: テスト用 - ファイルの新しいコピーを同期してファイル競合を解決します。これにより変更されたファイルが上書きされる可能性があります。注意してください。
-The delay for consecutive on-demand fetches: 連続したオンデマンドフェッチの遅延
+The algorithm used for JWT authentication.: JWT 認証に使用されるアルゴリズム。
+The Application ID for P2P connection. This should be same among your devices. Default is 'self-hosted-livesync' and could not be modified from the UI.:
+ P2P 接続用のアプリケーション ID。所有するデバイス間で同じ値にする必要があります。デフォルトは「self-hosted-livesync」で、UI
+ からは変更できません。
+The connection test cannot add a signalling relay while P2P is active. Use the active relay settings, or disconnect P2P before testing.: P2Pがアクティブな間は、接続テストでシグナリングリレーを追加できません。現在有効なリレー設定を使用するか、テスト前にP2Pを切断してください。
+The connection to the server has been configured successfully. As the next step,: サーバーへの接続設定が正常に完了しました。次のステップとして、
+The credential/password for the TURN servers.: TURN サーバーの認証情報/パスワード。
+The delay for consecutive on-demand fetches: 連続するオンデマンド取得の間隔
+The files in this Vault are almost identical to the server's.: このVault内のファイルはサーバー上のファイルとほぼ同一です。
+"The following accepted nodes are missing its node information:\n- ${missingNodes}\n\nThis indicates that they have not been connected for some time or have been left on an older version.\nIt is preferable to update all devices if possible. If you have any devices that are no longer in use, you can clear all accepted nodes by locking the remote once.": |-
+ 次の承認済みノードにはノード情報がありません:
+ - ${missingNodes}
+
+ これらのノードはしばらく接続されていないか、古いバージョンのままになっている可能性があります。
+ 可能であれば、まずすべてのデバイスを更新することをおすすめします。すでに使用していないデバイスがある場合は、リモートを一度ロックすることで承認済みノードをすべてクリアできます。
+The Group ID and passphrase are used to identify your group of devices. Make sure to use the same Group ID and passphrase on all devices you want to synchronise.: グループIDとパスフレーズは、デバイスのグループを識別するために使用されます。同期したいすべてのデバイスで同じグループIDとパスフレーズを使用してください。
The Hash algorithm for chunk IDs: チャンクIDのハッシュアルゴリズム
+The IndexedDB adapter often offers superior performance in certain scenarios, but it has been found to cause memory leaks when used with LiveSync mode. When using LiveSync mode, please use IDB adapter instead.:
+ IndexedDB アダプターは特定のシナリオで優れたパフォーマンスを発揮することが多いですが、LiveSync モードと併用するとメモリリークを引き起こすことが確認されています。LiveSync モードを使用する場合は、代わりに IDB アダプターを使用してください。
+The key (PSK in HSxxx in base64, or private key in ESxxx in PEM) used for JWT authentication.: JWT 認証に使用するキー(HSxxx の場合は Base64 形式の PSK、ESxxx の場合は PEM 形式の秘密鍵)。
+The key ID. this should be matched with CouchDB->jwt_keys->ALG:_`kid`.: キー ID。CouchDB の jwt_keys -> ALG:_`kid` と一致している必要があります。
+the latest synchronisation data will be downloaded from the server to this device.: 最新の同期データがサーバーからこのデバイスへダウンロードされます。
+the local database, that is to say the synchronisation information, must be reconstituted.: ローカルデータベース(すなわち同期情報)を再構築する必要があります。
The maximum duration for which chunks can be incubated within the document. Chunks exceeding this period will graduate to independent chunks.: ドキュメント内でチャンクを保持できる最大期間。この期間を超えたチャンクは独立したチャンクに昇格します。
The maximum number of chunks that can be incubated within the document. Chunks exceeding this number will immediately graduate to independent chunks.: ドキュメント内で保持できるチャンクの最大数。この数を超えたチャンクは即座に独立したチャンクに昇格します。
The maximum total size of chunks that can be incubated within the document. Chunks exceeding this size will immediately graduate to independent chunks.: ドキュメント内で保持できるチャンクの最大合計サイズ。このサイズを超えたチャンクは即座に独立したチャンクに昇格します。
-This passphrase will not be copied to another device. It will be set to `Default` until you configure it again.: このパスフレーズは他のデバイスにコピーされません。再度設定するまで`Default`に設定されます。
-This will recreate chunks for all files. If there were missing chunks, this may fix the errors.: すべてのファイルについてチャンクを再作成します。欠損しているチャンクがあった場合、エラーが解消される可能性があります。
-Transfer Tweak: 転送の調整
+The minimum interval for automatic synchronisation on event.: イベント発生時の自動同期の最小間隔です。
+The Nostr relay servers to establish connections for P2P connections. Multiple servers can be separated by commas.: P2P 接続を確立するための Nostr リレーサーバー。複数のサーバーを指定する場合はカンマで区切ります。
+The Passphrase for P2P connection. This should be same among your devices.: P2P 接続用のパスフレーズ。所有するデバイス間で同じ値にする必要があります。
+The remote database is locked for synchronisation to prevent vault corruption because this device is not marked as 'resolved'. Please back up your vault, reset the local database, and select 'Mark this device as resolved'. This warning will persist until replication confirms the device is resolved.:
+ このデバイスが「解決済み」としてマークされていないため、Vault の破損を防ぐ目的でリモートデータベースの同期がロックされています。Vault
+ のバックアップを作成し、ローカルデータベースをリセットした上で、「このデバイスを解決済みとしてマーク」を選択してください。この警告は、レプリケーションによってデバイスの解決が確認されるまで表示され続けます。
+The remote is already set up, and the configuration is compatible (or got compatible by this operation).: リモートはすでに設定されており、設定に互換性があります(またはこの操作によって互換性が確保されました)。
+The Room ID for P2P connection. This should be same among your devices.: P2P 接続用のルーム ID。所有するデバイス間で同じ値にする必要があります。
+The Rotation duration of token in minutes. Each generated tokens will be valid only within this duration.: トークンのローテーション期間(分単位)。生成された各トークンはこの期間内でのみ有効です。
+The Setup-URI does not appear to be valid. Please check that you have copied it correctly.: Setup-URIが有効ではないようです。正しくコピーされているか確認してください。
+The Setup-URI is valid and ready to use.: Setup-URIは有効で使用可能です。
+the single, authoritative master copy: 唯一の正統なマスターコピー
+The subject for JWT authentication. Mostly username.: JWT 認証のサブジェクト。通常はユーザー名です。
+the synchronisation data on the server will be built based on the current data on this device.: サーバー上の同期データはこのデバイスの現在のデータに基づいて構築されます。
+The TURN servers to use for P2P connections. Multiple servers can be separated by commas.: P2P 接続に使用する TURN サーバー。複数のサーバーを指定する場合はカンマで区切ります。
+The username for the TURN servers.: TURN サーバーのユーザー名。
+Themes: テーマ
+There is a way to resolve this on other devices.: 他のデバイスでこれを解決する方法があります。
+There may be differences between the files in this Vault and the server.: このVault内のファイルとサーバー上のファイルとの間に差異がある可能性があります。
+Therefore, we ask that you exercise extreme caution when configuring server information manually. If an incorrect passphrase is entered, the data on the server will become corrupted.: サーバー情報を手動で設定する際は細心の注意を払ってください。同期が開始されるまでパスフレーズを検証できないため、誤ったパスフレーズを入力するとサーバー上のデータが破損するおそれがあります。
+This can isolate your connections between devices. Use the same Room ID for the same devices.: これによりデバイス間の接続を分離できます。同一のデバイス群には同じルームIDを使用してください。
+This device: このデバイス
+This device name: このデバイスの名前
+This feature enables direct synchronisation between devices. No server is required, but both devices must be online at the same time for synchronisation to occur, and some features may be limited. Internet connection is only required to signalling (detecting peers) and not for data transfer.:
+ この機能ではデバイス同士を直接同期できます。サーバーは不要ですが、同期を行うには両デバイスが同時にオンラインである必要があり、一部機能は制限されます。インターネット接続はシグナリング(ピア検出)にのみ必要で、データ転送自体には使われません。
+This first setup has several short steps because it confirms encryption, the connection method, and which device provides the initial data. Once it is complete, additional devices can reuse a Setup URI.:
+ 最初のセットアップは、暗号化、接続方法、およびどのデバイスが初期データを提供するかを確認するため、いくつかの短いステップで構成されています。完了すると、追加のデバイスでセットアップ URIを再利用できるようになります。
+This is an advanced option for users who do not have a URI or who wish to configure detailed settings.: URI を持っていない場合や、詳細設定を手動で行いたいユーザー向けの上級者オプションです。
+This is an extremely powerful operation. We strongly recommend that you copy your Vault folder to a safe location.: これは影響の非常に大きい操作です。Vaultフォルダーを安全な場所にコピーすることを強く推奨します。
+This is the most suitable synchronisation method for the design. All functions are available. You must have set up a CouchDB instance.: この設計に最も適した同期方式です。すべての機能が利用できます。CouchDB インスタンスを事前に構成しておく必要があります。
+This optional check uses Obsidian's internal request API and sends the credentials above to the CouchDB server. Use it only with a server you trust; administrator access may be required.:
+ このオプションのチェックはObsidianの内部Request
+ APIを使用し、上記の認証情報をCouchDBサーバーに送信します。信頼できるサーバーでのみ使用してください。管理者権限が必要になる場合があります。
+This passphrase will not be copied to another device. It will be set to `Default` until you configure it again.: このパスフレーズは他のデバイスにコピーされません。再度設定するまで `Default` のままになります。
+This password is used to encrypt the connection. Use something long enough.: このパスワードは接続の暗号化に使用されます。十分な長さのパスワードを使用してください。
+This procedure will first delete all existing synchronisation data from the server. Following this, the server data will be completely rebuilt, using the current state of your Vault on this device (including its local database) as:
+ "この手順では、まずサーバー上の既存の同期データをすべて削除します。その後、このデバイス上のVaultの現在の状態(ローカルデータベースを含む)を基に、サーバーデータを完全に再構築します。このVaultの位置づけ:"
+This setting must be the same even when connecting to multiple synchronisation destinations.: 複数の同期先に接続する場合でも、この設定は同一である必要があります。
+This Vault is empty, or contains only new files that are not on the server.: このVaultは空であるか、サーバー上に存在しない新しいファイルのみが含まれています。
+This will rebuild the local database on this device using the most recent data from the server. This action is designed to resolve synchronisation inconsistencies and restore correct functionality.:
+ これにより、サーバーの最新データを使用してこのデバイスのローカルデータベースが再構築されます。この操作は同期の不整合を解消し、正常な機能を復元することを目的としています。
+This will recreate chunks for all files. If there were missing chunks, this may fix the errors.: すべてのファイルのチャンクを再作成します。欠損しているチャンクがあった場合、エラーが解消される可能性があります。
+To minimise the creation of new conflicts: 新たな競合の発生を最小限に抑えるため
+To prevent unwanted vault corruption, the remote database has been locked for synchronisation. (This device is marked as 'resolved'.) When all your devices are marked as 'resolved', unlock the database. This warning will continue to appear until replication confirms the device is resolved.:
+ 意図しない Vault
+ の破損を防ぐため、リモートデータベースの同期がロックされています。(このデバイスは「解決済み」としてマークされています。)すべてのデバイスが「解決済み」になったら、データベースのロックを解除してください。この警告は、レプリケーションによってデバイスの解決が確認されるまで表示され続けます。
+Transfer Tweak: 転送の調整項目
+TURN Credential: TURN認証情報
+TURN server settings are only necessary if you are behind a strict NAT or firewall that prevents direct P2P connections. In most cases, you can leave these fields blank.:
+ TURNサーバー設定は、直接のP2P接続を妨げる厳格なNATやファイアウォールの内側にある場合にのみ必要です。ほとんどの場合、これらのフィールドは空白のままで問題ありません。
+TURN Server URLs (comma-separated): TURNサーバーURL(カンマ区切り)
+TURN Servers: TURN サーバー
+TURN Username: TURNユーザー名
TweakMismatchResolve:
Action:
+ DisableAutoAcceptCompatible: 自動受け入れを無効化
Dismiss: 無視
+ EnableAutoAcceptCompatible: 自動受け入れを有効化
UseConfigured: 設定済みの設定を使用
UseMine: リモートデータベースの設定を更新
UseMineAcceptIncompatible: リモートデータベースの設定を更新するがそのまま維持
UseMineWithRebuild: リモートデータベースの設定を更新して再構築
UseRemote: このデバイスに設定を適用
UseRemoteAcceptIncompatible: このデバイスに設定を適用し、非互換性を無視
- UseRemoteWithRebuild: このデバイスに設定を適用し、再フェッチ
+ UseRemoteWithRebuild: このデバイスに設定を適用し、再取得
Message:
+ AutoAcceptCompatibleUndefined: |-
+
+ デバイス間で設定が異なっています。互換性のある変更を自動的に適用できます。
+ この「自動受け入れ」設定を有効にしますか?
Main: |-
リモートデータベースの設定は以下の通りです。これらの値は、このデバイスと少なくとも1回同期された他のデバイスによって設定されています。
@@ -1101,37 +1644,35 @@ TweakMismatchResolve:
${additionalMessage}
MainTweakResolving: |-
- 設定がリモートサーバーの設定と一致しません。
-
- 以下の設定が一致している必要があります:
+ このデバイスの設定がリモートサーバーの設定と一致していません。以下の差異を確認し、解決方法を選択してください:
${table}
- 判断をお知らせください。
-
${additionalMessage}
+ mineUpdated: このデバイスの設定が調整されました。
+ remoteUpdated: リモートに保存された設定が更新されました。
UseRemote:
WarningRebuildRecommended: |-
>[!NOTICE]
- > 一部の変更は互換性がありますが、追加のストレージと転送量を消費する可能性があります。再構築をお勧めします。ただし、再構築は現時点では実行されない場合がありますが、将来のメンテナンスで実装される可能性があります。
- > ***適用には時間と安定したネットワーク接続が必要です!***
+ > 一部の互換性のある変更により、ストレージ消費量や転送データ量が増加する可能性があります。再構築が推奨されますが、現時点では実行できません。将来のアップデートで追加される可能性があります。
+ > ***これらの設定を適用する前に、十分な時間と安定したネットワーク接続を確保してください。***
WarningRebuildRequired: |-
>[!WARNING]
> 一部のリモート設定はこのデバイスのローカルデータベースと互換性がありません。ローカルデータベースの再構築が必要です。
- > ***適用には時間と安定したネットワーク接続が必要です!***
+ > ***これらの設定を適用する前に、十分な時間と安定したネットワーク接続を確保してください。***
WarningIncompatibleRebuildRecommended: |-
>[!NOTICE]
- > ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。
- > 一部の変更は互換性がありますが、追加のストレージと転送量を消費する可能性があります。再構築をお勧めします。ただし、再構築は現時点では実行されない場合がありますが、将来のメンテナンスで実装される可能性があります。
- > 再構築を行う場合は数分以上かかります。**今実行しても安全か確認してください。**
+ > ローカルデータベースとリモートデータベースに非互換性を生じさせる設定の差異が検出されました。
+ > 他の変更は互換性がありますが、ストレージ消費量や転送データ量が増加する可能性があります。再構築が推奨されますが、現時点では実行できません。将来のアップデートで追加される可能性があります。
+ > 再構築には数分以上かかる場合があります。**今すぐ実行しても安全であることを確認してください。**
WarningIncompatibleRebuildRequired: |-
>[!WARNING]
> ローカルデータベースとリモートデータベースの非互換性を引き起こす値の違いが検出されました。
- > ローカルまたはリモートの再構築が必要です。どちらも数分以上かかります。**今実行しても安全か確認してください。**
+ > ローカルまたはリモートの再構築が必要です。どちらも数分以上かかります。**今すぐ実行しても安全であることを確認してください。**
Table:
_value: |+
| 値の名前 | このデバイス | リモート |
@@ -1141,79 +1682,433 @@ TweakMismatchResolve:
Row: "| ${name} | ${self} | ${remote} |"
Title:
_value: 設定の不一致が検出されました
+ AutoAcceptCompatible: 自動受け入れが利用可能
TweakResolving: 設定の不一致が検出されました
UseRemoteConfig: リモート設定を使用
-Unique name between all synchronized devices. To edit this setting, please disable customization sync once.: 同期するすべての端末間で重複しない(一意の)名前。この設定を変更する場合、カスタマイズ同期を無効にしてください。
-Use a custom passphrase: カスタムパスフレーズを使う
+Ui:
+ Common:
+ LocalDatabaseInitialisationFailed: Self-hosted LiveSync は同期できません。レポートを生成して詳細ログを確認してください。
+ Signal:
+ Caution: 注意
+ Danger: 危険
+ Notice: お知らせ
+ Warning: 警告
+ SomeFilesCouldNotBeSynchronised: 一部のファイルを同期できませんでした。影響を受けたファイルを確認してください。レポートを生成して詳細ログを確認してください。
+ Settings:
+ Advanced:
+ LocalDatabaseTweak: ローカルデータベースの調整項目
+ MemoryCache: メモリキャッシュ
+ TransferTweak: 転送の調整項目
+ Common:
+ Analyse: 分析
+ Back: 戻る
+ Check: 確認
+ Configure: 設定
+ Continue: 続行
+ Delete: 削除
+ Fetch: 取得
+ Lock: ロック
+ Merge: マージ
+ Open: 開く
+ Overwrite: 上書き
+ Perform: 実行
+ ResetAll: すべてリセット
+ ResolveAll: すべて解決
+ Scan: スキャン
+ Send: 送信
+ Use: 使用
+ VerifyAll: すべて検証
+ CustomizationSync:
+ OpenDesc: ダイアログを開く
+ Panel: カスタマイズ同期
+ WarnChangeDeviceName: この機能が有効な間はデバイス名を変更できません。デバイス名を変更するには、まずこの機能を無効にしてください。
+ WarnSetDeviceName: このデバイスを識別するためのデバイス名を設定してください。この名前は所有するデバイス間で一意である必要があります。設定されていない場合、この機能を有効にできません。
+ Hatch:
+ AnalyseDatabaseUsage: データベース使用状況の分析
+ AnalyseDatabaseUsageDesc: データベースの使用状況を分析し、自己診断用のTSVレポートを生成します。生成されたレポートはお好みのスプレッドシートに貼り付けて確認できます。
+ BackToNonConfigured: 未設定の状態に戻す
+ ConvertNonObfuscated: パスが難読化されていないファイルの確認と変換
+ ConvertNonObfuscatedDesc: ローカルデータベース内でパスが難読化されずに保存されているファイルを確認し、必要に応じて変換します。
+ CopyIssueReport: レポートをクリップボードにコピー
+ DatabaseLabel: "データベース: ${details}"
+ DatabaseToStorage: データベース → ストレージ
+ DeleteCustomizationSyncData: すべてのカスタマイズ同期データを削除
+ GeneratedReport: 生成されたレポート
+ Missing: 欠落
+ ModifiedSize: "更新日時: ${modified}、サイズ: ${size}"
+ ModifiedSizeActual: "更新日時: ${modified}、サイズ: ${size}(実際のサイズ: ${actualSize})"
+ PrepareIssueReport: Issue 報告用レポートの準備
+ RecoveryAndRepair: リカバリと修復
+ RecreateAll: すべて再作成
+ RecreateMissingChunks: 全ファイルの欠落チャンクを再作成
+ RecreateMissingChunksDesc: すべてのファイルのチャンクを再作成します。欠落しているチャンクがあった場合、エラーが修復される可能性があります。
+ ResetPanel: リセット
+ ResetRemoteUsage: 通知の閾値をリセットしてリモートデータベースの使用状況を確認
+ ResetRemoteUsageDesc: リモートストレージ容量の閾値をリセットし、リモートストレージの容量を再確認します。
+ ResolveAllConflictedFiles: すべての競合ファイルを新しい方のバージョンで解決
+ ResolveAllConflictedFilesDesc: "すべての競合ファイルを新しい方のバージョンで解決します。警告:
+ 古い方のバージョンは上書きされ、復元できません。"
+ RunDoctor: 設定診断を実行
+ ScanBrokenFiles: 破損ファイルをスキャン
+ ScramSwitches: Scramスイッチ
+ ShowHistory: 履歴を表示
+ StorageLabel: "ストレージ: ${details}"
+ StorageToDatabase: ストレージ → データベース
+ VerifyAndRepairAllFiles: すべてのファイルを検証・修復
+ VerifyAndRepairAllFilesDesc: ローカルデータベースとストレージの間でファイルの内容を比較します。一致しない場合は、どちらを保持するか確認されます。
+ Maintenance:
+ Cleanup: クリーンアップを実行
+ CleanupDesc: 最新以外のリビジョンをすべて破棄してストレージ容量を削減します。これにはリモートサーバーとローカルクライアントの双方に同等の空き容量が必要です。
+ DeleteLocalDatabase: Self-hosted LiveSync のリセットまたはアンインストールのためにローカルデータベースを削除
+ EmergencyRestart: 緊急再起動
+ EmergencyRestartDesc: すべての同期を無効化して再起動します。
+ FreshStartWipe: 完全消去
+ FreshStartWipeDesc: リモートサーバー上のすべてのデータを削除します。
+ GarbageCollection: ガベージコレクション V3(ベータ)
+ GarbageCollectionAction: ガベージコレクションを実行
+ GarbageCollectionDesc: ガベージコレクションを実行して未使用のチャンクを削除し、データベースのサイズを削減します。
+ LockServer: サーバーをロック
+ LockServerDesc: リモートサーバーをロックして、他のデバイスとの同期を防止します。
+ OverwriteRemote: リモートを上書き
+ OverwriteRemoteDesc: ローカルデータベースとパスフレーズを使用してリモートを上書きします。
+ OverwriteServerData: このデバイスのファイルでサーバーデータを上書き
+ OverwriteServerDataDesc: このデバイスのファイルを使ってローカルおよびリモートのデータベースを再構築します。
+ PurgeAllJournalCounter: すべてのジャーナルカウンターをパージ
+ PurgeAllJournalCounterDesc: すべてのダウンロードおよびアップロードキャッシュをパージします。
+ RebuildingOperations: 再構築操作(リモートのみ)
+ Resend: 再送信
+ ResendDesc: すべてのチャンクをリモートに再送信します。
+ Reset: リセット
+ ResetAllJournalCounter: すべてのジャーナルカウンターをリセット
+ ResetAllJournalCounterDesc: すべてのジャーナル履歴を初期化します。次回の同期時に、すべての項目が再受信・再送信されます。
+ ResetJournalReceived: ジャーナル受信履歴をリセット
+ ResetJournalReceivedDesc: ジャーナル受信履歴を初期化します。次回の同期時に、このデバイスから送信されたものを除くすべての項目が再ダウンロードされます。
+ ResetJournalSent: ジャーナル送信履歴をリセット
+ ResetJournalSentDesc: ジャーナル送信履歴を初期化します。次回の同期時に、このデバイスで受信されたものを除くすべての項目が再送信されます。
+ ResetLocalSyncInfo: 同期情報をリセット
+ ResetLocalSyncInfoDesc: リモートからローカルデータベースを復元または再構築します。
+ ResetReceived: 受信履歴をリセット
+ ResetSentHistory: 送信履歴をリセット
+ ResetThisDevice: このデバイスの同期をリセット
+ ScheduleAndRestart: スケジュールして再起動
+ Scram: Scram!
+ SendChunks: チャンクを送信
+ Syncing: 同期中
+ WriteRedFlagAndRestart: フラグを設定して再起動
+ Patches:
+ CompatibilityConflict: 互換性(競合時の動作)
+ CompatibilityDatabase: 互換性(データベース構造)
+ CompatibilityInternalApi: 互換性(内部APIの使用)
+ CompatibilityMetadata: 互換性(メタデータ)
+ CompatibilityRemote: 互換性(リモートデータベース)
+ CompatibilityTrouble: 互換性(対処済みの問題)
+ CurrentAdapter: "現在のアダプター: ${adapter}"
+ DatabaseAdapter: データベースアダプター
+ DatabaseAdapterDesc: 使用するデータベースアダプターを選択します。
+ EdgeCaseBehaviour: エッジケースへの対処(動作)
+ EdgeCaseDatabase: エッジケースへの対処(データベース)
+ EdgeCaseProcessing: エッジケースへの対処(処理)
+ IndexedDbWarning: IndexedDB アダプターは特定のシナリオにおいて優れたパフォーマンスを発揮することがありますが、LiveSync モードと併用するとメモリリークを引き起こすことが確認されています。LiveSync モードを使用する場合は、代わりに IDB アダプターを使用してください。
+ MigratingToIdb: すべてのデータをIDBに移行中...
+ MigratingToIndexedDb: すべてのデータをIndexedDBに移行中...
+ MigrationIdbCompleted: IDBへの移行が完了しました。Obsidianは新しい設定ですぐに再起動されます。
+ MigrationIdbCompletedFollowUp: IDBへの移行が完了しました。アダプターを切り替えてObsidianを再起動してください。
+ MigrationIndexedDbCompleted: IndexedDBへの移行が完了しました。Obsidianは新しい設定ですぐに再起動されます。
+ MigrationIndexedDbCompletedFollowUp: IndexedDBへの移行が完了しました。アダプターを切り替えてObsidianを再起動してください。
+ MigrationWarning: この設定を変更すると、既存データの移行(時間がかかる場合があります)とObsidianの再起動が必要になります。続行する前に必ずデータのバックアップを取ってください。
+ OperationToIdb: IDBへ
+ OperationToIndexedDb: IndexedDBへ
+ Remediation: 是正
+ RemediationChanged: 是正設定が変更されました
+ RemediationNoLimit: 制限が設定されていません
+ RemediationRestarting: 是正設定が変更されました。Obsidianを再起動しています...
+ RemediationRestartLater: 後で
+ RemediationRestartMessage: Obsidianの再起動を強く推奨します。再起動するまで一部の変更が有効にならず、表示に不整合が生じる可能性があります。今すぐ再起動しますか?
+ RemediationRestartNow: 今すぐ再起動
+ RemediationSuffixChanged: サフィックスが変更されました。データベースを再度開いています...
+ RemediationWithValue: "制限: ${date} (${timestamp})"
+ RemoteDatabaseSunset: リモートデータベース調整(廃止予定)
+ SwitchToIDB: IDBに切り替え
+ SwitchToIndexedDb: IndexedDBに切り替え
+ PowerUsers:
+ ConfigurationEncryption: 設定の暗号化
+ ConnectionTweak: CouchDB 接続の調整項目
+ ConnectionTweakDesc: IBM Cloudantの使用時にペイロードサイズ制限に達した場合は、バッチサイズとバッチ上限の値を小さくしてください。
+ Default: デフォルト
+ Developer: 開発者向け
+ EncryptSensitiveConfig: 機密性の高い設定項目を暗号化
+ PromptPassphraseEveryLaunch: 起動するたびにパスフレーズを要求する
+ UseCustomPassphrase: カスタムパスフレーズを使用する
+ Remote:
+ Activate: 有効化
+ ActiveSuffix: "(アクティブ)"
+ AddConnection: 新規接続を追加
+ AddRemoteDefaultName: 新規リモート
+ ConfigureAndChangeRemote: リモートを設定して切り替える
+ ConfigureE2EE: E2EEを設定
+ ConfigureRemote: リモートを設定
+ DeleteRemoteConfirm: リモート設定「${name}」を削除しますか?
+ DeleteRemoteTitle: リモート設定の削除
+ DisplayName: 表示名
+ DuplicateRemote: リモートを複製
+ DuplicateRemoteSuffix: ${name}(コピー)
+ E2EEConfiguration: E2EE設定
+ Export: エクスポート
+ FetchRemoteSettings: リモート設定を取得
+ ImportConnection: 接続をインポート
+ ImportConnectionPrompt: 接続文字列を貼り付けてください
+ ImportedCouchDb: インポートされたCouchDB
+ ImportedRemote: リモート
+ MoreActions: その他の操作
+ PeerToPeerPanel: ピアツーピア同期
+ RemoteConfigurationPrefix: リモート設定
+ RemoteDatabases: リモートデータベース
+ RemoteName: リモート名
+ RemoteNameCouchDb: CouchDB ${host}
+ RemoteNameP2P: P2P ${room}
+ RemoteNameS3: S3 ${bucket}
+ Rename: 名前を変更
+ Selector:
+ AddDefaultPatterns: デフォルトのパターンを追加
+ CrossPlatform: クロスプラットフォーム
+ Default: デフォルト
+ HiddenFiles: 非表示ファイル
+ IgnorePatterns: 除外パターン
+ NonSynchronisingFiles: 同期対象外ファイル
+ NonSynchronisingFilesDesc: (正規表現)これを設定すると、一致するローカルおよびリモートのファイルの変更は同期からスキップされます。
+ NormalFiles: 通常ファイル
+ OverwritePatterns: 上書きパターン
+ OverwritePatternsDesc: マージせずに上書きする対象ファイルのパターン
+ SynchronisingFiles: 同期対象ファイル
+ SynchronisingFilesDesc: (正規表現)空欄の場合はすべてのファイルを同期します。同期対象を制限したい場合は正規表現フィルターを設定してください。
+ TargetPatterns: 対象パターン
+ TargetPatternsDesc: 同期対象とするファイルのパターン
+ Setup:
+ RerunWizardButton: ウィザードを再実行
+ RerunWizardDesc: オンボーディングウィザードを再実行して、Self-hosted LiveSync を再設定します。
+ RerunWizardName: オンボーディングウィザードの再実行
+ SyncSettings:
+ Fetch: 取得
+ Merge: マージ
+ Overwrite: 上書き
+ SetupWizard:
+ ApplySettingsInitialisation:
+ ApplyWithoutInitialisation: 初期化せずに適用
+ Back: これらの設定を適用する別の方法を確認
+ BypassGuidance: これらの設定のみを適用すると、このデバイスが既存の同期データと互換性を失う可能性があります。再構築が不要であることを確認している場合にのみ使用してください。
+ BypassTitle: 初期化せずに設定を適用しますか?
+ ContinueFetch: 取得を続行
+ FetchOption: このデバイスの同期をリセット
+ FetchOptionDesc: 再起動後、現在のリモート同期データからこのデバイスのローカルデータベースを再構築します。その後、Vault内のファイルがそのデータと照合・調整されます。
+ FetchOptionP2PDesc: 再起動後、オンラインのソースデバイスを選択してください。そのソースからこのデバイスのローカルLiveSyncデータベースが再構築されます。
+ Guidance: これらの設定変更により同期データの解釈方法が変わります。再起動後に初期化操作と合わせて適用してください。
+ KeepEditing: 編集を続ける
+ ProceedFetch: 再起動して同期データを取得
+ ProceedFetchP2P: 再起動してソースデバイスを選択
+ ProceedRebuild: 再起動してサーバーデータを上書き
+ ProceedRebuildP2P: 再起動してこのデバイスを準備
+ Question: 再起動後、どちらの既存データを使用しますか?
+ RebuildOption: このデバイスのファイルでサーバーデータを上書き
+ RebuildOptionDesc: 現在このVault内にあるファイルからローカルおよびリモートのデータベースを再構築します。他の同期デバイスはその後、ローカル同期をリセットする必要があります。
+ RebuildOptionP2P: この Vault の内容でこのデバイスを準備
+ RebuildOptionP2PDesc: 現在このVault内にあるファイルからこのデバイスのローカルLiveSyncデータベースを再構築します。他のデバイスが上書きされることはありません。
+ RemoteVerificationGuidance: 現在の認証情報および暗号化設定では、設定されたリモートを検証できませんでした。このまま続行すると再起動後の取得に失敗する可能性があります。
+ RemoteVerificationTitle: リモート同期データを検証できませんでした
+ Title: 設定を適用して同期を再初期化
+ Common:
+ Back: いいえ、戻ります
+ Cancel: キャンセル
+ ProceedSelectOption: 続行するにはオプションを選択してください
+ Intro:
+ ExistingOption: 既存の同期設定にこのデバイスを追加する
+ ExistingOptionDesc: すでに他のPCやスマートフォンで同期を使用している場合はこちらを選択してください。このデバイスを既存の設定に接続します。
+ Guidance: 同期の設定を簡単に行えるよう、いくつかの質問をご案内します。
+ NewOption: 初めて同期を設定する
+ NewOptionDesc: このデバイスを最初の同期デバイスとして設定する場合はこちらを選択してください。
+ ProceedExisting: はい、既存の同期にこのデバイスを追加します
+ ProceedNew: はい、新しく同期を設定します
+ Question: まず、現在の状況に最も当てはまる項目を選択してください。
+ Title: Self-hosted LiveSync へようこそ
+ Invitation:
+ Start: セットアップを開始
+ OutroAskUserMode:
+ CompatibleOption: リモートはすでにセットアップ済みであり、設定の互換性がある(またはこの操作によって互換性が確保された)。
+ CompatibleOptionDesc: 確信がない限り、このオプションの選択にはリスクが伴います。サーバー設定がこのデバイスと互換性があることを前提としており、そうでない場合はデータ損失が発生する可能性があります。影響を十分理解した上で選択してください。
+ ExistingOption: リモートサーバーはすでにセットアップ済みです。このデバイスを参加させたい。
+ ExistingOptionDesc: このオプションを選択すると、このデバイスが既存のサーバーに参加します。サーバー上の既存の同期データをこのデバイスに取得(Fetch)する必要があります。
+ Guidance: サーバーへの接続設定が完了しました。次のステップとして、ローカルデータベース(同期情報)を再構築(Rebuild)する必要があります。
+ NewOption: 新しいサーバーを初めてセットアップする / 既存のサーバーをリセットしたい。
+ NewOptionDesc: このオプションを選択すると、このデバイス上の現在のデータを使用してサーバーを初期化します。サーバー上の既存のデータはすべて完全に上書きされます。
+ ProceedApplySettings: 設定を適用
+ ProceedNext: 次のステップへ進む
+ Question: 現在の状況を選択してください。
+ Title: "ほぼ完了: 選択が必要です"
+ OutroNewP2PUser:
+ GuidanceNotice: P2P には上書き対象となる中央サーバーのコピーがありません。このステップではこのデバイスのみを準備します。他のデバイスが初期データを取得(Fetch)する際は、このデバイスをオンラインのままにしておいてください。
+ GuidancePrimary: ピアツーピア(P2P)接続の設定が完了しました。次に、この Vault 内の現在のファイルからローカル LiveSync
+ データベースを作成します。
+ Important: 注意
+ Proceed: 再起動してこのデバイスを準備
+ Question: 下のボタンを選択して再起動し、ローカル初期化の確認に進んでください。
+ Title: "セットアップ完了: この P2P デバイスの準備"
+ OutroNewUser:
+ GuidancePrimary: サーバーへの接続設定が完了しました。次のステップとして、このデバイスの現在のデータからサーバー上の同期データを作成します。
+ GuidanceWarning: 再起動後、このデバイス上のデータがマスターコピーとしてサーバーにアップロードされます。現在サーバー上にある意図しないデータは完全に上書きされますのでご注意ください。
+ Important: 重要
+ Proceed: 再起動してサーバーを初期化
+ Question: 下のボタンを選択して再起動し、最終確認に進んでください。
+ Title: "セットアップ完了: サーバー初期化の準備"
+ RebuildEverythingP2P:
+ ConfirmLocalReset: この操作により、このデバイスのローカル同期データベースのみがリセットされることを理解しました。
+ ConfirmLocalResetNote: 現在この Vault 内にあるファイルを使用して再構築されます。
+ ConfirmTitle: ⚠️ 以下の内容をご確認ください
+ Guidance: この手順により、このデバイス上のローカル LiveSync データベースが破棄され、この Vault
+ 内の現在のファイルから再構築されます。他のデバイス上のデータが削除または上書きされることはありません。
+ Note: 他のデバイスがこのデバイスから Vault を取得(Fetch)できるよう、初期化後もこのデバイスをオンラインのままにしておいてください。
+ Proceed: 理解した上でこのデバイスを準備する
+ Title: "最終確認: P2P 用にこのデバイスを準備"
+ SelectExisting:
+ Guidance: このデバイスを既存の同期設定に追加します。
+ ManualOption: リモートを手動で設定
+ ManualOptionDesc: 他のデバイスと同じリモート設定を手動で再度行います。これは上級者向けのオプションです。
+ ProceedManual: 手動設定で続行
+ ProceedQr: 稼働中のデバイスに表示された QR コードを、このデバイスのカメラで読み取ってください。
+ ProceedSetupUri: セットアップ URIで続行
+ QrOption: QR コードをスキャン(モバイル推奨)
+ QrOptionDesc: 稼働中のデバイスに表示された QR コードを、このデバイスのカメラで読み取ってください。
+ Question: 他のデバイスから設定をインポートする方法を選択してください。
+ SetupUriOption: セットアップ URIを使用(推奨)
+ SetupUriOptionDesc: 稼働中のデバイスで生成されたセットアップ URIを貼り付けます。
+ Title: デバイスの設定方法
+ SelectNew:
+ Guidance: これから同期接続の設定を行います。
+ ManualOption: リモートを手動で設定
+ ManualOptionDesc: セットアップ URIをお持ちでない場合や、詳細な設定を行いたい上級者向けのオプションです。CouchDB や
+ S3 互換オブジェクトストレージの代わりに P2P 同期を使用する場合にも利用できます。
+ ProceedManual: 手動設定で続行
+ ProceedSetupUri: セットアップ URIで続行
+ Question: この同期接続をどのように設定しますか?
+ SetupUriOption: セットアップ URIを使用(推奨)
+ SetupUriOptionDesc: セットアップ URIは接続情報と認証情報を含む1つの文字列です。セットアップスクリプトなどで生成されている場合は、簡単かつ安全に設定できます。
+ Title: 接続方法
+ SetupRemote:
+ BucketOption: S3 互換オブジェクトストレージ
+ BucketOptionDesc: ジャーナルファイルを使用した同期。Amazon S3、MinIO、Cloudflare R2 などの S3
+ 互換オブジェクトストレージサービスがあらかじめセットアップされている必要があります。
+ CouchDbOptionDesc: 現在の設計において最も適した同期方法です。すべての機能が利用可能です。あらかじめ CouchDB
+ インスタンスがセットアップされている必要があります。
+ Guidance: この同期設定で使用するリモートの種類を選択してください。
+ P2POption: ピアツーピア(P2P)
+ P2POptionDesc: デバイス間で直接同期を行います。サーバーは不要ですが、両方のデバイスが同時にオンラインである必要があり、一部の機能が制限される場合があります。インターネット接続はシグナリングにのみ必要で、データ転送には使用されません。
+ ProceedBucket: オブジェクトストレージの設定へ進む
+ ProceedCouchDb: CouchDB の設定へ進む
+ ProceedP2P: P2P の設定へ進む
+ Title: 同期先の選択
+Unicode NFC path identity: Unicode NFC パス識別
+Unique name between all synchronized devices. To edit this setting, please disable customization sync once.: 同期するすべてのデバイス間で重複しない(一意の)名前。この設定を変更する場合、カスタマイズ同期を無効にしてください。
+Unless you are certain, selecting this options is bit dangerous. It assumes that the server configuration is compatible with this device. If this is not the case, data loss may occur. Please ensure you know what you are doing.:
+ 確信がない限り、このオプションの選択は危険を伴います。サーバーの設定がこのデバイスと互換性があることを前提としています。互換性がない場合、データが失われる可能性があります。操作内容を十分に理解した上で実行してください。
+Updating list...: リストを更新中...
+URL: URL
+Use a custom passphrase: カスタムパスフレーズを使用
+Use a Setup URI (Recommended): セットアップ URIを使う(推奨)
Use Custom HTTP Handler: カスタムHTTPハンドラーの利用
+Use Diagnostic RTCPeerConnection for statistics: 統計情報の収集に診断用RTCPeerConnectionを使用する
Use dynamic iteration count: 動的な繰り返し回数
+Use internal API: 内部APIを使用
+Use Internal API: 内部APIを使用
+Use JWT Authentication: JWT認証を使用
+Use JWT instead of Basic Authentication: Basic 認証の代わりに JWT を使用
+Use Only Local Chunks: ローカルチャンクのみを使用
+Use Path-Style Access: パススタイルアクセスを使用
+Use Random Number: 乱数を使用
+Use Request API to avoid `inevitable` CORS problem: Request API を使用して避けられない CORS 問題を回避
Use Segmented-splitter: セグメント分割を使用
Use splitting-limit-capped chunk splitter: 分割制限付きチャンク分割を使用
+Use the detailed flow: 詳細フローを使用
Use the trash bin: ゴミ箱を使用
Use timeouts instead of heartbeats: ハートビートの代わりにタイムアウトを使用
+Use vrtmrz's relay: vrtmrzのリレーを使用
username: ユーザー名
Username: ユーザー名
-Verbose Log: エラー以外のログ項目
+Verbose Log: 詳細ログ
Verify all: すべて検証
Verify and repair all files: すべてのファイルを検証して修復
Warning! This will have a serious impact on performance. And the logs will not be synchronised under the default name. Please be careful with logs; they often contain your confidential information.: 警告!これはパフォーマンスに重大な影響を与えます。また、ログはデフォルト名では同期されません。ログには機密情報が含まれることが多いため、注意してください。
+WATCHING: 監視中
+We can not use "/" to the device name: デバイス名に「/」は使用できません
+We can use only Secure (HTTPS) connections on Obsidian Mobile.: Obsidianモバイル版ではセキュア接続(HTTPS)のみ使用可能です。
We cannot change the device name while this feature is enabled. Please disable this feature to change the device name.: この機能が有効な間はデバイス名を変更できません。変更するにはこの機能を無効にしてください。
+We have to configure the device name: デバイス名を設定する必要があります
+We recommend that you copy your Vault folder to a safe location. This will provide a safeguard in case a large number of conflicts arise, or if you accidentally synchronise with an incorrect destination.: Vaultフォルダーを安全な場所にコピーすることをおすすめします。これにより、大量の競合が発生した場合や誤った同期先に同期してしまった場合の備えになります。
+We will now guide you through a few questions to simplify the synchronisation setup.: これからいくつかの質問に沿って、同期設定を簡単に進めます。
+We will now proceed with the server configuration.: 次にサーバー設定を進めます。
+Welcome to Self-hosted LiveSync: Self-hosted LiveSync へようこそ
When you save a file in the editor, start a sync automatically: エディタでファイルを保存すると、自動的に同期を開始します
+While enabled, it causes very performance impact but debugging replication testing and other features will be enabled. Please disable this if you have not read the source code. Requires restart of Obsidian. Sometimes there is no implementation.:
+ 有効にするとパフォーマンスが大幅に低下しますが、デバッグ用のレプリケーションテストなどを実行できます。ソースコードを確認していない場合は無効にしてください。変更を反映するには Obsidian の再起動が必要です。機能が未実装の場合もあります。
Write credentials in the file: 認証情報のファイル内保存
Write logs into the file: ファイルにログを記録
-xxhash32 (Fast but less collision resistance): xxhash32 (高速ですが衝突耐性は低め)
-xxhash64 (Fastest): xxhash64 (最速)
-Reduces storage space by discarding all non-latest revisions. This requires the same amount of free space on the remote server and the local client.:
- 最新版以外のすべてのリビジョンを破棄して、使用容量を削減します。実行には、リモートサーバーとローカルクライアントの両方に同程度の空き容量が必要です。
-Rerun Onboarding Wizard: オンボーディングウィザードを再実行
-Rerun the onboarding wizard to set up Self-hosted LiveSync again.: オンボーディングウィザードを再実行して、Self-hosted LiveSync をもう一度設定します。
-Rerun Wizard: ウィザードを再実行
-Run Doctor: 診断を実行
-Scan for Broken files: 破損ファイルをスキャン
-Prepare the 'report' to create an issue: Issue 作成用の「レポート」を準備
-Copy Report to clipboard: レポートをクリップボードにコピー
-Analyse database usage: データベース使用状況を分析
-Analyse database usage and generate a TSV report for diagnosis yourself. You can paste the generated report with any spreadsheet you like.:
- データベース使用状況を分析し、自分で診断できるよう TSV レポートを生成します。生成したレポートは任意のスプレッドシートに貼り付けて確認できます。
-Reset notification threshold and check the remote database usage: 通知しきい値をリセットしてリモートデータベース使用量を確認
-Reset the remote storage size threshold and check the remote storage size again.: リモートストレージ容量のしきい値をリセットし、リモートストレージ容量を再確認します。
-Scram Switches: 緊急対応スイッチ
-Minimum interval for syncing: 同期間隔の最小値
-The minimum interval for automatic synchronisation on event.: イベント発生時の自動同期における最小間隔です。
-"Welcome to Self-hosted LiveSync": "Self-hosted LiveSync へようこそ"
-"We will now guide you through a few questions to simplify the synchronisation setup.": "これからいくつかの質問に沿って、同期設定を簡単に進めます。"
-"First, please select the option that best describes your current situation.": "まず、現在の状況に最も近い項目を選択してください。"
-"I am setting this up for the first time": "はじめて設定します"
-"(Select this if you are configuring this device as the first synchronisation device.) This option is suitable if you are new to LiveSync and want to set it up from scratch.": "(この端末を最初の同期端末として設定する場合に選択してください。)LiveSync を初めて利用し、最初から設定したい場合に適しています。"
-"I am adding a device to an existing synchronisation setup": "既存の同期構成に端末を追加します"
-"(Select this if another device is already using LiveSync.) This option adds this device to that existing synchronisation setup.": "(別の PC やスマートフォンですでに同期を利用している場合に選択してください。)この端末を既存の LiveSync 構成に追加する場合に適しています。"
-"Yes, I want to set up a new synchronisation": "はい、新しい同期を設定します"
-"Yes, I want to add this device to my existing synchronisation": "はい、この端末を既存の同期に追加します"
-"No, please take me back": "いいえ、前に戻ります"
-"Device Setup Method": "端末の設定方法"
-"You are adding this device to an existing synchronisation setup.": "この端末を既存の同期構成に追加しようとしています。"
-"Please select a method to import the settings from another device.": "別の端末から設定を取り込む方法を選択してください。"
-"Use a Setup URI (Recommended)": "Setup URI を使う(推奨)"
-"Paste the Setup URI generated from one of your active devices.": "稼働中の端末で生成した Setup URI を貼り付けてください。"
-"Scan a QR Code (Recommended for mobile)": "QR コードをスキャンする(モバイル推奨)"
-"Scan the QR code displayed on an active device using this device's camera.": "稼働中の端末に表示された QR コードを、この端末のカメラで読み取ってください。"
-"Enter the server information manually": "サーバー情報を手動で入力する"
-"Configure the same server information as your other devices again, manually, very advanced users only.": "他の端末と同じサーバー情報を手動で再入力します。上級者向けの方法です。"
-"Proceed with Setup URI": "Setup URI で続行"
-"I know my server details, let me enter them": "サーバー情報を把握しているので、自分で入力します"
-"Please select an option to proceed": "続行するには項目を選択してください"
-"Connection Method": "接続方法"
-"We will now proceed with the server configuration.": "次にサーバー設定を進めます。"
-"How would you like to configure the connection to your server?": "サーバー接続をどのように設定しますか?"
-"A Setup URI is a single string of text containing your server address and authentication details. Using a URI, if one was generated by your server installation script, provides a simple and secure configuration.": "Setup URI は、サーバーアドレスと認証情報を含む 1 本の文字列です。サーバーのインストールスクリプトで生成された URI がある場合は、それを使うと簡単かつ安全に設定できます。"
-"This is an advanced option for users who do not have a URI or who wish to configure detailed settings.": "URI を持っていない場合や、詳細設定を手動で行いたいユーザー向けの上級者オプションです。"
-"Enter Server Information": "サーバー情報の入力"
-"Please select the type of server to which you are connecting.": "接続するサーバーの種類を選択してください。"
-"Continue to CouchDB setup": "CouchDB 設定へ進む"
-"Continue to S3/MinIO/R2 setup": "S3/MinIO/R2 設定へ進む"
-"Continue to Peer-to-Peer only setup": "Peer-to-Peer 専用設定へ進む"
-"This is the most suitable synchronisation method for the design. All functions are available. You must have set up a CouchDB instance.": "この設計に最も適した同期方式です。すべての機能が利用できます。CouchDB インスタンスを事前に構成しておく必要があります。"
-"S3/MinIO/R2 Object Storage": "S3/MinIO/R2 オブジェクトストレージ"
-"Synchronisation utilising journal files. You must have set up an S3/MinIO/R2 compatible object storage.": "ジャーナルファイルを利用する同期方式です。S3/MinIO/R2 互換のオブジェクトストレージを事前に構成しておく必要があります。"
-"Peer-to-Peer only": "Peer-to-Peer のみ"
-"This feature enables direct synchronisation between devices. No server is required, but both devices must be online at the same time for synchronisation to occur, and some features may be limited. Internet connection is only required to signalling (detecting peers) and not for data transfer.": "この機能では端末同士を直接同期できます。サーバーは不要ですが、同期を行うには両端末が同時にオンラインである必要があり、一部機能は制限されます。インターネット接続はシグナリング(ピア検出)にのみ必要で、データ転送自体には使われません。"
+xxhash32 (Fast but less collision resistance): xxhash32(高速ですが衝突耐性は低め)
+xxhash64 (Fastest): xxhash64(最速)
+xxhash64 is the current default.: 現在のデフォルトは xxhash64 です。
+Yes, I want to add this device to my existing synchronisation: はい、このデバイスを既存の同期に追加します
+Yes, I want to set up a new synchronisation: はい、新しい同期を設定します
+You are adding this device to an existing synchronisation setup.: このデバイスを既存の同期構成に追加しようとしています。
+You can configure in the Obsidian Plugin Settings.: Obsidian のプラグイン設定で設定できます。
+You can enable this setting to process the files with size mismatches, these files can be created by some APIs or integrations.: この設定を有効にすると、一部の API や連携機能によって生成される可能性のある、サイズ不一致のあるファイルを処理できます。
+You should create a new synchronisation destination and rebuild your data there.: 新しい同期先を作成し、そこでデータを再構築(Rebuild)してください。
+You should perform this operation only in exceptional circumstances, such as when the server data is completely corrupted, when changes on all other devices are no longer needed, or when the database size has become unusually large in comparison to the Vault size.:
+ この操作は、サーバーデータが完全に破損した場合、他のすべてのデバイスの変更が不要になった場合、あるいは Vault
+ のサイズに比べてデータベースサイズが異常に肥大化した場合など、例外的な状況でのみ実行してください。
+you wanted(Thank you)!: ご要望
+"How should files that were deleted on other devices be handled?\n\n- **${NEWER_CLEANUP}**: Delete local files if they were deleted on remote.\n This keeps your Vaults consistent. Back up any important local data first.\n- **${NEWER_SYNC_ALL}**: Recreate remote files even if they were deleted on remote.\n This keeps all local files, but may create duplicates when a file exists locally but not remotely. Remove any duplicates manually after synchronisation.": >-
+ 他のデバイスで削除されたファイルを、このデバイスでどのように扱いますか?
+
+ - **${NEWER_CLEANUP}**: リモートでも削除されたファイルを、このデバイスからも削除します。
+ これにより、各 Vault の内容を揃えられます。重要なローカルデータがある場合は、事前にバックアップしてください。
+ - **${NEWER_SYNC_ALL}**: リモートで削除されたファイルを、ローカルのコピーから復元します。
+ ローカルのファイルを残せますが、ローカルにだけ存在するファイルが重複する場合があります。同期後に重複を手動で整理してください。
+"Since you have chosen to overwrite all local files with remote data, **how would you like to handle local files that are not present in the remote database?**\n\n- **${DELETE_ALL}**: Local-only files and remote-deleted files will be removed.\n This makes your local Vault match the remote database. Back up any important local data first.\n- **${DELETE_NONE}**: All existing local files will be preserved.\n This keeps all local files, but may leave duplicates of files that exist only on this device. Remove any duplicates manually after synchronisation.": >-
+ リモートのデータですべてのローカルファイルを上書きすることを選択しました。**リモートデータベースにないローカルファイルをどのように扱いますか?**
+
+ - **${DELETE_ALL}**: ローカルにだけあるファイルと、リモートで削除されたファイルを削除します。
+ ローカル Vault をリモートデータベースと同じ状態にします。重要なデータがある場合は、事前にバックアップしてください。
+ - **${DELETE_NONE}**: 既存のローカルファイルをすべて保持します。
+ すべてのローカルファイルを残せますが、このデバイスにだけあるファイルが重複する場合があります。同期後に重複を手動で整理してください。
+"We are about to retrieve the remote data.\n\nFirstly, how shall we handle the data retrieved from this remote source?\n\n- **${NEWER_WINS}**: Keep the version with the latest modification time.\n This may suit you if you already use Self-hosted LiveSync and have made changes on multiple devices. It attempts to merge changes based on modification times.\n- **${REMOTE_WINS}**: Treat the remote data as the source of truth.\n This may be easiest if you are new to Self-hosted LiveSync. It overwrites all local files with remote data, so back up any important local data first.\n- **${DETAILED}**: Open the detailed setup wizard.\n Choose this option to review changes before applying them or to have more control over synchronisation.": >-
+ リモートサーバーからデータを取得します。
+
+ 取得するデータをどのように扱いますか?
+
+ - **${NEWER_WINS}**: 更新日時が新しい方のバージョンを採用します。
+ 複数のデバイスでファイルを変更している場合に適しています。LiveSync は更新日時に基づいて採用するバージョンを決めます。
+ - **${REMOTE_WINS}**: リモートデータを正として扱います。
+ Self-hosted LiveSync を初めて使う場合は、この方法が分かりやすいでしょう。ローカルファイルはすべてリモートデータで上書きされるため、重要なデータがある場合は事前にバックアップしてください。
+ - **${DETAILED}**: 詳細セットアップウィザードを開きます。
+ 変更を適用する前に確認したい場合や、同期を細かく制御したい場合に選択してください。
+
+"How should files that were deleted on other devices be handled?\n\n- **${NEWER_CLEANUP}**: Delete local files if they were deleted on remote.\n This is useful if you want to keep your vault clean and consistent across devices, but please make sure you have a backup if there is already any important data in your vault.\n- **${NEWER_SYNC_ALL}**: Recreate remote files even if they were deleted on remote.\n This option will keep all your local files, but it may cause duplicates if there are files that exist on local but not on remote. You can clean up these duplicates manually after the synchronisation.": >-
+ 他のデバイスで削除されたファイルを、このデバイスでどのように扱いますか?
+
+ - **${NEWER_CLEANUP}**: リモートでも削除されたファイルを、このデバイスからも削除します。
+ これにより、各 Vault の内容を揃えられます。重要なローカルデータがある場合は、事前にバックアップしてください。
+ - **${NEWER_SYNC_ALL}**: リモートで削除されたファイルを、ローカルのコピーから復元します。
+ ローカルのファイルを残せますが、ローカルにだけ存在するファイルが重複する場合があります。同期後に重複を手動で整理してください。
+"Since you have chosen to overwrite all local files with remote data, **how would you like to handle local files that are not present in the remote database?**\n\n- **${DELETE_ALL}**: Local-only files and remote-deleted files will be removed.\n This option will make your local vault exactly the same as the remote database, but please make sure you have a backup if there is any important data in your vault.\n- **${DELETE_NONE}**: All existing local files will be preserved.\n This option will keep all your local files, but it may cause duplicates if there are files that exist on local but not on remote. You can clean up these duplicates manually after the synchronisation.": >-
+ リモートのデータですべてのローカルファイルを上書きすることを選択しました。**リモートデータベースにないローカルファイルをどのように扱いますか?**
+
+ - **${DELETE_ALL}**: ローカルにだけあるファイルと、リモートで削除されたファイルを削除します。
+ ローカル Vault をリモートデータベースと同じ状態にします。重要なデータがある場合は、事前にバックアップしてください。
+ - **${DELETE_NONE}**: 既存のローカルファイルをすべて保持します。
+ すべてのローカルファイルを残せますが、このデバイスにだけあるファイルが重複する場合があります。同期後に重複を手動で整理してください。
+"We are about to retrieve the remote data.\n\nFirstly, how shall we handle the data retrieved from this remote source?\n\n- **${NEWER_WINS}**: Compares the modified time of files and takes the newer one.\n If you have been using Self-hosted LiveSync and have made changes on multiple devices, this option may be suitable for you as it tries to merge changes based on modified time.\n- **${REMOTE_WINS}**: Remote data is the source of truth.\n If you are new to using Self-hosted LiveSync. This option may be easiest to understand and get started with.\n It will overwrite all your local files with the remote data, so please make sure you have a backup if there is any important data in your vault.\n- **${DETAILED}**: Opens the detailed setup wizard.\n If you want to have more control over the synchronisation process, or want to review the changes before applying, you can choose this option to use the detailed flow.": >-
+ リモートサーバーからデータを取得します。
+ 取得するデータをどのように扱いますか?
+
+ - **${NEWER_WINS}**: 更新日時が新しい方のバージョンを採用します。
+ 複数のデバイスでファイルを変更している場合に適しています。LiveSync は更新日時に基づいて採用するバージョンを決めます。
+ - **${REMOTE_WINS}**: リモートデータを正として扱います。
+ Self-hosted LiveSync を初めて使う場合は、この方法が分かりやすいでしょう。ローカルファイルはすべてリモートデータで上書きされるため、重要なデータがある場合は事前にバックアップしてください。
+ - **${DETAILED}**: 詳細セットアップウィザードを開きます。
+ 変更を適用する前に確認したい場合や、同期を細かく制御したい場合に選択してください。
diff --git a/src/common/translation.ts b/src/common/translation.ts
index 1b85bb91..e2afc213 100644
--- a/src/common/translation.ts
+++ b/src/common/translation.ts
@@ -12,6 +12,7 @@ import type { AllMessageKeys, I18N_LANGS, LiveSyncCatalogueMessageKey } from "./
import { allMessages } from "./messages/combinedMessages.prod.ts";
import {
liveSyncProvisionalEnglishMessages,
+ liveSyncProvisionalJapaneseMessages,
type LiveSyncProvisionalMessageKey,
} from "./messages/LiveSyncProvisionalMessages.ts";
@@ -72,7 +73,11 @@ function _getMessage(key: string, lang: I18N_LANGS) {
allMessages[key] ?? (provisionalEnglish === undefined ? undefined : ({ def: provisionalEnglish } as const));
if (msgs === undefined && isCommonlibMessageKey(key)) return englishMessageTranslator(key);
const resolvedLang = resolveLanguage(lang);
- let msg = msgs?.[resolvedLang];
+ let msg =
+ msgs?.[resolvedLang] ??
+ (resolvedLang === "ja"
+ ? liveSyncProvisionalJapaneseMessages[key as LiveSyncProvisionalMessageKey]
+ : undefined);
if (!msg) {
if (missingTranslations.indexOf(key) === -1) {
diff --git a/src/common/translation.unit.spec.ts b/src/common/translation.unit.spec.ts
index c4007822..dce86ad0 100644
--- a/src/common/translation.unit.spec.ts
+++ b/src/common/translation.unit.spec.ts
@@ -18,7 +18,7 @@ describe("LiveSync-owned translation catalogue", () => {
});
it("retains typed placeholder substitution", () => {
- expect($msg("moduleCheckRemoteSize.optionIncreaseLimit", { newMax: "800" }, "def")).toBe("increase to 800MB");
+ expect($msg("moduleCheckRemoteSize.optionIncreaseLimit", { newMax: "800" }, "def")).toBe("Increase to 800 MB");
});
it("keeps the active-file path compatibility warning concise", () => {
diff --git a/src/features/HiddenFileCommon/JsonResolvePane.svelte b/src/features/HiddenFileCommon/JsonResolvePane.svelte
index f6ffca5c..7ff4fde8 100644
--- a/src/features/HiddenFileCommon/JsonResolvePane.svelte
+++ b/src/features/HiddenFileCommon/JsonResolvePane.svelte
@@ -189,9 +189,9 @@
{#if hideLocal}
-
+
{/if}
-
+
{/if}
diff --git a/src/modules/coreObsidian/UILib/dialogs.ts b/src/modules/coreObsidian/UILib/dialogs.ts
index d4950171..0923263e 100644
--- a/src/modules/coreObsidian/UILib/dialogs.ts
+++ b/src/modules/coreObsidian/UILib/dialogs.ts
@@ -2,6 +2,7 @@ import { ButtonComponent } from "@/deps.ts";
import { App, FuzzySuggestModal, MarkdownRenderer, Modal, Plugin, Setting, Component } from "@/deps.ts";
import { EVENT_PLUGIN_UNLOADED, eventHub } from "@/common/events.ts";
import { compatGlobal, type CompatIntervalHandle } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions";
+import { $msg } from "@/common/translation";
class AutoClosableModal extends Modal {
_closeByUnload = () => {
@@ -58,7 +59,7 @@ export class InputStringDialog extends AutoClosableModal {
new Setting(formEl)
.addButton((btn) =>
btn
- .setButtonText("Ok")
+ .setButtonText($msg("Ok"))
.setCta()
.onClick(() => {
this.isManuallyClosed = true;
@@ -67,7 +68,7 @@ export class InputStringDialog extends AutoClosableModal {
)
.addButton((btn) =>
btn
- .setButtonText("Cancel")
+ .setButtonText($msg("Cancel"))
.setCta()
.onClick(() => {
this.close();
@@ -199,7 +200,9 @@ export class MessageBox extends AutoClosableModal {
const buttonSetting = new Setting(contentEl);
const labelWrapper = contentEl.createDiv();
labelWrapper.addClass("sls-dialogue-note-wrapper");
- const labelEl = labelWrapper.createEl("label", { text: "To stop the countdown, tap anywhere on the dialogue" });
+ const labelEl = labelWrapper.createEl("label", {
+ text: $msg("To stop the countdown, tap anywhere on the dialogue"),
+ });
labelEl.addClass("sls-dialogue-note-countdown");
if (!this.timeout || !this.timer) {
labelWrapper.empty();
diff --git a/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts b/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts
index bd480dc0..60643e0d 100644
--- a/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts
+++ b/src/modules/essentialObsidian/APILib/ObsHttpHandler.ts
@@ -39,6 +39,14 @@ function normaliseRequestBody(body: unknown): string | ArrayBuffer | undefined {
throw new TypeError(`Obsidian requestUrl does not support the request body type ${bodyType}`);
}
+function stripWeakEtag(value: string): string {
+ const trimmed = value.trim();
+ if (trimmed.startsWith("W/")) {
+ return trimmed.slice(2).trim();
+ }
+ return trimmed;
+}
+
/**
* This is close to origin implementation of FetchHttpHandler
* https://github.com/aws/aws-sdk-js-v3/blob/main/packages/fetch-http-handler/src/fetch-http-handler.ts
@@ -86,7 +94,11 @@ export class ObsHttpHandler extends FetchHttpHandler {
if (keyLower === "host" || keyLower === "content-length") {
continue;
}
- transformedHeaders[keyLower] = request.headers[key];
+ let value = request.headers[key];
+ if (keyLower === "if-match" && typeof value === "string") {
+ value = stripWeakEtag(value);
+ }
+ transformedHeaders[keyLower] = value;
}
let contentType: string | undefined = undefined;
@@ -110,7 +122,12 @@ export class ObsHttpHandler extends FetchHttpHandler {
const headers = rsp.headers;
const headersLower: Record = {};
for (const key of Object.keys(headers)) {
- headersLower[key.toLowerCase()] = headers[key];
+ let value = headers[key];
+ const lowerKey = key.toLowerCase();
+ if (lowerKey === "etag" && typeof value === "string") {
+ value = stripWeakEtag(value);
+ }
+ headersLower[lowerKey] = value;
}
const stream = new ReadableStream({
start(controller) {
diff --git a/src/modules/essentialObsidian/APILib/ObsHttpHandler.unit.spec.ts b/src/modules/essentialObsidian/APILib/ObsHttpHandler.unit.spec.ts
index 48291dfb..2478abcd 100644
--- a/src/modules/essentialObsidian/APILib/ObsHttpHandler.unit.spec.ts
+++ b/src/modules/essentialObsidian/APILib/ObsHttpHandler.unit.spec.ts
@@ -147,4 +147,48 @@ describe("ObsHttpHandler response handling", () => {
await expect(new ObsHttpHandler().handle(requestWithBody(new ArrayBuffer(0)))).rejects.toBe(failure);
});
+
+ it("strips weak ETag prefix from incoming etag response headers", async () => {
+ requestUrlMock.mockResolvedValue({
+ headers: { etag: 'W/"weak-revision-123"' },
+ status: 200,
+ arrayBuffer: new ArrayBuffer(0),
+ });
+ const request = new HttpRequest({
+ protocol: "https:",
+ hostname: "objects.example.com",
+ method: "GET",
+ path: "/bucket/milestone.json",
+ headers: {},
+ });
+
+ const result = await new ObsHttpHandler().handle(request);
+ expect(result.response.headers.etag).toBe('"weak-revision-123"');
+ });
+
+ it("strips weak ETag prefix from outgoing if-match request headers", async () => {
+ requestUrlMock.mockResolvedValue({
+ headers: {},
+ status: 200,
+ arrayBuffer: new ArrayBuffer(0),
+ });
+ const request = new HttpRequest({
+ protocol: "https:",
+ hostname: "objects.example.com",
+ method: "PUT",
+ path: "/bucket/milestone.json",
+ headers: {
+ "if-match": 'W/"weak-revision-123"',
+ },
+ });
+
+ await new ObsHttpHandler().handle(request);
+ expect(requestUrlMock).toHaveBeenCalledWith(
+ expect.objectContaining({
+ headers: expect.objectContaining({
+ "if-match": '"weak-revision-123"',
+ }),
+ })
+ );
+ });
});
diff --git a/src/modules/features/GlobalHistory/GlobalHistory.svelte b/src/modules/features/GlobalHistory/GlobalHistory.svelte
index 0a2de82d..85c2857a 100644
--- a/src/modules/features/GlobalHistory/GlobalHistory.svelte
+++ b/src/modules/features/GlobalHistory/GlobalHistory.svelte
@@ -200,14 +200,14 @@