upstream: integrar 0.9.5 en 34 ficheros mas y portar los modulos nuevos
Segunda tanda. Resueltas por merge de tres vias 15 divergencias que no solapaban, y aplicada la version de 0.9.5 en 19 vistas y modelos donde la rama solo arrastraba codigo antiguo (firmas viejas de renderProductForm, renderJobForm, listTags sin search, y el import sin renderSpreadEditWarning). Se preserva la eliminacion de housing donde la rama lo habia descartado: modules_view, blockchain_view, search_model y tags_model. Modulos nuevos del dev portados: blog, data, gallery, mentions, polls, workflows, comments, recurrence y media_gallery, mas contentPdf, pdfDocument y content_favorites. main_views recupera renderEngagement, spreadsFor y renderSpreadEditWarning, que la rama habia eliminado y que las vistas de 0.9.5 necesitan. Sin ellas polls_view lanzaba TypeError al editar. El overlay de i18n pasa de 15 a 41 claves (46 en castellano): incorpora las 9 que upstream tenia en 0.9.1 y elimino en 0.9.5 mientras nuestro codigo las sigue usando (menuBlogs, spreadHint, chatShareUrl, forumFilterHot, publishBlog...) y las 17 de Karvan, que nunca existieron y tiraban de texto de reserva en ingles; ahora estan traducidas al castellano. Verificado con la app arrancada: declara 0.9.5, 0 claves i18n sin resolver (antes 26), 26 rutas responden 200/302, y la interfaz de la rama sale intacta: 10 categorias y 47 modulos en los hexagonos, topbar con Personal/Community y avatar, 7 accesos rapidos en la barra inferior y 0 etiquetas vacias (antes 1, la de Blogs).
This commit is contained in:
parent
f964e61a1c
commit
82b6c3ae05
43 changed files with 3221 additions and 2416 deletions
|
|
@ -89,7 +89,6 @@ code {
|
|||
}
|
||||
|
||||
.search-input,
|
||||
.feed-search-input,
|
||||
.activity-search-input {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
|
|
@ -914,3 +913,32 @@ a.create-button {
|
|||
.peers-technical-block .block-info-table td[data-label=""]::before { content: none !important; }
|
||||
.peers-list .block-info-table td .peer-key,
|
||||
.peers-technical-block .block-info-table td .peer-key { text-align: right !important; }
|
||||
|
||||
.relationship-status .relationship-actions { flex-direction: column !important; align-items: stretch !important; gap: 8px !important; }
|
||||
.relationship-status .relationship-actions form,
|
||||
.relationship-status .relationship-actions button { width: 100% !important; }
|
||||
|
||||
.profile-sensors-box { align-items: center !important; text-align: center !important; }
|
||||
.profile-sensors-box > * { margin-left: auto !important; margin-right: auto !important; justify-content: center !important; }
|
||||
|
||||
.tribe-feed .refeed-column,
|
||||
.tribe-feed-full .refeed-column { align-self: center !important; align-items: center !important; justify-content: center !important; }
|
||||
.tribe-feed .card-footer,
|
||||
.tribe-feed-full .card-footer { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 2px !important; }
|
||||
|
||||
.invite-qr-card { display: flex !important; justify-content: center !important; border: none !important; background: transparent !important; padding: 0 !important; box-shadow: none !important; margin: 0 auto !important; }
|
||||
.invite-qr-img { display: block; margin: 0 auto; }
|
||||
|
||||
.stats-kpi { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 2px !important; }
|
||||
.stats-kpi-label,
|
||||
.stats-kpi-value { width: 100% !important; text-align: center !important; }
|
||||
|
||||
.main-column audio,
|
||||
.main-column video { width: 100% !important; max-width: 100% !important; }
|
||||
|
||||
.main-column section:has(.chat-messages-list) { border: none !important; background: transparent !important; padding: 0 !important; box-shadow: none !important; }
|
||||
.tribe-details:has(.chat-messages-list) { display: block !important; border: none !important; background: transparent !important; padding: 6px !important; margin: 0 !important; box-shadow: none !important; }
|
||||
.chat-full-width { border: none !important; background: transparent !important; padding: 0 !important; }
|
||||
.chat-messages-list { padding: 0 !important; }
|
||||
.chat-message { max-width: 92% !important; }
|
||||
.chat-message.chat-poll { max-width: 97% !important; }
|
||||
|
|
|
|||
|
|
@ -2,202 +2,490 @@
|
|||
// Se fusionan sobre las de upstream desde i18n.js, para no editar los 11
|
||||
// ficheros oasis_*.js (upstream los reescribe entero en cada release).
|
||||
//
|
||||
// Contiene: las claves que la rama anade (barra inferior bb*, menu
|
||||
// Personal/Community, karvanTitle) y los textos de upstream que la rama
|
||||
// corrige (el grupo "spread" en castellano).
|
||||
// Contiene tres grupos:
|
||||
// 1. Claves que anade la rama: barra inferior (bb*), menu Personal/Community
|
||||
// y el modulo Karvan.
|
||||
// 2. Claves que upstream tenia en 0.9.1 y elimino en 0.9.5, pero que el
|
||||
// codigo de la rama sigue usando (menuBlogs, spreadHint, chatShareUrl...).
|
||||
// 3. Textos de upstream que la rama corrige (el grupo spread en castellano).
|
||||
|
||||
module.exports = {
|
||||
en: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "Category",
|
||||
bookmarkCategoryPlaceholder: "Optional",
|
||||
chatShareUrl: "Share URL",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "Hot",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "Blogs",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "Device",
|
||||
publishBlog: "Publish Blog",
|
||||
spreadHint: "Spread this to your supporters (replicates via your feed).",
|
||||
spreadMore: "more"
|
||||
},
|
||||
es: {
|
||||
peerLastChange: "Último cambio",
|
||||
menuCommunity: "Comunidad",
|
||||
menuAll: "Todo",
|
||||
filter: "Filtrar",
|
||||
bbAdd: "Añadir",
|
||||
bbManage: "Editar",
|
||||
bbRemove: "Quitar",
|
||||
bbQuickActions: "Accesos rápidos",
|
||||
bbYourBar: "Tu barra",
|
||||
bbFull: "Máximo alcanzado",
|
||||
bbDone: "Hecho",
|
||||
bbPickTitle: "Personaliza la barra",
|
||||
bbFull: "Máximo alcanzado",
|
||||
bbManage: "Editar",
|
||||
bbPickDesc: "Elige hasta 4 accesos para la barra inferior.",
|
||||
bbPickNone: "Ninguno",
|
||||
bbPickTitle: "Personaliza la barra",
|
||||
bbQuickActions: "Accesos rápidos",
|
||||
bbRemove: "Quitar",
|
||||
bbYourBar: "Tu barra",
|
||||
bookmarkCategoryLabel: "Categoría",
|
||||
bookmarkCategoryPlaceholder: "Opcional",
|
||||
chatShareUrl: "Compartir URL",
|
||||
filter: "Filtrar",
|
||||
forumFilterHot: "Populares",
|
||||
karvanActive: "Salas activas",
|
||||
karvanBlurb: "Salas que solo viven en memoria y se autodestruyen.",
|
||||
karvanCall: "Llamar",
|
||||
karvanCreate: "Crear sala efímera",
|
||||
karvanEphemeral: "Salas efímeras",
|
||||
karvanInvite: "Invitar",
|
||||
karvanInviteBad: "✗ No es un @feed-id válido.",
|
||||
karvanInviteFail: "✗ No se pudo enviar la invitación.",
|
||||
karvanInvitePlaceholder: "Invita a un contacto por @feed-id…",
|
||||
karvanInviteSent: "✓ Invitación enviada a su buzón.",
|
||||
karvanNone: "No hay salas activas. Crea una: desaparece sola.",
|
||||
karvanRelay: "relay del servidor",
|
||||
karvanRoomName: "Nombre de la sala (opcional)",
|
||||
karvanRooms: "Salas",
|
||||
karvanSay: "Mensaje temporal…",
|
||||
karvanSend: "Enviar",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Se autodestruye en:",
|
||||
menuAll: "Todo",
|
||||
menuBlogs: "Blogs",
|
||||
menuCommunity: "Comunidad",
|
||||
peerLastChange: "Último cambio",
|
||||
profileVisibilityDevice: "Dispositivo",
|
||||
publishBlog: "Publicar Blog",
|
||||
spreadChron: "Difusión",
|
||||
spreadHint: "Difunde esto a quienes te apoyan (se replica vía tu feed).",
|
||||
spreadLabel: "Difundir",
|
||||
spreadMore: "más",
|
||||
spreaded: "Difundido",
|
||||
spreadedDescription: "Lista de posts replicados por habitante.",
|
||||
totalspreads: "Replicas totales",
|
||||
spreadLabel: "Difundir",
|
||||
spreadHint: "Difunde esto a quienes te apoyan (se replica vía tu feed)."
|
||||
totalspreads: "Replicas totales"
|
||||
},
|
||||
fr: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "Catégorie",
|
||||
bookmarkCategoryPlaceholder: "Optionnel",
|
||||
chatShareUrl: "Partager URL",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "Populaires",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "Blogs",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "Appareil",
|
||||
publishBlog: "Publier un blog",
|
||||
spreadHint: "Diffusez ceci à ceux qui vous soutiennent (réplique via votre feed).",
|
||||
spreadMore: "plus"
|
||||
},
|
||||
eu: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "Kategoria",
|
||||
bookmarkCategoryPlaceholder: "Aukerakoa",
|
||||
chatShareUrl: "URLa Partekatu",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "Beroa",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "Blogak",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "Gailua",
|
||||
publishBlog: "Bloga argitaratu",
|
||||
spreadHint: "Hedatu zure babesleei (zure feed bidez errepikatzen da).",
|
||||
spreadMore: "gehiago"
|
||||
},
|
||||
de: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "Kategorie",
|
||||
bookmarkCategoryPlaceholder: "Optional",
|
||||
chatShareUrl: "URL Teilen",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "Beliebt",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "Blogs",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "Gerät",
|
||||
publishBlog: "Blog veröffentlichen",
|
||||
spreadHint: "Verbreite dies an deine Unterstützer (über deinen Feed).",
|
||||
spreadMore: "mehr"
|
||||
},
|
||||
it: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "Categoria",
|
||||
bookmarkCategoryPlaceholder: "Opzionale",
|
||||
chatShareUrl: "Condividi URL",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "Caldi",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "Blog",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "Dispositivo",
|
||||
publishBlog: "Pubblica post",
|
||||
spreadHint: "Diffondi questo a chi ti supporta (replica via il tuo feed).",
|
||||
spreadMore: "altro"
|
||||
},
|
||||
pt: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "Categoria",
|
||||
bookmarkCategoryPlaceholder: "Opcional",
|
||||
chatShareUrl: "Partilhar URL",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "Populares",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "Blogues",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "Dispositivo",
|
||||
publishBlog: "Publicar blog",
|
||||
spreadHint: "Difunde isto aos teus apoiantes (replica pelo teu feed).",
|
||||
spreadMore: "mais"
|
||||
},
|
||||
zh: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "类别",
|
||||
bookmarkCategoryPlaceholder: "可选",
|
||||
chatShareUrl: "分享链接",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "热门",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "博客",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "设备",
|
||||
publishBlog: "发布博客",
|
||||
spreadHint: "转发给你的支持者(通过你的 feed 复制)。",
|
||||
spreadMore: "更多"
|
||||
},
|
||||
ar: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "الفئة",
|
||||
bookmarkCategoryPlaceholder: "اختياري",
|
||||
chatShareUrl: "مشاركة الرابط",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "رائج",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "مدونات",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "الجهاز",
|
||||
publishBlog: "نشر مدونة",
|
||||
spreadHint: "نشر هذا لداعميك (يتم النسخ عبر تغذيتك).",
|
||||
spreadMore: "المزيد"
|
||||
},
|
||||
hi: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "श्रेणी",
|
||||
bookmarkCategoryPlaceholder: "वैकल्पिक",
|
||||
chatShareUrl: "URL शेयर करें",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "लोकप्रिय",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "ब्लॉग",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "डिवाइस",
|
||||
publishBlog: "ब्लॉग प्रकाशित करें",
|
||||
spreadHint: "अपने समर्थकों को फैलाएँ (फ़ीड से प्रतिकृति)।",
|
||||
spreadMore: "और"
|
||||
},
|
||||
ru: {
|
||||
peerLastChange: "Last change",
|
||||
menuCommunity: "Community",
|
||||
menuAll: "All",
|
||||
filter: "Filter",
|
||||
bbAdd: "Add",
|
||||
bbManage: "Edit",
|
||||
bbRemove: "Remove",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbYourBar: "Your bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbDone: "Done",
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbFull: "Maximum reached",
|
||||
bbManage: "Edit",
|
||||
bbPickDesc: "Choose up to 4 shortcuts for the bottom bar.",
|
||||
bbPickNone: "None",
|
||||
karvanTitle: "Karvan"
|
||||
bbPickTitle: "Customize the bar",
|
||||
bbQuickActions: "Quick actions",
|
||||
bbRemove: "Remove",
|
||||
bbYourBar: "Your bar",
|
||||
bookmarkCategoryLabel: "Категория",
|
||||
bookmarkCategoryPlaceholder: "Необязательно",
|
||||
chatShareUrl: "Поделиться URL",
|
||||
filter: "Filter",
|
||||
forumFilterHot: "Популярные",
|
||||
karvanActive: "Active rooms",
|
||||
karvanBlurb: "Rooms that live only in memory and destroy themselves.",
|
||||
karvanCall: "Call",
|
||||
karvanCreate: "Create ephemeral room",
|
||||
karvanEphemeral: "Ephemeral rooms",
|
||||
karvanInvite: "Invite",
|
||||
karvanInviteBad: "✗ That is not a valid @feed-id.",
|
||||
karvanInviteFail: "✗ Could not send the invitation.",
|
||||
karvanInvitePlaceholder: "Invite a contact by @feed-id…",
|
||||
karvanInviteSent: "✓ Invitation sent to their inbox.",
|
||||
karvanNone: "No active rooms. Create one — it disappears on its own.",
|
||||
karvanRelay: "server relay",
|
||||
karvanRoomName: "Room name (optional)",
|
||||
karvanRooms: "Rooms",
|
||||
karvanSay: "Temporary message…",
|
||||
karvanSend: "Send",
|
||||
karvanTitle: "Karvan",
|
||||
karvanTtl: "Self-destruct in:",
|
||||
menuAll: "All",
|
||||
menuBlogs: "Блоги",
|
||||
menuCommunity: "Community",
|
||||
peerLastChange: "Last change",
|
||||
profileVisibilityDevice: "Устройство",
|
||||
publishBlog: "Опубликовать блог",
|
||||
spreadHint: "Распространить вашим сторонникам (через ваш feed).",
|
||||
spreadMore: "ещё"
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ const collectLocalIPs = () => {
|
|||
|
||||
module.exports = ({ host, port, middleware, allowHost }) => {
|
||||
const assets = new Koa()
|
||||
assets.use(koaStatic(join(__dirname, "..", "client", "assets")));
|
||||
assets.use(koaStatic(join(__dirname, "..", "client", "assets"), { maxage: 60 * 60 * 1000 }));
|
||||
|
||||
const app = new Koa();
|
||||
const validHosts = [];
|
||||
|
|
@ -79,12 +79,14 @@ module.exports = ({ host, port, middleware, allowHost }) => {
|
|||
return true;
|
||||
};
|
||||
|
||||
const httpDebug = process.argv.includes('--debug') || process.env.OASIS_DEBUG === '1' || process.env.OASIS_DEBUG === 'true';
|
||||
|
||||
app.on("error", (err, ctx) => {
|
||||
if (err && (err.code === 'ECONNRESET' || err.code === 'EPIPE')) {
|
||||
return;
|
||||
}
|
||||
if (err && (err.name === 'BadRequestError' || err.status === 400)) {
|
||||
console.error(`[400] ${err.message}`);
|
||||
if (httpDebug) console.error(`[400] ${err.message}`);
|
||||
return null;
|
||||
}
|
||||
console.error(err);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue