", 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.":
    ", 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."
(Active): (Active)
(BETA) Always overwrite with a newer file: (BETA) Always overwrite with a newer file
(Beta) Use ignore files: (Beta) Use ignore files
(Days passed, 0 to disable automatic-deletion): (Days passed, 0 to disable automatic-deletion)
(e.g., after editing many files whilst offline): (e.g., after editing many files whilst offline)
(e.g., immediately after restoring on another computer, or having recovered from a backup):
    (e.g., immediately after restoring on another computer, or having recovered
    from a backup)
(e.g., setting up for the first time on a new smartphone, starting from a clean slate):
    (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.:
    (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.
(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) 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.
(Mega chars): (Mega chars)
(Missing): (Missing)
(Not recommended) If set, credentials will be stored in the file.: (Not recommended) If set, credentials will be stored in the file.
(Obsolete) Use an old adapter for compatibility: (Obsolete) Use an old adapter for compatibility
(RegExp) Empty to sync all files. Set filter as a regular expression to limit synchronising files.:
    (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.:
    (RegExp) If this is set, any changes to local and remote files that match this
    will be skipped.
"↑: Overwrite Remote": "↑: Overwrite Remote"
"↓: Overwrite Local": "↓: Overwrite Local"
"⇅: Use newer": "⇅: Use newer"
+1 week: +1 week
⚠️ Important Notice: ⚠️ Important Notice
⚠️ Please Confirm the Following: ⚠️ Please Confirm the Following
✔ SELECT: ✔ SELECT
✔ SYNC: ✔ SYNC
✔ WATCH: ✔ WATCH
📡 Off: 📡 Off
📡 On: 📡 On
🔴 Disconnected: 🔴 Disconnected
🕵️ Diag: 🕵️ Diag
🗑 Delete: 🗑 Delete
🟢 Connected: 🟢 Connected
${count} issue(s) detected!: ${count} issue(s) detected!
Accept: Accept
Accept in session: Accept in session
ACCEPTED: ACCEPTED
ACCEPTED (in session): ACCEPTED (in session)
Access Key: Access Key
Access Key ID: Access Key ID
Action: Action
Activate: Activate
Active Remote Configuration: Active Remote Configuration
Add default patterns: Add default patterns
Add new connection: Add new connection
AddOn Module (ConfigSync) has not been loaded. This is very unexpected situation. Please report this issue.:
    AddOn Module (ConfigSync) has not been loaded. This is very unexpected
    situation. Please report this issue.
AddOn Module (HiddenFileSync) has not been loaded. This is very unexpected situation. Please report this issue.:
    AddOn Module (HiddenFileSync) has not been loaded. This is very unexpected
    situation. Please report this issue.
Advanced: Advanced
Advanced Settings: 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 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.:
    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.
After that, synchronise to a brand new vault on each other device with the new remote one by one.:
    After that, synchronise to a brand new vault on each other device with the
    new remote one by one.
All checks passed successfully!: All checks passed successfully!
All the same or non-existent: All the same or non-existent
Allow in session: Allow in session
Allow permanently: Allow permanently
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.:
    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.
Always prompt merge conflicts: Always prompt merge conflicts
Analyse: Analyse
Analyse database usage: 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.:
    Analyse database usage and generate a TSV report for diagnosis yourself. You
    can paste the generated report with any spreadsheet you like.
Apply All Selected: Apply All Selected
Apply Latest Change if Conflicting: Apply Latest Change if Conflicting
Apply preset configuration: Apply preset configuration
Apply the settings: Apply the settings
Ask a passphrase at every launch: Ask a passphrase at every launch
Auto Connect: Auto Connect
Auto Start P2P Connection: Auto Start P2P Connection
Automatic: Automatic
Automatically Sync all files when opening Obsidian.: Automatically Sync all files when opening Obsidian.
Available Peers: Available Peers
Back: Back
Back to non-configured: Back to non-configured
Batch database update: Batch database update
Batch limit: Batch limit
Batch size: Batch size
Batch size of on-demand fetching: 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.:
    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.
Broadcasting?: Broadcasting?
Bucket Name: Bucket Name
by resetting the remote, you will be informed on other devices.: by resetting the remote, you will be informed on other devices.
Cancel: Cancel
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 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.:
    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.
Check: Check
Check and convert non-path-obfuscated files: Check and convert non-path-obfuscated files
Check for documents that have not been converted to path-obfuscated IDs and convert them if necessary.:
    Check for documents that have not been converted to path-obfuscated IDs and
    convert them if necessary.
Checking connection... Please wait.: Checking connection... Please wait.
Chunks: Chunks
Close: Close
Close & Disconnect: Close & Disconnect
Close this dialog: Close this dialog
"Closed:": "Closed:"
cmdConfigSync:
    showCustomizationSync: Show Customization sync
Comma separated `.gitignore, .dockerignore`: Comma separated `.gitignore, .dockerignore`
Command: Command
Communicating: Communicating
Compare file: 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 the content of files between on local database and storage. If not
    matched, you will be asked which one you want to keep.
Compatibility (Conflict Behaviour): Compatibility (Conflict Behaviour)
Compatibility (Database structure): Compatibility (Database structure)
Compatibility (Internal API Usage): Compatibility (Internal API Usage)
Compatibility (Metadata): Compatibility (Metadata)
Compatibility (Remote Database): Compatibility (Remote Database)
Compatibility (Trouble addressed): Compatibility (Trouble addressed)
Compute revisions for chunks: Compute revisions for chunks
Configuration: Configuration
Configuration Encryption: Configuration Encryption
Configure: Configure
Configure And Change Remote: Configure And Change Remote
Configure E2EE: Configure E2EE
Configure Remote: Configure Remote
Connect: Connect
"Connected to Signaling Server (as Peer ID: ${peerId})": "Connected to Signaling Server (as Peer ID: ${peerId})"
"Connected:": "Connected:"
Connection Settings: Connection Settings
"Connection:": "Connection:"
Continue anyway: Continue anyway
Copy: Copy
Copy Report to clipboard: Copy Report to clipboard
CouchDB Configuration: CouchDB Configuration
CouchDB Connection Tweak: CouchDB Connection Tweak
Create P2P remote: Create P2P remote
Cross-platform: Cross-platform
"Current adapter: {adapter}": "Current adapter: {adapter}"
Custom Headers: Custom Headers
Customization Sync: Customization Sync
Customization Sync (Beta3): Customization Sync (Beta3)
Data Compression: Data Compression
Data to Copy: Data to Copy
Database -> Storage: Database -> Storage
Database Adapter: Database Adapter
Database Name: Database Name
Database suffix: Database suffix
Date: Date
Default: Default
Delay conflict resolution of inactive files: Delay conflict resolution of inactive files
Delay merge conflict prompt for inactive files.: Delay merge conflict prompt for inactive files.
Delete: Delete
Delete all customization sync data: Delete all customization sync data
Delete all data on the remote server.: Delete all data on the remote server.
Delete All of: Delete All of
Delete local database to reset or uninstall Self-hosted LiveSync: Delete local database to reset or uninstall Self-hosted LiveSync
Delete old metadata of deleted files on start-up: Delete old metadata of deleted files on start-up
Delete Remote Configuration: Delete Remote Configuration
Delete remote configuration '{name}'?: Delete remote configuration '{name}'?
Delete remote configuration '${name}'?: Delete remote configuration '${name}'?
DENIED: DENIED
DENIED (in session): DENIED (in session)
Deny: Deny
Deny in session: Deny in session
Deny permanently: Deny permanently
Deselect all: Deselect all
desktop: desktop
Detected Peers: Detected Peers
Developer: Developer
device name: device name
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".:
    Device name to identify the device. Please use shorter one for the stable
    peer detection, i.e., "iphone-16" or "macbook-2021".
Device Peer ID: Device Peer ID
"Devices:": "Devices:"
Diagnostic RTCPeerConnection is enabled: Diagnostic RTCPeerConnection is enabled
dialog:
    yourLanguageAvailable:
        _value: >-
            Self-hosted LiveSync had translations for your language, so the %{Display
            language} setting was enabled.


            Note: Not all messages are translated. We are waiting for your
            contributions!

            Note 2: If you create an Issue, **please revert to %{lang-def}** and then
            take screenshots, messages and logs. This can be done in the setting
            dialogue.

            May you find it easy to use!
        btnRevertToDefault: Keep %{lang-def}
        Title: " Translation is available!"
Diff: Diff
Different: Different
Disables all synchronization and restart.: Disables all synchronization and restart.
Disables logging, only shows notifications. Please disable if you report an issue.:
    Disables logging, only shows notifications. Please disable if you report an
    issue.
Disconnect: Disconnect
Dismiss: Dismiss
Display Language: Display Language
Display name: 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 keep metadata of deleted files.
Do not split chunks in the background: Do not split chunks in the background
Do not use internal API: Do not use internal API
Doctor:
    Button:
        DismissThisVersion: No, and do not ask again until the next release
        Fix: Fix it
        FixButNoRebuild: Fix it but no rebuild
        No: No
        Skip: Leave it as is
        Yes: Yes
    Dialogue:
        Main: >-
            Hi! Config Doctor has been activated because of ${activateReason}!

            And, unfortunately some configurations were detected as potential
            problems.

            Please be assured. Let's solve them one by one.


            To let you know ahead of time, we will ask you about the following items.


            ${issues}


            Shall we get started?
        MainFix: |-

            ## ${name}

            | Current | Ideal |
            |:---:|:---:|
            | ${current} | ${ideal} |

            **Recommendation Level:** ${level}

            ### Why this has been detected?

            ${reason}

            ${note}

            Fix this to the ideal value?
        Title: Self-hosted LiveSync Config Doctor
        TitleAlmostDone: Almost done!
        TitleFix: Fix issue ${current}/${total}
    Level:
        Must: Must
        Necessary: Necessary
        Optional: Optional
        Recommended: Recommended
    Message:
        NoIssues: No issues detected!
        RebuildLocalRequired: Attention! A local database rebuild is required to apply this!
        RebuildRequired: Attention! A rebuild is required to apply this!
        SomeSkipped: We left some issues as is. Shall I ask you again on next startup?
    RULES:
        E2EE_V02500:
            REASON: The End-to-End Encryption has got now more robust and faster. Also
                because, the previous E2EE was found to be compromised in a re-conducted
                code review. It should be applied as soon as possible. Really apologises
                for your inconvenience. And, this setting is not forward compatible. All
                synchronised devices must be updated to v0.25.0 or higher. Rebuilds are
                not required and will be converted from the new transfer to the new
                format, However, it is recommended to rebuild whenever possible.
Document History: Document History
Duplicate: Duplicate
Duplicate remote: Duplicate remote
E2EE Configuration: E2EE Configuration
Edge case addressing (Behaviour): Edge case addressing (Behaviour)
Edge case addressing (Database): Edge case addressing (Database)
Edge case addressing (Processing): Edge case addressing (Processing)
Emergency restart: Emergency restart
Enable advanced features: Enable advanced features
Enable customization sync: Enable customization sync
Enable Developers' Debug Tools.: Enable Developers' Debug Tools.
Enable edge case treatment features: Enable edge case treatment features
Enable P2P Replicator: Enable P2P Replicator
Enable poweruser features: Enable poweruser features
Enable this if your Object Storage doesn't support CORS: Enable this if your Object Storage doesn't support CORS
Enable this option to automatically apply the most recent change to documents even when it conflicts:
    Enable this option to automatically apply the most recent change to documents
    even when it conflicts
Enabled: 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.:
    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.
Encrypt contents on the remote database. If you use the plugin's synchronization feature, enabling this is recommended.:
    Encrypt contents on the remote database. If you use the plugin's
    synchronization feature, enabling this is recommended.
Encrypting sensitive configuration items: Encrypting sensitive configuration items
Encryption Algorithm: Encryption Algorithm
Encryption phassphrase. 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: End-to-End Encryption
Endpoint URL: Endpoint URL
Enhance chunk size: Enhance chunk size
Enter a folder prefix (optional): Enter a folder prefix (optional)
Enter Setup URI: Enter Setup URI
Enter TURN credential: Enter TURN credential
Enter TURN username: Enter TURN username
Enter your Access Key ID: Enter your Access Key ID
Enter your Bucket Name: Enter your Bucket Name
Enter your database name: Enter your database name
Enter your JWT Key ID: Enter your JWT Key ID
Enter your JWT secret or private key: Enter your JWT secret or private key
Enter your JWT Subject (CouchDB Username): Enter your JWT Subject (CouchDB Username)
Enter your passphrase: Enter your passphrase
Enter your password: Enter your password
Enter your Region (e.g., us-east-1, auto for R2): Enter your Region (e.g., us-east-1, auto for R2)
Enter your Secret Access Key: Enter your Secret Access Key
Enter your username: Enter your username
"Error during connection test: ${reason}": "Error during connection test: ${reason}"
"Error during testAndFixSettings: ${reason}": "Error during testAndFixSettings: ${reason}"
Experimental Settings: Experimental Settings
Export: Export
"Failed to connect to the server: ${reason}": "Failed to connect to the server: ${reason}"
Failed to connect to the server. Please check your settings.: Failed to connect to the server. Please check your settings.
"Failed to connect to the signalling relay: ${reason}": "Failed to connect to the signalling relay: ${reason}"
Failed to create replicator instance.: Failed to create replicator instance.
Failed to parse Setup-URI.: Failed to parse Setup-URI.
"Failed:": "Failed:"
Fetch: Fetch
Fetch chunks on demand: Fetch chunks on demand
Fetch database with previous behaviour: Fetch database with previous behaviour
Fetch remote settings: Fetch remote settings
FETCHING: FETCHING
Fetching status...: Fetching status...
File integrity: File integrity
File to resolve conflict: File to resolve conflict
File to view History: File to view History
Filename: Filename
"Final Confirmation: Overwrite Server Data with This Device's Files": "Final Confirmation: Overwrite Server Data with This Device's Files"
Fix: Fix
Flag and restart: Flag and restart
Flagged Selective: Flagged Selective
Folder Prefix: Folder Prefix
For HS256/HS512 algorithms, provide the shared secret key. For ES256/ES512 algorithms, provide the pkcs8 PEM-formatted private key.:
    For HS256/HS512 algorithms, provide the shared secret key. For ES256/ES512
    algorithms, provide the pkcs8 PEM-formatted private key.
Forces the file to be synced when opened.: Forces the file to be synced when opened.
Fresh Start Wipe: Fresh Start Wipe
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.:
    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 V3 (Beta): Garbage Collection V3 (Beta)
Gathering information...: Gathering information...
Generate Random ID: Generate Random ID
Group ID: Group ID
Handle files as Case-Sensitive: Handle files as Case-Sensitive
Have you created a backup before proceeding?: 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 file synchronization have been temporarily disabled. Please enable
    them after the fetching, if you need them.
Hidden Files: Hidden Files
Hide completely: Hide completely
Hide not applicable items: Hide not applicable items
Higher (${local} > ${remote}): Higher (${local} > ${remote})
Highlight diff: Highlight diff
How to display network errors when the sync server is unreachable.: How to display network errors when the sync server is unreachable.
However, This should not be enabled if you want to increase your secrecy more.:
    However, This should not be enabled if you want to increase your secrecy
    more.
I am setting up a new server for the first time / I want to reset my existing server.:
    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.: I am unable to create a backup of my Vault.
I am unable to create a backup of my Vaults.: I am unable to create a backup of my Vaults.
I have created a backup of my Vault.: I have created a backup of my Vault.
I understand that all changes made on other smartphones or computers possibly could be lost.:
    I understand that all changes made on other smartphones or computers
    possibly could be lost.
I understand that other devices will no longer be able to synchronise, and will need to be reset the synchronisation information.:
    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 that this action is irreversible once performed.
I understand the risks and will proceed without a backup.: I understand the risks and will proceed without a backup.
I Understand, Overwrite Server: I Understand, Overwrite Server
If "Auto Start P2P Connection" is enabled, the P2P connection will be started automatically when the plug-in launches.:
    If "Auto Start P2P Connection" is enabled, the P2P connection will be
    started automatically when the plug-in launches.
If disabled(toggled), chunks will be split on the UI thread (Previous behaviour).:
    If disabled(toggled), chunks will be split on the UI thread (Previous
    behaviour).
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.:
    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.
If enabled, chunks will be split into no more than 100 items. However, dedupe is slightly weaker.:
    If enabled, chunks will be split into no more than 100 items. However, dedupe
    is slightly weaker.
If enabled, newly created chunks are temporarily kept within the document, and graduated to become independent chunks once stabilised.:
    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 ⛔ icon will be shown inside the status instead of the file
    warnings banner. No details will be shown.
If enabled, the file under 1kb will be processed in the UI thread.: If enabled, the file under 1kb will be processed in the UI thread.
If enabled, the notification of hidden files change will be suppressed.: If enabled, the notification of hidden files change will be suppressed.
If this enabled, all chunks will be stored with the revision made from its content. (Previous behaviour):
    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, 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 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 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.:
    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.
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.:
    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.
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.:
    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.
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.:
    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.
If you reached the payload size limit when using IBM Cloudant, please decrease batch size and batch limit to a lower value.:
    If you reached the payload size limit when using IBM Cloudant, please decrease
    batch size and batch limit to a lower value.
If you understand the risks and still wish to proceed, select so.: 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 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.:
    If you want to use `LiveSync`, you should broadcast changes. All `watching`
    peers which detects this will start the replication for fetching.
Ignore: Ignore
Ignore files: Ignore files
Ignore patterns: Ignore patterns
Import connection: Import connection
IMPORTANT: 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.:
    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.
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.:
    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.
"Incoming:": "Incoming:"
Incubate Chunks in Document: Incubate Chunks in Document
Initial Action: Initial Action
Initialise all journal history, On the next sync, every item will be received and sent.:
    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 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.:
    Initialise journal sent history. On the next sync, every item except this
    device received will be sent again.
Interval (sec): Interval (sec)
INVERTED: INVERTED
"Issue detection log:": "Issue detection log:"
It is strongly advised to create a backup before proceeding. Continuing without a backup may lead to data loss.:
    It is strongly advised to create a backup before proceeding. Continuing
    without a backup may lead to data loss.
Just for a minute, please!: 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) 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 Algorithm: JWT Algorithm
JWT Expiration Duration (minutes): JWT Expiration Duration (minutes)
JWT Key: JWT Key
JWT Key ID (kid): JWT Key ID (kid)
JWT Subject (sub): JWT Subject (sub)
K:
    exp: Experimental
    long_p2p_sync: "%{title_p2p_sync}"
    P2P: "%{Peer}-to-%{Peer}"
    Peer: Peer
    ScanCustomization: Scan customization
    short_p2p_sync: P2P Sync
    title_p2p_sync: Peer-to-Peer Sync
Keep empty folder: Keep empty folder
lang_def: Default
lang-de: Deutsche
lang-def: "%{lang_def}"
lang-es: Español
lang-fr: Français
lang-he: Hebrew
lang-ja: 日本語
lang-ko: 한국어
lang-ru: Русский
lang-zh: 简体中文
lang-zh-tw: 繁體中文
Later: Later
"Limit: {datetime} ({timestamp})": "Limit: {datetime} ({timestamp})"
live: live
LiveSync could not handle multiple vaults which have same name without different prefix, This should be automatically configured.:
    LiveSync could not handle multiple vaults which have same name without
    different prefix, This should be automatically configured.
liveSyncReplicator:
    beforeLiveSync: Before LiveSync, start OneShot once...
    cantReplicateLowerValue: We can't replicate more lower value.
    checkingLastSyncPoint: Looking for the point last synchronized point.
    couldNotConnectTo: |-
        Could not connect to ${uri} : ${name}
        (${db})
    couldNotConnectToRemoteDb: "Could not connect to remote database: ${d}"
    couldNotConnectToServer: The connection to the remote has been prevented, or failed.
    couldNotConnectToURI: Could not connect to ${uri}:${dbRet}
    couldNotMarkResolveRemoteDb: Could not mark resolve remote database.
    liveSyncBegin: LiveSync begin...
    lockRemoteDb: Lock remote database to prevent data corruption
    markDeviceResolved: Mark this device as 'resolved'.
    oneShotSyncBegin: OneShot Sync begin... (${syncMode})
    remoteDbCorrupted: Remote database is newer or corrupted, make sure to latest
        version of self-hosted-livesync installed
    remoteDbCreatedOrConnected: Remote Database Created or Connected
    remoteDbDestroyed: Remote Database Destroyed
    remoteDbDestroyError: "Something happened on Remote Database Destroy:"
    remoteDbMarkedResolved: Remote database has been marked resolved.
    replicationClosed: Replication closed
    replicationInProgress: Replication is already in progress
    retryLowerBatchSize: Retry with lower batch size:${batch_size}/${batches_limit}
    unlockRemoteDb: Unlock remote database to prevent data corruption
    mismatchedTweakDetected: Some mismatches have been detected in the configuration between devices. Running a manual replication will attempt to resolve this issue.
liveSyncSetting:
    errorNoSuchSettingItem: "No such setting item: ${key}"
    originalValue: "Original: ${value}"
    valueShouldBeInRange: The value should ${min} < value < ${max}
liveSyncSettings:
    btnApply: Apply
Local Database Tweak: Local Database Tweak
Local only: Local only
Lock: Lock
Lock Server: Lock Server
Lock the remote server to prevent synchronization with other devices.: Lock the remote server to prevent synchronization with other devices.
logPane:
    autoScroll: Auto scroll
    logWindowOpened: Log window opened
    pause: Pause
    title: Self-hosted LiveSync Log
    wrap: Wrap
Lower (${local} < ${remote}): Lower (${local} < ${remote})
Maintenance Commands: Maintenance Commands
Maintenance mode: Maintenance mode
Maximum delay for batch database updating: Maximum delay for batch database updating
Maximum file size: Maximum file size
Maximum Incubating Chunk Size: Maximum Incubating Chunk Size
Maximum Incubating Chunks: Maximum Incubating Chunks
Maximum Incubation Period: Maximum Incubation Period
MB (0 to disable).: MB (0 to disable).
Memory cache: Memory cache
Memory cache size (by total characters): Memory cache size (by total characters)
Memory cache size (by total items): Memory cache size (by total items)
Merge: Merge
Minimum delay for batch database updating: Minimum delay for batch database updating
Minimum interval for syncing: Minimum interval for syncing
Mixed: Mixed
moduleCheckRemoteSize:
    logCheckingStorageSizes: Checking storage sizes
    logCurrentStorageSize: "Remote storage size: ${measuredSize}"
    logExceededWarning: "Remote storage size: ${measuredSize} exceeded ${notifySize}"
    logThresholdEnlarged: Threshold has been enlarged to ${size}MB
    msgConfirmRebuild: This may take a bit of a long time. Do you really want to
        rebuild everything now?
    msgDatabaseGrowing: |
        **Your database is getting larger!** But do not worry, we can address it now. The time before running out of space on the remote storage.

        | Measured size | Configured size |
        | --- | --- |
        | ${estimatedSize} | ${maxSize} |

        > [!MORE]-
        > If you have been using it for many years, there may be unreferenced chunks - that is, garbage - accumulating in the database. Therefore, we recommend rebuilding everything. It will probably become much smaller.
        >
        > If the volume of your vault is simply increasing, it is better to rebuild everything after organizing the files. Self-hosted LiveSync does not delete the actual data even if you delete it to speed up the process. It is roughly [documented](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md).
        >
        > If you don't mind the increase, you can increase the notification limit by 100MB. This is the case if you are running it on your own server. However, it is better to rebuild everything from time to time.
        >

        > [!WARNING]
        > If you perform rebuild everything, make sure all devices are synchronised. The plug-in will merge as much as possible, though.
    msgSetDBCapacity: >
        We can set a maximum database capacity warning, **to take action before
        running out of space on the remote storage**.

        Do you want to enable this?


        > [!MORE]-

        > - 0: Do not warn about storage size.

        >   This is recommended if you have enough space on the remote storage
        especially you have self-hosted. And you can check the storage size and
        rebuild manually.

        > - 800: Warn if the remote storage size exceeds 800MB.

        >   This is recommended if you are using fly.io with 1GB limit or IBM
        Cloudant.

        > - 2000: Warn if the remote storage size exceeds 2GB.


        If we have reached the limit, we will be asked to enlarge the limit step by
        step.
    noticeExceeded: Remote storage size is ${measuredSize}, above the configured
        ${notifySize} notification threshold. {HERE}
    noticeNotConfigured: Remote storage size notifications are not configured.
        {HERE}
    option2GB: 2GB (Standard)
    option800MB: 800MB (Cloudant, fly.io)
    optionAskMeLater: Ask me later
    optionDismiss: Dismiss
    optionIncreaseLimit: increase to ${newMax}MB
    optionNoWarn: No, never warn please
    optionReview: Review options
    optionRebuildAll: Rebuild Everything Now
    titleDatabaseSizeLimitExceeded: Remote storage size exceeded the limit
    titleDatabaseSizeNotify: Setting up database size notification
moduleInputUIObsidian:
    defaultTitleConfirmation: Confirmation
    defaultTitleSelect: Select
    optionNo: No
    optionYes: Yes
moduleLiveSyncMain:
    logAdditionalSafetyScan: Additional safety scan...
    logLoadingPlugin: Loading plugin...
    logPluginInitCancelled: Plugin initialisation was cancelled by a module
    logPluginVersion: Self-hosted LiveSync v${manifestVersion} ${packageVersion}
    logReadChangelog: LiveSync has updated, please read the changelog!
    logSafetyScanCompleted: Additional safety scan completed
    logSafetyScanFailed: Additional safety scan has failed on a module
    logUnloadingPlugin: Unloading plugin...
    logVersionUpdate: LiveSync has been updated, In case of breaking updates, all
        automatic synchronization has been temporarily disabled. Ensure that all
        devices are up to date before enabling.
    msgScramEnabled: >
        Self-hosted LiveSync has been configured to ignore some events. Is this
        correct?


        | Type | Status | Note |

        |:---:|:---:|---|

        | Storage Events | ${fileWatchingStatus} | Every modification will be
        ignored |

        | Database Events | ${parseReplicationStatus} | Every synchronised change
        will be postponed |


        Do you want to resume them and restart Obsidian?


        > [!DETAILS]-

        > These flags are set by the plug-in while rebuilding, or fetching. If the
        process ends abnormally, it may be kept unintended.

        > If you are not sure, you can try to rerun these processes. Make sure to
        back your vault up.
    optionKeepLiveSyncDisabled: Keep LiveSync disabled
    optionResumeAndRestart: Resume and restart Obsidian
    titleScramEnabled: Scram Enabled
moduleLocalDatabase:
    logWaitingForReady: Waiting for ready...
moduleLog:
    showLog: Show Log
moduleMigration:
    docUri: https://github.com/vrtmrz/obsidian-livesync/blob/main/README.md#how-to-use
    fix0256:
        buttons:
            checkItLater: Check it later
            DismissForever: I have fixed it, and do not ask again
            fix: Fix
        message: >
            Due to a recent bug (in v0.25.6), some files may not have been saved
            correctly in the sync database.

            We have scanned our files and found some that need to be fixed.


            **Files ready to be fixed:**


            ${files}


            These files have size-matched original file on the storage, and are likely
            to be recoverable.

            We can use them to fix the database, please click the "Fix" button below
            to fix them.


            ${messageUnrecoverable}


            If you want to run it again, you can do so from Hatch.
        messageUnrecoverable: >
            **Files cannot be fixed on this device:**


            ${filesNotRecoverable}


            These files have inconsistent metadata, and cannot be fixed on this device
            (mostly we cannot determine which is correct).

            To restore them, please check your other devices (also by this feature) or
            restore them manually from a backup.
        title: Broken files has been detected
    insecureChunkExist:
        buttons:
            fetch: I already rebuilt the remote. Fetch from the remote
            later: I will do it later
            rebuild: Rebuild Everything
        laterMessage: We strongly recommend to treat this as soon as possible!
        message: >
            Some chunks are not securely stored and are not encrypted in databases.

            **Please rebuild the database to fix this issue**.


            If your Remote Database is not configured with SSL, or using less-secure
            credentials, **you are at risk of exposing sensitive data**.


            Note: Please upgrade your Self-hosted LiveSync v0.25.6 or higher on all
            your devices, and back your vault up surely.

            Note2: Rebuild Everything and Fetch consumes a bit of time and traffic,
            please do it in off-peak hours and ensure a stable network connection.
        title: Insecure chunks found!
    logBulkSendCorrupted: Send chunks in bulk has been enabled, however, this
        feature had been corrupted. Sorry for your inconvenience. Automatically
        disabled.
    logFetchRemoteTweakFailed: Failed to fetch remote tweak values
    logLocalDatabaseNotReady: Something went wrong! The local database is not ready
    logMigratedSameBehaviour: Migrated to db:${current} with the same behaviour as before
    logMigrationFailed: Migration failed or cancelled from ${old} to ${current}
    logRedflag2CreationFail: Failed to create redflag2
    logRemoteTweakUnavailable: Could not get remote tweak values
    logSetupCancelled: The setup has been cancelled, Self-hosted LiveSync waiting for your setup!
    msgFetchRemoteAgain: >-
        As you may already know, the self-hosted LiveSync has changed its default
        behaviour and database structure.


        And thankfully, with your time and efforts, the remote database appears to
        have already been migrated. Congratulations!


        However, we need a bit more. The configuration of this device is not
        compatible with the remote database. We will need to fetch the remote
        database again. Should we fetch from the remote again now?


        ___Note: We cannot synchronise until the configuration has been changed and
        the database has been fetched again.___

        ___Note2: The chunks are completely immutable, we can fetch only the
        metadata and difference.___
    msgInitialSetup: >-
        Your device has **not been set up yet**. Let me guide you through the setup
        process.


        Please keep in mind that every dialogue content can be copied to the
        clipboard. If you need to refer to it later, you can paste it into a note in
        Obsidian. You can also translate it into your language using a translation
        tool.


        First, do you have **Setup URI**?


        Note: If you do not know what it is, please refer to the
        [documentation](${URI_DOC}).
    msgRecommendSetupUri: >-
        We strongly recommend that you generate a set-up URI and use it.

        If you do not have knowledge about it, please refer to the
        [documentation](${URI_DOC}) (Sorry again, but it is important).


        How do you want to set it up manually?
    msgSinceV02321: >-
        Since v0.23.21, the self-hosted LiveSync has changed the default behaviour
        and database structure. The following changes have been made:


        1. **Case sensitivity of filenames**
           The handling of filenames is now case-insensitive. This is a beneficial change for most platforms, other than Linux and iOS, which do not manage filename case sensitivity effectively.
           (On These, a warning will be displayed for files with the same name but different cases).

        2. **Revision handling of the chunks**
           Chunks are immutable, which allows their revisions to be fixed. This change will enhance the performance of file saving.

        ___However, to enable either of these changes, both remote and local
        databases need to be rebuilt. This process takes a few minutes, and we
        recommend doing it when you have ample time.___


        - If you wish to maintain the previous behaviour, you can skip this process
        by using `${KEEP}`.

        - If you do not have enough time, please choose `${DISMISS}`. You will be
        prompted again later.

        - If you have rebuilt the database on another device, please select
        `${DISMISS}` and try synchronizing again. Since a difference has been
        detected, you will be prompted again.
    optionAdjustRemote: Adjust to remote
    optionDecideLater: Decide it later
    optionEnableBoth: Enable both
    optionEnableFilenameCaseInsensitive: "Enable only #1"
    optionEnableFixedRevisionForChunks: "Enable only #2"
    optionHaveSetupUri: Yes, I have
    optionKeepPreviousBehaviour: Keep previous behaviour
    optionManualSetup: Set it up all manually
    optionNoAskAgain: No, please ask again
    optionNoSetupUri: No, I do not have
    optionRemindNextLaunch: Remind me at the next launch
    optionSetupViaP2P: Use %{short_p2p_sync} to set up
    optionSetupWizard: Take me into the setup wizard
    optionYesFetchAgain: Yes, fetch again
    titleCaseSensitivity: Case Sensitivity
    titleRecommendSetupUri: Recommendation to use Setup URI
    titleWelcome: Welcome to Self-hosted LiveSync
moduleObsidianMenu:
    replicate: Replicate
More actions: More actions
"Mostly Complete: Decision Required": "Mostly Complete: Decision Required"
Move remotely deleted files to the trash, instead of deleting.: Move remotely deleted files to the trash, instead of deleting.
My remote server is already set up. I want to join this device.: My remote server is already set up. I want to join this device.
Name: Name
Network warning style: Network warning style
NEW: NEW
New Remote: New Remote
Newer (${diff}): Newer (${diff})
No checks have been performed yet.: No checks have been performed yet.
No Connection: No Connection
No devices available. Waiting for other devices to connect...: No devices available. Waiting for other devices to connect...
No Items.: No Items.
No limit configured: No limit configured
NO PREVIEW: NO PREVIEW
Non-Synchronising files: Non-Synchronising files
Normal Files: Normal Files
Not all messages have been translated. And, please revert to "Default" when reporting errors.:
    Not all messages have been translated. And, please revert to "Default" when
    reporting errors.
Not configured: Not configured
Not now: Not now
Note that the Group ID is not limited to the generated format; you can use any string as the Group ID.:
    Note that the Group ID is not limited to the generated format; you can use
    any string as the Group 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.:
    Note that you can generate a new Setup URI by running the "Copy settings as
    a new Setup URI" command in the command palette.
Notify all setting files: Notify all setting files
Notify customized: Notify customized
Notify when other device has newly customized.: Notify when other device has newly customized.
Notify when the estimated remote storage size exceeds on start up: 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.:
    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.
Number of changes to sync at a time. Defaults to 50. Minimum is 2.: Number of changes to sync at a time. Defaults to 50. Minimum is 2.
Obfuscate Properties: 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.:
    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.
obsidianLiveSyncSettingTab:
    btnApply: Apply
    btnCheck: Check
    btnCopy: Copy
    btnDisable: Disable
    btnDiscard: Discard
    btnEnable: Enable
    btnFix: Fix
    btnGotItAndUpdated: I got it and updated.
    btnNext: Next
    btnStart: Start
    btnTest: Test
    btnUse: Use
    buttonFetch: Fetch
    buttonNext: Next
    defaultLanguage: Default
    descConnectSetupURI: This is the recommended method to set up Self-hosted
        LiveSync with a Setup URI.
    descCopySetupURI: Perfect for setting up a new device!
    descEnableLiveSync: Only enable this after configuring either of the above two
        options or completing all configuration manually.
    descFetchConfigFromRemote: Fetch necessary settings from already configured remote server.
    descManualSetup: Not recommended, but useful if you don't have a Setup URI
    descTestDatabaseConnection: Open database connection. If the remote database is
        not found and you have permission to create a database, the database will be
        created.
    descValidateDatabaseConfig: Checks and fixes any potential issues with the database config.
    errAccessForbidden: ❗ Access forbidden.
    errCannotContinueTest: We could not continue the test.
    errCorsCredentials: ❗ cors.credentials is wrong
    errCorsNotAllowingCredentials: ❗ CORS is not allowing credentials
    errCorsOrigins: ❗ cors.origins is wrong
    errEnableCors: ❗ httpd.enable_cors is wrong
    errEnableCorsChttpd: ❗ chttpd.enable_cors is wrong
    errMaxDocumentSize: ❗ couchdb.max_document_size is low)
    errMaxRequestSize: ❗ chttpd.max_http_request_size is low)
    errMissingWwwAuth: ❗ httpd.WWW-Authenticate is missing
    errRequireValidUser: ❗ chttpd.require_valid_user is wrong.
    errRequireValidUserAuth: ❗ chttpd_auth.require_valid_user is wrong.
    labelDisabled: "⏹️ : Disabled"
    labelEnabled: "🔁 : Enabled"
    levelAdvanced: " (Advanced)"
    levelEdgeCase: " (Edge Case)"
    levelPowerUser: " (Power User)"
    linkOpenInBrowser: Open in browser
    linkPageTop: Page Top
    linkTipsAndTroubleshooting: Tips and Troubleshooting
    linkTroubleshooting: /docs/troubleshooting.md
    logCannotUseCloudant: This feature cannot be used with IBM Cloudant.
    logCheckingConfigDone: Checking configuration done
    logCheckingConfigFailed: Checking configuration failed
    logCheckingDbConfig: Checking database configuration
    logCheckPassphraseFailed: |-
        ERROR: Failed to check passphrase with the remote server:
        ${db}.
    logConfiguredDisabled: "Configured synchronization mode: DISABLED"
    logConfiguredLiveSync: "Configured synchronization mode: LiveSync"
    logConfiguredPeriodic: "Configured synchronization mode: Periodic"
    logCouchDbConfigFail: "CouchDB Configuration: ${title} failed"
    logCouchDbConfigSet: "CouchDB Configuration: ${title} -> Set ${key} to ${value}"
    logCouchDbConfigUpdated: "CouchDB Configuration: ${title} successfully updated"
    logDatabaseConnected: Database connected
    logEncryptionNoPassphrase: You cannot enable encryption without a passphrase
    logEncryptionNoSupport: Your device does not support encryption.
    logErrorOccurred: An error occurred!!
    logEstimatedSize: "Estimated size: ${size}"
    logPassphraseInvalid: Passphrase is not valid, please fix it.
    logPassphraseNotCompatible: "ERROR: Passphrase is not compatible with the remote
        server! Please check it again!"
    logRebuildNote: Syncing has been disabled, fetch and re-enabled if desired.
    logSelectAnyPreset: Select any preset.
    logServerConfigurationCheck: obsidianLiveSyncSettingTab.logServerConfigurationCheck
    msgAreYouSureProceed: Are you sure to proceed?
    msgChangesNeedToBeApplied: Changes need to be applied!
    msgConfigCheck: --Config check--
    msgConfigCheckFailed: The configuration check has failed. Do you want to continue anyway?
    msgConnectionCheck: --Connection check--
    msgConnectionProxyNote: If you're having trouble with the Connection-check (even
        after checking config), please check your reverse proxy configuration.
    msgCurrentOrigin: "Current origin: ${origin}"
    msgDiscardConfirmation: Do you really want to discard existing settings and databases?
    msgDone: --Done--
    msgEnableCors: Set httpd.enable_cors
    msgEnableCorsChttpd: Set chttpd.enable_cors
    msgEnableEncryptionRecommendation: We recommend enabling End-To-End Encryption,
        and Path Obfuscation. Are you sure you want to continue without encryption?
    msgFetchConfigFromRemote: Do you want to fetch the config from the remote server?
    msgGenerateSetupURI: All done! Do you want to generate a setup URI to set up other devices?
    msgIfConfigNotPersistent: If the server configuration is not persistent (e.g.,
        running on docker), the values here may change. Once you are able to
        connect, please update the settings in the server's local.ini.
    msgInvalidPassphrase: Your encryption passphrase might be invalid. Are you sure
        you want to continue?
    msgNewVersionNote: Here due to an upgrade notification? Please review the
        version history. If you're satisfied, click the button. A new update will
        prompt this again.
    msgNonHTTPSInfo: Configured as non-HTTPS URI. Be warned that this may not work
        on mobile devices.
    msgNonHTTPSWarning: Cannot connect to non-HTTPS URI. Please update your config and try again.
    msgNotice: ---Notice---
    msgObjectStorageWarning: >-
        WARNING: This feature is a Work In Progress, so please keep in mind the
        following:

        - Append only architecture. A rebuild is required to shrink the storage.

        - A bit fragile.

        - When first syncing, all history will be transferred from the remote. Be
        mindful of data caps and slow speeds.

        - Only differences are synced live.


        If you run into any issues, or have ideas about this feature, please create
        a issue on GitHub.

        I appreciate you for your great dedication.
    msgOriginCheck: "Origin check: ${org}"
    msgRebuildRequired: >-
        Rebuilding Databases are required to apply the changes.. Please select the
        method to apply the changes.


        <details>

        <summary>Legends</summary>


        | Symbol | Meaning |

        |: ------ :| ------- |

        | ⇔ | Up to Date |

        | ⇄ | Synchronise to balance |

        | ⇐,⇒ | Transfer to overwrite |

        | ⇠,⇢ | Transfer to overwrite from other side |


        </details>


        ## ${OPTION_REBUILD_BOTH}

        At a glance:  📄 ⇒¹ 💻 ⇒² 🛰️ ⇢ⁿ 💻 ⇄ⁿ⁺¹ 📄

        Reconstruct both the local and remote databases using existing files from
        this device.

        This causes a lockout other devices, and they need to perform fetching.

        ## ${OPTION_FETCH}

        At a glance: 📄 ⇄² 💻 ⇐¹ 🛰️ ⇔ 💻 ⇔ 📄

        Initialise the local database and reconstruct it using data fetched from the
        remote database.

        This case includes the case which you have rebuilt the remote database.

        ## ${OPTION_ONLY_SETTING}

        Store only the settings. **Caution: This may lead to data corruption**;
        database reconstruction is generally necessary.
    msgSelectAndApplyPreset: Please select and apply any preset item to complete the wizard.
    msgSetCorsCredentials: Set cors.credentials
    msgSetCorsOrigins: Set cors.origins
    msgSetMaxDocSize: Set couchdb.max_document_size
    msgSetMaxRequestSize: Set chttpd.max_http_request_size
    msgSetRequireValidUser: Set chttpd.require_valid_user = true
    msgSetRequireValidUserAuth: Set chttpd_auth.require_valid_user = true
    msgSettingModified: The setting "${setting}" was modified from another device.
        Click {HERE} to reload settings. Click elsewhere to ignore changes.
    msgSettingsUnchangeableDuringSync: These settings are unable to be changed
        during synchronization. Please disable all syncing in the "Sync Settings" to
        unlock.
    msgSetWwwAuth: Set httpd.WWW-Authenticate
    nameApplySettings: Apply Settings
    nameConnectSetupURI: Connect with Setup URI
    nameCopySetupURI: Copy the current settings to a Setup URI
    nameDisableHiddenFileSync: Disable Hidden files sync
    nameDiscardSettings: Discard existing settings and databases
    nameEnableHiddenFileSync: Enable Hidden files sync
    nameEnableLiveSync: Enable LiveSync
    nameHiddenFileSynchronization: Hidden file synchronization
    nameManualSetup: Manual Setup
    nameTestConnection: Test Connection
    nameTestDatabaseConnection: Test Database Connection
    nameValidateDatabaseConfig: Validate Database Configuration
    okAdminPrivileges: ✔ You have administrator privileges.
    okCorsCredentials: ✔ cors.credentials is ok.
    okCorsCredentialsForOrigin: CORS credentials OK
    okCorsOriginMatched: ✔ CORS origin OK
    okCorsOrigins: ✔ cors.origins is ok.
    okEnableCors: ✔ httpd.enable_cors is ok.
    okEnableCorsChttpd: ✔ chttpd.enable_cors is ok.
    okMaxDocumentSize: ✔ couchdb.max_document_size is ok.
    okMaxRequestSize: ✔ chttpd.max_http_request_size is ok.
    okRequireValidUser: ✔ chttpd.require_valid_user is ok.
    okRequireValidUserAuth: ✔ chttpd_auth.require_valid_user is ok.
    okWwwAuth: ✔ httpd.WWW-Authenticate is ok.
    optionApply: Apply
    optionCancel: Cancel
    optionCouchDB: CouchDB
    optionDisableAllAutomatic: Disable all automatic
    optionFetchFromRemote: Fetch from Remote
    optionHere: HERE
    optionLiveSync: LiveSync
    optionMinioS3R2: Minio,S3,R2
    optionOkReadEverything: OK, I have read everything.
    optionOnEvents: On events
    optionPeriodicAndEvents: Periodic and on events
    optionPeriodicWithBatch: Periodic w/ batch
    optionRebuildBoth: Rebuild Both from This Device
    optionSaveOnlySettings: (Danger) Save Only Settings
    panelChangeLog: Change Log
    panelGeneralSettings: General Settings
    panelPrivacyEncryption: Privacy & Encryption
    panelRemoteConfiguration: Remote Configuration
    panelSetup: Setup
    serverVersion: "Server info: ${info}"
    titleActiveRemoteServer: Active Remote Server
    titleAppearance: Appearance
    titleConflictResolution: Conflict resolution
    titleCongratulations: Congratulations!
    titleCouchDB: CouchDB
    titleDeletionPropagation: Deletion Propagation
    titleEncryptionNotEnabled: Encryption is not enabled
    titleEncryptionPassphraseInvalid: Encryption Passphrase Invalid
    titleExtraFeatures: Enable extra and advanced features
    titleFetchConfig: Fetch Config
    titleFetchConfigFromRemote: Fetch config from remote server
    titleFetchSettings: Fetch Settings
    titleHiddenFiles: Hidden Files
    titleLogging: Logging
    titleMinioS3R2: Minio,S3,R2
    titleNotification: Notification
    titleOnlineTips: Online Tips
    titleQuickSetup: Quick Setup
    titleRebuildRequired: Rebuild Required
    titleRemoteConfigCheckFailed: Remote Configuration Check Failed
    titleRemoteServer: Remote Server
    titleReset: Reset
    titleSetupOtherDevices: To setup other devices
    titleSynchronizationMethod: Synchronization Method
    titleSynchronizationPreset: Synchronization Preset
    titleSyncSettings: Sync Settings
    titleSyncSettingsViaMarkdown: Sync Settings via Markdown
    titleUpdateThinning: Update Thinning
    warnCorsOriginUnmatched: ⚠ CORS Origin is unmatched ${from}->${to}
    warnNoAdmin: ⚠ You do not have administrator privileges.
