@jant/core 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +7 -21
  3. package/dist/db/schema.d.ts +36 -0
  4. package/dist/db/schema.d.ts.map +1 -1
  5. package/dist/db/schema.js +2 -0
  6. package/dist/i18n/locales/en.d.ts.map +1 -1
  7. package/dist/i18n/locales/en.js +1 -1
  8. package/dist/i18n/locales/zh-Hans.d.ts.map +1 -1
  9. package/dist/i18n/locales/zh-Hans.js +1 -1
  10. package/dist/i18n/locales/zh-Hant.d.ts.map +1 -1
  11. package/dist/i18n/locales/zh-Hant.js +1 -1
  12. package/dist/index.d.ts +2 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/lib/schemas.d.ts +17 -0
  16. package/dist/lib/schemas.d.ts.map +1 -1
  17. package/dist/lib/schemas.js +32 -2
  18. package/dist/lib/sse.d.ts +3 -3
  19. package/dist/lib/sse.d.ts.map +1 -1
  20. package/dist/lib/sse.js +7 -8
  21. package/dist/routes/api/posts.d.ts.map +1 -1
  22. package/dist/routes/api/posts.js +101 -5
  23. package/dist/routes/dash/media.js +38 -0
  24. package/dist/routes/dash/posts.d.ts.map +1 -1
  25. package/dist/routes/dash/posts.js +45 -6
  26. package/dist/routes/feed/rss.d.ts.map +1 -1
  27. package/dist/routes/feed/rss.js +10 -1
  28. package/dist/routes/pages/home.d.ts.map +1 -1
  29. package/dist/routes/pages/home.js +37 -4
  30. package/dist/routes/pages/post.d.ts.map +1 -1
  31. package/dist/routes/pages/post.js +28 -2
  32. package/dist/services/collection.d.ts +1 -0
  33. package/dist/services/collection.d.ts.map +1 -1
  34. package/dist/services/collection.js +13 -0
  35. package/dist/services/media.d.ts +7 -0
  36. package/dist/services/media.d.ts.map +1 -1
  37. package/dist/services/media.js +54 -1
  38. package/dist/theme/components/MediaGallery.d.ts +13 -0
  39. package/dist/theme/components/MediaGallery.d.ts.map +1 -0
  40. package/dist/theme/components/MediaGallery.js +107 -0
  41. package/dist/theme/components/PostForm.d.ts +6 -1
  42. package/dist/theme/components/PostForm.d.ts.map +1 -1
  43. package/dist/theme/components/PostForm.js +158 -2
  44. package/dist/theme/components/index.d.ts +1 -0
  45. package/dist/theme/components/index.d.ts.map +1 -1
  46. package/dist/theme/components/index.js +1 -0
  47. package/dist/types.d.ts +24 -0
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/types.js +27 -0
  50. package/package.json +1 -1
  51. package/src/__tests__/helpers/app.ts +6 -1
  52. package/src/__tests__/helpers/db.ts +10 -0
  53. package/src/app.tsx +7 -25
  54. package/src/db/migrations/0002_add_media_attachments.sql +3 -0
  55. package/src/db/schema.ts +2 -0
  56. package/src/i18n/locales/en.po +81 -37
  57. package/src/i18n/locales/en.ts +1 -1
  58. package/src/i18n/locales/zh-Hans.po +81 -37
  59. package/src/i18n/locales/zh-Hans.ts +1 -1
  60. package/src/i18n/locales/zh-Hant.po +81 -37
  61. package/src/i18n/locales/zh-Hant.ts +1 -1
  62. package/src/index.ts +8 -1
  63. package/src/lib/__tests__/schemas.test.ts +89 -1
  64. package/src/lib/__tests__/sse.test.ts +13 -1
  65. package/src/lib/schemas.ts +47 -1
  66. package/src/lib/sse.ts +10 -11
  67. package/src/routes/api/__tests__/posts.test.ts +239 -0
  68. package/src/routes/api/posts.ts +134 -5
  69. package/src/routes/dash/media.tsx +50 -0
  70. package/src/routes/dash/posts.tsx +79 -7
  71. package/src/routes/feed/rss.ts +14 -1
  72. package/src/routes/pages/home.tsx +80 -36
  73. package/src/routes/pages/post.tsx +36 -3
  74. package/src/services/__tests__/collection.test.ts +102 -0
  75. package/src/services/__tests__/media.test.ts +248 -0
  76. package/src/services/collection.ts +19 -0
  77. package/src/services/media.ts +76 -1
  78. package/src/theme/components/MediaGallery.tsx +128 -0
  79. package/src/theme/components/PostForm.tsx +170 -2
  80. package/src/theme/components/index.ts +1 -0
  81. package/src/types.ts +36 -0
@@ -26,7 +26,7 @@ msgstr "← 返回收藏夹"
26
26
  #. @context: Navigation link
27
27
  #. @context: Navigation link
28
28
  #: src/routes/pages/collection.tsx:76
29
- #: src/routes/pages/post.tsx:51
29
+ #: src/routes/pages/post.tsx:63
30
30
  msgid "← Back to home"
31
31
  msgstr "← 返回首页"
32
32
 
@@ -50,6 +50,11 @@ msgstr "302(临时)"
50
50
  msgid "Account"
51
51
  msgstr "账户"
