memi-board 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +54 -3
  2. package/dist/ar-BCQdRw_S.js +622 -0
  3. package/dist/ar-BCQdRw_S.js.map +1 -0
  4. package/dist/composables/fetchPublicSeo.d.ts +4 -1
  5. package/dist/composables/useMemiBoardAutoTranslate.d.ts +33 -0
  6. package/dist/composables/useMemiBoardModeration.d.ts +5 -1
  7. package/dist/composables/useMemiBoardReports.d.ts +6 -1
  8. package/dist/composables/useMemiBoardSections.d.ts +2 -1
  9. package/dist/composables/useMemiBoardUsers.d.ts +4 -0
  10. package/dist/composables/useMemiBoardWritingAssistant.d.ts +9 -1
  11. package/dist/config.d.ts +5 -0
  12. package/dist/de-ddWQNaqs.js +622 -0
  13. package/dist/de-ddWQNaqs.js.map +1 -0
  14. package/dist/en-BVUBLkxc.js +648 -0
  15. package/dist/en-BVUBLkxc.js.map +1 -0
  16. package/dist/es-7JHjGVlM.js +622 -0
  17. package/dist/es-7JHjGVlM.js.map +1 -0
  18. package/dist/fr-C3NCMNoy.js +622 -0
  19. package/dist/fr-C3NCMNoy.js.map +1 -0
  20. package/dist/id-C8hCAMPJ.js +622 -0
  21. package/dist/id-C8hCAMPJ.js.map +1 -0
  22. package/dist/index.d.ts +10 -1
  23. package/dist/index.js +1218 -1487
  24. package/dist/index.js.map +1 -1
  25. package/dist/ja-oTWri4hY.js +622 -0
  26. package/dist/ja-oTWri4hY.js.map +1 -0
  27. package/dist/module.mjs +55 -31
  28. package/dist/module.mjs.map +1 -1
  29. package/dist/pt-B9EH4scA.js +622 -0
  30. package/dist/pt-B9EH4scA.js.map +1 -0
  31. package/dist/runtime/components/Attachments.vue +4 -2
  32. package/dist/runtime/components/AuthorMenu.vue +14 -12
  33. package/dist/runtime/components/AvatarCropModal.vue +8 -5
  34. package/dist/runtime/components/CategorySettings.vue +65 -43
  35. package/dist/runtime/components/CommentFeed.vue +9 -7
  36. package/dist/runtime/components/CommentForm.vue +16 -10
  37. package/dist/runtime/components/CommentItem.vue +25 -26
  38. package/dist/runtime/components/CommentList.vue +7 -4
  39. package/dist/runtime/components/CommentThread.vue +7 -5
  40. package/dist/runtime/components/Detail.vue +20 -15
  41. package/dist/runtime/components/Editor.vue +145 -135
  42. package/dist/runtime/components/Footer.vue +14 -13
  43. package/dist/runtime/components/List.vue +31 -29
  44. package/dist/runtime/components/ListDefault.vue +4 -3
  45. package/dist/runtime/components/ListDense.vue +6 -5
  46. package/dist/runtime/components/ListImage.vue +4 -2
  47. package/dist/runtime/components/ListVideo.vue +3 -2
  48. package/dist/runtime/components/ListViewSwitch.vue +10 -6
  49. package/dist/runtime/components/MiniCard.vue +3 -2
  50. package/dist/runtime/components/MiniComments.vue +5 -4
  51. package/dist/runtime/components/MiniList.vue +3 -2
  52. package/dist/runtime/components/MiniPicker.vue +10 -9
  53. package/dist/runtime/components/MiniPost.vue +3 -2
  54. package/dist/runtime/components/MiniPosts.vue +5 -4
  55. package/dist/runtime/components/Profile.vue +12 -7
  56. package/dist/runtime/components/ProfileEditModal.vue +14 -13
  57. package/dist/runtime/components/ReportButton.vue +20 -10
  58. package/dist/runtime/components/ReportList.vue +11 -10
  59. package/dist/runtime/components/Section.vue +3 -2
  60. package/dist/runtime/components/Settings.vue +84 -62
  61. package/dist/runtime/components/ShareButton.vue +3 -1
  62. package/dist/runtime/components/SignIn.vue +14 -8
  63. package/dist/runtime/components/SwipeHint.vue +5 -3
  64. package/dist/runtime/components/UserCommentList.vue +8 -6
  65. package/dist/runtime/components/UserPostList.vue +6 -4
  66. package/dist/runtime/components/Users.vue +16 -10
  67. package/dist/runtime/composables/useMemiBoardSeo.ts +16 -10
  68. package/dist/slugify-6bG6GSO_.js +942 -0
  69. package/dist/slugify-6bG6GSO_.js.map +1 -0
  70. package/dist/storage.js +72 -71
  71. package/dist/storage.js.map +1 -1
  72. package/dist/types.d.ts +4 -0
  73. package/dist/utils/boardSeo.d.ts +5 -5
  74. package/dist/utils/compressImage.d.ts +2 -1
  75. package/dist/utils/formatDate.d.ts +6 -4
  76. package/dist/utils/imeSafeSubmit.d.ts +2 -0
  77. package/dist/utils/moderation-prompt.d.ts +18 -1
  78. package/dist/utils/moderation-strike.d.ts +2 -1
  79. package/dist/utils/section.d.ts +15 -2
  80. package/dist/zh-D5rDYV6E.js +622 -0
  81. package/dist/zh-D5rDYV6E.js.map +1 -0
  82. package/package.json +2 -3
  83. package/dist/slugify-Cm_pi2al.js +0 -124
  84. package/dist/slugify-Cm_pi2al.js.map +0 -1
