@jant/core 0.3.23 → 0.3.25

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.
Files changed (248) hide show
  1. package/dist/app.js +50 -26
  2. package/dist/db/schema.js +72 -47
  3. package/dist/i18n/locales/en.js +1 -1
  4. package/dist/i18n/locales/zh-Hans.js +1 -1
  5. package/dist/i18n/locales/zh-Hant.js +1 -1
  6. package/dist/index.js +5 -11
  7. package/dist/lib/constants.js +2 -4
  8. package/dist/lib/excerpt.js +76 -0
  9. package/dist/lib/feed.js +18 -7
  10. package/dist/lib/nav-reorder.js +1 -1
  11. package/dist/lib/navigation.js +30 -6
  12. package/dist/lib/pagination.js +44 -0
  13. package/dist/lib/render.js +7 -11
  14. package/dist/lib/schemas.js +80 -38
  15. package/dist/lib/theme.js +4 -4
  16. package/dist/lib/time.js +56 -1
  17. package/dist/lib/timeline.js +95 -0
  18. package/dist/lib/view.js +61 -72
  19. package/dist/routes/api/collections.js +124 -0
  20. package/dist/routes/api/nav-items.js +104 -0
  21. package/dist/routes/api/pages.js +91 -0
  22. package/dist/routes/api/posts.js +27 -33
  23. package/dist/routes/api/search.js +4 -5
  24. package/dist/routes/api/settings.js +68 -0
  25. package/dist/routes/api/upload.js +13 -13
  26. package/dist/routes/compose.js +48 -0
  27. package/dist/routes/dash/collections.js +24 -42
  28. package/dist/routes/dash/index.js +3 -3
  29. package/dist/routes/dash/media.js +2 -2
  30. package/dist/routes/dash/pages.js +440 -106
  31. package/dist/routes/dash/posts.js +27 -37
  32. package/dist/routes/dash/redirects.js +2 -2
  33. package/dist/routes/dash/settings.js +79 -5
  34. package/dist/routes/feed/rss.js +4 -6
  35. package/dist/routes/feed/sitemap.js +11 -8
  36. package/dist/routes/pages/archive.js +13 -15
  37. package/dist/routes/pages/collection.js +12 -9
  38. package/dist/routes/pages/collections.js +28 -0
  39. package/dist/routes/pages/featured.js +32 -0
  40. package/dist/routes/pages/home.js +19 -68
  41. package/dist/routes/pages/page.js +57 -29
  42. package/dist/routes/pages/post.js +7 -17
  43. package/dist/routes/pages/search.js +5 -9
  44. package/dist/services/collection.js +52 -64
  45. package/dist/services/index.js +5 -3
  46. package/dist/services/navigation.js +29 -53
  47. package/dist/services/page.js +84 -0
  48. package/dist/services/post.js +102 -69
  49. package/dist/services/search.js +24 -18
  50. package/dist/types.js +24 -40
  51. package/dist/ui/compose/ComposeDialog.js +452 -0
  52. package/dist/ui/compose/ComposePrompt.js +55 -0
  53. package/dist/{theme/components/TypeBadge.js → ui/dash/FormatBadge.js} +3 -15
  54. package/dist/{theme/components → ui/dash}/PageForm.js +15 -15
  55. package/dist/{theme/components → ui/dash}/PostForm.js +117 -137
  56. package/dist/{theme/components → ui/dash}/PostList.js +18 -13
  57. package/dist/ui/dash/StatusBadge.js +46 -0
  58. package/dist/{theme/components → ui/dash}/index.js +3 -6
  59. package/dist/ui/feed/LinkCard.js +72 -0
  60. package/dist/ui/feed/NoteCard.js +58 -0
  61. package/dist/{themes/minimal/timeline → ui/feed}/QuoteCard.js +29 -14
  62. package/dist/{themes/minimal/timeline → ui/feed}/ThreadPreview.js +20 -18
  63. package/dist/ui/feed/TimelineFeed.js +41 -0
  64. package/dist/ui/feed/TimelineItem.js +27 -0
  65. package/dist/{theme → ui}/layouts/BaseLayout.js +10 -0
  66. package/dist/{theme → ui}/layouts/DashLayout.js +0 -8
  67. package/dist/ui/layouts/SiteLayout.js +141 -0
  68. package/dist/{themes/minimal → ui}/pages/ArchivePage.js +37 -50
  69. package/dist/ui/pages/CollectionPage.js +70 -0
  70. package/dist/ui/pages/CollectionsPage.js +76 -0
  71. package/dist/ui/pages/FeaturedPage.js +24 -0
  72. package/dist/ui/pages/HomePage.js +24 -0
  73. package/dist/{themes/minimal → ui}/pages/PostPage.js +20 -12
  74. package/dist/{themes/minimal → ui}/pages/SearchPage.js +19 -18
  75. package/dist/{themes/minimal → ui}/pages/SinglePage.js +5 -4
  76. package/dist/ui/shared/MediaGallery.js +35 -0
  77. package/dist/{theme/components → ui/shared}/Pagination.js +41 -2
  78. package/dist/{theme/components → ui/shared}/ThreadView.js +3 -3
  79. package/dist/ui/shared/index.js +5 -0
  80. package/package.json +2 -9
  81. package/src/__tests__/helpers/app.ts +4 -0
  82. package/src/__tests__/helpers/db.ts +53 -73
  83. package/src/app.tsx +56 -28
  84. package/src/db/migrations/0005_v2_schema_migration.sql +268 -0
  85. package/src/db/migrations/0006_rename_slug_to_path.sql +5 -0
  86. package/src/db/migrations/meta/_journal.json +14 -0
  87. package/src/db/schema.ts +63 -46
  88. package/src/i18n/locales/en.po +443 -240
  89. package/src/i18n/locales/en.ts +1 -1
  90. package/src/i18n/locales/zh-Hans.po +443 -240
  91. package/src/i18n/locales/zh-Hans.ts +1 -1
  92. package/src/i18n/locales/zh-Hant.po +443 -240
  93. package/src/i18n/locales/zh-Hant.ts +1 -1
  94. package/src/index.ts +29 -42
  95. package/src/lib/__tests__/excerpt.test.ts +125 -0
  96. package/src/lib/__tests__/schemas.test.ts +201 -99
  97. package/src/lib/__tests__/time.test.ts +62 -0
  98. package/src/{routes/api → lib}/__tests__/timeline.test.ts +81 -75
  99. package/src/lib/__tests__/view.test.ts +204 -50
  100. package/src/lib/constants.ts +2 -4
  101. package/src/lib/excerpt.ts +87 -0
  102. package/src/lib/feed.ts +22 -7
  103. package/src/lib/nav-reorder.ts +1 -1
  104. package/src/lib/navigation.ts +45 -8
  105. package/src/lib/pagination.ts +50 -0
  106. package/src/lib/render.tsx +7 -14
  107. package/src/lib/schemas.ts +119 -51
  108. package/src/lib/theme.ts +5 -5
  109. package/src/lib/time.ts +64 -0
  110. package/src/lib/timeline.ts +141 -0
  111. package/src/lib/view.ts +80 -82
  112. package/src/preset.css +46 -0
  113. package/src/routes/__tests__/compose.test.ts +199 -0
  114. package/src/routes/api/__tests__/collections.test.ts +249 -0
  115. package/src/routes/api/__tests__/nav-items.test.ts +222 -0
  116. package/src/routes/api/__tests__/pages.test.ts +218 -0
  117. package/src/routes/api/__tests__/posts.test.ts +50 -108
  118. package/src/routes/api/__tests__/search.test.ts +2 -3
  119. package/src/routes/api/__tests__/settings.test.ts +132 -0
  120. package/src/routes/api/collections.ts +143 -0
  121. package/src/routes/api/nav-items.ts +115 -0
  122. package/src/routes/api/pages.ts +101 -0
  123. package/src/routes/api/posts.ts +28 -28
  124. package/src/routes/api/search.ts +3 -3
  125. package/src/routes/api/settings.ts +91 -0
  126. package/src/routes/api/upload.ts +16 -6
  127. package/src/routes/compose.ts +63 -0
  128. package/src/routes/dash/__tests__/pages.test.ts +225 -0
  129. package/src/routes/dash/collections.tsx +20 -42
  130. package/src/routes/dash/index.tsx +3 -3
  131. package/src/routes/dash/media.tsx +2 -2
  132. package/src/routes/dash/pages.tsx +480 -122
  133. package/src/routes/dash/posts.tsx +42 -54
  134. package/src/routes/dash/redirects.tsx +2 -2
  135. package/src/routes/dash/settings.tsx +83 -5
  136. package/src/routes/feed/rss.ts +4 -3
  137. package/src/routes/feed/sitemap.ts +15 -5
  138. package/src/routes/pages/__tests__/collections.test.ts +94 -0
  139. package/src/routes/pages/__tests__/featured.test.ts +94 -0
  140. package/src/routes/pages/archive.tsx +15 -15
  141. package/src/routes/pages/collection.tsx +16 -9
  142. package/src/routes/pages/collections.tsx +36 -0
  143. package/src/routes/pages/featured.tsx +38 -0
  144. package/src/routes/pages/home.tsx +21 -92
  145. package/src/routes/pages/page.tsx +62 -27
  146. package/src/routes/pages/post.tsx +6 -18
  147. package/src/routes/pages/search.tsx +3 -7
  148. package/src/services/__tests__/collection.test.ts +257 -158
  149. package/src/services/__tests__/media.test.ts +18 -18
  150. package/src/services/__tests__/navigation.test.ts +161 -87
  151. package/src/services/__tests__/page.test.ts +106 -0
  152. package/src/services/__tests__/post-timeline.test.ts +92 -88
  153. package/src/services/__tests__/post.test.ts +432 -197
  154. package/src/services/__tests__/search.test.ts +19 -25
  155. package/src/services/collection.ts +71 -113
  156. package/src/services/index.ts +9 -8
  157. package/src/services/navigation.ts +38 -71
  158. package/src/services/page.ts +136 -0
  159. package/src/services/post.ts +141 -101
  160. package/src/services/search.ts +38 -27
  161. package/src/styles/tokens.css +47 -0
  162. package/src/styles/ui.css +491 -0
  163. package/src/types.ts +212 -198
  164. package/src/ui/compose/ComposeDialog.tsx +395 -0
  165. package/src/ui/compose/ComposePrompt.tsx +55 -0
  166. package/src/ui/dash/FormatBadge.tsx +28 -0
  167. package/src/{theme/components → ui/dash}/PageForm.tsx +21 -21
  168. package/src/{theme/components → ui/dash}/PostForm.tsx +110 -131
  169. package/src/ui/dash/PostList.tsx +101 -0
  170. package/src/ui/dash/StatusBadge.tsx +61 -0
  171. package/src/ui/dash/index.ts +10 -0
  172. package/src/ui/feed/LinkCard.tsx +72 -0
  173. package/src/ui/feed/NoteCard.tsx +63 -0
  174. package/src/ui/feed/QuoteCard.tsx +68 -0
  175. package/src/ui/feed/ThreadPreview.tsx +48 -0
  176. package/src/ui/feed/TimelineFeed.tsx +49 -0
  177. package/src/ui/feed/TimelineItem.tsx +45 -0
  178. package/src/{theme → ui}/layouts/BaseLayout.tsx +11 -1
  179. package/src/{theme → ui}/layouts/DashLayout.tsx +0 -10
  180. package/src/ui/layouts/SiteLayout.tsx +150 -0
  181. package/src/ui/pages/ArchivePage.tsx +162 -0
  182. package/src/ui/pages/CollectionPage.tsx +70 -0
  183. package/src/ui/pages/CollectionsPage.tsx +73 -0
  184. package/src/ui/pages/FeaturedPage.tsx +31 -0
  185. package/src/ui/pages/HomePage.tsx +37 -0
  186. package/src/ui/pages/PostPage.tsx +56 -0
  187. package/src/{themes/minimal → ui}/pages/SearchPage.tsx +24 -20
  188. package/src/{themes/minimal → ui}/pages/SinglePage.tsx +5 -5
  189. package/src/ui/shared/MediaGallery.tsx +59 -0
  190. package/src/{theme/components → ui/shared}/Pagination.tsx +67 -4
  191. package/src/{theme/components → ui/shared}/ThreadView.tsx +6 -3
  192. package/src/ui/shared/__tests__/pagination.test.ts +46 -0
  193. package/src/ui/shared/index.ts +12 -0
  194. package/bin/jant.js +0 -185
  195. package/dist/lib/theme-components.js +0 -49
  196. package/dist/routes/api/timeline.js +0 -120
  197. package/dist/routes/dash/navigation.js +0 -288
  198. package/dist/theme/components/MediaGallery.js +0 -107
  199. package/dist/theme/components/VisibilityBadge.js +0 -37
  200. package/dist/theme/index.js +0 -18
  201. package/dist/theme/layouts/index.js +0 -2
  202. package/dist/themes/minimal/MinimalSiteLayout.js +0 -83
  203. package/dist/themes/minimal/index.js +0 -65
  204. package/dist/themes/minimal/pages/CollectionPage.js +0 -65
  205. package/dist/themes/minimal/pages/HomePage.js +0 -25
  206. package/dist/themes/minimal/timeline/ArticleCard.js +0 -36
  207. package/dist/themes/minimal/timeline/ImageCard.js +0 -67
  208. package/dist/themes/minimal/timeline/LinkCard.js +0 -47
  209. package/dist/themes/minimal/timeline/NoteCard.js +0 -34
  210. package/dist/themes/minimal/timeline/TimelineFeed.js +0 -48
  211. package/dist/themes/minimal/timeline/TimelineItem.js +0 -44
  212. package/src/lib/__tests__/theme-components.test.ts +0 -126
  213. package/src/lib/theme-components.ts +0 -68
  214. package/src/routes/api/timeline.tsx +0 -159
  215. package/src/routes/dash/navigation.tsx +0 -316
  216. package/src/theme/components/MediaGallery.tsx +0 -128
  217. package/src/theme/components/PostList.tsx +0 -92
  218. package/src/theme/components/TypeBadge.tsx +0 -37
  219. package/src/theme/components/VisibilityBadge.tsx +0 -45
  220. package/src/theme/components/index.ts +0 -23
  221. package/src/theme/index.ts +0 -22
  222. package/src/theme/layouts/index.ts +0 -7
  223. package/src/themes/minimal/MinimalSiteLayout.tsx +0 -100
  224. package/src/themes/minimal/index.ts +0 -83
  225. package/src/themes/minimal/pages/ArchivePage.tsx +0 -157
  226. package/src/themes/minimal/pages/CollectionPage.tsx +0 -60
  227. package/src/themes/minimal/pages/HomePage.tsx +0 -41
  228. package/src/themes/minimal/pages/PostPage.tsx +0 -43
  229. package/src/themes/minimal/timeline/ArticleCard.tsx +0 -37
  230. package/src/themes/minimal/timeline/ImageCard.tsx +0 -63
  231. package/src/themes/minimal/timeline/LinkCard.tsx +0 -48
  232. package/src/themes/minimal/timeline/NoteCard.tsx +0 -35
  233. package/src/themes/minimal/timeline/QuoteCard.tsx +0 -49
  234. package/src/themes/minimal/timeline/ThreadPreview.tsx +0 -47
  235. package/src/themes/minimal/timeline/TimelineFeed.tsx +0 -57
  236. package/src/themes/minimal/timeline/TimelineItem.tsx +0 -75
  237. /package/dist/{theme → ui}/color-themes.js +0 -0
  238. /package/dist/{theme/components → ui/dash}/ActionButtons.js +0 -0
  239. /package/dist/{theme/components → ui/dash}/CrudPageHeader.js +0 -0
  240. /package/dist/{theme/components → ui/dash}/DangerZone.js +0 -0
  241. /package/dist/{theme/components → ui/dash}/ListItemRow.js +0 -0
  242. /package/dist/{theme/components → ui/shared}/EmptyState.js +0 -0
  243. /package/src/{theme → ui}/color-themes.ts +0 -0
  244. /package/src/{theme/components → ui/dash}/ActionButtons.tsx +0 -0
  245. /package/src/{theme/components → ui/dash}/CrudPageHeader.tsx +0 -0
  246. /package/src/{theme/components → ui/dash}/DangerZone.tsx +0 -0
  247. /package/src/{theme/components → ui/dash}/ListItemRow.tsx +0 -0
  248. /package/src/{theme/components → ui/shared}/EmptyState.tsx +0 -0
