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