@@ -0,0 +1,622 @@
1
+ //#region src/i18n/messages/pt.ts
2
+ var e = {
3
+ attachments: {
4
+ attach: "Anexar arquivos ({count} / {max})",
5
+ maxFiles: "Você pode anexar até {max} arquivos."
6
+ },
7
+ auth: {
8
+ writeRestricted: "Publicar e comentar está temporariamente restrito por causa de avisos de conteúdo acumulados.",
9
+ strikeSuffix: " (Aviso {count}/{threshold})",
10
+ strikeRestricted: " Você atingiu {count} avisos, então publicar e comentar está restrito.",
11
+ notInitialized: "[memi-board] O Firebase Auth não foi inicializado."
12
+ },
13
+ authorMemo: { tooLong: "As notas podem ter até {max} caracteres." },
14
+ authorMenu: {
15
+ viewProfile: "Ver perfil",
16
+ viewPosts: "Ver publicações",
17
+ viewComments: "Ver comentários",
18
+ memoAriaLabel: "Nota sobre este autor",
19
+ memoTitle: "Nota privada",
20
+ memoPlaceholder: "Anote algo sobre este autor…",
21
+ bad: "Ruim",
22
+ good: "Bom"
23
+ },
24
+ avatarCropModal: {
25
+ title: "Recortar foto do perfil",
26
+ description: "Exibida em formato quadrado (1:1). Ajuste a área.",
27
+ confirm: "Recortar e enviar"
28
+ },
29
+ boardSettings: {
30
+ signInRequired: "Faça login.",
31
+ idAndNameRequired: "Informe um ID e um nome para o fórum.",
32
+ deleteIdRequired: "É necessário o ID do fórum para excluí-lo.",
33
+ nameRequired: "Informe um nome para o fórum."
34
+ },
35
+ boardUsers: {
36
+ unsupportedRole: "Função não suportada.",
37
+ roleDescription: {
38
+ admin: "Gerencia as funções dos usuários, as configurações do fórum e todo o conteúdo.",
39
+ user: "Pode escrever publicações e comentários, e editar ou excluir apenas o próprio conteúdo."
40
+ }
41
+ },
42
+ commentFeed: {
43
+ empty: "Ainda não há comentários.",
44
+ emptyLiked: "Ainda não há comentários curtidos.",
45
+ loadFailed: "Não foi possível carregar a lista: {error}",
46
+ blinded: "Este comentário foi ocultado por um administrador."
47
+ },
48
+ commentForm: {
49
+ hiddenBoardDenied: "Somente a equipe responsável pode comentar em fóruns ocultos.",
50
+ denied: "Você não tem permissão para comentar neste fórum.",
51
+ signInRequired: "Faça login.",
52
+ writeRestricted: "Publicar está temporariamente restrito por causa de avisos de conteúdo acumulados.",
53
+ moderationBlocked: "Há conteúdo que não pode ser publicado.",
54
+ replyTo: "Responder a {name}",
55
+ placeholder: "Escreva um comentário",
56
+ submitReply: "Responder",
57
+ submit: "Comentar",
58
+ signInToComment: "Faça login para deixar um comentário."
59
+ },
60
+ commentItem: {
61
+ editRestricted: "A edição de comentários está temporariamente restrita.",
62
+ moderationBlocked: "Há conteúdo que não pode ser publicado.",
63
+ editFailed: "Não foi possível atualizar o comentário.",
64
+ blindFailed: "Não foi possível alterar o estado de ocultação.",
65
+ likeFailed: "Não foi possível processar a curtida.",
66
+ blinded: "Este comentário foi ocultado por um administrador.",
67
+ edit: "Editar comentário",
68
+ blind: "Ocultar comentário",
69
+ unblind: "Reexibir comentário",
70
+ delete: "Excluir comentário"
71
+ },
72
+ commentList: {
73
+ loading: "Carregando comentários",
74
+ empty: "Ainda não há comentários.",
75
+ loadMore: "Mais comentários",
76
+ loadingMore: "Carregando mais comentários"
77
+ },
78
+ commentThread: {
79
+ deleteConfirm: "Excluir este comentário?",
80
+ deleteFailed: "Não foi possível excluir o comentário.",
81
+ hideReplies: "Ocultar respostas",
82
+ showReplies: "{count} respostas",
83
+ loadMoreReplies: "Mais respostas"
84
+ },
85
+ comments: {
86
+ bodyRequired: "Escreva um comentário.",
87
+ bodyTooLong: "Os comentários podem ter até {max} caracteres.",
88
+ replyTargetNotFound: "O comentário que você está respondendo não foi encontrado.",
89
+ threadNotFound: "A conversa de comentários não foi encontrada.",
90
+ hasRepliesCannotDelete: "No momento, não é possível excluir comentários com respostas."
91
+ },
92
+ common: {
93
+ action: {
94
+ cancel: "Cancelar",
95
+ save: "Salvar",
96
+ saved: "Salvo",
97
+ edit: "Editar",
98
+ delete: "Excluir",
99
+ confirm: "OK",
100
+ close: "Fechar",
101
+ add: "Adicionar",
102
+ more: "Ver mais",
103
+ prev: "Anterior",
104
+ next: "Próximo",
105
+ retry: "Tentar novamente",
106
+ reply: "Responder",
107
+ like: "Curtir",
108
+ unlike: "Descurtir",
109
+ share: "Compartilhar",
110
+ report: "Denunciar",
111
+ signIn: "Entrar",
112
+ signOut: "Sair",
113
+ write: "Escrever",
114
+ toTop: "Topo"
115
+ },
116
+ label: {
117
+ anonymous: "Anônimo",
118
+ user: "Usuário",
119
+ image: "Imagem",
120
+ draft: "Rascunho",
121
+ loading: "Carregando…"
122
+ },
123
+ role: {
124
+ admin: "Administrador",
125
+ staff: "Equipe",
126
+ user: "Usuário"
127
+ },
128
+ date: {
129
+ justNow: "Agora mesmo",
130
+ fewSecondsAgo: "Há alguns segundos",
131
+ checking: "Verificando horário",
132
+ createdAt: "Criado: {time}",
133
+ updatedAt: "Atualizado: {time}"
134
+ }
135
+ },
136
+ detail: {
137
+ deleteConfirm: "Excluir esta publicação? Isso não pode ser desfeito.",
138
+ notFound: "Publicação não encontrada.",
139
+ draftPreview: "Prévia não publicada",
140
+ draftNotice: "Esta publicação ainda não foi publicada. Só você pode vê-la até publicá-la.",
141
+ publish: "Publicar",
142
+ backToList: "Voltar à lista",
143
+ postNav: "Navegação entre publicações",
144
+ list: "Lista",
145
+ comments: "Comentários"
146
+ },
147
+ editor: {
148
+ titlePlaceholder: "Título",
149
+ contentPlaceholder: "Escreva algo… Digite / para abrir o menu de blocos.",
150
+ imageContentPlaceholder: "Escreva algo…",
151
+ tagsPlaceholder: "Digite uma tag e pressione Enter",
152
+ skipModeration: "Ignorar filtro de palavrões (admin)",
153
+ submitEdit: "Salvar alterações",
154
+ submitNext: "Próximo: prévia",
155
+ apply: "Aplicar",
156
+ imageOptimizing: "Otimizando e enviando a imagem…",
157
+ cover: {
158
+ imageLink: "Link da imagem",
159
+ addPhoto: "Adicionar fotos",
160
+ alt: "Foto {n}",
161
+ representative: "Capa",
162
+ setRepresentative: "Usar como capa",
163
+ setRepresentativeAria: "Usar a foto {n} como capa",
164
+ remove: "Remover foto",
165
+ add: "Adicionar",
166
+ uploading: "Enviando…",
167
+ dropOrClick: "Solte fotos ou clique para adicionar",
168
+ emptyHint: "Selecione várias · Escolha a capa após o envio · Arraste para reordenar",
169
+ uploadTitle: "Enviar"
170
+ },
171
+ uploadFailed: "Falha no envio",
172
+ aiAssistant: "Assistente de escrita com AI",
173
+ insertBlock: "Inserir bloco",
174
+ blockMenu: "Menu de blocos",
175
+ imageDialog: {
176
+ title: "Adicionar imagem",
177
+ chooseFile: "Escolher imagem do dispositivo",
178
+ orLink: "ou link da imagem",
179
+ urlLabel: "URL da imagem",
180
+ previewAlt: "Prévia da imagem externa",
181
+ addLink: "Adicionar link"
182
+ },
183
+ customDialog: {
184
+ title: "Reescrever com um estilo personalizado",
185
+ label: "Como você quer reescrever?",
186
+ help: "ex.: em tom descontraído / em estilo formal / em tópicos concisos",
187
+ placeholder: "Em tom descontraído"
188
+ },
189
+ aiPreview: {
190
+ title: "Revisar resultado da AI",
191
+ currentTitle: "Título atual",
192
+ newTitle: "Novo título",
193
+ currentContent: "Conteúdo atual",
194
+ appendedContent: "Conteúdo a adicionar",
195
+ before: "Antes",
196
+ after: "Depois"
197
+ },
198
+ menu: {
199
+ ai: "AI",
200
+ aiContinue: "Continuar com AI",
201
+ style: "Estilo",
202
+ insert: "Inserir",
203
+ paragraph: "Parágrafo",
204
+ heading1: "Título 1",
205
+ heading2: "Título 2",
206
+ heading3: "Título 3",
207
+ bulletList: "Lista com marcadores",
208
+ orderedList: "Lista numerada",
209
+ blockquote: "Citação",
210
+ codeBlock: "Bloco de código",
211
+ horizontalRule: "Divisor",
212
+ image: "Imagem",
213
+ turnInto: "Transformar em",
214
+ resetFormatting: "Redefinir formatação",
215
+ duplicate: "Duplicar",
216
+ moveUp: "Mover para cima",
217
+ moveDown: "Mover para baixo",
218
+ delete: "Excluir"
219
+ },
220
+ toolbar: {
221
+ link: "Link",
222
+ image: "Imagem",
223
+ format: "Formatar",
224
+ bold: "Negrito",
225
+ italic: "Itálico",
226
+ underline: "Sublinhado",
227
+ strike: "Tachado",
228
+ title: "Título",
229
+ heading: "Cabeçalho",
230
+ subheading: "Subtítulo",
231
+ body: "Corpo",
232
+ mono: "Monoespaçado",
233
+ bulletList: "Lista com marcadores",
234
+ orderedList: "Lista numerada",
235
+ blockquote: "Citação em bloco",
236
+ codeBlock: "Bloco de código",
237
+ horizontalRule: "Divisor",
238
+ clearFormatting: "Limpar formatação",
239
+ undo: "Desfazer",
240
+ redo: "Refazer"
241
+ },
242
+ ai: {
243
+ proofread: "Verificar ortografia",
244
+ polish: "Aprimorar texto",
245
+ continue: "Continuar escrevendo",
246
+ summarize: "Resumir brevemente",
247
+ translateEn: "Traduzir para inglês",
248
+ translateKo: "Traduzir para coreano",
249
+ title: "Gerar título a partir do texto",
250
+ custom: "Reescrever com um estilo personalizado…",
251
+ failed: "A tarefa de AI falhou. Tente novamente."
252
+ },
253
+ youtubePrompt: "Insira um link do YouTube.",
254
+ errors: {
255
+ coverMax: "Você pode enviar até {max} fotos.",
256
+ imageUrlRequired: "Insira uma URL de imagem.",
257
+ imageUrlInvalid: "Insira uma URL de imagem válida.",
258
+ imageUrlHttps: "Somente URLs de imagem HTTPS são permitidas.",
259
+ imageUrlCredentials: "URLs com dados de login não são permitidas.",
260
+ imageTimeout: "A imagem está demorando demais para carregar.",
261
+ imageNotDisplayable: "Não é possível exibir esta imagem.",
262
+ editorNotReady: "O editor não está pronto. Tente novamente.",
263
+ imageLinkFailed: "Não foi possível adicionar o link da imagem.",
264
+ imageOnly: "Somente arquivos de imagem podem ser enviados.",
265
+ imageTooLarge: "As imagens originais devem ter {mb}MB ou menos.",
266
+ imageUploadFailed: "Falha ao enviar a imagem.",
267
+ pasteAsFile: "Cole ou arraste as fotos como arquivos na área acima.",
268
+ postNotFound: "Publicação não encontrada.",
269
+ loadPermission: "Você não tem permissão para carregar esta publicação. Verifique se você fez login.",
270
+ loadFailed: "Não foi possível carregar a publicação: {message}",
271
+ titleRequired: "Insira um título.",
272
+ photoRequired: "Envie pelo menos uma foto.",
273
+ bodyRequired: "Escreva algum texto ou anexe uma imagem.",
274
+ signInRequired: "É necessário fazer login.",
275
+ boardMissing: "Nenhum fórum foi especificado.",
276
+ writeRestricted: "Publicar e comentar está temporariamente restrito por causa de avisos de conteúdo acumulados.",
277
+ moderationBlocked: "Há conteúdo que não pode ser publicado."
278
+ },
279
+ hint: {
280
+ reviewing: "Revisando o conteúdo…",
281
+ saving: "Salvando…"
282
+ }
283
+ },
284
+ footer: {
285
+ info: {
286
+ title: "Informações do fórum",
287
+ about: "Sobre este fórum",
288
+ history: "Histórico de versões"
289
+ },
290
+ stack: {
291
+ ui: "Interface e experiência",
292
+ data: "Dados e login",
293
+ writing: "Escrita e praticidade"
294
+ }
295
+ },
296
+ likes: {
297
+ signInRequired: "Faça login.",
298
+ commentNotFound: "Comentário não encontrado."
299
+ },
300
+ list: {
301
+ settings: "Configurações",
302
+ loadFailed: "Não foi possível carregar a lista: {error}",
303
+ empty: "Ainda não há publicações.",
304
+ photo: "Foto",
305
+ likeCount: "Curtidas {count}",
306
+ info: {
307
+ title: "Informações do fórum",
308
+ about: "Sobre este fórum",
309
+ history: "Histórico de versões"
310
+ },
311
+ stack: {
312
+ framework: "Framework e linguagem",
313
+ ui: "UI e estilos",
314
+ backend: "Backend e dados"
315
+ },
316
+ tech: {
317
+ nuxt: "Framework SSR baseado em Vue",
318
+ vue: "Composition API · script setup",
319
+ typescript: "Dados e componentes com tipagem segura",
320
+ nuxtUi: "UI de fórum, formulários e modais",
321
+ tailwind: "Estilos responsivos · claro/escuro",
322
+ lucide: "Ícones leves e consistentes",
323
+ dayjs: "Datas legíveis e tempos relativos",
324
+ firestore: "Banco de dados em tempo real para publicações e comentários",
325
+ auth: "Login e permissões seguros",
326
+ storage: "Armazenamento de imagens e anexos",
327
+ vuefire: "Conexão em tempo real entre Nuxt e Firebase"
328
+ }
329
+ },
330
+ listViewSwitch: {
331
+ default: "Padrão",
332
+ dense: "Compacta",
333
+ video: "Vídeo"
334
+ },
335
+ miniComments: {
336
+ empty: "Ainda não há comentários.",
337
+ blinded: "Este comentário foi ocultado por um administrador."
338
+ },
339
+ miniList: { empty: "Ainda não há publicações." },
340
+ miniPicker: {
341
+ selectedCount: "Selecionadas {count} / {max}",
342
+ layoutHint: "2 ou mais aparecem em carrossel; 4, em grade",
343
+ searchPlaceholder: "Buscar títulos",
344
+ loading: "Carregando publicações…",
345
+ noMore: "Não há mais publicações para escolher."
346
+ },
347
+ miniPost: { empty: "Nenhuma publicação selecionada." },
348
+ moderation: { writeRestricted: "Publicar e comentar está temporariamente restrito por causa de avisos de conteúdo acumulados." },
349
+ moderationPrompt: {
350
+ localHit: "Expressões como “{hit}” não são permitidas. Reescreva o texto.",
351
+ localGeneric: "Há palavrões no texto, então não é possível publicar. Reescreva o texto.",
352
+ genericBlocked: "Há conteúdo que não pode ser publicado. Edite o texto.",
353
+ categories: {
354
+ abuse: "palavrões ou insultos",
355
+ spam: "spam ou publicidade",
356
+ adult: "conteúdo sexual ou adulto",
357
+ violence: "violência ou ameaças",
358
+ other: "conteúdo impróprio"
359
+ }
360
+ },
361
+ moderationStrike: {
362
+ liftSoon: "liberado em breve",
363
+ liftInHours: "liberado em cerca de {hours} h",
364
+ liftInDays: "liberado em cerca de {days} d",
365
+ liftInDaysHours: "liberado em cerca de {days} d {hours} h"
366
+ },
367
+ posts: {
368
+ boardIdRequired: "[memi-board] boardId é obrigatório.",
369
+ photoRequired: "Adicione uma foto.",
370
+ bodyRequired: "Escreva algum texto ou anexe uma imagem.",
371
+ titleRequired: "Insira um título."
372
+ },
373
+ profile: {
374
+ notFound: "Usuário não encontrado.",
375
+ noName: "Sem nome",
376
+ joined: "Entrou {time}",
377
+ lastVisit: "Visto por último {time}"
378
+ },
379
+ profileEditModal: {
380
+ imageOnly: "Somente arquivos de imagem podem ser selecionados.",
381
+ nameRequired: "Insira um nome.",
382
+ saveFailed: "Não foi possível salvar o perfil.",
383
+ title: "Editar perfil",
384
+ changePhoto: "Alterar foto",
385
+ name: "Nome",
386
+ bio: "Bio",
387
+ bioPlaceholder: "Conte um pouco sobre você"
388
+ },
389
+ reportButton: {
390
+ failed: "Não foi possível enviar a denúncia.",
391
+ reported: "Denunciado",
392
+ title: "Denunciar publicação",
393
+ done: "Denúncia recebida. A equipe vai analisá-la.",
394
+ reason: "Motivo",
395
+ detailPlaceholder: "Detalhes (opcional)",
396
+ submit: "Denunciar"
397
+ },
398
+ reportList: {
399
+ staffOnly: "Somente a equipe pode ver as denúncias.",
400
+ loadFailed: "Não foi possível carregar a lista: {error}",
401
+ empty: "Nenhuma denúncia pendente.",
402
+ untitled: "Publicação sem título",
403
+ author: "por {name}",
404
+ dismiss: "Descartar",
405
+ confirm: "Resolver"
406
+ },
407
+ reports: {
408
+ reason: {
409
+ spam: "Spam / publicidade",
410
+ abuse: "Ofensa / ódio / assédio",
411
+ adult: "Conteúdo sexual",
412
+ illegal: "Conteúdo ilegal",
413
+ other: "Outro"
414
+ },
415
+ fallbackLabel: "Denúncia",
416
+ signInRequired: "Faça login.",
417
+ cannotReportOwn: "Você não pode denunciar sua própria publicação.",
418
+ reasonRequired: "Selecione um motivo.",
419
+ detailTooLong: "Os detalhes podem ter até {max} caracteres."
420
+ },
421
+ sectionUtil: {
422
+ kind: {
423
+ list: "Lista de publicações",
424
+ post: "Publicações",
425
+ comments: "Comentários"
426
+ },
427
+ sort: {
428
+ latest: "Mais recentes",
429
+ likes: "Mais curtidas"
430
+ },
431
+ untitledPost: "Publicação",
432
+ view: {
433
+ media: "Mídia",
434
+ list: "Lista"
435
+ }
436
+ },
437
+ sections: { defaultTitle: "Seção {n}" },
438
+ seo: {
439
+ allCategory: "Tudo",
440
+ boardDescription: "Fórum {name}",
441
+ allDescription: "Fórum: avisos e novidades da comunidade.",
442
+ postFallbackTitle: "Publicação | {site}",
443
+ postFallbackDescription: "Fórum",
444
+ photo: "Foto",
445
+ postDescriptionFallback: "Publicação do fórum",
446
+ listTitle: "{name} | {site}",
447
+ listTitleAll: "Fórum | {site}",
448
+ listDescription: "{name}: confira as publicações mais recentes.",
449
+ listDescriptionAll: "Fórum: avisos e histórias."
450
+ },
451
+ settings: {
452
+ loading: "Carregando configurações…",
453
+ noAccess: "Você não tem acesso",
454
+ notFound: {
455
+ title: "Fórum não encontrado",
456
+ checkAddress: "Verifique o endereço.",
457
+ checkBoardAddress: "Verifique o endereço do fórum."
458
+ },
459
+ newBoard: {
460
+ title: "Este fórum ainda não existe",
461
+ description: "Preencha os dados abaixo e salve para criá-lo com este ID."
462
+ },
463
+ noLabel: "Sem rótulo",
464
+ option: { default: "Padrão" },
465
+ id: {
466
+ label: "ID da categoria",
467
+ help: "Usado na URL e nos dados"
468
+ },
469
+ writeRole: {
470
+ label: "Quem pode publicar",
471
+ help: "Função mínima necessária para publicar nesta categoria",
472
+ helpShort: "Função mínima necessária para publicar",
473
+ options: {
474
+ user: "Usuários ou acima",
475
+ staff: "Equipe ou acima",
476
+ admin: "Somente administradores"
477
+ }
478
+ },
479
+ commentWriteRole: {
480
+ label: "Quem pode comentar",
481
+ help: "Função mínima necessária para comentar nesta categoria",
482
+ helpShort: "Função mínima necessária para comentar",
483
+ hiddenFixed: "Somente a equipe responsável (fixo em fóruns ocultos)"
484
+ },
485
+ staff: {
486
+ label: "Equipe responsável",
487
+ help: "Somente a equipe selecionada pode configurar e gerenciar este fórum. Deixe vazio para apenas administradores",
488
+ placeholder: "Somente administradores (sem equipe definida)"
489
+ },
490
+ label: {
491
+ label: "Nome de exibição",
492
+ help: "O nome que os usuários veem"
493
+ },
494
+ description: {
495
+ label: "Descrição",
496
+ help: "Exibida no topo do fórum e em outros lugares",
497
+ placeholder: "Uma breve descrição deste fórum (opcional)"
498
+ },
499
+ visibility: {
500
+ label: "Visibilidade",
501
+ options: {
502
+ public: {
503
+ label: "Visível",
504
+ description: "Exibido na lista completa e nos filtros"
505
+ },
506
+ hidden: {
507
+ label: "Oculto",
508
+ description: "Diário ou privado. Somente a equipe responsável pode comentar"
509
+ }
510
+ }
511
+ },
512
+ listView: {
513
+ label: "Visualização da lista",
514
+ help: "Como a lista de publicações é exibida",
515
+ options: {
516
+ dense: "Compacta",
517
+ video: "Vídeo"
518
+ }
519
+ },
520
+ editorType: {
521
+ label: "Formulário de publicação",
522
+ help: "Como as publicações são escritas",
523
+ options: {
524
+ default: "Escrever um título e um texto",
525
+ image: "Adicionar várias fotos e uma foto de capa"
526
+ }
527
+ },
528
+ locale: {
529
+ label: "Idioma do fórum",
530
+ auto: "Automático (seguir o idioma do site)"
531
+ },
532
+ action: {
533
+ moveDown: "Para baixo",
534
+ goToBoard: "Ir para o fórum",
535
+ deleteBoard: "Excluir fórum",
536
+ create: "Criar"
537
+ },
538
+ newCategoryPlaceholder: "Nome da nova categoria",
539
+ savedCategory: "Categoria “{label}” salva.",
540
+ savedSettings: "Configurações do fórum salvas.",
541
+ created: "Fórum criado.",
542
+ error: {
543
+ orderFailed: "Não foi possível salvar a ordem das categorias.",
544
+ deleteFailed: "Não foi possível excluir o fórum e seus dados.",
545
+ saveFailed: "Não foi possível salvar as configurações do fórum.",
546
+ deleteAllFailed: "Não foi possível excluir os dados do fórum."
547
+ },
548
+ danger: {
549
+ title: "Zona de perigo",
550
+ confirmLabel: "Digite “{phrase}” para confirmar",
551
+ phrase: "excluir dados do fórum",
552
+ button: "Excluir todos os dados",
553
+ done: "Todos os dados do fórum foram excluídos."
554
+ }
555
+ },
556
+ shareButton: { copied: "Link copiado" },
557
+ signIn: {
558
+ withGoogle: "Entrar com o Google",
559
+ withApple: "Entrar com a Apple",
560
+ or: "ou",
561
+ name: "Nome",
562
+ email: "E-mail",
563
+ password: "Senha",
564
+ signUp: "Cadastrar-se",
565
+ toSignUp: "Não tem uma conta? Cadastre-se",
566
+ toSignIn: "Já tem uma conta? Entrar"
567
+ },
568
+ storage: {
569
+ sourceTooLarge: "A imagem original deve ter {max}MB ou menos.",
570
+ imageOnly: "Somente arquivos de imagem podem ser enviados.",
571
+ canvasUnavailable: "Canvas não está disponível",
572
+ compressFailed: "Falha na compressão",
573
+ loadFailed: "Falha ao carregar a imagem"
574
+ },
575
+ swipeHint: {
576
+ title: "Experimente deslizar para os lados",
577
+ description: "Deslize para a esquerda para ver a próxima publicação e para a direita para ver a anterior."
578
+ },
579
+ userCommentList: {
580
+ loadFailed: "Não foi possível carregar a lista: {error}",
581
+ empty: "Ainda não há comentários.",
582
+ blinded: "Este comentário foi ocultado por um administrador.",
583
+ likes: "{count} curtidas"
584
+ },
585
+ userPostList: {
586
+ loadFailed: "Não foi possível carregar a lista: {error}",
587
+ empty: "Ainda não há publicações."
588
+ },
589
+ users: {
590
+ changeRoleFailed: "Não foi possível alterar a função.",
591
+ loading: "Carregando usuários…",
592
+ noPermission: {
593
+ title: "Sem permissão",
594
+ description: "Somente administradores do fórum podem gerenciar as funções dos usuários."
595
+ },
596
+ empty: "Nenhum usuário fez login no fórum ainda.",
597
+ noName: "Sem nome",
598
+ moderationWarnings: "{count} avisos de conteúdo"
599
+ },
600
+ writingAssistant: {
601
+ loginRequired: "Faça login para usar o assistente de escrita com AI.",
602
+ userMissing: "Não foi possível verificar suas informações de usuário. Tente novamente.",
603
+ contentRequired: "Primeiro, escreva algum conteúdo para a AI trabalhar.",
604
+ customRequired: "Escreva uma instrução de como reescrever.",
605
+ emptyResult: "A AI não conseguiu gerar um resultado. Tente novamente.",
606
+ failed: "A tarefa de AI falhou. Tente novamente.",
607
+ actions: {
608
+ proofread: "Verificar ortografia",
609
+ polish: "Aprimorar frases",
610
+ continue: "Continuar escrevendo",
611
+ summarize: "Resumir",
612
+ translateEn: "Traduzir para inglês",
613
+ translateKo: "Traduzir para coreano",
614
+ title: "Gerar título a partir do texto",
615
+ custom: "Reescrever com um estilo personalizado…"
616
+ }
617
+ }
618
+ };
619
+ //#endregion
620
+ export { e as default };
621
+
622
+ //# sourceMappingURL=pt-B9EH4scA.js.map