@@ -18,8 +18,13 @@ msgstr ""
18
18
  #~ msgid "{count} replies"
19
19
  #~ msgstr "{count} 条回复"
20
20
 
21
+ #. @context: Custom CSS textarea placeholder
22
+ #: src/routes/dash/settings.tsx:364
23
+ msgid "/* Your custom CSS here */"
24
+ msgstr ""
25
+
21
26
  #. @context: Navigation link
22
- #: src/routes/dash/collections.tsx:282
27
+ #: src/routes/dash/collections.tsx:271
23
28
  msgid "← Back to Collections"
24
29
  msgstr "← 返回收藏夹"
25
30
 
@@ -43,28 +48,50 @@ msgstr "302(临时)"
43
48
  msgid "Account"
44
49
  msgstr "账户"
45
50
 
51
+ #. @context: Custom CSS settings description
52
+ #: src/routes/dash/settings.tsx:354
53
+ msgid "Add custom CSS to override any styles. Use data attributes like [data-page], [data-post], [data-format] to target specific elements."
54
+ msgstr ""
55
+
56
+ #. @context: Button to add a navigation link
57
+ #: src/routes/dash/pages.tsx:50
58
+ msgid "Add Link"
59
+ msgstr ""
60
+
46
61
  #. @context: Button to open media picker
47
- #: src/theme/components/PostForm.tsx:190
62
+ #. @context: Compose toolbar - add media
63
+ #: src/ui/compose/ComposeDialog.tsx:219
64
+ #: src/ui/dash/PostForm.tsx:211
48
65
  msgid "Add Media"
49
66
  msgstr "添加媒体"
50
67
 
51
- #. @context: Archive filter - all types
52
- #: src/themes/minimal/pages/ArchivePage.tsx:90
68
+ #. @context: Button to add page to navigation
69
+ #: src/routes/dash/pages.tsx:185
70
+ msgid "Add to nav"
71
+ msgstr ""
72
+
73
+ #. @context: Archive filter - all formats
74
+ #: src/ui/pages/ArchivePage.tsx:71
53
75
  msgid "All"
54
76
  msgstr "所有"
55
77
 
78
+ #. @context: Empty state when all pages are in nav
79
+ #: src/routes/dash/pages.tsx:168
80
+ msgid "All pages are in your navigation."
81
+ msgstr ""
82
+
56
83
  #. @context: Settings sub-navigation tab
57
84
  #: src/routes/dash/settings.tsx:55
58
85
  msgid "Appearance"
59
86
  msgstr "外观"
60
87
 
61
88
  #. @context: Archive page title
62
- #: src/themes/minimal/pages/ArchivePage.tsx:76
89
+ #: src/ui/pages/ArchivePage.tsx:55
63
90
  msgid "Archive"
64
91
  msgstr "档案馆"
65
92
 
66
93
  #. @context: Confirmation dialog when deleting a post from the list