52
52
 
53
+ #. @context: Button to open media picker
54
+ #: src/theme/components/PostForm.tsx:178
55
+ msgid "Add Media"
56
+ msgstr ""
57
+
53
58
  #. @context: Archive filter - all types
54
59
  #: src/routes/pages/archive.tsx:115
55
60
  msgid "All"
@@ -63,7 +68,7 @@ msgstr "外观"
63
68
  #. @context: Archive page title
64
69
  #. @context: Navigation link to archive page
65
70
  #: src/routes/pages/archive.tsx:102
66
- #: src/routes/pages/home.tsx:30
71
+ #: src/routes/pages/home.tsx:40
67
72
  msgid "Archive"
68
73
  msgstr "档案馆"
69
74
 
@@ -71,7 +76,7 @@ msgstr "档案馆"
71
76
  #. @context: Post type label - article
72
77
  #. @context: Post type option
73
78
  #: src/routes/pages/archive.tsx:28
74
- #: src/theme/components/PostForm.tsx:48
79
+ #: src/theme/components/PostForm.tsx:67
75
80
  #: src/theme/components/TypeBadge.tsx:20
76
81
  msgid "Article"
77
82
  msgstr "文章"
@@ -81,6 +86,11 @@ msgstr "文章"
81
86
  msgid "Articles"
82
87
  msgstr "文章"
83
88
 
89
+ #. @context: Hint for image post type media requirement
90
+ #: src/theme/components/PostForm.tsx:130
91
+ msgid "At least 1 image required for image posts."
92
+ msgstr ""
93
+
84
94
  #. @context: Button to go back to media list
85
95
  #: src/routes/dash/media.tsx:245
86
96
  msgid "Back"
@@ -104,7 +114,7 @@ msgstr "返回首页"
104
114
  #: src/routes/dash/collections.tsx:345
105
115
  #: src/routes/dash/redirects.tsx:167
106
116
  #: src/theme/components/PageForm.tsx:161
107
- #: src/theme/components/PostForm.tsx:181
117
+ #: src/theme/components/PostForm.tsx:312
108
118
  msgid "Cancel"
109
119
  msgstr "取消"
110
120
 
@@ -127,6 +137,11 @@ msgstr "点击图片查看完整尺寸"
127
137
  msgid "Collections"
128
138
  msgstr "收藏夹"
129
139
 
140
+ #. @context: Post form field - assign to collections
141
+ #: src/theme/components/PostForm.tsx:261
142
+ msgid "Collections (optional)"
143
+ msgstr ""
144
+
130
145
  #. @context: Appearance settings heading
131
146
  #: src/routes/dash/settings.tsx:301
132
147
  msgid "Color theme"
@@ -143,14 +158,14 @@ msgid "Confirm New Password"
143
158
  msgstr "确认新密码"
144
159
 
145
160
  #. @context: Password reset form field
146
- #: src/app.tsx:505
161
+ #: src/app.tsx:487
147
162
  msgid "Confirm Password"
148
163
  msgstr "确认密码"
149
164
 
150
165
  #. @context: Page form field label - content
151
166
  #. @context: Post form field
152
167
  #: src/theme/components/PageForm.tsx:95
153
- #: src/theme/components/PostForm.tsx:84
168
+ #: src/theme/components/PostForm.tsx:103
154
169
  msgid "Content"
155
170
  msgstr "内容"
156
171
 
@@ -197,7 +212,7 @@ msgid "Current Password"
197
212
  msgstr "当前密码"
198
213
 
199
214
  #. @context: Post form field
200
- #: src/theme/components/PostForm.tsx:154
215
+ #: src/theme/components/PostForm.tsx:285
201
216
  msgid "Custom Path (optional)"
202
217
  msgstr "自定义路径(可选)"
203
218
 
@@ -252,11 +267,16 @@ msgstr "演示账户已预填。只需点击登录。"
252
267
  msgid "Description (optional)"
253
268
  msgstr "描述(可选)"
254
269
 
270
+ #. @context: Close media picker button
271
+ #: src/theme/components/PostForm.tsx:334
272
+ msgid "Done"
273
+ msgstr ""
274
+
255
275
  #. @context: Page status option - draft
256
276
  #. @context: Post visibility badge - draft
257
277
  #. @context: Post visibility option
258
278
  #: src/theme/components/PageForm.tsx:132
259
- #: src/theme/components/PostForm.tsx:143
279
+ #: src/theme/components/PostForm.tsx:249
260
280
  #: src/theme/components/VisibilityBadge.tsx:38
261
281
  msgid "Draft"
262
282
  msgstr "草稿"
@@ -266,6 +286,11 @@ msgstr "草稿"
266
286
  msgid "Drafts"
267
287
  msgstr "草稿"
268
288
 
289
+ #. @context: Source name placeholder
290
+ #: src/theme/components/PostForm.tsx:214
291
+ msgid "e.g. The Verge, John Doe"
292
+ msgstr ""
293
+
269
294
  #. @context: Button to edit collection
270
295
  #. @context: Button to edit collection
271
296
  #. @context: Button to edit item
@@ -277,7 +302,7 @@ msgstr "草稿"
277
302
  #: src/routes/dash/collections.tsx:210
278
303
  #: src/routes/dash/pages.tsx:64
