From 340ac099611e81aea813a38e4fac3bb99e270dfc Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 20 Mar 2022 15:33:08 +0800 Subject: [PATCH 01/31] en and zh_cn --- LICENSE | 202 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 10 +++ en.json | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++ index.ts | 7 ++ zh_cn.json | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 657 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 en.json create mode 100644 index.ts create mode 100644 zh_cn.json diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e72929e --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c7576f6 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Translations for Remotely Save + +## How To Add A Language? + +1. Copy `en.json` to a new json file named `.json`, and translate all the items inside. The language should match what is available in Obsidian app. +2. Modify the `index.ts` file to include the new language file. + +## Why Seperated Repo? + +For better pull requests management. diff --git a/en.json b/en.json new file mode 100644 index 0000000..656ca42 --- /dev/null +++ b/en.json @@ -0,0 +1,219 @@ +{ + "confirm": "Confirm", + "disable": "Disable", + "enable": "Enable", + "goback": "Go Back", + "submit": "Submit", + + "syncrun_alreadyrunning": "{{pluginName}} already running in stage {{syncStatus}}!", + "syncrun_syncingribbon": "{{pluginName}}: syncing from {{triggerSource}}", + "syncrun_step0": "0/{{maxSteps}} Remotely Save running in dry mode, not actual file changes would happen.", + "syncrun_step1": "1/{{maxSteps}} Remotely Save Sync Preparing ({{serviceType}})", + "syncrun_step2": "2/{{maxSteps}} Starting to fetch remote meta data.", + "syncrun_step3": "3/{{maxSteps}} Checking password correct or not.", + "syncrun_passworderr": "Something goes wrong while checking password.", + "syncrun_step4": "4/{{maxSteps}} Trying to fetch extra meta data from remote.", + "syncrun_step5": "5/{{maxSteps}} Starting to fetch local meta data.", + "syncrun_step6": "6/{{maxSteps}} Starting to generate sync plan.", + "syncrun_step7": "7/{{maxSteps}} Remotely Save Sync data exchanging!", + "syncrun_step7skip": "7/{{maxSteps}} Remotely Save real sync is skipped in dry run mode.", + "syncrun_step8": "8/{{maxSteps}} Remotely Save finish!", + "syncrun_abort": "{{manifestID}}-{{theDate}}: abort sync, triggerSource={{triggerSource}}, error while {{syncStatus}}", + + "protocol_saveqr": "New not-oauth2 settings for {{manifestName}} saved. Reopen the plugin Settings to the effect.", + "protocol_callbacknotsupported": "Your uri call a callback that's not supported yet: {{params}}", + "protocol_dropbox_connecting": "Connecting to Dropbox...\nPlease DO NOT close this modal.", + "protocol_dropbox_connect_succ": "Good! We've connected to Dropbox as user {{username}}!", + "protocol_dropbox_connect_succ_revoke": "You've connected as user {{username}}. If you want to disconnect, click this button.", + "protocol_dropbox_connect_fail": "Something went wrong from response from Dropbox. Maybe you rejected the auth?", + "protocol_dropbox_connect_unknown": "Do not know how to deal with the callback: {{params}}", + "protocol_onedrive_connecting": "Connecting to OneDrive...\nPlease DO NOT close this modal.", + "protocol_onedrive_connect_succ_revoke": "You've connected as user {{username}}. If you want to disconnect, click this button.", + "protocol_onedrive_connect_fail": "Something went wrong from response from OneDrive. Maybe you rejected the auth?", + "protocol_onedrive_connect_unknown": "Do not know how to deal with the callback: {{params}}", + + "command_startsync": "start sync", + "command_drynrun": "start sync (dry run only)", + + "modal_password_title": "Hold on and PLEASE READ ON...", + "modal_password_shortdesc": "If the field is not empty, files would be encrypted locally before being uploaded.\nIf the field is empty, then files would be uploaded without encryption.", + "modal_password_attn1": "Attention 1/5: The vault name is NOT encrypted. The plugin creates a folder with the vault name on some remote services.", + "modal_password_attn2": "Attention 2/5: The password itself is stored in PLAIN TEXT LOCALLY.", + "modal_password_attn3": "Attention 3/5: Some metadata are not encrypted or can be easily guessed. (File sizes are closed to their unencrypted ones, and directory path may be stored as 0-byte-size object.)", + "modal_password_attn4": "Attention 4/5: You should make sure the remote store IS EMPTY, or REMOTE FILES WERE ENCRYPTED BY THAT NEW PASSWORD, to avoid conflictions.", + "modal_password_attn5": "Attention 5/5: The longer the password, the better.", + "modal_password_secondconfirm": "The Second Confirm to change password.", + "modal_password_notice": "New password saved!", + + "modal_dropboxauth_manualsteps": "Step 1: Visit the address in a browser, and follow the steps.\nStep 2: In the end of the web flow, you obtain a long code. Paste it here then click \"Submit\".", + "modal_dropboxauth_autosteps": "Visit the address in a browser, and follow the steps.\nFinally you should be redirected to Obsidian.", + "modal_dropboxauth_copybutton": "Click to copy the auth url", + "modal_dropboxauth_copynotice": "The auth url is copied to the clipboard!", + "modal_dropboxauth_maualinput": "Auth Code from web page", + "modal_dropboxauth_maualinput_desc": "You need to click \"Confirm\".", + "modal_dropboxauth_maualinput_notice": "Trying to connect to Dropbox", + "modal_dropboxauth_maualinput_conn_succ": "Good! We've connected to Dropbox as user {{username}}!", + "modal_dropboxauth_maualinput_conn_succ_revoke": "You've connected as user {{username}}. If you want to disconnect, click this button.", + "modal_dropboxauth_maualinput_conn_fail": "Something goes wrong while connecting to Dropbox.", + + "modal_onedriveauth_shortdesc": "Currently only OneDrive for personal is supported. OneDrive for Business is NOT supported (yet).\nVisit the address in a browser, and follow the steps.\nFinally you should be redirected to Obsidian.", + "modal_onedriveauth_copybutton": "Click to copy the auth url", + "modal_onedriveauth_copynotice": "The auth url is copied to the clipboard!", + "modal_onedriverevokeauth_step1": "Step 1: Go to the following address, click the \"Edit\" button for the plugin, then click \"Remove these permissions\" button on the page.", + "modal_onedriverevokeauth_step2": "Step 2: Click the button below, to clean the locally-saved login credentials.", + "modal_onedriverevokeauth_clean": "Clean Locally-Saved Login Credentials", + "modal_onedriverevokeauth_clean_desc": "You need to click the button.", + "modal_onedriverevokeauth_clean_button": "Clean", + "modal_onedriverevokeauth_clean_notice": "Cleaned!", + "modal_onedriverevokeauth_clean_fail": "Something goes wrong while revoking.", + + "modal_syncconfig_attn": "Attention 1/3: This only syncs (copies) the whole Obsidian config dir, not other startting-with-dot folders or files. Except for ignoreing folders .git and node_modules, it also doesn't understand the meaning of sub-files and sub-folders inside the config dir.\nAttention 2/3: After the config dir is synced, plugins settings might be corrupted, and Obsidian might need to be restarted to load the new settings.\nAttention 3/3: The deletion (uninstallation) operations of or inside Obsidian config dir cannot be tracked. So if you want to uninstall a plugin, you need to manually uninstall it on all device, before next sync.\nIf you are agreed to take your own risk, please click the following second confirm button.", + "modal_syncconfig_secondconfirm": "The Second Confirm To Enable.", + "modal_syncconfig_notice": "You've enabled syncing config folder!", + + "modal_qr_shortdesc": "This exports not-oauth2 settings. (It means that Dropbox, OneDrive info are NOT exported.)\nYou can use another device to scan this qrcode.\nOr, you can click the button to copy the special url.", + "modal_qr_button": "Click to copy the special URI", + "modal_qr_button_notice": "The special uri is copied to the clipboard!", + + "settings_general": "General", + "settings_password": "encryption password", + "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\".", + "settings_autorun": "schedule for auto run", + "settings_autorun_desc": "The plugin trys to schedule the running after every interval. Battery may be impacted.", + "settings_autorun_notset": "(not set)", + "settings_autorun_1min": "every 1 minute", + "settings_autorun_5min": "every 5 minutes", + "settings_autorun_10min": "every 10 minutes", + "settings_autorun_30min": "every 30 minutes", + "settings_runoncestartup": "run once on start up automatically", + "settings_runoncestartup_desc": "This settings allows setting running ONCE on start up automatically. This will take effect on NEXT start up after changing. This setting, is different from \"schedule for auto run\" which starts syncing after EVERY interval.", + "settings_runoncestartup_notset": "(not set)", + "settings_runoncestartup_10sec": "sync once after 10 seconds of start up", + "settings_runoncestartup_30sec": "sync once after 30 seconds of start up", + + "settings_checkonnectivity": "Check Connectivity", + "settings_checkonnectivity_desc": "Check connectivity.", + "settings_checkonnectivity_button": "Check", + "settings_checkonnectivity_checking": "Checking...", + + "settings_s3": "Remote For S3 or compatible", + "settings_s3_disclaimer1": "Disclaimer: This plugin is NOT an official Amazon product.", + "settings_s3_disclaimer2": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your bucket, please immediately delete the access key on your AWS (or other S3-service provider) settings.", + "settings_s3_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost", + "settings_s3_prod": "Some Amazon S3 official docs for references:", + "settings_s3_prod1": "Endpoint and region info", + "settings_s3_prod2": "Access Key ID and Secret Access Key info", + "settings_s3_prod3": "Configuring CORS", + "settings_s3_endpoint": "Endpoint", + "settings_s3_region": "Region", + "settings_s3_region_desc": "If you are not sure what to enter, you could try the vaule: us-east-1", + "settings_s3_accesskeyid": "Access Key ID", + "settings_s3_secretaccesskey": "Secret Access Key", + "settings_s3_bucketname": "Bucket Name", + "settings_s3_bypasscorslocally": "bypass CORS issue locally", + "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version (Obsidian>={{ver}}). If you encounter any issues, please disable this setting and config CORS (app://obsidian.md and capacitor://localhost and http://localhost) on server.", + "settings_s3_parts": "Parts Concurrency", + "settings_s3_parts_desc": "Large files are split into small parts to upload in S3. How many parts do you want to upload in parallel at most?", + "settings_s3_connect_succ": "Great! The bucket can be accessed.", + "settings_s3_connect_fail": "The S3 bucket cannot be reached.", + + "settings_dropbox": "Remote For Dropbox", + "settings_dropbox_disclaimer1": "Disclaimer: This app is NOT an official Dropbox product.", + "settings_dropbox_disclaimer2": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Dropbox, please immediately disconnect this app on https://www.dropbox.com/account/connected_apps .", + "settings_dropbox_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{vaultName}} on your Dropbox.", + "settings_dropbox_revoke": "Revoke Auth", + "settings_dropbox_revoke_desc": "You've connected as user {{username}}. If you want to disconnect, click this button.", + "settings_dropbox_revoke_button": "Revoke Auth", + "settings_dropbox_revoke_notice": "Revoked!", + "settings_dropbox_revoke_noticeerr": "Something goes wrong while revoking.", + "settings_dropbox_auth": "Auth", + "settings_dropbox_auth_desc": "Auth.", + "settings_dropbox_auth_button": "Auth", + "settings_dropbox_connect_succ": "Great! We can connect to Dropbox!", + "settings_dropbox_connect_fail": "We cannot connect to Dropbox.", + + "settings_onedrive": "Remote For Onedrive (for personal)", + "settings_onedrive_disclaimer1": "Disclaimer: This app is NOT an official Microsoft / Onedrive product.", + "settings_onedrive_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Onedrive, please immediately disconnect this app on https://microsoft.com/consent .", + "settings_onedrive_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{vaultName}} on your OneDrive.", + "settings_onedrive_nobiz": "Currently only OneDrive for personal is supported. OneDrive for Business is NOT supported (yet).", + "settings_onedrive_revoke": "Revoke Auth", + "settings_onedrive_revoke_desc": "You've connected as user {{username}}. If you want to disconnect, click this button.", + "settings_onedrive_revoke_button": "Revoke Auth", + "settings_onedrive_auth": "Auth", + "settings_onedrive_auth_desc": "Auth.", + "settings_onedrive_auth_button": "Auth", + "settings_onedrive_connect_succ": "Great! We can connect to Onedrive!", + "settings_onedrive_connect_fail": "We cannot connect to Onedrive.", + + "settings_webdav": "Remote For Webdav", + "settings_webdav_disclaimer1": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins may read the info. If you see any unintentional access to your webdav server, please immediately change the username and password.", + "settings_webdav_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost", + "settings_webdav_folder": "We will create and sync inside the folder /{{vaultName}} on your server.", + "settings_webdav_addr": "Server Address", + "settings_webdav_addr_desc": "Server address.", + "settings_webdav_user": "Username", + "settings_webdav_user_desc": "username.", + "settings_webdav_password": "Password", + "settings_webdav_password_desc": "Password.", + "settings_webdav_auth": "Auth Type", + "settings_webdav_auth_desc": "If no password, this option would be ignored.", + "settings_webdav_depth": "Depth Header Sent To Servers", + "settings_webdav_depth_desc": "Webdav servers should be configured to allow requests with header Depth being '1' or 'Infinity'. The plugin needs to know this info. If you are not sure what's this, choose \"auto\".", + "settings_webdav_depth_auto": "auto detect", + "settings_webdav_depth_1": "only supports depth='1'", + "settings_webdav_depth_inf": "supports depth='infinity'", + "settings_webdav_connect_succ": "Great! The webdav server can be accessed.", + "settings_webdav_connect_fail": "The webdav server cannot be reached (possible to be any of address/username/password/authtype{{corsErrMsg}} errors).", + + "settings_chooseservice": "Choose A Service", + "settings_chooseservice_desc": "Choose a service.", + "settings_chooseservice_s3": "S3 or compatible", + "settings_chooseservice_dropbox": "Dropbox", + "settings_chooseservice_webdav": "Webdav", + "settings_chooseservice_onedrive": "OneDrive for personal", + + "settings_adv": "Advanced Settings", + "settings_concurrency": "Concurrency", + "settings_concurrency_desc": "How many files do you want to download or upload in parallel at most? By default it's set to 5. If you meet any problems such as rate limit, you can reduce the concurrency to a lower value.", + "settings_syncunderscore": "sync _ files or folders", + "settings_syncunderscore_desc": "Sync files or folders startting with _ (\"underscore\") or not", + "settings_configdir": "sync config dir (experimental)", + "settings_configdir_desc": "Sync config dir {{configDir}} or not (inner folder .git and node_modules would be ignored). Please be aware that this may impact all your plugins' or Obsidian's settings, and may require you restart Obsidian after sync. Enable this at your own risk.", + + "settings_importexport": "Import and Export Partial Settings", + "settings_export": "Export", + "settings_export_desc": "Export not-oauth2 settings by generating a qrcode.", + "settings_export_desc_button": "Get QR Code", + "settings_import": "Import", + "settings_import_desc": "You should open a camera or scan-qrcode app, to manually scan the QR code.", + + "settings_debug": "Debug", + "settings_debuglevel": "Alter Console Log Level", + "settings_debuglevel_desc": "By default the log level is \"info\". You can change to \"debug\" to get verbose infomation in console.", + "settings_outputsettingsconsole": "Output Current Settings From Disk To Console", + "settings_outputsettingsconsole_desc": "The settings save on disk in encoded. Click this to see the decoded settings in console.", + "settings_outputsettingsconsole_button": "Output", + "settings_outputsettingsconsole_notice": "Finished outputing in console.", + "settings_syncplans": "Export Sync Plans", + "settings_syncplans_desc": "Sync plans are created every time after you trigger sync and before the actual sync. Useful to know what would actually happen in those sync. Click the button to export sync plans", + "settings_syncplans_button": "Export", + "settings_syncplans_notice": "Sync plans history exported.", + "settings_delsyncplans": "Delete Sync Plans History In DB", + "settings_delsyncplans_desc": "Delete sync plans history in DB.", + "settings_delsyncplans_button": "Delete History", + "settings_delsyncplans_notice": "Sync plans history (in DB) deleted.", + "settings_delsyncmap": "delete sync mappings history in DB", + "settings_delsyncmap_desc": "Sync mappings history stores the actual LOCAL last modified time of the REMOTE objects. Clearing it may cause unnecessary data exchanges in next-time sync. Click the button to delete sync mappings history in DB.", + "settings_delsyncmap_button": "Delete Sync Mappings", + "settings_delsyncmap_notice": "Sync mappings history (in local DB) deleted", + "settings_resetcache": "reset local internal cache/databases", + "settings_resetcache_desc": "Reset local internal caches/databases (for debugging purposes). You would want to reload the plugin after resetting this. This option will not empty the {s3, password...} settings.", + "settings_resetcache_button": "Reset", + "settings_resetcache_notice": "Local internal cache/databases deleted. Please manually reload the plugin.", + + "syncalgov2_title": "Remotely Save has a better sync algorithm", + "syncalgov2_texts": "Welcome to use Remotely Save!\nFrom version 0.3.0, a new algorithm has been developed, but it needs uploading extra meta data files _remotely-save-metadata-on-remote.{json,bin} to YOUR configured cloud destinations, besides your notes.\nSo that, for example, the second device can know that what files/folders have been deleted on the first device by reading those files.\nIf you agree, plase click the button \"Agree\", and enjoy the plugin! AND PLEASE REMEMBER TO BACKUP YOUR VAULT FIRSTLY!\nIf you do not agree, you should stop using the current and later versions of Remotely Save. You could consider manually install the old version 0.2.14 which uses old algorithm and does not upload any extra meta data files. By clicking the \"Do Not Agree\" button, the plugin will unload itself, and you need to manually disable it in Obsidian settings.", + "syncalgov2_button_agree": "Agree", + "syncalgov2_button_disagree": "Do Not Agree" +} diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..367254b --- /dev/null +++ b/index.ts @@ -0,0 +1,7 @@ +import en from "./en.json"; +import zh_cn from "./zh_cn.json"; + +export const LANGS = { + en: en, + zh_cn: zh_cn, +}; diff --git a/zh_cn.json b/zh_cn.json new file mode 100644 index 0000000..d4ced8b --- /dev/null +++ b/zh_cn.json @@ -0,0 +1,219 @@ +{ + "confirm": "确认", + "disable": "关闭", + "enable": "开启", + "goback": "返回", + "submit": "提交", + + "syncrun_alreadyrunning": "{{pluginName}} 正处于此阶段:{{syncStatus}}!", + "syncrun_syncingribbon": "{{pluginName}}:正在由 {{triggerSource}} 触发运行", + "syncrun_step0": "0/{{maxSteps}} Remotely Save 在空跑(dry run)模式,不会发生实际的文件交换。", + "syncrun_step1": "1/{{maxSteps}} Remotely Save 准备同步({{serviceType}})", + "syncrun_step2": "2/{{maxSteps}} 正在获取远端的元数据。", + "syncrun_step3": "3/{{maxSteps}} 正在检查密码正确与否。", + "syncrun_passworderr": "检查密码时候出错。", + "syncrun_step4": "4/{{maxSteps}} 正在获取远端的额外的元数据。", + "syncrun_step5": "5/{{maxSteps}} 正在获取本地的元数据。", + "syncrun_step6": "6/{{maxSteps}} 正在生成同步计划。", + "syncrun_step7": "7/{{maxSteps}} Remotely Save 开始发生数据交换!", + "syncrun_step7skip": "7/{{maxSteps}} Remotely Save 在在空跑模式,跳过实际数据交换步骤。", + "syncrun_step8": "8/{{maxSteps}} Remotely Save 已完成同步!", + "syncrun_abort": "{{manifestID}}-{{theDate}}:中断同步,同步来源={{triggerSource}},出错阶段={{syncStatus}}", + + "protocol_saveqr": " {{manifestName}} 新的非 oauth2 设置保存完成。请重启插件设置页使之生效。", + "protocol_callbacknotsupported": "您的 uri callback 暂不支持: {{params}}", + "protocol_dropbox_connecting": "正在连接 Dropbox……\n请不要关闭此弹窗。", + "protocol_dropbox_connect_succ": "好!我们作为用户 {{username}} 连接上了 Dropbox!", + "protocol_dropbox_connect_succ_revoke": "您已作为用户 {{username}} 连接上了。如果您想取消连接,请点击此按钮。", + "protocol_dropbox_connect_fail": "Dropbox 的回调请求有点异常。您是否拒绝了鉴权?", + "protocol_dropbox_connect_unknown": "不知道如何处理此 callback:{{params}}", + "protocol_onedrive_connecting": "正在连接 OneDrive……\n请不要关闭此弹窗。", + "protocol_onedrive_connect_succ_revoke": "您已作为用户 {{username}} 连接上了。如果您想取消连接,请点击此按钮。", + "protocol_onedrive_connect_fail": "OneDrive 的回调请求有点异常。您是否拒绝了鉴权?", + "protocol_onedrive_connect_unknown": "不知道如何处理此 callback:{{params}}", + + "command_startsync": "开始同步(start sync)", + "command_drynrun": "开始同步(空跑模式)(start sync (dry run only))", + + "modal_password_title": "稍等一下,请阅读下文:", + "modal_password_shortdesc": "如果密码不是空的,那么文件会在上传之前,在本地先用此密码加密。\n如果密码是空的,那么文件会被非加密地上传。", + "modal_password_attn1": "注意 1/5:库(Vault)名字是不会加密的!本插件会在一些远程存储里创建一个和库名字有着同名的文件夹。", + "modal_password_attn2": "注意 2/5:密码在本地不加密地保存!", + "modal_password_attn3": "注意 3/5:一些元信息是没有被加密的,或者可以被较容易地猜测出来。(文件大小很接近于没加密的时候,且文件夹可能会被存储为大小为 0 byte 的对象。)", + "modal_password_attn4": "注意 4/5:您需要确保远程存储是“空”的,或者已有文件也是被同一个新密码加密的;从而避免冲突。", + "modal_password_attn5": "注意 5/5:密码越长越好。", + "modal_password_secondconfirm": "再次确认保存新密码", + "modal_password_notice": "新密码已保存!", + + "modal_dropboxauth_manualsteps": "第 1 步:在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会获得一串很长的代码文本,请复制粘贴到下方,并点击“提交”", + "modal_dropboxauth_autosteps": "在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会被自动重定向回来 Obsidian。", + "modal_dropboxauth_copybutton": "点击此按钮从而复制鉴权 url", + "modal_dropboxauth_copynotice": "鉴权 url 已复制到剪贴板!", + "modal_dropboxauth_maualinput": "来自网页的授权码", + "modal_dropboxauth_maualinput_desc": "您需要点击“确认”", + "modal_dropboxauth_maualinput_notice": "正在尝试连接 Dropbox", + "modal_dropboxauth_maualinput_conn_succ": "很好!我们作为用户 {{username}} 连接到 Dropbox 了!", + "modal_dropboxauth_maualinput_conn_succ_revoke": "您已作为用户 {{username}} 连接到 Dropbox。如果您想断开连接,点击此按钮。", + "modal_dropboxauth_maualinput_conn_fail": "连接 Dropbox 途中出错了。", + + "modal_onedriveauth_shortdesc": "现在只支持个人版 OneDrive,(暂)不支持企业版。\n在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会被自动重定向回来 Obsidian。", + "modal_onedriveauth_copybutton": "点击此按钮从而复制鉴权 url", + "modal_onedriveauth_copynotice": "鉴权 url 已复制到剪贴板!", + "modal_onedriverevokeauth_step1": "第 1 步:用浏览器打开以下地址,点击本插件对应的“Edit”按钮,点击“Remove these permissions”按钮。", + "modal_onedriverevokeauth_step2": "第 2 步:点击以下按钮,清理本地保存的登录信息。", + "modal_onedriverevokeauth_clean": "清理本地保存的登录信息", + "modal_onedriverevokeauth_clean_desc": "您需要点击“清理”按钮。", + "modal_onedriverevokeauth_clean_button": "清理", + "modal_onedriverevokeauth_clean_notice": "已清理!", + "modal_onedriverevokeauth_clean_fail": "鉴权途中出错了。", + + "modal_syncconfig_attn": "注意 1/3:此设置只同步(复制)整个 Obsidian 的配置文件夹,但是不会同步其它 . 开头的文件夹或文件。除了会忽略 .git 和 node_modules 文件夹之外,它也并不理解配置文件夹的里各个子文件或子文件夹的含义。\n注意 2/3:配置文件夹被同步之后,各插件的设置或许会出错,且 Obsidian 或许需要重启来重载各插件的新配置。\n注意 3/3:配置文件夹内的删除(卸载)操作无法被识别,因此,如果您想卸载一个插件,在下一次同步之前,您需要手动在所有设备上先手动卸载那个插件。\n如果您同意自行承受以上风险,您可以点击以下再次确认按钮。", + "modal_syncconfig_secondconfirm": "再次确认开启", + "modal_syncconfig_notice": "您已开启配置文件夹的同步!", + + "modal_qr_shortdesc": "这里可导出非 oauth2 设置。(意味着:Dropbox 和 OneDrive 信息不会被导出。)\n您可以使用另一个设备来扫描此 QR 码。\n又或者,您可以点击以下按钮复制此特殊 URI。", + "modal_qr_button": "点击此按钮复制特殊 URI", + "modal_qr_button_notice": "特殊 URI 已被复制到剪贴板!", + + "settings_general": "通用", + "settings_password": "密码", + "settings_password_desc": "端到端加密的密码。不填写则代表没密码。您需要点击“确认”来修改。", + "settings_autorun": "自动运行", + "settings_autorun_desc": "每隔一段时间,此插件尝试自动同步。会影响到电池用量。", + "settings_autorun_notset": "(不设置)", + "settings_autorun_1min": "每 1 分钟", + "settings_autorun_5min": "每 5 分钟", + "settings_autorun_10min": "每 10 分钟", + "settings_autorun_30min": "每 30 分钟", + "settings_runoncestartup": "启动后自动运行一次", + "settings_runoncestartup_desc": "本设置使得插件在程序启动后自动触发一次同步。修改后,会在下一次启动生效。本设置和“自动运行”是不同的,那个设置是指“每隔一段时间”都自动同步一次。", + "settings_runoncestartup_notset": "(不设置)", + "settings_runoncestartup_10sec": "启动后第 10 秒运行一次", + "settings_runoncestartup_30sec": "启动后第 30 秒运行一次", + + "settings_checkonnectivity": "检查可否连接", + "settings_checkonnectivity_desc": "检查可否连接。", + "settings_checkonnectivity_button": "检查", + "settings_checkonnectivity_checking": "正在检查……", + + "settings_s3": "S3 或兼容 S3 的服务的设置", + "settings_s3_disclaimer1": "声明:本插件不是 Amazon 的官方产品。", + "settings_s3_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了存储桶有不符合预期的访问,请立刻从 AWS(或其它 S3 服务商)删除记录于此的 access key。", + "settings_s3_cors": "您需要设置 CORS,从而允许这些源的请求访问:app://obsidian.md 和 capacitor://localhost 和 http://localhost", + "settings_s3_prod": "一些可参考的 Amazon S3 官方文档:", + "settings_s3_prod1": "服务地址(Endpoint)和区域(Region)信息", + "settings_s3_prod2": "Access Key ID 和 Secret Access Key 信息", + "settings_s3_prod3": "设置 CORS", + "settings_s3_endpoint": "服务地址(Endpoint)", + "settings_s3_region": "区域(Region)", + "settings_s3_region_desc": "如果您不知道这个值填什么,可以尝试填写此默认值:us-east-1", + "settings_s3_accesskeyid": "Access Key ID", + "settings_s3_secretaccesskey": "Secret Access Key", + "settings_s3_bucketname": "存储桶(Bucket)的名字", + "settings_s3_bypasscorslocally": "本地绕过 CORS 问题", + "settings_s3_bypasscorslocally_desc": "对于 Obsidian 新版本(>= {{ver}}),本插件可以跳过服务器设置 CORS 的步骤。如果您遇到任意问题,可以关闭此设定,并在服务端设置 CORS(app://obsidian.md 和 capacitor://localhost 和 http://localhost)。", + "settings_s3_parts": "分块并行度", + "settings_s3_parts_desc": "在 S3 里,大文件会被分块上传。您希望同一时间最多有多少个分块被上传?", + "settings_s3_connect_succ": "很好!可以访问到对应存储桶。", + "settings_s3_connect_fail": "无法访问到对应存储桶。", + + "settings_dropbox": "Dropbox 设置", + "settings_dropbox_disclaimer1": "声明:此插件不是 Dropbox 官方产品。", + "settings_dropbox_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 Dropbox 有不符合预期的访问,请立刻从 https://www.dropbox.com/account/connected_apps 删除记录于此插件的连接鉴权。", + "settings_dropbox_folder": "我们会在您的 Dropbox 上创建此文件夹并在里面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_dropbox_revoke": "撤回鉴权", + "settings_dropbox_revoke_desc": "您现在使用了用户名 {{username}} 来连接。如果想取消连接,请点击此按钮。", + "settings_dropbox_revoke_button": "撤回鉴权", + "settings_dropbox_revoke_notice": "鉴权已被撤回!", + "settings_dropbox_revoke_noticeerr": "撤回鉴权出错。", + "settings_dropbox_auth": "鉴权", + "settings_dropbox_auth_desc": "鉴权。", + "settings_dropbox_auth_button": "鉴权", + "settings_dropbox_connect_succ": "很好!我们可连接上 Dropbox!", + "settings_dropbox_connect_fail": "我们未能连接上 Dropbox。", + + "settings_onedrive": "Onedrive(个人版)设置", + "settings_onedrive_disclaimer1": "声明:此插件不是微软或 OneDrive 的官方产品。", + "settings_onedrive_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 OneDrive 有不符合预期的访问,请立刻从 https://microsoft.com/consent 删除记录于此插件的连接鉴权。", + "settings_onedrive_folder": "我们会在您的 OneDrive 上创建此文件夹并在里面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_onedrive_nobiz": "现在只支持个人版 OneDrive。(暂时)并不支持企业版 OneDrive。", + "settings_onedrive_revoke": "撤回鉴权", + "settings_onedrive_revoke_desc": "您现在使用了用户名 {{username}} 来连接。如果想取消连接,请点击此按钮。", + "settings_onedrive_revoke_button": "撤回鉴权", + "settings_onedrive_auth": "鉴权", + "settings_onedrive_auth_desc": "鉴权。", + "settings_onedrive_auth_button": "鉴权", + "settings_onedrive_connect_succ": "很好!我们可连接上 OneDrive!", + "settings_onedrive_connect_fail": "我们未能连接上 OneDrive。", + + "settings_webdav": "Webdav 设置", + "settings_webdav_disclaimer1": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 Webdav 服务器有不符合预期的访问,请立刻修改用户名和密码。", + "settings_webdav_cors": "您需要设置 CORS,允许来自这些源的请求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", + "settings_webdav_folder": "我们会在您的服务器上创建此文件夹并在里面同步:/{{vaultName}}", + "settings_webdav_addr": "服务器地址", + "settings_webdav_addr_desc": "服务器地址。", + "settings_webdav_user": "用户名", + "settings_webdav_user_desc": "用户名。", + "settings_webdav_password": "密码", + "settings_webdav_password_desc": "密码。", + "settings_webdav_auth": "鉴权类型", + "settings_webdav_auth_desc": "如果不填写密码,本设置会被忽略。", + "settings_webdav_depth": "发送到服务器的 Depth header", + "settings_webdav_depth_desc": "Webdav 服务器会被设为接收 Depth header 为“1”或“Infinity”请求。本插件需要得知此信息。如果您不清楚如何设置,可以选择“自动检测”", + "settings_webdav_depth_auto": "自动检测", + "settings_webdav_depth_1": "只支持 depth='1'", + "settings_webdav_depth_inf": "支持 depth='infinity'", + "settings_webdav_connect_succ": "很好!可以连接上 Webdav 服务器。", + "settings_webdav_connect_fail": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型{{corsErrMsg}}等错误。", + + "settings_chooseservice": "选择服务", + "settings_chooseservice_desc": "选择服务。", + "settings_chooseservice_s3": "S3 或兼容 S3 的服务", + "settings_chooseservice_dropbox": "Dropbox", + "settings_chooseservice_webdav": "Webdav", + "settings_chooseservice_onedrive": "OneDrive(个人版)", + + "settings_adv": "进阶设置", + "settings_concurrency": "并行度", + "settings_concurrency_desc": "您希望同时最多有多少个文件被上传和下载?默认值是 5。如果您遇到了一些问题(如访问频率限制),您可以减少并行度。", + "settings_syncunderscore": "同步 _ 文件或文件夹", + "settings_syncunderscore_desc": "是否同步“_”(下划线)开始的文件或文件夹。", + "settings_configdir": "同步配置文件夹(实验性质)", + "settings_configdir_desc": "是否同步 Obsidian 的配置文件夹 {{configDir}}(其中的 .git 和 node_modules 依然会被忽略)。请注意,此设置可能会影响到您 Obsidian 或者所有的插件设置,也可能需要您同步完毕后重启 Obsidian。如果您同意自行承受其风险,则可以开启本设置。", + + "settings_importexport": "导入导出部分设置", + "settings_export": "导出", + "settings_export_desc": "用 QR 码导出非 oauth2 的设置信息。", + "settings_export_desc_button": "生成 QR 码", + "settings_import": "导入", + "settings_import_desc": "您需要使用系统拍摄 app 或者扫描 QR 码的app,来扫描对应的 QR 码。", + + "settings_debug": "调试", + "settings_debuglevel": "修改终端输出的 level", + "settings_debuglevel_desc": "默认值为 \"info\"。您可以改为 \"debug\" 从而在终端里获取更多信息。", + "settings_outputsettingsconsole": "读取硬盘上的设置文件输出到终端", + "settings_outputsettingsconsole_desc": "硬盘上的设置文件是编码过的,点击这里从而解码并输出到终端。", + "settings_outputsettingsconsole_button": "输出", + "settings_outputsettingsconsole_notice": "已输出到终端", + "settings_syncplans": "导出同步计划", + "settings_syncplans_desc": "每次您启动同步,并在实际上传下载前,插件会生成同步计划。它可以使您知道每次同步发生了什么。点击按钮可以导出同步计划。", + "settings_syncplans_button": "导出", + "settings_syncplans_notice": "同步计划已导出", + "settings_delsyncplans": "删除数据库里的同步计划历史", + "settings_delsyncplans_desc": "删除数据库里的同步计划历史。", + "settings_delsyncplans_button": "删除历史", + "settings_delsyncplans_notice": "(数据库里的)同步计划已被删除。", + "settings_delsyncmap": "删除数据库里的同步映射历史", + "settings_delsyncmap_desc": "同步映射历史存储了本地真正的最后修改时间和远程文件时间的映射。删除之可能会导致下一次同步时发生不必要的数据交换。点击按钮删除数据库里的同步映射历史。", + "settings_delsyncmap_button": "删除同步映射历史", + "settings_delsyncmap_notice": "(本地数据库里的)同步映射历史已被删除。", + "settings_resetcache": "重设本地缓存和数据库", + "settings_resetcache_desc": "(出于调试原因)重设本地缓存和数据库。您需要在重设之后重新载入此插件。本重设不会删除 s3,密码……等设定。", + "settings_resetcache_button": "重设", + "settings_resetcache_notice": "本地同步缓存和数据库已被删除。请手动重新载入此插件。", + + "syncalgov2_title": "Remotely Save 的同步算法得到优化", + "syncalgov2_texts": "欢迎使用 Remotely Save!\n从版本 0.3.0 开始,它带来了新的同步算法,但是,除了您的笔记之外,它还需要上传额外的带有元信息的文件 _remotely-save-metadata-on-remote.{json,bin} 到您的云服务目的地上。\n从而,比如说,通过读取这些信息,另一台设备可以知道什么文件或文件夹在第一台设备上被删除了。\n如果您同意此策略,请点击按钮 \"同意\",然后开始享用此插件!且特别要注意:使用插件之前,请首先备份好您的库(Vault)!\n如果您不同意此策略,您应该停止使用此版本和之后版本的 Remotely Save。您可以考虑手动安装旧版 0.2.14,它使用旧的同步算法,并不上传额外元信息文件。点击 \"不同意\" 之后,插件会自动停止运行(unload),然后您需要 Obsidian 设置里手动停用(disable)此插件。", + "syncalgov2_button_agree": "同意", + "syncalgov2_button_disagree": "不同意" +} From f2202029fc08719d18ec48605ff3f72f154bde07 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 20 Mar 2022 16:09:16 +0800 Subject: [PATCH 02/31] fix word --- zh_cn.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh_cn.json b/zh_cn.json index d4ced8b..883e99b 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -16,7 +16,7 @@ "syncrun_step5": "5/{{maxSteps}} 正在获取本地的元数据。", "syncrun_step6": "6/{{maxSteps}} 正在生成同步计划。", "syncrun_step7": "7/{{maxSteps}} Remotely Save 开始发生数据交换!", - "syncrun_step7skip": "7/{{maxSteps}} Remotely Save 在在空跑模式,跳过实际数据交换步骤。", + "syncrun_step7skip": "7/{{maxSteps}} Remotely Save 在空跑模式,跳过实际数据交换步骤。", "syncrun_step8": "8/{{maxSteps}} Remotely Save 已完成同步!", "syncrun_abort": "{{manifestID}}-{{theDate}}:中断同步,同步来源={{triggerSource}},出错阶段={{syncStatus}}", From d60fe622ed7ad605c256d964713c00b38419be01 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 20 Mar 2022 16:18:23 +0800 Subject: [PATCH 03/31] add zh_tw --- index.ts | 2 + zh_tw.json | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 zh_tw.json diff --git a/index.ts b/index.ts index 367254b..5c091b4 100644 --- a/index.ts +++ b/index.ts @@ -1,7 +1,9 @@ import en from "./en.json"; import zh_cn from "./zh_cn.json"; +import zh_tw from "./zh_tw.json"; export const LANGS = { en: en, zh_cn: zh_cn, + zh_tw: zh_tw, }; diff --git a/zh_tw.json b/zh_tw.json new file mode 100644 index 0000000..b05ba7e --- /dev/null +++ b/zh_tw.json @@ -0,0 +1,219 @@ +{ + "confirm": "確認", + "disable": "關閉", + "enable": "開啟", + "goback": "返回", + "submit": "提交", + + "syncrun_alreadyrunning": "{{pluginName}} 正處於此階段:{{syncStatus}}!", + "syncrun_syncingribbon": "{{pluginName}}:正在由 {{triggerSource}} 觸發執行", + "syncrun_step0": "0/{{maxSteps}} Remotely Save 在空跑(dry run)模式,不會發生實際的檔案交換。", + "syncrun_step1": "1/{{maxSteps}} Remotely Save 準備同步({{serviceType}})", + "syncrun_step2": "2/{{maxSteps}} 正在獲取遠端的元資料。", + "syncrun_step3": "3/{{maxSteps}} 正在檢查密碼正確與否。", + "syncrun_passworderr": "檢查密碼時候出錯。", + "syncrun_step4": "4/{{maxSteps}} 正在獲取遠端的額外的元資料。", + "syncrun_step5": "5/{{maxSteps}} 正在獲取本地的元資料。", + "syncrun_step6": "6/{{maxSteps}} 正在生成同步計劃。", + "syncrun_step7": "7/{{maxSteps}} Remotely Save 開始發生資料交換!", + "syncrun_step7skip": "7/{{maxSteps}} Remotely Save 在空跑模式,跳過實際資料交換步驟。", + "syncrun_step8": "8/{{maxSteps}} Remotely Save 已完成同步!", + "syncrun_abort": "{{manifestID}}-{{theDate}}:中斷同步,同步來源={{triggerSource}},出錯階段={{syncStatus}}", + + "protocol_saveqr": " {{manifestName}} 新的非 oauth2 設定儲存完成。請重啟外掛設定頁使之生效。", + "protocol_callbacknotsupported": "您的 uri callback 暫不支援: {{params}}", + "protocol_dropbox_connecting": "正在連線 Dropbox……\n請不要關閉此彈窗。", + "protocol_dropbox_connect_succ": "好!我們作為使用者 {{username}} 連線上了 Dropbox!", + "protocol_dropbox_connect_succ_revoke": "您已作為使用者 {{username}} 連線上了。如果您想取消連線,請點選此按鈕。", + "protocol_dropbox_connect_fail": "Dropbox 的回撥請求有點異常。您是否拒絕了鑑權?", + "protocol_dropbox_connect_unknown": "不知道如何處理此 callback:{{params}}", + "protocol_onedrive_connecting": "正在連線 OneDrive……\n請不要關閉此彈窗。", + "protocol_onedrive_connect_succ_revoke": "您已作為使用者 {{username}} 連線上了。如果您想取消連線,請點選此按鈕。", + "protocol_onedrive_connect_fail": "OneDrive 的回撥請求有點異常。您是否拒絕了鑑權?", + "protocol_onedrive_connect_unknown": "不知道如何處理此 callback:{{params}}", + + "command_startsync": "開始同步(start sync)", + "command_drynrun": "開始同步(空跑模式)(start sync (dry run only))", + + "modal_password_title": "稍等一下,請閱讀下文:", + "modal_password_shortdesc": "如果密碼不是空的,那麼檔案會在上傳之前,在本地先用此密碼加密。\n如果密碼是空的,那麼檔案會被非加密地上傳。", + "modal_password_attn1": "注意 1/5:庫(Vault)名字是不會加密的!本外掛會在一些遠端儲存裡建立一個和庫名字有著同名的資料夾。", + "modal_password_attn2": "注意 2/5:密碼在本地不加密地儲存!", + "modal_password_attn3": "注意 3/5:一些元資訊是沒有被加密的,或者可以被較容易地猜測出來。(檔案大小很接近於沒加密的時候,且資料夾可能會被儲存為大小為 0 byte 的物件。)", + "modal_password_attn4": "注意 4/5:您需要確保遠端儲存是“空”的,或者已有檔案也是被同一個新密碼加密的;從而避免衝突。", + "modal_password_attn5": "注意 5/5:密碼越長越好。", + "modal_password_secondconfirm": "再次確認儲存新密碼", + "modal_password_notice": "新密碼已儲存!", + + "modal_dropboxauth_manualsteps": "第 1 步:在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會獲得一串很長的程式碼文字,請複製貼上到下方,並點選“提交”", + "modal_dropboxauth_autosteps": "在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會被自動重定向回來 Obsidian。", + "modal_dropboxauth_copybutton": "點選此按鈕從而複製鑑權 url", + "modal_dropboxauth_copynotice": "鑑權 url 已複製到剪貼簿!", + "modal_dropboxauth_maualinput": "來自網頁的授權碼", + "modal_dropboxauth_maualinput_desc": "您需要點選“確認”", + "modal_dropboxauth_maualinput_notice": "正在嘗試連線 Dropbox", + "modal_dropboxauth_maualinput_conn_succ": "很好!我們作為使用者 {{username}} 連線到 Dropbox 了!", + "modal_dropboxauth_maualinput_conn_succ_revoke": "您已作為使用者 {{username}} 連線到 Dropbox。如果您想斷開連線,點選此按鈕。", + "modal_dropboxauth_maualinput_conn_fail": "連線 Dropbox 途中出錯了。", + + "modal_onedriveauth_shortdesc": "現在只支援個人版 OneDrive,(暫)不支援企業版。\n在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會被自動重定向回來 Obsidian。", + "modal_onedriveauth_copybutton": "點選此按鈕從而複製鑑權 url", + "modal_onedriveauth_copynotice": "鑑權 url 已複製到剪貼簿!", + "modal_onedriverevokeauth_step1": "第 1 步:用瀏覽器開啟以下地址,點選本外掛對應的“Edit”按鈕,點選“Remove these permissions”按鈕。", + "modal_onedriverevokeauth_step2": "第 2 步:點選以下按鈕,清理本地儲存的登入資訊。", + "modal_onedriverevokeauth_clean": "清理本地儲存的登入資訊", + "modal_onedriverevokeauth_clean_desc": "您需要點選“清理”按鈕。", + "modal_onedriverevokeauth_clean_button": "清理", + "modal_onedriverevokeauth_clean_notice": "已清理!", + "modal_onedriverevokeauth_clean_fail": "鑑權途中出錯了。", + + "modal_syncconfig_attn": "注意 1/3:此設定只同步(複製)整個 Obsidian 的配置資料夾,但是不會同步其它 . 開頭的資料夾或檔案。除了會忽略 .git 和 node_modules 資料夾之外,它也並不理解配置資料夾的裡各個子檔案或子資料夾的含義。\n注意 2/3:配置資料夾被同步之後,各外掛的設定或許會出錯,且 Obsidian 或許需要重啟來過載各外掛的新配置。\n注意 3/3:配置資料夾內的刪除(解除安裝)操作無法被識別,因此,如果您想解除安裝一個外掛,在下一次同步之前,您需要手動在所有裝置上先手動解除安裝那個外掛。\n如果您同意自行承受以上風險,您可以點選以下再次確認按鈕。", + "modal_syncconfig_secondconfirm": "再次確認開啟", + "modal_syncconfig_notice": "您已開啟配置資料夾的同步!", + + "modal_qr_shortdesc": "這裡可匯出非 oauth2 設定。(意味著:Dropbox 和 OneDrive 資訊不會被匯出。)\n您可以使用另一個裝置來掃描此 QR 碼。\n又或者,您可以點選以下按鈕複製此特殊 URI。", + "modal_qr_button": "點選此按鈕複製特殊 URI", + "modal_qr_button_notice": "特殊 URI 已被複制到剪貼簿!", + + "settings_general": "通用", + "settings_password": "密碼", + "settings_password_desc": "端到端加密的密碼。不填寫則代表沒密碼。您需要點選“確認”來修改。", + "settings_autorun": "自動執行", + "settings_autorun_desc": "每隔一段時間,此外掛嘗試自動同步。會影響到電池用量。", + "settings_autorun_notset": "(不設定)", + "settings_autorun_1min": "每 1 分鐘", + "settings_autorun_5min": "每 5 分鐘", + "settings_autorun_10min": "每 10 分鐘", + "settings_autorun_30min": "每 30 分鐘", + "settings_runoncestartup": "啟動後自動執行一次", + "settings_runoncestartup_desc": "本設定使得外掛在程式啟動後自動觸發一次同步。修改後,會在下一次啟動生效。本設定和“自動執行”是不同的,那個設定是指“每隔一段時間”都自動同步一次。", + "settings_runoncestartup_notset": "(不設定)", + "settings_runoncestartup_10sec": "啟動後第 10 秒執行一次", + "settings_runoncestartup_30sec": "啟動後第 30 秒執行一次", + + "settings_checkonnectivity": "檢查可否連線", + "settings_checkonnectivity_desc": "檢查可否連線。", + "settings_checkonnectivity_button": "檢查", + "settings_checkonnectivity_checking": "正在檢查……", + + "settings_s3": "S3 或相容 S3 的服務的設定", + "settings_s3_disclaimer1": "宣告:本外掛不是 Amazon 的官方產品。", + "settings_s3_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了儲存桶有不符合預期的訪問,請立刻從 AWS(或其它 S3 服務商)刪除記錄於此的 access key。", + "settings_s3_cors": "您需要設定 CORS,從而允許這些源的請求訪問:app://obsidian.md 和 capacitor://localhost 和 http://localhost", + "settings_s3_prod": "一些可參考的 Amazon S3 官方文件:", + "settings_s3_prod1": "服務地址(Endpoint)和區域(Region)資訊", + "settings_s3_prod2": "Access Key ID 和 Secret Access Key 資訊", + "settings_s3_prod3": "設定 CORS", + "settings_s3_endpoint": "服務地址(Endpoint)", + "settings_s3_region": "區域(Region)", + "settings_s3_region_desc": "如果您不知道這個值填什麼,可以嘗試填寫此預設值:us-east-1", + "settings_s3_accesskeyid": "Access Key ID", + "settings_s3_secretaccesskey": "Secret Access Key", + "settings_s3_bucketname": "儲存桶(Bucket)的名字", + "settings_s3_bypasscorslocally": "本地繞過 CORS 問題", + "settings_s3_bypasscorslocally_desc": "對於 Obsidian 新版本(>= {{ver}}),本外掛可以跳過伺服器設定 CORS 的步驟。如果您遇到任意問題,可以關閉此設定,並在服務端設定 CORS(app://obsidian.md 和 capacitor://localhost 和 http://localhost)。", + "settings_s3_parts": "分塊並行度", + "settings_s3_parts_desc": "在 S3 裡,大檔案會被分塊上傳。您希望同一時間最多有多少個分塊被上傳?", + "settings_s3_connect_succ": "很好!可以訪問到對應儲存桶。", + "settings_s3_connect_fail": "無法訪問到對應儲存桶。", + + "settings_dropbox": "Dropbox 設定", + "settings_dropbox_disclaimer1": "宣告:此外掛不是 Dropbox 官方產品。", + "settings_dropbox_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 Dropbox 有不符合預期的訪問,請立刻從 https://www.dropbox.com/account/connected_apps 刪除記錄於此外掛的連線鑑權。", + "settings_dropbox_folder": "我們會在您的 Dropbox 上建立此資料夾並在裡面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_dropbox_revoke": "撤回鑑權", + "settings_dropbox_revoke_desc": "您現在使用了使用者名稱 {{username}} 來連線。如果想取消連線,請點選此按鈕。", + "settings_dropbox_revoke_button": "撤回鑑權", + "settings_dropbox_revoke_notice": "鑑權已被撤回!", + "settings_dropbox_revoke_noticeerr": "撤回鑑權出錯。", + "settings_dropbox_auth": "鑑權", + "settings_dropbox_auth_desc": "鑑權。", + "settings_dropbox_auth_button": "鑑權", + "settings_dropbox_connect_succ": "很好!我們可連線上 Dropbox!", + "settings_dropbox_connect_fail": "我們未能連線上 Dropbox。", + + "settings_onedrive": "Onedrive(個人版)設定", + "settings_onedrive_disclaimer1": "宣告:此外掛不是微軟或 OneDrive 的官方產品。", + "settings_onedrive_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 OneDrive 有不符合預期的訪問,請立刻從 https://microsoft.com/consent 刪除記錄於此外掛的連線鑑權。", + "settings_onedrive_folder": "我們會在您的 OneDrive 上建立此資料夾並在裡面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_onedrive_nobiz": "現在只支援個人版 OneDrive。(暫時)並不支援企業版 OneDrive。", + "settings_onedrive_revoke": "撤回鑑權", + "settings_onedrive_revoke_desc": "您現在使用了使用者名稱 {{username}} 來連線。如果想取消連線,請點選此按鈕。", + "settings_onedrive_revoke_button": "撤回鑑權", + "settings_onedrive_auth": "鑑權", + "settings_onedrive_auth_desc": "鑑權。", + "settings_onedrive_auth_button": "鑑權", + "settings_onedrive_connect_succ": "很好!我們可連線上 OneDrive!", + "settings_onedrive_connect_fail": "我們未能連線上 OneDrive。", + + "settings_webdav": "Webdav 設定", + "settings_webdav_disclaimer1": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 Webdav 伺服器有不符合預期的訪問,請立刻修改使用者名稱和密碼。", + "settings_webdav_cors": "您需要設定 CORS,允許來自這些源的請求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", + "settings_webdav_folder": "我們會在您的伺服器上建立此資料夾並在裡面同步:/{{vaultName}}", + "settings_webdav_addr": "伺服器地址", + "settings_webdav_addr_desc": "伺服器地址。", + "settings_webdav_user": "使用者名稱", + "settings_webdav_user_desc": "使用者名稱。", + "settings_webdav_password": "密碼", + "settings_webdav_password_desc": "密碼。", + "settings_webdav_auth": "鑑權型別", + "settings_webdav_auth_desc": "如果不填寫密碼,本設定會被忽略。", + "settings_webdav_depth": "傳送到伺服器的 Depth header", + "settings_webdav_depth_desc": "Webdav 伺服器會被設為接收 Depth header 為“1”或“Infinity”請求。本外掛需要得知此資訊。如果您不清楚如何設定,可以選擇“自動檢測”", + "settings_webdav_depth_auto": "自動檢測", + "settings_webdav_depth_1": "只支援 depth='1'", + "settings_webdav_depth_inf": "支援 depth='infinity'", + "settings_webdav_connect_succ": "很好!可以連線上 Webdav 伺服器。", + "settings_webdav_connect_fail": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別{{corsErrMsg}}等錯誤。", + + "settings_chooseservice": "選擇服務", + "settings_chooseservice_desc": "選擇服務。", + "settings_chooseservice_s3": "S3 或相容 S3 的服務", + "settings_chooseservice_dropbox": "Dropbox", + "settings_chooseservice_webdav": "Webdav", + "settings_chooseservice_onedrive": "OneDrive(個人版)", + + "settings_adv": "進階設定", + "settings_concurrency": "並行度", + "settings_concurrency_desc": "您希望同時最多有多少個檔案被上傳和下載?預設值是 5。如果您遇到了一些問題(如訪問頻率限制),您可以減少並行度。", + "settings_syncunderscore": "同步 _ 檔案或資料夾", + "settings_syncunderscore_desc": "是否同步“_”(下劃線)開始的檔案或資料夾。", + "settings_configdir": "同步配置資料夾(實驗性質)", + "settings_configdir_desc": "是否同步 Obsidian 的配置資料夾 {{configDir}}(其中的 .git 和 node_modules 依然會被忽略)。請注意,此設定可能會影響到您 Obsidian 或者所有的外掛設定,也可能需要您同步完畢後重啟 Obsidian。如果您同意自行承受其風險,則可以開啟本設定。", + + "settings_importexport": "匯入匯出部分設定", + "settings_export": "匯出", + "settings_export_desc": "用 QR 碼匯出非 oauth2 的設定資訊。", + "settings_export_desc_button": "生成 QR 碼", + "settings_import": "匯入", + "settings_import_desc": "您需要使用系統拍攝 app 或者掃描 QR 碼的app,來掃描對應的 QR 碼。", + + "settings_debug": "除錯", + "settings_debuglevel": "修改終端輸出的 level", + "settings_debuglevel_desc": "預設值為 \"info\"。您可以改為 \"debug\" 從而在終端裡獲取更多資訊。", + "settings_outputsettingsconsole": "讀取硬碟上的設定檔案輸出到終端", + "settings_outputsettingsconsole_desc": "硬碟上的設定檔案是編碼過的,點選這裡從而解碼並輸出到終端。", + "settings_outputsettingsconsole_button": "輸出", + "settings_outputsettingsconsole_notice": "已輸出到終端", + "settings_syncplans": "匯出同步計劃", + "settings_syncplans_desc": "每次您啟動同步,並在實際上傳下載前,外掛會生成同步計劃。它可以使您知道每次同步發生了什麼。點選按鈕可以匯出同步計劃。", + "settings_syncplans_button": "匯出", + "settings_syncplans_notice": "同步計劃已匯出", + "settings_delsyncplans": "刪除資料庫裡的同步計劃歷史", + "settings_delsyncplans_desc": "刪除資料庫裡的同步計劃歷史。", + "settings_delsyncplans_button": "刪除歷史", + "settings_delsyncplans_notice": "(資料庫裡的)同步計劃已被刪除。", + "settings_delsyncmap": "刪除資料庫裡的同步對映歷史", + "settings_delsyncmap_desc": "同步對映歷史儲存了本地真正的最後修改時間和遠端檔案時間的對映。刪除之可能會導致下一次同步時發生不必要的資料交換。點選按鈕刪除資料庫裡的同步對映歷史。", + "settings_delsyncmap_button": "刪除同步對映歷史", + "settings_delsyncmap_notice": "(本地資料庫裡的)同步對映歷史已被刪除。", + "settings_resetcache": "重設本地快取和資料庫", + "settings_resetcache_desc": "(出於除錯原因)重設本地快取和資料庫。您需要在重設之後重新載入此外掛。本重設不會刪除 s3,密碼……等設定。", + "settings_resetcache_button": "重設", + "settings_resetcache_notice": "本地同步快取和資料庫已被刪除。請手動重新載入此外掛。", + + "syncalgov2_title": "Remotely Save 的同步演算法得到最佳化", + "syncalgov2_texts": "歡迎使用 Remotely Save!\n從版本 0.3.0 開始,它帶來了新的同步演算法,但是,除了您的筆記之外,它還需要上傳額外的帶有元資訊的檔案 _remotely-save-metadata-on-remote.{json,bin} 到您的雲服務目的地上。\n從而,比如說,透過讀取這些資訊,另一臺裝置可以知道什麼檔案或資料夾在第一臺裝置上被刪除了。\n如果您同意此策略,請點選按鈕 \"同意\",然後開始享用此外掛!且特別要注意:使用外掛之前,請首先備份好您的庫(Vault)!\n如果您不同意此策略,您應該停止使用此版本和之後版本的 Remotely Save。您可以考慮手動安裝舊版 0.2.14,它使用舊的同步演算法,並不上傳額外元資訊檔案。點選 \"不同意\" 之後,外掛會自動停止執行(unload),然後您需要 Obsidian 設定裡手動停用(disable)此外掛。", + "syncalgov2_button_agree": "同意", + "syncalgov2_button_disagree": "不同意" +} From 4b69d60d8956f2c2bb9e642e2524d6f2404c2e24 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 20 Mar 2022 20:52:07 +0800 Subject: [PATCH 04/31] fix wording --- zh_tw.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zh_tw.json b/zh_tw.json index b05ba7e..77f9589 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -37,7 +37,7 @@ "modal_password_title": "稍等一下,請閱讀下文:", "modal_password_shortdesc": "如果密碼不是空的,那麼檔案會在上傳之前,在本地先用此密碼加密。\n如果密碼是空的,那麼檔案會被非加密地上傳。", - "modal_password_attn1": "注意 1/5:庫(Vault)名字是不會加密的!本外掛會在一些遠端儲存裡建立一個和庫名字有著同名的資料夾。", + "modal_password_attn1": "注意 1/5:儲存庫(Vault)名字是不會加密的!本外掛會在一些遠端儲存裡建立一個和庫名字有著同名的資料夾。", "modal_password_attn2": "注意 2/5:密碼在本地不加密地儲存!", "modal_password_attn3": "注意 3/5:一些元資訊是沒有被加密的,或者可以被較容易地猜測出來。(檔案大小很接近於沒加密的時候,且資料夾可能會被儲存為大小為 0 byte 的物件。)", "modal_password_attn4": "注意 4/5:您需要確保遠端儲存是“空”的,或者已有檔案也是被同一個新密碼加密的;從而避免衝突。", @@ -213,7 +213,7 @@ "settings_resetcache_notice": "本地同步快取和資料庫已被刪除。請手動重新載入此外掛。", "syncalgov2_title": "Remotely Save 的同步演算法得到最佳化", - "syncalgov2_texts": "歡迎使用 Remotely Save!\n從版本 0.3.0 開始,它帶來了新的同步演算法,但是,除了您的筆記之外,它還需要上傳額外的帶有元資訊的檔案 _remotely-save-metadata-on-remote.{json,bin} 到您的雲服務目的地上。\n從而,比如說,透過讀取這些資訊,另一臺裝置可以知道什麼檔案或資料夾在第一臺裝置上被刪除了。\n如果您同意此策略,請點選按鈕 \"同意\",然後開始享用此外掛!且特別要注意:使用外掛之前,請首先備份好您的庫(Vault)!\n如果您不同意此策略,您應該停止使用此版本和之後版本的 Remotely Save。您可以考慮手動安裝舊版 0.2.14,它使用舊的同步演算法,並不上傳額外元資訊檔案。點選 \"不同意\" 之後,外掛會自動停止執行(unload),然後您需要 Obsidian 設定裡手動停用(disable)此外掛。", + "syncalgov2_texts": "歡迎使用 Remotely Save!\n從版本 0.3.0 開始,它帶來了新的同步演算法,但是,除了您的筆記之外,它還需要上傳額外的帶有元資訊的檔案 _remotely-save-metadata-on-remote.{json,bin} 到您的雲服務目的地上。\n從而,比如說,透過讀取這些資訊,另一臺裝置可以知道什麼檔案或資料夾在第一臺裝置上被刪除了。\n如果您同意此策略,請點選按鈕 \"同意\",然後開始享用此外掛!且特別要注意:使用外掛之前,請首先備份好您的儲存庫(Vault)!\n如果您不同意此策略,您應該停止使用此版本和之後版本的 Remotely Save。您可以考慮手動安裝舊版 0.2.14,它使用舊的同步演算法,並不上傳額外元資訊檔案。點選 \"不同意\" 之後,外掛會自動停止執行(unload),然後您需要 Obsidian 設定裡手動停用(disable)此外掛。", "syncalgov2_button_agree": "同意", "syncalgov2_button_disagree": "不同意" } From 28730585f8cef9625b2b5a2296318c1c071ff7ba Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 20 Mar 2022 23:36:54 +0800 Subject: [PATCH 05/31] more s3 urlstyle --- en.json | 2 ++ zh_cn.json | 2 ++ zh_tw.json | 2 ++ 3 files changed, 6 insertions(+) diff --git a/en.json b/en.json index 656ca42..ff121ad 100644 --- a/en.json +++ b/en.json @@ -114,6 +114,8 @@ "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version (Obsidian>={{ver}}). If you encounter any issues, please disable this setting and config CORS (app://obsidian.md and capacitor://localhost and http://localhost) on server.", "settings_s3_parts": "Parts Concurrency", "settings_s3_parts_desc": "Large files are split into small parts to upload in S3. How many parts do you want to upload in parallel at most?", + "settings_s3_urlstyle": "S3 URL style", + "settings_s3_urlstyle_desc": "Whether to force path-style URLs for S3 objects (e.g., https://s3.amazonaws.com/*/ instead of https://*.s3.amazonaws.com/).", "settings_s3_connect_succ": "Great! The bucket can be accessed.", "settings_s3_connect_fail": "The S3 bucket cannot be reached.", diff --git a/zh_cn.json b/zh_cn.json index 883e99b..0e24109 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -114,6 +114,8 @@ "settings_s3_bypasscorslocally_desc": "对于 Obsidian 新版本(>= {{ver}}),本插件可以跳过服务器设置 CORS 的步骤。如果您遇到任意问题,可以关闭此设定,并在服务端设置 CORS(app://obsidian.md 和 capacitor://localhost 和 http://localhost)。", "settings_s3_parts": "分块并行度", "settings_s3_parts_desc": "在 S3 里,大文件会被分块上传。您希望同一时间最多有多少个分块被上传?", + "settings_s3_urlstyle": "S3 URL style", + "settings_s3_urlstyle_desc": "是否对 S3 对象强制使用 path style URL(例如使用 https://s3.amazonaws.com/*/ 而不是 https://*.s3.amazonaws.com/)。", "settings_s3_connect_succ": "很好!可以访问到对应存储桶。", "settings_s3_connect_fail": "无法访问到对应存储桶。", diff --git a/zh_tw.json b/zh_tw.json index 77f9589..f4b51d9 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -114,6 +114,8 @@ "settings_s3_bypasscorslocally_desc": "對於 Obsidian 新版本(>= {{ver}}),本外掛可以跳過伺服器設定 CORS 的步驟。如果您遇到任意問題,可以關閉此設定,並在服務端設定 CORS(app://obsidian.md 和 capacitor://localhost 和 http://localhost)。", "settings_s3_parts": "分塊並行度", "settings_s3_parts_desc": "在 S3 裡,大檔案會被分塊上傳。您希望同一時間最多有多少個分塊被上傳?", + "settings_s3_urlstyle": "S3 URL style", + "settings_s3_urlstyle_desc": "是否對 S3 物件強制使用 path style URL(例如使用 https://s3.amazonaws.com/*/ 而不是 https://*.s3.amazonaws.com/)。", "settings_s3_connect_succ": "很好!可以訪問到對應儲存桶。", "settings_s3_connect_fail": "無法訪問到對應儲存桶。", From 475d524994493a53bfffabbad6bfa25259197a2d Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Wed, 23 Mar 2022 22:54:20 +0800 Subject: [PATCH 06/31] add more hints for webdav --- en.json | 5 ++++- zh_cn.json | 5 ++++- zh_tw.json | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/en.json b/en.json index ff121ad..f519b15 100644 --- a/en.json +++ b/en.json @@ -150,6 +150,8 @@ "settings_webdav": "Remote For Webdav", "settings_webdav_disclaimer1": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins may read the info. If you see any unintentional access to your webdav server, please immediately change the username and password.", + "settings_webdav_cors_android": "Obsidian Android does not yet support bypassing CORS locally for Webdav.", + "settings_webdav_cors_otheros": "Obsidian desktop>=0.13.25 or iOS>=1.1.1 supports bypassing CORS locally. But you are using an old version, and you're suggested to upgrade Obsidian.", "settings_webdav_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost", "settings_webdav_folder": "We will create and sync inside the folder /{{vaultName}} on your server.", "settings_webdav_addr": "Server Address", @@ -166,7 +168,8 @@ "settings_webdav_depth_1": "only supports depth='1'", "settings_webdav_depth_inf": "supports depth='infinity'", "settings_webdav_connect_succ": "Great! The webdav server can be accessed.", - "settings_webdav_connect_fail": "The webdav server cannot be reached (possible to be any of address/username/password/authtype{{corsErrMsg}} errors).", + "settings_webdav_connect_fail": "The webdav server cannot be reached (possible to be any of address/username/password/authtype errors).", + "settings_webdav_connect_fail_withcors": "The webdav server cannot be reached (possible to be any of address/username/password/authtype/CORS errors).", "settings_chooseservice": "Choose A Service", "settings_chooseservice_desc": "Choose a service.", diff --git a/zh_cn.json b/zh_cn.json index 0e24109..0415e43 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -150,6 +150,8 @@ "settings_webdav": "Webdav 设置", "settings_webdav_disclaimer1": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 Webdav 服务器有不符合预期的访问,请立刻修改用户名和密码。", + "settings_webdav_cors_android": "Obsidian Android 暂未支持 Webdav 跳过 CORS 设置。", + "settings_webdav_cors_otheros": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 支持跳过 CORS 设置。但您正在使用旧版,建议升级。", "settings_webdav_cors": "您需要设置 CORS,允许来自这些源的请求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", "settings_webdav_folder": "我们会在您的服务器上创建此文件夹并在里面同步:/{{vaultName}}", "settings_webdav_addr": "服务器地址", @@ -166,7 +168,8 @@ "settings_webdav_depth_1": "只支持 depth='1'", "settings_webdav_depth_inf": "支持 depth='infinity'", "settings_webdav_connect_succ": "很好!可以连接上 Webdav 服务器。", - "settings_webdav_connect_fail": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型{{corsErrMsg}}等错误。", + "settings_webdav_connect_fail": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型等错误。)", + "settings_webdav_connect_fail_withcors": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型/CORS 等错误。)", "settings_chooseservice": "选择服务", "settings_chooseservice_desc": "选择服务。", diff --git a/zh_tw.json b/zh_tw.json index f4b51d9..20cfe13 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -150,6 +150,8 @@ "settings_webdav": "Webdav 設定", "settings_webdav_disclaimer1": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 Webdav 伺服器有不符合預期的訪問,請立刻修改使用者名稱和密碼。", + "settings_webdav_cors_android": "Obsidian Android 暫未支援 Webdav 跳過 CORS 設定。", + "settings_webdav_cors_otheros": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 支援跳過 CORS 設定。但您正在使用舊版,建議升級。", "settings_webdav_cors": "您需要設定 CORS,允許來自這些源的請求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", "settings_webdav_folder": "我們會在您的伺服器上建立此資料夾並在裡面同步:/{{vaultName}}", "settings_webdav_addr": "伺服器地址", @@ -166,7 +168,8 @@ "settings_webdav_depth_1": "只支援 depth='1'", "settings_webdav_depth_inf": "支援 depth='infinity'", "settings_webdav_connect_succ": "很好!可以連線上 Webdav 伺服器。", - "settings_webdav_connect_fail": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別{{corsErrMsg}}等錯誤。", + "settings_webdav_connect_fail": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別等錯誤。)", + "settings_webdav_connect_fail_withcors": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別/CORS 等錯誤。)", "settings_chooseservice": "選擇服務", "settings_chooseservice_desc": "選擇服務。", From 5e740813d52a06a7555d067af45e719db23f48aa Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sat, 26 Mar 2022 15:11:08 +0800 Subject: [PATCH 07/31] update text --- en.json | 2 +- zh_cn.json | 2 +- zh_tw.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/en.json b/en.json index f519b15..e4151b9 100644 --- a/en.json +++ b/en.json @@ -206,7 +206,7 @@ "settings_syncplans_notice": "Sync plans history exported.", "settings_delsyncplans": "Delete Sync Plans History In DB", "settings_delsyncplans_desc": "Delete sync plans history in DB.", - "settings_delsyncplans_button": "Delete History", + "settings_delsyncplans_button": "Delete Sync Plans History", "settings_delsyncplans_notice": "Sync plans history (in DB) deleted.", "settings_delsyncmap": "delete sync mappings history in DB", "settings_delsyncmap_desc": "Sync mappings history stores the actual LOCAL last modified time of the REMOTE objects. Clearing it may cause unnecessary data exchanges in next-time sync. Click the button to delete sync mappings history in DB.", diff --git a/zh_cn.json b/zh_cn.json index 0415e43..a883fd0 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -206,7 +206,7 @@ "settings_syncplans_notice": "同步计划已导出", "settings_delsyncplans": "删除数据库里的同步计划历史", "settings_delsyncplans_desc": "删除数据库里的同步计划历史。", - "settings_delsyncplans_button": "删除历史", + "settings_delsyncplans_button": "删除同步计划历史", "settings_delsyncplans_notice": "(数据库里的)同步计划已被删除。", "settings_delsyncmap": "删除数据库里的同步映射历史", "settings_delsyncmap_desc": "同步映射历史存储了本地真正的最后修改时间和远程文件时间的映射。删除之可能会导致下一次同步时发生不必要的数据交换。点击按钮删除数据库里的同步映射历史。", diff --git a/zh_tw.json b/zh_tw.json index 20cfe13..429a588 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -206,7 +206,7 @@ "settings_syncplans_notice": "同步計劃已匯出", "settings_delsyncplans": "刪除資料庫裡的同步計劃歷史", "settings_delsyncplans_desc": "刪除資料庫裡的同步計劃歷史。", - "settings_delsyncplans_button": "刪除歷史", + "settings_delsyncplans_button": "刪除同步計劃歷史", "settings_delsyncplans_notice": "(資料庫裡的)同步計劃已被刪除。", "settings_delsyncmap": "刪除資料庫裡的同步對映歷史", "settings_delsyncmap_desc": "同步對映歷史儲存了本地真正的最後修改時間和遠端檔案時間的對映。刪除之可能會導致下一次同步時發生不必要的資料交換。點選按鈕刪除資料庫裡的同步對映歷史。", From 230fee440e72736f7582372cbf9dc4ff648457de Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 27 Mar 2022 00:48:26 +0800 Subject: [PATCH 08/31] add vault id setting wording --- en.json | 3 +++ zh_cn.json | 3 +++ zh_tw.json | 3 +++ 3 files changed, 9 insertions(+) diff --git a/en.json b/en.json index e4151b9..4443ab1 100644 --- a/en.json +++ b/en.json @@ -212,6 +212,9 @@ "settings_delsyncmap_desc": "Sync mappings history stores the actual LOCAL last modified time of the REMOTE objects. Clearing it may cause unnecessary data exchanges in next-time sync. Click the button to delete sync mappings history in DB.", "settings_delsyncmap_button": "Delete Sync Mappings", "settings_delsyncmap_notice": "Sync mappings history (in local DB) deleted", + "settings_outputbasepathvaultid": "Output Vault Base Path And Randomly Assigned ID", + "settings_outputbasepathvaultid_desc": "For debugging purposes.", + "settings_outputbasepathvaultid_button": "Output", "settings_resetcache": "reset local internal cache/databases", "settings_resetcache_desc": "Reset local internal caches/databases (for debugging purposes). You would want to reload the plugin after resetting this. This option will not empty the {s3, password...} settings.", "settings_resetcache_button": "Reset", diff --git a/zh_cn.json b/zh_cn.json index a883fd0..d592068 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -212,6 +212,9 @@ "settings_delsyncmap_desc": "同步映射历史存储了本地真正的最后修改时间和远程文件时间的映射。删除之可能会导致下一次同步时发生不必要的数据交换。点击按钮删除数据库里的同步映射历史。", "settings_delsyncmap_button": "删除同步映射历史", "settings_delsyncmap_notice": "(本地数据库里的)同步映射历史已被删除。", + "settings_outputbasepathvaultid": "输出资料库对应的位置和随机分配的 ID", + "settings_outputbasepathvaultid_desc": "用于调试。", + "settings_outputbasepathvaultid_button": "输出", "settings_resetcache": "重设本地缓存和数据库", "settings_resetcache_desc": "(出于调试原因)重设本地缓存和数据库。您需要在重设之后重新载入此插件。本重设不会删除 s3,密码……等设定。", "settings_resetcache_button": "重设", diff --git a/zh_tw.json b/zh_tw.json index 429a588..6231d55 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -212,6 +212,9 @@ "settings_delsyncmap_desc": "同步對映歷史儲存了本地真正的最後修改時間和遠端檔案時間的對映。刪除之可能會導致下一次同步時發生不必要的資料交換。點選按鈕刪除資料庫裡的同步對映歷史。", "settings_delsyncmap_button": "刪除同步對映歷史", "settings_delsyncmap_notice": "(本地資料庫裡的)同步對映歷史已被刪除。", + "settings_outputbasepathvaultid": "輸出資料庫對應的位置和隨機分配的 ID", + "settings_outputbasepathvaultid_desc": "用於除錯。", + "settings_outputbasepathvaultid_button": "輸出", "settings_resetcache": "重設本地快取和資料庫", "settings_resetcache_desc": "(出於除錯原因)重設本地快取和資料庫。您需要在重設之後重新載入此外掛。本重設不會刪除 s3,密碼……等設定。", "settings_resetcache_button": "重設", From c729c117e810fd6e01c52fe6af4f7c4764f19e48 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Tue, 29 Mar 2022 00:12:30 +0800 Subject: [PATCH 09/31] add remoteBaseDir --- en.json | 16 +++++++++++++--- zh_cn.json | 16 +++++++++++++--- zh_tw.json | 16 +++++++++++++--- 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/en.json b/en.json index 4443ab1..0bc5e00 100644 --- a/en.json +++ b/en.json @@ -45,6 +45,13 @@ "modal_password_secondconfirm": "The Second Confirm to change password.", "modal_password_notice": "New password saved!", + "modal_remotebasedir_title": "You are changing the remote base directory config", + "modal_remotebasedir_shortdesc": "1. The plugin would NOT automatically move the content from the old directory to the new one directly on the remote. Everything syncs from the beginning again.\n2. If you set the string to the empty, the config would be reset to use the vault folder name (the default config).\n3. The remote directory name itself would not be encrypted even you've set an E2E password.\n4. Some special char like '?', '/', '\\' are not allowed. Spaces in the beginning or in the end are also trimmed.", + "modal_remotebasedir_invaliddirhint": "Your input contains special characters like '?', '/', '\\' which are not allowed.", + "modal_remotebasedir_secondconfirm_vaultname": "Reset To The Default Vault Folder Name", + "modal_remotebasedir_secondconfirm_change": "Confirm To Change", + "modal_remotebasedir_notice": "New remote base directory config saved!", + "modal_dropboxauth_manualsteps": "Step 1: Visit the address in a browser, and follow the steps.\nStep 2: In the end of the web flow, you obtain a long code. Paste it here then click \"Submit\".", "modal_dropboxauth_autosteps": "Visit the address in a browser, and follow the steps.\nFinally you should be redirected to Obsidian.", "modal_dropboxauth_copybutton": "Click to copy the auth url", @@ -96,6 +103,9 @@ "settings_checkonnectivity_button": "Check", "settings_checkonnectivity_checking": "Checking...", + "settings_remotebasedir": "Change The Remote Base Directory (experimental)", + "settings_remotebasedir_desc": "By default the content is synced to a remote directory with the same name as the vault name. You can change the remote folder name here, or keep the input field empty to reset to the default. You need to click \"Confirm\".", + "settings_s3": "Remote For S3 or compatible", "settings_s3_disclaimer1": "Disclaimer: This plugin is NOT an official Amazon product.", "settings_s3_disclaimer2": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your bucket, please immediately delete the access key on your AWS (or other S3-service provider) settings.", @@ -122,7 +132,7 @@ "settings_dropbox": "Remote For Dropbox", "settings_dropbox_disclaimer1": "Disclaimer: This app is NOT an official Dropbox product.", "settings_dropbox_disclaimer2": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Dropbox, please immediately disconnect this app on https://www.dropbox.com/account/connected_apps .", - "settings_dropbox_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{vaultName}} on your Dropbox.", + "settings_dropbox_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{remoteBaseDir}} on your Dropbox.", "settings_dropbox_revoke": "Revoke Auth", "settings_dropbox_revoke_desc": "You've connected as user {{username}}. If you want to disconnect, click this button.", "settings_dropbox_revoke_button": "Revoke Auth", @@ -137,7 +147,7 @@ "settings_onedrive": "Remote For Onedrive (for personal)", "settings_onedrive_disclaimer1": "Disclaimer: This app is NOT an official Microsoft / Onedrive product.", "settings_onedrive_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Onedrive, please immediately disconnect this app on https://microsoft.com/consent .", - "settings_onedrive_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{vaultName}} on your OneDrive.", + "settings_onedrive_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{remoteBaseDir}} on your OneDrive.", "settings_onedrive_nobiz": "Currently only OneDrive for personal is supported. OneDrive for Business is NOT supported (yet).", "settings_onedrive_revoke": "Revoke Auth", "settings_onedrive_revoke_desc": "You've connected as user {{username}}. If you want to disconnect, click this button.", @@ -153,7 +163,7 @@ "settings_webdav_cors_android": "Obsidian Android does not yet support bypassing CORS locally for Webdav.", "settings_webdav_cors_otheros": "Obsidian desktop>=0.13.25 or iOS>=1.1.1 supports bypassing CORS locally. But you are using an old version, and you're suggested to upgrade Obsidian.", "settings_webdav_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost", - "settings_webdav_folder": "We will create and sync inside the folder /{{vaultName}} on your server.", + "settings_webdav_folder": "We will create and sync inside the folder /{{remoteBaseDir}} on your server.", "settings_webdav_addr": "Server Address", "settings_webdav_addr_desc": "Server address.", "settings_webdav_user": "Username", diff --git a/zh_cn.json b/zh_cn.json index d592068..8d1b12c 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -45,6 +45,13 @@ "modal_password_secondconfirm": "再次确认保存新密码", "modal_password_notice": "新密码已保存!", + "modal_remotebasedir_title": "您正在修改远端基文件夹设置", + "modal_remotebasedir_shortdesc": "1. 本插件并不会自动在远端把内容从旧文件夹移动到新文件夹。所有内容都会重新同步。\n2. 如果你使得文本输入框为空,那么本设置会被重设回库的文件夹名(默认设置)。\n3. 即使您设置了端对端加密的密码,远端文件夹名称本身也不会被加密。\n4. 某些特殊字符,如“?”、“/”、“\\”是不允许的。文本前后的空格也会被自动删去。", + "modal_remotebasedir_invaliddirhint": "您所输入的内容含有某些特殊字符,如“?”、“/”、“\\”,它们是不允许的。", + "modal_remotebasedir_secondconfirm_vaultname": "重设会默认的库文件夹名", + "modal_remotebasedir_secondconfirm_change": "确认修改", + "modal_remotebasedir_notice": "新的远端基文件夹设置已保存!", + "modal_dropboxauth_manualsteps": "第 1 步:在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会获得一串很长的代码文本,请复制粘贴到下方,并点击“提交”", "modal_dropboxauth_autosteps": "在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会被自动重定向回来 Obsidian。", "modal_dropboxauth_copybutton": "点击此按钮从而复制鉴权 url", @@ -96,6 +103,9 @@ "settings_checkonnectivity_button": "检查", "settings_checkonnectivity_checking": "正在检查……", + "settings_remotebasedir": "修改远端基文件夹(实验性质)", + "settings_remotebasedir_desc": "默认设定,内容会被同步到远端的和资料库同名的文件夹下。您可以在此修改远端文件夹名,或删除输入框文本从而重设到默认值。您需要点击“确认”。", + "settings_s3": "S3 或兼容 S3 的服务的设置", "settings_s3_disclaimer1": "声明:本插件不是 Amazon 的官方产品。", "settings_s3_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了存储桶有不符合预期的访问,请立刻从 AWS(或其它 S3 服务商)删除记录于此的 access key。", @@ -122,7 +132,7 @@ "settings_dropbox": "Dropbox 设置", "settings_dropbox_disclaimer1": "声明:此插件不是 Dropbox 官方产品。", "settings_dropbox_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 Dropbox 有不符合预期的访问,请立刻从 https://www.dropbox.com/account/connected_apps 删除记录于此插件的连接鉴权。", - "settings_dropbox_folder": "我们会在您的 Dropbox 上创建此文件夹并在里面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_dropbox_folder": "我们会在您的 Dropbox 上创建此文件夹并在里面同步:/Apps/{{pluginID}}/{{remoteBaseDir}}。", "settings_dropbox_revoke": "撤回鉴权", "settings_dropbox_revoke_desc": "您现在使用了用户名 {{username}} 来连接。如果想取消连接,请点击此按钮。", "settings_dropbox_revoke_button": "撤回鉴权", @@ -137,7 +147,7 @@ "settings_onedrive": "Onedrive(个人版)设置", "settings_onedrive_disclaimer1": "声明:此插件不是微软或 OneDrive 的官方产品。", "settings_onedrive_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 OneDrive 有不符合预期的访问,请立刻从 https://microsoft.com/consent 删除记录于此插件的连接鉴权。", - "settings_onedrive_folder": "我们会在您的 OneDrive 上创建此文件夹并在里面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_onedrive_folder": "我们会在您的 OneDrive 上创建此文件夹并在里面同步:/Apps/{{pluginID}}/{{remoteBaseDir}}。", "settings_onedrive_nobiz": "现在只支持个人版 OneDrive。(暂时)并不支持企业版 OneDrive。", "settings_onedrive_revoke": "撤回鉴权", "settings_onedrive_revoke_desc": "您现在使用了用户名 {{username}} 来连接。如果想取消连接,请点击此按钮。", @@ -153,7 +163,7 @@ "settings_webdav_cors_android": "Obsidian Android 暂未支持 Webdav 跳过 CORS 设置。", "settings_webdav_cors_otheros": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 支持跳过 CORS 设置。但您正在使用旧版,建议升级。", "settings_webdav_cors": "您需要设置 CORS,允许来自这些源的请求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", - "settings_webdav_folder": "我们会在您的服务器上创建此文件夹并在里面同步:/{{vaultName}}", + "settings_webdav_folder": "我们会在您的服务器上创建此文件夹并在里面同步:/{{remoteBaseDir}}", "settings_webdav_addr": "服务器地址", "settings_webdav_addr_desc": "服务器地址。", "settings_webdav_user": "用户名", diff --git a/zh_tw.json b/zh_tw.json index 6231d55..c73b15b 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -45,6 +45,13 @@ "modal_password_secondconfirm": "再次確認儲存新密碼", "modal_password_notice": "新密碼已儲存!", + "modal_remotebasedir_title": "您正在修改遠端基資料夾設定", + "modal_remotebasedir_shortdesc": "1. 本外掛並不會自動在遠端把內容從舊資料夾移動到新資料夾。所有內容都會重新同步。\n2. 如果你使得文字輸入框為空,那麼本設定會被重設回庫的資料夾名(預設設定)。\n3. 即使您設定了端對端加密的密碼,遠端資料夾名稱本身也不會被加密。\n4. 某些特殊字元,如“?”、“/”、“\\”是不允許的。文字前後的空格也會被自動刪去。", + "modal_remotebasedir_invaliddirhint": "您所輸入的內容含有某些特殊字元,如“?”、“/”、“\\”,它們是不允許的。", + "modal_remotebasedir_secondconfirm_vaultname": "重設會預設的庫資料夾名", + "modal_remotebasedir_secondconfirm_change": "確認修改", + "modal_remotebasedir_notice": "新的遠端基資料夾設定已儲存!", + "modal_dropboxauth_manualsteps": "第 1 步:在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會獲得一串很長的程式碼文字,請複製貼上到下方,並點選“提交”", "modal_dropboxauth_autosteps": "在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會被自動重定向回來 Obsidian。", "modal_dropboxauth_copybutton": "點選此按鈕從而複製鑑權 url", @@ -96,6 +103,9 @@ "settings_checkonnectivity_button": "檢查", "settings_checkonnectivity_checking": "正在檢查……", + "settings_remotebasedir": "修改遠端基資料夾(實驗性質)", + "settings_remotebasedir_desc": "預設設定,內容會被同步到遠端的和資料庫同名的資料夾下。您可以在此修改遠端資料夾名,或刪除輸入框文字從而重設到預設值。您需要點選“確認”。", + "settings_s3": "S3 或相容 S3 的服務的設定", "settings_s3_disclaimer1": "宣告:本外掛不是 Amazon 的官方產品。", "settings_s3_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了儲存桶有不符合預期的訪問,請立刻從 AWS(或其它 S3 服務商)刪除記錄於此的 access key。", @@ -122,7 +132,7 @@ "settings_dropbox": "Dropbox 設定", "settings_dropbox_disclaimer1": "宣告:此外掛不是 Dropbox 官方產品。", "settings_dropbox_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 Dropbox 有不符合預期的訪問,請立刻從 https://www.dropbox.com/account/connected_apps 刪除記錄於此外掛的連線鑑權。", - "settings_dropbox_folder": "我們會在您的 Dropbox 上建立此資料夾並在裡面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_dropbox_folder": "我們會在您的 Dropbox 上建立此資料夾並在裡面同步:/Apps/{{pluginID}}/{{remoteBaseDir}}。", "settings_dropbox_revoke": "撤回鑑權", "settings_dropbox_revoke_desc": "您現在使用了使用者名稱 {{username}} 來連線。如果想取消連線,請點選此按鈕。", "settings_dropbox_revoke_button": "撤回鑑權", @@ -137,7 +147,7 @@ "settings_onedrive": "Onedrive(個人版)設定", "settings_onedrive_disclaimer1": "宣告:此外掛不是微軟或 OneDrive 的官方產品。", "settings_onedrive_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 OneDrive 有不符合預期的訪問,請立刻從 https://microsoft.com/consent 刪除記錄於此外掛的連線鑑權。", - "settings_onedrive_folder": "我們會在您的 OneDrive 上建立此資料夾並在裡面同步:/Apps/{{pluginID}}/{{vaultName}}。", + "settings_onedrive_folder": "我們會在您的 OneDrive 上建立此資料夾並在裡面同步:/Apps/{{pluginID}}/{{remoteBaseDir}}。", "settings_onedrive_nobiz": "現在只支援個人版 OneDrive。(暫時)並不支援企業版 OneDrive。", "settings_onedrive_revoke": "撤回鑑權", "settings_onedrive_revoke_desc": "您現在使用了使用者名稱 {{username}} 來連線。如果想取消連線,請點選此按鈕。", @@ -153,7 +163,7 @@ "settings_webdav_cors_android": "Obsidian Android 暫未支援 Webdav 跳過 CORS 設定。", "settings_webdav_cors_otheros": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 支援跳過 CORS 設定。但您正在使用舊版,建議升級。", "settings_webdav_cors": "您需要設定 CORS,允許來自這些源的請求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", - "settings_webdav_folder": "我們會在您的伺服器上建立此資料夾並在裡面同步:/{{vaultName}}", + "settings_webdav_folder": "我們會在您的伺服器上建立此資料夾並在裡面同步:/{{remoteBaseDir}}", "settings_webdav_addr": "伺服器地址", "settings_webdav_addr_desc": "伺服器地址。", "settings_webdav_user": "使用者名稱", From 9a4c2d3c1c444577b4a4412e9f37f263ce3ebcb3 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sat, 2 Apr 2022 00:00:49 +0800 Subject: [PATCH 10/31] add dbx clearlocal --- en.json | 4 ++++ zh_cn.json | 4 ++++ zh_tw.json | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/en.json b/en.json index 0bc5e00..80b27c3 100644 --- a/en.json +++ b/en.json @@ -138,6 +138,10 @@ "settings_dropbox_revoke_button": "Revoke Auth", "settings_dropbox_revoke_notice": "Revoked!", "settings_dropbox_revoke_noticeerr": "Something goes wrong while revoking.", + "settings_dropbox_clearlocal": "Clear Locally Saved Credentials", + "settings_dropbox_clearlocal_desc": "You can forcely clear the locally saved Dropbox login credentials, but not send revoke auth request to the server.", + "settings_dropbox_clearlocal_button": "Clear", + "settings_dropbox_clearlocal_notice": "Cleared!", "settings_dropbox_auth": "Auth", "settings_dropbox_auth_desc": "Auth.", "settings_dropbox_auth_button": "Auth", diff --git a/zh_cn.json b/zh_cn.json index 8d1b12c..5cd357e 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -138,6 +138,10 @@ "settings_dropbox_revoke_button": "撤回鉴权", "settings_dropbox_revoke_notice": "鉴权已被撤回!", "settings_dropbox_revoke_noticeerr": "撤回鉴权出错。", + "settings_dropbox_clearlocal": "清除本地保存的鉴权信息", + "settings_dropbox_clearlocal_desc": "您可以强制清除本地已保存的 Dropbox 的登录鉴权信息,但不向服务器发送撤回鉴权的请求。", + "settings_dropbox_clearlocal_button": "清除", + "settings_dropbox_clearlocal_notice": "已清除!", "settings_dropbox_auth": "鉴权", "settings_dropbox_auth_desc": "鉴权。", "settings_dropbox_auth_button": "鉴权", diff --git a/zh_tw.json b/zh_tw.json index c73b15b..c712e10 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -138,6 +138,10 @@ "settings_dropbox_revoke_button": "撤回鑑權", "settings_dropbox_revoke_notice": "鑑權已被撤回!", "settings_dropbox_revoke_noticeerr": "撤回鑑權出錯。", + "settings_dropbox_clearlocal": "清除本地儲存的鑑權資訊", + "settings_dropbox_clearlocal_desc": "您可以強制清除本地已儲存的 Dropbox 的登入鑑權資訊,但不向伺服器傳送撤回鑑權的請求。", + "settings_dropbox_clearlocal_button": "清除", + "settings_dropbox_clearlocal_notice": "已清除!", "settings_dropbox_auth": "鑑權", "settings_dropbox_auth_desc": "鑑權。", "settings_dropbox_auth_button": "鑑權", From 75a3b2a830c5e3286fa26a0c13178505f7ff5cac Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 3 Apr 2022 14:53:17 +0800 Subject: [PATCH 11/31] fix typo --- zh_cn.json | 2 +- zh_tw.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zh_cn.json b/zh_cn.json index 5cd357e..c71b2e7 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -48,7 +48,7 @@ "modal_remotebasedir_title": "您正在修改远端基文件夹设置", "modal_remotebasedir_shortdesc": "1. 本插件并不会自动在远端把内容从旧文件夹移动到新文件夹。所有内容都会重新同步。\n2. 如果你使得文本输入框为空,那么本设置会被重设回库的文件夹名(默认设置)。\n3. 即使您设置了端对端加密的密码,远端文件夹名称本身也不会被加密。\n4. 某些特殊字符,如“?”、“/”、“\\”是不允许的。文本前后的空格也会被自动删去。", "modal_remotebasedir_invaliddirhint": "您所输入的内容含有某些特殊字符,如“?”、“/”、“\\”,它们是不允许的。", - "modal_remotebasedir_secondconfirm_vaultname": "重设会默认的库文件夹名", + "modal_remotebasedir_secondconfirm_vaultname": "重设回默认的库文件夹名", "modal_remotebasedir_secondconfirm_change": "确认修改", "modal_remotebasedir_notice": "新的远端基文件夹设置已保存!", diff --git a/zh_tw.json b/zh_tw.json index c712e10..7ed7fc9 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -48,7 +48,7 @@ "modal_remotebasedir_title": "您正在修改遠端基資料夾設定", "modal_remotebasedir_shortdesc": "1. 本外掛並不會自動在遠端把內容從舊資料夾移動到新資料夾。所有內容都會重新同步。\n2. 如果你使得文字輸入框為空,那麼本設定會被重設回庫的資料夾名(預設設定)。\n3. 即使您設定了端對端加密的密碼,遠端資料夾名稱本身也不會被加密。\n4. 某些特殊字元,如“?”、“/”、“\\”是不允許的。文字前後的空格也會被自動刪去。", "modal_remotebasedir_invaliddirhint": "您所輸入的內容含有某些特殊字元,如“?”、“/”、“\\”,它們是不允許的。", - "modal_remotebasedir_secondconfirm_vaultname": "重設會預設的庫資料夾名", + "modal_remotebasedir_secondconfirm_vaultname": "重設回預設的庫資料夾名", "modal_remotebasedir_secondconfirm_change": "確認修改", "modal_remotebasedir_notice": "新的遠端基資料夾設定已儲存!", From ea076d310b04980808630d9be86c9af0c36a0dd1 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Tue, 5 Apr 2022 23:44:56 +0800 Subject: [PATCH 12/31] add tmpl --- en.json | 1 + zh_cn.json | 1 + zh_tw.json | 1 + 3 files changed, 3 insertions(+) diff --git a/en.json b/en.json index 80b27c3..0ec33c2 100644 --- a/en.json +++ b/en.json @@ -4,6 +4,7 @@ "enable": "Enable", "goback": "Go Back", "submit": "Submit", + "sometext": "Here are some texts.", "syncrun_alreadyrunning": "{{pluginName}} already running in stage {{syncStatus}}!", "syncrun_syncingribbon": "{{pluginName}}: syncing from {{triggerSource}}", diff --git a/zh_cn.json b/zh_cn.json index c71b2e7..1f2ec12 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -4,6 +4,7 @@ "enable": "开启", "goback": "返回", "submit": "提交", + "sometext": "这里有一段文字。", "syncrun_alreadyrunning": "{{pluginName}} 正处于此阶段:{{syncStatus}}!", "syncrun_syncingribbon": "{{pluginName}}:正在由 {{triggerSource}} 触发运行", diff --git a/zh_tw.json b/zh_tw.json index 7ed7fc9..c9af64e 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -4,6 +4,7 @@ "enable": "開啟", "goback": "返回", "submit": "提交", + "sometext": "這裡有一段文字。", "syncrun_alreadyrunning": "{{pluginName}} 正處於此階段:{{syncStatus}}!", "syncrun_syncingribbon": "{{pluginName}}:正在由 {{triggerSource}} 觸發執行", From 2afc10b080356dc8d25e77105838fcfc91f072c6 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Wed, 6 Apr 2022 00:24:14 +0800 Subject: [PATCH 13/31] update texts for logtodb --- en.json | 10 ++++++++++ zh_cn.json | 10 ++++++++++ zh_tw.json | 10 ++++++++++ 3 files changed, 30 insertions(+) diff --git a/en.json b/en.json index 0ec33c2..48c6fd0 100644 --- a/en.json +++ b/en.json @@ -223,6 +223,16 @@ "settings_delsyncplans_desc": "Delete sync plans history in DB.", "settings_delsyncplans_button": "Delete Sync Plans History", "settings_delsyncplans_notice": "Sync plans history (in DB) deleted.", + "settings_logtodb": "Save Console Logs Into DB", + "settings_logtodb_desc": "Enable this to save all console logs into DB, so that we can export and read them later. Especially useful for mobile debugging. Has performance cost and may impact battery. The history is saved for at most 10000 records and 7 days old.", + "settings_logtodbexport": "Export Console Logs From DB", + "settings_logtodbexport_desc": "Export the saved console logs of this vault from DB into a new file in the folder {{&debugFolder}} .", + "settings_logtodbexport_button": "Export", + "settings_logtodbexport_notice": "Console logs of this vault from DB are exported!", + "settings_logtodbclear": "Delete All Console Logs In DB", + "settings_logtodbclear_desc": "Delete all the console logs saved inside DB. This setting applies to all saved logs for all vaults in this device.", + "settings_logtodbclear_button": "Delete", + "settings_logtodbclear_notice": "All console logs saved in DB are deleted!", "settings_delsyncmap": "delete sync mappings history in DB", "settings_delsyncmap_desc": "Sync mappings history stores the actual LOCAL last modified time of the REMOTE objects. Clearing it may cause unnecessary data exchanges in next-time sync. Click the button to delete sync mappings history in DB.", "settings_delsyncmap_button": "Delete Sync Mappings", diff --git a/zh_cn.json b/zh_cn.json index 1f2ec12..11f9b2b 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -223,6 +223,16 @@ "settings_delsyncplans_desc": "删除数据库里的同步计划历史。", "settings_delsyncplans_button": "删除同步计划历史", "settings_delsyncplans_notice": "(数据库里的)同步计划已被删除。", + "settings_logtodb": "保存终端日志到数据库", + "settings_logtodb_desc": "如果开启此设置,所有终端日志都会保存到数据,从而我们可以在之后导出和阅读它们。对于移动设备的调试较为有用。有性能成本,可能会影响电池用量。历史会保存最多 10000 条和 7 天时间。", + "settings_logtodbexport": "从数据库导出终端日志", + "settings_logtodbexport_desc": "从数据库导出本资料库的已保存的终端日志,输出到文件夹 {{&debugFolder}} 下的一个新文件内。", + "settings_logtodbexport_button": "导出", + "settings_logtodbexport_notice": "数据库内的本资料库的终端日志已导出!", + "settings_logtodbclear": "删除数据库的所有终端日志", + "settings_logtodbclear_desc": "删除数据库内的所有已保存的终端日志。本设置会影响本设备下所有资料库的所有已保存日志。", + "settings_logtodbclear_button": "删除", + "settings_logtodbclear_notice": "数据库内的所有终端日志已删除!", "settings_delsyncmap": "删除数据库里的同步映射历史", "settings_delsyncmap_desc": "同步映射历史存储了本地真正的最后修改时间和远程文件时间的映射。删除之可能会导致下一次同步时发生不必要的数据交换。点击按钮删除数据库里的同步映射历史。", "settings_delsyncmap_button": "删除同步映射历史", diff --git a/zh_tw.json b/zh_tw.json index c9af64e..64e3b2a 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -223,6 +223,16 @@ "settings_delsyncplans_desc": "刪除資料庫裡的同步計劃歷史。", "settings_delsyncplans_button": "刪除同步計劃歷史", "settings_delsyncplans_notice": "(資料庫裡的)同步計劃已被刪除。", + "settings_logtodb": "儲存終端日誌到資料庫", + "settings_logtodb_desc": "如果開啟此設定,所有終端日誌都會儲存到資料,從而我們可以在之後匯出和閱讀它們。對於移動裝置的除錯較為有用。有效能成本,可能會影響電池用量。歷史會儲存最多 10000 條和 7 天時間。", + "settings_logtodbexport": "從資料庫匯出終端日誌", + "settings_logtodbexport_desc": "從資料庫匯出本資料庫的已儲存的終端日誌,輸出到資料夾 {{&debugFolder}} 下的一個新檔案內。", + "settings_logtodbexport_button": "匯出", + "settings_logtodbexport_notice": "資料庫內的本資料庫的終端日誌已匯出!", + "settings_logtodbclear": "刪除資料庫的所有終端日誌", + "settings_logtodbclear_desc": "刪除資料庫內的所有已儲存的終端日誌。本設定會影響本裝置下所有資料庫的所有已儲存日誌。", + "settings_logtodbclear_button": "刪除", + "settings_logtodbclear_notice": "資料庫內的所有終端日誌已刪除!", "settings_delsyncmap": "刪除資料庫裡的同步對映歷史", "settings_delsyncmap_desc": "同步對映歷史儲存了本地真正的最後修改時間和遠端檔案時間的對映。刪除之可能會導致下一次同步時發生不必要的資料交換。點選按鈕刪除資料庫裡的同步對映歷史。", "settings_delsyncmap_button": "刪除同步對映歷史", From c46d302441819ee64c8af0170a9ac1aa29dc470f Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Thu, 7 Apr 2022 22:00:26 +0800 Subject: [PATCH 14/31] add more specific desc to s3 cors --- en.json | 4 ++-- zh_cn.json | 4 ++-- zh_tw.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/en.json b/en.json index 48c6fd0..1355531 100644 --- a/en.json +++ b/en.json @@ -110,7 +110,7 @@ "settings_s3": "Remote For S3 or compatible", "settings_s3_disclaimer1": "Disclaimer: This plugin is NOT an official Amazon product.", "settings_s3_disclaimer2": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your bucket, please immediately delete the access key on your AWS (or other S3-service provider) settings.", - "settings_s3_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost", + "settings_s3_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost, and add ETag into exposed headers.", "settings_s3_prod": "Some Amazon S3 official docs for references:", "settings_s3_prod1": "Endpoint and region info", "settings_s3_prod2": "Access Key ID and Secret Access Key info", @@ -122,7 +122,7 @@ "settings_s3_secretaccesskey": "Secret Access Key", "settings_s3_bucketname": "Bucket Name", "settings_s3_bypasscorslocally": "bypass CORS issue locally", - "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version (Obsidian>={{ver}}). If you encounter any issues, please disable this setting and config CORS (app://obsidian.md and capacitor://localhost and http://localhost) on server.", + "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version (Obsidian>={{ver}}). If you encounter any issues, please disable this setting and config CORS on servers (allowing requests from app://obsidian.md and capacitor://localhost and http://localhost and add ETag into exposed headers).", "settings_s3_parts": "Parts Concurrency", "settings_s3_parts_desc": "Large files are split into small parts to upload in S3. How many parts do you want to upload in parallel at most?", "settings_s3_urlstyle": "S3 URL style", diff --git a/zh_cn.json b/zh_cn.json index 11f9b2b..ae47b84 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -110,7 +110,7 @@ "settings_s3": "S3 或兼容 S3 的服务的设置", "settings_s3_disclaimer1": "声明:本插件不是 Amazon 的官方产品。", "settings_s3_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了存储桶有不符合预期的访问,请立刻从 AWS(或其它 S3 服务商)删除记录于此的 access key。", - "settings_s3_cors": "您需要设置 CORS,从而允许这些源的请求访问:app://obsidian.md 和 capacitor://localhost 和 http://localhost", + "settings_s3_cors": "您需要设置 CORS,从而允许这些源的请求访问:app://obsidian.md 和 capacitor://localhost 和 http://localhost 且增加 ETag 到暴露 headers 里。", "settings_s3_prod": "一些可参考的 Amazon S3 官方文档:", "settings_s3_prod1": "服务地址(Endpoint)和区域(Region)信息", "settings_s3_prod2": "Access Key ID 和 Secret Access Key 信息", @@ -122,7 +122,7 @@ "settings_s3_secretaccesskey": "Secret Access Key", "settings_s3_bucketname": "存储桶(Bucket)的名字", "settings_s3_bypasscorslocally": "本地绕过 CORS 问题", - "settings_s3_bypasscorslocally_desc": "对于 Obsidian 新版本(>= {{ver}}),本插件可以跳过服务器设置 CORS 的步骤。如果您遇到任意问题,可以关闭此设定,并在服务端设置 CORS(app://obsidian.md 和 capacitor://localhost 和 http://localhost)。", + "settings_s3_bypasscorslocally_desc": "对于 Obsidian 新版本(>= {{ver}}),本插件可以跳过服务器设置 CORS 的步骤。如果您遇到任意问题,可以关闭此设定,并在服务端设置 CORS(允许来自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的请求且增加 ETag 到暴露 headers 里)。", "settings_s3_parts": "分块并行度", "settings_s3_parts_desc": "在 S3 里,大文件会被分块上传。您希望同一时间最多有多少个分块被上传?", "settings_s3_urlstyle": "S3 URL style", diff --git a/zh_tw.json b/zh_tw.json index 64e3b2a..e6ee15d 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -110,7 +110,7 @@ "settings_s3": "S3 或相容 S3 的服務的設定", "settings_s3_disclaimer1": "宣告:本外掛不是 Amazon 的官方產品。", "settings_s3_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了儲存桶有不符合預期的訪問,請立刻從 AWS(或其它 S3 服務商)刪除記錄於此的 access key。", - "settings_s3_cors": "您需要設定 CORS,從而允許這些源的請求訪問:app://obsidian.md 和 capacitor://localhost 和 http://localhost", + "settings_s3_cors": "您需要設定 CORS,從而允許這些源的請求訪問:app://obsidian.md 和 capacitor://localhost 和 http://localhost 且增加 ETag 到暴露 headers 裡。", "settings_s3_prod": "一些可參考的 Amazon S3 官方文件:", "settings_s3_prod1": "服務地址(Endpoint)和區域(Region)資訊", "settings_s3_prod2": "Access Key ID 和 Secret Access Key 資訊", @@ -122,7 +122,7 @@ "settings_s3_secretaccesskey": "Secret Access Key", "settings_s3_bucketname": "儲存桶(Bucket)的名字", "settings_s3_bypasscorslocally": "本地繞過 CORS 問題", - "settings_s3_bypasscorslocally_desc": "對於 Obsidian 新版本(>= {{ver}}),本外掛可以跳過伺服器設定 CORS 的步驟。如果您遇到任意問題,可以關閉此設定,並在服務端設定 CORS(app://obsidian.md 和 capacitor://localhost 和 http://localhost)。", + "settings_s3_bypasscorslocally_desc": "對於 Obsidian 新版本(>= {{ver}}),本外掛可以跳過伺服器設定 CORS 的步驟。如果您遇到任意問題,可以關閉此設定,並在服務端設定 CORS(允許來自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的請求且增加 ETag 到暴露 headers 裡)。", "settings_s3_parts": "分塊並行度", "settings_s3_parts_desc": "在 S3 裡,大檔案會被分塊上傳。您希望同一時間最多有多少個分塊被上傳?", "settings_s3_urlstyle": "S3 URL style", From 6bfbaa3c1b5c54885b300d6fb93f9c98d50f54e4 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 10 Apr 2022 11:17:41 +0800 Subject: [PATCH 15/31] add commands --- en.json | 2 ++ zh_cn.json | 2 ++ zh_tw.json | 2 ++ 3 files changed, 6 insertions(+) diff --git a/en.json b/en.json index 1355531..68cf86b 100644 --- a/en.json +++ b/en.json @@ -35,6 +35,8 @@ "command_startsync": "start sync", "command_drynrun": "start sync (dry run only)", + "command_exportsyncplans": "export sync plans", + "command_exportlogsindb": "export logs saved in db", "modal_password_title": "Hold on and PLEASE READ ON...", "modal_password_shortdesc": "If the field is not empty, files would be encrypted locally before being uploaded.\nIf the field is empty, then files would be uploaded without encryption.", diff --git a/zh_cn.json b/zh_cn.json index ae47b84..c036000 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -35,6 +35,8 @@ "command_startsync": "开始同步(start sync)", "command_drynrun": "开始同步(空跑模式)(start sync (dry run only))", + "command_exportsyncplans": "导出同步计划(export sync plans)", + "command_exportlogsindb": "从数据库导出终端日志(export logs saved in db)", "modal_password_title": "稍等一下,请阅读下文:", "modal_password_shortdesc": "如果密码不是空的,那么文件会在上传之前,在本地先用此密码加密。\n如果密码是空的,那么文件会被非加密地上传。", diff --git a/zh_tw.json b/zh_tw.json index e6ee15d..de7f10d 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -35,6 +35,8 @@ "command_startsync": "開始同步(start sync)", "command_drynrun": "開始同步(空跑模式)(start sync (dry run only))", + "command_exportsyncplans": "匯出同步計劃(export sync plans)", + "command_exportlogsindb": "從資料庫匯出終端日誌(export logs saved in db)", "modal_password_title": "稍等一下,請閱讀下文:", "modal_password_shortdesc": "如果密碼不是空的,那麼檔案會在上傳之前,在本地先用此密碼加密。\n如果密碼是空的,那麼檔案會被非加密地上傳。", From 470fe141ef48237e81eb84cb466f9bc7f374274c Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 10 Apr 2022 17:37:49 +0800 Subject: [PATCH 16/31] add export format --- en.json | 8 +++++--- zh_cn.json | 8 +++++--- zh_tw.json | 8 +++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/en.json b/en.json index 68cf86b..9bd86c0 100644 --- a/en.json +++ b/en.json @@ -35,7 +35,8 @@ "command_startsync": "start sync", "command_drynrun": "start sync (dry run only)", - "command_exportsyncplans": "export sync plans", + "command_exportsyncplans_json": "export sync plans in json format", + "command_exportsyncplans_table": "export sync plans in table format", "command_exportlogsindb": "export logs saved in db", "modal_password_title": "Hold on and PLEASE READ ON...", @@ -218,8 +219,9 @@ "settings_outputsettingsconsole_button": "Output", "settings_outputsettingsconsole_notice": "Finished outputing in console.", "settings_syncplans": "Export Sync Plans", - "settings_syncplans_desc": "Sync plans are created every time after you trigger sync and before the actual sync. Useful to know what would actually happen in those sync. Click the button to export sync plans", - "settings_syncplans_button": "Export", + "settings_syncplans_desc": "Sync plans are created every time after you trigger sync and before the actual sync. Useful to know what would actually happen in those sync. Click the button to export sync plans. You can choose to export to json or table format inside Markdown, which are equivalent.", + "settings_syncplans_button_json": "Export (json)", + "settings_syncplans_button_table": "Export (table)", "settings_syncplans_notice": "Sync plans history exported.", "settings_delsyncplans": "Delete Sync Plans History In DB", "settings_delsyncplans_desc": "Delete sync plans history in DB.", diff --git a/zh_cn.json b/zh_cn.json index c036000..1aff818 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -35,7 +35,8 @@ "command_startsync": "开始同步(start sync)", "command_drynrun": "开始同步(空跑模式)(start sync (dry run only))", - "command_exportsyncplans": "导出同步计划(export sync plans)", + "command_exportsyncplans_json": "导出同步计划为 json 格式(export sync plans in json format)", + "command_exportsyncplans_table": "导出同步计划为表格格式(export sync plans in table format)", "command_exportlogsindb": "从数据库导出终端日志(export logs saved in db)", "modal_password_title": "稍等一下,请阅读下文:", @@ -218,8 +219,9 @@ "settings_outputsettingsconsole_button": "输出", "settings_outputsettingsconsole_notice": "已输出到终端", "settings_syncplans": "导出同步计划", - "settings_syncplans_desc": "每次您启动同步,并在实际上传下载前,插件会生成同步计划。它可以使您知道每次同步发生了什么。点击按钮可以导出同步计划。", - "settings_syncplans_button": "导出", + "settings_syncplans_desc": "每次您启动同步,并在实际上传下载前,插件会生成同步计划。它可以使您知道每次同步发生了什么。点击按钮可以导出同步计划。并且,您可以选择导出为内嵌在 Markdown 里的 json 格式或表格格式,它们是等价的。", + "settings_syncplans_button_json": "导出(json)", + "settings_syncplans_button_table": "导出(表格)", "settings_syncplans_notice": "同步计划已导出", "settings_delsyncplans": "删除数据库里的同步计划历史", "settings_delsyncplans_desc": "删除数据库里的同步计划历史。", diff --git a/zh_tw.json b/zh_tw.json index de7f10d..e0610a2 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -35,7 +35,8 @@ "command_startsync": "開始同步(start sync)", "command_drynrun": "開始同步(空跑模式)(start sync (dry run only))", - "command_exportsyncplans": "匯出同步計劃(export sync plans)", + "command_exportsyncplans_json": "匯出同步計劃為 json 格式(export sync plans in json format)", + "command_exportsyncplans_table": "匯出同步計劃為表格格式(export sync plans in table format)", "command_exportlogsindb": "從資料庫匯出終端日誌(export logs saved in db)", "modal_password_title": "稍等一下,請閱讀下文:", @@ -218,8 +219,9 @@ "settings_outputsettingsconsole_button": "輸出", "settings_outputsettingsconsole_notice": "已輸出到終端", "settings_syncplans": "匯出同步計劃", - "settings_syncplans_desc": "每次您啟動同步,並在實際上傳下載前,外掛會生成同步計劃。它可以使您知道每次同步發生了什麼。點選按鈕可以匯出同步計劃。", - "settings_syncplans_button": "匯出", + "settings_syncplans_desc": "每次您啟動同步,並在實際上傳下載前,外掛會生成同步計劃。它可以使您知道每次同步發生了什麼。點選按鈕可以匯出同步計劃。並且,您可以選擇匯出為內嵌在 Markdown 裡的 json 格式或表格格式,它們是等價的。", + "settings_syncplans_button_json": "匯出(json)", + "settings_syncplans_button_table": "匯出(表格)", "settings_syncplans_notice": "同步計劃已匯出", "settings_delsyncplans": "刪除資料庫裡的同步計劃歷史", "settings_delsyncplans_desc": "刪除資料庫裡的同步計劃歷史。", From 9fdb3792511f5982cfd5b906063ff9daa3593b60 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Wed, 13 Apr 2022 22:24:34 +0800 Subject: [PATCH 17/31] fix cors andr --- en.json | 5 ++--- zh_cn.json | 5 ++--- zh_tw.json | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/en.json b/en.json index 9bd86c0..dbb4f0d 100644 --- a/en.json +++ b/en.json @@ -125,7 +125,7 @@ "settings_s3_secretaccesskey": "Secret Access Key", "settings_s3_bucketname": "Bucket Name", "settings_s3_bypasscorslocally": "bypass CORS issue locally", - "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version (Obsidian>={{ver}}). If you encounter any issues, please disable this setting and config CORS on servers (allowing requests from app://obsidian.md and capacitor://localhost and http://localhost and add ETag into exposed headers).", + "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version of Obsidian ( desktop>=0.13.25 or iOS>=1.1.1 or Android>=1.2.1). If you encounter any issues, please disable this setting and config CORS on servers (allowing requests from app://obsidian.md and capacitor://localhost and http://localhost and add ETag into exposed headers).", "settings_s3_parts": "Parts Concurrency", "settings_s3_parts_desc": "Large files are split into small parts to upload in S3. How many parts do you want to upload in parallel at most?", "settings_s3_urlstyle": "S3 URL style", @@ -168,8 +168,7 @@ "settings_webdav": "Remote For Webdav", "settings_webdav_disclaimer1": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins may read the info. If you see any unintentional access to your webdav server, please immediately change the username and password.", - "settings_webdav_cors_android": "Obsidian Android does not yet support bypassing CORS locally for Webdav.", - "settings_webdav_cors_otheros": "Obsidian desktop>=0.13.25 or iOS>=1.1.1 supports bypassing CORS locally. But you are using an old version, and you're suggested to upgrade Obsidian.", + "settings_webdav_cors_os": "Obsidian desktop>=0.13.25 or iOS>=1.1.1 or Android>=1.2.1 supports bypassing CORS locally. But you are using an old version, and you're suggested to upgrade Obsidian.", "settings_webdav_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost", "settings_webdav_folder": "We will create and sync inside the folder /{{remoteBaseDir}} on your server.", "settings_webdav_addr": "Server Address", diff --git a/zh_cn.json b/zh_cn.json index 1aff818..e10ad67 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -125,7 +125,7 @@ "settings_s3_secretaccesskey": "Secret Access Key", "settings_s3_bucketname": "存储桶(Bucket)的名字", "settings_s3_bypasscorslocally": "本地绕过 CORS 问题", - "settings_s3_bypasscorslocally_desc": "对于 Obsidian 新版本(>= {{ver}}),本插件可以跳过服务器设置 CORS 的步骤。如果您遇到任意问题,可以关闭此设定,并在服务端设置 CORS(允许来自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的请求且增加 ETag 到暴露 headers 里)。", + "settings_s3_bypasscorslocally_desc": "对于 Obsidian 新版本(桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.2.1),本插件可以跳过服务器设置 CORS 的步骤。如果您遇到任意问题,可以关闭此设定,并在服务端设置 CORS(允许来自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的请求且增加 ETag 到暴露 headers 里)。", "settings_s3_parts": "分块并行度", "settings_s3_parts_desc": "在 S3 里,大文件会被分块上传。您希望同一时间最多有多少个分块被上传?", "settings_s3_urlstyle": "S3 URL style", @@ -168,8 +168,7 @@ "settings_webdav": "Webdav 设置", "settings_webdav_disclaimer1": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 Webdav 服务器有不符合预期的访问,请立刻修改用户名和密码。", - "settings_webdav_cors_android": "Obsidian Android 暂未支持 Webdav 跳过 CORS 设置。", - "settings_webdav_cors_otheros": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 支持跳过 CORS 设置。但您正在使用旧版,建议升级。", + "settings_webdav_cors_os": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.2.1 支持跳过 CORS 设置。但您正在使用旧版,建议升级。", "settings_webdav_cors": "您需要设置 CORS,允许来自这些源的请求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", "settings_webdav_folder": "我们会在您的服务器上创建此文件夹并在里面同步:/{{remoteBaseDir}}", "settings_webdav_addr": "服务器地址", diff --git a/zh_tw.json b/zh_tw.json index e0610a2..61378e4 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -125,7 +125,7 @@ "settings_s3_secretaccesskey": "Secret Access Key", "settings_s3_bucketname": "儲存桶(Bucket)的名字", "settings_s3_bypasscorslocally": "本地繞過 CORS 問題", - "settings_s3_bypasscorslocally_desc": "對於 Obsidian 新版本(>= {{ver}}),本外掛可以跳過伺服器設定 CORS 的步驟。如果您遇到任意問題,可以關閉此設定,並在服務端設定 CORS(允許來自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的請求且增加 ETag 到暴露 headers 裡)。", + "settings_s3_bypasscorslocally_desc": "對於 Obsidian 新版本(桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.2.1),本外掛可以跳過伺服器設定 CORS 的步驟。如果您遇到任意問題,可以關閉此設定,並在服務端設定 CORS(允許來自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的請求且增加 ETag 到暴露 headers 裡)。", "settings_s3_parts": "分塊並行度", "settings_s3_parts_desc": "在 S3 裡,大檔案會被分塊上傳。您希望同一時間最多有多少個分塊被上傳?", "settings_s3_urlstyle": "S3 URL style", @@ -168,8 +168,7 @@ "settings_webdav": "Webdav 設定", "settings_webdav_disclaimer1": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 Webdav 伺服器有不符合預期的訪問,請立刻修改使用者名稱和密碼。", - "settings_webdav_cors_android": "Obsidian Android 暫未支援 Webdav 跳過 CORS 設定。", - "settings_webdav_cors_otheros": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 支援跳過 CORS 設定。但您正在使用舊版,建議升級。", + "settings_webdav_cors_os": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.1.1 支援跳過 CORS 設定。但您正在使用舊版,建議升級。", "settings_webdav_cors": "您需要設定 CORS,允許來自這些源的請求:app://obsidian.md 和 capacitor://localhost 和 http://localhost。", "settings_webdav_folder": "我們會在您的伺服器上建立此資料夾並在裡面同步:/{{remoteBaseDir}}", "settings_webdav_addr": "伺服器地址", From 82d061976192340c637698576b5d9ac4bd2519ed Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sat, 16 Apr 2022 18:33:49 +0800 Subject: [PATCH 18/31] add password hide support --- en.json | 14 ++++++++------ zh_cn.json | 8 +++++--- zh_tw.json | 8 +++++--- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/en.json b/en.json index dbb4f0d..322fceb 100644 --- a/en.json +++ b/en.json @@ -88,7 +88,7 @@ "settings_general": "General", "settings_password": "encryption password", - "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\".", + "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\". Attention: the password and other info are saved locally.", "settings_autorun": "schedule for auto run", "settings_autorun_desc": "The plugin trys to schedule the running after every interval. Battery may be impacted.", "settings_autorun_notset": "(not set)", @@ -112,7 +112,7 @@ "settings_s3": "Remote For S3 or compatible", "settings_s3_disclaimer1": "Disclaimer: This plugin is NOT an official Amazon product.", - "settings_s3_disclaimer2": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your bucket, please immediately delete the access key on your AWS (or other S3-service provider) settings.", + "settings_s3_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your bucket, please immediately delete the access key on your AWS (or other S3-service provider) settings.", "settings_s3_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost, and add ETag into exposed headers.", "settings_s3_prod": "Some Amazon S3 official docs for references:", "settings_s3_prod1": "Endpoint and region info", @@ -122,7 +122,9 @@ "settings_s3_region": "Region", "settings_s3_region_desc": "If you are not sure what to enter, you could try the vaule: us-east-1", "settings_s3_accesskeyid": "Access Key ID", + "settings_s3_accesskeyid_desc": "Access key ID. Attention: Access key ID and other info are saved locally.", "settings_s3_secretaccesskey": "Secret Access Key", + "settings_s3_secretaccesskey_desc": "Secret access key. Attention: Secret access key and other info are saved locally.", "settings_s3_bucketname": "Bucket Name", "settings_s3_bypasscorslocally": "bypass CORS issue locally", "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version of Obsidian ( desktop>=0.13.25 or iOS>=1.1.1 or Android>=1.2.1). If you encounter any issues, please disable this setting and config CORS on servers (allowing requests from app://obsidian.md and capacitor://localhost and http://localhost and add ETag into exposed headers).", @@ -135,7 +137,7 @@ "settings_dropbox": "Remote For Dropbox", "settings_dropbox_disclaimer1": "Disclaimer: This app is NOT an official Dropbox product.", - "settings_dropbox_disclaimer2": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Dropbox, please immediately disconnect this app on https://www.dropbox.com/account/connected_apps .", + "settings_dropbox_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Dropbox, please immediately disconnect this app on https://www.dropbox.com/account/connected_apps .", "settings_dropbox_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{remoteBaseDir}} on your Dropbox.", "settings_dropbox_revoke": "Revoke Auth", "settings_dropbox_revoke_desc": "You've connected as user {{username}}. If you want to disconnect, click this button.", @@ -167,16 +169,16 @@ "settings_onedrive_connect_fail": "We cannot connect to Onedrive.", "settings_webdav": "Remote For Webdav", - "settings_webdav_disclaimer1": "Disclaimer: The information is stored in locally. Other malicious/harmful/faulty plugins may read the info. If you see any unintentional access to your webdav server, please immediately change the username and password.", + "settings_webdav_disclaimer1": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins may read the info. If you see any unintentional access to your webdav server, please immediately change the username and password.", "settings_webdav_cors_os": "Obsidian desktop>=0.13.25 or iOS>=1.1.1 or Android>=1.2.1 supports bypassing CORS locally. But you are using an old version, and you're suggested to upgrade Obsidian.", "settings_webdav_cors": "You need to configure CORS to allow requests from origin app://obsidian.md and capacitor://localhost and http://localhost", "settings_webdav_folder": "We will create and sync inside the folder /{{remoteBaseDir}} on your server.", "settings_webdav_addr": "Server Address", "settings_webdav_addr_desc": "Server address.", "settings_webdav_user": "Username", - "settings_webdav_user_desc": "username.", + "settings_webdav_user_desc": "Username. Attention: the username and other info are saved locally.", "settings_webdav_password": "Password", - "settings_webdav_password_desc": "Password.", + "settings_webdav_password_desc": "Password. Attention: the password and other info are saved locally.", "settings_webdav_auth": "Auth Type", "settings_webdav_auth_desc": "If no password, this option would be ignored.", "settings_webdav_depth": "Depth Header Sent To Servers", diff --git a/zh_cn.json b/zh_cn.json index e10ad67..83d8ec7 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -88,7 +88,7 @@ "settings_general": "通用", "settings_password": "密码", - "settings_password_desc": "端到端加密的密码。不填写则代表没密码。您需要点击“确认”来修改。", + "settings_password_desc": "端到端加密的密码。不填写则代表没密码。您需要点击“确认”来修改。注意:密码和其它信息都会在本地保存。", "settings_autorun": "自动运行", "settings_autorun_desc": "每隔一段时间,此插件尝试自动同步。会影响到电池用量。", "settings_autorun_notset": "(不设置)", @@ -122,7 +122,9 @@ "settings_s3_region": "区域(Region)", "settings_s3_region_desc": "如果您不知道这个值填什么,可以尝试填写此默认值:us-east-1", "settings_s3_accesskeyid": "Access Key ID", + "settings_s3_accesskeyid_desc": "Access key ID。注意:access key ID 和其它信息都会在本地保存。", "settings_s3_secretaccesskey": "Secret Access Key", + "settings_s3_secretaccesskey_desc": "Secret access key。注意:secret access key 和其它信息都会在本地保存。", "settings_s3_bucketname": "存储桶(Bucket)的名字", "settings_s3_bypasscorslocally": "本地绕过 CORS 问题", "settings_s3_bypasscorslocally_desc": "对于 Obsidian 新版本(桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.2.1),本插件可以跳过服务器设置 CORS 的步骤。如果您遇到任意问题,可以关闭此设定,并在服务端设置 CORS(允许来自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的请求且增加 ETag 到暴露 headers 里)。", @@ -174,9 +176,9 @@ "settings_webdav_addr": "服务器地址", "settings_webdav_addr_desc": "服务器地址。", "settings_webdav_user": "用户名", - "settings_webdav_user_desc": "用户名。", + "settings_webdav_user_desc": "用户名。注意:用户名和其它信息都会保存在本地。", "settings_webdav_password": "密码", - "settings_webdav_password_desc": "密码。", + "settings_webdav_password_desc": "密码。注意:密码和其它信息都会保存在本地。", "settings_webdav_auth": "鉴权类型", "settings_webdav_auth_desc": "如果不填写密码,本设置会被忽略。", "settings_webdav_depth": "发送到服务器的 Depth header", diff --git a/zh_tw.json b/zh_tw.json index 61378e4..552f166 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -88,7 +88,7 @@ "settings_general": "通用", "settings_password": "密碼", - "settings_password_desc": "端到端加密的密碼。不填寫則代表沒密碼。您需要點選“確認”來修改。", + "settings_password_desc": "端到端加密的密碼。不填寫則代表沒密碼。您需要點選“確認”來修改。注意:密碼和其它資訊都會在本地儲存。", "settings_autorun": "自動執行", "settings_autorun_desc": "每隔一段時間,此外掛嘗試自動同步。會影響到電池用量。", "settings_autorun_notset": "(不設定)", @@ -122,7 +122,9 @@ "settings_s3_region": "區域(Region)", "settings_s3_region_desc": "如果您不知道這個值填什麼,可以嘗試填寫此預設值:us-east-1", "settings_s3_accesskeyid": "Access Key ID", + "settings_s3_accesskeyid_desc": "Access key ID。注意:access key ID 和其它資訊都會在本地儲存。", "settings_s3_secretaccesskey": "Secret Access Key", + "settings_s3_secretaccesskey_desc": "Secret access key。注意:secret access key 和其它資訊都會在本地儲存。", "settings_s3_bucketname": "儲存桶(Bucket)的名字", "settings_s3_bypasscorslocally": "本地繞過 CORS 問題", "settings_s3_bypasscorslocally_desc": "對於 Obsidian 新版本(桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.2.1),本外掛可以跳過伺服器設定 CORS 的步驟。如果您遇到任意問題,可以關閉此設定,並在服務端設定 CORS(允許來自 app://obsidian.md 和 capacitor://localhost 和 http://localhost 的請求且增加 ETag 到暴露 headers 裡)。", @@ -174,9 +176,9 @@ "settings_webdav_addr": "伺服器地址", "settings_webdav_addr_desc": "伺服器地址。", "settings_webdav_user": "使用者名稱", - "settings_webdav_user_desc": "使用者名稱。", + "settings_webdav_user_desc": "使用者名稱。注意:使用者名稱和其它資訊都會儲存在本地。", "settings_webdav_password": "密碼", - "settings_webdav_password_desc": "密碼。", + "settings_webdav_password_desc": "密碼。注意:密碼和其它資訊都會儲存在本地。", "settings_webdav_auth": "鑑權型別", "settings_webdav_auth_desc": "如果不填寫密碼,本設定會被忽略。", "settings_webdav_depth": "傳送到伺服器的 Depth header", From eda77d12e2764123e42cb9fc9dc5c7ed5fec3fde Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sat, 30 Apr 2022 15:55:03 +0800 Subject: [PATCH 19/31] update sync 1 sec --- en.json | 1 + zh_cn.json | 1 + zh_tw.json | 1 + 3 files changed, 3 insertions(+) diff --git a/en.json b/en.json index 322fceb..ba1a9d5 100644 --- a/en.json +++ b/en.json @@ -99,6 +99,7 @@ "settings_runoncestartup": "run once on start up automatically", "settings_runoncestartup_desc": "This settings allows setting running ONCE on start up automatically. This will take effect on NEXT start up after changing. This setting, is different from \"schedule for auto run\" which starts syncing after EVERY interval.", "settings_runoncestartup_notset": "(not set)", + "settings_runoncestartup_1sec": "sync once after 1 seconds of start up", "settings_runoncestartup_10sec": "sync once after 10 seconds of start up", "settings_runoncestartup_30sec": "sync once after 30 seconds of start up", diff --git a/zh_cn.json b/zh_cn.json index 83d8ec7..7e73292 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -99,6 +99,7 @@ "settings_runoncestartup": "启动后自动运行一次", "settings_runoncestartup_desc": "本设置使得插件在程序启动后自动触发一次同步。修改后,会在下一次启动生效。本设置和“自动运行”是不同的,那个设置是指“每隔一段时间”都自动同步一次。", "settings_runoncestartup_notset": "(不设置)", + "settings_runoncestartup_1sec": "启动后第 1 秒运行一次", "settings_runoncestartup_10sec": "启动后第 10 秒运行一次", "settings_runoncestartup_30sec": "启动后第 30 秒运行一次", diff --git a/zh_tw.json b/zh_tw.json index 552f166..5627268 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -99,6 +99,7 @@ "settings_runoncestartup": "啟動後自動執行一次", "settings_runoncestartup_desc": "本設定使得外掛在程式啟動後自動觸發一次同步。修改後,會在下一次啟動生效。本設定和“自動執行”是不同的,那個設定是指“每隔一段時間”都自動同步一次。", "settings_runoncestartup_notset": "(不設定)", + "settings_runoncestartup_1sec": "啟動後第 1 秒執行一次", "settings_runoncestartup_10sec": "啟動後第 10 秒執行一次", "settings_runoncestartup_30sec": "啟動後第 30 秒執行一次", From b227202f0e7d012efd93e904f19e145fcc726610 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sat, 30 Apr 2022 16:04:13 +0800 Subject: [PATCH 20/31] fix typo --- en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en.json b/en.json index ba1a9d5..aa0d613 100644 --- a/en.json +++ b/en.json @@ -99,7 +99,7 @@ "settings_runoncestartup": "run once on start up automatically", "settings_runoncestartup_desc": "This settings allows setting running ONCE on start up automatically. This will take effect on NEXT start up after changing. This setting, is different from \"schedule for auto run\" which starts syncing after EVERY interval.", "settings_runoncestartup_notset": "(not set)", - "settings_runoncestartup_1sec": "sync once after 1 seconds of start up", + "settings_runoncestartup_1sec": "sync once after 1 second of start up", "settings_runoncestartup_10sec": "sync once after 10 seconds of start up", "settings_runoncestartup_30sec": "sync once after 30 seconds of start up", From ad48de922720d668477583a6b313a5eaaf4a7516 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sun, 1 May 2022 18:12:42 +0800 Subject: [PATCH 21/31] langs for bypassing large files --- en.json | 8 ++++++++ zh_cn.json | 8 ++++++++ zh_tw.json | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/en.json b/en.json index aa0d613..e085690 100644 --- a/en.json +++ b/en.json @@ -86,6 +86,11 @@ "modal_qr_button": "Click to copy the special URI", "modal_qr_button_notice": "The special uri is copied to the clipboard!", + "modal_sizesconflict_title": "Remotely Save: Some conflict were found while skipping large files", + "modal_sizesconflict_desc": "You've set skipping files larger than {{thresholdMB}} MB ({{thresholdBytes}} bytes).\nBut the following files have sizes larger than the threshold on one side, and sizes smaller than the threshold on the other side.\nTo avoid unexpected overwriting or deleting, the plugin stops, and you have to manually deal with at least one side of the files.", + "modal_sizesconflict_copybutton": "Click to copy all the below sizes conflicts info", + "modal_sizesconflict_copynotice": "All the sizes conflicts info have been copied to the clipboard!", + "settings_general": "General", "settings_password": "encryption password", "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\". Attention: the password and other info are saved locally.", @@ -102,6 +107,9 @@ "settings_runoncestartup_1sec": "sync once after 1 second of start up", "settings_runoncestartup_10sec": "sync once after 10 seconds of start up", "settings_runoncestartup_30sec": "sync once after 30 seconds of start up", + "settings_skiplargefiles": "Skip Large Files (experimental)", + "settings_skiplargefiles_desc": "Skip files with sizes larger than the threshold. Here 1 MB = 10^6 bytes.", + "settings_skiplargefiles_notset": "(not set)", "settings_checkonnectivity": "Check Connectivity", "settings_checkonnectivity_desc": "Check connectivity.", diff --git a/zh_cn.json b/zh_cn.json index 7e73292..fac9bbc 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -86,6 +86,11 @@ "modal_qr_button": "点击此按钮复制特殊 URI", "modal_qr_button_notice": "特殊 URI 已被复制到剪贴板!", + "modal_sizesconflict_title": "Remotely Save:跳过大文件的时候出现了一些冲突", + "modal_sizesconflict_desc": "您设置了跳过同步大于 {{thresholdMB}} MB({{thresholdBytes}} bytes)的文件。\n但是以下文件的大小,在一端大于阈值,在另一端则小于阈值。\n为了避免意外的覆盖或删除,插件停止了运作,您需要手动处理至少一端的文件。", + "modal_sizesconflict_copybutton": "点击以复制以下所有文件大小冲突信息", + "modal_sizesconflict_copynotice": "所有的文件大小冲突信息,已被复制到剪贴板!", + "settings_general": "通用", "settings_password": "密码", "settings_password_desc": "端到端加密的密码。不填写则代表没密码。您需要点击“确认”来修改。注意:密码和其它信息都会在本地保存。", @@ -102,6 +107,9 @@ "settings_runoncestartup_1sec": "启动后第 1 秒运行一次", "settings_runoncestartup_10sec": "启动后第 10 秒运行一次", "settings_runoncestartup_30sec": "启动后第 30 秒运行一次", + "settings_skiplargefiles": "跳过大文件(实验性质)", + "settings_skiplargefiles_desc": "跳过大于某一个阈值的文件。这里 1 MB = 10^6 bytes。", + "settings_skiplargefiles_notset": "(不设置)", "settings_checkonnectivity": "检查可否连接", "settings_checkonnectivity_desc": "检查可否连接。", diff --git a/zh_tw.json b/zh_tw.json index 5627268..6c4baa0 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -86,6 +86,11 @@ "modal_qr_button": "點選此按鈕複製特殊 URI", "modal_qr_button_notice": "特殊 URI 已被複制到剪貼簿!", + "modal_sizesconflict_title": "Remotely Save:跳過大檔案的時候出現了一些衝突", + "modal_sizesconflict_desc": "您設定了跳過同步大於 {{thresholdMB}} MB({{thresholdBytes}} bytes)的檔案。\n但是以下檔案的大小,在一端大於閾值,在另一端則小於閾值。\n為了避免意外的覆蓋或刪除,外掛停止了運作,您需要手動處理至少一端的檔案。", + "modal_sizesconflict_copybutton": "點選以複製以下所有檔案大小衝突資訊", + "modal_sizesconflict_copynotice": "所有的檔案大小衝突資訊,已被複制到剪貼簿!", + "settings_general": "通用", "settings_password": "密碼", "settings_password_desc": "端到端加密的密碼。不填寫則代表沒密碼。您需要點選“確認”來修改。注意:密碼和其它資訊都會在本地儲存。", @@ -102,6 +107,9 @@ "settings_runoncestartup_1sec": "啟動後第 1 秒執行一次", "settings_runoncestartup_10sec": "啟動後第 10 秒執行一次", "settings_runoncestartup_30sec": "啟動後第 30 秒執行一次", + "settings_skiplargefiles": "跳過大檔案(實驗性質)", + "settings_skiplargefiles_desc": "跳過大於某一個閾值的檔案。這裡 1 MB = 10^6 bytes。", + "settings_skiplargefiles_notset": "(不設定)", "settings_checkonnectivity": "檢查可否連線", "settings_checkonnectivity_desc": "檢查可否連線。", From 4726d51d60bcd8f7c4920736b256dc5131e8c0f3 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Tue, 3 May 2022 22:44:56 +0800 Subject: [PATCH 22/31] split chooser and basic settings --- en.json | 6 +++--- zh_cn.json | 6 +++--- zh_tw.json | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/en.json b/en.json index e085690..8be9bad 100644 --- a/en.json +++ b/en.json @@ -91,7 +91,7 @@ "modal_sizesconflict_copybutton": "Click to copy all the below sizes conflicts info", "modal_sizesconflict_copynotice": "All the sizes conflicts info have been copied to the clipboard!", - "settings_general": "General", + "settings_basic": "Basic Settings", "settings_password": "encryption password", "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\". Attention: the password and other info are saved locally.", "settings_autorun": "schedule for auto run", @@ -199,8 +199,8 @@ "settings_webdav_connect_fail": "The webdav server cannot be reached (possible to be any of address/username/password/authtype errors).", "settings_webdav_connect_fail_withcors": "The webdav server cannot be reached (possible to be any of address/username/password/authtype/CORS errors).", - "settings_chooseservice": "Choose A Service", - "settings_chooseservice_desc": "Choose a service.", + "settings_chooseservice": "Choose A Remote Service", + "settings_chooseservice_desc": "Start here. What service are you connecting to? S3, Dropbox, Webdav, or OneDrive for personl?", "settings_chooseservice_s3": "S3 or compatible", "settings_chooseservice_dropbox": "Dropbox", "settings_chooseservice_webdav": "Webdav", diff --git a/zh_cn.json b/zh_cn.json index fac9bbc..f553a22 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -91,7 +91,7 @@ "modal_sizesconflict_copybutton": "点击以复制以下所有文件大小冲突信息", "modal_sizesconflict_copynotice": "所有的文件大小冲突信息,已被复制到剪贴板!", - "settings_general": "通用", + "settings_basic": "基本设置", "settings_password": "密码", "settings_password_desc": "端到端加密的密码。不填写则代表没密码。您需要点击“确认”来修改。注意:密码和其它信息都会在本地保存。", "settings_autorun": "自动运行", @@ -199,8 +199,8 @@ "settings_webdav_connect_fail": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型等错误。)", "settings_webdav_connect_fail_withcors": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型/CORS 等错误。)", - "settings_chooseservice": "选择服务", - "settings_chooseservice_desc": "选择服务。", + "settings_chooseservice": "选择远程服务", + "settings_chooseservice_desc": "从这里开始设置。您想连接到哪一个服务?S3、Dropbox、Webdav、OneDrive(个人版)?", "settings_chooseservice_s3": "S3 或兼容 S3 的服务", "settings_chooseservice_dropbox": "Dropbox", "settings_chooseservice_webdav": "Webdav", diff --git a/zh_tw.json b/zh_tw.json index 6c4baa0..2169549 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -91,7 +91,7 @@ "modal_sizesconflict_copybutton": "點選以複製以下所有檔案大小衝突資訊", "modal_sizesconflict_copynotice": "所有的檔案大小衝突資訊,已被複制到剪貼簿!", - "settings_general": "通用", + "settings_basic": "基本設定", "settings_password": "密碼", "settings_password_desc": "端到端加密的密碼。不填寫則代表沒密碼。您需要點選“確認”來修改。注意:密碼和其它資訊都會在本地儲存。", "settings_autorun": "自動執行", @@ -199,8 +199,8 @@ "settings_webdav_connect_fail": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別等錯誤。)", "settings_webdav_connect_fail_withcors": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別/CORS 等錯誤。)", - "settings_chooseservice": "選擇服務", - "settings_chooseservice_desc": "選擇服務。", + "settings_chooseservice": "選擇遠端服務", + "settings_chooseservice_desc": "從這裡開始設定。您想連線到哪一個服務?S3、Dropbox、Webdav、OneDrive(個人版)?", "settings_chooseservice_s3": "S3 或相容 S3 的服務", "settings_chooseservice_dropbox": "Dropbox", "settings_chooseservice_webdav": "Webdav", From 42eab5d544961f4c7830c63ba9559375437340c0 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Tue, 3 May 2022 22:58:39 +0800 Subject: [PATCH 23/31] normalize words --- en.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/en.json b/en.json index 8be9bad..93e352e 100644 --- a/en.json +++ b/en.json @@ -92,16 +92,16 @@ "modal_sizesconflict_copynotice": "All the sizes conflicts info have been copied to the clipboard!", "settings_basic": "Basic Settings", - "settings_password": "encryption password", + "settings_password": "Encryption Password", "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\". Attention: the password and other info are saved locally.", - "settings_autorun": "schedule for auto run", + "settings_autorun": "Schedule For Auto Run", "settings_autorun_desc": "The plugin trys to schedule the running after every interval. Battery may be impacted.", "settings_autorun_notset": "(not set)", "settings_autorun_1min": "every 1 minute", "settings_autorun_5min": "every 5 minutes", "settings_autorun_10min": "every 10 minutes", "settings_autorun_30min": "every 30 minutes", - "settings_runoncestartup": "run once on start up automatically", + "settings_runoncestartup": "Run Once On Start Up Automatically", "settings_runoncestartup_desc": "This settings allows setting running ONCE on start up automatically. This will take effect on NEXT start up after changing. This setting, is different from \"schedule for auto run\" which starts syncing after EVERY interval.", "settings_runoncestartup_notset": "(not set)", "settings_runoncestartup_1sec": "sync once after 1 second of start up", @@ -135,7 +135,7 @@ "settings_s3_secretaccesskey": "Secret Access Key", "settings_s3_secretaccesskey_desc": "Secret access key. Attention: Secret access key and other info are saved locally.", "settings_s3_bucketname": "Bucket Name", - "settings_s3_bypasscorslocally": "bypass CORS issue locally", + "settings_s3_bypasscorslocally": "Bypass CORS Issue Locally", "settings_s3_bypasscorslocally_desc": "The plugin allows skipping server CORS config in new version of Obsidian ( desktop>=0.13.25 or iOS>=1.1.1 or Android>=1.2.1). If you encounter any issues, please disable this setting and config CORS on servers (allowing requests from app://obsidian.md and capacitor://localhost and http://localhost and add ETag into exposed headers).", "settings_s3_parts": "Parts Concurrency", "settings_s3_parts_desc": "Large files are split into small parts to upload in S3. How many parts do you want to upload in parallel at most?", @@ -209,9 +209,9 @@ "settings_adv": "Advanced Settings", "settings_concurrency": "Concurrency", "settings_concurrency_desc": "How many files do you want to download or upload in parallel at most? By default it's set to 5. If you meet any problems such as rate limit, you can reduce the concurrency to a lower value.", - "settings_syncunderscore": "sync _ files or folders", + "settings_syncunderscore": "Sync _ Files Or Folders", "settings_syncunderscore_desc": "Sync files or folders startting with _ (\"underscore\") or not", - "settings_configdir": "sync config dir (experimental)", + "settings_configdir": "Sync Config Dir (experimental)", "settings_configdir_desc": "Sync config dir {{configDir}} or not (inner folder .git and node_modules would be ignored). Please be aware that this may impact all your plugins' or Obsidian's settings, and may require you restart Obsidian after sync. Enable this at your own risk.", "settings_importexport": "Import and Export Partial Settings", @@ -247,14 +247,14 @@ "settings_logtodbclear_desc": "Delete all the console logs saved inside DB. This setting applies to all saved logs for all vaults in this device.", "settings_logtodbclear_button": "Delete", "settings_logtodbclear_notice": "All console logs saved in DB are deleted!", - "settings_delsyncmap": "delete sync mappings history in DB", + "settings_delsyncmap": "Delete Sync Mappings History In DB", "settings_delsyncmap_desc": "Sync mappings history stores the actual LOCAL last modified time of the REMOTE objects. Clearing it may cause unnecessary data exchanges in next-time sync. Click the button to delete sync mappings history in DB.", "settings_delsyncmap_button": "Delete Sync Mappings", "settings_delsyncmap_notice": "Sync mappings history (in local DB) deleted", "settings_outputbasepathvaultid": "Output Vault Base Path And Randomly Assigned ID", "settings_outputbasepathvaultid_desc": "For debugging purposes.", "settings_outputbasepathvaultid_button": "Output", - "settings_resetcache": "reset local internal cache/databases", + "settings_resetcache": "Reset Local Internal Cache/Databases", "settings_resetcache_desc": "Reset local internal caches/databases (for debugging purposes). You would want to reload the plugin after resetting this. This option will not empty the {s3, password...} settings.", "settings_resetcache_button": "Reset", "settings_resetcache_notice": "Local internal cache/databases deleted. Please manually reload the plugin.", From 58c0bc5057aee3825bc21b50f2d4b1c95da17b9b Mon Sep 17 00:00:00 2001 From: Lars <29163322+Drumber@users.noreply.github.com> Date: Fri, 12 Aug 2022 18:02:40 +0200 Subject: [PATCH 24/31] Added last sync time to statusbar --- en.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/en.json b/en.json index 93e352e..4e91b46 100644 --- a/en.json +++ b/en.json @@ -39,6 +39,18 @@ "command_exportsyncplans_table": "export sync plans in table format", "command_exportlogsindb": "export logs saved in db", + "statusbar_time_years": "{{time}} years", + "statusbar_time_months": "{{time}} months", + "statusbar_time_weeks": "{{time}} weeks", + "statusbar_time_days": "{{time}} days", + "statusbar_time_hours": "{{time}} hours", + "statusbar_time_minutes": "{{time}} minutes", + "statusbar_time_lessminute": "less than a minute", + "statusbar_lastsync": "Synced {{time}} ago", + "statusbar_lastsync_label": "Last successful Sync on {{date}}", + "statusbar_lastsync_never": "Never Synced", + "statusbar_lastsync_never_label": "Never Synced before", + "modal_password_title": "Hold on and PLEASE READ ON...", "modal_password_shortdesc": "If the field is not empty, files would be encrypted locally before being uploaded.\nIf the field is empty, then files would be uploaded without encryption.", "modal_password_attn1": "Attention 1/5: The vault name is NOT encrypted. The plugin creates a folder with the vault name on some remote services.", From a0c4a6ca6c7e5d5f3b7f1cd28ec13518a5a01c02 Mon Sep 17 00:00:00 2001 From: Lars <29163322+Drumber@users.noreply.github.com> Date: Sat, 13 Aug 2022 11:55:09 +0200 Subject: [PATCH 25/31] Added option to settings to toggle status bar item --- en.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/en.json b/en.json index 4e91b46..cbebd9c 100644 --- a/en.json +++ b/en.json @@ -122,6 +122,9 @@ "settings_skiplargefiles": "Skip Large Files (experimental)", "settings_skiplargefiles_desc": "Skip files with sizes larger than the threshold. Here 1 MB = 10^6 bytes.", "settings_skiplargefiles_notset": "(not set)", + "settings_enablestatusbar_info": "Show Last Successful Sync In Status Bar", + "settings_enablestatusbar_info_desc": "Show the time of the last successful sync in the status bar.", + "settings_enablestatusbar_reloadrequired_notice": "Reload the plugin for the changes to take effect.", "settings_checkonnectivity": "Check Connectivity", "settings_checkonnectivity_desc": "Check connectivity.", From 81290728c255d297490474b9ae0d0b8c12e79ea6 Mon Sep 17 00:00:00 2001 From: "Ruben J. Jongejan" Date: Fri, 13 Jan 2023 13:36:15 +0100 Subject: [PATCH 26/31] Fixed several typo's/inconsistencies in en.json --- en.json | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/en.json b/en.json index 93e352e..38fb578 100644 --- a/en.json +++ b/en.json @@ -44,7 +44,7 @@ "modal_password_attn1": "Attention 1/5: The vault name is NOT encrypted. The plugin creates a folder with the vault name on some remote services.", "modal_password_attn2": "Attention 2/5: The password itself is stored in PLAIN TEXT LOCALLY.", "modal_password_attn3": "Attention 3/5: Some metadata are not encrypted or can be easily guessed. (File sizes are closed to their unencrypted ones, and directory path may be stored as 0-byte-size object.)", - "modal_password_attn4": "Attention 4/5: You should make sure the remote store IS EMPTY, or REMOTE FILES WERE ENCRYPTED BY THAT NEW PASSWORD, to avoid conflictions.", + "modal_password_attn4": "Attention 4/5: You should make sure the remote store IS EMPTY, or REMOTE FILES WERE ENCRYPTED BY THAT NEW PASSWORD, to avoid conflicts.", "modal_password_attn5": "Attention 5/5: The longer the password, the better.", "modal_password_secondconfirm": "The Second Confirm to change password.", "modal_password_notice": "New password saved!", @@ -77,8 +77,7 @@ "modal_onedriverevokeauth_clean_button": "Clean", "modal_onedriverevokeauth_clean_notice": "Cleaned!", "modal_onedriverevokeauth_clean_fail": "Something goes wrong while revoking.", - - "modal_syncconfig_attn": "Attention 1/3: This only syncs (copies) the whole Obsidian config dir, not other startting-with-dot folders or files. Except for ignoreing folders .git and node_modules, it also doesn't understand the meaning of sub-files and sub-folders inside the config dir.\nAttention 2/3: After the config dir is synced, plugins settings might be corrupted, and Obsidian might need to be restarted to load the new settings.\nAttention 3/3: The deletion (uninstallation) operations of or inside Obsidian config dir cannot be tracked. So if you want to uninstall a plugin, you need to manually uninstall it on all device, before next sync.\nIf you are agreed to take your own risk, please click the following second confirm button.", + "modal_syncconfig_attn": "Attention 1/3: This only syncs (copies) the whole Obsidian config dir, not other startting-with-dot folders or files. Except for ignoring folders .git and node_modules, it also doesn't understand the meaning of sub-files and sub-folders inside the config dir.\nAttention 2/3: After the config dir is synced, plugins settings might be corrupted, and Obsidian might need to be restarted to load the new settings.\nAttention 3/3: The deletion (uninstallation) operations of or inside Obsidian config dir cannot be tracked. So if you want to uninstall a plugin, you need to manually uninstall it on all device, before next sync.\nIf you are agreed to take your own risk, please click the following second confirm button.", "modal_syncconfig_secondconfirm": "The Second Confirm To Enable.", "modal_syncconfig_notice": "You've enabled syncing config folder!", @@ -95,7 +94,7 @@ "settings_password": "Encryption Password", "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\". Attention: the password and other info are saved locally.", "settings_autorun": "Schedule For Auto Run", - "settings_autorun_desc": "The plugin trys to schedule the running after every interval. Battery may be impacted.", + "settings_autorun_desc": "The plugin tries to schedule the running after every interval. Battery may be impacted.", "settings_autorun_notset": "(not set)", "settings_autorun_1min": "every 1 minute", "settings_autorun_5min": "every 5 minutes", @@ -129,7 +128,7 @@ "settings_s3_prod3": "Configuring CORS", "settings_s3_endpoint": "Endpoint", "settings_s3_region": "Region", - "settings_s3_region_desc": "If you are not sure what to enter, you could try the vaule: us-east-1", + "settings_s3_region_desc": "If you are not sure what to enter, you could try the value: us-east-1", "settings_s3_accesskeyid": "Access Key ID", "settings_s3_accesskeyid_desc": "Access key ID. Attention: Access key ID and other info are saved locally.", "settings_s3_secretaccesskey": "Secret Access Key", @@ -154,7 +153,7 @@ "settings_dropbox_revoke_notice": "Revoked!", "settings_dropbox_revoke_noticeerr": "Something goes wrong while revoking.", "settings_dropbox_clearlocal": "Clear Locally Saved Credentials", - "settings_dropbox_clearlocal_desc": "You can forcely clear the locally saved Dropbox login credentials, but not send revoke auth request to the server.", + "settings_dropbox_clearlocal_desc": "You can forcefully clear the locally saved Dropbox login credentials, but not send revoke auth request to the server.", "settings_dropbox_clearlocal_button": "Clear", "settings_dropbox_clearlocal_notice": "Cleared!", "settings_dropbox_auth": "Auth", @@ -164,7 +163,7 @@ "settings_dropbox_connect_fail": "We cannot connect to Dropbox.", "settings_onedrive": "Remote For Onedrive (for personal)", - "settings_onedrive_disclaimer1": "Disclaimer: This app is NOT an official Microsoft / Onedrive product.", + "settings_onedrive_disclaimer1": "Disclaimer: This app is NOT an official Microsoft / OneDrive product.", "settings_onedrive_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Onedrive, please immediately disconnect this app on https://microsoft.com/consent .", "settings_onedrive_folder": "We will create and sync inside the folder /Apps/{{pluginID}}/{{remoteBaseDir}} on your OneDrive.", "settings_onedrive_nobiz": "Currently only OneDrive for personal is supported. OneDrive for Business is NOT supported (yet).", @@ -200,7 +199,7 @@ "settings_webdav_connect_fail_withcors": "The webdav server cannot be reached (possible to be any of address/username/password/authtype/CORS errors).", "settings_chooseservice": "Choose A Remote Service", - "settings_chooseservice_desc": "Start here. What service are you connecting to? S3, Dropbox, Webdav, or OneDrive for personl?", + "settings_chooseservice_desc": "Start here. What service are you connecting to? S3, Dropbox, Webdav, or OneDrive for personal?", "settings_chooseservice_s3": "S3 or compatible", "settings_chooseservice_dropbox": "Dropbox", "settings_chooseservice_webdav": "Webdav", @@ -210,7 +209,7 @@ "settings_concurrency": "Concurrency", "settings_concurrency_desc": "How many files do you want to download or upload in parallel at most? By default it's set to 5. If you meet any problems such as rate limit, you can reduce the concurrency to a lower value.", "settings_syncunderscore": "Sync _ Files Or Folders", - "settings_syncunderscore_desc": "Sync files or folders startting with _ (\"underscore\") or not", + "settings_syncunderscore_desc": "Sync files or folders starting with _ (\"underscore\") or not", "settings_configdir": "Sync Config Dir (experimental)", "settings_configdir_desc": "Sync config dir {{configDir}} or not (inner folder .git and node_modules would be ignored). Please be aware that this may impact all your plugins' or Obsidian's settings, and may require you restart Obsidian after sync. Enable this at your own risk.", @@ -223,7 +222,7 @@ "settings_debug": "Debug", "settings_debuglevel": "Alter Console Log Level", - "settings_debuglevel_desc": "By default the log level is \"info\". You can change to \"debug\" to get verbose infomation in console.", + "settings_debuglevel_desc": "By default the log level is \"info\". You can change to \"debug\" to get verbose information in console.", "settings_outputsettingsconsole": "Output Current Settings From Disk To Console", "settings_outputsettingsconsole_desc": "The settings save on disk in encoded. Click this to see the decoded settings in console.", "settings_outputsettingsconsole_button": "Output", From 0b961f4865d11e3c78d74776b8d0eb2d642aa505 Mon Sep 17 00:00:00 2001 From: ras0q Date: Fri, 29 Dec 2023 21:45:08 +0900 Subject: [PATCH 27/31] add settings_ignorepaths, settings_ignorepaths_desc --- en.json | 2 ++ zh_cn.json | 2 ++ zh_tw.json | 2 ++ 3 files changed, 6 insertions(+) diff --git a/en.json b/en.json index 93e352e..f73ef02 100644 --- a/en.json +++ b/en.json @@ -110,6 +110,8 @@ "settings_skiplargefiles": "Skip Large Files (experimental)", "settings_skiplargefiles_desc": "Skip files with sizes larger than the threshold. Here 1 MB = 10^6 bytes.", "settings_skiplargefiles_notset": "(not set)", + "settings_ignorepaths": "Folders Or Files To Ignore", + "settings_ignorepaths_desc": "Folders or files to ignore. One path per line. The path is relative to the vault root.", "settings_checkonnectivity": "Check Connectivity", "settings_checkonnectivity_desc": "Check connectivity.", diff --git a/zh_cn.json b/zh_cn.json index f553a22..300439f 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -110,6 +110,8 @@ "settings_skiplargefiles": "跳过大文件(实验性质)", "settings_skiplargefiles_desc": "跳过大于某一个阈值的文件。这里 1 MB = 10^6 bytes。", "settings_skiplargefiles_notset": "(不设置)", + "settings_ignorepaths": "忽略的文件夹或文件", + "settings_ignorepaths_desc": "忽略的文件夹或文件。每行一个。路径是相对于库(Vault)根目录的。", "settings_checkonnectivity": "检查可否连接", "settings_checkonnectivity_desc": "检查可否连接。", diff --git a/zh_tw.json b/zh_tw.json index 2169549..3ae47f3 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -110,6 +110,8 @@ "settings_skiplargefiles": "跳過大檔案(實驗性質)", "settings_skiplargefiles_desc": "跳過大於某一個閾值的檔案。這裡 1 MB = 10^6 bytes。", "settings_skiplargefiles_notset": "(不設定)", + "settings_ignorepaths": "忽略的資料夾或檔案", + "settings_ignorepaths_desc": "忽略的資料夾或檔案。每行一個。路徑是相對於庫(Vault)根目錄的。", "settings_checkonnectivity": "檢查可否連線", "settings_checkonnectivity_desc": "檢查可否連線。", From c75336a2a52fcf00147eea01ca767872dff2d0b4 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:34:57 +0800 Subject: [PATCH 28/31] more desc of ignorepaths --- en.json | 4 ++-- zh_cn.json | 4 ++-- zh_tw.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/en.json b/en.json index 36704a4..4bc98cd 100644 --- a/en.json +++ b/en.json @@ -109,8 +109,8 @@ "settings_skiplargefiles": "Skip Large Files (experimental)", "settings_skiplargefiles_desc": "Skip files with sizes larger than the threshold. Here 1 MB = 10^6 bytes.", "settings_skiplargefiles_notset": "(not set)", - "settings_ignorepaths": "Folders Or Files To Ignore", - "settings_ignorepaths_desc": "Folders or files to ignore. One path per line. The path is relative to the vault root.", + "settings_ignorepaths": "Regex Of Paths To Ignore", + "settings_ignorepaths_desc": "Regex of paths of folders or files to ignore. One regex per line. The path is relative to the vault root without leading slash.", "settings_checkonnectivity": "Check Connectivity", "settings_checkonnectivity_desc": "Check connectivity.", diff --git a/zh_cn.json b/zh_cn.json index 300439f..bebc57c 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -110,8 +110,8 @@ "settings_skiplargefiles": "跳过大文件(实验性质)", "settings_skiplargefiles_desc": "跳过大于某一个阈值的文件。这里 1 MB = 10^6 bytes。", "settings_skiplargefiles_notset": "(不设置)", - "settings_ignorepaths": "忽略的文件夹或文件", - "settings_ignorepaths_desc": "忽略的文件夹或文件。每行一个。路径是相对于库(Vault)根目录的。", + "settings_ignorepaths": "忽略的文件或文件夹的正则表达式", + "settings_ignorepaths_desc": "忽略的文件或文件夹的正则表达式。每行一条。路径是相对于库(Vault)根目录的,没有前置 / 符号。", "settings_checkonnectivity": "检查可否连接", "settings_checkonnectivity_desc": "检查可否连接。", diff --git a/zh_tw.json b/zh_tw.json index 3ae47f3..9f21e1f 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -110,8 +110,8 @@ "settings_skiplargefiles": "跳過大檔案(實驗性質)", "settings_skiplargefiles_desc": "跳過大於某一個閾值的檔案。這裡 1 MB = 10^6 bytes。", "settings_skiplargefiles_notset": "(不設定)", - "settings_ignorepaths": "忽略的資料夾或檔案", - "settings_ignorepaths_desc": "忽略的資料夾或檔案。每行一個。路徑是相對於庫(Vault)根目錄的。", + "settings_ignorepaths": "忽略的檔案或資料夾的正則表示式", + "settings_ignorepaths_desc": "忽略的檔案或資料夾的正則表示式。每行一條。路徑是相對於庫(Vault)根目錄的,沒有前置 / 符號。", "settings_checkonnectivity": "檢查可否連線", "settings_checkonnectivity_desc": "檢查可否連線。", From cdbb220a6bb0f566912ec08a8476316c8232fb79 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sat, 6 Jan 2024 00:03:30 +0800 Subject: [PATCH 29/31] refactor status bar --- en.json | 4 ++++ zh_cn.json | 19 +++++++++++++++++++ zh_tw.json | 19 +++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/en.json b/en.json index 5642c75..36a0768 100644 --- a/en.json +++ b/en.json @@ -126,6 +126,10 @@ "settings_enablestatusbar_info": "Show Last Successful Sync In Status Bar", "settings_enablestatusbar_info_desc": "Show the time of the last successful sync in the status bar.", "settings_enablestatusbar_reloadrequired_notice": "Reload the plugin for the changes to take effect.", + "settings_resetstatusbar_time": "Reset Last Successful Sync Time", + "settings_resetstatusbar_time_desc": "Reset last successful sync time.", + "settings_resetstatusbar_button": "Reset", + "settings_resetstatusbar_notice": "Reset done!", "settings_checkonnectivity": "Check Connectivity", "settings_checkonnectivity_desc": "Check connectivity.", diff --git a/zh_cn.json b/zh_cn.json index bebc57c..6b1594f 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -39,6 +39,18 @@ "command_exportsyncplans_table": "导出同步计划为表格格式(export sync plans in table format)", "command_exportlogsindb": "从数据库导出终端日志(export logs saved in db)", + "statusbar_time_years": "{{time}} 年前", + "statusbar_time_months": "{{time}} 月前", + "statusbar_time_weeks": "{{time}} 周前", + "statusbar_time_days": "{{time}} 天前", + "statusbar_time_hours": "{{time}} 小时前", + "statusbar_time_minutes": "{{time}} 分钟前", + "statusbar_time_lessminute": "一分钟之内", + "statusbar_lastsync": "上一次同步于:{{time}}", + "statusbar_lastsync_label": "上一次同步于:{{date}}", + "statusbar_lastsync_never": "没触发过同步", + "statusbar_lastsync_never_label": "没触发过同步", + "modal_password_title": "稍等一下,请阅读下文:", "modal_password_shortdesc": "如果密码不是空的,那么文件会在上传之前,在本地先用此密码加密。\n如果密码是空的,那么文件会被非加密地上传。", "modal_password_attn1": "注意 1/5:库(Vault)名字是不会加密的!本插件会在一些远程存储里创建一个和库名字有着同名的文件夹。", @@ -112,6 +124,13 @@ "settings_skiplargefiles_notset": "(不设置)", "settings_ignorepaths": "忽略的文件或文件夹的正则表达式", "settings_ignorepaths_desc": "忽略的文件或文件夹的正则表达式。每行一条。路径是相对于库(Vault)根目录的,没有前置 / 符号。", + "settings_enablestatusbar_info": "在状态栏显示上一次成功的同步", + "settings_enablestatusbar_info_desc": "在状态栏显示上一次成功的同步的时间。", + "settings_enablestatusbar_reloadrequired_notice": "需要重新载入此插件才生效。", + "settings_resetstatusbar_time": "重设上一次成功同步的时间记录", + "settings_resetstatusbar_time_desc": "重设上一次成功同步的时间记录。", + "settings_resetstatusbar_button": "重设", + "settings_resetstatusbar_notice": "重设完毕!", "settings_checkonnectivity": "检查可否连接", "settings_checkonnectivity_desc": "检查可否连接。", diff --git a/zh_tw.json b/zh_tw.json index 9f21e1f..872f7d9 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -39,6 +39,18 @@ "command_exportsyncplans_table": "匯出同步計劃為表格格式(export sync plans in table format)", "command_exportlogsindb": "從資料庫匯出終端日誌(export logs saved in db)", + "statusbar_time_years": "{{time}} 年前", + "statusbar_time_months": "{{time}} 月前", + "statusbar_time_weeks": "{{time}} 周前", + "statusbar_time_days": "{{time}} 天前", + "statusbar_time_hours": "{{time}} 小時前", + "statusbar_time_minutes": "{{time}} 分鐘前", + "statusbar_time_lessminute": "一分鐘之內", + "statusbar_lastsync": "上一次同步於:{{time}}", + "statusbar_lastsync_label": "上一次同步於:{{date}}", + "statusbar_lastsync_never": "沒觸發過同步", + "statusbar_lastsync_never_label": "沒觸發過同步", + "modal_password_title": "稍等一下,請閱讀下文:", "modal_password_shortdesc": "如果密碼不是空的,那麼檔案會在上傳之前,在本地先用此密碼加密。\n如果密碼是空的,那麼檔案會被非加密地上傳。", "modal_password_attn1": "注意 1/5:儲存庫(Vault)名字是不會加密的!本外掛會在一些遠端儲存裡建立一個和庫名字有著同名的資料夾。", @@ -112,6 +124,13 @@ "settings_skiplargefiles_notset": "(不設定)", "settings_ignorepaths": "忽略的檔案或資料夾的正則表示式", "settings_ignorepaths_desc": "忽略的檔案或資料夾的正則表示式。每行一條。路徑是相對於庫(Vault)根目錄的,沒有前置 / 符號。", + "settings_enablestatusbar_info": "在狀態列顯示上一次成功的同步", + "settings_enablestatusbar_info_desc": "在狀態列顯示上一次成功的同步的時間。", + "settings_enablestatusbar_reloadrequired_notice": "需要重新載入此外掛才生效。", + "settings_resetstatusbar_time": "重設上一次成功同步的時間記錄", + "settings_resetstatusbar_time_desc": "重設上一次成功同步的時間記錄。", + "settings_resetstatusbar_button": "重設", + "settings_resetstatusbar_notice": "重設完畢!", "settings_checkonnectivity": "檢查可否連線", "settings_checkonnectivity_desc": "檢查可否連線。", From 4a5a398017f637e038b1f0d9f623ebb0dd212b34 Mon Sep 17 00:00:00 2001 From: fyears <1142836+fyears@users.noreply.github.com> Date: Sat, 6 Jan 2024 11:55:00 +0800 Subject: [PATCH 30/31] update hints for .obsidian --- en.json | 2 +- zh_cn.json | 2 +- zh_tw.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/en.json b/en.json index 36a0768..d738067 100644 --- a/en.json +++ b/en.json @@ -89,7 +89,7 @@ "modal_onedriverevokeauth_clean_button": "Clean", "modal_onedriverevokeauth_clean_notice": "Cleaned!", "modal_onedriverevokeauth_clean_fail": "Something goes wrong while revoking.", - "modal_syncconfig_attn": "Attention 1/3: This only syncs (copies) the whole Obsidian config dir, not other startting-with-dot folders or files. Except for ignoring folders .git and node_modules, it also doesn't understand the meaning of sub-files and sub-folders inside the config dir.\nAttention 2/3: After the config dir is synced, plugins settings might be corrupted, and Obsidian might need to be restarted to load the new settings.\nAttention 3/3: The deletion (uninstallation) operations of or inside Obsidian config dir cannot be tracked. So if you want to uninstall a plugin, you need to manually uninstall it on all device, before next sync.\nIf you are agreed to take your own risk, please click the following second confirm button.", + "modal_syncconfig_attn": "Attention 1/2: This only syncs (copies) the whole Obsidian config dir, not other startting-with-dot folders or files. Except for ignoring folders .git and node_modules, it also doesn't understand the meaning of sub-files and sub-folders inside the config dir.\nAttention 2/2: After the config dir is synced, plugins settings might be corrupted, and Obsidian might need to be restarted to load the new settings.\nIf you are agreed to take your own risk, please click the following second confirm button.", "modal_syncconfig_secondconfirm": "The Second Confirm To Enable.", "modal_syncconfig_notice": "You've enabled syncing config folder!", diff --git a/zh_cn.json b/zh_cn.json index 6b1594f..08ce7de 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -90,7 +90,7 @@ "modal_onedriverevokeauth_clean_notice": "已清理!", "modal_onedriverevokeauth_clean_fail": "鉴权途中出错了。", - "modal_syncconfig_attn": "注意 1/3:此设置只同步(复制)整个 Obsidian 的配置文件夹,但是不会同步其它 . 开头的文件夹或文件。除了会忽略 .git 和 node_modules 文件夹之外,它也并不理解配置文件夹的里各个子文件或子文件夹的含义。\n注意 2/3:配置文件夹被同步之后,各插件的设置或许会出错,且 Obsidian 或许需要重启来重载各插件的新配置。\n注意 3/3:配置文件夹内的删除(卸载)操作无法被识别,因此,如果您想卸载一个插件,在下一次同步之前,您需要手动在所有设备上先手动卸载那个插件。\n如果您同意自行承受以上风险,您可以点击以下再次确认按钮。", + "modal_syncconfig_attn": "注意 1/2:此设置只同步(复制)整个 Obsidian 的配置文件夹,但是不会同步其它 . 开头的文件夹或文件。除了会忽略 .git 和 node_modules 文件夹之外,它也并不理解配置文件夹的里各个子文件或子文件夹的含义。\n注意 2/2:配置文件夹被同步之后,各插件的设置或许会出错,且 Obsidian 或许需要重启来重载各插件的新配置。\n如果您同意自行承受以上风险,您可以点击以下再次确认按钮。", "modal_syncconfig_secondconfirm": "再次确认开启", "modal_syncconfig_notice": "您已开启配置文件夹的同步!", diff --git a/zh_tw.json b/zh_tw.json index 872f7d9..58f8e19 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -90,7 +90,7 @@ "modal_onedriverevokeauth_clean_notice": "已清理!", "modal_onedriverevokeauth_clean_fail": "鑑權途中出錯了。", - "modal_syncconfig_attn": "注意 1/3:此設定只同步(複製)整個 Obsidian 的配置資料夾,但是不會同步其它 . 開頭的資料夾或檔案。除了會忽略 .git 和 node_modules 資料夾之外,它也並不理解配置資料夾的裡各個子檔案或子資料夾的含義。\n注意 2/3:配置資料夾被同步之後,各外掛的設定或許會出錯,且 Obsidian 或許需要重啟來過載各外掛的新配置。\n注意 3/3:配置資料夾內的刪除(解除安裝)操作無法被識別,因此,如果您想解除安裝一個外掛,在下一次同步之前,您需要手動在所有裝置上先手動解除安裝那個外掛。\n如果您同意自行承受以上風險,您可以點選以下再次確認按鈕。", + "modal_syncconfig_attn": "注意 1/2:此設定只同步(複製)整個 Obsidian 的配置資料夾,但是不會同步其它 . 開頭的資料夾或檔案。除了會忽略 .git 和 node_modules 資料夾之外,它也並不理解配置資料夾的裡各個子檔案或子資料夾的含義。\n注意 2/2:配置資料夾被同步之後,各外掛的設定或許會出錯,且 Obsidian 或許需要重啟來過載各外掛的新配置。\n如果您同意自行承受以上風險,您可以點選以下再次確認按鈕。", "modal_syncconfig_secondconfirm": "再次確認開啟", "modal_syncconfig_notice": "您已開啟配置資料夾的同步!", From 23f1b7990cdae1fed59088178368e9eb99c823db Mon Sep 17 00:00:00 2001 From: Sam Purkis Date: Sat, 6 Jan 2024 03:58:56 +0000 Subject: [PATCH 31/31] update lang files inline with issue-199-sync-on-save (#2) Co-authored-by: Sam Purkis Co-authored-by: fyears <1142836+fyears@users.noreply.github.com> --- en.json | 29 +++++++++-------------------- zh_cn.json | 30 +++++++++--------------------- zh_tw.json | 30 +++++++++--------------------- 3 files changed, 27 insertions(+), 62 deletions(-) diff --git a/en.json b/en.json index d738067..5a03ede 100644 --- a/en.json +++ b/en.json @@ -5,7 +5,6 @@ "goback": "Go Back", "submit": "Submit", "sometext": "Here are some texts.", - "syncrun_alreadyrunning": "{{pluginName}} already running in stage {{syncStatus}}!", "syncrun_syncingribbon": "{{pluginName}}: syncing from {{triggerSource}}", "syncrun_step0": "0/{{maxSteps}} Remotely Save running in dry mode, not actual file changes would happen.", @@ -20,7 +19,6 @@ "syncrun_step7skip": "7/{{maxSteps}} Remotely Save real sync is skipped in dry run mode.", "syncrun_step8": "8/{{maxSteps}} Remotely Save finish!", "syncrun_abort": "{{manifestID}}-{{theDate}}: abort sync, triggerSource={{triggerSource}}, error while {{syncStatus}}", - "protocol_saveqr": "New not-oauth2 settings for {{manifestName}} saved. Reopen the plugin Settings to the effect.", "protocol_callbacknotsupported": "Your uri call a callback that's not supported yet: {{params}}", "protocol_dropbox_connecting": "Connecting to Dropbox...\nPlease DO NOT close this modal.", @@ -32,7 +30,6 @@ "protocol_onedrive_connect_succ_revoke": "You've connected as user {{username}}. If you want to disconnect, click this button.", "protocol_onedrive_connect_fail": "Something went wrong from response from OneDrive. Maybe you rejected the auth?", "protocol_onedrive_connect_unknown": "Do not know how to deal with the callback: {{params}}", - "command_startsync": "start sync", "command_drynrun": "start sync (dry run only)", "command_exportsyncplans_json": "export sync plans in json format", @@ -60,14 +57,12 @@ "modal_password_attn5": "Attention 5/5: The longer the password, the better.", "modal_password_secondconfirm": "The Second Confirm to change password.", "modal_password_notice": "New password saved!", - "modal_remotebasedir_title": "You are changing the remote base directory config", "modal_remotebasedir_shortdesc": "1. The plugin would NOT automatically move the content from the old directory to the new one directly on the remote. Everything syncs from the beginning again.\n2. If you set the string to the empty, the config would be reset to use the vault folder name (the default config).\n3. The remote directory name itself would not be encrypted even you've set an E2E password.\n4. Some special char like '?', '/', '\\' are not allowed. Spaces in the beginning or in the end are also trimmed.", "modal_remotebasedir_invaliddirhint": "Your input contains special characters like '?', '/', '\\' which are not allowed.", "modal_remotebasedir_secondconfirm_vaultname": "Reset To The Default Vault Folder Name", "modal_remotebasedir_secondconfirm_change": "Confirm To Change", "modal_remotebasedir_notice": "New remote base directory config saved!", - "modal_dropboxauth_manualsteps": "Step 1: Visit the address in a browser, and follow the steps.\nStep 2: In the end of the web flow, you obtain a long code. Paste it here then click \"Submit\".", "modal_dropboxauth_autosteps": "Visit the address in a browser, and follow the steps.\nFinally you should be redirected to Obsidian.", "modal_dropboxauth_copybutton": "Click to copy the auth url", @@ -78,7 +73,6 @@ "modal_dropboxauth_maualinput_conn_succ": "Good! We've connected to Dropbox as user {{username}}!", "modal_dropboxauth_maualinput_conn_succ_revoke": "You've connected as user {{username}}. If you want to disconnect, click this button.", "modal_dropboxauth_maualinput_conn_fail": "Something goes wrong while connecting to Dropbox.", - "modal_onedriveauth_shortdesc": "Currently only OneDrive for personal is supported. OneDrive for Business is NOT supported (yet).\nVisit the address in a browser, and follow the steps.\nFinally you should be redirected to Obsidian.", "modal_onedriveauth_copybutton": "Click to copy the auth url", "modal_onedriveauth_copynotice": "The auth url is copied to the clipboard!", @@ -92,16 +86,13 @@ "modal_syncconfig_attn": "Attention 1/2: This only syncs (copies) the whole Obsidian config dir, not other startting-with-dot folders or files. Except for ignoring folders .git and node_modules, it also doesn't understand the meaning of sub-files and sub-folders inside the config dir.\nAttention 2/2: After the config dir is synced, plugins settings might be corrupted, and Obsidian might need to be restarted to load the new settings.\nIf you are agreed to take your own risk, please click the following second confirm button.", "modal_syncconfig_secondconfirm": "The Second Confirm To Enable.", "modal_syncconfig_notice": "You've enabled syncing config folder!", - "modal_qr_shortdesc": "This exports not-oauth2 settings. (It means that Dropbox, OneDrive info are NOT exported.)\nYou can use another device to scan this qrcode.\nOr, you can click the button to copy the special url.", "modal_qr_button": "Click to copy the special URI", "modal_qr_button_notice": "The special uri is copied to the clipboard!", - "modal_sizesconflict_title": "Remotely Save: Some conflict were found while skipping large files", "modal_sizesconflict_desc": "You've set skipping files larger than {{thresholdMB}} MB ({{thresholdBytes}} bytes).\nBut the following files have sizes larger than the threshold on one side, and sizes smaller than the threshold on the other side.\nTo avoid unexpected overwriting or deleting, the plugin stops, and you have to manually deal with at least one side of the files.", "modal_sizesconflict_copybutton": "Click to copy all the below sizes conflicts info", "modal_sizesconflict_copynotice": "All the sizes conflicts info have been copied to the clipboard!", - "settings_basic": "Basic Settings", "settings_password": "Encryption Password", "settings_password_desc": "Password for E2E encryption. Empty for no password. You need to click \"Confirm\". Attention: the password and other info are saved locally.", @@ -112,6 +103,13 @@ "settings_autorun_5min": "every 5 minutes", "settings_autorun_10min": "every 10 minutes", "settings_autorun_30min": "every 30 minutes", + "settings_saverun": "Sync on Save", + "settings_saverun_desc": "The plugin tries to sync on after each file save. Battery may be impacted. (May need to restart after changing)", + "settings_saverun_notset": "(not set)", + "settings_saverun_1sec": "every 1 second", + "settings_saverun_5sec": "every 5 seconds", + "settings_saverun_10sec": "every 10 seconds", + "settings_saverun_1min": "every 1 minute", "settings_runoncestartup": "Run Once On Start Up Automatically", "settings_runoncestartup_desc": "This settings allows setting running ONCE on start up automatically. This will take effect on NEXT start up after changing. This setting, is different from \"schedule for auto run\" which starts syncing after EVERY interval.", "settings_runoncestartup_notset": "(not set)", @@ -121,6 +119,7 @@ "settings_skiplargefiles": "Skip Large Files (experimental)", "settings_skiplargefiles_desc": "Skip files with sizes larger than the threshold. Here 1 MB = 10^6 bytes.", "settings_skiplargefiles_notset": "(not set)", + "settings_ignorepaths": "Regex Of Paths To Ignore", "settings_ignorepaths_desc": "Regex of paths of folders or files to ignore. One regex per line. The path is relative to the vault root without leading slash.", "settings_enablestatusbar_info": "Show Last Successful Sync In Status Bar", @@ -135,10 +134,8 @@ "settings_checkonnectivity_desc": "Check connectivity.", "settings_checkonnectivity_button": "Check", "settings_checkonnectivity_checking": "Checking...", - "settings_remotebasedir": "Change The Remote Base Directory (experimental)", "settings_remotebasedir_desc": "By default the content is synced to a remote directory with the same name as the vault name. You can change the remote folder name here, or keep the input field empty to reset to the default. You need to click \"Confirm\".", - "settings_s3": "Remote For S3 or compatible", "settings_s3_disclaimer1": "Disclaimer: This plugin is NOT an official Amazon product.", "settings_s3_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your bucket, please immediately delete the access key on your AWS (or other S3-service provider) settings.", @@ -163,7 +160,6 @@ "settings_s3_urlstyle_desc": "Whether to force path-style URLs for S3 objects (e.g., https://s3.amazonaws.com/*/ instead of https://*.s3.amazonaws.com/).", "settings_s3_connect_succ": "Great! The bucket can be accessed.", "settings_s3_connect_fail": "The S3 bucket cannot be reached.", - "settings_dropbox": "Remote For Dropbox", "settings_dropbox_disclaimer1": "Disclaimer: This app is NOT an official Dropbox product.", "settings_dropbox_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Dropbox, please immediately disconnect this app on https://www.dropbox.com/account/connected_apps .", @@ -182,7 +178,6 @@ "settings_dropbox_auth_button": "Auth", "settings_dropbox_connect_succ": "Great! We can connect to Dropbox!", "settings_dropbox_connect_fail": "We cannot connect to Dropbox.", - "settings_onedrive": "Remote For Onedrive (for personal)", "settings_onedrive_disclaimer1": "Disclaimer: This app is NOT an official Microsoft / OneDrive product.", "settings_onedrive_disclaimer2": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins could read the info. If you see any unintentional access to your Onedrive, please immediately disconnect this app on https://microsoft.com/consent .", @@ -196,7 +191,6 @@ "settings_onedrive_auth_button": "Auth", "settings_onedrive_connect_succ": "Great! We can connect to Onedrive!", "settings_onedrive_connect_fail": "We cannot connect to Onedrive.", - "settings_webdav": "Remote For Webdav", "settings_webdav_disclaimer1": "Disclaimer: The information is stored locally. Other malicious/harmful/faulty plugins may read the info. If you see any unintentional access to your webdav server, please immediately change the username and password.", "settings_webdav_cors_os": "Obsidian desktop>=0.13.25 or iOS>=1.1.1 or Android>=1.2.1 supports bypassing CORS locally. But you are using an old version, and you're suggested to upgrade Obsidian.", @@ -218,14 +212,12 @@ "settings_webdav_connect_succ": "Great! The webdav server can be accessed.", "settings_webdav_connect_fail": "The webdav server cannot be reached (possible to be any of address/username/password/authtype errors).", "settings_webdav_connect_fail_withcors": "The webdav server cannot be reached (possible to be any of address/username/password/authtype/CORS errors).", - "settings_chooseservice": "Choose A Remote Service", "settings_chooseservice_desc": "Start here. What service are you connecting to? S3, Dropbox, Webdav, or OneDrive for personal?", "settings_chooseservice_s3": "S3 or compatible", "settings_chooseservice_dropbox": "Dropbox", "settings_chooseservice_webdav": "Webdav", "settings_chooseservice_onedrive": "OneDrive for personal", - "settings_adv": "Advanced Settings", "settings_concurrency": "Concurrency", "settings_concurrency_desc": "How many files do you want to download or upload in parallel at most? By default it's set to 5. If you meet any problems such as rate limit, you can reduce the concurrency to a lower value.", @@ -233,14 +225,12 @@ "settings_syncunderscore_desc": "Sync files or folders starting with _ (\"underscore\") or not", "settings_configdir": "Sync Config Dir (experimental)", "settings_configdir_desc": "Sync config dir {{configDir}} or not (inner folder .git and node_modules would be ignored). Please be aware that this may impact all your plugins' or Obsidian's settings, and may require you restart Obsidian after sync. Enable this at your own risk.", - "settings_importexport": "Import and Export Partial Settings", "settings_export": "Export", "settings_export_desc": "Export not-oauth2 settings by generating a qrcode.", "settings_export_desc_button": "Get QR Code", "settings_import": "Import", "settings_import_desc": "You should open a camera or scan-qrcode app, to manually scan the QR code.", - "settings_debug": "Debug", "settings_debuglevel": "Alter Console Log Level", "settings_debuglevel_desc": "By default the log level is \"info\". You can change to \"debug\" to get verbose information in console.", @@ -278,9 +268,8 @@ "settings_resetcache_desc": "Reset local internal caches/databases (for debugging purposes). You would want to reload the plugin after resetting this. This option will not empty the {s3, password...} settings.", "settings_resetcache_button": "Reset", "settings_resetcache_notice": "Local internal cache/databases deleted. Please manually reload the plugin.", - "syncalgov2_title": "Remotely Save has a better sync algorithm", "syncalgov2_texts": "Welcome to use Remotely Save!\nFrom version 0.3.0, a new algorithm has been developed, but it needs uploading extra meta data files _remotely-save-metadata-on-remote.{json,bin} to YOUR configured cloud destinations, besides your notes.\nSo that, for example, the second device can know that what files/folders have been deleted on the first device by reading those files.\nIf you agree, plase click the button \"Agree\", and enjoy the plugin! AND PLEASE REMEMBER TO BACKUP YOUR VAULT FIRSTLY!\nIf you do not agree, you should stop using the current and later versions of Remotely Save. You could consider manually install the old version 0.2.14 which uses old algorithm and does not upload any extra meta data files. By clicking the \"Do Not Agree\" button, the plugin will unload itself, and you need to manually disable it in Obsidian settings.", "syncalgov2_button_agree": "Agree", "syncalgov2_button_disagree": "Do Not Agree" -} +} \ No newline at end of file diff --git a/zh_cn.json b/zh_cn.json index 08ce7de..7c4abdb 100644 --- a/zh_cn.json +++ b/zh_cn.json @@ -5,7 +5,6 @@ "goback": "返回", "submit": "提交", "sometext": "这里有一段文字。", - "syncrun_alreadyrunning": "{{pluginName}} 正处于此阶段:{{syncStatus}}!", "syncrun_syncingribbon": "{{pluginName}}:正在由 {{triggerSource}} 触发运行", "syncrun_step0": "0/{{maxSteps}} Remotely Save 在空跑(dry run)模式,不会发生实际的文件交换。", @@ -20,7 +19,6 @@ "syncrun_step7skip": "7/{{maxSteps}} Remotely Save 在空跑模式,跳过实际数据交换步骤。", "syncrun_step8": "8/{{maxSteps}} Remotely Save 已完成同步!", "syncrun_abort": "{{manifestID}}-{{theDate}}:中断同步,同步来源={{triggerSource}},出错阶段={{syncStatus}}", - "protocol_saveqr": " {{manifestName}} 新的非 oauth2 设置保存完成。请重启插件设置页使之生效。", "protocol_callbacknotsupported": "您的 uri callback 暂不支持: {{params}}", "protocol_dropbox_connecting": "正在连接 Dropbox……\n请不要关闭此弹窗。", @@ -32,7 +30,6 @@ "protocol_onedrive_connect_succ_revoke": "您已作为用户 {{username}} 连接上了。如果您想取消连接,请点击此按钮。", "protocol_onedrive_connect_fail": "OneDrive 的回调请求有点异常。您是否拒绝了鉴权?", "protocol_onedrive_connect_unknown": "不知道如何处理此 callback:{{params}}", - "command_startsync": "开始同步(start sync)", "command_drynrun": "开始同步(空跑模式)(start sync (dry run only))", "command_exportsyncplans_json": "导出同步计划为 json 格式(export sync plans in json format)", @@ -60,14 +57,12 @@ "modal_password_attn5": "注意 5/5:密码越长越好。", "modal_password_secondconfirm": "再次确认保存新密码", "modal_password_notice": "新密码已保存!", - "modal_remotebasedir_title": "您正在修改远端基文件夹设置", "modal_remotebasedir_shortdesc": "1. 本插件并不会自动在远端把内容从旧文件夹移动到新文件夹。所有内容都会重新同步。\n2. 如果你使得文本输入框为空,那么本设置会被重设回库的文件夹名(默认设置)。\n3. 即使您设置了端对端加密的密码,远端文件夹名称本身也不会被加密。\n4. 某些特殊字符,如“?”、“/”、“\\”是不允许的。文本前后的空格也会被自动删去。", "modal_remotebasedir_invaliddirhint": "您所输入的内容含有某些特殊字符,如“?”、“/”、“\\”,它们是不允许的。", "modal_remotebasedir_secondconfirm_vaultname": "重设回默认的库文件夹名", "modal_remotebasedir_secondconfirm_change": "确认修改", "modal_remotebasedir_notice": "新的远端基文件夹设置已保存!", - "modal_dropboxauth_manualsteps": "第 1 步:在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会获得一串很长的代码文本,请复制粘贴到下方,并点击“提交”", "modal_dropboxauth_autosteps": "在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会被自动重定向回来 Obsidian。", "modal_dropboxauth_copybutton": "点击此按钮从而复制鉴权 url", @@ -78,7 +73,6 @@ "modal_dropboxauth_maualinput_conn_succ": "很好!我们作为用户 {{username}} 连接到 Dropbox 了!", "modal_dropboxauth_maualinput_conn_succ_revoke": "您已作为用户 {{username}} 连接到 Dropbox。如果您想断开连接,点击此按钮。", "modal_dropboxauth_maualinput_conn_fail": "连接 Dropbox 途中出错了。", - "modal_onedriveauth_shortdesc": "现在只支持个人版 OneDrive,(暂)不支持企业版。\n在浏览器中访问以下地址,然后按照网页提示操作。\n到了最后,您应该会被自动重定向回来 Obsidian。", "modal_onedriveauth_copybutton": "点击此按钮从而复制鉴权 url", "modal_onedriveauth_copynotice": "鉴权 url 已复制到剪贴板!", @@ -89,20 +83,16 @@ "modal_onedriverevokeauth_clean_button": "清理", "modal_onedriverevokeauth_clean_notice": "已清理!", "modal_onedriverevokeauth_clean_fail": "鉴权途中出错了。", - "modal_syncconfig_attn": "注意 1/2:此设置只同步(复制)整个 Obsidian 的配置文件夹,但是不会同步其它 . 开头的文件夹或文件。除了会忽略 .git 和 node_modules 文件夹之外,它也并不理解配置文件夹的里各个子文件或子文件夹的含义。\n注意 2/2:配置文件夹被同步之后,各插件的设置或许会出错,且 Obsidian 或许需要重启来重载各插件的新配置。\n如果您同意自行承受以上风险,您可以点击以下再次确认按钮。", "modal_syncconfig_secondconfirm": "再次确认开启", "modal_syncconfig_notice": "您已开启配置文件夹的同步!", - "modal_qr_shortdesc": "这里可导出非 oauth2 设置。(意味着:Dropbox 和 OneDrive 信息不会被导出。)\n您可以使用另一个设备来扫描此 QR 码。\n又或者,您可以点击以下按钮复制此特殊 URI。", "modal_qr_button": "点击此按钮复制特殊 URI", "modal_qr_button_notice": "特殊 URI 已被复制到剪贴板!", - "modal_sizesconflict_title": "Remotely Save:跳过大文件的时候出现了一些冲突", "modal_sizesconflict_desc": "您设置了跳过同步大于 {{thresholdMB}} MB({{thresholdBytes}} bytes)的文件。\n但是以下文件的大小,在一端大于阈值,在另一端则小于阈值。\n为了避免意外的覆盖或删除,插件停止了运作,您需要手动处理至少一端的文件。", "modal_sizesconflict_copybutton": "点击以复制以下所有文件大小冲突信息", "modal_sizesconflict_copynotice": "所有的文件大小冲突信息,已被复制到剪贴板!", - "settings_basic": "基本设置", "settings_password": "密码", "settings_password_desc": "端到端加密的密码。不填写则代表没密码。您需要点击“确认”来修改。注意:密码和其它信息都会在本地保存。", @@ -113,6 +103,13 @@ "settings_autorun_5min": "每 5 分钟", "settings_autorun_10min": "每 10 分钟", "settings_autorun_30min": "每 30 分钟", + "settings_saverun": "保存时同步", + "settings_saverun_desc": "插件在每次保存文件后尝试同步。电池可能会受到影响。", + "settings_saverun_notset": "(未设置)", + "settings_saverun_1sec": "每1秒", + "settings_saverun_5sec": "每5秒", + "settings_saverun_10sec": "每10秒", + "settings_saverun_1min": "每1分钟", "settings_runoncestartup": "启动后自动运行一次", "settings_runoncestartup_desc": "本设置使得插件在程序启动后自动触发一次同步。修改后,会在下一次启动生效。本设置和“自动运行”是不同的,那个设置是指“每隔一段时间”都自动同步一次。", "settings_runoncestartup_notset": "(不设置)", @@ -122,6 +119,7 @@ "settings_skiplargefiles": "跳过大文件(实验性质)", "settings_skiplargefiles_desc": "跳过大于某一个阈值的文件。这里 1 MB = 10^6 bytes。", "settings_skiplargefiles_notset": "(不设置)", + "settings_ignorepaths": "忽略的文件或文件夹的正则表达式", "settings_ignorepaths_desc": "忽略的文件或文件夹的正则表达式。每行一条。路径是相对于库(Vault)根目录的,没有前置 / 符号。", "settings_enablestatusbar_info": "在状态栏显示上一次成功的同步", @@ -136,10 +134,8 @@ "settings_checkonnectivity_desc": "检查可否连接。", "settings_checkonnectivity_button": "检查", "settings_checkonnectivity_checking": "正在检查……", - "settings_remotebasedir": "修改远端基文件夹(实验性质)", "settings_remotebasedir_desc": "默认设定,内容会被同步到远端的和资料库同名的文件夹下。您可以在此修改远端文件夹名,或删除输入框文本从而重设到默认值。您需要点击“确认”。", - "settings_s3": "S3 或兼容 S3 的服务的设置", "settings_s3_disclaimer1": "声明:本插件不是 Amazon 的官方产品。", "settings_s3_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了存储桶有不符合预期的访问,请立刻从 AWS(或其它 S3 服务商)删除记录于此的 access key。", @@ -164,7 +160,6 @@ "settings_s3_urlstyle_desc": "是否对 S3 对象强制使用 path style URL(例如使用 https://s3.amazonaws.com/*/ 而不是 https://*.s3.amazonaws.com/)。", "settings_s3_connect_succ": "很好!可以访问到对应存储桶。", "settings_s3_connect_fail": "无法访问到对应存储桶。", - "settings_dropbox": "Dropbox 设置", "settings_dropbox_disclaimer1": "声明:此插件不是 Dropbox 官方产品。", "settings_dropbox_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 Dropbox 有不符合预期的访问,请立刻从 https://www.dropbox.com/account/connected_apps 删除记录于此插件的连接鉴权。", @@ -183,7 +178,6 @@ "settings_dropbox_auth_button": "鉴权", "settings_dropbox_connect_succ": "很好!我们可连接上 Dropbox!", "settings_dropbox_connect_fail": "我们未能连接上 Dropbox。", - "settings_onedrive": "Onedrive(个人版)设置", "settings_onedrive_disclaimer1": "声明:此插件不是微软或 OneDrive 的官方产品。", "settings_onedrive_disclaimer2": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 OneDrive 有不符合预期的访问,请立刻从 https://microsoft.com/consent 删除记录于此插件的连接鉴权。", @@ -197,7 +191,6 @@ "settings_onedrive_auth_button": "鉴权", "settings_onedrive_connect_succ": "很好!我们可连接上 OneDrive!", "settings_onedrive_connect_fail": "我们未能连接上 OneDrive。", - "settings_webdav": "Webdav 设置", "settings_webdav_disclaimer1": "声明:您所输入的信息存储于本地。其它有害的或者出错的插件,是有可能读取到这些信息的。如果您发现了 Webdav 服务器有不符合预期的访问,请立刻修改用户名和密码。", "settings_webdav_cors_os": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.2.1 支持跳过 CORS 设置。但您正在使用旧版,建议升级。", @@ -219,14 +212,12 @@ "settings_webdav_connect_succ": "很好!可以连接上 Webdav 服务器。", "settings_webdav_connect_fail": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型等错误。)", "settings_webdav_connect_fail_withcors": "无法连接上 Webdav 服务器。(可能是地址/账号/密码/鉴权类型/CORS 等错误。)", - "settings_chooseservice": "选择远程服务", "settings_chooseservice_desc": "从这里开始设置。您想连接到哪一个服务?S3、Dropbox、Webdav、OneDrive(个人版)?", "settings_chooseservice_s3": "S3 或兼容 S3 的服务", "settings_chooseservice_dropbox": "Dropbox", "settings_chooseservice_webdav": "Webdav", "settings_chooseservice_onedrive": "OneDrive(个人版)", - "settings_adv": "进阶设置", "settings_concurrency": "并行度", "settings_concurrency_desc": "您希望同时最多有多少个文件被上传和下载?默认值是 5。如果您遇到了一些问题(如访问频率限制),您可以减少并行度。", @@ -234,14 +225,12 @@ "settings_syncunderscore_desc": "是否同步“_”(下划线)开始的文件或文件夹。", "settings_configdir": "同步配置文件夹(实验性质)", "settings_configdir_desc": "是否同步 Obsidian 的配置文件夹 {{configDir}}(其中的 .git 和 node_modules 依然会被忽略)。请注意,此设置可能会影响到您 Obsidian 或者所有的插件设置,也可能需要您同步完毕后重启 Obsidian。如果您同意自行承受其风险,则可以开启本设置。", - "settings_importexport": "导入导出部分设置", "settings_export": "导出", "settings_export_desc": "用 QR 码导出非 oauth2 的设置信息。", "settings_export_desc_button": "生成 QR 码", "settings_import": "导入", "settings_import_desc": "您需要使用系统拍摄 app 或者扫描 QR 码的app,来扫描对应的 QR 码。", - "settings_debug": "调试", "settings_debuglevel": "修改终端输出的 level", "settings_debuglevel_desc": "默认值为 \"info\"。您可以改为 \"debug\" 从而在终端里获取更多信息。", @@ -279,9 +268,8 @@ "settings_resetcache_desc": "(出于调试原因)重设本地缓存和数据库。您需要在重设之后重新载入此插件。本重设不会删除 s3,密码……等设定。", "settings_resetcache_button": "重设", "settings_resetcache_notice": "本地同步缓存和数据库已被删除。请手动重新载入此插件。", - "syncalgov2_title": "Remotely Save 的同步算法得到优化", "syncalgov2_texts": "欢迎使用 Remotely Save!\n从版本 0.3.0 开始,它带来了新的同步算法,但是,除了您的笔记之外,它还需要上传额外的带有元信息的文件 _remotely-save-metadata-on-remote.{json,bin} 到您的云服务目的地上。\n从而,比如说,通过读取这些信息,另一台设备可以知道什么文件或文件夹在第一台设备上被删除了。\n如果您同意此策略,请点击按钮 \"同意\",然后开始享用此插件!且特别要注意:使用插件之前,请首先备份好您的库(Vault)!\n如果您不同意此策略,您应该停止使用此版本和之后版本的 Remotely Save。您可以考虑手动安装旧版 0.2.14,它使用旧的同步算法,并不上传额外元信息文件。点击 \"不同意\" 之后,插件会自动停止运行(unload),然后您需要 Obsidian 设置里手动停用(disable)此插件。", "syncalgov2_button_agree": "同意", "syncalgov2_button_disagree": "不同意" -} +} \ No newline at end of file diff --git a/zh_tw.json b/zh_tw.json index 58f8e19..4fe9ba3 100644 --- a/zh_tw.json +++ b/zh_tw.json @@ -5,7 +5,6 @@ "goback": "返回", "submit": "提交", "sometext": "這裡有一段文字。", - "syncrun_alreadyrunning": "{{pluginName}} 正處於此階段:{{syncStatus}}!", "syncrun_syncingribbon": "{{pluginName}}:正在由 {{triggerSource}} 觸發執行", "syncrun_step0": "0/{{maxSteps}} Remotely Save 在空跑(dry run)模式,不會發生實際的檔案交換。", @@ -20,7 +19,6 @@ "syncrun_step7skip": "7/{{maxSteps}} Remotely Save 在空跑模式,跳過實際資料交換步驟。", "syncrun_step8": "8/{{maxSteps}} Remotely Save 已完成同步!", "syncrun_abort": "{{manifestID}}-{{theDate}}:中斷同步,同步來源={{triggerSource}},出錯階段={{syncStatus}}", - "protocol_saveqr": " {{manifestName}} 新的非 oauth2 設定儲存完成。請重啟外掛設定頁使之生效。", "protocol_callbacknotsupported": "您的 uri callback 暫不支援: {{params}}", "protocol_dropbox_connecting": "正在連線 Dropbox……\n請不要關閉此彈窗。", @@ -32,7 +30,6 @@ "protocol_onedrive_connect_succ_revoke": "您已作為使用者 {{username}} 連線上了。如果您想取消連線,請點選此按鈕。", "protocol_onedrive_connect_fail": "OneDrive 的回撥請求有點異常。您是否拒絕了鑑權?", "protocol_onedrive_connect_unknown": "不知道如何處理此 callback:{{params}}", - "command_startsync": "開始同步(start sync)", "command_drynrun": "開始同步(空跑模式)(start sync (dry run only))", "command_exportsyncplans_json": "匯出同步計劃為 json 格式(export sync plans in json format)", @@ -60,14 +57,12 @@ "modal_password_attn5": "注意 5/5:密碼越長越好。", "modal_password_secondconfirm": "再次確認儲存新密碼", "modal_password_notice": "新密碼已儲存!", - "modal_remotebasedir_title": "您正在修改遠端基資料夾設定", "modal_remotebasedir_shortdesc": "1. 本外掛並不會自動在遠端把內容從舊資料夾移動到新資料夾。所有內容都會重新同步。\n2. 如果你使得文字輸入框為空,那麼本設定會被重設回庫的資料夾名(預設設定)。\n3. 即使您設定了端對端加密的密碼,遠端資料夾名稱本身也不會被加密。\n4. 某些特殊字元,如“?”、“/”、“\\”是不允許的。文字前後的空格也會被自動刪去。", "modal_remotebasedir_invaliddirhint": "您所輸入的內容含有某些特殊字元,如“?”、“/”、“\\”,它們是不允許的。", "modal_remotebasedir_secondconfirm_vaultname": "重設回預設的庫資料夾名", "modal_remotebasedir_secondconfirm_change": "確認修改", "modal_remotebasedir_notice": "新的遠端基資料夾設定已儲存!", - "modal_dropboxauth_manualsteps": "第 1 步:在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會獲得一串很長的程式碼文字,請複製貼上到下方,並點選“提交”", "modal_dropboxauth_autosteps": "在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會被自動重定向回來 Obsidian。", "modal_dropboxauth_copybutton": "點選此按鈕從而複製鑑權 url", @@ -78,7 +73,6 @@ "modal_dropboxauth_maualinput_conn_succ": "很好!我們作為使用者 {{username}} 連線到 Dropbox 了!", "modal_dropboxauth_maualinput_conn_succ_revoke": "您已作為使用者 {{username}} 連線到 Dropbox。如果您想斷開連線,點選此按鈕。", "modal_dropboxauth_maualinput_conn_fail": "連線 Dropbox 途中出錯了。", - "modal_onedriveauth_shortdesc": "現在只支援個人版 OneDrive,(暫)不支援企業版。\n在瀏覽器中訪問以下地址,然後按照網頁提示操作。\n到了最後,您應該會被自動重定向回來 Obsidian。", "modal_onedriveauth_copybutton": "點選此按鈕從而複製鑑權 url", "modal_onedriveauth_copynotice": "鑑權 url 已複製到剪貼簿!", @@ -89,20 +83,16 @@ "modal_onedriverevokeauth_clean_button": "清理", "modal_onedriverevokeauth_clean_notice": "已清理!", "modal_onedriverevokeauth_clean_fail": "鑑權途中出錯了。", - "modal_syncconfig_attn": "注意 1/2:此設定只同步(複製)整個 Obsidian 的配置資料夾,但是不會同步其它 . 開頭的資料夾或檔案。除了會忽略 .git 和 node_modules 資料夾之外,它也並不理解配置資料夾的裡各個子檔案或子資料夾的含義。\n注意 2/2:配置資料夾被同步之後,各外掛的設定或許會出錯,且 Obsidian 或許需要重啟來過載各外掛的新配置。\n如果您同意自行承受以上風險,您可以點選以下再次確認按鈕。", "modal_syncconfig_secondconfirm": "再次確認開啟", "modal_syncconfig_notice": "您已開啟配置資料夾的同步!", - "modal_qr_shortdesc": "這裡可匯出非 oauth2 設定。(意味著:Dropbox 和 OneDrive 資訊不會被匯出。)\n您可以使用另一個裝置來掃描此 QR 碼。\n又或者,您可以點選以下按鈕複製此特殊 URI。", "modal_qr_button": "點選此按鈕複製特殊 URI", "modal_qr_button_notice": "特殊 URI 已被複制到剪貼簿!", - "modal_sizesconflict_title": "Remotely Save:跳過大檔案的時候出現了一些衝突", "modal_sizesconflict_desc": "您設定了跳過同步大於 {{thresholdMB}} MB({{thresholdBytes}} bytes)的檔案。\n但是以下檔案的大小,在一端大於閾值,在另一端則小於閾值。\n為了避免意外的覆蓋或刪除,外掛停止了運作,您需要手動處理至少一端的檔案。", "modal_sizesconflict_copybutton": "點選以複製以下所有檔案大小衝突資訊", "modal_sizesconflict_copynotice": "所有的檔案大小衝突資訊,已被複制到剪貼簿!", - "settings_basic": "基本設定", "settings_password": "密碼", "settings_password_desc": "端到端加密的密碼。不填寫則代表沒密碼。您需要點選“確認”來修改。注意:密碼和其它資訊都會在本地儲存。", @@ -113,6 +103,13 @@ "settings_autorun_5min": "每 5 分鐘", "settings_autorun_10min": "每 10 分鐘", "settings_autorun_30min": "每 30 分鐘", + "settings_saverun": "保存時同步", + "settings_saverun_desc": "插件在每次保存文件後嘗試同步。電池可能會受到影響。", + "settings_saverun_notset": "(未設置)", + "settings_saverun_1sec": "每1秒", + "settings_saverun_5sec": "每5秒", + "settings_saverun_10sec": "每10秒", + "settings_saverun_1min": "每1分鐘", "settings_runoncestartup": "啟動後自動執行一次", "settings_runoncestartup_desc": "本設定使得外掛在程式啟動後自動觸發一次同步。修改後,會在下一次啟動生效。本設定和“自動執行”是不同的,那個設定是指“每隔一段時間”都自動同步一次。", "settings_runoncestartup_notset": "(不設定)", @@ -122,6 +119,7 @@ "settings_skiplargefiles": "跳過大檔案(實驗性質)", "settings_skiplargefiles_desc": "跳過大於某一個閾值的檔案。這裡 1 MB = 10^6 bytes。", "settings_skiplargefiles_notset": "(不設定)", + "settings_ignorepaths": "忽略的檔案或資料夾的正則表示式", "settings_ignorepaths_desc": "忽略的檔案或資料夾的正則表示式。每行一條。路徑是相對於庫(Vault)根目錄的,沒有前置 / 符號。", "settings_enablestatusbar_info": "在狀態列顯示上一次成功的同步", @@ -136,10 +134,8 @@ "settings_checkonnectivity_desc": "檢查可否連線。", "settings_checkonnectivity_button": "檢查", "settings_checkonnectivity_checking": "正在檢查……", - "settings_remotebasedir": "修改遠端基資料夾(實驗性質)", "settings_remotebasedir_desc": "預設設定,內容會被同步到遠端的和資料庫同名的資料夾下。您可以在此修改遠端資料夾名,或刪除輸入框文字從而重設到預設值。您需要點選“確認”。", - "settings_s3": "S3 或相容 S3 的服務的設定", "settings_s3_disclaimer1": "宣告:本外掛不是 Amazon 的官方產品。", "settings_s3_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了儲存桶有不符合預期的訪問,請立刻從 AWS(或其它 S3 服務商)刪除記錄於此的 access key。", @@ -164,7 +160,6 @@ "settings_s3_urlstyle_desc": "是否對 S3 物件強制使用 path style URL(例如使用 https://s3.amazonaws.com/*/ 而不是 https://*.s3.amazonaws.com/)。", "settings_s3_connect_succ": "很好!可以訪問到對應儲存桶。", "settings_s3_connect_fail": "無法訪問到對應儲存桶。", - "settings_dropbox": "Dropbox 設定", "settings_dropbox_disclaimer1": "宣告:此外掛不是 Dropbox 官方產品。", "settings_dropbox_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 Dropbox 有不符合預期的訪問,請立刻從 https://www.dropbox.com/account/connected_apps 刪除記錄於此外掛的連線鑑權。", @@ -183,7 +178,6 @@ "settings_dropbox_auth_button": "鑑權", "settings_dropbox_connect_succ": "很好!我們可連線上 Dropbox!", "settings_dropbox_connect_fail": "我們未能連線上 Dropbox。", - "settings_onedrive": "Onedrive(個人版)設定", "settings_onedrive_disclaimer1": "宣告:此外掛不是微軟或 OneDrive 的官方產品。", "settings_onedrive_disclaimer2": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 OneDrive 有不符合預期的訪問,請立刻從 https://microsoft.com/consent 刪除記錄於此外掛的連線鑑權。", @@ -197,7 +191,6 @@ "settings_onedrive_auth_button": "鑑權", "settings_onedrive_connect_succ": "很好!我們可連線上 OneDrive!", "settings_onedrive_connect_fail": "我們未能連線上 OneDrive。", - "settings_webdav": "Webdav 設定", "settings_webdav_disclaimer1": "宣告:您所輸入的資訊儲存於本地。其它有害的或者出錯的外掛,是有可能讀取到這些資訊的。如果您發現了 Webdav 伺服器有不符合預期的訪問,請立刻修改使用者名稱和密碼。", "settings_webdav_cors_os": "Obsidian 桌面版>=0.13.25 或 iOS>=1.1.1 或 Android>=1.1.1 支援跳過 CORS 設定。但您正在使用舊版,建議升級。", @@ -219,14 +212,12 @@ "settings_webdav_connect_succ": "很好!可以連線上 Webdav 伺服器。", "settings_webdav_connect_fail": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別等錯誤。)", "settings_webdav_connect_fail_withcors": "無法連線上 Webdav 伺服器。(可能是地址/賬號/密碼/鑑權型別/CORS 等錯誤。)", - "settings_chooseservice": "選擇遠端服務", "settings_chooseservice_desc": "從這裡開始設定。您想連線到哪一個服務?S3、Dropbox、Webdav、OneDrive(個人版)?", "settings_chooseservice_s3": "S3 或相容 S3 的服務", "settings_chooseservice_dropbox": "Dropbox", "settings_chooseservice_webdav": "Webdav", "settings_chooseservice_onedrive": "OneDrive(個人版)", - "settings_adv": "進階設定", "settings_concurrency": "並行度", "settings_concurrency_desc": "您希望同時最多有多少個檔案被上傳和下載?預設值是 5。如果您遇到了一些問題(如訪問頻率限制),您可以減少並行度。", @@ -234,14 +225,12 @@ "settings_syncunderscore_desc": "是否同步“_”(下劃線)開始的檔案或資料夾。", "settings_configdir": "同步配置資料夾(實驗性質)", "settings_configdir_desc": "是否同步 Obsidian 的配置資料夾 {{configDir}}(其中的 .git 和 node_modules 依然會被忽略)。請注意,此設定可能會影響到您 Obsidian 或者所有的外掛設定,也可能需要您同步完畢後重啟 Obsidian。如果您同意自行承受其風險,則可以開啟本設定。", - "settings_importexport": "匯入匯出部分設定", "settings_export": "匯出", "settings_export_desc": "用 QR 碼匯出非 oauth2 的設定資訊。", "settings_export_desc_button": "生成 QR 碼", "settings_import": "匯入", "settings_import_desc": "您需要使用系統拍攝 app 或者掃描 QR 碼的app,來掃描對應的 QR 碼。", - "settings_debug": "除錯", "settings_debuglevel": "修改終端輸出的 level", "settings_debuglevel_desc": "預設值為 \"info\"。您可以改為 \"debug\" 從而在終端裡獲取更多資訊。", @@ -279,9 +268,8 @@ "settings_resetcache_desc": "(出於除錯原因)重設本地快取和資料庫。您需要在重設之後重新載入此外掛。本重設不會刪除 s3,密碼……等設定。", "settings_resetcache_button": "重設", "settings_resetcache_notice": "本地同步快取和資料庫已被刪除。請手動重新載入此外掛。", - "syncalgov2_title": "Remotely Save 的同步演算法得到最佳化", "syncalgov2_texts": "歡迎使用 Remotely Save!\n從版本 0.3.0 開始,它帶來了新的同步演算法,但是,除了您的筆記之外,它還需要上傳額外的帶有元資訊的檔案 _remotely-save-metadata-on-remote.{json,bin} 到您的雲服務目的地上。\n從而,比如說,透過讀取這些資訊,另一臺裝置可以知道什麼檔案或資料夾在第一臺裝置上被刪除了。\n如果您同意此策略,請點選按鈕 \"同意\",然後開始享用此外掛!且特別要注意:使用外掛之前,請首先備份好您的儲存庫(Vault)!\n如果您不同意此策略,您應該停止使用此版本和之後版本的 Remotely Save。您可以考慮手動安裝舊版 0.2.14,它使用舊的同步演算法,並不上傳額外元資訊檔案。點選 \"不同意\" 之後,外掛會自動停止執行(unload),然後您需要 Obsidian 設定裡手動停用(disable)此外掛。", "syncalgov2_button_agree": "同意", "syncalgov2_button_disagree": "不同意" -} +} \ No newline at end of file