67
- #: src/theme/components/PostList.tsx:56
94
+ #: src/ui/dash/PostList.tsx:60
68
95
  msgid "Are you sure you want to delete this post? This cannot be undone."
69
96
  msgstr ""
70
97
 
@@ -73,19 +100,19 @@ msgstr ""
73
100
  #. @context: Post type option
74
101
  #: src/theme/components/PostForm.tsx:74
75
102
  #: src/theme/components/TypeBadge.tsx:20
76
- #: src/themes/minimal/pages/ArchivePage.tsx:17
77
- msgid "Article"
78
- msgstr "文章"
103
+ #: src/themes/threads/pages/ArchivePage.tsx:17
104
+ #~ msgid "Article"
105
+ #~ msgstr "文章"
79
106
 
80
107
  #. @context: Post type label plural - articles
81
- #: src/themes/minimal/pages/ArchivePage.tsx:42
82
- msgid "Articles"
83
- msgstr "文章"
108
+ #: src/themes/threads/pages/ArchivePage.tsx:42
109
+ #~ msgid "Articles"
110
+ #~ msgstr "文章"
84
111
 
85
112
  #. @context: Hint for image post type media requirement
86
113
  #: src/theme/components/PostForm.tsx:137
87
- msgid "At least 1 image required for image posts."
88
- msgstr "图像帖子至少需要 1 张图片。"
114
+ #~ msgid "At least 1 image required for image posts."
115
+ #~ msgstr "图像帖子至少需要 1 张图片。"
89
116
 
90
117
  #. @context: Button to go back to media list
91
118
  #: src/routes/dash/media.tsx:266
@@ -99,18 +126,18 @@ msgstr "返回"
99
126
  #. @context: Button to cancel form
100
127
  #. @context: Button to cancel form
101
128
  #: src/routes/dash/collections.tsx:186
102
- #: src/routes/dash/collections.tsx:365
103
- #: src/routes/dash/navigation.tsx:192
129
+ #: src/routes/dash/collections.tsx:354
130
+ #: src/routes/dash/pages.tsx:400
104
131
  #: src/routes/dash/redirects.tsx:177
105
- #: src/theme/components/PageForm.tsx:171
106
- #: src/theme/components/PostForm.tsx:333
132
+ #: src/ui/dash/PageForm.tsx:171
133
+ #: src/ui/dash/PostForm.tsx:312
107
134
  msgid "Cancel"
108
135
  msgstr "取消"
109
136
 
110
137
  #. @context: Button to change password
111
138
  #. @context: Settings section heading
112
- #: src/routes/dash/settings.tsx:417
113
- #: src/routes/dash/settings.tsx:482
139
+ #: src/routes/dash/settings.tsx:474
140
+ #: src/routes/dash/settings.tsx:539
114
141
  msgid "Change Password"
115
142
  msgstr "更改密码"
116
143
 
@@ -119,42 +146,56 @@ msgstr "更改密码"
119
146
  msgid "Click image to view full size"
120
147
  msgstr "点击图片查看完整尺寸"
121
148
 
149
+ #. @context: Compose collection field
150
+ #. @context: Compose toolbar - toggle collection
151
+ #: src/ui/compose/ComposeDialog.tsx:191
152
+ #: src/ui/compose/ComposeDialog.tsx:272
153
+ msgid "Collection"
154
+ msgstr ""
155
+
156
+ #. @context: Post form field - assign to collection
157
+ #: src/ui/dash/PostForm.tsx:264
158
+ msgid "Collection (optional)"
159
+ msgstr ""
160
+
161
+ #. @context: Collections page heading
122
162
  #. @context: Dashboard heading
123
163
  #. @context: Dashboard navigation - collections management
124
164
  #: src/routes/dash/collections.tsx:35
125
- #: src/theme/layouts/DashLayout.tsx:114
165
+ #: src/ui/layouts/DashLayout.tsx:114
166
+ #: src/ui/pages/CollectionsPage.tsx:18
126
167
  msgid "Collections"
127
168
  msgstr "收藏夹"
128
169
 
129
170
  #. @context: Post form field - assign to collections
130
171
  #: src/theme/components/PostForm.tsx:273
131
- msgid "Collections (optional)"
132
- msgstr "集合(可选)"
172
+ #~ msgid "Collections (optional)"
173
+ #~ msgstr "集合(可选)"
133
174
 
134
175
  #. @context: Appearance settings heading
135
- #: src/routes/dash/settings.tsx:311
176
+ #: src/routes/dash/settings.tsx:315
136
177
  msgid "Color theme"
137
178
  msgstr "颜色主题"
138
179
 
139
180
  #. @context: Setup form submit button
140
- #: src/app.tsx:277
181
+ #: src/app.tsx:289
141
182
  msgid "Complete Setup"
142
183
  msgstr "完成设置"
143
184
 
144
185
  #. @context: Password form field
145
- #: src/routes/dash/settings.tsx:459
186
+ #: src/routes/dash/settings.tsx:516
146
187
  msgid "Confirm New Password"
147
188
  msgstr "确认新密码"
148
189
 
149
190
  #. @context: Password reset form field
150
- #: src/app.tsx:538
191
+ #: src/app.tsx:562
151
192
  msgid "Confirm Password"
152
193
  msgstr "确认密码"
153
194
 
154
195
  #. @context: Page form field label - content
155
196
  #. @context: Post form field
156
- #: src/theme/components/PageForm.tsx:96
157
- #: src/theme/components/PostForm.tsx:110
197
+ #: src/ui/dash/PageForm.tsx:96
198
+ #: src/ui/dash/PostForm.tsx:104
158
199
  msgid "Content"
159
200
  msgstr "内容"
160
201
 
@@ -171,12 +212,12 @@ msgid "Create Collection"
171
212
  msgstr "创建集合"
172
213
 
173
214
  #. @context: Button to save new navigation link
174
- #: src/routes/dash/navigation.tsx:178
215
+ #: src/routes/dash/pages.tsx:386
175
216
  msgid "Create Link"
176
217
  msgstr "创建链接"
177
218
 
178
219
  #. @context: Button to create new page
179
- #: src/theme/components/PageForm.tsx:157
220
+ #: src/ui/dash/PageForm.tsx:157
180
221
  msgid "Create Page"
181
222
  msgstr "创建页面"
182
223
 
@@ -186,53 +227,68 @@ msgid "Create Redirect"
186
227
  msgstr "创建重定向"
187
228
 
188
229
  #. @context: Setup page description
189
- #: src/app.tsx:217
230
+ #: src/app.tsx:229
190
231
  msgid "Create your admin account."
191
232
  msgstr "创建您的管理员账户。"
192
233
 
193
234
  #. @context: Button in empty state to create first page
194
- #: src/routes/dash/pages.tsx:50
195
- msgid "Create your first page"
196
- msgstr "创建您的第一页"
235
+ #: src/routes/dash/pages.tsx:48
236
+ #~ msgid "Create your first page"
237
+ #~ msgstr "创建您的第一页"
197
238
 
198
239
  #. @context: Button in empty state to create first post
199
- #: src/theme/components/PostList.tsx:29
240
+ #: src/ui/dash/PostList.tsx:29
200
241
  msgid "Create your first post"
201
242
  msgstr "创建你的第一篇帖子"
202
243
 
203
244
  #. @context: Password form field
204
- #: src/routes/dash/settings.tsx:426
245
+ #: src/routes/dash/settings.tsx:483
205
246
  msgid "Current Password"
206
247
  msgstr "当前密码"
207
248
 
249
+ #. @context: Appearance settings heading for custom CSS
250
+ #: src/routes/dash/settings.tsx:348
251
+ msgid "Custom CSS"
252
+ msgstr ""
253
+
208
254
  #. @context: Post form field
209
255
  #: src/theme/components/PostForm.tsx:297
210
- msgid "Custom Path (optional)"
211
- msgstr "自定义路径(可选)"
256
+ #~ msgid "Custom Path (optional)"
257
+ #~ msgstr "自定义路径(可选)"
258
+
259
+ #. @context: Post form field
260
+ #: src/theme/components/PostForm.tsx:293
261
+ #~ msgid "Custom Slug (optional)"
262
+ #~ msgstr ""
263
+
264
+ #. @context: Slug help text
265
+ #: src/theme/components/PostForm.tsx:306
266
+ #~ msgid "Custom URL path. Leave empty to use default /p/ID format."
267
+ #~ msgstr ""
212
268
 
213
269
  #. @context: Section heading for dangerous/destructive actions
214
- #: src/theme/components/DangerZone.tsx:55
270
+ #: src/ui/dash/DangerZone.tsx:55
215
271
  msgid "Danger Zone"
216
272
  msgstr "危险区域"
217
273
 
218
274
  #. @context: Dashboard main heading
219
275
  #. @context: Dashboard navigation - main dashboard page
220
276
  #: src/routes/dash/index.tsx:36
221
- #: src/theme/layouts/DashLayout.tsx:78
277
+ #: src/ui/layouts/DashLayout.tsx:78
222
278
  msgid "Dashboard"
223
279
  msgstr "仪表板"
224
280
 
225
281
  #. @context: Button to delete item
226
- #. @context: Button to delete navigation link
282
+ #. @context: Button to delete link
227
283
  #. @context: Button to delete redirect
228
- #: src/routes/dash/navigation.tsx:66
284
+ #: src/routes/dash/pages.tsx:120
229
285
  #: src/routes/dash/redirects.tsx:60
230
- #: src/theme/components/ActionButtons.tsx:80
286
+ #: src/ui/dash/ActionButtons.tsx:80
231
287
  msgid "Delete"
232
288
  msgstr "删除"
233
289
 
234
290
  #. @context: Button to delete collection
