upstream: integrar Oasis 1.3.3

Diferencia 1.3.1 -> 1.3.3 del codigo de la APK oficial aplicada a tres
bandas encima de la rama: karma en el perfil, salas con directo, fotos
selladas, visibilidad de menciones, telefono por stream en Android y
las traducciones nuevas. Sin dependencias nuevas.

OasisMobile.css sigue siendo el del fork; del oficial solo se traen al
final las reglas de las piezas nuevas (karma, directo a pantalla
completa, salas en vivo, graphos).
This commit is contained in:
oasis-bot 2026-10-19 00:30:25 +02:00
parent bc64565e9c
commit 948b6460d9
95 changed files with 3613 additions and 1356 deletions

View file

@ -187,7 +187,7 @@ module.exports = {
peersTorColumn: "TOR",
peersTorYes: "Accesible por Tor",
peersTorNo: "No accesible por Tor",
peersOasisId: "Oasis ID",
peersOasisId: "ID",
peersOasisVersion: "Versión",
graphos: "Graphos",
graphosDescription: "Mapa interactivo de la red alrededor de ti.",
@ -594,6 +594,21 @@ module.exports = {
peerVersionUnannounced: "No anuncia su versión: un Oasis antiguo",
peersTorMissing: "Este PUB solamente permite conexiones desde TOR.",
peerConnectionsTitle: "Conexiones",
peersOnlineHint: "Nodos conectados contigo ahora mismo.",
peersDiscoveredHint: "Nodos con dirección conocida que no están conectados ahora.",
peersUnknownHint: "Nodos de tu grafo social sin dirección conocida.",
peersConnectionsHint: "Direcciones a las que puede conectar este nodo y el estado de cada conexión.",
peersTabLan: "LAN",
peersTabHealth: "Salud",
peersHealthHint: "Cómo está cada pub o nodo conocido, en la red local y fuera de ella.",
peersHealthReachable: "Alcanzable",
peersHealthFailing: "Fallando",
peersHealthFailures: "Fallos",
peersFailingSince: "Falla desde",
peersHealthForget: "Olvidar inalcanzables",
peersLanHint: "Nodos encontrados en tu red local.",
peersLanLastSeen: "Visto por última vez",
peersLanEmpty: "Aún no se ha encontrado ningún nodo en la red local.",
online: "Conectado",
offline: "Desconectado",
discovered: 'Descubiertos',
@ -1639,8 +1654,6 @@ module.exports = {
dataTermsTitle: "Palabras clave",
dataTermsHint: "Los términos que aparecen en más contenidos.",
dataConnections: "Coincidencias enlazadas",
dataTopicTitle: "Todo lo relacionado con",
dataTopicHint: "Lo que el algoritmo relaciona con este tema",
dataNoMatches: "No hay datos cruzados que mostrar.",
dataNoProfile: "Publica contenido o escribe tu CV para que el algoritmo aprenda qué te interesa.",
pollsDescription: "Módulo para preguntar a la red y contar las respuestas.",
@ -2194,9 +2207,7 @@ module.exports = {
tribeTrendingEngagement: "interacción",
tribeTopCategory: "Más votado",
tribeTagsEmpty: "No se encontraron etiquetas.",
tribeSearchPlaceholder: "Buscar contenido de la tribu...",
tribeSearchEmpty: "Sin resultados.",
tribeSearchResults: "Resultados",
tribeSearchMinChars: "Introduce al menos 2 caracteres para buscar.",
agendaTitle: "Agenda",
agendaDescription: "Aquí puedes encontrar todos tus elementos asignados.",
@ -3833,6 +3844,7 @@ module.exports = {
roomUpdate: "Actualizar",
roomDelete: "Eliminar",
roomClose: "Cerrar",
roomReopen: "Reabrir",
roomCreateSectionTitle: "Crear sala",
roomUpdateSectionTitle: "Actualizar sala",
roomTitlePlaceholder: "Título de la sala",
@ -3851,6 +3863,15 @@ module.exports = {
roomMuted: "silenciado",
roomRec: "Grabar audio",
roomRecStop: "Parar grabación",
roomStreamFile: "Emitir",
roomStreamStop: "Parar",
roomStreaming: "Emitiendo",
liveFullscreen: "Pantalla completa",
roomStreamPickTitle: "Elige un vídeo",
roomStreamPickHint: "Vídeos de este dispositivo. El que elijas se emite desde donde está, sin copiarlo ni publicarlo.",
roomStreamGo: "Emitir en la sala",
roomStreamNotFound: "Ese vídeo no está en tus carpetas.",
roomPublicWarning: "Esta sala se retransmite en la web pública: cualquiera puede ver y oír lo que pasa en ella.",
roomRecording: "REC",
roomNotificationsOn: "ON",
roomNotificationsOff: "OFF",
@ -4332,7 +4353,7 @@ module.exports = {
phoneHistoryTitle: "Historial",
phoneLatestTitle: "Últimas llamadas",
phoneCreateButton: "Nueva llamada",
phoneLimitsHint: "Hasta 7 habitantes por llamada; con más de uno es una llamada conjunta.",
phoneLimitsHint: "Hasta {n} habitantes por llamada; con más de uno es una llamada conjunta.",
phoneErrorPub: "No se puede llamar a un pub.",
phoneJointCall: "Llamada conjunta",
phoneWith: "Con",
@ -4477,6 +4498,22 @@ module.exports = {
settingsPmVisibilityDesc: "Configura el nivel de exposición a mensajes privados que deseas tener en la red.",
settingsPmVisibilityWhole: "Multiverso",
settingsPmVisibilityMutuals: "Solo soporte mutuo",
mute: "Silenciar",
unmute: "Dejar de silenciar",
relationshipMuted: "Silenciado por ti",
hideContent: "Ocultar para mí",
unhideContent: "Mostrar de nuevo",
hiddenByYou: "Ocultado por ti",
settingsTabContent: "Contenido",
settingsHiddenTitle: "Contenido oculto",
settingsHiddenDesc: "Habitantes que has silenciado y contenido que has ocultado.",
settingsMutedLabel: "Habitantes silenciados",
settingsHiddenLabel: "Contenido oculto",
settingsMutedEmpty: "Nadie silenciado.",
settingsHiddenEmpty: "Nada oculto.",
settingsPmVisibilityFollowing: "Solo gente a la que sigo",
settingsMentionsVisibilityTitle: "Menciones",
settingsMentionsVisibilityDesc: "Elige de quién te llegan las menciones.",
pmMutualNotice: "El envío es una barrera de UX. La recepción es un filtro de atención (el cifrado ya está replicado).",
inhabitantsPendingFollowsTitle: "Solicitudes de apoyo pendientes",
inhabitantsPendingAccept: "Aceptar",
@ -4583,7 +4620,7 @@ module.exports = {
bankRulesEcoTaxFormula: "ECO Tax(habitante) = (userBytes / 1 MiB) × 0.095 × ecoinPerGramCO2",
bankRulesEcoTaxNote: "El impuesto ECO se deduce de la RBU bruta cuando se calcula la asignación de la época. Los ECO deducidos no se redistribuyen en esta época — permanecen en el saldo del pub y alimentan el fondo de la próxima época a través de los topes reserveMin / alpha.",
bankRulesKarmaFormula: "karma = log10(1 + actions) + reputation",
bankRulesKarmaNote: "El karma se deriva de tus acciones (publicaciones, votos, participación en el parlamento/tribunales, etc.) con un factor de decaimiento temporal, menos los gramos de carbono que genera tu feed.",
bankRulesKarmaNote: "El karma se deriva de tus acciones (publicaciones, votos, participación en el parlamento/tribunales, etc.) con un factor de decaimiento temporal, menos los gramos de carbono que genera tu feed. Lo que recibe tu contenido también cuenta: las opiniones, votos, reacciones y reproducciones positivas suman karma, y las opiniones o votos negativos lo restan cuando varios habitantes coinciden.",
bankRulesNetFormula: "net_UBI = floor + max(0, gross_UBI − floor) − ECO Tax − ARCH Tax",
bankRulesPoolFormula: "pool = min(pubBal − reserveMin, capPerEpoch, alpha · pubBal)",
bankRulesShareFormula: "share = clamp(1 + karma/100, w_min, w_max) / sum(weights)",
@ -4618,7 +4655,7 @@ module.exports = {
larpRulesTestEntryText: "En el test WILL cada opción pondera una o más casas; al enviarlo, el sistema suma las puntuaciones y te admite automáticamente en la casa con más puntos.",
larpWillTestHint: "Una vez completado, se te asignará la casa que más se ajuste a tus respuestas. Tus respuestas individuales se procesan localmente y nunca se almacenan — solo se publica en tu feed la asignación de casa resultante.",
larpWillTestTitle: "Test WILL",
settingsLanDesc: "Anuncia periódicamente este peer a otras instancias de Oasis en la misma red local. Desactivar para detener las difusiones UDP.",
settingsLanDesc: "Anuncia periódicamente este peer a otras instancias de Oasis en la misma red local.",
settingsLanEnable: "Activar difusión LAN",
settingsLanTitle: "Difusión LAN",
settingsReplicationTitle: "Replicación",