@jant/core 0.2.17 → 0.2.19
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/app.d.ts +1 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +307 -137
- package/dist/client.js +1 -0
- package/dist/i18n/context.d.ts +2 -2
- package/dist/i18n/context.js +1 -1
- package/dist/i18n/i18n.d.ts +1 -1
- package/dist/i18n/i18n.js +1 -1
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +1 -1
- package/dist/i18n/locales/zh-Hans.d.ts.map +1 -1
- package/dist/i18n/locales/zh-Hans.js +1 -1
- package/dist/i18n/locales/zh-Hant.d.ts.map +1 -1
- package/dist/i18n/locales/zh-Hant.js +1 -1
- package/dist/lib/config.d.ts +44 -10
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +69 -44
- package/dist/lib/constants.d.ts +2 -1
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +5 -2
- package/dist/lib/image-processor.js +0 -4
- package/dist/lib/media-upload.js +104 -0
- package/dist/lib/sse.d.ts +82 -13
- package/dist/lib/sse.d.ts.map +1 -1
- package/dist/lib/sse.js +115 -17
- package/dist/lib/theme.d.ts +44 -0
- package/dist/lib/theme.d.ts.map +1 -0
- package/dist/lib/theme.js +65 -0
- package/dist/routes/api/upload.js +16 -18
- package/dist/routes/dash/appearance.d.ts +13 -0
- package/dist/routes/dash/appearance.d.ts.map +1 -0
- package/dist/routes/dash/appearance.js +160 -0
- package/dist/routes/dash/collections.js +5 -13
- package/dist/routes/dash/media.js +17 -167
- package/dist/routes/dash/pages.js +4 -10
- package/dist/routes/dash/posts.js +4 -10
- package/dist/routes/dash/redirects.js +3 -7
- package/dist/routes/dash/settings.d.ts.map +1 -1
- package/dist/routes/dash/settings.js +52 -42
- package/dist/services/settings.d.ts +1 -0
- package/dist/services/settings.d.ts.map +1 -1
- package/dist/services/settings.js +3 -0
- package/dist/theme/color-themes.d.ts +30 -0
- package/dist/theme/color-themes.d.ts.map +1 -0
- package/dist/theme/color-themes.js +268 -0
- package/dist/theme/layouts/BaseLayout.d.ts +5 -0
- package/dist/theme/layouts/BaseLayout.d.ts.map +1 -1
- package/dist/theme/layouts/BaseLayout.js +70 -3
- package/dist/theme/layouts/DashLayout.d.ts +2 -0
- package/dist/theme/layouts/DashLayout.d.ts.map +1 -1
- package/dist/theme/layouts/DashLayout.js +11 -1
- package/dist/theme/layouts/index.d.ts +1 -1
- package/dist/theme/layouts/index.d.ts.map +1 -1
- package/dist/types.d.ts +53 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +52 -0
- package/package.json +1 -1
- package/src/app.tsx +260 -81
- package/src/client.ts +1 -0
- package/src/db/migrations/{0000_solid_moon_knight.sql → 0000_square_wallflower.sql} +3 -3
- package/src/db/migrations/meta/0000_snapshot.json +9 -9
- package/src/db/migrations/meta/_journal.json +2 -30
- package/src/i18n/context.tsx +2 -2
- package/src/i18n/i18n.ts +1 -1
- package/src/i18n/index.ts +1 -1
- package/src/i18n/locales/en.po +328 -252
- package/src/i18n/locales/en.ts +1 -1
- package/src/i18n/locales/zh-Hans.po +315 -278
- package/src/i18n/locales/zh-Hans.ts +1 -1
- package/src/i18n/locales/zh-Hant.po +315 -278
- package/src/i18n/locales/zh-Hant.ts +1 -1
- package/src/lib/config.ts +73 -47
- package/src/lib/constants.ts +3 -0
- package/src/lib/image-processor.ts +0 -7
- package/src/lib/media-upload.ts +148 -0
- package/src/lib/sse.ts +156 -16
- package/src/lib/theme.ts +86 -0
- package/src/preset.css +9 -0
- package/src/routes/api/upload.ts +12 -18
- package/src/routes/dash/appearance.tsx +176 -0
- package/src/routes/dash/collections.tsx +5 -13
- package/src/routes/dash/media.tsx +16 -165
- package/src/routes/dash/pages.tsx +4 -10
- package/src/routes/dash/posts.tsx +4 -10
- package/src/routes/dash/redirects.tsx +3 -7
- package/src/routes/dash/settings.tsx +71 -55
- package/src/services/settings.ts +5 -0
- package/src/styles/components.css +93 -0
- package/src/theme/color-themes.ts +321 -0
- package/src/theme/layouts/BaseLayout.tsx +61 -1
- package/src/theme/layouts/DashLayout.tsx +14 -3
- package/src/theme/layouts/index.ts +5 -1
- package/src/types.ts +62 -1
- package/src/db/migrations/0001_add_search_fts.sql +0 -40
- package/src/db/migrations/0002_collection_path.sql +0 -2
- package/src/db/migrations/0003_collection_path_nullable.sql +0 -21
- package/src/db/migrations/0004_media_uuid.sql +0 -35
|
@@ -13,863 +13,900 @@ msgstr ""
|
|
|
13
13
|
"Language-Team: \n"
|
|
14
14
|
"Plural-Forms: \n"
|
|
15
15
|
|
|
16
|
-
#: src/routes/pages/archive.tsx:135
|
|
17
16
|
#. @context: Archive post reply indicator - plural
|
|
17
|
+
#: src/routes/pages/archive.tsx:180
|
|
18
18
|
msgid "{count} replies"
|
|
19
19
|
msgstr "{count} 条回复"
|
|
20
20
|
|
|
21
|
-
#: src/routes/dash/collections.tsx:196
|
|
22
21
|
#. @context: Navigation link
|
|
22
|
+
#: src/routes/dash/collections.tsx:272
|
|
23
23
|
msgid "← Back to Collections"
|
|
24
24
|
msgstr "← 返回收藏夹"
|
|
25
25
|
|
|
26
|
-
#: src/routes/pages/collection.tsx:67
|
|
27
|
-
#: src/routes/pages/post.tsx:69
|
|
28
26
|
#. @context: Navigation link
|
|
29
27
|
#. @context: Navigation link
|
|
28
|
+
#: src/routes/pages/collection.tsx:76
|
|
29
|
+
#: src/routes/pages/post.tsx:51
|
|
30
30
|
msgid "← Back to home"
|
|
31
31
|
msgstr "← 返回首页"
|
|
32
32
|
|
|
33
|
-
#: src/routes/pages/archive.tsx:134
|
|
34
33
|
#. @context: Archive post reply indicator - single
|
|
34
|
+
#: src/routes/pages/archive.tsx:175
|
|
35
35
|
msgid "1 reply"
|
|
36
36
|
msgstr "1 条回复"
|
|
37
37
|
|
|
38
|
-
#: src/routes/dash/redirects.tsx:95
|
|
39
38
|
#. @context: Redirect type option
|
|
39
|
+
#: src/routes/dash/redirects.tsx:145
|
|
40
40
|
msgid "301 (Permanent)"
|
|
41
41
|
msgstr "301(永久)"
|
|
42
42
|
|
|
43
|
-
#: src/routes/dash/redirects.tsx:96
|
|
44
43
|
#. @context: Redirect type option
|
|
44
|
+
#: src/routes/dash/redirects.tsx:151
|
|
45
45
|
msgid "302 (Temporary)"
|
|
46
46
|
msgstr "302(临时)"
|
|
47
47
|
|
|
48
|
-
#: src/routes/pages/archive.tsx:85
|
|
49
48
|
#. @context: Archive filter - all types
|
|
49
|
+
#: src/routes/pages/archive.tsx:115
|
|
50
50
|
msgid "All"
|
|
51
51
|
msgstr "所有"
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
#: src/
|
|
53
|
+
#. @context: Dashboard navigation - appearance settings
|
|
54
|
+
#: src/theme/layouts/DashLayout.tsx:142
|
|
55
|
+
msgid "Appearance"
|
|
56
|
+
msgstr "外观"
|
|
57
|
+
|
|
55
58
|
#. @context: Archive page title
|
|
56
59
|
#. @context: Navigation link to archive page
|
|
60
|
+
#: src/routes/pages/archive.tsx:102
|
|
61
|
+
#: src/routes/pages/home.tsx:30
|
|
57
62
|
msgid "Archive"
|
|
58
63
|
msgstr "档案馆"
|
|
59
64
|
|
|
60
|
-
#: src/routes/pages/archive.tsx:169
|
|
61
|
-
#: src/theme/components/PostForm.tsx:32
|
|
62
|
-
#: src/theme/components/PostList.tsx:41
|
|
63
65
|
#. @context: Post type badge - article
|
|
64
66
|
#. @context: Post type label - article
|
|
65
67
|
#. @context: Post type option
|
|
68
|
+
#: src/routes/pages/archive.tsx:28
|
|
69
|
+
#: src/theme/components/PostForm.tsx:48
|
|
70
|
+
#: src/theme/components/TypeBadge.tsx:20
|
|
66
71
|
msgid "Article"
|
|
67
72
|
msgstr "文章"
|
|
68
73
|
|
|
69
|
-
#: src/routes/pages/archive.tsx:181
|
|
70
74
|
#. @context: Post type label plural - articles
|
|
75
|
+
#: src/routes/pages/archive.tsx:53
|
|
71
76
|
msgid "Articles"
|
|
72
77
|
msgstr "文章"
|
|
73
78
|
|
|
74
|
-
#: src/routes/dash/media.tsx:140
|
|
75
79
|
#. @context: Button to go back to media list
|
|
80
|
+
#: src/routes/dash/media.tsx:392
|
|
76
81
|
msgid "Back"
|
|
77
82
|
msgstr "返回"
|
|
78
83
|
|
|
79
|
-
#: src/routes/pages/archive.tsx:158
|
|
80
|
-
#: src/routes/pages/page.tsx:52
|
|
81
|
-
#: src/routes/pages/search.tsx:138
|
|
82
84
|
#. @context: Navigation link back to home page
|
|
83
85
|
#. @context: Navigation link back to home page
|
|
84
86
|
#. @context: Navigation link back to home page
|
|
87
|
+
#: src/routes/pages/archive.tsx:209
|
|
88
|
+
#: src/routes/pages/page.tsx:37
|
|
89
|
+
#: src/routes/pages/search.tsx:144
|
|
85
90
|
msgid "Back to home"
|
|
86
91
|
msgstr "返回首页"
|
|
87
92
|
|
|
88
|
-
#: src/routes/dash/collections.tsx:103
|
|
89
|
-
#: src/routes/dash/collections.tsx:249
|
|
90
|
-
#: src/routes/dash/redirects.tsx:105
|
|
91
|
-
#: src/theme/components/PageForm.tsx:113
|
|
92
|
-
#: src/theme/components/PostForm.tsx:120
|
|
93
93
|
#. @context: Button to cancel and go back
|
|
94
94
|
#. @context: Button to cancel form
|
|
95
95
|
#. @context: Button to cancel form
|
|
96
96
|
#. @context: Button to cancel form
|
|
97
97
|
#. @context: Button to cancel form
|
|
98
|
+
#: src/routes/dash/collections.tsx:176
|
|
99
|
+
#: src/routes/dash/collections.tsx:345
|
|
100
|
+
#: src/routes/dash/redirects.tsx:167
|
|
101
|
+
#: src/theme/components/PageForm.tsx:161
|
|
102
|
+
#: src/theme/components/PostForm.tsx:181
|
|
98
103
|
msgid "Cancel"
|
|
99
104
|
msgstr "取消"
|
|
100
105
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
#: src/
|
|
106
|
+
#. @context: Button to change password
|
|
107
|
+
#. @context: Settings section heading
|
|
108
|
+
#: src/routes/dash/settings.tsx:128
|
|
109
|
+
#: src/routes/dash/settings.tsx:188
|
|
110
|
+
msgid "Change Password"
|
|
111
|
+
msgstr "更改密码"
|
|
112
|
+
|
|
113
|
+
#. @context: Hint to click image for lightbox
|
|
114
|
+
#: src/routes/dash/media.tsx:425
|
|
115
|
+
msgid "Click image to view full size"
|
|
116
|
+
msgstr "点击图片查看完整尺寸"
|
|
117
|
+
|
|
104
118
|
#. @context: Dashboard heading
|
|
105
119
|
#. @context: Dashboard navigation - collections management
|
|
106
|
-
|
|
120
|
+
#: src/routes/dash/collections.tsx:35
|
|
121
|
+
#: src/theme/layouts/DashLayout.tsx:114
|
|
107
122
|
msgid "Collections"
|
|
108
123
|
msgstr "收藏夹"
|
|
109
124
|
|
|
110
|
-
|
|
125
|
+
#. @context: Appearance settings heading
|
|
126
|
+
#: src/routes/dash/appearance.tsx:108
|
|
127
|
+
msgid "Color theme"
|
|
128
|
+
msgstr "颜色主题"
|
|
129
|
+
|
|
111
130
|
#. @context: Setup form submit button
|
|
131
|
+
#: src/app.tsx:242
|
|
112
132
|
msgid "Complete Setup"
|
|
113
133
|
msgstr "完成设置"
|
|
114
134
|
|
|
115
|
-
|
|
116
|
-
#: src/
|
|
135
|
+
#. @context: Password form field
|
|
136
|
+
#: src/routes/dash/settings.tsx:170
|
|
137
|
+
msgid "Confirm New Password"
|
|
138
|
+
msgstr "确认新密码"
|
|
139
|
+
|
|
140
|
+
#. @context: Password reset form field
|
|
141
|
+
#: src/app.tsx:526
|
|
142
|
+
msgid "Confirm Password"
|
|
143
|
+
msgstr "确认密码"
|
|
144
|
+
|
|
117
145
|
#. @context: Page form field label - content
|
|
118
146
|
#. @context: Post form field
|
|
147
|
+
#: src/theme/components/PageForm.tsx:95
|
|
148
|
+
#: src/theme/components/PostForm.tsx:84
|
|
119
149
|
msgid "Content"
|
|
120
150
|
msgstr "内容"
|
|
121
151
|
|
|
122
|
-
#: src/routes/dash/media.tsx:184
|
|
123
|
-
#: src/routes/dash/media.tsx:210
|
|
124
152
|
#. @context: Button to copy Markdown to clipboard
|
|
125
153
|
#. @context: Button to copy URL to clipboard
|
|
154
|
+
#: src/routes/dash/media.tsx:463
|
|
155
|
+
#: src/routes/dash/media.tsx:500
|
|
126
156
|
msgid "Copy"
|
|
127
157
|
msgstr "复制"
|
|
128
158
|
|
|
129
|
-
#: src/routes/dash/collections.tsx:100
|
|
130
159
|
#. @context: Button to save new collection
|
|
160
|
+
#: src/routes/dash/collections.tsx:170
|
|
131
161
|
msgid "Create Collection"
|
|
132
162
|
msgstr "创建集合"
|
|
133
163
|
|
|
134
|
-
#: src/theme/components/PageForm.tsx:110
|
|
135
164
|
#. @context: Button to create new page
|
|
165
|
+
#: src/theme/components/PageForm.tsx:155
|
|
136
166
|
msgid "Create Page"
|
|
137
167
|
msgstr "创建页面"
|
|
138
168
|
|
|
139
|
-
#: src/routes/dash/redirects.tsx:102
|
|
140
169
|
#. @context: Button to save new redirect
|
|
170
|
+
#: src/routes/dash/redirects.tsx:161
|
|
141
171
|
msgid "Create Redirect"
|
|
142
172
|
msgstr "创建重定向"
|
|
143
173
|
|
|
144
|
-
|
|
174
|
+
#. @context: Setup page description
|
|
175
|
+
#: src/app.tsx:184
|
|
176
|
+
msgid "Create your admin account."
|
|
177
|
+
msgstr "创建您的管理员账户。"
|
|
178
|
+
|
|
145
179
|
#. @context: Button in empty state to create first page
|
|
180
|
+
#: src/routes/dash/pages.tsx:50
|
|
146
181
|
msgid "Create your first page"
|
|
147
182
|
msgstr "创建您的第一页"
|
|
148
183
|
|
|
149
|
-
#: src/theme/components/PostList.tsx:57
|
|
150
184
|
#. @context: Button in empty state to create first post
|
|
185
|
+
#: src/theme/components/PostList.tsx:29
|
|
151
186
|
msgid "Create your first post"
|
|
152
187
|
msgstr "创建你的第一篇帖子"
|
|
153
188
|
|
|
154
|
-
|
|
189
|
+
#. @context: Password form field
|
|
190
|
+
#: src/routes/dash/settings.tsx:137
|
|
191
|
+
msgid "Current Password"
|
|
192
|
+
msgstr "当前密码"
|
|
193
|
+
|
|
155
194
|
#. @context: Post form field
|
|
195
|
+
#: src/theme/components/PostForm.tsx:154
|
|
156
196
|
msgid "Custom Path (optional)"
|
|
157
197
|
msgstr "自定义路径(可选)"
|
|
158
198
|
|
|
159
|
-
#: src/routes/dash/collections.tsx:255
|
|
160
|
-
#: src/routes/dash/media.tsx:220
|
|
161
|
-
#: src/routes/dash/pages.tsx:176
|
|
162
|
-
#. @context: Heading for destructive actions section
|
|
163
|
-
#. @context: Section heading for dangerous/destructive actions
|
|
164
199
|
#. @context: Section heading for dangerous/destructive actions
|
|
200
|
+
#: src/theme/components/DangerZone.tsx:55
|
|
165
201
|
msgid "Danger Zone"
|
|
166
202
|
msgstr "危险区域"
|
|
167
203
|
|
|
168
|
-
#: src/routes/dash/index.tsx:26
|
|
169
|
-
#: src/routes/dash/index.tsx:28
|
|
170
|
-
#: src/theme/layouts/DashLayout.tsx:27
|
|
171
204
|
#. @context: Dashboard main heading
|
|
172
205
|
#. @context: Dashboard navigation - main dashboard page
|
|
173
|
-
|
|
206
|
+
#: src/routes/dash/index.tsx:36
|
|
207
|
+
#: src/theme/layouts/DashLayout.tsx:78
|
|
174
208
|
msgid "Dashboard"
|
|
175
209
|
msgstr "仪表板"
|
|
176
210
|
|
|
177
|
-
|
|
211
|
+
#. @context: Button to delete item
|
|
178
212
|
#. @context: Button to delete redirect
|
|
213
|
+
#: src/routes/dash/redirects.tsx:60
|
|
214
|
+
#: src/theme/components/ActionButtons.tsx:80
|
|
179
215
|
msgid "Delete"
|
|
180
216
|
msgstr "删除"
|
|
181
217
|
|
|
182
|
-
#: src/routes/dash/collections.tsx:258
|
|
183
218
|
#. @context: Button to delete collection
|
|
219
|
+
#: src/routes/dash/collections.tsx:354
|
|
184
220
|
msgid "Delete Collection"
|
|
185
221
|
msgstr "删除收藏夹"
|
|
186
222
|
|
|
187
|
-
#: src/routes/dash/media.tsx:233
|
|
188
223
|
#. @context: Button to delete media
|
|
224
|
+
#: src/routes/dash/media.tsx:511
|
|
189
225
|
msgid "Delete Media"
|
|
190
226
|
msgstr "删除媒体"
|
|
191
227
|
|
|
192
|
-
#: src/routes/dash/pages.tsx:184
|
|
193
228
|
#. @context: Button to delete page
|
|
229
|
+
#: src/routes/dash/pages.tsx:160
|
|
194
230
|
msgid "Delete Page"
|
|
195
231
|
msgstr "删除页面"
|
|
196
232
|
|
|
197
|
-
#: src/routes/dash/media.tsx:225
|
|
198
233
|
#. @context: Warning message before deleting media
|
|
234
|
+
#: src/routes/dash/media.tsx:517
|
|
199
235
|
msgid "Deleting this media will remove it permanently from storage."
|
|
200
236
|
msgstr "删除此媒体将永久从存储中移除。"
|
|
201
237
|
|
|
202
|
-
|
|
203
|
-
#: src/
|
|
238
|
+
#. @context: Hint shown on signin page when demo credentials are pre-filled
|
|
239
|
+
#: src/app.tsx:345
|
|
240
|
+
msgid "Demo account pre-filled. Just click Sign In."
|
|
241
|
+
msgstr "演示账户已预填。只需点击登录。"
|
|
242
|
+
|
|
204
243
|
#. @context: Collection form field
|
|
205
244
|
#. @context: Collection form field
|
|
245
|
+
#: src/routes/dash/collections.tsx:152
|
|
246
|
+
#: src/routes/dash/collections.tsx:327
|
|
206
247
|
msgid "Description (optional)"
|
|
207
248
|
msgstr "描述(可选)"
|
|
208
249
|
|
|
209
|
-
#: src/routes/dash/pages.tsx:61
|
|
210
|
-
#: src/theme/components/PageForm.tsx:97
|
|
211
|
-
#: src/theme/components/PostForm.tsx:97
|
|
212
|
-
#: src/theme/components/PostList.tsx:31
|
|
213
|
-
#. @context: Page status badge - draft
|
|
214
250
|
#. @context: Page status option - draft
|
|
215
251
|
#. @context: Post visibility badge - draft
|
|
216
252
|
#. @context: Post visibility option
|
|
253
|
+
#: src/theme/components/PageForm.tsx:132
|
|
254
|
+
#: src/theme/components/PostForm.tsx:143
|
|
255
|
+
#: src/theme/components/VisibilityBadge.tsx:38
|
|
217
256
|
msgid "Draft"
|
|
218
257
|
msgstr "草稿"
|
|
219
258
|
|
|
220
|
-
|
|
221
|
-
|
|
259
|
+
#. @context: Post status label
|
|
260
|
+
#: src/routes/dash/index.tsx:55
|
|
222
261
|
msgid "Drafts"
|
|
223
262
|
msgstr "草稿"
|
|
224
263
|
|
|
225
|
-
#: src/routes/dash/collections.tsx:49
|
|
226
|
-
#: src/routes/dash/collections.tsx:150
|
|
227
|
-
#: src/routes/dash/pages.tsx:83
|
|
228
|
-
#: src/routes/dash/pages.tsx:157
|
|
229
|
-
#: src/routes/dash/posts.tsx:94
|
|
230
|
-
#: src/theme/components/PostList.tsx:92
|
|
231
264
|
#. @context: Button to edit collection
|
|
232
265
|
#. @context: Button to edit collection
|
|
266
|
+
#. @context: Button to edit item
|
|
233
267
|
#. @context: Button to edit page
|
|
234
268
|
#. @context: Button to edit page
|
|
235
269
|
#. @context: Button to edit post
|
|
236
270
|
#. @context: Button to edit post
|
|
271
|
+
#: src/routes/dash/collections.tsx:66
|
|
272
|
+
#: src/routes/dash/collections.tsx:210
|
|
273
|
+
#: src/routes/dash/pages.tsx:64
|
|
274
|
+
#: src/routes/dash/pages.tsx:134
|
|
275
|
+
#: src/routes/dash/posts.tsx:126
|
|
276
|
+
#: src/theme/components/ActionButtons.tsx:72
|
|
277
|
+
#: src/theme/components/PostList.tsx:46
|
|
237
278
|
msgid "Edit"
|
|
238
279
|
msgstr "编辑"
|
|
239
280
|
|
|
240
|
-
#: src/routes/dash/collections.tsx:217
|
|
241
281
|
#. @context: Page heading
|
|
282
|
+
#: src/routes/dash/collections.tsx:294
|
|
242
283
|
msgid "Edit Collection"
|
|
243
284
|
msgstr "编辑集合"
|
|
244
285
|
|
|
245
|
-
#: src/routes/dash/pages.tsx:208
|
|
246
286
|
#. @context: Edit page main heading
|
|
287
|
+
#: src/routes/dash/pages.tsx:176
|
|
247
288
|
msgid "Edit Page"
|
|
248
289
|
msgstr "编辑页面"
|
|
249
290
|
|
|
250
|
-
#: src/routes/dash/posts.tsx:126
|
|
251
291
|
#. @context: Page heading
|
|
292
|
+
#: src/routes/dash/posts.tsx:155
|
|
252
293
|
msgid "Edit Post"
|
|
253
294
|
msgstr "编辑帖子"
|
|
254
295
|
|
|
255
|
-
#: src/routes/dash/collections.tsx:213
|
|
256
|
-
#: src/routes/dash/pages.tsx:203
|
|
257
|
-
#: src/routes/dash/posts.tsx:122
|
|
258
|
-
#. @context: Edit page page title
|
|
259
|
-
#. @context: Page title for editing collection
|
|
260
|
-
#. @context: Page title for editing post
|
|
261
|
-
msgid "Edit: {title}"
|
|
262
|
-
msgstr "编辑: {title}"
|
|
263
|
-
|
|
264
|
-
#: src/app.tsx:144
|
|
265
|
-
#: src/app.tsx:221
|
|
266
296
|
#. @context: Setup/signin form field - email
|
|
267
297
|
#. @context: Setup/signin form field - email
|
|
298
|
+
#: src/app.tsx:213
|
|
299
|
+
#: src/app.tsx:359
|
|
268
300
|
msgid "Email"
|
|
269
301
|
msgstr "电子邮件"
|
|
270
302
|
|
|
271
|
-
|
|
272
|
-
#: src/
|
|
273
|
-
|
|
303
|
+
#. @context: Password reset page description
|
|
304
|
+
#: src/app.tsx:496
|
|
305
|
+
msgid "Enter your new password."
|
|
306
|
+
msgstr "输入您的新密码。"
|
|
307
|
+
|
|
274
308
|
#. @context: Post visibility badge
|
|
275
309
|
#. @context: Post visibility badge - featured
|
|
276
310
|
#. @context: Post visibility option
|
|
311
|
+
#: src/routes/pages/home.tsx:75
|
|
312
|
+
#: src/theme/components/PostForm.tsx:131
|
|
313
|
+
#: src/theme/components/VisibilityBadge.tsx:26
|
|
277
314
|
msgid "Featured"
|
|
278
315
|
msgstr "精选"
|
|
279
316
|
|
|
280
|
-
#: src/routes/pages/search.tsx:92
|
|
281
317
|
#. @context: Search results count - multiple
|
|
318
|
+
#: src/routes/pages/search.tsx:89
|
|
282
319
|
msgid "Found {count} results"
|
|
283
320
|
msgstr "找到 {count} 个结果"
|
|
284
321
|
|
|
285
|
-
#: src/routes/pages/search.tsx:91
|
|
286
322
|
#. @context: Search results count - single
|
|
323
|
+
#: src/routes/pages/search.tsx:85
|
|
287
324
|
msgid "Found 1 result"
|
|
288
325
|
msgstr "找到 1 个结果"
|
|
289
326
|
|
|
290
|
-
#: src/routes/dash/redirects.tsx:69
|
|
291
327
|
#. @context: Redirect form field
|
|
328
|
+
#: src/routes/dash/redirects.tsx:97
|
|
292
329
|
msgid "From Path"
|
|
293
330
|
msgstr "来源路径"
|
|
294
331
|
|
|
295
|
-
#: src/routes/dash/settings.tsx:30
|
|
296
332
|
#. @context: Settings section heading
|
|
333
|
+
#: src/routes/dash/settings.tsx:52
|
|
297
334
|
msgid "General"
|
|
298
335
|
msgstr "常规"
|
|
299
336
|
|
|
300
|
-
#: src/routes/pages/archive.tsx:172
|
|
301
|
-
#: src/theme/components/PostForm.tsx:41
|
|
302
|
-
#: src/theme/components/PostList.tsx:44
|
|
303
337
|
#. @context: Post type badge - image
|
|
304
338
|
#. @context: Post type label - image
|
|
305
339
|
#. @context: Post type option
|
|
340
|
+
#: src/routes/pages/archive.tsx:37
|
|
341
|
+
#: src/theme/components/PostForm.tsx:57
|
|
342
|
+
#: src/theme/components/TypeBadge.tsx:29
|
|
306
343
|
msgid "Image"
|
|
307
344
|
msgstr "图像"
|
|
308
345
|
|
|
309
|
-
#: src/routes/pages/archive.tsx:184
|
|
310
346
|
#. @context: Post type label plural - images
|
|
347
|
+
#: src/routes/pages/archive.tsx:65
|
|
311
348
|
msgid "Images"
|
|
312
349
|
msgstr "图片"
|
|
313
350
|
|
|
314
|
-
|
|
351
|
+
#. @context: Media upload instructions - auto optimization
|
|
352
|
+
#: src/routes/dash/media.tsx:305
|
|
353
|
+
msgid "Images are automatically optimized: resized to max 1920px, converted to WebP, and metadata stripped."
|
|
354
|
+
msgstr "图像会自动优化:调整大小至最大 1920px,转换为 WebP,并去除元数据。"
|
|
355
|
+
|
|
356
|
+
#. @context: Password reset error heading
|
|
357
|
+
#: src/app.tsx:561
|
|
358
|
+
msgid "Invalid or Expired Link"
|
|
359
|
+
msgstr "无效或过期的链接"
|
|
360
|
+
|
|
315
361
|
#. @context: Settings form field
|
|
362
|
+
#: src/routes/dash/settings.tsx:93
|
|
316
363
|
msgid "Language"
|
|
317
364
|
msgstr "语言"
|
|
318
365
|
|
|
319
|
-
#: src/app.tsx:130
|
|
320
|
-
#. @context: Setup page description
|
|
321
|
-
msgid "Let's set up your site."
|
|
322
|
-
msgstr "让我们设置您的网站。"
|
|
323
|
-
|
|
324
|
-
#: src/routes/pages/archive.tsx:170
|
|
325
|
-
#: src/theme/components/PostForm.tsx:35
|
|
326
|
-
#: src/theme/components/PostList.tsx:42
|
|
327
366
|
#. @context: Post type badge - link
|
|
328
367
|
#. @context: Post type label - link
|
|
329
368
|
#. @context: Post type option
|
|
369
|
+
#: src/routes/pages/archive.tsx:32
|
|
370
|
+
#: src/theme/components/PostForm.tsx:51
|
|
371
|
+
#: src/theme/components/TypeBadge.tsx:24
|
|
330
372
|
msgid "Link"
|
|
331
373
|
msgstr "链接"
|
|
332
374
|
|
|
333
|
-
#: src/routes/pages/archive.tsx:182
|
|
334
375
|
#. @context: Post type label plural - links
|
|
376
|
+
#: src/routes/pages/archive.tsx:57
|
|
335
377
|
msgid "Links"
|
|
336
378
|
msgstr "链接"
|
|
337
379
|
|
|
338
|
-
#: src/theme/components/Pagination.tsx:111
|
|
339
380
|
#. @context: Pagination button - load more items
|
|
381
|
+
#: src/theme/components/Pagination.tsx:103
|
|
340
382
|
msgid "Load more"
|
|
341
383
|
msgstr "加载更多"
|
|
342
384
|
|
|
343
|
-
#: src/theme/components/PageForm.tsx:63
|
|
344
385
|
#. @context: Page path validation message
|
|
386
|
+
#: src/theme/components/PageForm.tsx:76
|
|
345
387
|
msgid "Lowercase letters, numbers, and hyphens only"
|
|
346
388
|
msgstr "仅允许小写字母、数字和连字符"
|
|
347
389
|
|
|
348
|
-
#: src/routes/dash/media.tsx:195
|
|
349
390
|
#. @context: Media detail section - Markdown snippet
|
|
391
|
+
#: src/routes/dash/media.tsx:481
|
|
350
392
|
msgid "Markdown"
|
|
351
393
|
msgstr "Markdown"
|
|
352
394
|
|
|
353
|
-
#: src/routes/dash/media.tsx:44
|
|
354
|
-
#: src/routes/dash/media.tsx:47
|
|
355
|
-
#: src/theme/layouts/DashLayout.tsx:30
|
|
356
395
|
#. @context: Dashboard navigation - media library
|
|
357
396
|
#. @context: Media main heading
|
|
358
|
-
|
|
397
|
+
#: src/routes/dash/media.tsx:285
|
|
398
|
+
#: src/theme/layouts/DashLayout.tsx:105
|
|
359
399
|
msgid "Media"
|
|
360
400
|
msgstr "媒体"
|
|
361
401
|
|
|
362
|
-
#: src/app.tsx:137
|
|
363
|
-
#. @context: Setup site name placeholder
|
|
364
|
-
msgid "My Blog"
|
|
365
|
-
msgstr "我的博客"
|
|
366
|
-
|
|
367
|
-
#: src/routes/dash/collections.tsx:75
|
|
368
402
|
#. @context: Collection title placeholder
|
|
403
|
+
#: src/routes/dash/collections.tsx:123
|
|
369
404
|
msgid "My Collection"
|
|
370
405
|
msgstr "我的收藏"
|
|
371
406
|
|
|
372
|
-
|
|
373
|
-
#: src/routes/dash/
|
|
374
|
-
|
|
407
|
+
#. @context: Help text with link
|
|
408
|
+
#: src/routes/dash/index.tsx:78
|
|
409
|
+
msgid "Need help? Visit the <0>documentation</0>"
|
|
410
|
+
msgstr "需要帮助吗?访问<0>文档</0>。"
|
|
411
|
+
|
|
412
|
+
#. @context: Button to create new collection
|
|
375
413
|
#. @context: Button to create new collection
|
|
376
414
|
#. @context: Page heading
|
|
377
|
-
|
|
415
|
+
#: src/routes/dash/collections.tsx:39
|
|
416
|
+
#: src/routes/dash/collections.tsx:52
|
|
417
|
+
#: src/routes/dash/collections.tsx:103
|
|
378
418
|
msgid "New Collection"
|
|
379
419
|
msgstr "新收藏"
|
|
380
420
|
|
|
381
|
-
#: src/routes/dash/pages.tsx:38
|
|
382
|
-
#: src/routes/dash/pages.tsx:105
|
|
383
|
-
#: src/routes/dash/pages.tsx:107
|
|
384
421
|
#. @context: Button to create new page
|
|
385
422
|
#. @context: New page main heading
|
|
386
|
-
|
|
423
|
+
#: src/routes/dash/pages.tsx:37
|
|
424
|
+
#: src/routes/dash/pages.tsx:110
|
|
387
425
|
msgid "New Page"
|
|
388
426
|
msgstr "新页面"
|
|
389
427
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
#: src/
|
|
393
|
-
#: src/routes/dash/
|
|
428
|
+
#. @context: Password form field
|
|
429
|
+
#. @context: Password reset form field
|
|
430
|
+
#: src/app.tsx:510
|
|
431
|
+
#: src/routes/dash/settings.tsx:153
|
|
432
|
+
msgid "New Password"
|
|
433
|
+
msgstr "新密码"
|
|
434
|
+
|
|
435
|
+
#. @context: Button to create new post
|
|
394
436
|
#. @context: Button to create new post
|
|
395
|
-
#. @context: Dashboard quick action button to create new post
|
|
396
437
|
#. @context: Page heading
|
|
397
|
-
|
|
438
|
+
#: src/routes/dash/index.tsx:68
|
|
439
|
+
#: src/routes/dash/posts.tsx:30
|
|
440
|
+
#: src/routes/dash/posts.tsx:46
|
|
398
441
|
msgid "New Post"
|
|
399
442
|
msgstr "新帖子"
|
|
400
443
|
|
|
401
|
-
|
|
402
|
-
#: src/routes/dash/redirects.tsx:64
|
|
403
|
-
#: src/routes/dash/redirects.tsx:65
|
|
444
|
+
#. @context: Button to create new redirect
|
|
404
445
|
#. @context: Button to create new redirect
|
|
405
446
|
#. @context: Page heading
|
|
406
|
-
|
|
447
|
+
#: src/routes/dash/redirects.tsx:33
|
|
448
|
+
#: src/routes/dash/redirects.tsx:46
|
|
449
|
+
#: src/routes/dash/redirects.tsx:87
|
|
407
450
|
msgid "New Redirect"
|
|
408
451
|
msgstr "新重定向"
|
|
409
452
|
|
|
410
|
-
#: src/theme/components/Pagination.tsx:50
|
|
411
|
-
#: src/theme/components/Pagination.tsx:164
|
|
412
453
|
#. @context: Pagination button - next page
|
|
413
454
|
#. @context: Pagination button - next page
|
|
455
|
+
#: src/theme/components/Pagination.tsx:49
|
|
456
|
+
#: src/theme/components/Pagination.tsx:160
|
|
414
457
|
msgid "Next"
|
|
415
458
|
msgstr "下一页"
|
|
416
459
|
|
|
417
|
-
#: src/routes/dash/collections.tsx:33
|
|
418
460
|
#. @context: Empty state message
|
|
461
|
+
#: src/routes/dash/collections.tsx:48
|
|
419
462
|
msgid "No collections yet."
|
|
420
463
|
msgstr "尚未有任何收藏。"
|
|
421
464
|
|
|
422
|
-
#: src/routes/dash/media.tsx:74
|
|
423
465
|
#. @context: Empty state message when no media exists
|
|
466
|
+
#: src/routes/dash/media.tsx:320
|
|
424
467
|
msgid "No media uploaded yet."
|
|
425
468
|
msgstr "尚未上传任何媒体。"
|
|
426
469
|
|
|
427
|
-
#: src/routes/dash/pages.tsx:44
|
|
428
470
|
#. @context: Empty state message when no pages exist
|
|
471
|
+
#: src/routes/dash/pages.tsx:46
|
|
429
472
|
msgid "No pages yet."
|
|
430
473
|
msgstr "还没有页面。"
|
|
431
474
|
|
|
432
|
-
#: src/routes/pages/archive.tsx:102
|
|
433
475
|
#. @context: Archive empty state
|
|
476
|
+
#: src/routes/pages/archive.tsx:135
|
|
434
477
|
msgid "No posts found."
|
|
435
478
|
msgstr "未找到帖子。"
|
|
436
479
|
|
|
437
|
-
#: src/routes/dash/collections.tsx:168
|
|
438
|
-
#: src/routes/pages/collection.tsx:40
|
|
439
480
|
#. @context: Empty state message
|
|
440
481
|
#. @context: Empty state message
|
|
482
|
+
#: src/routes/dash/collections.tsx:233
|
|
483
|
+
#: src/routes/pages/collection.tsx:39
|
|
441
484
|
msgid "No posts in this collection."
|
|
442
485
|
msgstr "此集合中没有帖子。"
|
|
443
486
|
|
|
444
|
-
#: src/routes/pages/home.tsx:49
|
|
445
|
-
#: src/theme/components/PostList.tsx:55
|
|
446
487
|
#. @context: Empty state message on home page
|
|
447
488
|
#. @context: Empty state message when no posts exist
|
|
489
|
+
#: src/routes/pages/home.tsx:44
|
|
490
|
+
#: src/theme/components/PostList.tsx:25
|
|
448
491
|
msgid "No posts yet."
|
|
449
492
|
msgstr "还没有帖子。"
|
|
450
493
|
|
|
451
|
-
#: src/routes/dash/redirects.tsx:32
|
|
452
494
|
#. @context: Empty state message
|
|
495
|
+
#: src/routes/dash/redirects.tsx:42
|
|
453
496
|
msgid "No redirects configured."
|
|
454
497
|
msgstr "未配置重定向。"
|
|
455
498
|
|
|
456
|
-
#: src/routes/pages/search.tsx:89
|
|
457
499
|
#. @context: Search empty results
|
|
500
|
+
#: src/routes/pages/search.tsx:80
|
|
458
501
|
msgid "No results found."
|
|
459
502
|
msgstr "未找到结果。"
|
|
460
503
|
|
|
461
|
-
#: src/routes/pages/archive.tsx:168
|
|
462
|
-
#: src/theme/components/PostForm.tsx:29
|
|
463
|
-
#: src/theme/components/PostList.tsx:40
|
|
464
504
|
#. @context: Post type badge - note
|
|
465
505
|
#. @context: Post type label - note
|
|
466
506
|
#. @context: Post type option
|
|
507
|
+
#: src/routes/pages/archive.tsx:27
|
|
508
|
+
#: src/theme/components/PostForm.tsx:45
|
|
509
|
+
#: src/theme/components/TypeBadge.tsx:19
|
|
467
510
|
msgid "Note"
|
|
468
511
|
msgstr "注意"
|
|
469
512
|
|
|
470
|
-
#: src/routes/pages/archive.tsx:180
|
|
471
513
|
#. @context: Post type label plural - notes
|
|
514
|
+
#: src/routes/pages/archive.tsx:49
|
|
472
515
|
msgid "Notes"
|
|
473
516
|
msgstr "笔记"
|
|
474
517
|
|
|
475
|
-
#: src/routes/dash/pages.tsx:147
|
|
476
|
-
#: src/routes/dash/pages.tsx:150
|
|
477
|
-
#: src/routes/dash/pages.tsx:202
|
|
478
|
-
#: src/routes/pages/archive.tsx:173
|
|
479
|
-
#: src/theme/components/PostList.tsx:45
|
|
480
518
|
#. @context: Default page heading when untitled
|
|
481
|
-
#. @context: Default page title when untitled
|
|
482
|
-
#. @context: Default page title when untitled
|
|
483
519
|
#. @context: Post type badge - page
|
|
484
520
|
#. @context: Post type label - page
|
|
521
|
+
#: src/routes/dash/pages.tsx:125
|
|
522
|
+
#: src/routes/pages/archive.tsx:41
|
|
523
|
+
#: src/theme/components/TypeBadge.tsx:33
|
|
485
524
|
msgid "Page"
|
|
486
525
|
msgstr "页面"
|
|
487
526
|
|
|
488
|
-
#: src/theme/components/Pagination.tsx:165
|
|
489
527
|
#. @context: Pagination - current page indicator
|
|
528
|
+
#: src/theme/components/Pagination.tsx:164
|
|
490
529
|
msgid "Page {page}"
|
|
491
530
|
msgstr "页面 {page}"
|
|
492
531
|
|
|
493
|
-
#: src/theme/components/PageForm.tsx:80
|
|
494
532
|
#. @context: Page content placeholder
|
|
533
|
+
#: src/theme/components/PageForm.tsx:103
|
|
495
534
|
msgid "Page content (Markdown supported)..."
|
|
496
535
|
msgstr "页面内容(支持Markdown)..."
|
|
497
536
|
|
|
498
|
-
#: src/theme/components/PageForm.tsx:43
|
|
499
537
|
#. @context: Page title placeholder
|
|
538
|
+
#: src/theme/components/PageForm.tsx:52
|
|
500
539
|
msgid "Page title..."
|
|
501
540
|
msgstr "页面标题..."
|
|
502
541
|
|
|
503
|
-
#: src/routes/dash/pages.tsx:32
|
|
504
|
-
#: src/routes/dash/pages.tsx:35
|
|
505
|
-
#: src/routes/pages/archive.tsx:185
|
|
506
|
-
#: src/theme/layouts/DashLayout.tsx:29
|
|
507
542
|
#. @context: Dashboard navigation - pages management
|
|
508
543
|
#. @context: Pages main heading
|
|
509
|
-
#. @context: Pages page title
|
|
510
544
|
#. @context: Post type label plural - pages
|
|
545
|
+
#: src/routes/dash/pages.tsx:36
|
|
546
|
+
#: src/routes/pages/archive.tsx:69
|
|
547
|
+
#: src/theme/layouts/DashLayout.tsx:96
|
|
511
548
|
msgid "Pages"
|
|
512
549
|
msgstr "页面"
|
|
513
550
|
|
|
514
|
-
#: src/app.tsx:148
|
|
515
|
-
#: src/app.tsx:225
|
|
516
551
|
#. @context: Setup/signin form field - password
|
|
517
552
|
#. @context: Setup/signin form field - password
|
|
553
|
+
#: src/app.tsx:228
|
|
554
|
+
#: src/app.tsx:368
|
|
518
555
|
msgid "Password"
|
|
519
556
|
msgstr "密码"
|
|
520
557
|
|
|
521
|
-
#: src/theme/components/PageForm.tsx:52
|
|
522
558
|
#. @context: Page form field label - URL path
|
|
559
|
+
#: src/theme/components/PageForm.tsx:63
|
|
523
560
|
msgid "Path"
|
|
524
561
|
msgstr "路径"
|
|
525
562
|
|
|
526
|
-
#: src/routes/pages/post.tsx:62
|
|
527
|
-
#: src/theme/components/ThreadView.tsx:66
|
|
528
563
|
#. @context: Link to individual post in thread
|
|
529
564
|
#. @context: Link to permanent URL of post
|
|
565
|
+
#: src/routes/pages/post.tsx:41
|
|
566
|
+
#: src/theme/components/ThreadView.tsx:68
|
|
530
567
|
msgid "Permalink"
|
|
531
568
|
msgstr "永久链接"
|
|
532
569
|
|
|
533
|
-
#: src/routes/dash/posts.tsx:85
|
|
534
|
-
#: src/routes/dash/posts.tsx:121
|
|
535
|
-
#. @context: Default post title
|
|
536
570
|
#. @context: Default post title
|
|
571
|
+
#: src/routes/dash/posts.tsx:115
|
|
537
572
|
msgid "Post"
|
|
538
573
|
msgstr "帖子"
|
|
539
574
|
|
|
540
|
-
#: src/theme/components/PostForm.tsx:53
|
|
541
575
|
#. @context: Post title placeholder
|
|
576
|
+
#: src/theme/components/PostForm.tsx:74
|
|
542
577
|
msgid "Post title..."
|
|
543
578
|
msgstr "帖子标题..."
|
|
544
579
|
|
|
545
|
-
#: src/routes/dash/posts.tsx:27
|
|
546
|
-
#: src/routes/dash/posts.tsx:29
|
|
547
|
-
#: src/theme/layouts/DashLayout.tsx:28
|
|
548
580
|
#. @context: Dashboard heading
|
|
549
581
|
#. @context: Dashboard navigation - posts management
|
|
550
|
-
|
|
582
|
+
#: src/routes/dash/posts.tsx:29
|
|
583
|
+
#: src/theme/layouts/DashLayout.tsx:87
|
|
551
584
|
msgid "Posts"
|
|
552
585
|
msgstr "帖子"
|
|
553
586
|
|
|
554
|
-
#: src/routes/dash/collections.tsx:139
|
|
555
587
|
#. @context: Collection posts section heading
|
|
588
|
+
#: src/routes/dash/collections.tsx:195
|
|
556
589
|
msgid "Posts in Collection ({count})"
|
|
557
590
|
msgstr "集合中的帖子 ({count})"
|
|
558
591
|
|
|
559
|
-
#: src/routes/dash/media.tsx:148
|
|
560
592
|
#. @context: Media detail section - preview
|
|
593
|
+
#: src/routes/dash/media.tsx:404
|
|
561
594
|
msgid "Preview"
|
|
562
595
|
msgstr "预览"
|
|
563
596
|
|
|
564
|
-
#: src/theme/components/Pagination.tsx:49
|
|
565
|
-
#: src/theme/components/Pagination.tsx:163
|
|
566
597
|
#. @context: Pagination button - previous page
|
|
567
598
|
#. @context: Pagination button - previous page
|
|
599
|
+
#: src/theme/components/Pagination.tsx:45
|
|
600
|
+
#: src/theme/components/Pagination.tsx:156
|
|
568
601
|
msgid "Previous"
|
|
569
602
|
msgstr "上一页"
|
|
570
603
|
|
|
571
|
-
|
|
604
|
+
#. @context: Upload status - processing
|
|
605
|
+
#: src/routes/dash/media.tsx:107
|
|
606
|
+
msgid "Processing..."
|
|
607
|
+
msgstr "处理中..."
|
|
608
|
+
|
|
572
609
|
#. @context: Button to publish new post
|
|
610
|
+
#: src/theme/components/PostForm.tsx:175
|
|
573
611
|
msgid "Publish"
|
|
574
612
|
msgstr "发布"
|
|
575
613
|
|
|
576
|
-
#: src/routes/dash/index.tsx:34
|
|
577
|
-
#: src/routes/dash/pages.tsx:62
|
|
578
|
-
#: src/theme/components/PageForm.tsx:94
|
|
579
|
-
#. @context: Dashboard stat card - published posts count
|
|
580
|
-
#. @context: Page status badge - published
|
|
581
614
|
#. @context: Page status option - published
|
|
615
|
+
#. @context: Post status label
|
|
616
|
+
#: src/routes/dash/index.tsx:45
|
|
617
|
+
#: src/theme/components/PageForm.tsx:126
|
|
582
618
|
msgid "Published"
|
|
583
619
|
msgstr "已发布"
|
|
584
620
|
|
|
585
|
-
#: src/theme/components/PageForm.tsx:101
|
|
586
621
|
#. @context: Page status helper text
|
|
622
|
+
#: src/theme/components/PageForm.tsx:139
|
|
587
623
|
msgid "Published pages are accessible via their path. Drafts are not visible."
|
|
588
624
|
msgstr "已发布的页面可以通过其路径访问。草稿不可见。"
|
|
589
625
|
|
|
590
|
-
|
|
591
|
-
|
|
626
|
+
#. @context: Dashboard section title
|
|
627
|
+
#: src/routes/dash/index.tsx:62
|
|
592
628
|
msgid "Quick Actions"
|
|
593
629
|
msgstr "快速操作"
|
|
594
630
|
|
|
595
|
-
#: src/theme/components/PostList.tsx:29
|
|
596
631
|
#. @context: Post visibility badge - normal
|
|
632
|
+
#: src/theme/components/VisibilityBadge.tsx:30
|
|
597
633
|
msgid "Quiet"
|
|
598
634
|
msgstr "安静"
|
|
599
635
|
|
|
600
|
-
#: src/theme/components/PostForm.tsx:88
|
|
601
636
|
#. @context: Post visibility option
|
|
637
|
+
#: src/theme/components/PostForm.tsx:125
|
|
602
638
|
msgid "Quiet (normal)"
|
|
603
639
|
msgstr "安静(正常)"
|
|
604
640
|
|
|
605
|
-
#: src/routes/pages/archive.tsx:171
|
|
606
|
-
#: src/theme/components/PostForm.tsx:38
|
|
607
|
-
#: src/theme/components/PostList.tsx:43
|
|
608
641
|
#. @context: Post type badge - quote
|
|
609
642
|
#. @context: Post type label - quote
|
|
610
643
|
#. @context: Post type option
|
|
644
|
+
#: src/routes/pages/archive.tsx:33
|
|
645
|
+
#: src/theme/components/PostForm.tsx:54
|
|
646
|
+
#: src/theme/components/TypeBadge.tsx:25
|
|
611
647
|
msgid "Quote"
|
|
612
648
|
msgstr "引用"
|
|
613
649
|
|
|
614
|
-
#: src/routes/pages/archive.tsx:183
|
|
615
650
|
#. @context: Post type label plural - quotes
|
|
651
|
+
#: src/routes/pages/archive.tsx:61
|
|
616
652
|
msgid "Quotes"
|
|
617
653
|
msgstr "引用"
|
|
618
654
|
|
|
619
|
-
#: src/routes/dash/redirects.tsx:23
|
|
620
|
-
#: src/routes/dash/redirects.tsx:25
|
|
621
|
-
#: src/theme/layouts/DashLayout.tsx:32
|
|
622
655
|
#. @context: Dashboard heading
|
|
623
656
|
#. @context: Dashboard navigation - URL redirects
|
|
624
|
-
|
|
657
|
+
#: src/routes/dash/redirects.tsx:29
|
|
658
|
+
#: src/theme/layouts/DashLayout.tsx:124
|
|
625
659
|
msgid "Redirects"
|
|
626
660
|
msgstr "重定向"
|
|
627
661
|
|
|
628
|
-
#: src/routes/dash/collections.tsx:184
|
|
629
662
|
#. @context: Button to remove post from collection
|
|
663
|
+
#: src/routes/dash/collections.tsx:257
|
|
630
664
|
msgid "Remove"
|
|
631
665
|
msgstr "移除"
|
|
632
666
|
|
|
633
|
-
|
|
667
|
+
#. @context: Password reset form submit button
|
|
668
|
+
#. @context: Password reset page heading
|
|
669
|
+
#: src/app.tsx:490
|
|
670
|
+
#: src/app.tsx:541
|
|
671
|
+
msgid "Reset Password"
|
|
672
|
+
msgstr "重置密码"
|
|
673
|
+
|
|
634
674
|
#. @context: Button to save settings
|
|
675
|
+
#: src/routes/dash/settings.tsx:114
|
|
635
676
|
msgid "Save Settings"
|
|
636
677
|
msgstr "保存设置"
|
|
637
678
|
|
|
638
|
-
#: src/routes/pages/search.tsx:53
|
|
639
|
-
#: src/routes/pages/search.tsx:72
|
|
640
679
|
#. @context: Search page title
|
|
641
680
|
#. @context: Search submit button
|
|
681
|
+
#: src/routes/pages/search.tsx:36
|
|
682
|
+
#: src/routes/pages/search.tsx:60
|
|
642
683
|
msgid "Search"
|
|
643
684
|
msgstr "搜索"
|
|
644
685
|
|
|
645
|
-
#: src/routes/pages/search.tsx:49
|
|
646
|
-
#. @context: Search error message
|
|
647
|
-
msgid "Search failed. Please try again."
|
|
648
|
-
msgstr "搜索失败。请再试一次。"
|
|
649
|
-
|
|
650
|
-
#: src/routes/pages/search.tsx:67
|
|
651
686
|
#. @context: Search input placeholder
|
|
687
|
+
#: src/routes/pages/search.tsx:52
|
|
652
688
|
msgid "Search posts..."
|
|
653
689
|
msgstr "搜索帖子..."
|
|
654
690
|
|
|
655
|
-
#: src/routes/dash/settings.tsx:24
|
|
656
|
-
#: src/routes/dash/settings.tsx:25
|
|
657
|
-
#: src/theme/layouts/DashLayout.tsx:33
|
|
658
691
|
#. @context: Dashboard heading
|
|
659
692
|
#. @context: Dashboard navigation - site settings
|
|
660
|
-
|
|
693
|
+
#: src/routes/dash/settings.tsx:41
|
|
694
|
+
#: src/theme/layouts/DashLayout.tsx:133
|
|
661
695
|
msgid "Settings"
|
|
662
696
|
msgstr "设置"
|
|
663
697
|
|
|
664
|
-
#: src/app.tsx:125
|
|
665
|
-
#. @context: Setup page title
|
|
666
|
-
msgid "Setup"
|
|
667
|
-
msgstr "设置"
|
|
668
|
-
|
|
669
|
-
#: src/app.tsx:211
|
|
670
|
-
#: src/app.tsx:215
|
|
671
|
-
#: src/app.tsx:228
|
|
672
698
|
#. @context: Sign in form submit button
|
|
673
699
|
#. @context: Sign in page heading
|
|
674
|
-
|
|
700
|
+
#: src/app.tsx:336
|
|
701
|
+
#: src/app.tsx:381
|
|
675
702
|
msgid "Sign In"
|
|
676
703
|
msgstr "登录"
|
|
677
704
|
|
|
678
|
-
#: src/theme/layouts/DashLayout.tsx:64
|
|
679
705
|
#. @context: Dashboard header link to sign out
|
|
706
|
+
#: src/theme/layouts/DashLayout.tsx:63
|
|
680
707
|
msgid "Sign Out"
|
|
681
708
|
msgstr "登出"
|
|
682
709
|
|
|
683
|
-
#: src/routes/dash/settings.tsx:39
|
|
684
710
|
#. @context: Settings form field
|
|
711
|
+
#: src/routes/dash/settings.tsx:76
|
|
685
712
|
msgid "Site Description"
|
|
686
713
|
msgstr "网站描述"
|
|
687
714
|
|
|
688
|
-
#: src/app.tsx:136
|
|
689
|
-
#: src/routes/dash/settings.tsx:34
|
|
690
715
|
#. @context: Settings form field
|
|
691
|
-
|
|
716
|
+
#: src/routes/dash/settings.tsx:61
|
|
692
717
|
msgid "Site Name"
|
|
693
718
|
msgstr "网站名称"
|
|
694
719
|
|
|
695
|
-
#: src/routes/dash/collections.tsx:79
|
|
696
|
-
#: src/routes/dash/collections.tsx:226
|
|
697
720
|
#. @context: Collection form field
|
|
698
721
|
#. @context: Collection form field
|
|
722
|
+
#: src/routes/dash/collections.tsx:132
|
|
723
|
+
#: src/routes/dash/collections.tsx:314
|
|
699
724
|
msgid "Slug"
|
|
700
725
|
msgstr "缩略名"
|
|
701
726
|
|
|
702
|
-
#: src/theme/components/PostForm.tsx:73
|
|
703
727
|
#. @context: Post form field
|
|
728
|
+
#: src/theme/components/PostForm.tsx:102
|
|
704
729
|
msgid "Source URL (optional)"
|
|
705
730
|
msgstr "源网址(可选)"
|
|
706
731
|
|
|
707
|
-
#: src/theme/components/PageForm.tsx:90
|
|
708
732
|
#. @context: Page form field label - publish status
|
|
733
|
+
#: src/theme/components/PageForm.tsx:116
|
|
709
734
|
msgid "Status"
|
|
710
735
|
msgstr "状态"
|
|
711
736
|
|
|
712
|
-
#: src/routes/dash/media.tsx:67
|
|
713
|
-
#. @context: Media upload instructions - supported formats
|
|
714
|
-
msgid "Supported formats: JPEG, PNG, GIF, WebP, SVG. Max size: 10MB."
|
|
715
|
-
msgstr "支持的格式:JPEG、PNG、GIF、WebP、SVG。最大大小:10MB。"
|
|
716
|
-
|
|
717
|
-
#: src/routes/dash/redirects.tsx:89
|
|
718
737
|
#. @context: Redirect to path help text
|
|
738
|
+
#: src/routes/dash/redirects.tsx:132
|
|
719
739
|
msgid "The destination path or URL"
|
|
720
740
|
msgstr "目标路径或 URL"
|
|
721
741
|
|
|
722
|
-
#: src/routes/dash/redirects.tsx:77
|
|
723
742
|
#. @context: Redirect from path help text
|
|
743
|
+
#: src/routes/dash/redirects.tsx:110
|
|
724
744
|
msgid "The path to redirect from"
|
|
725
745
|
msgstr "重定向的路径"
|
|
726
746
|
|
|
727
|
-
#: src/theme/components/PageForm.tsx:68
|
|
728
747
|
#. @context: Page path helper text
|
|
748
|
+
#: src/theme/components/PageForm.tsx:84
|
|
729
749
|
msgid "The URL path for this page. Use lowercase letters, numbers, and hyphens."
|
|
730
750
|
msgstr "此页面的 URL 路径。使用小写字母、数字和连字符。"
|
|
731
751
|
|
|
732
|
-
|
|
752
|
+
#. @context: Password reset error description
|
|
753
|
+
#: src/app.tsx:569
|
|
754
|
+
msgid "This password reset link is invalid or has expired. Please generate a new one."
|
|
755
|
+
msgstr "此密码重置链接无效或已过期。请生成一个新的链接。"
|
|
756
|
+
|
|
757
|
+
#. @context: Appearance settings description
|
|
758
|
+
#: src/routes/dash/appearance.tsx:114
|
|
759
|
+
msgid "This will theme both your site and your dashboard. All color themes support dark mode."
|
|
760
|
+
msgstr "这将为您的网站和仪表板设置主题。所有颜色主题都支持暗黑模式。"
|
|
761
|
+
|
|
733
762
|
#. @context: Thread view indicator - first post in thread
|
|
763
|
+
#: src/theme/components/ThreadView.tsx:57
|
|
734
764
|
msgid "Thread start"
|
|
735
765
|
msgstr "线程开始"
|
|
736
766
|
|
|
737
|
-
#: src/theme/components/ThreadView.tsx:92
|
|
738
767
|
#. @context: Thread view header - multiple posts
|
|
768
|
+
#: src/theme/components/ThreadView.tsx:102
|
|
739
769
|
msgid "Thread with {count} posts"
|
|
740
770
|
msgstr "包含 {count} 条帖子的话题"
|
|
741
771
|
|
|
742
|
-
#: src/theme/components/ThreadView.tsx:91
|
|
743
772
|
#. @context: Thread view header - single post
|
|
773
|
+
#: src/theme/components/ThreadView.tsx:98
|
|
744
774
|
msgid "Thread with 1 post"
|
|
745
775
|
msgstr "包含 1 条帖子的话题"
|
|
746
776
|
|
|
747
|
-
#: src/routes/dash/collections.tsx:74
|
|
748
|
-
#: src/routes/dash/collections.tsx:221
|
|
749
|
-
#: src/theme/components/PageForm.tsx:37
|
|
750
777
|
#. @context: Collection form field
|
|
751
778
|
#. @context: Collection form field
|
|
752
779
|
#. @context: Page form field label - title
|
|
780
|
+
#: src/routes/dash/collections.tsx:113
|
|
781
|
+
#: src/routes/dash/collections.tsx:304
|
|
782
|
+
#: src/theme/components/PageForm.tsx:43
|
|
753
783
|
msgid "Title"
|
|
754
784
|
msgstr "标题"
|
|
755
785
|
|
|
756
|
-
#: src/theme/components/PostForm.tsx:48
|
|
757
786
|
#. @context: Post form field
|
|
787
|
+
#: src/theme/components/PostForm.tsx:65
|
|
758
788
|
msgid "Title (optional)"
|
|
759
789
|
msgstr "标题(可选)"
|
|
760
790
|
|
|
761
|
-
#: src/routes/dash/redirects.tsx:81
|
|
762
791
|
#. @context: Redirect form field
|
|
792
|
+
#: src/routes/dash/redirects.tsx:119
|
|
763
793
|
msgid "To Path"
|
|
764
794
|
msgstr "到路径"
|
|
765
795
|
|
|
766
|
-
#: src/routes/dash/redirects.tsx:93
|
|
767
|
-
#: src/theme/components/PostForm.tsx:26
|
|
768
796
|
#. @context: Post form field - post type
|
|
769
797
|
#. @context: Redirect form field
|
|
798
|
+
#: src/routes/dash/redirects.tsx:141
|
|
799
|
+
#: src/theme/components/PostForm.tsx:38
|
|
770
800
|
msgid "Type"
|
|
771
801
|
msgstr "类型"
|
|
772
802
|
|
|
773
|
-
#: src/theme/components/PostForm.tsx:94
|
|
774
|
-
#: src/theme/components/PostList.tsx:30
|
|
775
803
|
#. @context: Post visibility badge - unlisted
|
|
776
804
|
#. @context: Post visibility option
|
|
805
|
+
#: src/theme/components/PostForm.tsx:137
|
|
806
|
+
#: src/theme/components/VisibilityBadge.tsx:34
|
|
777
807
|
msgid "Unlisted"
|
|
778
808
|
msgstr "未列出"
|
|
779
809
|
|
|
780
|
-
#: src/routes/dash/pages.tsx:72
|
|
781
|
-
#: src/theme/components/PostList.tsx:79
|
|
782
810
|
#. @context: Default title for untitled page
|
|
783
811
|
#. @context: Default title for untitled post
|
|
812
|
+
#: src/routes/dash/pages.tsx:91
|
|
813
|
+
#: src/theme/components/PostList.tsx:71
|
|
784
814
|
msgid "Untitled"
|
|
785
815
|
msgstr "无标题"
|
|
786
816
|
|
|
787
|
-
#: src/theme/components/PostForm.tsx:117
|
|
788
817
|
#. @context: Button to update existing post
|
|
818
|
+
#: src/theme/components/PostForm.tsx:171
|
|
789
819
|
msgid "Update"
|
|
790
820
|
msgstr "更新"
|
|
791
821
|
|
|
792
|
-
#: src/routes/dash/collections.tsx:246
|
|
793
822
|
#. @context: Button to save collection changes
|
|
823
|
+
#: src/routes/dash/collections.tsx:339
|
|
794
824
|
msgid "Update Collection"
|
|
795
825
|
msgstr "更新收藏夹"
|
|
796
826
|
|
|
797
|
-
#: src/theme/components/PageForm.tsx:109
|
|
798
827
|
#. @context: Button to update existing page
|
|
828
|
+
#: src/theme/components/PageForm.tsx:151
|
|
799
829
|
msgid "Update Page"
|
|
800
830
|
msgstr "更新页面"
|
|
801
831
|
|
|
802
|
-
#: src/routes/dash/media.tsx:50
|
|
803
832
|
#. @context: Button to upload media file
|
|
833
|
+
#: src/routes/dash/media.tsx:115
|
|
804
834
|
msgid "Upload"
|
|
805
835
|
msgstr "上传"
|
|
806
836
|
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
msgid "Upload
|
|
810
|
-
msgstr "
|
|
837
|
+
#. @context: Upload error message
|
|
838
|
+
#: src/routes/dash/media.tsx:119
|
|
839
|
+
msgid "Upload failed. Please try again."
|
|
840
|
+
msgstr "上传失败。请再试一次。"
|
|
841
|
+
|
|
842
|
+
#. @context: Upload status - uploading
|
|
843
|
+
#: src/routes/dash/media.tsx:111
|
|
844
|
+
msgid "Uploading..."
|
|
845
|
+
msgstr "上传中..."
|
|
811
846
|
|
|
812
|
-
#: src/routes/dash/media.tsx:169
|
|
813
847
|
#. @context: Media detail section - URL
|
|
848
|
+
#: src/routes/dash/media.tsx:444
|
|
814
849
|
msgid "URL"
|
|
815
850
|
msgstr "网址"
|
|
816
851
|
|
|
817
|
-
#: src/routes/dash/collections.tsx:89
|
|
818
852
|
#. @context: Collection path help text
|
|
853
|
+
#: src/routes/dash/collections.tsx:143
|
|
819
854
|
msgid "URL-safe identifier (lowercase, numbers, hyphens)"
|
|
820
855
|
msgstr "URL安全标识符(小写字母、数字、连字符)"
|
|
821
856
|
|
|
822
|
-
#: src/routes/dash/media.tsx:188
|
|
823
857
|
#. @context: Media URL helper text
|
|
858
|
+
#: src/routes/dash/media.tsx:470
|
|
824
859
|
msgid "Use this URL to embed the media in your posts."
|
|
825
860
|
msgstr "使用此 URL 将媒体嵌入到您的帖子中。"
|
|
826
861
|
|
|
827
|
-
#: src/routes/dash/collections.tsx:52
|
|
828
|
-
#: src/routes/dash/collections.tsx:153
|
|
829
|
-
#: src/routes/dash/pages.tsx:87
|
|
830
|
-
#: src/routes/dash/pages.tsx:161
|
|
831
|
-
#: src/routes/dash/posts.tsx:97
|
|
832
|
-
#: src/theme/components/PostList.tsx:95
|
|
833
862
|
#. @context: Button to view collection
|
|
834
863
|
#. @context: Button to view collection
|
|
864
|
+
#. @context: Button to view item on public site
|
|
835
865
|
#. @context: Button to view page on public site
|
|
836
866
|
#. @context: Button to view page on public site
|
|
837
867
|
#. @context: Button to view post
|
|
838
868
|
#. @context: Button to view post on public site
|
|
869
|
+
#: src/routes/dash/collections.tsx:71
|
|
870
|
+
#: src/routes/dash/collections.tsx:215
|
|
871
|
+
#: src/routes/dash/pages.tsx:73
|
|
872
|
+
#: src/routes/dash/pages.tsx:143
|
|
873
|
+
#: src/routes/dash/posts.tsx:131
|
|
874
|
+
#: src/theme/components/ActionButtons.tsx:76
|
|
875
|
+
#: src/theme/components/PostList.tsx:51
|
|
839
876
|
msgid "View"
|
|
840
877
|
msgstr "查看"
|
|
841
878
|
|
|
842
|
-
#: src/routes/pages/home.tsx:80
|
|
843
879
|
#. @context: Link to view all posts on archive page
|
|
880
|
+
#: src/routes/pages/home.tsx:93
|
|
844
881
|
msgid "View all posts →"
|
|
845
882
|
msgstr "查看所有帖子 →"
|
|
846
883
|
|
|
847
|
-
#: src/theme/layouts/DashLayout.tsx:61
|
|
848
884
|
#. @context: Dashboard header link to view the public site
|
|
885
|
+
#: src/theme/layouts/DashLayout.tsx:53
|
|
849
886
|
msgid "View Site"
|
|
850
887
|
msgstr "查看网站"
|
|
851
888
|
|
|
852
|
-
#: src/theme/components/PostForm.tsx:85
|
|
853
889
|
#. @context: Post form field
|
|
890
|
+
#: src/theme/components/PostForm.tsx:118
|
|
854
891
|
msgid "Visibility"
|
|
855
892
|
msgstr "可见性"
|
|
856
893
|
|
|
857
|
-
#: src/app.tsx:129
|
|
858
894
|
#. @context: Setup page welcome heading
|
|
895
|
+
#: src/app.tsx:178
|
|
859
896
|
msgid "Welcome to Jant"
|
|
860
897
|
msgstr "欢迎来到Jant"
|
|
861
898
|
|
|
862
|
-
#: src/theme/components/PostForm.tsx:64
|
|
863
899
|
#. @context: Post content placeholder
|
|
900
|
+
#: src/theme/components/PostForm.tsx:89
|
|
864
901
|
msgid "What's on your mind?"
|
|
865
902
|
msgstr "你在想什么?"
|
|
866
903
|
|
|
867
|
-
#: src/routes/dash/collections.tsx:95
|
|
868
904
|
#. @context: Collection description placeholder
|
|
905
|
+
#: src/routes/dash/collections.tsx:161
|
|
869
906
|
msgid "What's this collection about?"
|
|
870
907
|
msgstr "这个系列是关于什么的?"
|
|
871
908
|
|
|
872
|
-
#: src/app.tsx:140
|
|
873
909
|
#. @context: Setup form field - user name
|
|
910
|
+
#: src/app.tsx:198
|
|
874
911
|
msgid "Your Name"
|
|
875
912
|
msgstr "您的姓名"
|