235
- #: src/routes/dash/collections.tsx:374
291
+ #: src/routes/dash/collections.tsx:363
236
292
  msgid "Delete Collection"
237
293
  msgstr "删除收藏夹"
238
294
 
@@ -242,7 +298,7 @@ msgid "Delete Media"
242
298
  msgstr "删除媒体"
243
299
 
244
300
  #. @context: Button to delete page
245
- #: src/routes/dash/pages.tsx:160
301
+ #: src/routes/dash/pages.tsx:278
246
302
  msgid "Delete Page"
247
303
  msgstr "删除页面"
248
304
 
@@ -252,33 +308,37 @@ msgid "Deleting this media will remove it permanently from storage."
252
308
  msgstr "删除此媒体将永久从存储中移除。"
253
309
 
254
310
  #. @context: Hint shown on signin page when demo credentials are pre-filled
255
- #: src/app.tsx:376
311
+ #: src/app.tsx:400
256
312
  msgid "Demo account pre-filled. Just click Sign In."
257
313
  msgstr "演示账户已预填。只需点击登录。"
258
314
 
259
315
  #. @context: Collection form field
260
316
  #. @context: Collection form field
261
317
  #: src/routes/dash/collections.tsx:153
262
- #: src/routes/dash/collections.tsx:338
318
+ #: src/routes/dash/collections.tsx:327
263
319
  msgid "Description (optional)"
264
320
  msgstr "描述(可选)"
265
321
 
266
322
  #. @context: Navigation label help text
267
- #: src/routes/dash/navigation.tsx:140
323
+ #: src/routes/dash/pages.tsx:348
268
324
  msgid "Display text for the link"
269
325
  msgstr "链接的显示文本"
270
326
 
271
327
  #. @context: Close media picker button
272
- #: src/theme/components/PostForm.tsx:355
328
+ #. @context: Close media picker button
329
+ #: src/ui/compose/ComposeDialog.tsx:375
330
+ #: src/ui/dash/PostForm.tsx:334
273
331
  msgid "Done"
274
332
  msgstr "完成"
275
333
 
334
+ #. @context: Compose button - save as draft
276
335
  #. @context: Page status option - draft
277
- #. @context: Post visibility badge - draft
278
- #. @context: Post visibility option
279
- #: src/theme/components/PageForm.tsx:133
280
- #: src/theme/components/PostForm.tsx:261
281
- #: src/theme/components/VisibilityBadge.tsx:38
336
+ #. @context: Post status badge - draft
337
+ #. @context: Post status option
338
+ #: src/ui/compose/ComposeDialog.tsx:326
339
+ #: src/ui/dash/PageForm.tsx:133
340
+ #: src/ui/dash/PostForm.tsx:234
341
+ #: src/ui/dash/StatusBadge.tsx:34
282
342
  msgid "Draft"
283
343
  msgstr "草稿"
284
344
 
@@ -289,74 +349,87 @@ msgstr "草稿"
289
349
 
290
350
  #. @context: Source name placeholder
291
351
  #: src/theme/components/PostForm.tsx:226
292
- msgid "e.g. The Verge, John Doe"
293
- msgstr "例如:The Verge,John Doe"
352
+ #~ msgid "e.g. The Verge, John Doe"
353
+ #~ msgstr "例如:The Verge,John Doe"
294
354
 
295
355
  #. @context: Button to edit collection
296
356
  #. @context: Button to edit collection
297
357
  #. @context: Button to edit item
298
- #. @context: Button to edit navigation link
358
+ #. @context: Button to edit link
359
+ #. @context: Button to edit page
299
360
  #. @context: Button to edit page
300
361
  #. @context: Button to edit page
301
362
  #. @context: Button to edit post
302
363
  #. @context: Button to edit post
303
364
  #: src/routes/dash/collections.tsx:66
304
365
  #: src/routes/dash/collections.tsx:220
305
- #: src/routes/dash/navigation.tsx:61
306
- #: src/routes/dash/pages.tsx:64
307
- #: src/routes/dash/pages.tsx:134
308
- #: src/routes/dash/posts.tsx:142
309
- #: src/theme/components/ActionButtons.tsx:72
310
- #: src/theme/components/PostList.tsx:46
366
+ #: src/routes/dash/pages.tsx:94
367
+ #: src/routes/dash/pages.tsx:115
368
+ #: src/routes/dash/pages.tsx:192
369
+ #: src/routes/dash/pages.tsx:256
370
+ #: src/routes/dash/posts.tsx:140
371
+ #: src/ui/dash/ActionButtons.tsx:72
372
+ #: src/ui/dash/PostList.tsx:50
311
373
  msgid "Edit"
312
374
  msgstr "编辑"
313
375
 
314
376
  #. @context: Page heading
315
- #: src/routes/dash/collections.tsx:304
377
+ #: src/routes/dash/collections.tsx:293
316
378
  msgid "Edit Collection"
317
379
  msgstr "编辑集合"
318
380
 
319
381
  #. @context: Page heading
320
- #: src/routes/dash/navigation.tsx:105
382
+ #: src/routes/dash/pages.tsx:313
321
383
  msgid "Edit Link"
322
384
  msgstr "编辑链接"
323
385
 
324
386
  #. @context: Edit page main heading
325
- #: src/routes/dash/pages.tsx:176
387
+ #: src/routes/dash/pages.tsx:294
326
388
  msgid "Edit Page"
327
389
  msgstr "编辑页面"
328
390
 
329
391
  #. @context: Page heading
330
- #: src/routes/dash/posts.tsx:187
392
+ #: src/routes/dash/posts.tsx:183
331
393
  msgid "Edit Post"
332
394
  msgstr "编辑帖子"
333
395
 
334
396
  #. @context: Setup/signin form field - email
335
397
  #. @context: Setup/signin form field - email
336
- #: src/app.tsx:247
337
- #: src/app.tsx:391
398
+ #: src/app.tsx:259
399
+ #: src/app.tsx:415
338
400
  msgid "Email"
339
401
  msgstr "电子邮件"
340
402
 
341
403
  #. @context: Password reset page description
342
- #: src/app.tsx:507
404
+ #: src/app.tsx:531
343
405
  msgid "Enter your new password."
344
406
  msgstr "输入您的新密码。"
345
407
 
346
- #. @context: Post visibility badge - featured
347
- #. @context: Post visibility option
348
- #: src/theme/components/PostForm.tsx:249
349
- #: src/theme/components/VisibilityBadge.tsx:26
408
+ #. @context: Archive filter - featured posts
409
+ #. @context: Browse filter for featured posts
410
+ #. @context: Compose checkbox - mark as featured
411
+ #. @context: Post badge - featured
412
+ #. @context: Post form checkbox - mark as featured
413
+ #: src/ui/compose/ComposeDialog.tsx:305
414
+ #: src/ui/dash/PostForm.tsx:246
415
+ #: src/ui/dash/StatusBadge.tsx:45
416
+ #: src/ui/layouts/SiteLayout.tsx:49
417
+ #: src/ui/pages/ArchivePage.tsx:92
350
418
  msgid "Featured"
351
419
  msgstr "精选"
352
420
 
421
+ #. @context: Post form field - post format
422
+ #: src/ui/dash/PostForm.tsx:64
423
+ msgid "Format"
424
+ msgstr ""
425
+
353
426
  #. @context: Search results count - multiple
354
- #: src/themes/minimal/pages/SearchPage.tsx:73
427
+ #: src/ui/pages/SearchPage.tsx:73
355
428
  msgid "Found {count} results"
356
429
  msgstr "找到 {count} 个结果"
357
430
 
358
431
  #. @context: Search results count - single
359
- #: src/themes/minimal/pages/SearchPage.tsx:69
432
+ #: src/ui/pages/SearchPage.tsx:69
360
433
  msgid "Found 1 result"
361
434
  msgstr "找到 1 个结果"
362
435
 
@@ -377,14 +450,14 @@ msgstr "常规"
377
450
  #. @context: Post type option
378
451
  #: src/theme/components/PostForm.tsx:83
379
452
  #: src/theme/components/TypeBadge.tsx:29
380
- #: src/themes/minimal/pages/ArchivePage.tsx:26
381
- msgid "Image"
382
- msgstr "图像"
453
+ #: src/themes/threads/pages/ArchivePage.tsx:26
454
+ #~ msgid "Image"
455
+ #~ msgstr "图像"
383
456
 
384
457
  #. @context: Post type label plural - images
385
- #: src/themes/minimal/pages/ArchivePage.tsx:54
386
- msgid "Images"
387
- msgstr "图片"
458
+ #: src/themes/threads/pages/ArchivePage.tsx:54
459
+ #~ msgid "Images"
460
+ #~ msgstr "图片"
388
461
 
389
462
  #. @context: Media upload instructions - auto optimization
390
463
  #: src/routes/dash/media.tsx:171
@@ -392,12 +465,12 @@ msgid "Images are automatically optimized: resized to max 1920px, converted to W
392
465
  msgstr "图像会自动优化:调整大小至最大 1920px,转换为 WebP,并去除元数据。"
393
466
 
394
467
  #. @context: Password reset error heading
395
- #: src/app.tsx:582
468
+ #: src/app.tsx:606
396
469
  msgid "Invalid or Expired Link"
397
470
  msgstr "无效或过期的链接"
398
471
 
399
472
  #. @context: Navigation link form field
400
- #: src/routes/dash/navigation.tsx:127
473
+ #: src/routes/dash/pages.tsx:335
401
474
  msgid "Label"
402
475
  msgstr "标签"
403
476
 
@@ -406,34 +479,46 @@ msgstr "标签"
406
479
  msgid "Language"
407
480
  msgstr "语言"
408
481
 