Of course, we can back up the data before proceeding.: Of course, we can back up the data before proceeding.
Off: Off
Ok: Ok
Old Algorithm: Old Algorithm
Older (${diff}): Older (${diff})
Older fallback (Slow, W/O WebAssembly): Older fallback (Slow, W/O WebAssembly)
On: On
On the source device, from the command palette, run the 'Show settings as a QR code' command.:
    On the source device, from the command palette, run the 'Show settings as a
    QR code' command.
On the source device, open Obsidian.: On the source device, open Obsidian.
On this device, please keep this Vault open.: On this device, please keep this Vault open.
On this device, switch to the camera app or use a QR code scanner to scan the displayed QR code.:
    On this device, switch to the camera app or use a QR code scanner to scan
    the displayed QR code.
Open: Open
Open connection: Open connection
Open P2P Setup...: Open P2P Setup...
Open the dialog: Open the dialog
Other files: Other files
Overwrite: Overwrite
Overwrite patterns: Overwrite patterns
Overwrite remote: Overwrite remote
Overwrite remote with local DB and passphrase.: Overwrite remote with local DB and passphrase.
Overwrite Server Data with This Device's Files: Overwrite Server Data with This Device's Files
P2P:
    AskPassphraseForDecrypt: The remote peer shared the configuration. Please input
        the passphrase to decrypt the configuration.
    AskPassphraseForShare: The remote peer requested this device configuration.
        Please input the passphrase to share the configuration. You can ignore the
        request by cancelling this dialogue.
    DisabledButNeed: "%{title_p2p_sync} is disabled. Do you really want to enable it?"
    FailedToOpen: Failed to open P2P connection to the signalling server.
    NoAutoSyncPeers: No auto-sync peers found. Please set peers on the %{long_p2p_sync} pane.
    NoKnownPeers: No peers has been detected, waiting incoming other peers...
    Note:
        description: >2-
           This replicator allows us to synchronise our vault with other devices
          using a peer-to-peer connection. We can use this to synchronise our vault
          with our other devices without using a cloud service.

          This replicator is based on Trystero. It also uses a signalling server to
          establish a connection between devices. The signalling server is used to
          exchange connection information between devices. It does (or,should) not
          know or store any of our data.


          The signalling server can be hosted by anyone. This is just a Nostr relay.
          For the sake of simplicity and checking the behaviour of the replicator,
          an instance of the signalling server is hosted by vrtmrz. You can use the
          experimental server provided by vrtmrz, or you can use any other server.


          By the way, even if the signalling server does not store our data, it can
          see the connection information of some of our devices. Please be aware of
          this. Also, be cautious when using the server provided by someone else.
        important_note: Peer-to-Peer Replicator.
        important_note_sub: This feature is still on the bleeding edge. Please be aware
            that ensure your data is backed up before using this feature. And, we
            would be so happy if you could contribute to the development of this
            feature.
        Summary: What is this feature? (and some important notes, please read once)
    NotEnabled: "%{title_p2p_sync} is not enabled. We cannot open a new connection."
    P2PReplication: "%{P2P} Replication"
    PaneTitle: "%{long_p2p_sync}"
    ReplicatorInstanceMissing: P2P Sync replicator is not found, possibly not have
        been configured or enabled.
    SeemsOffline: Peer ${name} seems offline, skipped.
    SyncAlreadyRunning: P2P Sync is already running.
    SyncCompleted: P2P Sync completed.
    SyncStartedWith: P2P Sync with ${name} have been started.