279
304
  #: src/routes/dash/pages.tsx:134
280
- #: src/routes/dash/posts.tsx:124
305
+ #: src/routes/dash/posts.tsx:142
281
306
  #: src/theme/components/ActionButtons.tsx:72
282
307
  #: src/theme/components/PostList.tsx:46
283
308
  msgid "Edit"
@@ -294,7 +319,7 @@ msgid "Edit Page"
294
319
  msgstr "编辑页面"
295
320
 
296
321
  #. @context: Page heading
297
- #: src/routes/dash/posts.tsx:153
322
+ #: src/routes/dash/posts.tsx:185
298
323
  msgid "Edit Post"
299
324
  msgstr "编辑帖子"
300
325
 
@@ -306,15 +331,15 @@ msgid "Email"
306
331
  msgstr "电子邮件"
307
332
 
308
333
  #. @context: Password reset page description
309
- #: src/app.tsx:475
334
+ #: src/app.tsx:457
310
335
  msgid "Enter your new password."
311
336
  msgstr "输入您的新密码。"
312
337
 
313
338
  #. @context: Post visibility badge
314
339
  #. @context: Post visibility badge - featured
315
340
  #. @context: Post visibility option
316
- #: src/routes/pages/home.tsx:75
317
- #: src/theme/components/PostForm.tsx:131
341
+ #: src/routes/pages/home.tsx:90
342
+ #: src/theme/components/PostForm.tsx:237
318
343
  #: src/theme/components/VisibilityBadge.tsx:26
319
344
  msgid "Featured"
320
345
  msgstr "精选"
@@ -345,7 +370,7 @@ msgstr "常规"
345
370
  #. @context: Post type label - image
346
371
  #. @context: Post type option
347
372
  #: src/routes/pages/archive.tsx:37
348
- #: src/theme/components/PostForm.tsx:57
373
+ #: src/theme/components/PostForm.tsx:76
349
374
  #: src/theme/components/TypeBadge.tsx:29
350
375
  msgid "Image"
351
376
  msgstr "图像"
@@ -361,7 +386,7 @@ msgid "Images are automatically optimized: resized to max 1920px, converted to W
361
386
  msgstr "图像会自动优化:调整大小至最大 1920px,转换为 WebP,并去除元数据。"
362
387
 
363
388
  #. @context: Password reset error heading
364
- #: src/app.tsx:540
389
+ #: src/app.tsx:522
365
390
  msgid "Invalid or Expired Link"
366
391
  msgstr "无效或过期的链接"
367
392
 
@@ -374,7 +399,7 @@ msgstr "语言"
374
399
  #. @context: Post type label - link
375
400
  #. @context: Post type option
376
401
  #: src/routes/pages/archive.tsx:32
377
- #: src/theme/components/PostForm.tsx:51
402
+ #: src/theme/components/PostForm.tsx:70
378
403
  #: src/theme/components/TypeBadge.tsx:24
379
404
  msgid "Link"
380
405
  msgstr "链接"
@@ -389,6 +414,11 @@ msgstr "链接"
389
414
  msgid "Load more"
390
415
  msgstr "加载更多"
391
416
 
417
+ #. @context: Loading state for media picker
418
+ #: src/theme/components/PostForm.tsx:345
419
+ msgid "Loading..."
420
+ msgstr ""
421
+
392
422
  #. @context: Page path validation message
393
423
  #: src/theme/components/PageForm.tsx:76
394
424
  msgid "Lowercase letters, numbers, and hyphens only"
@@ -401,7 +431,9 @@ msgstr "Markdown"
401
431
 
402
432
  #. @context: Dashboard navigation - media library
403
433
  #. @context: Media main heading
434
+ #. @context: Post form field - media attachments
404
435
  #: src/routes/dash/media.tsx:138
436
+ #: src/theme/components/PostForm.tsx:121
405
437
  #: src/theme/layouts/DashLayout.tsx:105
406
438
  msgid "Media"
407
439
  msgstr "媒体"
@@ -439,7 +471,7 @@ msgstr "新页面"
439
471
 
440
472
  #. @context: Password form field
441
473
  #. @context: Password reset form field
442
- #: src/app.tsx:489
474
+ #: src/app.tsx:471
443
475
  #: src/routes/dash/settings.tsx:417
444
476
  msgid "New Password"
445
477
  msgstr "新密码"
@@ -498,7 +530,7 @@ msgstr "此集合中没有帖子。"
498
530
 
499
531
  #. @context: Empty state message on home page
500
532
  #. @context: Empty state message when no posts exist
501
- #: src/routes/pages/home.tsx:44
533
+ #: src/routes/pages/home.tsx:54
502
534
  #: src/theme/components/PostList.tsx:25
503
535
  msgid "No posts yet."
504
536
  msgstr "还没有帖子。"
@@ -517,7 +549,7 @@ msgstr "未找到结果。"
517
549
  #. @context: Post type label - note
518
550
  #. @context: Post type option
519
551
  #: src/routes/pages/archive.tsx:27
520
- #: src/theme/components/PostForm.tsx:45
552
+ #: src/theme/components/PostForm.tsx:64
521
553
  #: src/theme/components/TypeBadge.tsx:19
522
554
  msgid "Note"
523
555
  msgstr "注意"
