@hoardodile/i18n 0.1.15 → 0.2.0
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-BAP8plFt.d.ts} +1546 -850
- package/dist/catalogs.d.ts +1 -1
- package/dist/catalogs.js +1350 -775
- package/dist/catalogs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1350 -775
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/catalogs/de.json +269 -154
- package/src/catalogs/en.json +269 -154
- package/src/catalogs/es.json +269 -154
- package/src/catalogs/ja.json +269 -154
- package/src/catalogs/zh.json +274 -159
- package/src/workbench/zh.json +1 -1
package/src/catalogs/en.json
CHANGED
|
@@ -1,4 +1,135 @@
|
|
|
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
|
+
"withinHours": "Keep all points for these hours",
|
|
33
|
+
"daily": "Daily points",
|
|
34
|
+
"weekly": "Weekly points",
|
|
35
|
+
"monthly": "Monthly points",
|
|
36
|
+
"previewCleanup": "Preview cleanup",
|
|
37
|
+
"cleanup": "Remove expired points",
|
|
38
|
+
"reclaim": "Also reclaim unused storage",
|
|
39
|
+
"cleanupDescription": "Only expired backup recovery points will be removed. Library archives are retained.",
|
|
40
|
+
"save": "Save",
|
|
41
|
+
"cancel": "Cancel",
|
|
42
|
+
"confirm": "Confirm",
|
|
43
|
+
"manual": "Manual",
|
|
44
|
+
"auto": "Automatic",
|
|
45
|
+
"pinned": "Keep indefinitely",
|
|
46
|
+
"restoreTitle": "Replace this library",
|
|
47
|
+
"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.",
|
|
48
|
+
"repair": "Repair selected files",
|
|
49
|
+
"repairTitle": "Repair files from backup",
|
|
50
|
+
"repairDescription": "Selected files will be replaced with their backed-up contents. Files changed since the preview will not be overwritten.",
|
|
51
|
+
"differences": "File comparison",
|
|
52
|
+
"noDifferences": "No file differences found.",
|
|
53
|
+
"missing": "Missing",
|
|
54
|
+
"changed": "Different contents",
|
|
55
|
+
"extra": "Not in this backup",
|
|
56
|
+
"archives": "Historical archives",
|
|
57
|
+
"archivesHelp": "Browse an archive using its own frozen data and plugins.",
|
|
58
|
+
"jobs": "Recent operations",
|
|
59
|
+
"retry": "Retry",
|
|
60
|
+
"waitingFiles": "File changes are paused while a storage operation runs. Reading and database-only edits remain available.",
|
|
61
|
+
"maintenance": "Library recovery",
|
|
62
|
+
"maintenanceHelp": "The library is unavailable while its files are being restored. You can follow progress or retry an interrupted operation here.",
|
|
63
|
+
"recoveryKeySaved": "Recovery key downloaded",
|
|
64
|
+
"lastCheck": "Last full verification",
|
|
65
|
+
"never": "Never",
|
|
66
|
+
"noJobs": "No operations yet.",
|
|
67
|
+
"state": {
|
|
68
|
+
"queued": "Queued",
|
|
69
|
+
"running": "Running",
|
|
70
|
+
"cancelling": "Cancelling",
|
|
71
|
+
"succeeded": "Completed",
|
|
72
|
+
"failed": "Failed",
|
|
73
|
+
"cancelled": "Cancelled",
|
|
74
|
+
"interrupted": "Interrupted"
|
|
75
|
+
},
|
|
76
|
+
"kind": {
|
|
77
|
+
"drill": "Recovery drill",
|
|
78
|
+
"backup": "Backup",
|
|
79
|
+
"check": "Verification",
|
|
80
|
+
"compare": "File comparison",
|
|
81
|
+
"repair": "File repair",
|
|
82
|
+
"restore": "Restore",
|
|
83
|
+
"retention": "Backup cleanup",
|
|
84
|
+
"receive": "Receive backups",
|
|
85
|
+
"archive": "Create archive",
|
|
86
|
+
"file-write": "File change"
|
|
87
|
+
},
|
|
88
|
+
"processedFiles_one": "{{count}} file",
|
|
89
|
+
"processedFiles_other": "{{count}} files",
|
|
90
|
+
"processedBytes": "Processed: {{value}}",
|
|
91
|
+
"addedBytes": "New data: {{value}}",
|
|
92
|
+
"networkBytes": "Received: {{value}}",
|
|
93
|
+
"manageQueue": "Manage waiting operations",
|
|
94
|
+
"resubmitFile": "Submit the original file operation again."
|
|
95
|
+
},
|
|
96
|
+
"replication": {
|
|
97
|
+
"healthReceived": "Backups received",
|
|
98
|
+
"healthRecorded": "Records up to date",
|
|
99
|
+
"healthAttention": "Sync needs attention",
|
|
100
|
+
"healthUnconfigured": "Sync not configured",
|
|
101
|
+
"addressHelp": "Enable HTTPS LAN sharing or enter the HTTPS address of your reverse proxy.",
|
|
102
|
+
"title": "Offsite copy",
|
|
103
|
+
"description": "One sender can share backups with several receivers. Receiving a backup never changes this library.",
|
|
104
|
+
"name": "Service name",
|
|
105
|
+
"role": "Role",
|
|
106
|
+
"unconfigured": "Not configured",
|
|
107
|
+
"send": "Send",
|
|
108
|
+
"receive": "Receive",
|
|
109
|
+
"connect": "Connect to sender",
|
|
110
|
+
"disconnect": "Disconnect",
|
|
111
|
+
"invite": "Create pairing invitation",
|
|
112
|
+
"inviteHelp": "Send this code and this service's HTTPS address to your receiver. The code expires in ten minutes and can be used once.",
|
|
113
|
+
"url": "Sender HTTPS address",
|
|
114
|
+
"code": "Pairing code",
|
|
115
|
+
"fingerprint": "SHA-256 certificate fingerprint (for self-signed certificates)",
|
|
116
|
+
"receiveNow": "Receive now",
|
|
117
|
+
"paused": "Pause backup sync",
|
|
118
|
+
"paired": "Connected service",
|
|
119
|
+
"revoke": "Revoke connection",
|
|
120
|
+
"received": "Last confirmed receipt",
|
|
121
|
+
"never": "Not received yet",
|
|
122
|
+
"connectHelp": "Enter the sender's address and pairing code. For a self-signed certificate, also enter its verified fingerprint.",
|
|
123
|
+
"source": "Sender",
|
|
124
|
+
"devices": "Synced devices",
|
|
125
|
+
"manualRecords": "Manual records",
|
|
126
|
+
"addRecord": "Add manual device",
|
|
127
|
+
"details": "Details",
|
|
128
|
+
"copy": "Copy",
|
|
129
|
+
"remove": "Remove",
|
|
130
|
+
"unknown": "Unknown",
|
|
131
|
+
"noDevices": "No devices configured."
|
|
132
|
+
},
|
|
2
133
|
"common": {
|
|
3
134
|
"back": "Back",
|
|
4
135
|
"cancel": "Cancel",
|
|
@@ -36,7 +167,6 @@
|
|
|
36
167
|
"requestFailed": "Request failed",
|
|
37
168
|
"saved": "Saved",
|
|
38
169
|
"saveFailed": "Could not save",
|
|
39
|
-
"confirmByTypingPrompt": "Type \"<name>{{name}}</name>\" to confirm",
|
|
40
170
|
"searchIncludeIntro": "Search intro",
|
|
41
171
|
"underline": "Underline",
|
|
42
172
|
"colorPicker": {
|
|
@@ -184,10 +314,10 @@
|
|
|
184
314
|
"desktop": "Desktop",
|
|
185
315
|
"custom": "Custom",
|
|
186
316
|
"privacy": "Privacy",
|
|
187
|
-
"
|
|
317
|
+
"archives": "Archives",
|
|
318
|
+
"archive": "Backups",
|
|
188
319
|
"plugins": "Plugins",
|
|
189
|
-
"marketplace": "Marketplace"
|
|
190
|
-
"sync": "Sync"
|
|
320
|
+
"marketplace": "Marketplace"
|
|
191
321
|
},
|
|
192
322
|
"section": {
|
|
193
323
|
"language": "Language",
|
|
@@ -234,7 +364,11 @@
|
|
|
234
364
|
"relation": "Relation",
|
|
235
365
|
"collection": "Collection"
|
|
236
366
|
},
|
|
237
|
-
"link": "Link"
|
|
367
|
+
"link": "Link",
|
|
368
|
+
"watchOnly": {
|
|
369
|
+
"title": "Watch-only mode",
|
|
370
|
+
"description": "Restrict character and resource browsing to content carrying a watch-only tag."
|
|
371
|
+
}
|
|
238
372
|
},
|
|
239
373
|
"account": {
|
|
240
374
|
"title": "Account",
|
|
@@ -505,12 +639,13 @@
|
|
|
505
639
|
"previewFallbackUnknown": "unknown plugin"
|
|
506
640
|
},
|
|
507
641
|
"plugins": {
|
|
508
|
-
"pageHint": "Install from a
|
|
509
|
-
"
|
|
642
|
+
"pageHint": "Install from a plugin package (zip, tar, 7z, rar and more), or refresh the plugins folder to pick up new arrivals.",
|
|
643
|
+
"uploadPlugin": "Upload plugin",
|
|
644
|
+
"uploadValidatedServerSide": "The package is validated by the server — its name, version and permissions appear after installation.",
|
|
510
645
|
"uploadPluginSuccess": "Plugin installed",
|
|
511
646
|
"uploading": "Installing…",
|
|
512
|
-
"rescan": "
|
|
513
|
-
"rescanSuccess": "Plugins
|
|
647
|
+
"rescan": "Refresh plugins",
|
|
648
|
+
"rescanSuccess": "Plugins refreshed",
|
|
514
649
|
"more": "More",
|
|
515
650
|
"enableToggle": "Enable or disable plugin",
|
|
516
651
|
"dragToReorder": "Drag to reorder",
|
|
@@ -558,8 +693,8 @@
|
|
|
558
693
|
"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
694
|
"uninstallConfirmNoUsage": "No resources are using this plugin. Reinstall it any time to use it again. This cannot be undone.",
|
|
560
695
|
"uninstallSuccess": "Uninstalled {{name}}",
|
|
561
|
-
"replaceContentAction": "Replace
|
|
562
|
-
"replaceContentTitle": "Replace
|
|
696
|
+
"replaceContentAction": "Replace plugin…",
|
|
697
|
+
"replaceContentTitle": "Replace plugin",
|
|
563
698
|
"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
699
|
"replaceContentFrom": "From plugin",
|
|
565
700
|
"replaceContentTo": "To plugin",
|
|
@@ -818,19 +953,12 @@
|
|
|
818
953
|
"setupFormAria": "Set password"
|
|
819
954
|
},
|
|
820
955
|
"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
|
-
},
|
|
956
|
+
"pageHint": "Freeze the latest version into a read-only archive. Name and description can be edited on the current version anytime.",
|
|
827
957
|
"chip": {
|
|
828
958
|
"latest": "Latest",
|
|
829
|
-
"readOnly": "Read-only"
|
|
830
|
-
"auto": "Auto"
|
|
959
|
+
"readOnly": "Read-only"
|
|
831
960
|
},
|
|
832
961
|
"archive": {
|
|
833
|
-
"title": "v{{version}}",
|
|
834
962
|
"tagCurrent": "Latest (writable)",
|
|
835
963
|
"tagActive": "Viewing",
|
|
836
964
|
"tagReadOnly": "Historical archive",
|
|
@@ -839,81 +967,32 @@
|
|
|
839
967
|
"nameLabel": "Name",
|
|
840
968
|
"namePlaceholder": "e.g. v1 milestone",
|
|
841
969
|
"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."
|
|
970
|
+
"notePlaceholder": "e.g. before migration, data freeze…"
|
|
856
971
|
},
|
|
857
972
|
"action": {
|
|
858
|
-
"backupNow": "Backup now",
|
|
859
|
-
"backingUp": "Backing up…",
|
|
860
973
|
"archiveNow": "Archive now",
|
|
861
974
|
"archiving": "Archiving…",
|
|
862
|
-
"
|
|
863
|
-
"restoring": "Restoring…",
|
|
864
|
-
"delete": "Delete",
|
|
865
|
-
"deleting": "Deleting…",
|
|
975
|
+
"edit": "Edit",
|
|
866
976
|
"switchToVersion": "Switch to this version",
|
|
867
|
-
"switching": "Switching…"
|
|
868
|
-
"download": "Download"
|
|
977
|
+
"switching": "Switching…"
|
|
869
978
|
},
|
|
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…"
|
|
979
|
+
"edit": {
|
|
980
|
+
"title": "Edit archive",
|
|
981
|
+
"description": "Archive v{{version}}"
|
|
890
982
|
},
|
|
983
|
+
"reloading": "Reloading…",
|
|
891
984
|
"confirm": {
|
|
892
985
|
"archiveTitle": "Archive latest version",
|
|
893
|
-
"archiveDescription": "The
|
|
986
|
+
"archiveDescription": "The current data, plugin code and plugin vaults will be frozen together. A new writable version will use independent plugin copies.",
|
|
894
987
|
"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
988
|
"switchTitle": "Switch to this archive version",
|
|
904
989
|
"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
990
|
},
|
|
906
991
|
"empty": {
|
|
907
|
-
"title": "No
|
|
908
|
-
"description": "Create a backup now to protect against data loss."
|
|
992
|
+
"title": "No archives yet."
|
|
909
993
|
},
|
|
910
994
|
"toast": {
|
|
911
|
-
"backupCreated": "Backup created",
|
|
912
|
-
"backupFailed": "Backup failed",
|
|
913
995
|
"archiveFailed": "Archive failed",
|
|
914
|
-
"backupDeleted": "Backup deleted",
|
|
915
|
-
"deleteFailed": "Delete failed",
|
|
916
|
-
"restoreFailed": "Restore failed",
|
|
917
996
|
"switchFailed": "Switch failed",
|
|
918
997
|
"metaSaved": "Saved",
|
|
919
998
|
"metaSaveFailed": "Could not save"
|
|
@@ -1956,7 +2035,14 @@
|
|
|
1956
2035
|
"linkHint": "Optional link to the tag's canonical page — shown in the hover preview.",
|
|
1957
2036
|
"uploadImage": "Upload image…",
|
|
1958
2037
|
"editImage": "Edit image…",
|
|
1959
|
-
"imageDialogTitle": "Tag image"
|
|
2038
|
+
"imageDialogTitle": "Tag image",
|
|
2039
|
+
"visibilityLabel": "Visibility",
|
|
2040
|
+
"visibilityHint": "Watch-only narrows browse to content carrying this tag; explicit-view hides that content until you pick the tag to view."
|
|
2041
|
+
},
|
|
2042
|
+
"visibility": {
|
|
2043
|
+
"normal": "Normal",
|
|
2044
|
+
"watchOnly": "Watch only",
|
|
2045
|
+
"explicitView": "Explicit view"
|
|
1960
2046
|
},
|
|
1961
2047
|
"card": {
|
|
1962
2048
|
"openLink": "Open link",
|
|
@@ -2190,89 +2276,15 @@
|
|
|
2190
2276
|
}
|
|
2191
2277
|
},
|
|
2192
2278
|
"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
2279
|
"config": {
|
|
2203
2280
|
"remindLabel": "Remind me after",
|
|
2204
|
-
"remindDescription": "Past the interval without a synced snapshot, the dashboard asks.",
|
|
2205
2281
|
"remindDays_one": "{{count}} day",
|
|
2206
2282
|
"remindDays_other": "{{count}} days"
|
|
2207
2283
|
},
|
|
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
2284
|
"banner": {
|
|
2267
2285
|
"noDevicesTitle": "No sync devices configured yet.",
|
|
2268
2286
|
"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"
|
|
2287
|
+
"configureLink": "Set up"
|
|
2276
2288
|
}
|
|
2277
2289
|
},
|
|
2278
2290
|
"desktopShell": {
|
|
@@ -2317,5 +2329,108 @@
|
|
|
2317
2329
|
"continue": "Continue",
|
|
2318
2330
|
"missingBridge": "The app couldn't start. Reopen the app."
|
|
2319
2331
|
}
|
|
2332
|
+
},
|
|
2333
|
+
"protectionUx": {
|
|
2334
|
+
"protectionTitle": "Backups",
|
|
2335
|
+
"sendRequiresBackup": "Create a local backup first to share this device's backups.",
|
|
2336
|
+
"setup": "Set up backups",
|
|
2337
|
+
"noBackup": "No local backup yet",
|
|
2338
|
+
"setupHelp": "Save your library, files, and versioned plugins together.",
|
|
2339
|
+
"start": "Start backing up",
|
|
2340
|
+
"openExisting": "Open an existing backup",
|
|
2341
|
+
"firstBackupHelp": "This starts the first backup and enables automatic backups. Large libraries take longer the first time. Save the recovery key when prompted.",
|
|
2342
|
+
"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.",
|
|
2343
|
+
"importKeyFile": "Choose recovery key file",
|
|
2344
|
+
"keyFileError": "Could not read this key file. Choose a recovery key file smaller than 64 KB.",
|
|
2345
|
+
"enableAndBackup": "Enable and create first backup",
|
|
2346
|
+
"status": "Backup status",
|
|
2347
|
+
"description": "Keep recoverable copies of your library and its files. Automatic backups save changes without duplicating unchanged content.",
|
|
2348
|
+
"firstBackupRunning": "Creating the first backup…",
|
|
2349
|
+
"backupRunning": "Backup in progress…",
|
|
2350
|
+
"firstBackupMissing": "Enabled; no completed backup yet",
|
|
2351
|
+
"backupCompleted": "Last completed backup: {{time}}",
|
|
2352
|
+
"locationHelp": "This is where this service saves backups. Use backup sync to keep a copy on another device.",
|
|
2353
|
+
"saveKey": "Save your recovery key",
|
|
2354
|
+
"localBackups": "This device's backups",
|
|
2355
|
+
"availableBackups": "Available backups",
|
|
2356
|
+
"manage": "Advanced: checks and cleanup",
|
|
2357
|
+
"pointTools": "Advanced backup actions",
|
|
2358
|
+
"checkHelp": "Check repository structure quickly, or read all backup data to verify its integrity.",
|
|
2359
|
+
"policyHelp": "The defaults keep recent backups more frequently. Long-term backups are excluded from automatic cleanup.",
|
|
2360
|
+
"preparingRestore": "Checking backup…",
|
|
2361
|
+
"restoreSource": "Backup source: {{source}}",
|
|
2362
|
+
"restoreKeepsHost": "This replaces the library and discards local changes. Your login and device connections stay in place.",
|
|
2363
|
+
"activity": "Current activity",
|
|
2364
|
+
"keepReading": "You can keep reading. File changes may wait until this storage task finishes.",
|
|
2365
|
+
"restoreWorking": "The library will reopen when restoration finishes. Keep the service running.",
|
|
2366
|
+
"taskFailed": "This task did not finish. Check the details, resolve the cause, then retry.",
|
|
2367
|
+
"errorDetails": "Technical details",
|
|
2368
|
+
"chooseAnotherBackup": "Choose another backup to restore",
|
|
2369
|
+
"errorSpace": "Not enough free space. Free space on the storage volume, then retry.",
|
|
2370
|
+
"errorCertificate": "The sender's certificate could not be verified. Check the sender and its fingerprint before reconnecting.",
|
|
2371
|
+
"errorPairing": "The connection is no longer authorized. Create a new pairing invitation on the sender.",
|
|
2372
|
+
"errorNetwork": "Could not complete the connection. Check that the sender is running and reachable, then retry.",
|
|
2373
|
+
"errorIncomplete": "Some files could not be backed up. Check file access and retry before relying on this backup.",
|
|
2374
|
+
"jobsHelp": "Backups, restores and syncs you've run recently — handy for spotting and retrying a failed job."
|
|
2375
|
+
},
|
|
2376
|
+
"replicationUx": {
|
|
2377
|
+
"unconfigured": "Choose how to use this device",
|
|
2378
|
+
"send": "Share this device's backups",
|
|
2379
|
+
"receive": "Hold another device's backups",
|
|
2380
|
+
"sendHelp": "This device is the source — share a pairing invitation with each device that should hold a copy.",
|
|
2381
|
+
"receiveHelp": "This device holds a copy — connect to one source device and pull its backups.",
|
|
2382
|
+
"useBackup": "Use this backup on this device",
|
|
2383
|
+
"receivedBackup": "Received backup",
|
|
2384
|
+
"receivedFrom": "From {{source}} · Backup created {{time}}",
|
|
2385
|
+
"libraryUnchanged": "Receiving this backup does not change the library you are using. Restore it to use its data here.",
|
|
2386
|
+
"waitingFirst": "Waiting for the first completed backup from the sender.",
|
|
2387
|
+
"pasteInvitation": "Paste pairing invitation",
|
|
2388
|
+
"invalidInvitation": "This invitation is invalid or expired. Copy a new invitation directly from the sender.",
|
|
2389
|
+
"manualConnection": "Enter connection details manually",
|
|
2390
|
+
"invitation": "Pairing invitation",
|
|
2391
|
+
"copyInvitation": "Copy pairing invitation",
|
|
2392
|
+
"copied": "Invitation copied",
|
|
2393
|
+
"copyFailed": "Clipboard access failed. Select and copy the invitation text manually."
|
|
2394
|
+
},
|
|
2395
|
+
"backupHealth": {
|
|
2396
|
+
"ok": "Your backups and sync are up to date.",
|
|
2397
|
+
"okSub": "Last backup: {{time}} · {{devices}}",
|
|
2398
|
+
"syncedDevices_one": "{{count}} device",
|
|
2399
|
+
"syncedDevices_other": "{{count}} devices",
|
|
2400
|
+
"noBackupsTitle": "Your library isn't backed up yet.",
|
|
2401
|
+
"noBackupsSub": "Save a recoverable copy of your library and files, so you can restore them if something goes wrong.",
|
|
2402
|
+
"noBackupsAction": "Set up backups",
|
|
2403
|
+
"backupNeedsTitle": "Backups need attention.",
|
|
2404
|
+
"backupOffSub": "Automatic backups are off. Turn them on so changes are always protected.",
|
|
2405
|
+
"neverBackedUpSub": "No completed backup yet. Create the first one to start protecting your library.",
|
|
2406
|
+
"backupNow": "Back up now",
|
|
2407
|
+
"turnOnAutomatic": "Turn on automatic backups",
|
|
2408
|
+
"syncUnconfiguredTitle": "Add a synced device to keep a copy elsewhere.",
|
|
2409
|
+
"syncUnconfiguredSub": "Another device or drive can hold a copy of your backups, so one failure cannot lose everything.",
|
|
2410
|
+
"syncUnconfiguredAction": "Set up backup sync",
|
|
2411
|
+
"syncDueTitle": "A synced device hasn't been updated.",
|
|
2412
|
+
"syncDueSub": "One of your synced devices hasn't received a backup in a while.",
|
|
2413
|
+
"syncDueAction": "Open backups",
|
|
2414
|
+
"receiveNow": "Receive now",
|
|
2415
|
+
"receiverTitle": "A copy of another device's backups is kept here.",
|
|
2416
|
+
"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.",
|
|
2417
|
+
"protectedTitle": "Your library is protected locally and offsite.",
|
|
2418
|
+
"protectedSub": "Last local backup: {{local}} · Offsite copy received: {{remote}}"
|
|
2419
|
+
},
|
|
2420
|
+
"backupSetup": {
|
|
2421
|
+
"title": "Set up backups",
|
|
2422
|
+
"intro": "Backups keep a recoverable copy of your library and files, so you can restore them if something goes wrong.",
|
|
2423
|
+
"stepStart": "What would you like to do?",
|
|
2424
|
+
"startNew": "Start protecting this device",
|
|
2425
|
+
"startNewHint": "We'll create the first backup and turn on automatic backups.",
|
|
2426
|
+
"startExisting": "I already have a backup to use",
|
|
2427
|
+
"startExistingHint": "Open a backup from a previous installation with its recovery passphrase.",
|
|
2428
|
+
"createFirst": "Create first backup",
|
|
2429
|
+
"createFirstHelp": "This creates the first backup and turns on automatic backups. Large libraries take longer the first time.",
|
|
2430
|
+
"existingHelp": "Place your backup at the configured location, then open it with its recovery passphrase. Your library changes only after you confirm a restore.",
|
|
2431
|
+
"chooseKey": "Choose recovery passphrase file",
|
|
2432
|
+
"keyFileError": "Could not read this key file. Choose one smaller than 64 KB.",
|
|
2433
|
+
"cancel": "Cancel",
|
|
2434
|
+
"back": "Back"
|
|
2320
2435
|
}
|
|
2321
2436
|
}
|