@jant/core 0.3.27 → 0.3.29
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/bin/reset-password.js +22 -0
- package/dist/client/client.css +1 -0
- package/dist/client/client.js +31561 -0
- package/dist/index.js +15209 -15
- package/package.json +25 -15
- package/src/__tests__/helpers/app.ts +19 -3
- package/src/__tests__/helpers/db.ts +44 -0
- package/src/__tests__/helpers/lingui-core-macro-mock.ts +33 -0
- package/src/app.tsx +111 -174
- package/src/client.ts +13 -0
- package/src/db/migrations/0007_post_collections_m2m.sql +94 -0
- package/src/db/migrations/0008_add_collection_dividers.sql +8 -0
- package/src/db/migrations/0009_drop_collection_show_divider.sql +2 -0
- package/src/db/migrations/0010_add_performance_indexes.sql +16 -0
- package/src/db/schema.ts +24 -4
- package/src/i18n/locales/en.po +810 -385
- package/src/i18n/locales/en.ts +1 -1
- package/src/i18n/locales/zh-Hans.po +733 -522
- package/src/i18n/locales/zh-Hans.ts +1 -1
- package/src/i18n/locales/zh-Hant.po +733 -522
- package/src/i18n/locales/zh-Hant.ts +1 -1
- package/src/i18n/middleware.ts +7 -11
- package/src/index.ts +1 -1
- package/src/lib/__tests__/icons.test.ts +178 -0
- package/src/lib/__tests__/resolve-config.test.ts +184 -0
- package/src/lib/__tests__/schemas.test.ts +12 -6
- package/src/lib/__tests__/theme.test.ts +62 -0
- package/src/lib/__tests__/timezones.test.ts +1 -1
- package/src/lib/__tests__/url.test.ts +12 -0
- package/src/lib/__tests__/view.test.ts +1 -5
- package/src/lib/avatar-upload.ts +18 -10
- package/src/lib/collection-form-bridge.ts +52 -0
- package/src/lib/collections-reorder.ts +28 -0
- package/src/lib/compose-bridge.ts +251 -0
- package/src/lib/errors.ts +116 -0
- package/src/lib/excerpt.ts +1 -1
- package/src/lib/favicon.ts +3 -5
- package/src/lib/html.ts +22 -0
- package/src/lib/icon-catalog.ts +181 -0
- package/src/lib/icons.ts +202 -0
- package/src/lib/navigation.ts +18 -33
- package/src/lib/pagination.ts +3 -2
- package/src/lib/post-form-bridge.ts +136 -0
- package/src/lib/render.tsx +11 -4
- package/src/lib/resolve-config.ts +157 -0
- package/src/lib/schemas.ts +76 -12
- package/src/lib/settings-bridge.ts +139 -0
- package/src/lib/storage.ts +37 -16
- package/src/lib/theme.ts +5 -7
- package/src/lib/timeline.ts +4 -8
- package/src/lib/toast.ts +134 -0
- package/src/lib/upload.ts +71 -0
- package/src/lib/url.ts +9 -1
- package/src/lib/version.ts +16 -0
- package/src/lib/view.ts +9 -10
- package/src/middleware/__tests__/auth.test.ts +6 -28
- package/src/middleware/__tests__/onboarding.test.ts +1 -1
- package/src/middleware/auth.ts +6 -12
- package/src/middleware/config.ts +51 -0
- package/src/middleware/error-handler.ts +56 -0
- package/src/middleware/onboarding.ts +1 -1
- package/src/preset.css +6 -0
- package/src/routes/__tests__/compose.test.ts +104 -17
- package/src/routes/api/__tests__/collections.test.ts +93 -2
- package/src/routes/api/__tests__/posts.test.ts +2 -1
- package/src/routes/api/__tests__/settings.test.ts +1 -1
- package/src/routes/api/collections.ts +64 -68
- package/src/routes/api/nav-items.ts +21 -59
- package/src/routes/api/pages.ts +18 -46
- package/src/routes/api/posts.ts +64 -86
- package/src/routes/api/search.ts +6 -4
- package/src/routes/api/settings.ts +8 -24
- package/src/routes/api/upload.ts +55 -53
- package/src/routes/auth/__tests__/setup.test.ts +118 -0
- package/src/routes/auth/reset.tsx +17 -66
- package/src/routes/auth/setup.tsx +67 -11
- package/src/routes/auth/signin.tsx +44 -8
- package/src/routes/compose.tsx +194 -0
- package/src/routes/dash/__tests__/font-theme.test.ts +110 -0
- package/src/routes/dash/__tests__/pages.test.ts +2 -2
- package/src/routes/dash/__tests__/settings-avatar.test.ts +23 -12
- package/src/routes/dash/appearance.tsx +173 -0
- package/src/routes/dash/collections.tsx +80 -14
- package/src/routes/dash/index.tsx +12 -14
- package/src/routes/dash/media.tsx +46 -49
- package/src/routes/dash/pages.tsx +85 -37
- package/src/routes/dash/posts.tsx +60 -23
- package/src/routes/dash/redirects.tsx +43 -33
- package/src/routes/dash/settings.tsx +234 -214
- package/src/routes/feed/__tests__/rss.test.ts +7 -3
- package/src/routes/feed/rss.ts +11 -16
- package/src/routes/feed/sitemap.ts +15 -9
- package/src/routes/pages/__tests__/collections.test.ts +9 -8
- package/src/routes/pages/archive.tsx +2 -2
- package/src/routes/pages/collection.tsx +76 -9
- package/src/routes/pages/collections.tsx +3 -1
- package/src/routes/pages/featured.tsx +2 -2
- package/src/routes/pages/home.tsx +3 -3
- package/src/routes/pages/latest.tsx +2 -2
- package/src/routes/pages/page.tsx +2 -2
- package/src/routes/pages/post.tsx +2 -2
- package/src/routes/pages/search.tsx +2 -2
- package/src/services/__tests__/collection.test.ts +324 -34
- package/src/services/__tests__/media.test.ts +1 -1
- package/src/services/__tests__/page.test.ts +116 -1
- package/src/services/auth.ts +88 -0
- package/src/services/collection.ts +169 -30
- package/src/services/index.ts +8 -3
- package/src/services/media.ts +39 -12
- package/src/services/navigation.ts +17 -5
- package/src/services/page.ts +24 -4
- package/src/services/post.ts +87 -19
- package/src/services/search.ts +0 -1
- package/src/services/settings.ts +21 -13
- package/src/style.css +3 -0
- package/src/styles/components.css +42 -1
- package/src/styles/tokens.css +4 -0
- package/src/styles/ui.css +902 -73
- package/src/types/app-context.ts +25 -0
- package/src/types/bindings.ts +1 -0
- package/src/types/config.ts +60 -23
- package/src/types/entities.ts +12 -2
- package/src/types/lingui-react-macro.d.ts +3 -3
- package/src/types/operations.ts +2 -4
- package/src/types/views.ts +1 -3
- package/src/ui/__tests__/font-themes.test.ts +27 -8
- package/src/ui/color-themes.ts +1 -1
- package/src/ui/components/__tests__/jant-collection-form.test.ts +153 -0
- package/src/ui/components/__tests__/jant-compose-dialog.test.ts +512 -0
- package/src/ui/components/__tests__/jant-compose-editor.test.ts +272 -0
- package/src/ui/components/__tests__/jant-post-form.test.ts +172 -0
- package/src/ui/components/__tests__/jant-settings-avatar.test.ts +235 -0
- package/src/ui/components/__tests__/jant-settings-general.test.ts +319 -0
- package/src/ui/components/collection-types.ts +45 -0
- package/src/ui/components/compose-types.ts +75 -0
- package/src/ui/components/jant-collection-form.ts +512 -0
- package/src/ui/components/jant-compose-dialog.ts +494 -0
- package/src/ui/components/jant-compose-editor.ts +799 -0
- package/src/ui/components/jant-post-form.ts +290 -0
- package/src/ui/components/jant-settings-avatar.ts +231 -0
- package/src/ui/components/jant-settings-general.ts +436 -0
- package/src/ui/components/post-form-template.ts +260 -0
- package/src/ui/components/post-form-types.ts +87 -0
- package/src/ui/components/settings-types.ts +62 -0
- package/src/ui/compose/ComposeDialog.tsx +141 -385
- package/src/ui/compose/ComposePrompt.tsx +3 -3
- package/src/ui/dash/PostList.tsx +55 -61
- package/src/ui/dash/appearance/AdvancedContent.tsx +80 -0
- package/src/ui/dash/appearance/AppearanceNav.tsx +56 -0
- package/src/ui/dash/appearance/ColorThemeContent.tsx +129 -0
- package/src/ui/dash/appearance/FontThemeContent.tsx +98 -0
- package/src/ui/dash/collections/CollectionForm.tsx +130 -117
- package/src/ui/dash/collections/CollectionsListContent.tsx +102 -41
- package/src/ui/dash/collections/IconPickerGrid.tsx +50 -0
- package/src/ui/dash/collections/ViewCollectionContent.tsx +14 -3
- package/src/ui/dash/index.ts +1 -1
- package/src/ui/dash/posts/PostForm.tsx +248 -0
- package/src/ui/dash/settings/AccountContent.tsx +69 -80
- package/src/ui/dash/settings/GeneralContent.tsx +159 -478
- package/src/ui/dash/settings/SettingsNav.tsx +4 -4
- package/src/ui/font-themes.ts +115 -32
- package/src/ui/layouts/BaseLayout.tsx +49 -19
- package/src/ui/layouts/DashLayout.tsx +14 -9
- package/src/ui/layouts/SiteLayout.tsx +38 -23
- package/src/ui/pages/CollectionPage.tsx +12 -2
- package/src/ui/pages/CollectionsPage.tsx +27 -27
- package/src/ui/pages/HomePage.tsx +15 -6
- package/src/ui/pages/SearchPage.tsx +1 -2
- package/src/ui/shared/CollectionsSidebar.tsx +59 -0
- package/src/ui/shared/Pagination.tsx +2 -2
- package/dist/app.js +0 -267
- package/dist/auth.js +0 -39
- package/dist/client.js +0 -13
- package/dist/db/index.js +0 -10
- package/dist/db/schema.js +0 -224
- package/dist/i18n/Trans.js +0 -24
- package/dist/i18n/context.js +0 -58
- package/dist/i18n/detect.js +0 -26
- package/dist/i18n/i18n.js +0 -49
- package/dist/i18n/index.js +0 -44
- package/dist/i18n/locales/en.js +0 -1
- package/dist/i18n/locales/zh-Hans.js +0 -1
- package/dist/i18n/locales/zh-Hant.js +0 -1
- package/dist/i18n/locales.js +0 -13
- package/dist/i18n/middleware.js +0 -30
- package/dist/lib/avatar-upload.js +0 -134
- package/dist/lib/config.js +0 -143
- package/dist/lib/constants.js +0 -50
- package/dist/lib/excerpt.js +0 -76
- package/dist/lib/favicon.js +0 -102
- package/dist/lib/feed.js +0 -123
- package/dist/lib/image-processor.js +0 -187
- package/dist/lib/image.js +0 -97
- package/dist/lib/index.js +0 -7
- package/dist/lib/markdown.js +0 -83
- package/dist/lib/media-helpers.js +0 -49
- package/dist/lib/media-upload.js +0 -104
- package/dist/lib/nav-reorder.js +0 -27
- package/dist/lib/navigation.js +0 -79
- package/dist/lib/pagination.js +0 -44
- package/dist/lib/render.js +0 -53
- package/dist/lib/schemas.js +0 -174
- package/dist/lib/sqid.js +0 -72
- package/dist/lib/sse.js +0 -218
- package/dist/lib/storage.js +0 -164
- package/dist/lib/theme.js +0 -65
- package/dist/lib/time.js +0 -159
- package/dist/lib/timeline.js +0 -95
- package/dist/lib/timezones.js +0 -388
- package/dist/lib/url.js +0 -89
- package/dist/lib/view.js +0 -217
- package/dist/middleware/auth.js +0 -52
- package/dist/middleware/onboarding.js +0 -41
- package/dist/routes/api/collections.js +0 -124
- package/dist/routes/api/nav-items.js +0 -104
- package/dist/routes/api/pages.js +0 -91
- package/dist/routes/api/posts.js +0 -218
- package/dist/routes/api/search.js +0 -48
- package/dist/routes/api/settings.js +0 -68
- package/dist/routes/api/upload.js +0 -246
- package/dist/routes/auth/reset.js +0 -221
- package/dist/routes/auth/setup.js +0 -194
- package/dist/routes/auth/signin.js +0 -176
- package/dist/routes/compose.js +0 -48
- package/dist/routes/dash/collections.js +0 -115
- package/dist/routes/dash/index.js +0 -118
- package/dist/routes/dash/media.js +0 -106
- package/dist/routes/dash/pages.js +0 -294
- package/dist/routes/dash/posts.js +0 -244
- package/dist/routes/dash/redirects.js +0 -257
- package/dist/routes/dash/settings.js +0 -379
- package/dist/routes/feed/rss.js +0 -62
- package/dist/routes/feed/sitemap.js +0 -49
- package/dist/routes/pages/archive.js +0 -62
- package/dist/routes/pages/collection.js +0 -34
- package/dist/routes/pages/collections.js +0 -28
- package/dist/routes/pages/featured.js +0 -36
- package/dist/routes/pages/home.js +0 -64
- package/dist/routes/pages/latest.js +0 -45
- package/dist/routes/pages/page.js +0 -68
- package/dist/routes/pages/post.js +0 -44
- package/dist/routes/pages/search.js +0 -54
- package/dist/services/collection.js +0 -109
- package/dist/services/index.js +0 -24
- package/dist/services/media.js +0 -117
- package/dist/services/navigation.js +0 -91
- package/dist/services/page.js +0 -84
- package/dist/services/post.js +0 -229
- package/dist/services/redirect.js +0 -48
- package/dist/services/search.js +0 -67
- package/dist/services/settings.js +0 -68
- package/dist/types/bindings.js +0 -3
- package/dist/types/config.js +0 -147
- package/dist/types/constants.js +0 -27
- package/dist/types/entities.js +0 -3
- package/dist/types/lingui-react-macro.d.js +0 -9
- package/dist/types/operations.js +0 -3
- package/dist/types/props.js +0 -3
- package/dist/types/sortablejs.d.js +0 -5
- package/dist/types/views.js +0 -5
- package/dist/types.js +0 -11
- package/dist/ui/color-themes.js +0 -268
- package/dist/ui/compose/ComposeDialog.js +0 -467
- package/dist/ui/compose/ComposePrompt.js +0 -55
- package/dist/ui/dash/ActionButtons.js +0 -46
- package/dist/ui/dash/CrudPageHeader.js +0 -22
- package/dist/ui/dash/DangerZone.js +0 -36
- package/dist/ui/dash/FormatBadge.js +0 -27
- package/dist/ui/dash/ListItemRow.js +0 -21
- package/dist/ui/dash/PageForm.js +0 -195
- package/dist/ui/dash/PostForm.js +0 -395
- package/dist/ui/dash/PostList.js +0 -83
- package/dist/ui/dash/StatusBadge.js +0 -46
- package/dist/ui/dash/collections/CollectionForm.js +0 -152
- package/dist/ui/dash/collections/CollectionsListContent.js +0 -68
- package/dist/ui/dash/collections/ViewCollectionContent.js +0 -96
- package/dist/ui/dash/index.js +0 -10
- package/dist/ui/dash/media/MediaListContent.js +0 -166
- package/dist/ui/dash/media/ViewMediaContent.js +0 -212
- package/dist/ui/dash/pages/LinkFormContent.js +0 -130
- package/dist/ui/dash/pages/UnifiedPagesContent.js +0 -193
- package/dist/ui/dash/settings/AccountContent.js +0 -209
- package/dist/ui/dash/settings/AppearanceContent.js +0 -259
- package/dist/ui/dash/settings/GeneralContent.js +0 -536
- package/dist/ui/dash/settings/SettingsNav.js +0 -41
- package/dist/ui/feed/LinkCard.js +0 -72
- package/dist/ui/feed/NoteCard.js +0 -58
- package/dist/ui/feed/QuoteCard.js +0 -63
- package/dist/ui/feed/ThreadPreview.js +0 -48
- package/dist/ui/feed/TimelineFeed.js +0 -41
- package/dist/ui/feed/TimelineItem.js +0 -27
- package/dist/ui/font-themes.js +0 -36
- package/dist/ui/layouts/BaseLayout.js +0 -153
- package/dist/ui/layouts/DashLayout.js +0 -141
- package/dist/ui/layouts/SiteLayout.js +0 -169
- package/dist/ui/pages/ArchivePage.js +0 -143
- package/dist/ui/pages/CollectionPage.js +0 -70
- package/dist/ui/pages/CollectionsPage.js +0 -76
- package/dist/ui/pages/FeaturedPage.js +0 -24
- package/dist/ui/pages/HomePage.js +0 -24
- package/dist/ui/pages/PostPage.js +0 -55
- package/dist/ui/pages/SearchPage.js +0 -122
- package/dist/ui/pages/SinglePage.js +0 -23
- package/dist/ui/shared/EmptyState.js +0 -27
- package/dist/ui/shared/MediaGallery.js +0 -35
- package/dist/ui/shared/Pagination.js +0 -195
- package/dist/ui/shared/ThreadView.js +0 -108
- package/dist/ui/shared/index.js +0 -5
- package/dist/vendor/datastar.js +0 -1606
- package/src/lib/__tests__/config.test.ts +0 -192
- package/src/lib/config.ts +0 -167
- package/src/routes/compose.ts +0 -63
- package/src/ui/dash/PostForm.tsx +0 -360
- package/src/ui/dash/settings/AppearanceContent.tsx +0 -254
|
@@ -13,121 +13,148 @@ msgstr ""
|
|
|
13
13
|
"Language-Team: \n"
|
|
14
14
|
"Plural-Forms: \n"
|
|
15
15
|
|
|
16
|
-
#. @context: Archive post reply indicator - plural
|
|
17
|
-
#: src/theme/pages/ArchivePage.tsx:168
|
|
18
|
-
#~ msgid "{count} replies"
|
|
19
|
-
#~ msgstr "{count} 條回覆"
|
|
20
|
-
|
|
21
16
|
#. @context: Custom CSS textarea placeholder
|
|
22
|
-
#: src/ui/dash/
|
|
17
|
+
#: src/ui/dash/appearance/AdvancedContent.tsx
|
|
23
18
|
msgid "/* Your custom CSS here */"
|
|
24
|
-
msgstr ""
|
|
19
|
+
msgstr "/* 您的自訂 CSS 在這裡 */"
|
|
25
20
|
|
|
26
21
|
#. @context: Navigation link
|
|
27
|
-
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
22
|
+
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
28
23
|
msgid "← Back to Collections"
|
|
29
24
|
msgstr "← 返回收藏夾"
|
|
30
25
|
|
|
31
|
-
#. @context:
|
|
32
|
-
#: src/
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
#. @context: Add alt text label under attachment thumbnail
|
|
27
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
28
|
+
msgid "+ ALT"
|
|
29
|
+
msgstr ""
|
|
35
30
|
|
|
36
31
|
#. @context: Redirect type option
|
|
37
|
-
#: src/routes/dash/redirects.tsx
|
|
32
|
+
#: src/routes/dash/redirects.tsx
|
|
38
33
|
msgid "301 (Permanent)"
|
|
39
34
|
msgstr "301(永久)"
|
|
40
35
|
|
|
41
36
|
#. @context: Redirect type option
|
|
42
|
-
#: src/routes/dash/redirects.tsx
|
|
37
|
+
#: src/routes/dash/redirects.tsx
|
|
43
38
|
msgid "302 (Temporary)"
|
|
44
39
|
msgstr "302(臨時)"
|
|
45
40
|
|
|
46
41
|
#. @context: Settings form field for site description
|
|
47
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
42
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
48
43
|
msgid "About this blog"
|
|
49
|
-
msgstr ""
|
|
44
|
+
msgstr "關於這個部落格"
|
|
50
45
|
|
|
51
46
|
#. @context: Settings sub-navigation tab
|
|
52
|
-
#: src/ui/dash/settings/SettingsNav.tsx
|
|
47
|
+
#: src/ui/dash/settings/SettingsNav.tsx
|
|
53
48
|
msgid "Account"
|
|
54
49
|
msgstr "帳戶"
|
|
55
50
|
|
|
51
|
+
#. @context: Add more attachments button
|
|
52
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
53
|
+
msgid "Add"
|
|
54
|
+
msgstr ""
|
|
55
|
+
|
|
56
|
+
#. @context: Alt text panel title
|
|
57
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
58
|
+
msgid "Add alt text"
|
|
59
|
+
msgstr ""
|
|
60
|
+
|
|
56
61
|
#. @context: Custom CSS settings description
|
|
57
|
-
#: src/ui/dash/
|
|
62
|
+
#: src/ui/dash/appearance/AdvancedContent.tsx
|
|
58
63
|
msgid "Add custom CSS to override any styles. Use data attributes like [data-page], [data-post], [data-format] to target specific elements."
|
|
59
|
-
msgstr ""
|
|
64
|
+
msgstr "添加自定義 CSS 以覆蓋任何樣式。使用數據屬性,如 [data-page]、[data-post]、[data-format] 來針對特定元素。"
|
|
60
65
|
|
|
61
66
|
#. @context: Button to add a navigation link
|
|
62
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
67
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
63
68
|
msgid "Add Link"
|
|
64
|
-
msgstr ""
|
|
69
|
+
msgstr "新增連結"
|
|
65
70
|
|
|
66
71
|
#. @context: Button to open media picker
|
|
67
|
-
|
|
68
|
-
#: src/ui/compose/ComposeDialog.tsx:219
|
|
69
|
-
#: src/ui/dash/PostForm.tsx:211
|
|
72
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
70
73
|
msgid "Add Media"
|
|
71
74
|
msgstr "添加媒體"
|
|
72
75
|
|
|
73
76
|
#. @context: Button to add page to navigation
|
|
74
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
77
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
75
78
|
msgid "Add to nav"
|
|
79
|
+
msgstr "加入導航"
|
|
80
|
+
|
|
81
|
+
#. @context: Appearance sub-navigation tab
|
|
82
|
+
#: src/ui/dash/appearance/AppearanceNav.tsx
|
|
83
|
+
msgid "Advanced"
|
|
76
84
|
msgstr ""
|
|
77
85
|
|
|
78
86
|
#. @context: Archive filter - all formats
|
|
79
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
87
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
80
88
|
msgid "All"
|
|
81
89
|
msgstr "所有"
|
|
82
90
|
|
|
83
91
|
#. @context: Empty state when all pages are in nav
|
|
84
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
92
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
85
93
|
msgid "All pages are in your navigation."
|
|
94
|
+
msgstr "所有頁面都在您的導航中。"
|
|
95
|
+
|
|
96
|
+
#. @context: Hint text in alt text panel
|
|
97
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
98
|
+
msgid "Alt text improves accessibility"
|
|
86
99
|
msgstr ""
|
|
87
100
|
|
|
88
|
-
#. @context:
|
|
89
|
-
|
|
101
|
+
#. @context: Dashboard heading
|
|
102
|
+
#. @context: Dashboard heading
|
|
103
|
+
#. @context: Dashboard heading
|
|
104
|
+
#. @context: Dashboard navigation - appearance settings
|
|
105
|
+
#: src/ui/dash/appearance/AdvancedContent.tsx
|
|
106
|
+
#: src/ui/dash/appearance/ColorThemeContent.tsx
|
|
107
|
+
#: src/ui/dash/appearance/FontThemeContent.tsx
|
|
108
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
90
109
|
msgid "Appearance"
|
|
91
110
|
msgstr "外觀"
|
|
92
111
|
|
|
93
112
|
#. @context: Archive page title
|
|
94
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
113
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
95
114
|
msgid "Archive"
|
|
96
115
|
msgstr "檔案館"
|
|
97
116
|
|
|
98
117
|
#. @context: Confirmation dialog when deleting a post from the list
|
|
99
|
-
#: src/ui/dash/PostList.tsx
|
|
118
|
+
#: src/ui/dash/PostList.tsx
|
|
100
119
|
msgid "Are you sure you want to delete this post? This cannot be undone."
|
|
101
|
-
msgstr ""
|
|
102
|
-
|
|
103
|
-
#. @context:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
msgstr "您確定要刪除這篇文章嗎?這個操作無法撤銷。"
|
|
121
|
+
|
|
122
|
+
#. @context: Attached text panel title
|
|
123
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
124
|
+
msgid "Attached Text"
|
|
125
|
+
msgstr "附加文本"
|
|
126
|
+
|
|
127
|
+
#. @context: Error toast when authentication system is unavailable
|
|
128
|
+
#: src/routes/auth/signin.tsx
|
|
129
|
+
msgid "Auth not configured"
|
|
130
|
+
msgstr "身份驗證未配置"
|
|
131
|
+
|
|
132
|
+
#. @context: Error toast when authentication secret is missing from server config
|
|
133
|
+
#: src/routes/auth/setup.tsx
|
|
134
|
+
msgid "AUTH_SECRET not configured"
|
|
135
|
+
msgstr "AUTH_SECRET 未配置"
|
|
136
|
+
|
|
137
|
+
#. @context: Compose quote author placeholder
|
|
138
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
139
|
+
msgid "Author (optional)"
|
|
140
|
+
msgstr "作者(可選)"
|
|
141
|
+
|
|
142
|
+
#. @context: Toast after saving avatar display preference
|
|
143
|
+
#. @context: Toast after saving avatar display preference
|
|
144
|
+
#: src/routes/dash/settings.tsx
|
|
145
|
+
#: src/routes/dash/settings.tsx
|
|
146
|
+
msgid "Avatar display setting saved successfully."
|
|
147
|
+
msgstr "頭像顯示設置已成功保存。"
|
|
121
148
|
|
|
122
149
|
#. @context: Button to go back to media list
|
|
123
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
150
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
124
151
|
msgid "Back"
|
|
125
152
|
msgstr "返回"
|
|
126
153
|
|
|
127
154
|
#. @context: Settings section heading for avatar
|
|
128
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
155
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
129
156
|
msgid "Blog Avatar"
|
|
130
|
-
msgstr ""
|
|
157
|
+
msgstr "部落格頭像"
|
|
131
158
|
|
|
132
159
|
#. @context: Button to cancel and go back
|
|
133
160
|
#. @context: Button to cancel form
|
|
@@ -135,246 +162,265 @@ msgstr ""
|
|
|
135
162
|
#. @context: Button to cancel form
|
|
136
163
|
#. @context: Button to cancel form
|
|
137
164
|
#. @context: Button to cancel unsaved changes and revert to original values
|
|
138
|
-
|
|
139
|
-
#: src/
|
|
140
|
-
#: src/ui/
|
|
141
|
-
#: src/ui/dash/
|
|
142
|
-
#: src/ui/dash/
|
|
143
|
-
#: src/ui/dash/
|
|
165
|
+
#. @context: Close compose dialog
|
|
166
|
+
#: src/routes/dash/redirects.tsx
|
|
167
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
168
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
169
|
+
#: src/ui/dash/PageForm.tsx
|
|
170
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
171
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
172
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
144
173
|
msgid "Cancel"
|
|
145
174
|
msgstr "取消"
|
|
146
175
|
|
|
147
176
|
#. @context: Button to change password
|
|
148
177
|
#. @context: Settings section heading
|
|
149
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
150
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
178
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
179
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
151
180
|
msgid "Change Password"
|
|
152
181
|
msgstr "更改密碼"
|
|
153
182
|
|
|
154
183
|
#. @context: Font theme settings description
|
|
155
|
-
#: src/ui/dash/
|
|
156
|
-
msgid "Choose a font for your site. All options use system fonts for fast loading."
|
|
157
|
-
msgstr ""
|
|
184
|
+
#: src/ui/dash/appearance/FontThemeContent.tsx
|
|
185
|
+
msgid "Choose a font pairing for your site. All options use system fonts for fast loading."
|
|
186
|
+
msgstr "選擇一個字體搭配以供您的網站使用。所有選項均使用系統字體以加快加載速度。"
|
|
187
|
+
|
|
188
|
+
#. @context: Button to open icon picker
|
|
189
|
+
#. @context: Icon picker dialog title
|
|
190
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
191
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
192
|
+
msgid "Choose Icon"
|
|
193
|
+
msgstr "選擇圖示"
|
|
158
194
|
|
|
159
195
|
#. @context: Hint to click image for lightbox
|
|
160
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
196
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
161
197
|
msgid "Click image to view full size"
|
|
162
198
|
msgstr "點擊圖片以查看完整大小"
|
|
163
199
|
|
|
164
|
-
#. @context:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
msgid "Collection"
|
|
169
|
-
msgstr ""
|
|
200
|
+
#. @context: Button to close icon picker
|
|
201
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
202
|
+
msgid "Close"
|
|
203
|
+
msgstr "關閉"
|
|
170
204
|
|
|
171
|
-
#. @context:
|
|
172
|
-
#: src/ui/
|
|
173
|
-
msgid "Collection
|
|
174
|
-
msgstr ""
|
|
205
|
+
#. @context: Compose collection selector trigger label
|
|
206
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
207
|
+
msgid "Collection"
|
|
208
|
+
msgstr "集合"
|
|
175
209
|
|
|
176
210
|
#. @context: Collections page heading
|
|
177
211
|
#. @context: Dashboard heading
|
|
178
212
|
#. @context: Dashboard navigation - collections management
|
|
179
|
-
|
|
180
|
-
#: src/ui/
|
|
181
|
-
#: src/ui/
|
|
213
|
+
#. @context: Sidebar heading for collections nav
|
|
214
|
+
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
215
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
216
|
+
#: src/ui/pages/CollectionsPage.tsx
|
|
217
|
+
#: src/ui/shared/CollectionsSidebar.tsx
|
|
182
218
|
msgid "Collections"
|
|
183
219
|
msgstr "收藏夾"
|
|
184
220
|
|
|
185
221
|
#. @context: Post form field - assign to collections
|
|
186
|
-
#: src/
|
|
187
|
-
|
|
188
|
-
|
|
222
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
223
|
+
msgid "Collections (optional)"
|
|
224
|
+
msgstr "收藏(可選)"
|
|
189
225
|
|
|
190
226
|
#. @context: Appearance settings heading
|
|
191
|
-
#: src/ui/dash/
|
|
227
|
+
#: src/ui/dash/appearance/ColorThemeContent.tsx
|
|
192
228
|
msgid "Color theme"
|
|
193
229
|
msgstr "顏色主題"
|
|
194
230
|
|
|
231
|
+
#. @context: Appearance sub-navigation tab
|
|
232
|
+
#: src/ui/dash/appearance/AppearanceNav.tsx
|
|
233
|
+
msgid "Color Theme"
|
|
234
|
+
msgstr ""
|
|
235
|
+
|
|
195
236
|
#. @context: Setup form submit button
|
|
196
|
-
#: src/routes/auth/setup.tsx
|
|
237
|
+
#: src/routes/auth/setup.tsx
|
|
197
238
|
msgid "Complete Setup"
|
|
198
239
|
msgstr "完成設置"
|
|
199
240
|
|
|
200
241
|
#. @context: Password form field
|
|
201
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
242
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
202
243
|
msgid "Confirm New Password"
|
|
203
244
|
msgstr "確認新密碼"
|
|
204
245
|
|
|
205
246
|
#. @context: Password reset form field
|
|
206
|
-
#: src/routes/auth/reset.tsx
|
|
247
|
+
#: src/routes/auth/reset.tsx
|
|
207
248
|
msgid "Confirm Password"
|
|
208
249
|
msgstr "確認密碼"
|
|
209
250
|
|
|
210
251
|
#. @context: Page form field label - content
|
|
211
252
|
#. @context: Post form field
|
|
212
|
-
#: src/ui/dash/PageForm.tsx
|
|
213
|
-
#: src/ui/dash/PostForm.tsx
|
|
253
|
+
#: src/ui/dash/PageForm.tsx
|
|
254
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
214
255
|
msgid "Content"
|
|
215
256
|
msgstr "內容"
|
|
216
257
|
|
|
217
258
|
#. @context: Button to copy Markdown to clipboard
|
|
218
259
|
#. @context: Button to copy URL to clipboard
|
|
219
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
220
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
260
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
261
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
221
262
|
msgid "Copy"
|
|
222
263
|
msgstr "複製"
|
|
223
264
|
|
|
224
265
|
#. @context: Button to save new collection
|
|
225
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
266
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
226
267
|
msgid "Create Collection"
|
|
227
268
|
msgstr "創建收藏夾"
|
|
228
269
|
|
|
229
270
|
#. @context: Button to save new navigation link
|
|
230
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
271
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
231
272
|
msgid "Create Link"
|
|
232
273
|
msgstr "建立連結"
|
|
233
274
|
|
|
234
275
|
#. @context: Button to create new page
|
|
235
|
-
#: src/ui/dash/PageForm.tsx
|
|
276
|
+
#: src/ui/dash/PageForm.tsx
|
|
236
277
|
msgid "Create Page"
|
|
237
278
|
msgstr "創建頁面"
|
|
238
279
|
|
|
239
280
|
#. @context: Button to save new redirect
|
|
240
|
-
#: src/routes/dash/redirects.tsx
|
|
281
|
+
#: src/routes/dash/redirects.tsx
|
|
241
282
|
msgid "Create Redirect"
|
|
242
283
|
msgstr "建立重定向"
|
|
243
284
|
|
|
244
285
|
#. @context: Setup page description
|
|
245
|
-
#: src/routes/auth/setup.tsx
|
|
286
|
+
#: src/routes/auth/setup.tsx
|
|
246
287
|
msgid "Create your admin account."
|
|
247
288
|
msgstr "建立您的管理員帳戶。"
|
|
248
289
|
|
|
249
|
-
#. @context: Button in empty state to create first page
|
|
250
|
-
#: src/routes/dash/pages.tsx:48
|
|
251
|
-
#~ msgid "Create your first page"
|
|
252
|
-
#~ msgstr "建立您的第一個頁面"
|
|
253
|
-
|
|
254
290
|
#. @context: Button in empty state to create first post
|
|
255
|
-
#: src/ui/dash/PostList.tsx
|
|
291
|
+
#: src/ui/dash/PostList.tsx
|
|
256
292
|
msgid "Create your first post"
|
|
257
293
|
msgstr "創建你的第一篇帖子"
|
|
258
294
|
|
|
259
295
|
#. @context: Password form field
|
|
260
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
296
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
261
297
|
msgid "Current Password"
|
|
262
298
|
msgstr "當前密碼"
|
|
263
299
|
|
|
300
|
+
#. @context: Error toast when current password verification fails
|
|
301
|
+
#: src/routes/dash/settings.tsx
|
|
302
|
+
msgid "Current password is incorrect."
|
|
303
|
+
msgstr "當前密碼不正確。"
|
|
304
|
+
|
|
264
305
|
#. @context: Appearance settings heading for custom CSS
|
|
265
|
-
#: src/ui/dash/
|
|
306
|
+
#: src/ui/dash/appearance/AdvancedContent.tsx
|
|
266
307
|
msgid "Custom CSS"
|
|
267
|
-
msgstr ""
|
|
308
|
+
msgstr "自訂 CSS"
|
|
268
309
|
|
|
269
|
-
#. @context:
|
|
270
|
-
#: src/
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
#. @context: Post form field
|
|
275
|
-
#: src/theme/components/PostForm.tsx:293
|
|
276
|
-
#~ msgid "Custom Slug (optional)"
|
|
277
|
-
#~ msgstr ""
|
|
278
|
-
|
|
279
|
-
#. @context: Slug help text
|
|
280
|
-
#: src/theme/components/PostForm.tsx:306
|
|
281
|
-
#~ msgid "Custom URL path. Leave empty to use default /p/ID format."
|
|
282
|
-
#~ msgstr ""
|
|
310
|
+
#. @context: Toast after saving custom CSS
|
|
311
|
+
#: src/routes/dash/appearance.tsx
|
|
312
|
+
msgid "Custom CSS saved successfully."
|
|
313
|
+
msgstr "自訂 CSS 已成功儲存。"
|
|
283
314
|
|
|
284
315
|
#. @context: Section heading for dangerous/destructive actions
|
|
285
|
-
#: src/ui/dash/DangerZone.tsx
|
|
316
|
+
#: src/ui/dash/DangerZone.tsx
|
|
286
317
|
msgid "Danger Zone"
|
|
287
318
|
msgstr "危險區域"
|
|
288
319
|
|
|
289
320
|
#. @context: Dashboard main heading
|
|
290
321
|
#. @context: Dashboard navigation - main dashboard page
|
|
291
|
-
#: src/routes/dash/index.tsx
|
|
292
|
-
#: src/ui/layouts/DashLayout.tsx
|
|
322
|
+
#: src/routes/dash/index.tsx
|
|
323
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
293
324
|
msgid "Dashboard"
|
|
294
325
|
msgstr "儀表板"
|
|
295
326
|
|
|
296
327
|
#. @context: Settings form field
|
|
297
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
328
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
298
329
|
msgid "Default Homepage View"
|
|
299
|
-
msgstr ""
|
|
330
|
+
msgstr "預設首頁視圖"
|
|
300
331
|
|
|
301
332
|
#. @context: Button to delete item
|
|
302
333
|
#. @context: Button to delete link
|
|
303
334
|
#. @context: Button to delete redirect
|
|
304
|
-
#: src/routes/dash/redirects.tsx
|
|
305
|
-
#: src/ui/dash/ActionButtons.tsx
|
|
306
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
335
|
+
#: src/routes/dash/redirects.tsx
|
|
336
|
+
#: src/ui/dash/ActionButtons.tsx
|
|
337
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
307
338
|
msgid "Delete"
|
|
308
339
|
msgstr "刪除"
|
|
309
340
|
|
|
310
|
-
#. @context: Button to delete collection
|
|
311
|
-
#: src/routes/dash/collections.tsx:363
|
|
312
|
-
#~ msgid "Delete Collection"
|
|
313
|
-
#~ msgstr "刪除收藏夾"
|
|
314
|
-
|
|
315
341
|
#. @context: Button to delete media
|
|
316
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
342
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
317
343
|
msgid "Delete Media"
|
|
318
344
|
msgstr "刪除媒體"
|
|
319
345
|
|
|
320
346
|
#. @context: Button to delete page
|
|
321
|
-
#: src/routes/dash/pages.tsx
|
|
347
|
+
#: src/routes/dash/pages.tsx
|
|
322
348
|
msgid "Delete Page"
|
|
323
349
|
msgstr "刪除頁面"
|
|
324
350
|
|
|
325
351
|
#. @context: Warning message before deleting media
|
|
326
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
352
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
327
353
|
msgid "Deleting this media will remove it permanently from storage."
|
|
328
354
|
msgstr "刪除此媒體將永久從存儲中移除它。"
|
|
329
355
|
|
|
330
356
|
#. @context: Hint shown on signin page when demo credentials are pre-filled
|
|
331
|
-
#: src/routes/auth/signin.tsx
|
|
357
|
+
#: src/routes/auth/signin.tsx
|
|
332
358
|
msgid "Demo account pre-filled. Just click Sign In."
|
|
333
359
|
msgstr "示範帳戶已預填。只需點擊登入。"
|
|
334
360
|
|
|
361
|
+
#. @context: Alt text textarea placeholder
|
|
362
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
363
|
+
msgid "Describe this for people with visual impairments..."
|
|
364
|
+
msgstr ""
|
|
365
|
+
|
|
335
366
|
#. @context: Collection form field
|
|
336
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
367
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
337
368
|
msgid "Description (optional)"
|
|
338
369
|
msgstr "描述(可選)"
|
|
339
370
|
|
|
371
|
+
#. @context: More menu - discard post
|
|
372
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
373
|
+
msgid "Discard"
|
|
374
|
+
msgstr "丟棄"
|
|
375
|
+
|
|
340
376
|
#. @context: Checkbox to show avatar in the site header
|
|
341
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
377
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
342
378
|
msgid "Display avatar in my site header"
|
|
343
|
-
msgstr ""
|
|
379
|
+
msgstr "在我的網站標頭中顯示頭像"
|
|
344
380
|
|
|
345
381
|
#. @context: Navigation label help text
|
|
346
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
382
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
347
383
|
msgid "Display text for the link"
|
|
348
384
|
msgstr "顯示連結的文字"
|
|
349
385
|
|
|
386
|
+
#. @context: Help text for site description field
|
|
387
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
388
|
+
msgid "Displayed above your blog posts on the home page. Also used as the meta description. Markdown supported."
|
|
389
|
+
msgstr ""
|
|
390
|
+
|
|
391
|
+
#. @context: Help text for site footer field
|
|
392
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
393
|
+
msgid "Displayed at the bottom of all posts and pages. Markdown supported."
|
|
394
|
+
msgstr ""
|
|
395
|
+
|
|
396
|
+
#. @context: Close attached text panel
|
|
350
397
|
#. @context: Close media picker button
|
|
351
|
-
|
|
352
|
-
#: src/ui/
|
|
353
|
-
#: src/ui/dash/PostForm.tsx:340
|
|
398
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
399
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
354
400
|
msgid "Done"
|
|
355
401
|
msgstr "完成"
|
|
356
402
|
|
|
357
|
-
#. @context: Compose button - save as draft
|
|
358
403
|
#. @context: Page status option - draft
|
|
359
404
|
#. @context: Post status badge - draft
|
|
360
405
|
#. @context: Post status option
|
|
361
|
-
#: src/ui/
|
|
362
|
-
#: src/ui/dash/
|
|
363
|
-
#: src/ui/dash/
|
|
364
|
-
#: src/ui/dash/StatusBadge.tsx:34
|
|
406
|
+
#: src/ui/dash/PageForm.tsx
|
|
407
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
408
|
+
#: src/ui/dash/StatusBadge.tsx
|
|
365
409
|
msgid "Draft"
|
|
366
410
|
msgstr "草稿"
|
|
367
411
|
|
|
412
|
+
#. @context: Toast after saving a draft post
|
|
413
|
+
#. @context: Toast after saving a draft post
|
|
414
|
+
#: src/routes/compose.tsx
|
|
415
|
+
#: src/routes/compose.tsx
|
|
416
|
+
msgid "Draft saved."
|
|
417
|
+
msgstr "草稿已保存。"
|
|
418
|
+
|
|
368
419
|
#. @context: Post status label
|
|
369
|
-
#: src/routes/dash/index.tsx
|
|
420
|
+
#: src/routes/dash/index.tsx
|
|
370
421
|
msgid "Drafts"
|
|
371
422
|
msgstr "草稿"
|
|
372
423
|
|
|
373
|
-
#. @context: Source name placeholder
|
|
374
|
-
#: src/theme/components/PostForm.tsx:226
|
|
375
|
-
#~ msgid "e.g. The Verge, John Doe"
|
|
376
|
-
#~ msgstr "例如:The Verge,約翰·多伊"
|
|
377
|
-
|
|
378
424
|
#. @context: Button to edit collection
|
|
379
425
|
#. @context: Button to edit collection
|
|
380
426
|
#. @context: Button to edit item
|
|
@@ -384,500 +430,622 @@ msgstr "草稿"
|
|
|
384
430
|
#. @context: Button to edit page
|
|
385
431
|
#. @context: Button to edit post
|
|
386
432
|
#. @context: Button to edit post
|
|
387
|
-
#: src/routes/dash/pages.tsx
|
|
388
|
-
#: src/routes/dash/posts.tsx
|
|
389
|
-
#: src/ui/dash/ActionButtons.tsx
|
|
390
|
-
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
391
|
-
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
392
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
393
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
394
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
395
|
-
#: src/ui/dash/PostList.tsx
|
|
433
|
+
#: src/routes/dash/pages.tsx
|
|
434
|
+
#: src/routes/dash/posts.tsx
|
|
435
|
+
#: src/ui/dash/ActionButtons.tsx
|
|
436
|
+
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
437
|
+
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
438
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
439
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
440
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
441
|
+
#: src/ui/dash/PostList.tsx
|
|
396
442
|
msgid "Edit"
|
|
397
443
|
msgstr "編輯"
|
|
398
444
|
|
|
399
445
|
#. @context: Page heading
|
|
400
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
446
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
401
447
|
msgid "Edit Collection"
|
|
402
448
|
msgstr "編輯收藏集"
|
|
403
449
|
|
|
404
450
|
#. @context: Page heading
|
|
405
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
451
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
406
452
|
msgid "Edit Link"
|
|
407
453
|
msgstr "編輯連結"
|
|
408
454
|
|
|
409
455
|
#. @context: Edit page main heading
|
|
410
|
-
#: src/routes/dash/pages.tsx
|
|
456
|
+
#: src/routes/dash/pages.tsx
|
|
411
457
|
msgid "Edit Page"
|
|
412
458
|
msgstr "編輯頁面"
|
|
413
459
|
|
|
414
460
|
#. @context: Page heading
|
|
415
|
-
#: src/routes/dash/posts.tsx
|
|
461
|
+
#: src/routes/dash/posts.tsx
|
|
416
462
|
msgid "Edit Post"
|
|
417
463
|
msgstr "編輯文章"
|
|
418
464
|
|
|
419
465
|
#. @context: Setup/signin form field - email
|
|
420
466
|
#. @context: Setup/signin form field - email
|
|
421
|
-
#: src/routes/auth/setup.tsx
|
|
422
|
-
#: src/routes/auth/signin.tsx
|
|
467
|
+
#: src/routes/auth/setup.tsx
|
|
468
|
+
#: src/routes/auth/signin.tsx
|
|
423
469
|
msgid "Email"
|
|
424
470
|
msgstr "電子郵件"
|
|
425
471
|
|
|
426
472
|
#. @context: Password reset page description
|
|
427
|
-
#: src/routes/auth/reset.tsx
|
|
473
|
+
#: src/routes/auth/reset.tsx
|
|
428
474
|
msgid "Enter your new password."
|
|
429
475
|
msgstr "請輸入您的新密碼。"
|
|
430
476
|
|
|
477
|
+
#. @context: Plural entry count label
|
|
478
|
+
#: src/ui/pages/CollectionsPage.tsx
|
|
479
|
+
msgid "entries"
|
|
480
|
+
msgstr "條目"
|
|
481
|
+
|
|
482
|
+
#. @context: Singular entry count label
|
|
483
|
+
#: src/ui/pages/CollectionsPage.tsx
|
|
484
|
+
msgid "entry"
|
|
485
|
+
msgstr "條目"
|
|
486
|
+
|
|
487
|
+
#. @context: Error toast when account creation fails
|
|
488
|
+
#. @context: Error toast when account creation fails
|
|
489
|
+
#: src/routes/auth/setup.tsx
|
|
490
|
+
#: src/routes/auth/setup.tsx
|
|
491
|
+
msgid "Failed to create account"
|
|
492
|
+
msgstr "無法創建帳戶"
|
|
493
|
+
|
|
494
|
+
#. @context: Toast when post save fails
|
|
495
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
496
|
+
msgid "Failed to save post. Please try again."
|
|
497
|
+
msgstr "無法保存帖子。請再試一次。"
|
|
498
|
+
|
|
499
|
+
#. @context: Error toast when profile update fails
|
|
500
|
+
#: src/routes/dash/settings.tsx
|
|
501
|
+
msgid "Failed to update profile."
|
|
502
|
+
msgstr "無法更新個人資料。"
|
|
503
|
+
|
|
431
504
|
#. @context: Archive filter - featured posts
|
|
432
505
|
#. @context: Browse filter for featured posts
|
|
433
|
-
#. @context: Compose checkbox - mark as featured
|
|
434
506
|
#. @context: Homepage view option - show featured posts
|
|
435
507
|
#. @context: Post badge - featured
|
|
436
508
|
#. @context: Post form checkbox - mark as featured
|
|
437
|
-
#: src/ui/
|
|
438
|
-
#: src/ui/dash/
|
|
439
|
-
#: src/ui/dash/
|
|
440
|
-
#: src/ui/
|
|
441
|
-
#: src/ui/
|
|
442
|
-
#: src/ui/pages/ArchivePage.tsx:92
|
|
509
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
510
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
511
|
+
#: src/ui/dash/StatusBadge.tsx
|
|
512
|
+
#: src/ui/layouts/SiteLayout.tsx
|
|
513
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
443
514
|
msgid "Featured"
|
|
444
515
|
msgstr "精選"
|
|
445
516
|
|
|
446
517
|
#. @context: Appearance settings heading for font theme
|
|
447
|
-
#: src/ui/dash/
|
|
518
|
+
#: src/ui/dash/appearance/FontThemeContent.tsx
|
|
448
519
|
msgid "Font theme"
|
|
520
|
+
msgstr "字型主題"
|
|
521
|
+
|
|
522
|
+
#. @context: Appearance sub-navigation tab
|
|
523
|
+
#: src/ui/dash/appearance/AppearanceNav.tsx
|
|
524
|
+
msgid "Font Theme"
|
|
449
525
|
msgstr ""
|
|
450
526
|
|
|
527
|
+
#. @context: Toast after saving site footer
|
|
528
|
+
#. @context: Toast after saving site footer
|
|
529
|
+
#: src/routes/dash/settings.tsx
|
|
530
|
+
#: src/routes/dash/settings.tsx
|
|
531
|
+
#~ msgid "Footer saved successfully."
|
|
532
|
+
#~ msgstr "頁腳已成功保存。"
|
|
533
|
+
|
|
451
534
|
#. @context: Post form field - post format
|
|
452
|
-
#: src/ui/dash/PostForm.tsx
|
|
535
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
453
536
|
msgid "Format"
|
|
454
|
-
msgstr ""
|
|
537
|
+
msgstr "格式"
|
|
455
538
|
|
|
456
539
|
#. @context: Search results count - multiple
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
540
|
+
#. placeholder {0}: String(results.length)
|
|
541
|
+
#: src/ui/pages/SearchPage.tsx
|
|
542
|
+
msgid "Found {0} results"
|
|
543
|
+
msgstr "找到 {0} 個結果"
|
|
460
544
|
|
|
461
545
|
#. @context: Search results count - single
|
|
462
|
-
#: src/ui/pages/SearchPage.tsx
|
|
546
|
+
#: src/ui/pages/SearchPage.tsx
|
|
463
547
|
msgid "Found 1 result"
|
|
464
548
|
msgstr "找到 1 個結果"
|
|
465
549
|
|
|
466
550
|
#. @context: Redirect form field
|
|
467
|
-
#: src/routes/dash/redirects.tsx
|
|
551
|
+
#: src/routes/dash/redirects.tsx
|
|
468
552
|
msgid "From Path"
|
|
469
553
|
msgstr "來源路徑"
|
|
470
554
|
|
|
471
555
|
#. @context: Settings section heading
|
|
472
556
|
#. @context: Settings sub-navigation tab
|
|
473
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
474
|
-
#: src/ui/dash/settings/SettingsNav.tsx
|
|
557
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
558
|
+
#: src/ui/dash/settings/SettingsNav.tsx
|
|
475
559
|
msgid "General"
|
|
476
560
|
msgstr "一般設定"
|
|
477
561
|
|
|
478
|
-
#. @context:
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
562
|
+
#. @context: Compose link title placeholder
|
|
563
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
564
|
+
msgid "Give it a title..."
|
|
565
|
+
msgstr "給它一個標題..."
|
|
566
|
+
|
|
567
|
+
#. @context: Collection sort order option
|
|
568
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
569
|
+
msgid "Highest rated"
|
|
570
|
+
msgstr "最高評價"
|
|
486
571
|
|
|
487
|
-
#. @context:
|
|
488
|
-
#: src/
|
|
489
|
-
|
|
490
|
-
|
|
572
|
+
#. @context: Collection form field
|
|
573
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
574
|
+
msgid "Icon (optional)"
|
|
575
|
+
msgstr "圖示(可選)"
|
|
491
576
|
|
|
492
577
|
#. @context: Media upload instructions - auto optimization
|
|
493
|
-
#: src/ui/dash/media/MediaListContent.tsx
|
|
578
|
+
#: src/ui/dash/media/MediaListContent.tsx
|
|
494
579
|
msgid "Images are automatically optimized: resized to max 1920px, converted to WebP, and metadata stripped."
|
|
495
580
|
msgstr "圖片會自動優化:調整大小至最大 1920 像素,轉換為 WebP 格式,並去除元數據。"
|
|
496
581
|
|
|
582
|
+
#. @context: Error toast when sign-in credentials are wrong
|
|
583
|
+
#: src/routes/auth/signin.tsx
|
|
584
|
+
msgid "Invalid email or password"
|
|
585
|
+
msgstr "無效的電子郵件或密碼"
|
|
586
|
+
|
|
587
|
+
#. @context: Error toast when selected font theme is not valid
|
|
588
|
+
#: src/routes/dash/appearance.tsx
|
|
589
|
+
msgid "Invalid font theme selected."
|
|
590
|
+
msgstr "選擇的字體主題無效。"
|
|
591
|
+
|
|
592
|
+
#. @context: Fallback validation error for compose form
|
|
593
|
+
#. @context: Fallback validation error for page form
|
|
594
|
+
#. @context: Fallback validation error for page form
|
|
595
|
+
#. @context: Fallback validation error for password reset form
|
|
596
|
+
#. @context: Fallback validation error for setup form
|
|
597
|
+
#. @context: Fallback validation error for sign-in form
|
|
598
|
+
#: src/routes/auth/reset.tsx
|
|
599
|
+
#: src/routes/auth/setup.tsx
|
|
600
|
+
#: src/routes/auth/signin.tsx
|
|
601
|
+
#: src/routes/compose.tsx
|
|
602
|
+
#: src/routes/dash/pages.tsx
|
|
603
|
+
#: src/routes/dash/pages.tsx
|
|
604
|
+
msgid "Invalid input"
|
|
605
|
+
msgstr "無效的輸入"
|
|
606
|
+
|
|
497
607
|
#. @context: Password reset error heading
|
|
498
|
-
#: src/routes/auth/reset.tsx
|
|
608
|
+
#: src/routes/auth/reset.tsx
|
|
499
609
|
msgid "Invalid or Expired Link"
|
|
500
610
|
msgstr "無效或已過期的連結"
|
|
501
611
|
|
|
612
|
+
#. @context: Error toast when reorder request is malformed
|
|
613
|
+
#: src/routes/dash/pages.tsx
|
|
614
|
+
msgid "Invalid request"
|
|
615
|
+
msgstr "無效的請求"
|
|
616
|
+
|
|
617
|
+
#. @context: Error toast when selected theme is not valid
|
|
618
|
+
#: src/routes/dash/appearance.tsx
|
|
619
|
+
msgid "Invalid theme selected."
|
|
620
|
+
msgstr "選擇的主題無效。"
|
|
621
|
+
|
|
502
622
|
#. @context: Checkbox for allowing search engine indexing
|
|
503
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
623
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
504
624
|
msgid "It's OK for search engines to index my site"
|
|
505
|
-
msgstr ""
|
|
625
|
+
msgstr "允許搜尋引擎索引我的網站是可以的"
|
|
506
626
|
|
|
507
627
|
#. @context: Navigation link form field
|
|
508
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
628
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
509
629
|
msgid "Label"
|
|
510
630
|
msgstr "標籤"
|
|
511
631
|
|
|
632
|
+
#. @context: Error toast when nav link fields are empty
|
|
633
|
+
#. @context: Error toast when nav link fields are empty
|
|
634
|
+
#: src/routes/dash/pages.tsx
|
|
635
|
+
#: src/routes/dash/pages.tsx
|
|
636
|
+
msgid "Label and URL are required"
|
|
637
|
+
msgstr "標籤和網址是必填的"
|
|
638
|
+
|
|
512
639
|
#. @context: Settings form field
|
|
513
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
640
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
514
641
|
msgid "Language"
|
|
515
642
|
msgstr "語言"
|
|
516
643
|
|
|
517
644
|
#. @context: Browse filter for latest posts
|
|
518
645
|
#. @context: Homepage view option - show latest posts
|
|
519
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
520
|
-
#: src/ui/layouts/SiteLayout.tsx
|
|
646
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
647
|
+
#: src/ui/layouts/SiteLayout.tsx
|
|
521
648
|
msgid "Latest"
|
|
522
|
-
msgstr ""
|
|
649
|
+
msgstr "最新"
|
|
523
650
|
|
|
524
651
|
#. @context: Nav item type badge
|
|
525
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
652
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
526
653
|
msgid "link"
|
|
527
|
-
msgstr ""
|
|
654
|
+
msgstr "鏈接"
|
|
528
655
|
|
|
529
656
|
#. @context: Compose format tab
|
|
530
657
|
#. @context: Post format badge - link
|
|
531
658
|
#. @context: Post format label - link
|
|
532
659
|
#. @context: Post format option
|
|
533
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
534
|
-
#: src/ui/dash/FormatBadge.tsx
|
|
535
|
-
#: src/ui/dash/PostForm.tsx
|
|
536
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
660
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
661
|
+
#: src/ui/dash/FormatBadge.tsx
|
|
662
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
663
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
537
664
|
msgid "Link"
|
|
538
665
|
msgstr "連結"
|
|
539
666
|
|
|
540
667
|
#. @context: Post format label plural - links
|
|
541
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
668
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
542
669
|
msgid "Links"
|
|
543
670
|
msgstr "連結"
|
|
544
671
|
|
|
545
672
|
#. @context: Pagination button - load more items
|
|
546
|
-
#: src/ui/shared/Pagination.tsx
|
|
673
|
+
#: src/ui/shared/Pagination.tsx
|
|
547
674
|
msgid "Load more"
|
|
548
675
|
msgstr "載入更多"
|
|
549
676
|
|
|
550
677
|
#. @context: Loading state for media picker
|
|
551
|
-
|
|
552
|
-
#: src/ui/compose/ComposeDialog.tsx:405
|
|
553
|
-
#: src/ui/dash/PostForm.tsx:351
|
|
678
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
554
679
|
msgid "Loading..."
|
|
555
680
|
msgstr "載入中..."
|
|
556
681
|
|
|
557
682
|
#. @context: Page slug validation message
|
|
558
|
-
#: src/ui/dash/PageForm.tsx
|
|
683
|
+
#: src/ui/dash/PageForm.tsx
|
|
559
684
|
msgid "Lowercase letters, numbers, and hyphens only"
|
|
560
685
|
msgstr "僅限小寫字母、數字和連字符"
|
|
561
686
|
|
|
687
|
+
#. @context: Collection sort order option
|
|
688
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
689
|
+
msgid "Lowest rated"
|
|
690
|
+
msgstr "最低評價"
|
|
691
|
+
|
|
562
692
|
#. @context: Media detail section - Markdown snippet
|
|
563
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
693
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
564
694
|
msgid "Markdown"
|
|
565
695
|
msgstr "Markdown"
|
|
566
696
|
|
|
567
|
-
#. @context: Placeholder for
|
|
568
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
697
|
+
#. @context: Placeholder hint for markdown-enabled textareas
|
|
698
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
569
699
|
msgid "Markdown supported"
|
|
570
|
-
msgstr ""
|
|
700
|
+
msgstr "支援Markdown"
|
|
571
701
|
|
|
702
|
+
#. @context: Compose toolbar - media tooltip
|
|
572
703
|
#. @context: Dashboard navigation - media library
|
|
573
704
|
#. @context: Media main heading
|
|
574
705
|
#. @context: Post form field - media attachments
|
|
575
|
-
#: src/ui/
|
|
576
|
-
#: src/ui/dash/
|
|
577
|
-
#: src/ui/
|
|
706
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
707
|
+
#: src/ui/dash/media/MediaListContent.tsx
|
|
708
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
709
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
578
710
|
msgid "Media"
|
|
579
711
|
msgstr "媒體"
|
|
580
712
|
|
|
581
713
|
#. @context: Collection title placeholder
|
|
582
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
714
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
583
715
|
msgid "My Collection"
|
|
584
716
|
msgstr "我的收藏"
|
|
585
717
|
|
|
586
718
|
#. @context: Account settings form field
|
|
587
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
719
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
588
720
|
msgid "Name"
|
|
589
721
|
msgstr "名稱"
|
|
590
722
|
|
|
591
|
-
#. @context:
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
#~ msgid "Navigation"
|
|
596
|
-
#~ msgstr "導航"
|
|
723
|
+
#. @context: Error toast when display name is empty
|
|
724
|
+
#: src/routes/dash/settings.tsx
|
|
725
|
+
msgid "Name is required."
|
|
726
|
+
msgstr "名稱是必填的。"
|
|
597
727
|
|
|
598
728
|
#. @context: Help text with link
|
|
599
|
-
#: src/routes/dash/index.tsx
|
|
729
|
+
#: src/routes/dash/index.tsx
|
|
600
730
|
msgid "Need help? Visit the <0>documentation</0>"
|
|
601
731
|
msgstr "需要幫助嗎?請訪問<0>文檔</0>。"
|
|
602
732
|
|
|
603
733
|
#. @context: Button to create new collection
|
|
604
734
|
#. @context: Button to create new collection
|
|
605
735
|
#. @context: Page heading
|
|
606
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
607
|
-
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
608
|
-
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
736
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
737
|
+
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
738
|
+
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
609
739
|
msgid "New Collection"
|
|
610
740
|
msgstr "新收藏集"
|
|
611
741
|
|
|
742
|
+
#. @context: Button to add divider between collections
|
|
743
|
+
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
744
|
+
msgid "New Divider"
|
|
745
|
+
msgstr "新分隔線"
|
|
746
|
+
|
|
612
747
|
#. @context: Page heading
|
|
613
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
748
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
614
749
|
msgid "New Link"
|
|
615
750
|
msgstr "新連結"
|
|
616
751
|
|
|
617
752
|
#. @context: Button to create new page
|
|
618
753
|
#. @context: New page main heading
|
|
619
|
-
#: src/routes/dash/pages.tsx
|
|
620
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
754
|
+
#: src/routes/dash/pages.tsx
|
|
755
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
621
756
|
msgid "New Page"
|
|
622
757
|
msgstr "新頁面"
|
|
623
758
|
|
|
624
759
|
#. @context: Password form field
|
|
625
760
|
#. @context: Password reset form field
|
|
626
|
-
#: src/routes/auth/reset.tsx
|
|
627
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
761
|
+
#: src/routes/auth/reset.tsx
|
|
762
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
628
763
|
msgid "New Password"
|
|
629
764
|
msgstr "新密碼"
|
|
630
765
|
|
|
631
766
|
#. @context: Button to create new post
|
|
632
767
|
#. @context: Button to create new post
|
|
633
|
-
#. @context: Compose dialog title
|
|
634
768
|
#. @context: Page heading
|
|
635
|
-
#: src/routes/dash/index.tsx
|
|
636
|
-
#: src/routes/dash/posts.tsx
|
|
637
|
-
#: src/routes/dash/posts.tsx
|
|
638
|
-
#: src/ui/compose/ComposeDialog.tsx:66
|
|
769
|
+
#: src/routes/dash/index.tsx
|
|
770
|
+
#: src/routes/dash/posts.tsx
|
|
771
|
+
#: src/routes/dash/posts.tsx
|
|
639
772
|
msgid "New Post"
|
|
640
773
|
msgstr "新帖子"
|
|
641
774
|
|
|
642
775
|
#. @context: Button to create new redirect
|
|
643
776
|
#. @context: Button to create new redirect
|
|
644
777
|
#. @context: Page heading
|
|
645
|
-
#: src/routes/dash/redirects.tsx
|
|
646
|
-
#: src/routes/dash/redirects.tsx
|
|
647
|
-
#: src/routes/dash/redirects.tsx
|
|
778
|
+
#: src/routes/dash/redirects.tsx
|
|
779
|
+
#: src/routes/dash/redirects.tsx
|
|
780
|
+
#: src/routes/dash/redirects.tsx
|
|
648
781
|
msgid "New Redirect"
|
|
649
782
|
msgstr "新重定向"
|
|
650
783
|
|
|
784
|
+
#. @context: Collection sort order option
|
|
785
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
786
|
+
msgid "Newest first"
|
|
787
|
+
msgstr "最新的在前"
|
|
788
|
+
|
|
651
789
|
#. @context: Pagination button - next page
|
|
652
790
|
#. @context: Pagination button - next page
|
|
653
|
-
#: src/ui/shared/Pagination.tsx
|
|
654
|
-
#: src/ui/shared/Pagination.tsx
|
|
791
|
+
#: src/ui/shared/Pagination.tsx
|
|
792
|
+
#: src/ui/shared/Pagination.tsx
|
|
655
793
|
msgid "Next"
|
|
656
794
|
msgstr "下一頁"
|
|
657
795
|
|
|
796
|
+
#. @context: Compose collection combobox empty state
|
|
797
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
798
|
+
msgid "No collections found."
|
|
799
|
+
msgstr ""
|
|
800
|
+
|
|
658
801
|
#. @context: Empty state message
|
|
659
802
|
#. @context: Empty state message on collections page
|
|
660
|
-
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
661
|
-
#: src/ui/pages/CollectionsPage.tsx
|
|
803
|
+
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
804
|
+
#: src/ui/pages/CollectionsPage.tsx
|
|
662
805
|
msgid "No collections yet."
|
|
663
806
|
msgstr "尚未有任何收藏。"
|
|
664
807
|
|
|
665
808
|
#. @context: Empty state message on featured page
|
|
666
|
-
#: src/ui/pages/FeaturedPage.tsx
|
|
809
|
+
#: src/ui/pages/FeaturedPage.tsx
|
|
667
810
|
msgid "No featured posts yet."
|
|
668
|
-
msgstr ""
|
|
811
|
+
msgstr "尚未有精選文章。"
|
|
812
|
+
|
|
813
|
+
#. @context: Error when no file was selected for upload
|
|
814
|
+
#: src/routes/api/upload.ts
|
|
815
|
+
msgid "No file provided"
|
|
816
|
+
msgstr "未提供檔案"
|
|
817
|
+
|
|
818
|
+
#. @context: Error toast when no file was selected for upload
|
|
819
|
+
#: src/routes/dash/settings.tsx
|
|
820
|
+
msgid "No file provided."
|
|
821
|
+
msgstr "未提供檔案。"
|
|
822
|
+
|
|
823
|
+
#. @context: Post form media empty state
|
|
824
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
825
|
+
msgid "No media selected yet."
|
|
826
|
+
msgstr "尚未選擇任何媒體。"
|
|
669
827
|
|
|
670
828
|
#. @context: Empty state message when no media exists
|
|
671
|
-
#: src/ui/dash/media/MediaListContent.tsx
|
|
829
|
+
#: src/ui/dash/media/MediaListContent.tsx
|
|
672
830
|
msgid "No media uploaded yet."
|
|
673
831
|
msgstr "尚未上傳任何媒體。"
|
|
674
832
|
|
|
675
|
-
#. @context: Empty state message
|
|
676
|
-
#: src/routes/dash/navigation.tsx:42
|
|
677
|
-
#~ msgid "No navigation links configured."
|
|
678
|
-
#~ msgstr "未配置導航連結。"
|
|
679
|
-
|
|
680
833
|
#. @context: Empty state for navigation section
|
|
681
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
834
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
682
835
|
msgid "No navigation links yet. Add pages to navigation or create links."
|
|
683
|
-
msgstr ""
|
|
684
|
-
|
|
685
|
-
#. @context: Empty state message when no pages exist
|
|
686
|
-
#: src/routes/dash/pages.tsx:44
|
|
687
|
-
#~ msgid "No pages yet."
|
|
688
|
-
#~ msgstr "尚未有頁面。"
|
|
836
|
+
msgstr "尚未有導航連結。請將頁面添加到導航或創建連結。"
|
|
689
837
|
|
|
690
838
|
#. @context: Archive empty state
|
|
691
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
839
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
692
840
|
msgid "No posts found."
|
|
693
841
|
msgstr "未找到任何帖子。"
|
|
694
842
|
|
|
695
843
|
#. @context: Empty state message
|
|
696
844
|
#. @context: Empty state message
|
|
697
|
-
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
698
|
-
#: src/ui/pages/CollectionPage.tsx
|
|
845
|
+
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
846
|
+
#: src/ui/pages/CollectionPage.tsx
|
|
699
847
|
msgid "No posts in this collection."
|
|
700
848
|
msgstr "此集合中沒有帖子。"
|
|
701
849
|
|
|
702
850
|
#. @context: Empty state message on home page
|
|
703
851
|
#. @context: Empty state message when no posts exist
|
|
704
|
-
#: src/ui/dash/PostList.tsx
|
|
705
|
-
#: src/ui/pages/HomePage.tsx
|
|
852
|
+
#: src/ui/dash/PostList.tsx
|
|
853
|
+
#: src/ui/pages/HomePage.tsx
|
|
706
854
|
msgid "No posts yet."
|
|
707
855
|
msgstr "尚未有帖子。"
|
|
708
856
|
|
|
709
857
|
#. @context: Empty state message
|
|
710
|
-
#: src/routes/dash/redirects.tsx
|
|
858
|
+
#: src/routes/dash/redirects.tsx
|
|
711
859
|
msgid "No redirects configured."
|
|
712
860
|
msgstr "未配置任何重定向。"
|
|
713
861
|
|
|
714
862
|
#. @context: Search empty results
|
|
715
|
-
#: src/ui/pages/SearchPage.tsx
|
|
863
|
+
#: src/ui/pages/SearchPage.tsx
|
|
716
864
|
msgid "No results found."
|
|
717
865
|
msgstr "未找到結果。"
|
|
718
866
|
|
|
719
|
-
#. @context: No collection selected
|
|
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
|
|
725
|
-
msgid "None"
|
|
726
|
-
msgstr ""
|
|
727
|
-
|
|
728
867
|
#. @context: Compose format tab
|
|
729
868
|
#. @context: Post format badge - note
|
|
730
869
|
#. @context: Post format label - note
|
|
731
870
|
#. @context: Post format option
|
|
732
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
733
|
-
#: src/ui/dash/FormatBadge.tsx
|
|
734
|
-
#: src/ui/dash/PostForm.tsx
|
|
735
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
871
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
872
|
+
#: src/ui/dash/FormatBadge.tsx
|
|
873
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
874
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
736
875
|
msgid "Note"
|
|
737
876
|
msgstr "備註"
|
|
738
877
|
|
|
739
878
|
#. @context: Post format label plural - notes
|
|
740
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
879
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
741
880
|
msgid "Notes"
|
|
742
881
|
msgstr "筆記"
|
|
743
882
|
|
|
883
|
+
#. @context: Collection sort order option
|
|
884
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
885
|
+
msgid "Oldest first"
|
|
886
|
+
msgstr "最舊的在前"
|
|
887
|
+
|
|
888
|
+
#. @context: Toast after saving navigation item order
|
|
889
|
+
#: src/routes/dash/pages.tsx
|
|
890
|
+
msgid "Order saved"
|
|
891
|
+
msgstr "已保存順序"
|
|
892
|
+
|
|
744
893
|
#. @context: Section heading for pages not in navigation
|
|
745
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
894
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
746
895
|
msgid "Other pages"
|
|
747
|
-
msgstr ""
|
|
896
|
+
msgstr "其他頁面"
|
|
748
897
|
|
|
749
898
|
#. @context: Nav item type badge
|
|
750
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
899
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
751
900
|
msgid "page"
|
|
752
|
-
msgstr ""
|
|
901
|
+
msgstr "頁面"
|
|
753
902
|
|
|
754
903
|
#. @context: Default page heading when untitled
|
|
755
|
-
#: src/routes/dash/pages.tsx
|
|
904
|
+
#: src/routes/dash/pages.tsx
|
|
756
905
|
msgid "Page"
|
|
757
906
|
msgstr "頁面"
|
|
758
907
|
|
|
759
908
|
#. @context: Pagination - current page indicator
|
|
760
|
-
#: src/ui/shared/Pagination.tsx
|
|
909
|
+
#: src/ui/shared/Pagination.tsx
|
|
761
910
|
msgid "Page {page}"
|
|
762
911
|
msgstr "頁面 {page}"
|
|
763
912
|
|
|
764
913
|
#. @context: Page content placeholder
|
|
765
|
-
#: src/ui/dash/PageForm.tsx
|
|
914
|
+
#: src/ui/dash/PageForm.tsx
|
|
766
915
|
msgid "Page content (Markdown supported)..."
|
|
767
916
|
msgstr "頁面內容(支持Markdown)..."
|
|
768
917
|
|
|
769
918
|
#. @context: Page title placeholder
|
|
770
|
-
#: src/ui/dash/PageForm.tsx
|
|
919
|
+
#: src/ui/dash/PageForm.tsx
|
|
771
920
|
msgid "Page title..."
|
|
772
921
|
msgstr "頁面標題..."
|
|
773
922
|
|
|
774
923
|
#. @context: Dashboard navigation - pages management
|
|
775
924
|
#. @context: Pages main heading
|
|
776
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
777
|
-
#: src/ui/layouts/DashLayout.tsx
|
|
925
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
926
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
778
927
|
msgid "Pages"
|
|
779
928
|
msgstr "頁面"
|
|
780
929
|
|
|
781
930
|
#. @context: Setup/signin form field - password
|
|
782
931
|
#. @context: Setup/signin form field - password
|
|
783
|
-
#: src/routes/auth/setup.tsx
|
|
784
|
-
#: src/routes/auth/signin.tsx
|
|
932
|
+
#: src/routes/auth/setup.tsx
|
|
933
|
+
#: src/routes/auth/signin.tsx
|
|
785
934
|
msgid "Password"
|
|
786
935
|
msgstr "密碼"
|
|
787
936
|
|
|
788
|
-
#. @context:
|
|
789
|
-
#: src/
|
|
790
|
-
|
|
791
|
-
|
|
937
|
+
#. @context: Toast after changing account password
|
|
938
|
+
#: src/routes/dash/settings.tsx
|
|
939
|
+
msgid "Password changed successfully."
|
|
940
|
+
msgstr "密碼已成功更改。"
|
|
941
|
+
|
|
942
|
+
#. @context: Error toast when new password and confirmation differ
|
|
943
|
+
#: src/routes/dash/settings.tsx
|
|
944
|
+
msgid "Passwords do not match."
|
|
945
|
+
msgstr "密碼不匹配。"
|
|
946
|
+
|
|
947
|
+
#. @context: Attached text placeholder
|
|
948
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
949
|
+
msgid ""
|
|
950
|
+
"Paste a long article, AI response, or any text...\n"
|
|
951
|
+
"\n"
|
|
952
|
+
"Markdown formatting will be preserved."
|
|
953
|
+
msgstr ""
|
|
954
|
+
"粘貼一篇長文章、AI 回應或任何文本...\n"
|
|
955
|
+
"\n"
|
|
956
|
+
"Markdown 格式將被保留。"
|
|
957
|
+
|
|
958
|
+
#. @context: Compose link URL placeholder
|
|
959
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
960
|
+
msgid "Paste a URL..."
|
|
961
|
+
msgstr "粘貼一個網址..."
|
|
792
962
|
|
|
793
963
|
#. @context: Navigation URL help text
|
|
794
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
964
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
795
965
|
msgid "Path (e.g. /archive) or full URL (e.g. https://example.com)"
|
|
796
966
|
msgstr "路徑(例如 /archive)或完整網址(例如 https://example.com)"
|
|
797
967
|
|
|
798
968
|
#. @context: Link to individual post in thread
|
|
799
969
|
#. @context: Link to permanent URL of post
|
|
800
|
-
#: src/ui/pages/PostPage.tsx
|
|
801
|
-
#: src/ui/shared/ThreadView.tsx
|
|
970
|
+
#: src/ui/pages/PostPage.tsx
|
|
971
|
+
#: src/ui/shared/ThreadView.tsx
|
|
802
972
|
msgid "Permalink"
|
|
803
973
|
msgstr "永久鏈接"
|
|
804
974
|
|
|
805
|
-
#. @context: Compose checkbox - pin to top
|
|
806
975
|
#. @context: Post badge - pinned
|
|
807
976
|
#. @context: Post form checkbox - pin to top
|
|
808
|
-
#: src/ui/
|
|
809
|
-
#: src/ui/dash/
|
|
810
|
-
#: src/ui/dash/StatusBadge.tsx:53
|
|
977
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
978
|
+
#: src/ui/dash/StatusBadge.tsx
|
|
811
979
|
msgid "Pinned"
|
|
812
|
-
msgstr ""
|
|
813
|
-
|
|
814
|
-
#. @context: Singular post count label
|
|
815
|
-
#: src/ui/pages/CollectionsPage.tsx:56
|
|
816
|
-
msgid "post"
|
|
817
|
-
msgstr ""
|
|
980
|
+
msgstr "置頂"
|
|
818
981
|
|
|
819
982
|
#. @context: Compose button - publish post
|
|
820
983
|
#. @context: Compose prompt post button
|
|
821
984
|
#. @context: Default post title
|
|
822
|
-
#: src/routes/dash/posts.tsx
|
|
823
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
824
|
-
#: src/ui/compose/ComposePrompt.tsx
|
|
985
|
+
#: src/routes/dash/posts.tsx
|
|
986
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
987
|
+
#: src/ui/compose/ComposePrompt.tsx
|
|
825
988
|
msgid "Post"
|
|
826
989
|
msgstr "文章"
|
|
827
990
|
|
|
991
|
+
#. @context: Toast after creating post
|
|
992
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
993
|
+
msgid "Post published successfully."
|
|
994
|
+
msgstr "發佈文章成功。"
|
|
995
|
+
|
|
828
996
|
#. @context: Post title placeholder
|
|
829
|
-
#: src/ui/dash/PostForm.tsx
|
|
997
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
830
998
|
msgid "Post title..."
|
|
831
999
|
msgstr "文章標題..."
|
|
832
1000
|
|
|
833
|
-
#. @context:
|
|
834
|
-
#: src/ui/
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
#. @context: Plural post count label
|
|
839
|
-
#: src/ui/pages/CollectionsPage.tsx:60
|
|
840
|
-
msgid "posts"
|
|
841
|
-
msgstr ""
|
|
1001
|
+
#. @context: Toast after editing post
|
|
1002
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1003
|
+
msgid "Post updated successfully."
|
|
1004
|
+
msgstr "帖子已成功更新。"
|
|
842
1005
|
|
|
843
1006
|
#. @context: Dashboard heading
|
|
844
1007
|
#. @context: Dashboard navigation - posts management
|
|
845
|
-
#: src/routes/dash/posts.tsx
|
|
846
|
-
#: src/ui/layouts/DashLayout.tsx
|
|
1008
|
+
#: src/routes/dash/posts.tsx
|
|
1009
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
847
1010
|
msgid "Posts"
|
|
848
1011
|
msgstr "文章"
|
|
849
1012
|
|
|
850
1013
|
#. @context: Collection posts section heading
|
|
851
|
-
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
1014
|
+
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
852
1015
|
msgid "Posts in Collection ({count})"
|
|
853
1016
|
msgstr "收藏中的帖子 ({count})"
|
|
854
1017
|
|
|
855
1018
|
#. @context: Media detail section - preview
|
|
856
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
1019
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
857
1020
|
msgid "Preview"
|
|
858
1021
|
msgstr "預覽"
|
|
859
1022
|
|
|
860
1023
|
#. @context: Pagination button - previous page
|
|
861
1024
|
#. @context: Pagination button - previous page
|
|
862
|
-
#: src/ui/shared/Pagination.tsx
|
|
863
|
-
#: src/ui/shared/Pagination.tsx
|
|
1025
|
+
#: src/ui/shared/Pagination.tsx
|
|
1026
|
+
#: src/ui/shared/Pagination.tsx
|
|
864
1027
|
msgid "Previous"
|
|
865
1028
|
msgstr "上一頁"
|
|
866
1029
|
|
|
867
1030
|
#. @context: Avatar upload button text while generating favicon variants
|
|
868
1031
|
#. @context: Upload status - processing
|
|
869
|
-
#: src/ui/dash/media/MediaListContent.tsx
|
|
870
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1032
|
+
#: src/ui/dash/media/MediaListContent.tsx
|
|
1033
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
871
1034
|
msgid "Processing..."
|
|
872
1035
|
msgstr "處理中..."
|
|
873
1036
|
|
|
874
1037
|
#. @context: Account settings section heading
|
|
875
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
1038
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
876
1039
|
msgid "Profile"
|
|
877
1040
|
msgstr "個人資料"
|
|
878
1041
|
|
|
1042
|
+
#. @context: Toast after saving user profile
|
|
1043
|
+
#: src/routes/dash/settings.tsx
|
|
1044
|
+
msgid "Profile saved successfully."
|
|
1045
|
+
msgstr "個人資料已成功儲存。"
|
|
1046
|
+
|
|
879
1047
|
#. @context: Button to publish new post
|
|
880
|
-
#: src/ui/dash/PostForm.tsx
|
|
1048
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
881
1049
|
msgid "Publish"
|
|
882
1050
|
msgstr "發佈"
|
|
883
1051
|
|
|
@@ -885,437 +1053,480 @@ msgstr "發佈"
|
|
|
885
1053
|
#. @context: Post status badge - published
|
|
886
1054
|
#. @context: Post status label
|
|
887
1055
|
#. @context: Post status option
|
|
888
|
-
#: src/routes/dash/index.tsx
|
|
889
|
-
#: src/ui/dash/PageForm.tsx
|
|
890
|
-
#: src/ui/dash/PostForm.tsx
|
|
891
|
-
#: src/ui/dash/StatusBadge.tsx
|
|
1056
|
+
#: src/routes/dash/index.tsx
|
|
1057
|
+
#: src/ui/dash/PageForm.tsx
|
|
1058
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1059
|
+
#: src/ui/dash/StatusBadge.tsx
|
|
892
1060
|
msgid "Published"
|
|
893
1061
|
msgstr "已發佈"
|
|
894
1062
|
|
|
895
1063
|
#. @context: Page status helper text
|
|
896
|
-
#: src/
|
|
897
|
-
#~ msgid "Published pages are accessible via their path. Drafts are not visible."
|
|
898
|
-
#~ msgstr "已發佈的頁面可以通過其路徑訪問。草稿不可見。"
|
|
899
|
-
|
|
900
|
-
#. @context: Page status helper text
|
|
901
|
-
#: src/ui/dash/PageForm.tsx:140
|
|
1064
|
+
#: src/ui/dash/PageForm.tsx
|
|
902
1065
|
msgid "Published pages are accessible via their slug. Drafts are not visible."
|
|
1066
|
+
msgstr "已發佈的頁面可以通過其標識符訪問。草稿不可見。"
|
|
1067
|
+
|
|
1068
|
+
#. @context: Toast shown after successful deferred publish
|
|
1069
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1070
|
+
msgid "Published!"
|
|
903
1071
|
msgstr ""
|
|
904
1072
|
|
|
905
1073
|
#. @context: Dashboard section title
|
|
906
|
-
#: src/routes/dash/index.tsx
|
|
1074
|
+
#: src/routes/dash/index.tsx
|
|
907
1075
|
msgid "Quick Actions"
|
|
908
1076
|
msgstr "快速操作"
|
|
909
1077
|
|
|
910
|
-
#. @context: Post visibility badge - normal
|
|
911
|
-
#: src/theme/components/VisibilityBadge.tsx:30
|
|
912
|
-
#~ msgid "Quiet"
|
|
913
|
-
#~ msgstr "安靜"
|
|
914
|
-
|
|
915
|
-
#. @context: Post visibility option
|
|
916
|
-
#: src/theme/components/PostForm.tsx:243
|
|
917
|
-
#~ msgid "Quiet (normal)"
|
|
918
|
-
#~ msgstr "安靜(正常)"
|
|
919
|
-
|
|
920
1078
|
#. @context: Compose format tab
|
|
921
1079
|
#. @context: Post format badge - quote
|
|
922
1080
|
#. @context: Post format label - quote
|
|
923
1081
|
#. @context: Post format option
|
|
924
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
925
|
-
#: src/ui/dash/FormatBadge.tsx
|
|
926
|
-
#: src/ui/dash/PostForm.tsx
|
|
927
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
1082
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1083
|
+
#: src/ui/dash/FormatBadge.tsx
|
|
1084
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1085
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
928
1086
|
msgid "Quote"
|
|
929
1087
|
msgstr "引用"
|
|
930
1088
|
|
|
931
1089
|
#. @context: Post form field - quoted text
|
|
932
|
-
#: src/ui/dash/PostForm.tsx
|
|
1090
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
933
1091
|
msgid "Quote Text"
|
|
934
|
-
msgstr ""
|
|
1092
|
+
msgstr "引用文本"
|
|
935
1093
|
|
|
936
1094
|
#. @context: Post format label plural - quotes
|
|
937
|
-
#: src/ui/pages/ArchivePage.tsx
|
|
1095
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
938
1096
|
msgid "Quotes"
|
|
939
1097
|
msgstr "引用"
|
|
940
1098
|
|
|
941
|
-
#. @context:
|
|
942
|
-
#. @context:
|
|
943
|
-
#: src/
|
|
944
|
-
#: src/ui/
|
|
945
|
-
msgid "Rating"
|
|
946
|
-
msgstr ""
|
|
947
|
-
|
|
948
|
-
#. @context: Dashboard heading
|
|
949
|
-
#. @context: Dashboard navigation - URL redirects
|
|
950
|
-
#: src/routes/dash/redirects.tsx:29
|
|
951
|
-
#: src/ui/layouts/DashLayout.tsx:124
|
|
1099
|
+
#. @context: Settings section heading
|
|
1100
|
+
#. @context: Settings sub-navigation tab
|
|
1101
|
+
#: src/routes/dash/redirects.tsx
|
|
1102
|
+
#: src/ui/dash/settings/SettingsNav.tsx
|
|
952
1103
|
msgid "Redirects"
|
|
953
1104
|
msgstr "重定向"
|
|
954
1105
|
|
|
1106
|
+
#. @context: Button to remove icon
|
|
955
1107
|
#. @context: Button to remove the blog avatar
|
|
956
1108
|
#. @context: Remove media attachment button
|
|
957
|
-
#: src/ui/dash/
|
|
958
|
-
#: src/ui/dash/
|
|
1109
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1110
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1111
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
959
1112
|
msgid "Remove"
|
|
960
1113
|
msgstr "移除"
|
|
961
1114
|
|
|
1115
|
+
#. @context: Button to delete a divider
|
|
1116
|
+
#: src/ui/dash/collections/CollectionsListContent.tsx
|
|
1117
|
+
msgid "Remove divider"
|
|
1118
|
+
msgstr "移除分隔線"
|
|
1119
|
+
|
|
962
1120
|
#. @context: Password reset form submit button
|
|
963
1121
|
#. @context: Password reset page heading
|
|
964
|
-
#: src/routes/auth/reset.tsx
|
|
965
|
-
#: src/routes/auth/reset.tsx
|
|
1122
|
+
#: src/routes/auth/reset.tsx
|
|
1123
|
+
#: src/routes/auth/reset.tsx
|
|
966
1124
|
msgid "Reset Password"
|
|
967
1125
|
msgstr "重設密碼"
|
|
968
1126
|
|
|
969
1127
|
#. @context: Button to save settings
|
|
970
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1128
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
971
1129
|
msgid "Save"
|
|
972
|
-
msgstr ""
|
|
1130
|
+
msgstr "保存"
|
|
1131
|
+
|
|
1132
|
+
#. @context: More menu - save draft
|
|
1133
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1134
|
+
msgid "Save as draft"
|
|
1135
|
+
msgstr "儲存為草稿"
|
|
1136
|
+
|
|
1137
|
+
#. @context: Header draft button tooltip
|
|
1138
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1139
|
+
msgid "Save as Draft"
|
|
1140
|
+
msgstr "儲存為草稿"
|
|
973
1141
|
|
|
974
1142
|
#. @context: Button to save edited navigation link
|
|
975
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
1143
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
976
1144
|
msgid "Save Changes"
|
|
977
1145
|
msgstr "保存更改"
|
|
978
1146
|
|
|
979
1147
|
#. @context: Button to save custom CSS
|
|
980
|
-
#: src/ui/dash/
|
|
1148
|
+
#: src/ui/dash/appearance/AdvancedContent.tsx
|
|
981
1149
|
msgid "Save CSS"
|
|
982
|
-
msgstr ""
|
|
1150
|
+
msgstr "儲存 CSS"
|
|
983
1151
|
|
|
984
1152
|
#. @context: Button to save profile
|
|
985
|
-
#: src/ui/dash/settings/AccountContent.tsx
|
|
1153
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
986
1154
|
msgid "Save Profile"
|
|
987
1155
|
msgstr "保存個人資料"
|
|
988
1156
|
|
|
989
|
-
#. @context:
|
|
990
|
-
#: src/ui/
|
|
991
|
-
|
|
992
|
-
|
|
1157
|
+
#. @context: Compose toolbar - score tooltip
|
|
1158
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1159
|
+
msgid "Score"
|
|
1160
|
+
msgstr "分數"
|
|
993
1161
|
|
|
994
1162
|
#. @context: Search icon link in browse nav
|
|
995
1163
|
#. @context: Search page title
|
|
996
1164
|
#. @context: Search submit button
|
|
997
|
-
#: src/ui/layouts/SiteLayout.tsx
|
|
998
|
-
#: src/ui/pages/SearchPage.tsx
|
|
999
|
-
#: src/ui/pages/SearchPage.tsx
|
|
1165
|
+
#: src/ui/layouts/SiteLayout.tsx
|
|
1166
|
+
#: src/ui/pages/SearchPage.tsx
|
|
1167
|
+
#: src/ui/pages/SearchPage.tsx
|
|
1000
1168
|
msgid "Search"
|
|
1001
1169
|
msgstr "搜尋"
|
|
1002
1170
|
|
|
1171
|
+
#. @context: Icon picker search placeholder
|
|
1172
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1173
|
+
msgid "Search icons..."
|
|
1174
|
+
msgstr "搜尋圖示..."
|
|
1175
|
+
|
|
1003
1176
|
#. @context: Search input placeholder
|
|
1004
|
-
#: src/ui/pages/SearchPage.tsx
|
|
1177
|
+
#: src/ui/pages/SearchPage.tsx
|
|
1005
1178
|
msgid "Search posts..."
|
|
1006
1179
|
msgstr "搜尋帖子..."
|
|
1007
1180
|
|
|
1181
|
+
#. @context: Compose collection combobox search placeholder
|
|
1182
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1183
|
+
msgid "Search..."
|
|
1184
|
+
msgstr ""
|
|
1185
|
+
|
|
1008
1186
|
#. @context: Media picker dialog title
|
|
1009
|
-
|
|
1010
|
-
#: src/ui/compose/ComposeDialog.tsx:384
|
|
1011
|
-
#: src/ui/dash/PostForm.tsx:330
|
|
1187
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1012
1188
|
msgid "Select Media"
|
|
1013
1189
|
msgstr "選擇媒體"
|
|
1014
1190
|
|
|
1015
1191
|
#. @context: Settings section heading for SEO
|
|
1016
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1192
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1017
1193
|
msgid "SEO"
|
|
1018
|
-
msgstr ""
|
|
1194
|
+
msgstr "SEO"
|
|
1195
|
+
|
|
1196
|
+
#. @context: Toast after saving SEO settings
|
|
1197
|
+
#. @context: Toast after saving SEO settings
|
|
1198
|
+
#: src/routes/dash/settings.tsx
|
|
1199
|
+
#: src/routes/dash/settings.tsx
|
|
1200
|
+
msgid "SEO settings saved successfully."
|
|
1201
|
+
msgstr "SEO 設定已成功儲存。"
|
|
1019
1202
|
|
|
1020
1203
|
#. @context: Dashboard heading
|
|
1021
1204
|
#. @context: Dashboard heading
|
|
1022
1205
|
#. @context: Dashboard heading
|
|
1206
|
+
#. @context: Dashboard heading
|
|
1023
1207
|
#. @context: Dashboard navigation - site settings
|
|
1024
|
-
#: src/
|
|
1025
|
-
#: src/
|
|
1026
|
-
#: src/ui/dash/settings/
|
|
1027
|
-
#: src/ui/
|
|
1208
|
+
#: src/routes/dash/redirects.tsx
|
|
1209
|
+
#: src/routes/dash/redirects.tsx
|
|
1210
|
+
#: src/ui/dash/settings/AccountContent.tsx
|
|
1211
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1212
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
1028
1213
|
msgid "Settings"
|
|
1029
1214
|
msgstr "設定"
|
|
1030
1215
|
|
|
1216
|
+
#. @context: Toast after saving general settings
|
|
1217
|
+
#. @context: Toast after saving general settings
|
|
1218
|
+
#: src/routes/dash/settings.tsx
|
|
1219
|
+
#: src/routes/dash/settings.tsx
|
|
1220
|
+
msgid "Settings saved successfully."
|
|
1221
|
+
msgstr "設置已成功保存。"
|
|
1222
|
+
|
|
1031
1223
|
#. @context: Link to show remaining thread replies
|
|
1032
1224
|
#. placeholder {0}: remainingCount === 1 ? "reply" : "replies"
|
|
1033
|
-
#: src/ui/feed/ThreadPreview.tsx
|
|
1225
|
+
#: src/ui/feed/ThreadPreview.tsx
|
|
1034
1226
|
msgid "Show {remainingCount} more {0}"
|
|
1035
1227
|
msgstr "顯示 {remainingCount} 個更多 {0}"
|
|
1036
1228
|
|
|
1037
1229
|
#. @context: Sign in form submit button
|
|
1038
1230
|
#. @context: Sign in page heading
|
|
1039
|
-
#: src/routes/auth/signin.tsx
|
|
1040
|
-
#: src/routes/auth/signin.tsx
|
|
1231
|
+
#: src/routes/auth/signin.tsx
|
|
1232
|
+
#: src/routes/auth/signin.tsx
|
|
1041
1233
|
msgid "Sign In"
|
|
1042
1234
|
msgstr "登入"
|
|
1043
1235
|
|
|
1044
1236
|
#. @context: Dashboard header link to sign out
|
|
1045
|
-
#: src/ui/layouts/DashLayout.tsx
|
|
1237
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
1046
1238
|
msgid "Sign Out"
|
|
1047
1239
|
msgstr "登出"
|
|
1048
1240
|
|
|
1049
|
-
#. @context: Settings form field
|
|
1050
|
-
#: src/ui/dash/settings/GeneralContent.tsx:72
|
|
1051
|
-
#~ msgid "Site Description"
|
|
1052
|
-
#~ msgstr "網站描述"
|
|
1053
|
-
|
|
1054
1241
|
#. @context: Settings section heading for site footer
|
|
1055
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1242
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1056
1243
|
msgid "Site Footer"
|
|
1057
|
-
msgstr ""
|
|
1244
|
+
msgstr "網站頁腳"
|
|
1058
1245
|
|
|
1059
1246
|
#. @context: Settings form field
|
|
1060
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1247
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1061
1248
|
msgid "Site Name"
|
|
1062
1249
|
msgstr "網站名稱"
|
|
1063
1250
|
|
|
1064
1251
|
#. @context: Collection form field
|
|
1065
1252
|
#. @context: Page form field label - URL slug
|
|
1066
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1067
|
-
#: src/ui/dash/PageForm.tsx
|
|
1253
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1254
|
+
#: src/ui/dash/PageForm.tsx
|
|
1068
1255
|
msgid "Slug"
|
|
1069
1256
|
msgstr "縮略名"
|
|
1070
1257
|
|
|
1071
|
-
#. @context:
|
|
1072
|
-
#: src/
|
|
1073
|
-
|
|
1074
|
-
|
|
1258
|
+
#. @context: Collection form field
|
|
1259
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1260
|
+
msgid "Sort Order"
|
|
1261
|
+
msgstr "排序順序"
|
|
1075
1262
|
|
|
1076
|
-
#. @context:
|
|
1077
|
-
#: src/
|
|
1078
|
-
|
|
1079
|
-
|
|
1263
|
+
#. @context: Compose quote source link placeholder
|
|
1264
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1265
|
+
msgid "Source link (optional)"
|
|
1266
|
+
msgstr "來源連結(選填)"
|
|
1080
1267
|
|
|
1081
1268
|
#. @context: Page form field label - publish status
|
|
1082
1269
|
#. @context: Post form field
|
|
1083
|
-
#: src/ui/dash/PageForm.tsx
|
|
1084
|
-
#: src/ui/dash/PostForm.tsx
|
|
1270
|
+
#: src/ui/dash/PageForm.tsx
|
|
1271
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1085
1272
|
msgid "Status"
|
|
1086
1273
|
msgstr "狀態"
|
|
1087
1274
|
|
|
1275
|
+
#. @context: Error when file storage is not set up
|
|
1276
|
+
#: src/routes/api/upload.ts
|
|
1277
|
+
msgid "Storage not configured"
|
|
1278
|
+
msgstr "儲存未配置"
|
|
1279
|
+
|
|
1280
|
+
#. @context: Error toast when file storage is not set up
|
|
1281
|
+
#: src/routes/dash/settings.tsx
|
|
1282
|
+
msgid "Storage not configured."
|
|
1283
|
+
msgstr "儲存空間未配置。"
|
|
1284
|
+
|
|
1285
|
+
#. @context: Attached text panel hint
|
|
1286
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1287
|
+
msgid "Supplementary content attached to your post"
|
|
1288
|
+
msgstr "附加在您帖子上的補充內容"
|
|
1289
|
+
|
|
1088
1290
|
#. @context: Redirect to path help text
|
|
1089
|
-
#: src/routes/dash/redirects.tsx
|
|
1291
|
+
#: src/routes/dash/redirects.tsx
|
|
1090
1292
|
msgid "The destination path or URL"
|
|
1091
1293
|
msgstr "目的地路徑或 URL"
|
|
1092
1294
|
|
|
1093
1295
|
#. @context: Redirect from path help text
|
|
1094
|
-
#: src/routes/dash/redirects.tsx
|
|
1296
|
+
#: src/routes/dash/redirects.tsx
|
|
1095
1297
|
msgid "The path to redirect from"
|
|
1096
1298
|
msgstr "重定向來源的路徑"
|
|
1097
1299
|
|
|
1098
|
-
#. @context:
|
|
1300
|
+
#. @context: Font theme preview sentence for body text
|
|
1301
|
+
#. @context: Font theme preview sentence for headings
|
|
1302
|
+
#: src/ui/dash/appearance/FontThemeContent.tsx
|
|
1303
|
+
#: src/ui/dash/appearance/FontThemeContent.tsx
|
|
1304
|
+
msgid "The quick brown fox jumps over the lazy dog."
|
|
1305
|
+
msgstr "敏捷的棕色狐狸跳過懶惰的狗。"
|
|
1306
|
+
|
|
1099
1307
|
#. @context: Quote text placeholder
|
|
1100
|
-
#: src/ui/
|
|
1101
|
-
#: src/ui/dash/PostForm.tsx:145
|
|
1308
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1102
1309
|
msgid "The text being quoted..."
|
|
1103
|
-
msgstr ""
|
|
1310
|
+
msgstr "被引用的文本..."
|
|
1104
1311
|
|
|
1105
1312
|
#. @context: Page slug helper text
|
|
1106
|
-
#: src/ui/dash/PageForm.tsx
|
|
1313
|
+
#: src/ui/dash/PageForm.tsx
|
|
1107
1314
|
msgid "The URL path for this page. Use lowercase letters, numbers, and hyphens."
|
|
1108
1315
|
msgstr "此頁面的 URL 路徑。使用小寫字母、數字和連字符。"
|
|
1109
1316
|
|
|
1110
1317
|
#. @context: Help text for site description field
|
|
1111
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
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 ""
|
|
1318
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1319
|
+
#~ 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."
|
|
1320
|
+
#~ msgstr "這會顯示在您預設首頁的部落格文章上方。這也用於您首頁的 meta 描述。"
|
|
1114
1321
|
|
|
1115
1322
|
#. @context: Help text for site footer field
|
|
1116
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1117
|
-
msgid "This is displayed at the bottom of all of your posts and pages. Markdown is supported."
|
|
1118
|
-
msgstr ""
|
|
1323
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1324
|
+
#~ msgid "This is displayed at the bottom of all of your posts and pages. Markdown is supported."
|
|
1325
|
+
#~ msgstr "這會顯示在您所有的文章和頁面的底部。支持 Markdown。"
|
|
1119
1326
|
|
|
1120
1327
|
#. @context: Help text for avatar upload
|
|
1121
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1328
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1122
1329
|
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 ""
|
|
1330
|
+
msgstr "這是用於您的網站圖標和蘋果觸控圖標。為了獲得最佳效果,請上傳至少 180x180 像素的正方形圖片。"
|
|
1129
1331
|
|
|
1130
1332
|
#. @context: Password reset error description
|
|
1131
|
-
#: src/routes/auth/reset.tsx
|
|
1333
|
+
#: src/routes/auth/reset.tsx
|
|
1132
1334
|
msgid "This password reset link is invalid or has expired. Please generate a new one."
|
|
1133
1335
|
msgstr "此密碼重設連結無效或已過期。請生成一個新的連結。"
|
|
1134
1336
|
|
|
1135
1337
|
#. @context: Appearance settings description
|
|
1136
|
-
#: src/ui/dash/
|
|
1338
|
+
#: src/ui/dash/appearance/ColorThemeContent.tsx
|
|
1137
1339
|
msgid "This will theme both your site and your dashboard. All color themes support dark mode."
|
|
1138
1340
|
msgstr "這將為您的網站和儀表板設置主題。所有顏色主題都支持深色模式。"
|
|
1139
1341
|
|
|
1140
1342
|
#. @context: Thread view indicator - first post in thread
|
|
1141
|
-
#: src/ui/shared/ThreadView.tsx
|
|
1343
|
+
#: src/ui/shared/ThreadView.tsx
|
|
1142
1344
|
msgid "Thread start"
|
|
1143
1345
|
msgstr "線程開始"
|
|
1144
1346
|
|
|
1145
1347
|
#. @context: Thread view header - multiple posts
|
|
1146
|
-
#: src/ui/shared/ThreadView.tsx
|
|
1348
|
+
#: src/ui/shared/ThreadView.tsx
|
|
1147
1349
|
msgid "Thread with {count} posts"
|
|
1148
1350
|
msgstr "包含 {count} 則帖子的主題"
|
|
1149
1351
|
|
|
1150
1352
|
#. @context: Thread view header - single post
|
|
1151
|
-
#: src/ui/shared/ThreadView.tsx
|
|
1353
|
+
#: src/ui/shared/ThreadView.tsx
|
|
1152
1354
|
msgid "Thread with 1 post"
|
|
1153
1355
|
msgstr "包含 1 則貼文的主題"
|
|
1154
1356
|
|
|
1155
1357
|
#. @context: Settings form field
|
|
1156
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1358
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1157
1359
|
msgid "Time Zone"
|
|
1158
|
-
msgstr ""
|
|
1360
|
+
msgstr "時區"
|
|
1159
1361
|
|
|
1160
1362
|
#. @context: Collection form field
|
|
1363
|
+
#. @context: Compose note title placeholder
|
|
1364
|
+
#. @context: Compose toolbar - title tooltip
|
|
1161
1365
|
#. @context: Page form field label - title
|
|
1162
|
-
#: src/ui/
|
|
1163
|
-
#: src/ui/
|
|
1366
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1367
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1368
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1369
|
+
#: src/ui/dash/PageForm.tsx
|
|
1164
1370
|
msgid "Title"
|
|
1165
1371
|
msgstr "標題"
|
|
1166
1372
|
|
|
1167
|
-
#. @context: Compose title placeholder
|
|
1168
1373
|
#. @context: Post form field
|
|
1169
|
-
#: src/ui/
|
|
1170
|
-
#: src/ui/dash/PostForm.tsx:85
|
|
1374
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1171
1375
|
msgid "Title (optional)"
|
|
1172
1376
|
msgstr "標題(選填)"
|
|
1173
1377
|
|
|
1174
1378
|
#. @context: Redirect form field
|
|
1175
|
-
#: src/routes/dash/redirects.tsx
|
|
1379
|
+
#: src/routes/dash/redirects.tsx
|
|
1176
1380
|
msgid "To Path"
|
|
1177
1381
|
msgstr "到路徑"
|
|
1178
1382
|
|
|
1179
1383
|
#. @context: Redirect form field
|
|
1180
|
-
#: src/routes/dash/redirects.tsx
|
|
1384
|
+
#: src/routes/dash/redirects.tsx
|
|
1181
1385
|
msgid "Type"
|
|
1182
1386
|
msgstr "類型"
|
|
1183
1387
|
|
|
1388
|
+
#. @context: Compose quote text placeholder
|
|
1389
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1390
|
+
msgid "Type the quote..."
|
|
1391
|
+
msgstr "輸入引用..."
|
|
1392
|
+
|
|
1184
1393
|
#. @context: Button to remove page from navigation
|
|
1185
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
1394
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
1186
1395
|
msgid "Un-nav"
|
|
1187
|
-
msgstr ""
|
|
1188
|
-
|
|
1189
|
-
#. @context: Post visibility badge - unlisted
|
|
1190
|
-
#. @context: Post visibility option
|
|
1191
|
-
#: src/theme/components/PostForm.tsx:255
|
|
1192
|
-
#: src/theme/components/VisibilityBadge.tsx:34
|
|
1193
|
-
#~ msgid "Unlisted"
|
|
1194
|
-
#~ msgstr "不公開"
|
|
1396
|
+
msgstr "取消導航"
|
|
1195
1397
|
|
|
1196
1398
|
#. @context: Default title for untitled page
|
|
1197
1399
|
#. @context: Default title for untitled post
|
|
1198
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
1199
|
-
#: src/ui/dash/PostList.tsx
|
|
1400
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
1401
|
+
#: src/ui/dash/PostList.tsx
|
|
1200
1402
|
msgid "Untitled"
|
|
1201
1403
|
msgstr "無標題"
|
|
1202
1404
|
|
|
1203
1405
|
#. @context: Button to update existing post
|
|
1204
|
-
#: src/ui/dash/PostForm.tsx
|
|
1406
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1205
1407
|
msgid "Update"
|
|
1206
1408
|
msgstr "更新"
|
|
1207
1409
|
|
|
1208
1410
|
#. @context: Button to save collection changes
|
|
1209
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1411
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1210
1412
|
msgid "Update Collection"
|
|
1211
1413
|
msgstr "更新收藏集"
|
|
1212
1414
|
|
|
1213
1415
|
#. @context: Button to update existing page
|
|
1214
|
-
#: src/ui/dash/PageForm.tsx
|
|
1416
|
+
#: src/ui/dash/PageForm.tsx
|
|
1215
1417
|
msgid "Update Page"
|
|
1216
1418
|
msgstr "更新頁面"
|
|
1217
1419
|
|
|
1218
1420
|
#. @context: Button to upload media file
|
|
1219
|
-
#: src/ui/dash/media/MediaListContent.tsx
|
|
1421
|
+
#: src/ui/dash/media/MediaListContent.tsx
|
|
1220
1422
|
msgid "Upload"
|
|
1221
1423
|
msgstr "上傳"
|
|
1222
1424
|
|
|
1223
1425
|
#. @context: Button to upload avatar image
|
|
1224
|
-
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1426
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1225
1427
|
msgid "Upload Avatar"
|
|
1226
|
-
msgstr ""
|
|
1428
|
+
msgstr "上傳頭像"
|
|
1227
1429
|
|
|
1228
1430
|
#. @context: Error message when avatar upload fails
|
|
1431
|
+
#. @context: Error toast when avatar upload fails
|
|
1432
|
+
#. @context: Error when file upload fails
|
|
1229
1433
|
#. @context: Upload error message
|
|
1230
|
-
#: src/
|
|
1231
|
-
#: src/
|
|
1434
|
+
#: src/routes/api/upload.ts
|
|
1435
|
+
#: src/routes/dash/settings.tsx
|
|
1436
|
+
#: src/ui/dash/media/MediaListContent.tsx
|
|
1437
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1232
1438
|
msgid "Upload failed. Please try again."
|
|
1233
1439
|
msgstr "上傳失敗。請再試一次。"
|
|
1234
1440
|
|
|
1441
|
+
#. @context: Toast after successful file upload
|
|
1442
|
+
#: src/routes/api/upload.ts
|
|
1443
|
+
msgid "Upload successful!"
|
|
1444
|
+
msgstr "上傳成功!"
|
|
1445
|
+
|
|
1235
1446
|
#. @context: Avatar upload button text while uploading
|
|
1447
|
+
#. @context: Toast shown during background upload
|
|
1236
1448
|
#. @context: Upload status - uploading
|
|
1237
|
-
#: src/ui/
|
|
1238
|
-
#: src/ui/dash/
|
|
1449
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1450
|
+
#: src/ui/dash/media/MediaListContent.tsx
|
|
1451
|
+
#: src/ui/dash/settings/GeneralContent.tsx
|
|
1239
1452
|
msgid "Uploading..."
|
|
1240
1453
|
msgstr "上傳中..."
|
|
1241
1454
|
|
|
1242
1455
|
#. @context: Media detail section - URL
|
|
1243
1456
|
#. @context: Navigation link form field
|
|
1244
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
1245
|
-
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
1457
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
1458
|
+
#: src/ui/dash/pages/LinkFormContent.tsx
|
|
1246
1459
|
msgid "URL"
|
|
1247
1460
|
msgstr "網址"
|
|
1248
1461
|
|
|
1249
1462
|
#. @context: Post form field - source URL
|
|
1250
|
-
#: src/ui/dash/PostForm.tsx
|
|
1463
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1251
1464
|
msgid "URL (optional)"
|
|
1252
|
-
msgstr ""
|
|
1465
|
+
msgstr "網址(可選)"
|
|
1253
1466
|
|
|
1254
1467
|
#. @context: Collection path help text
|
|
1255
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1256
|
-
msgid "URL-safe identifier (lowercase, numbers, hyphens)"
|
|
1257
|
-
msgstr "
|
|
1468
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1469
|
+
msgid "URL-safe identifier (lowercase, numbers, hyphens). For CJK titles, slug will be auto-generated on the server."
|
|
1470
|
+
msgstr "URL安全識別碼(小寫、數字、連字符)。對於CJK標題,slug將在伺服器上自動生成。"
|
|
1258
1471
|
|
|
1259
1472
|
#. @context: Media URL helper text
|
|
1260
|
-
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
1473
|
+
#: src/ui/dash/media/ViewMediaContent.tsx
|
|
1261
1474
|
msgid "Use this URL to embed the media in your posts."
|
|
1262
1475
|
msgstr "使用此 URL 將媒體嵌入到您的帖子中。"
|
|
1263
1476
|
|
|
1264
|
-
#. @context: Button to view collection
|
|
1265
1477
|
#. @context: Button to view collection
|
|
1266
1478
|
#. @context: Button to view item on public site
|
|
1267
1479
|
#. @context: Button to view page on public site
|
|
1268
1480
|
#. @context: Button to view page on public site
|
|
1269
1481
|
#. @context: Button to view post
|
|
1270
1482
|
#. @context: Button to view post on public site
|
|
1271
|
-
#: src/routes/dash/pages.tsx
|
|
1272
|
-
#: src/routes/dash/posts.tsx
|
|
1273
|
-
#: src/ui/dash/ActionButtons.tsx
|
|
1274
|
-
#: src/ui/dash/collections/
|
|
1275
|
-
#: src/ui/dash/
|
|
1276
|
-
#: src/ui/dash/
|
|
1277
|
-
#: src/ui/dash/PostList.tsx:55
|
|
1483
|
+
#: src/routes/dash/pages.tsx
|
|
1484
|
+
#: src/routes/dash/posts.tsx
|
|
1485
|
+
#: src/ui/dash/ActionButtons.tsx
|
|
1486
|
+
#: src/ui/dash/collections/ViewCollectionContent.tsx
|
|
1487
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
1488
|
+
#: src/ui/dash/PostList.tsx
|
|
1278
1489
|
msgid "View"
|
|
1279
1490
|
msgstr "查看"
|
|
1280
1491
|
|
|
1281
1492
|
#. @context: Dashboard header link to view the public site
|
|
1282
|
-
#: src/ui/layouts/DashLayout.tsx
|
|
1493
|
+
#: src/ui/layouts/DashLayout.tsx
|
|
1283
1494
|
msgid "View Site"
|
|
1284
1495
|
msgstr "查看網站"
|
|
1285
1496
|
|
|
1286
|
-
#. @context: Post form field
|
|
1287
|
-
#: src/theme/components/PostForm.tsx:236
|
|
1288
|
-
#~ msgid "Visibility"
|
|
1289
|
-
#~ msgstr "可見性"
|
|
1290
|
-
|
|
1291
1497
|
#. @context: Setup page welcome heading
|
|
1292
|
-
#: src/routes/auth/setup.tsx
|
|
1498
|
+
#: src/routes/auth/setup.tsx
|
|
1293
1499
|
msgid "Welcome to Jant"
|
|
1294
1500
|
msgstr "歡迎來到 Jant"
|
|
1295
1501
|
|
|
1296
1502
|
#. @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
|
|
1302
1503
|
#. @context: Post content placeholder
|
|
1303
|
-
#: src/ui/compose/
|
|
1304
|
-
#: src/ui/dash/PostForm.tsx
|
|
1504
|
+
#: src/ui/compose/ComposePrompt.tsx
|
|
1505
|
+
#: src/ui/dash/posts/PostForm.tsx
|
|
1305
1506
|
msgid "What's on your mind?"
|
|
1306
1507
|
msgstr "你在想什麼?"
|
|
1307
1508
|
|
|
1509
|
+
#. @context: Compose body placeholder
|
|
1510
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1511
|
+
msgid "What's on your mind..."
|
|
1512
|
+
msgstr "你在想什麼..."
|
|
1513
|
+
|
|
1308
1514
|
#. @context: Collection description placeholder
|
|
1309
|
-
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1515
|
+
#: src/ui/dash/collections/CollectionForm.tsx
|
|
1310
1516
|
msgid "What's this collection about?"
|
|
1311
1517
|
msgstr "這個收藏是關於什麼的?"
|
|
1312
1518
|
|
|
1313
1519
|
#. @context: Setup form field - user name
|
|
1314
|
-
#: src/routes/auth/setup.tsx
|
|
1520
|
+
#: src/routes/auth/setup.tsx
|
|
1315
1521
|
msgid "Your Name"
|
|
1316
1522
|
msgstr "您的姓名"
|
|
1317
1523
|
|
|
1318
1524
|
#. @context: Section heading for navigation items
|
|
1319
|
-
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
1525
|
+
#: src/ui/dash/pages/UnifiedPagesContent.tsx
|
|
1320
1526
|
msgid "Your site navigation"
|
|
1321
|
-
msgstr ""
|
|
1527
|
+
msgstr "您的網站導航"
|
|
1528
|
+
|
|
1529
|
+
#. @context: Compose thoughts placeholder
|
|
1530
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1531
|
+
msgid "Your thoughts (optional)"
|
|
1532
|
+
msgstr "您的想法(可選)"
|