P2P Configuration: P2P Configuration
P2P Status: P2P Status
paneMaintenance:
    markDeviceResolvedAfterBackup: paneMaintenance.markDeviceResolvedAfterBackup
    remoteLockedAndDeviceNotAccepted: paneMaintenance.remoteLockedAndDeviceNotAccepted
    remoteLockedResolvedDevice: paneMaintenance.remoteLockedResolvedDevice
    unlockDatabaseReady: paneMaintenance.unlockDatabaseReady
Passphrase: Passphrase
Passphrase is required.: Passphrase is required.
Passphrase of sensitive configuration items: Passphrase of sensitive configuration items
password: password
Password: Password
Paste a connection string: Paste a connection string
Path: Path
Path Obfuscation: Path Obfuscation
Patterns to match files for overwriting instead of merging: Patterns to match files for overwriting instead of merging
Patterns to match files for syncing: Patterns to match files for syncing
"Peer ID:": "Peer ID:"
Peer to Peer Replicator: Peer to Peer Replicator
Peer-to-Peer Synchronisation: Peer-to-Peer Synchronisation
Peers: Peers
Per-file-saved customization sync: Per-file-saved customization sync
Perform: Perform
Perform cleanup: Perform cleanup
Perform Garbage Collection: Perform Garbage Collection
Perform Garbage Collection to remove unused chunks and reduce database size.: Perform Garbage Collection to remove unused chunks and reduce database size.
Periodic Sync interval: Periodic Sync interval
PERMANENT: PERMANENT
Pick a file to resolve conflict: Pick a file to resolve conflict
Pick a file to show history: 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 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 configure your end-to-end encryption settings.
Please enter the CouchDB server information below.: Please enter the CouchDB server information below.
Please enter the details required to connect to your S3/MinIO/R2 compatible object storage service.:
    Please enter the details required to connect to your S3/MinIO/R2 compatible
    object storage service.
