@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 "圖片會自動優化:調整大小至最大 1920 像素,轉換為 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)或完整網址(例如 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 "網址安全識別碼(小寫、數字、連字符)"
|
|
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 ""
|