{
"(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)",
"(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)",
"(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.",
"> [!INFO]- The connected devices have been detected as follows:\n${devices}": "> [!INFO]- The connected devices have been detected as follows:\n${devices}",
"A Setup URI is a single string of text containing your server address and authentication details. Using a URI, if one was generated by your server installation script, provides a simple and secure configuration.": "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.",
"Access Key": "Access Key",
"Activate": "Activate",
"Active Remote Configuration": "Active Remote Configuration",
"Add default patterns": "Add default patterns",
"Add new connection": "Add new connection",
"All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.": "All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.",
"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 Latest Change if Conflicting": "Apply Latest Change if Conflicting",
"Apply preset configuration": "Apply preset configuration",
"Ask a passphrase at every launch": "Ask a passphrase at every launch",
"Automatically Sync all files when opening Obsidian.": "Automatically Sync all files when opening Obsidian.",
"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.",
"Bucket Name": "Bucket Name",
"Cancel": "Cancel",
"Cancel Garbage Collection": "Cancel Garbage Collection",
"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.",
"cmdConfigSync.showCustomizationSync": "Show Customization sync",
"Comma separated `.gitignore, .dockerignore`": "Comma separated `.gitignore, .dockerignore`",
"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 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 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.",
"Connection Method": "Connection Method",
"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 Connection Tweak": "CouchDB Connection Tweak",
"Cross-platform": "Cross-platform",
"Current adapter: {adapter}": "Current adapter: {adapter}",
"Customization Sync": "Customization Sync",
"Customization Sync (Beta3)": "Customization Sync (Beta3)",
"Data Compression": "Data Compression",
"Database -> Storage": "Database -> Storage",
"Database Adapter": "Database Adapter",
"Database Name": "Database Name",
"Database suffix": "Database suffix",
"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 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}'?",
"desktop": "desktop",
"Developer": "Developer",
"Device": "Device",
"Device name": "Device name",
"Device Setup Method": "Device Setup Method",
"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!",
"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.",
"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",
"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 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",
"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 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 Server Information": "Enter Server Information",
"Enter the server information manually": "Enter the server information manually",
"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 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.",
"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",
"File to resolve conflict": "File to resolve conflict",
"File to view History": "File to view History",
"Filename": "Filename",
"First, please select the option that best describes your current situation.": "First, please select the option that best describes your current situation.",
"Flag and restart": "Flag and restart",
"Forces the file to be synced when opened.": "Forces the file to be synced when opened.",
"Fresh Start Wipe": "Fresh Start Wipe",
"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}",
"Handle files as Case-Sensitive": "Handle files as Case-Sensitive",
"Hidden Files": "Hidden Files",
"Hide completely": "Hide completely",
"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?",
"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 know my server details, let me enter them": "I know my server details, let me enter them",
"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 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.",
"Ignore and Proceed": "Ignore and Proceed",
"Ignore files": "Ignore files",
"Ignore patterns": "Ignore patterns",
"Import connection": "Import connection",
"Incubate Chunks in Document": "Incubate Chunks in Document",
"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)",
"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})",
"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",
"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",
"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",
"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",
"Move remotely deleted files to the trash, instead of deleting.": "Move remotely deleted files to the trash, instead of deleting.",
"Network warning style": "Network warning style",
"New Remote": "New Remote",
"No connected device information found. Cancelling Garbage Collection.": "No connected device information found. Cancelling Garbage Collection.",
"No limit configured": "No limit configured",
"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.",
"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.",
"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