Please enter the Peer-to-Peer Synchronisation information below.: 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.:
    Please enter the Setup URI that was generated during server installation or
    on another device, along with the vault passphrase.
Please follow the steps below to import settings from your existing device.: Please follow the steps below to import settings from your existing device.
PLEASE NOTE: PLEASE NOTE
Please select an active P2P remote configuration to change P2P sync targets.: Please select an active P2P remote configuration to change P2P sync targets.
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 data fetching
    confirmation.
Please select the button below to restart and proceed to the final confirmation.:
    Please select the button below to restart and proceed to the final
    confirmation.
Please select your situation.: 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 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 set this device name
Please understand that this is intended behaviour.: Please understand that this is intended behaviour.
Plugins: Plugins
Prepare the 'report' to create an issue: Prepare the 'report' to create an issue
Presets: Presets
Prevent fetching configuration from server: Prevent fetching configuration from server
Proceed: Proceed
Proceed to the next step.: Proceed to the next step.
Process small files in the foreground: Process small files in the foreground
Property Encryption: Property Encryption
PureJS fallback  (Fast, W/O WebAssembly): PureJS fallback  (Fast, W/O WebAssembly)
Purge all download/upload cache.: Purge all download/upload cache.
Purge all journal counter: Purge all journal counter
Rebuild local and remote database with local files.: Rebuild local and remote database with local files.
Rebuilding Operations (Remote Only): Rebuilding Operations (Remote Only)
Recovery and Repair: Recovery and Repair
Recreate all: Recreate all
Recreate missing chunks for all files: Recreate missing chunks for all files
RedFlag:
    Fetch:
        Method:
            Desc: >-
                How do you want to fetch?

                - %{RedFlag.Fetch.Method.FetchSafer}.
                  **Low Traffic**, **High CPU**, **Low Risk**
                  Recommended if ...
                  - Files possibly inconsistent
                  - Files were not so much
                - %{RedFlag.Fetch.Method.FetchSmoother}.
                  **Low Traffic**, **Moderate CPU**, **Low to Moderate Risk**
                  Recommended if ...
                  - Files probably consistent
                  - You have a lot of files.
                - %{RedFlag.Fetch.Method.FetchTraditional}.
                  **High Traffic**, **Low CPU**, **Low to Moderate Risk**

                >[!INFO]- Details

                > ## %{RedFlag.Fetch.Method.FetchSafer}.

                > **Low Traffic**, **High CPU**, **Low Risk**

                > This option first creates a local database using existing local files
                before fetching data from the remote source.

                > If matching files exist both locally and remotely, only the
                differences between them will be transferred.

                > However, files present in both locations will initially be handled as
                conflicted files. They will be resolved automatically if they are not
                actually conflicted, but this process may take time.

                > This is generally the safest method, minimizing data loss risk.

                > ## %{RedFlag.Fetch.Method.FetchSmoother}.

                > **Low Traffic**, **Moderate CPU**, **Low to Moderate Risk** (depending
                operation)

                > This option first creates chunks from local files for the database,
                then fetches data. Consequently, only chunks missing locally are
                transferred. However, all metadata is taken from the remote source.

                > Local files are then compared against this metadata at launch. The
                content considered newer will overwrite the older one (by modified
                time). This outcome is then synchronised back to the remote database.

                > This is generally safe if local files are genuinely the latest
                timestamp. However, it can cause problems if a file has a newer
                timestamp but older content (like the initial `welcome.md`).

                > This uses less CPU and faster than
                "%{RedFlag.Fetch.Method.FetchSafer}", but it may lead to data loss if
                not used carefully.

                > ## %{RedFlag.Fetch.Method.FetchTraditional}.

                > **High Traffic**, **Low CPU**, **Low to Moderate Risk** (depending
                operation)

                > All things will be fetched from the remote.

                > Similar to the %{RedFlag.Fetch.Method.FetchSmoother}, but all chunks
                are fetched from the remote source.

                > This is the most traditional way to fetch, typically consuming the
                most network traffic and time. It also carries a similar risk of
                overwriting remote files to the '%{RedFlag.Fetch.Method.FetchSmoother}'
                option.

                > However, it is often considered the most stable method because it is
                the longest-established and most straightforward approach.
            FetchSafer: Create a local database once before fetching
            FetchSmoother: Create local file chunks before fetching
            FetchTraditional: Fetch everything from the remote
            Title: How do you want to fetch?
    FetchRemoteConfig:
        Buttons:
            Cancel: No, use local settings
            Fetch: Yes, fetch and apply remote settings
        Message: Do you want to fetch and apply remotely stored preference settings to
            the device?
        Title: Fetch Remote Configuration
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.:
    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: Refresh