409
- #. @context: Post type badge - link
410
- #. @context: Post type label - link
411
- #. @context: Post type option
412
- #: src/theme/components/PostForm.tsx:77
413
- #: src/theme/components/TypeBadge.tsx:24
414
- #: src/themes/minimal/pages/ArchivePage.tsx:21
482
+ #. @context: Browse filter for latest posts
483
+ #: src/ui/layouts/SiteLayout.tsx:42
484
+ msgid "Latest"
485
+ msgstr ""
486
+
487
+ #. @context: Nav item type badge
488
+ #: src/routes/dash/pages.tsx:145
489
+ msgid "link"
490
+ msgstr ""
491
+
492
+ #. @context: Compose format tab
493
+ #. @context: Post format badge - link
494
+ #. @context: Post format label - link
495
+ #. @context: Post format option
496
+ #: src/ui/compose/ComposeDialog.tsx:101
497
+ #: src/ui/dash/FormatBadge.tsx:20
498
+ #: src/ui/dash/PostForm.tsx:74
499
+ #: src/ui/pages/ArchivePage.tsx:17
415
500
  msgid "Link"
416
501
  msgstr "链接"
417
502
 
418
- #. @context: Post type label plural - links
419
- #: src/themes/minimal/pages/ArchivePage.tsx:46
503
+ #. @context: Post format label plural - links
504
+ #: src/ui/pages/ArchivePage.tsx:33
420
505
  msgid "Links"
421
506
  msgstr "链接"
422
507
 
423
- #. @context: Button to load more posts in timeline
424
508
  #. @context: Pagination button - load more items
425
- #: src/theme/components/Pagination.tsx:103
426
- #: src/themes/minimal/timeline/TimelineFeed.tsx:48
509
+ #: src/ui/shared/Pagination.tsx:104
427
510
  msgid "Load more"
428
511
  msgstr "加载更多"
429
512
 
430
513
  #. @context: Loading state for media picker
431
- #: src/theme/components/PostForm.tsx:366
514
+ #. @context: Loading state for media picker
515
+ #: src/ui/compose/ComposeDialog.tsx:386
516
+ #: src/ui/dash/PostForm.tsx:345
432
517
  msgid "Loading..."
433
518
  msgstr "加载中..."
434
519
 
435
- #. @context: Page path validation message
436
- #: src/theme/components/PageForm.tsx:77
520
+ #. @context: Page slug validation message
521
+ #: src/ui/dash/PageForm.tsx:77
437
522
  msgid "Lowercase letters, numbers, and hyphens only"
438
523
  msgstr "仅允许小写字母、数字和连字符"
439
524
 
@@ -446,8 +531,8 @@ msgstr "Markdown"
446
531
  #. @context: Media main heading
447
532
  #. @context: Post form field - media attachments
448
533
  #: src/routes/dash/media.tsx:151
449
- #: src/theme/components/PostForm.tsx:128
450
- #: src/theme/layouts/DashLayout.tsx:105
534
+ #: src/ui/dash/PostForm.tsx:158
535
+ #: src/ui/layouts/DashLayout.tsx:105
451
536
  msgid "Media"
452
537
  msgstr "媒体"
453
538
 
@@ -457,7 +542,7 @@ msgid "My Collection"
457
542
  msgstr "我的收藏"
458
543
 
459
544
  #. @context: Account settings form field
460
- #: src/routes/dash/settings.tsx:373
545
+ #: src/routes/dash/settings.tsx:430
461
546
  msgid "Name"
462
547
  msgstr "姓名"
463
548
 
@@ -465,8 +550,8 @@ msgstr "姓名"
465
550
  #. @context: Dashboard navigation - navigation links management
466
551
  #: src/routes/dash/navigation.tsx:29
467
552
  #: src/theme/layouts/DashLayout.tsx:133
468
- msgid "Navigation"
469
- msgstr "导航"
553
+ #~ msgid "Navigation"
554
+ #~ msgstr "导航"
470
555
 
471
556
  #. @context: Help text with link
472
557
  #: src/routes/dash/index.tsx:78
@@ -482,35 +567,33 @@ msgstr "需要帮助吗?访问<0>文档</0>。"
482
567
  msgid "New Collection"
483
568
  msgstr "新收藏"
484
569
 
485
- #. @context: Button to create new navigation link
486
- #. @context: Button to create new navigation link
487
570
  #. @context: Page heading
488
- #: src/routes/dash/navigation.tsx:33
489
- #: src/routes/dash/navigation.tsx:46
490
- #: src/routes/dash/navigation.tsx:106
571
+ #: src/routes/dash/pages.tsx:314
491
572
  msgid "New Link"
492
573
  msgstr "新链接"
493
574
 
494
575
  #. @context: Button to create new page
495
576
  #. @context: New page main heading
496
- #: src/routes/dash/pages.tsx:37
497
- #: src/routes/dash/pages.tsx:110
577
+ #: src/routes/dash/pages.tsx:56
578
+ #: src/routes/dash/pages.tsx:232
498
579
  msgid "New Page"
499
580
  msgstr "新页面"
500
581
 
501
582
  #. @context: Password form field
502
583
  #. @context: Password reset form field
503
- #: src/app.tsx:522
504
- #: src/routes/dash/settings.tsx:442
584
+ #: src/app.tsx:546
585
+ #: src/routes/dash/settings.tsx:499
505
586
  msgid "New Password"
506
587
  msgstr "新密码"
507
588
 
508
589
  #. @context: Button to create new post
509
590
  #. @context: Button to create new post
591
+ #. @context: Compose dialog title
510
592
  #. @context: Page heading
511
593
  #: src/routes/dash/index.tsx:68
512
594
  #: src/routes/dash/posts.tsx:30
513
595
  #: src/routes/dash/posts.tsx:46
596
+ #: src/ui/compose/ComposeDialog.tsx:66
514
597
  msgid "New Post"
515
598
  msgstr "新帖子"
516
599
 
@@ -525,16 +608,23 @@ msgstr "新重定向"
525
608
 
526
609
  #. @context: Pagination button - next page
527
610
  #. @context: Pagination button - next page
528
- #: src/theme/components/Pagination.tsx:49
529
- #: src/theme/components/Pagination.tsx:160
611
+ #: src/ui/shared/Pagination.tsx:50
612
+ #: src/ui/shared/Pagination.tsx:167
530
613
  msgid "Next"
531
614
  msgstr "下一页"
532
615
 
533
616
  #. @context: Empty state message
617
+ #. @context: Empty state message on collections page
534
618
  #: src/routes/dash/collections.tsx:48
619
+ #: src/ui/pages/CollectionsPage.tsx:28
535
620
  msgid "No collections yet."
536
621
  msgstr "尚未有任何收藏。"
537
622
 
623
+ #. @context: Empty state message on featured page
624
+ #: src/ui/pages/FeaturedPage.tsx:20
625
+ msgid "No featured posts yet."
626
+ msgstr ""
627
+
538
628
  #. @context: Empty state message when no media exists
539
629
  #: src/routes/dash/media.tsx:186
540
630
  msgid "No media uploaded yet."
@@ -542,30 +632,35 @@ msgstr "尚未上传任何媒体。"
542
632
 
543
633
  #. @context: Empty state message
544
634
  #: src/routes/dash/navigation.tsx:42
545
- msgid "No navigation links configured."
546
- msgstr "未配置导航链接。"
635
+ #~ msgid "No navigation links configured."
636
+ #~ msgstr "未配置导航链接。"
637
+
638
+ #. @context: Empty state for navigation section
639
+ #: src/routes/dash/pages.tsx:74
640
+ msgid "No navigation links yet. Add pages to navigation or create links."
641
+ msgstr ""
547
642
 
548
643
  #. @context: Empty state message when no pages exist
549
- #: src/routes/dash/pages.tsx:46
550
- msgid "No pages yet."
551
- msgstr "还没有页面。"
644
+ #: src/routes/dash/pages.tsx:44
645
+ #~ msgid "No pages yet."
646
+ #~ msgstr "还没有页面。"
552
647
 
553
648
  #. @context: Archive empty state
554
- #: src/themes/minimal/pages/ArchivePage.tsx:110
649
+ #: src/ui/pages/ArchivePage.tsx:103
555
650
  msgid "No posts found."
556
651
  msgstr "未找到帖子。"
557
652
 
558
653
  #. @context: Empty state message
559
654
  #. @context: Empty state message
560
655
  #: src/routes/dash/collections.tsx:243
561
- #: src/themes/minimal/pages/CollectionPage.tsx:29
656
+ #: src/ui/pages/CollectionPage.tsx:29
562
657
  msgid "No posts in this collection."
563
658
  msgstr "此集合中没有帖子。"
564
659
 
565
660
  #. @context: Empty state message on home page
566
661
  #. @context: Empty state message when no posts exist
567
- #: src/theme/components/PostList.tsx:25
568
- #: src/themes/minimal/pages/HomePage.tsx:26
662
+ #: src/ui/dash/PostList.tsx:25
663
+ #: src/ui/pages/HomePage.tsx:23
569
664
  msgid "No posts yet."
570
665
  msgstr "还没有帖子。"
571
666
 
@@ -575,95 +670,138 @@ msgid "No redirects configured."
575
670
  msgstr "未配置重定向。"
576
671
 
577
672
  #. @context: Search empty results
578
- #: src/themes/minimal/pages/SearchPage.tsx:64
673
+ #: src/ui/pages/SearchPage.tsx:64
579
674
  msgid "No results found."
580
675
  msgstr "未找到结果。"
581
676
 
