{
", 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.",
"(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.",
"(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.",
"↑: Overwrite Remote": "↑: Overwrite Remote",
"↓: Overwrite Local": "↓: Overwrite Local",
"⇅: Use newer": "⇅: Use newer",
"+1 week": "+1 week",
"> [!INFO]- The connected devices have been detected as follows:\n${devices}": "> [!INFO]- The connected devices have been detected as follows:\n${devices}",
"⚠️ 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!",
"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.",
"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",
"Adaptive Journal (experimental)": "Adaptive Journal (experimental)",
"Adaptive Journal uses immutable objects and a separate remote format. Existing Opaque Journal data is not migrated or read. Rebuild the remote when changing formats.": "Adaptive Journal uses immutable objects and a separate remote format. Existing Opaque Journal data is not migrated or read. Rebuild the remote when changing formats.",
"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 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.",
"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",
"Cancel Garbage Collection": "Cancel Garbage Collection",
"Changing the encryption algorithm will prevent access to any data previously encrypted with a different algorithm. Ensure that all your devices are configured to use the same algorithm to maintain access to your data.": "Changing 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",
"Compaction in progress on remote database...": "Compaction in progress on remote database...",
"Compaction on remote database completed successfully.": "Compaction on remote database completed successfully.",
"Compaction on remote database failed.": "Compaction on remote database failed.",
"Compaction on remote database timed out.": "Compaction on remote database timed out.",
"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)",
"Complete Pack reads favour throughput. Range reads can reduce transferred bytes. The connection test verifies exact Range support on this endpoint, and synchronisation refuses an unsupported selection before writing.": "Complete Pack reads favour throughput. Range reads can reduce transferred bytes. The connection test verifies exact Range support on this endpoint, and synchronisation refuses an unsupported selection before writing.",
"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",
"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.",
"Connect": "Connect",
"Connected to Signaling Server (as Peer ID: ${peerId})": "Connected to Signaling Server (as Peer ID: ${peerId})",
"Connected:": "Connected:",
"Connection Method": "Connection Method",
"Connection Settings": "Connection Settings",
"Connection:": "Connection:",
"Continue anyway": "Continue anyway",
"Continue to CouchDB setup": "Continue to CouchDB setup",
"Continue to Peer-to-Peer only setup": "Continue to Peer-to-Peer only setup",
"Continue to S3/MinIO/R2 setup": "Continue to S3/MinIO/R2 setup",
"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": "Device",
"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",
"Device Setup Method": "Device Setup Method",
"Devices:": "Devices:",
"Diagnostic RTCPeerConnection is enabled": "Diagnostic RTCPeerConnection is enabled",
"dialog.yourLanguageAvailable": "Self-hosted LiveSync had translations for your language, so the %{Display language} setting was enabled.\n\nNote: Not all messages are translated. We are waiting for your contributions!\nNote 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.\nMay you find it easy to use!",
"dialog.yourLanguageAvailable.btnRevertToDefault": "Keep %{lang-def}",
"dialog.yourLanguageAvailable.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",
"Doctor.Button.Fix": "Fix it",
"Doctor.Button.FixButNoRebuild": "Fix it but no rebuild",
"Doctor.Button.No": "No",
"Doctor.Button.Skip": "Leave it as is",
"Doctor.Button.Yes": "Yes",
"Doctor.Dialogue.Main": "Hi! Config Doctor has been activated because of ${activateReason}!\nAnd, unfortunately some configurations were detected as potential problems.\nPlease be assured. Let's solve them one by one.\n\nTo let you know ahead of time, we will ask you about the following items.\n\n${issues}\n\nShall we get started?",
"Doctor.Dialogue.MainFix": "\n## ${name}\n\n| Current | Ideal |\n|:---:|:---:|\n| ${current} | ${ideal} |\n\n**Recommendation Level:** ${level}\n\n### Why this has been detected?\n\n${reason}\n\n${note}\n\nFix this to the ideal value?",
"Doctor.Dialogue.Title": "Self-hosted LiveSync Config Doctor",
"Doctor.Dialogue.TitleAlmostDone": "Almost done!",
"Doctor.Dialogue.TitleFix": "Fix issue ${current}/${total}",
"Doctor.Level.Must": "Must",
"Doctor.Level.Necessary": "Necessary",
"Doctor.Level.Optional": "Optional",
"Doctor.Level.Recommended": "Recommended",
"Doctor.Message.NoIssues": "No issues detected!",
"Doctor.Message.RebuildLocalRequired": "Attention! A local database rebuild is required to apply this!",
"Doctor.Message.RebuildRequired": "Attention! A rebuild is required to apply this!",
"Doctor.Message.SomeSkipped": "We left some issues as is. Shall I ask you again on next startup?",
"Doctor.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",
"Download complete Packs": "Download complete Packs",
"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 Server Information": "Enter Server Information",
"Enter Setup URI": "Enter Setup URI",
"Enter the server information manually": "Enter the server information manually",
"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 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}",
"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 to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.": "Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.",
"Failed to start replication after Garbage Collection.": "Failed to start replication after Garbage Collection.",
"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",
"First, please select the option that best describes your current situation.": "First, please select the option that best describes your current situation.",
"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 cancelled by user.": "Garbage Collection cancelled by user.",
"Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.": "Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.",
"Garbage Collection Confirmation": "Garbage Collection Confirmation",
"Garbage Collection V3 (Beta)": "Garbage Collection V3 (Beta)",
"Garbage Collection: Found ${unusedChunks} unused chunks to delete.": "Garbage Collection: Found ${unusedChunks} unused chunks to delete.",
"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}",
"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.",
"How would you like to configure the connection to your server?": "How would you like to configure the connection to your server?",
"However, This should not be enabled if you want to increase your secrecy more.": "However, This should not be enabled if you want to increase your secrecy more.",
"I am adding a device to an existing synchronisation setup": "I am adding a device to an existing synchronisation setup",
"I am setting this up for the first time": "I am setting this up for the first time",
"I am setting up a new server for the first time / I want to reset my existing server.": "I am 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 know my server details, let me enter them": "I know my server details, let me enter them",
"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 and Proceed": "Ignore and Proceed",
"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)",
"Invalid Object Storage settings: ${reason}": "Invalid Object Storage settings: ${reason}",
"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.",
"Journal data format": "Journal data format",
"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",
"K.long_p2p_sync": "%{title_p2p_sync}",
"K.P2P": "%{Peer}-to-%{Peer}",
"K.Peer": "Peer",
"K.ScanCustomization": "Scan customization",
"K.short_p2p_sync": "P2P Sync",
"K.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...",
"liveSyncReplicator.cantReplicateLowerValue": "We can't replicate more lower value.",
"liveSyncReplicator.checkingLastSyncPoint": "Looking for the point last synchronized point.",
"liveSyncReplicator.couldNotConnectTo": "Could not connect to ${uri} : ${name}\n(${db})",
"liveSyncReplicator.couldNotConnectToRemoteDb": "Could not connect to remote database: ${d}",
"liveSyncReplicator.couldNotConnectToServer": "The connection to the remote has been prevented, or failed.",
"liveSyncReplicator.couldNotConnectToURI": "Could not connect to ${uri}:${dbRet}",
"liveSyncReplicator.couldNotMarkResolveRemoteDb": "Could not mark resolve remote database.",
"liveSyncReplicator.liveSyncBegin": "LiveSync begin...",
"liveSyncReplicator.lockRemoteDb": "Lock remote database to prevent data corruption",
"liveSyncReplicator.markDeviceResolved": "Mark this device as 'resolved'.",
"liveSyncReplicator.mismatchedTweakDetected": "Some mismatches have been detected in the configuration between devices. Running a manual replication will attempt to resolve this issue.",
"liveSyncReplicator.oneShotSyncBegin": "OneShot Sync begin... (${syncMode})",
"liveSyncReplicator.remoteDbCorrupted": "Remote database is newer or corrupted, make sure to latest version of self-hosted-livesync installed",
"liveSyncReplicator.remoteDbCreatedOrConnected": "Remote Database Created or Connected",
"liveSyncReplicator.remoteDbDestroyed": "Remote Database Destroyed",
"liveSyncReplicator.remoteDbDestroyError": "Something happened on Remote Database Destroy:",
"liveSyncReplicator.remoteDbMarkedResolved": "Remote database has been marked resolved.",
"liveSyncReplicator.replicationClosed": "Replication closed",
"liveSyncReplicator.replicationInProgress": "Replication is already in progress",
"liveSyncReplicator.retryLowerBatchSize": "Retry with lower batch size:${batch_size}/${batches_limit}",
"liveSyncReplicator.unlockRemoteDb": "Unlock remote database to prevent data corruption",
"liveSyncSetting.errorNoSuchSettingItem": "No such setting item: ${key}",
"liveSyncSetting.originalValue": "Original: ${value}",
"liveSyncSetting.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",
"logPane.logWindowOpened": "Log window opened",
"logPane.pause": "Pause",
"logPane.title": "Self-hosted LiveSync Log",
"logPane.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",
"moduleCheckRemoteSize.logCurrentStorageSize": "Remote storage size: ${measuredSize}",
"moduleCheckRemoteSize.logExceededWarning": "Remote storage size: ${measuredSize} exceeded ${notifySize}",
"moduleCheckRemoteSize.logThresholdEnlarged": "Threshold has been enlarged to ${size}MB",
"moduleCheckRemoteSize.msgConfirmRebuild": "This may take a bit of a long time. Do you really want to rebuild everything now?",
"moduleCheckRemoteSize.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.\n\n| Measured size | Configured size |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 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.\n>\n> 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).\n>\n> 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.\n>\n\n> [!WARNING]\n> If you perform rebuild everything, make sure all devices are synchronised. The plug-in will merge as much as possible, though.\n",
"moduleCheckRemoteSize.msgSetDBCapacity": "We can set a maximum database capacity warning, **to take action before running out of space on the remote storage**.\nDo you want to enable this?\n\n> [!MORE]-\n> - 0: Do not warn about storage size.\n> 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.\n> - 800: Warn if the remote storage size exceeds 800MB.\n> This is recommended if you are using fly.io with 1GB limit or IBM Cloudant.\n> - 2000: Warn if the remote storage size exceeds 2GB.\n\nIf we have reached the limit, we will be asked to enlarge the limit step by step.\n",
"moduleCheckRemoteSize.noticeExceeded": "Remote storage size is ${measuredSize}, above the configured ${notifySize} notification threshold. {HERE}",
"moduleCheckRemoteSize.noticeNotConfigured": "Remote storage size notifications are not configured. {HERE}",
"moduleCheckRemoteSize.option2GB": "2GB (Standard)",
"moduleCheckRemoteSize.option800MB": "800MB (Cloudant, fly.io)",
"moduleCheckRemoteSize.optionAskMeLater": "Ask me later",
"moduleCheckRemoteSize.optionDismiss": "Dismiss",
"moduleCheckRemoteSize.optionIncreaseLimit": "increase to ${newMax}MB",
"moduleCheckRemoteSize.optionNoWarn": "No, never warn please",
"moduleCheckRemoteSize.optionRebuildAll": "Rebuild Everything Now",
"moduleCheckRemoteSize.optionReview": "Review options",
"moduleCheckRemoteSize.titleDatabaseSizeLimitExceeded": "Remote storage size exceeded the limit",
"moduleCheckRemoteSize.titleDatabaseSizeNotify": "Setting up database size notification",
"moduleInputUIObsidian.defaultTitleConfirmation": "Confirmation",
"moduleInputUIObsidian.defaultTitleSelect": "Select",
"moduleInputUIObsidian.optionNo": "No",
"moduleInputUIObsidian.optionYes": "Yes",
"moduleLiveSyncMain.logAdditionalSafetyScan": "Additional safety scan...",
"moduleLiveSyncMain.logLoadingPlugin": "Loading plugin...",
"moduleLiveSyncMain.logPluginInitCancelled": "Plugin initialisation was cancelled by a module",
"moduleLiveSyncMain.logPluginVersion": "Self-hosted LiveSync v${manifestVersion} ${packageVersion}",
"moduleLiveSyncMain.logReadChangelog": "LiveSync has updated, please read the changelog!",
"moduleLiveSyncMain.logSafetyScanCompleted": "Additional safety scan completed",
"moduleLiveSyncMain.logSafetyScanFailed": "Additional safety scan has failed on a module",
"moduleLiveSyncMain.logUnloadingPlugin": "Unloading plugin...",
"moduleLiveSyncMain.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.",
"moduleLiveSyncMain.msgScramEnabled": "Self-hosted LiveSync has been configured to ignore some events. Is this correct?\n\n| Type | Status | Note |\n|:---:|:---:|---|\n| Storage Events | ${fileWatchingStatus} | Every modification will be ignored |\n| Database Events | ${parseReplicationStatus} | Every synchronised change will be postponed |\n\nDo you want to resume them and restart Obsidian?\n\n> [!DETAILS]-\n> These flags are set by the plug-in while rebuilding, or fetching. If the process ends abnormally, it may be kept unintended.\n> If you are not sure, you can try to rerun these processes. Make sure to back your vault up.\n",
"moduleLiveSyncMain.optionKeepLiveSyncDisabled": "Keep LiveSync disabled",
"moduleLiveSyncMain.optionResumeAndRestart": "Resume and restart Obsidian",
"moduleLiveSyncMain.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",
"moduleMigration.fix0256.buttons.checkItLater": "Check it later",
"moduleMigration.fix0256.buttons.DismissForever": "I have fixed it, and do not ask again",
"moduleMigration.fix0256.buttons.fix": "Fix",
"moduleMigration.fix0256.message": "Due to a recent bug (in v0.25.6), some files may not have been saved correctly in the sync database.\nWe have scanned our files and found some that need to be fixed.\n\n**Files ready to be fixed:**\n\n${files}\n\nThese files have size-matched original file on the storage, and are likely to be recoverable.\nWe can use them to fix the database, please click the \"Fix\" button below to fix them.\n\n${messageUnrecoverable}\n\nIf you want to run it again, you can do so from Hatch.\n",
"moduleMigration.fix0256.messageUnrecoverable": "**Files cannot be fixed on this device:**\n\n${filesNotRecoverable}\n\nThese files have inconsistent metadata, and cannot be fixed on this device (mostly we cannot determine which is correct).\nTo restore them, please check your other devices (also by this feature) or restore them manually from a backup.\n",
"moduleMigration.fix0256.title": "Broken files has been detected",
"moduleMigration.insecureChunkExist.buttons.fetch": "I already rebuilt the remote. Fetch from the remote",
"moduleMigration.insecureChunkExist.buttons.later": "I will do it later",
"moduleMigration.insecureChunkExist.buttons.rebuild": "Rebuild Everything",
"moduleMigration.insecureChunkExist.laterMessage": "We strongly recommend to treat this as soon as possible!",
"moduleMigration.insecureChunkExist.message": "Some chunks are not securely stored and are not encrypted in databases.\n**Please rebuild the database to fix this issue**.\n\nIf your Remote Database is not configured with SSL, or using less-secure credentials, **you are at risk of exposing sensitive data**.\n\nNote: Please upgrade your Self-hosted LiveSync v0.25.6 or higher on all your devices, and back your vault up surely.\nNote2: Rebuild Everything and Fetch consumes a bit of time and traffic, please do it in off-peak hours and ensure a stable network connection.\n",
"moduleMigration.insecureChunkExist.title": "Insecure chunks found!",
"moduleMigration.logBulkSendCorrupted": "Send chunks in bulk has been enabled, however, this feature had been corrupted. Sorry for your inconvenience. Automatically disabled.",
"moduleMigration.logFetchRemoteTweakFailed": "Failed to fetch remote tweak values",
"moduleMigration.logLocalDatabaseNotReady": "Something went wrong! The local database is not ready",
"moduleMigration.logMigratedSameBehaviour": "Migrated to db:${current} with the same behaviour as before",
"moduleMigration.logMigrationFailed": "Migration failed or cancelled from ${old} to ${current}",
"moduleMigration.logRedflag2CreationFail": "Failed to create redflag2",
"moduleMigration.logRemoteTweakUnavailable": "Could not get remote tweak values",
"moduleMigration.logSetupCancelled": "The setup has been cancelled, Self-hosted LiveSync waiting for your setup!",
"moduleMigration.msgFetchRemoteAgain": "As you may already know, the self-hosted LiveSync has changed its default behaviour and database structure.\n\nAnd thankfully, with your time and efforts, the remote database appears to have already been migrated. Congratulations!\n\nHowever, 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?\n\n___Note: We cannot synchronise until the configuration has been changed and the database has been fetched again.___\n___Note2: The chunks are completely immutable, we can fetch only the metadata and difference.___",
"moduleMigration.msgInitialSetup": "Your device has **not been set up yet**. Let me guide you through the setup process.\n\nPlease 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.\n\nFirst, do you have **Setup URI**?\n\nNote: If you do not know what it is, please refer to the [documentation](${URI_DOC}).",
"moduleMigration.msgRecommendSetupUri": "We strongly recommend that you generate a set-up URI and use it.\nIf you do not have knowledge about it, please refer to the [documentation](${URI_DOC}) (Sorry again, but it is important).\n\nHow do you want to set it up manually?",
"moduleMigration.msgSinceV02321": "Since v0.23.21, the self-hosted LiveSync has changed the default behaviour and database structure. The following changes have been made:\n\n1. **Case sensitivity of filenames**\n 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.\n (On These, a warning will be displayed for files with the same name but different cases).\n\n2. **Revision handling of the chunks**\n Chunks are immutable, which allows their revisions to be fixed. This change will enhance the performance of file saving.\n\n___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.___\n\n- If you wish to maintain the previous behaviour, you can skip this process by using `${KEEP}`.\n- If you do not have enough time, please choose `${DISMISS}`. You will be prompted again later.\n- 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.",
"moduleMigration.optionAdjustRemote": "Adjust to remote",
"moduleMigration.optionDecideLater": "Decide it later",
"moduleMigration.optionEnableBoth": "Enable both",
"moduleMigration.optionEnableFilenameCaseInsensitive": "Enable only #1",
"moduleMigration.optionEnableFixedRevisionForChunks": "Enable only #2",
"moduleMigration.optionHaveSetupUri": "Yes, I have",
"moduleMigration.optionKeepPreviousBehaviour": "Keep previous behaviour",
"moduleMigration.optionManualSetup": "Set it up all manually",
"moduleMigration.optionNoAskAgain": "No, please ask again",
"moduleMigration.optionNoSetupUri": "No, I do not have",
"moduleMigration.optionRemindNextLaunch": "Remind me at the next launch",
"moduleMigration.optionSetupViaP2P": "Use %{short_p2p_sync} to set up",
"moduleMigration.optionSetupWizard": "Take me into the setup wizard",
"moduleMigration.optionYesFetchAgain": "Yes, fetch again",
"moduleMigration.titleCaseSensitivity": "Case Sensitivity",
"moduleMigration.titleRecommendSetupUri": "Recommendation to use Setup URI",
"moduleMigration.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 connected device information found. Cancelling Garbage Collection.": "No connected device information found. Cancelling Garbage Collection.",
"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",
"No, please take me back": "No, please take me back",
"Node ID": "Node ID",
"Node Information Missing": "Node Information Missing",
"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.",
"Obsidian version": "Obsidian version",
"obsidianLiveSyncSettingTab.btnApply": "Apply",
"obsidianLiveSyncSettingTab.btnCheck": "Check",
"obsidianLiveSyncSettingTab.btnCopy": "Copy",
"obsidianLiveSyncSettingTab.btnDisable": "Disable",
"obsidianLiveSyncSettingTab.btnDiscard": "Discard",
"obsidianLiveSyncSettingTab.btnEnable": "Enable",
"obsidianLiveSyncSettingTab.btnFix": "Fix",
"obsidianLiveSyncSettingTab.btnGotItAndUpdated": "I got it and updated.",
"obsidianLiveSyncSettingTab.btnNext": "Next",
"obsidianLiveSyncSettingTab.btnStart": "Start",
"obsidianLiveSyncSettingTab.btnTest": "Test",
"obsidianLiveSyncSettingTab.btnUse": "Use",
"obsidianLiveSyncSettingTab.buttonFetch": "Fetch",
"obsidianLiveSyncSettingTab.buttonNext": "Next",
"obsidianLiveSyncSettingTab.defaultLanguage": "Default",
"obsidianLiveSyncSettingTab.descConnectSetupURI": "This is the recommended method to set up Self-hosted LiveSync with a Setup URI.",
"obsidianLiveSyncSettingTab.descCopySetupURI": "Perfect for setting up a new device!",
"obsidianLiveSyncSettingTab.descEnableLiveSync": "Only enable this after configuring either of the above two options or completing all configuration manually.",
"obsidianLiveSyncSettingTab.descFetchConfigFromRemote": "Fetch necessary settings from already configured remote server.",
"obsidianLiveSyncSettingTab.descManualSetup": "Not recommended, but useful if you don't have a Setup URI",
"obsidianLiveSyncSettingTab.descTestDatabaseConnection": "Open database connection. If the remote database is not found and you have permission to create a database, the database will be created.",
"obsidianLiveSyncSettingTab.descValidateDatabaseConfig": "Checks and fixes any potential issues with the database config.",
"obsidianLiveSyncSettingTab.errAccessForbidden": "❗ Access forbidden.",
"obsidianLiveSyncSettingTab.errCannotContinueTest": "We could not continue the test.",
"obsidianLiveSyncSettingTab.errCorsCredentials": "❗ cors.credentials is wrong",
"obsidianLiveSyncSettingTab.errCorsNotAllowingCredentials": "❗ CORS is not allowing credentials",
"obsidianLiveSyncSettingTab.errCorsOrigins": "❗ cors.origins is wrong",
"obsidianLiveSyncSettingTab.errEnableCors": "❗ httpd.enable_cors is wrong",
"obsidianLiveSyncSettingTab.errEnableCorsChttpd": "❗ chttpd.enable_cors is wrong",
"obsidianLiveSyncSettingTab.errMaxDocumentSize": "❗ couchdb.max_document_size is low)",
"obsidianLiveSyncSettingTab.errMaxRequestSize": "❗ chttpd.max_http_request_size is low)",
"obsidianLiveSyncSettingTab.errMissingWwwAuth": "❗ httpd.WWW-Authenticate is missing",
"obsidianLiveSyncSettingTab.errRequireValidUser": "❗ chttpd.require_valid_user is wrong.",
"obsidianLiveSyncSettingTab.errRequireValidUserAuth": "❗ chttpd_auth.require_valid_user is wrong.",
"obsidianLiveSyncSettingTab.labelDisabled": "⏹️ : Disabled",
"obsidianLiveSyncSettingTab.labelEnabled": "🔁 : Enabled",
"obsidianLiveSyncSettingTab.levelAdvanced": " (Advanced)",
"obsidianLiveSyncSettingTab.levelEdgeCase": " (Edge Case)",
"obsidianLiveSyncSettingTab.levelPowerUser": " (Power User)",
"obsidianLiveSyncSettingTab.linkOpenInBrowser": "Open in browser",
"obsidianLiveSyncSettingTab.linkPageTop": "Page Top",
"obsidianLiveSyncSettingTab.linkTipsAndTroubleshooting": "Tips and Troubleshooting",
"obsidianLiveSyncSettingTab.linkTroubleshooting": "/docs/troubleshooting.md",
"obsidianLiveSyncSettingTab.logCannotUseCloudant": "This feature cannot be used with IBM Cloudant.",
"obsidianLiveSyncSettingTab.logCheckingConfigDone": "Checking configuration done",
"obsidianLiveSyncSettingTab.logCheckingConfigFailed": "Checking configuration failed",
"obsidianLiveSyncSettingTab.logCheckingDbConfig": "Checking database configuration",
"obsidianLiveSyncSettingTab.logCheckPassphraseFailed": "ERROR: Failed to check passphrase with the remote server:\n${db}.",
"obsidianLiveSyncSettingTab.logConfiguredDisabled": "Configured synchronization mode: DISABLED",
"obsidianLiveSyncSettingTab.logConfiguredLiveSync": "Configured synchronization mode: LiveSync",
"obsidianLiveSyncSettingTab.logConfiguredPeriodic": "Configured synchronization mode: Periodic",
"obsidianLiveSyncSettingTab.logCouchDbConfigFail": "CouchDB Configuration: ${title} failed",
"obsidianLiveSyncSettingTab.logCouchDbConfigSet": "CouchDB Configuration: ${title} -> Set ${key} to ${value}",
"obsidianLiveSyncSettingTab.logCouchDbConfigUpdated": "CouchDB Configuration: ${title} successfully updated",
"obsidianLiveSyncSettingTab.logDatabaseConnected": "Database connected",
"obsidianLiveSyncSettingTab.logEncryptionNoPassphrase": "You cannot enable encryption without a passphrase",
"obsidianLiveSyncSettingTab.logEncryptionNoSupport": "Your device does not support encryption.",
"obsidianLiveSyncSettingTab.logErrorOccurred": "An error occurred!!",
"obsidianLiveSyncSettingTab.logEstimatedSize": "Estimated size: ${size}",
"obsidianLiveSyncSettingTab.logPassphraseInvalid": "Passphrase is not valid, please fix it.",
"obsidianLiveSyncSettingTab.logPassphraseNotCompatible": "ERROR: Passphrase is not compatible with the remote server! Please check it again!",
"obsidianLiveSyncSettingTab.logRebuildNote": "Syncing has been disabled, fetch and re-enabled if desired.",
"obsidianLiveSyncSettingTab.logSelectAnyPreset": "Select any preset.",
"obsidianLiveSyncSettingTab.logServerConfigurationCheck": "obsidianLiveSyncSettingTab.logServerConfigurationCheck",
"obsidianLiveSyncSettingTab.msgAreYouSureProceed": "Are you sure to proceed?",
"obsidianLiveSyncSettingTab.msgChangesNeedToBeApplied": "Changes need to be applied!",
"obsidianLiveSyncSettingTab.msgConfigCheck": "--Config check--",
"obsidianLiveSyncSettingTab.msgConfigCheckFailed": "The configuration check has failed. Do you want to continue anyway?",
"obsidianLiveSyncSettingTab.msgConnectionCheck": "--Connection check--",
"obsidianLiveSyncSettingTab.msgConnectionProxyNote": "If you're having trouble with the Connection-check (even after checking config), please check your reverse proxy configuration.",
"obsidianLiveSyncSettingTab.msgCurrentOrigin": "Current origin: ${origin}",
"obsidianLiveSyncSettingTab.msgDiscardConfirmation": "Do you really want to discard existing settings and databases?",
"obsidianLiveSyncSettingTab.msgDone": "--Done--",
"obsidianLiveSyncSettingTab.msgEnableCors": "Set httpd.enable_cors",
"obsidianLiveSyncSettingTab.msgEnableCorsChttpd": "Set chttpd.enable_cors",
"obsidianLiveSyncSettingTab.msgEnableEncryptionRecommendation": "We recommend enabling End-To-End Encryption, and Path Obfuscation. Are you sure you want to continue without encryption?",
"obsidianLiveSyncSettingTab.msgFetchConfigFromRemote": "Do you want to fetch the config from the remote server?",
"obsidianLiveSyncSettingTab.msgGenerateSetupURI": "All done! Do you want to generate a setup URI to set up other devices?",
"obsidianLiveSyncSettingTab.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.",
"obsidianLiveSyncSettingTab.msgInvalidPassphrase": "Your encryption passphrase might be invalid. Are you sure you want to continue?",
"obsidianLiveSyncSettingTab.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.",
"obsidianLiveSyncSettingTab.msgNonHTTPSInfo": "Configured as non-HTTPS URI. Be warned that this may not work on mobile devices.",
"obsidianLiveSyncSettingTab.msgNonHTTPSWarning": "Cannot connect to non-HTTPS URI. Please update your config and try again.",
"obsidianLiveSyncSettingTab.msgNotice": "---Notice---",
"obsidianLiveSyncSettingTab.msgObjectStorageWarning": "WARNING: This feature is a Work In Progress, so please keep in mind the following:\n- Append only architecture. A rebuild is required to shrink the storage.\n- A bit fragile.\n- When first syncing, all history will be transferred from the remote. Be mindful of data caps and slow speeds.\n- Only differences are synced live.\n\nIf you run into any issues, or have ideas about this feature, please create a issue on GitHub.\nI appreciate you for your great dedication.",
"obsidianLiveSyncSettingTab.msgOriginCheck": "Origin check: ${org}",
"obsidianLiveSyncSettingTab.msgRebuildRequired": "Rebuilding Databases are required to apply the changes.. Please select the method to apply the changes.\n\nLegends
\n\n| Symbol | Meaning |\n|: ------ :| ------- |\n| ⇔ | Up to Date |\n| ⇄ | Synchronise to balance |\n| ⇐,⇒ | Transfer to overwrite |\n| ⇠,⇢ | Transfer to overwrite from other side |\n\n