@openrails/contentkit-ui 0.0.0-stage → 0.68.1
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/README.md +470 -2
- package/dist/appearance.d.ts +38 -0
- package/dist/appearance.js +15 -0
- package/dist/appearance.js.map +1 -0
- package/dist/assets/hash.worker-BYfo-7MQ.js.map +1 -0
- package/dist/client/aspect.d.ts +6 -0
- package/dist/client/aspect.js +17 -0
- package/dist/client/aspect.js.map +1 -0
- package/dist/client/client.d.ts +53 -0
- package/dist/client/client.js +36 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/codes.d.ts +12 -0
- package/dist/client/codes.js +19 -0
- package/dist/client/codes.js.map +1 -0
- package/dist/client/content/bans.d.ts +15 -0
- package/dist/client/content/bans.js +40 -0
- package/dist/client/content/bans.js.map +1 -0
- package/dist/client/content/comments.d.ts +36 -0
- package/dist/client/content/comments.js +95 -0
- package/dist/client/content/comments.js.map +1 -0
- package/dist/client/content/favorites.d.ts +14 -0
- package/dist/client/content/favorites.js +42 -0
- package/dist/client/content/favorites.js.map +1 -0
- package/dist/client/content/moderation.d.ts +18 -0
- package/dist/client/content/moderation.js +37 -0
- package/dist/client/content/moderation.js.map +1 -0
- package/dist/client/content/polls.d.ts +47 -0
- package/dist/client/content/polls.js +151 -0
- package/dist/client/content/polls.js.map +1 -0
- package/dist/client/content/posts.d.ts +44 -0
- package/dist/client/content/posts.js +92 -0
- package/dist/client/content/posts.js.map +1 -0
- package/dist/client/content/reactions.d.ts +12 -0
- package/dist/client/content/reactions.js +36 -0
- package/dist/client/content/reactions.js.map +1 -0
- package/dist/client/content/types.d.ts +91 -0
- package/dist/client/content/types.js +8 -0
- package/dist/client/content/types.js.map +1 -0
- package/dist/client/crop.d.ts +32 -0
- package/dist/client/crop.js +103 -0
- package/dist/client/crop.js.map +1 -0
- package/dist/client/errors.d.ts +54 -0
- package/dist/client/errors.js +80 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/gallery.d.ts +43 -0
- package/dist/client/gallery.js +86 -0
- package/dist/client/gallery.js.map +1 -0
- package/dist/client/generated/error-codes.d.ts +5 -0
- package/dist/client/generated/error-codes.js +131 -0
- package/dist/client/generated/error-codes.js.map +1 -0
- package/dist/client/generated/routes.d.ts +1086 -0
- package/dist/client/generated/routes.js +1400 -0
- package/dist/client/generated/routes.js.map +1 -0
- package/dist/client/generated/wire.d.ts +630 -0
- package/dist/client/generated/wire.js +6 -0
- package/dist/client/generated/wire.js.map +1 -0
- package/dist/client/http.d.ts +83 -0
- package/dist/client/http.js +82 -0
- package/dist/client/http.js.map +1 -0
- package/dist/client/image.d.ts +24 -0
- package/dist/client/image.js +65 -0
- package/dist/client/image.js.map +1 -0
- package/dist/client/index.d.ts +33 -0
- package/dist/client/media/api.d.ts +36 -0
- package/dist/client/media/api.js +61 -0
- package/dist/client/media/api.js.map +1 -0
- package/dist/client/media/client.d.ts +247 -0
- package/dist/client/media/client.js +407 -0
- package/dist/client/media/client.js.map +1 -0
- package/dist/client/media/encode.d.ts +3 -0
- package/dist/client/media/encode.js +8 -0
- package/dist/client/media/encode.js.map +1 -0
- package/dist/client/media/hash-stream.d.ts +6 -0
- package/dist/client/media/hash-stream.js +16 -0
- package/dist/client/media/hash-stream.js.map +1 -0
- package/dist/client/media/hash.d.ts +12 -0
- package/dist/client/media/hash.js +48 -0
- package/dist/client/media/hash.js.map +1 -0
- package/dist/client/media/hash.worker-inline.js +18 -0
- package/dist/client/media/hash.worker-inline.js.map +1 -0
- package/dist/client/media/pacer.d.ts +21 -0
- package/dist/client/media/pacer.js +25 -0
- package/dist/client/media/pacer.js.map +1 -0
- package/dist/client/media/queue.d.ts +112 -0
- package/dist/client/media/queue.js +274 -0
- package/dist/client/media/queue.js.map +1 -0
- package/dist/client/media/ref.d.ts +6 -0
- package/dist/client/media/ref.js +10 -0
- package/dist/client/media/ref.js.map +1 -0
- package/dist/client/media/rules.d.ts +54 -0
- package/dist/client/media/rules.js +143 -0
- package/dist/client/media/rules.js.map +1 -0
- package/dist/client/media/transport.d.ts +13 -0
- package/dist/client/media/transport.js +33 -0
- package/dist/client/media/transport.js.map +1 -0
- package/dist/client/media/windows.d.ts +15 -0
- package/dist/client/media/windows.js +39 -0
- package/dist/client/media/windows.js.map +1 -0
- package/dist/client/playback.d.ts +200 -0
- package/dist/client/playback.js +142 -0
- package/dist/client/playback.js.map +1 -0
- package/dist/client/player.d.ts +102 -0
- package/dist/client/player.js +155 -0
- package/dist/client/player.js.map +1 -0
- package/dist/client/public.d.ts +25 -0
- package/dist/client/public.js +18 -0
- package/dist/client/public.js.map +1 -0
- package/dist/client/rendition.d.ts +19 -0
- package/dist/client/rendition.js +16 -0
- package/dist/client/rendition.js.map +1 -0
- package/dist/client/route.d.ts +39 -0
- package/dist/client/route.js +31 -0
- package/dist/client/route.js.map +1 -0
- package/dist/client/taxonomy.d.ts +30 -0
- package/dist/client/taxonomy.js +77 -0
- package/dist/client/taxonomy.js.map +1 -0
- package/dist/client.js +33 -0
- package/dist/components/encode-progress.d.ts +15 -0
- package/dist/components/encode-progress.js +49 -0
- package/dist/components/encode-progress.js.map +1 -0
- package/dist/components/hover-preview.d.ts +29 -0
- package/dist/components/hover-preview.js +49 -0
- package/dist/components/hover-preview.js.map +1 -0
- package/dist/components/image-crop-dialog.d.ts +48 -0
- package/dist/components/image-crop-dialog.js +359 -0
- package/dist/components/image-crop-dialog.js.map +1 -0
- package/dist/components/lazy-mount.d.ts +10 -0
- package/dist/components/lazy-mount.js +22 -0
- package/dist/components/lazy-mount.js.map +1 -0
- package/dist/components/media-folder-editor.d.ts +59 -0
- package/dist/components/media-folder-editor.js +611 -0
- package/dist/components/media-folder-editor.js.map +1 -0
- package/dist/components/media-gallery.d.ts +54 -0
- package/dist/components/media-gallery.js +597 -0
- package/dist/components/media-gallery.js.map +1 -0
- package/dist/components/media-readiness-notice.d.ts +24 -0
- package/dist/components/media-readiness-notice.js +61 -0
- package/dist/components/media-readiness-notice.js.map +1 -0
- package/dist/components/player-controls.d.ts +71 -0
- package/dist/components/player-controls.js +264 -0
- package/dist/components/player-controls.js.map +1 -0
- package/dist/components/progress.d.ts +5 -0
- package/dist/components/progress.js +14 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/rendition-img.d.ts +34 -0
- package/dist/components/rendition-img.js +78 -0
- package/dist/components/rendition-img.js.map +1 -0
- package/dist/components/slot-editor.d.ts +95 -0
- package/dist/components/slot-editor.js +182 -0
- package/dist/components/slot-editor.js.map +1 -0
- package/dist/components/slot-image.d.ts +23 -0
- package/dist/components/slot-image.js +48 -0
- package/dist/components/slot-image.js.map +1 -0
- package/dist/components/slot-upload.d.ts +41 -0
- package/dist/components/slot-upload.js +215 -0
- package/dist/components/slot-upload.js.map +1 -0
- package/dist/components/social/bans.d.ts +42 -0
- package/dist/components/social/bans.js +300 -0
- package/dist/components/social/bans.js.map +1 -0
- package/dist/components/social/comments.d.ts +42 -0
- package/dist/components/social/comments.js +517 -0
- package/dist/components/social/comments.js.map +1 -0
- package/dist/components/social/engagement.d.ts +45 -0
- package/dist/components/social/engagement.js +129 -0
- package/dist/components/social/engagement.js.map +1 -0
- package/dist/components/social/index.d.ts +6 -0
- package/dist/components/social/moderation.d.ts +32 -0
- package/dist/components/social/moderation.js +383 -0
- package/dist/components/social/moderation.js.map +1 -0
- package/dist/components/social/parts.d.ts +50 -0
- package/dist/components/social/parts.js +106 -0
- package/dist/components/social/parts.js.map +1 -0
- package/dist/components/social/poll-editor.d.ts +34 -0
- package/dist/components/social/poll-editor.js +567 -0
- package/dist/components/social/poll-editor.js.map +1 -0
- package/dist/components/social/poll.d.ts +30 -0
- package/dist/components/social/poll.js +252 -0
- package/dist/components/social/poll.js.map +1 -0
- package/dist/components/sortable-list.d.ts +29 -0
- package/dist/components/sortable-list.js +121 -0
- package/dist/components/sortable-list.js.map +1 -0
- package/dist/components/video-mini-player.d.ts +35 -0
- package/dist/components/video-mini-player.js +236 -0
- package/dist/components/video-mini-player.js.map +1 -0
- package/dist/components/video-player.d.ts +146 -0
- package/dist/components/video-player.js +630 -0
- package/dist/components/video-player.js.map +1 -0
- package/dist/components/video-poster-picker.d.ts +59 -0
- package/dist/components/video-poster-picker.js +335 -0
- package/dist/components/video-poster-picker.js.map +1 -0
- package/dist/components/video-poster.d.ts +24 -0
- package/dist/components/video-poster.js +46 -0
- package/dist/components/video-poster.js.map +1 -0
- package/dist/i18n/context.d.ts +4 -0
- package/dist/i18n/context.js +11 -0
- package/dist/i18n/context.js.map +1 -0
- package/dist/i18n/messages.d.ts +40 -0
- package/dist/i18n/messages.js +94 -0
- package/dist/i18n/messages.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +41 -0
- package/dist/locales/de.d.ts +2 -0
- package/dist/locales/de.js +271 -0
- package/dist/locales/de.js.map +1 -0
- package/dist/locales/en.d.ts +457 -0
- package/dist/locales/en.js +271 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/es.d.ts +2 -0
- package/dist/locales/es.js +271 -0
- package/dist/locales/es.js.map +1 -0
- package/dist/locales/ja.d.ts +2 -0
- package/dist/locales/ja.js +271 -0
- package/dist/locales/ja.js.map +1 -0
- package/dist/locales/ko.d.ts +2 -0
- package/dist/locales/ko.js +271 -0
- package/dist/locales/ko.js.map +1 -0
- package/dist/locales/social/de.d.ts +2 -0
- package/dist/locales/social/de.js +198 -0
- package/dist/locales/social/de.js.map +1 -0
- package/dist/locales/social/en.d.ts +195 -0
- package/dist/locales/social/en.js +198 -0
- package/dist/locales/social/en.js.map +1 -0
- package/dist/locales/social/es.d.ts +2 -0
- package/dist/locales/social/es.js +198 -0
- package/dist/locales/social/es.js.map +1 -0
- package/dist/locales/social/ja.d.ts +2 -0
- package/dist/locales/social/ja.js +198 -0
- package/dist/locales/social/ja.js.map +1 -0
- package/dist/locales/social/ko.d.ts +2 -0
- package/dist/locales/social/ko.js +198 -0
- package/dist/locales/social/ko.js.map +1 -0
- package/dist/locales/social/zh.d.ts +2 -0
- package/dist/locales/social/zh.js +198 -0
- package/dist/locales/social/zh.js.map +1 -0
- package/dist/locales/zh.d.ts +2 -0
- package/dist/locales/zh.js +271 -0
- package/dist/locales/zh.js.map +1 -0
- package/dist/provider.d.ts +22 -0
- package/dist/provider.js +59 -0
- package/dist/provider.js.map +1 -0
- package/dist/react/canonical.d.ts +33 -0
- package/dist/react/canonical.js +78 -0
- package/dist/react/canonical.js.map +1 -0
- package/dist/react/comments.d.ts +82 -0
- package/dist/react/comments.js +155 -0
- package/dist/react/comments.js.map +1 -0
- package/dist/react/config.d.ts +13 -0
- package/dist/react/config.js +14 -0
- package/dist/react/config.js.map +1 -0
- package/dist/react/context.d.ts +55 -0
- package/dist/react/context.js +42 -0
- package/dist/react/context.js.map +1 -0
- package/dist/react/crop.d.ts +49 -0
- package/dist/react/crop.js +107 -0
- package/dist/react/crop.js.map +1 -0
- package/dist/react/engagement.d.ts +38 -0
- package/dist/react/engagement.js +88 -0
- package/dist/react/engagement.js.map +1 -0
- package/dist/react/folder.d.ts +103 -0
- package/dist/react/folder.js +240 -0
- package/dist/react/folder.js.map +1 -0
- package/dist/react/gallery.d.ts +140 -0
- package/dist/react/gallery.js +477 -0
- package/dist/react/gallery.js.map +1 -0
- package/dist/react/index.d.ts +21 -0
- package/dist/react/inline-preview.d.ts +24 -0
- package/dist/react/inline-preview.js +76 -0
- package/dist/react/inline-preview.js.map +1 -0
- package/dist/react/player.d.ts +70 -0
- package/dist/react/player.js +214 -0
- package/dist/react/player.js.map +1 -0
- package/dist/react/polls.d.ts +74 -0
- package/dist/react/polls.js +176 -0
- package/dist/react/polls.js.map +1 -0
- package/dist/react/posts.d.ts +59 -0
- package/dist/react/posts.js +149 -0
- package/dist/react/posts.js.map +1 -0
- package/dist/react/provider.d.ts +27 -0
- package/dist/react/provider.js +49 -0
- package/dist/react/provider.js.map +1 -0
- package/dist/react/public.d.ts +39 -0
- package/dist/react/public.js +70 -0
- package/dist/react/public.js.map +1 -0
- package/dist/react/read.d.ts +52 -0
- package/dist/react/read.js +144 -0
- package/dist/react/read.js.map +1 -0
- package/dist/react/resources.d.ts +73 -0
- package/dist/react/resources.js +247 -0
- package/dist/react/resources.js.map +1 -0
- package/dist/react/slot.d.ts +104 -0
- package/dist/react/slot.js +185 -0
- package/dist/react/slot.js.map +1 -0
- package/dist/react/store.d.ts +51 -0
- package/dist/react/store.js +165 -0
- package/dist/react/store.js.map +1 -0
- package/dist/react/upload.d.ts +86 -0
- package/dist/react/upload.js +155 -0
- package/dist/react/upload.js.map +1 -0
- package/dist/react/use-resource.d.ts +44 -0
- package/dist/react/use-resource.js +74 -0
- package/dist/react/use-resource.js.map +1 -0
- package/dist/react/video.d.ts +118 -0
- package/dist/react/video.js +184 -0
- package/dist/react/video.js.map +1 -0
- package/dist/react/viewport.d.ts +19 -0
- package/dist/react/viewport.js +30 -0
- package/dist/react/viewport.js.map +1 -0
- package/dist/react.js +21 -0
- package/dist/scope.d.ts +14 -0
- package/dist/scope.js +30 -0
- package/dist/scope.js.map +1 -0
- package/dist/styles.css +3 -0
- package/dist/ui/alert-dialog.d.ts +18 -0
- package/dist/ui/alert-dialog.js +86 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.d.ts +10 -0
- package/dist/ui/alert.js +38 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/avatar.d.ts +11 -0
- package/dist/ui/avatar.js +31 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.d.ts +7 -0
- package/dist/ui/badge.js +31 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/button.d.ts +8 -0
- package/dist/ui/button.js +46 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/dialog.d.ts +17 -0
- package/dist/ui/dialog.js +91 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/dropdown-menu.d.ts +15 -0
- package/dist/ui/dropdown-menu.js +105 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/input.d.ts +3 -0
- package/dist/ui/input.js +17 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/label.d.ts +3 -0
- package/dist/ui/label.js +15 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/progress.d.ts +7 -0
- package/dist/ui/progress.js +31 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/select.d.ts +15 -0
- package/dist/ui/select.js +98 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/skeleton.d.ts +2 -0
- package/dist/ui/skeleton.js +14 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/slider.d.ts +3 -0
- package/dist/ui/slider.js +35 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/switch.d.ts +5 -0
- package/dist/ui/switch.js +20 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/tabs.d.ts +10 -0
- package/dist/ui/tabs.js +47 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/textarea.d.ts +3 -0
- package/dist/ui/textarea.js +15 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/toggle-group.d.ts +5 -0
- package/dist/ui/toggle-group.js +23 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/urls/index.d.ts +100 -0
- package/dist/urls.js +118 -0
- package/dist/urls.js.map +1 -0
- package/package.json +120 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ko.js","names":[],"sources":["../../../src/locales/social/ko.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n comments: {\n title: \"댓글\",\n count_one: \"댓글 {count}개\",\n count_other: \"댓글 {count}개\",\n placeholder: \"댓글 쓰기…\",\n replyPlaceholder: \"답글 쓰기…\",\n name: \"이름\",\n namePlaceholder: \"댓글과 함께 표시됩니다\",\n post: \"게시\",\n posting: \"게시 중…\",\n reply: \"답글\",\n replyingTo: \"{name}님에게 답글\",\n empty: \"아직 댓글이 없습니다. 첫 댓글을 남겨 보세요!\",\n loadMore: \"댓글 더 보기\",\n loading: \"댓글을 불러오는 중…\",\n loadFailed: \"댓글을 불러오지 못했습니다.\",\n signIn: \"로그인하고 댓글 쓰기\",\n required: \"먼저 내용을 입력하세요.\",\n nameRequired: \"이름을 입력하세요.\",\n charsLeft_one: \"{count}자 남음\",\n charsLeft_other: \"{count}자 남음\",\n submitHint: \"{key}+Enter로 게시\",\n sort: \"댓글 정렬\",\n newest: \"최신순\",\n best: \"인기순\",\n showReplies_one: \"답글 {count}개 보기\",\n showReplies_other: \"답글 {count}개 보기\",\n hideReplies: \"답글 숨기기\",\n moreReplies: \"답글 더 보기\",\n loadingReplies: \"답글을 불러오는 중…\",\n anonymous: \"익명\",\n deleted: \"삭제된 댓글입니다.\",\n edit: \"수정\",\n delete: \"삭제\",\n actions: \"댓글 작업\",\n deleteTitle: \"이 댓글을 삭제할까요?\",\n deleteBody: \"삭제되었다는 표시로 바뀌며, 답글은 남습니다.\",\n held: \"검토 중입니다. 운영자가 승인할 때까지 이 댓글은 나에게만 보입니다.\",\n heldBadge: \"검토 중\",\n rejected: \"게시되지 않음: {reason}\",\n rejectedNoReason: \"게시되지 않았습니다.\",\n rejectedBadge: \"게시 안 됨\",\n like: \"좋아요\",\n dislike: \"싫어요\",\n showMore: \"더 보기\",\n showLess: \"접기\",\n restore: \"복원\",\n locked: \"여기에는 댓글을 쓸 수 없습니다.\",\n rateLimited: \"댓글을 너무 빨리 쓰고 있습니다. {seconds}초 후에 다시 시도하세요.\",\n rateLimitedSoon: \"댓글을 너무 빨리 쓰고 있습니다. 잠시 후 다시 시도하세요.\",\n ban: \"댓글 금지\",\n unban: \"댓글 금지 해제\",\n },\n bans: {\n globalNotice: \"이 사이트에서는 댓글을 쓸 수 없습니다.\",\n ownerNotice: \"이 크리에이터의 콘텐츠에는 댓글을 쓸 수 없습니다.\",\n reason: \"사유: {reason}\",\n until: \"{date}까지.\",\n untilLifted: \"해제될 때까지.\",\n title: \"{name}님의 댓글 금지\",\n ownerHelp: \"내 모든 콘텐츠에 적용됩니다. 기존 댓글은 남고 반응, 즐겨찾기, 투표는 계속할 수 있습니다.\",\n globalHelp: \"사이트 전체에 적용됩니다. 기존 댓글은 남고 반응, 즐겨찾기, 투표는 계속할 수 있습니다.\",\n scope: \"범위\",\n scopeOwner: \"내 콘텐츠\",\n scopeGlobal: \"사이트 전체\",\n duration: \"기간\",\n day: \"1일\",\n week: \"7일\",\n month: \"30일\",\n forever: \"해제할 때까지\",\n custom: \"날짜 지정\",\n endsAt: \"종료\",\n reasonLabel: \"사유(선택)\",\n reasonPlaceholder: \"사용자에게 표시됩니다\",\n save: \"금지\",\n update: \"금지 수정\",\n lift: \"금지 해제\",\n liftTitle: \"{name}님의 금지를 해제할까요?\",\n liftBody: \"다른 금지가 없다면 다시 댓글을 쓸 수 있습니다.\",\n empty: \"금지가 없습니다.\",\n active: \"활성\",\n expired: \"만료됨\",\n bannedAt: \"{date}에 금지됨\",\n add: \"사용자 금지\",\n user: \"사용자 ID\",\n userPlaceholder: \"사용자의 ID\",\n loadFailed: \"금지 목록을 불러오지 못했습니다.\",\n },\n reactions: {\n like: \"좋아요\",\n dislike: \"싫어요\",\n signIn: \"로그인하고 반응하기\",\n failed: \"반응이 저장되지 않았습니다. 다시 시도하세요.\",\n },\n favorites: {\n add: \"즐겨찾기에 추가\",\n remove: \"즐겨찾기에서 삭제\",\n added: \"즐겨찾기에 추가했습니다.\",\n removed: \"즐겨찾기에서 삭제했습니다.\",\n signIn: \"로그인하고 즐겨찾기 저장\",\n },\n poll: {\n votes_one: \"{count}표\",\n votes_other: \"{count}표\",\n yourVote: \"내 투표\",\n closes: \"{date}에 마감\",\n closed: \"마감된 투표입니다.\",\n signIn: \"로그인하고 투표하기\",\n answerPlaceholder: \"내 답변\",\n answer: \"답변 보내기\",\n updateAnswer: \"답변 수정\",\n editAnswer: \"답변 편집\",\n yourAnswer: \"내 답변\",\n answers_one: \"답변 {count}개\",\n answers_other: \"답변 {count}개\",\n loadFailed: \"투표를 불러오지 못했습니다.\",\n },\n pollEditor: {\n newTitle: \"새 투표\",\n editTitle: \"투표 수정\",\n question: \"질문\",\n questionPlaceholder: \"무엇을 물어볼까요?\",\n language: \"언어\",\n kind: \"유형\",\n multipleChoice: \"객관식\",\n freeText: \"주관식\",\n freeTextHelp: \"독자가 답변을 쓰고, 답변은 자동으로 묶입니다.\",\n liveAt: \"게시 시작\",\n closesAt: \"마감(선택)\",\n active: \"공개\",\n inactive: \"비공개\",\n image: \"질문 이미지\",\n options: \"선택지\",\n option: \"선택지 {index}\",\n addOption: \"선택지 추가\",\n newOption: \"새 선택지\",\n removeOption: \"선택지 삭제\",\n removeOptionTitle: \"이 선택지를 삭제할까요?\",\n removeOptionBody: \"해당 표도 삭제됩니다. 투표에는 선택지가 최소 2개 남습니다.\",\n optionImage: \"선택지 {index} 이미지\",\n uploadImage: \"이미지 추가\",\n replaceImage: \"이미지 교체\",\n removeImage: \"이미지 삭제\",\n create: \"투표 만들기\",\n creating: \"만드는 중…\",\n delete: \"투표 삭제\",\n deleteTitle: \"이 투표를 삭제할까요?\",\n deleteBody: \"표와 이미지가 삭제됩니다. 되돌릴 수 없습니다.\",\n saved: \"저장했습니다.\",\n created: \"투표를 만들었습니다.\",\n imageFailed: \"투표는 저장되었지만 이미지 하나가 업로드되지 않았습니다. 여기서 다시 추가하세요.\",\n minOptions: \"투표에는 선택지가 최소 2개 필요합니다.\",\n maxOptions: \"선택지는 최대 {max}개입니다.\",\n questionRequired: \"질문을 입력하세요.\",\n optionRequired: \"모든 선택지에 이름이 필요합니다.\",\n },\n moderation: {\n title: \"댓글 관리\",\n all: \"모든 댓글\",\n queue: \"검토 대기열\",\n bans: \"금지\",\n kind: \"콘텐츠\",\n allKinds: \"모든 콘텐츠\",\n on: \"대상\",\n published: \"게시됨\",\n held: \"보류\",\n rejected: \"거부됨\",\n deleted: \"삭제됨\",\n reply: \"답글\",\n delete: \"삭제\",\n restore: \"복원\",\n approve: \"승인\",\n reject: \"거부\",\n rejectReason: \"작성자에게 보여 줄 사유(선택)\",\n heldBecause: \"보류 사유: {reason}\",\n empty: \"댓글이 없습니다.\",\n queueEmpty: \"검토할 항목이 없습니다.\",\n loadFailed: \"댓글을 불러오지 못했습니다.\",\n stale: \"목록이 표시된 뒤 수정되었습니다. 다시 검토하세요.\",\n loadMore: \"더 보기\",\n queueComments: \"댓글\",\n queuePosts: \"게시물\",\n },\n time: {\n justNow: \"방금\",\n },\n contentErrors: {\n forbidden: \"이 작업을 할 권한이 없습니다.\",\n unauthorized: \"세션이 만료되었습니다. 다시 로그인하세요.\",\n not_found: \"더 이상 사용할 수 없습니다.\",\n conflict: \"다른 곳에서 변경되었습니다. 새로고침 후 다시 시도하세요.\",\n rate_limited: \"요청이 너무 많습니다. {seconds}초 후에 다시 시도하세요.\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,UAAU;EACR,OAAO;EACP,WAAW;EACX,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,MAAM;EACN,iBAAiB;EACjB,MAAM;EACN,SAAS;EACT,OAAO;EACP,YAAY;EACZ,OAAO;EACP,UAAU;EACV,SAAS;EACT,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,MAAM;EACN,QAAQ;EACR,MAAM;EACN,iBAAiB;EACjB,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,SAAS;EACT,MAAM;EACN,QAAQ;EACR,SAAS;EACT,aAAa;EACb,YAAY;EACZ,MAAM;EACN,WAAW;EACX,UAAU;EACV,kBAAkB;EAClB,eAAe;EACf,MAAM;EACN,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,QAAQ;EACR,aAAa;EACb,iBAAiB;EACjB,KAAK;EACL,OAAO;CACT;CACA,MAAM;EACJ,cAAc;EACd,aAAa;EACb,QAAQ;EACR,OAAO;EACP,aAAa;EACb,OAAO;EACP,WAAW;EACX,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,aAAa;EACb,UAAU;EACV,KAAK;EACL,MAAM;EACN,OAAO;EACP,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,aAAa;EACb,mBAAmB;EACnB,MAAM;EACN,QAAQ;EACR,MAAM;EACN,WAAW;EACX,UAAU;EACV,OAAO;EACP,QAAQ;EACR,SAAS;EACT,UAAU;EACV,KAAK;EACL,MAAM;EACN,iBAAiB;EACjB,YAAY;CACd;CACA,WAAW;EACT,MAAM;EACN,SAAS;EACT,QAAQ;EACR,QAAQ;CACV;CACA,WAAW;EACT,KAAK;EACL,QAAQ;EACR,OAAO;EACP,SAAS;EACT,QAAQ;CACV;CACA,MAAM;EACJ,WAAW;EACX,aAAa;EACb,UAAU;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,mBAAmB;EACnB,QAAQ;EACR,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,eAAe;EACf,YAAY;CACd;CACA,YAAY;EACV,UAAU;EACV,WAAW;EACX,UAAU;EACV,qBAAqB;EACrB,UAAU;EACV,MAAM;EACN,gBAAgB;EAChB,UAAU;EACV,cAAc;EACd,QAAQ;EACR,UAAU;EACV,QAAQ;EACR,UAAU;EACV,OAAO;EACP,SAAS;EACT,QAAQ;EACR,WAAW;EACX,WAAW;EACX,cAAc;EACd,mBAAmB;EACnB,kBAAkB;EAClB,aAAa;EACb,aAAa;EACb,cAAc;EACd,aAAa;EACb,QAAQ;EACR,UAAU;EACV,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,OAAO;EACP,SAAS;EACT,aAAa;EACb,YAAY;EACZ,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;CAClB;CACA,YAAY;EACV,OAAO;EACP,KAAK;EACL,OAAO;EACP,MAAM;EACN,MAAM;EACN,UAAU;EACV,IAAI;EACJ,WAAW;EACX,MAAM;EACN,UAAU;EACV,SAAS;EACT,OAAO;EACP,QAAQ;EACR,SAAS;EACT,SAAS;EACT,QAAQ;EACR,cAAc;EACd,aAAa;EACb,OAAO;EACP,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,UAAU;EACV,eAAe;EACf,YAAY;CACd;CACA,MAAM,EACJ,SAAS,KACX;CACA,eAAe;EACb,WAAW;EACX,cAAc;EACd,WAAW;EACX,UAAU;EACV,cAAc;CAChB;AACF"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
//#region src/locales/social/zh.ts
|
|
2
|
+
var e = {
|
|
3
|
+
comments: {
|
|
4
|
+
title: "评论",
|
|
5
|
+
count_one: "{count} 条评论",
|
|
6
|
+
count_other: "{count} 条评论",
|
|
7
|
+
placeholder: "写评论…",
|
|
8
|
+
replyPlaceholder: "写回复…",
|
|
9
|
+
name: "名字",
|
|
10
|
+
namePlaceholder: "将随评论显示",
|
|
11
|
+
post: "发布",
|
|
12
|
+
posting: "发布中…",
|
|
13
|
+
reply: "回复",
|
|
14
|
+
replyingTo: "回复 {name}",
|
|
15
|
+
empty: "还没有评论。来发表第一条吧!",
|
|
16
|
+
loadMore: "显示更多评论",
|
|
17
|
+
loading: "正在加载评论…",
|
|
18
|
+
loadFailed: "无法加载评论。",
|
|
19
|
+
signIn: "登录后评论",
|
|
20
|
+
required: "请先写点内容。",
|
|
21
|
+
nameRequired: "请输入名字。",
|
|
22
|
+
charsLeft_one: "还剩 {count} 个字符",
|
|
23
|
+
charsLeft_other: "还剩 {count} 个字符",
|
|
24
|
+
submitHint: "按 {key}+Enter 发布",
|
|
25
|
+
sort: "评论排序",
|
|
26
|
+
newest: "最新",
|
|
27
|
+
best: "最热",
|
|
28
|
+
showReplies_one: "显示 {count} 条回复",
|
|
29
|
+
showReplies_other: "显示 {count} 条回复",
|
|
30
|
+
hideReplies: "隐藏回复",
|
|
31
|
+
moreReplies: "显示更多回复",
|
|
32
|
+
loadingReplies: "正在加载回复…",
|
|
33
|
+
anonymous: "匿名",
|
|
34
|
+
deleted: "此评论已删除。",
|
|
35
|
+
edit: "编辑",
|
|
36
|
+
delete: "删除",
|
|
37
|
+
actions: "评论操作",
|
|
38
|
+
deleteTitle: "删除这条评论?",
|
|
39
|
+
deleteBody: "它会被替换为已删除的提示,回复会保留。",
|
|
40
|
+
held: "审核中。在管理员批准前,这条评论只有你能看到。",
|
|
41
|
+
heldBadge: "审核中",
|
|
42
|
+
rejected: "未发布:{reason}",
|
|
43
|
+
rejectedNoReason: "未发布。",
|
|
44
|
+
rejectedBadge: "未发布",
|
|
45
|
+
like: "赞",
|
|
46
|
+
dislike: "踩",
|
|
47
|
+
showMore: "展开",
|
|
48
|
+
showLess: "收起",
|
|
49
|
+
restore: "恢复",
|
|
50
|
+
locked: "你不能在这里评论。",
|
|
51
|
+
rateLimited: "你评论得太快了。请在 {seconds} 秒后重试。",
|
|
52
|
+
rateLimitedSoon: "你评论得太快了。请稍后重试。",
|
|
53
|
+
ban: "禁止评论",
|
|
54
|
+
unban: "解除评论禁令"
|
|
55
|
+
},
|
|
56
|
+
bans: {
|
|
57
|
+
globalNotice: "你不能在本站评论。",
|
|
58
|
+
ownerNotice: "你不能评论这位创作者的内容。",
|
|
59
|
+
reason: "原因:{reason}",
|
|
60
|
+
until: "截至 {date}。",
|
|
61
|
+
untilLifted: "直到解除为止。",
|
|
62
|
+
title: "禁止 {name} 评论",
|
|
63
|
+
ownerHelp: "适用于你的所有内容。对方已有的评论会保留,仍可点赞、收藏和投票。",
|
|
64
|
+
globalHelp: "适用于整个网站。对方已有的评论会保留,仍可点赞、收藏和投票。",
|
|
65
|
+
scope: "范围",
|
|
66
|
+
scopeOwner: "我的内容",
|
|
67
|
+
scopeGlobal: "整个网站",
|
|
68
|
+
duration: "时长",
|
|
69
|
+
day: "1 天",
|
|
70
|
+
week: "7 天",
|
|
71
|
+
month: "30 天",
|
|
72
|
+
forever: "直到解除",
|
|
73
|
+
custom: "截至某个日期",
|
|
74
|
+
endsAt: "结束",
|
|
75
|
+
reasonLabel: "原因(可选)",
|
|
76
|
+
reasonPlaceholder: "会显示给该用户",
|
|
77
|
+
save: "禁止",
|
|
78
|
+
update: "更新禁令",
|
|
79
|
+
lift: "解除禁令",
|
|
80
|
+
liftTitle: "解除对 {name} 的禁令?",
|
|
81
|
+
liftBody: "如果没有其他禁令,对方可以再次评论。",
|
|
82
|
+
empty: "没有禁令。",
|
|
83
|
+
active: "生效中",
|
|
84
|
+
expired: "已过期",
|
|
85
|
+
bannedAt: "于 {date} 禁止",
|
|
86
|
+
add: "禁止用户",
|
|
87
|
+
user: "用户 ID",
|
|
88
|
+
userPlaceholder: "该用户的 ID",
|
|
89
|
+
loadFailed: "无法加载禁令。"
|
|
90
|
+
},
|
|
91
|
+
reactions: {
|
|
92
|
+
like: "赞",
|
|
93
|
+
dislike: "踩",
|
|
94
|
+
signIn: "登录后表态",
|
|
95
|
+
failed: "你的表态未保存。请重试。"
|
|
96
|
+
},
|
|
97
|
+
favorites: {
|
|
98
|
+
add: "加入收藏",
|
|
99
|
+
remove: "取消收藏",
|
|
100
|
+
added: "已加入收藏。",
|
|
101
|
+
removed: "已取消收藏。",
|
|
102
|
+
signIn: "登录后收藏"
|
|
103
|
+
},
|
|
104
|
+
poll: {
|
|
105
|
+
votes_one: "{count} 票",
|
|
106
|
+
votes_other: "{count} 票",
|
|
107
|
+
yourVote: "你的投票",
|
|
108
|
+
closes: "{date} 截止",
|
|
109
|
+
closed: "此投票已结束。",
|
|
110
|
+
signIn: "登录后投票",
|
|
111
|
+
answerPlaceholder: "你的回答",
|
|
112
|
+
answer: "提交回答",
|
|
113
|
+
updateAnswer: "更新回答",
|
|
114
|
+
editAnswer: "编辑回答",
|
|
115
|
+
yourAnswer: "你的回答",
|
|
116
|
+
answers_one: "{count} 个回答",
|
|
117
|
+
answers_other: "{count} 个回答",
|
|
118
|
+
loadFailed: "无法加载此投票。"
|
|
119
|
+
},
|
|
120
|
+
pollEditor: {
|
|
121
|
+
newTitle: "新投票",
|
|
122
|
+
editTitle: "编辑投票",
|
|
123
|
+
question: "问题",
|
|
124
|
+
questionPlaceholder: "你想问什么?",
|
|
125
|
+
language: "语言",
|
|
126
|
+
kind: "类型",
|
|
127
|
+
multipleChoice: "选择题",
|
|
128
|
+
freeText: "自由回答",
|
|
129
|
+
freeTextHelp: "读者写下回答,回答会被自动归类。",
|
|
130
|
+
liveAt: "上线时间",
|
|
131
|
+
closesAt: "截止时间(可选)",
|
|
132
|
+
active: "公开可见",
|
|
133
|
+
inactive: "对公众隐藏",
|
|
134
|
+
image: "问题图片",
|
|
135
|
+
options: "选项",
|
|
136
|
+
option: "选项 {index}",
|
|
137
|
+
addOption: "添加选项",
|
|
138
|
+
newOption: "新选项",
|
|
139
|
+
removeOption: "删除选项",
|
|
140
|
+
removeOptionTitle: "删除此选项?",
|
|
141
|
+
removeOptionBody: "它的票数也会被删除。投票至少保留两个选项。",
|
|
142
|
+
optionImage: "选项 {index} 的图片",
|
|
143
|
+
uploadImage: "添加图片",
|
|
144
|
+
replaceImage: "替换图片",
|
|
145
|
+
removeImage: "移除图片",
|
|
146
|
+
create: "创建投票",
|
|
147
|
+
creating: "创建中…",
|
|
148
|
+
delete: "删除投票",
|
|
149
|
+
deleteTitle: "删除此投票?",
|
|
150
|
+
deleteBody: "票数和图片会被删除,且无法撤销。",
|
|
151
|
+
saved: "已保存。",
|
|
152
|
+
created: "投票已创建。",
|
|
153
|
+
imageFailed: "投票已保存,但有一张图片未上传。请在这里重新添加。",
|
|
154
|
+
minOptions: "投票至少需要两个选项。",
|
|
155
|
+
maxOptions: "投票最多有 {max} 个选项。",
|
|
156
|
+
questionRequired: "请填写问题。",
|
|
157
|
+
optionRequired: "每个选项都需要文字。"
|
|
158
|
+
},
|
|
159
|
+
moderation: {
|
|
160
|
+
title: "评论管理",
|
|
161
|
+
all: "全部评论",
|
|
162
|
+
queue: "待审队列",
|
|
163
|
+
bans: "禁令",
|
|
164
|
+
kind: "内容",
|
|
165
|
+
allKinds: "全部内容",
|
|
166
|
+
on: "位于",
|
|
167
|
+
published: "已发布",
|
|
168
|
+
held: "已暂扣",
|
|
169
|
+
rejected: "已拒绝",
|
|
170
|
+
deleted: "已删除",
|
|
171
|
+
reply: "回复",
|
|
172
|
+
delete: "删除",
|
|
173
|
+
restore: "恢复",
|
|
174
|
+
approve: "通过",
|
|
175
|
+
reject: "拒绝",
|
|
176
|
+
rejectReason: "告知作者的原因(可选)",
|
|
177
|
+
heldBecause: "暂扣原因:{reason}",
|
|
178
|
+
empty: "没有评论。",
|
|
179
|
+
queueEmpty: "没有待审内容。",
|
|
180
|
+
loadFailed: "无法加载评论。",
|
|
181
|
+
stale: "列出后内容已被编辑,请重新审核。",
|
|
182
|
+
loadMore: "显示更多",
|
|
183
|
+
queueComments: "评论",
|
|
184
|
+
queuePosts: "文章"
|
|
185
|
+
},
|
|
186
|
+
time: { justNow: "刚刚" },
|
|
187
|
+
contentErrors: {
|
|
188
|
+
forbidden: "你没有执行此操作的权限。",
|
|
189
|
+
unauthorized: "会话已过期。请重新登录。",
|
|
190
|
+
not_found: "此内容已不可用。",
|
|
191
|
+
conflict: "此内容已在别处更改。请刷新后重试。",
|
|
192
|
+
rate_limited: "请求过多。请在 {seconds} 秒后重试。"
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
//#endregion
|
|
196
|
+
export { e as social };
|
|
197
|
+
|
|
198
|
+
//# sourceMappingURL=zh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh.js","names":[],"sources":["../../../src/locales/social/zh.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n comments: {\n title: \"评论\",\n count_one: \"{count} 条评论\",\n count_other: \"{count} 条评论\",\n placeholder: \"写评论…\",\n replyPlaceholder: \"写回复…\",\n name: \"名字\",\n namePlaceholder: \"将随评论显示\",\n post: \"发布\",\n posting: \"发布中…\",\n reply: \"回复\",\n replyingTo: \"回复 {name}\",\n empty: \"还没有评论。来发表第一条吧!\",\n loadMore: \"显示更多评论\",\n loading: \"正在加载评论…\",\n loadFailed: \"无法加载评论。\",\n signIn: \"登录后评论\",\n required: \"请先写点内容。\",\n nameRequired: \"请输入名字。\",\n charsLeft_one: \"还剩 {count} 个字符\",\n charsLeft_other: \"还剩 {count} 个字符\",\n submitHint: \"按 {key}+Enter 发布\",\n sort: \"评论排序\",\n newest: \"最新\",\n best: \"最热\",\n showReplies_one: \"显示 {count} 条回复\",\n showReplies_other: \"显示 {count} 条回复\",\n hideReplies: \"隐藏回复\",\n moreReplies: \"显示更多回复\",\n loadingReplies: \"正在加载回复…\",\n anonymous: \"匿名\",\n deleted: \"此评论已删除。\",\n edit: \"编辑\",\n delete: \"删除\",\n actions: \"评论操作\",\n deleteTitle: \"删除这条评论?\",\n deleteBody: \"它会被替换为已删除的提示,回复会保留。\",\n held: \"审核中。在管理员批准前,这条评论只有你能看到。\",\n heldBadge: \"审核中\",\n rejected: \"未发布:{reason}\",\n rejectedNoReason: \"未发布。\",\n rejectedBadge: \"未发布\",\n like: \"赞\",\n dislike: \"踩\",\n showMore: \"展开\",\n showLess: \"收起\",\n restore: \"恢复\",\n locked: \"你不能在这里评论。\",\n rateLimited: \"你评论得太快了。请在 {seconds} 秒后重试。\",\n rateLimitedSoon: \"你评论得太快了。请稍后重试。\",\n ban: \"禁止评论\",\n unban: \"解除评论禁令\",\n },\n bans: {\n globalNotice: \"你不能在本站评论。\",\n ownerNotice: \"你不能评论这位创作者的内容。\",\n reason: \"原因:{reason}\",\n until: \"截至 {date}。\",\n untilLifted: \"直到解除为止。\",\n title: \"禁止 {name} 评论\",\n ownerHelp: \"适用于你的所有内容。对方已有的评论会保留,仍可点赞、收藏和投票。\",\n globalHelp: \"适用于整个网站。对方已有的评论会保留,仍可点赞、收藏和投票。\",\n scope: \"范围\",\n scopeOwner: \"我的内容\",\n scopeGlobal: \"整个网站\",\n duration: \"时长\",\n day: \"1 天\",\n week: \"7 天\",\n month: \"30 天\",\n forever: \"直到解除\",\n custom: \"截至某个日期\",\n endsAt: \"结束\",\n reasonLabel: \"原因(可选)\",\n reasonPlaceholder: \"会显示给该用户\",\n save: \"禁止\",\n update: \"更新禁令\",\n lift: \"解除禁令\",\n liftTitle: \"解除对 {name} 的禁令?\",\n liftBody: \"如果没有其他禁令,对方可以再次评论。\",\n empty: \"没有禁令。\",\n active: \"生效中\",\n expired: \"已过期\",\n bannedAt: \"于 {date} 禁止\",\n add: \"禁止用户\",\n user: \"用户 ID\",\n userPlaceholder: \"该用户的 ID\",\n loadFailed: \"无法加载禁令。\",\n },\n reactions: {\n like: \"赞\",\n dislike: \"踩\",\n signIn: \"登录后表态\",\n failed: \"你的表态未保存。请重试。\",\n },\n favorites: {\n add: \"加入收藏\",\n remove: \"取消收藏\",\n added: \"已加入收藏。\",\n removed: \"已取消收藏。\",\n signIn: \"登录后收藏\",\n },\n poll: {\n votes_one: \"{count} 票\",\n votes_other: \"{count} 票\",\n yourVote: \"你的投票\",\n closes: \"{date} 截止\",\n closed: \"此投票已结束。\",\n signIn: \"登录后投票\",\n answerPlaceholder: \"你的回答\",\n answer: \"提交回答\",\n updateAnswer: \"更新回答\",\n editAnswer: \"编辑回答\",\n yourAnswer: \"你的回答\",\n answers_one: \"{count} 个回答\",\n answers_other: \"{count} 个回答\",\n loadFailed: \"无法加载此投票。\",\n },\n pollEditor: {\n newTitle: \"新投票\",\n editTitle: \"编辑投票\",\n question: \"问题\",\n questionPlaceholder: \"你想问什么?\",\n language: \"语言\",\n kind: \"类型\",\n multipleChoice: \"选择题\",\n freeText: \"自由回答\",\n freeTextHelp: \"读者写下回答,回答会被自动归类。\",\n liveAt: \"上线时间\",\n closesAt: \"截止时间(可选)\",\n active: \"公开可见\",\n inactive: \"对公众隐藏\",\n image: \"问题图片\",\n options: \"选项\",\n option: \"选项 {index}\",\n addOption: \"添加选项\",\n newOption: \"新选项\",\n removeOption: \"删除选项\",\n removeOptionTitle: \"删除此选项?\",\n removeOptionBody: \"它的票数也会被删除。投票至少保留两个选项。\",\n optionImage: \"选项 {index} 的图片\",\n uploadImage: \"添加图片\",\n replaceImage: \"替换图片\",\n removeImage: \"移除图片\",\n create: \"创建投票\",\n creating: \"创建中…\",\n delete: \"删除投票\",\n deleteTitle: \"删除此投票?\",\n deleteBody: \"票数和图片会被删除,且无法撤销。\",\n saved: \"已保存。\",\n created: \"投票已创建。\",\n imageFailed: \"投票已保存,但有一张图片未上传。请在这里重新添加。\",\n minOptions: \"投票至少需要两个选项。\",\n maxOptions: \"投票最多有 {max} 个选项。\",\n questionRequired: \"请填写问题。\",\n optionRequired: \"每个选项都需要文字。\",\n },\n moderation: {\n title: \"评论管理\",\n all: \"全部评论\",\n queue: \"待审队列\",\n bans: \"禁令\",\n kind: \"内容\",\n allKinds: \"全部内容\",\n on: \"位于\",\n published: \"已发布\",\n held: \"已暂扣\",\n rejected: \"已拒绝\",\n deleted: \"已删除\",\n reply: \"回复\",\n delete: \"删除\",\n restore: \"恢复\",\n approve: \"通过\",\n reject: \"拒绝\",\n rejectReason: \"告知作者的原因(可选)\",\n heldBecause: \"暂扣原因:{reason}\",\n empty: \"没有评论。\",\n queueEmpty: \"没有待审内容。\",\n loadFailed: \"无法加载评论。\",\n stale: \"列出后内容已被编辑,请重新审核。\",\n loadMore: \"显示更多\",\n queueComments: \"评论\",\n queuePosts: \"文章\",\n },\n time: {\n justNow: \"刚刚\",\n },\n contentErrors: {\n forbidden: \"你没有执行此操作的权限。\",\n unauthorized: \"会话已过期。请重新登录。\",\n not_found: \"此内容已不可用。\",\n conflict: \"此内容已在别处更改。请刷新后重试。\",\n rate_limited: \"请求过多。请在 {seconds} 秒后重试。\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,UAAU;EACR,OAAO;EACP,WAAW;EACX,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,MAAM;EACN,iBAAiB;EACjB,MAAM;EACN,SAAS;EACT,OAAO;EACP,YAAY;EACZ,OAAO;EACP,UAAU;EACV,SAAS;EACT,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,MAAM;EACN,QAAQ;EACR,MAAM;EACN,iBAAiB;EACjB,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,SAAS;EACT,MAAM;EACN,QAAQ;EACR,SAAS;EACT,aAAa;EACb,YAAY;EACZ,MAAM;EACN,WAAW;EACX,UAAU;EACV,kBAAkB;EAClB,eAAe;EACf,MAAM;EACN,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,QAAQ;EACR,aAAa;EACb,iBAAiB;EACjB,KAAK;EACL,OAAO;CACT;CACA,MAAM;EACJ,cAAc;EACd,aAAa;EACb,QAAQ;EACR,OAAO;EACP,aAAa;EACb,OAAO;EACP,WAAW;EACX,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,aAAa;EACb,UAAU;EACV,KAAK;EACL,MAAM;EACN,OAAO;EACP,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,aAAa;EACb,mBAAmB;EACnB,MAAM;EACN,QAAQ;EACR,MAAM;EACN,WAAW;EACX,UAAU;EACV,OAAO;EACP,QAAQ;EACR,SAAS;EACT,UAAU;EACV,KAAK;EACL,MAAM;EACN,iBAAiB;EACjB,YAAY;CACd;CACA,WAAW;EACT,MAAM;EACN,SAAS;EACT,QAAQ;EACR,QAAQ;CACV;CACA,WAAW;EACT,KAAK;EACL,QAAQ;EACR,OAAO;EACP,SAAS;EACT,QAAQ;CACV;CACA,MAAM;EACJ,WAAW;EACX,aAAa;EACb,UAAU;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,mBAAmB;EACnB,QAAQ;EACR,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,eAAe;EACf,YAAY;CACd;CACA,YAAY;EACV,UAAU;EACV,WAAW;EACX,UAAU;EACV,qBAAqB;EACrB,UAAU;EACV,MAAM;EACN,gBAAgB;EAChB,UAAU;EACV,cAAc;EACd,QAAQ;EACR,UAAU;EACV,QAAQ;EACR,UAAU;EACV,OAAO;EACP,SAAS;EACT,QAAQ;EACR,WAAW;EACX,WAAW;EACX,cAAc;EACd,mBAAmB;EACnB,kBAAkB;EAClB,aAAa;EACb,aAAa;EACb,cAAc;EACd,aAAa;EACb,QAAQ;EACR,UAAU;EACV,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,OAAO;EACP,SAAS;EACT,aAAa;EACb,YAAY;EACZ,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;CAClB;CACA,YAAY;EACV,OAAO;EACP,KAAK;EACL,OAAO;EACP,MAAM;EACN,MAAM;EACN,UAAU;EACV,IAAI;EACJ,WAAW;EACX,MAAM;EACN,UAAU;EACV,SAAS;EACT,OAAO;EACP,QAAQ;EACR,SAAS;EACT,SAAS;EACT,QAAQ;EACR,cAAc;EACd,aAAa;EACb,OAAO;EACP,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,UAAU;EACV,eAAe;EACf,YAAY;CACd;CACA,MAAM,EACJ,SAAS,KACX;CACA,eAAe;EACb,WAAW;EACX,cAAc;EACd,WAAW;EACX,UAAU;EACV,cAAc;CAChB;AACF"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { social as e } from "./social/zh.js";
|
|
2
|
+
//#region src/locales/zh.ts
|
|
3
|
+
var t = {
|
|
4
|
+
...e,
|
|
5
|
+
common: {
|
|
6
|
+
cancel: "取消",
|
|
7
|
+
close: "关闭",
|
|
8
|
+
save: "保存",
|
|
9
|
+
saving: "正在保存…",
|
|
10
|
+
retry: "重试",
|
|
11
|
+
change: "更换",
|
|
12
|
+
upload: "上传",
|
|
13
|
+
editCrop: "编辑裁剪",
|
|
14
|
+
remove: "移除",
|
|
15
|
+
rename: "重命名",
|
|
16
|
+
replace: "替换"
|
|
17
|
+
},
|
|
18
|
+
crop: {
|
|
19
|
+
title: "裁剪图片",
|
|
20
|
+
avatarTitle: "裁剪头像",
|
|
21
|
+
coverTitle: "裁剪封面",
|
|
22
|
+
description: "拖动调整位置。滚动、双指缩放或使用滑块来缩放。",
|
|
23
|
+
area: "裁剪区域。使用方向键移动图片,按 + 或 − 缩放,按 R 旋转。",
|
|
24
|
+
zoom: "缩放",
|
|
25
|
+
zoomIn: "放大",
|
|
26
|
+
zoomOut: "缩小",
|
|
27
|
+
rotateLeft: "向左旋转",
|
|
28
|
+
rotateRight: "向右旋转",
|
|
29
|
+
reset: "重置",
|
|
30
|
+
undersized: "此裁剪宽 {width} 像素;在高分辨率屏幕上需要 {target} 像素或以上才清晰。",
|
|
31
|
+
tooSmall: "此图片最宽 {width} 像素;至少需要 {min} 像素。请使用更大的图片。",
|
|
32
|
+
shape: "比例",
|
|
33
|
+
original: "原始比例",
|
|
34
|
+
preview: "效果预览",
|
|
35
|
+
size: "{width} × {height} 像素"
|
|
36
|
+
},
|
|
37
|
+
sortable: {
|
|
38
|
+
handle: "调整 {name} 的顺序",
|
|
39
|
+
instructions: "要调整顺序,请按空格键或回车键,用方向键移动,再按空格键或回车键放下。按 Esc 取消。",
|
|
40
|
+
pickedUp: "已拿起 {name},位于第 {position} 位,共 {total} 项。",
|
|
41
|
+
over: "{name} 将移到第 {position} 位,共 {total} 项。",
|
|
42
|
+
dropped: "{name} 已放在第 {position} 位,共 {total} 项。",
|
|
43
|
+
droppedAway: "{name} 已放下。",
|
|
44
|
+
canceled: "已取消移动 {name}。"
|
|
45
|
+
},
|
|
46
|
+
folder: {
|
|
47
|
+
label: "媒体",
|
|
48
|
+
drop: "将文件拖放到此处,或点击选择",
|
|
49
|
+
add: "添加文件",
|
|
50
|
+
commit: "添加 {count} 个",
|
|
51
|
+
commitAgain: "重新添加",
|
|
52
|
+
adding: "正在添加…",
|
|
53
|
+
queued: "等待中",
|
|
54
|
+
uploaded: "已上传",
|
|
55
|
+
processing: "处理中…",
|
|
56
|
+
processingPercent: "处理中 {percent}%",
|
|
57
|
+
edited: "已编辑",
|
|
58
|
+
failed: "未处理",
|
|
59
|
+
failedVideo: "无法播放",
|
|
60
|
+
crop: "裁剪和旋转",
|
|
61
|
+
select: "选择 {name}",
|
|
62
|
+
selected: "已选择 {count} 个",
|
|
63
|
+
removeSelected: "移除所选",
|
|
64
|
+
clearSelection: "取消选择",
|
|
65
|
+
confirmRemove: "要移除 {count} 个文件吗?此操作无法撤销。",
|
|
66
|
+
renameLabel: "{name} 的新名称",
|
|
67
|
+
paused: "上传已暂停",
|
|
68
|
+
resume: "继续",
|
|
69
|
+
dismiss: "关闭",
|
|
70
|
+
limitSize: "{what}最大 {size}",
|
|
71
|
+
limitMax: "最多 {max} 个",
|
|
72
|
+
limitAspect: "视频比例为 {min} 至 {max}",
|
|
73
|
+
kinds: {
|
|
74
|
+
image: "图片",
|
|
75
|
+
video: "视频",
|
|
76
|
+
audio: "音频",
|
|
77
|
+
subtitle: "字幕",
|
|
78
|
+
file: "文件"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
readiness: {
|
|
82
|
+
processing: "正在处理媒体",
|
|
83
|
+
processingHint: "所有文件处理完成后将自动发布。",
|
|
84
|
+
failedOne: "无法处理 {name}",
|
|
85
|
+
failedMany: "无法处理 {count} 个文件:{names}",
|
|
86
|
+
failedHint: "移除这些文件后将自动发布。"
|
|
87
|
+
},
|
|
88
|
+
avatar: {
|
|
89
|
+
label: "头像",
|
|
90
|
+
empty: "暂无头像",
|
|
91
|
+
hint: "正方形图片,至少 {size} 像素。"
|
|
92
|
+
},
|
|
93
|
+
cover: {
|
|
94
|
+
label: "封面图片",
|
|
95
|
+
empty: "暂无封面",
|
|
96
|
+
hint: "横向图片,至少 {width} × {height} 像素。",
|
|
97
|
+
drop: "将图片拖放到此处"
|
|
98
|
+
},
|
|
99
|
+
poster: {
|
|
100
|
+
title: "设置封面",
|
|
101
|
+
description: "从视频中选取一帧,或上传一张图片。封面与视频比例相同。",
|
|
102
|
+
frame: "视频画面",
|
|
103
|
+
upload: "上传图片",
|
|
104
|
+
time: "时间",
|
|
105
|
+
previousFrame: "上一帧",
|
|
106
|
+
nextFrame: "下一帧",
|
|
107
|
+
jumpTo: "跳到 {time}",
|
|
108
|
+
useFrame: "使用此帧",
|
|
109
|
+
crop: "裁剪…",
|
|
110
|
+
cropTitle: "裁剪封面",
|
|
111
|
+
auto: "自动",
|
|
112
|
+
autoHint: "在你选择之前,将使用自动选取的画面。",
|
|
113
|
+
drop: "将图片拖到这里,或点击选择",
|
|
114
|
+
processing: "视频仍在处理中。编码完成后即可选择封面。",
|
|
115
|
+
rendering: "正在生成封面…"
|
|
116
|
+
},
|
|
117
|
+
progress: {
|
|
118
|
+
decoding: "正在打开图片…",
|
|
119
|
+
hashing: "正在准备…",
|
|
120
|
+
uploading: "正在上传… {percent}%",
|
|
121
|
+
completing: "正在完成上传…",
|
|
122
|
+
rendering: "正在生成各尺寸…"
|
|
123
|
+
},
|
|
124
|
+
encode: {
|
|
125
|
+
processing: "正在处理视频",
|
|
126
|
+
queued: "等待处理",
|
|
127
|
+
queuedPosition: "排队中 · 第 {position} 位",
|
|
128
|
+
stalled: "处理已暂停,正在等待服务器…",
|
|
129
|
+
segments: "片段 {done} / {total}",
|
|
130
|
+
higherQualities: "更高画质",
|
|
131
|
+
remainingSeconds: "剩余约 {seconds} 秒",
|
|
132
|
+
remainingMinutes: "剩余约 {minutes} 分钟",
|
|
133
|
+
remainingHours: "剩余约 {hours} 小时 {minutes} 分钟",
|
|
134
|
+
almostDone: "即将完成",
|
|
135
|
+
estimating: "正在估算…",
|
|
136
|
+
phase: {
|
|
137
|
+
queued: "排队中",
|
|
138
|
+
downloading: "准备中",
|
|
139
|
+
probing: "分析中",
|
|
140
|
+
encoding: "编码中",
|
|
141
|
+
muxing: "封装中",
|
|
142
|
+
uploading: "保存中",
|
|
143
|
+
publishing: "发布中",
|
|
144
|
+
images: "正在生成封面"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
gallery: {
|
|
148
|
+
label: "媒体",
|
|
149
|
+
view: "布局",
|
|
150
|
+
carousel: "轮播",
|
|
151
|
+
grid: "网格",
|
|
152
|
+
counter: "{current} / {total}",
|
|
153
|
+
slide: "第 {current} 项,共 {total} 项",
|
|
154
|
+
previous: "上一个",
|
|
155
|
+
next: "下一个",
|
|
156
|
+
goTo: "转到第 {index} 项",
|
|
157
|
+
open: "打开第 {index} 项,共 {total} 项",
|
|
158
|
+
lightbox: "媒体查看器",
|
|
159
|
+
lockedOne: "还有 1 项已锁定",
|
|
160
|
+
lockedMany: "还有 {count} 项已锁定",
|
|
161
|
+
processingImage: "正在处理图片…",
|
|
162
|
+
image: "图片 {index}",
|
|
163
|
+
video: "视频 {index}",
|
|
164
|
+
audio: "音频 {index}",
|
|
165
|
+
processingAudio: "正在处理音频…",
|
|
166
|
+
download: "下载",
|
|
167
|
+
failedAudio: "无法处理此音频。",
|
|
168
|
+
failedImage: "无法处理此图片。"
|
|
169
|
+
},
|
|
170
|
+
player: {
|
|
171
|
+
play: "播放视频",
|
|
172
|
+
loading: "正在加载视频…",
|
|
173
|
+
retry: "重试",
|
|
174
|
+
code: "代码 {code}",
|
|
175
|
+
quality: "画质",
|
|
176
|
+
auto: "自动",
|
|
177
|
+
autoCurrent: "自动({quality})",
|
|
178
|
+
label: "视频播放器",
|
|
179
|
+
resume: "播放",
|
|
180
|
+
pause: "暂停",
|
|
181
|
+
replay: "重新播放",
|
|
182
|
+
seek: "跳转",
|
|
183
|
+
time: "{current} / {duration}",
|
|
184
|
+
seekBack: "后退 {seconds} 秒",
|
|
185
|
+
seekForward: "前进 {seconds} 秒",
|
|
186
|
+
seconds: "{seconds} 秒",
|
|
187
|
+
mute: "静音",
|
|
188
|
+
unmute: "取消静音",
|
|
189
|
+
volume: "音量",
|
|
190
|
+
settings: "设置",
|
|
191
|
+
speed: "播放速度",
|
|
192
|
+
normal: "正常",
|
|
193
|
+
audio: "音轨",
|
|
194
|
+
subtitles: "字幕",
|
|
195
|
+
subtitlesOff: "关闭",
|
|
196
|
+
forced: "{label}(强制)",
|
|
197
|
+
track: "轨道 {number}",
|
|
198
|
+
fullscreen: "全屏",
|
|
199
|
+
exitFullscreen: "退出全屏",
|
|
200
|
+
pip: "画中画",
|
|
201
|
+
exitPip: "退出画中画",
|
|
202
|
+
theater: "影院模式",
|
|
203
|
+
miniPlayer: "迷你播放器",
|
|
204
|
+
expand: "展开",
|
|
205
|
+
close: "关闭",
|
|
206
|
+
failed: "无法处理此视频。",
|
|
207
|
+
errors: {
|
|
208
|
+
network: "无法连接到视频服务器。",
|
|
209
|
+
access: "你已无权访问此视频。",
|
|
210
|
+
not_found: "此视频不可用。",
|
|
211
|
+
rate_limited: "请求过多,请稍后重试。",
|
|
212
|
+
unsupported: "此浏览器无法播放此视频。",
|
|
213
|
+
stalled: "播放已停滞。请检查网络连接后重试。",
|
|
214
|
+
unknown: "目前无法播放此视频。"
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
errors: {
|
|
218
|
+
generic: "我们这边出了问题,请重试。",
|
|
219
|
+
network: "连接已断开,请检查网络后重试。",
|
|
220
|
+
storage: "上传中断,请重试。",
|
|
221
|
+
decode: "无法将此文件作为图片打开。",
|
|
222
|
+
invalid_request: "无法保存图片。",
|
|
223
|
+
unauthorized: "会话已过期,请重新登录后上传。",
|
|
224
|
+
forbidden: "你没有权限更改此图片。",
|
|
225
|
+
not_found: "此项目已不存在。",
|
|
226
|
+
conflict: "图片已在其他地方被更改,请刷新后重试。",
|
|
227
|
+
incomplete: "上传未完成,请重试。",
|
|
228
|
+
not_uploaded: "上传已过期,请重新选择图片。",
|
|
229
|
+
too_large: "文件过大。",
|
|
230
|
+
quota_exceeded: "已达到存储空间上限。",
|
|
231
|
+
type_not_allowed: "此处不支持该文件类型。",
|
|
232
|
+
checksum_mismatch: "上传过程中文件发生了变化,请重试。",
|
|
233
|
+
rate_limited: "上传次数过多,请在 {seconds} 秒后重试。",
|
|
234
|
+
unavailable: "媒体存储暂时不可用,请稍后重试。",
|
|
235
|
+
internal_error: "我们这边出了问题,请重试。",
|
|
236
|
+
allowedTypes: "请使用 {allowed}。",
|
|
237
|
+
tooLargeBy: "此文件为 {size};上限为 {max}。",
|
|
238
|
+
image_too_small: "裁剪后图片宽 {width} 像素;至少需要 {min} 像素。请选择更大的区域或使用更大的图片。",
|
|
239
|
+
image_too_large: "此图片为 {width}×{height} 像素;图片最多 {megapixels} 百万像素。",
|
|
240
|
+
image_unreadable: "此文件不是有效的 {format} 图片。",
|
|
241
|
+
render_timeout: "服务器仍在处理,完成后会显示;请稍后再查看。",
|
|
242
|
+
animation_not_allowed: "此处不允许动图。请上传静态图片。",
|
|
243
|
+
animation_unsupported: "不支持动态 {format} 图片。请使用动态 WebP 或 GIF。",
|
|
244
|
+
animationFrames: "动图最多 {maxFrames} 帧;此图有 {frames} 帧。",
|
|
245
|
+
animationSeconds: "动图最长 {maxSeconds} 秒。",
|
|
246
|
+
animationTooLarge: "此动图过大:{frames} 帧 {width}×{height} 像素。请减少帧数或缩小尺寸。",
|
|
247
|
+
too_many_files: "此项目的文件数已达上限。请先删除一些。",
|
|
248
|
+
animation_too_long: "此动图过长。",
|
|
249
|
+
video_too_long: "此文件时长超出此处允许的范围。",
|
|
250
|
+
video_too_large: "此视频的画面尺寸超出此处允许的范围。",
|
|
251
|
+
videoTooLongBy: "此文件时长 {duration} 秒;此处上限为 {maxSeconds} 秒。",
|
|
252
|
+
videoTooLargeBy: "此视频为 {width}×{height} 像素;视频最多 {megapixels} 百万像素。",
|
|
253
|
+
video_over_budget: "处理此视频耗时过长。请使用更短或更小的视频。",
|
|
254
|
+
video_aspect_unsupported: "此视频过宽或过高,无法在此使用。",
|
|
255
|
+
videoAspectBy: "此视频的比例为 {shape};此处的视频比例须在 {minAspect} 至 {maxAspect} 之间。",
|
|
256
|
+
tooManyFilesBy: "此项目最多可包含 {maxFiles} 个此类文件。请先移除一些。",
|
|
257
|
+
aborted: "已取消。",
|
|
258
|
+
resume_mismatch: "保存的上传属于另一个文件。请重新选择文件。",
|
|
259
|
+
moderation_rejected: "已被审核拒绝。",
|
|
260
|
+
comment_banned: "你无法在此评论。",
|
|
261
|
+
comment_too_long: "评论太长了。",
|
|
262
|
+
commentTooLongBy: "评论最多 {maxChars} 个字符。",
|
|
263
|
+
not_configured: "此网站未提供该功能。",
|
|
264
|
+
tenant_mismatch: "我们这边出了点问题,请重试。",
|
|
265
|
+
gone: "此内容已不可用。"
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
//#endregion
|
|
269
|
+
export { t as zh };
|
|
270
|
+
|
|
271
|
+
//# sourceMappingURL=zh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh.js","names":[],"sources":["../../src/locales/zh.ts"],"sourcesContent":["import type { ContentKitUiMessageBundle } from \"../i18n/messages.js\";\nimport { social } from \"./social/zh.js\";\n\nexport const zh: ContentKitUiMessageBundle = {\n ...social,\n common: {\n cancel: \"取消\",\n close: \"关闭\",\n save: \"保存\",\n saving: \"正在保存…\",\n retry: \"重试\",\n change: \"更换\",\n upload: \"上传\",\n editCrop: \"编辑裁剪\",\n remove: \"移除\",\n rename: \"重命名\",\n replace: \"替换\",\n },\n crop: {\n title: \"裁剪图片\",\n avatarTitle: \"裁剪头像\",\n coverTitle: \"裁剪封面\",\n description: \"拖动调整位置。滚动、双指缩放或使用滑块来缩放。\",\n area: \"裁剪区域。使用方向键移动图片,按 + 或 − 缩放,按 R 旋转。\",\n zoom: \"缩放\",\n zoomIn: \"放大\",\n zoomOut: \"缩小\",\n rotateLeft: \"向左旋转\",\n rotateRight: \"向右旋转\",\n reset: \"重置\",\n undersized: \"此裁剪宽 {width} 像素;在高分辨率屏幕上需要 {target} 像素或以上才清晰。\",\n tooSmall: \"此图片最宽 {width} 像素;至少需要 {min} 像素。请使用更大的图片。\",\n shape: \"比例\",\n original: \"原始比例\",\n preview: \"效果预览\",\n size: \"{width} × {height} 像素\",\n },\n sortable: {\n handle: \"调整 {name} 的顺序\",\n instructions: \"要调整顺序,请按空格键或回车键,用方向键移动,再按空格键或回车键放下。按 Esc 取消。\",\n pickedUp: \"已拿起 {name},位于第 {position} 位,共 {total} 项。\",\n over: \"{name} 将移到第 {position} 位,共 {total} 项。\",\n dropped: \"{name} 已放在第 {position} 位,共 {total} 项。\",\n droppedAway: \"{name} 已放下。\",\n canceled: \"已取消移动 {name}。\",\n },\n folder: {\n label: \"媒体\",\n drop: \"将文件拖放到此处,或点击选择\",\n add: \"添加文件\",\n commit: \"添加 {count} 个\",\n commitAgain: \"重新添加\",\n adding: \"正在添加…\",\n queued: \"等待中\",\n uploaded: \"已上传\",\n processing: \"处理中…\",\n processingPercent: \"处理中 {percent}%\",\n edited: \"已编辑\",\n failed: \"未处理\",\n failedVideo: \"无法播放\",\n crop: \"裁剪和旋转\",\n select: \"选择 {name}\",\n selected: \"已选择 {count} 个\",\n removeSelected: \"移除所选\",\n clearSelection: \"取消选择\",\n confirmRemove: \"要移除 {count} 个文件吗?此操作无法撤销。\",\n renameLabel: \"{name} 的新名称\",\n paused: \"上传已暂停\",\n resume: \"继续\",\n dismiss: \"关闭\",\n limitSize: \"{what}最大 {size}\",\n limitMax: \"最多 {max} 个\",\n limitAspect: \"视频比例为 {min} 至 {max}\",\n kinds: {\n image: \"图片\",\n video: \"视频\",\n audio: \"音频\",\n subtitle: \"字幕\",\n file: \"文件\",\n },\n },\n readiness: {\n processing: \"正在处理媒体\",\n processingHint: \"所有文件处理完成后将自动发布。\",\n failedOne: \"无法处理 {name}\",\n failedMany: \"无法处理 {count} 个文件:{names}\",\n failedHint: \"移除这些文件后将自动发布。\",\n },\n avatar: {\n label: \"头像\",\n empty: \"暂无头像\",\n hint: \"正方形图片,至少 {size} 像素。\",\n },\n cover: {\n label: \"封面图片\",\n empty: \"暂无封面\",\n hint: \"横向图片,至少 {width} × {height} 像素。\",\n drop: \"将图片拖放到此处\",\n },\n poster: {\n title: \"设置封面\",\n description: \"从视频中选取一帧,或上传一张图片。封面与视频比例相同。\",\n frame: \"视频画面\",\n upload: \"上传图片\",\n time: \"时间\",\n previousFrame: \"上一帧\",\n nextFrame: \"下一帧\",\n jumpTo: \"跳到 {time}\",\n useFrame: \"使用此帧\",\n crop: \"裁剪…\",\n cropTitle: \"裁剪封面\",\n auto: \"自动\",\n autoHint: \"在你选择之前,将使用自动选取的画面。\",\n drop: \"将图片拖到这里,或点击选择\",\n processing: \"视频仍在处理中。编码完成后即可选择封面。\",\n rendering: \"正在生成封面…\",\n },\n progress: {\n decoding: \"正在打开图片…\",\n hashing: \"正在准备…\",\n uploading: \"正在上传… {percent}%\",\n completing: \"正在完成上传…\",\n rendering: \"正在生成各尺寸…\",\n },\n encode: {\n processing: \"正在处理视频\",\n queued: \"等待处理\",\n queuedPosition: \"排队中 · 第 {position} 位\",\n stalled: \"处理已暂停,正在等待服务器…\",\n segments: \"片段 {done} / {total}\",\n higherQualities: \"更高画质\",\n remainingSeconds: \"剩余约 {seconds} 秒\",\n remainingMinutes: \"剩余约 {minutes} 分钟\",\n remainingHours: \"剩余约 {hours} 小时 {minutes} 分钟\",\n almostDone: \"即将完成\",\n estimating: \"正在估算…\",\n phase: {\n queued: \"排队中\",\n downloading: \"准备中\",\n probing: \"分析中\",\n encoding: \"编码中\",\n muxing: \"封装中\",\n uploading: \"保存中\",\n publishing: \"发布中\",\n images: \"正在生成封面\",\n },\n },\n gallery: {\n label: \"媒体\",\n view: \"布局\",\n carousel: \"轮播\",\n grid: \"网格\",\n counter: \"{current} / {total}\",\n slide: \"第 {current} 项,共 {total} 项\",\n previous: \"上一个\",\n next: \"下一个\",\n goTo: \"转到第 {index} 项\",\n open: \"打开第 {index} 项,共 {total} 项\",\n lightbox: \"媒体查看器\",\n lockedOne: \"还有 1 项已锁定\",\n lockedMany: \"还有 {count} 项已锁定\",\n processingImage: \"正在处理图片…\",\n image: \"图片 {index}\",\n video: \"视频 {index}\",\n audio: \"音频 {index}\",\n processingAudio: \"正在处理音频…\",\n download: \"下载\",\n failedAudio: \"无法处理此音频。\",\n failedImage: \"无法处理此图片。\",\n },\n player: {\n play: \"播放视频\",\n loading: \"正在加载视频…\",\n retry: \"重试\",\n code: \"代码 {code}\",\n quality: \"画质\",\n auto: \"自动\",\n autoCurrent: \"自动({quality})\",\n label: \"视频播放器\",\n resume: \"播放\",\n pause: \"暂停\",\n replay: \"重新播放\",\n seek: \"跳转\",\n time: \"{current} / {duration}\",\n seekBack: \"后退 {seconds} 秒\",\n seekForward: \"前进 {seconds} 秒\",\n seconds: \"{seconds} 秒\",\n mute: \"静音\",\n unmute: \"取消静音\",\n volume: \"音量\",\n settings: \"设置\",\n speed: \"播放速度\",\n normal: \"正常\",\n audio: \"音轨\",\n subtitles: \"字幕\",\n subtitlesOff: \"关闭\",\n forced: \"{label}(强制)\",\n track: \"轨道 {number}\",\n fullscreen: \"全屏\",\n exitFullscreen: \"退出全屏\",\n pip: \"画中画\",\n exitPip: \"退出画中画\",\n theater: \"影院模式\",\n miniPlayer: \"迷你播放器\",\n expand: \"展开\",\n close: \"关闭\",\n failed: \"无法处理此视频。\",\n errors: {\n network: \"无法连接到视频服务器。\",\n access: \"你已无权访问此视频。\",\n not_found: \"此视频不可用。\",\n rate_limited: \"请求过多,请稍后重试。\",\n unsupported: \"此浏览器无法播放此视频。\",\n stalled: \"播放已停滞。请检查网络连接后重试。\",\n unknown: \"目前无法播放此视频。\",\n },\n },\n errors: {\n generic: \"我们这边出了问题,请重试。\",\n network: \"连接已断开,请检查网络后重试。\",\n storage: \"上传中断,请重试。\",\n decode: \"无法将此文件作为图片打开。\",\n invalid_request: \"无法保存图片。\",\n unauthorized: \"会话已过期,请重新登录后上传。\",\n forbidden: \"你没有权限更改此图片。\",\n not_found: \"此项目已不存在。\",\n conflict: \"图片已在其他地方被更改,请刷新后重试。\",\n incomplete: \"上传未完成,请重试。\",\n not_uploaded: \"上传已过期,请重新选择图片。\",\n too_large: \"文件过大。\",\n quota_exceeded: \"已达到存储空间上限。\",\n type_not_allowed: \"此处不支持该文件类型。\",\n checksum_mismatch: \"上传过程中文件发生了变化,请重试。\",\n rate_limited: \"上传次数过多,请在 {seconds} 秒后重试。\",\n unavailable: \"媒体存储暂时不可用,请稍后重试。\",\n internal_error: \"我们这边出了问题,请重试。\",\n allowedTypes: \"请使用 {allowed}。\",\n tooLargeBy: \"此文件为 {size};上限为 {max}。\",\n image_too_small: \"裁剪后图片宽 {width} 像素;至少需要 {min} 像素。请选择更大的区域或使用更大的图片。\",\n image_too_large: \"此图片为 {width}×{height} 像素;图片最多 {megapixels} 百万像素。\",\n image_unreadable: \"此文件不是有效的 {format} 图片。\",\n render_timeout: \"服务器仍在处理,完成后会显示;请稍后再查看。\",\n animation_not_allowed: \"此处不允许动图。请上传静态图片。\",\n animation_unsupported: \"不支持动态 {format} 图片。请使用动态 WebP 或 GIF。\",\n animationFrames: \"动图最多 {maxFrames} 帧;此图有 {frames} 帧。\",\n animationSeconds: \"动图最长 {maxSeconds} 秒。\",\n animationTooLarge: \"此动图过大:{frames} 帧 {width}×{height} 像素。请减少帧数或缩小尺寸。\",\n too_many_files: \"此项目的文件数已达上限。请先删除一些。\",\n animation_too_long: \"此动图过长。\",\n video_too_long: \"此文件时长超出此处允许的范围。\",\n video_too_large: \"此视频的画面尺寸超出此处允许的范围。\",\n videoTooLongBy: \"此文件时长 {duration} 秒;此处上限为 {maxSeconds} 秒。\",\n videoTooLargeBy: \"此视频为 {width}×{height} 像素;视频最多 {megapixels} 百万像素。\",\n video_over_budget: \"处理此视频耗时过长。请使用更短或更小的视频。\",\n video_aspect_unsupported: \"此视频过宽或过高,无法在此使用。\",\n videoAspectBy: \"此视频的比例为 {shape};此处的视频比例须在 {minAspect} 至 {maxAspect} 之间。\",\n tooManyFilesBy: \"此项目最多可包含 {maxFiles} 个此类文件。请先移除一些。\",\n aborted: \"已取消。\",\n resume_mismatch: \"保存的上传属于另一个文件。请重新选择文件。\",\n moderation_rejected: \"已被审核拒绝。\",\n comment_banned: \"你无法在此评论。\",\n comment_too_long: \"评论太长了。\",\n commentTooLongBy: \"评论最多 {maxChars} 个字符。\",\n not_configured: \"此网站未提供该功能。\",\n tenant_mismatch: \"我们这边出了点问题,请重试。\",\n gone: \"此内容已不可用。\",\n },\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ContentKitUiAppearance } from './appearance.js';
|
|
3
|
+
import { DensityRange } from './client/rendition.js';
|
|
4
|
+
import { ContentKitUiMessageBundle, ContentKitUiTranslate } from './i18n/messages.js';
|
|
5
|
+
/** The built-in bundle's language for a BCP 47 tag ("ja-JP" → "ja"); undefined for English or one we lack. */
|
|
6
|
+
export declare function bundleLanguage(language: string | null | undefined): string | undefined;
|
|
7
|
+
export interface ContentKitUiProviderProps {
|
|
8
|
+
appearance?: ContentKitUiAppearance;
|
|
9
|
+
/** BCP 47 tag; its built-in bundle loads under `messages`. English until it arrives. */
|
|
10
|
+
language?: string;
|
|
11
|
+
/** Bundle(s) layered over English and the language's bundle; later entries win. */
|
|
12
|
+
messages?: ContentKitUiMessageBundle | readonly ContentKitUiMessageBundle[];
|
|
13
|
+
/** Host translation hook, consulted before the bundles. */
|
|
14
|
+
t?: ContentKitUiTranslate;
|
|
15
|
+
/** Device-pixel density range images and covers are picked for. Default [2, 3]. */
|
|
16
|
+
density?: DensityRange;
|
|
17
|
+
/** Playable videos preview muted inline (hover, or in view on touch). Default true. */
|
|
18
|
+
inlinePreview?: boolean;
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/** Look and language for every component below. Renders no DOM; components create their own `.ckui` roots. */
|
|
22
|
+
export declare function ContentKitUiProvider({ appearance, language, messages, t, density, inlinePreview, children }: ContentKitUiProviderProps): import('react').JSX.Element;
|
package/dist/provider.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { DEFAULT_DENSITY as e } from "./client/rendition.js";
|
|
2
|
+
import { InlinePreviewContext as t } from "./react/inline-preview.js";
|
|
3
|
+
import { DensityContext as n } from "./components/rendition-img.js";
|
|
4
|
+
import { createTranslator as r, resolveMessages as i } from "./i18n/messages.js";
|
|
5
|
+
import { MessagesContext as a } from "./i18n/context.js";
|
|
6
|
+
import { AppearanceContext as o } from "./scope.js";
|
|
7
|
+
import { useEffect as s, useMemo as c, useState as l } from "react";
|
|
8
|
+
import { jsx as u } from "react/jsx-runtime";
|
|
9
|
+
//#region src/provider.tsx
|
|
10
|
+
var d = {
|
|
11
|
+
de: () => import("./locales/de.js").then((e) => e.de),
|
|
12
|
+
es: () => import("./locales/es.js").then((e) => e.es),
|
|
13
|
+
ja: () => import("./locales/ja.js").then((e) => e.ja),
|
|
14
|
+
ko: () => import("./locales/ko.js").then((e) => e.ko),
|
|
15
|
+
zh: () => import("./locales/zh.js").then((e) => e.zh)
|
|
16
|
+
};
|
|
17
|
+
function f(e) {
|
|
18
|
+
let t = e?.toLowerCase().split(/[-_]/)[0];
|
|
19
|
+
return t && t in d ? t : void 0;
|
|
20
|
+
}
|
|
21
|
+
function p({ appearance: p, language: m, messages: h, t: g, density: _ = e, inlinePreview: v = !0, children: y }) {
|
|
22
|
+
let b = f(m), [x, S] = l(null);
|
|
23
|
+
s(() => {
|
|
24
|
+
if (!b) return;
|
|
25
|
+
let e = !0;
|
|
26
|
+
return d[b]().then((t) => e && S({
|
|
27
|
+
lang: b,
|
|
28
|
+
bundle: t
|
|
29
|
+
}), () => {}), () => {
|
|
30
|
+
e = !1;
|
|
31
|
+
};
|
|
32
|
+
}, [b]);
|
|
33
|
+
let C = b && x?.lang === b ? x.bundle : void 0, w = c(() => {
|
|
34
|
+
let e = h ? Array.isArray(h) ? h : [h] : [];
|
|
35
|
+
return r(i(C ? [C, ...e] : e), g, m);
|
|
36
|
+
}, [
|
|
37
|
+
C,
|
|
38
|
+
h,
|
|
39
|
+
g,
|
|
40
|
+
m
|
|
41
|
+
]);
|
|
42
|
+
return /* @__PURE__ */ u(o.Provider, {
|
|
43
|
+
value: p,
|
|
44
|
+
children: /* @__PURE__ */ u(a.Provider, {
|
|
45
|
+
value: w,
|
|
46
|
+
children: /* @__PURE__ */ u(n.Provider, {
|
|
47
|
+
value: _,
|
|
48
|
+
children: /* @__PURE__ */ u(t.Provider, {
|
|
49
|
+
value: v,
|
|
50
|
+
children: y
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { p as ContentKitUiProvider, f as bundleLanguage };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=provider.js.map
|