Region: Region
Relay settings: Relay settings
Reload: Reload
Remediation: Remediation
Remediation Setting Changed: Remediation Setting Changed
Remote Database Tweak (In sunset): Remote Database Tweak (In sunset)
Remote Databases: Remote Databases
Remote name: Remote name
Remote only: Remote only
Remote server type: Remote server type
Remote Type: Remote Type
Rename: Rename
Replicate now: Replicate now
Replicating: Replicating
Replicating...: Replicating...
Replicator:
    Dialogue:
        Locked:
            Action:
                Dismiss: Cancel for reconfirmation
                Fetch: Reset Synchronisation on This Device
                Unlock: Unlock the remote database
            Message:
                _value: >
                    Remote database is locked. This is due to a rebuild on one of the
                    terminals.

                    The device is therefore asked to withhold the connection to avoid
                    database corruption.


                    There are three options that we can do:


                    - %{Replicator.Dialogue.Locked.Action.Fetch}
                      The most preferred and reliable way. This will dispose the local database once, and reset all synchronisation information from the remote database again, In most case, we can perform this safely. However, it takes some time and should be done in stable network.
                    - %{Replicator.Dialogue.Locked.Action.Unlock}
                      This method can only be used if we are already reliably synchronised by other replication methods. This does not simply mean that we have the same files. If you are not sure, you should avoid it.
                    - %{Replicator.Dialogue.Locked.Action.Dismiss}
                        This will cancel the operation. And we will asked again on next request.
                Fetch: Fetch all has been scheduled. Plug-in will be restarted to perform it.
                Unlocked: The remote database has been unlocked. Please retry the operation.
            Title: Locked
    Message:
        Cleaned: Database cleaning up is in process. replication has been cancelled
        InitialiseFatalError: No replicator is available, this is the fatal error.
        Pending: Some file events are pending. Replication has been cancelled.
        SomeModuleFailed: Replication has been cancelled by some module failure
        VersionUpFlash: An update has been detected. Please open the Settings dialogue
            and check the Change Log. Replication has been cancelled.
Requires restart of Obsidian: Requires restart of Obsidian
Requires restart of Obsidian.: Requires restart of Obsidian.
Rerun Onboarding Wizard: Rerun Onboarding Wizard
Rerun the onboarding wizard to set up Self-hosted LiveSync again.: Rerun the onboarding wizard to set up Self-hosted LiveSync again.
Rerun Wizard: Rerun Wizard
Resend: Resend
Resend all chunks to the remote.: Resend all chunks to the remote.
Reset: Reset
Reset all: Reset all
Reset all journal counter: Reset all journal counter
Reset and Resume Synchronisation: Reset and Resume Synchronisation
Reset journal received history: Reset journal received history
Reset journal sent history: Reset journal sent history
Reset notification threshold and check the remote database usage: Reset notification threshold and check the remote database usage
Reset received: Reset received
Reset sent history: Reset sent history
Reset Synchronisation information: 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.:
    Reset the remote storage size threshold and check the remote storage size
    again.
Resolve All: Resolve All
Resolve all conflicted files: Resolve all conflicted files
Resolve All conflicted files by the newer one: 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 Fetch Data
Restart and Initialise Server: Restart and Initialise Server
Restart Now: 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?:
    Restarting Obsidian is strongly recommended. Until restart, some changes may
    not take effect, and display may be inconsistent. Are you sure to restart now?
Restore or reconstruct local database from remote.: Restore or reconstruct local database from remote.
Rev: Rev
Revert changes: Revert changes
Revoke: Revoke
Room ID: Room ID
"Room ID suffix:": "Room ID suffix:"
Run Doctor: Run Doctor
S3/MinIO/R2 Configuration: S3/MinIO/R2 Configuration
Same: Same
Same or local only: Same or local only
Save and Apply: 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.:
    Save settings to a markdown file. You will be notified when new settings
    arrive. You can set different files by the platform.
Saving will be performed forcefully after this number of seconds.: Saving will be performed forcefully after this number of seconds.
Scan changes: Scan changes
Scan changes on customization sync: Scan changes on customization sync
Scan customization automatically: Scan customization automatically
Scan customization before replicating.: Scan customization before replicating.
Scan customization every 1 minute.: Scan customization every 1 minute.
Scan customization periodically: Scan customization periodically
Scan for Broken files: Scan for Broken files
Scan for hidden files before replication: Scan for hidden files before replication
Scan hidden files periodically: Scan hidden files periodically
Scan QR Code: Scan QR Code
Schedule and Restart: Schedule and Restart
Scram Switches: Scram Switches
Scram!: Scram!
Seconds, 0 to disable: Seconds, 0 to disable
Seconds. Saving to the local database will be delayed until this value after we stop typing or saving.:
    Seconds. Saving to the local database will be delayed until this value after
    we stop typing or saving.
Secret Access Key: Secret Access Key
Secret Key: Secret Key
Select active P2P remote: Select active P2P remote
Select All Shiny: Select All Shiny
Select Flagged Shiny: Select Flagged Shiny
Select P2P remote...: Select P2P remote...
Select the database adapter to use.: 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 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.:
    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: Selective
Send: Send
Send chunks: Send chunks
SENDING: SENDING
Server URI: Server URI
SESSION: SESSION
Setting:
    GenerateKeyPair:
        Desc: >+
            We have generated a key pair!


            Note: This key pair will never be shown again. Please save it in a safe
            place. If you have lost it, you need to generate a new key pair.

            Note 2: The public key is in spki format, and the Private key is in pkcs8
            format. For the sake of convenience, newlines are converted to `\n` in
            public key.

            Note 3: The public key should be configured in the remote database, and
            the private key should be configured in local devices.


            >[!FOR YOUR EYES ONLY]-

            > <div class="sls-keypair">

            >

            > ### Public Key

            > ```

            ${public_key}

            > ```

            >

            > ### Private Key

            > ```

            ${private_key}

            > ```

            >

            > </div>


            >[!Both for copying]-

            >

            > <div class="sls-keypair">

            >

            > ```

            ${public_key}

            ${private_key}

            > ```

            >

            > </div>

        Title: New key pair has been generated!
    TroubleShooting:
        _value: TroubleShooting
        Doctor:
            _value: Setting Doctor
            Desc: Detects non optimal settings. (Same as during migration)
        ScanBrokenFiles:
            _value: Scan for broken files
            Desc: Scans for files that are not stored correctly in the database.
