@openrails/contentkit-ui 0.88.0 → 0.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/generated/routes.d.ts +1 -1
- package/dist/client/generated/routes.js +1 -1
- package/dist/client/generated/routes.js.map +1 -1
- package/dist/client/generated/wire.d.ts +6 -0
- package/dist/client/generated/wire.js.map +1 -1
- package/dist/client/media/rules.js +1 -1
- package/dist/client/media/rules.js.map +1 -1
- package/dist/client/public.d.ts +2 -1
- package/dist/client/public.js +2 -2
- package/dist/client/public.js.map +1 -1
- package/dist/client/stats.d.ts +1 -1
- package/dist/client/stats.js.map +1 -1
- package/dist/components/billing-notification.d.ts +11 -0
- package/dist/components/billing-notification.js +70 -0
- package/dist/components/billing-notification.js.map +1 -0
- package/dist/components/content/filters.d.ts +1 -1
- package/dist/components/content/filters.js +2 -5
- package/dist/components/content/filters.js.map +1 -1
- package/dist/components/content/reader-stats.d.ts +11 -3
- package/dist/components/content/reader-stats.js +41 -23
- package/dist/components/content/reader-stats.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -2
- package/dist/locales/content/de.js +4 -0
- package/dist/locales/content/de.js.map +1 -1
- package/dist/locales/content/en.d.ts +4 -0
- package/dist/locales/content/en.js +4 -0
- package/dist/locales/content/en.js.map +1 -1
- package/dist/locales/content/es.js +4 -0
- package/dist/locales/content/es.js.map +1 -1
- package/dist/locales/content/ja.js +4 -0
- package/dist/locales/content/ja.js.map +1 -1
- package/dist/locales/content/ko.js +4 -0
- package/dist/locales/content/ko.js.map +1 -1
- package/dist/locales/content/zh.js +4 -0
- package/dist/locales/content/zh.js.map +1 -1
- package/dist/locales/en.d.ts +34 -0
- package/dist/locales/social/de.js +30 -0
- package/dist/locales/social/de.js.map +1 -1
- package/dist/locales/social/en.d.ts +30 -0
- package/dist/locales/social/en.js +30 -0
- package/dist/locales/social/en.js.map +1 -1
- package/dist/locales/social/es.js +30 -0
- package/dist/locales/social/es.js.map +1 -1
- package/dist/locales/social/ja.js +30 -0
- package/dist/locales/social/ja.js.map +1 -1
- package/dist/locales/social/ko.js +30 -0
- package/dist/locales/social/ko.js.map +1 -1
- package/dist/locales/social/zh.js +30 -0
- package/dist/locales/social/zh.js.map +1 -1
- package/dist/react/public.d.ts +3 -3
- package/dist/react/public.js +64 -25
- package/dist/react/public.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.js","names":[],"sources":["../../../src/locales/social/es.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n notifications: {\n \"archived\": \"Archivadas\",\n \"dismiss\": \"Archivar\",\n \"restore\": \"Restaurar en la bandeja\",\n \"dismissed\": \"Descartado\",\n \"title\": \"Notificaciones\",\n \"filter\": \"Filtro de notificaciones\",\n \"all\": \"Todas\",\n \"unread\": \"Sin leer\",\n \"refresh\": \"Actualizar notificaciones\",\n \"signInHint\": \"Inicia sesión para ver tus notificaciones.\",\n \"signIn\": \"Iniciar sesión\",\n \"loadFailed\": \"No se pudieron cargar las notificaciones.\",\n \"loading\": \"Cargando notificaciones…\",\n \"empty\": \"Todavía no hay notificaciones.\",\n \"emptyUnread\": \"Estás al día.\",\n \"loadMore\": \"Mostrar más\",\n \"open\": \"Acción necesaria\",\n \"resolved\": \"Resuelto\",\n \"markRead\": \"Marcar como leída\",\n \"markUnread\": \"Marcar como no leída\",\n \"unreadLabel\": \"Notificaciones, elementos sin leer\"\n },\n\n comments: {\n title: \"Comentarios\",\n count_one: \"{count} comentario\",\n count_other: \"{count} comentarios\",\n placeholder: \"Escribe un comentario…\",\n replyPlaceholder: \"Escribe una respuesta…\",\n name: \"Nombre\",\n namePlaceholder: \"Se muestra con tu comentario\",\n post: \"Publicar\",\n posting: \"Publicando…\",\n reply: \"Responder\",\n replyingTo: \"Respondiendo a {name}\",\n empty: \"Aún no hay comentarios. ¡Sé el primero en comentar!\",\n unlock: \"Desbloquea para ver los comentarios\",\n loadMore: \"Ver más comentarios\",\n loading: \"Cargando comentarios…\",\n loadFailed: \"No se pudieron cargar los comentarios.\",\n signIn: \"Inicia sesión para comentar\",\n required: \"Escribe algo primero.\",\n nameRequired: \"Escribe un nombre.\",\n charsLeft_one: \"Queda {count} carácter\",\n charsLeft_other: \"Quedan {count} caracteres\",\n submitHint: \"{key}+Intro para publicar\",\n sort: \"Ordenar comentarios\",\n newest: \"Más recientes\",\n best: \"Destacados\",\n showReplies_one: \"Ver {count} respuesta\",\n showReplies_other: \"Ver {count} respuestas\",\n hideReplies: \"Ocultar respuestas\",\n moreReplies: \"Ver más respuestas\",\n loadingReplies: \"Cargando respuestas…\",\n anonymous: \"Anónimo\",\n deleted: \"Este comentario se eliminó.\",\n edit: \"Editar\",\n delete: \"Eliminar\",\n actions: \"Acciones del comentario\",\n deleteTitle: \"¿Eliminar este comentario?\",\n deleteBody: \"En su lugar queda un aviso de que se eliminó; las respuestas se mantienen.\",\n held: \"En revisión. Solo tú ves este comentario hasta que un moderador lo apruebe.\",\n heldBadge: \"En revisión\",\n rejected: \"No publicado: {reason}\",\n rejectedNoReason: \"No publicado.\",\n rejectedBadge: \"No publicado\",\n like: \"Me gusta\",\n dislike: \"No me gusta\",\n showMore: \"Ver más\",\n showLess: \"Ver menos\",\n restore: \"Restaurar\",\n closed: \"Los comentarios están cerrados.\",\n locked: \"No puedes comentar aquí.\",\n rateLimited: \"Estás comentando demasiado rápido. Inténtalo de nuevo en {seconds} s.\",\n rateLimitedSoon: \"Estás comentando demasiado rápido. Inténtalo de nuevo en un momento.\",\n ban: \"Impedir que comente\",\n unban: \"Levantar el bloqueo de comentarios\",\n },\n bans: {\n globalNotice: \"No puedes comentar en este sitio.\",\n ownerNotice: \"No puedes comentar el contenido de este creador.\",\n reason: \"Motivo: {reason}\",\n until: \"Hasta el {date}.\",\n untilLifted: \"Hasta que se levante.\",\n title: \"Impedir que {name} comente\",\n ownerHelp: \"Se aplica a todo tu contenido. Sus comentarios se mantienen y aún puede reaccionar, guardar favoritos y votar.\",\n globalHelp: \"Se aplica en todo el sitio. Sus comentarios se mantienen y aún puede reaccionar, guardar favoritos y votar.\",\n scope: \"Dónde\",\n scopeOwner: \"Mi contenido\",\n scopeGlobal: \"Todo el sitio\",\n duration: \"Duración\",\n day: \"1 día\",\n week: \"7 días\",\n month: \"30 días\",\n forever: \"Hasta que se levante\",\n custom: \"Hasta una fecha\",\n endsAt: \"Termina\",\n reasonLabel: \"Motivo (opcional)\",\n reasonPlaceholder: \"Se le muestra al usuario\",\n save: \"Bloquear\",\n update: \"Actualizar bloqueo\",\n lift: \"Levantar bloqueo\",\n liftTitle: \"¿Levantar el bloqueo de {name}?\",\n liftBody: \"Podrá volver a comentar, salvo que se aplique otro bloqueo.\",\n empty: \"No hay bloqueos.\",\n active: \"Activo\",\n expired: \"Vencido\",\n bannedAt: \"Bloqueado el {date}\",\n add: \"Bloquear a un usuario\",\n user: \"ID de usuario\",\n userPlaceholder: \"El ID del usuario\",\n loadFailed: \"No se pudieron cargar los bloqueos.\",\n },\n reactions: {\n like: \"Me gusta\",\n dislike: \"No me gusta\",\n signIn: \"Inicia sesión para reaccionar\",\n failed: \"Tu reacción no se guardó. Inténtalo de nuevo.\",\n },\n favorites: {\n add: \"Añadir a favoritos\",\n remove: \"Quitar de favoritos\",\n added: \"Añadido a favoritos.\",\n removed: \"Quitado de favoritos.\",\n signIn: \"Inicia sesión para guardar favoritos\",\n },\n poll: {\n votes_one: \"{count} voto\",\n votes_other: \"{count} votos\",\n yourVote: \"Tu voto\",\n closes: \"Cierra el {date}\",\n closed: \"Esta encuesta está cerrada.\",\n signIn: \"Inicia sesión para votar\",\n answerPlaceholder: \"Tu respuesta\",\n answer: \"Enviar respuesta\",\n updateAnswer: \"Actualizar respuesta\",\n editAnswer: \"Editar respuesta\",\n yourAnswer: \"Tu respuesta\",\n answers_one: \"{count} respuesta\",\n answers_other: \"{count} respuestas\",\n loadFailed: \"No se pudo cargar esta encuesta.\",\n },\n pollEditor: {\n newTitle: \"Nueva encuesta\",\n editTitle: \"Editar encuesta\",\n question: \"Pregunta\",\n questionPlaceholder: \"¿Qué quieres preguntar?\",\n language: \"Idioma\",\n kind: \"Tipo\",\n multipleChoice: \"Opción múltiple\",\n freeText: \"Texto libre\",\n freeTextHelp: \"Los lectores escriben una respuesta; las respuestas se agrupan automáticamente.\",\n liveAt: \"Se publica\",\n closesAt: \"Cierra (opcional)\",\n active: \"Visible al público\",\n inactive: \"Oculta al público\",\n image: \"Imagen de la pregunta\",\n options: \"Opciones\",\n option: \"Opción {index}\",\n addOption: \"Añadir opción\",\n newOption: \"Nueva opción\",\n removeOption: \"Quitar opción\",\n removeOptionTitle: \"¿Quitar esta opción?\",\n removeOptionBody: \"También se eliminan sus votos. Una encuesta conserva al menos dos opciones.\",\n optionImage: \"Imagen de la opción {index}\",\n uploadImage: \"Añadir imagen\",\n replaceImage: \"Reemplazar imagen\",\n removeImage: \"Quitar imagen\",\n create: \"Crear encuesta\",\n creating: \"Creando…\",\n delete: \"Eliminar encuesta\",\n deleteTitle: \"¿Eliminar esta encuesta?\",\n deleteBody: \"Se eliminan sus votos e imágenes. No se puede deshacer.\",\n saved: \"Guardado.\",\n created: \"Encuesta creada.\",\n imageFailed: \"La encuesta se guardó, pero una imagen no se subió. Vuelve a añadirla aquí.\",\n minOptions: \"Una encuesta necesita al menos dos opciones.\",\n maxOptions: \"Una encuesta tiene como máximo {max} opciones.\",\n questionRequired: \"Escribe una pregunta.\",\n optionRequired: \"Cada opción necesita un texto.\",\n },\n moderation: {\n title: \"Moderación de comentarios\",\n all: \"Todos los comentarios\",\n queue: \"Cola de revisión\",\n bans: \"Bloqueos\",\n kind: \"Contenido\",\n allKinds: \"Todo el contenido\",\n on: \"En\",\n published: \"Publicado\",\n held: \"Retenido\",\n rejected: \"Rechazado\",\n deleted: \"Eliminado\",\n reply: \"Respuesta\",\n delete: \"Eliminar\",\n restore: \"Restaurar\",\n approve: \"Aprobar\",\n reject: \"Rechazar\",\n rejectReason: \"Motivo para el autor (opcional)\",\n heldBecause: \"Retenido porque: {reason}\",\n empty: \"No hay comentarios.\",\n queueEmpty: \"No hay nada pendiente de revisión.\",\n loadFailed: \"No se pudieron cargar los comentarios.\",\n stale: \"Se editó desde que se listó; revísalo de nuevo.\",\n loadMore: \"Ver más\",\n queueComments: \"Comentarios\",\n queueContent: \"Publicaciones\",\n noAccess: \"No tienes permiso para moderar comentarios.\",\n author: \"Autor\",\n authorPlaceholder: \"Filtrar por id de usuario\",\n filter: \"Filtrar\",\n byAuthor: \"Comentarios de {name}\",\n clearAuthor: \"Mostrar los de todos\",\n theirComments: \"Sus comentarios\",\n },\n time: {\n justNow: \"justo ahora\",\n },\n contentErrors: {\n forbidden: \"No tienes permiso para hacer esto.\",\n unauthorized: \"Tu sesión caducó. Vuelve a iniciar sesión.\",\n not_found: \"Esto ya no está disponible.\",\n conflict: \"Esto cambió en otro lugar. Recarga e inténtalo de nuevo.\",\n comments_locked: \"Desbloquéalo para ver y escribir comentarios.\",\n not_joinable: \"No es posible unirse a este grupo ahora mismo.\",\n rate_limited: \"Demasiadas solicitudes. Inténtalo de nuevo en {seconds} s.\",\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"es.js","names":[],"sources":["../../../src/locales/social/es.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n billingNotifications: {\n \"paymentMethodRequiredTitle\": \"Actualiza el método de pago\",\n \"authenticationRequiredTitle\": \"Se requiere autenticar el pago\",\n \"collectionStoppedTitle\": \"Pagos automáticos detenidos\",\n\n \"paymentFailed\": \"Error de pago\",\n \"membershipEnded\": \"La membresía premium ha terminado\",\n \"membershipDowngraded\": \"Membresía reducida\",\n \"retryScheduled\": \"Cuando se creó este aviso, había otro intento de pago programado para {date}.\",\n \"paymentMethodRequired\": \"Se necesitaba un nuevo método de pago antes de otro intento.\",\n \"retryStopped\": \"No había más intentos de pago automáticos programados.\",\n \"retryUnknown\": \"No había una fecha de reintento disponible al crear este aviso.\",\n \"endedAt\": \"Tu acceso premium terminó el {date}.\",\n \"ended\": \"Tu acceso premium ha terminado.\",\n \"downgradedTo\": \"Tu membresía cambió de {from} a {to}.\",\n \"downgraded\": \"La reducción programada de tu membresía se ha aplicado.\",\n \"instructions\": {\n \"update_payment_method\": \"Actualiza tu método de pago y consulta el estado actual en la página de facturación.\",\n \"resubscribe\": \"Elige una membresía para recuperar el acceso. Consulta tu facturación antes de iniciar una nueva suscripción.\",\n \"authenticate_payment\": \"Completa la autenticación del pago en la página de facturación.\",\n \"contact_support\": \"Contacta con soporte para obtener ayuda con este pago.\",\n \"manage_billing\": \"Abre la página de facturación para consultar el estado actual y los siguientes pasos.\"\n },\n \"actions\": {\n \"update_payment_method\": \"Actualizar método de pago\",\n \"resubscribe\": \"Elegir membresía\",\n \"authenticate_payment\": \"Completar autenticación\",\n \"contact_support\": \"Contactar con soporte\",\n \"manage_billing\": \"Ver facturación\"\n }\n},\n notifications: {\n \"archived\": \"Archivadas\",\n \"dismiss\": \"Archivar\",\n \"restore\": \"Restaurar en la bandeja\",\n \"dismissed\": \"Descartado\",\n \"title\": \"Notificaciones\",\n \"filter\": \"Filtro de notificaciones\",\n \"all\": \"Todas\",\n \"unread\": \"Sin leer\",\n \"refresh\": \"Actualizar notificaciones\",\n \"signInHint\": \"Inicia sesión para ver tus notificaciones.\",\n \"signIn\": \"Iniciar sesión\",\n \"loadFailed\": \"No se pudieron cargar las notificaciones.\",\n \"loading\": \"Cargando notificaciones…\",\n \"empty\": \"Todavía no hay notificaciones.\",\n \"emptyUnread\": \"Estás al día.\",\n \"loadMore\": \"Mostrar más\",\n \"open\": \"Acción necesaria\",\n \"resolved\": \"Resuelto\",\n \"markRead\": \"Marcar como leída\",\n \"markUnread\": \"Marcar como no leída\",\n \"unreadLabel\": \"Notificaciones, elementos sin leer\"\n },\n\n comments: {\n title: \"Comentarios\",\n count_one: \"{count} comentario\",\n count_other: \"{count} comentarios\",\n placeholder: \"Escribe un comentario…\",\n replyPlaceholder: \"Escribe una respuesta…\",\n name: \"Nombre\",\n namePlaceholder: \"Se muestra con tu comentario\",\n post: \"Publicar\",\n posting: \"Publicando…\",\n reply: \"Responder\",\n replyingTo: \"Respondiendo a {name}\",\n empty: \"Aún no hay comentarios. ¡Sé el primero en comentar!\",\n unlock: \"Desbloquea para ver los comentarios\",\n loadMore: \"Ver más comentarios\",\n loading: \"Cargando comentarios…\",\n loadFailed: \"No se pudieron cargar los comentarios.\",\n signIn: \"Inicia sesión para comentar\",\n required: \"Escribe algo primero.\",\n nameRequired: \"Escribe un nombre.\",\n charsLeft_one: \"Queda {count} carácter\",\n charsLeft_other: \"Quedan {count} caracteres\",\n submitHint: \"{key}+Intro para publicar\",\n sort: \"Ordenar comentarios\",\n newest: \"Más recientes\",\n best: \"Destacados\",\n showReplies_one: \"Ver {count} respuesta\",\n showReplies_other: \"Ver {count} respuestas\",\n hideReplies: \"Ocultar respuestas\",\n moreReplies: \"Ver más respuestas\",\n loadingReplies: \"Cargando respuestas…\",\n anonymous: \"Anónimo\",\n deleted: \"Este comentario se eliminó.\",\n edit: \"Editar\",\n delete: \"Eliminar\",\n actions: \"Acciones del comentario\",\n deleteTitle: \"¿Eliminar este comentario?\",\n deleteBody: \"En su lugar queda un aviso de que se eliminó; las respuestas se mantienen.\",\n held: \"En revisión. Solo tú ves este comentario hasta que un moderador lo apruebe.\",\n heldBadge: \"En revisión\",\n rejected: \"No publicado: {reason}\",\n rejectedNoReason: \"No publicado.\",\n rejectedBadge: \"No publicado\",\n like: \"Me gusta\",\n dislike: \"No me gusta\",\n showMore: \"Ver más\",\n showLess: \"Ver menos\",\n restore: \"Restaurar\",\n closed: \"Los comentarios están cerrados.\",\n locked: \"No puedes comentar aquí.\",\n rateLimited: \"Estás comentando demasiado rápido. Inténtalo de nuevo en {seconds} s.\",\n rateLimitedSoon: \"Estás comentando demasiado rápido. Inténtalo de nuevo en un momento.\",\n ban: \"Impedir que comente\",\n unban: \"Levantar el bloqueo de comentarios\",\n },\n bans: {\n globalNotice: \"No puedes comentar en este sitio.\",\n ownerNotice: \"No puedes comentar el contenido de este creador.\",\n reason: \"Motivo: {reason}\",\n until: \"Hasta el {date}.\",\n untilLifted: \"Hasta que se levante.\",\n title: \"Impedir que {name} comente\",\n ownerHelp: \"Se aplica a todo tu contenido. Sus comentarios se mantienen y aún puede reaccionar, guardar favoritos y votar.\",\n globalHelp: \"Se aplica en todo el sitio. Sus comentarios se mantienen y aún puede reaccionar, guardar favoritos y votar.\",\n scope: \"Dónde\",\n scopeOwner: \"Mi contenido\",\n scopeGlobal: \"Todo el sitio\",\n duration: \"Duración\",\n day: \"1 día\",\n week: \"7 días\",\n month: \"30 días\",\n forever: \"Hasta que se levante\",\n custom: \"Hasta una fecha\",\n endsAt: \"Termina\",\n reasonLabel: \"Motivo (opcional)\",\n reasonPlaceholder: \"Se le muestra al usuario\",\n save: \"Bloquear\",\n update: \"Actualizar bloqueo\",\n lift: \"Levantar bloqueo\",\n liftTitle: \"¿Levantar el bloqueo de {name}?\",\n liftBody: \"Podrá volver a comentar, salvo que se aplique otro bloqueo.\",\n empty: \"No hay bloqueos.\",\n active: \"Activo\",\n expired: \"Vencido\",\n bannedAt: \"Bloqueado el {date}\",\n add: \"Bloquear a un usuario\",\n user: \"ID de usuario\",\n userPlaceholder: \"El ID del usuario\",\n loadFailed: \"No se pudieron cargar los bloqueos.\",\n },\n reactions: {\n like: \"Me gusta\",\n dislike: \"No me gusta\",\n signIn: \"Inicia sesión para reaccionar\",\n failed: \"Tu reacción no se guardó. Inténtalo de nuevo.\",\n },\n favorites: {\n add: \"Añadir a favoritos\",\n remove: \"Quitar de favoritos\",\n added: \"Añadido a favoritos.\",\n removed: \"Quitado de favoritos.\",\n signIn: \"Inicia sesión para guardar favoritos\",\n },\n poll: {\n votes_one: \"{count} voto\",\n votes_other: \"{count} votos\",\n yourVote: \"Tu voto\",\n closes: \"Cierra el {date}\",\n closed: \"Esta encuesta está cerrada.\",\n signIn: \"Inicia sesión para votar\",\n answerPlaceholder: \"Tu respuesta\",\n answer: \"Enviar respuesta\",\n updateAnswer: \"Actualizar respuesta\",\n editAnswer: \"Editar respuesta\",\n yourAnswer: \"Tu respuesta\",\n answers_one: \"{count} respuesta\",\n answers_other: \"{count} respuestas\",\n loadFailed: \"No se pudo cargar esta encuesta.\",\n },\n pollEditor: {\n newTitle: \"Nueva encuesta\",\n editTitle: \"Editar encuesta\",\n question: \"Pregunta\",\n questionPlaceholder: \"¿Qué quieres preguntar?\",\n language: \"Idioma\",\n kind: \"Tipo\",\n multipleChoice: \"Opción múltiple\",\n freeText: \"Texto libre\",\n freeTextHelp: \"Los lectores escriben una respuesta; las respuestas se agrupan automáticamente.\",\n liveAt: \"Se publica\",\n closesAt: \"Cierra (opcional)\",\n active: \"Visible al público\",\n inactive: \"Oculta al público\",\n image: \"Imagen de la pregunta\",\n options: \"Opciones\",\n option: \"Opción {index}\",\n addOption: \"Añadir opción\",\n newOption: \"Nueva opción\",\n removeOption: \"Quitar opción\",\n removeOptionTitle: \"¿Quitar esta opción?\",\n removeOptionBody: \"También se eliminan sus votos. Una encuesta conserva al menos dos opciones.\",\n optionImage: \"Imagen de la opción {index}\",\n uploadImage: \"Añadir imagen\",\n replaceImage: \"Reemplazar imagen\",\n removeImage: \"Quitar imagen\",\n create: \"Crear encuesta\",\n creating: \"Creando…\",\n delete: \"Eliminar encuesta\",\n deleteTitle: \"¿Eliminar esta encuesta?\",\n deleteBody: \"Se eliminan sus votos e imágenes. No se puede deshacer.\",\n saved: \"Guardado.\",\n created: \"Encuesta creada.\",\n imageFailed: \"La encuesta se guardó, pero una imagen no se subió. Vuelve a añadirla aquí.\",\n minOptions: \"Una encuesta necesita al menos dos opciones.\",\n maxOptions: \"Una encuesta tiene como máximo {max} opciones.\",\n questionRequired: \"Escribe una pregunta.\",\n optionRequired: \"Cada opción necesita un texto.\",\n },\n moderation: {\n title: \"Moderación de comentarios\",\n all: \"Todos los comentarios\",\n queue: \"Cola de revisión\",\n bans: \"Bloqueos\",\n kind: \"Contenido\",\n allKinds: \"Todo el contenido\",\n on: \"En\",\n published: \"Publicado\",\n held: \"Retenido\",\n rejected: \"Rechazado\",\n deleted: \"Eliminado\",\n reply: \"Respuesta\",\n delete: \"Eliminar\",\n restore: \"Restaurar\",\n approve: \"Aprobar\",\n reject: \"Rechazar\",\n rejectReason: \"Motivo para el autor (opcional)\",\n heldBecause: \"Retenido porque: {reason}\",\n empty: \"No hay comentarios.\",\n queueEmpty: \"No hay nada pendiente de revisión.\",\n loadFailed: \"No se pudieron cargar los comentarios.\",\n stale: \"Se editó desde que se listó; revísalo de nuevo.\",\n loadMore: \"Ver más\",\n queueComments: \"Comentarios\",\n queueContent: \"Publicaciones\",\n noAccess: \"No tienes permiso para moderar comentarios.\",\n author: \"Autor\",\n authorPlaceholder: \"Filtrar por id de usuario\",\n filter: \"Filtrar\",\n byAuthor: \"Comentarios de {name}\",\n clearAuthor: \"Mostrar los de todos\",\n theirComments: \"Sus comentarios\",\n },\n time: {\n justNow: \"justo ahora\",\n },\n contentErrors: {\n forbidden: \"No tienes permiso para hacer esto.\",\n unauthorized: \"Tu sesión caducó. Vuelve a iniciar sesión.\",\n not_found: \"Esto ya no está disponible.\",\n conflict: \"Esto cambió en otro lugar. Recarga e inténtalo de nuevo.\",\n comments_locked: \"Desbloquéalo para ver y escribir comentarios.\",\n not_joinable: \"No es posible unirse a este grupo ahora mismo.\",\n rate_limited: \"Demasiadas solicitudes. Inténtalo de nuevo en {seconds} s.\",\n },\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
//#region src/locales/social/ja.ts
|
|
2
2
|
var e = {
|
|
3
|
+
billingNotifications: {
|
|
4
|
+
paymentMethodRequiredTitle: "支払い方法を更新してください",
|
|
5
|
+
authenticationRequiredTitle: "支払いの認証が必要です",
|
|
6
|
+
collectionStoppedTitle: "自動支払いが停止されました",
|
|
7
|
+
paymentFailed: "支払いに失敗しました",
|
|
8
|
+
membershipEnded: "プレミアム会員期間が終了しました",
|
|
9
|
+
membershipDowngraded: "会員プランがダウングレードされました",
|
|
10
|
+
retryScheduled: "この通知の作成時点では、次の支払い試行は{date}に予定されていました。",
|
|
11
|
+
paymentMethodRequired: "再度支払いを試す前に、新しい支払い方法が必要でした。",
|
|
12
|
+
retryStopped: "自動支払いの再試行は予定されていませんでした。",
|
|
13
|
+
retryUnknown: "この通知の作成時点では、再試行の日程は未定でした。",
|
|
14
|
+
endedAt: "プレミアムアクセスは{date}に終了しました。",
|
|
15
|
+
ended: "プレミアムアクセスが終了しました。",
|
|
16
|
+
downgradedTo: "会員プランが{from}から{to}に変更されました。",
|
|
17
|
+
downgraded: "予定されていた会員プランのダウングレードが適用されました。",
|
|
18
|
+
instructions: {
|
|
19
|
+
update_payment_method: "支払い方法を更新し、請求ページで現在の支払い状況を確認してください。",
|
|
20
|
+
resubscribe: "アクセスを再開するには会員プランを選択してください。新しい登録の前に請求ページを確認してください。",
|
|
21
|
+
authenticate_payment: "請求ページで支払い認証を完了してください。",
|
|
22
|
+
contact_support: "この支払いについてサポートにお問い合わせください。",
|
|
23
|
+
manage_billing: "請求ページで現在の支払い状況と次の手順を確認してください。"
|
|
24
|
+
},
|
|
25
|
+
actions: {
|
|
26
|
+
update_payment_method: "支払い方法を更新",
|
|
27
|
+
resubscribe: "会員プランを選択",
|
|
28
|
+
authenticate_payment: "認証を完了",
|
|
29
|
+
contact_support: "サポートに問い合わせ",
|
|
30
|
+
manage_billing: "請求を確認"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
3
33
|
notifications: {
|
|
4
34
|
archived: "アーカイブ",
|
|
5
35
|
dismiss: "アーカイブする",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ja.js","names":[],"sources":["../../../src/locales/social/ja.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n notifications: {\n \"archived\": \"アーカイブ\",\n \"dismiss\": \"アーカイブする\",\n \"restore\": \"受信トレイに戻す\",\n \"dismissed\": \"却下済み\",\n \"title\": \"通知\",\n \"filter\": \"通知フィルター\",\n \"all\": \"すべて\",\n \"unread\": \"未読\",\n \"refresh\": \"通知を更新\",\n \"signInHint\": \"通知を表示するにはログインしてください。\",\n \"signIn\": \"ログイン\",\n \"loadFailed\": \"通知を読み込めませんでした。\",\n \"loading\": \"通知を読み込み中…\",\n \"empty\": \"通知はまだありません。\",\n \"emptyUnread\": \"未読の通知はありません。\",\n \"loadMore\": \"さらに表示\",\n \"open\": \"対応が必要\",\n \"resolved\": \"解決済み\",\n \"markRead\": \"既読にする\",\n \"markUnread\": \"未読にする\",\n \"unreadLabel\": \"通知、未読あり\"\n },\n\n comments: {\n title: \"コメント\",\n count_one: \"コメント {count} 件\",\n count_other: \"コメント {count} 件\",\n placeholder: \"コメントを書く…\",\n replyPlaceholder: \"返信を書く…\",\n name: \"名前\",\n namePlaceholder: \"コメントと一緒に表示されます\",\n post: \"投稿\",\n posting: \"投稿中…\",\n reply: \"返信\",\n replyingTo: \"{name} さんへの返信\",\n empty: \"まだコメントはありません。最初のコメントを書きましょう!\",\n unlock: \"ロックを解除してコメントを見る\",\n loadMore: \"コメントをさらに表示\",\n loading: \"コメントを読み込み中…\",\n loadFailed: \"コメントを読み込めませんでした。\",\n signIn: \"ログインしてコメント\",\n required: \"先に何か書いてください。\",\n nameRequired: \"名前を入力してください。\",\n charsLeft_one: \"残り {count} 文字\",\n charsLeft_other: \"残り {count} 文字\",\n submitHint: \"{key}+Enter で投稿\",\n sort: \"コメントの並び替え\",\n newest: \"新しい順\",\n best: \"人気順\",\n showReplies_one: \"返信 {count} 件を表示\",\n showReplies_other: \"返信 {count} 件を表示\",\n hideReplies: \"返信を非表示\",\n moreReplies: \"返信をさらに表示\",\n loadingReplies: \"返信を読み込み中…\",\n anonymous: \"匿名\",\n deleted: \"このコメントは削除されました。\",\n edit: \"編集\",\n delete: \"削除\",\n actions: \"コメントの操作\",\n deleteTitle: \"このコメントを削除しますか?\",\n deleteBody: \"削除されたことを示す表示に置き換わります。返信は残ります。\",\n held: \"確認中です。モデレーターが承認するまで、このコメントはあなたにだけ表示されます。\",\n heldBadge: \"確認中\",\n rejected: \"公開されませんでした:{reason}\",\n rejectedNoReason: \"公開されませんでした。\",\n rejectedBadge: \"非公開\",\n like: \"高評価\",\n dislike: \"低評価\",\n showMore: \"もっと見る\",\n showLess: \"閉じる\",\n restore: \"復元\",\n closed: \"コメントは締め切られました。\",\n locked: \"ここにはコメントできません。\",\n rateLimited: \"コメントのペースが速すぎます。{seconds} 秒後にもう一度お試しください。\",\n rateLimitedSoon: \"コメントのペースが速すぎます。しばらくしてからもう一度お試しください。\",\n ban: \"コメントを禁止\",\n unban: \"コメント禁止を解除\",\n },\n bans: {\n globalNotice: \"このサイトではコメントできません。\",\n ownerNotice: \"このクリエイターのコンテンツにはコメントできません。\",\n reason: \"理由:{reason}\",\n until: \"{date} まで。\",\n untilLifted: \"解除されるまで。\",\n title: \"{name} さんのコメントを禁止\",\n ownerHelp: \"あなたのすべてのコンテンツに適用されます。既存のコメントは残り、リアクション、お気に入り、投票は引き続きできます。\",\n globalHelp: \"サイト全体に適用されます。既存のコメントは残り、リアクション、お気に入り、投票は引き続きできます。\",\n scope: \"範囲\",\n scopeOwner: \"自分のコンテンツ\",\n scopeGlobal: \"サイト全体\",\n duration: \"期間\",\n day: \"1 日\",\n week: \"7 日\",\n month: \"30 日\",\n forever: \"解除されるまで\",\n custom: \"日時を指定\",\n endsAt: \"終了\",\n reasonLabel: \"理由(任意)\",\n reasonPlaceholder: \"ユーザーに表示されます\",\n save: \"禁止する\",\n update: \"禁止を更新\",\n lift: \"禁止を解除\",\n liftTitle: \"{name} さんの禁止を解除しますか?\",\n liftBody: \"ほかの禁止がない限り、再びコメントできるようになります。\",\n empty: \"禁止はありません。\",\n active: \"有効\",\n expired: \"期限切れ\",\n bannedAt: \"{date} に禁止\",\n add: \"ユーザーを禁止\",\n user: \"ユーザー ID\",\n userPlaceholder: \"ユーザーの ID\",\n loadFailed: \"禁止の一覧を読み込めませんでした。\",\n },\n reactions: {\n like: \"高評価\",\n dislike: \"低評価\",\n signIn: \"ログインしてリアクション\",\n failed: \"リアクションを保存できませんでした。もう一度お試しください。\",\n },\n favorites: {\n add: \"お気に入りに追加\",\n remove: \"お気に入りから削除\",\n added: \"お気に入りに追加しました。\",\n removed: \"お気に入りから削除しました。\",\n signIn: \"ログインしてお気に入りを保存\",\n },\n poll: {\n votes_one: \"{count} 票\",\n votes_other: \"{count} 票\",\n yourVote: \"あなたの投票\",\n closes: \"{date} に締め切り\",\n closed: \"この投票は締め切られました。\",\n signIn: \"ログインして投票\",\n answerPlaceholder: \"あなたの回答\",\n answer: \"回答を送信\",\n updateAnswer: \"回答を更新\",\n editAnswer: \"回答を編集\",\n yourAnswer: \"あなたの回答\",\n answers_one: \"回答 {count} 件\",\n answers_other: \"回答 {count} 件\",\n loadFailed: \"この投票を読み込めませんでした。\",\n },\n pollEditor: {\n newTitle: \"新しい投票\",\n editTitle: \"投票を編集\",\n question: \"質問\",\n questionPlaceholder: \"何を聞きますか?\",\n language: \"言語\",\n kind: \"種類\",\n multipleChoice: \"選択式\",\n freeText: \"自由記述\",\n freeTextHelp: \"読者が回答を書き、回答は自動でグループ分けされます。\",\n liveAt: \"公開日時\",\n closesAt: \"締め切り(任意)\",\n active: \"公開中\",\n inactive: \"非公開\",\n image: \"質問の画像\",\n options: \"選択肢\",\n option: \"選択肢 {index}\",\n addOption: \"選択肢を追加\",\n newOption: \"新しい選択肢\",\n removeOption: \"選択肢を削除\",\n removeOptionTitle: \"この選択肢を削除しますか?\",\n removeOptionBody: \"その票も削除されます。投票には少なくとも 2 つの選択肢が残ります。\",\n optionImage: \"選択肢 {index} の画像\",\n uploadImage: \"画像を追加\",\n replaceImage: \"画像を差し替え\",\n removeImage: \"画像を削除\",\n create: \"投票を作成\",\n creating: \"作成中…\",\n delete: \"投票を削除\",\n deleteTitle: \"この投票を削除しますか?\",\n deleteBody: \"票と画像が削除されます。元に戻せません。\",\n saved: \"保存しました。\",\n created: \"投票を作成しました。\",\n imageFailed: \"投票は保存されましたが、画像がアップロードされませんでした。ここでもう一度追加してください。\",\n minOptions: \"投票には少なくとも 2 つの選択肢が必要です。\",\n maxOptions: \"選択肢は最大 {max} 個です。\",\n questionRequired: \"質問を入力してください。\",\n optionRequired: \"すべての選択肢にラベルが必要です。\",\n },\n moderation: {\n title: \"コメントのモデレーション\",\n all: \"すべてのコメント\",\n queue: \"確認待ち\",\n bans: \"禁止\",\n kind: \"コンテンツ\",\n allKinds: \"すべてのコンテンツ\",\n on: \"対象\",\n published: \"公開\",\n held: \"保留\",\n rejected: \"却下\",\n deleted: \"削除済み\",\n reply: \"返信\",\n delete: \"削除\",\n restore: \"復元\",\n approve: \"承認\",\n reject: \"却下\",\n rejectReason: \"投稿者に表示する理由(任意)\",\n heldBecause: \"保留の理由:{reason}\",\n empty: \"コメントはありません。\",\n queueEmpty: \"確認待ちはありません。\",\n loadFailed: \"コメントを読み込めませんでした。\",\n stale: \"一覧の表示後に編集されました。もう一度確認してください。\",\n loadMore: \"さらに表示\",\n queueComments: \"コメント\",\n queueContent: \"投稿\",\n noAccess: \"コメントをモデレートする権限がありません。\",\n author: \"投稿者\",\n authorPlaceholder: \"ユーザー ID で絞り込む\",\n filter: \"絞り込む\",\n byAuthor: \"{name} さんのコメント\",\n clearAuthor: \"すべて表示\",\n theirComments: \"このユーザーのコメント\",\n },\n time: {\n justNow: \"たった今\",\n },\n contentErrors: {\n forbidden: \"この操作を行う権限がありません。\",\n unauthorized: \"セッションの有効期限が切れました。もう一度ログインしてください。\",\n not_found: \"これは利用できなくなりました。\",\n conflict: \"ほかの場所で変更されました。再読み込みしてもう一度お試しください。\",\n comments_locked: \"コメントを見たり書いたりするにはロックを解除してください。\",\n not_joinable: \"現在このグループには参加できません。\",\n rate_limited: \"リクエストが多すぎます。{seconds} 秒後にもう一度お試しください。\",\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ja.js","names":[],"sources":["../../../src/locales/social/ja.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n billingNotifications: {\n \"paymentMethodRequiredTitle\": \"支払い方法を更新してください\",\n \"authenticationRequiredTitle\": \"支払いの認証が必要です\",\n \"collectionStoppedTitle\": \"自動支払いが停止されました\",\n\n \"paymentFailed\": \"支払いに失敗しました\",\n \"membershipEnded\": \"プレミアム会員期間が終了しました\",\n \"membershipDowngraded\": \"会員プランがダウングレードされました\",\n \"retryScheduled\": \"この通知の作成時点では、次の支払い試行は{date}に予定されていました。\",\n \"paymentMethodRequired\": \"再度支払いを試す前に、新しい支払い方法が必要でした。\",\n \"retryStopped\": \"自動支払いの再試行は予定されていませんでした。\",\n \"retryUnknown\": \"この通知の作成時点では、再試行の日程は未定でした。\",\n \"endedAt\": \"プレミアムアクセスは{date}に終了しました。\",\n \"ended\": \"プレミアムアクセスが終了しました。\",\n \"downgradedTo\": \"会員プランが{from}から{to}に変更されました。\",\n \"downgraded\": \"予定されていた会員プランのダウングレードが適用されました。\",\n \"instructions\": {\n \"update_payment_method\": \"支払い方法を更新し、請求ページで現在の支払い状況を確認してください。\",\n \"resubscribe\": \"アクセスを再開するには会員プランを選択してください。新しい登録の前に請求ページを確認してください。\",\n \"authenticate_payment\": \"請求ページで支払い認証を完了してください。\",\n \"contact_support\": \"この支払いについてサポートにお問い合わせください。\",\n \"manage_billing\": \"請求ページで現在の支払い状況と次の手順を確認してください。\"\n },\n \"actions\": {\n \"update_payment_method\": \"支払い方法を更新\",\n \"resubscribe\": \"会員プランを選択\",\n \"authenticate_payment\": \"認証を完了\",\n \"contact_support\": \"サポートに問い合わせ\",\n \"manage_billing\": \"請求を確認\"\n }\n},\n notifications: {\n \"archived\": \"アーカイブ\",\n \"dismiss\": \"アーカイブする\",\n \"restore\": \"受信トレイに戻す\",\n \"dismissed\": \"却下済み\",\n \"title\": \"通知\",\n \"filter\": \"通知フィルター\",\n \"all\": \"すべて\",\n \"unread\": \"未読\",\n \"refresh\": \"通知を更新\",\n \"signInHint\": \"通知を表示するにはログインしてください。\",\n \"signIn\": \"ログイン\",\n \"loadFailed\": \"通知を読み込めませんでした。\",\n \"loading\": \"通知を読み込み中…\",\n \"empty\": \"通知はまだありません。\",\n \"emptyUnread\": \"未読の通知はありません。\",\n \"loadMore\": \"さらに表示\",\n \"open\": \"対応が必要\",\n \"resolved\": \"解決済み\",\n \"markRead\": \"既読にする\",\n \"markUnread\": \"未読にする\",\n \"unreadLabel\": \"通知、未読あり\"\n },\n\n comments: {\n title: \"コメント\",\n count_one: \"コメント {count} 件\",\n count_other: \"コメント {count} 件\",\n placeholder: \"コメントを書く…\",\n replyPlaceholder: \"返信を書く…\",\n name: \"名前\",\n namePlaceholder: \"コメントと一緒に表示されます\",\n post: \"投稿\",\n posting: \"投稿中…\",\n reply: \"返信\",\n replyingTo: \"{name} さんへの返信\",\n empty: \"まだコメントはありません。最初のコメントを書きましょう!\",\n unlock: \"ロックを解除してコメントを見る\",\n loadMore: \"コメントをさらに表示\",\n loading: \"コメントを読み込み中…\",\n loadFailed: \"コメントを読み込めませんでした。\",\n signIn: \"ログインしてコメント\",\n required: \"先に何か書いてください。\",\n nameRequired: \"名前を入力してください。\",\n charsLeft_one: \"残り {count} 文字\",\n charsLeft_other: \"残り {count} 文字\",\n submitHint: \"{key}+Enter で投稿\",\n sort: \"コメントの並び替え\",\n newest: \"新しい順\",\n best: \"人気順\",\n showReplies_one: \"返信 {count} 件を表示\",\n showReplies_other: \"返信 {count} 件を表示\",\n hideReplies: \"返信を非表示\",\n moreReplies: \"返信をさらに表示\",\n loadingReplies: \"返信を読み込み中…\",\n anonymous: \"匿名\",\n deleted: \"このコメントは削除されました。\",\n edit: \"編集\",\n delete: \"削除\",\n actions: \"コメントの操作\",\n deleteTitle: \"このコメントを削除しますか?\",\n deleteBody: \"削除されたことを示す表示に置き換わります。返信は残ります。\",\n held: \"確認中です。モデレーターが承認するまで、このコメントはあなたにだけ表示されます。\",\n heldBadge: \"確認中\",\n rejected: \"公開されませんでした:{reason}\",\n rejectedNoReason: \"公開されませんでした。\",\n rejectedBadge: \"非公開\",\n like: \"高評価\",\n dislike: \"低評価\",\n showMore: \"もっと見る\",\n showLess: \"閉じる\",\n restore: \"復元\",\n closed: \"コメントは締め切られました。\",\n locked: \"ここにはコメントできません。\",\n rateLimited: \"コメントのペースが速すぎます。{seconds} 秒後にもう一度お試しください。\",\n rateLimitedSoon: \"コメントのペースが速すぎます。しばらくしてからもう一度お試しください。\",\n ban: \"コメントを禁止\",\n unban: \"コメント禁止を解除\",\n },\n bans: {\n globalNotice: \"このサイトではコメントできません。\",\n ownerNotice: \"このクリエイターのコンテンツにはコメントできません。\",\n reason: \"理由:{reason}\",\n until: \"{date} まで。\",\n untilLifted: \"解除されるまで。\",\n title: \"{name} さんのコメントを禁止\",\n ownerHelp: \"あなたのすべてのコンテンツに適用されます。既存のコメントは残り、リアクション、お気に入り、投票は引き続きできます。\",\n globalHelp: \"サイト全体に適用されます。既存のコメントは残り、リアクション、お気に入り、投票は引き続きできます。\",\n scope: \"範囲\",\n scopeOwner: \"自分のコンテンツ\",\n scopeGlobal: \"サイト全体\",\n duration: \"期間\",\n day: \"1 日\",\n week: \"7 日\",\n month: \"30 日\",\n forever: \"解除されるまで\",\n custom: \"日時を指定\",\n endsAt: \"終了\",\n reasonLabel: \"理由(任意)\",\n reasonPlaceholder: \"ユーザーに表示されます\",\n save: \"禁止する\",\n update: \"禁止を更新\",\n lift: \"禁止を解除\",\n liftTitle: \"{name} さんの禁止を解除しますか?\",\n liftBody: \"ほかの禁止がない限り、再びコメントできるようになります。\",\n empty: \"禁止はありません。\",\n active: \"有効\",\n expired: \"期限切れ\",\n bannedAt: \"{date} に禁止\",\n add: \"ユーザーを禁止\",\n user: \"ユーザー ID\",\n userPlaceholder: \"ユーザーの ID\",\n loadFailed: \"禁止の一覧を読み込めませんでした。\",\n },\n reactions: {\n like: \"高評価\",\n dislike: \"低評価\",\n signIn: \"ログインしてリアクション\",\n failed: \"リアクションを保存できませんでした。もう一度お試しください。\",\n },\n favorites: {\n add: \"お気に入りに追加\",\n remove: \"お気に入りから削除\",\n added: \"お気に入りに追加しました。\",\n removed: \"お気に入りから削除しました。\",\n signIn: \"ログインしてお気に入りを保存\",\n },\n poll: {\n votes_one: \"{count} 票\",\n votes_other: \"{count} 票\",\n yourVote: \"あなたの投票\",\n closes: \"{date} に締め切り\",\n closed: \"この投票は締め切られました。\",\n signIn: \"ログインして投票\",\n answerPlaceholder: \"あなたの回答\",\n answer: \"回答を送信\",\n updateAnswer: \"回答を更新\",\n editAnswer: \"回答を編集\",\n yourAnswer: \"あなたの回答\",\n answers_one: \"回答 {count} 件\",\n answers_other: \"回答 {count} 件\",\n loadFailed: \"この投票を読み込めませんでした。\",\n },\n pollEditor: {\n newTitle: \"新しい投票\",\n editTitle: \"投票を編集\",\n question: \"質問\",\n questionPlaceholder: \"何を聞きますか?\",\n language: \"言語\",\n kind: \"種類\",\n multipleChoice: \"選択式\",\n freeText: \"自由記述\",\n freeTextHelp: \"読者が回答を書き、回答は自動でグループ分けされます。\",\n liveAt: \"公開日時\",\n closesAt: \"締め切り(任意)\",\n active: \"公開中\",\n inactive: \"非公開\",\n image: \"質問の画像\",\n options: \"選択肢\",\n option: \"選択肢 {index}\",\n addOption: \"選択肢を追加\",\n newOption: \"新しい選択肢\",\n removeOption: \"選択肢を削除\",\n removeOptionTitle: \"この選択肢を削除しますか?\",\n removeOptionBody: \"その票も削除されます。投票には少なくとも 2 つの選択肢が残ります。\",\n optionImage: \"選択肢 {index} の画像\",\n uploadImage: \"画像を追加\",\n replaceImage: \"画像を差し替え\",\n removeImage: \"画像を削除\",\n create: \"投票を作成\",\n creating: \"作成中…\",\n delete: \"投票を削除\",\n deleteTitle: \"この投票を削除しますか?\",\n deleteBody: \"票と画像が削除されます。元に戻せません。\",\n saved: \"保存しました。\",\n created: \"投票を作成しました。\",\n imageFailed: \"投票は保存されましたが、画像がアップロードされませんでした。ここでもう一度追加してください。\",\n minOptions: \"投票には少なくとも 2 つの選択肢が必要です。\",\n maxOptions: \"選択肢は最大 {max} 個です。\",\n questionRequired: \"質問を入力してください。\",\n optionRequired: \"すべての選択肢にラベルが必要です。\",\n },\n moderation: {\n title: \"コメントのモデレーション\",\n all: \"すべてのコメント\",\n queue: \"確認待ち\",\n bans: \"禁止\",\n kind: \"コンテンツ\",\n allKinds: \"すべてのコンテンツ\",\n on: \"対象\",\n published: \"公開\",\n held: \"保留\",\n rejected: \"却下\",\n deleted: \"削除済み\",\n reply: \"返信\",\n delete: \"削除\",\n restore: \"復元\",\n approve: \"承認\",\n reject: \"却下\",\n rejectReason: \"投稿者に表示する理由(任意)\",\n heldBecause: \"保留の理由:{reason}\",\n empty: \"コメントはありません。\",\n queueEmpty: \"確認待ちはありません。\",\n loadFailed: \"コメントを読み込めませんでした。\",\n stale: \"一覧の表示後に編集されました。もう一度確認してください。\",\n loadMore: \"さらに表示\",\n queueComments: \"コメント\",\n queueContent: \"投稿\",\n noAccess: \"コメントをモデレートする権限がありません。\",\n author: \"投稿者\",\n authorPlaceholder: \"ユーザー ID で絞り込む\",\n filter: \"絞り込む\",\n byAuthor: \"{name} さんのコメント\",\n clearAuthor: \"すべて表示\",\n theirComments: \"このユーザーのコメント\",\n },\n time: {\n justNow: \"たった今\",\n },\n contentErrors: {\n forbidden: \"この操作を行う権限がありません。\",\n unauthorized: \"セッションの有効期限が切れました。もう一度ログインしてください。\",\n not_found: \"これは利用できなくなりました。\",\n conflict: \"ほかの場所で変更されました。再読み込みしてもう一度お試しください。\",\n comments_locked: \"コメントを見たり書いたりするにはロックを解除してください。\",\n not_joinable: \"現在このグループには参加できません。\",\n rate_limited: \"リクエストが多すぎます。{seconds} 秒後にもう一度お試しください。\",\n },\n};\n"],"mappings":";AAEA,IAAa,IAAoB;CAC/B,sBAAsB;EACpB,4BAA8B;EAC9B,6BAA+B;EAC/B,wBAA0B;EAE1B,eAAiB;EACjB,iBAAmB;EACnB,sBAAwB;EACxB,gBAAkB;EAClB,uBAAyB;EACzB,cAAgB;EAChB,cAAgB;EAChB,SAAW;EACX,OAAS;EACT,cAAgB;EAChB,YAAc;EACd,cAAgB;GACZ,uBAAyB;GACzB,aAAe;GACf,sBAAwB;GACxB,iBAAmB;GACnB,gBAAkB;EACtB;EACA,SAAW;GACP,uBAAyB;GACzB,aAAe;GACf,sBAAwB;GACxB,iBAAmB;GACnB,gBAAkB;EACtB;CACJ;CACE,eAAe;EACb,UAAY;EACZ,SAAW;EACX,SAAW;EACX,WAAa;EACX,OAAS;EACT,QAAU;EACV,KAAO;EACP,QAAU;EACV,SAAW;EACX,YAAc;EACd,QAAU;EACV,YAAc;EACd,SAAW;EACX,OAAS;EACT,aAAe;EACf,UAAY;EACZ,MAAQ;EACR,UAAY;EACZ,UAAY;EACZ,YAAc;EACd,aAAe;CACnB;CAEA,UAAU;EACR,OAAO;EACP,WAAW;EACX,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,MAAM;EACN,iBAAiB;EACjB,MAAM;EACN,SAAS;EACT,OAAO;EACP,YAAY;EACZ,OAAO;EACP,QAAQ;EACR,UAAU;EACV,SAAS;EACT,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,MAAM;EACN,QAAQ;EACR,MAAM;EACN,iBAAiB;EACjB,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,SAAS;EACT,MAAM;EACN,QAAQ;EACR,SAAS;EACT,aAAa;EACb,YAAY;EACZ,MAAM;EACN,WAAW;EACX,UAAU;EACV,kBAAkB;EAClB,eAAe;EACf,MAAM;EACN,SAAS;EACT,UAAU;EACV,UAAU;EACV,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,aAAa;EACb,iBAAiB;EACjB,KAAK;EACL,OAAO;CACT;CACA,MAAM;EACJ,cAAc;EACd,aAAa;EACb,QAAQ;EACR,OAAO;EACP,aAAa;EACb,OAAO;EACP,WAAW;EACX,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,aAAa;EACb,UAAU;EACV,KAAK;EACL,MAAM;EACN,OAAO;EACP,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,aAAa;EACb,mBAAmB;EACnB,MAAM;EACN,QAAQ;EACR,MAAM;EACN,WAAW;EACX,UAAU;EACV,OAAO;EACP,QAAQ;EACR,SAAS;EACT,UAAU;EACV,KAAK;EACL,MAAM;EACN,iBAAiB;EACjB,YAAY;CACd;CACA,WAAW;EACT,MAAM;EACN,SAAS;EACT,QAAQ;EACR,QAAQ;CACV;CACA,WAAW;EACT,KAAK;EACL,QAAQ;EACR,OAAO;EACP,SAAS;EACT,QAAQ;CACV;CACA,MAAM;EACJ,WAAW;EACX,aAAa;EACb,UAAU;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,mBAAmB;EACnB,QAAQ;EACR,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,eAAe;EACf,YAAY;CACd;CACA,YAAY;EACV,UAAU;EACV,WAAW;EACX,UAAU;EACV,qBAAqB;EACrB,UAAU;EACV,MAAM;EACN,gBAAgB;EAChB,UAAU;EACV,cAAc;EACd,QAAQ;EACR,UAAU;EACV,QAAQ;EACR,UAAU;EACV,OAAO;EACP,SAAS;EACT,QAAQ;EACR,WAAW;EACX,WAAW;EACX,cAAc;EACd,mBAAmB;EACnB,kBAAkB;EAClB,aAAa;EACb,aAAa;EACb,cAAc;EACd,aAAa;EACb,QAAQ;EACR,UAAU;EACV,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,OAAO;EACP,SAAS;EACT,aAAa;EACb,YAAY;EACZ,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;CAClB;CACA,YAAY;EACV,OAAO;EACP,KAAK;EACL,OAAO;EACP,MAAM;EACN,MAAM;EACN,UAAU;EACV,IAAI;EACJ,WAAW;EACX,MAAM;EACN,UAAU;EACV,SAAS;EACT,OAAO;EACP,QAAQ;EACR,SAAS;EACT,SAAS;EACT,QAAQ;EACR,cAAc;EACd,aAAa;EACb,OAAO;EACP,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,UAAU;EACV,eAAe;EACf,cAAc;EACd,UAAU;EACV,QAAQ;EACR,mBAAmB;EACnB,QAAQ;EACR,UAAU;EACV,aAAa;EACb,eAAe;CACjB;CACA,MAAM,EACJ,SAAS,OACX;CACA,eAAe;EACb,WAAW;EACX,cAAc;EACd,WAAW;EACX,UAAU;EACV,iBAAiB;EACjB,cAAc;EACd,cAAc;CAChB;AACF"}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
//#region src/locales/social/ko.ts
|
|
2
2
|
var e = {
|
|
3
|
+
billingNotifications: {
|
|
4
|
+
paymentMethodRequiredTitle: "결제 수단 업데이트 필요",
|
|
5
|
+
authenticationRequiredTitle: "결제 인증 필요",
|
|
6
|
+
collectionStoppedTitle: "자동 결제 중단",
|
|
7
|
+
paymentFailed: "결제 실패",
|
|
8
|
+
membershipEnded: "프리미엄 멤버십 종료",
|
|
9
|
+
membershipDowngraded: "멤버십 다운그레이드",
|
|
10
|
+
retryScheduled: "이 알림이 생성될 때 다음 결제 시도는 {date}로 예정되어 있었습니다.",
|
|
11
|
+
paymentMethodRequired: "다시 결제하려면 새로운 결제 수단이 필요했습니다.",
|
|
12
|
+
retryStopped: "추가 자동 결제 시도가 예정되어 있지 않았습니다.",
|
|
13
|
+
retryUnknown: "이 알림 생성 당시 재시도 일정이 없었습니다.",
|
|
14
|
+
endedAt: "프리미엄 이용 권한이 {date}에 종료되었습니다.",
|
|
15
|
+
ended: "프리미엄 이용 권한이 종료되었습니다.",
|
|
16
|
+
downgradedTo: "멤버십이 {from}에서 {to}로 변경되었습니다.",
|
|
17
|
+
downgraded: "예약된 멤버십 다운그레이드가 적용되었습니다.",
|
|
18
|
+
instructions: {
|
|
19
|
+
update_payment_method: "결제 수단을 업데이트하고 청구 페이지에서 현재 결제 상태를 확인하세요.",
|
|
20
|
+
resubscribe: "이용 권한을 복원하려면 멤버십을 선택하세요. 새 구독 전에 청구 페이지를 확인하세요.",
|
|
21
|
+
authenticate_payment: "청구 페이지에서 결제 인증을 완료하세요.",
|
|
22
|
+
contact_support: "이 결제에 도움이 필요하면 지원팀에 문의하세요.",
|
|
23
|
+
manage_billing: "청구 페이지에서 현재 결제 상태와 다음 단계를 확인하세요."
|
|
24
|
+
},
|
|
25
|
+
actions: {
|
|
26
|
+
update_payment_method: "결제 수단 업데이트",
|
|
27
|
+
resubscribe: "멤버십 선택",
|
|
28
|
+
authenticate_payment: "인증 완료",
|
|
29
|
+
contact_support: "지원팀 문의",
|
|
30
|
+
manage_billing: "청구 보기"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
3
33
|
notifications: {
|
|
4
34
|
archived: "보관됨",
|
|
5
35
|
dismiss: "보관",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ko.js","names":[],"sources":["../../../src/locales/social/ko.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n notifications: {\n \"archived\": \"보관됨\",\n \"dismiss\": \"보관\",\n \"restore\": \"받은 알림으로 복원\",\n \"dismissed\": \"취소됨\",\n \"title\": \"알림\",\n \"filter\": \"알림 필터\",\n \"all\": \"전체\",\n \"unread\": \"읽지 않음\",\n \"refresh\": \"알림 새로고침\",\n \"signInHint\": \"알림을 보려면 로그인하세요.\",\n \"signIn\": \"로그인\",\n \"loadFailed\": \"알림을 불러오지 못했습니다.\",\n \"loading\": \"알림을 불러오는 중…\",\n \"empty\": \"아직 알림이 없습니다.\",\n \"emptyUnread\": \"모든 알림을 확인했습니다.\",\n \"loadMore\": \"더 보기\",\n \"open\": \"조치 필요\",\n \"resolved\": \"해결됨\",\n \"markRead\": \"읽음으로 표시\",\n \"markUnread\": \"읽지 않음으로 표시\",\n \"unreadLabel\": \"알림, 읽지 않은 항목 있음\"\n },\n\n comments: {\n title: \"댓글\",\n count_one: \"댓글 {count}개\",\n count_other: \"댓글 {count}개\",\n placeholder: \"댓글 쓰기…\",\n replyPlaceholder: \"답글 쓰기…\",\n name: \"이름\",\n namePlaceholder: \"댓글과 함께 표시됩니다\",\n post: \"게시\",\n posting: \"게시 중…\",\n reply: \"답글\",\n replyingTo: \"{name}님에게 답글\",\n empty: \"아직 댓글이 없습니다. 첫 댓글을 남겨 보세요!\",\n unlock: \"잠금을 해제하고 댓글 보기\",\n loadMore: \"댓글 더 보기\",\n loading: \"댓글을 불러오는 중…\",\n loadFailed: \"댓글을 불러오지 못했습니다.\",\n signIn: \"로그인하고 댓글 쓰기\",\n required: \"먼저 내용을 입력하세요.\",\n nameRequired: \"이름을 입력하세요.\",\n charsLeft_one: \"{count}자 남음\",\n charsLeft_other: \"{count}자 남음\",\n submitHint: \"{key}+Enter로 게시\",\n sort: \"댓글 정렬\",\n newest: \"최신순\",\n best: \"인기순\",\n showReplies_one: \"답글 {count}개 보기\",\n showReplies_other: \"답글 {count}개 보기\",\n hideReplies: \"답글 숨기기\",\n moreReplies: \"답글 더 보기\",\n loadingReplies: \"답글을 불러오는 중…\",\n anonymous: \"익명\",\n deleted: \"삭제된 댓글입니다.\",\n edit: \"수정\",\n delete: \"삭제\",\n actions: \"댓글 작업\",\n deleteTitle: \"이 댓글을 삭제할까요?\",\n deleteBody: \"삭제되었다는 표시로 바뀌며, 답글은 남습니다.\",\n held: \"검토 중입니다. 운영자가 승인할 때까지 이 댓글은 나에게만 보입니다.\",\n heldBadge: \"검토 중\",\n rejected: \"게시되지 않음: {reason}\",\n rejectedNoReason: \"게시되지 않았습니다.\",\n rejectedBadge: \"게시 안 됨\",\n like: \"좋아요\",\n dislike: \"싫어요\",\n showMore: \"더 보기\",\n showLess: \"접기\",\n restore: \"복원\",\n closed: \"댓글이 닫혔습니다.\",\n locked: \"여기에는 댓글을 쓸 수 없습니다.\",\n rateLimited: \"댓글을 너무 빨리 쓰고 있습니다. {seconds}초 후에 다시 시도하세요.\",\n rateLimitedSoon: \"댓글을 너무 빨리 쓰고 있습니다. 잠시 후 다시 시도하세요.\",\n ban: \"댓글 금지\",\n unban: \"댓글 금지 해제\",\n },\n bans: {\n globalNotice: \"이 사이트에서는 댓글을 쓸 수 없습니다.\",\n ownerNotice: \"이 크리에이터의 콘텐츠에는 댓글을 쓸 수 없습니다.\",\n reason: \"사유: {reason}\",\n until: \"{date}까지.\",\n untilLifted: \"해제될 때까지.\",\n title: \"{name}님의 댓글 금지\",\n ownerHelp: \"내 모든 콘텐츠에 적용됩니다. 기존 댓글은 남고 반응, 즐겨찾기, 투표는 계속할 수 있습니다.\",\n globalHelp: \"사이트 전체에 적용됩니다. 기존 댓글은 남고 반응, 즐겨찾기, 투표는 계속할 수 있습니다.\",\n scope: \"범위\",\n scopeOwner: \"내 콘텐츠\",\n scopeGlobal: \"사이트 전체\",\n duration: \"기간\",\n day: \"1일\",\n week: \"7일\",\n month: \"30일\",\n forever: \"해제할 때까지\",\n custom: \"날짜 지정\",\n endsAt: \"종료\",\n reasonLabel: \"사유(선택)\",\n reasonPlaceholder: \"사용자에게 표시됩니다\",\n save: \"금지\",\n update: \"금지 수정\",\n lift: \"금지 해제\",\n liftTitle: \"{name}님의 금지를 해제할까요?\",\n liftBody: \"다른 금지가 없다면 다시 댓글을 쓸 수 있습니다.\",\n empty: \"금지가 없습니다.\",\n active: \"활성\",\n expired: \"만료됨\",\n bannedAt: \"{date}에 금지됨\",\n add: \"사용자 금지\",\n user: \"사용자 ID\",\n userPlaceholder: \"사용자의 ID\",\n loadFailed: \"금지 목록을 불러오지 못했습니다.\",\n },\n reactions: {\n like: \"좋아요\",\n dislike: \"싫어요\",\n signIn: \"로그인하고 반응하기\",\n failed: \"반응이 저장되지 않았습니다. 다시 시도하세요.\",\n },\n favorites: {\n add: \"즐겨찾기에 추가\",\n remove: \"즐겨찾기에서 삭제\",\n added: \"즐겨찾기에 추가했습니다.\",\n removed: \"즐겨찾기에서 삭제했습니다.\",\n signIn: \"로그인하고 즐겨찾기 저장\",\n },\n poll: {\n votes_one: \"{count}표\",\n votes_other: \"{count}표\",\n yourVote: \"내 투표\",\n closes: \"{date}에 마감\",\n closed: \"마감된 투표입니다.\",\n signIn: \"로그인하고 투표하기\",\n answerPlaceholder: \"내 답변\",\n answer: \"답변 보내기\",\n updateAnswer: \"답변 수정\",\n editAnswer: \"답변 편집\",\n yourAnswer: \"내 답변\",\n answers_one: \"답변 {count}개\",\n answers_other: \"답변 {count}개\",\n loadFailed: \"투표를 불러오지 못했습니다.\",\n },\n pollEditor: {\n newTitle: \"새 투표\",\n editTitle: \"투표 수정\",\n question: \"질문\",\n questionPlaceholder: \"무엇을 물어볼까요?\",\n language: \"언어\",\n kind: \"유형\",\n multipleChoice: \"객관식\",\n freeText: \"주관식\",\n freeTextHelp: \"독자가 답변을 쓰고, 답변은 자동으로 묶입니다.\",\n liveAt: \"게시 시작\",\n closesAt: \"마감(선택)\",\n active: \"공개\",\n inactive: \"비공개\",\n image: \"질문 이미지\",\n options: \"선택지\",\n option: \"선택지 {index}\",\n addOption: \"선택지 추가\",\n newOption: \"새 선택지\",\n removeOption: \"선택지 삭제\",\n removeOptionTitle: \"이 선택지를 삭제할까요?\",\n removeOptionBody: \"해당 표도 삭제됩니다. 투표에는 선택지가 최소 2개 남습니다.\",\n optionImage: \"선택지 {index} 이미지\",\n uploadImage: \"이미지 추가\",\n replaceImage: \"이미지 교체\",\n removeImage: \"이미지 삭제\",\n create: \"투표 만들기\",\n creating: \"만드는 중…\",\n delete: \"투표 삭제\",\n deleteTitle: \"이 투표를 삭제할까요?\",\n deleteBody: \"표와 이미지가 삭제됩니다. 되돌릴 수 없습니다.\",\n saved: \"저장했습니다.\",\n created: \"투표를 만들었습니다.\",\n imageFailed: \"투표는 저장되었지만 이미지 하나가 업로드되지 않았습니다. 여기서 다시 추가하세요.\",\n minOptions: \"투표에는 선택지가 최소 2개 필요합니다.\",\n maxOptions: \"선택지는 최대 {max}개입니다.\",\n questionRequired: \"질문을 입력하세요.\",\n optionRequired: \"모든 선택지에 이름이 필요합니다.\",\n },\n moderation: {\n title: \"댓글 관리\",\n all: \"모든 댓글\",\n queue: \"검토 대기열\",\n bans: \"금지\",\n kind: \"콘텐츠\",\n allKinds: \"모든 콘텐츠\",\n on: \"대상\",\n published: \"게시됨\",\n held: \"보류\",\n rejected: \"거부됨\",\n deleted: \"삭제됨\",\n reply: \"답글\",\n delete: \"삭제\",\n restore: \"복원\",\n approve: \"승인\",\n reject: \"거부\",\n rejectReason: \"작성자에게 보여 줄 사유(선택)\",\n heldBecause: \"보류 사유: {reason}\",\n empty: \"댓글이 없습니다.\",\n queueEmpty: \"검토할 항목이 없습니다.\",\n loadFailed: \"댓글을 불러오지 못했습니다.\",\n stale: \"목록이 표시된 뒤 수정되었습니다. 다시 검토하세요.\",\n loadMore: \"더 보기\",\n queueComments: \"댓글\",\n queueContent: \"게시물\",\n noAccess: \"댓글을 관리할 권한이 없습니다.\",\n author: \"작성자\",\n authorPlaceholder: \"사용자 ID로 필터\",\n filter: \"필터\",\n byAuthor: \"{name} 님의 댓글\",\n clearAuthor: \"전체 보기\",\n theirComments: \"이 사용자의 댓글\",\n },\n time: {\n justNow: \"방금\",\n },\n contentErrors: {\n forbidden: \"이 작업을 할 권한이 없습니다.\",\n unauthorized: \"세션이 만료되었습니다. 다시 로그인하세요.\",\n not_found: \"더 이상 사용할 수 없습니다.\",\n conflict: \"다른 곳에서 변경되었습니다. 새로고침 후 다시 시도하세요.\",\n comments_locked: \"댓글을 보고 쓰려면 잠금을 해제하세요.\",\n not_joinable: \"지금은 이 그룹에 가입할 수 없습니다.\",\n rate_limited: \"요청이 너무 많습니다. {seconds}초 후에 다시 시도하세요.\",\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ko.js","names":[],"sources":["../../../src/locales/social/ko.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n billingNotifications: {\n \"paymentMethodRequiredTitle\": \"결제 수단 업데이트 필요\",\n \"authenticationRequiredTitle\": \"결제 인증 필요\",\n \"collectionStoppedTitle\": \"자동 결제 중단\",\n\n \"paymentFailed\": \"결제 실패\",\n \"membershipEnded\": \"프리미엄 멤버십 종료\",\n \"membershipDowngraded\": \"멤버십 다운그레이드\",\n \"retryScheduled\": \"이 알림이 생성될 때 다음 결제 시도는 {date}로 예정되어 있었습니다.\",\n \"paymentMethodRequired\": \"다시 결제하려면 새로운 결제 수단이 필요했습니다.\",\n \"retryStopped\": \"추가 자동 결제 시도가 예정되어 있지 않았습니다.\",\n \"retryUnknown\": \"이 알림 생성 당시 재시도 일정이 없었습니다.\",\n \"endedAt\": \"프리미엄 이용 권한이 {date}에 종료되었습니다.\",\n \"ended\": \"프리미엄 이용 권한이 종료되었습니다.\",\n \"downgradedTo\": \"멤버십이 {from}에서 {to}로 변경되었습니다.\",\n \"downgraded\": \"예약된 멤버십 다운그레이드가 적용되었습니다.\",\n \"instructions\": {\n \"update_payment_method\": \"결제 수단을 업데이트하고 청구 페이지에서 현재 결제 상태를 확인하세요.\",\n \"resubscribe\": \"이용 권한을 복원하려면 멤버십을 선택하세요. 새 구독 전에 청구 페이지를 확인하세요.\",\n \"authenticate_payment\": \"청구 페이지에서 결제 인증을 완료하세요.\",\n \"contact_support\": \"이 결제에 도움이 필요하면 지원팀에 문의하세요.\",\n \"manage_billing\": \"청구 페이지에서 현재 결제 상태와 다음 단계를 확인하세요.\"\n },\n \"actions\": {\n \"update_payment_method\": \"결제 수단 업데이트\",\n \"resubscribe\": \"멤버십 선택\",\n \"authenticate_payment\": \"인증 완료\",\n \"contact_support\": \"지원팀 문의\",\n \"manage_billing\": \"청구 보기\"\n }\n},\n notifications: {\n \"archived\": \"보관됨\",\n \"dismiss\": \"보관\",\n \"restore\": \"받은 알림으로 복원\",\n \"dismissed\": \"취소됨\",\n \"title\": \"알림\",\n \"filter\": \"알림 필터\",\n \"all\": \"전체\",\n \"unread\": \"읽지 않음\",\n \"refresh\": \"알림 새로고침\",\n \"signInHint\": \"알림을 보려면 로그인하세요.\",\n \"signIn\": \"로그인\",\n \"loadFailed\": \"알림을 불러오지 못했습니다.\",\n \"loading\": \"알림을 불러오는 중…\",\n \"empty\": \"아직 알림이 없습니다.\",\n \"emptyUnread\": \"모든 알림을 확인했습니다.\",\n \"loadMore\": \"더 보기\",\n \"open\": \"조치 필요\",\n \"resolved\": \"해결됨\",\n \"markRead\": \"읽음으로 표시\",\n \"markUnread\": \"읽지 않음으로 표시\",\n \"unreadLabel\": \"알림, 읽지 않은 항목 있음\"\n },\n\n comments: {\n title: \"댓글\",\n count_one: \"댓글 {count}개\",\n count_other: \"댓글 {count}개\",\n placeholder: \"댓글 쓰기…\",\n replyPlaceholder: \"답글 쓰기…\",\n name: \"이름\",\n namePlaceholder: \"댓글과 함께 표시됩니다\",\n post: \"게시\",\n posting: \"게시 중…\",\n reply: \"답글\",\n replyingTo: \"{name}님에게 답글\",\n empty: \"아직 댓글이 없습니다. 첫 댓글을 남겨 보세요!\",\n unlock: \"잠금을 해제하고 댓글 보기\",\n loadMore: \"댓글 더 보기\",\n loading: \"댓글을 불러오는 중…\",\n loadFailed: \"댓글을 불러오지 못했습니다.\",\n signIn: \"로그인하고 댓글 쓰기\",\n required: \"먼저 내용을 입력하세요.\",\n nameRequired: \"이름을 입력하세요.\",\n charsLeft_one: \"{count}자 남음\",\n charsLeft_other: \"{count}자 남음\",\n submitHint: \"{key}+Enter로 게시\",\n sort: \"댓글 정렬\",\n newest: \"최신순\",\n best: \"인기순\",\n showReplies_one: \"답글 {count}개 보기\",\n showReplies_other: \"답글 {count}개 보기\",\n hideReplies: \"답글 숨기기\",\n moreReplies: \"답글 더 보기\",\n loadingReplies: \"답글을 불러오는 중…\",\n anonymous: \"익명\",\n deleted: \"삭제된 댓글입니다.\",\n edit: \"수정\",\n delete: \"삭제\",\n actions: \"댓글 작업\",\n deleteTitle: \"이 댓글을 삭제할까요?\",\n deleteBody: \"삭제되었다는 표시로 바뀌며, 답글은 남습니다.\",\n held: \"검토 중입니다. 운영자가 승인할 때까지 이 댓글은 나에게만 보입니다.\",\n heldBadge: \"검토 중\",\n rejected: \"게시되지 않음: {reason}\",\n rejectedNoReason: \"게시되지 않았습니다.\",\n rejectedBadge: \"게시 안 됨\",\n like: \"좋아요\",\n dislike: \"싫어요\",\n showMore: \"더 보기\",\n showLess: \"접기\",\n restore: \"복원\",\n closed: \"댓글이 닫혔습니다.\",\n locked: \"여기에는 댓글을 쓸 수 없습니다.\",\n rateLimited: \"댓글을 너무 빨리 쓰고 있습니다. {seconds}초 후에 다시 시도하세요.\",\n rateLimitedSoon: \"댓글을 너무 빨리 쓰고 있습니다. 잠시 후 다시 시도하세요.\",\n ban: \"댓글 금지\",\n unban: \"댓글 금지 해제\",\n },\n bans: {\n globalNotice: \"이 사이트에서는 댓글을 쓸 수 없습니다.\",\n ownerNotice: \"이 크리에이터의 콘텐츠에는 댓글을 쓸 수 없습니다.\",\n reason: \"사유: {reason}\",\n until: \"{date}까지.\",\n untilLifted: \"해제될 때까지.\",\n title: \"{name}님의 댓글 금지\",\n ownerHelp: \"내 모든 콘텐츠에 적용됩니다. 기존 댓글은 남고 반응, 즐겨찾기, 투표는 계속할 수 있습니다.\",\n globalHelp: \"사이트 전체에 적용됩니다. 기존 댓글은 남고 반응, 즐겨찾기, 투표는 계속할 수 있습니다.\",\n scope: \"범위\",\n scopeOwner: \"내 콘텐츠\",\n scopeGlobal: \"사이트 전체\",\n duration: \"기간\",\n day: \"1일\",\n week: \"7일\",\n month: \"30일\",\n forever: \"해제할 때까지\",\n custom: \"날짜 지정\",\n endsAt: \"종료\",\n reasonLabel: \"사유(선택)\",\n reasonPlaceholder: \"사용자에게 표시됩니다\",\n save: \"금지\",\n update: \"금지 수정\",\n lift: \"금지 해제\",\n liftTitle: \"{name}님의 금지를 해제할까요?\",\n liftBody: \"다른 금지가 없다면 다시 댓글을 쓸 수 있습니다.\",\n empty: \"금지가 없습니다.\",\n active: \"활성\",\n expired: \"만료됨\",\n bannedAt: \"{date}에 금지됨\",\n add: \"사용자 금지\",\n user: \"사용자 ID\",\n userPlaceholder: \"사용자의 ID\",\n loadFailed: \"금지 목록을 불러오지 못했습니다.\",\n },\n reactions: {\n like: \"좋아요\",\n dislike: \"싫어요\",\n signIn: \"로그인하고 반응하기\",\n failed: \"반응이 저장되지 않았습니다. 다시 시도하세요.\",\n },\n favorites: {\n add: \"즐겨찾기에 추가\",\n remove: \"즐겨찾기에서 삭제\",\n added: \"즐겨찾기에 추가했습니다.\",\n removed: \"즐겨찾기에서 삭제했습니다.\",\n signIn: \"로그인하고 즐겨찾기 저장\",\n },\n poll: {\n votes_one: \"{count}표\",\n votes_other: \"{count}표\",\n yourVote: \"내 투표\",\n closes: \"{date}에 마감\",\n closed: \"마감된 투표입니다.\",\n signIn: \"로그인하고 투표하기\",\n answerPlaceholder: \"내 답변\",\n answer: \"답변 보내기\",\n updateAnswer: \"답변 수정\",\n editAnswer: \"답변 편집\",\n yourAnswer: \"내 답변\",\n answers_one: \"답변 {count}개\",\n answers_other: \"답변 {count}개\",\n loadFailed: \"투표를 불러오지 못했습니다.\",\n },\n pollEditor: {\n newTitle: \"새 투표\",\n editTitle: \"투표 수정\",\n question: \"질문\",\n questionPlaceholder: \"무엇을 물어볼까요?\",\n language: \"언어\",\n kind: \"유형\",\n multipleChoice: \"객관식\",\n freeText: \"주관식\",\n freeTextHelp: \"독자가 답변을 쓰고, 답변은 자동으로 묶입니다.\",\n liveAt: \"게시 시작\",\n closesAt: \"마감(선택)\",\n active: \"공개\",\n inactive: \"비공개\",\n image: \"질문 이미지\",\n options: \"선택지\",\n option: \"선택지 {index}\",\n addOption: \"선택지 추가\",\n newOption: \"새 선택지\",\n removeOption: \"선택지 삭제\",\n removeOptionTitle: \"이 선택지를 삭제할까요?\",\n removeOptionBody: \"해당 표도 삭제됩니다. 투표에는 선택지가 최소 2개 남습니다.\",\n optionImage: \"선택지 {index} 이미지\",\n uploadImage: \"이미지 추가\",\n replaceImage: \"이미지 교체\",\n removeImage: \"이미지 삭제\",\n create: \"투표 만들기\",\n creating: \"만드는 중…\",\n delete: \"투표 삭제\",\n deleteTitle: \"이 투표를 삭제할까요?\",\n deleteBody: \"표와 이미지가 삭제됩니다. 되돌릴 수 없습니다.\",\n saved: \"저장했습니다.\",\n created: \"투표를 만들었습니다.\",\n imageFailed: \"투표는 저장되었지만 이미지 하나가 업로드되지 않았습니다. 여기서 다시 추가하세요.\",\n minOptions: \"투표에는 선택지가 최소 2개 필요합니다.\",\n maxOptions: \"선택지는 최대 {max}개입니다.\",\n questionRequired: \"질문을 입력하세요.\",\n optionRequired: \"모든 선택지에 이름이 필요합니다.\",\n },\n moderation: {\n title: \"댓글 관리\",\n all: \"모든 댓글\",\n queue: \"검토 대기열\",\n bans: \"금지\",\n kind: \"콘텐츠\",\n allKinds: \"모든 콘텐츠\",\n on: \"대상\",\n published: \"게시됨\",\n held: \"보류\",\n rejected: \"거부됨\",\n deleted: \"삭제됨\",\n reply: \"답글\",\n delete: \"삭제\",\n restore: \"복원\",\n approve: \"승인\",\n reject: \"거부\",\n rejectReason: \"작성자에게 보여 줄 사유(선택)\",\n heldBecause: \"보류 사유: {reason}\",\n empty: \"댓글이 없습니다.\",\n queueEmpty: \"검토할 항목이 없습니다.\",\n loadFailed: \"댓글을 불러오지 못했습니다.\",\n stale: \"목록이 표시된 뒤 수정되었습니다. 다시 검토하세요.\",\n loadMore: \"더 보기\",\n queueComments: \"댓글\",\n queueContent: \"게시물\",\n noAccess: \"댓글을 관리할 권한이 없습니다.\",\n author: \"작성자\",\n authorPlaceholder: \"사용자 ID로 필터\",\n filter: \"필터\",\n byAuthor: \"{name} 님의 댓글\",\n clearAuthor: \"전체 보기\",\n theirComments: \"이 사용자의 댓글\",\n },\n time: {\n justNow: \"방금\",\n },\n contentErrors: {\n forbidden: \"이 작업을 할 권한이 없습니다.\",\n unauthorized: \"세션이 만료되었습니다. 다시 로그인하세요.\",\n not_found: \"더 이상 사용할 수 없습니다.\",\n conflict: \"다른 곳에서 변경되었습니다. 새로고침 후 다시 시도하세요.\",\n comments_locked: \"댓글을 보고 쓰려면 잠금을 해제하세요.\",\n not_joinable: \"지금은 이 그룹에 가입할 수 없습니다.\",\n rate_limited: \"요청이 너무 많습니다. {seconds}초 후에 다시 시도하세요.\",\n },\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
//#region src/locales/social/zh.ts
|
|
2
2
|
var e = {
|
|
3
|
+
billingNotifications: {
|
|
4
|
+
paymentMethodRequiredTitle: "请更新付款方式",
|
|
5
|
+
authenticationRequiredTitle: "需要验证付款",
|
|
6
|
+
collectionStoppedTitle: "自动付款已停止",
|
|
7
|
+
paymentFailed: "付款失败",
|
|
8
|
+
membershipEnded: "高级会员已到期",
|
|
9
|
+
membershipDowngraded: "会员等级已降低",
|
|
10
|
+
retryScheduled: "创建此通知时,下次付款尝试安排在{date}。",
|
|
11
|
+
paymentMethodRequired: "再次尝试付款前需要新的付款方式。",
|
|
12
|
+
retryStopped: "当时未安排进一步的自动付款尝试。",
|
|
13
|
+
retryUnknown: "创建此通知时没有可用的重试计划。",
|
|
14
|
+
endedAt: "您的高级会员访问权限已于{date}结束。",
|
|
15
|
+
ended: "您的高级会员访问权限已结束。",
|
|
16
|
+
downgradedTo: "您的会员从{from}变更为{to}。",
|
|
17
|
+
downgraded: "您预约的会员降级已生效。",
|
|
18
|
+
instructions: {
|
|
19
|
+
update_payment_method: "请更新付款方式,并在账单页面查看当前付款状态。",
|
|
20
|
+
resubscribe: "请选择会员以恢复访问。在开始新订阅前请查看账单页面。",
|
|
21
|
+
authenticate_payment: "请在账单页面完成付款验证。",
|
|
22
|
+
contact_support: "请联系支持人员获取此付款的帮助。",
|
|
23
|
+
manage_billing: "请打开账单页面查看当前付款状态和后续步骤。"
|
|
24
|
+
},
|
|
25
|
+
actions: {
|
|
26
|
+
update_payment_method: "更新付款方式",
|
|
27
|
+
resubscribe: "选择会员",
|
|
28
|
+
authenticate_payment: "完成验证",
|
|
29
|
+
contact_support: "联系支持",
|
|
30
|
+
manage_billing: "查看账单"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
3
33
|
notifications: {
|
|
4
34
|
archived: "已归档",
|
|
5
35
|
dismiss: "归档",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh.js","names":[],"sources":["../../../src/locales/social/zh.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n notifications: {\n \"archived\": \"已归档\",\n \"dismiss\": \"归档\",\n \"restore\": \"恢复到收件箱\",\n \"dismissed\": \"已关闭\",\n \"title\": \"通知\",\n \"filter\": \"通知筛选\",\n \"all\": \"全部\",\n \"unread\": \"未读\",\n \"refresh\": \"刷新通知\",\n \"signInHint\": \"登录后可查看通知。\",\n \"signIn\": \"登录\",\n \"loadFailed\": \"无法加载通知。\",\n \"loading\": \"正在加载通知…\",\n \"empty\": \"暂无通知。\",\n \"emptyUnread\": \"没有未读通知。\",\n \"loadMore\": \"显示更多\",\n \"open\": \"需要处理\",\n \"resolved\": \"已解决\",\n \"markRead\": \"标为已读\",\n \"markUnread\": \"标为未读\",\n \"unreadLabel\": \"通知,有未读内容\"\n },\n\n comments: {\n title: \"评论\",\n count_one: \"{count} 条评论\",\n count_other: \"{count} 条评论\",\n placeholder: \"写评论…\",\n replyPlaceholder: \"写回复…\",\n name: \"名字\",\n namePlaceholder: \"将随评论显示\",\n post: \"发布\",\n posting: \"发布中…\",\n reply: \"回复\",\n replyingTo: \"回复 {name}\",\n empty: \"还没有评论。来发表第一条吧!\",\n unlock: \"解锁以查看评论\",\n loadMore: \"显示更多评论\",\n loading: \"正在加载评论…\",\n loadFailed: \"无法加载评论。\",\n signIn: \"登录后评论\",\n required: \"请先写点内容。\",\n nameRequired: \"请输入名字。\",\n charsLeft_one: \"还剩 {count} 个字符\",\n charsLeft_other: \"还剩 {count} 个字符\",\n submitHint: \"按 {key}+Enter 发布\",\n sort: \"评论排序\",\n newest: \"最新\",\n best: \"最热\",\n showReplies_one: \"显示 {count} 条回复\",\n showReplies_other: \"显示 {count} 条回复\",\n hideReplies: \"隐藏回复\",\n moreReplies: \"显示更多回复\",\n loadingReplies: \"正在加载回复…\",\n anonymous: \"匿名\",\n deleted: \"此评论已删除。\",\n edit: \"编辑\",\n delete: \"删除\",\n actions: \"评论操作\",\n deleteTitle: \"删除这条评论?\",\n deleteBody: \"它会被替换为已删除的提示,回复会保留。\",\n held: \"审核中。在管理员批准前,这条评论只有你能看到。\",\n heldBadge: \"审核中\",\n rejected: \"未发布:{reason}\",\n rejectedNoReason: \"未发布。\",\n rejectedBadge: \"未发布\",\n like: \"赞\",\n dislike: \"踩\",\n showMore: \"展开\",\n showLess: \"收起\",\n restore: \"恢复\",\n closed: \"评论已关闭。\",\n locked: \"你不能在这里评论。\",\n rateLimited: \"你评论得太快了。请在 {seconds} 秒后重试。\",\n rateLimitedSoon: \"你评论得太快了。请稍后重试。\",\n ban: \"禁止评论\",\n unban: \"解除评论禁令\",\n },\n bans: {\n globalNotice: \"你不能在本站评论。\",\n ownerNotice: \"你不能评论这位创作者的内容。\",\n reason: \"原因:{reason}\",\n until: \"截至 {date}。\",\n untilLifted: \"直到解除为止。\",\n title: \"禁止 {name} 评论\",\n ownerHelp: \"适用于你的所有内容。对方已有的评论会保留,仍可点赞、收藏和投票。\",\n globalHelp: \"适用于整个网站。对方已有的评论会保留,仍可点赞、收藏和投票。\",\n scope: \"范围\",\n scopeOwner: \"我的内容\",\n scopeGlobal: \"整个网站\",\n duration: \"时长\",\n day: \"1 天\",\n week: \"7 天\",\n month: \"30 天\",\n forever: \"直到解除\",\n custom: \"截至某个日期\",\n endsAt: \"结束\",\n reasonLabel: \"原因(可选)\",\n reasonPlaceholder: \"会显示给该用户\",\n save: \"禁止\",\n update: \"更新禁令\",\n lift: \"解除禁令\",\n liftTitle: \"解除对 {name} 的禁令?\",\n liftBody: \"如果没有其他禁令,对方可以再次评论。\",\n empty: \"没有禁令。\",\n active: \"生效中\",\n expired: \"已过期\",\n bannedAt: \"于 {date} 禁止\",\n add: \"禁止用户\",\n user: \"用户 ID\",\n userPlaceholder: \"该用户的 ID\",\n loadFailed: \"无法加载禁令。\",\n },\n reactions: {\n like: \"赞\",\n dislike: \"踩\",\n signIn: \"登录后表态\",\n failed: \"你的表态未保存。请重试。\",\n },\n favorites: {\n add: \"加入收藏\",\n remove: \"取消收藏\",\n added: \"已加入收藏。\",\n removed: \"已取消收藏。\",\n signIn: \"登录后收藏\",\n },\n poll: {\n votes_one: \"{count} 票\",\n votes_other: \"{count} 票\",\n yourVote: \"你的投票\",\n closes: \"{date} 截止\",\n closed: \"此投票已结束。\",\n signIn: \"登录后投票\",\n answerPlaceholder: \"你的回答\",\n answer: \"提交回答\",\n updateAnswer: \"更新回答\",\n editAnswer: \"编辑回答\",\n yourAnswer: \"你的回答\",\n answers_one: \"{count} 个回答\",\n answers_other: \"{count} 个回答\",\n loadFailed: \"无法加载此投票。\",\n },\n pollEditor: {\n newTitle: \"新投票\",\n editTitle: \"编辑投票\",\n question: \"问题\",\n questionPlaceholder: \"你想问什么?\",\n language: \"语言\",\n kind: \"类型\",\n multipleChoice: \"选择题\",\n freeText: \"自由回答\",\n freeTextHelp: \"读者写下回答,回答会被自动归类。\",\n liveAt: \"上线时间\",\n closesAt: \"截止时间(可选)\",\n active: \"公开可见\",\n inactive: \"对公众隐藏\",\n image: \"问题图片\",\n options: \"选项\",\n option: \"选项 {index}\",\n addOption: \"添加选项\",\n newOption: \"新选项\",\n removeOption: \"删除选项\",\n removeOptionTitle: \"删除此选项?\",\n removeOptionBody: \"它的票数也会被删除。投票至少保留两个选项。\",\n optionImage: \"选项 {index} 的图片\",\n uploadImage: \"添加图片\",\n replaceImage: \"替换图片\",\n removeImage: \"移除图片\",\n create: \"创建投票\",\n creating: \"创建中…\",\n delete: \"删除投票\",\n deleteTitle: \"删除此投票?\",\n deleteBody: \"票数和图片会被删除,且无法撤销。\",\n saved: \"已保存。\",\n created: \"投票已创建。\",\n imageFailed: \"投票已保存,但有一张图片未上传。请在这里重新添加。\",\n minOptions: \"投票至少需要两个选项。\",\n maxOptions: \"投票最多有 {max} 个选项。\",\n questionRequired: \"请填写问题。\",\n optionRequired: \"每个选项都需要文字。\",\n },\n moderation: {\n title: \"评论管理\",\n all: \"全部评论\",\n queue: \"待审队列\",\n bans: \"禁令\",\n kind: \"内容\",\n allKinds: \"全部内容\",\n on: \"位于\",\n published: \"已发布\",\n held: \"已暂扣\",\n rejected: \"已拒绝\",\n deleted: \"已删除\",\n reply: \"回复\",\n delete: \"删除\",\n restore: \"恢复\",\n approve: \"通过\",\n reject: \"拒绝\",\n rejectReason: \"告知作者的原因(可选)\",\n heldBecause: \"暂扣原因:{reason}\",\n empty: \"没有评论。\",\n queueEmpty: \"没有待审内容。\",\n loadFailed: \"无法加载评论。\",\n stale: \"列出后内容已被编辑,请重新审核。\",\n loadMore: \"显示更多\",\n queueComments: \"评论\",\n queueContent: \"文章\",\n noAccess: \"你没有审核评论的权限。\",\n author: \"作者\",\n authorPlaceholder: \"按用户 ID 筛选\",\n filter: \"筛选\",\n byAuthor: \"{name} 的评论\",\n clearAuthor: \"显示所有人的\",\n theirComments: \"该用户的评论\",\n },\n time: {\n justNow: \"刚刚\",\n },\n contentErrors: {\n forbidden: \"你没有执行此操作的权限。\",\n unauthorized: \"会话已过期。请重新登录。\",\n not_found: \"此内容已不可用。\",\n conflict: \"此内容已在别处更改。请刷新后重试。\",\n comments_locked: \"解锁后即可查看和发表评论。\",\n not_joinable: \"目前无法加入此群组。\",\n rate_limited: \"请求过多。请在 {seconds} 秒后重试。\",\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zh.js","names":[],"sources":["../../../src/locales/social/zh.ts"],"sourcesContent":["import type { social as en } from \"./en.js\";\n\nexport const social: typeof en = {\n billingNotifications: {\n \"paymentMethodRequiredTitle\": \"请更新付款方式\",\n \"authenticationRequiredTitle\": \"需要验证付款\",\n \"collectionStoppedTitle\": \"自动付款已停止\",\n\n \"paymentFailed\": \"付款失败\",\n \"membershipEnded\": \"高级会员已到期\",\n \"membershipDowngraded\": \"会员等级已降低\",\n \"retryScheduled\": \"创建此通知时,下次付款尝试安排在{date}。\",\n \"paymentMethodRequired\": \"再次尝试付款前需要新的付款方式。\",\n \"retryStopped\": \"当时未安排进一步的自动付款尝试。\",\n \"retryUnknown\": \"创建此通知时没有可用的重试计划。\",\n \"endedAt\": \"您的高级会员访问权限已于{date}结束。\",\n \"ended\": \"您的高级会员访问权限已结束。\",\n \"downgradedTo\": \"您的会员从{from}变更为{to}。\",\n \"downgraded\": \"您预约的会员降级已生效。\",\n \"instructions\": {\n \"update_payment_method\": \"请更新付款方式,并在账单页面查看当前付款状态。\",\n \"resubscribe\": \"请选择会员以恢复访问。在开始新订阅前请查看账单页面。\",\n \"authenticate_payment\": \"请在账单页面完成付款验证。\",\n \"contact_support\": \"请联系支持人员获取此付款的帮助。\",\n \"manage_billing\": \"请打开账单页面查看当前付款状态和后续步骤。\"\n },\n \"actions\": {\n \"update_payment_method\": \"更新付款方式\",\n \"resubscribe\": \"选择会员\",\n \"authenticate_payment\": \"完成验证\",\n \"contact_support\": \"联系支持\",\n \"manage_billing\": \"查看账单\"\n }\n},\n notifications: {\n \"archived\": \"已归档\",\n \"dismiss\": \"归档\",\n \"restore\": \"恢复到收件箱\",\n \"dismissed\": \"已关闭\",\n \"title\": \"通知\",\n \"filter\": \"通知筛选\",\n \"all\": \"全部\",\n \"unread\": \"未读\",\n \"refresh\": \"刷新通知\",\n \"signInHint\": \"登录后可查看通知。\",\n \"signIn\": \"登录\",\n \"loadFailed\": \"无法加载通知。\",\n \"loading\": \"正在加载通知…\",\n \"empty\": \"暂无通知。\",\n \"emptyUnread\": \"没有未读通知。\",\n \"loadMore\": \"显示更多\",\n \"open\": \"需要处理\",\n \"resolved\": \"已解决\",\n \"markRead\": \"标为已读\",\n \"markUnread\": \"标为未读\",\n \"unreadLabel\": \"通知,有未读内容\"\n },\n\n comments: {\n title: \"评论\",\n count_one: \"{count} 条评论\",\n count_other: \"{count} 条评论\",\n placeholder: \"写评论…\",\n replyPlaceholder: \"写回复…\",\n name: \"名字\",\n namePlaceholder: \"将随评论显示\",\n post: \"发布\",\n posting: \"发布中…\",\n reply: \"回复\",\n replyingTo: \"回复 {name}\",\n empty: \"还没有评论。来发表第一条吧!\",\n unlock: \"解锁以查看评论\",\n loadMore: \"显示更多评论\",\n loading: \"正在加载评论…\",\n loadFailed: \"无法加载评论。\",\n signIn: \"登录后评论\",\n required: \"请先写点内容。\",\n nameRequired: \"请输入名字。\",\n charsLeft_one: \"还剩 {count} 个字符\",\n charsLeft_other: \"还剩 {count} 个字符\",\n submitHint: \"按 {key}+Enter 发布\",\n sort: \"评论排序\",\n newest: \"最新\",\n best: \"最热\",\n showReplies_one: \"显示 {count} 条回复\",\n showReplies_other: \"显示 {count} 条回复\",\n hideReplies: \"隐藏回复\",\n moreReplies: \"显示更多回复\",\n loadingReplies: \"正在加载回复…\",\n anonymous: \"匿名\",\n deleted: \"此评论已删除。\",\n edit: \"编辑\",\n delete: \"删除\",\n actions: \"评论操作\",\n deleteTitle: \"删除这条评论?\",\n deleteBody: \"它会被替换为已删除的提示,回复会保留。\",\n held: \"审核中。在管理员批准前,这条评论只有你能看到。\",\n heldBadge: \"审核中\",\n rejected: \"未发布:{reason}\",\n rejectedNoReason: \"未发布。\",\n rejectedBadge: \"未发布\",\n like: \"赞\",\n dislike: \"踩\",\n showMore: \"展开\",\n showLess: \"收起\",\n restore: \"恢复\",\n closed: \"评论已关闭。\",\n locked: \"你不能在这里评论。\",\n rateLimited: \"你评论得太快了。请在 {seconds} 秒后重试。\",\n rateLimitedSoon: \"你评论得太快了。请稍后重试。\",\n ban: \"禁止评论\",\n unban: \"解除评论禁令\",\n },\n bans: {\n globalNotice: \"你不能在本站评论。\",\n ownerNotice: \"你不能评论这位创作者的内容。\",\n reason: \"原因:{reason}\",\n until: \"截至 {date}。\",\n untilLifted: \"直到解除为止。\",\n title: \"禁止 {name} 评论\",\n ownerHelp: \"适用于你的所有内容。对方已有的评论会保留,仍可点赞、收藏和投票。\",\n globalHelp: \"适用于整个网站。对方已有的评论会保留,仍可点赞、收藏和投票。\",\n scope: \"范围\",\n scopeOwner: \"我的内容\",\n scopeGlobal: \"整个网站\",\n duration: \"时长\",\n day: \"1 天\",\n week: \"7 天\",\n month: \"30 天\",\n forever: \"直到解除\",\n custom: \"截至某个日期\",\n endsAt: \"结束\",\n reasonLabel: \"原因(可选)\",\n reasonPlaceholder: \"会显示给该用户\",\n save: \"禁止\",\n update: \"更新禁令\",\n lift: \"解除禁令\",\n liftTitle: \"解除对 {name} 的禁令?\",\n liftBody: \"如果没有其他禁令,对方可以再次评论。\",\n empty: \"没有禁令。\",\n active: \"生效中\",\n expired: \"已过期\",\n bannedAt: \"于 {date} 禁止\",\n add: \"禁止用户\",\n user: \"用户 ID\",\n userPlaceholder: \"该用户的 ID\",\n loadFailed: \"无法加载禁令。\",\n },\n reactions: {\n like: \"赞\",\n dislike: \"踩\",\n signIn: \"登录后表态\",\n failed: \"你的表态未保存。请重试。\",\n },\n favorites: {\n add: \"加入收藏\",\n remove: \"取消收藏\",\n added: \"已加入收藏。\",\n removed: \"已取消收藏。\",\n signIn: \"登录后收藏\",\n },\n poll: {\n votes_one: \"{count} 票\",\n votes_other: \"{count} 票\",\n yourVote: \"你的投票\",\n closes: \"{date} 截止\",\n closed: \"此投票已结束。\",\n signIn: \"登录后投票\",\n answerPlaceholder: \"你的回答\",\n answer: \"提交回答\",\n updateAnswer: \"更新回答\",\n editAnswer: \"编辑回答\",\n yourAnswer: \"你的回答\",\n answers_one: \"{count} 个回答\",\n answers_other: \"{count} 个回答\",\n loadFailed: \"无法加载此投票。\",\n },\n pollEditor: {\n newTitle: \"新投票\",\n editTitle: \"编辑投票\",\n question: \"问题\",\n questionPlaceholder: \"你想问什么?\",\n language: \"语言\",\n kind: \"类型\",\n multipleChoice: \"选择题\",\n freeText: \"自由回答\",\n freeTextHelp: \"读者写下回答,回答会被自动归类。\",\n liveAt: \"上线时间\",\n closesAt: \"截止时间(可选)\",\n active: \"公开可见\",\n inactive: \"对公众隐藏\",\n image: \"问题图片\",\n options: \"选项\",\n option: \"选项 {index}\",\n addOption: \"添加选项\",\n newOption: \"新选项\",\n removeOption: \"删除选项\",\n removeOptionTitle: \"删除此选项?\",\n removeOptionBody: \"它的票数也会被删除。投票至少保留两个选项。\",\n optionImage: \"选项 {index} 的图片\",\n uploadImage: \"添加图片\",\n replaceImage: \"替换图片\",\n removeImage: \"移除图片\",\n create: \"创建投票\",\n creating: \"创建中…\",\n delete: \"删除投票\",\n deleteTitle: \"删除此投票?\",\n deleteBody: \"票数和图片会被删除,且无法撤销。\",\n saved: \"已保存。\",\n created: \"投票已创建。\",\n imageFailed: \"投票已保存,但有一张图片未上传。请在这里重新添加。\",\n minOptions: \"投票至少需要两个选项。\",\n maxOptions: \"投票最多有 {max} 个选项。\",\n questionRequired: \"请填写问题。\",\n optionRequired: \"每个选项都需要文字。\",\n },\n moderation: {\n title: \"评论管理\",\n all: \"全部评论\",\n queue: \"待审队列\",\n bans: \"禁令\",\n kind: \"内容\",\n allKinds: \"全部内容\",\n on: \"位于\",\n published: \"已发布\",\n held: \"已暂扣\",\n rejected: \"已拒绝\",\n deleted: \"已删除\",\n reply: \"回复\",\n delete: \"删除\",\n restore: \"恢复\",\n approve: \"通过\",\n reject: \"拒绝\",\n rejectReason: \"告知作者的原因(可选)\",\n heldBecause: \"暂扣原因:{reason}\",\n empty: \"没有评论。\",\n queueEmpty: \"没有待审内容。\",\n loadFailed: \"无法加载评论。\",\n stale: \"列出后内容已被编辑,请重新审核。\",\n loadMore: \"显示更多\",\n queueComments: \"评论\",\n queueContent: \"文章\",\n noAccess: \"你没有审核评论的权限。\",\n author: \"作者\",\n authorPlaceholder: \"按用户 ID 筛选\",\n filter: \"筛选\",\n byAuthor: \"{name} 的评论\",\n clearAuthor: \"显示所有人的\",\n theirComments: \"该用户的评论\",\n },\n time: {\n justNow: \"刚刚\",\n },\n contentErrors: {\n forbidden: \"你没有执行此操作的权限。\",\n unauthorized: \"会话已过期。请重新登录。\",\n not_found: \"此内容已不可用。\",\n conflict: \"此内容已在别处更改。请刷新后重试。\",\n comments_locked: \"解锁后即可查看和发表评论。\",\n not_joinable: \"目前无法加入此群组。\",\n rate_limited: \"请求过多。请在 {seconds} 秒后重试。\",\n },\n};\n"],"mappings":"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"}
|
package/dist/react/public.d.ts
CHANGED
|
@@ -39,9 +39,9 @@ export interface UsePublicImage {
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function usePublicImage(item: RefBody, preset: string, o?: PublicImageOptions): UsePublicImage;
|
|
41
41
|
/**
|
|
42
|
-
* A person's avatar
|
|
43
|
-
*
|
|
44
|
-
*
|
|
42
|
+
* A person's avatar. The signed-in viewer reads their current immutable
|
|
43
|
+
* publication and follows upload/crop/removal events. Other accounts keep the
|
|
44
|
+
* stable public URL without one API request per author in a listing.
|
|
45
45
|
*/
|
|
46
46
|
export declare function useAvatar(userId: string | null | undefined, o?: {
|
|
47
47
|
client?: ContentKitClient;
|
package/dist/react/public.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { defaultImage as e, isPattern as t, ruleDir as n, stableImage as r } from "../client/media/rules.js";
|
|
2
|
-
import { useOptionalContentKitClient as i } from "./context.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { useOptionalContentKitClient as i, useReadScope as a } from "./context.js";
|
|
3
|
+
import { useContentScope as o } from "./use-resource.js";
|
|
4
|
+
import { useKinds as s } from "./groups.js";
|
|
5
|
+
import { useMediaRead as c } from "./read.js";
|
|
6
|
+
import { useEffect as l, useMemo as u, useState as d } from "react";
|
|
6
7
|
//#region src/react/public.ts
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
let t = i(e.client), [, n] =
|
|
10
|
-
return
|
|
11
|
-
if (!t ||
|
|
12
|
-
let e = !0, r =
|
|
13
|
-
return r || (r = t.media.presets().then((e) => void
|
|
8
|
+
var f = /* @__PURE__ */ new WeakMap(), p = /* @__PURE__ */ new WeakMap();
|
|
9
|
+
function m(e = {}) {
|
|
10
|
+
let t = i(e.client), [, n] = d(0), r = t ? f.get(t) : void 0;
|
|
11
|
+
return l(() => {
|
|
12
|
+
if (!t || f.has(t)) return;
|
|
13
|
+
let e = !0, r = p.get(t);
|
|
14
|
+
return r || (r = t.media.presets().then((e) => void f.set(t, { presets: e }), (e) => void f.set(t, {
|
|
14
15
|
presets: [],
|
|
15
16
|
error: e
|
|
16
|
-
})).finally(() =>
|
|
17
|
+
})).finally(() => p.delete(t)), p.set(t, r)), r.then(() => e && n((e) => e + 1)), () => {
|
|
17
18
|
e = !1;
|
|
18
19
|
};
|
|
19
20
|
}, [t]), {
|
|
@@ -22,15 +23,15 @@ function f(e = {}) {
|
|
|
22
23
|
error: r?.error
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
|
-
function
|
|
26
|
-
let { kind:
|
|
26
|
+
function h(r, a, o = {}) {
|
|
27
|
+
let { kind: s, id: l, version: d } = r, f = i(o.client), { presets: p, loaded: h } = m({ client: f }), g = p.find((e) => e.kind === s && e.name === a), _ = o.image !== void 0, v = g ? t(g.from) ? n(g.from) : g.from : void 0, y = c(r, {
|
|
27
28
|
prefix: v,
|
|
28
|
-
read: _ || !h ? null :
|
|
29
|
-
client:
|
|
29
|
+
read: _ || !h ? null : o.read,
|
|
30
|
+
client: f
|
|
30
31
|
});
|
|
31
32
|
return {
|
|
32
|
-
...
|
|
33
|
-
let t = _ ?
|
|
33
|
+
...u(() => {
|
|
34
|
+
let t = _ ? o.image : y.read?.public?.find((e) => e.preset === a);
|
|
34
35
|
if (t && t.renditions.length) return {
|
|
35
36
|
image: {
|
|
36
37
|
preset: a,
|
|
@@ -43,7 +44,7 @@ function p(r, a, s = {}) {
|
|
|
43
44
|
image: null,
|
|
44
45
|
isDefault: !1
|
|
45
46
|
};
|
|
46
|
-
let n = g && e(g,
|
|
47
|
+
let n = g && e(g, l, d);
|
|
47
48
|
return n ? {
|
|
48
49
|
image: n,
|
|
49
50
|
isDefault: !0
|
|
@@ -53,11 +54,11 @@ function p(r, a, s = {}) {
|
|
|
53
54
|
};
|
|
54
55
|
}, [
|
|
55
56
|
_,
|
|
56
|
-
|
|
57
|
+
o.image,
|
|
57
58
|
y.read,
|
|
58
59
|
a,
|
|
59
60
|
g,
|
|
60
|
-
|
|
61
|
+
l,
|
|
61
62
|
d
|
|
62
63
|
]),
|
|
63
64
|
rule: g,
|
|
@@ -66,11 +67,49 @@ function p(r, a, s = {}) {
|
|
|
66
67
|
reload: y.reload
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
|
-
function
|
|
70
|
-
let {
|
|
71
|
-
|
|
70
|
+
function g(e, i = {}) {
|
|
71
|
+
let { client: f, viewer: p } = o(i.client), m = a(), { kinds: h } = s({ client: f }), g = h?.avatars, _ = !!g && !!e && e === p, v = g ? t(g.from) ? n(g.from) : g.from : void 0, y = c({
|
|
72
|
+
kind: g?.kind ?? "",
|
|
73
|
+
id: e ?? ""
|
|
74
|
+
}, {
|
|
75
|
+
client: f,
|
|
76
|
+
prefix: v,
|
|
77
|
+
read: _ ? void 0 : null
|
|
78
|
+
}), [b, x] = d(null);
|
|
79
|
+
!_ && b && x(null), _ && y.read && (b?.read !== y.read || b.client !== f || b.scope !== m || b.id !== e) && x({
|
|
80
|
+
client: f,
|
|
81
|
+
scope: m,
|
|
82
|
+
id: e,
|
|
83
|
+
read: y.read
|
|
84
|
+
});
|
|
85
|
+
let S = y.error && (y.error.transient || y.error.status >= 500);
|
|
86
|
+
_ && y.error && !S && b && x(null);
|
|
87
|
+
let { refresh: C } = y, w = y.read ?? (_ && (y.loading || S) && b?.client === f && b.scope === m && b.id === e ? b.read : null);
|
|
88
|
+
return l(() => {
|
|
89
|
+
if (!_) return;
|
|
90
|
+
let e = () => {
|
|
91
|
+
document.visibilityState === "visible" && C();
|
|
92
|
+
};
|
|
93
|
+
return window.addEventListener("focus", C), document.addEventListener("visibilitychange", e), () => {
|
|
94
|
+
window.removeEventListener("focus", C), document.removeEventListener("visibilitychange", e);
|
|
95
|
+
};
|
|
96
|
+
}, [_, C]), u(() => {
|
|
97
|
+
if (!g || !e) return null;
|
|
98
|
+
if (!_) return r(g, e);
|
|
99
|
+
let t = w?.public?.find((e) => e.preset === g.name);
|
|
100
|
+
return t?.renditions.length ? {
|
|
101
|
+
preset: g.name,
|
|
102
|
+
aspect: g.aspect,
|
|
103
|
+
renditions: t.renditions
|
|
104
|
+
} : null;
|
|
105
|
+
}, [
|
|
106
|
+
g,
|
|
107
|
+
e,
|
|
108
|
+
_,
|
|
109
|
+
w
|
|
110
|
+
]);
|
|
72
111
|
}
|
|
73
112
|
//#endregion
|
|
74
|
-
export {
|
|
113
|
+
export { g as useAvatar, m as usePresets, h as usePublicImage };
|
|
75
114
|
|
|
76
115
|
//# sourceMappingURL=public.js.map
|
package/dist/react/public.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.js","names":[],"sources":["../../src/react/public.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport type { ContentKitClient } from \"../client/client.js\";\nimport type { ContentKitError } from \"../client/errors.js\";\nimport type { ReadResult, RefBody } from \"../client/generated/wire.js\";\nimport type { PresetRule } from \"../client/generated/wire.js\";\nimport { defaultImage, isPattern, ruleDir, stableImage } from \"../client/media/rules.js\";\nimport type { PublicPreset } from \"../client/public.js\";\nimport { useOptionalContentKitClient } from \"./context.js\";\nimport { useKinds } from \"./groups.js\";\nimport { useMediaRead } from \"./read.js\";\n\nexport interface UsePresets {\n /** Every kind's public presets; empty until they load (or when the server has none). */\n presets: PresetRule[];\n loaded: boolean;\n error?: ContentKitError;\n}\n\nconst settled = new WeakMap<ContentKitClient, { presets: PresetRule[]; error?: ContentKitError }>();\nconst inflight = new WeakMap<ContentKitClient, Promise<void>>();\n\n/** The public presets (`GET /media/presets`), fetched once per client. */\nexport function usePresets(o: { client?: ContentKitClient | null } = {}): UsePresets {\n const client = useOptionalContentKitClient(o.client);\n const [, rerender] = useState(0);\n const done = client ? settled.get(client) : undefined;\n useEffect(() => {\n if (!client || settled.has(client)) return;\n let live = true;\n let load = inflight.get(client);\n if (!load) {\n load = client.media.presets().then(\n (presets) => void settled.set(client, { presets }),\n (error: ContentKitError) => void settled.set(client, { presets: [], error }),\n ).finally(() => inflight.delete(client));\n inflight.set(client, load);\n }\n void load.then(() => live && rerender((n) => n + 1));\n return () => {\n live = false;\n };\n }, [client]);\n return { presets: done?.presets ?? [], loaded: !!done || !client, error: done?.error };\n}\n\nexport interface PublicImageOptions {\n /** The host's listing of the item's image (its API's): shown without a read. */\n image?: PublicPreset | null;\n /** A read of the item the host already has. */\n read?: ReadResult | null;\n /** Overrides the provider's client. */\n client?: ContentKitClient | null;\n}\n\nexport interface UsePublicImage {\n /** The item's current renditions; else the kind's default image (when the preset has one); null while unknown or when there is neither. */\n image: PublicPreset | null;\n /** The preset's rules (aspect, widths, min_width) once the presets load. */\n rule?: PresetRule;\n /** image is the kind's default, not the item's own. */\n isDefault: boolean;\n loading: boolean;\n error?: ContentKitError;\n reload: () => void;\n}\n\n/**\n * An item's public image for a preset (\"avatar\", \"cover\", a version's\n * \"poster\"): the exact renditions from a read's `public` (or the host's\n * listing), else the kind's default image, else none. Reads refresh after\n * commits through the same client.\n */\nexport function usePublicImage(item: RefBody, preset: string, o: PublicImageOptions = {}): UsePublicImage {\n const { kind, id, version } = item;\n const client = useOptionalContentKitClient(o.client);\n const { presets, loaded } = usePresets({ client });\n const rule = presets.find((p) => p.kind === kind && p.name === preset);\n const listed = o.image !== undefined;\n // The read waits for the presets, so it lists only the preset's upload.\n const prefix = rule ? (isPattern(rule.from) ? ruleDir(rule.from) : rule.from) : undefined;\n const r = useMediaRead(item, { prefix, read: listed || !loaded ? null : o.read, client });\n const image = useMemo((): { image: PublicPreset | null; isDefault: boolean } => {\n const own = listed ? o.image : r.read?.public?.find((p) => p.preset === preset);\n if (own && own.renditions.length) return { image: { preset, renditions: own.renditions, aspect: (\"aspect\" in own && own.aspect) || rule?.aspect }, isDefault: false };\n if (!listed && !r.read) return { image: null, isDefault: false };\n const def = rule && defaultImage(rule, id, version);\n return def ? { image: def, isDefault: true } : { image: null, isDefault: false };\n }, [listed, o.image, r.read, preset, rule, id, version]);\n return { ...image, rule, loading: !loaded || r.loading, error: r.error, reload: r.reload };\n}\n\n/**\n * A person's avatar
|
|
1
|
+
{"version":3,"file":"public.js","names":[],"sources":["../../src/react/public.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport type { ContentKitClient } from \"../client/client.js\";\nimport type { ContentKitError } from \"../client/errors.js\";\nimport type { ReadResult, RefBody } from \"../client/generated/wire.js\";\nimport type { PresetRule } from \"../client/generated/wire.js\";\nimport { defaultImage, isPattern, ruleDir, stableImage } from \"../client/media/rules.js\";\nimport type { PublicPreset } from \"../client/public.js\";\nimport { useOptionalContentKitClient, useReadScope } from \"./context.js\";\nimport { useKinds } from \"./groups.js\";\nimport { useMediaRead } from \"./read.js\";\nimport { useContentScope } from \"./use-resource.js\";\n\nexport interface UsePresets {\n /** Every kind's public presets; empty until they load (or when the server has none). */\n presets: PresetRule[];\n loaded: boolean;\n error?: ContentKitError;\n}\n\nconst settled = new WeakMap<ContentKitClient, { presets: PresetRule[]; error?: ContentKitError }>();\nconst inflight = new WeakMap<ContentKitClient, Promise<void>>();\n\n/** The public presets (`GET /media/presets`), fetched once per client. */\nexport function usePresets(o: { client?: ContentKitClient | null } = {}): UsePresets {\n const client = useOptionalContentKitClient(o.client);\n const [, rerender] = useState(0);\n const done = client ? settled.get(client) : undefined;\n useEffect(() => {\n if (!client || settled.has(client)) return;\n let live = true;\n let load = inflight.get(client);\n if (!load) {\n load = client.media.presets().then(\n (presets) => void settled.set(client, { presets }),\n (error: ContentKitError) => void settled.set(client, { presets: [], error }),\n ).finally(() => inflight.delete(client));\n inflight.set(client, load);\n }\n void load.then(() => live && rerender((n) => n + 1));\n return () => {\n live = false;\n };\n }, [client]);\n return { presets: done?.presets ?? [], loaded: !!done || !client, error: done?.error };\n}\n\nexport interface PublicImageOptions {\n /** The host's listing of the item's image (its API's): shown without a read. */\n image?: PublicPreset | null;\n /** A read of the item the host already has. */\n read?: ReadResult | null;\n /** Overrides the provider's client. */\n client?: ContentKitClient | null;\n}\n\nexport interface UsePublicImage {\n /** The item's current renditions; else the kind's default image (when the preset has one); null while unknown or when there is neither. */\n image: PublicPreset | null;\n /** The preset's rules (aspect, widths, min_width) once the presets load. */\n rule?: PresetRule;\n /** image is the kind's default, not the item's own. */\n isDefault: boolean;\n loading: boolean;\n error?: ContentKitError;\n reload: () => void;\n}\n\n/**\n * An item's public image for a preset (\"avatar\", \"cover\", a version's\n * \"poster\"): the exact renditions from a read's `public` (or the host's\n * listing), else the kind's default image, else none. Reads refresh after\n * commits through the same client.\n */\nexport function usePublicImage(item: RefBody, preset: string, o: PublicImageOptions = {}): UsePublicImage {\n const { kind, id, version } = item;\n const client = useOptionalContentKitClient(o.client);\n const { presets, loaded } = usePresets({ client });\n const rule = presets.find((p) => p.kind === kind && p.name === preset);\n const listed = o.image !== undefined;\n // The read waits for the presets, so it lists only the preset's upload.\n const prefix = rule ? (isPattern(rule.from) ? ruleDir(rule.from) : rule.from) : undefined;\n const r = useMediaRead(item, { prefix, read: listed || !loaded ? null : o.read, client });\n const image = useMemo((): { image: PublicPreset | null; isDefault: boolean } => {\n const own = listed ? o.image : r.read?.public?.find((p) => p.preset === preset);\n if (own && own.renditions.length) return { image: { preset, renditions: own.renditions, aspect: (\"aspect\" in own && own.aspect) || rule?.aspect }, isDefault: false };\n if (!listed && !r.read) return { image: null, isDefault: false };\n const def = rule && defaultImage(rule, id, version);\n return def ? { image: def, isDefault: true } : { image: null, isDefault: false };\n }, [listed, o.image, r.read, preset, rule, id, version]);\n return { ...image, rule, loading: !loaded || r.loading, error: r.error, reload: r.reload };\n}\n\n/**\n * A person's avatar. The signed-in viewer reads their current immutable\n * publication and follows upload/crop/removal events. Other accounts keep the\n * stable public URL without one API request per author in a listing.\n */\nexport function useAvatar(userId: string | null | undefined, o: { client?: ContentKitClient } = {}): PublicPreset | null {\n const { client, viewer } = useContentScope(o.client);\n const scope = useReadScope();\n const { kinds } = useKinds({ client });\n const rule = kinds?.avatars;\n const own = !!rule && !!userId && userId === viewer;\n const prefix = rule ? (isPattern(rule.from) ? ruleDir(rule.from) : rule.from) : undefined;\n const current = useMediaRead({ kind: rule?.kind ?? \"\", id: userId ?? \"\" }, { client, prefix, read: own ? undefined : null });\n const [last, setLast] = useState<{ client: ContentKitClient; scope: string; id: string; read: ReadResult } | null>(null);\n if (!own && last) setLast(null);\n if (own && current.read && (last?.read !== current.read || last.client !== client || last.scope !== scope || last.id !== userId)) {\n setLast({ client, scope, id: userId!, read: current.read });\n }\n const transient = current.error && (current.error.transient || current.error.status >= 500);\n if (own && current.error && !transient && last) setLast(null);\n const { refresh } = current;\n const read = current.read ?? (own && (current.loading || transient) && last?.client === client && last.scope === scope && last.id === userId ? last.read : null);\n\n\n // Another app can change the shared avatar while this tab is inactive.\n // The read store deduplicates refreshes from multiple consumers.\n useEffect(() => {\n if (!own) return;\n const visible = () => { if (document.visibilityState === \"visible\") refresh(); };\n window.addEventListener(\"focus\", refresh);\n document.addEventListener(\"visibilitychange\", visible);\n return () => {\n window.removeEventListener(\"focus\", refresh);\n document.removeEventListener(\"visibilitychange\", visible);\n };\n }, [own, refresh]);\n\n return useMemo(() => {\n if (!rule || !userId) return null;\n if (!own) return stableImage(rule, userId);\n const publication = read?.public?.find((p) => p.preset === rule.name);\n return publication?.renditions.length ? { preset: rule.name, aspect: rule.aspect, renditions: publication.renditions } : null;\n }, [rule, userId, own, read]);\n}\n"],"mappings":"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"}
|