@hoardodile/i18n 0.1.15 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalogs/workbench.js +1 -1
- package/dist/catalogs/workbench.js.map +1 -1
- package/dist/{catalogs-zfd8zty8.d.ts → catalogs-DhA-exiB.d.ts} +1570 -850
- package/dist/catalogs.d.ts +1 -1
- package/dist/catalogs.js +1370 -775
- package/dist/catalogs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1370 -775
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/catalogs/de.json +273 -154
- package/src/catalogs/en.json +273 -154
- package/src/catalogs/es.json +273 -154
- package/src/catalogs/ja.json +273 -154
- package/src/catalogs/zh.json +278 -159
- package/src/workbench/zh.json +1 -1
package/src/catalogs/en.json
CHANGED
|
@@ -1,4 +1,132 @@
|
|
|
1
1
|
{
|
|
2
|
+
"protection": {
|
|
3
|
+
"drillDestination": "Temporary recovery folder",
|
|
4
|
+
"lastRestore": "Last restored",
|
|
5
|
+
"restoredEditable": "Local edits after restoration are not included in this status.",
|
|
6
|
+
"drill": "Recovery drill",
|
|
7
|
+
"fullDrill": "Restore and verify a full temporary copy",
|
|
8
|
+
"drillHelp": "The default drill restores database checkpoints, plugin entry files, and a small original file. A full drill needs space for the entire library. Temporary files are removed afterwards.",
|
|
9
|
+
"restorePrompt": "Type RESTORE to confirm.",
|
|
10
|
+
"title": "On this device",
|
|
11
|
+
"description": "Recovery points contain your library files, database checkpoint, and archived plugins.",
|
|
12
|
+
"repository": "Backup storage",
|
|
13
|
+
"folder": "Backup folder",
|
|
14
|
+
"initialize": "Enable complete backups",
|
|
15
|
+
"importKey": "Recovery passphrase",
|
|
16
|
+
"create": "Back up now",
|
|
17
|
+
"name": "Name",
|
|
18
|
+
"note": "Note",
|
|
19
|
+
"automatic": "Automatic backups",
|
|
20
|
+
"enabled": "Enabled",
|
|
21
|
+
"paused": "Paused",
|
|
22
|
+
"empty": "No complete recovery points yet.",
|
|
23
|
+
"loading": "Loading…",
|
|
24
|
+
"restore": "Restore",
|
|
25
|
+
"compare": "Compare files",
|
|
26
|
+
"metadata": "Edit details",
|
|
27
|
+
"check": "Check repository",
|
|
28
|
+
"checkFull": "Verify all backup data",
|
|
29
|
+
"key": "Export recovery key",
|
|
30
|
+
"keyHelp": "Keep this key separately. It is required to recover your backups on a new installation.",
|
|
31
|
+
"retention": "Retention policy",
|
|
32
|
+
"keepAutomatic": "Automatic backups to keep",
|
|
33
|
+
"previewCleanup": "Preview cleanup",
|
|
34
|
+
"cleanup": "Remove expired points",
|
|
35
|
+
"reclaim": "Also reclaim unused storage",
|
|
36
|
+
"cleanupDescription": "Only expired backup recovery points will be removed. Library archives are retained.",
|
|
37
|
+
"save": "Save",
|
|
38
|
+
"cancel": "Cancel",
|
|
39
|
+
"confirm": "Confirm",
|
|
40
|
+
"manual": "Manual",
|
|
41
|
+
"auto": "Automatic",
|
|
42
|
+
"pinned": "Keep indefinitely",
|
|
43
|
+
"restoreTitle": "Replace this library",
|
|
44
|
+
"restoreDescription": "This replaces all library content with the selected recovery point and discards local changes. The library enters maintenance mode. Your sign-in credentials and device connections are retained.",
|
|
45
|
+
"repair": "Repair selected files",
|
|
46
|
+
"repairTitle": "Repair files from backup",
|
|
47
|
+
"repairDescription": "Selected files will be replaced with their backed-up contents. Files changed since the preview will not be overwritten.",
|
|
48
|
+
"differences": "File comparison",
|
|
49
|
+
"noDifferences": "No file differences found.",
|
|
50
|
+
"missing": "Missing",
|
|
51
|
+
"changed": "Different contents",
|
|
52
|
+
"extra": "Not in this backup",
|
|
53
|
+
"archives": "Historical archives",
|
|
54
|
+
"archivesHelp": "Browse an archive using its own frozen data and plugins.",
|
|
55
|
+
"jobs": "Recent operations",
|
|
56
|
+
"retry": "Retry",
|
|
57
|
+
"waitingFiles": "File changes are paused while a storage operation runs. Reading and database-only edits remain available.",
|
|
58
|
+
"maintenance": "Library recovery",
|
|
59
|
+
"maintenanceHelp": "The library is unavailable while its files are being restored. You can follow progress or retry an interrupted operation here.",
|
|
60
|
+
"recoveryKeySaved": "Recovery key downloaded",
|
|
61
|
+
"lastCheck": "Last full verification",
|
|
62
|
+
"never": "Never",
|
|
63
|
+
"noJobs": "No operations yet.",
|
|
64
|
+
"state": {
|
|
65
|
+
"queued": "Queued",
|
|
66
|
+
"running": "Running",
|
|
67
|
+
"cancelling": "Cancelling",
|
|
68
|
+
"succeeded": "Completed",
|
|
69
|
+
"failed": "Failed",
|
|
70
|
+
"cancelled": "Cancelled",
|
|
71
|
+
"interrupted": "Interrupted"
|
|
72
|
+
},
|
|
73
|
+
"kind": {
|
|
74
|
+
"drill": "Recovery drill",
|
|
75
|
+
"backup": "Backup",
|
|
76
|
+
"check": "Verification",
|
|
77
|
+
"compare": "File comparison",
|
|
78
|
+
"repair": "File repair",
|
|
79
|
+
"restore": "Restore",
|
|
80
|
+
"retention": "Backup cleanup",
|
|
81
|
+
"receive": "Receive backups",
|
|
82
|
+
"archive": "Create archive",
|
|
83
|
+
"file-write": "File change"
|
|
84
|
+
},
|
|
85
|
+
"processedFiles_one": "{{count}} file",
|
|
86
|
+
"processedFiles_other": "{{count}} files",
|
|
87
|
+
"processedBytes": "Processed: {{value}}",
|
|
88
|
+
"addedBytes": "New data: {{value}}",
|
|
89
|
+
"networkBytes": "Received: {{value}}",
|
|
90
|
+
"manageQueue": "Manage waiting operations",
|
|
91
|
+
"resubmitFile": "Submit the original file operation again."
|
|
92
|
+
},
|
|
93
|
+
"replication": {
|
|
94
|
+
"healthReceived": "Backups received",
|
|
95
|
+
"healthRecorded": "Records up to date",
|
|
96
|
+
"healthAttention": "Sync needs attention",
|
|
97
|
+
"healthUnconfigured": "Sync not configured",
|
|
98
|
+
"addressHelp": "Enable HTTPS LAN sharing or enter the HTTPS address of your reverse proxy.",
|
|
99
|
+
"title": "Offsite copy",
|
|
100
|
+
"description": "One sender can share backups with several receivers. Receiving a backup never changes this library.",
|
|
101
|
+
"name": "Service name",
|
|
102
|
+
"role": "Role",
|
|
103
|
+
"unconfigured": "Not configured",
|
|
104
|
+
"send": "Send",
|
|
105
|
+
"receive": "Receive",
|
|
106
|
+
"connect": "Connect to sender",
|
|
107
|
+
"disconnect": "Disconnect",
|
|
108
|
+
"invite": "Create pairing invitation",
|
|
109
|
+
"inviteHelp": "Send this code and this service's HTTPS address to your receiver. The code expires in ten minutes and can be used once.",
|
|
110
|
+
"url": "Sender HTTPS address",
|
|
111
|
+
"code": "Pairing code",
|
|
112
|
+
"fingerprint": "SHA-256 certificate fingerprint (for self-signed certificates)",
|
|
113
|
+
"receiveNow": "Receive now",
|
|
114
|
+
"paused": "Pause backup sync",
|
|
115
|
+
"paired": "Connected service",
|
|
116
|
+
"revoke": "Revoke connection",
|
|
117
|
+
"received": "Last confirmed receipt",
|
|
118
|
+
"never": "Not received yet",
|
|
119
|
+
"connectHelp": "Enter the sender's address and pairing code. For a self-signed certificate, also enter its verified fingerprint.",
|
|
120
|
+
"source": "Sender",
|
|
121
|
+
"devices": "Synced devices",
|
|
122
|
+
"manualRecords": "Manual records",
|
|
123
|
+
"addRecord": "Add manual device",
|
|
124
|
+
"details": "Details",
|
|
125
|
+
"copy": "Copy",
|
|
126
|
+
"remove": "Remove",
|
|
127
|
+
"unknown": "Unknown",
|
|
128
|
+
"noDevices": "No devices configured."
|
|
129
|
+
},
|
|
2
130
|
"common": {
|
|
3
131
|
"back": "Back",
|
|
4
132
|
"cancel": "Cancel",
|
|
@@ -36,7 +164,6 @@
|
|
|
36
164
|
"requestFailed": "Request failed",
|
|
37
165
|
"saved": "Saved",
|
|
38
166
|
"saveFailed": "Could not save",
|
|
39
|
-
"confirmByTypingPrompt": "Type \"<name>{{name}}</name>\" to confirm",
|
|
40
167
|
"searchIncludeIntro": "Search intro",
|
|
41
168
|
"underline": "Underline",
|
|
42
169
|
"colorPicker": {
|
|
@@ -184,10 +311,10 @@
|
|
|
184
311
|
"desktop": "Desktop",
|
|
185
312
|
"custom": "Custom",
|
|
186
313
|
"privacy": "Privacy",
|
|
187
|
-
"
|
|
314
|
+
"archives": "Archives",
|
|
315
|
+
"archive": "Backups",
|
|
188
316
|
"plugins": "Plugins",
|
|
189
|
-
"marketplace": "Marketplace"
|
|
190
|
-
"sync": "Sync"
|
|
317
|
+
"marketplace": "Marketplace"
|
|
191
318
|
},
|
|
192
319
|
"section": {
|
|
193
320
|
"language": "Language",
|
|
@@ -234,7 +361,11 @@
|
|
|
234
361
|
"relation": "Relation",
|
|
235
362
|
"collection": "Collection"
|
|
236
363
|
},
|
|
237
|
-
"link": "Link"
|
|
364
|
+
"link": "Link",
|
|
365
|
+
"watchOnly": {
|
|
366
|
+
"title": "Watch-only mode",
|
|
367
|
+
"description": "Restrict character and resource browsing to content carrying a watch-only tag."
|
|
368
|
+
}
|
|
238
369
|
},
|
|
239
370
|
"account": {
|
|
240
371
|
"title": "Account",
|
|
@@ -505,12 +636,13 @@
|
|
|
505
636
|
"previewFallbackUnknown": "unknown plugin"
|
|
506
637
|
},
|
|
507
638
|
"plugins": {
|
|
508
|
-
"pageHint": "Install from a
|
|
509
|
-
"
|
|
639
|
+
"pageHint": "Install from a plugin package (zip, tar, 7z, rar and more), or refresh the plugins folder to pick up new arrivals.",
|
|
640
|
+
"uploadPlugin": "Upload plugin",
|
|
641
|
+
"uploadValidatedServerSide": "The package is validated by the server — its name, version and permissions appear after installation.",
|
|
510
642
|
"uploadPluginSuccess": "Plugin installed",
|
|
511
643
|
"uploading": "Installing…",
|
|
512
|
-
"rescan": "
|
|
513
|
-
"rescanSuccess": "Plugins
|
|
644
|
+
"rescan": "Refresh plugins",
|
|
645
|
+
"rescanSuccess": "Plugins refreshed",
|
|
514
646
|
"more": "More",
|
|
515
647
|
"enableToggle": "Enable or disable plugin",
|
|
516
648
|
"dragToReorder": "Drag to reorder",
|
|
@@ -558,8 +690,8 @@
|
|
|
558
690
|
"uninstallConfirmDescription_other": "{{count}} resources are using this plugin. After uninstalling, they will preview with the built-in file plugin; reinstalling the plugin restores them automatically. This cannot be undone.",
|
|
559
691
|
"uninstallConfirmNoUsage": "No resources are using this plugin. Reinstall it any time to use it again. This cannot be undone.",
|
|
560
692
|
"uninstallSuccess": "Uninstalled {{name}}",
|
|
561
|
-
"replaceContentAction": "Replace
|
|
562
|
-
"replaceContentTitle": "Replace
|
|
693
|
+
"replaceContentAction": "Replace plugin…",
|
|
694
|
+
"replaceContentTitle": "Replace plugin",
|
|
563
695
|
"replaceContentDescription": "Move every resource that one content plugin handles to another. Each resource's content plugin is re-assigned and its derived metadata is cleared for re-detection.",
|
|
564
696
|
"replaceContentFrom": "From plugin",
|
|
565
697
|
"replaceContentTo": "To plugin",
|
|
@@ -818,19 +950,12 @@
|
|
|
818
950
|
"setupFormAria": "Set password"
|
|
819
951
|
},
|
|
820
952
|
"dataHistory": {
|
|
821
|
-
"
|
|
822
|
-
"description": "Manage your data snapshots. Backups are for migration or disaster recovery; archives freeze a version as read-only so its data can never change again.",
|
|
823
|
-
"status": {
|
|
824
|
-
"currentWritable": "Writable — v{{version}}",
|
|
825
|
-
"viewingArchive": "Viewing archive — v{{version}}"
|
|
826
|
-
},
|
|
953
|
+
"pageHint": "Freeze the latest version into a read-only archive. Name and description can be edited on the current version anytime.",
|
|
827
954
|
"chip": {
|
|
828
955
|
"latest": "Latest",
|
|
829
|
-
"readOnly": "Read-only"
|
|
830
|
-
"auto": "Auto"
|
|
956
|
+
"readOnly": "Read-only"
|
|
831
957
|
},
|
|
832
958
|
"archive": {
|
|
833
|
-
"title": "v{{version}}",
|
|
834
959
|
"tagCurrent": "Latest (writable)",
|
|
835
960
|
"tagActive": "Viewing",
|
|
836
961
|
"tagReadOnly": "Historical archive",
|
|
@@ -839,81 +964,32 @@
|
|
|
839
964
|
"nameLabel": "Name",
|
|
840
965
|
"namePlaceholder": "e.g. v1 milestone",
|
|
841
966
|
"noteLabel": "Note",
|
|
842
|
-
"notePlaceholder": "e.g. before migration, data freeze…"
|
|
843
|
-
"switchHint": "After switching, the app runs in read-only mode against this archive. Return to the latest version to edit again.",
|
|
844
|
-
"activeHint": "This is the version you are viewing."
|
|
845
|
-
},
|
|
846
|
-
"backup": {
|
|
847
|
-
"typeLabel": "Database backup",
|
|
848
|
-
"autoTypeLabel": "Automatic daily snapshot",
|
|
849
|
-
"autoBadge": "auto",
|
|
850
|
-
"autoDeleteHint": "This automatic snapshot is kept for a short rolling window and will be replaced automatically. You can delete it now to free up space.",
|
|
851
|
-
"nameLabel": "Name",
|
|
852
|
-
"nameEmpty": "None",
|
|
853
|
-
"restoreHint": "Restoring asks you to type the backup name — the current library is archived first, so nothing is lost silently.",
|
|
854
|
-
"deleteHint": "This backup file will be permanently deleted and cannot be recovered.",
|
|
855
|
-
"archivedHint": "This backup belongs to an archived version. Its data is frozen and cannot be restored or deleted."
|
|
967
|
+
"notePlaceholder": "e.g. before migration, data freeze…"
|
|
856
968
|
},
|
|
857
969
|
"action": {
|
|
858
|
-
"backupNow": "Backup now",
|
|
859
|
-
"backingUp": "Backing up…",
|
|
860
970
|
"archiveNow": "Archive now",
|
|
861
971
|
"archiving": "Archiving…",
|
|
862
|
-
"
|
|
863
|
-
"restoring": "Restoring…",
|
|
864
|
-
"delete": "Delete",
|
|
865
|
-
"deleting": "Deleting…",
|
|
972
|
+
"edit": "Edit",
|
|
866
973
|
"switchToVersion": "Switch to this version",
|
|
867
|
-
"switching": "Switching…"
|
|
868
|
-
"download": "Download"
|
|
974
|
+
"switching": "Switching…"
|
|
869
975
|
},
|
|
870
|
-
"
|
|
871
|
-
|
|
872
|
-
"
|
|
873
|
-
"disabled": "Automatic snapshots are disabled",
|
|
874
|
-
"last": "newest {{time}}"
|
|
875
|
-
},
|
|
876
|
-
"detail": {
|
|
877
|
-
"selectPrompt": "Select a backup or archive on the timeline to view details and available actions.",
|
|
878
|
-
"size": "Size",
|
|
879
|
-
"versionNumber": "Version",
|
|
880
|
-
"createdAt": "Created",
|
|
881
|
-
"note": "Note",
|
|
882
|
-
"contents": "Contents",
|
|
883
|
-
"contentsValue": "{{resources}} resources · {{characters}} characters · {{documents}} documents",
|
|
884
|
-
"backupOnVersion": "Backup on v{{version}}",
|
|
885
|
-
"archiveVersion": "Archive v{{version}}"
|
|
886
|
-
},
|
|
887
|
-
"note": {
|
|
888
|
-
"empty": "Click to add a note…",
|
|
889
|
-
"placeholder": "Add a short description for this snapshot…"
|
|
976
|
+
"edit": {
|
|
977
|
+
"title": "Edit archive",
|
|
978
|
+
"description": "Archive v{{version}}"
|
|
890
979
|
},
|
|
980
|
+
"reloading": "Reloading…",
|
|
891
981
|
"confirm": {
|
|
892
982
|
"archiveTitle": "Archive latest version",
|
|
893
|
-
"archiveDescription": "The
|
|
983
|
+
"archiveDescription": "The current data, plugin code and plugin vaults will be frozen together. A new writable version will use independent plugin copies.",
|
|
894
984
|
"archivePhrase": "archive",
|
|
895
|
-
"archiveAutoHint": "The current version's automatic snapshots freeze with this archive; a fresh snapshot is taken for the new version right away.",
|
|
896
|
-
"restoreTitle": "Restore this backup",
|
|
897
|
-
"restoreDescription": "The current library is archived first, so nothing is lost silently. This restore can be undone by restoring the archived version.",
|
|
898
|
-
"restorePhrase": "restore backup",
|
|
899
|
-
"autoPhrase": "auto",
|
|
900
|
-
"deleteBackupTitle": "Delete backup forever",
|
|
901
|
-
"deleteBackupDescription": "This backup file will be permanently deleted and cannot be recovered.",
|
|
902
|
-
"deleteBackupPhrase": "delete backup",
|
|
903
985
|
"switchTitle": "Switch to this archive version",
|
|
904
986
|
"switchDescription": "After switching, the app runs in read-only mode and only historical data is visible. Return to the latest version to edit again."
|
|
905
987
|
},
|
|
906
988
|
"empty": {
|
|
907
|
-
"title": "No
|
|
908
|
-
"description": "Create a backup now to protect against data loss."
|
|
989
|
+
"title": "No archives yet."
|
|
909
990
|
},
|
|
910
991
|
"toast": {
|
|
911
|
-
"backupCreated": "Backup created",
|
|
912
|
-
"backupFailed": "Backup failed",
|
|
913
992
|
"archiveFailed": "Archive failed",
|
|
914
|
-
"backupDeleted": "Backup deleted",
|
|
915
|
-
"deleteFailed": "Delete failed",
|
|
916
|
-
"restoreFailed": "Restore failed",
|
|
917
993
|
"switchFailed": "Switch failed",
|
|
918
994
|
"metaSaved": "Saved",
|
|
919
995
|
"metaSaveFailed": "Could not save"
|
|
@@ -1956,7 +2032,14 @@
|
|
|
1956
2032
|
"linkHint": "Optional link to the tag's canonical page — shown in the hover preview.",
|
|
1957
2033
|
"uploadImage": "Upload image…",
|
|
1958
2034
|
"editImage": "Edit image…",
|
|
1959
|
-
"imageDialogTitle": "Tag image"
|
|
2035
|
+
"imageDialogTitle": "Tag image",
|
|
2036
|
+
"visibilityLabel": "Visibility",
|
|
2037
|
+
"visibilityHint": "Watch-only narrows browse to content carrying this tag; explicit-view hides that content until you pick the tag to view."
|
|
2038
|
+
},
|
|
2039
|
+
"visibility": {
|
|
2040
|
+
"normal": "Normal",
|
|
2041
|
+
"watchOnly": "Watch only",
|
|
2042
|
+
"explicitView": "Explicit view"
|
|
1960
2043
|
},
|
|
1961
2044
|
"card": {
|
|
1962
2045
|
"openLink": "Open link",
|
|
@@ -2190,89 +2273,15 @@
|
|
|
2190
2273
|
}
|
|
2191
2274
|
},
|
|
2192
2275
|
"sync": {
|
|
2193
|
-
"pageHint": "Per device: records entity counts, content size and storage volume · open the page anytime to see what changed since the last sync",
|
|
2194
|
-
"status": {
|
|
2195
|
-
"allUpToDate": "All devices up to date",
|
|
2196
|
-
"dueCount_one": "{{count}} of {{total}} device due",
|
|
2197
|
-
"dueCount_other": "{{count}} of {{total}} devices due"
|
|
2198
|
-
},
|
|
2199
|
-
"tip": {
|
|
2200
|
-
"oneWay": "Sync one-way: one master repository, the rest as mirrors, to avoid conflicts."
|
|
2201
|
-
},
|
|
2202
2276
|
"config": {
|
|
2203
2277
|
"remindLabel": "Remind me after",
|
|
2204
|
-
"remindDescription": "Past the interval without a synced snapshot, the dashboard asks.",
|
|
2205
2278
|
"remindDays_one": "{{count}} day",
|
|
2206
2279
|
"remindDays_other": "{{count}} days"
|
|
2207
2280
|
},
|
|
2208
|
-
"devices": {
|
|
2209
|
-
"addTitle": "Add a device",
|
|
2210
|
-
"addAutoRecord": "The current state is synced automatically once added.",
|
|
2211
|
-
"namePlaceholder": "Device name",
|
|
2212
|
-
"notesPlaceholder": "Notes (optional)",
|
|
2213
|
-
"nameHint": "e.g. Laptop",
|
|
2214
|
-
"notesHint": "e.g. USB 4TB",
|
|
2215
|
-
"add": "Add device",
|
|
2216
|
-
"addPending": "Adding…",
|
|
2217
|
-
"empty": "No devices yet — add one to start syncing.",
|
|
2218
|
-
"loading": "Loading…",
|
|
2219
|
-
"neverSynced": "Never synced",
|
|
2220
|
-
"lastSyncedAgo_one": "Last synced {{date}} · {{count}} day ago",
|
|
2221
|
-
"lastSyncedAgo_other": "Last synced {{date}} · {{count}} days ago",
|
|
2222
|
-
"justNow": "Just now",
|
|
2223
|
-
"minutesAgo_one": "{{count}} minute ago",
|
|
2224
|
-
"minutesAgo_other": "{{count}} minutes ago",
|
|
2225
|
-
"hoursAgo_one": "{{count}} hour ago",
|
|
2226
|
-
"hoursAgo_other": "{{count}} hours ago",
|
|
2227
|
-
"upToDate": "Up to date",
|
|
2228
|
-
"overdue_one": "Overdue · {{count}} day",
|
|
2229
|
-
"overdue_other": "Overdue · {{count}} days",
|
|
2230
|
-
"neverBadge": "Not synced yet",
|
|
2231
|
-
"record": "Sync",
|
|
2232
|
-
"recordNow": "Sync now",
|
|
2233
|
-
"deleteTitle": "Delete {{name}}?",
|
|
2234
|
-
"deleteDescription": "The device and all of its sync records will be removed.",
|
|
2235
|
-
"delete": "Delete",
|
|
2236
|
-
"deletePending": "Deleting…",
|
|
2237
|
-
"editTitle": "Edit device",
|
|
2238
|
-
"edit": "Edit",
|
|
2239
|
-
"save": "Save",
|
|
2240
|
-
"editPending": "Saving…",
|
|
2241
|
-
"liveHint": "Live state · changes since the last sync"
|
|
2242
|
-
},
|
|
2243
|
-
"fields": {
|
|
2244
|
-
"resources": "Resources",
|
|
2245
|
-
"characters": "Characters",
|
|
2246
|
-
"documents": "Documents",
|
|
2247
|
-
"folders": "Folders",
|
|
2248
|
-
"messages": "Messages",
|
|
2249
|
-
"tags": "Tags",
|
|
2250
|
-
"collections": "Collections",
|
|
2251
|
-
"trash": "Trash",
|
|
2252
|
-
"contentSize": "Content size",
|
|
2253
|
-
"storage": "Storage",
|
|
2254
|
-
"firstRecord": "First sync"
|
|
2255
|
-
},
|
|
2256
|
-
"toast": {
|
|
2257
|
-
"deviceAdded": "Device added and synced",
|
|
2258
|
-
"deviceAddFailed": "Could not add device",
|
|
2259
|
-
"deviceUpdated": "Device updated",
|
|
2260
|
-
"deviceUpdateFailed": "Could not update device",
|
|
2261
|
-
"deviceDeleted": "Device deleted",
|
|
2262
|
-
"deviceDeleteFailed": "Could not delete device",
|
|
2263
|
-
"recorded": "Synced",
|
|
2264
|
-
"recordFailed": "Could not sync"
|
|
2265
|
-
},
|
|
2266
2281
|
"banner": {
|
|
2267
2282
|
"noDevicesTitle": "No sync devices configured yet.",
|
|
2268
2283
|
"noDevicesDescription": "Add at least one device to track syncs.",
|
|
2269
|
-
"configureLink": "Set up"
|
|
2270
|
-
"neverSyncedTitle": "{{name}} has never been synced",
|
|
2271
|
-
"neverSyncedDescription": "No sync recorded for this device yet.",
|
|
2272
|
-
"overdueTitle_one": "{{name}} last synced {{count}} day ago",
|
|
2273
|
-
"overdueTitle_other": "{{name}} last synced {{count}} days ago",
|
|
2274
|
-
"overdueDescription": "It's been longer than your {{count}}-day reminder interval.",
|
|
2275
|
-
"recordLink": "Sync now"
|
|
2284
|
+
"configureLink": "Set up"
|
|
2276
2285
|
}
|
|
2277
2286
|
},
|
|
2278
2287
|
"desktopShell": {
|
|
@@ -2317,5 +2326,115 @@
|
|
|
2317
2326
|
"continue": "Continue",
|
|
2318
2327
|
"missingBridge": "The app couldn't start. Reopen the app."
|
|
2319
2328
|
}
|
|
2329
|
+
},
|
|
2330
|
+
"protectionUx": {
|
|
2331
|
+
"protectionTitle": "Backups",
|
|
2332
|
+
"sendRequiresBackup": "Create a local backup first to share this device's backups.",
|
|
2333
|
+
"setup": "Set up backups",
|
|
2334
|
+
"noBackup": "No local backup yet",
|
|
2335
|
+
"setupHelp": "Save your library, files, and versioned plugins together.",
|
|
2336
|
+
"start": "Start backing up",
|
|
2337
|
+
"openExisting": "Open an existing backup",
|
|
2338
|
+
"firstBackupHelp": "This starts the first backup and enables automatic backups. Large libraries take longer the first time. Save the recovery key when prompted.",
|
|
2339
|
+
"existingHelp": "Place your existing repository at the configured backup location, then open it with its recovery key. Your library changes only after you confirm a restore.",
|
|
2340
|
+
"importKeyFile": "Choose recovery key file",
|
|
2341
|
+
"keyFileError": "Could not read this key file. Choose a recovery key file smaller than 64 KB.",
|
|
2342
|
+
"enableAndBackup": "Enable and create first backup",
|
|
2343
|
+
"status": "Backup status",
|
|
2344
|
+
"description": "Keep recoverable copies of your library and its files. Automatic backups save changes without duplicating unchanged content.",
|
|
2345
|
+
"firstBackupRunning": "Creating the first backup…",
|
|
2346
|
+
"backupRunning": "Backup in progress…",
|
|
2347
|
+
"firstBackupMissing": "Enabled; no completed backup yet",
|
|
2348
|
+
"backupCompleted": "Last completed backup: {{time}}",
|
|
2349
|
+
"locationHelp": "This is where this service saves backups. Use backup sync to keep a copy on another device.",
|
|
2350
|
+
"frequency": "Backup frequency",
|
|
2351
|
+
"frequencyHelp": "Changes are saved automatically at most this often. The first backup still runs right away.",
|
|
2352
|
+
"frequencyHourly": "Hourly",
|
|
2353
|
+
"frequency6Hours": "Every 6 hours",
|
|
2354
|
+
"frequency12Hours": "Every 12 hours",
|
|
2355
|
+
"frequencyDaily": "Daily",
|
|
2356
|
+
"frequencyWeekly": "Weekly",
|
|
2357
|
+
"saveKey": "Save your recovery key",
|
|
2358
|
+
"localBackups": "This device's backups",
|
|
2359
|
+
"availableBackups": "Available backups",
|
|
2360
|
+
"open": "Open",
|
|
2361
|
+
"pointTools": "Advanced backup actions",
|
|
2362
|
+
"checkHelp": "Check repository structure quickly, or read all backup data to verify its integrity.",
|
|
2363
|
+
"policyHelp": "Only the newest automatic backups are kept. Manual and pinned recovery points are never removed automatically.",
|
|
2364
|
+
"preparingRestore": "Checking backup…",
|
|
2365
|
+
"restoreSource": "Backup source: {{source}}",
|
|
2366
|
+
"restoreKeepsHost": "This replaces the library and discards local changes. Your login and device connections stay in place.",
|
|
2367
|
+
"activity": "Current activity",
|
|
2368
|
+
"keepReading": "You can keep reading. File changes may wait until this storage task finishes.",
|
|
2369
|
+
"restoreWorking": "The library will reopen when restoration finishes. Keep the service running.",
|
|
2370
|
+
"taskFailed": "This task did not finish. Check the details, resolve the cause, then retry.",
|
|
2371
|
+
"errorDetails": "Technical details",
|
|
2372
|
+
"chooseAnotherBackup": "Choose another backup to restore",
|
|
2373
|
+
"errorSpace": "Not enough free space. Free space on the storage volume, then retry.",
|
|
2374
|
+
"errorCertificate": "The sender's certificate could not be verified. Check the sender and its fingerprint before reconnecting.",
|
|
2375
|
+
"errorPairing": "The connection is no longer authorized. Create a new pairing invitation on the sender.",
|
|
2376
|
+
"errorNetwork": "Could not complete the connection. Check that the sender is running and reachable, then retry.",
|
|
2377
|
+
"errorIncomplete": "Some files could not be backed up. Check file access and retry before relying on this backup.",
|
|
2378
|
+
"jobsHelp": "Backups, restores and syncs you've run recently — handy for spotting and retrying a failed job."
|
|
2379
|
+
},
|
|
2380
|
+
"replicationUx": {
|
|
2381
|
+
"unconfigured": "Choose how to use this device",
|
|
2382
|
+
"send": "Share this device's backups",
|
|
2383
|
+
"receive": "Hold another device's backups",
|
|
2384
|
+
"sendHelp": "This device is the source — share a pairing invitation with each device that should hold a copy.",
|
|
2385
|
+
"receiveHelp": "This device holds a copy — connect to one source device and pull its backups.",
|
|
2386
|
+
"useBackup": "Use this backup on this device",
|
|
2387
|
+
"receivedBackup": "Received backup",
|
|
2388
|
+
"receivedFrom": "From {{source}} · Backup created {{time}}",
|
|
2389
|
+
"libraryUnchanged": "Receiving this backup does not change the library you are using. Restore it to use its data here.",
|
|
2390
|
+
"waitingFirst": "Waiting for the first completed backup from the sender.",
|
|
2391
|
+
"pasteInvitation": "Paste pairing invitation",
|
|
2392
|
+
"invalidInvitation": "This invitation is invalid or expired. Copy a new invitation directly from the sender.",
|
|
2393
|
+
"manualConnection": "Enter connection details manually",
|
|
2394
|
+
"invitation": "Pairing invitation",
|
|
2395
|
+
"copyInvitation": "Copy pairing invitation",
|
|
2396
|
+
"copied": "Invitation copied",
|
|
2397
|
+
"copyFailed": "Clipboard access failed. Select and copy the invitation text manually."
|
|
2398
|
+
},
|
|
2399
|
+
"backupHealth": {
|
|
2400
|
+
"ok": "Your backups and sync are up to date.",
|
|
2401
|
+
"okSub": "Last backup: {{time}} · {{devices}}",
|
|
2402
|
+
"syncedDevices_one": "{{count}} device",
|
|
2403
|
+
"syncedDevices_other": "{{count}} devices",
|
|
2404
|
+
"noBackupsTitle": "Your library isn't backed up yet.",
|
|
2405
|
+
"noBackupsSub": "Save a recoverable copy of your library and files, so you can restore them if something goes wrong.",
|
|
2406
|
+
"noBackupsAction": "Set up backups",
|
|
2407
|
+
"backupNeedsTitle": "Backups need attention.",
|
|
2408
|
+
"backupOffSub": "Automatic backups are off. Turn them on so changes are always protected.",
|
|
2409
|
+
"neverBackedUpSub": "No completed backup yet. Create the first one to start protecting your library.",
|
|
2410
|
+
"backupNow": "Back up now",
|
|
2411
|
+
"turnOnAutomatic": "Turn on automatic backups",
|
|
2412
|
+
"syncUnconfiguredTitle": "Add a synced device to keep a copy elsewhere.",
|
|
2413
|
+
"syncUnconfiguredSub": "Another device or drive can hold a copy of your backups, so one failure cannot lose everything.",
|
|
2414
|
+
"syncUnconfiguredAction": "Set up backup sync",
|
|
2415
|
+
"syncDueTitle": "A synced device hasn't been updated.",
|
|
2416
|
+
"syncDueSub": "One of your synced devices hasn't received a backup in a while.",
|
|
2417
|
+
"syncDueAction": "Open backups",
|
|
2418
|
+
"receiveNow": "Receive now",
|
|
2419
|
+
"receiverTitle": "A copy of another device's backups is kept here.",
|
|
2420
|
+
"receiverSub": "This device holds the latest backup from its sync source. You only need a local backup here if you also keep your own library on this device.",
|
|
2421
|
+
"protectedTitle": "Your library is protected locally and offsite.",
|
|
2422
|
+
"protectedSub": "Last local backup: {{local}} · Offsite copy received: {{remote}}"
|
|
2423
|
+
},
|
|
2424
|
+
"backupSetup": {
|
|
2425
|
+
"title": "Set up backups",
|
|
2426
|
+
"intro": "Backups keep a recoverable copy of your library and files, so you can restore them if something goes wrong.",
|
|
2427
|
+
"stepStart": "What would you like to do?",
|
|
2428
|
+
"startNew": "Start protecting this device",
|
|
2429
|
+
"startNewHint": "We'll create the first backup and turn on automatic backups.",
|
|
2430
|
+
"startExisting": "I already have a backup to use",
|
|
2431
|
+
"startExistingHint": "Open a backup from a previous installation with its recovery passphrase.",
|
|
2432
|
+
"createFirst": "Create first backup",
|
|
2433
|
+
"createFirstHelp": "This creates the first backup and turns on automatic backups. Large libraries take longer the first time.",
|
|
2434
|
+
"existingHelp": "Place your backup at the configured location, then open it with its recovery passphrase. Your library changes only after you confirm a restore.",
|
|
2435
|
+
"chooseKey": "Choose recovery passphrase file",
|
|
2436
|
+
"keyFileError": "Could not read this key file. Choose one smaller than 64 KB.",
|
|
2437
|
+
"cancel": "Cancel",
|
|
2438
|
+
"back": "Back"
|
|
2320
2439
|
}
|
|
2321
2440
|
}
|