@@ -574,18 +606,18 @@ msgstr "路径"
574
606
 
575
607
  #. @context: Link to individual post in thread
576
608
  #. @context: Link to permanent URL of post
577
- #: src/routes/pages/post.tsx:41
609
+ #: src/routes/pages/post.tsx:53
578
610
  #: src/theme/components/ThreadView.tsx:68
579
611
  msgid "Permalink"
580
612
  msgstr "永久链接"
581
613
 
582
614
  #. @context: Default post title
583
- #: src/routes/dash/posts.tsx:113
615
+ #: src/routes/dash/posts.tsx:131
584
616
  msgid "Post"
585
617
  msgstr "帖子"
586
618
 
587
619
  #. @context: Post title placeholder
588
- #: src/theme/components/PostForm.tsx:74
620
+ #: src/theme/components/PostForm.tsx:93
589
621
  msgid "Post title..."
590
622
  msgstr "帖子标题..."
591
623
 
@@ -624,7 +656,7 @@ msgid "Profile"
624
656
  msgstr "个人资料"
625
657
 
626
658
  #. @context: Button to publish new post
627
- #: src/theme/components/PostForm.tsx:175
659
+ #: src/theme/components/PostForm.tsx:306
628
660
  msgid "Publish"
629
661
  msgstr "发布"
630
662
 
@@ -651,7 +683,7 @@ msgid "Quiet"
651
683
  msgstr "安静"
652
684
 
653
685
  #. @context: Post visibility option
654
- #: src/theme/components/PostForm.tsx:125
686
+ #: src/theme/components/PostForm.tsx:231
655
687
  msgid "Quiet (normal)"
656
688
  msgstr "安静(正常)"
657
689
 
@@ -659,7 +691,7 @@ msgstr "安静(正常)"
659
691
  #. @context: Post type label - quote
660
692
  #. @context: Post type option
661
693
  #: src/routes/pages/archive.tsx:33
662
- #: src/theme/components/PostForm.tsx:54
694
+ #: src/theme/components/PostForm.tsx:73
663
695
  #: src/theme/components/TypeBadge.tsx:25
664
696
  msgid "Quote"
665
697
  msgstr "引用"
@@ -677,14 +709,16 @@ msgid "Redirects"
677
709
  msgstr "重定向"
678
710
 
679
711
  #. @context: Button to remove post from collection
712
+ #. @context: Remove media attachment button
680
713
  #: src/routes/dash/collections.tsx:257
714
+ #: src/theme/components/PostForm.tsx:161
681
715
  msgid "Remove"
682
716
  msgstr "移除"
683
717
 
684
718
  #. @context: Password reset form submit button
685
719
  #. @context: Password reset page heading
686
- #: src/app.tsx:469
687
- #: src/app.tsx:520
720
+ #: src/app.tsx:451
721
+ #: src/app.tsx:502
688
722
  msgid "Reset Password"
689
723
  msgstr "重置密码"
690
724
 
@@ -710,6 +744,11 @@ msgstr "搜索"
710
744
  msgid "Search posts..."
711
745
  msgstr "搜索帖子..."
712
746
 
747
+ #. @context: Media picker dialog title
748
+ #: src/theme/components/PostForm.tsx:324
749
+ msgid "Select Media"
750
+ msgstr ""
751
+
713
752
  #. @context: Dashboard heading
714
753
  #. @context: Dashboard heading
715
754
  #. @context: Dashboard heading
@@ -750,8 +789,13 @@ msgstr "网站名称"
750
789
  msgid "Slug"
751
790
  msgstr "缩略名"
752
791
 
792
+ #. @context: Post form field - name of the source website or author
793
+ #: src/theme/components/PostForm.tsx:204
794
+ msgid "Source Name (optional)"
795
+ msgstr ""
796
+
753
797
  #. @context: Post form field
754
- #: src/theme/components/PostForm.tsx:102
798
+ #: src/theme/components/PostForm.tsx:188
755
799
  msgid "Source URL (optional)"
756
800
  msgstr "源网址(可选)"
757
801
 
@@ -776,7 +820,7 @@ msgid "The URL path for this page. Use lowercase letters, numbers, and hyphens."
776
820
  msgstr "此页面的 URL 路径。使用小写字母、数字和连字符。"
777
821
 
778
822
  #. @context: Password reset error description
779
- #: src/app.tsx:548
823
+ #: src/app.tsx:530
780
824
  msgid "This password reset link is invalid or has expired. Please generate a new one."
781
825
  msgstr "此密码重置链接无效或已过期。请生成一个新的链接。"
782
826
 
@@ -810,7 +854,7 @@ msgid "Title"
810
854
  msgstr "标题"
811
855
 
812
856
  #. @context: Post form field
813
- #: src/theme/components/PostForm.tsx:65
857
+ #: src/theme/components/PostForm.tsx:84
814
858
  msgid "Title (optional)"
815
859
  msgstr "标题(可选)"
816
860
 
@@ -822,13 +866,13 @@ msgstr "到路径"
822
866
  #. @context: Post form field - post type
823
867
  #. @context: Redirect form field
824
868
  #: src/routes/dash/redirects.tsx:141
825
- #: src/theme/components/PostForm.tsx:38
869
+ #: src/theme/components/PostForm.tsx:57
826
870
  msgid "Type"