582
- #. @context: Post type badge - note
583
- #. @context: Post type label - note
584
- #. @context: Post type option
585
- #: src/theme/components/PostForm.tsx:71
586
- #: src/theme/components/TypeBadge.tsx:19
587
- #: src/themes/minimal/pages/ArchivePage.tsx:16
677
+ #. @context: No collection selected
678
+ #. @context: No collection selected
679
+ #. @context: No rating selected
680
+ #: src/ui/compose/ComposeDialog.tsx:174
681
+ #: src/ui/compose/ComposeDialog.tsx:198
682
+ #: src/ui/dash/PostForm.tsx:271
683
+ msgid "None"
684
+ msgstr ""
685
+
686
+ #. @context: Compose format tab
687
+ #. @context: Post format badge - note
688
+ #. @context: Post format label - note
689
+ #. @context: Post format option
690
+ #: src/ui/compose/ComposeDialog.tsx:90
691
+ #: src/ui/dash/FormatBadge.tsx:19
692
+ #: src/ui/dash/PostForm.tsx:71
693
+ #: src/ui/pages/ArchivePage.tsx:16
588
694
  msgid "Note"
589
695
  msgstr "注意"
590
696
 
591
- #. @context: Post type label plural - notes
592
- #: src/themes/minimal/pages/ArchivePage.tsx:38
697
+ #. @context: Post format label plural - notes
698
+ #: src/ui/pages/ArchivePage.tsx:29
593
699
  msgid "Notes"
594
700
  msgstr "笔记"
595
701
 
702
+ #. @context: Section heading for pages not in navigation
703
+ #: src/routes/dash/pages.tsx:161
704
+ msgid "Other pages"
705
+ msgstr ""
706
+
707
+ #. @context: Nav item type badge
708
+ #: src/routes/dash/pages.tsx:141
709
+ msgid "page"
710
+ msgstr ""
711
+
596
712
  #. @context: Default page heading when untitled
597
- #. @context: Post type badge - page
598
- #. @context: Post type label - page
599
- #: src/routes/dash/pages.tsx:125
600
- #: src/theme/components/TypeBadge.tsx:33
601
- #: src/themes/minimal/pages/ArchivePage.tsx:30
713
+ #: src/routes/dash/pages.tsx:247
602
714
  msgid "Page"
603
715
  msgstr "页面"
604
716
 
605
717
  #. @context: Pagination - current page indicator
606
- #: src/theme/components/Pagination.tsx:164
718
+ #: src/ui/shared/Pagination.tsx:227
607
719
  msgid "Page {page}"
608
720
  msgstr "页面 {page}"
609
721
 
610
722
  #. @context: Page content placeholder
611
- #: src/theme/components/PageForm.tsx:104
723
+ #: src/ui/dash/PageForm.tsx:104
612
724
  msgid "Page content (Markdown supported)..."
613
725
  msgstr "页面内容(支持Markdown)..."
614
726
 
615
727
  #. @context: Page title placeholder
616
- #: src/theme/components/PageForm.tsx:53
728
+ #: src/ui/dash/PageForm.tsx:53
617
729
  msgid "Page title..."
618
730
  msgstr "页面标题..."
619
731
 
620
732
  #. @context: Dashboard navigation - pages management
621
733
  #. @context: Pages main heading
622
- #. @context: Post type label plural - pages
623
- #: src/routes/dash/pages.tsx:36
624
- #: src/theme/layouts/DashLayout.tsx:96
625
- #: src/themes/minimal/pages/ArchivePage.tsx:58
734
+ #: src/routes/dash/pages.tsx:43
735
+ #: src/ui/layouts/DashLayout.tsx:96
626
736
  msgid "Pages"
627
737
  msgstr "页面"
628
738
 
629
739
  #. @context: Setup/signin form field - password
630
740
  #. @context: Setup/signin form field - password
631
- #: src/app.tsx:262
632
- #: src/app.tsx:400
741
+ #: src/app.tsx:274
742
+ #: src/app.tsx:424
633
743
  msgid "Password"
634
744
  msgstr "密码"
635
745
 
636
746
  #. @context: Page form field label - URL path
637
747
  #: src/theme/components/PageForm.tsx:64
638
- msgid "Path"
639
- msgstr "路径"
748
+ #~ msgid "Path"
749
+ #~ msgstr "路径"
640
750
 
641
751
  #. @context: Navigation URL help text
642
- #: src/routes/dash/navigation.tsx:162
752
+ #: src/routes/dash/pages.tsx:370
643
753
  msgid "Path (e.g. /archive) or full URL (e.g. https://example.com)"
644
754
  msgstr "路径(例如 /archive)或完整 URL(例如 https://example.com)"
645
755
 
646
756
  #. @context: Link to individual post in thread
647
757
  #. @context: Link to permanent URL of post
648
- #: src/theme/components/ThreadView.tsx:68
649
- #: src/themes/minimal/pages/PostPage.tsx:35
758
+ #: src/ui/pages/PostPage.tsx:48
759
+ #: src/ui/shared/ThreadView.tsx:71
650
760
  msgid "Permalink"
651
761
  msgstr "永久链接"
652
762
 
763
+ #. @context: Compose checkbox - pin to top
764
+ #. @context: Post badge - pinned
765
+ #. @context: Post form checkbox - pin to top
766
+ #: src/ui/compose/ComposeDialog.tsx:312
767
+ #: src/ui/dash/PostForm.tsx:253
768
+ #: src/ui/dash/StatusBadge.tsx:53
769
+ msgid "Pinned"
770
+ msgstr ""
771
+
772
+ #. @context: Singular post count label
773
+ #: src/ui/pages/CollectionsPage.tsx:56
774
+ msgid "post"
775
+ msgstr ""
776
+
777
+ #. @context: Compose button - publish post
778
+ #. @context: Compose prompt post button
653
779
  #. @context: Default post title
654
- #: src/routes/dash/posts.tsx:131
780
+ #: src/routes/dash/posts.tsx:128
781
+ #: src/ui/compose/ComposeDialog.tsx:339
782
+ #: src/ui/compose/ComposePrompt.tsx:48
655
783
  msgid "Post"
656
784
  msgstr "帖子"
657
785
 
658
786
  #. @context: Post title placeholder
659
- #: src/theme/components/PostForm.tsx:100
787
+ #: src/ui/dash/PostForm.tsx:94
660
788
  msgid "Post title..."
661
789
  msgstr "帖子标题..."
662
790
 
791
+ #. @context: Compose loading text while posting
792
+ #: src/ui/compose/ComposeDialog.tsx:345
793
+ msgid "Posting..."
794
+ msgstr ""
795
+
796
+ #. @context: Plural post count label
797
+ #: src/ui/pages/CollectionsPage.tsx:60
798
+ msgid "posts"
799
+ msgstr ""
800
+
663
801
  #. @context: Dashboard heading
664
802
  #. @context: Dashboard navigation - posts management
665
803
  #: src/routes/dash/posts.tsx:29
666
- #: src/theme/layouts/DashLayout.tsx:87
804
+ #: src/ui/layouts/DashLayout.tsx:87
667
805
  msgid "Posts"
668
806
  msgstr "帖子"
669
807
 
@@ -679,8 +817,8 @@ msgstr "预览"
679
817
 
680
818
  #. @context: Pagination button - previous page
681
819
  #. @context: Pagination button - previous page
682
- #: src/theme/components/Pagination.tsx:45
683
- #: src/theme/components/Pagination.tsx:156
820
+ #: src/ui/shared/Pagination.tsx:46
821
+ #: src/ui/shared/Pagination.tsx:163
684
822
  msgid "Previous"
685
823
  msgstr "上一页"
686
824
 
@@ -696,44 +834,55 @@ msgstr "上一页"
696
834
  #. @context: Loading text shown on submit button while request is in progress
697
835
  #. @context: Loading text shown on submit button while request is in progress
698
836
  #. @context: Loading text shown on submit button while request is in progress
837
+ #. @context: Loading text shown on submit button while request is in progress
699
838
  #. @context: Upload status - processing
700
- #: src/app.tsx:283
701
- #: src/app.tsx:420
702
- #: src/app.tsx:560
839
+ #: src/app.tsx:295
840
+ #: src/app.tsx:444
841
+ #: src/app.tsx:584
703
842
  #: src/routes/dash/collections.tsx:178
704
- #: src/routes/dash/collections.tsx:357
843
+ #: src/routes/dash/collections.tsx:346
705
844
  #: src/routes/dash/media.tsx:119
706
- #: src/routes/dash/navigation.tsx:184
845
+ #: src/routes/dash/pages.tsx:392
707
846
  #: src/routes/dash/redirects.tsx:169
708
847
  #: src/routes/dash/settings.tsx:200
709
- #: src/routes/dash/settings.tsx:400
710
- #: src/routes/dash/settings.tsx:488
711
- #: src/theme/components/PageForm.tsx:163
712
- #: src/theme/components/PostForm.tsx:325
848
+ #: src/routes/dash/settings.tsx:384
849
+ #: src/routes/dash/settings.tsx:457
850
+ #: src/routes/dash/settings.tsx:545
851
+ #: src/ui/dash/PageForm.tsx:163
852
+ #: src/ui/dash/PostForm.tsx:304
713
853
  msgid "Processing..."
714
854
  msgstr "处理中..."
715
855
 
716
856
  #. @context: Account settings section heading
717
- #: src/routes/dash/settings.tsx:364
857
+ #: src/routes/dash/settings.tsx:421
718
858
  msgid "Profile"
719
859
  msgstr "个人资料"
720
860
 
721
861
  #. @context: Button to publish new post
722
- #: src/theme/components/PostForm.tsx:319
862
+ #: src/ui/dash/PostForm.tsx:298
723
863
  msgid "Publish"
724
864
  msgstr "发布"
725
865
 
726
866
  #. @context: Page status option - published
867
+ #. @context: Post status badge - published
727
868
  #. @context: Post status label
869
+ #. @context: Post status option
728
870
  #: src/routes/dash/index.tsx:45