SettingTab:
    Message:
        AskRebuild: Your changes require fetching from the remote database. Do you want
            to proceed?
Setup:
    Apply:
        Buttons:
            ApplyAndFetch: Apply and Fetch
            ApplyAndMerge: Apply and Merge
            ApplyAndRebuild: Apply and Rebuild
            Cancel: Discard and Cancel
            OnlyApply: Only Apply
        Message: >-
            The new configuration is ready. Let us proceed to apply it.

            There are several ways to apply this:


            - Apply and Fetch
              Configure this device as a new client. After applying, synchronise from the remote server.
            - Apply and Merge
              Configure on a device that already has the file. It processes the local files and transfers the differences. Conflicts may arise.
            - Apply and Rebuild
              Rebuild the remote using local files. This is typically done if the server becomes corrupted or we wish to start from scratch.
              Other devices will be locked and required to re-fetch.
            - Only Apply
              Apply only. Conflicts may arise if a rebuild is required.
        Title: Apply new configuration from the ${method}
        WarningRebuildRecommended: "NOTE: after adjusting the settings, it has been
            determined that a rebuild is required; Just Import is not recommended."
    Doctor:
        Buttons:
            No: No, please use the settings in the URI as is
            Yes: Yes, please consult the doctor
        Message: >-
            Self-hosted LiveSync has gradually become longer in history and some
            recommended settings have changed.


            Now, setup is a very good time to do this.


            Do you want to run Doctor to check if the imported settings are optimal
            compared to the latest state?
        Title: Do you want to consult the doctor?
    FetchRemoteConf:
        Buttons:
            Fetch: Yes, please fetch the configuration
            Skip: No, please use the settings in the URI
        Message: >-
            If we have already synchronised once with another device, the remote
            database stores the suitable configuration values between the synchronised
            devices. The plug-in would like to retrieve them for robust configuration.


            However, we have to make sure the one thing. Are we currently in a
            situation where we can access the network safely and retrieve the
            settings?


            Note: Mostly, you are safe to do this, that your remote database is hosted
            with a SSL certificate, and your network is not compromised.
        Title: Fetch configuration from remote database?
    QRCode: >-
        We have generated a QR code to transfer the settings. Please scan the QR
        code with your phone or other device.

        Note: The QR code is not encrypted, so be careful to open this.


        >[!FOR YOUR EYES ONLY]-

        > <div class="sls-qr">${qr_image}</div>
    ShowQRCode:
        _value: Show QR code
        Desc: Show QR code to transfer the settings.
    RemoteE2EE:
        Title: End-to-End Encryption
        Guidance: Please configure your end-to-end encryption settings.
        LabelEncrypt: End-to-End Encryption
        PlaceholderPassphrase: Enter your passphrase
        StronglyRecommendedTitle: Strongly Recommended
        StronglyRecommendedLine1: 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.
        StronglyRecommendedLine2: 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.
        MultiDestinationWarning: This setting must be the same even when connecting to multiple synchronisation destinations.
        LabelObfuscateProperties: Obfuscate Properties
        ObfuscatePropertiesDesc: 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.
        AdvancedTitle: Advanced
        LabelEncryptionAlgorithm: Encryption Algorithm
        DefaultAlgorithmDesc: 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.
        AlgorithmWarning: 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.
        PassphraseValidationLine1: 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.
        PassphraseValidationLine2: 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. Please understand that this is intended behaviour.
        ButtonProceed: Proceed
        ButtonCancel: Cancel
    UseSetupURI:
        Title: Enter Setup URI
        GuidanceLine1: Please enter the Setup URI that was generated during server installation or on another device, along with the vault passphrase.
        GuidanceLine2: Note that you can generate a new Setup URI by running the "Copy settings as a new Setup URI" command in the command palette.
        LabelSetupURI: Setup URI
        ValidInfo: The Setup URI is valid and ready to use.
        InvalidInfo: The Setup URI is invalid. Please check it and try again.
        LabelPassphrase: Vault passphrase
        PlaceholderPassphrase: Enter your vault passphrase
        ErrorPassphraseRequired: Please enter the vault passphrase.
        ErrorFailedToParse: Failed to parse the Setup URI. Please check the URI and passphrase.
        ButtonProceed: Test Settings and Continue
        ButtonCancel: Cancel
    ScanQRCode:
        Title: Scan QR Code
        Guidance: Please follow the steps below to import settings from your existing device.
        Step1: On this device, please keep this Vault open.
        Step2: On the source device, open Obsidian.
        Step3: On the source device, from the command palette, run the 'Show settings as a QR code' command.
        Step4: On this device, switch to the camera app or use a QR code scanner to scan the displayed QR code.
        ButtonClose: Close this dialog
"Please enable 'Compute revisions for chunks' in settings to use Garbage Collection.": Please enable 'Compute revisions for chunks' in settings to use Garbage Collection.
"Please disable 'Read chunks online' in settings to use Garbage Collection.": Please disable 'Read chunks online' in settings to use Garbage Collection.
"Setup Complete: Preparing to Fetch Synchronisation Data": "Setup Complete: Preparing to Fetch Synchronisation Data"
"Setup Complete: Preparing to Initialise Server": "Setup Complete: Preparing to Initialise Server"
"Setup URI dialog cancelled.": Setup URI dialog cancelled.
"Please select 'Cancel' explicitly to cancel this operation.": Please select 'Cancel' explicitly to cancel this operation.
"Failed to connect to remote for compaction.": Failed to connect to remote for compaction.
"Failed to connect to remote for compaction. ${reason}": Failed to connect to remote for compaction. ${reason}
"Compaction in progress on remote database...": Compaction in progress on remote database...
"Compaction on remote database timed out.": Compaction on remote database timed out.
"Compaction on remote database completed successfully.": Compaction on remote database completed successfully.
"Compaction on remote database failed.": Compaction on remote database failed.
"Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.": Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.
"Cancel Garbage Collection": Cancel Garbage Collection
"No connected device information found. Cancelling Garbage Collection.": No connected device information found. Cancelling Garbage Collection.
Setup-URI: Setup-URI
Signaling Server Connection: Signaling Server Connection
Signalling Status: Signalling Status
Skip and close: Skip and close
Snippets: Snippets
Start Broadcasting: Start Broadcasting
Start change-broadcasting on Connect: Start change-broadcasting on Connect
Start Sync & Close: Start Sync & Close
Stat: Stat
Stats: Stats
Stop ⚡: Stop ⚡
Stop Broadcasting: Stop Broadcasting
Strongly Recommended: Strongly Recommended
Sync: Sync
Sync once: Sync once
Syncing...: Syncing...
Test Settings and Continue: Test Settings and Continue
The connection to the server has been configured successfully. As the next step,:
    The connection to the server has been configured successfully. As the next
    step,
The files in this Vault are almost identical to the server's.: The files in this Vault are almost identical to the server's.
"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.":
    |-
    The following accepted nodes are missing its node information:
    - ${missingNodes}

    This indicates that they have not been connected for some time or have been left on an older version.
    It 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.
"Ignore and Proceed": Ignore and Proceed
"Node Information Missing": Node Information Missing
"Garbage Collection cancelled by user.": Garbage Collection cancelled by user.
"Proceeding with Garbage Collection, ignoring missing nodes.": Proceeding with Garbage Collection, ignoring missing nodes.
"Proceed Garbage Collection": Proceed Garbage Collection
"> [!INFO]- The connected devices have been detected as follows:\n${devices}": |-
    > [!INFO]- The connected devices have been detected as follows:
    ${devices}
"Device": Device
"Node ID": Node ID
"Obsidian version": Obsidian version
"Plug-in version": Plug-in version
"Progress": 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.":
    |-
    Some devices have differing progress values (max: ${maxProgress}, min: ${minProgress}).
    This may indicate that some devices have not completed synchronisation, which could lead to conflicts. Strongly recommend confirming that all devices are synchronised before proceeding.
"All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.": All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.
"Garbage Collection Confirmation": Garbage Collection Confirmation
"Proceeding with Garbage Collection.": Proceeding with Garbage Collection.
"Garbage Collection: Scanned ${scanned} / ~${docCount}": |-
    Garbage Collection: Scanned ${scanned} / ~${docCount}
"Garbage Collection: Scanning completed. Total chunks: ${totalChunks}, Used chunks: ${usedChunks}": |-
    Garbage Collection: Scanning completed. Total chunks: ${totalChunks}, Used chunks: ${usedChunks}
"Garbage Collection: Found ${unusedChunks} unused chunks to delete.": |-
    Garbage Collection: Found ${unusedChunks} unused chunks to delete.
"Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.": |-
    Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.
"Failed to start replication after Garbage Collection.": Failed to start replication after Garbage Collection.
Should we keep folders that don't have any files inside?: Should we keep folders that don't have any files inside?
Should we only check for conflicts when a file is opened?: 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 about conflicting files when a file is opened?
Should we prompt you for every single merge, even if we can safely merge automatcially?:
    Should we prompt you for every single merge, even if we can safely merge
    automatcially?
Show full banner: Show full banner
Show history: Show history
Show icon only: Show icon only
Show only notifications: Show only notifications
Show status as icons only: Show status as icons only
Show status icon instead of file warnings banner: Show status icon instead of file warnings banner
Show status inside the editor: Show status inside the editor
Show status on the status bar: 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.
Starts synchronisation when a file is saved.: Starts synchronisation when a file is saved.
Stop reflecting database changes to storage files.: Stop reflecting database changes to storage files.
Stop watching for file changes.: Stop watching for file changes.
Storage -> Database: Storage -> Database
Suppress notification of hidden files change: Suppress notification of hidden files change
Suspend database reflecting: Suspend database reflecting
Suspend file watching: Suspend file watching
Switch to IDB: Switch to IDB
Switch to IndexedDB: Switch to IndexedDB
Sync after merging file: Sync after merging file
Sync automatically after merging files: Sync automatically after merging files
Sync Mode: Sync Mode
Sync on Editor Save: Sync on Editor Save
Sync on File Open: Sync on File Open
Sync on Save: Sync on Save
Sync on Startup: Sync on Startup
Synchronising files: Synchronising files
Syncing: Syncing
Target patterns: Target patterns
Testing only - Resolve file conflicts by syncing newer copies of the file, this can overwrite modified files. Be Warned.:
    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 delay for consecutive on-demand fetches
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.:
    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.
The Hash algorithm for chunk IDs: The Hash algorithm for chunk IDs
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.:
    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.
the latest synchronisation data will be downloaded from the server to this device.:
    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 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 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 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 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.: The minimum interval for automatic synchronisation on event.
The remote is already set up, and the configuration is compatible (or got compatible by this operation).:
    The remote is already set up, and the configuration is compatible (or got
    compatible by this operation).
The Setup-URI does not appear to be valid. Please check that you have copied it correctly.:
    The Setup-URI does not appear to be valid. Please check that you have copied
    it correctly.
The Setup-URI is valid and ready to use.: The Setup-URI is valid and ready to use.
the single, authoritative master copy: the single, authoritative master copy
the synchronisation data on the server will be built based on the current data on this device.:
    the synchronisation data on the server will be built based on the current
    data on this device.
Themes: Themes
There is a way to resolve this on other devices.: There is a way to resolve this on other devices.
There may be differences between the files in this Vault and the server.: There may be differences between the files in this Vault and the server.
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.:
    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.:
    This can isolate your connections between devices. Use the same Room ID for
    the same devices.
This device: This device
This device name: This device name
This is an extremely powerful operation. We strongly recommend that you copy your Vault folder to a safe location.:
    This is an extremely powerful operation. We strongly recommend that you copy
    your Vault folder to a safe location.
This passphrase will not be copied to another device. It will be set to `Default` until you configure it again.:
    This passphrase will not be copied to another device. It will be set to
    `Default` until you configure it again.
This password is used to encrypt the connection. Use something long enough.: 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:
    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
This setting must be the same even when connecting to multiple synchronisation destinations.:
    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.: This Vault is empty, or contains only new files that are not on the server.
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 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.:
    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 minimise the creation of new conflicts