827
871
  msgstr "类型"
828
872
 
829
873
  #. @context: Post visibility badge - unlisted
830
874
  #. @context: Post visibility option
831
- #: src/theme/components/PostForm.tsx:137
875
+ #: src/theme/components/PostForm.tsx:243
832
876
  #: src/theme/components/VisibilityBadge.tsx:34
833
877
  msgid "Unlisted"
834
878
  msgstr "未列出"
@@ -841,7 +885,7 @@ msgid "Untitled"
841
885
  msgstr "无标题"
842
886
 
843
887
  #. @context: Button to update existing post
844
- #: src/theme/components/PostForm.tsx:171
888
+ #: src/theme/components/PostForm.tsx:302
845
889
  msgid "Update"
846
890
  msgstr "更新"
847
891
 
@@ -896,14 +940,14 @@ msgstr "使用此 URL 将媒体嵌入到您的帖子中。"
896
940
  #: src/routes/dash/collections.tsx:215
897
941
  #: src/routes/dash/pages.tsx:73
898
942
  #: src/routes/dash/pages.tsx:143
899
- #: src/routes/dash/posts.tsx:129
943
+ #: src/routes/dash/posts.tsx:147
900
944
  #: src/theme/components/ActionButtons.tsx:76
901
945
  #: src/theme/components/PostList.tsx:51
902
946
  msgid "View"
903
947
  msgstr "查看"
904
948
 
905
949
  #. @context: Link to view all posts on archive page
906
- #: src/routes/pages/home.tsx:93
950
+ #: src/routes/pages/home.tsx:109
907
951
  msgid "View all posts →"
908
952
  msgstr "查看所有帖子 →"
909
953
 
@@ -913,7 +957,7 @@ msgid "View Site"
913
957
  msgstr "查看网站"
914
958
 
915
959
  #. @context: Post form field
916
- #: src/theme/components/PostForm.tsx:118
960
+ #: src/theme/components/PostForm.tsx:224
917
961
  msgid "Visibility"
918
962
  msgstr "可见性"
919
963
 
@@ -923,7 +967,7 @@ msgid "Welcome to Jant"
923
967
  msgstr "欢迎来到Jant"
924
968
 
925
969
  #. @context: Post content placeholder
926
- #: src/theme/components/PostForm.tsx:89
970
+ #: src/theme/components/PostForm.tsx:108
927
971
  msgid "What's on your mind?"
928
972
  msgstr "你在想什么?"
929
973
 