729
- #: src/theme/components/PageForm.tsx:127
871
+ #: src/ui/dash/PageForm.tsx:127
872
+ #: src/ui/dash/PostForm.tsx:228
873
+ #: src/ui/dash/StatusBadge.tsx:30
730
874
  msgid "Published"
731
875
  msgstr "已发布"
732
876
 
733
877
  #. @context: Page status helper text
734
878
  #: src/theme/components/PageForm.tsx:140
735
- msgid "Published pages are accessible via their path. Drafts are not visible."
736
- msgstr "已发布的页面可以通过其路径访问。草稿不可见。"
879
+ #~ msgid "Published pages are accessible via their path. Drafts are not visible."
880
+ #~ msgstr "已发布的页面可以通过其路径访问。草稿不可见。"
881
+
882
+ #. @context: Page status helper text
883
+ #: src/ui/dash/PageForm.tsx:140
884
+ msgid "Published pages are accessible via their slug. Drafts are not visible."
885
+ msgstr ""
737
886
 
738
887
  #. @context: Dashboard section title
739
888
  #: src/routes/dash/index.tsx:62
@@ -742,56 +891,73 @@ msgstr "快速操作"
742
891
 
743
892
  #. @context: Post visibility badge - normal
744
893
  #: src/theme/components/VisibilityBadge.tsx:30
745
- msgid "Quiet"
746
- msgstr "安静"
894
+ #~ msgid "Quiet"
895
+ #~ msgstr "安静"
747
896
 
748
897
  #. @context: Post visibility option
749
898
  #: src/theme/components/PostForm.tsx:243
750
- msgid "Quiet (normal)"
751
- msgstr "安静(正常)"
752
-
753
- #. @context: Post type badge - quote
754
- #. @context: Post type label - quote
755
- #. @context: Post type option
756
- #: src/theme/components/PostForm.tsx:80
757
- #: src/theme/components/TypeBadge.tsx:25
758
- #: src/themes/minimal/pages/ArchivePage.tsx:22
899
+ #~ msgid "Quiet (normal)"
900
+ #~ msgstr "安静(正常)"
901
+
902
+ #. @context: Compose format tab
903
+ #. @context: Post format badge - quote
904
+ #. @context: Post format label - quote
905
+ #. @context: Post format option
906
+ #: src/ui/compose/ComposeDialog.tsx:112
907
+ #: src/ui/dash/FormatBadge.tsx:21
908
+ #: src/ui/dash/PostForm.tsx:77
909
+ #: src/ui/pages/ArchivePage.tsx:18
759
910
  msgid "Quote"
760
911
  msgstr "引用"
761
912
 
762
- #. @context: Post type label plural - quotes
763
- #: src/themes/minimal/pages/ArchivePage.tsx:50
913
+ #. @context: Post form field - quoted text
914
+ #: src/ui/dash/PostForm.tsx:137
915
+ msgid "Quote Text"
916
+ msgstr ""
917
+
918
+ #. @context: Post format label plural - quotes
919
+ #: src/ui/pages/ArchivePage.tsx:37
764
920
  msgid "Quotes"
765
921
  msgstr "引用"
766
922
 
923
+ #. @context: Compose rating field
924
+ #. @context: Compose toolbar - toggle rating
925
+ #: src/ui/compose/ComposeDialog.tsx:167
926
+ #: src/ui/compose/ComposeDialog.tsx:246
927
+ msgid "Rating"
928
+ msgstr ""
929
+
767
930
  #. @context: Dashboard heading
768
931
  #. @context: Dashboard navigation - URL redirects
769
932
  #: src/routes/dash/redirects.tsx:29
770
- #: src/theme/layouts/DashLayout.tsx:124
933
+ #: src/ui/layouts/DashLayout.tsx:124
771
934
  msgid "Redirects"
772
935
  msgstr "重定向"
773
936
 
774
- #. @context: Button to remove post from collection
775
937
  #. @context: Remove media attachment button
776
- #: src/routes/dash/collections.tsx:267
777
- #: src/theme/components/PostForm.tsx:173
938
+ #: src/ui/dash/PostForm.tsx:194
778
939
  msgid "Remove"
779
940
  msgstr "移除"
780
941
 
781
942
  #. @context: Password reset form submit button
782
943
  #. @context: Password reset page heading
783
- #: src/app.tsx:501
784
- #: src/app.tsx:554
944
+ #: src/app.tsx:525
945
+ #: src/app.tsx:578
785
946
  msgid "Reset Password"
786
947
  msgstr "重置密码"
787
948
 
788
949
  #. @context: Button to save edited navigation link
789
- #: src/routes/dash/navigation.tsx:174
950
+ #: src/routes/dash/pages.tsx:382
790
951
  msgid "Save Changes"
791
952
  msgstr "保存更改"
792
953
 
954
+ #. @context: Button to save custom CSS
955
+ #: src/routes/dash/settings.tsx:378
956
+ msgid "Save CSS"
957
+ msgstr ""
958
+
793
959
  #. @context: Button to save profile
794
- #: src/routes/dash/settings.tsx:394
960
+ #: src/routes/dash/settings.tsx:451
795
961
  msgid "Save Profile"
796
962
  msgstr "保存个人资料"
797
963
 
@@ -800,20 +966,24 @@ msgstr "保存个人资料"
800
966
  msgid "Save Settings"
801
967
  msgstr "保存设置"
802
968
 
969
+ #. @context: Search icon link in browse nav
803
970
  #. @context: Search page title
804
971
  #. @context: Search submit button
805
- #: src/themes/minimal/pages/SearchPage.tsx:21
806
- #: src/themes/minimal/pages/SearchPage.tsx:46
972
+ #: src/ui/layouts/SiteLayout.tsx:70
973
+ #: src/ui/pages/SearchPage.tsx:20
974
+ #: src/ui/pages/SearchPage.tsx:44
807
975
  msgid "Search"
808
976
  msgstr "搜索"
809
977
 
810
978
  #. @context: Search input placeholder
811
- #: src/themes/minimal/pages/SearchPage.tsx:38
979
+ #: src/ui/pages/SearchPage.tsx:36
812
980
  msgid "Search posts..."
813
981
  msgstr "搜索帖子..."
814
982
 
815
983
  #. @context: Media picker dialog title
816
- #: src/theme/components/PostForm.tsx:345
984
+ #. @context: Media picker dialog title
985
+ #: src/ui/compose/ComposeDialog.tsx:365
986
+ #: src/ui/dash/PostForm.tsx:324
817
987
  msgid "Select Media"
818
988
  msgstr "选择媒体"
819
989
 
@@ -822,27 +992,27 @@ msgstr "选择媒体"
822
992
  #. @context: Dashboard heading
823
993
  #. @context: Dashboard navigation - site settings
824
994
  #: src/routes/dash/settings.tsx:118
825
- #: src/routes/dash/settings.tsx:300
826
- #: src/routes/dash/settings.tsx:351
827
- #: src/theme/layouts/DashLayout.tsx:143
995
+ #: src/routes/dash/settings.tsx:304
996
+ #: src/routes/dash/settings.tsx:408
997
+ #: src/ui/layouts/DashLayout.tsx:133
828
998
  msgid "Settings"
829
999
  msgstr "设置"
830
1000
 
831
1001
  #. @context: Link to show remaining thread replies
832
1002
  #. placeholder {0}: remainingCount === 1 ? "reply" : "replies"
833
- #: src/themes/minimal/timeline/ThreadPreview.tsx:37
1003
+ #: src/ui/feed/ThreadPreview.tsx:37
834
1004
  msgid "Show {remainingCount} more {0}"
835
1005
  msgstr "显示 {remainingCount} 个更多 {0}"
836
1006
 
837
1007
  #. @context: Sign in form submit button
838
1008
  #. @context: Sign in page heading
839
- #: src/app.tsx:367
840
- #: src/app.tsx:414
1009
+ #: src/app.tsx:391
1010
+ #: src/app.tsx:438
841
1011
  msgid "Sign In"
842
1012
  msgstr "登录"
843
1013
 
844
1014
  #. @context: Dashboard header link to sign out
845
- #: src/theme/layouts/DashLayout.tsx:63
1015
+ #: src/ui/layouts/DashLayout.tsx:63
846
1016
  msgid "Sign Out"
847
1017
  msgstr "登出"
848
1018
 
@@ -858,23 +1028,27 @@ msgstr "网站名称"
858
1028
 
859
1029
  #. @context: Collection form field
860
1030
  #. @context: Collection form field
1031
+ #. @context: Page form field label - URL slug
861
1032
  #: src/routes/dash/collections.tsx:133
862
- #: src/routes/dash/collections.tsx:325
1033
+ #: src/routes/dash/collections.tsx:314
1034
+ #: src/ui/dash/PageForm.tsx:64
863
1035
  msgid "Slug"
864
1036
  msgstr "缩略名"
865
1037
 
866
1038
  #. @context: Post form field - name of the source website or author
867
1039
  #: src/theme/components/PostForm.tsx:216
868
- msgid "Source Name (optional)"
869
- msgstr "来源名称(可选)"
1040
+ #~ msgid "Source Name (optional)"
1041
+ #~ msgstr "来源名称(可选)"
870
1042
 
871
1043
  #. @context: Post form field
872
1044
  #: src/theme/components/PostForm.tsx:200
873
- msgid "Source URL (optional)"
874
- msgstr "源网址(可选)"
1045
+ #~ msgid "Source URL (optional)"
1046
+ #~ msgstr "源网址(可选)"
875
1047
 
876
1048
  #. @context: Page form field label - publish status
877
- #: src/theme/components/PageForm.tsx:117
1049
+ #. @context: Post form field
1050
+ #: src/ui/dash/PageForm.tsx:117
1051
+ #: src/ui/dash/PostForm.tsx:221
878
1052
  msgid "Status"