Transfer Tweak: Transfer Tweak
TURN Credential: TURN Credential
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 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 Server URLs (comma-separated): TURN Server URLs (comma-separated)
TURN Username: TURN Username
TweakMismatchResolve:
    Action:
        Dismiss: Dismiss
        UseConfigured: Use configured settings
        UseMine: Update remote database settings
        UseMineAcceptIncompatible: Update remote database settings but keep as is
        UseMineWithRebuild: Update remote database settings and rebuild again
        UseRemote: Apply settings to this device
        UseRemoteAcceptIncompatible: Apply settings to this device, but and ignore incompatibility
        UseRemoteWithRebuild: Apply settings to this device, and fetch again
        EnableAutoAcceptCompatible: Enable auto-accept
        DisableAutoAcceptCompatible: Disable auto-accept
    Message:
        AutoAcceptCompatibleUndefined: >-

            It appears that the settings differ for each device.
            You can now automatically apply compatible changes to these configurations.

            Would you like to enable this `auto-accept` setting?
        Main: >-

            The settings in the remote database are as follows. These values are
            configured by other devices, which are synchronised with this device at
            least once.


            If you want to use these settings, please select
            %{TweakMismatchResolve.Action.UseConfigured}.

            If you want to keep the settings of this device, please select
            %{TweakMismatchResolve.Action.Dismiss}.


            ${table}


            >[!TIP]

            > If you want to synchronise all settings, please use `Sync settings via
            markdown` after applying minimal configuration with this feature.


            ${additionalMessage}
        MainTweakResolving: |-
            Your configuration has not been matched with the one on the remote server.

            Following configuration should be matched:

            ${table}

            Let us know your decision.

            ${additionalMessage}
        UseRemote:
            WarningRebuildRecommended: >-

                >[!NOTICE]

                > Some changes are compatible but may consume extra storage and transfer
                volumes. A rebuild is recommended. However, a rebuild may not be
                performed at present, but may be implemented in future maintenance.

                > ***Please ensure that you have time and are connected to a stable
                network to apply!***
            WarningRebuildRequired: >-

                >[!WARNING]

                > Some remote configurations are not compatible with the local database
                of this device. Rebuilding the local database will be required.

                > ***Please ensure that you have time and are connected to a stable
                network to apply!***
        WarningIncompatibleRebuildRecommended: >-

            >[!NOTICE]

            > We have detected that some of the values are different to make
            incompatible the local database with the remote database.

            > Some changes are compatible but may consume extra storage and transfer
            volumes. A rebuild is recommended. However, a rebuild may not be performed
            at present, but may be implemented in future maintenance.

            > If you want to rebuild, it takes a few minutes or more. **Make sure it
            is safe to perform it now.**
        WarningIncompatibleRebuildRequired: >-

            >[!WARNING]

            > We have detected that some of the values are different to make
            incompatible the local database with the remote database.

            > Either local or remote rebuilds are required. Both of them takes a few
            minutes or more. **Make sure it is safe to perform it now.**
        remoteUpdated: The configuration stored remotely has been updated.
        mineUpdated: The device configuration have been adjusted.
    Table:
        _value: |+
            | Value name | This device | On Remote |
            |: --- |: ---- :|: ---- :|
            ${rows}

        Row: "| ${name} | ${self} | ${remote} |"
    Title:
        _value: Configuration Mismatch Detected
        TweakResolving: Configuration Mismatch Detected
        UseRemoteConfig: Use Remote Configuration
        AutoAcceptCompatible: Auto-Accept Available
Unique name between all synchronized devices. To edit this setting, please disable customization sync once.:
    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.:
    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...: Updating list...
URL: URL
Use a custom passphrase: Use a custom passphrase
Use Custom HTTP Handler: Use Custom HTTP Handler
Use Diagnostic RTCPeerConnection for statistics: Use Diagnostic RTCPeerConnection for statistics
Use dynamic iteration count: Use dynamic iteration count
Use internal API: Use internal API
Use Internal API: Use Internal API
Use JWT Authentication: Use JWT Authentication
Use Path-Style Access: Use Path-Style Access
Use Random Number: Use Random Number
Use Segmented-splitter: Use Segmented-splitter
Use splitting-limit-capped chunk splitter: Use splitting-limit-capped chunk splitter
Use the trash bin: Use the trash bin
Use timeouts instead of heartbeats: Use timeouts instead of heartbeats
Use vrtmrz's relay: Use vrtmrz's relay
username: username
Username: Username
Verbose Log: Verbose Log
Verify all: Verify all
Verify and repair all files: 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.:
    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: WATCHING
We can not use "/" to the device name: We can not use "/" to the device name
We can use only Secure (HTTPS) connections on Obsidian Mobile.: We can use only Secure (HTTPS) connections on Obsidian Mobile.
We cannot change the device name while this feature is enabled. Please disable this feature to change the device name.:
    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 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.:
    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.