@@ -1 +1 @@
1
- /*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+7Wr2a\":[\"Edit: \",[\"title\"]],\"+MACwa\":[\"尚未有任何收藏。\"],\"+owNNn\":[\"帖子\"],\"+zy2Nq\":[\"类型\"],\"/0D1Xp\":[\"编辑集合\"],\"/Rj5P4\":[\"您的姓名\"],\"07Epll\":[\"这将为您的网站和仪表板设置主题。所有颜色主题都支持暗黑模式。\"],\"0JkyS7\":[\"创建您的第一页\"],\"0a6MpL\":[\"新重定向\"],\"1CU1Td\":[\"URL安全标识符(小写字母、数字、连字符)\"],\"1DBGsz\":[\"笔记\"],\"2N0qpv\":[\"帖子标题...\"],\"2q/Q7x\":[\"可见性\"],\"2rJGtU\":[\"页面标题...\"],\"3Yvsaz\":[\"302(临时)\"],\"4/SFQS\":[\"查看网站\"],\"40TVQj\":[\"自定义路径(可选)\"],\"4KzVT6\":[\"删除页面\"],\"4b3oEV\":[\"内容\"],\"4mDPGp\":[\"此页面的 URL 路径。使用小写字母、数字和连字符。\"],\"6WdDG7\":[\"页面\"],\"6YtxFj\":[\"姓名\"],\"7G4SBz\":[\"页面内容(支持Markdown)...\"],\"7Mk+/h\":[\"更新收藏夹\"],\"7Q1KKN\":[\"来源路径\"],\"7aECQB\":[\"无效或过期的链接\"],\"7nGhhM\":[\"你在想什么?\"],\"7p5kLi\":[\"仪表板\"],\"7vhWI8\":[\"新密码\"],\"8ZsakT\":[\"密码\"],\"90Luob\":[[\"count\"],\" 条回复\"],\"A1taO8\":[\"搜索\"],\"AeXO77\":[\"账户\"],\"AyHO4m\":[\"这个系列是关于什么的?\"],\"B373X+\":[\"编辑帖子\"],\"B495Gs\":[\"档案馆\"],\"BjF0Jv\":[\"仅允许小写字母、数字和连字符\"],\"D9Oea+\":[\"永久链接\"],\"DCKkhU\":[\"当前密码\"],\"DHhJ7s\":[\"上一页\"],\"DoJzLz\":[\"收藏夹\"],\"E80cJw\":[\"删除此媒体将永久从存储中移除。\"],\"EEYbdt\":[\"发布\"],\"EGwzOK\":[\"完成设置\"],\"EkH9pt\":[\"更新\"],\"FGrimz\":[\"新帖子\"],\"FkMol5\":[\"精选\"],\"Fxf4jq\":[\"描述(可选)\"],\"GA5A5H\":[\"删除收藏夹\"],\"GX2VMa\":[\"创建您的管理员账户。\"],\"GbVAnd\":[\"此密码重置链接无效或已过期。请生成一个新的链接。\"],\"GorKul\":[\"欢迎来到Jant\"],\"GrZ6fH\":[\"新页面\"],\"GxkJXS\":[\"上传中...\"],\"HfyyXl\":[\"My Blog\"],\"HiETwV\":[\"安静(正常)\"],\"Hzi9AA\":[\"未找到帖子。\"],\"I6gXOa\":[\"路径\"],\"IagCbF\":[\"网址\"],\"J4FNfC\":[\"此集合中没有帖子。\"],\"JIBC/T\":[\"Supported formats: JPEG, PNG, GIF, WebP, SVG. Max size: 10MB.\"],\"Jed1wB\":[\"需要帮助吗?访问<0>文档</0>。\"],\"JiP4aa\":[\"已发布的页面可以通过其路径访问。草稿不可见。\"],\"K9NcLu\":[\"使用此 URL 将媒体嵌入到您的帖子中。\"],\"KbS2K9\":[\"重置密码\"],\"KiJn9B\":[\"注意\"],\"L85WcV\":[\"缩略名\"],\"LkvLQe\":[\"还没有页面。\"],\"M1RvTd\":[\"点击图片查看完整尺寸\"],\"M8kJqa\":[\"草稿\"],\"M9xgHy\":[\"重定向\"],\"MHrjPM\":[\"标题\"],\"MZbQHL\":[\"未找到结果。\"],\"Mhf/H/\":[\"创建重定向\"],\"MqghUt\":[\"搜索帖子...\"],\"N40H+G\":[\"所有\"],\"O3oNi5\":[\"电子邮件\"],\"OCNZaU\":[\"重定向的路径\"],\"ODiSoW\":[\"还没有帖子。\"],\"ONWvwQ\":[\"上传\"],\"Pbm2/N\":[\"创建集合\"],\"RDjuBN\":[\"Setup\"],\"Rj01Fz\":[\"链接\"],\"RwGhWy\":[\"包含 \",[\"count\"],\" 条帖子的话题\"],\"SJmfuf\":[\"网站名称\"],\"ST+lN2\":[\"尚未上传任何媒体。\"],\"Tt5T6+\":[\"文章\"],\"TxE+Mj\":[\"1 条回复\"],\"Tz0i8g\":[\"设置\"],\"U5v6Gh\":[\"编辑页面\"],\"UDMjsP\":[\"快速操作\"],\"UGT5vp\":[\"保存设置\"],\"VUSy8D\":[\"Search failed. Please try again.\"],\"VhMDMg\":[\"更改密码\"],\"WDcQq9\":[\"未列出\"],\"Weq9zb\":[\"常规\"],\"WmZ/rP\":[\"到路径\"],\"Y+7JGK\":[\"创建页面\"],\"ZQKLI1\":[\"危险区域\"],\"ZhhOwV\":[\"引用\"],\"aAIQg2\":[\"外观\"],\"an5hVd\":[\"图片\"],\"b+/jO6\":[\"301(永久)\"],\"bHYIks\":[\"登出\"],\"biOepV\":[\"← 返回首页\"],\"cnGeoo\":[\"删除\"],\"dEgA5A\":[\"取消\"],\"e6Jr7Q\":[\"← 返回收藏夹\"],\"ePK91l\":[\"编辑\"],\"eWLklq\":[\"引用\"],\"eneWvv\":[\"草稿\"],\"er8+x7\":[\"演示账户已预填。只需点击登录。\"],\"f6e0Ry\":[\"文章\"],\"fG7BxZ\":[\"Upload images via the API: POST /api/upload with a file form field.\"],\"fttd2R\":[\"我的收藏\"],\"hG89Ed\":[\"图像\"],\"hWOZIv\":[\"输入您的新密码。\"],\"hXzOVo\":[\"下一页\"],\"he3ygx\":[\"复制\"],\"iH8pgl\":[\"返回\"],\"ig4hg2\":[\"Let's set up your site.\"],\"jpctdh\":[\"查看\"],\"k1ifdL\":[\"处理中...\"],\"mTOYla\":[\"查看所有帖子 →\"],\"n1ekoW\":[\"登录\"],\"oYPBa0\":[\"更新页面\"],\"p2/GCq\":[\"确认密码\"],\"pRhYH2\":[\"集合中的帖子 (\",[\"count\"],\")\"],\"pZq3aX\":[\"上传失败。请再试一次。\"],\"qMyM2u\":[\"源网址(可选)\"],\"r1MpXi\":[\"安静\"],\"rFmBG3\":[\"颜色主题\"],\"rdUucN\":[\"预览\"],\"rzNUSl\":[\"包含 1 条帖子的话题\"],\"sGajR7\":[\"线程开始\"],\"ssqvZi\":[\"保存个人资料\"],\"t/YqKh\":[\"移除\"],\"tfrt7B\":[\"未配置重定向。\"],\"tiq7kl\":[\"页面 \",[\"page\"]],\"u2f7vd\":[\"网站描述\"],\"u3wRF+\":[\"已发布\"],\"u6Hp4N\":[\"Markdown\"],\"uAQUqI\":[\"状态\"],\"vERlcd\":[\"个人资料\"],\"vXIe7J\":[\"语言\"],\"vzU4k9\":[\"新收藏\"],\"wEF6Ix\":[\"目标路径或 URL\"],\"wK4OTM\":[\"标题(可选)\"],\"wM5UXj\":[\"删除媒体\"],\"wRR604\":[\"页面\"],\"wja8aL\":[\"无标题\"],\"x+doid\":[\"图像会自动优化:调整大小至最大 1920px,转换为 WebP,并去除元数据。\"],\"x0mzE0\":[\"创建你的第一篇帖子\"],\"x4RuFo\":[\"返回首页\"],\"xYilR2\":[\"媒体\"],\"y28hnO\":[\"帖子\"],\"yQ2kGp\":[\"加载更多\"],\"yjkELF\":[\"确认新密码\"],\"yzF66j\":[\"链接\"],\"z8ajIE\":[\"找到 1 个结果\"],\"zH6KqE\":[\"找到 \",[\"count\"],\" 个结果\"]}")as Messages;
1
+ /*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+7Wr2a\":[\"Edit: \",[\"title\"]],\"+MACwa\":[\"尚未有任何收藏。\"],\"+owNNn\":[\"帖子\"],\"+zy2Nq\":[\"类型\"],\"/0D1Xp\":[\"编辑集合\"],\"/Rj5P4\":[\"您的姓名\"],\"07Epll\":[\"这将为您的网站和仪表板设置主题。所有颜色主题都支持暗黑模式。\"],\"0JkyS7\":[\"创建您的第一页\"],\"0a6MpL\":[\"新重定向\"],\"1CU1Td\":[\"URL安全标识符(小写字母、数字、连字符)\"],\"1DBGsz\":[\"笔记\"],\"1o+wgo\":[\"e.g. The Verge, John Doe\"],\"2N0qpv\":[\"帖子标题...\"],\"2fUwEY\":[\"Select Media\"],\"2q/Q7x\":[\"可见性\"],\"2rJGtU\":[\"页面标题...\"],\"3Yvsaz\":[\"302(临时)\"],\"4/SFQS\":[\"查看网站\"],\"40TVQj\":[\"自定义路径(可选)\"],\"4KzVT6\":[\"删除页面\"],\"4b3oEV\":[\"内容\"],\"4mDPGp\":[\"此页面的 URL 路径。使用小写字母、数字和连字符。\"],\"6WdDG7\":[\"页面\"],\"6YtxFj\":[\"姓名\"],\"7G4SBz\":[\"页面内容(支持Markdown)...\"],\"7Mk+/h\":[\"更新收藏夹\"],\"7Q1KKN\":[\"来源路径\"],\"7aECQB\":[\"无效或过期的链接\"],\"7nGhhM\":[\"你在想什么?\"],\"7p5kLi\":[\"仪表板\"],\"7vhWI8\":[\"新密码\"],\"8ZsakT\":[\"密码\"],\"90Luob\":[[\"count\"],\" 条回复\"],\"A1taO8\":[\"搜索\"],\"AeXO77\":[\"账户\"],\"AyHO4m\":[\"这个系列是关于什么的?\"],\"B373X+\":[\"编辑帖子\"],\"B495Gs\":[\"档案馆\"],\"BjF0Jv\":[\"仅允许小写字母、数字和连字符\"],\"D9Oea+\":[\"永久链接\"],\"DCKkhU\":[\"当前密码\"],\"DHhJ7s\":[\"上一页\"],\"DPfwMq\":[\"Done\"],\"DoJzLz\":[\"收藏夹\"],\"E80cJw\":[\"删除此媒体将永久从存储中移除。\"],\"EEYbdt\":[\"发布\"],\"EGwzOK\":[\"完成设置\"],\"EkH9pt\":[\"更新\"],\"FGrimz\":[\"新帖子\"],\"FkMol5\":[\"精选\"],\"Fxf4jq\":[\"描述(可选)\"],\"GA5A5H\":[\"删除收藏夹\"],\"GX2VMa\":[\"创建您的管理员账户。\"],\"GbVAnd\":[\"此密码重置链接无效或已过期。请生成一个新的链接。\"],\"GorKul\":[\"欢迎来到Jant\"],\"GrZ6fH\":[\"新页面\"],\"GxkJXS\":[\"上传中...\"],\"HfyyXl\":[\"My Blog\"],\"HiETwV\":[\"安静(正常)\"],\"Hzi9AA\":[\"未找到帖子。\"],\"I6gXOa\":[\"路径\"],\"I8hDlV\":[\"At least 1 image required for image posts.\"],\"IagCbF\":[\"网址\"],\"J4FNfC\":[\"此集合中没有帖子。\"],\"JIBC/T\":[\"Supported formats: JPEG, PNG, GIF, WebP, SVG. Max size: 10MB.\"],\"Jed1wB\":[\"需要帮助吗?访问<0>文档</0>。\"],\"JiP4aa\":[\"已发布的页面可以通过其路径访问。草稿不可见。\"],\"K9NcLu\":[\"使用此 URL 将媒体嵌入到您的帖子中。\"],\"KbS2K9\":[\"重置密码\"],\"KiJn9B\":[\"注意\"],\"L85WcV\":[\"缩略名\"],\"LkvLQe\":[\"还没有页面。\"],\"M1RvTd\":[\"点击图片查看完整尺寸\"],\"M8kJqa\":[\"草稿\"],\"M9xgHy\":[\"重定向\"],\"MHrjPM\":[\"标题\"],\"MWBOxm\":[\"Collections (optional)\"],\"MZbQHL\":[\"未找到结果。\"],\"Mhf/H/\":[\"创建重定向\"],\"MqghUt\":[\"搜索帖子...\"],\"N40H+G\":[\"所有\"],\"O3oNi5\":[\"电子邮件\"],\"OCNZaU\":[\"重定向的路径\"],\"ODiSoW\":[\"还没有帖子。\"],\"ONWvwQ\":[\"上传\"],\"Pbm2/N\":[\"创建集合\"],\"RDjuBN\":[\"Setup\"],\"Rj01Fz\":[\"链接\"],\"RwGhWy\":[\"包含 \",[\"count\"],\" 条帖子的话题\"],\"SJmfuf\":[\"网站名称\"],\"ST+lN2\":[\"尚未上传任何媒体。\"],\"Tt5T6+\":[\"文章\"],\"TxE+Mj\":[\"1 条回复\"],\"Tz0i8g\":[\"设置\"],\"U5v6Gh\":[\"编辑页面\"],\"UDMjsP\":[\"快速操作\"],\"UGT5vp\":[\"保存设置\"],\"VUSy8D\":[\"Search failed. Please try again.\"],\"VhMDMg\":[\"更改密码\"],\"WDcQq9\":[\"未列出\"],\"Weq9zb\":[\"常规\"],\"WmZ/rP\":[\"到路径\"],\"Y+7JGK\":[\"创建页面\"],\"Z3FXyt\":[\"Loading...\"],\"ZQKLI1\":[\"危险区域\"],\"ZhhOwV\":[\"引用\"],\"aAIQg2\":[\"外观\"],\"an5hVd\":[\"图片\"],\"b+/jO6\":[\"301(永久)\"],\"bHYIks\":[\"登出\"],\"biOepV\":[\"← 返回首页\"],\"cnGeoo\":[\"删除\"],\"dEgA5A\":[\"取消\"],\"e6Jr7Q\":[\"← 返回收藏夹\"],\"ePK91l\":[\"编辑\"],\"eWLklq\":[\"引用\"],\"eneWvv\":[\"草稿\"],\"er8+x7\":[\"演示账户已预填。只需点击登录。\"],\"f6e0Ry\":[\"文章\"],\"fG7BxZ\":[\"Upload images via the API: POST /api/upload with a file form field.\"],\"fttd2R\":[\"我的收藏\"],\"hG89Ed\":[\"图像\"],\"hWOZIv\":[\"输入您的新密码。\"],\"hXzOVo\":[\"下一页\"],\"he3ygx\":[\"复制\"],\"iH8pgl\":[\"返回\"],\"ig4hg2\":[\"Let's set up your site.\"],\"jpctdh\":[\"查看\"],\"k1ifdL\":[\"处理中...\"],\"mTOYla\":[\"查看所有帖子 →\"],\"n1ekoW\":[\"登录\"],\"oJFOZk\":[\"Source Name (optional)\"],\"oYPBa0\":[\"更新页面\"],\"p2/GCq\":[\"确认密码\"],\"pRhYH2\":[\"集合中的帖子 (\",[\"count\"],\")\"],\"pZq3aX\":[\"上传失败。请再试一次。\"],\"qMyM2u\":[\"源网址(可选)\"],\"qiXmlF\":[\"Add Media\"],\"r1MpXi\":[\"安静\"],\"rFmBG3\":[\"颜色主题\"],\"rdUucN\":[\"预览\"],\"rzNUSl\":[\"包含 1 条帖子的话题\"],\"sGajR7\":[\"线程开始\"],\"ssqvZi\":[\"保存个人资料\"],\"t/YqKh\":[\"移除\"],\"tfrt7B\":[\"未配置重定向。\"],\"tiq7kl\":[\"页面 \",[\"page\"]],\"u2f7vd\":[\"网站描述\"],\"u3wRF+\":[\"已发布\"],\"u6Hp4N\":[\"Markdown\"],\"uAQUqI\":[\"状态\"],\"vERlcd\":[\"个人资料\"],\"vXIe7J\":[\"语言\"],\"vzU4k9\":[\"新收藏\"],\"wEF6Ix\":[\"目标路径或 URL\"],\"wK4OTM\":[\"标题(可选)\"],\"wM5UXj\":[\"删除媒体\"],\"wRR604\":[\"页面\"],\"wja8aL\":[\"无标题\"],\"x+doid\":[\"图像会自动优化:调整大小至最大 1920px,转换为 WebP,并去除元数据。\"],\"x0mzE0\":[\"创建你的第一篇帖子\"],\"x4RuFo\":[\"返回首页\"],\"xYilR2\":[\"媒体\"],\"y28hnO\":[\"帖子\"],\"yQ2kGp\":[\"加载更多\"],\"yjkELF\":[\"确认新密码\"],\"yzF66j\":[\"链接\"],\"z8ajIE\":[\"找到 1 个结果\"],\"zH6KqE\":[\"找到 \",[\"count\"],\" 个结果\"]}")as Messages;