879
1053
  msgstr "状态"
880
1054
 
@@ -888,33 +1062,40 @@ msgstr "目标路径或 URL"
888
1062
  msgid "The path to redirect from"
889
1063
  msgstr "重定向的路径"
890
1064
 
891
- #. @context: Page path helper text
892
- #: src/theme/components/PageForm.tsx:85
1065
+ #. @context: Compose quote text placeholder
1066
+ #. @context: Quote text placeholder
1067
+ #: src/ui/compose/ComposeDialog.tsx:156
1068
+ #: src/ui/dash/PostForm.tsx:145
1069
+ msgid "The text being quoted..."
1070
+ msgstr ""
1071
+
1072
+ #. @context: Page slug helper text
1073
+ #: src/ui/dash/PageForm.tsx:85
893
1074
  msgid "The URL path for this page. Use lowercase letters, numbers, and hyphens."
894
1075
  msgstr "此页面的 URL 路径。使用小写字母、数字和连字符。"
895
1076
 
896
1077
  #. @context: Password reset error description
897
- #: src/app.tsx:590
1078
+ #: src/app.tsx:614
898
1079
  msgid "This password reset link is invalid or has expired. Please generate a new one."
899
1080
  msgstr "此密码重置链接无效或已过期。请生成一个新的链接。"
900
1081
 
901
1082
  #. @context: Appearance settings description
902
- #: src/routes/dash/settings.tsx:317
1083
+ #: src/routes/dash/settings.tsx:321
903
1084
  msgid "This will theme both your site and your dashboard. All color themes support dark mode."
904
1085
  msgstr "这将为您的网站和仪表板设置主题。所有颜色主题都支持暗黑模式。"
905
1086
 
906
1087
  #. @context: Thread view indicator - first post in thread
907
- #: src/theme/components/ThreadView.tsx:57
1088
+ #: src/ui/shared/ThreadView.tsx:60
908
1089
  msgid "Thread start"
909
1090
  msgstr "线程开始"
910
1091
 
911
1092
  #. @context: Thread view header - multiple posts
912
- #: src/theme/components/ThreadView.tsx:102
1093
+ #: src/ui/shared/ThreadView.tsx:105
913
1094
  msgid "Thread with {count} posts"
914
1095
  msgstr "包含 {count} 条帖子的话题"
915
1096
 
916
1097
  #. @context: Thread view header - single post
917
- #: src/theme/components/ThreadView.tsx:98
1098
+ #: src/ui/shared/ThreadView.tsx:101
918
1099
  msgid "Thread with 1 post"
919
1100
  msgstr "包含 1 条帖子的话题"
920
1101
 
@@ -922,13 +1103,15 @@ msgstr "包含 1 条帖子的话题"
922
1103
  #. @context: Collection form field
923
1104
  #. @context: Page form field label - title
924
1105
  #: src/routes/dash/collections.tsx:114
925
- #: src/routes/dash/collections.tsx:315
926
- #: src/theme/components/PageForm.tsx:44
1106
+ #: src/routes/dash/collections.tsx:304
1107
+ #: src/ui/dash/PageForm.tsx:44
927
1108
  msgid "Title"
928
1109
  msgstr "标题"
929
1110
 
1111
+ #. @context: Compose title placeholder
930
1112
  #. @context: Post form field
931
- #: src/theme/components/PostForm.tsx:91
1113
+ #: src/ui/compose/ComposeDialog.tsx:124
1114
+ #: src/ui/dash/PostForm.tsx:85
932
1115
  msgid "Title (optional)"
933
1116
  msgstr "标题(可选)"
934
1117
 
@@ -937,39 +1120,42 @@ msgstr "标题(可选)"
937
1120
  msgid "To Path"
938
1121
  msgstr "到路径"
939
1122
 
940
- #. @context: Post form field - post type
941
1123
  #. @context: Redirect form field
942
1124
  #: src/routes/dash/redirects.tsx:142
943
- #: src/theme/components/PostForm.tsx:64
944
1125
  msgid "Type"
945
1126
  msgstr "类型"
946
1127
 
1128
+ #. @context: Button to remove page from navigation
1129
+ #: src/routes/dash/pages.tsx:104
1130
+ msgid "Un-nav"
1131
+ msgstr ""
1132
+
947
1133
  #. @context: Post visibility badge - unlisted
948
1134
  #. @context: Post visibility option
949
1135
  #: src/theme/components/PostForm.tsx:255
950
1136
  #: src/theme/components/VisibilityBadge.tsx:34
951
- msgid "Unlisted"
952
- msgstr "未列出"
1137
+ #~ msgid "Unlisted"
1138
+ #~ msgstr "未列出"
953
1139
 
954
1140
  #. @context: Default title for untitled page
955
1141
  #. @context: Default title for untitled post
956
- #: src/routes/dash/pages.tsx:91
957
- #: src/theme/components/PostList.tsx:78
1142
+ #: src/routes/dash/pages.tsx:212
1143
+ #: src/ui/dash/PostList.tsx:86
958
1144
  msgid "Untitled"
959
1145
  msgstr "无标题"
960
1146
 
961
1147
  #. @context: Button to update existing post
962
- #: src/theme/components/PostForm.tsx:315
1148
+ #: src/ui/dash/PostForm.tsx:294
963
1149
  msgid "Update"
964
1150
  msgstr "更新"
965
1151
 
966
1152
  #. @context: Button to save collection changes
967
- #: src/routes/dash/collections.tsx:351
1153
+ #: src/routes/dash/collections.tsx:340
968
1154
  msgid "Update Collection"
969
1155
  msgstr "更新收藏夹"
970
1156
 
971
1157
  #. @context: Button to update existing page
972
- #: src/theme/components/PageForm.tsx:153
1158
+ #: src/ui/dash/PageForm.tsx:153
973
1159
  msgid "Update Page"
974
1160
  msgstr "更新页面"
975
1161
 
@@ -991,10 +1177,15 @@ msgstr "上传中..."
991
1177
  #. @context: Media detail section - URL
992
1178
  #. @context: Navigation link form field
993
1179
  #: src/routes/dash/media.tsx:318
994
- #: src/routes/dash/navigation.tsx:149
1180
+ #: src/routes/dash/pages.tsx:357
995
1181
  msgid "URL"
996
1182
  msgstr "网址"
997
1183
 
1184
+ #. @context: Post form field - source URL
1185
+ #: src/ui/dash/PostForm.tsx:121
1186
+ msgid "URL (optional)"
1187
+ msgstr ""
1188
+
998
1189
  #. @context: Collection path help text
999
1190
  #: src/routes/dash/collections.tsx:144
1000
1191
  msgid "URL-safe identifier (lowercase, numbers, hyphens)"
@@ -1014,31 +1205,38 @@ msgstr "使用此 URL 将媒体嵌入到您的帖子中。"
1014
1205
  #. @context: Button to view post on public site
1015
1206
  #: src/routes/dash/collections.tsx:71
1016
1207
  #: src/routes/dash/collections.tsx:225
1017
- #: src/routes/dash/pages.tsx:73
1018
- #: src/routes/dash/pages.tsx:143
1019
- #: src/routes/dash/posts.tsx:147
1020
- #: src/theme/components/ActionButtons.tsx:76
1021
- #: src/theme/components/PostList.tsx:51
1208
+ #: src/routes/dash/pages.tsx:199
1209
+ #: src/routes/dash/pages.tsx:261
1210
+ #: src/routes/dash/posts.tsx:145
1211
+ #: src/ui/dash/ActionButtons.tsx:76
1212
+ #: src/ui/dash/PostList.tsx:55
1022
1213
  msgid "View"
1023
1214
  msgstr "查看"
1024
1215
 
1025
1216
  #. @context: Dashboard header link to view the public site
1026
- #: src/theme/layouts/DashLayout.tsx:53
1217
+ #: src/ui/layouts/DashLayout.tsx:53
1027
1218
  msgid "View Site"
1028
1219
  msgstr "查看网站"
1029
1220
 
1030
1221
  #. @context: Post form field
1031
1222
  #: src/theme/components/PostForm.tsx:236
1032
- msgid "Visibility"
1033
- msgstr "可见性"
1223
+ #~ msgid "Visibility"
1224
+ #~ msgstr "可见性"
1034
1225
 
1035
1226
  #. @context: Setup page welcome heading
1036
- #: src/app.tsx:211
1227
+ #: src/app.tsx:223
1037
1228
  msgid "Welcome to Jant"
1038
1229
  msgstr "欢迎来到Jant"
1039
1230
 
1231
+ #. @context: Compose prompt placeholder text
1232
+ #: src/ui/compose/ComposePrompt.tsx:37
1233
+ msgid "What's new?"
1234
+ msgstr ""
1235
+
1236
+ #. @context: Compose body placeholder
1040
1237
  #. @context: Post content placeholder
1041
- #: src/theme/components/PostForm.tsx:115
1238
+ #: src/ui/compose/ComposeDialog.tsx:134
1239
+ #: src/ui/dash/PostForm.tsx:109
1042
1240
  msgid "What's on your mind?"
1043
1241
  msgstr "你在想什么?"
1044
1242
 
@@ -1048,6 +1246,11 @@ msgid "What's this collection about?"
1048
1246
  msgstr "这个系列是关于什么的?"
1049
1247
 
1050
1248
  #. @context: Setup form field - user name
1051
- #: src/app.tsx:232
1249
+ #: src/app.tsx:244
1052
1250
  msgid "Your Name"
1053
1251
  msgstr "您的姓名"
1252
+
1253
+ #. @context: Section heading for navigation items
1254
+ #: src/routes/dash/pages.tsx:67
1255
+ msgid "Your site navigation"
1256
+ msgstr ""