When you save a file in the editor, start a sync automatically: When you save a file in the editor, start a sync automatically
Write credentials in the file: Write credentials in the file
Write logs into the file: Write logs into the file
xxhash32 (Fast but less collision resistance): xxhash32 (Fast but less collision resistance)
xxhash64 (Fastest): xxhash64 (Fastest)
"Welcome to Self-hosted LiveSync": "Welcome to Self-hosted LiveSync"
"We will now guide you through a few questions to simplify the synchronisation setup.": "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.": "First, please select the option that best describes your current situation."
"I am setting this up for the first time": "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.": "(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."
"I am adding a device to an existing synchronisation setup": "I am adding a device to an existing synchronisation setup"
"(Select this if you are already using synchronisation on another computer or smartphone.) This option is suitable if you are new to LiveSync and want to set it up from scratch.": "(Select this if you are already using synchronisation on another computer or smartphone.) This option is suitable if you are new to LiveSync and want to set it up from scratch."
"Yes, I want to set up a new synchronisation": "Yes, I want to set up a new synchronisation"
"Yes, I want to add this device to my existing synchronisation": "Yes, I want to add this device to my existing synchronisation"
"No, please take me back": "No, please take me back"
"Device Setup Method": "Device Setup Method"
"You are adding this device to an existing synchronisation setup.": "You are adding this device to an existing synchronisation setup."
"Please select a method to import the settings from another device.": "Please select a method to import the settings from another device."
"Use a Setup URI (Recommended)": "Use a Setup URI (Recommended)"
"Paste the Setup URI generated from one of your active devices.": "Paste the Setup URI generated from one of your active devices."
"Scan a QR Code (Recommended for mobile)": "Scan a QR Code (Recommended for mobile)"
"Scan the QR code displayed on an active device using this device's camera.": "Scan the QR code displayed on an active device using this device's camera."
"Enter the server information manually": "Enter the server information manually"
"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."
"Proceed with Setup URI": "Proceed with Setup URI"
"I know my server details, let me enter them": "I know my server details, let me enter them"
"Please select an option to proceed": "Please select an option to proceed"
"Connection Method": "Connection Method"
"We will now proceed with the server configuration.": "We will now proceed with the server configuration."
"How would you like to configure the connection to your server?": "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.": "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."
"This is an advanced option for users who do not have a URI or who wish to configure detailed settings.": "This is an advanced option for users who do not have a URI or who wish to configure detailed settings."
"Enter Server Information": "Enter Server Information"
"Please select the type of server to which you are connecting.": "Please select the type of server to which you are connecting."
"Continue to CouchDB setup": "Continue to CouchDB setup"
"Continue to S3/MinIO/R2 setup": "Continue to S3/MinIO/R2 setup"
"Continue to Peer-to-Peer only setup": "Continue to Peer-to-Peer only setup"
"This is the most suitable synchronisation method for the design. All functions are available. You must have set up a CouchDB instance.": "This is the most suitable synchronisation method for the design. All functions are available. You must have set up a CouchDB instance."
"S3/MinIO/R2 Object Storage": "S3/MinIO/R2 Object Storage"
"Synchronisation utilising journal files. You must have set up an S3/MinIO/R2 compatible object storage.": "Synchronisation utilising journal files. You must have set up an S3/MinIO/R2 compatible object storage."
"Peer-to-Peer only": "Peer-to-Peer only"
"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 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."
Ui:
    Common:
        Signal:
            Caution: CAUTION
            Danger: DANGER
            Notice: NOTICE
            Warning: WARNING
    Settings:
        Advanced:
            LocalDatabaseTweak: Local Database Tweak
            MemoryCache: Memory Cache
            TransferTweak: Transfer Tweak
        Common:
            Analyse: Analyse
            Back: Back
            Check: Check
            Configure: Configure
            Continue: Continue
            Delete: Delete
            Fetch: Fetch
            Lock: Lock
            Merge: Merge
            Open: Open
            Overwrite: Overwrite
            Perform: Perform
            ResetAll: Reset all
            ResolveAll: Resolve All
            Scan: Scan
            Send: Send
            Use: Use
            VerifyAll: Verify all
        CustomizationSync:
            OpenDesc: Open the dialog
            Panel: Customization Sync
            WarnChangeDeviceName: We cannot change the device name while this feature is enabled. Please disable this feature to change the device name.
            WarnSetDeviceName: Please set device name to identify this device. This name should be unique among your devices. While not configured, we cannot enable this feature.
        Hatch:
            AnalyseDatabaseUsage: Analyse database usage
            AnalyseDatabaseUsageDesc: Analyse database usage and generate a TSV report for diagnosis yourself. You can paste the generated report with any spreadsheet you like.
            BackToNonConfigured: Back to non-configured
            ConvertNonObfuscated: Check and convert non-path-obfuscated files
            ConvertNonObfuscatedDesc: Check the local database for files that were stored without path obfuscation and convert them when needed.
            CopyIssueReport: Copy Report to clipboard
            DatabaseLabel: "Database: ${details}"
            DatabaseToStorage: Database -> Storage
            DeleteCustomizationSyncData: Delete all customization sync data
            GeneratedReport: Generated report
            Missing: Missing
            ModifiedSize: "Modified: ${modified}, Size: ${size}"
            ModifiedSizeActual: "Modified: ${modified}, Size: ${size} (actual size: ${actualSize})"
            PrepareIssueReport: Prepare the 'report' to create an issue
            RecreateAll: Recreate all
            RecreateMissingChunks: Recreate missing chunks for all files
            RecreateMissingChunksDesc: This will recreate chunks for all files. If there were missing chunks, this may fix the errors.
            RecoveryAndRepair: Recovery and Repair
            ResetPanel: Reset
            ResetRemoteUsage: Reset notification threshold and check the remote database usage
            ResetRemoteUsageDesc: Reset the remote storage size threshold and check the remote storage size again.
            ResolveAllConflictedFiles: Resolve all conflicted files by the newer one
            ResolveAllConflictedFilesDesc: "Resolve all conflicted files by the newer one. Caution: This will overwrite the older one, and cannot resurrect the overwritten one."
            RunDoctor: Run Doctor
            ScanBrokenFiles: Scan for broken files
            ScramSwitches: Scram Switches
            ShowHistory: Show history
            StorageLabel: "Storage: ${details}"
            StorageToDatabase: Storage -> Database
            VerifyAndRepairAllFiles: Verify and repair all files
            VerifyAndRepairAllFilesDesc: Compare the content of files between the local database and storage. If they do not match, you will be asked which one to keep.
        Maintenance:
            Cleanup: Perform cleanup
            CleanupDesc: 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.
            DeleteLocalDatabase: Delete local database to reset or uninstall Self-hosted LiveSync
            EmergencyRestart: Emergency restart
            EmergencyRestartDesc: Disable all synchronisation and restart.
            FreshStartWipe: Fresh Start Wipe
            FreshStartWipeDesc: Delete all data on the remote server.
            GarbageCollection: Garbage Collection V3 (Beta)
            GarbageCollectionAction: Perform Garbage Collection
            GarbageCollectionDesc: Perform Garbage Collection to remove unused chunks and reduce database size.
            LockServer: Lock Server
            LockServerDesc: Lock the remote server to prevent synchronisation with other devices.
            OverwriteServerData: Overwrite Server Data with This Device's Files
            OverwriteServerDataDesc: Rebuild the local and remote database with files from this device.
            OverwriteRemote: Overwrite remote
            OverwriteRemoteDesc: Overwrite remote with local DB and passphrase.
            PurgeAllJournalCounter: Purge all journal counter
            PurgeAllJournalCounterDesc: Purge all download and upload caches.
            RebuildingOperations: Rebuilding Operations (Remote Only)
            Reset: Reset
            ResetAllJournalCounter: Reset all journal counter
            ResetAllJournalCounterDesc: Initialise all journal history. On the next sync, every item will be received and sent again.
            ResetJournalReceived: Reset journal received history
            ResetJournalReceivedDesc: Initialise journal received history. On the next sync, every item except those sent by this device will be downloaded again.
            ResetReceived: Reset received
            ResetJournalSent: Reset journal sent history
            ResetJournalSentDesc: Initialise journal sent history. On the next sync, every item except those received by this device will be sent again.
            ResetLocalSyncInfo: Reset Synchronisation information
            ResetLocalSyncInfoDesc: Restore or reconstruct local database from remote.
            ResetSentHistory: Reset sent history
            ResetThisDevice: Reset Synchronisation on This Device
            Resend: Resend
            ResendDesc: Resend all chunks to the remote.
            ScheduleAndRestart: Schedule and Restart
            Scram: Scram!
            SendChunks: Send chunks
            Syncing: Syncing
            WarningLockedReadyAction: I am ready, unlock the database
            WarningLockedReadyText: 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.
            WarningLockedResolveAction: I have made a backup, mark this device as resolved
            WarningLockedResolveText: 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.
            WriteRedFlagAndRestart: Flag and restart
        Patches:
            CompatibilityConflict: Compatibility (Conflict Behaviour)
            CompatibilityDatabase: Compatibility (Database structure)
            CompatibilityInternalApi: Compatibility (Internal API Usage)
            CompatibilityMetadata: Compatibility (Metadata)
            CompatibilityRemote: Compatibility (Remote Database)
            CompatibilityTrouble: Compatibility (Trouble addressed)
            CurrentAdapter: "Current adapter: ${adapter}"
            DatabaseAdapter: Database Adapter
            DatabaseAdapterDesc: Select the database adapter to use.
            EdgeCaseBehaviour: Edge case addressing (Behaviour)
            EdgeCaseDatabase: Edge case addressing (Database)
            EdgeCaseProcessing: Edge case addressing (Processing)
            IndexedDbWarning: 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 the IDB adapter instead.
            MigrationWarning: Changing this setting requires migrating existing data, which may take some time, and restarting Obsidian. Please make sure to back up your data before proceeding.
            MigratingToIdb: Migrating all data to IDB...
            MigratingToIndexedDb: Migrating all data to IndexedDB...
            MigrationIdbCompleted: Migration to IDB completed. Obsidian will be restarted with the new configuration immediately.
            MigrationIdbCompletedFollowUp: Migration to IDB completed. Please switch the adapter and restart Obsidian.
            MigrationIndexedDbCompleted: Migration to IndexedDB completed. Obsidian will be restarted with the new configuration immediately.
            MigrationIndexedDbCompletedFollowUp: Migration to IndexedDB completed. Please switch the adapter and restart Obsidian.
            OperationToIdb: to IDB
            OperationToIndexedDb: to IndexedDB
            Remediation: Remediation
            RemediationChanged: Remediation Setting Changed
            RemediationNoLimit: No limit configured
            RemediationRestartLater: Later
            RemediationRestartMessage: Restarting Obsidian is strongly recommended. Until restart, some changes may not take effect, and the display may be inconsistent. Are you sure you want to restart now?
            RemediationRestartNow: Restart Now
            RemediationRestarting: Remediation setting changed. Restarting Obsidian...
            RemediationSuffixChanged: Suffix has been changed. Reopening database...
            RemediationWithValue: "Limit: ${date} (${timestamp})"
            RemoteDatabaseSunset: Remote Database Tweak (In sunset)
            SwitchToIDB: Switch to IDB
            SwitchToIndexedDb: Switch to IndexedDB
        PowerUsers:
            ConfigurationEncryption: Configuration Encryption
            ConnectionTweak: CouchDB Connection Tweak
            ConnectionTweakDesc: If you reached the payload size limit when using IBM Cloudant, please decrease batch size and batch limit to a lower value.
            Default: Default
            Developer: Developer
            EncryptSensitiveConfig: Encrypt sensitive configuration items
            PromptPassphraseEveryLaunch: Ask for a passphrase at every launch
            UseCustomPassphrase: Use a custom passphrase
        Remote:
            Activate: Activate
            ActiveSuffix: " (Active)"
            AddConnection: Add new connection
            AddRemoteDefaultName: New Remote
            ConfigureAndChangeRemote: Configure and change remote
            ConfigureE2EE: Configure E2EE
            ConfigureRemote: Configure Remote
            DeleteRemoteConfirm: "Delete remote configuration '${name}'?"
            DeleteRemoteTitle: Delete Remote Configuration
            DisplayName: Display name
            DuplicateRemote: Duplicate remote
            DuplicateRemoteSuffix: "${name} (Copy)"
            E2EEConfiguration: E2EE Configuration
            Export: Export
            FetchRemoteSettings: Fetch remote settings
            ImportConnection: Import connection
            ImportConnectionPrompt: Paste a connection string
            ImportedCouchDb: Imported CouchDB
            ImportedRemote: Remote
            MoreActions: More actions
            PeerToPeerPanel: Peer-to-Peer Synchronisation
            RemoteConfigurationPrefix: Remote configuration
            RemoteDatabases: Remote Databases
            RemoteName: Remote name
            RemoteNameCouchDb: "CouchDB ${host}"
            RemoteNameP2P: "P2P ${room}"
            RemoteNameS3: "S3 ${bucket}"
            Rename: Rename
        Selector:
            AddDefaultPatterns: Add default patterns
            CrossPlatform: Cross-platform
            Default: Default
            HiddenFiles: Hidden Files
            IgnorePatterns: Ignore patterns
            NonSynchronisingFiles: Non-Synchronising files
            NonSynchronisingFilesDesc: (RegExp) If this is set, any changes to local and remote files that match this will be skipped.
            NormalFiles: Normal Files
            OverwritePatterns: Overwrite patterns
            OverwritePatternsDesc: Patterns to match files for overwriting instead of merging
            SynchronisingFiles: Synchronising files
            SynchronisingFilesDesc: (RegExp) Empty to sync all files. Set a regular expression filter to limit synchronised files.
            TargetPatterns: Target patterns
            TargetPatternsDesc: Patterns to match files for syncing
        Setup:
            RerunWizardButton: Rerun Wizard
            RerunWizardDesc: Rerun the onboarding wizard to set up Self-hosted LiveSync again.
            RerunWizardName: Rerun Onboarding Wizard
        SyncSettings:
            Merge: Merge
            Fetch: Fetch
            Overwrite: Overwrite
    SetupWizard:
        Common:
            Back: No, please take me back
            Cancel: Cancel
            ProceedSelectOption: Please select an option to proceed
        Invitation:
            Start: Start setup
        Intro:
            ExistingOption: I am adding a device to an existing synchronisation setup
            ExistingOptionDesc: Select this if you are already using synchronisation on another computer or smartphone. Use this option to connect this device to that existing setup.
            NewOption: I am setting this up for the first time
            NewOptionDesc: Select this if you are configuring this device as the first synchronisation device.
            ProceedExisting: Yes, I want to add this device to my existing synchronisation
            ProceedNew: Yes, I want to set up a new synchronisation
            Question: First, please select the option that best describes your current situation.
            Title: Welcome to Self-hosted LiveSync
            Guidance: We will now guide you through a few questions to simplify the synchronisation setup.
        SelectExisting:
            Guidance: You are adding this device to an existing synchronisation setup.
            ManualOption: Configure a remote manually
            ManualOptionDesc: Configure the same remote as your other devices again manually. This is intended only for advanced users.
            ProceedManual: Proceed with manual configuration
            ProceedQr: Scan the QR code displayed on an active device using this device's camera.
            ProceedSetupUri: Proceed with Setup URI
            Question: Please select a method to import the settings from another device.
            QrOption: Scan a QR Code (Recommended for mobile)
            QrOptionDesc: Scan the QR code displayed on an active device using this device's camera.
            SetupUriOption: Use a Setup URI (Recommended)
            SetupUriOptionDesc: Paste the Setup URI generated from one of your active devices.
            Title: Device Setup Method
        SelectNew:
            Guidance: We will now configure the synchronisation connection.
            ManualOption: Configure a remote manually
            ManualOptionDesc: This is an advanced option for users who do not have a Setup URI or who want to configure detailed settings. You can also use it for P2P synchronisation instead of CouchDB or S3-compatible Object Storage.
            ProceedManual: Proceed with manual configuration
            ProceedSetupUri: Proceed with Setup URI
            Question: How would you like to configure this synchronisation connection?
            SetupUriOption: Use a Setup URI (Recommended)
            SetupUriOptionDesc: A Setup URI is a single string containing connection and authentication details. When one is available from a setup script, it provides a simple and secure configuration method.
            Title: Connection Method
        OutroAskUserMode:
            CompatibleOption: The remote is already set up, and the configuration is compatible (or became compatible through this operation).
            CompatibleOptionDesc: Unless you are certain, selecting this option is risky. It assumes the server configuration is compatible with this device. If that is not the case, data loss may occur. Please make sure you understand the consequences.
            ExistingOption: My remote server is already set up. I want to join this device.
            ExistingOptionDesc: Selecting this option will make this device join the existing server. You need to fetch the existing synchronisation data from the server to this device.
            Guidance: The connection to the server has been configured successfully. As the next step, the local database, in other words the synchronisation information, must be rebuilt.
            NewOption: I am setting up a new server for the first time / I want to reset my existing server.
            NewOptionDesc: Selecting this option will initialise the server using the current data on this device. Any existing data on the server will be completely overwritten.
            ProceedApplySettings: Apply the settings
            ProceedNext: Proceed to the next step.
            Question: Please select your situation.
            Title: "Mostly Complete: Decision Required"
        OutroNewUser:
            GuidancePrimary: The connection to the server has been configured successfully. As the next step, the synchronisation data on the server will be built from the current data on this device.
            GuidanceWarning: After restarting, the data on this device will be uploaded to the server as the master copy. Please note that any unintended data currently on the server will be completely overwritten.
            Important: IMPORTANT
            Proceed: Restart and Initialise Server
            Question: Please select the button below to restart and proceed to the final confirmation.
            Title: "Setup Complete: Preparing to Initialise Server"
        OutroNewP2PUser:
            GuidanceNotice: P2P has no central server copy to overwrite. This step prepares only this device; keep it online when another device fetches its initial data.
            GuidancePrimary: The peer-to-peer connection has been configured successfully. Next, the local LiveSync database will be built from the current files in this Vault.
            Important: PLEASE NOTE
            Proceed: Restart and Prepare This Device
            Question: Please select the button below to restart and proceed to the local initialisation confirmation.
            Title: "Setup Complete: Preparing This P2P Device"
        RebuildEverythingP2P:
            ConfirmLocalReset: I understand that this resets only this device's local synchronisation database.
            ConfirmLocalResetNote: The files currently in this Vault are used to rebuild it.
            ConfirmTitle: "⚠️ Please Confirm the Following"
            Guidance: This procedure will discard the local LiveSync database on this device and rebuild it from the current files in this Vault. It does not delete or overwrite data on another device.
            Note: Keep this device online after initialisation so that another device can fetch the Vault from it.
            Proceed: I Understand, Prepare This Device
            Title: "Final Confirmation: Prepare This Device for P2P"
        SetupRemote:
            BucketOption: S3-compatible Object Storage
            BucketOptionDesc: Synchronisation using journal files. You must already have an S3-compatible Object Storage service set up, such as Amazon S3, MinIO, or Cloudflare R2.
            CouchDbOptionDesc: This is the most suitable synchronisation method for the current design. All features are available. You must already have a CouchDB instance set up.
            Guidance: Select the remote type for this synchronisation setup.
            P2POption: Peer-to-Peer (P2P)
            P2POptionDesc: This enables direct synchronisation between devices. No server is required, but both devices must be online at the same time and some features may be limited. Internet connectivity is required only for signalling, not for data transfer.
            ProceedBucket: Continue to Object Storage setup
            ProceedCouchDb: Continue to CouchDB setup
            ProceedP2P: Continue to P2P setup
            Title: Choose a synchronisation remote

You can configure in the Obsidian Plugin Settings.: You can configure in the Obsidian Plugin Settings.

You should create a new synchronisation destination and rebuild your data there.:
    You should create a new synchronisation destination and rebuild your data
    there.
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.:
    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.
