@jant/core 0.6.15 → 0.6.16
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/commands/import-site.js +7 -0
- package/dist/app-C75Zc8dD.js +6 -0
- package/dist/{app-C-oi_t8W.js → app-C7_4oab9.js} +480 -196
- package/dist/client/.vite/manifest.json +8 -8
- package/dist/client/_assets/chunks/{url-pLre2DM_.js → url-CU9pEbk5.js} +1 -1
- package/dist/client/_assets/{client-DxY5BFe8.js → client-Bq0vre8Y.js} +3 -3
- package/dist/client/_assets/client-D3VZyG4L.css +2 -0
- package/dist/client/_assets/{client-auth-CakPESv9.js → client-auth-F2rb9WfF.js} +1015 -977
- package/dist/{env-OHRKGcMj.js → env-BPYViDJJ.js} +1 -1
- package/dist/{export-CsFx6F_M.js → export-Dl5KCiEs.js} +93 -7
- package/dist/{github-api-BgSiE71w.js → github-api-BNF35Lkx.js} +1 -1
- package/dist/{github-app-BbklkFmU.js → github-app-DdiD-bC4.js} +1 -1
- package/dist/{github-sync-ppWXN3jb.js → github-sync-Bqg62IvV.js} +3 -3
- package/dist/{github-sync-Cq1pzzOI.js → github-sync-HdK2EgvJ.js} +3 -3
- package/dist/index.js +5 -5
- package/dist/node.js +6 -6
- package/dist/{url-BMYO-Zlt.js → url-CbLAtlZe.js} +517 -12
- package/package.json +1 -1
- package/src/__tests__/mise-config.test.ts +22 -0
- package/src/client/__tests__/compose-bridge.test.ts +252 -2
- package/src/client/__tests__/compose-shortcuts.test.ts +20 -0
- package/src/client/__tests__/toast.test.ts +65 -1
- package/src/client/components/__tests__/compose-format-convert.test.ts +0 -19
- package/src/client/components/__tests__/jant-command-palette.test.ts +51 -0
- package/src/client/components/__tests__/jant-compose-dialog.test.ts +2015 -318
- package/src/client/components/__tests__/jant-compose-editor.test.ts +53 -62
- package/src/client/components/__tests__/jant-compose-fullscreen.test.ts +35 -89
- package/src/client/components/compose-format-convert.ts +5 -1
- package/src/client/components/compose-types.ts +47 -3
- package/src/client/components/jant-command-palette.ts +12 -6
- package/src/client/components/jant-compose-dialog.ts +1464 -680
- package/src/client/components/jant-compose-editor.ts +225 -93
- package/src/client/components/jant-compose-fullscreen.ts +3 -5
- package/src/client/components/jant-post-menu.ts +91 -21
- package/src/client/compose-bridge.ts +143 -122
- package/src/client/compose-launch.ts +13 -0
- package/src/client/compose-shortcuts.ts +5 -1
- package/src/client/post-refresh.ts +135 -0
- package/src/client/tiptap/__tests__/link-input-rules.test.ts +121 -0
- package/src/client/tiptap/link-input-rules.ts +4 -4
- package/src/client/toast.ts +130 -38
- package/src/db/__tests__/backfill-thread-activity.test.ts +234 -0
- package/src/db/__tests__/thread-activity.test.ts +113 -0
- package/src/db/backfills/0005_split_thread_activity_from_quiet_replies.sql +68 -0
- package/src/db/migrations/0031_many_ego.sql +3 -0
- package/src/db/migrations/meta/0031_snapshot.json +2562 -0
- package/src/db/migrations/meta/_journal.json +7 -0
- package/src/db/migrations/pg/0029_rare_hairball.sql +3 -0
- package/src/db/migrations/pg/meta/0029_snapshot.json +3289 -0
- package/src/db/migrations/pg/meta/_journal.json +7 -0
- package/src/db/pg/schema.ts +18 -0
- package/src/db/schema.ts +20 -0
- package/src/db/thread-activity.ts +101 -0
- package/src/i18n/locales/public/en.po +89 -21
- package/src/i18n/locales/public/en.ts +1 -1
- package/src/i18n/locales/public/zh-Hans.po +88 -20
- package/src/i18n/locales/public/zh-Hans.ts +1 -1
- package/src/i18n/locales/public/zh-Hant.po +88 -20
- package/src/i18n/locales/public/zh-Hant.ts +1 -1
- package/src/lib/__tests__/feed.test.ts +168 -0
- package/src/lib/__tests__/markdown.test.ts +16 -0
- package/src/lib/__tests__/slug.test.ts +18 -0
- package/src/lib/__tests__/translit.test.ts +87 -0
- package/src/lib/__tests__/url.test.ts +53 -0
- package/src/lib/feed.ts +113 -11
- package/src/lib/hugo-markdown.ts +5 -0
- package/src/lib/link-preview.ts +25 -0
- package/src/lib/markdown-manager.ts +6 -1
- package/src/lib/post-display.ts +42 -9
- package/src/lib/timeline.ts +39 -9
- package/src/lib/tiptap-render.ts +4 -2
- package/src/lib/translit.ts +288 -0
- package/src/lib/url.ts +123 -12
- package/src/lib/view.ts +28 -0
- package/src/routes/api/__tests__/palette.test.ts +44 -0
- package/src/routes/api/posts.ts +13 -9
- package/src/routes/api/public/__tests__/posts.test.ts +38 -0
- package/src/routes/api/public/posts.ts +7 -0
- package/src/routes/compose.tsx +6 -2
- package/src/routes/feed/__tests__/sitemap.test.ts +68 -1
- package/src/routes/pages/__tests__/archive-params.test.ts +292 -0
- package/src/routes/pages/__tests__/featured.test.ts +6 -2
- package/src/routes/pages/__tests__/preview.test.ts +3 -1
- package/src/routes/pages/archive.tsx +65 -17
- package/src/routes/pages/page.tsx +5 -2
- package/src/services/__tests__/collection.test.ts +32 -1
- package/src/services/__tests__/post-timeline.test.ts +142 -11
- package/src/services/__tests__/post.test.ts +277 -0
- package/src/services/collection.ts +8 -10
- package/src/services/export-theme/assets/client-site.css +1 -1
- package/src/services/export.ts +3 -5
- package/src/services/path.ts +4 -1
- package/src/services/post.ts +297 -100
- package/src/services/search.ts +9 -0
- package/src/styles/components.css +0 -14
- package/src/styles/site-media.css +4 -4
- package/src/styles/tokens.css +62 -1
- package/src/styles/ui.css +1363 -1283
- package/src/types/entities.ts +5 -0
- package/src/types/props.ts +12 -0
- package/src/types/views.ts +6 -0
- package/src/ui/compose/ComposeDialog.tsx +17 -17
- package/src/ui/feed/LinkPreview.tsx +2 -7
- package/src/ui/feed/PostStatusBadges.tsx +42 -3
- package/src/ui/pages/ArchivePage.tsx +131 -24
- package/src/ui/pages/__tests__/ArchivePage.test.tsx +63 -0
- package/src/ui/shared/DraftPreviewBar.tsx +25 -9
- package/src/ui/shared/PostFooter.tsx +35 -12
- package/src/ui/shared/custom-icons.ts +5 -0
- package/src/ui/shared/post-article-attributes.ts +6 -0
- package/dist/app-BxCOR3Uc.js +0 -6
- package/dist/client/_assets/client-B_eGKN5p.css +0 -2
|
@@ -38,6 +38,11 @@ msgstr ""
|
|
|
38
38
|
msgid "{count} images couldn't be saved to your library — their original links were kept."
|
|
39
39
|
msgstr "有 {count} 张图片无法转存到你的媒体库,已保留原链接。"
|
|
40
40
|
|
|
41
|
+
#. @context: Value shown on a post's permalink control when the link is generated automatically — a stand-in for the path the server will assign. Sits next to real permalinks rendered as /my-post, so keep the leading slash
|
|
42
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
43
|
+
msgid "/…"
|
|
44
|
+
msgstr ""
|
|
45
|
+
|
|
41
46
|
#. @context: Placeholder for the custom collections link URL
|
|
42
47
|
#: src/ui/shared/collection-management-labels.ts
|
|
43
48
|
msgid "/archive?format=quote or https://example.com"
|
|
@@ -293,11 +298,6 @@ msgstr ""
|
|
|
293
298
|
msgid "Auto"
|
|
294
299
|
msgstr ""
|
|
295
300
|
|
|
296
|
-
#. @context: Compose summary shown near the submit controls when a manual custom link is cleared
|
|
297
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
298
|
-
msgid "Auto link"
|
|
299
|
-
msgstr ""
|
|
300
|
-
|
|
301
301
|
#. @context: Usage label for the circle tile asset card
|
|
302
302
|
#: src/ui/pages/BrandPage.tsx
|
|
303
303
|
msgid "Avatar-ready"
|
|
@@ -416,6 +416,11 @@ msgstr ""
|
|
|
416
416
|
msgid "Clear filter"
|
|
417
417
|
msgstr ""
|
|
418
418
|
|
|
419
|
+
#. @context: Post options row that leaves the composer; prompts to save a draft first if there is unsaved work
|
|
420
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
421
|
+
msgid "Close compose"
|
|
422
|
+
msgstr ""
|
|
423
|
+
|
|
419
424
|
#. @context: Close drawer button label
|
|
420
425
|
#: src/ui/layouts/SiteLayout.tsx
|
|
421
426
|
msgid "Close menu"
|
|
@@ -507,6 +512,11 @@ msgstr ""
|
|
|
507
512
|
msgid "Complete Setup"
|
|
508
513
|
msgstr ""
|
|
509
514
|
|
|
515
|
+
#. @context: Accessible name for the compose dialog
|
|
516
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
517
|
+
msgid "Compose"
|
|
518
|
+
msgstr ""
|
|
519
|
+
|
|
510
520
|
#. @context: Password reset form field
|
|
511
521
|
#: src/routes/auth/reset.tsx
|
|
512
522
|
msgid "Confirm Password"
|
|
@@ -517,6 +527,11 @@ msgstr ""
|
|
|
517
527
|
msgid "Continue →"
|
|
518
528
|
msgstr ""
|
|
519
529
|
|
|
530
|
+
#. @context: Tooltip on the draft badge, which opens the editor
|
|
531
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
532
|
+
msgid "Continue writing this draft"
|
|
533
|
+
msgstr ""
|
|
534
|
+
|
|
520
535
|
#. @context: Controls section heading on sample page
|
|
521
536
|
#: src/ui/pages/ThemeSamplePage.tsx
|
|
522
537
|
msgid "Controls"
|
|
@@ -756,6 +771,11 @@ msgstr ""
|
|
|
756
771
|
msgid "Download the official Jant logo, icons, and preview files."
|
|
757
772
|
msgstr ""
|
|
758
773
|
|
|
774
|
+
#. @context: Post status badge for an unpublished draft, shown to the author only
|
|
775
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
776
|
+
msgid "Draft"
|
|
777
|
+
msgstr ""
|
|
778
|
+
|
|
759
779
|
#. @context: Accessible label for a draft item's more-actions button
|
|
760
780
|
#: src/ui/compose/ComposeDialog.tsx
|
|
761
781
|
msgid "Draft actions"
|
|
@@ -797,11 +817,9 @@ msgstr ""
|
|
|
797
817
|
msgid "Drag collections, links, and dividers into the order you want."
|
|
798
818
|
msgstr ""
|
|
799
819
|
|
|
800
|
-
#. @context: Compose dialog header title when editing a post
|
|
801
820
|
#. @context: Per-collection edit action
|
|
802
821
|
#. @context: Per-collection edit action
|
|
803
822
|
#. @context: Per-collection edit action
|
|
804
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
805
823
|
#: src/ui/pages/CollectionEditorPage.tsx
|
|
806
824
|
#: src/ui/pages/CollectionEditorPage.tsx
|
|
807
825
|
#: src/ui/shared/collection-management-labels.ts
|
|
@@ -813,6 +831,11 @@ msgstr ""
|
|
|
813
831
|
msgid "Edit custom link"
|
|
814
832
|
msgstr ""
|
|
815
833
|
|
|
834
|
+
#. @context: Action in the draft preview status bar that opens the editor
|
|
835
|
+
#: src/ui/shared/DraftPreviewBar.tsx
|
|
836
|
+
msgid "Edit draft"
|
|
837
|
+
msgstr ""
|
|
838
|
+
|
|
816
839
|
#. @context: Button to manually edit the collection link
|
|
817
840
|
#: src/ui/shared/collection-management-labels.ts
|
|
818
841
|
msgid "Edit link"
|
|
@@ -833,6 +856,11 @@ msgstr ""
|
|
|
833
856
|
msgid "Edit publish date"
|
|
834
857
|
msgstr ""
|
|
835
858
|
|
|
859
|
+
#. @context: Marker above the composer when changing a post that is already published
|
|
860
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
861
|
+
msgid "Editing"
|
|
862
|
+
msgstr ""
|
|
863
|
+
|
|
836
864
|
#. @context: Sample link post title on the theme sample page
|
|
837
865
|
#: src/ui/pages/ThemeSamplePage.tsx
|
|
838
866
|
msgid "Editorial interfaces worth borrowing from"
|
|
@@ -1138,6 +1166,11 @@ msgstr ""
|
|
|
1138
1166
|
msgid "Label (optional)"
|
|
1139
1167
|
msgstr ""
|
|
1140
1168
|
|
|
1169
|
+
#. @context: Tooltip text for the timestamp on an unpublished draft
|
|
1170
|
+
#: src/ui/shared/PostFooter.tsx
|
|
1171
|
+
msgid "Last edited on {date} at {time}"
|
|
1172
|
+
msgstr ""
|
|
1173
|
+
|
|
1141
1174
|
#. @context: Active browse tab label on sample page
|
|
1142
1175
|
#. @context: Browser page title for the latest feed
|
|
1143
1176
|
#. @context: Page heading for the latest posts feed
|
|
@@ -1361,9 +1394,9 @@ msgstr ""
|
|
|
1361
1394
|
msgid "New post"
|
|
1362
1395
|
msgstr ""
|
|
1363
1396
|
|
|
1364
|
-
#. @context:
|
|
1365
|
-
#: src/ui/
|
|
1366
|
-
msgid "
|
|
1397
|
+
#. @context: Archive page meta note explaining the active sort order
|
|
1398
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
1399
|
+
msgid "newest changes first"
|
|
1367
1400
|
msgstr ""
|
|
1368
1401
|
|
|
1369
1402
|
#. @context: Collection sort order option
|
|
@@ -1452,6 +1485,11 @@ msgstr ""
|
|
|
1452
1485
|
msgid "Nothing in Featured yet. Mark a post as featured to show it here."
|
|
1453
1486
|
msgstr ""
|
|
1454
1487
|
|
|
1488
|
+
#. @context: Value shown on a post's date control when it will publish at the current time
|
|
1489
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1490
|
+
msgid "Now"
|
|
1491
|
+
msgstr ""
|
|
1492
|
+
|
|
1455
1493
|
#. @context: Collection sort order option
|
|
1456
1494
|
#. @context: Collection sort order option
|
|
1457
1495
|
#: src/ui/pages/CollectionPage.tsx
|
|
@@ -1529,6 +1567,11 @@ msgstr ""
|
|
|
1529
1567
|
msgid "Paste a URL..."
|
|
1530
1568
|
msgstr ""
|
|
1531
1569
|
|
|
1570
|
+
#. @context: Post status badge for a pinned post
|
|
1571
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
1572
|
+
msgid "Pinned"
|
|
1573
|
+
msgstr ""
|
|
1574
|
+
|
|
1532
1575
|
#. @context: Compose button - publish post
|
|
1533
1576
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1534
1577
|
msgid "Post"
|
|
@@ -1592,7 +1635,9 @@ msgstr ""
|
|
|
1592
1635
|
|
|
1593
1636
|
#. @context: Archive visibility filter - private posts
|
|
1594
1637
|
#. @context: Compose publish settings visibility option
|
|
1638
|
+
#. @context: Post status badge for a private post
|
|
1595
1639
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1640
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
1596
1641
|
#: src/ui/pages/ArchivePage.tsx
|
|
1597
1642
|
msgid "Private"
|
|
1598
1643
|
msgstr ""
|
|
@@ -1611,11 +1656,6 @@ msgstr ""
|
|
|
1611
1656
|
msgid "Publish"
|
|
1612
1657
|
msgstr ""
|
|
1613
1658
|
|
|
1614
|
-
#. @context: Compose summary shown near the submit controls when an edited post no longer has a custom publish date
|
|
1615
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
1616
|
-
msgid "Publish now"
|
|
1617
|
-
msgstr ""
|
|
1618
|
-
|
|
1619
1659
|
#. @context: Compose publish settings panel title
|
|
1620
1660
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1621
1661
|
msgid "Publish settings"
|
|
@@ -1746,10 +1786,8 @@ msgstr ""
|
|
|
1746
1786
|
|
|
1747
1787
|
#. @context: Archive tile label for a single thread reply
|
|
1748
1788
|
#. @context: Compose button - reply to post
|
|
1749
|
-
#. @context: Compose dialog header title when replying to a post
|
|
1750
1789
|
#. @context: Reply button label in the post footer
|
|
1751
1790
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1752
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
1753
1791
|
#: src/ui/pages/ArchivePage.tsx
|
|
1754
1792
|
#: src/ui/shared/PostFooter.tsx
|
|
1755
1793
|
msgid "Reply"
|
|
@@ -1883,6 +1921,16 @@ msgstr ""
|
|
|
1883
1921
|
msgid "Shared links"
|
|
1884
1922
|
msgstr ""
|
|
1885
1923
|
|
|
1924
|
+
#. @context: Archive view option - grid
|
|
1925
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
1926
|
+
msgid "Show as a grid of tiles"
|
|
1927
|
+
msgstr ""
|
|
1928
|
+
|
|
1929
|
+
#. @context: Archive view option - list
|
|
1930
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
1931
|
+
msgid "Show as a list with full posts"
|
|
1932
|
+
msgstr ""
|
|
1933
|
+
|
|
1886
1934
|
#. @context: Collapse expanded thread ancestor context in the feed
|
|
1887
1935
|
#. @context: Collapse expanded thread ancestor context in the feed
|
|
1888
1936
|
#. @context: Collapse reply context
|
|
@@ -1984,6 +2032,21 @@ msgstr ""
|
|
|
1984
2032
|
msgid "Sort"
|
|
1985
2033
|
msgstr ""
|
|
1986
2034
|
|
|
2035
|
+
#. @context: Archive sort option - threads that recently gained a post first
|
|
2036
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2037
|
+
msgid "Sort by when each thread was last added to"
|
|
2038
|
+
msgstr ""
|
|
2039
|
+
|
|
2040
|
+
#. @context: Archive sort option - newest published first
|
|
2041
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2042
|
+
msgid "Sort by when each thread was published"
|
|
2043
|
+
msgstr ""
|
|
2044
|
+
|
|
2045
|
+
#. @context: Archive sort toggle group label
|
|
2046
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2047
|
+
msgid "Sort order"
|
|
2048
|
+
msgstr ""
|
|
2049
|
+
|
|
1987
2050
|
#. @context: Collection form field
|
|
1988
2051
|
#: src/ui/shared/collection-management-labels.ts
|
|
1989
2052
|
msgid "Sort Order"
|
|
@@ -2257,11 +2320,9 @@ msgid "Threads can include up to {count} posts."
|
|
|
2257
2320
|
msgstr ""
|
|
2258
2321
|
|
|
2259
2322
|
#. @context: Collection form field
|
|
2260
|
-
#. @context: Compose
|
|
2261
|
-
#. @context: Compose toolbar - title tooltip
|
|
2323
|
+
#. @context: Compose toolbar - show or hide the title field
|
|
2262
2324
|
#. @context: Input label on sample page
|
|
2263
2325
|
#: src/ui/compose/ComposeDialog.tsx
|
|
2264
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
2265
2326
|
#: src/ui/pages/ThemeSamplePage.tsx
|
|
2266
2327
|
#: src/ui/shared/collection-management-labels.ts
|
|
2267
2328
|
msgid "Title"
|
|
@@ -2306,6 +2367,8 @@ msgstr ""
|
|
|
2306
2367
|
|
|
2307
2368
|
#. @context: Archive filter - notes without a title
|
|
2308
2369
|
#. @context: Archive filter - notes without a title
|
|
2370
|
+
#. @context: Compose note title placeholder. States what the note is while the field is empty rather than asking for a title — untitled notes are a normal kind of note here, and Archive files them under this same word.
|
|
2371
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
2309
2372
|
#: src/ui/pages/ArchivePage.tsx
|
|
2310
2373
|
#: src/ui/pages/ArchivePage.tsx
|
|
2311
2374
|
msgid "Untitled"
|
|
@@ -2388,6 +2451,11 @@ msgstr ""
|
|
|
2388
2451
|
msgid "View earlier notes in this thread"
|
|
2389
2452
|
msgstr ""
|
|
2390
2453
|
|
|
2454
|
+
#. @context: Archive grid/list toggle group label
|
|
2455
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2456
|
+
msgid "View mode"
|
|
2457
|
+
msgstr ""
|
|
2458
|
+
|
|
2391
2459
|
#. @context: Compose publish settings section label
|
|
2392
2460
|
#: src/ui/compose/ComposeDialog.tsx
|
|
2393
2461
|
msgid "Visibility"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+4u2g6\":[\"A ready-made 1:1 PNG for decks, mockups, directories, and other square placements.\"],\"+DPYOZ\":[\"Add a link to your main RSS feed. Change what /feed returns in General.\"],\"+G8qqW\":[\"Collection saved.\"],\"+IJm1Z\":[\"Muted\"],\"+Irvp3\":[\"Everything on this page is ready to use for articles, launch posts, directories, and product coverage.\"],\"+Qaboy\":[\"Favicon\"],\"+fWu2O\":[\"A calmer, warmer accent makes the default theme feel quieter and more intentional.\"],\"+jw/c1\":[\"Delete image\"],\"+nHhRH\":[\"Use \",[\"brandColorName\"]],\"+siMqD\":[\"Journal\"],\"/DFKdU\":[\"Type the quote...\"],\"/PfPLc\":[\"Label (optional)\"],\"/PoNoq\":[\"Edit link\"],\"/Ui2OV\":[\"Use the reverse logo on dark backgrounds.\"],\"/Ybds4\":[\"Primary Jant logo for websites, docs, press coverage, and editorial layouts.\"],\"/rTz0M\":[\"Audio\"],\"0EcUWz\":[\"Discard changes?\"],\"0Lj7or\":[\"Save text attachment?\"],\"0Vlj/m\":[\"This post isn’t published.\"],\"0XDp7X\":[\"Links should read clearly without glowing against the page.\"],\"0cspe/\":[\"Delete row\"],\"0ieXE7\":[\"Highest rated\"],\"11h9eK\":[\"Includes\"],\"15++NM\":[\"Inline emphasis\"],\"1DBGsz\":[\"Notes\"],\"1NeeWI\":[\"Square assets for avatars, apps, browsers, and shared links\"],\"1THMr2\":[\"Brand pack\"],\"1njn7W\":[\"Light\"],\"27KTPP\":[\"Draft preview\"],\"2B7HLH\":[\"New post\"],\"2C7mSG\":[\"Collection link\"],\"2ETv7R\":[\"Tune color in a real reading context\"],\"2HbvFp\":[\"Real post components\"],\"2MXb5X\":[\"Field notes on quiet design\"],\"2koDOQ\":[\"Thread accents\"],\"2lKpcz\":[\"Write your first post to get started.\"],\"2q/Q7x\":[\"Visibility\"],\"2sCqzD\":[\"Use this for websites, docs, articles, and other light or neutral surfaces.\"],\"3Cw1AI\":[\"Add Collection\"],\"3lJk5u\":[\"Keep the artwork unchanged.\"],\"3mdteM\":[\"before deciding whether the accent is carrying too much product energy.\"],\"3neqtf\":[\"Thread accent\"],\"3qkggm\":[\"Fullscreen\"],\"3vMdv3\":[\"This link is reserved. Choose something else.\"],\"3wKq0C\":[\"Couldn't save. Try again in a moment.\"],\"3xi01/\":[\"Look at the footer metadata last, to make sure the accent is not fighting the typography.\"],\"47iMgt\":[\"Editorial interfaces worth borrowing from\"],\"4D09NB\":[\"Link to your collections page\"],\"4GQThz\":[\"No collections yet. Start one to organize threads by topic.\"],\"4HLTdq\":[\"without media\"],\"4J/OYU\":[\"Collection created.\"],\"4eiXo+\":[\"Leave blank to generate one automatically.\"],\"4pV0kE\":[\"Avatar-ready\"],\"51EYZX\":[\"without title\"],\"5dcjwM\":[\"Choose today or an earlier date, or leave it blank to publish now.\"],\"5pAjd8\":[\"Accent should feel present, not loud.\"],\"5sEkBi\":[\"Open raw asset\"],\"61i3cO\":[\"Toggle header row\"],\"6QCZMo\":[\"Add row below\"],\"6UTABI\":[\"Collection order updated.\"],\"6WAK+2\":[\"Use current date\"],\"6Y4BBO\":[\"An abstract editorial layout in warm paper colors\"],\"6cjUDB\":[\"Brand assets\"],\"6lGV3K\":[\"Show less\"],\"6p0JeQ\":[\"to make sure both still feel like they belong to the same product.\"],\"6sVyMq\":[\"Add a URL before posting this link.\"],\"6yCv8j\":[\"Save these changes to the text attachment, discard them, or keep editing.\"],\"74kJNs\":[\"View earlier notes in this thread\"],\"7DvUqV\":[\"Read the page from top to bottom without looking at the swatches.\"],\"7aris6\":[\"March 15\"],\"7d1a0d\":[\"Public\"],\"7hYXO0\":[\"Use this on dark backgrounds, image-backed surfaces, and any placement where the green logo would lose contrast.\"],\"7ibPpM\":[\"Add column after\"],\"7kMW54\":[\"Open raw SVG\"],\"7nGhhM\":[\"What's on your mind?\"],\"7vhWI8\":[\"New Password\"],\"87a/t/\":[\"Label\"],\"8Btgys\":[\"Draft deleted.\"],\"8WX0J+\":[\"Your thoughts (optional)\"],\"8ZsakT\":[\"Password\"],\"8bpHix\":[\"Couldn't create your account. Check the details and try again.\"],\"8eC78s\":[\"A calmer accent makes\"],\"8tM8+a\":[\"Save as draft\"],\"90IRF2\":[\"This article is here to answer a specific question: does the default accent still feel calm once it has to carry a full reading experience?\"],\"9SHZas\":[\"Shows 'Settings' when logged in, 'Sign in' when logged out\"],\"9aloPG\":[\"References\"],\"9dr9Nh\":[\"Open external link\"],\"9j5qCS\":[\"Table options\"],\"9qWoxS\":[\"Feed\"],\"A1D8Yt\":[\"What the accent should do\"],\"A1taO8\":[\"Search\"],\"A2Vg/u\":[\"Navigation and reading states\"],\"AjHkcv\":[\"Default preview image for social shares and link unfurls.\"],\"AyHO4m\":[\"What's this collection about?\"],\"B1FFMj\":[\"Download Brand Pack\"],\"B495Gs\":[\"Archive\"],\"BdjLtf\":[\"thread\"],\"Bmaby2\":[\"All formats\"],\"C+9df9\":[\"Quoted or highlighted passages should feel like annotations, not warnings.\"],\"C0/57J\":[\"This is the last part of the collection link.\"],\"C4TjpG\":[\"Read less\"],\"CAh1km\":[\"collections\"],\"CH3bgf\":[\"RSS feed for this view\"],\"CmBCXY\":[\"Link updated.\"],\"D4em/+\":[\"Logos\"],\"DHhJ7s\":[\"Previous\"],\"DJLY+/\":[\" and try again.\"],\"DOx286\":[\"Draft restored.\"],\"DPfwMq\":[\"Done\"],\"DSJXZM\":[\"Enter a valid date.\"],\"DYlMYF\":[\"Built-in background\"],\"DoJzLz\":[\"Collections\"],\"Du2B9f\":[\"The default accent should support reading first. Start by comparing it against the\"],\"DxwUcG\":[\"Read the palette as content first\"],\"E3NcGH\":[\"Square logo PNG\"],\"EEYbdt\":[\"Publish\"],\"EGwzOK\":[\"Complete Setup\"],\"EHWwm1\":[\"The default accent should feel written, not branded.\"],\"EO3I6h\":[\"Upload didn't go through. Try again in a moment.\"],\"EQNPYo\":[\"Featured on \",[\"date\"],\" at \",[\"time\"]],\"EQtz4D\":[\"Open a few links and check whether they still feel native to the page.\"],\"EU3tBD\":[\"Link removed.\"],\"EetoJL\":[\"Guide the eye without taking over the layout.\"],\"Eiv3bO\":[\"Buttons can stay steady, but links, thread markers, and subtle emphasis should feel closer to ink on paper than dashboard chrome.\"],\"ElTnWL\":[\"Published on\"],\"EmQw8O\":[\"If this article still feels like a page you want to keep reading, the palette is probably close.\"],\"EsJdRp\":[\"Save theme\"],\"FESYvt\":[\"Describe this for people with visual impairments...\"],\"FEr96N\":[\"Theme\"],\"FGySZL\":[\"The default accent works best when it reads like a fountain-pen underline. Compare it against the\"],\"FM+KeU\":[\"No drafts yet. Save a draft to find it here.\"],\"Fdv5k7\":[\"What to look for while tuning it\"],\"FkMol5\":[\"Featured\"],\"FqCHF/\":[\"Threads\"],\"Fxf4jq\":[\"Description (optional)\"],\"G2u/aQ\":[\"Download official Jant logos, icons, and preview assets.\"],\"GAohqx\":[\"Delete column\"],\"GBJzTZ\":[\"Archive\"],\"GX2VMa\":[\"Create your admin account.\"],\"GY/1J4\":[\"Jant fallback canary string\"],\"GbIOhd\":[\"Reply quietly\"],\"GiRWtR\":[\"Why the default accent should feel written, not branded\"],\"GkpIs2\":[\"Remove this link from Collections? The destination won't change.\"],\"GorKul\":[\"Welcome to Jant\"],\"GxkJXS\":[\"Uploading...\"],\"H29JXm\":[\"+ ALT\"],\"H4lgRd\":[\"Authentication isn't set up. Check your server config.\"],\"HFPGej\":[\"No threads match these filters. Try adjusting your selection or clear all filters.\"],\"HG79RB\":[\"Post as Private\"],\"HNEHJP\":[\"Demo credentials are pre-filled — hit Sign In to continue.\"],\"HSI88F\":[\"Delete table\"],\"HbAIQc\":[\"A reference link for checking whether the accent feels editorial instead of promotional.\"],\"HrC0ab\":[\"All posts\"],\"Ht1V3q\":[\"For the same reason, inline code should stay neutral. Something like theme.siteAccent = soften(green, 12%) should not suddenly become the loudest thing on the page.\"],\"I22eN0\":[\"Shared links\"],\"I6zLrz\":[\"Use these when you need a transparent square logo, a shaped tile with a built-in background, a browser icon, or a default preview image.\"],\"ICsA6P\":[\"You have unsaved changes\"],\"IUX7p+\":[\"White logo on the Jant green rounded tile for app icon mockups, touch icons, directory listings, and other square placements that should feel softer.\"],\"IagCbF\":[\"URL\"],\"IjnQHI\":[\"with title\"],\"ImOQa9\":[\"Reply\"],\"J+2Rls\":[\"Leave blank to publish now. Use an earlier date when importing older posts.\"],\"J4tAHl\":[\"Headings should keep their hierarchy even when the accent gets softer.\"],\"JYj5R2\":[\"Browse files\"],\"JcD7qf\":[\"More actions\"],\"JqJ5Xv\":[\"Latest\"],\"JuN5GC\":[\"No file selected. Choose a file to upload.\"],\"JwLPQ/\":[\"This sign-in link has expired. Return to \"],\"KOqvXP\":[\"Do not recolor, stretch, rotate, outline, or add effects to the logo.\"],\"KbS2K9\":[\"Reset Password\"],\"KdSsVl\":[\"Author (optional)\"],\"Khu3PV\":[\"Publish settings\"],\"KiJn9B\":[\"Note\"],\"KlZ+t+\":[\"%name% + %count% more\"],\"KsvRin\":[\"Hide from Latest\"],\"KzmC5L\":[\"Controls\"],\"L7svJg\":[\"Reading\"],\"Lbkbwy\":[\"A quote card for judging accent color against softer, citation-heavy content.\"],\"LcvzvX\":[\"Tap to retry\"],\"LkA8jz\":[\"Add alt text\"],\"LxRg6f\":[\"live theme controls\"],\"M4tzVU\":[\"Latest posts\"],\"M8kJqa\":[\"Drafts\"],\"MHrjPM\":[\"Title\"],\"MILa7n\":[\"Square tile\"],\"MRYGql\":[\"Open image URL\"],\"MSc/Yq\":[\"Do you want to publish your changes or discard them?\"],\"MZTcRq\":[\"Image unavailable\"],\"Mc7+6G\":[\"Enter a valid URL starting with http://, https://, or mailto:.\"],\"MdMyne\":[\"Source link (optional)\"],\"MiMY3Q\":[\"Apple touch icon\"],\"MiyoI7\":[\"default note sample\"],\"MqghUt\":[\"Search posts...\"],\"Myqkib\":[\"Create a collection to get started.\"],\"N8UzTV\":[\"Replies\"],\"NAFbuE\":[\"Search snippet\"],\"NH9Z1R\":[\"Start here\"],\"NqsRbb\":[\"Jant logo\"],\"NvXuWk\":[\"Won't move the thread to the top of latest.\"],\"O1367B\":[\"All collections\"],\"O3oNi5\":[\"Email\"],\"OEdMhi\":[\"The best default color is the one you notice only after reading for a while.\"],\"OEt/to\":[\"Guidelines\"],\"OJxdgi\":[\"Keep this link under 200 characters.\"],\"OaoJcz\":[\"Social preview\"],\"OmfDbR\":[\"Site accent\"],\"Ovks1h\":[\"A softer blue feels more like ink than product chrome.\"],\"P/sHNL\":[\"Use this page to judge buttons, links, cards, forms, thread accents, and quiet surfaces before changing a theme globally.\"],\"PBxg/E\":[\"Not now\"],\"Q/uoSA\":[\"Quiet here for now.\"],\"Q2mGA7\":[\"Clear filter\"],\"QBqVyM\":[\"Home screen icon for iPhone and iPad shortcuts.\"],\"QebAts\":[\"Link added.\"],\"Qgbxdw\":[\"Designing a calmer default accent for Jant\"],\"Qn9Ao8\":[\"Circle tile\"],\"Qoq+GP\":[\"Read more\"],\"QyDt3L\":[\"File uploaded.\"],\"R5CMuK\":[\"Jant looks best when the accent feels editorial. Buttons can stay sturdy, but inline emphasis should feel like a pen mark, not a dashboard highlight.\"],\"R8AthW\":[\"Divider\"],\"R9Khdg\":[\"Auto\"],\"RAv3u7\":[\"Compare it against the theme controls\"],\"ROa4Ti\":[\"Interfaces for reading should guide the eye, not keep asking for attention.\"],\"RZOWDv\":[\"Add a custom shortcut to any page or site.\"],\"RdmNnl\":[\"Browser tab\"],\"RfGczC\":[\"Square logo\"],\"Rj01Fz\":[\"Links\"],\"S37om9\":[\"Included assets\"],\"S8NCfs\":[\"Save to drafts to edit and post at a later time.\"],\"SJGVAw\":[\"Feel editorial and slightly quieter.\"],\"SJmfuf\":[\"Site Name\"],\"SSsoa4\":[\"Add to Navigation\"],\"SaNhJE\":[\"feel deliberate instead of washed out.\"],\"SpTWH3\":[\"Download SVG\"],\"SvRuJt\":[\"Field Notes on Interface Tone\"],\"T/R+Qz\":[\"Primary\"],\"TNZKpI\":[\"Danger\"],\"Tn1w2R\":[\"Draft actions\"],\"TvaTxw\":[\"Doesn't appear in Latest. Still appears in collections you add it to.\"],\"UIMXHD\":[\"Remove Divider\"],\"UaZwcz\":[\"More options are available after you create it.\"],\"Uc5y7o\":[\"Choose the standard logo for websites, docs, directories, and editorial layouts.\"],\"V0fyg5\":[\"Collection added to navigation.\"],\"V18SVO\":[\"Use the logo on light backgrounds.\"],\"V4WsyL\":[\"Add Link\"],\"VCA6B2\":[\"These are actual feed components with real footers, summaries, and inline links. Use this section to judge whether the theme still feels calm once it is applied to realistic content.\"],\"VNqFYa\":[\"Loading post...\"],\"WCOanD\":[\"This reference is useful because it treats links and citations as part of the reading rhythm. Keep that in mind while tuning the\"],\"WbIbzR\":[\"Checking link...\"],\"WcWS//\":[\"Download file\"],\"WhsN3P\":[\"A good default accent in Jant should feel like editorial structure, not product branding. That means links, emphasis, and thread cues can be visible without turning the page into UI chrome.\"],\"Wn+/rH\":[\"Transparent square\"],\"XU7b+L\":[\"Primary logo files\"],\"XV1mAn\":[\"Only visible when signed in.\"],\"XrnWzN\":[\"Published!\"],\"Y7WAtz\":[\"有一张图片无法转存到你的媒体库,已保留原链接。\"],\"YIix5Y\":[\"Search...\"],\"YOzD/a\":[\"Replace image\"],\"YUglt2\":[\"Generating a link...\"],\"YXiA6e\":[\"Primary button\"],\"Ygx3Yl\":[\"Small browser icon used in tabs and bookmarks.\"],\"Z4OdvO\":[\"Adding…\"],\"Z6NwTi\":[\"Save as Draft\"],\"ZV5ykW\":[\"Download PNG\"],\"ZhhOwV\":[\"Quote\"],\"ZmSeP+\":[\"Save to drafts?\"],\"ZxFuun\":[[\"count\",\"plural\",{\"one\":[\"Found \",\"#\",\" result\"],\"other\":[\"Found \",\"#\",\" results\"]}]],\"a5j82I\":[\"No collections match that search. Try a different name.\"],\"aBFXGQ\":[\"This collection is empty. Add threads from the editor.\"],\"aHTB7P\":[\"Supplementary content attached to your post\"],\"aMEyv0\":[\"Stay sturdy and readable.\"],\"aN6wx0\":[\"Nothing in Featured yet. Mark a post as featured to show it here.\"],\"aYpXKS\":[\"and checking whether the accent is guiding attention or pulling too hard.\"],\"aaGV/9\":[\"New Link\"],\"af+9p6\":[\"Quiet metadata\"],\"an5hVd\":[\"Images\"],\"ao77hr\":[[\"count\",\"plural\",{\"one\":[\"#\",\" hidden post\"],\"other\":[\"#\",\" hidden posts\"]}]],\"auFlOr\":[\"Icons and previews\"],\"avuFKG\":[\"threads\"],\"b+dane\":[\"Insert %rows% by %cols% table\"],\"bFpC86\":[\"Everything in one download\"],\"bGtMpA\":[\"Add a label and URL.\"],\"bHOiy1\":[\"Password changes are off in demo mode. Sign in with the shared demo credentials.\"],\"bZ9ges\":[\"Add column before\"],\"bbdNeX\":[\"Sign in\"],\"bfCbdi\":[\"Current post\"],\"bkBJmZ\":[\"This is useful as a color check because it puts the accent next to quotation styling, metadata, and a quieter explanatory paragraph. Compare it back to the\"],\"bkMuwo\":[\"Link to posts you've marked as featured.\"],\"bzSI52\":[\"Discard\"],\"c2JRUS\":[\"Generate automatically\"],\"cIoW7X\":[\"Inline link\"],\"cTUByn\":[\"Newest first\"],\"cb7FR8\":[\"White logo on the Jant green square tile for platforms and layouts that expect a true edge-to-edge square.\"],\"cgmi4V\":[\"Delete Draft\"],\"cnGeoo\":[\"Delete\"],\"d+F4pf\":[\"The image should sit quietly inside the article instead of feeling like a card preview.\"],\"d/o/BH\":[\"Couldn't publish. Saved as draft.\"],\"d0DHp4\":[\"Delete this collection permanently? Threads inside won't be removed.\"],\"dD7NPy\":[\"Outline\"],\"dEgA5A\":[\"Cancel\"],\"dHko2w\":[\"single posts\"],\"dUsGbd\":[\"The right accent should disappear into the writing until you need it.\"],\"dXoieq\":[\"Summary\"],\"dYKrp3\":[\"Hidden from Latest\"],\"dbUuAj\":[\"Appears in Latest.\"],\"df4a/r\":[\"Couldn't load this post. Try again.\"],\"ePK91l\":[\"Edit\"],\"eWLklq\":[\"Quotes\"],\"f4MAoA\":[\"Some uploads failed. Saved as draft.\"],\"f5s9EI\":[\"Press N to write\"],\"f6Hub0\":[\"Sort\"],\"f8fH8W\":[\"Design\"],\"fD+f7T\":[\"RSS feed\"],\"fKrDxS\":[\"Brand tile\"],\"fMPkxb\":[\"Show more\"],\"fqDzSu\":[\"Rate\"],\"fttd2R\":[\"My Collection\"],\"fuWzQl\":[\"Nothing here yet. Add threads to one of these collections to fill this view.\"],\"gCcxP/\":[\"Threads can include up to \",[\"count\"],\" posts.\"],\"gFdWl+\":[\"A long-form article sample for checking the default palette in a true reading context.\"],\"gNKz6Z\":[\"Collection deleted.\"],\"gXH9r/\":[\"Open raw PNG\"],\"gpaPhA\":[\"Helps screen readers describe the image\"],\"h5RcXU\":[\"Post hidden\"],\"hLlWo5\":[\"A few simple rules.\"],\"hWpUeY\":[\"Auto link\"],\"hXzOVo\":[\"Next\"],\"heSQoS\":[\"Paste a URL...\"],\"hjeS3W\":[\"Link to your latest posts. Your homepage shows this feed.\"],\"hqeXKW\":[\"Single posts\"],\"hrkGms\":[\"Search\"],\"i0vDGK\":[\"Sort Order\"],\"i5+Y7d\":[\"Download the official Jant logo, icons, and preview files.\"],\"i6kro6\":[\"Edit custom link\"],\"i6nDCI\":[\"Choose a new password.\"],\"iG7KNr\":[\"Logo\"],\"iH8pgl\":[\"Back\"],\"ilSmIt\":[\"Hard edge\"],\"iu7tUI\":[\"Breadcrumb\"],\"jAXE5p\":[\"Reverse logo\"],\"jAqB/k\":[\"Post privately\"],\"jQflRT\":[\"This uses the real single-post detail rendering with a longer article, inline image, tables, lists, quotes, and code. The content column stays at the same width as the live site.\"],\"jd+8Mm\":[\"Social preview image\"],\"jdJOV1\":[\"Settings\"],\"ji7oVU\":[\"Edit post\"],\"jpctdh\":[\"View\"],\"jrsUoG\":[\"Type / for commands\"],\"jvyYZG\":[\"What's on your mind...\"],\"k3Iw35\":[\"Switch to the white logo when the standard green version would lose contrast.\"],\"kPMIr+\":[\"Give it a title...\"],\"kzvWob\":[\"Link to the post archive\"],\"laT1IJ\":[\"iOS home screen\"],\"lb+Xwx\":[\"Custom link\"],\"m16xKo\":[\"Add\"],\"mKT7g0\":[\"Text attachment\"],\"mc/vLq\":[\"This link is already in use. Choose something else.\"],\"muKqfV\":[\"Featured\"],\"n1ekoW\":[\"Sign In\"],\"n3ReIn\":[\"Collections\"],\"n6QD94\":[\"Oldest first\"],\"nFukaP\":[\"Wrong email or password. Check your credentials and try again.\"],\"nJ4U1U\":[\"有 \",[\"count\"],\" 张图片无法转存到你的媒体库,已保留原链接。\"],\"nV6twc\":[\"Organize\"],\"nd8Puv\":[\"White logo on the Jant green circle for profile images, badges, and other round placements where you want a ready-made asset.\"],\"ndrEYW\":[\"When the accent is slightly warmer and less literal, the whole page feels more like a writing space and less like product UI.\"],\"oO0hKx\":[[\"count\",\"plural\",{\"one\":[\"#\",\" more post\"],\"other\":[\"#\",\" more posts\"]}]],\"oTu7Wt\":[\"Combined Collections\"],\"ode0+L\":[\"Theme sample\"],\"ogssnn\":[\"with media\"],\"ovBPCi\":[\"Default\"],\"p1Z67P\":[\"When primary is too rigid, the whole page starts reading like product UI instead of writing space.\"],\"p2/GCq\":[\"Confirm Password\"],\"pB0OKE\":[\"New Divider\"],\"pBHx39\":[\"Dark backgrounds\"],\"pVrU5x\":[\"If this page feels too branded, the first place to soften is the default theme’s site accent, not the border or body text.\"],\"pvnfJD\":[\"Dark\"],\"q+bMmy\":[\"Table controls\"],\"q+hNag\":[\"Collection\"],\"q5YRzz\":[\"Color check\"],\"q8RviX\":[\"Titled\"],\"qc+12k\":[\"Choose table size\"],\"qcawwg\":[\"Publish now\"],\"qiN9NB\":[\"Surface\"],\"qt89I8\":[\"Draft saved.\"],\"quvfGs\":[\"instead of judging it as an isolated swatch.\"],\"r7kcaA\":[\"Drag collections, links, and dividers into the order you want.\"],\"rA2TFI\":[\"Switch the palette and mode without opening settings or changing the active site theme.\"],\"rV8ZnP\":[\"Edit publish date\"],\"rdUucN\":[\"Preview\"],\"s8G5Or\":[\"This upload would exceed your shared hosted media limit. Remove files or upgrade storage to continue.\"],\"s9gHf5\":[\"your-post-link\"],\"sER+bs\":[\"Files\"],\"sQpDn6\":[\"Exit fullscreen\"],\"sgr2wQ\":[\"collection\"],\"slujBW\":[\"Use lowercase letters, numbers, and hyphens only.\"],\"syiAKf\":[\"note treatment\"],\"t42hIC\":[\"Everything most people need is in one ZIP.\"],\"tCctex\":[\"The brand pack includes SVG logos, a transparent square PNG, rounded, square, and circle tiles, plus favicon, Apple touch icon, and the default social preview image.\"],\"tKlWWY\":[\"Emoji\"],\"tSWVu5\":[\"Published on \",[\"date\"],\" at \",[\"time\"]],\"tT/bSk\":[\"Add row above\"],\"tZ1tJc\":[\"Edit Navigation\"],\"tfDRzk\":[\"Save\"],\"tg5MRw\":[\"Sign in to start writing.\"],\"tgSBSE\":[\"Remove Link\"],\"uNPC+z\":[\"Couldn't add this collection to navigation. Try again.\"],\"uowbPn\":[\"Remove attachment\"],\"v3E8iS\":[\"A practical checklist\"],\"vSJd18\":[\"Video\"],\"vSYKYI\":[\"Main feed\"],\"vXCC6J\":[\"Something doesn't look right. Check the form and try again.\"],\"vcpc5o\":[\"Close menu\"],\"vdFnYM\":[\"Reset link\"],\"vdvpU5\":[\"/archive?format=quote or https://example.com\"],\"vgpfCi\":[\"Save draft\"],\"vpSPA1\":[\"Auth secret is missing. Check your environment variables.\"],\"vzU4k9\":[\"New Collection\"],\"w0Emel\":[\"Suggested link\"],\"w6mlns\":[\"Article detail page\"],\"wJ+GRy\":[\"All visibility\"],\"wL3cK8\":[\"Latest\"],\"wja8aL\":[\"Untitled\"],\"wlnK1t\":[\"A single ZIP with the main logo, reverse logo, square PNG, rounded, square, and circle tiles, plus favicon, Apple touch icon, and social preview image.\"],\"wm3Zlr\":[\"All years\"],\"xCWek4\":[\"File storage isn't set up. Check your server config.\"],\"xVrkxi\":[\"quiet design\"],\"xVvw1i\":[\"This reset link is no longer valid. Request a new one to continue.\"],\"xYilR2\":[\"Media\"],\"xeiujy\":[\"Text\"],\"xhTx3y\":[\"Choose the standard logo for most placements and the reverse logo when you need more contrast.\"],\"xjHB3/\":[\"Continue →\"],\"y28hnO\":[\"Post\"],\"y2o/Y0\":[\"This Link Has Expired\"],\"yGZVl1\":[\"More\"],\"yQ2kGp\":[\"Load more\"],\"yUtAh2\":[\"New Thread\"],\"ycM1Xg\":[\"No results. Try different keywords.\"],\"ynMAhG\":[\"Default logo\"],\"yzF66j\":[\"Link\"],\"zBFr9G\":[\"Paste a long article, AI response, or any text...\\n\\nMarkdown formatting will be preserved.\"],\"zJDAbh\":[\"Don't save\"],\"zcDmsG\":[\"Featured posts\"],\"zoK+eO\":[\"Add a title before posting this link.\"],\"zucql+\":[\"Menu\"],\"zwBp5t\":[\"Private\"]}")as Messages;
|
|
1
|
+
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"+4u2g6\":[\"A ready-made 1:1 PNG for decks, mockups, directories, and other square placements.\"],\"+DPYOZ\":[\"Add a link to your main RSS feed. Change what /feed returns in General.\"],\"+G8qqW\":[\"Collection saved.\"],\"+IJm1Z\":[\"Muted\"],\"+Irvp3\":[\"Everything on this page is ready to use for articles, launch posts, directories, and product coverage.\"],\"+Qaboy\":[\"Favicon\"],\"+fWu2O\":[\"A calmer, warmer accent makes the default theme feel quieter and more intentional.\"],\"+jw/c1\":[\"Delete image\"],\"+nHhRH\":[\"Use \",[\"brandColorName\"]],\"+siMqD\":[\"Journal\"],\"/DFKdU\":[\"Type the quote...\"],\"/PfPLc\":[\"Label (optional)\"],\"/PoNoq\":[\"Edit link\"],\"/Ui2OV\":[\"Use the reverse logo on dark backgrounds.\"],\"/Ybds4\":[\"Primary Jant logo for websites, docs, press coverage, and editorial layouts.\"],\"/rTz0M\":[\"Audio\"],\"0EcUWz\":[\"Discard changes?\"],\"0Lj7or\":[\"Save text attachment?\"],\"0Vlj/m\":[\"This post isn’t published.\"],\"0XDp7X\":[\"Links should read clearly without glowing against the page.\"],\"0cspe/\":[\"Delete row\"],\"0ieXE7\":[\"Highest rated\"],\"11h9eK\":[\"Includes\"],\"15++NM\":[\"Inline emphasis\"],\"1DBGsz\":[\"Notes\"],\"1NeeWI\":[\"Square assets for avatars, apps, browsers, and shared links\"],\"1THMr2\":[\"Brand pack\"],\"1njn7W\":[\"Light\"],\"27KTPP\":[\"Draft preview\"],\"2B7HLH\":[\"New post\"],\"2C7mSG\":[\"Collection link\"],\"2ETv7R\":[\"Tune color in a real reading context\"],\"2HbvFp\":[\"Real post components\"],\"2MXb5X\":[\"Field notes on quiet design\"],\"2koDOQ\":[\"Thread accents\"],\"2lKpcz\":[\"Write your first post to get started.\"],\"2q/Q7x\":[\"Visibility\"],\"2sCqzD\":[\"Use this for websites, docs, articles, and other light or neutral surfaces.\"],\"3Cw1AI\":[\"Add Collection\"],\"3lJk5u\":[\"Keep the artwork unchanged.\"],\"3mdteM\":[\"before deciding whether the accent is carrying too much product energy.\"],\"3neqtf\":[\"Thread accent\"],\"3qkggm\":[\"Fullscreen\"],\"3vMdv3\":[\"This link is reserved. Choose something else.\"],\"3wKq0C\":[\"Couldn't save. Try again in a moment.\"],\"3xi01/\":[\"Look at the footer metadata last, to make sure the accent is not fighting the typography.\"],\"47iMgt\":[\"Editorial interfaces worth borrowing from\"],\"4D09NB\":[\"Link to your collections page\"],\"4GQThz\":[\"No collections yet. Start one to organize threads by topic.\"],\"4HLTdq\":[\"without media\"],\"4J/OYU\":[\"Collection created.\"],\"4eiXo+\":[\"Leave blank to generate one automatically.\"],\"4pV0kE\":[\"Avatar-ready\"],\"51EYZX\":[\"without title\"],\"5dcjwM\":[\"Choose today or an earlier date, or leave it blank to publish now.\"],\"5pAjd8\":[\"Accent should feel present, not loud.\"],\"5sEkBi\":[\"Open raw asset\"],\"61i3cO\":[\"Toggle header row\"],\"6QCZMo\":[\"Add row below\"],\"6UTABI\":[\"Collection order updated.\"],\"6WAK+2\":[\"Use current date\"],\"6Y4BBO\":[\"An abstract editorial layout in warm paper colors\"],\"6cjUDB\":[\"Brand assets\"],\"6lGV3K\":[\"Show less\"],\"6p0JeQ\":[\"to make sure both still feel like they belong to the same product.\"],\"6sVyMq\":[\"Add a URL before posting this link.\"],\"6yCv8j\":[\"Save these changes to the text attachment, discard them, or keep editing.\"],\"74kJNs\":[\"View earlier notes in this thread\"],\"7DvUqV\":[\"Read the page from top to bottom without looking at the swatches.\"],\"7aris6\":[\"March 15\"],\"7d1a0d\":[\"Public\"],\"7hYXO0\":[\"Use this on dark backgrounds, image-backed surfaces, and any placement where the green logo would lose contrast.\"],\"7ibPpM\":[\"Add column after\"],\"7kMW54\":[\"Open raw SVG\"],\"7nGhhM\":[\"What's on your mind?\"],\"7vhWI8\":[\"New Password\"],\"87a/t/\":[\"Label\"],\"8Btgys\":[\"Draft deleted.\"],\"8WX0J+\":[\"Your thoughts (optional)\"],\"8ZsakT\":[\"Password\"],\"8bpHix\":[\"Couldn't create your account. Check the details and try again.\"],\"8eC78s\":[\"A calmer accent makes\"],\"8tM8+a\":[\"Save as draft\"],\"90IRF2\":[\"This article is here to answer a specific question: does the default accent still feel calm once it has to carry a full reading experience?\"],\"9SHZas\":[\"Shows 'Settings' when logged in, 'Sign in' when logged out\"],\"9aloPG\":[\"References\"],\"9dr9Nh\":[\"Open external link\"],\"9j5qCS\":[\"Table options\"],\"9qWoxS\":[\"Feed\"],\"A1D8Yt\":[\"What the accent should do\"],\"A1taO8\":[\"Search\"],\"A2Vg/u\":[\"Navigation and reading states\"],\"AjHkcv\":[\"Default preview image for social shares and link unfurls.\"],\"AmQ/h/\":[\"Sort order\"],\"AyHO4m\":[\"What's this collection about?\"],\"B1FFMj\":[\"Download Brand Pack\"],\"B495Gs\":[\"Archive\"],\"BdjLtf\":[\"thread\"],\"Bmaby2\":[\"All formats\"],\"C+9df9\":[\"Quoted or highlighted passages should feel like annotations, not warnings.\"],\"C0/57J\":[\"This is the last part of the collection link.\"],\"C4TjpG\":[\"Read less\"],\"CAh1km\":[\"collections\"],\"CH3bgf\":[\"RSS feed for this view\"],\"CmBCXY\":[\"Link updated.\"],\"D4em/+\":[\"Logos\"],\"DHhJ7s\":[\"Previous\"],\"DJLY+/\":[\" and try again.\"],\"DOx286\":[\"Draft restored.\"],\"DPfwMq\":[\"Done\"],\"DSJXZM\":[\"Enter a valid date.\"],\"DYlMYF\":[\"Built-in background\"],\"DoJzLz\":[\"Collections\"],\"Du2B9f\":[\"The default accent should support reading first. Start by comparing it against the\"],\"DxwUcG\":[\"Read the palette as content first\"],\"E3NcGH\":[\"Square logo PNG\"],\"EEYbdt\":[\"Publish\"],\"EGwzOK\":[\"Complete Setup\"],\"EHWwm1\":[\"The default accent should feel written, not branded.\"],\"EO3I6h\":[\"Upload didn't go through. Try again in a moment.\"],\"EQNPYo\":[\"Featured on \",[\"date\"],\" at \",[\"time\"]],\"EQtz4D\":[\"Open a few links and check whether they still feel native to the page.\"],\"EU3tBD\":[\"Link removed.\"],\"EetoJL\":[\"Guide the eye without taking over the layout.\"],\"Eiv3bO\":[\"Buttons can stay steady, but links, thread markers, and subtle emphasis should feel closer to ink on paper than dashboard chrome.\"],\"ElTnWL\":[\"Published on\"],\"EmQw8O\":[\"If this article still feels like a page you want to keep reading, the palette is probably close.\"],\"EsJdRp\":[\"Save theme\"],\"FESYvt\":[\"Describe this for people with visual impairments...\"],\"FEr96N\":[\"Theme\"],\"FGySZL\":[\"The default accent works best when it reads like a fountain-pen underline. Compare it against the\"],\"FM+KeU\":[\"No drafts yet. Save a draft to find it here.\"],\"Fdv5k7\":[\"What to look for while tuning it\"],\"FkMol5\":[\"Featured\"],\"FqCHF/\":[\"Threads\"],\"Fxf4jq\":[\"Description (optional)\"],\"G2u/aQ\":[\"Download official Jant logos, icons, and preview assets.\"],\"GAohqx\":[\"Delete column\"],\"GBJzTZ\":[\"Archive\"],\"GX2VMa\":[\"Create your admin account.\"],\"GY/1J4\":[\"Jant fallback canary string\"],\"GbIOhd\":[\"Reply quietly\"],\"GiRWtR\":[\"Why the default accent should feel written, not branded\"],\"GkpIs2\":[\"Remove this link from Collections? The destination won't change.\"],\"GorKul\":[\"Welcome to Jant\"],\"GxkJXS\":[\"Uploading...\"],\"H29JXm\":[\"+ ALT\"],\"H4lgRd\":[\"Authentication isn't set up. Check your server config.\"],\"HFPGej\":[\"No threads match these filters. Try adjusting your selection or clear all filters.\"],\"HG79RB\":[\"Post as Private\"],\"HNEHJP\":[\"Demo credentials are pre-filled — hit Sign In to continue.\"],\"HSI88F\":[\"Delete table\"],\"HbAIQc\":[\"A reference link for checking whether the accent feels editorial instead of promotional.\"],\"HrC0ab\":[\"All posts\"],\"Ht1V3q\":[\"For the same reason, inline code should stay neutral. Something like theme.siteAccent = soften(green, 12%) should not suddenly become the loudest thing on the page.\"],\"I22eN0\":[\"Shared links\"],\"I6zLrz\":[\"Use these when you need a transparent square logo, a shaped tile with a built-in background, a browser icon, or a default preview image.\"],\"ICsA6P\":[\"You have unsaved changes\"],\"IUX7p+\":[\"White logo on the Jant green rounded tile for app icon mockups, touch icons, directory listings, and other square placements that should feel softer.\"],\"IagCbF\":[\"URL\"],\"IjnQHI\":[\"with title\"],\"ImOQa9\":[\"Reply\"],\"IvUVJl\":[\"Show as a list with full posts\"],\"J+2Rls\":[\"Leave blank to publish now. Use an earlier date when importing older posts.\"],\"J4tAHl\":[\"Headings should keep their hierarchy even when the accent gets softer.\"],\"JYj5R2\":[\"Browse files\"],\"JcD7qf\":[\"More actions\"],\"JqJ5Xv\":[\"Latest\"],\"JuN5GC\":[\"No file selected. Choose a file to upload.\"],\"JwLPQ/\":[\"This sign-in link has expired. Return to \"],\"KOqvXP\":[\"Do not recolor, stretch, rotate, outline, or add effects to the logo.\"],\"KbS2K9\":[\"Reset Password\"],\"KdSsVl\":[\"Author (optional)\"],\"Khu3PV\":[\"Publish settings\"],\"KiJn9B\":[\"Note\"],\"KlZ+t+\":[\"%name% + %count% more\"],\"KsvRin\":[\"Hide from Latest\"],\"KzmC5L\":[\"Controls\"],\"L7svJg\":[\"Reading\"],\"Lbkbwy\":[\"A quote card for judging accent color against softer, citation-heavy content.\"],\"LcvzvX\":[\"Tap to retry\"],\"LkA8jz\":[\"Add alt text\"],\"LxRg6f\":[\"live theme controls\"],\"M4tzVU\":[\"Latest posts\"],\"M8kJqa\":[\"Drafts\"],\"MHrjPM\":[\"Title\"],\"MILa7n\":[\"Square tile\"],\"MRYGql\":[\"Open image URL\"],\"MSc/Yq\":[\"Do you want to publish your changes or discard them?\"],\"MZTcRq\":[\"Image unavailable\"],\"Mc7+6G\":[\"Enter a valid URL starting with http://, https://, or mailto:.\"],\"MdMyne\":[\"Source link (optional)\"],\"MiMY3Q\":[\"Apple touch icon\"],\"MiyoI7\":[\"default note sample\"],\"MqghUt\":[\"Search posts...\"],\"Myqkib\":[\"Create a collection to get started.\"],\"N8UzTV\":[\"Replies\"],\"NAFbuE\":[\"Search snippet\"],\"NH9Z1R\":[\"Start here\"],\"NqsRbb\":[\"Jant logo\"],\"NvXuWk\":[\"Won't move the thread to the top of latest.\"],\"O1367B\":[\"All collections\"],\"O3oNi5\":[\"Email\"],\"OEdMhi\":[\"The best default color is the one you notice only after reading for a while.\"],\"OEt/to\":[\"Guidelines\"],\"OJxdgi\":[\"Keep this link under 200 characters.\"],\"OaiMaf\":[\"View mode\"],\"OaoJcz\":[\"Social preview\"],\"OmfDbR\":[\"Site accent\"],\"Oo7//P\":[\"Edit draft\"],\"Ovks1h\":[\"A softer blue feels more like ink than product chrome.\"],\"P/sHNL\":[\"Use this page to judge buttons, links, cards, forms, thread accents, and quiet surfaces before changing a theme globally.\"],\"PBxg/E\":[\"Not now\"],\"Q/uoSA\":[\"Quiet here for now.\"],\"Q2mGA7\":[\"Clear filter\"],\"QBqVyM\":[\"Home screen icon for iPhone and iPad shortcuts.\"],\"QOhkyl\":[\"Compose\"],\"QebAts\":[\"Link added.\"],\"Qgbxdw\":[\"Designing a calmer default accent for Jant\"],\"Qn9Ao8\":[\"Circle tile\"],\"Qoq+GP\":[\"Read more\"],\"QyDt3L\":[\"File uploaded.\"],\"R5CMuK\":[\"Jant looks best when the accent feels editorial. Buttons can stay sturdy, but inline emphasis should feel like a pen mark, not a dashboard highlight.\"],\"R8AthW\":[\"Divider\"],\"R9Khdg\":[\"Auto\"],\"RAv3u7\":[\"Compare it against the theme controls\"],\"ROa4Ti\":[\"Interfaces for reading should guide the eye, not keep asking for attention.\"],\"RZOWDv\":[\"Add a custom shortcut to any page or site.\"],\"RdmNnl\":[\"Browser tab\"],\"RfGczC\":[\"Square logo\"],\"Rj01Fz\":[\"Links\"],\"S37om9\":[\"Included assets\"],\"S8NCfs\":[\"Save to drafts to edit and post at a later time.\"],\"SJGVAw\":[\"Feel editorial and slightly quieter.\"],\"SJmfuf\":[\"Site Name\"],\"SSsoa4\":[\"Add to Navigation\"],\"SaNhJE\":[\"feel deliberate instead of washed out.\"],\"SbNisn\":[\"Sort by when each thread was last added to\"],\"SpTWH3\":[\"Download SVG\"],\"SvRuJt\":[\"Field Notes on Interface Tone\"],\"T/R+Qz\":[\"Primary\"],\"TNZKpI\":[\"Danger\"],\"Tn1w2R\":[\"Draft actions\"],\"TvaTxw\":[\"Doesn't appear in Latest. Still appears in collections you add it to.\"],\"UIMXHD\":[\"Remove Divider\"],\"UaZwcz\":[\"More options are available after you create it.\"],\"Uc5y7o\":[\"Choose the standard logo for websites, docs, directories, and editorial layouts.\"],\"V0fyg5\":[\"Collection added to navigation.\"],\"V18SVO\":[\"Use the logo on light backgrounds.\"],\"V4WsyL\":[\"Add Link\"],\"VCA6B2\":[\"These are actual feed components with real footers, summaries, and inline links. Use this section to judge whether the theme still feels calm once it is applied to realistic content.\"],\"VNqFYa\":[\"Loading post...\"],\"WCOanD\":[\"This reference is useful because it treats links and citations as part of the reading rhythm. Keep that in mind while tuning the\"],\"WIF6ui\":[\"Continue writing this draft\"],\"WbIbzR\":[\"Checking link...\"],\"WcWS//\":[\"Download file\"],\"WhsN3P\":[\"A good default accent in Jant should feel like editorial structure, not product branding. That means links, emphasis, and thread cues can be visible without turning the page into UI chrome.\"],\"Wn+/rH\":[\"Transparent square\"],\"XU7b+L\":[\"Primary logo files\"],\"XV1mAn\":[\"Only visible when signed in.\"],\"XrnWzN\":[\"Published!\"],\"Y7WAtz\":[\"有一张图片无法转存到你的媒体库,已保留原链接。\"],\"YIix5Y\":[\"Search...\"],\"YOzD/a\":[\"Replace image\"],\"YUglt2\":[\"Generating a link...\"],\"YXiA6e\":[\"Primary button\"],\"Ygx3Yl\":[\"Small browser icon used in tabs and bookmarks.\"],\"Z4OdvO\":[\"Adding…\"],\"Z6NwTi\":[\"Save as Draft\"],\"ZBH98o\":[\"Show as a grid of tiles\"],\"ZV5ykW\":[\"Download PNG\"],\"ZhhOwV\":[\"Quote\"],\"ZmSeP+\":[\"Save to drafts?\"],\"ZxFuun\":[[\"count\",\"plural\",{\"one\":[\"Found \",\"#\",\" result\"],\"other\":[\"Found \",\"#\",\" results\"]}]],\"a5j82I\":[\"No collections match that search. Try a different name.\"],\"aBFXGQ\":[\"This collection is empty. Add threads from the editor.\"],\"aHTB7P\":[\"Supplementary content attached to your post\"],\"aHd4P7\":[\"Close compose\"],\"aMEyv0\":[\"Stay sturdy and readable.\"],\"aN6wx0\":[\"Nothing in Featured yet. Mark a post as featured to show it here.\"],\"aYpXKS\":[\"and checking whether the accent is guiding attention or pulling too hard.\"],\"aaGV/9\":[\"New Link\"],\"af+9p6\":[\"Quiet metadata\"],\"an5hVd\":[\"Images\"],\"ao77hr\":[[\"count\",\"plural\",{\"one\":[\"#\",\" hidden post\"],\"other\":[\"#\",\" hidden posts\"]}]],\"auFlOr\":[\"Icons and previews\"],\"avuFKG\":[\"threads\"],\"b+dane\":[\"Insert %rows% by %cols% table\"],\"bFpC86\":[\"Everything in one download\"],\"bGtMpA\":[\"Add a label and URL.\"],\"bHOiy1\":[\"Password changes are off in demo mode. Sign in with the shared demo credentials.\"],\"bZ9ges\":[\"Add column before\"],\"bbdNeX\":[\"Sign in\"],\"bfCbdi\":[\"Current post\"],\"bkBJmZ\":[\"This is useful as a color check because it puts the accent next to quotation styling, metadata, and a quieter explanatory paragraph. Compare it back to the\"],\"bkMuwo\":[\"Link to posts you've marked as featured.\"],\"bzSI52\":[\"Discard\"],\"c2JRUS\":[\"Generate automatically\"],\"cH5kXP\":[\"Now\"],\"cIoW7X\":[\"Inline link\"],\"cTUByn\":[\"Newest first\"],\"cb7FR8\":[\"White logo on the Jant green square tile for platforms and layouts that expect a true edge-to-edge square.\"],\"cgmi4V\":[\"Delete Draft\"],\"cnGeoo\":[\"Delete\"],\"d+F4pf\":[\"The image should sit quietly inside the article instead of feeling like a card preview.\"],\"d/o/BH\":[\"Couldn't publish. Saved as draft.\"],\"d0DHp4\":[\"Delete this collection permanently? Threads inside won't be removed.\"],\"dD7NPy\":[\"Outline\"],\"dEgA5A\":[\"Cancel\"],\"dHko2w\":[\"single posts\"],\"dUsGbd\":[\"The right accent should disappear into the writing until you need it.\"],\"dXoieq\":[\"Summary\"],\"dYKrp3\":[\"Hidden from Latest\"],\"dbUuAj\":[\"Appears in Latest.\"],\"df4a/r\":[\"Couldn't load this post. Try again.\"],\"ePK91l\":[\"Edit\"],\"eWLklq\":[\"Quotes\"],\"eYZPF3\":[\"/…\"],\"eneWvv\":[\"Draft\"],\"f4MAoA\":[\"Some uploads failed. Saved as draft.\"],\"f5s9EI\":[\"Press N to write\"],\"f6Hub0\":[\"Sort\"],\"f8fH8W\":[\"Design\"],\"fD+f7T\":[\"RSS feed\"],\"fKrDxS\":[\"Brand tile\"],\"fMPkxb\":[\"Show more\"],\"fqDzSu\":[\"Rate\"],\"fttd2R\":[\"My Collection\"],\"fuWzQl\":[\"Nothing here yet. Add threads to one of these collections to fill this view.\"],\"gCcxP/\":[\"Threads can include up to \",[\"count\"],\" posts.\"],\"gFdWl+\":[\"A long-form article sample for checking the default palette in a true reading context.\"],\"gGx5tM\":[\"Editing\"],\"gNKz6Z\":[\"Collection deleted.\"],\"gXH9r/\":[\"Open raw PNG\"],\"gpaPhA\":[\"Helps screen readers describe the image\"],\"h5RcXU\":[\"Post hidden\"],\"hLlWo5\":[\"A few simple rules.\"],\"hXzOVo\":[\"Next\"],\"heSQoS\":[\"Paste a URL...\"],\"hjeS3W\":[\"Link to your latest posts. Your homepage shows this feed.\"],\"hqeXKW\":[\"Single posts\"],\"hrkGms\":[\"Search\"],\"i0vDGK\":[\"Sort Order\"],\"i5+Y7d\":[\"Download the official Jant logo, icons, and preview files.\"],\"i6kro6\":[\"Edit custom link\"],\"i6nDCI\":[\"Choose a new password.\"],\"iG7KNr\":[\"Logo\"],\"iH8pgl\":[\"Back\"],\"iZYiBK\":[\"newest changes first\"],\"ilSmIt\":[\"Hard edge\"],\"iu7tUI\":[\"Breadcrumb\"],\"jAXE5p\":[\"Reverse logo\"],\"jAqB/k\":[\"Post privately\"],\"jQflRT\":[\"This uses the real single-post detail rendering with a longer article, inline image, tables, lists, quotes, and code. The content column stays at the same width as the live site.\"],\"jd+8Mm\":[\"Social preview image\"],\"jdJOV1\":[\"Settings\"],\"ji7oVU\":[\"Edit post\"],\"jpctdh\":[\"View\"],\"jrsUoG\":[\"Type / for commands\"],\"jvyYZG\":[\"What's on your mind...\"],\"k3Iw35\":[\"Switch to the white logo when the standard green version would lose contrast.\"],\"kNiQp6\":[\"Pinned\"],\"kPMIr+\":[\"Give it a title...\"],\"kzvWob\":[\"Link to the post archive\"],\"laT1IJ\":[\"iOS home screen\"],\"lb+Xwx\":[\"Custom link\"],\"m16xKo\":[\"Add\"],\"mKT7g0\":[\"Text attachment\"],\"mc/vLq\":[\"This link is already in use. Choose something else.\"],\"muKqfV\":[\"Featured\"],\"n1ekoW\":[\"Sign In\"],\"n3ReIn\":[\"Collections\"],\"n6QD94\":[\"Oldest first\"],\"nFukaP\":[\"Wrong email or password. Check your credentials and try again.\"],\"nJ4U1U\":[\"有 \",[\"count\"],\" 张图片无法转存到你的媒体库,已保留原链接。\"],\"nV6twc\":[\"Organize\"],\"nd8Puv\":[\"White logo on the Jant green circle for profile images, badges, and other round placements where you want a ready-made asset.\"],\"ndrEYW\":[\"When the accent is slightly warmer and less literal, the whole page feels more like a writing space and less like product UI.\"],\"oO0hKx\":[[\"count\",\"plural\",{\"one\":[\"#\",\" more post\"],\"other\":[\"#\",\" more posts\"]}]],\"oTu7Wt\":[\"Combined Collections\"],\"ode0+L\":[\"Theme sample\"],\"ogssnn\":[\"with media\"],\"ovBPCi\":[\"Default\"],\"p1Z67P\":[\"When primary is too rigid, the whole page starts reading like product UI instead of writing space.\"],\"p2/GCq\":[\"Confirm Password\"],\"pB0OKE\":[\"New Divider\"],\"pBHx39\":[\"Dark backgrounds\"],\"pKeaoC\":[\"Sort by when each thread was published\"],\"pVrU5x\":[\"If this page feels too branded, the first place to soften is the default theme’s site accent, not the border or body text.\"],\"pvnfJD\":[\"Dark\"],\"q+bMmy\":[\"Table controls\"],\"q+hNag\":[\"Collection\"],\"q5YRzz\":[\"Color check\"],\"q8RviX\":[\"Titled\"],\"qc+12k\":[\"Choose table size\"],\"qiN9NB\":[\"Surface\"],\"qt89I8\":[\"Draft saved.\"],\"quvfGs\":[\"instead of judging it as an isolated swatch.\"],\"r7kcaA\":[\"Drag collections, links, and dividers into the order you want.\"],\"rA2TFI\":[\"Switch the palette and mode without opening settings or changing the active site theme.\"],\"rV8ZnP\":[\"Edit publish date\"],\"rdUucN\":[\"Preview\"],\"s8G5Or\":[\"This upload would exceed your shared hosted media limit. Remove files or upgrade storage to continue.\"],\"s9gHf5\":[\"your-post-link\"],\"sER+bs\":[\"Files\"],\"sQpDn6\":[\"Exit fullscreen\"],\"sgr2wQ\":[\"collection\"],\"slujBW\":[\"Use lowercase letters, numbers, and hyphens only.\"],\"syiAKf\":[\"note treatment\"],\"t42hIC\":[\"Everything most people need is in one ZIP.\"],\"tCctex\":[\"The brand pack includes SVG logos, a transparent square PNG, rounded, square, and circle tiles, plus favicon, Apple touch icon, and the default social preview image.\"],\"tKlWWY\":[\"Emoji\"],\"tSWVu5\":[\"Published on \",[\"date\"],\" at \",[\"time\"]],\"tT/bSk\":[\"Add row above\"],\"tZ1tJc\":[\"Edit Navigation\"],\"tfDRzk\":[\"Save\"],\"tg5MRw\":[\"Sign in to start writing.\"],\"tgSBSE\":[\"Remove Link\"],\"uNPC+z\":[\"Couldn't add this collection to navigation. Try again.\"],\"uowbPn\":[\"Remove attachment\"],\"v3E8iS\":[\"A practical checklist\"],\"vSJd18\":[\"Video\"],\"vSYKYI\":[\"Main feed\"],\"vXCC6J\":[\"Something doesn't look right. Check the form and try again.\"],\"vcpc5o\":[\"Close menu\"],\"vdFnYM\":[\"Reset link\"],\"vdvpU5\":[\"/archive?format=quote or https://example.com\"],\"vgpfCi\":[\"Save draft\"],\"vpSPA1\":[\"Auth secret is missing. Check your environment variables.\"],\"vzU4k9\":[\"New Collection\"],\"w0Emel\":[\"Suggested link\"],\"w1bUkO\":[\"Last edited on \",[\"date\"],\" at \",[\"time\"]],\"w6mlns\":[\"Article detail page\"],\"wJ+GRy\":[\"All visibility\"],\"wL3cK8\":[\"Latest\"],\"wja8aL\":[\"Untitled\"],\"wlnK1t\":[\"A single ZIP with the main logo, reverse logo, square PNG, rounded, square, and circle tiles, plus favicon, Apple touch icon, and social preview image.\"],\"wm3Zlr\":[\"All years\"],\"xCWek4\":[\"File storage isn't set up. Check your server config.\"],\"xVrkxi\":[\"quiet design\"],\"xVvw1i\":[\"This reset link is no longer valid. Request a new one to continue.\"],\"xYilR2\":[\"Media\"],\"xeiujy\":[\"Text\"],\"xhTx3y\":[\"Choose the standard logo for most placements and the reverse logo when you need more contrast.\"],\"xjHB3/\":[\"Continue →\"],\"y28hnO\":[\"Post\"],\"y2o/Y0\":[\"This Link Has Expired\"],\"yGZVl1\":[\"More\"],\"yQ2kGp\":[\"Load more\"],\"ycM1Xg\":[\"No results. Try different keywords.\"],\"ynMAhG\":[\"Default logo\"],\"yzF66j\":[\"Link\"],\"zBFr9G\":[\"Paste a long article, AI response, or any text...\\n\\nMarkdown formatting will be preserved.\"],\"zJDAbh\":[\"Don't save\"],\"zcDmsG\":[\"Featured posts\"],\"zoK+eO\":[\"Add a title before posting this link.\"],\"zucql+\":[\"Menu\"],\"zwBp5t\":[\"Private\"]}")as Messages;
|
|
@@ -38,6 +38,11 @@ msgstr ""
|
|
|
38
38
|
msgid "{count} images couldn't be saved to your library — their original links were kept."
|
|
39
39
|
msgstr "有 {count} 張圖片無法轉存到你的媒體庫,已保留原連結。"
|
|
40
40
|
|
|
41
|
+
#. @context: Value shown on a post's permalink control when the link is generated automatically — a stand-in for the path the server will assign. Sits next to real permalinks rendered as /my-post, so keep the leading slash
|
|
42
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
43
|
+
msgid "/…"
|
|
44
|
+
msgstr ""
|
|
45
|
+
|
|
41
46
|
#. @context: Placeholder for the custom collections link URL
|
|
42
47
|
#: src/ui/shared/collection-management-labels.ts
|
|
43
48
|
msgid "/archive?format=quote or https://example.com"
|
|
@@ -293,11 +298,6 @@ msgstr ""
|
|
|
293
298
|
msgid "Auto"
|
|
294
299
|
msgstr ""
|
|
295
300
|
|
|
296
|
-
#. @context: Compose summary shown near the submit controls when a manual custom link is cleared
|
|
297
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
298
|
-
msgid "Auto link"
|
|
299
|
-
msgstr ""
|
|
300
|
-
|
|
301
301
|
#. @context: Usage label for the circle tile asset card
|
|
302
302
|
#: src/ui/pages/BrandPage.tsx
|
|
303
303
|
msgid "Avatar-ready"
|
|
@@ -416,6 +416,11 @@ msgstr ""
|
|
|
416
416
|
msgid "Clear filter"
|
|
417
417
|
msgstr ""
|
|
418
418
|
|
|
419
|
+
#. @context: Post options row that leaves the composer; prompts to save a draft first if there is unsaved work
|
|
420
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
421
|
+
msgid "Close compose"
|
|
422
|
+
msgstr ""
|
|
423
|
+
|
|
419
424
|
#. @context: Close drawer button label
|
|
420
425
|
#: src/ui/layouts/SiteLayout.tsx
|
|
421
426
|
msgid "Close menu"
|
|
@@ -507,6 +512,11 @@ msgstr ""
|
|
|
507
512
|
msgid "Complete Setup"
|
|
508
513
|
msgstr ""
|
|
509
514
|
|
|
515
|
+
#. @context: Accessible name for the compose dialog
|
|
516
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
517
|
+
msgid "Compose"
|
|
518
|
+
msgstr ""
|
|
519
|
+
|
|
510
520
|
#. @context: Password reset form field
|
|
511
521
|
#: src/routes/auth/reset.tsx
|
|
512
522
|
msgid "Confirm Password"
|
|
@@ -517,6 +527,11 @@ msgstr ""
|
|
|
517
527
|
msgid "Continue →"
|
|
518
528
|
msgstr ""
|
|
519
529
|
|
|
530
|
+
#. @context: Tooltip on the draft badge, which opens the editor
|
|
531
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
532
|
+
msgid "Continue writing this draft"
|
|
533
|
+
msgstr ""
|
|
534
|
+
|
|
520
535
|
#. @context: Controls section heading on sample page
|
|
521
536
|
#: src/ui/pages/ThemeSamplePage.tsx
|
|
522
537
|
msgid "Controls"
|
|
@@ -756,6 +771,11 @@ msgstr ""
|
|
|
756
771
|
msgid "Download the official Jant logo, icons, and preview files."
|
|
757
772
|
msgstr ""
|
|
758
773
|
|
|
774
|
+
#. @context: Post status badge for an unpublished draft, shown to the author only
|
|
775
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
776
|
+
msgid "Draft"
|
|
777
|
+
msgstr ""
|
|
778
|
+
|
|
759
779
|
#. @context: Accessible label for a draft item's more-actions button
|
|
760
780
|
#: src/ui/compose/ComposeDialog.tsx
|
|
761
781
|
msgid "Draft actions"
|
|
@@ -797,11 +817,9 @@ msgstr ""
|
|
|
797
817
|
msgid "Drag collections, links, and dividers into the order you want."
|
|
798
818
|
msgstr ""
|
|
799
819
|
|
|
800
|
-
#. @context: Compose dialog header title when editing a post
|
|
801
820
|
#. @context: Per-collection edit action
|
|
802
821
|
#. @context: Per-collection edit action
|
|
803
822
|
#. @context: Per-collection edit action
|
|
804
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
805
823
|
#: src/ui/pages/CollectionEditorPage.tsx
|
|
806
824
|
#: src/ui/pages/CollectionEditorPage.tsx
|
|
807
825
|
#: src/ui/shared/collection-management-labels.ts
|
|
@@ -813,6 +831,11 @@ msgstr ""
|
|
|
813
831
|
msgid "Edit custom link"
|
|
814
832
|
msgstr ""
|
|
815
833
|
|
|
834
|
+
#. @context: Action in the draft preview status bar that opens the editor
|
|
835
|
+
#: src/ui/shared/DraftPreviewBar.tsx
|
|
836
|
+
msgid "Edit draft"
|
|
837
|
+
msgstr ""
|
|
838
|
+
|
|
816
839
|
#. @context: Button to manually edit the collection link
|
|
817
840
|
#: src/ui/shared/collection-management-labels.ts
|
|
818
841
|
msgid "Edit link"
|
|
@@ -833,6 +856,11 @@ msgstr ""
|
|
|
833
856
|
msgid "Edit publish date"
|
|
834
857
|
msgstr ""
|
|
835
858
|
|
|
859
|
+
#. @context: Marker above the composer when changing a post that is already published
|
|
860
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
861
|
+
msgid "Editing"
|
|
862
|
+
msgstr ""
|
|
863
|
+
|
|
836
864
|
#. @context: Sample link post title on the theme sample page
|
|
837
865
|
#: src/ui/pages/ThemeSamplePage.tsx
|
|
838
866
|
msgid "Editorial interfaces worth borrowing from"
|
|
@@ -1138,6 +1166,11 @@ msgstr ""
|
|
|
1138
1166
|
msgid "Label (optional)"
|
|
1139
1167
|
msgstr ""
|
|
1140
1168
|
|
|
1169
|
+
#. @context: Tooltip text for the timestamp on an unpublished draft
|
|
1170
|
+
#: src/ui/shared/PostFooter.tsx
|
|
1171
|
+
msgid "Last edited on {date} at {time}"
|
|
1172
|
+
msgstr ""
|
|
1173
|
+
|
|
1141
1174
|
#. @context: Active browse tab label on sample page
|
|
1142
1175
|
#. @context: Browser page title for the latest feed
|
|
1143
1176
|
#. @context: Page heading for the latest posts feed
|
|
@@ -1361,9 +1394,9 @@ msgstr ""
|
|
|
1361
1394
|
msgid "New post"
|
|
1362
1395
|
msgstr ""
|
|
1363
1396
|
|
|
1364
|
-
#. @context:
|
|
1365
|
-
#: src/ui/
|
|
1366
|
-
msgid "
|
|
1397
|
+
#. @context: Archive page meta note explaining the active sort order
|
|
1398
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
1399
|
+
msgid "newest changes first"
|
|
1367
1400
|
msgstr ""
|
|
1368
1401
|
|
|
1369
1402
|
#. @context: Collection sort order option
|
|
@@ -1452,6 +1485,11 @@ msgstr ""
|
|
|
1452
1485
|
msgid "Nothing in Featured yet. Mark a post as featured to show it here."
|
|
1453
1486
|
msgstr ""
|
|
1454
1487
|
|
|
1488
|
+
#. @context: Value shown on a post's date control when it will publish at the current time
|
|
1489
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
1490
|
+
msgid "Now"
|
|
1491
|
+
msgstr ""
|
|
1492
|
+
|
|
1455
1493
|
#. @context: Collection sort order option
|
|
1456
1494
|
#. @context: Collection sort order option
|
|
1457
1495
|
#: src/ui/pages/CollectionPage.tsx
|
|
@@ -1529,6 +1567,11 @@ msgstr ""
|
|
|
1529
1567
|
msgid "Paste a URL..."
|
|
1530
1568
|
msgstr ""
|
|
1531
1569
|
|
|
1570
|
+
#. @context: Post status badge for a pinned post
|
|
1571
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
1572
|
+
msgid "Pinned"
|
|
1573
|
+
msgstr ""
|
|
1574
|
+
|
|
1532
1575
|
#. @context: Compose button - publish post
|
|
1533
1576
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1534
1577
|
msgid "Post"
|
|
@@ -1592,7 +1635,9 @@ msgstr ""
|
|
|
1592
1635
|
|
|
1593
1636
|
#. @context: Archive visibility filter - private posts
|
|
1594
1637
|
#. @context: Compose publish settings visibility option
|
|
1638
|
+
#. @context: Post status badge for a private post
|
|
1595
1639
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1640
|
+
#: src/ui/feed/PostStatusBadges.tsx
|
|
1596
1641
|
#: src/ui/pages/ArchivePage.tsx
|
|
1597
1642
|
msgid "Private"
|
|
1598
1643
|
msgstr ""
|
|
@@ -1611,11 +1656,6 @@ msgstr ""
|
|
|
1611
1656
|
msgid "Publish"
|
|
1612
1657
|
msgstr ""
|
|
1613
1658
|
|
|
1614
|
-
#. @context: Compose summary shown near the submit controls when an edited post no longer has a custom publish date
|
|
1615
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
1616
|
-
msgid "Publish now"
|
|
1617
|
-
msgstr ""
|
|
1618
|
-
|
|
1619
1659
|
#. @context: Compose publish settings panel title
|
|
1620
1660
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1621
1661
|
msgid "Publish settings"
|
|
@@ -1746,10 +1786,8 @@ msgstr ""
|
|
|
1746
1786
|
|
|
1747
1787
|
#. @context: Archive tile label for a single thread reply
|
|
1748
1788
|
#. @context: Compose button - reply to post
|
|
1749
|
-
#. @context: Compose dialog header title when replying to a post
|
|
1750
1789
|
#. @context: Reply button label in the post footer
|
|
1751
1790
|
#: src/ui/compose/ComposeDialog.tsx
|
|
1752
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
1753
1791
|
#: src/ui/pages/ArchivePage.tsx
|
|
1754
1792
|
#: src/ui/shared/PostFooter.tsx
|
|
1755
1793
|
msgid "Reply"
|
|
@@ -1883,6 +1921,16 @@ msgstr ""
|
|
|
1883
1921
|
msgid "Shared links"
|
|
1884
1922
|
msgstr ""
|
|
1885
1923
|
|
|
1924
|
+
#. @context: Archive view option - grid
|
|
1925
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
1926
|
+
msgid "Show as a grid of tiles"
|
|
1927
|
+
msgstr ""
|
|
1928
|
+
|
|
1929
|
+
#. @context: Archive view option - list
|
|
1930
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
1931
|
+
msgid "Show as a list with full posts"
|
|
1932
|
+
msgstr ""
|
|
1933
|
+
|
|
1886
1934
|
#. @context: Collapse expanded thread ancestor context in the feed
|
|
1887
1935
|
#. @context: Collapse expanded thread ancestor context in the feed
|
|
1888
1936
|
#. @context: Collapse reply context
|
|
@@ -1984,6 +2032,21 @@ msgstr ""
|
|
|
1984
2032
|
msgid "Sort"
|
|
1985
2033
|
msgstr ""
|
|
1986
2034
|
|
|
2035
|
+
#. @context: Archive sort option - threads that recently gained a post first
|
|
2036
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2037
|
+
msgid "Sort by when each thread was last added to"
|
|
2038
|
+
msgstr ""
|
|
2039
|
+
|
|
2040
|
+
#. @context: Archive sort option - newest published first
|
|
2041
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2042
|
+
msgid "Sort by when each thread was published"
|
|
2043
|
+
msgstr ""
|
|
2044
|
+
|
|
2045
|
+
#. @context: Archive sort toggle group label
|
|
2046
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2047
|
+
msgid "Sort order"
|
|
2048
|
+
msgstr ""
|
|
2049
|
+
|
|
1987
2050
|
#. @context: Collection form field
|
|
1988
2051
|
#: src/ui/shared/collection-management-labels.ts
|
|
1989
2052
|
msgid "Sort Order"
|
|
@@ -2257,11 +2320,9 @@ msgid "Threads can include up to {count} posts."
|
|
|
2257
2320
|
msgstr ""
|
|
2258
2321
|
|
|
2259
2322
|
#. @context: Collection form field
|
|
2260
|
-
#. @context: Compose
|
|
2261
|
-
#. @context: Compose toolbar - title tooltip
|
|
2323
|
+
#. @context: Compose toolbar - show or hide the title field
|
|
2262
2324
|
#. @context: Input label on sample page
|
|
2263
2325
|
#: src/ui/compose/ComposeDialog.tsx
|
|
2264
|
-
#: src/ui/compose/ComposeDialog.tsx
|
|
2265
2326
|
#: src/ui/pages/ThemeSamplePage.tsx
|
|
2266
2327
|
#: src/ui/shared/collection-management-labels.ts
|
|
2267
2328
|
msgid "Title"
|
|
@@ -2306,6 +2367,8 @@ msgstr ""
|
|
|
2306
2367
|
|
|
2307
2368
|
#. @context: Archive filter - notes without a title
|
|
2308
2369
|
#. @context: Archive filter - notes without a title
|
|
2370
|
+
#. @context: Compose note title placeholder. States what the note is while the field is empty rather than asking for a title — untitled notes are a normal kind of note here, and Archive files them under this same word.
|
|
2371
|
+
#: src/ui/compose/ComposeDialog.tsx
|
|
2309
2372
|
#: src/ui/pages/ArchivePage.tsx
|
|
2310
2373
|
#: src/ui/pages/ArchivePage.tsx
|
|
2311
2374
|
msgid "Untitled"
|
|
@@ -2388,6 +2451,11 @@ msgstr ""
|
|
|
2388
2451
|
msgid "View earlier notes in this thread"
|
|
2389
2452
|
msgstr ""
|
|
2390
2453
|
|
|
2454
|
+
#. @context: Archive grid/list toggle group label
|
|
2455
|
+
#: src/ui/pages/ArchivePage.tsx
|
|
2456
|
+
msgid "View mode"
|
|
2457
|
+
msgstr ""
|
|
2458
|
+
|
|
2391
2459
|
#. @context: Compose publish settings section label
|
|
2392
2460
|
#: src/ui/compose/ComposeDialog.tsx
|
|
2393
2461
|
msgid "Visibility"
|