Add adult verification and erotic moderation features: Implement new routes and controller methods for managing adult verification requests, status updates, and document retrieval. Introduce erotic moderation actions and reports, enhancing administrative capabilities. Update chat and navigation controllers to support adult content filtering and access control. Enhance user parameter handling for adult verification status and requests, improving overall user experience and compliance.

This commit is contained in:
Torsten Schulz (local)
2026-03-27 09:14:54 +01:00
parent f93687c753
commit 3e6c09ab29
73 changed files with 4459 additions and 197 deletions

View File

@@ -30,6 +30,86 @@
"actions": "Aktionen",
"search": "Suchen"
},
"adultVerification": {
"title": "[Admin] - Erotik-Freigaben",
"intro": "Volljährige Nutzer können den Erotikbereich beantragen. Hier werden Anfragen geprüft und freigegeben oder abgelehnt.",
"username": "Benutzer",
"age": "Alter",
"statusLabel": "Status",
"requestLabel": "Nachweis",
"actions": "Aktionen",
"approve": "Freigeben",
"reject": "Ablehnen",
"resetPending": "Auf Prüfung setzen",
"openDocument": "Dokument ansehen",
"empty": "Keine passenden Anfragen gefunden.",
"loadError": "Die Freigaben konnten nicht geladen werden.",
"updateError": "Der Status konnte nicht geändert werden.",
"documentError": "Das Dokument konnte nicht geöffnet werden.",
"filters": {
"pending": "Offen",
"approved": "Freigegeben",
"rejected": "Abgelehnt",
"all": "Alle"
},
"status": {
"none": "Nicht angefragt",
"pending": "In Prüfung",
"approved": "Freigegeben",
"rejected": "Abgelehnt"
},
"messages": {
"approved": "Freigabe erteilt.",
"rejected": "Freigabe abgelehnt.",
"pending": "Anfrage wieder auf Prüfung gesetzt."
}
},
"eroticModeration": {
"title": "[Admin] - Erotik-Moderation",
"intro": "Gemeldete Erotikbilder und -videos können hier geprüft, verborgen, gelöscht oder gegen den Account eskaliert werden.",
"empty": "Keine passenden Meldungen gefunden.",
"loadError": "Die Meldungen konnten nicht geladen werden.",
"actionError": "Die Moderationsaktion konnte nicht ausgeführt werden.",
"actionSuccess": "Die Moderationsaktion wurde gespeichert.",
"target": "Ziel",
"owner": "Besitzer",
"reporter": "Meldender",
"reason": "Grund",
"statusLabel": "Status",
"meta": "Zeit / Maßnahme",
"actions": "Aktionen",
"image": "Bild",
"video": "Video",
"hidden": "Verborgen",
"preview": "Vorschau",
"previewError": "Die Vorschau konnte nicht geladen werden.",
"dismiss": "Zurückweisen",
"hide": "Verbergen",
"restore": "Wieder freigeben",
"delete": "Löschen",
"blockUploads": "Uploads sperren",
"revokeAccess": "Erotikzugang entziehen",
"notePrompt": "Notiz zur Moderationsentscheidung",
"actionLabels": {
"dismiss": "Zurückgewiesen",
"hide_content": "Verborgen",
"restore_content": "Freigegeben",
"delete_content": "Gelöscht",
"block_uploads": "Uploads gesperrt",
"revoke_access": "Zugang entzogen"
},
"filters": {
"open": "Offen",
"actioned": "Bearbeitet",
"dismissed": "Zurückgewiesen",
"all": "Alle"
},
"status": {
"open": "Offen",
"actioned": "Bearbeitet",
"dismissed": "Zurückgewiesen"
}
},
"rights": {
"add": "Recht hinzufügen",
"select": "Bitte wählen",
@@ -151,6 +231,7 @@
"edit": "Chatraum bearbeiten",
"type": "Typ",
"isPublic": "Öffentlich sichtbar",
"isAdultOnly": "Nur Erotikbereich",
"actions": "Aktionen",
"genderRestriction": {
"show": "Geschlechtsbeschränkung aktivieren",
@@ -346,4 +427,4 @@
}
}
}
}
}

