memi-board 0.46.0 → 0.46.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +1 -0
  2. package/dist/{ar-BCQdRw_S.js → ar-D_6hknjh.js} +22 -1
  3. package/dist/ar-D_6hknjh.js.map +1 -0
  4. package/dist/composables/fetchPublicSeo.d.ts +1 -1
  5. package/dist/composables/useMemiBoardAutoTranslate.d.ts +6 -6
  6. package/dist/composables/useMemiBoardPosts.d.ts +6 -1
  7. package/dist/composables/useMemiBoardSettings.d.ts +5 -4
  8. package/dist/composables/useMemiBoardWritingAssistant.d.ts +8 -0
  9. package/dist/{de-ddWQNaqs.js → de-DQqSsBsZ.js} +22 -1
  10. package/dist/de-DQqSsBsZ.js.map +1 -0
  11. package/dist/{en-CaPfPNDy.js → en-Broh-9df.js} +19 -1
  12. package/dist/en-Broh-9df.js.map +1 -0
  13. package/dist/{es-7JHjGVlM.js → es-D3eEYN6w.js} +22 -1
  14. package/dist/es-D3eEYN6w.js.map +1 -0
  15. package/dist/{fr-C3NCMNoy.js → fr-CbXPRKeU.js} +22 -1
  16. package/dist/fr-CbXPRKeU.js.map +1 -0
  17. package/dist/{id-C8hCAMPJ.js → id-DxVqvPpo.js} +22 -1
  18. package/dist/id-DxVqvPpo.js.map +1 -0
  19. package/dist/index.d.ts +3 -2
  20. package/dist/index.js +1266 -921
  21. package/dist/index.js.map +1 -1
  22. package/dist/{ja-oTWri4hY.js → ja-D2dIWUse.js} +22 -1
  23. package/dist/{ja-oTWri4hY.js.map → ja-D2dIWUse.js.map} +1 -1
  24. package/dist/{pt-B9EH4scA.js → pt-BAuHdglU.js} +22 -1
  25. package/dist/pt-BAuHdglU.js.map +1 -0
  26. package/dist/runtime/components/CategorySettings.vue +80 -14
  27. package/dist/runtime/components/Detail.vue +9 -7
  28. package/dist/runtime/components/Editor.vue +79 -8
  29. package/dist/runtime/components/List.vue +2 -2
  30. package/dist/runtime/components/ListDefault.vue +16 -6
  31. package/dist/runtime/components/ListDense.vue +8 -4
  32. package/dist/runtime/components/ListImage.vue +13 -6
  33. package/dist/runtime/components/ListVideo.vue +14 -5
  34. package/dist/runtime/components/Section.vue +10 -3
  35. package/dist/runtime/components/Settings.vue +77 -11
  36. package/dist/runtime/composables/useMemiBoardSeo.ts +3 -3
  37. package/dist/{slugify-DJ82ifCd.js → slugify-B05Qykf_.js} +28 -10
  38. package/dist/slugify-B05Qykf_.js.map +1 -0
  39. package/dist/storage.js +1 -1
  40. package/dist/types.d.ts +48 -0
  41. package/dist/utils/localizedFields.d.ts +33 -0
  42. package/dist/{zh-D5rDYV6E.js → zh-CMyzTdQ5.js} +22 -1
  43. package/dist/zh-CMyzTdQ5.js.map +1 -0
  44. package/package.json +1 -1
  45. package/dist/ar-BCQdRw_S.js.map +0 -1
  46. package/dist/de-ddWQNaqs.js.map +0 -1
  47. package/dist/en-CaPfPNDy.js.map +0 -1
  48. package/dist/es-7JHjGVlM.js.map +0 -1
  49. package/dist/fr-C3NCMNoy.js.map +0 -1
  50. package/dist/id-C8hCAMPJ.js.map +0 -1
  51. package/dist/pt-B9EH4scA.js.map +0 -1
  52. package/dist/slugify-DJ82ifCd.js.map +0 -1
  53. package/dist/zh-D5rDYV6E.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"de-ddWQNaqs.js","names":[],"sources":["../src/i18n/messages/de.ts"],"sourcesContent":["import type { MemiBoardMessages } from '../translate'\n\n/** 짧은 화면 문구만 번역한다. 빠진 키는 en → ko 순으로 폴백된다. */\nconst messages: MemiBoardMessages = {\n attachments: {\n attach: 'Dateien anhängen ({count} / {max})',\n maxFiles: 'Maximal {max} Dateien möglich.',\n },\n auth: {\n writeRestricted: 'Wegen wiederholter Inhaltswarnungen sind Beiträge und Kommentare vorübergehend gesperrt.',\n strikeSuffix: ' (Warnung {count}/{threshold})',\n strikeRestricted: ' Nach {count} Warnungen sind Beiträge und Kommentare gesperrt.',\n notInitialized: '[memi-board] Firebase Auth ist nicht initialisiert.',\n },\n authorMemo: {\n tooLong: 'Notizen dürfen höchstens {max} Zeichen lang sein.',\n },\n authorMenu: {\n viewProfile: 'Profil ansehen',\n viewPosts: 'Beiträge ansehen',\n viewComments: 'Kommentare ansehen',\n memoAriaLabel: 'Notiz zu diesem Autor',\n memoTitle: 'Private Notiz',\n memoPlaceholder: 'Notiz zu diesem Autor…',\n bad: 'Schlecht',\n good: 'Gut',\n },\n avatarCropModal: {\n title: 'Profilbild zuschneiden',\n description: 'Wird quadratisch (1:1) angezeigt. Bereich bitte anpassen.',\n confirm: 'Zuschneiden & hochladen',\n },\n boardSettings: {\n signInRequired: 'Anmeldung erforderlich.',\n idAndNameRequired: 'Bitte Board-ID und Namen eingeben.',\n deleteIdRequired: 'Zum Löschen ist eine Board-ID erforderlich.',\n nameRequired: 'Bitte einen Board-Namen eingeben.',\n },\n boardUsers: {\n unsupportedRole: 'Nicht unterstützte Rolle.',\n roleDescription: {\n admin: 'Verwaltet Benutzerrollen, Board-Einstellungen und alle Inhalte.',\n user: 'Kann Beiträge und Kommentare schreiben und nur eigene Inhalte bearbeiten oder löschen.',\n },\n },\n commentFeed: {\n empty: 'Noch keine Kommentare.',\n emptyLiked: 'Noch keine Kommentare mit Likes.',\n loadFailed: 'Liste konnte nicht geladen werden: {error}',\n blinded: 'Dieser Kommentar wurde von einem Admin ausgeblendet.',\n },\n commentForm: {\n hiddenBoardDenied: 'In ausgeblendeten Boards kann nur das zuständige Team kommentieren.',\n denied: 'Keine Berechtigung, in diesem Board zu kommentieren.',\n signInRequired: 'Anmeldung erforderlich.',\n writeRestricted: 'Wegen wiederholter Inhaltswarnungen sind Beiträge und Kommentare vorübergehend gesperrt.',\n moderationBlocked: 'Enthält Inhalte, die nicht veröffentlicht werden können.',\n replyTo: 'Antwort an {name}',\n placeholder: 'Kommentar schreiben',\n submitReply: 'Antworten',\n submit: 'Kommentieren',\n signInToComment: 'Zum Kommentieren bitte anmelden.',\n },\n commentItem: {\n editRestricted: 'Das Bearbeiten von Kommentaren ist vorübergehend gesperrt.',\n moderationBlocked: 'Enthält Inhalte, die nicht veröffentlicht werden können.',\n editFailed: 'Kommentar konnte nicht bearbeitet werden.',\n blindFailed: 'Ausblendestatus konnte nicht geändert werden.',\n likeFailed: 'Like konnte nicht verarbeitet werden.',\n blinded: 'Dieser Kommentar wurde von einem Admin ausgeblendet.',\n edit: 'Kommentar bearbeiten',\n blind: 'Kommentar ausblenden',\n unblind: 'Kommentar einblenden',\n delete: 'Kommentar löschen',\n },\n commentList: {\n loading: 'Kommentare werden geladen',\n empty: 'Noch keine Kommentare.',\n loadMore: 'Weitere Kommentare',\n loadingMore: 'Weitere Kommentare werden geladen',\n },\n commentThread: {\n deleteConfirm: 'Diesen Kommentar löschen?',\n deleteFailed: 'Kommentar konnte nicht gelöscht werden.',\n hideReplies: 'Antworten ausblenden',\n showReplies: '{count} Antworten',\n loadMoreReplies: 'Weitere Antworten',\n },\n comments: {\n bodyRequired: 'Bitte einen Kommentar eingeben.',\n bodyTooLong: 'Kommentare dürfen höchstens {max} Zeichen lang sein.',\n replyTargetNotFound: 'Der Kommentar, auf den geantwortet wird, wurde nicht gefunden.',\n threadNotFound: 'Kommentar-Thread nicht gefunden.',\n hasRepliesCannotDelete: 'Kommentare mit Antworten können derzeit nicht gelöscht werden.',\n },\n common: {\n action: {\n cancel: 'Abbrechen',\n save: 'Speichern',\n saved: 'Gespeichert',\n edit: 'Bearbeiten',\n delete: 'Löschen',\n confirm: 'OK',\n close: 'Schließen',\n add: 'Hinzufügen',\n more: 'Mehr',\n prev: 'Zurück',\n next: 'Weiter',\n retry: 'Erneut versuchen',\n reply: 'Antworten',\n like: 'Gefällt mir',\n unlike: 'Gefällt mir nicht mehr',\n share: 'Teilen',\n report: 'Melden',\n signIn: 'Anmelden',\n signOut: 'Abmelden',\n write: 'Schreiben',\n toTop: 'Nach oben',\n },\n label: {\n anonymous: 'Anonym',\n user: 'Benutzer',\n image: 'Bild',\n draft: 'Entwurf',\n loading: 'Wird geladen…',\n },\n role: {\n admin: 'Admin',\n staff: 'Team',\n user: 'Benutzer',\n },\n date: {\n justNow: 'Gerade eben',\n fewSecondsAgo: 'Vor wenigen Sekunden',\n checking: 'Zeit wird geprüft',\n createdAt: 'Erstellt: {time}',\n updatedAt: 'Bearbeitet: {time}',\n },\n },\n detail: {\n deleteConfirm: 'Diesen Beitrag löschen? Das kann nicht rückgängig gemacht werden.',\n notFound: 'Beitrag nicht gefunden.',\n draftPreview: 'Unveröffentlichte Vorschau',\n draftNotice: 'Noch nicht veröffentlicht. Bis zur Veröffentlichung nur für dich sichtbar.',\n publish: 'Veröffentlichen',\n backToList: 'Zurück zur Liste',\n postNav: 'Beitragsnavigation',\n list: 'Liste',\n comments: 'Kommentare',\n },\n editor: {\n titlePlaceholder: 'Titel',\n contentPlaceholder: 'Text eingeben… / öffnet das Blockmenü.',\n imageContentPlaceholder: 'Text eingeben…',\n tagsPlaceholder: 'Tag eingeben, dann Enter',\n skipModeration: 'Schimpfwortfilter umgehen (Admin)',\n submitEdit: 'Änderungen speichern',\n submitNext: 'Weiter: Vorschau',\n apply: 'Übernehmen',\n imageOptimizing: 'Bild wird optimiert und hochgeladen…',\n cover: {\n imageLink: 'Bildlink',\n addPhoto: 'Fotos hinzufügen',\n alt: 'Foto {n}',\n representative: 'Titelbild',\n setRepresentative: 'Als Titelbild',\n setRepresentativeAria: 'Foto {n} als Titelbild festlegen',\n remove: 'Foto entfernen',\n add: 'Hinzufügen',\n uploading: 'Wird hochgeladen…',\n dropOrClick: 'Fotos ablegen oder klicken',\n emptyHint: 'Mehrfachauswahl · Titelbild nach Upload wählen · Ziehen zum Sortieren',\n uploadTitle: 'Hochladen',\n },\n uploadFailed: 'Upload fehlgeschlagen',\n aiAssistant: 'AI-Schreibassistent',\n insertBlock: 'Block einfügen',\n blockMenu: 'Blockmenü',\n imageDialog: {\n title: 'Bild hinzufügen',\n chooseFile: 'Bild vom Gerät auswählen',\n orLink: 'oder Bildlink',\n urlLabel: 'Bild-URL',\n previewAlt: 'Vorschau des externen Bildes',\n addLink: 'Link hinzufügen',\n },\n customDialog: {\n title: 'In eigenem Stil umschreiben',\n label: 'Wie soll umgeschrieben werden?',\n help: 'z. B. locker / förmlich und schriftlich / als knappe Stichpunkte',\n placeholder: 'Locker formuliert',\n },\n aiPreview: {\n title: 'AI-Ergebnis prüfen',\n currentTitle: 'Aktueller Titel',\n newTitle: 'Neuer Titel',\n currentContent: 'Aktueller Inhalt',\n appendedContent: 'Hinzuzufügender Inhalt',\n before: 'Vorher',\n after: 'Nachher',\n },\n menu: {\n ai: 'AI',\n aiContinue: 'Mit AI weiterschreiben',\n style: 'Stil',\n insert: 'Einfügen',\n paragraph: 'Absatz',\n heading1: 'Überschrift 1',\n heading2: 'Überschrift 2',\n heading3: 'Überschrift 3',\n bulletList: 'Aufzählung',\n orderedList: 'Nummerierte Liste',\n blockquote: 'Zitat',\n codeBlock: 'Codeblock',\n horizontalRule: 'Trennlinie',\n image: 'Bild',\n turnInto: 'Umwandeln in',\n resetFormatting: 'Formatierung zurücksetzen',\n duplicate: 'Duplizieren',\n moveUp: 'Nach oben',\n moveDown: 'Nach unten',\n delete: 'Löschen',\n },\n toolbar: {\n link: 'Link',\n image: 'Bild',\n format: 'Format',\n bold: 'Fett',\n italic: 'Kursiv',\n underline: 'Unterstrichen',\n strike: 'Durchgestrichen',\n title: 'Titel',\n heading: 'Überschrift',\n subheading: 'Zwischenüberschrift',\n body: 'Fließtext',\n mono: 'Monospace',\n bulletList: 'Aufzählung',\n orderedList: 'Nummerierte Liste',\n blockquote: 'Blockzitat',\n codeBlock: 'Codeblock',\n horizontalRule: 'Trennlinie',\n clearFormatting: 'Formatierung entfernen',\n undo: 'Rückgängig',\n redo: 'Wiederholen',\n },\n ai: {\n proofread: 'Rechtschreibung prüfen',\n polish: 'Text verbessern',\n continue: 'Weiterschreiben',\n summarize: 'Kurz zusammenfassen',\n translateEn: 'Ins Englische übersetzen',\n translateKo: 'Ins Koreanische übersetzen',\n title: 'Titel aus Text erstellen',\n custom: 'In eigenem Stil umschreiben…',\n failed: 'AI-Aufgabe fehlgeschlagen. Bitte erneut versuchen.',\n },\n youtubePrompt: 'YouTube-Link eingeben.',\n errors: {\n coverMax: 'Maximal {max} Fotos möglich.',\n imageUrlRequired: 'Bitte eine Bild-URL eingeben.',\n imageUrlInvalid: 'Bitte eine gültige Bild-URL eingeben.',\n imageUrlHttps: 'Nur HTTPS-Bild-URLs sind erlaubt.',\n imageUrlCredentials: 'URLs mit Anmeldedaten sind nicht erlaubt.',\n imageTimeout: 'Das Bild lädt zu lange.',\n imageNotDisplayable: 'Dieses Bild kann nicht angezeigt werden.',\n editorNotReady: 'Editor ist nicht bereit. Bitte erneut versuchen.',\n imageLinkFailed: 'Bildlink konnte nicht hinzugefügt werden.',\n imageOnly: 'Nur Bilddateien können hochgeladen werden.',\n imageTooLarge: 'Originalbilder dürfen höchstens {mb} MB groß sein.',\n imageUploadFailed: 'Bild-Upload fehlgeschlagen.',\n pasteAsFile: 'Fotos bitte als Dateien in den Bereich oben einfügen oder ziehen.',\n postNotFound: 'Beitrag nicht gefunden.',\n loadPermission: 'Keine Berechtigung, diesen Beitrag zu laden. Bitte Anmeldung prüfen.',\n loadFailed: 'Beitrag konnte nicht geladen werden: {message}',\n titleRequired: 'Bitte einen Titel eingeben.',\n photoRequired: 'Bitte mindestens ein Foto hochladen.',\n bodyRequired: 'Bitte Text eingeben oder ein Bild anhängen.',\n signInRequired: 'Anmeldung erforderlich.',\n boardMissing: 'Kein Board angegeben.',\n writeRestricted: 'Wegen wiederholter Inhaltswarnungen sind Beiträge und Kommentare vorübergehend gesperrt.',\n moderationBlocked: 'Enthält Inhalte, die nicht veröffentlicht werden können.',\n },\n hint: {\n reviewing: 'Inhalt wird geprüft…',\n saving: 'Wird gespeichert…',\n },\n },\n footer: {\n info: {\n title: 'Board-Info',\n about: 'Über dieses Board',\n history: 'Versionsverlauf',\n },\n stack: {\n ui: 'Oberfläche & Erlebnis',\n data: 'Daten & Anmeldung',\n writing: 'Schreiben & Komfort',\n },\n },\n likes: {\n signInRequired: 'Anmeldung erforderlich.',\n commentNotFound: 'Kommentar nicht gefunden.',\n },\n list: {\n settings: 'Einstellungen',\n loadFailed: 'Liste konnte nicht geladen werden: {error}',\n empty: 'Noch keine Beiträge.',\n photo: 'Foto',\n likeCount: 'Likes {count}',\n info: {\n title: 'Board-Info',\n about: 'Über dieses Board',\n history: 'Versionsverlauf',\n },\n stack: {\n framework: 'Framework & Sprache',\n ui: 'UI & Styling',\n backend: 'Backend & Daten',\n },\n tech: {\n nuxt: 'Vue-basiertes SSR-Framework',\n vue: 'Composition API · script setup',\n typescript: 'Typsichere Daten und Komponenten',\n nuxtUi: 'Board-, Formular- und Modal-UI',\n tailwind: 'Responsiv · helle/dunkle Stile',\n lucide: 'Leichte, einheitliche Icons',\n dayjs: 'Lesbare Datums- und relative Zeitangaben',\n firestore: 'Echtzeit-DB für Beiträge und Kommentare',\n auth: 'Sichere Anmeldung und Berechtigungen',\n storage: 'Speicher für Bilder und Anhänge',\n vuefire: 'Echtzeit-Anbindung von Nuxt und Firebase',\n },\n },\n listViewSwitch: {\n default: 'Standard',\n dense: 'Kompakt',\n video: 'Video',\n },\n miniComments: {\n empty: 'Noch keine Kommentare.',\n blinded: 'Dieser Kommentar wurde von einem Admin ausgeblendet.',\n },\n miniList: {\n empty: 'Noch keine Beiträge.',\n },\n miniPicker: {\n selectedCount: 'Ausgewählt {count} / {max}',\n layoutHint: 'Ab 2 als Karussell, 4 als Raster',\n searchPlaceholder: 'Titel suchen',\n loading: 'Beiträge werden geladen…',\n noMore: 'Keine weiteren Beiträge zur Auswahl.',\n },\n miniPost: {\n empty: 'Keine Beiträge ausgewählt.',\n },\n moderation: {\n writeRestricted: 'Wegen wiederholter Inhaltswarnungen sind Beiträge und Kommentare vorübergehend gesperrt.',\n },\n moderationPrompt: {\n localHit: 'Ausdrücke wie „{hit}“ sind nicht erlaubt. Bitte anders formulieren.',\n localGeneric: 'Enthält Schimpfwörter und kann nicht veröffentlicht werden. Bitte anders formulieren.',\n genericBlocked: 'Enthält Inhalte, die nicht veröffentlicht werden können. Bitte überarbeiten.',\n categories: {\n abuse: 'Schimpfwörter oder Beleidigungen',\n spam: 'Spam oder Werbung',\n adult: 'sexuelle oder nicht jugendfreie Inhalte',\n violence: 'Gewalt oder Drohungen',\n other: 'unangemessene Inhalte',\n },\n },\n moderationStrike: {\n liftSoon: 'endet bald',\n liftInHours: 'endet in ca. {hours} Std.',\n liftInDays: 'endet in ca. {days} T.',\n liftInDaysHours: 'endet in ca. {days} T. {hours} Std.',\n },\n posts: {\n boardIdRequired: '[memi-board] boardId ist erforderlich.',\n photoRequired: 'Bitte ein Foto hinzufügen.',\n bodyRequired: 'Bitte Text eingeben oder ein Bild anhängen.',\n titleRequired: 'Bitte einen Titel eingeben.',\n },\n profile: {\n notFound: 'Benutzer nicht gefunden.',\n noName: 'Kein Name',\n joined: 'Dabei seit {time}',\n lastVisit: 'Zuletzt aktiv {time}',\n },\n profileEditModal: {\n imageOnly: 'Nur Bilddateien können ausgewählt werden.',\n nameRequired: 'Bitte einen Namen eingeben.',\n saveFailed: 'Profil konnte nicht gespeichert werden.',\n title: 'Profil bearbeiten',\n changePhoto: 'Foto ändern',\n name: 'Name',\n bio: 'Über mich',\n bioPlaceholder: 'Erzähl etwas über dich',\n },\n reportButton: {\n failed: 'Meldung konnte nicht gesendet werden.',\n reported: 'Gemeldet',\n title: 'Beitrag melden',\n done: 'Meldung erhalten. Das Team prüft sie.',\n reason: 'Grund',\n detailPlaceholder: 'Details (optional)',\n submit: 'Melden',\n },\n reportList: {\n staffOnly: 'Nur das Team kann Meldungen einsehen.',\n loadFailed: 'Liste konnte nicht geladen werden: {error}',\n empty: 'Keine offenen Meldungen.',\n untitled: 'Beitrag ohne Titel',\n author: 'von {name}',\n dismiss: 'Ablehnen',\n confirm: 'Erledigt',\n },\n reports: {\n reason: {\n spam: 'Spam / Werbung',\n abuse: 'Beleidigung / Hass / Belästigung',\n adult: 'Sexuelle Inhalte',\n illegal: 'Illegale Inhalte',\n other: 'Sonstiges',\n },\n fallbackLabel: 'Meldung',\n signInRequired: 'Anmeldung erforderlich.',\n cannotReportOwn: 'Eigene Beiträge können nicht gemeldet werden.',\n reasonRequired: 'Bitte einen Grund auswählen.',\n detailTooLong: 'Details dürfen höchstens {max} Zeichen lang sein.',\n },\n sectionUtil: {\n kind: {\n list: 'Beitragsliste',\n post: 'Beiträge',\n comments: 'Kommentare',\n },\n sort: {\n latest: 'Neueste',\n likes: 'Beliebteste',\n },\n untitledPost: 'Beitrag',\n view: {\n media: 'Medien',\n list: 'Liste',\n },\n },\n sections: {\n defaultTitle: 'Abschnitt {n}',\n },\n seo: {\n allCategory: 'Alle',\n boardDescription: 'Board {name}',\n allDescription: 'Board – Ankündigungen und News aus der Community.',\n postFallbackTitle: 'Beitrag | {site}',\n postFallbackDescription: 'Board',\n photo: 'Foto',\n postDescriptionFallback: 'Board-Beitrag',\n listTitle: '{name} | {site}',\n listTitleAll: 'Board | {site}',\n listDescription: '{name} – die neuesten Beiträge.',\n listDescriptionAll: 'Board – Ankündigungen und Geschichten.',\n },\n settings: {\n loading: 'Einstellungen werden geladen…',\n noAccess: 'Kein Zugriff',\n notFound: {\n title: 'Board nicht gefunden',\n checkAddress: 'Bitte die Adresse prüfen.',\n checkBoardAddress: 'Bitte die Board-Adresse prüfen.',\n },\n newBoard: {\n title: 'Dieses Board gibt es noch nicht',\n description: 'Unten Angaben ausfüllen und speichern, um es mit dieser ID anzulegen.',\n },\n noLabel: 'Kein Label',\n option: {\n default: 'Standard',\n },\n id: {\n label: 'Kategorie-ID',\n help: 'Wird in URL und Daten verwendet',\n },\n writeRole: {\n label: 'Wer darf posten',\n help: 'Mindestrolle zum Posten in dieser Kategorie',\n helpShort: 'Mindestrolle zum Posten',\n options: {\n user: 'Ab Benutzer',\n staff: 'Ab Team',\n admin: 'Nur Admins',\n },\n },\n commentWriteRole: {\n label: 'Wer darf kommentieren',\n help: 'Mindestrolle zum Kommentieren in dieser Kategorie',\n helpShort: 'Mindestrolle zum Kommentieren',\n hiddenFixed: 'Nur zuständiges Team (fest bei ausgeblendeten Boards)',\n },\n staff: {\n label: 'Zuständiges Team',\n help: 'Nur die ausgewählten Teammitglieder können dieses Board einrichten und verwalten. Leer lassen = nur Admins',\n placeholder: 'Nur Admins (kein Team zugewiesen)',\n },\n label: {\n label: 'Anzeigename',\n help: 'Der für Benutzer sichtbare Name',\n },\n description: {\n label: 'Beschreibung',\n help: 'Wird u. a. oben im Board angezeigt',\n placeholder: 'Kurze Beschreibung dieses Boards (optional)',\n },\n visibility: {\n label: 'Sichtbarkeit',\n options: {\n public: {\n label: 'Sichtbar',\n description: 'In Gesamtliste und Filtern sichtbar',\n },\n hidden: {\n label: 'Ausgeblendet',\n description: 'Tagebuch oder privat. Nur das zuständige Team kann kommentieren',\n },\n },\n },\n listView: {\n label: 'Listenansicht',\n help: 'Darstellung der Beitragsliste',\n options: {\n dense: 'Kompakt',\n video: 'Video',\n },\n },\n editorType: {\n label: 'Beitragsformular',\n help: 'Art der Beitragserstellung',\n options: {\n default: 'Titel und Text schreiben',\n image: 'Mehrere Fotos und ein Titelbild hinzufügen',\n },\n },\n locale: {\n label: 'Board-Sprache',\n auto: 'Automatisch (Sprache der Website)',\n },\n action: {\n moveDown: 'Nach unten',\n goToBoard: 'Zum Board',\n deleteBoard: 'Board löschen',\n create: 'Erstellen',\n },\n newCategoryPlaceholder: 'Name der neuen Kategorie',\n savedCategory: 'Kategorie „{label}“ gespeichert.',\n savedSettings: 'Board-Einstellungen gespeichert.',\n created: 'Board erstellt.',\n error: {\n orderFailed: 'Kategoriereihenfolge konnte nicht gespeichert werden.',\n deleteFailed: 'Board und zugehörige Daten konnten nicht gelöscht werden.',\n saveFailed: 'Board-Einstellungen konnten nicht gespeichert werden.',\n deleteAllFailed: 'Board-Daten konnten nicht gelöscht werden.',\n },\n danger: {\n title: 'Gefahrenbereich',\n confirmLabel: 'Zur Bestätigung „{phrase}“ eingeben',\n phrase: 'Board-Daten löschen',\n button: 'Alle Daten löschen',\n done: 'Alle Board-Daten wurden gelöscht.',\n },\n },\n shareButton: {\n copied: 'Link kopiert',\n },\n signIn: {\n withGoogle: 'Mit Google anmelden',\n withApple: 'Mit Apple anmelden',\n or: 'oder',\n name: 'Name',\n email: 'E-Mail',\n password: 'Passwort',\n signUp: 'Registrieren',\n toSignUp: 'Noch kein Konto? Registrieren',\n toSignIn: 'Bereits ein Konto? Anmelden',\n },\n storage: {\n sourceTooLarge: 'Das Originalbild darf höchstens {max} MB groß sein.',\n imageOnly: 'Nur Bilddateien können hochgeladen werden.',\n canvasUnavailable: 'Canvas ist nicht verfügbar',\n compressFailed: 'Komprimierung fehlgeschlagen',\n loadFailed: 'Bild konnte nicht geladen werden',\n },\n swipeHint: {\n title: 'Nach links oder rechts wischen',\n description: 'Nach links wischen für den nächsten, nach rechts für den vorherigen Beitrag.',\n },\n userCommentList: {\n loadFailed: 'Liste konnte nicht geladen werden: {error}',\n empty: 'Noch keine Kommentare.',\n blinded: 'Dieser Kommentar wurde von einem Admin ausgeblendet.',\n likes: '{count} Likes',\n },\n userPostList: {\n loadFailed: 'Liste konnte nicht geladen werden: {error}',\n empty: 'Noch keine Beiträge.',\n },\n users: {\n changeRoleFailed: 'Rolle konnte nicht geändert werden.',\n loading: 'Benutzer werden geladen…',\n noPermission: {\n title: 'Keine Berechtigung',\n description: 'Nur Board-Admins können Benutzerrollen verwalten.',\n },\n empty: 'Noch keine Benutzer im Board angemeldet.',\n noName: 'Kein Name',\n moderationWarnings: '{count} Inhaltswarnungen',\n },\n writingAssistant: {\n loginRequired: 'Zum Nutzen des AI-Schreibassistenten bitte anmelden.',\n userMissing: 'Benutzerdaten konnten nicht geprüft werden. Bitte erneut versuchen.',\n contentRequired: 'Bitte zuerst Text für die AI eingeben.',\n customRequired: 'Bitte eine Anweisung zum Umschreiben eingeben.',\n emptyResult: 'Die AI konnte kein Ergebnis erzeugen. Bitte erneut versuchen.',\n failed: 'AI-Aufgabe fehlgeschlagen. Bitte erneut versuchen.',\n actions: {\n proofread: 'Rechtschreibung prüfen',\n polish: 'Text verbessern',\n continue: 'Weiterschreiben',\n summarize: 'Kurz zusammenfassen',\n translateEn: 'Ins Englische übersetzen',\n translateKo: 'Ins Koreanische übersetzen',\n title: 'Titel aus Text erstellen',\n custom: 'In eigenem Stil umschreiben…',\n },\n },\n}\n\nexport default messages\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"en-CaPfPNDy.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 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 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}\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 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 backToList: 'Back to list',\n postNav: 'Post navigation',\n list: 'List',\n comments: 'Comments',\n}\n","export default {\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 skipModeration: 'Skip profanity filter (admin)',\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 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 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 hint: {\n reviewing: 'Reviewing content…',\n saving: 'Saving…',\n },\n}\n","export default {\n introduction: 'A board built on Nuxt 4, Vue 3 and TypeScript, using Nuxt UI and Firebase to keep posts and comments flowing smoothly.',\n info: {\n title: 'Board info',\n about: 'About this board',\n history: 'Version history',\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 photo: 'Photo',\n likeCount: 'Likes {count}',\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 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}\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 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 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 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 action: {\n moveDown: 'Down',\n goToBoard: 'Go to board',\n deleteBoard: 'Delete board',\n create: 'Create',\n },\n newCategoryPlaceholder: 'New category name',\n deleteConfirm: 'Delete the “{label}” board?\\n\\nAll posts, comments, replies, inline 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 danger: {\n title: 'Danger zone',\n description: 'Permanently deletes all posts, comments, 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 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 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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"es-7JHjGVlM.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 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 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 },\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 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 backToList: 'Volver a la lista',\n postNav: 'Navegación de publicaciones',\n list: 'Lista',\n comments: 'Comentarios',\n },\n editor: {\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 skipModeration: 'Omitir filtro de groserías (admin)',\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 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 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 reviewing: 'Revisando el contenido…',\n saving: 'Guardando…',\n },\n },\n footer: {\n info: {\n title: 'Información del tablero',\n about: 'Acerca de este tablero',\n history: 'Historial de versiones',\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 settings: 'Configuración',\n loadFailed: 'No se pudo cargar la lista: {error}',\n empty: 'Aún no hay publicaciones.',\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 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 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 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 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 locale: {\n label: 'Idioma del tablero',\n auto: 'Automático (según el idioma del sitio)',\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 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 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 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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fr-C3NCMNoy.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 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 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 },\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 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 backToList: 'Retour à la liste',\n postNav: 'Navigation entre publications',\n list: 'Liste',\n comments: 'Commentaires',\n },\n editor: {\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 skipModeration: 'Ignorer le filtre de grossièretés (admin)',\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 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 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 reviewing: 'Vérification du contenu…',\n saving: 'Enregistrement…',\n },\n },\n footer: {\n info: {\n title: 'Infos du forum',\n about: 'À propos de ce forum',\n history: 'Historique des versions',\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 settings: 'Paramètres',\n loadFailed: 'Impossible de charger la liste : {error}',\n empty: 'Aucune publication pour l’instant.',\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 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 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 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 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 locale: {\n label: 'Langue du forum',\n auto: 'Automatique (langue du site)',\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 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 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 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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-C8hCAMPJ.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 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 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 },\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 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 backToList: 'Kembali ke daftar',\n postNav: 'Navigasi postingan',\n list: 'Daftar',\n comments: 'Komentar',\n },\n editor: {\n titlePlaceholder: 'Judul',\n contentPlaceholder: 'Tulis sesuatu… Ketik / untuk membuka menu blok.',\n imageContentPlaceholder: 'Tulis sesuatu…',\n tagsPlaceholder: 'Ketik tag lalu tekan Enter',\n skipModeration: 'Lewati filter kata kasar (admin)',\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 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 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 reviewing: 'Meninjau konten…',\n saving: 'Menyimpan…',\n },\n },\n footer: {\n info: {\n title: 'Info papan',\n about: 'Tentang papan ini',\n history: 'Riwayat versi',\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 settings: 'Pengaturan',\n loadFailed: 'Gagal memuat daftar: {error}',\n empty: 'Belum ada postingan.',\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 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 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 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 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 locale: {\n label: 'Bahasa papan',\n auto: 'Otomatis (ikuti bahasa situs)',\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 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 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 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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pt-B9EH4scA.js","names":[],"sources":["../src/i18n/messages/pt.ts"],"sourcesContent":["import type { MemiBoardMessages } from '../translate'\n\n/** 짧은 화면 문구만 번역한다. 빠진 키는 en → ko 순으로 폴백된다. */\nconst messages: MemiBoardMessages = {\n attachments: {\n attach: 'Anexar arquivos ({count} / {max})',\n maxFiles: 'Você pode anexar até {max} arquivos.',\n },\n auth: {\n writeRestricted: 'Publicar e comentar está temporariamente restrito por causa de avisos de conteúdo acumulados.',\n strikeSuffix: ' (Aviso {count}/{threshold})',\n strikeRestricted: ' Você atingiu {count} avisos, então publicar e comentar está restrito.',\n notInitialized: '[memi-board] O Firebase Auth não foi inicializado.',\n },\n authorMemo: {\n tooLong: 'As notas podem ter até {max} caracteres.',\n },\n authorMenu: {\n viewProfile: 'Ver perfil',\n viewPosts: 'Ver publicações',\n viewComments: 'Ver comentários',\n memoAriaLabel: 'Nota sobre este autor',\n memoTitle: 'Nota privada',\n memoPlaceholder: 'Anote algo sobre este autor…',\n bad: 'Ruim',\n good: 'Bom',\n },\n avatarCropModal: {\n title: 'Recortar foto do perfil',\n description: 'Exibida em formato quadrado (1:1). Ajuste a área.',\n confirm: 'Recortar e enviar',\n },\n boardSettings: {\n signInRequired: 'Faça login.',\n idAndNameRequired: 'Informe um ID e um nome para o fórum.',\n deleteIdRequired: 'É necessário o ID do fórum para excluí-lo.',\n nameRequired: 'Informe um nome para o fórum.',\n },\n boardUsers: {\n unsupportedRole: 'Função não suportada.',\n roleDescription: {\n admin: 'Gerencia as funções dos usuários, as configurações do fórum e todo o conteúdo.',\n user: 'Pode escrever publicações e comentários, e editar ou excluir apenas o próprio conteúdo.',\n },\n },\n commentFeed: {\n empty: 'Ainda não há comentários.',\n emptyLiked: 'Ainda não há comentários curtidos.',\n loadFailed: 'Não foi possível carregar a lista: {error}',\n blinded: 'Este comentário foi ocultado por um administrador.',\n },\n commentForm: {\n hiddenBoardDenied: 'Somente a equipe responsável pode comentar em fóruns ocultos.',\n denied: 'Você não tem permissão para comentar neste fórum.',\n signInRequired: 'Faça login.',\n writeRestricted: 'Publicar está temporariamente restrito por causa de avisos de conteúdo acumulados.',\n moderationBlocked: 'Há conteúdo que não pode ser publicado.',\n replyTo: 'Responder a {name}',\n placeholder: 'Escreva um comentário',\n submitReply: 'Responder',\n submit: 'Comentar',\n signInToComment: 'Faça login para deixar um comentário.',\n },\n commentItem: {\n editRestricted: 'A edição de comentários está temporariamente restrita.',\n moderationBlocked: 'Há conteúdo que não pode ser publicado.',\n editFailed: 'Não foi possível atualizar o comentário.',\n blindFailed: 'Não foi possível alterar o estado de ocultação.',\n likeFailed: 'Não foi possível processar a curtida.',\n blinded: 'Este comentário foi ocultado por um administrador.',\n edit: 'Editar comentário',\n blind: 'Ocultar comentário',\n unblind: 'Reexibir comentário',\n delete: 'Excluir comentário',\n },\n commentList: {\n loading: 'Carregando comentários',\n empty: 'Ainda não há comentários.',\n loadMore: 'Mais comentários',\n loadingMore: 'Carregando mais comentários',\n },\n commentThread: {\n deleteConfirm: 'Excluir este comentário?',\n deleteFailed: 'Não foi possível excluir o comentário.',\n hideReplies: 'Ocultar respostas',\n showReplies: '{count} respostas',\n loadMoreReplies: 'Mais respostas',\n },\n comments: {\n bodyRequired: 'Escreva um comentário.',\n bodyTooLong: 'Os comentários podem ter até {max} caracteres.',\n replyTargetNotFound: 'O comentário que você está respondendo não foi encontrado.',\n threadNotFound: 'A conversa de comentários não foi encontrada.',\n hasRepliesCannotDelete: 'No momento, não é possível excluir comentários com respostas.',\n },\n common: {\n action: {\n cancel: 'Cancelar',\n save: 'Salvar',\n saved: 'Salvo',\n edit: 'Editar',\n delete: 'Excluir',\n confirm: 'OK',\n close: 'Fechar',\n add: 'Adicionar',\n more: 'Ver mais',\n prev: 'Anterior',\n next: 'Próximo',\n retry: 'Tentar novamente',\n reply: 'Responder',\n like: 'Curtir',\n unlike: 'Descurtir',\n share: 'Compartilhar',\n report: 'Denunciar',\n signIn: 'Entrar',\n signOut: 'Sair',\n write: 'Escrever',\n toTop: 'Topo',\n },\n label: {\n anonymous: 'Anônimo',\n user: 'Usuário',\n image: 'Imagem',\n draft: 'Rascunho',\n loading: 'Carregando…',\n },\n role: {\n admin: 'Administrador',\n staff: 'Equipe',\n user: 'Usuário',\n },\n date: {\n justNow: 'Agora mesmo',\n fewSecondsAgo: 'Há alguns segundos',\n checking: 'Verificando horário',\n createdAt: 'Criado: {time}',\n updatedAt: 'Atualizado: {time}',\n },\n },\n detail: {\n deleteConfirm: 'Excluir esta publicação? Isso não pode ser desfeito.',\n notFound: 'Publicação não encontrada.',\n draftPreview: 'Prévia não publicada',\n draftNotice: 'Esta publicação ainda não foi publicada. Só você pode vê-la até publicá-la.',\n publish: 'Publicar',\n backToList: 'Voltar à lista',\n postNav: 'Navegação entre publicações',\n list: 'Lista',\n comments: 'Comentários',\n },\n editor: {\n titlePlaceholder: 'Título',\n contentPlaceholder: 'Escreva algo… Digite / para abrir o menu de blocos.',\n imageContentPlaceholder: 'Escreva algo…',\n tagsPlaceholder: 'Digite uma tag e pressione Enter',\n skipModeration: 'Ignorar filtro de palavrões (admin)',\n submitEdit: 'Salvar alterações',\n submitNext: 'Próximo: prévia',\n apply: 'Aplicar',\n imageOptimizing: 'Otimizando e enviando a imagem…',\n cover: {\n imageLink: 'Link da imagem',\n addPhoto: 'Adicionar fotos',\n alt: 'Foto {n}',\n representative: 'Capa',\n setRepresentative: 'Usar como capa',\n setRepresentativeAria: 'Usar a foto {n} como capa',\n remove: 'Remover foto',\n add: 'Adicionar',\n uploading: 'Enviando…',\n dropOrClick: 'Solte fotos ou clique para adicionar',\n emptyHint: 'Selecione várias · Escolha a capa após o envio · Arraste para reordenar',\n uploadTitle: 'Enviar',\n },\n uploadFailed: 'Falha no envio',\n aiAssistant: 'Assistente de escrita com AI',\n insertBlock: 'Inserir bloco',\n blockMenu: 'Menu de blocos',\n imageDialog: {\n title: 'Adicionar imagem',\n chooseFile: 'Escolher imagem do dispositivo',\n orLink: 'ou link da imagem',\n urlLabel: 'URL da imagem',\n previewAlt: 'Prévia da imagem externa',\n addLink: 'Adicionar link',\n },\n customDialog: {\n title: 'Reescrever com um estilo personalizado',\n label: 'Como você quer reescrever?',\n help: 'ex.: em tom descontraído / em estilo formal / em tópicos concisos',\n placeholder: 'Em tom descontraído',\n },\n aiPreview: {\n title: 'Revisar resultado da AI',\n currentTitle: 'Título atual',\n newTitle: 'Novo título',\n currentContent: 'Conteúdo atual',\n appendedContent: 'Conteúdo a adicionar',\n before: 'Antes',\n after: 'Depois',\n },\n menu: {\n ai: 'AI',\n aiContinue: 'Continuar com AI',\n style: 'Estilo',\n insert: 'Inserir',\n paragraph: 'Parágrafo',\n heading1: 'Título 1',\n heading2: 'Título 2',\n heading3: 'Título 3',\n bulletList: 'Lista com marcadores',\n orderedList: 'Lista numerada',\n blockquote: 'Citação',\n codeBlock: 'Bloco de código',\n horizontalRule: 'Divisor',\n image: 'Imagem',\n turnInto: 'Transformar em',\n resetFormatting: 'Redefinir formatação',\n duplicate: 'Duplicar',\n moveUp: 'Mover para cima',\n moveDown: 'Mover para baixo',\n delete: 'Excluir',\n },\n toolbar: {\n link: 'Link',\n image: 'Imagem',\n format: 'Formatar',\n bold: 'Negrito',\n italic: 'Itálico',\n underline: 'Sublinhado',\n strike: 'Tachado',\n title: 'Título',\n heading: 'Cabeçalho',\n subheading: 'Subtítulo',\n body: 'Corpo',\n mono: 'Monoespaçado',\n bulletList: 'Lista com marcadores',\n orderedList: 'Lista numerada',\n blockquote: 'Citação em bloco',\n codeBlock: 'Bloco de código',\n horizontalRule: 'Divisor',\n clearFormatting: 'Limpar formatação',\n undo: 'Desfazer',\n redo: 'Refazer',\n },\n ai: {\n proofread: 'Verificar ortografia',\n polish: 'Aprimorar texto',\n continue: 'Continuar escrevendo',\n summarize: 'Resumir brevemente',\n translateEn: 'Traduzir para inglês',\n translateKo: 'Traduzir para coreano',\n title: 'Gerar título a partir do texto',\n custom: 'Reescrever com um estilo personalizado…',\n failed: 'A tarefa de AI falhou. Tente novamente.',\n },\n youtubePrompt: 'Insira um link do YouTube.',\n errors: {\n coverMax: 'Você pode enviar até {max} fotos.',\n imageUrlRequired: 'Insira uma URL de imagem.',\n imageUrlInvalid: 'Insira uma URL de imagem válida.',\n imageUrlHttps: 'Somente URLs de imagem HTTPS são permitidas.',\n imageUrlCredentials: 'URLs com dados de login não são permitidas.',\n imageTimeout: 'A imagem está demorando demais para carregar.',\n imageNotDisplayable: 'Não é possível exibir esta imagem.',\n editorNotReady: 'O editor não está pronto. Tente novamente.',\n imageLinkFailed: 'Não foi possível adicionar o link da imagem.',\n imageOnly: 'Somente arquivos de imagem podem ser enviados.',\n imageTooLarge: 'As imagens originais devem ter {mb}MB ou menos.',\n imageUploadFailed: 'Falha ao enviar a imagem.',\n pasteAsFile: 'Cole ou arraste as fotos como arquivos na área acima.',\n postNotFound: 'Publicação não encontrada.',\n loadPermission: 'Você não tem permissão para carregar esta publicação. Verifique se você fez login.',\n loadFailed: 'Não foi possível carregar a publicação: {message}',\n titleRequired: 'Insira um título.',\n photoRequired: 'Envie pelo menos uma foto.',\n bodyRequired: 'Escreva algum texto ou anexe uma imagem.',\n signInRequired: 'É necessário fazer login.',\n boardMissing: 'Nenhum fórum foi especificado.',\n writeRestricted: 'Publicar e comentar está temporariamente restrito por causa de avisos de conteúdo acumulados.',\n moderationBlocked: 'Há conteúdo que não pode ser publicado.',\n },\n hint: {\n reviewing: 'Revisando o conteúdo…',\n saving: 'Salvando…',\n },\n },\n footer: {\n info: {\n title: 'Informações do fórum',\n about: 'Sobre este fórum',\n history: 'Histórico de versões',\n },\n stack: {\n ui: 'Interface e experiência',\n data: 'Dados e login',\n writing: 'Escrita e praticidade',\n },\n },\n likes: {\n signInRequired: 'Faça login.',\n commentNotFound: 'Comentário não encontrado.',\n },\n list: {\n settings: 'Configurações',\n loadFailed: 'Não foi possível carregar a lista: {error}',\n empty: 'Ainda não há publicações.',\n photo: 'Foto',\n likeCount: 'Curtidas {count}',\n info: {\n title: 'Informações do fórum',\n about: 'Sobre este fórum',\n history: 'Histórico de versões',\n },\n stack: {\n framework: 'Framework e linguagem',\n ui: 'UI e estilos',\n backend: 'Backend e dados',\n },\n tech: {\n nuxt: 'Framework SSR baseado em Vue',\n vue: 'Composition API · script setup',\n typescript: 'Dados e componentes com tipagem segura',\n nuxtUi: 'UI de fórum, formulários e modais',\n tailwind: 'Estilos responsivos · claro/escuro',\n lucide: 'Ícones leves e consistentes',\n dayjs: 'Datas legíveis e tempos relativos',\n firestore: 'Banco de dados em tempo real para publicações e comentários',\n auth: 'Login e permissões seguros',\n storage: 'Armazenamento de imagens e anexos',\n vuefire: 'Conexão em tempo real entre Nuxt e Firebase',\n },\n },\n listViewSwitch: {\n default: 'Padrão',\n dense: 'Compacta',\n video: 'Vídeo',\n },\n miniComments: {\n empty: 'Ainda não há comentários.',\n blinded: 'Este comentário foi ocultado por um administrador.',\n },\n miniList: {\n empty: 'Ainda não há publicações.',\n },\n miniPicker: {\n selectedCount: 'Selecionadas {count} / {max}',\n layoutHint: '2 ou mais aparecem em carrossel; 4, em grade',\n searchPlaceholder: 'Buscar títulos',\n loading: 'Carregando publicações…',\n noMore: 'Não há mais publicações para escolher.',\n },\n miniPost: {\n empty: 'Nenhuma publicação selecionada.',\n },\n moderation: {\n writeRestricted: 'Publicar e comentar está temporariamente restrito por causa de avisos de conteúdo acumulados.',\n },\n moderationPrompt: {\n localHit: 'Expressões como “{hit}” não são permitidas. Reescreva o texto.',\n localGeneric: 'Há palavrões no texto, então não é possível publicar. Reescreva o texto.',\n genericBlocked: 'Há conteúdo que não pode ser publicado. Edite o texto.',\n categories: {\n abuse: 'palavrões ou insultos',\n spam: 'spam ou publicidade',\n adult: 'conteúdo sexual ou adulto',\n violence: 'violência ou ameaças',\n other: 'conteúdo impróprio',\n },\n },\n moderationStrike: {\n liftSoon: 'liberado em breve',\n liftInHours: 'liberado em cerca de {hours} h',\n liftInDays: 'liberado em cerca de {days} d',\n liftInDaysHours: 'liberado em cerca de {days} d {hours} h',\n },\n posts: {\n boardIdRequired: '[memi-board] boardId é obrigatório.',\n photoRequired: 'Adicione uma foto.',\n bodyRequired: 'Escreva algum texto ou anexe uma imagem.',\n titleRequired: 'Insira um título.',\n },\n profile: {\n notFound: 'Usuário não encontrado.',\n noName: 'Sem nome',\n joined: 'Entrou {time}',\n lastVisit: 'Visto por último {time}',\n },\n profileEditModal: {\n imageOnly: 'Somente arquivos de imagem podem ser selecionados.',\n nameRequired: 'Insira um nome.',\n saveFailed: 'Não foi possível salvar o perfil.',\n title: 'Editar perfil',\n changePhoto: 'Alterar foto',\n name: 'Nome',\n bio: 'Bio',\n bioPlaceholder: 'Conte um pouco sobre você',\n },\n reportButton: {\n failed: 'Não foi possível enviar a denúncia.',\n reported: 'Denunciado',\n title: 'Denunciar publicação',\n done: 'Denúncia recebida. A equipe vai analisá-la.',\n reason: 'Motivo',\n detailPlaceholder: 'Detalhes (opcional)',\n submit: 'Denunciar',\n },\n reportList: {\n staffOnly: 'Somente a equipe pode ver as denúncias.',\n loadFailed: 'Não foi possível carregar a lista: {error}',\n empty: 'Nenhuma denúncia pendente.',\n untitled: 'Publicação sem título',\n author: 'por {name}',\n dismiss: 'Descartar',\n confirm: 'Resolver',\n },\n reports: {\n reason: {\n spam: 'Spam / publicidade',\n abuse: 'Ofensa / ódio / assédio',\n adult: 'Conteúdo sexual',\n illegal: 'Conteúdo ilegal',\n other: 'Outro',\n },\n fallbackLabel: 'Denúncia',\n signInRequired: 'Faça login.',\n cannotReportOwn: 'Você não pode denunciar sua própria publicação.',\n reasonRequired: 'Selecione um motivo.',\n detailTooLong: 'Os detalhes podem ter até {max} caracteres.',\n },\n sectionUtil: {\n kind: {\n list: 'Lista de publicações',\n post: 'Publicações',\n comments: 'Comentários',\n },\n sort: {\n latest: 'Mais recentes',\n likes: 'Mais curtidas',\n },\n untitledPost: 'Publicação',\n view: {\n media: 'Mídia',\n list: 'Lista',\n },\n },\n sections: {\n defaultTitle: 'Seção {n}',\n },\n seo: {\n allCategory: 'Tudo',\n boardDescription: 'Fórum {name}',\n allDescription: 'Fórum: avisos e novidades da comunidade.',\n postFallbackTitle: 'Publicação | {site}',\n postFallbackDescription: 'Fórum',\n photo: 'Foto',\n postDescriptionFallback: 'Publicação do fórum',\n listTitle: '{name} | {site}',\n listTitleAll: 'Fórum | {site}',\n listDescription: '{name}: confira as publicações mais recentes.',\n listDescriptionAll: 'Fórum: avisos e histórias.',\n },\n settings: {\n loading: 'Carregando configurações…',\n noAccess: 'Você não tem acesso',\n notFound: {\n title: 'Fórum não encontrado',\n checkAddress: 'Verifique o endereço.',\n checkBoardAddress: 'Verifique o endereço do fórum.',\n },\n newBoard: {\n title: 'Este fórum ainda não existe',\n description: 'Preencha os dados abaixo e salve para criá-lo com este ID.',\n },\n noLabel: 'Sem rótulo',\n option: {\n default: 'Padrão',\n },\n id: {\n label: 'ID da categoria',\n help: 'Usado na URL e nos dados',\n },\n writeRole: {\n label: 'Quem pode publicar',\n help: 'Função mínima necessária para publicar nesta categoria',\n helpShort: 'Função mínima necessária para publicar',\n options: {\n user: 'Usuários ou acima',\n staff: 'Equipe ou acima',\n admin: 'Somente administradores',\n },\n },\n commentWriteRole: {\n label: 'Quem pode comentar',\n help: 'Função mínima necessária para comentar nesta categoria',\n helpShort: 'Função mínima necessária para comentar',\n hiddenFixed: 'Somente a equipe responsável (fixo em fóruns ocultos)',\n },\n staff: {\n label: 'Equipe responsável',\n help: 'Somente a equipe selecionada pode configurar e gerenciar este fórum. Deixe vazio para apenas administradores',\n placeholder: 'Somente administradores (sem equipe definida)',\n },\n label: {\n label: 'Nome de exibição',\n help: 'O nome que os usuários veem',\n },\n description: {\n label: 'Descrição',\n help: 'Exibida no topo do fórum e em outros lugares',\n placeholder: 'Uma breve descrição deste fórum (opcional)',\n },\n visibility: {\n label: 'Visibilidade',\n options: {\n public: {\n label: 'Visível',\n description: 'Exibido na lista completa e nos filtros',\n },\n hidden: {\n label: 'Oculto',\n description: 'Diário ou privado. Somente a equipe responsável pode comentar',\n },\n },\n },\n listView: {\n label: 'Visualização da lista',\n help: 'Como a lista de publicações é exibida',\n options: {\n dense: 'Compacta',\n video: 'Vídeo',\n },\n },\n editorType: {\n label: 'Formulário de publicação',\n help: 'Como as publicações são escritas',\n options: {\n default: 'Escrever um título e um texto',\n image: 'Adicionar várias fotos e uma foto de capa',\n },\n },\n locale: {\n label: 'Idioma do fórum',\n auto: 'Automático (seguir o idioma do site)',\n },\n action: {\n moveDown: 'Para baixo',\n goToBoard: 'Ir para o fórum',\n deleteBoard: 'Excluir fórum',\n create: 'Criar',\n },\n newCategoryPlaceholder: 'Nome da nova categoria',\n savedCategory: 'Categoria “{label}” salva.',\n savedSettings: 'Configurações do fórum salvas.',\n created: 'Fórum criado.',\n error: {\n orderFailed: 'Não foi possível salvar a ordem das categorias.',\n deleteFailed: 'Não foi possível excluir o fórum e seus dados.',\n saveFailed: 'Não foi possível salvar as configurações do fórum.',\n deleteAllFailed: 'Não foi possível excluir os dados do fórum.',\n },\n danger: {\n title: 'Zona de perigo',\n confirmLabel: 'Digite “{phrase}” para confirmar',\n phrase: 'excluir dados do fórum',\n button: 'Excluir todos os dados',\n done: 'Todos os dados do fórum foram excluídos.',\n },\n },\n shareButton: {\n copied: 'Link copiado',\n },\n signIn: {\n withGoogle: 'Entrar com o Google',\n withApple: 'Entrar com a Apple',\n or: 'ou',\n name: 'Nome',\n email: 'E-mail',\n password: 'Senha',\n signUp: 'Cadastrar-se',\n toSignUp: 'Não tem uma conta? Cadastre-se',\n toSignIn: 'Já tem uma conta? Entrar',\n },\n storage: {\n sourceTooLarge: 'A imagem original deve ter {max}MB ou menos.',\n imageOnly: 'Somente arquivos de imagem podem ser enviados.',\n canvasUnavailable: 'Canvas não está disponível',\n compressFailed: 'Falha na compressão',\n loadFailed: 'Falha ao carregar a imagem',\n },\n swipeHint: {\n title: 'Experimente deslizar para os lados',\n description: 'Deslize para a esquerda para ver a próxima publicação e para a direita para ver a anterior.',\n },\n userCommentList: {\n loadFailed: 'Não foi possível carregar a lista: {error}',\n empty: 'Ainda não há comentários.',\n blinded: 'Este comentário foi ocultado por um administrador.',\n likes: '{count} curtidas',\n },\n userPostList: {\n loadFailed: 'Não foi possível carregar a lista: {error}',\n empty: 'Ainda não há publicações.',\n },\n users: {\n changeRoleFailed: 'Não foi possível alterar a função.',\n loading: 'Carregando usuários…',\n noPermission: {\n title: 'Sem permissão',\n description: 'Somente administradores do fórum podem gerenciar as funções dos usuários.',\n },\n empty: 'Nenhum usuário fez login no fórum ainda.',\n noName: 'Sem nome',\n moderationWarnings: '{count} avisos de conteúdo',\n },\n writingAssistant: {\n loginRequired: 'Faça login para usar o assistente de escrita com AI.',\n userMissing: 'Não foi possível verificar suas informações de usuário. Tente novamente.',\n contentRequired: 'Primeiro, escreva algum conteúdo para a AI trabalhar.',\n customRequired: 'Escreva uma instrução de como reescrever.',\n emptyResult: 'A AI não conseguiu gerar um resultado. Tente novamente.',\n failed: 'A tarefa de AI falhou. Tente novamente.',\n actions: {\n proofread: 'Verificar ortografia',\n polish: 'Aprimorar frases',\n continue: 'Continuar escrevendo',\n summarize: 'Resumir',\n translateEn: 'Traduzir para inglês',\n translateKo: 'Traduzir para coreano',\n title: 'Gerar título a partir do texto',\n custom: 'Reescrever com um estilo personalizado…',\n },\n },\n}\n\nexport default messages\n"],"mappings":"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"}