memi-board 0.55.1 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ar-ChyOgoxJ.js → ar-CQhBdHu3.js} +6 -1
- package/dist/ar-CQhBdHu3.js.map +1 -0
- package/dist/{commentImages-Dm5Jv2vB.js → commentImages-DsW2yCqu.js} +15 -10
- package/dist/commentImages-DsW2yCqu.js.map +1 -0
- package/dist/{de-XlC1wNZE.js → de-B4GZqxQj.js} +6 -1
- package/dist/de-B4GZqxQj.js.map +1 -0
- package/dist/{en-XIVIrnU-.js → en-BDkfivhc.js} +6 -1
- package/dist/en-BDkfivhc.js.map +1 -0
- package/dist/{es-DYbCTY9F.js → es-DzFDaLwo.js} +6 -1
- package/dist/es-DzFDaLwo.js.map +1 -0
- package/dist/{fr-C0cdV-Mk.js → fr-Zf5mcs8m.js} +6 -1
- package/dist/fr-Zf5mcs8m.js.map +1 -0
- package/dist/{id-DfP8Pyvn.js → id-CaWN8212.js} +6 -1
- package/dist/id-CaWN8212.js.map +1 -0
- package/dist/index.js +44 -22
- package/dist/index.js.map +1 -1
- package/dist/{ja-DOu3AaTV.js → ja-xDttH9CE.js} +6 -1
- package/dist/ja-xDttH9CE.js.map +1 -0
- package/dist/{pt-CTeIsQdM.js → pt-WIfxYYWQ.js} +6 -1
- package/dist/pt-WIfxYYWQ.js.map +1 -0
- package/dist/runtime/components/BoardInfo.vue +104 -0
- package/dist/runtime/components/BoardInfoPerson.vue +19 -0
- package/dist/runtime/components/List.vue +7 -16
- package/dist/storage.js +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/utils/saveBoardVisibility.d.ts +2 -1
- package/dist/{zh-rDhjLmNl.js → zh-CI6Sd8PD.js} +6 -1
- package/dist/zh-CI6Sd8PD.js.map +1 -0
- package/package.json +1 -1
- package/dist/ar-ChyOgoxJ.js.map +0 -1
- package/dist/commentImages-Dm5Jv2vB.js.map +0 -1
- package/dist/de-XlC1wNZE.js.map +0 -1
- package/dist/en-XIVIrnU-.js.map +0 -1
- package/dist/es-DYbCTY9F.js.map +0 -1
- package/dist/fr-C0cdV-Mk.js.map +0 -1
- package/dist/id-DfP8Pyvn.js.map +0 -1
- package/dist/ja-DOu3AaTV.js.map +0 -1
- package/dist/pt-CTeIsQdM.js.map +0 -1
- package/dist/zh-rDhjLmNl.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en-BDkfivhc.js","names":[],"sources":["../src/i18n/messages/en/attachments.ts","../src/i18n/messages/en/auth.ts","../src/i18n/messages/en/authorMemo.ts","../src/i18n/messages/en/authorMenu.ts","../src/i18n/messages/en/avatarCropModal.ts","../src/i18n/messages/en/boardSettings.ts","../src/i18n/messages/en/boardUsers.ts","../src/i18n/messages/en/commentFeed.ts","../src/i18n/messages/en/commentForm.ts","../src/i18n/messages/en/commentItem.ts","../src/i18n/messages/en/commentList.ts","../src/i18n/messages/en/commentThread.ts","../src/i18n/messages/en/comments.ts","../src/i18n/messages/en/common.ts","../src/i18n/messages/en/detail.ts","../src/i18n/messages/en/editor.ts","../src/i18n/messages/en/footer.ts","../src/i18n/messages/en/likes.ts","../src/i18n/messages/en/list.ts","../src/i18n/messages/en/listViewSwitch.ts","../src/i18n/messages/en/miniComments.ts","../src/i18n/messages/en/miniList.ts","../src/i18n/messages/en/miniPicker.ts","../src/i18n/messages/en/miniPost.ts","../src/i18n/messages/en/moderation.ts","../src/i18n/messages/en/moderationPrompt.ts","../src/i18n/messages/en/moderationStrike.ts","../src/i18n/messages/en/posts.ts","../src/i18n/messages/en/profile.ts","../src/i18n/messages/en/profileEditModal.ts","../src/i18n/messages/en/reportButton.ts","../src/i18n/messages/en/reportList.ts","../src/i18n/messages/en/reports.ts","../src/i18n/messages/en/sectionUtil.ts","../src/i18n/messages/en/sections.ts","../src/i18n/messages/en/seo.ts","../src/i18n/messages/en/settings.ts","../src/i18n/messages/en/shareButton.ts","../src/i18n/messages/en/signIn.ts","../src/i18n/messages/en/storage.ts","../src/i18n/messages/en/swipeHint.ts","../src/i18n/messages/en/userCommentList.ts","../src/i18n/messages/en/userPostList.ts","../src/i18n/messages/en/users.ts","../src/i18n/messages/en/writingAssistant.ts","../src/i18n/messages/en/index.ts"],"sourcesContent":["export default {\n attach: 'Attach files ({count} / {max})',\n dropOrClick: 'Drop files or click to add',\n uploading: 'Uploading files…',\n maxFiles: 'You can attach up to {max} files.',\n}\n","export default {\n writeRestricted: 'Posting and commenting are temporarily restricted due to repeated content warnings.',\n writeRestrictedUntil: 'Posting and commenting are temporarily restricted due to repeated content warnings. ({until})',\n strikeSuffix: ' (Warning {count}/{threshold})',\n strikeRestrictedUntil: ' You have reached {count} warnings, so posting and commenting are restricted ({until}).',\n strikeRestricted: ' You have reached {count} warnings, so posting and commenting are restricted.',\n notInitialized: '[memi-board] Firebase Auth is not initialized.',\n}\n","export default {\n tooLong: 'Memos can be up to {max} characters.',\n}\n","export default {\n viewProfile: 'View profile',\n viewPosts: 'View posts',\n viewComments: 'View comments',\n memoAriaLabel: 'Note about this author',\n memoTitle: 'Private note',\n memoPlaceholder: 'Jot something down about this author…',\n bad: 'Bad',\n good: 'Good',\n}\n","export default {\n title: 'Crop profile photo',\n description: 'Shown as a square (1:1). Adjust the area to fit.',\n hint: 'Drag to move and zoom · Saved as a {size}×{size} square JPEG',\n confirm: 'Crop and upload',\n}\n","export default {\n signInRequired: 'Please sign in.',\n idAndNameRequired: 'Please enter a board ID and name.',\n deleteIdRequired: 'A board ID is required to delete.',\n nameRequired: 'Please enter a board name.',\n}\n","export default {\n unsupportedRole: 'Unsupported role.',\n roleDescription: {\n owner: 'Manages administrators and the entire service.',\n manager: 'Manages settings and staff assignments for assigned boards.',\n admin: 'Manages user roles, board settings, and all content.',\n staff: 'Manages posts and comments in assigned boards, but cannot change settings or assignments.',\n user: 'Can write posts and comments, and edit or delete only their own content.',\n },\n}\n","export default {\n empty: 'No comments yet.',\n emptyLiked: 'No liked comments yet.',\n loadFailed: 'Couldn’t load the list: {error}',\n blinded: 'This comment was hidden by an admin.',\n}\n","export default {\n confirmLeave: 'You have an unfinished comment. Leave without saving?',\n translationPending: 'Translations in {count} languages are ready and will be saved with your comment.',\n translationSkipped: 'Your comment was posted without translation. You can translate it later from the edit form.',\n hiddenBoardDenied: 'Only assigned staff can comment on hidden boards.',\n denied: 'You don’t have permission to comment on this board.',\n signInRequired: 'Please sign in.',\n writeRestricted: 'Posting is temporarily restricted due to repeated content warnings.',\n moderationBlocked: 'This contains content that can’t be posted.',\n replyTo: 'Reply to {name}',\n placeholder: 'Write a comment',\n submitReply: 'Reply',\n submit: 'Comment',\n signInToComment: 'Sign in to leave a comment.',\n attachHint: 'Drop an image here or click to choose one.',\n attachNote: 'jpg, png, gif, webp. Large images are resized to 5MB or less.',\n removeImage: 'Remove attached image',\n imageOnly: 'Only jpg, png, gif, and webp images can be attached.',\n uploadFailed: 'Couldn’t upload the image.',\n uploading: 'Uploading image…',\n}\n","export default {\n editRestricted: 'Editing comments is temporarily restricted.',\n moderationBlocked: 'This contains content that can’t be posted.',\n editFailed: 'Couldn’t update the comment.',\n blindConfirm: 'Hiding this comment shows a notice to everyone instead of its text. The original isn’t deleted and you can unhide it later.\\n\\nHide this comment?',\n unblindConfirm: 'Unhiding shows the original comment to everyone again.\\n\\nUnhide this comment?',\n blindFailed: 'Couldn’t change the hidden state.',\n likeFailed: 'Couldn’t process the like.',\n blinded: 'This comment was hidden by an admin.',\n attachedImage: 'Image attached to the comment',\n edit: 'Edit comment',\n blind: 'Hide comment',\n unblind: 'Unhide comment',\n delete: 'Delete comment',\n}\n","export default {\n loading: 'Loading comments',\n empty: 'No comments yet.',\n loadMore: 'More comments',\n loadingMore: 'Loading more comments',\n}\n","export default {\n deleteConfirm: 'Delete this comment?',\n deleteFailed: 'Couldn’t delete the comment.',\n hideReplies: 'Hide replies',\n showReplies: '{count} replies',\n loadMoreReplies: 'More replies',\n}\n","export default {\n bodyRequired: 'Please enter a comment.',\n bodyTooLong: 'Comments can be up to {max} characters.',\n replyTargetNotFound: 'The comment you are replying to could not be found.',\n threadNotFound: 'The comment thread could not be found.',\n hasRepliesCannotDelete: 'Comments with replies cannot be deleted right now.',\n}\n","export default {\n action: {\n cancel: 'Cancel',\n save: 'Save',\n saved: 'Saved',\n edit: 'Edit',\n delete: 'Delete',\n confirm: 'OK',\n close: 'Close',\n add: 'Add',\n more: 'More',\n prev: 'Previous',\n next: 'Next',\n retry: 'Retry',\n reply: 'Reply',\n like: 'Like',\n unlike: 'Unlike',\n share: 'Share',\n report: 'Report',\n signIn: 'Sign in',\n signOut: 'Sign out',\n write: 'Write',\n toTop: 'Top',\n },\n label: {\n anonymous: 'Anonymous',\n user: 'User',\n image: 'Image',\n draft: 'Draft',\n loading: 'Loading…',\n },\n role: {\n owner: 'Owner',\n manager: 'Manager',\n admin: 'Admin',\n staff: 'Staff',\n user: 'User',\n },\n date: {\n justNow: 'Just now',\n fewSecondsAgo: 'A few seconds ago',\n checking: 'Checking time',\n createdAt: 'Created: {time}',\n updatedAt: 'Updated: {time}',\n },\n}\n","export default {\n deleteConfirm: 'Delete this post? This can’t be undone.',\n notFound: 'Post not found.',\n draftPreview: 'Unpublished preview',\n draftNotice: 'This post isn’t published yet. Only you can see it until you publish.',\n publish: 'Publish',\n notice: 'Notice',\n pin: 'Make notice',\n unpin: 'Remove notice',\n backToList: 'Back to list',\n postNav: 'Post navigation',\n list: 'List',\n comments: 'Comments',\n}\n","export default {\n confirmLeave: 'You have unsaved changes. Leave this page?',\n titlePlaceholder: 'Title',\n contentPlaceholder: 'Write something… Type / to open the block menu.',\n imageContentPlaceholder: 'Write something…',\n tagsPlaceholder: 'Type a tag and press Enter',\n pinNotice: 'Pin as notice',\n submitEdit: 'Save changes',\n submitNext: 'Next: Preview',\n apply: 'Apply',\n imageOptimizing: 'Optimizing and uploading image…',\n cover: {\n hint: 'Photos {count}/{max} · Pick a cover · Drag to reorder · Drop or paste files to add',\n imageLink: 'Image link',\n addPhoto: 'Add photos',\n alt: 'Photo {n}',\n representative: 'Cover',\n setRepresentative: 'Set cover',\n setRepresentativeAria: 'Set photo {n} as cover',\n remove: 'Remove photo',\n add: 'Add',\n uploading: 'Uploading…',\n dropOrClick: 'Drop photos or click to add',\n emptyHint: 'Select multiple · Pick a cover after upload · Drag to reorder',\n uploadTitle: 'Upload',\n },\n uploadFailed: 'Upload failed',\n aiAssistant: 'AI writing assistant',\n insertBlock: 'Insert block',\n blockMenu: 'Block menu',\n imageDialog: {\n title: 'Add image',\n chooseFile: 'Choose image from device',\n orLink: 'or image link',\n urlLabel: 'Image URL',\n urlHelp: 'Only HTTPS URLs are allowed. If the image is removed from the source site, it won’t display here either.',\n previewAlt: 'External image preview',\n addLink: 'Add link',\n },\n customDialog: {\n title: 'Rewrite in a custom style',\n label: 'How should it be rewritten?',\n help: 'e.g. in a casual tone / in formal written style / as concise bullet points',\n placeholder: 'In a casual tone',\n },\n translateView: {\n title: '{language} translation preview',\n notSaved: 'Not saved. This is only a preview.',\n },\n aiPreview: {\n title: 'Review AI result',\n currentTitle: 'Current title',\n newTitle: 'New title',\n currentContent: 'Current content',\n appendedContent: 'Content to add',\n before: 'Before',\n after: 'After',\n },\n menu: {\n ai: 'AI',\n aiContinue: 'Continue with AI',\n style: 'Style',\n insert: 'Insert',\n paragraph: 'Paragraph',\n heading1: 'Heading 1',\n heading2: 'Heading 2',\n heading3: 'Heading 3',\n bulletList: 'Bulleted list',\n orderedList: 'Numbered list',\n blockquote: 'Quote',\n codeBlock: 'Code block',\n horizontalRule: 'Divider',\n image: 'Image',\n turnInto: 'Turn into',\n resetFormatting: 'Reset formatting',\n duplicate: 'Duplicate',\n moveUp: 'Move up',\n moveDown: 'Move down',\n delete: 'Delete',\n },\n toolbar: {\n link: 'Link',\n image: 'Image',\n format: 'Format',\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n strike: 'Strikethrough',\n title: 'Title',\n heading: 'Heading',\n subheading: 'Subheading',\n body: 'Body',\n mono: 'Monospace',\n bulletList: 'Bulleted list',\n orderedList: 'Numbered list',\n blockquote: 'Block quote',\n codeBlock: 'Code block',\n horizontalRule: 'Divider',\n clearFormatting: 'Clear formatting',\n undo: 'Undo',\n redo: 'Redo',\n },\n ai: {\n proofread: 'Check spelling',\n polish: 'Polish writing',\n continue: 'Continue writing',\n summarize: 'Summarize briefly',\n translateEn: 'Translate to English',\n translateKo: 'Translate to Korean',\n translateView: 'Translate to preview',\n translateAll: 'Translate and save in {count} languages',\n translateEmpty: 'Enter a title or body to translate first.',\n title: 'Generate title from body',\n custom: 'Rewrite in a custom style…',\n failed: 'The AI task failed. Please try again.',\n },\n youtubePrompt: 'Enter a YouTube link.',\n errors: {\n coverMax: 'You can upload up to {max} photos.',\n imageUrlRequired: 'Enter an image URL.',\n imageUrlInvalid: 'Enter a valid image URL.',\n imageUrlHttps: 'Only HTTPS image URLs are allowed.',\n imageUrlCredentials: 'URLs containing login credentials aren’t allowed.',\n imageTimeout: 'The image is taking too long to load.',\n imageNotDisplayable: 'This image can’t be displayed.',\n imageLoadFailed: 'Couldn’t load the image. Check the URL or whether the site allows external linking.',\n editorNotReady: 'The editor isn’t ready. Please try again.',\n imageLinkFailed: 'Couldn’t add the image link.',\n imageOnly: 'Only image files can be uploaded.',\n imageTooLarge: 'Original images must be {mb}MB or smaller.',\n imageUploadFailed: 'Image upload failed.',\n pasteAsFile: 'Paste or drag photos as files into the area above.',\n postNotFound: 'Post not found.',\n loadPermission: 'You don’t have permission to load this post. Check that you’re signed in.',\n loadFailed: 'Couldn’t load the post: {message}',\n editPermission: 'You don’t have permission to edit. Make sure it’s your post and you’re still signed in.',\n titleRequired: 'Enter a title.',\n photoRequired: 'Upload at least one photo.',\n bodyRequired: 'Write some text or attach an image.',\n signInRequired: 'Sign-in required.',\n boardMissing: 'No board was specified.',\n writeRestricted: 'Posting and commenting are temporarily restricted due to repeated content warnings.',\n moderationBlocked: 'This contains content that can’t be posted.',\n },\n titleOptionalPlaceholder: 'Title (leave empty and AI will write one)',\n titleAiNotice: 'AI wrote a title from your text. Save if you like it, or edit it first.',\n hint: {\n titling: 'Writing a title…',\n translating: 'Translating the post into {count} languages…',\n reviewing: 'Reviewing content…',\n saving: 'Saving…',\n },\n}\n","export default {\n introduction: 'memi-board is built on Nuxt 4, Vue 3 and TypeScript. Nuxt UI and Firebase bring posts, comments and conversations together.',\n eyebrow: 'A space for conversation',\n tagline: 'Small communities. Shared stories.',\n detail: 'Detailed introduction',\n links: 'Links & contact',\n email: \"Email\",\n credit: \"by memi\",\n feedback: 'Send feedback',\n feedbackSubject: 'memi-board feedback',\n feedbackBody: 'Feedback:\\n',\n siteEyebrow: \"Built with memi-board\",\n changelog: \"Changelog\",\n info: {\n title: 'memi-board',\n about: 'About memi-board',\n sites: 'Showcase',\n history: 'Version history',\n },\n sites: {\n description: 'Services using memi-board to bring posts and conversations together.',\n memi: 'A space for development and everyday stories',\n waiting: 'A simple QR-based waitlist service',\n track: 'GPS tracking for your journeys',\n loop: 'Vehicle recording and sensor solutions',\n safe: 'Pedal safety device connection and settings',\n inviteTitle: 'Using it too?',\n invite: 'Tell us your site address.',\n inviteSite: 'Leave it on memi.dev',\n inviteOr: 'or',\n inviteSubject: 'We use memi-board',\n inviteBody: 'Site address:\\n',\n },\n stack: {\n ui: 'Interface & experience',\n data: 'Data & sign-in',\n writing: 'Writing & convenience',\n },\n}\n","export default {\n signInRequired: 'Please sign in.',\n commentNotFound: 'Comment not found.',\n}\n","export default {\n introduction: 'This board is built on Nuxt 4, Vue 3 and TypeScript. Nuxt UI and Tailwind CSS shape a comfortable interface, while Firebase Firestore, Auth, Storage and nuxt-vuefire keep posts and comments flowing smoothly.',\n settings: 'Settings',\n loadFailed: 'Couldn’t load the list: {error}',\n empty: 'No posts yet.',\n notice: 'Notice',\n commentCount: '{count} comments',\n photo: 'Photo',\n likeCount: 'Likes {count}',\n boardInfo: {\n creator: 'Created by',\n managers: 'Managers',\n staff: 'Staff',\n },\n info: {\n title: 'Board info',\n about: 'About this board',\n history: 'Version history',\n },\n stack: {\n framework: 'Framework & language',\n ui: 'UI & styling',\n backend: 'Backend & data',\n },\n tech: {\n nuxt: 'Vue-based SSR framework',\n vue: 'Composition API · script setup',\n typescript: 'Type-safe data and components',\n nuxtUi: 'Board, form and modal UI',\n tailwind: 'Responsive · light/dark styles',\n lucide: 'Lightweight, consistent icons',\n dayjs: 'Readable dates and relative times',\n firestore: 'Real-time DB for posts and comments',\n auth: 'Secure sign-in and permissions',\n storage: 'Image and attachment storage',\n vuefire: 'Real-time Nuxt–Firebase binding',\n },\n}\n","export default {\n default: 'Default',\n card: 'Card',\n dense: 'Compact',\n video: 'Video',\n}\n","export default {\n empty: 'No comments yet.',\n blinded: 'This comment was hidden by an admin.',\n}\n","export default {\n empty: 'No posts yet.',\n}\n","export default {\n selectedCount: 'Selected {count} / {max}',\n layoutHint: '2+ show as a carousel, 4 as a grid',\n searchPlaceholder: 'Search titles',\n loading: 'Loading posts…',\n noMore: 'No more posts to pick.',\n}\n","export default {\n empty: 'No posts selected.',\n}\n","export default {\n reviewFailed: 'We could not review your content, so it cannot be posted. Please try again shortly.',\n writeRestricted: 'Posting and commenting are temporarily restricted due to repeated content warnings.',\n}\n","export default {\n localHit: 'Expressions like “{hit}” aren’t allowed. Please rephrase.',\n localGeneric: 'This contains profanity, so it can’t be posted. Please rephrase.',\n categoryBlocked: 'This contains {category}, so it can’t be posted. Please edit it.',\n genericBlocked: 'This contains content that can’t be posted. Please edit it.',\n categories: {\n abuse: 'profanity or insults',\n spam: 'spam or advertising',\n adult: 'sexual or adult content',\n violence: 'violence or threats',\n other: 'inappropriate content',\n },\n}\n","export default {\n liftSoon: 'lifts soon',\n liftInHours: 'lifts in about {hours}h',\n liftInDays: 'lifts in about {days}d',\n liftInDaysHours: 'lifts in about {days}d {hours}h',\n}\n","export default {\n boardIdRequired: '[memi-board] boardId is required.',\n photoRequired: 'Please add a photo.',\n bodyRequired: 'Please enter some text or attach an image.',\n titleRequired: 'Please enter a title.',\n}\n","export default {\n notFound: 'User not found.',\n noName: 'No name',\n joined: 'Joined {time}',\n lastVisit: 'Last seen {time}',\n stats: {\n posts: '{count} posts',\n comments: '{count} comments',\n aiUsage: 'AI used {used} / {limit}',\n aiUsageResets: 'AI used {used} / {limit} · resets in {hours}h',\n warnings: '{count} warnings',\n },\n}\n","export default {\n imageOnly: 'Only image files can be selected.',\n nameRequired: 'Please enter a name.',\n saveFailed: 'Couldn’t save the profile.',\n title: 'Edit profile',\n changePhoto: 'Change photo',\n name: 'Name',\n bio: 'Bio',\n bioPlaceholder: 'Tell people about yourself',\n}\n","export default {\n failed: 'Couldn’t submit the report.',\n reported: 'Reported',\n title: 'Report post',\n done: 'Report received. Staff will review it.',\n reason: 'Reason',\n detailPlaceholder: 'Details (optional)',\n submit: 'Report',\n}\n","export default {\n staffOnly: 'Only staff can view reports.',\n loadFailed: 'Couldn’t load the list: {error}',\n empty: 'No pending reports.',\n untitled: 'Untitled post',\n author: 'by {name}',\n dismiss: 'Dismiss',\n confirm: 'Resolve',\n}\n","export default {\n reason: {\n spam: 'Spam / advertising',\n abuse: 'Abuse / hate / harassment',\n adult: 'Sexual content',\n illegal: 'Illegal content',\n other: 'Other',\n },\n fallbackLabel: 'Report',\n signInRequired: 'Please sign in.',\n cannotReportOwn: 'You cannot report your own post.',\n reasonRequired: 'Please select a reason.',\n detailTooLong: 'Details can be up to {max} characters.',\n}\n","export default {\n kind: {\n list: 'Post list',\n post: 'Posts',\n comments: 'Comments',\n },\n sort: {\n latest: 'Latest',\n likes: 'Most liked',\n },\n untitledPost: 'Post',\n view: {\n media: 'Media',\n list: 'List',\n },\n}\n","export default {\n defaultTitle: 'Section {n}',\n}\n","export default {\n allCategory: 'All',\n boardDescription: '{name} board',\n allDescription: 'Board — announcements and community news.',\n postFallbackTitle: 'Post | {site}',\n postFallbackDescription: 'Board',\n photo: 'Photo',\n postDescriptionFallback: 'Board post',\n listTitle: '{name} | {site}',\n listTitleAll: 'Board | {site}',\n listDescription: '{name} — catch up on the latest posts.',\n listDescriptionAll: 'Board — announcements and stories.',\n}\n","export default {\n managers: 'Assigned managers',\n loading: 'Loading settings…',\n noAccess: 'You don’t have access',\n notFound: {\n title: 'Board not found',\n checkAddress: 'Please check the address.',\n checkBoardAddress: 'Please check the board address.',\n },\n newBoard: {\n title: 'This board doesn’t exist yet',\n description: 'Fill in the details below and save to create it with this ID.',\n },\n noLabel: 'No label',\n option: {\n default: 'Standard',\n },\n id: {\n label: 'Category ID',\n help: 'Used in the URL and data',\n },\n writeRole: {\n label: 'Who can post',\n help: 'Minimum role required to post in this category',\n helpShort: 'Minimum role required to post',\n options: {\n user: 'Users and up',\n staff: 'Staff and up',\n admin: 'Admins only',\n },\n },\n commentWriteRole: {\n label: 'Who can comment',\n help: 'Minimum role required to comment in this category',\n helpShort: 'Minimum role required to comment',\n hiddenHelp: 'Comments on hidden boards don’t appear in the public feed, and only assigned staff can write them',\n hiddenFixed: 'Assigned staff only (fixed for hidden boards)',\n },\n staff: {\n label: 'Assigned staff',\n help: 'Only the selected staff can configure and manage this board. Leave empty for admins only',\n placeholder: 'Admins only (no staff assigned)',\n },\n label: {\n label: 'Display name',\n help: 'The name users see',\n },\n description: {\n label: 'Description',\n help: 'Shown at the top of the board and elsewhere',\n placeholder: 'A short description of this board (optional)',\n },\n list: {\n filterAll: 'All',\n filterPlaceholder: 'Name or address',\n sort: 'Sort',\n sortName: 'Name',\n sortDescription: 'Description',\n sortId: 'Address',\n empty: 'No boards match this filter.',\n none: 'None',\n fieldCount: '{count}',\n localeAuto: 'Auto',\n },\n visibility: {\n pending: 'Visibility change is incomplete. Save the same setting again to resume.',\n label: 'Visibility',\n help: 'Hidden boards don’t appear in the all-boards filter, and posts can only be read by admins, assigned staff, and their authors. Only assigned staff can comment',\n options: {\n public: { label: 'Visible', description: 'Shown in the full list and filters' },\n hidden: { label: 'Hidden', description: 'Journal or private. Only assigned staff can comment' },\n },\n },\n listView: {\n label: 'List view',\n help: 'How the post list is displayed',\n options: {\n card: 'Card',\n dense: 'Compact',\n video: 'Video',\n },\n },\n editorType: {\n label: 'Post form',\n help: 'How posts are written',\n options: {\n default: 'Write a title and body',\n image: 'Add multiple photos and a cover photo',\n },\n },\n customFields: {\n label: 'Custom fields',\n help: 'Extra values stored on each post. The key is what you filter on later. The name is shown as typed and is not translated.',\n key: 'Key',\n keyPlaceholder: 'channel',\n name: 'Name',\n namePlaceholder: 'Channel',\n placeholder: 'Placeholder',\n inputPlaceholder: 'Faint hint shown in the write field',\n add: 'Add field',\n limit: 'You can add up to 8 custom fields.',\n invalidKey: 'A key must start with a lowercase letter and contain only letters, numbers, and underscores, up to 32 characters.',\n duplicateKey: 'The key {key} is duplicated.',\n labelRequired: 'Enter a name for the key {key}.',\n },\n locale: {\n label: 'Board language',\n help: 'Leave empty to follow the site language. If set, this board always appears in that language.',\n auto: 'Auto (follow site language)',\n },\n bulk: {\n title: 'Apply to all boards',\n help: 'Only checked items overwrite every board. Other unsaved edits on individual boards are not saved.',\n apply: 'Apply to {count} boards',\n applyShort: 'Apply',\n confirmTitle: 'Apply to all boards',\n confirm: 'Apply the checked items to {count} boards?',\n applied: 'Applied to {count} boards.',\n translateUntranslated: 'Translate untranslated boards ({count})',\n translated: 'Translated and saved names and descriptions for {count} boards.',\n translateFailed: 'Couldn’t translate {count} boards. Try again.',\n },\n translationLocales: {\n label: 'Translation languages',\n help: 'The name, description, and posts are translated into these languages. The language a post was written in is skipped. Selecting all also includes languages added later.',\n },\n autoTranslatePosts: {\n label: 'Automatically translate new posts and comments',\n help: 'Translate new post titles, summaries, bodies, comments and replies into {count} languages when saving. Off by default.',\n },\n autoTranslate: {\n action: \"Translate into {count} languages\",\n manualHelp: \"Translate the display label and description together, then click Save to apply.\",\n pending: \"Translations for {count} languages are ready. Click Save to apply.\",\n manualFailed: \"Translation failed. Your text is unchanged. Please try again.\",\n label: 'Translate into {count} languages when saving',\n help: 'When on, the name and description are translated into {count} languages. When off, they are not translated. Unchanged text is not translated again.',\n failed: 'Settings were saved, but translating into {count} languages failed. Save again to retry.',\n ready: 'The name and description are saved in {count} languages.',\n },\n action: {\n moveDown: 'Down',\n goToBoard: 'Go to board',\n deleteBoard: 'Delete board',\n create: 'Create',\n },\n newCategoryPlaceholder: 'New board name',\n newCategoryHelp: 'This name becomes the board address. Up to 40 characters. Spaces turn into hyphens, and only letters, numbers, and Korean characters are kept.',\n newCategoryUrl: 'Address: {path}',\n deleteConfirm: 'Delete the “{label}” board?\\n\\nAll posts, comments, replies, inline images, comment images, and attachments on this board will be permanently deleted. This can’t be undone.',\n savedCategory: 'Saved the “{label}” category.',\n savedSettings: 'Board settings saved.',\n created: 'Board created.',\n error: {\n orderFailed: 'Couldn’t save the category order.',\n deleteFailed: 'Couldn’t delete the board and its data.',\n saveFailed: 'Couldn’t save the board settings.',\n deleteAllFailed: 'Couldn’t delete the board data.',\n },\n aiTitle: {\n label: 'Write titles with AI',\n help: 'When a new post\\'s title is left empty, AI writes one from the text (or from the first photo if there is no text). Photos are sent to Google AI only to write a title. Turn it off to require a typed title and stop sending photos.',\n },\n site: {\n apply: 'Apply',\n applied: 'Applied.',\n title: 'Site-wide settings',\n help: 'Apply to the whole site. They override the host app\\'s settings and take effect as soon as you change them.',\n ai: { label: 'Use AI features', help: 'Turn this off if you can\\'t use AI, for example because of cost. It turns off translation, the writing assistant, AI titles, and AI moderation, and photos are no longer sent to AI. The blocked-word check keeps working.' },\n i18n: { label: 'Use internationalization', help: 'When off, every screen is fixed to the single language chosen below and translation is turned off. Saved translations are not deleted.' },\n locales: { label: 'Languages to offer', help: 'Only the {count} selected languages are translated and shown in the language menu. Languages you don\\'t select get no new translations, and saved translations are not deleted.' },\n locale: { label: 'Default language', help: 'The language used when the host app doesn\\'t set one.', fixedLabel: 'Fixed language', fixedHelp: 'Every screen is shown in this language.' },\n },\n i18nBoard: {\n label: 'Internationalization',\n help: 'When on, the board name and description and new posts and comments are automatically translated into {count} languages and saved. When off, only the original text is shown.',\n existing: 'Translate existing posts too',\n },\n about: {\n label: 'Show About memi-board',\n help: 'Shows the About memi-board link and popup at the bottom of every board screen. Turn it off to hide it across the site.',\n },\n postTranslations: {\n label: 'Translate existing posts',\n help: 'Finds posts whose translation is missing or no longer matches the original, then translates and saves them in one go. Use it for boards with automatic translation off, or to fill in posts that missed translation. It does not use the daily AI quota.',\n scan: 'Find posts to translate',\n run: 'Translate {count} posts',\n confirm: 'This translates and saves {count} posts, making AI calls for each one. Continue?',\n progress: 'Translating… {done} done, {failed} failed',\n allDone: 'All {total} published posts have up-to-date translations.',\n found: '{count} of {total} published posts need translation.',\n failed: '{count} posts could not be translated. Scan again and retry.',\n },\n cleanup: {\n contextChanged: 'Your account or board configuration changed after scanning. Scan again before deleting.',\n title: 'Orphan files and documents',\n description: 'Scan all boards for files and comments without a post, images without a comment, and likes without a target. Files updated within 24 hours, referenced files, and report history are retained.',\n scan: 'Scan orphan items',\n empty: 'No orphan items found.',\n selectAll: 'Select all ({count})',\n delete: 'Delete selected ({count})',\n confirm: 'Permanently delete {count} selected orphan items? This cannot be undone.',\n failed: 'Cleanup failed. Check the admin Firestore and Storage rules.',\n result: '{deleted} deleted, {skipped} retained after connections were restored, {failed} failed. Failed items can be retried.',\n kinds: { file: 'File', comment: 'Comment document', like: 'Like document' },\n },\n danger: {\n title: 'Danger zone',\n description: 'Permanently deletes all posts, comments, comment images, attachments, and category settings. Board users and admin roles are kept.',\n confirmLabel: 'Type “{phrase}” to confirm',\n phrase: 'delete board data',\n button: 'Delete all data',\n done: 'All board data has been deleted.',\n },\n}\n","export default {\n copied: 'Link copied',\n}\n","export default {\n withGoogle: 'Sign in with Google',\n withApple: 'Sign in with Apple',\n or: 'or',\n name: 'Name',\n email: 'Email',\n password: 'Password',\n signUp: 'Sign up',\n toSignUp: 'Don’t have an account? Sign up',\n toSignIn: 'Already have an account? Sign in',\n}\n","export default {\n tooLargeAfterCompress: 'The image is still larger than 5MB after compression. Please choose a smaller image.',\n sourceTooLarge: 'The original image must be {max}MB or smaller.',\n heicUnsupported: 'HEIC photos cannot be uploaded directly. Pick it from the Photos app or convert it to JPG, PNG, or WebP.',\n cannotOptimize: 'This image format cannot be optimized in the browser. Please convert it to JPG, PNG, or WebP.',\n imageOnly: 'Only image files can be uploaded.',\n canvasUnavailable: 'Canvas is not available',\n compressFailed: 'Compression failed',\n loadFailed: 'Failed to load image',\n}\n","export default {\n title: 'Try swiping left or right',\n description: 'Swipe left for the next post, right for the previous one.',\n}\n","export default {\n loadFailed: 'Couldn’t load the list: {error}',\n empty: 'No comments yet.',\n blinded: 'This comment was hidden by an admin.',\n likes: '{count} likes',\n}\n","export default {\n loadFailed: 'Couldn’t load the list: {error}',\n empty: 'No posts yet.',\n}\n","export default {\n changeRoleFailed: 'Couldn’t change the role.',\n loading: 'Loading users…',\n noPermission: {\n title: 'No permission',\n description: 'Only board admins can manage user roles.',\n },\n empty: 'No users have signed in to the board yet.',\n noName: 'No name',\n moderationWarnings: '{count} content warnings',\n}\n","export default {\n loginRequired: 'Sign in to use the AI writing assistant.',\n userMissing: 'Couldn’t verify your user info. Please try again.',\n dailyLimit: 'The AI writing assistant can be used up to {limit} times a day. Please try again in about {hours} hour(s).',\n contentRequired: 'Enter some content for the AI to work on first.',\n customRequired: 'Enter an instruction for how to rewrite it.',\n emptyResult: 'The AI couldn’t produce a result. Please try again.',\n translateEmpty: 'Enter a title or body to translate first.',\n translateTooLong: 'Posts longer than {limit} characters can’t be saved in {count} languages. Shorten it and try again.',\n translateIncomplete: 'Some languages came back empty. Please try again.',\n failed: 'The AI task failed. Please try again.',\n actions: {\n proofread: 'Check spelling',\n polish: 'Polish sentences',\n continue: 'Continue writing',\n summarize: 'Summarize',\n translateEn: 'Translate to English',\n translateKo: 'Translate to Korean',\n translateAll: 'Translate and save in {count} languages',\n title: 'Generate title from body',\n custom: 'Rewrite in a custom style…',\n },\n}\n","// 자동 생성 — scripts/gen-i18n-index.mjs\nimport attachments from './attachments'\nimport auth from './auth'\nimport authorMemo from './authorMemo'\nimport authorMenu from './authorMenu'\nimport avatarCropModal from './avatarCropModal'\nimport boardSettings from './boardSettings'\nimport boardUsers from './boardUsers'\nimport commentFeed from './commentFeed'\nimport commentForm from './commentForm'\nimport commentItem from './commentItem'\nimport commentList from './commentList'\nimport commentThread from './commentThread'\nimport comments from './comments'\nimport common from './common'\nimport detail from './detail'\nimport editor from './editor'\nimport footer from './footer'\nimport likes from './likes'\nimport list from './list'\nimport listViewSwitch from './listViewSwitch'\nimport miniComments from './miniComments'\nimport miniList from './miniList'\nimport miniPicker from './miniPicker'\nimport miniPost from './miniPost'\nimport moderation from './moderation'\nimport moderationPrompt from './moderationPrompt'\nimport moderationStrike from './moderationStrike'\nimport posts from './posts'\nimport profile from './profile'\nimport profileEditModal from './profileEditModal'\nimport reportButton from './reportButton'\nimport reportList from './reportList'\nimport reports from './reports'\nimport sectionUtil from './sectionUtil'\nimport sections from './sections'\nimport seo from './seo'\nimport settings from './settings'\nimport shareButton from './shareButton'\nimport signIn from './signIn'\nimport storage from './storage'\nimport swipeHint from './swipeHint'\nimport userCommentList from './userCommentList'\nimport userPostList from './userPostList'\nimport users from './users'\nimport writingAssistant from './writingAssistant'\n\nexport default {\n attachments,\n auth,\n authorMemo,\n authorMenu,\n avatarCropModal,\n boardSettings,\n boardUsers,\n commentFeed,\n commentForm,\n commentItem,\n commentList,\n commentThread,\n comments,\n common,\n detail,\n editor,\n footer,\n likes,\n list,\n listViewSwitch,\n miniComments,\n miniList,\n miniPicker,\n miniPost,\n moderation,\n moderationPrompt,\n moderationStrike,\n posts,\n profile,\n profileEditModal,\n reportButton,\n reportList,\n reports,\n sectionUtil,\n sections,\n seo,\n settings,\n shareButton,\n signIn,\n storage,\n swipeHint,\n userCommentList,\n userPostList,\n users,\n writingAssistant,\n}\n"],"mappings":"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"}
|
|
@@ -348,6 +348,11 @@ var e = {
|
|
|
348
348
|
commentNotFound: "No se encontró el comentario."
|
|
349
349
|
},
|
|
350
350
|
list: {
|
|
351
|
+
boardInfo: {
|
|
352
|
+
creator: "Creado por",
|
|
353
|
+
managers: "Gestores",
|
|
354
|
+
staff: "Personal"
|
|
355
|
+
},
|
|
351
356
|
commentCount: "{count} comentarios",
|
|
352
357
|
settings: "Configuración",
|
|
353
358
|
loadFailed: "No se pudo cargar la lista: {error}",
|
|
@@ -754,4 +759,4 @@ var e = {
|
|
|
754
759
|
//#endregion
|
|
755
760
|
export { e as default };
|
|
756
761
|
|
|
757
|
-
//# sourceMappingURL=es-
|
|
762
|
+
//# sourceMappingURL=es-DzFDaLwo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es-DzFDaLwo.js","names":[],"sources":["../src/i18n/messages/es.ts"],"sourcesContent":["import type { MemiBoardMessages } from '../translate'\n\n/** 짧은 화면 문구만 번역한다. 빠진 키는 en → ko 순으로 폴백된다. */\nconst messages: MemiBoardMessages = {\n attachments: {\n attach: 'Adjuntar archivos ({count} / {max})',\n dropOrClick: 'Suelta archivos o haz clic para añadir',\n uploading: 'Subiendo archivos…',\n maxFiles: 'Puedes adjuntar hasta {max} archivos.',\n },\n auth: {\n writeRestricted: 'Publicar y comentar está restringido temporalmente por advertencias de contenido acumuladas.',\n strikeSuffix: ' (Advertencia {count}/{threshold})',\n strikeRestricted: ' Llegaste a {count} advertencias, así que publicar y comentar está restringido.',\n notInitialized: '[memi-board] Firebase Auth no está inicializado.',\n },\n authorMemo: {\n tooLong: 'Las notas pueden tener hasta {max} caracteres.',\n },\n authorMenu: {\n viewProfile: 'Ver perfil',\n viewPosts: 'Ver publicaciones',\n viewComments: 'Ver comentarios',\n memoAriaLabel: 'Nota sobre este autor',\n memoTitle: 'Nota privada',\n memoPlaceholder: 'Anota algo sobre este autor…',\n bad: 'Mal',\n good: 'Bien',\n },\n avatarCropModal: {\n title: 'Recortar foto de perfil',\n description: 'Se muestra en formato cuadrado (1:1). Ajusta el área.',\n confirm: 'Recortar y subir',\n },\n boardSettings: {\n signInRequired: 'Inicia sesión.',\n idAndNameRequired: 'Ingresa un ID y un nombre para el tablero.',\n deleteIdRequired: 'Se necesita el ID del tablero para eliminarlo.',\n nameRequired: 'Ingresa un nombre para el tablero.',\n },\n boardUsers: {\n unsupportedRole: 'Rol no compatible.',\n roleDescription: {\n admin: 'Administra los roles de usuario, la configuración del tablero y todo el contenido.',\n user: 'Puede escribir publicaciones y comentarios, y editar o eliminar solo su propio contenido.',\n },\n },\n commentFeed: {\n empty: 'Aún no hay comentarios.',\n emptyLiked: 'Aún no hay comentarios con Me gusta.',\n loadFailed: 'No se pudo cargar la lista: {error}',\n blinded: 'Un administrador ocultó este comentario.',\n },\n commentForm: {\n translationSkipped: 'El comentario se publicó sin traducción. Puedes traducirlo más tarde desde el formulario de edición.',\n hiddenBoardDenied: 'Solo el personal asignado puede comentar en tableros ocultos.',\n denied: 'No tienes permiso para comentar en este tablero.',\n signInRequired: 'Inicia sesión.',\n writeRestricted: 'Publicar está restringido temporalmente por advertencias de contenido acumuladas.',\n moderationBlocked: 'Contiene contenido que no se puede publicar.',\n replyTo: 'Responder a {name}',\n placeholder: 'Escribe un comentario',\n submitReply: 'Responder',\n submit: 'Comentar',\n signInToComment: 'Inicia sesión para dejar un comentario.',\n attachHint: 'Suelta una imagen aquí o haz clic para elegir una.',\n attachNote: 'jpg, png, gif, webp. Las imágenes grandes se reducen a 5MB o menos.',\n removeImage: 'Quitar imagen adjunta',\n imageOnly: 'Solo se pueden adjuntar imágenes jpg, png, gif y webp.',\n uploadFailed: 'No se pudo subir la imagen.',\n uploading: 'Subiendo imagen…',\n },\n commentItem: {\n editRestricted: 'La edición de comentarios está restringida temporalmente.',\n moderationBlocked: 'Contiene contenido que no se puede publicar.',\n editFailed: 'No se pudo actualizar el comentario.',\n blindFailed: 'No se pudo cambiar el estado de ocultación.',\n likeFailed: 'No se pudo procesar el Me gusta.',\n blinded: 'Un administrador ocultó este comentario.',\n attachedImage: 'Imagen adjunta al comentario',\n edit: 'Editar comentario',\n blind: 'Ocultar comentario',\n unblind: 'Mostrar comentario',\n delete: 'Eliminar comentario',\n },\n commentList: {\n loading: 'Cargando comentarios',\n empty: 'Aún no hay comentarios.',\n loadMore: 'Más comentarios',\n loadingMore: 'Cargando más comentarios',\n },\n commentThread: {\n deleteConfirm: '¿Eliminar este comentario?',\n deleteFailed: 'No se pudo eliminar el comentario.',\n hideReplies: 'Ocultar respuestas',\n showReplies: '{count} respuestas',\n loadMoreReplies: 'Más respuestas',\n },\n comments: {\n bodyRequired: 'Escribe un comentario.',\n bodyTooLong: 'Los comentarios pueden tener hasta {max} caracteres.',\n replyTargetNotFound: 'No se encontró el comentario al que respondes.',\n threadNotFound: 'No se encontró el hilo de comentarios.',\n hasRepliesCannotDelete: 'Por ahora no se pueden eliminar comentarios que tienen respuestas.',\n },\n common: {\n action: {\n cancel: 'Cancelar',\n save: 'Guardar',\n saved: 'Guardado',\n edit: 'Editar',\n delete: 'Eliminar',\n confirm: 'Aceptar',\n close: 'Cerrar',\n add: 'Agregar',\n more: 'Ver más',\n prev: 'Anterior',\n next: 'Siguiente',\n retry: 'Reintentar',\n reply: 'Responder',\n like: 'Me gusta',\n unlike: 'Ya no me gusta',\n share: 'Compartir',\n report: 'Reportar',\n signIn: 'Iniciar sesión',\n signOut: 'Cerrar sesión',\n write: 'Escribir',\n toTop: 'Arriba',\n },\n label: {\n anonymous: 'Anónimo',\n user: 'Usuario',\n image: 'Imagen',\n draft: 'Borrador',\n loading: 'Cargando…',\n },\n role: {\n admin: 'Administrador',\n staff: 'Personal',\n user: 'Usuario',\n },\n date: {\n justNow: 'Justo ahora',\n fewSecondsAgo: 'Hace unos segundos',\n checking: 'Verificando la hora',\n createdAt: 'Creado: {time}',\n updatedAt: 'Actualizado: {time}',\n },\n },\n detail: {\n deleteConfirm: '¿Eliminar esta publicación? No se puede deshacer.',\n notFound: 'No se encontró la publicación.',\n draftPreview: 'Vista previa sin publicar',\n draftNotice: 'Esta publicación aún no está publicada. Solo tú puedes verla hasta que la publiques.',\n publish: 'Publicar',\n notice: 'Aviso',\n pin: 'Fijar como aviso',\n unpin: 'Quitar aviso',\n backToList: 'Volver a la lista',\n postNav: 'Navegación de publicaciones',\n list: 'Lista',\n comments: 'Comentarios',\n },\n editor: {\n titleOptionalPlaceholder: 'Título (déjalo vacío y la IA escribirá uno)',\n titleAiNotice: 'La IA ha escrito un título a partir de tu texto. Guárdalo si te gusta o edítalo antes.',\n translateView: {\n title: 'Vista previa de la traducción: {language}',\n notSaved: 'No se ha guardado. Es solo una vista previa.',\n },\n titlePlaceholder: 'Título',\n contentPlaceholder: 'Escribe algo… Escribe / para abrir el menú de bloques.',\n imageContentPlaceholder: 'Escribe algo…',\n tagsPlaceholder: 'Escribe una etiqueta y presiona Enter',\n pinNotice: 'Fijar como aviso',\n submitEdit: 'Guardar cambios',\n submitNext: 'Siguiente: vista previa',\n apply: 'Aplicar',\n imageOptimizing: 'Optimizando y subiendo la imagen…',\n cover: {\n imageLink: 'Enlace de imagen',\n addPhoto: 'Agregar fotos',\n alt: 'Foto {n}',\n representative: 'Portada',\n setRepresentative: 'Usar de portada',\n setRepresentativeAria: 'Usar la foto {n} como portada',\n remove: 'Quitar foto',\n add: 'Agregar',\n uploading: 'Subiendo…',\n dropOrClick: 'Suelta fotos o haz clic para agregar',\n emptyHint: 'Selecciona varias · Elige la portada tras subir · Arrastra para reordenar',\n uploadTitle: 'Subir',\n },\n uploadFailed: 'Error al subir',\n aiAssistant: 'Asistente de escritura con AI',\n insertBlock: 'Insertar bloque',\n blockMenu: 'Menú de bloques',\n imageDialog: {\n title: 'Agregar imagen',\n chooseFile: 'Elegir imagen del dispositivo',\n orLink: 'o enlace de imagen',\n urlLabel: 'URL de la imagen',\n previewAlt: 'Vista previa de imagen externa',\n addLink: 'Agregar enlace',\n },\n customDialog: {\n title: 'Reescribir con un estilo personalizado',\n label: '¿Cómo quieres reescribirlo?',\n help: 'p. ej., en tono casual / en estilo formal / en viñetas concisas',\n placeholder: 'En tono casual',\n },\n aiPreview: {\n title: 'Revisar resultado de AI',\n currentTitle: 'Título actual',\n newTitle: 'Título nuevo',\n currentContent: 'Contenido actual',\n appendedContent: 'Contenido a agregar',\n before: 'Antes',\n after: 'Después',\n },\n menu: {\n ai: 'AI',\n aiContinue: 'Continuar con AI',\n style: 'Estilo',\n insert: 'Insertar',\n paragraph: 'Párrafo',\n heading1: 'Título 1',\n heading2: 'Título 2',\n heading3: 'Título 3',\n bulletList: 'Lista con viñetas',\n orderedList: 'Lista numerada',\n blockquote: 'Cita',\n codeBlock: 'Bloque de código',\n horizontalRule: 'Separador',\n image: 'Imagen',\n turnInto: 'Convertir en',\n resetFormatting: 'Restablecer formato',\n duplicate: 'Duplicar',\n moveUp: 'Subir',\n moveDown: 'Bajar',\n delete: 'Eliminar',\n },\n toolbar: {\n link: 'Enlace',\n image: 'Imagen',\n format: 'Formato',\n bold: 'Negrita',\n italic: 'Cursiva',\n underline: 'Subrayado',\n strike: 'Tachado',\n title: 'Título',\n heading: 'Encabezado',\n subheading: 'Subencabezado',\n body: 'Cuerpo',\n mono: 'Monoespaciado',\n bulletList: 'Lista con viñetas',\n orderedList: 'Lista numerada',\n blockquote: 'Cita en bloque',\n codeBlock: 'Bloque de código',\n horizontalRule: 'Separador',\n clearFormatting: 'Borrar formato',\n undo: 'Deshacer',\n redo: 'Rehacer',\n },\n ai: {\n translateView: 'Ver traducción',\n translateAll: 'Traducir y guardar en {count} idiomas',\n proofread: 'Revisar ortografía',\n polish: 'Pulir redacción',\n continue: 'Seguir escribiendo',\n summarize: 'Resumir brevemente',\n translateEn: 'Traducir al inglés',\n translateKo: 'Traducir al coreano',\n translateEmpty: 'Escribe primero un título o un texto para traducir.',\n title: 'Generar título a partir del texto',\n custom: 'Reescribir con un estilo personalizado…',\n failed: 'La tarea de AI falló. Inténtalo de nuevo.',\n },\n youtubePrompt: 'Ingresa un enlace de YouTube.',\n errors: {\n coverMax: 'Puedes subir hasta {max} fotos.',\n imageUrlRequired: 'Ingresa una URL de imagen.',\n imageUrlInvalid: 'Ingresa una URL de imagen válida.',\n imageUrlHttps: 'Solo se permiten URL de imagen HTTPS.',\n imageUrlCredentials: 'No se permiten URL con datos de inicio de sesión.',\n imageTimeout: 'La imagen está tardando demasiado en cargar.',\n imageNotDisplayable: 'No se puede mostrar esta imagen.',\n editorNotReady: 'El editor no está listo. Inténtalo de nuevo.',\n imageLinkFailed: 'No se pudo agregar el enlace de imagen.',\n imageOnly: 'Solo se pueden subir archivos de imagen.',\n imageTooLarge: 'Las imágenes originales deben pesar {mb}MB o menos.',\n imageUploadFailed: 'No se pudo subir la imagen.',\n pasteAsFile: 'Pega o arrastra las fotos como archivos en el área de arriba.',\n postNotFound: 'No se encontró la publicación.',\n loadPermission: 'No tienes permiso para cargar esta publicación. Verifica que hayas iniciado sesión.',\n loadFailed: 'No se pudo cargar la publicación: {message}',\n titleRequired: 'Ingresa un título.',\n photoRequired: 'Sube al menos una foto.',\n bodyRequired: 'Escribe algo de texto o adjunta una imagen.',\n signInRequired: 'Debes iniciar sesión.',\n boardMissing: 'No se especificó ningún tablero.',\n writeRestricted: 'Publicar y comentar está restringido temporalmente por advertencias de contenido acumuladas.',\n moderationBlocked: 'Contiene contenido que no se puede publicar.',\n },\n hint: {\n titling: 'Creando el título…',\n reviewing: 'Revisando el contenido…',\n saving: 'Guardando…',\n },\n },\n footer: {\n introduction: \"memi-board está creado con Nuxt 4, Vue 3 y TypeScript. Nuxt UI y Firebase conectan publicaciones, comentarios y conversaciones.\",\n eyebrow: \"Un espacio para conversar\",\n tagline: \"Pequeñas comunidades. Historias compartidas.\",\n detail: \"Introducción detallada\",\n links: \"Enlaces y contacto\",\n email: \"Correo\",\n credit: \"Creado por memi\",\n feedback: \"Enviar comentarios\",\n feedbackSubject: \"Comentarios sobre memi-board\",\n feedbackBody: \"Comentarios:\\n\",\n siteEyebrow: \"Creado con memi-board\",\n changelog: \"Registro de cambios\",\n info: {\n title: \"memi-board\",\n about: \"Acerca de memi-board\",\n sites: \"Casos de uso\",\n history: 'Historial de versiones',\n },\n sites: {\n description: \"Servicios que utilizan memi-board para compartir publicaciones y conversaciones.\",\n memi: \"Un espacio para el desarrollo y las historias cotidianas\",\n waiting: \"Un sencillo servicio de lista de espera con código QR\",\n track: \"Seguimiento GPS para registrar tus rutas\",\n loop: \"Registro de conducción y soluciones de sensores\",\n safe: \"Conexión y configuración de un dispositivo contra errores de pedal\",\n inviteTitle: \"¿Tú también lo usas?\",\n invite: \"Cuéntanos la dirección de tu sitio.\",\n inviteSite: \"Déjalo en memi.dev\",\n inviteOr: \"o\",\n inviteSubject: \"Usamos memi-board\",\n inviteBody: \"Dirección del sitio:\\n\",\n },\n stack: {\n ui: 'Interfaz y experiencia',\n data: 'Datos e inicio de sesión',\n writing: 'Escritura y comodidad',\n },\n },\n likes: {\n signInRequired: 'Inicia sesión.',\n commentNotFound: 'No se encontró el comentario.',\n },\n list: {\n boardInfo: {\n creator: 'Creado por',\n managers: 'Gestores',\n staff: 'Personal',\n },\n commentCount: '{count} comentarios',\n settings: 'Configuración',\n loadFailed: 'No se pudo cargar la lista: {error}',\n empty: 'Aún no hay publicaciones.',\n notice: 'Aviso',\n photo: 'Foto',\n likeCount: 'Me gusta {count}',\n info: {\n title: 'Información del tablero',\n about: 'Acerca de este tablero',\n history: 'Historial de versiones',\n },\n stack: {\n framework: 'Framework y lenguaje',\n ui: 'UI y estilos',\n backend: 'Backend y datos',\n },\n tech: {\n nuxt: 'Framework SSR basado en Vue',\n vue: 'Composition API · script setup',\n typescript: 'Datos y componentes con tipos seguros',\n nuxtUi: 'UI de tablero, formularios y modales',\n tailwind: 'Estilos adaptables · claro/oscuro',\n lucide: 'Íconos ligeros y coherentes',\n dayjs: 'Fechas legibles y tiempos relativos',\n firestore: 'Base de datos en tiempo real para publicaciones y comentarios',\n auth: 'Inicio de sesión y permisos seguros',\n storage: 'Almacenamiento de imágenes y adjuntos',\n vuefire: 'Conexión en tiempo real entre Nuxt y Firebase',\n },\n },\n listViewSwitch: {\n card: 'Tarjeta',\n default: 'Normal',\n dense: 'Compacta',\n video: 'Video',\n },\n miniComments: {\n empty: 'Aún no hay comentarios.',\n blinded: 'Un administrador ocultó este comentario.',\n },\n miniList: {\n empty: 'Aún no hay publicaciones.',\n },\n miniPicker: {\n selectedCount: 'Seleccionadas {count} / {max}',\n layoutHint: 'Con 2 o más se muestra como carrusel; con 4, como cuadrícula',\n searchPlaceholder: 'Buscar títulos',\n loading: 'Cargando publicaciones…',\n noMore: 'No hay más publicaciones para elegir.',\n },\n miniPost: {\n empty: 'No hay publicaciones seleccionadas.',\n },\n moderation: {\n writeRestricted: 'Publicar y comentar está restringido temporalmente por advertencias de contenido acumuladas.',\n },\n moderationPrompt: {\n localHit: 'No se permiten expresiones como “{hit}”. Reformula el texto.',\n localGeneric: 'Contiene groserías, así que no se puede publicar. Reformula el texto.',\n genericBlocked: 'Contiene contenido que no se puede publicar. Edítalo.',\n categories: {\n abuse: 'groserías o insultos',\n spam: 'spam o publicidad',\n adult: 'contenido sexual o para adultos',\n violence: 'violencia o amenazas',\n other: 'contenido inapropiado',\n },\n },\n moderationStrike: {\n liftSoon: 'se levanta pronto',\n liftInHours: 'se levanta en unas {hours} h',\n liftInDays: 'se levanta en unos {days} d',\n liftInDaysHours: 'se levanta en unos {days} d {hours} h',\n },\n posts: {\n boardIdRequired: '[memi-board] Se requiere boardId.',\n photoRequired: 'Agrega una foto.',\n bodyRequired: 'Escribe algo de texto o adjunta una imagen.',\n titleRequired: 'Ingresa un título.',\n },\n profile: {\n stats: {\n posts: '{count} publicaciones',\n comments: '{count} comentarios',\n aiUsage: 'IA usada {used} / {limit}',\n aiUsageResets: 'IA usada {used} / {limit} · se restablece en {hours} h',\n warnings: '{count} advertencias',\n },\n notFound: 'No se encontró el usuario.',\n noName: 'Sin nombre',\n joined: 'Se unió {time}',\n lastVisit: 'Última visita {time}',\n },\n profileEditModal: {\n imageOnly: 'Solo puedes seleccionar archivos de imagen.',\n nameRequired: 'Ingresa un nombre.',\n saveFailed: 'No se pudo guardar el perfil.',\n title: 'Editar perfil',\n changePhoto: 'Cambiar foto',\n name: 'Nombre',\n bio: 'Biografía',\n bioPlaceholder: 'Cuéntales a los demás sobre ti',\n },\n reportButton: {\n failed: 'No se pudo enviar el reporte.',\n reported: 'Reportado',\n title: 'Reportar publicación',\n done: 'Recibimos tu reporte. El personal lo revisará.',\n reason: 'Motivo',\n detailPlaceholder: 'Detalles (opcional)',\n submit: 'Reportar',\n },\n reportList: {\n staffOnly: 'Solo el personal puede ver los reportes.',\n loadFailed: 'No se pudo cargar la lista: {error}',\n empty: 'No hay reportes pendientes.',\n untitled: 'Publicación sin título',\n author: 'por {name}',\n dismiss: 'Descartar',\n confirm: 'Resolver',\n },\n reports: {\n reason: {\n spam: 'Spam / publicidad',\n abuse: 'Insultos / odio / acoso',\n adult: 'Contenido sexual',\n illegal: 'Contenido ilegal',\n other: 'Otro',\n },\n fallbackLabel: 'Reporte',\n signInRequired: 'Inicia sesión.',\n cannotReportOwn: 'No puedes reportar tu propia publicación.',\n reasonRequired: 'Selecciona un motivo.',\n detailTooLong: 'Los detalles pueden tener hasta {max} caracteres.',\n },\n sectionUtil: {\n kind: {\n list: 'Lista de publicaciones',\n post: 'Publicaciones',\n comments: 'Comentarios',\n },\n sort: {\n latest: 'Más recientes',\n likes: 'Más gustados',\n },\n untitledPost: 'Publicación',\n view: {\n media: 'Multimedia',\n list: 'Lista',\n },\n },\n sections: {\n defaultTitle: 'Sección {n}',\n },\n seo: {\n allCategory: 'Todo',\n boardDescription: 'Tablero {name}',\n allDescription: 'Tablero: anuncios y novedades de la comunidad.',\n postFallbackTitle: 'Publicación | {site}',\n postFallbackDescription: 'Tablero',\n photo: 'Foto',\n postDescriptionFallback: 'Publicación del tablero',\n listTitle: '{name} | {site}',\n listTitleAll: 'Tablero | {site}',\n listDescription: '{name}: ponte al día con las últimas publicaciones.',\n listDescriptionAll: 'Tablero: anuncios e historias.',\n },\n settings: {\n aiTitle: {\n label: 'Escribir títulos con IA',\n help: 'Si dejas vacío el título de una publicación nueva, la IA escribe uno a partir del texto (o de la primera foto si no hay texto). Las fotos solo se envían a Google AI para eso. Desactívalo para exigir un título escrito y dejar de enviar fotos.',\n },\n site: {\n apply: 'Aplicar',\n applied: 'Aplicado.',\n title: 'Ajustes generales',\n help: 'Se aplican a todo el sitio. Prevalecen sobre los ajustes de la aplicación anfitriona y surten efecto al cambiarlos.',\n ai: { label: 'Usar funciones de IA', help: 'Desactívalo si no puedes usar IA, por ejemplo por el coste. Desactiva la traducción, el asistente de escritura, los títulos con IA y la moderación con IA, y las fotos dejan de enviarse a la IA. La comprobación de palabras prohibidas sigue funcionando.' },\n i18n: { label: 'Usar internacionalización', help: 'Si está desactivada, todas las pantallas quedan fijadas en el idioma elegido abajo y la traducción se desactiva. Las traducciones guardadas no se eliminan.' },\n locales: { label: 'Idiomas disponibles', help: 'Solo los {count} idiomas seleccionados se traducen y aparecen en el menú de idiomas. Los demás no reciben traducciones nuevas y las traducciones guardadas no se eliminan.' },\n locale: { label: 'Idioma predeterminado', help: 'El idioma que se usa cuando la aplicación anfitriona no define uno.', fixedLabel: 'Idioma fijo', fixedHelp: 'Todas las pantallas se muestran en este idioma.' },\n },\n i18nBoard: {\n label: 'Internacionalización',\n help: 'Si está activada, el nombre y la descripción del tablero y las publicaciones y comentarios nuevos se traducen automáticamente a {count} idiomas y se guardan. Si está desactivada, solo se muestra el texto original.',\n existing: 'Traducir también las publicaciones existentes',\n },\n about: {\n label: 'Mostrar About memi-board',\n help: 'Muestra el enlace y la ventana de About memi-board al pie de cada pantalla del tablero. Desactívalo para ocultarlo en todo el sitio.',\n },\n postTranslations: {\n label: 'Traducir publicaciones existentes',\n help: 'Busca publicaciones cuya traducción falta o ya no coincide con el original, y las traduce y guarda de una vez. Úsalo en tableros con la traducción automática desactivada o para completar publicaciones que se quedaron sin traducir. No consume la cuota diaria de IA.',\n scan: 'Buscar publicaciones por traducir',\n run: 'Traducir {count} publicaciones',\n confirm: 'Se traducirán y guardarán {count} publicaciones, con una llamada de IA por cada una. ¿Continuar?',\n progress: 'Traduciendo… {done} listas, {failed} con error',\n allDone: 'Las {total} publicaciones publicadas tienen la traducción al día.',\n found: '{count} de {total} publicaciones publicadas necesitan traducción.',\n failed: 'No se pudieron traducir {count} publicaciones. Busca de nuevo y vuelve a intentarlo.',\n },\n loading: 'Cargando configuración…',\n noAccess: 'No tienes acceso',\n notFound: {\n title: 'No se encontró el tablero',\n checkAddress: 'Verifica la dirección.',\n checkBoardAddress: 'Verifica la dirección del tablero.',\n },\n newBoard: {\n title: 'Este tablero aún no existe',\n description: 'Completa los datos de abajo y guarda para crearlo con este ID.',\n },\n noLabel: 'Sin etiqueta',\n option: {\n default: 'Estándar',\n },\n id: {\n label: 'ID de categoría',\n help: 'Se usa en la URL y en los datos',\n },\n writeRole: {\n label: 'Quién puede publicar',\n help: 'Rol mínimo necesario para publicar en esta categoría',\n helpShort: 'Rol mínimo necesario para publicar',\n options: {\n user: 'Usuarios o superior',\n staff: 'Personal o superior',\n admin: 'Solo administradores',\n },\n },\n commentWriteRole: {\n label: 'Quién puede comentar',\n help: 'Rol mínimo necesario para comentar en esta categoría',\n helpShort: 'Rol mínimo necesario para comentar',\n hiddenFixed: 'Solo personal asignado (fijo en tableros ocultos)',\n },\n staff: {\n label: 'Personal asignado',\n help: 'Solo el personal seleccionado puede configurar y administrar este tablero. Déjalo vacío para que sea solo de administradores',\n placeholder: 'Solo administradores (sin personal asignado)',\n },\n label: {\n label: 'Nombre visible',\n help: 'El nombre que ven los usuarios',\n },\n description: {\n label: 'Descripción',\n help: 'Se muestra en la parte superior del tablero y en otros lugares',\n placeholder: 'Una breve descripción de este tablero (opcional)',\n },\n visibility: {\n label: 'Visibilidad',\n options: {\n public: {\n label: 'Visible',\n description: 'Se muestra en la lista completa y en los filtros',\n },\n hidden: {\n label: 'Oculto',\n description: 'Diario o privado. Solo el personal asignado puede comentar',\n },\n },\n },\n listView: {\n label: 'Vista de lista',\n help: 'Cómo se muestra la lista de publicaciones',\n options: {\n card: 'Tarjeta',\n dense: 'Compacta',\n video: 'Video',\n },\n },\n editorType: {\n label: 'Formulario de publicación',\n help: 'Cómo se escriben las publicaciones',\n options: {\n default: 'Escribir un título y un texto',\n image: 'Agregar varias fotos y una foto de portada',\n },\n },\n bulk: {\n title: 'Aplicar a todos los tableros',\n apply: 'Aplicar a {count} tableros',\n applyShort: 'Aplicar',\n confirmTitle: 'Aplicar a todos los tableros',\n translateUntranslated: 'Traducir tableros sin traducir ({count})',\n },\n translationLocales: {\n label: 'Idiomas de traducción',\n },\n locale: {\n label: 'Idioma del tablero',\n auto: 'Automático (según el idioma del sitio)',\n },\n autoTranslate: {\n action: \"Traducir a {count} idiomas\",\n manualHelp: \"Traduce el nombre y la descripción juntos y guarda para aplicar los cambios.\",\n pending: \"Las traducciones a {count} idiomas están listas. Guarda para aplicarlas.\",\n manualFailed: \"La traducción falló. Tu texto se conserva. Inténtalo de nuevo.\",\n label: 'Traducir a {count} idiomas al guardar',\n help: 'Si está activado, el nombre y la descripción se traducen a {count} idiomas. Si está desactivado, no se traducen. El texto sin cambios no se vuelve a traducir.',\n failed: 'Los ajustes se guardaron, pero falló la traducción a {count} idiomas. Guarda de nuevo.',\n ready: 'El nombre y la descripción están guardados en {count} idiomas.',\n },\n action: {\n moveDown: 'Bajar',\n goToBoard: 'Ir al tablero',\n deleteBoard: 'Eliminar tablero',\n create: 'Crear',\n },\n newCategoryPlaceholder: 'Nombre de la nueva categoría',\n savedCategory: 'Se guardó la categoría “{label}”.',\n savedSettings: 'Se guardó la configuración del tablero.',\n created: 'Tablero creado.',\n error: {\n orderFailed: 'No se pudo guardar el orden de las categorías.',\n deleteFailed: 'No se pudo eliminar el tablero ni sus datos.',\n saveFailed: 'No se pudo guardar la configuración del tablero.',\n deleteAllFailed: 'No se pudieron eliminar los datos del tablero.',\n },\n danger: {\n title: 'Zona de peligro',\n confirmLabel: 'Escribe “{phrase}” para confirmar',\n phrase: 'eliminar datos del tablero',\n button: 'Eliminar todos los datos',\n done: 'Se eliminaron todos los datos del tablero.',\n },\n },\n shareButton: {\n copied: 'Enlace copiado',\n },\n signIn: {\n withGoogle: 'Iniciar sesión con Google',\n withApple: 'Iniciar sesión con Apple',\n or: 'o',\n name: 'Nombre',\n email: 'Correo electrónico',\n password: 'Contraseña',\n signUp: 'Registrarse',\n toSignUp: '¿No tienes cuenta? Regístrate',\n toSignIn: '¿Ya tienes cuenta? Inicia sesión',\n },\n storage: {\n sourceTooLarge: 'La imagen original debe pesar {max}MB o menos.',\n imageOnly: 'Solo se pueden subir archivos de imagen.',\n canvasUnavailable: 'Canvas no está disponible',\n compressFailed: 'Error de compresión',\n loadFailed: 'No se pudo cargar la imagen',\n },\n swipeHint: {\n title: 'Prueba deslizar a la izquierda o a la derecha',\n description: 'Desliza a la izquierda para ver la siguiente publicación y a la derecha para la anterior.',\n },\n userCommentList: {\n loadFailed: 'No se pudo cargar la lista: {error}',\n empty: 'Aún no hay comentarios.',\n blinded: 'Un administrador ocultó este comentario.',\n likes: '{count} Me gusta',\n },\n userPostList: {\n loadFailed: 'No se pudo cargar la lista: {error}',\n empty: 'Aún no hay publicaciones.',\n },\n users: {\n changeRoleFailed: 'No se pudo cambiar el rol.',\n loading: 'Cargando usuarios…',\n noPermission: {\n title: 'Sin permiso',\n description: 'Solo los administradores del tablero pueden gestionar los roles de usuario.',\n },\n empty: 'Ningún usuario ha iniciado sesión en el tablero todavía.',\n noName: 'Sin nombre',\n moderationWarnings: '{count} advertencias de contenido',\n },\n writingAssistant: {\n dailyLimit: 'El asistente de escritura con IA se puede usar hasta {limit} veces al día. Vuelve a intentarlo en unas {hours} hora(s).',\n loginRequired: 'Inicia sesión para usar el asistente de escritura con AI.',\n userMissing: 'No se pudo verificar tu información de usuario. Inténtalo de nuevo.',\n contentRequired: 'Primero escribe algo de contenido para que la AI trabaje.',\n customRequired: 'Escribe una instrucción sobre cómo reescribirlo.',\n emptyResult: 'La AI no pudo generar un resultado. Inténtalo de nuevo.',\n translateEmpty: 'Escribe primero un título o un texto para traducir.',\n translateTooLong: 'Los textos de más de {limit} caracteres no se pueden guardar en {count} idiomas. Acórtalo e inténtalo de nuevo.',\n translateIncomplete: 'Algunos idiomas volvieron vacíos. Inténtalo de nuevo.',\n failed: 'La tarea de AI falló. Inténtalo de nuevo.',\n actions: {\n proofread: 'Revisar ortografía',\n polish: 'Pulir frases',\n continue: 'Seguir escribiendo',\n summarize: 'Resumir',\n translateEn: 'Traducir al inglés',\n translateKo: 'Traducir al coreano',\n translateAll: 'Traducir y guardar en {count} idiomas',\n translateSaved: 'Guardado en {count} idiomas. Quien lee ve la traducción de su idioma.',\n translatePending: 'Las traducciones a {count} idiomas están listas. Se guardan con la publicación.',\n translateEmpty: 'Escribe primero un título o un texto para traducir.',\n title: 'Generar título a partir del texto',\n custom: 'Reescribir con un estilo personalizado…',\n },\n },\n}\n\nexport default messages\n"],"mappings":"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"}
|
|
@@ -348,6 +348,11 @@ var e = {
|
|
|
348
348
|
commentNotFound: "Commentaire introuvable."
|
|
349
349
|
},
|
|
350
350
|
list: {
|
|
351
|
+
boardInfo: {
|
|
352
|
+
creator: "Créé par",
|
|
353
|
+
managers: "Gestionnaires",
|
|
354
|
+
staff: "Équipe"
|
|
355
|
+
},
|
|
351
356
|
commentCount: "{count} commentaires",
|
|
352
357
|
settings: "Paramètres",
|
|
353
358
|
loadFailed: "Impossible de charger la liste : {error}",
|
|
@@ -754,4 +759,4 @@ var e = {
|
|
|
754
759
|
//#endregion
|
|
755
760
|
export { e as default };
|
|
756
761
|
|
|
757
|
-
//# sourceMappingURL=fr-
|
|
762
|
+
//# sourceMappingURL=fr-Zf5mcs8m.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fr-Zf5mcs8m.js","names":[],"sources":["../src/i18n/messages/fr.ts"],"sourcesContent":["import type { MemiBoardMessages } from '../translate'\n\n/** 짧은 화면 문구만 번역한다. 빠진 키는 en → ko 순으로 폴백된다. */\nconst messages: MemiBoardMessages = {\n attachments: {\n attach: 'Joindre des fichiers ({count} / {max})',\n dropOrClick: 'Déposez des fichiers ou cliquez pour ajouter',\n uploading: 'Envoi des fichiers…',\n maxFiles: 'Vous pouvez joindre jusqu’à {max} fichiers.',\n },\n auth: {\n writeRestricted: 'En raison d’avertissements répétés, la publication et les commentaires sont temporairement restreints.',\n strikeSuffix: ' (avertissement {count}/{threshold})',\n strikeRestricted: ' Vous avez atteint {count} avertissements : la publication et les commentaires sont restreints.',\n notInitialized: '[memi-board] Firebase Auth n’est pas initialisé.',\n },\n authorMemo: {\n tooLong: 'Les notes sont limitées à {max} caractères.',\n },\n authorMenu: {\n viewProfile: 'Voir le profil',\n viewPosts: 'Voir les publications',\n viewComments: 'Voir les commentaires',\n memoAriaLabel: 'Note sur cet auteur',\n memoTitle: 'Note privée',\n memoPlaceholder: 'Notez quelque chose sur cet auteur…',\n bad: 'Mauvais',\n good: 'Bon',\n },\n avatarCropModal: {\n title: 'Recadrer la photo de profil',\n description: 'Affichée au format carré (1:1). Ajustez la zone.',\n confirm: 'Recadrer et importer',\n },\n boardSettings: {\n signInRequired: 'Veuillez vous connecter.',\n idAndNameRequired: 'Veuillez saisir un ID et un nom de forum.',\n deleteIdRequired: 'Un ID de forum est requis pour la suppression.',\n nameRequired: 'Veuillez saisir un nom de forum.',\n },\n boardUsers: {\n unsupportedRole: 'Rôle non pris en charge.',\n roleDescription: {\n admin: 'Gère les rôles, les paramètres du forum et tout le contenu.',\n user: 'Peut publier et commenter, et modifier ou supprimer uniquement son propre contenu.',\n },\n },\n commentFeed: {\n empty: 'Aucun commentaire pour l’instant.',\n emptyLiked: 'Aucun commentaire aimé pour l’instant.',\n loadFailed: 'Impossible de charger la liste : {error}',\n blinded: 'Ce commentaire a été masqué par un administrateur.',\n },\n commentForm: {\n translationSkipped: 'Le commentaire a été publié sans traduction. Vous pourrez le traduire plus tard depuis le formulaire de modification.',\n hiddenBoardDenied: 'Seule l’équipe attitrée peut commenter dans les forums masqués.',\n denied: 'Vous n’avez pas l’autorisation de commenter dans ce forum.',\n signInRequired: 'Veuillez vous connecter.',\n writeRestricted: 'En raison d’avertissements répétés, la publication et les commentaires sont temporairement restreints.',\n moderationBlocked: 'Ce contenu ne peut pas être publié.',\n replyTo: 'Répondre à {name}',\n placeholder: 'Écrire un commentaire',\n submitReply: 'Répondre',\n submit: 'Commenter',\n signInToComment: 'Connectez-vous pour laisser un commentaire.',\n attachHint: 'Déposez une image ici ou cliquez pour en choisir une.',\n attachNote: 'jpg, png, gif, webp. Les grandes images sont réduites à 5 Mo ou moins.',\n removeImage: 'Retirer l’image jointe',\n imageOnly: 'Seules les images jpg, png, gif et webp peuvent être jointes.',\n uploadFailed: 'Impossible d’envoyer l’image.',\n uploading: 'Envoi de l’image…',\n },\n commentItem: {\n editRestricted: 'La modification des commentaires est temporairement restreinte.',\n moderationBlocked: 'Ce contenu ne peut pas être publié.',\n editFailed: 'Impossible de modifier le commentaire.',\n blindFailed: 'Impossible de modifier l’état masqué.',\n likeFailed: 'Impossible de traiter le j’aime.',\n blinded: 'Ce commentaire a été masqué par un administrateur.',\n attachedImage: 'Image jointe au commentaire',\n edit: 'Modifier le commentaire',\n blind: 'Masquer le commentaire',\n unblind: 'Afficher le commentaire',\n delete: 'Supprimer le commentaire',\n },\n commentList: {\n loading: 'Chargement des commentaires',\n empty: 'Aucun commentaire pour l’instant.',\n loadMore: 'Plus de commentaires',\n loadingMore: 'Chargement d’autres commentaires',\n },\n commentThread: {\n deleteConfirm: 'Supprimer ce commentaire ?',\n deleteFailed: 'Impossible de supprimer le commentaire.',\n hideReplies: 'Masquer les réponses',\n showReplies: '{count} réponses',\n loadMoreReplies: 'Plus de réponses',\n },\n comments: {\n bodyRequired: 'Veuillez saisir un commentaire.',\n bodyTooLong: 'Les commentaires sont limités à {max} caractères.',\n replyTargetNotFound: 'Le commentaire auquel vous répondez est introuvable.',\n threadNotFound: 'Fil de commentaires introuvable.',\n hasRepliesCannotDelete: 'Les commentaires ayant des réponses ne peuvent pas être supprimés pour le moment.',\n },\n common: {\n action: {\n cancel: 'Annuler',\n save: 'Enregistrer',\n saved: 'Enregistré',\n edit: 'Modifier',\n delete: 'Supprimer',\n confirm: 'OK',\n close: 'Fermer',\n add: 'Ajouter',\n more: 'Plus',\n prev: 'Précédent',\n next: 'Suivant',\n retry: 'Réessayer',\n reply: 'Répondre',\n like: 'J’aime',\n unlike: 'Je n’aime plus',\n share: 'Partager',\n report: 'Signaler',\n signIn: 'Se connecter',\n signOut: 'Se déconnecter',\n write: 'Écrire',\n toTop: 'Haut',\n },\n label: {\n anonymous: 'Anonyme',\n user: 'Utilisateur',\n image: 'Image',\n draft: 'Brouillon',\n loading: 'Chargement…',\n },\n role: {\n admin: 'Admin',\n staff: 'Équipe',\n user: 'Utilisateur',\n },\n date: {\n justNow: 'À l’instant',\n fewSecondsAgo: 'Il y a quelques secondes',\n checking: 'Vérification de l’heure',\n createdAt: 'Créé : {time}',\n updatedAt: 'Modifié : {time}',\n },\n },\n detail: {\n deleteConfirm: 'Supprimer cette publication ? Cette action est irréversible.',\n notFound: 'Publication introuvable.',\n draftPreview: 'Aperçu non publié',\n draftNotice: 'Pas encore publiée. Vous seul pouvez la voir jusqu’à sa publication.',\n publish: 'Publier',\n notice: 'Annonce',\n pin: 'Épingler en annonce',\n unpin: 'Retirer l’annonce',\n backToList: 'Retour à la liste',\n postNav: 'Navigation entre publications',\n list: 'Liste',\n comments: 'Commentaires',\n },\n editor: {\n titleOptionalPlaceholder: 'Titre (laissez vide et l\\'IA en écrira un)',\n titleAiNotice: 'L\\'IA a écrit un titre à partir de votre texte. Enregistrez-le s\\'il vous plaît, ou modifiez-le d\\'abord.',\n translateView: {\n title: 'Aperçu de la traduction : {language}',\n notSaved: 'Non enregistré. Ceci n\\'est qu\\'un aperçu.',\n },\n titlePlaceholder: 'Titre',\n contentPlaceholder: 'Écrivez quelque chose… Tapez / pour ouvrir le menu des blocs.',\n imageContentPlaceholder: 'Écrivez quelque chose…',\n tagsPlaceholder: 'Saisissez un tag puis Entrée',\n pinNotice: 'Épingler en annonce',\n submitEdit: 'Enregistrer les modifications',\n submitNext: 'Suivant : aperçu',\n apply: 'Appliquer',\n imageOptimizing: 'Optimisation et importation de l’image…',\n cover: {\n imageLink: 'Lien d’image',\n addPhoto: 'Ajouter des photos',\n alt: 'Photo {n}',\n representative: 'Couverture',\n setRepresentative: 'Couverture',\n setRepresentativeAria: 'Définir la photo {n} comme couverture',\n remove: 'Retirer la photo',\n add: 'Ajouter',\n uploading: 'Importation…',\n dropOrClick: 'Déposez des photos ou cliquez pour ajouter',\n emptyHint: 'Sélection multiple · Couverture au choix après import · Glissez pour réordonner',\n uploadTitle: 'Importer',\n },\n uploadFailed: 'Échec de l’importation',\n aiAssistant: 'Assistant d’écriture AI',\n insertBlock: 'Insérer un bloc',\n blockMenu: 'Menu des blocs',\n imageDialog: {\n title: 'Ajouter une image',\n chooseFile: 'Choisir une image sur l’appareil',\n orLink: 'ou lien d’image',\n urlLabel: 'URL de l’image',\n previewAlt: 'Aperçu de l’image externe',\n addLink: 'Ajouter le lien',\n },\n customDialog: {\n title: 'Réécrire dans un style personnalisé',\n label: 'Comment réécrire le texte ?',\n help: 'ex. : sur un ton décontracté / dans un style soutenu / en points concis',\n placeholder: 'Sur un ton décontracté',\n },\n aiPreview: {\n title: 'Vérifier le résultat de l’AI',\n currentTitle: 'Titre actuel',\n newTitle: 'Nouveau titre',\n currentContent: 'Contenu actuel',\n appendedContent: 'Contenu à ajouter',\n before: 'Avant',\n after: 'Après',\n },\n menu: {\n ai: 'AI',\n aiContinue: 'Continuer avec l’AI',\n style: 'Style',\n insert: 'Insérer',\n paragraph: 'Paragraphe',\n heading1: 'Titre 1',\n heading2: 'Titre 2',\n heading3: 'Titre 3',\n bulletList: 'Liste à puces',\n orderedList: 'Liste numérotée',\n blockquote: 'Citation',\n codeBlock: 'Bloc de code',\n horizontalRule: 'Séparateur',\n image: 'Image',\n turnInto: 'Transformer en',\n resetFormatting: 'Réinitialiser la mise en forme',\n duplicate: 'Dupliquer',\n moveUp: 'Monter',\n moveDown: 'Descendre',\n delete: 'Supprimer',\n },\n toolbar: {\n link: 'Lien',\n image: 'Image',\n format: 'Format',\n bold: 'Gras',\n italic: 'Italique',\n underline: 'Souligné',\n strike: 'Barré',\n title: 'Titre',\n heading: 'En-tête',\n subheading: 'Sous-titre',\n body: 'Corps du texte',\n mono: 'Monospace',\n bulletList: 'Liste à puces',\n orderedList: 'Liste numérotée',\n blockquote: 'Citation en bloc',\n codeBlock: 'Bloc de code',\n horizontalRule: 'Séparateur',\n clearFormatting: 'Effacer la mise en forme',\n undo: 'Annuler',\n redo: 'Rétablir',\n },\n ai: {\n translateView: 'Voir la traduction',\n translateAll: 'Traduire et enregistrer en {count} langues',\n proofread: 'Vérifier l’orthographe',\n polish: 'Améliorer le texte',\n continue: 'Continuer l’écriture',\n summarize: 'Résumer brièvement',\n translateEn: 'Traduire en anglais',\n translateKo: 'Traduire en coréen',\n translateEmpty: 'Saisissez d’abord un titre ou un texte à traduire.',\n title: 'Générer un titre à partir du texte',\n custom: 'Réécrire dans un style personnalisé…',\n failed: 'La tâche AI a échoué. Veuillez réessayer.',\n },\n youtubePrompt: 'Saisissez un lien YouTube.',\n errors: {\n coverMax: 'Vous pouvez importer jusqu’à {max} photos.',\n imageUrlRequired: 'Saisissez l’URL d’une image.',\n imageUrlInvalid: 'Saisissez une URL d’image valide.',\n imageUrlHttps: 'Seules les URL d’images en HTTPS sont autorisées.',\n imageUrlCredentials: 'Les URL contenant des identifiants ne sont pas autorisées.',\n imageTimeout: 'Le chargement de l’image prend trop de temps.',\n imageNotDisplayable: 'Cette image ne peut pas être affichée.',\n editorNotReady: 'L’éditeur n’est pas prêt. Veuillez réessayer.',\n imageLinkFailed: 'Impossible d’ajouter le lien d’image.',\n imageOnly: 'Seuls les fichiers image peuvent être importés.',\n imageTooLarge: 'Les images originales ne doivent pas dépasser {mb} Mo.',\n imageUploadFailed: 'Échec de l’importation de l’image.',\n pasteAsFile: 'Collez ou glissez les photos sous forme de fichiers dans la zone ci-dessus.',\n postNotFound: 'Publication introuvable.',\n loadPermission: 'Vous n’avez pas l’autorisation de charger cette publication. Vérifiez que vous êtes connecté.',\n loadFailed: 'Impossible de charger la publication : {message}',\n titleRequired: 'Saisissez un titre.',\n photoRequired: 'Importez au moins une photo.',\n bodyRequired: 'Saisissez du texte ou joignez une image.',\n signInRequired: 'Connexion requise.',\n boardMissing: 'Aucun forum indiqué.',\n writeRestricted: 'En raison d’avertissements répétés, la publication et les commentaires sont temporairement restreints.',\n moderationBlocked: 'Ce contenu ne peut pas être publié.',\n },\n hint: {\n titling: 'Création du titre…',\n reviewing: 'Vérification du contenu…',\n saving: 'Enregistrement…',\n },\n },\n footer: {\n introduction: \"memi-board repose sur Nuxt 4, Vue 3 et TypeScript. Nuxt UI et Firebase relient naturellement publications, commentaires et conversations.\",\n eyebrow: \"Un espace de conversation\",\n tagline: \"Petites communautés. Histoires partagées.\",\n detail: \"Présentation détaillée\",\n links: \"Liens et contact\",\n email: \"E-mail\",\n credit: \"Créé par memi\",\n feedback: \"Envoyer un retour\",\n feedbackSubject: \"Retour sur memi-board\",\n feedbackBody: \"Retour :\\n\",\n siteEyebrow: \"Créé avec memi-board\",\n changelog: \"Journal des modifications\",\n info: {\n title: \"memi-board\",\n about: \"À propos de memi-board\",\n sites: \"Réalisations\",\n history: 'Historique des versions',\n },\n sites: {\n description: \"Ces services utilisent memi-board pour partager des publications et échanger.\",\n memi: \"Un espace consacré au développement et au quotidien\",\n waiting: \"Un service de file d’attente simple par QR code\",\n track: \"Le suivi GPS pour enregistrer vos parcours\",\n loop: \"Enregistrement des trajets et solutions de capteurs\",\n safe: \"Connexion et réglage d’un dispositif contre les erreurs de pédale\",\n inviteTitle: \"Vous aussi, vous l’utilisez ?\",\n invite: \"Indiquez-nous l’adresse de votre site.\",\n inviteSite: \"Laisser sur memi.dev\",\n inviteOr: \"ou\",\n inviteSubject: \"Nous utilisons memi-board\",\n inviteBody: \"Adresse du site :\\n\",\n },\n stack: {\n ui: 'Interface et expérience',\n data: 'Données et connexion',\n writing: 'Écriture et confort',\n },\n },\n likes: {\n signInRequired: 'Veuillez vous connecter.',\n commentNotFound: 'Commentaire introuvable.',\n },\n list: {\n boardInfo: {\n creator: 'Créé par',\n managers: 'Gestionnaires',\n staff: 'Équipe',\n },\n commentCount: '{count} commentaires',\n settings: 'Paramètres',\n loadFailed: 'Impossible de charger la liste : {error}',\n empty: 'Aucune publication pour l’instant.',\n notice: 'Annonce',\n photo: 'Photo',\n likeCount: 'J’aime {count}',\n info: {\n title: 'Infos du forum',\n about: 'À propos de ce forum',\n history: 'Historique des versions',\n },\n stack: {\n framework: 'Framework et langage',\n ui: 'UI et style',\n backend: 'Backend et données',\n },\n tech: {\n nuxt: 'Framework SSR basé sur Vue',\n vue: 'Composition API · script setup',\n typescript: 'Données et composants typés',\n nuxtUi: 'UI de forum, formulaires et modales',\n tailwind: 'Responsive · styles clair/sombre',\n lucide: 'Icônes légères et cohérentes',\n dayjs: 'Dates lisibles et temps relatifs',\n firestore: 'Base de données temps réel pour publications et commentaires',\n auth: 'Connexion et autorisations sécurisées',\n storage: 'Stockage des images et pièces jointes',\n vuefire: 'Liaison temps réel Nuxt–Firebase',\n },\n },\n listViewSwitch: {\n card: 'Carte',\n default: 'Standard',\n dense: 'Compact',\n video: 'Vidéo',\n },\n miniComments: {\n empty: 'Aucun commentaire pour l’instant.',\n blinded: 'Ce commentaire a été masqué par un administrateur.',\n },\n miniList: {\n empty: 'Aucune publication pour l’instant.',\n },\n miniPicker: {\n selectedCount: 'Sélectionnées {count} / {max}',\n layoutHint: 'Carrousel à partir de 2, grille pour 4',\n searchPlaceholder: 'Rechercher un titre',\n loading: 'Chargement des publications…',\n noMore: 'Plus aucune publication à sélectionner.',\n },\n miniPost: {\n empty: 'Aucune publication sélectionnée.',\n },\n moderation: {\n writeRestricted: 'En raison d’avertissements répétés, la publication et les commentaires sont temporairement restreints.',\n },\n moderationPrompt: {\n localHit: 'Les expressions comme « {hit} » ne sont pas autorisées. Veuillez reformuler.',\n localGeneric: 'Ce contenu contient des grossièretés et ne peut pas être publié. Veuillez reformuler.',\n genericBlocked: 'Ce contenu ne peut pas être publié. Veuillez le modifier.',\n categories: {\n abuse: 'grossièretés ou insultes',\n spam: 'spam ou publicité',\n adult: 'contenu sexuel ou pour adultes',\n violence: 'violence ou menaces',\n other: 'contenu inapproprié',\n },\n },\n moderationStrike: {\n liftSoon: 'levée bientôt',\n liftInHours: 'levée dans environ {hours} h',\n liftInDays: 'levée dans environ {days} j',\n liftInDaysHours: 'levée dans environ {days} j {hours} h',\n },\n posts: {\n boardIdRequired: '[memi-board] boardId est requis.',\n photoRequired: 'Veuillez ajouter une photo.',\n bodyRequired: 'Veuillez saisir du texte ou joindre une image.',\n titleRequired: 'Veuillez saisir un titre.',\n },\n profile: {\n stats: {\n posts: '{count} publications',\n comments: '{count} commentaires',\n aiUsage: 'IA utilisée {used} / {limit}',\n aiUsageResets: 'IA utilisée {used} / {limit} · réinitialisation dans {hours} h',\n warnings: '{count} avertissements',\n },\n notFound: 'Utilisateur introuvable.',\n noName: 'Sans nom',\n joined: 'Inscrit {time}',\n lastVisit: 'Vu {time}',\n },\n profileEditModal: {\n imageOnly: 'Seuls les fichiers image peuvent être sélectionnés.',\n nameRequired: 'Veuillez saisir un nom.',\n saveFailed: 'Impossible d’enregistrer le profil.',\n title: 'Modifier le profil',\n changePhoto: 'Changer la photo',\n name: 'Nom',\n bio: 'Bio',\n bioPlaceholder: 'Présentez-vous',\n },\n reportButton: {\n failed: 'Impossible d’envoyer le signalement.',\n reported: 'Signalé',\n title: 'Signaler la publication',\n done: 'Signalement reçu. L’équipe va l’examiner.',\n reason: 'Motif',\n detailPlaceholder: 'Détails (facultatif)',\n submit: 'Signaler',\n },\n reportList: {\n staffOnly: 'Seule l’équipe peut consulter les signalements.',\n loadFailed: 'Impossible de charger la liste : {error}',\n empty: 'Aucun signalement en attente.',\n untitled: 'Publication sans titre',\n author: 'par {name}',\n dismiss: 'Rejeter',\n confirm: 'Traiter',\n },\n reports: {\n reason: {\n spam: 'Spam / publicité',\n abuse: 'Insultes / haine / harcèlement',\n adult: 'Contenu sexuel',\n illegal: 'Contenu illégal',\n other: 'Autre',\n },\n fallbackLabel: 'Signalement',\n signInRequired: 'Veuillez vous connecter.',\n cannotReportOwn: 'Vous ne pouvez pas signaler votre propre publication.',\n reasonRequired: 'Veuillez choisir un motif.',\n detailTooLong: 'Les détails sont limités à {max} caractères.',\n },\n sectionUtil: {\n kind: {\n list: 'Liste de publications',\n post: 'Publications',\n comments: 'Commentaires',\n },\n sort: {\n latest: 'Plus récentes',\n likes: 'Plus aimées',\n },\n untitledPost: 'Publication',\n view: {\n media: 'Médias',\n list: 'Liste',\n },\n },\n sections: {\n defaultTitle: 'Section {n}',\n },\n seo: {\n allCategory: 'Tout',\n boardDescription: 'Forum {name}',\n allDescription: 'Forum – annonces et actualités de la communauté.',\n postFallbackTitle: 'Publication | {site}',\n postFallbackDescription: 'Forum',\n photo: 'Photo',\n postDescriptionFallback: 'Publication du forum',\n listTitle: '{name} | {site}',\n listTitleAll: 'Forum | {site}',\n listDescription: '{name} – les dernières publications.',\n listDescriptionAll: 'Forum – annonces et discussions.',\n },\n settings: {\n aiTitle: {\n label: 'Écrire les titres avec l\\'IA',\n help: 'Si le titre d\\'une nouvelle publication est vide, l\\'IA en écrit un à partir du texte (ou de la première photo s\\'il n\\'y a pas de texte). Les photos ne sont envoyées à Google AI que pour cela. Désactivez pour exiger un titre saisi et ne plus envoyer de photos.',\n },\n site: {\n apply: 'Appliquer',\n applied: 'Appliqué.',\n title: 'Paramètres généraux',\n help: 'S\\'appliquent à tout le site. Ils prennent le pas sur les réglages de l\\'application hôte et sont appliqués immédiatement.',\n ai: { label: 'Utiliser les fonctions d\\'IA', help: 'Désactivez si vous ne pouvez pas utiliser l\\'IA, par exemple pour des raisons de coût. Cela désactive la traduction, l\\'assistant d\\'écriture, les titres par IA et la modération par IA, et les photos ne sont plus envoyées à l\\'IA. La vérification des mots interdits continue de fonctionner.' },\n i18n: { label: 'Utiliser l\\'internationalisation', help: 'Désactivée, tous les écrans sont figés sur la langue choisie ci-dessous et la traduction est désactivée. Les traductions déjà enregistrées ne sont pas supprimées.' },\n locales: { label: 'Langues proposées', help: 'Seules les {count} langues sélectionnées sont traduites et affichées dans le menu des langues. Les autres n\\'obtiennent pas de nouvelles traductions, et les traductions enregistrées ne sont pas supprimées.' },\n locale: { label: 'Langue par défaut', help: 'La langue utilisée quand l\\'application hôte n\\'en définit pas.', fixedLabel: 'Langue fixe', fixedHelp: 'Tous les écrans s\\'affichent dans cette langue.' },\n },\n i18nBoard: {\n label: 'Internationalisation',\n help: 'Activée, le nom et la description du forum ainsi que les nouvelles publications et commentaires sont traduits automatiquement en {count} langues et enregistrés. Désactivée, seul le texte original s\\'affiche.',\n existing: 'Traduire aussi les publications existantes',\n },\n about: {\n label: 'Afficher About memi-board',\n help: 'Affiche le lien et la fenêtre About memi-board en bas de chaque écran du forum. Désactivez-le pour le masquer sur tout le site.',\n },\n postTranslations: {\n label: 'Traduire les publications existantes',\n help: 'Repère les publications dont la traduction manque ou ne correspond plus à l\\'original, puis les traduit et les enregistre en une fois. Utile pour les forums sans traduction automatique ou pour rattraper des publications oubliées. N\\'utilise pas le quota quotidien d\\'IA.',\n scan: 'Rechercher les publications à traduire',\n run: 'Traduire {count} publications',\n confirm: '{count} publications vont être traduites et enregistrées, avec un appel IA pour chacune. Continuer ?',\n progress: 'Traduction en cours… {done} terminées, {failed} échouées',\n allDone: 'Les {total} publications publiées ont une traduction à jour.',\n found: '{count} publications publiées sur {total} doivent être traduites.',\n failed: '{count} publications n\\'ont pas pu être traduites. Relancez la recherche et réessayez.',\n },\n loading: 'Chargement des paramètres…',\n noAccess: 'Accès refusé',\n notFound: {\n title: 'Forum introuvable',\n checkAddress: 'Veuillez vérifier l’adresse.',\n checkBoardAddress: 'Veuillez vérifier l’adresse du forum.',\n },\n newBoard: {\n title: 'Ce forum n’existe pas encore',\n description: 'Remplissez les informations ci-dessous et enregistrez pour le créer avec cet ID.',\n },\n noLabel: 'Sans libellé',\n option: {\n default: 'Standard',\n },\n id: {\n label: 'ID de catégorie',\n help: 'Utilisé dans l’URL et les données',\n },\n writeRole: {\n label: 'Qui peut publier',\n help: 'Rôle minimum pour publier dans cette catégorie',\n helpShort: 'Rôle minimum pour publier',\n options: {\n user: 'Utilisateurs et plus',\n staff: 'Équipe et plus',\n admin: 'Admins uniquement',\n },\n },\n commentWriteRole: {\n label: 'Qui peut commenter',\n help: 'Rôle minimum pour commenter dans cette catégorie',\n helpShort: 'Rôle minimum pour commenter',\n hiddenFixed: 'Équipe attitrée uniquement (fixe pour les forums masqués)',\n },\n staff: {\n label: 'Équipe attitrée',\n help: 'Seuls les membres sélectionnés peuvent configurer et gérer ce forum. Laissez vide pour les admins uniquement',\n placeholder: 'Admins uniquement (aucune équipe attitrée)',\n },\n label: {\n label: 'Nom affiché',\n help: 'Le nom visible par les utilisateurs',\n },\n description: {\n label: 'Description',\n help: 'Affichée en haut du forum, entre autres',\n placeholder: 'Brève description de ce forum (facultatif)',\n },\n visibility: {\n label: 'Visibilité',\n options: {\n public: {\n label: 'Visible',\n description: 'Affiché dans la liste complète et les filtres',\n },\n hidden: {\n label: 'Masqué',\n description: 'Journal ou privé. Seule l’équipe attitrée peut commenter',\n },\n },\n },\n listView: {\n label: 'Vue de liste',\n help: 'Affichage de la liste des publications',\n options: {\n card: 'Carte',\n dense: 'Compact',\n video: 'Vidéo',\n },\n },\n editorType: {\n label: 'Formulaire de publication',\n help: 'Mode de rédaction des publications',\n options: {\n default: 'Rédiger un titre et un texte',\n image: 'Ajouter plusieurs photos et une couverture',\n },\n },\n bulk: {\n title: 'Appliquer à tous les forums',\n apply: 'Appliquer à {count} forums',\n applyShort: 'Appliquer',\n confirmTitle: 'Appliquer à tous les forums',\n translateUntranslated: 'Traduire les forums non traduits ({count})',\n },\n translationLocales: {\n label: 'Langues de traduction',\n },\n locale: {\n label: 'Langue du forum',\n auto: 'Automatique (langue du site)',\n },\n autoTranslate: {\n action: \"Traduire en {count} langues\",\n manualHelp: \"Traduisez le libellé et la description ensemble, puis enregistrez pour appliquer.\",\n pending: \"Les traductions en {count} langues sont prêtes. Enregistrez pour appliquer.\",\n manualFailed: \"La traduction a échoué. Votre texte est conservé. Veuillez réessayer.\",\n label: 'Traduire en {count} langues à l’enregistrement',\n help: 'Si activé, le nom et la description sont traduits en {count} langues. Sinon, ils ne sont pas traduits. Un texte inchangé n’est pas retraduit.',\n failed: 'Les réglages sont enregistrés, mais la traduction en {count} langues a échoué. Enregistrez à nouveau.',\n ready: 'Le nom et la description sont enregistrés en {count} langues.',\n },\n action: {\n moveDown: 'Descendre',\n goToBoard: 'Aller au forum',\n deleteBoard: 'Supprimer le forum',\n create: 'Créer',\n },\n newCategoryPlaceholder: 'Nom de la nouvelle catégorie',\n savedCategory: 'Catégorie « {label} » enregistrée.',\n savedSettings: 'Paramètres du forum enregistrés.',\n created: 'Forum créé.',\n error: {\n orderFailed: 'Impossible d’enregistrer l’ordre des catégories.',\n deleteFailed: 'Impossible de supprimer le forum et ses données.',\n saveFailed: 'Impossible d’enregistrer les paramètres du forum.',\n deleteAllFailed: 'Impossible de supprimer les données du forum.',\n },\n danger: {\n title: 'Zone de danger',\n confirmLabel: 'Saisissez « {phrase} » pour confirmer',\n phrase: 'supprimer les données du forum',\n button: 'Supprimer toutes les données',\n done: 'Toutes les données du forum ont été supprimées.',\n },\n },\n shareButton: {\n copied: 'Lien copié',\n },\n signIn: {\n withGoogle: 'Se connecter avec Google',\n withApple: 'Se connecter avec Apple',\n or: 'ou',\n name: 'Nom',\n email: 'E-mail',\n password: 'Mot de passe',\n signUp: 'S’inscrire',\n toSignUp: 'Pas encore de compte ? S’inscrire',\n toSignIn: 'Déjà un compte ? Se connecter',\n },\n storage: {\n sourceTooLarge: 'L’image originale ne doit pas dépasser {max} Mo.',\n imageOnly: 'Seuls les fichiers image peuvent être importés.',\n canvasUnavailable: 'Canvas n’est pas disponible',\n compressFailed: 'Échec de la compression',\n loadFailed: 'Échec du chargement de l’image',\n },\n swipeHint: {\n title: 'Balayez vers la gauche ou la droite',\n description: 'Balayez vers la gauche pour la publication suivante, vers la droite pour la précédente.',\n },\n userCommentList: {\n loadFailed: 'Impossible de charger la liste : {error}',\n empty: 'Aucun commentaire pour l’instant.',\n blinded: 'Ce commentaire a été masqué par un administrateur.',\n likes: '{count} j’aime',\n },\n userPostList: {\n loadFailed: 'Impossible de charger la liste : {error}',\n empty: 'Aucune publication pour l’instant.',\n },\n users: {\n changeRoleFailed: 'Impossible de modifier le rôle.',\n loading: 'Chargement des utilisateurs…',\n noPermission: {\n title: 'Aucune autorisation',\n description: 'Seuls les admins du forum peuvent gérer les rôles des utilisateurs.',\n },\n empty: 'Aucun utilisateur ne s’est encore connecté au forum.',\n noName: 'Sans nom',\n moderationWarnings: '{count} avertissements de contenu',\n },\n writingAssistant: {\n dailyLimit: 'L’assistant d’écriture IA peut être utilisé jusqu’à {limit} fois par jour. Réessayez dans environ {hours} heure(s).',\n loginRequired: 'Connectez-vous pour utiliser l’assistant d’écriture AI.',\n userMissing: 'Impossible de vérifier vos informations. Veuillez réessayer.',\n contentRequired: 'Saisissez d’abord un texte à traiter par l’AI.',\n customRequired: 'Saisissez une consigne de réécriture.',\n emptyResult: 'L’AI n’a pas pu produire de résultat. Veuillez réessayer.',\n translateEmpty: 'Saisissez d’abord un titre ou un texte à traduire.',\n translateTooLong: 'Un texte de plus de {limit} caractères ne peut pas être enregistré en {count} langues. Raccourcissez-le et réessayez.',\n translateIncomplete: 'Certaines langues sont revenues vides. Veuillez réessayer.',\n failed: 'La tâche AI a échoué. Veuillez réessayer.',\n actions: {\n proofread: 'Vérifier l’orthographe',\n polish: 'Améliorer le texte',\n continue: 'Continuer l’écriture',\n summarize: 'Résumer brièvement',\n translateEn: 'Traduire en anglais',\n translateKo: 'Traduire en coréen',\n translateAll: 'Traduire et enregistrer en {count} langues',\n translateSaved: 'Enregistré en {count} langues. Les lecteurs voient la traduction de leur langue.',\n translatePending: 'Les traductions en {count} langues sont prêtes. Elles sont enregistrées avec le message.',\n translateEmpty: 'Saisissez d’abord un titre ou un texte à traduire.',\n title: 'Générer un titre à partir du texte',\n custom: 'Réécrire dans un style personnalisé…',\n },\n },\n}\n\nexport default messages\n"],"mappings":"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"}
|
|
@@ -348,6 +348,11 @@ var e = {
|
|
|
348
348
|
commentNotFound: "Komentar tidak ditemukan."
|
|
349
349
|
},
|
|
350
350
|
list: {
|
|
351
|
+
boardInfo: {
|
|
352
|
+
creator: "Dibuat oleh",
|
|
353
|
+
managers: "Manajer",
|
|
354
|
+
staff: "Staf"
|
|
355
|
+
},
|
|
351
356
|
commentCount: "{count} komentar",
|
|
352
357
|
settings: "Pengaturan",
|
|
353
358
|
loadFailed: "Gagal memuat daftar: {error}",
|
|
@@ -754,4 +759,4 @@ var e = {
|
|
|
754
759
|
//#endregion
|
|
755
760
|
export { e as default };
|
|
756
761
|
|
|
757
|
-
//# sourceMappingURL=id-
|
|
762
|
+
//# sourceMappingURL=id-CaWN8212.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-CaWN8212.js","names":[],"sources":["../src/i18n/messages/id.ts"],"sourcesContent":["import type { MemiBoardMessages } from '../translate'\n\n/** 짧은 화면 문구만 번역한다. 빠진 키는 en → ko 순으로 폴백된다. */\nconst messages: MemiBoardMessages = {\n attachments: {\n attach: 'Lampirkan file ({count} / {max})',\n dropOrClick: 'Letakkan file atau klik untuk menambah',\n uploading: 'Mengunggah file…',\n maxFiles: 'Anda dapat melampirkan hingga {max} file.',\n },\n auth: {\n writeRestricted: 'Membuat postingan dan komentar dibatasi sementara karena peringatan konten berulang.',\n strikeSuffix: ' (Peringatan {count}/{threshold})',\n strikeRestricted: ' Setelah {count} peringatan, membuat postingan dan komentar akan dibatasi.',\n notInitialized: '[memi-board] Firebase Auth belum diinisialisasi.',\n },\n authorMemo: {\n tooLong: 'Catatan maksimal {max} karakter.',\n },\n authorMenu: {\n viewProfile: 'Lihat profil',\n viewPosts: 'Lihat postingan',\n viewComments: 'Lihat komentar',\n memoAriaLabel: 'Catatan tentang penulis ini',\n memoTitle: 'Catatan pribadi',\n memoPlaceholder: 'Tulis sesuatu tentang penulis ini…',\n bad: 'Buruk',\n good: 'Baik',\n },\n avatarCropModal: {\n title: 'Pangkas foto profil',\n description: 'Ditampilkan sebagai persegi (1:1). Sesuaikan areanya.',\n confirm: 'Pangkas dan unggah',\n },\n boardSettings: {\n signInRequired: 'Silakan masuk.',\n idAndNameRequired: 'Masukkan ID dan nama papan.',\n deleteIdRequired: 'ID papan diperlukan untuk menghapus.',\n nameRequired: 'Masukkan nama papan.',\n },\n boardUsers: {\n unsupportedRole: 'Peran tidak didukung.',\n roleDescription: {\n admin: 'Mengelola peran pengguna, pengaturan papan, dan semua konten.',\n user: 'Dapat menulis postingan dan komentar, serta mengedit atau menghapus konten miliknya sendiri.',\n },\n },\n commentFeed: {\n empty: 'Belum ada komentar.',\n emptyLiked: 'Belum ada komentar yang disukai.',\n loadFailed: 'Gagal memuat daftar: {error}',\n blinded: 'Komentar ini disembunyikan oleh admin.',\n },\n commentForm: {\n translationSkipped: 'Komentar diposting tanpa terjemahan. Anda bisa menerjemahkannya nanti dari formulir edit.',\n hiddenBoardDenied: 'Hanya staf yang ditugaskan yang dapat berkomentar di papan tersembunyi.',\n denied: 'Anda tidak memiliki izin untuk berkomentar di papan ini.',\n signInRequired: 'Silakan masuk.',\n writeRestricted: 'Membuat postingan dibatasi sementara karena peringatan konten berulang.',\n moderationBlocked: 'Berisi konten yang tidak dapat diposting.',\n replyTo: 'Balas {name}',\n placeholder: 'Tulis komentar',\n submitReply: 'Balas',\n submit: 'Kirim',\n signInToComment: 'Masuk untuk menulis komentar.',\n attachHint: 'Letakkan gambar di sini atau klik untuk memilih.',\n attachNote: 'jpg, png, gif, webp. Gambar besar diperkecil hingga 5MB atau kurang.',\n removeImage: 'Hapus gambar terlampir',\n imageOnly: 'Hanya gambar jpg, png, gif, dan webp yang dapat dilampirkan.',\n uploadFailed: 'Gambar gagal diunggah.',\n uploading: 'Mengunggah gambar…',\n },\n commentItem: {\n editRestricted: 'Mengedit komentar dibatasi sementara.',\n moderationBlocked: 'Berisi konten yang tidak dapat diposting.',\n editFailed: 'Gagal memperbarui komentar.',\n blindFailed: 'Gagal mengubah status sembunyi.',\n likeFailed: 'Gagal memproses suka.',\n blinded: 'Komentar ini disembunyikan oleh admin.',\n attachedImage: 'Gambar yang dilampirkan pada komentar',\n edit: 'Edit komentar',\n blind: 'Sembunyikan komentar',\n unblind: 'Tampilkan komentar',\n delete: 'Hapus komentar',\n },\n commentList: {\n loading: 'Memuat komentar',\n empty: 'Belum ada komentar.',\n loadMore: 'Komentar lainnya',\n loadingMore: 'Memuat komentar lainnya',\n },\n commentThread: {\n deleteConfirm: 'Hapus komentar ini?',\n deleteFailed: 'Gagal menghapus komentar.',\n hideReplies: 'Sembunyikan balasan',\n showReplies: '{count} balasan',\n loadMoreReplies: 'Balasan lainnya',\n },\n comments: {\n bodyRequired: 'Masukkan komentar.',\n bodyTooLong: 'Komentar maksimal {max} karakter.',\n replyTargetNotFound: 'Komentar yang Anda balas tidak ditemukan.',\n threadNotFound: 'Utas komentar tidak ditemukan.',\n hasRepliesCannotDelete: 'Komentar yang memiliki balasan tidak dapat dihapus saat ini.',\n },\n common: {\n action: {\n cancel: 'Batal',\n save: 'Simpan',\n saved: 'Tersimpan',\n edit: 'Edit',\n delete: 'Hapus',\n confirm: 'OK',\n close: 'Tutup',\n add: 'Tambah',\n more: 'Lainnya',\n prev: 'Sebelumnya',\n next: 'Berikutnya',\n retry: 'Coba lagi',\n reply: 'Balas',\n like: 'Suka',\n unlike: 'Batal suka',\n share: 'Bagikan',\n report: 'Laporkan',\n signIn: 'Masuk',\n signOut: 'Keluar',\n write: 'Tulis',\n toTop: 'Ke atas',\n },\n label: {\n anonymous: 'Anonim',\n user: 'Pengguna',\n image: 'Gambar',\n draft: 'Draf',\n loading: 'Memuat…',\n },\n role: {\n admin: 'Admin',\n staff: 'Staf',\n user: 'Pengguna',\n },\n date: {\n justNow: 'Baru saja',\n fewSecondsAgo: 'Beberapa detik lalu',\n checking: 'Memeriksa waktu',\n createdAt: 'Dibuat: {time}',\n updatedAt: 'Diperbarui: {time}',\n },\n },\n detail: {\n deleteConfirm: 'Hapus postingan ini? Tindakan ini tidak dapat dibatalkan.',\n notFound: 'Postingan tidak ditemukan.',\n draftPreview: 'Pratinjau belum terbit',\n draftNotice: 'Postingan ini belum diterbitkan. Hanya Anda yang dapat melihatnya hingga diterbitkan.',\n publish: 'Terbitkan',\n notice: 'Pengumuman',\n pin: 'Jadikan pengumuman',\n unpin: 'Hapus pengumuman',\n backToList: 'Kembali ke daftar',\n postNav: 'Navigasi postingan',\n list: 'Daftar',\n comments: 'Komentar',\n },\n editor: {\n titleOptionalPlaceholder: 'Judul (kosongkan agar AI membuatkannya)',\n titleAiNotice: 'AI membuat judul dari teks Anda. Simpan jika sudah cocok, atau ubah dulu.',\n translateView: {\n title: 'Pratinjau terjemahan: {language}',\n notSaved: 'Belum disimpan. Ini hanya pratinjau.',\n },\n titlePlaceholder: 'Judul',\n contentPlaceholder: 'Tulis sesuatu… Ketik / untuk membuka menu blok.',\n imageContentPlaceholder: 'Tulis sesuatu…',\n tagsPlaceholder: 'Ketik tag lalu tekan Enter',\n pinNotice: 'Jadikan pengumuman',\n submitEdit: 'Simpan perubahan',\n submitNext: 'Berikutnya: Pratinjau',\n apply: 'Terapkan',\n imageOptimizing: 'Mengoptimalkan dan mengunggah gambar…',\n cover: {\n imageLink: 'Tautan gambar',\n addPhoto: 'Tambah foto',\n alt: 'Foto {n}',\n representative: 'Sampul',\n setRepresentative: 'Jadikan sampul',\n setRepresentativeAria: 'Jadikan foto {n} sebagai sampul',\n remove: 'Hapus foto',\n add: 'Tambah',\n uploading: 'Mengunggah…',\n dropOrClick: 'Letakkan foto atau klik untuk menambah',\n emptyHint: 'Bisa pilih beberapa · Pilih sampul setelah diunggah · Seret untuk mengurutkan',\n uploadTitle: 'Unggah',\n },\n uploadFailed: 'Gagal mengunggah',\n aiAssistant: 'Asisten menulis AI',\n insertBlock: 'Sisipkan blok',\n blockMenu: 'Menu blok',\n imageDialog: {\n title: 'Tambah gambar',\n chooseFile: 'Pilih gambar dari perangkat',\n orLink: 'atau tautan gambar',\n urlLabel: 'URL gambar',\n previewAlt: 'Pratinjau gambar eksternal',\n addLink: 'Tambah tautan',\n },\n customDialog: {\n title: 'Tulis ulang dengan gaya kustom',\n label: 'Ingin ditulis ulang seperti apa?',\n help: 'mis. dengan nada santai / dengan gaya formal / sebagai poin-poin ringkas',\n placeholder: 'Dengan nada santai',\n },\n aiPreview: {\n title: 'Tinjau hasil AI',\n currentTitle: 'Judul saat ini',\n newTitle: 'Judul baru',\n currentContent: 'Konten saat ini',\n appendedContent: 'Konten yang ditambahkan',\n before: 'Sebelum',\n after: 'Sesudah',\n },\n menu: {\n ai: 'AI',\n aiContinue: 'Lanjutkan dengan AI',\n style: 'Gaya',\n insert: 'Sisipkan',\n paragraph: 'Paragraf',\n heading1: 'Judul 1',\n heading2: 'Judul 2',\n heading3: 'Judul 3',\n bulletList: 'Daftar berpoin',\n orderedList: 'Daftar bernomor',\n blockquote: 'Kutipan',\n codeBlock: 'Blok kode',\n horizontalRule: 'Pembatas',\n image: 'Gambar',\n turnInto: 'Ubah menjadi',\n resetFormatting: 'Atur ulang format',\n duplicate: 'Duplikat',\n moveUp: 'Pindah ke atas',\n moveDown: 'Pindah ke bawah',\n delete: 'Hapus',\n },\n toolbar: {\n link: 'Tautan',\n image: 'Gambar',\n format: 'Format',\n bold: 'Tebal',\n italic: 'Miring',\n underline: 'Garis bawah',\n strike: 'Coret',\n title: 'Judul',\n heading: 'Judul bagian',\n subheading: 'Subjudul',\n body: 'Isi',\n mono: 'Monospace',\n bulletList: 'Daftar berpoin',\n orderedList: 'Daftar bernomor',\n blockquote: 'Kutipan blok',\n codeBlock: 'Blok kode',\n horizontalRule: 'Pembatas',\n clearFormatting: 'Hapus format',\n undo: 'Urungkan',\n redo: 'Ulangi',\n },\n ai: {\n translateView: 'Lihat terjemahan',\n translateAll: 'Terjemahkan dan simpan dalam {count} bahasa',\n proofread: 'Periksa ejaan',\n polish: 'Perbaiki tulisan',\n continue: 'Lanjutkan tulisan',\n summarize: 'Ringkas singkat',\n translateEn: 'Terjemahkan ke bahasa Inggris',\n translateKo: 'Terjemahkan ke bahasa Korea',\n translateEmpty: 'Masukkan judul atau isi yang akan diterjemahkan terlebih dahulu.',\n title: 'Buat judul dari isi',\n custom: 'Tulis ulang dengan gaya kustom…',\n failed: 'Tugas AI gagal. Silakan coba lagi.',\n },\n youtubePrompt: 'Masukkan tautan YouTube.',\n errors: {\n coverMax: 'Anda dapat mengunggah hingga {max} foto.',\n imageUrlRequired: 'Masukkan URL gambar.',\n imageUrlInvalid: 'Masukkan URL gambar yang valid.',\n imageUrlHttps: 'Hanya URL gambar HTTPS yang diizinkan.',\n imageUrlCredentials: 'URL yang berisi kredensial login tidak diizinkan.',\n imageTimeout: 'Gambar terlalu lama dimuat.',\n imageNotDisplayable: 'Gambar ini tidak dapat ditampilkan.',\n editorNotReady: 'Editor belum siap. Silakan coba lagi.',\n imageLinkFailed: 'Gagal menambahkan tautan gambar.',\n imageOnly: 'Hanya file gambar yang dapat diunggah.',\n imageTooLarge: 'Gambar asli maksimal {mb}MB.',\n imageUploadFailed: 'Gagal mengunggah gambar.',\n pasteAsFile: 'Tempel atau seret foto sebagai file ke area di atas.',\n postNotFound: 'Postingan tidak ditemukan.',\n loadPermission: 'Anda tidak memiliki izin untuk memuat postingan ini. Pastikan Anda sudah masuk.',\n loadFailed: 'Gagal memuat postingan: {message}',\n titleRequired: 'Masukkan judul.',\n photoRequired: 'Unggah minimal satu foto.',\n bodyRequired: 'Tulis teks atau lampirkan gambar.',\n signInRequired: 'Harus masuk terlebih dahulu.',\n boardMissing: 'Papan belum ditentukan.',\n writeRestricted: 'Membuat postingan dan komentar dibatasi sementara karena peringatan konten berulang.',\n moderationBlocked: 'Berisi konten yang tidak dapat diposting.',\n },\n hint: {\n titling: 'Membuat judul…',\n reviewing: 'Meninjau konten…',\n saving: 'Menyimpan…',\n },\n },\n footer: {\n introduction: \"memi-board dibangun dengan Nuxt 4, Vue 3, dan TypeScript. Nuxt UI dan Firebase menghubungkan postingan, komentar, dan percakapan.\",\n eyebrow: \"Ruang untuk percakapan\",\n tagline: \"Komunitas kecil. Cerita bersama.\",\n detail: \"Pengenalan lengkap\",\n links: \"Tautan & kontak\",\n email: \"Email\",\n credit: \"Dibuat oleh memi\",\n feedback: \"Kirim masukan\",\n feedbackSubject: \"Masukan memi-board\",\n feedbackBody: \"Masukan:\\n\",\n siteEyebrow: \"Dibangun dengan memi-board\",\n changelog: \"Catatan perubahan\",\n info: {\n title: \"memi-board\",\n about: \"Tentang memi-board\",\n sites: \"Contoh penerapan\",\n history: 'Riwayat versi',\n },\n sites: {\n description: \"Layanan yang menggunakan memi-board untuk berbagi postingan dan percakapan.\",\n memi: \"Ruang untuk pengembangan dan cerita sehari-hari\",\n waiting: \"Layanan antrean sederhana melalui kode QR\",\n track: \"Pelacakan GPS untuk merekam rute perjalanan\",\n loop: \"Perekaman perjalanan kendaraan dan solusi sensor\",\n safe: \"Koneksi dan pengaturan perangkat pencegah salah injak pedal\",\n inviteTitle: \"Anda juga memakainya?\",\n invite: \"Beritahu alamat situs Anda.\",\n inviteSite: \"Tinggalkan di memi.dev\",\n inviteOr: \"atau\",\n inviteSubject: \"Kami memakai memi-board\",\n inviteBody: \"Alamat situs:\\n\",\n },\n stack: {\n ui: 'Antarmuka & pengalaman',\n data: 'Data & login',\n writing: 'Menulis & kemudahan',\n },\n },\n likes: {\n signInRequired: 'Silakan masuk.',\n commentNotFound: 'Komentar tidak ditemukan.',\n },\n list: {\n boardInfo: {\n creator: 'Dibuat oleh',\n managers: 'Manajer',\n staff: 'Staf',\n },\n commentCount: '{count} komentar',\n settings: 'Pengaturan',\n loadFailed: 'Gagal memuat daftar: {error}',\n empty: 'Belum ada postingan.',\n notice: 'Pengumuman',\n photo: 'Foto',\n likeCount: 'Suka {count}',\n info: {\n title: 'Info papan',\n about: 'Tentang papan ini',\n history: 'Riwayat versi',\n },\n stack: {\n framework: 'Framework & bahasa',\n ui: 'UI & gaya',\n backend: 'Backend & data',\n },\n tech: {\n nuxt: 'Framework SSR berbasis Vue',\n vue: 'Composition API · script setup',\n typescript: 'Tipe data dan komponen yang aman',\n nuxtUi: 'UI papan, formulir, dan modal',\n tailwind: 'Responsif · gaya terang/gelap',\n lucide: 'Ikon ringan dan konsisten',\n dayjs: 'Tanggal dan waktu relatif yang mudah dibaca',\n firestore: 'DB real-time untuk postingan dan komentar',\n auth: 'Login dan izin yang aman',\n storage: 'Penyimpanan gambar dan lampiran',\n vuefire: 'Koneksi real-time Nuxt–Firebase',\n },\n },\n listViewSwitch: {\n card: 'Kartu',\n default: 'Default',\n dense: 'Ringkas',\n video: 'Video',\n },\n miniComments: {\n empty: 'Belum ada komentar.',\n blinded: 'Komentar ini disembunyikan oleh admin.',\n },\n miniList: {\n empty: 'Belum ada postingan.',\n },\n miniPicker: {\n selectedCount: 'Dipilih {count} / {max}',\n layoutHint: '2+ tampil sebagai carousel, 4 sebagai grid',\n searchPlaceholder: 'Cari judul',\n loading: 'Memuat postingan…',\n noMore: 'Tidak ada postingan lain untuk dipilih.',\n },\n miniPost: {\n empty: 'Belum ada postingan yang dipilih.',\n },\n moderation: {\n writeRestricted: 'Membuat postingan dan komentar dibatasi sementara karena peringatan konten berulang.',\n },\n moderationPrompt: {\n localHit: 'Ungkapan seperti “{hit}” tidak diizinkan. Silakan ubah kata-katanya.',\n localGeneric: 'Berisi kata kasar sehingga tidak dapat diposting. Silakan ubah kata-katanya.',\n genericBlocked: 'Berisi konten yang tidak dapat diposting. Silakan edit.',\n categories: {\n abuse: 'kata kasar atau hinaan',\n spam: 'spam atau iklan',\n adult: 'konten seksual atau dewasa',\n violence: 'kekerasan atau ancaman',\n other: 'konten tidak pantas',\n },\n },\n moderationStrike: {\n liftSoon: 'segera dicabut',\n liftInHours: 'dicabut dalam sekitar {hours} jam',\n liftInDays: 'dicabut dalam sekitar {days} hari',\n liftInDaysHours: 'dicabut dalam sekitar {days} hari {hours} jam',\n },\n posts: {\n boardIdRequired: '[memi-board] boardId wajib diisi.',\n photoRequired: 'Tambahkan foto.',\n bodyRequired: 'Masukkan teks atau lampirkan gambar.',\n titleRequired: 'Masukkan judul.',\n },\n profile: {\n stats: {\n posts: '{count} postingan',\n comments: '{count} komentar',\n aiUsage: 'AI terpakai {used} / {limit}',\n aiUsageResets: 'AI terpakai {used} / {limit} · direset dalam {hours} jam',\n warnings: '{count} peringatan',\n },\n notFound: 'Pengguna tidak ditemukan.',\n noName: 'Tanpa nama',\n joined: 'Bergabung {time}',\n lastVisit: 'Terakhir dilihat {time}',\n },\n profileEditModal: {\n imageOnly: 'Hanya file gambar yang dapat dipilih.',\n nameRequired: 'Masukkan nama.',\n saveFailed: 'Gagal menyimpan profil.',\n title: 'Edit profil',\n changePhoto: 'Ganti foto',\n name: 'Nama',\n bio: 'Bio',\n bioPlaceholder: 'Ceritakan tentang diri Anda',\n },\n reportButton: {\n failed: 'Gagal mengirim laporan.',\n reported: 'Dilaporkan',\n title: 'Laporkan postingan',\n done: 'Laporan diterima. Staf akan meninjaunya.',\n reason: 'Alasan',\n detailPlaceholder: 'Detail (opsional)',\n submit: 'Laporkan',\n },\n reportList: {\n staffOnly: 'Hanya staf yang dapat melihat laporan.',\n loadFailed: 'Gagal memuat daftar: {error}',\n empty: 'Tidak ada laporan yang tertunda.',\n untitled: 'Postingan tanpa judul',\n author: 'oleh {name}',\n dismiss: 'Tolak',\n confirm: 'Selesaikan',\n },\n reports: {\n reason: {\n spam: 'Spam / iklan',\n abuse: 'Kata kasar / kebencian / pelecehan',\n adult: 'Konten seksual',\n illegal: 'Konten ilegal',\n other: 'Lainnya',\n },\n fallbackLabel: 'Laporan',\n signInRequired: 'Silakan masuk.',\n cannotReportOwn: 'Anda tidak dapat melaporkan postingan sendiri.',\n reasonRequired: 'Pilih alasan.',\n detailTooLong: 'Detail maksimal {max} karakter.',\n },\n sectionUtil: {\n kind: {\n list: 'Daftar postingan',\n post: 'Postingan',\n comments: 'Komentar',\n },\n sort: {\n latest: 'Terbaru',\n likes: 'Paling disukai',\n },\n untitledPost: 'Postingan',\n view: {\n media: 'Media',\n list: 'Daftar',\n },\n },\n sections: {\n defaultTitle: 'Bagian {n}',\n },\n seo: {\n allCategory: 'Semua',\n boardDescription: 'Papan {name}',\n allDescription: 'Papan — pengumuman dan kabar komunitas.',\n postFallbackTitle: 'Postingan | {site}',\n postFallbackDescription: 'Papan',\n photo: 'Foto',\n postDescriptionFallback: 'Postingan papan',\n listTitle: '{name} | {site}',\n listTitleAll: 'Papan | {site}',\n listDescription: '{name} — ikuti postingan terbaru.',\n listDescriptionAll: 'Papan — pengumuman dan cerita.',\n },\n settings: {\n aiTitle: {\n label: 'Tulis judul dengan AI',\n help: 'Jika judul postingan baru dikosongkan, AI menulis judul dari teks (atau dari foto pertama jika tidak ada teks). Foto hanya dikirim ke Google AI untuk itu. Matikan agar judul wajib diketik dan foto tidak dikirim.',\n },\n site: {\n apply: 'Terapkan',\n applied: 'Diterapkan.',\n title: 'Pengaturan umum',\n help: 'Berlaku untuk seluruh situs. Mengalahkan pengaturan aplikasi inang dan langsung berlaku setelah diubah.',\n ai: { label: 'Gunakan fitur AI', help: 'Matikan jika AI tidak bisa dipakai, misalnya karena biaya. Ini mematikan terjemahan, asisten menulis, judul AI, dan moderasi AI, dan foto tidak lagi dikirim ke AI. Pemeriksaan kata terlarang tetap berjalan.' },\n i18n: { label: 'Gunakan internasionalisasi', help: 'Jika dimatikan, semua layar dikunci pada satu bahasa yang dipilih di bawah dan terjemahan dimatikan. Terjemahan yang sudah tersimpan tidak dihapus.' },\n locales: { label: 'Bahasa yang ditawarkan', help: 'Hanya {count} bahasa yang dipilih yang diterjemahkan dan ditampilkan di menu bahasa. Bahasa yang tidak dipilih tidak mendapat terjemahan baru, dan terjemahan yang sudah tersimpan tidak dihapus.' },\n locale: { label: 'Bahasa default', help: 'Bahasa yang dipakai saat aplikasi inang tidak menetapkan bahasa.', fixedLabel: 'Bahasa tetap', fixedHelp: 'Semua layar ditampilkan dalam bahasa ini.' },\n },\n i18nBoard: {\n label: 'Internasionalisasi',\n help: 'Jika aktif, nama dan deskripsi papan serta postingan dan komentar baru diterjemahkan otomatis ke {count} bahasa dan disimpan. Jika nonaktif, hanya teks asli yang ditampilkan.',\n existing: 'Terjemahkan juga postingan yang ada',\n },\n about: {\n label: 'Tampilkan About memi-board',\n help: 'Menampilkan tautan dan popup About memi-board di bagian bawah setiap layar papan. Matikan untuk menyembunyikannya di seluruh situs.',\n },\n postTranslations: {\n label: 'Terjemahkan postingan yang ada',\n help: 'Mencari postingan yang terjemahannya belum ada atau tidak lagi sesuai dengan aslinya, lalu menerjemahkan dan menyimpannya sekaligus. Gunakan untuk papan dengan terjemahan otomatis mati atau untuk melengkapi postingan yang terlewat. Tidak memakai kuota AI harian.',\n scan: 'Cari postingan yang perlu diterjemahkan',\n run: 'Terjemahkan {count} postingan',\n confirm: '{count} postingan akan diterjemahkan dan disimpan, dengan satu panggilan AI untuk tiap postingan. Lanjutkan?',\n progress: 'Menerjemahkan… {done} selesai, {failed} gagal',\n allDone: 'Semua {total} postingan yang dipublikasikan sudah memiliki terjemahan terbaru.',\n found: '{count} dari {total} postingan yang dipublikasikan perlu diterjemahkan.',\n failed: '{count} postingan tidak dapat diterjemahkan. Cari lagi lalu coba ulang.',\n },\n loading: 'Memuat pengaturan…',\n noAccess: 'Anda tidak memiliki akses',\n notFound: {\n title: 'Papan tidak ditemukan',\n checkAddress: 'Periksa kembali alamatnya.',\n checkBoardAddress: 'Periksa kembali alamat papan.',\n },\n newBoard: {\n title: 'Papan ini belum ada',\n description: 'Isi detail di bawah lalu simpan untuk membuatnya dengan ID ini.',\n },\n noLabel: 'Tanpa label',\n option: {\n default: 'Standar',\n },\n id: {\n label: 'ID kategori',\n help: 'Digunakan di URL dan data',\n },\n writeRole: {\n label: 'Siapa yang bisa memposting',\n help: 'Peran minimum untuk memposting di kategori ini',\n helpShort: 'Peran minimum untuk memposting',\n options: {\n user: 'Pengguna ke atas',\n staff: 'Staf ke atas',\n admin: 'Hanya admin',\n },\n },\n commentWriteRole: {\n label: 'Siapa yang bisa berkomentar',\n help: 'Peran minimum untuk berkomentar di kategori ini',\n helpShort: 'Peran minimum untuk berkomentar',\n hiddenFixed: 'Hanya staf yang ditugaskan (tetap untuk papan tersembunyi)',\n },\n staff: {\n label: 'Staf yang ditugaskan',\n help: 'Hanya staf terpilih yang dapat mengatur dan mengelola papan ini. Kosongkan agar hanya admin',\n placeholder: 'Hanya admin (tanpa staf)',\n },\n label: {\n label: 'Nama tampilan',\n help: 'Nama yang dilihat pengguna',\n },\n description: {\n label: 'Deskripsi',\n help: 'Ditampilkan di bagian atas papan dan tempat lain',\n placeholder: 'Deskripsi singkat papan ini (opsional)',\n },\n visibility: {\n label: 'Visibilitas',\n options: {\n public: {\n label: 'Terlihat',\n description: 'Ditampilkan di daftar lengkap dan filter',\n },\n hidden: {\n label: 'Tersembunyi',\n description: 'Jurnal atau privat. Hanya staf yang ditugaskan yang dapat berkomentar',\n },\n },\n },\n listView: {\n label: 'Tampilan daftar',\n help: 'Cara daftar postingan ditampilkan',\n options: {\n card: 'Kartu',\n dense: 'Ringkas',\n video: 'Video',\n },\n },\n editorType: {\n label: 'Formulir postingan',\n help: 'Cara postingan ditulis',\n options: {\n default: 'Tulis judul dan isi',\n image: 'Tambahkan beberapa foto dan foto sampul',\n },\n },\n bulk: {\n title: 'Terapkan ke semua papan',\n apply: 'Terapkan ke {count} papan',\n applyShort: 'Terapkan',\n confirmTitle: 'Terapkan ke semua papan',\n translateUntranslated: 'Terjemahkan papan yang belum diterjemahkan ({count})',\n },\n translationLocales: {\n label: 'Bahasa terjemahan',\n },\n locale: {\n label: 'Bahasa papan',\n auto: 'Otomatis (ikuti bahasa situs)',\n },\n autoTranslate: {\n action: \"Terjemahkan ke {count} bahasa\",\n manualHelp: \"Terjemahkan nama tampilan dan deskripsi sekaligus, lalu simpan untuk menerapkan.\",\n pending: \"Terjemahan {count} bahasa siap. Simpan untuk menerapkan.\",\n manualFailed: \"Terjemahan gagal. Teks Anda tetap tersimpan di formulir. Silakan coba lagi.\",\n label: 'Terjemahkan ke {count} bahasa saat menyimpan',\n help: 'Jika aktif, nama dan deskripsi diterjemahkan ke {count} bahasa. Jika nonaktif, tidak diterjemahkan. Teks yang tidak berubah tidak diterjemahkan lagi.',\n failed: 'Pengaturan tersimpan, tetapi terjemahan ke {count} bahasa gagal. Simpan lagi.',\n ready: 'Nama dan deskripsi tersimpan dalam {count} bahasa.',\n },\n action: {\n moveDown: 'Turun',\n goToBoard: 'Buka papan',\n deleteBoard: 'Hapus papan',\n create: 'Buat',\n },\n newCategoryPlaceholder: 'Nama kategori baru',\n savedCategory: 'Kategori “{label}” disimpan.',\n savedSettings: 'Pengaturan papan disimpan.',\n created: 'Papan dibuat.',\n error: {\n orderFailed: 'Gagal menyimpan urutan kategori.',\n deleteFailed: 'Gagal menghapus papan dan datanya.',\n saveFailed: 'Gagal menyimpan pengaturan papan.',\n deleteAllFailed: 'Gagal menghapus data papan.',\n },\n danger: {\n title: 'Zona berbahaya',\n confirmLabel: 'Ketik “{phrase}” untuk konfirmasi',\n phrase: 'hapus data papan',\n button: 'Hapus semua data',\n done: 'Semua data papan telah dihapus.',\n },\n },\n shareButton: {\n copied: 'Tautan disalin',\n },\n signIn: {\n withGoogle: 'Masuk dengan Google',\n withApple: 'Masuk dengan Apple',\n or: 'atau',\n name: 'Nama',\n email: 'Email',\n password: 'Kata sandi',\n signUp: 'Daftar',\n toSignUp: 'Belum punya akun? Daftar',\n toSignIn: 'Sudah punya akun? Masuk',\n },\n storage: {\n sourceTooLarge: 'Gambar asli maksimal {max}MB.',\n imageOnly: 'Hanya file gambar yang dapat diunggah.',\n canvasUnavailable: 'Canvas tidak tersedia',\n compressFailed: 'Kompresi gagal',\n loadFailed: 'Gagal memuat gambar',\n },\n swipeHint: {\n title: 'Coba geser ke kiri atau kanan',\n description: 'Geser ke kiri untuk postingan berikutnya, ke kanan untuk sebelumnya.',\n },\n userCommentList: {\n loadFailed: 'Gagal memuat daftar: {error}',\n empty: 'Belum ada komentar.',\n blinded: 'Komentar ini disembunyikan oleh admin.',\n likes: '{count} suka',\n },\n userPostList: {\n loadFailed: 'Gagal memuat daftar: {error}',\n empty: 'Belum ada postingan.',\n },\n users: {\n changeRoleFailed: 'Gagal mengubah peran.',\n loading: 'Memuat pengguna…',\n noPermission: {\n title: 'Tidak ada izin',\n description: 'Hanya admin papan yang dapat mengelola peran pengguna.',\n },\n empty: 'Belum ada pengguna yang masuk ke papan ini.',\n noName: 'Tanpa nama',\n moderationWarnings: '{count} peringatan konten',\n },\n writingAssistant: {\n dailyLimit: 'Asisten menulis AI dapat digunakan hingga {limit} kali sehari. Coba lagi dalam sekitar {hours} jam.',\n loginRequired: 'Masuk untuk menggunakan asisten menulis AI.',\n userMissing: 'Gagal memverifikasi info pengguna. Silakan coba lagi.',\n contentRequired: 'Masukkan konten terlebih dahulu untuk diolah AI.',\n customRequired: 'Masukkan instruksi cara menulis ulang.',\n emptyResult: 'AI tidak dapat menghasilkan hasil. Silakan coba lagi.',\n translateEmpty: 'Masukkan judul atau isi yang akan diterjemahkan terlebih dahulu.',\n translateTooLong: 'Teks lebih dari {limit} karakter tidak dapat disimpan dalam {count} bahasa. Persingkat lalu coba lagi.',\n translateIncomplete: 'Beberapa bahasa kembali kosong. Silakan coba lagi.',\n failed: 'Tugas AI gagal. Silakan coba lagi.',\n actions: {\n proofread: 'Periksa ejaan',\n polish: 'Perbaiki kalimat',\n continue: 'Lanjutkan tulisan',\n summarize: 'Ringkas',\n translateEn: 'Terjemahkan ke bahasa Inggris',\n translateKo: 'Terjemahkan ke bahasa Korea',\n translateAll: 'Terjemahkan dan simpan dalam {count} bahasa',\n translateSaved: 'Disimpan dalam {count} bahasa. Pembaca melihat terjemahan bahasanya.',\n translatePending: 'Terjemahan {count} bahasa sudah siap. Terjemahan ikut tersimpan saat Anda menyimpan tulisan.',\n translateEmpty: 'Masukkan judul atau isi yang akan diterjemahkan terlebih dahulu.',\n title: 'Buat judul dari isi',\n custom: 'Tulis ulang dengan gaya kustom…',\n },\n },\n}\n\nexport default messages\n"],"mappings":"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"}
|