View File

@@ -2,6 +2,7 @@
"chat": {
"multichat": {
"title": "Multi-Chat",
"eroticTitle": "Erotikchat",
"autoscroll": "Automatisch scrollen",
"options": "Optionen",
"send": "Senden",
@@ -155,4 +156,4 @@
"selfstopped": "Du hast das Gespräch verlassen."
}
}
}
}

View File

@@ -415,7 +415,8 @@
"collapse": "Erträge ausblenden",
"knowledge": "Produktwissen",
"profitAbsolute": "Gesamtgewinn",
"profitPerMinute": "Gewinn pro Minute"
"profitPerMinute": "Gewinn pro Minute",
"betterPrices": "Bessere Preise"
},
"storage": {
"title": "Lager",

View File

@@ -70,6 +70,8 @@
"userrights": "Benutzerrechte",
"m-users": {
"userlist": "Benutzerliste",
"adultverification": "Erotik-Freigaben",
"eroticmoderation": "Erotik-Moderation",
"userstatistics": "Benutzerstatistiken",
"userrights": "Benutzerrechte"
},
@@ -115,4 +117,4 @@
}
}
}

View File

@@ -148,7 +148,34 @@
"language": "Sprache",
"showinsearch": "In Usersuchen anzeigen",
"changeaction": "Benutzerdaten ändern",
"oldpassword": "Altes Passwort (benötigt)"
"oldpassword": "Altes Passwort (benötigt)",
"adultAccessTitle": "Erotikbereich",
"adultAccessIntro": "Der Erotikbereich ist nur für volljährige Nutzer gedacht und wird zusätzlich durch Moderatoren freigeschaltet.",
"requestAdultVerification": "Freischaltung anfragen",
"requestAdultVerificationSuccess": "Die Freischaltung wurde angefragt.",
"requestAdultVerificationError": "Die Freischaltung konnte nicht angefragt werden.",
"adultStatus": {
"ineligible": {
"title": "Nicht verfügbar",
"body": "Der Erotikbereich ist nur für volljährige Nutzer sichtbar."
},
"none": {
"title": "Noch nicht freigeschaltet",
"body": "Der Bereich ist sichtbar, aber bis zur Prüfung durch einen Moderator gesperrt."
},
"pending": {
"title": "Prüfung läuft",
"body": "Deine Anfrage liegt zur Moderationsprüfung vor. Bis zur Freigabe bleibt der Bereich gesperrt."
},
"approved": {
"title": "Freigeschaltet",
"body": "Der Erotikbereich ist für deinen Account freigeschaltet."
},
"rejected": {
"title": "Freischaltung abgelehnt",
"body": "Die letzte Anfrage wurde nicht freigegeben. Du kannst eine neue Anfrage stellen."
}
}
},
"languageAssistant": {
"eyebrow": "Einstellungen",

View File

@@ -248,8 +248,72 @@
"withdrawn": "Du hast Deine Freundschaftsanfrage zurückgezogen.",
"denied": "Du hast die Freundschaftsanfrage abgelehnt.",
"accepted": "Die Freundschaft wurde geschlossen."
}
,
},
"erotic": {
"eyebrow": "Erotik",
"accessTitle": "Freischaltung für den Erotikbereich",
"accessIntro": "Bilder, Videos und später auch Chatbereiche werden ab 18 angezeigt, aber erst nach Moderationsfreigabe nutzbar.",
"lockedShort": "Dieser Bereich wird erst nach Moderatorfreigabe nutzbar.",
"requestVerification": "Freischaltung anfragen",
"requestSent": "Die Freischaltung wurde angefragt.",
"requestError": "Die Freischaltung konnte nicht angefragt werden.",
"requestInfoTitle": "Eingereichter Nachweis",
"documentLabel": "Nachweisdatei",
"noteLabel": "Kurze Notiz für die Moderation",
"settingsLink": "Account-Einstellungen öffnen",
"picturesTitle": "Erotikbilder",
"picturesIntro": "Eigene Inhalte bleiben strikt vom normalen Galeriebereich getrennt. Hier verwaltest du nur Bilder für den freigeschalteten Erotikbereich.",
"uploadTitle": "Erotikbild hochladen",
"noimages": "In diesem Erotikordner befinden sich zur Zeit keine Bilder.",
"videosTitle": "Erotikvideos",
"videosIntro": "Eigene Videos werden getrennt vom normalen Social-Bereich verwaltet. Diese erste Version konzentriert sich auf Upload, Liste und Wiedergabe.",
"videoUploadTitle": "Erotikvideo hochladen",
"videoUploadHint": "Die erste Ausbaustufe speichert Videos direkt und verzichtet noch auf Transcoding oder Streamingprofile.",
"videoDescription": "Beschreibung",
"videoFile": "Videodatei",
"myVideos": "Meine Videos",
"noVideos": "Du hast noch keine Erotikvideos hochgeladen.",
"reportAction": "Melden",
"reportNote": "Kurze Notiz für die Moderation",
"submitReport": "Meldung absenden",
"reportSubmitted": "Die Meldung wurde aufgenommen.",
"reportError": "Die Meldung konnte nicht gespeichert werden.",
"moderationHidden": "Von Moderation verborgen",
"hiddenByModeration": "Dieser Inhalt wurde vorläufig durch die Moderation verborgen.",
"reportReasons": {
"suspected_minor": "Verdacht auf Minderjährigkeit",
"non_consensual": "Nicht einvernehmlicher Inhalt",
"violence": "Gewalt oder Missbrauch",
"harassment": "Belästigung oder Druck",
"spam": "Spam oder Scam",
"other": "Sonstiges"
},
"intro": "Der Bereich ist freigeschaltet. Die eigentlichen Bilder- und Videomodule folgen im nächsten Schritt.",
"enabledTitle": "Zugang freigeschaltet",
"enabledBody": "Dein Account ist für den Erotikbereich freigegeben. Hier entsteht jetzt die getrennte Bilder- und Videoansicht.",
"roadmapTitle": "Als Nächstes",
"roadmapModeration": "getrennte Moderation und Meldewege",
"roadmapUpload": "eigene Upload- und Verwaltungsansichten",
"roadmapSeparation": "saubere Trennung von normaler Galerie und Erotikbereich",
"status": {
"none": {
"title": "Noch nicht freigeschaltet",
"body": "Der Bereich ist sichtbar, bleibt aber bis zur Moderatorfreigabe gesperrt."
},
"pending": {
"title": "Prüfung läuft",
"body": "Deine Anfrage liegt zur Moderationsprüfung vor."
},
"approved": {
"title": "Freigeschaltet",
"body": "Der Erotikbereich ist für deinen Account bereits freigeschaltet."
},
"rejected": {
"title": "Freischaltung abgelehnt",
"body": "Die letzte Anfrage wurde abgelehnt. Du kannst eine neue Anfrage stellen."
}
}
},
"vocab": {
"title": "Vokabeltrainer",
"description": "Lege Sprachen an (oder abonniere sie) und teile sie mit Freunden.",

View File

@@ -30,6 +30,86 @@
"actions": "Actions",
"search": "Search"
},
"adultVerification": {
"title": "[Admin] - Erotic approvals",
"intro": "Adult users can request access to the erotic area. Requests can be reviewed, approved or rejected here.",
"username": "User",
"age": "Age",
"statusLabel": "Status",
"requestLabel": "Proof",
"actions": "Actions",
"approve": "Approve",
"reject": "Reject",
"resetPending": "Set pending",
"openDocument": "Open document",
"empty": "No matching requests found.",
"loadError": "Could not load approvals.",
"updateError": "Could not update the status.",
"documentError": "Could not open the document.",
"filters": {
"pending": "Pending",
"approved": "Approved",
"rejected": "Rejected",
"all": "All"
},
"status": {
"none": "Not requested",
"pending": "Pending",
"approved": "Approved",
"rejected": "Rejected"
},
"messages": {
"approved": "Approval granted.",
"rejected": "Approval rejected.",
"pending": "Request set back to pending."
}
},
"eroticModeration": {
"title": "[Admin] - Erotic moderation",
"intro": "Reported erotic pictures and videos can be reviewed, hidden, deleted, or escalated against the account here.",
"empty": "No matching reports found.",
"loadError": "The reports could not be loaded.",
"actionError": "The moderation action could not be completed.",
"actionSuccess": "The moderation action was saved.",
"target": "Target",
"owner": "Owner",
"reporter": "Reporter",
"reason": "Reason",
"statusLabel": "Status",
"meta": "Time / action",
"actions": "Actions",
"image": "Image",
"video": "Video",
"hidden": "Hidden",
"preview": "Preview",
"previewError": "The preview could not be loaded.",
"dismiss": "Dismiss",
"hide": "Hide",
"restore": "Restore",
"delete": "Delete",
"blockUploads": "Block uploads",
"revokeAccess": "Revoke erotic access",
"notePrompt": "Note for this moderation action",
"actionLabels": {
"dismiss": "Dismissed",
"hide_content": "Hidden",
"restore_content": "Restored",
"delete_content": "Deleted",
"block_uploads": "Uploads blocked",
"revoke_access": "Access revoked"
},
"filters": {
"open": "Open",
"actioned": "Actioned",
"dismissed": "Dismissed",
"all": "All"
},
"status": {
"open": "Open",
"actioned": "Actioned",
"dismissed": "Dismissed"
}
},
"rights": {
"add": "Add right",
"select": "Please select",
@@ -178,6 +258,7 @@
"edit": "Edit Chat Room",
"type": "Type",
"isPublic": "Publicly Visible",
"isAdultOnly": "Erotic area only",
"actions": "Actions",
"genderRestriction": {
"show": "Enable Gender Restriction",
@@ -318,4 +399,4 @@
}
}
}
}
}

