en and zh_cn
This commit is contained in:
commit
340ac09961
202
LICENSE
Normal file
202
LICENSE
Normal file
@ -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.
|
||||||
|
|
||||||
10
README.md
Normal file
10
README.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Translations for Remotely Save
|
||||||
|
|
||||||
|
## How To Add A Language?
|
||||||
|
|
||||||
|
1. Copy `en.json` to a new json file named `<lang>.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.
|
||||||
219
en.json
Normal file
219
en.json
Normal file
@ -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"
|
||||||
|
}
|
||||||
7
index.ts
Normal file
7
index.ts
Normal file
@ -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,
|
||||||
|
};
|
||||||
219
zh_cn.json
Normal file
219
zh_cn.json
Normal file
@ -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": "不同意"
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user