View File

@@ -2,6 +2,7 @@
"chat": {
"multichat": {
"title": "Multi Chat",
"eroticTitle": "Erotic chat",
"autoscroll": "Auto scroll",
"options": "Options",
"send": "Send",
@@ -155,4 +156,4 @@
"selfstopped": "You left the conversation."
}
}
}
}

View File

@@ -374,6 +374,27 @@
"active": "Active",
"noProductions": "No running productions."
},
"columns": {
"city": "City",
"type": "Type"
},
"types": {
"production": "Production",
"store": "Sales",
"fullstack": "Production with sales"
},
"revenue": {
"title": "Product revenue",
"product": "Product",
"absolute": "Revenue (absolute)",
"perMinute": "Revenue per minute",
"expand": "Show revenue",
"collapse": "Hide revenue",
"knowledge": "Product knowledge",
"profitAbsolute": "Total profit",
"profitPerMinute": "Profit per minute",
"betterPrices": "Better prices elsewhere"
},
"vehicles": {
"cargo_cart": "Cargo cart",
"ox_cart": "Ox cart",

View File

@@ -70,6 +70,8 @@
"userrights": "User rights",
"m-users": {
"userlist": "User list",
"adultverification": "Erotic approvals",
"eroticmoderation": "Erotic moderation",
"userstatistics": "User statistics",
"userrights": "User rights"
},
@@ -114,4 +116,4 @@
"church": "Church"
}
}
}
}

View File

@@ -148,7 +148,34 @@
"language": "Language",
"showinsearch": "Show in User Search",
"changeaction": "Change User Data",
"oldpassword": "Old Password (required)"
"oldpassword": "Old Password (required)",
"adultAccessTitle": "Erotic area",
"adultAccessIntro": "The erotic area is intended only for adult users and also requires moderator approval.",
"requestAdultVerification": "Request access",
"requestAdultVerificationSuccess": "Access request submitted.",
"requestAdultVerificationError": "Access request could not be submitted.",
"adultStatus": {
"ineligible": {
"title": "Not available",
"body": "The erotic area is only visible to adult users."
},
"none": {
"title": "Not unlocked yet",
"body": "The area is visible, but it stays locked until a moderator approves it."
},
"pending": {
"title": "Review pending",
"body": "Your request is waiting for moderation review. The area stays locked until then."
},
"approved": {
"title": "Unlocked",
"body": "The erotic area is enabled for your account."
},
"rejected": {
"title": "Request denied",
"body": "The last request was not approved. You can submit a new request."
}
}
},
"languageAssistant": {
"eyebrow": "Settings",

View File

@@ -248,8 +248,72 @@
"withdrawn": "You have withdrawn your friendship request.",
"denied": "You have denied the friendship request.",
"accepted": "The friendship has been established."
}
,
},
"erotic": {
"eyebrow": "Erotic",
"accessTitle": "Unlock the erotic area",
"accessIntro": "Pictures, videos and later chat areas are visible from age 18, but only usable after moderator approval.",
"lockedShort": "This area becomes usable only after moderator approval.",
"requestVerification": "Request access",
"requestSent": "The access request has been submitted.",
"requestError": "The access request could not be submitted.",
"requestInfoTitle": "Submitted proof",
"documentLabel": "Verification document",
"noteLabel": "Short note for moderation",
"settingsLink": "Open account settings",
"picturesTitle": "Erotic pictures",
"picturesIntro": "Your content stays strictly separate from the normal gallery. Manage only images for the unlocked erotic area here.",
"uploadTitle": "Upload erotic picture",
"noimages": "There are currently no pictures in this erotic folder.",
"videosTitle": "Erotic videos",
"videosIntro": "Your own videos are managed separately from the normal social area. This first version focuses on upload, list and playback.",
"videoUploadTitle": "Upload erotic video",
"videoUploadHint": "The first rollout stores videos directly and intentionally skips transcoding or streaming profiles for now.",
"videoDescription": "Description",
"videoFile": "Video file",
"myVideos": "My videos",
"noVideos": "You have not uploaded any erotic videos yet.",
"reportAction": "Report",
"reportNote": "Short note for moderation",
"submitReport": "Submit report",
"reportSubmitted": "The report has been submitted.",
"reportError": "The report could not be saved.",
"moderationHidden": "Hidden by moderation",
"hiddenByModeration": "This content has been temporarily hidden by moderation.",
"reportReasons": {
"suspected_minor": "Suspected minor",
"non_consensual": "Non-consensual content",
"violence": "Violence or abuse",
"harassment": "Harassment or pressure",
"spam": "Spam or scam",
"other": "Other"
},
"intro": "The area is unlocked. The actual picture and video modules follow in the next step.",
"enabledTitle": "Access unlocked",
"enabledBody": "Your account is enabled for the erotic area. The separate picture and video views are built next.",
"roadmapTitle": "Next up",
"roadmapModeration": "separate moderation and reporting paths",
"roadmapUpload": "dedicated upload and management views",
"roadmapSeparation": "clear separation from the normal gallery",
"status": {
"none": {
"title": "Not unlocked yet",
"body": "The area is visible, but stays locked until moderator approval."
},
"pending": {
"title": "Review pending",
"body": "Your request is waiting for moderation review."
},
"approved": {
"title": "Unlocked",
"body": "The erotic area is already unlocked for your account."
},
"rejected": {
"title": "Request denied",
"body": "The last request was denied. You can submit a new request."
}
}
},
"vocab": {
"title": "Vocabulary trainer",
"description": "Create languages (or subscribe to them) and share them with friends.",

View File

@@ -30,6 +30,86 @@
"actions": "Acciones",
"search": "Buscar"
},
"adultVerification": {
"title": "[Admin] - Aprobaciones eróticas",
"intro": "Los usuarios adultos pueden solicitar acceso al área erótica. Aquí se revisan, aprueban o rechazan las solicitudes.",
"username": "Usuario",
"age": "Edad",
"statusLabel": "Estado",
"requestLabel": "Prueba",
"actions": "Acciones",
"approve": "Aprobar",
"reject": "Rechazar",
"resetPending": "Poner en revisión",
"openDocument": "Abrir documento",
"empty": "No se han encontrado solicitudes.",
"loadError": "No se pudieron cargar las aprobaciones.",
"updateError": "No se pudo actualizar el estado.",
"documentError": "No se pudo abrir el documento.",
"filters": {
"pending": "Pendientes",
"approved": "Aprobadas",
"rejected": "Rechazadas",
"all": "Todas"
},
"status": {
"none": "No solicitada",
"pending": "En revisión",
"approved": "Aprobada",
"rejected": "Rechazada"
},
"messages": {
"approved": "Aprobación concedida.",
"rejected": "Aprobación rechazada.",
"pending": "La solicitud se ha vuelto a poner en revisión."
}
},
"eroticModeration": {
"title": "[Admin] - Moderación erótica",
"intro": "Aquí se pueden revisar, ocultar, eliminar o escalar imágenes y vídeos eróticos denunciados.",
"empty": "No se encontraron denuncias.",
"loadError": "No se pudieron cargar las denuncias.",
"actionError": "No se pudo ejecutar la acción de moderación.",
"actionSuccess": "La acción de moderación fue guardada.",
"target": "Objetivo",
"owner": "Propietario",
"reporter": "Denunciante",
"reason": "Motivo",
"statusLabel": "Estado",
"meta": "Hora / acción",
"actions": "Acciones",
"image": "Imagen",
"video": "Vídeo",
"hidden": "Oculto",
"preview": "Vista previa",
"previewError": "No se pudo cargar la vista previa.",
"dismiss": "Descartar",
"hide": "Ocultar",
"restore": "Restaurar",
"delete": "Eliminar",
"blockUploads": "Bloquear subidas",
"revokeAccess": "Retirar acceso erótico",
"notePrompt": "Nota para esta decisión de moderación",
"actionLabels": {
"dismiss": "Descartado",
"hide_content": "Oculto",
"restore_content": "Restaurado",
"delete_content": "Eliminado",
"block_uploads": "Subidas bloqueadas",
"revoke_access": "Acceso retirado"
},
"filters": {
"open": "Abierto",
"actioned": "Procesado",
"dismissed": "Descartado",
"all": "Todos"
},
"status": {
"open": "Abierto",
"actioned": "Procesado",
"dismissed": "Descartado"
}
},
"rights": {
"add": "Añadir permiso",
"select": "Por favor, selecciona",
@@ -151,6 +231,7 @@
"edit": "Editar sala de chat",
"type": "Typ",
"isPublic": "Visible públicamente",
"isAdultOnly": "Solo área erótica",
"actions": "Acciones",
"genderRestriction": {
"show": "Activar restricción de género",

View File

@@ -2,6 +2,7 @@
"chat": {
"multichat": {
"title": "Multi-Chat",
"eroticTitle": "Chat erótico",
"autoscroll": "Desplazamiento automático",
"options": "Opciones",
"send": "Enviar",

View File

@@ -400,7 +400,8 @@
"collapse": "Ocultar ingresos",
"knowledge": "Conocimiento del producto",
"profitAbsolute": "Beneficio total",
"profitPerMinute": "Beneficio por minuto"
"profitPerMinute": "Beneficio por minuto",
"betterPrices": "Mejores precios"
},
"storage": {
"title": "Almacén",

View File

@@ -70,6 +70,8 @@
"userrights": "Permisos de usuario",
"m-users": {
"userlist": "Lista de usuarios",
"adultverification": "Aprobaciones eróticas",
"eroticmoderation": "Moderación erótica",
"userstatistics": "Estadísticas de usuarios",
"userrights": "Permisos de usuario"
},

View File

@@ -148,7 +148,34 @@
"language": "Idioma",
"showinsearch": "Mostrar en búsquedas de usuarios",
"changeaction": "Actualizar datos de usuario",
"oldpassword": "Contraseña anterior (obligatoria)"
"oldpassword": "Contraseña anterior (obligatoria)",
"adultAccessTitle": "Área erótica",
"adultAccessIntro": "El área erótica está destinada solo a usuarios adultos y además requiere aprobación de moderación.",
"requestAdultVerification": "Solicitar acceso",
"requestAdultVerificationSuccess": "La solicitud de acceso se ha enviado.",
"requestAdultVerificationError": "No se pudo enviar la solicitud de acceso.",
"adultStatus": {
"ineligible": {
"title": "No disponible",
"body": "El área erótica solo es visible para usuarios adultos."
},
"none": {
"title": "Aún no desbloqueado",
"body": "El área es visible, pero seguirá bloqueada hasta que un moderador la apruebe."
},
"pending": {
"title": "Revisión pendiente",
"body": "Tu solicitud está pendiente de revisión. El área seguirá bloqueada hasta entonces."
},
"approved": {
"title": "Desbloqueado",
"body": "El área erótica está habilitada para tu cuenta."
},
"rejected": {
"title": "Solicitud rechazada",
"body": "La última solicitud no fue aprobada. Puedes enviar una nueva."
}
}
},
"languageAssistant": {
"eyebrow": "Ajustes",

View File

@@ -249,6 +249,71 @@
"denied": "Has rechazado la solicitud de amistad.",
"accepted": "Se ha aceptado la amistad."
},
"erotic": {
"eyebrow": "Erótico",
"accessTitle": "Desbloqueo del área erótica",
"accessIntro": "Las imágenes, los vídeos y más adelante los chats se muestran a partir de los 18 años, pero solo se pueden usar tras la aprobación de moderación.",
"lockedShort": "Esta área solo estará disponible tras la aprobación de moderación.",
"requestVerification": "Solicitar acceso",
"requestSent": "La solicitud de acceso se ha enviado.",
"requestError": "No se pudo enviar la solicitud de acceso.",
"requestInfoTitle": "Prueba enviada",
"documentLabel": "Documento de verificación",
"noteLabel": "Breve nota para moderación",
"settingsLink": "Abrir ajustes de la cuenta",
"picturesTitle": "Imágenes eróticas",
"picturesIntro": "Tus contenidos permanecen estrictamente separados de la galería normal. Aquí gestionas solo imágenes del área erótica desbloqueada.",
"uploadTitle": "Subir imagen erótica",
"noimages": "Actualmente no hay imágenes en esta carpeta erótica.",
"videosTitle": "Vídeos eróticos",
"videosIntro": "Tus propios vídeos se gestionan por separado del área social normal. Esta primera versión se centra en subida, lista y reproducción.",
"videoUploadTitle": "Subir vídeo erótico",
"videoUploadHint": "La primera fase guarda los vídeos directamente y por ahora evita transcodificación o perfiles de streaming.",
"videoDescription": "Descripción",
"videoFile": "Archivo de vídeo",
"myVideos": "Mis vídeos",
"noVideos": "Todavía no has subido vídeos eróticos.",
"reportAction": "Denunciar",
"reportNote": "Nota breve para moderación",
"submitReport": "Enviar denuncia",
"reportSubmitted": "La denuncia fue enviada.",
"reportError": "No se pudo guardar la denuncia.",
"moderationHidden": "Oculto por moderación",
"hiddenByModeration": "Este contenido fue ocultado temporalmente por la moderación.",
"reportReasons": {
"suspected_minor": "Sospecha de minoría de edad",
"non_consensual": "Contenido no consentido",
"violence": "Violencia o abuso",
"harassment": "Acoso o presión",
"spam": "Spam o estafa",
"other": "Otro"
},
"intro": "El área está desbloqueada. Los módulos reales de imágenes y vídeos llegarán en el siguiente paso.",
"enabledTitle": "Acceso desbloqueado",
"enabledBody": "Tu cuenta está habilitada para el área erótica. Las vistas separadas de imágenes y vídeos se construirán a continuación.",
"roadmapTitle": "Próximamente",
"roadmapModeration": "moderación y vías de reporte separadas",
"roadmapUpload": "vistas propias para subir y gestionar contenido",
"roadmapSeparation": "separación clara de la galería normal",
"status": {
"none": {
"title": "Aún no desbloqueado",
"body": "El área es visible, pero seguirá bloqueada hasta la aprobación de moderación."
},
"pending": {
"title": "Revisión pendiente",
"body": "Tu solicitud está pendiente de revisión por moderación."
},
"approved": {
"title": "Desbloqueado",
"body": "El área erótica ya está desbloqueada para tu cuenta."
},
"rejected": {
"title": "Solicitud rechazada",
"body": "La última solicitud fue rechazada. Puedes enviar una nueva."
}
}
},
"vocab": {
"title": "Entrenador de vocabulario",
"description": "Crea idiomas (o suscríbete) y compártelos con tus amigos.",