diff --git a/src/backend/backend.js b/src/backend/backend.js index a8f44fe..9ee62e5 100644 --- a/src/backend/backend.js +++ b/src/backend/backend.js @@ -6155,7 +6155,7 @@ router const raw = String(ctx.request.body?.q || ctx.request.body?.prompt || '').trim(); if (!raw) { ctx.redirect('/'); return; } const ssbRefLib = require('../server/node_modules/ssb-ref'); - const hashtagMatch = raw.match(/^#([\p{L}\p{N}_-]+)/u); + const hashtagMatch = raw.match(/^#([0-9A-Za-z_À-￿-]+)/); // sin \p{}: nodejs-mobile no lleva ICU completo if (hashtagMatch) { ctx.redirect('/search?query=' + encodeURIComponent('#' + hashtagMatch[1])); return; diff --git a/src/client/assets/translations/fork/i18n_fork.js b/src/client/assets/translations/fork/i18n_fork.js index ad4a727..ddaf8a1 100644 --- a/src/client/assets/translations/fork/i18n_fork.js +++ b/src/client/assets/translations/fork/i18n_fork.js @@ -11,6 +11,9 @@ module.exports = { en: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -57,6 +60,9 @@ module.exports = { spreadMore: "more" }, es: { + menuNetwork: "Red", + menuMedia: "Medios", + fediverse: "Fediverso", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Salas efimeras: los mensajes viven solo en memoria y se autodestruyen.", chatReply: "Responder", @@ -108,6 +114,9 @@ module.exports = { totalspreads: "Replicas totales" }, fr: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -154,6 +163,9 @@ module.exports = { spreadMore: "plus" }, eu: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -200,6 +212,9 @@ module.exports = { spreadMore: "gehiago" }, de: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -246,6 +261,9 @@ module.exports = { spreadMore: "mehr" }, it: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -292,6 +310,9 @@ module.exports = { spreadMore: "altro" }, pt: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -338,6 +359,9 @@ module.exports = { spreadMore: "mais" }, zh: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -384,6 +408,9 @@ module.exports = { spreadMore: "更多" }, ar: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -430,6 +457,9 @@ module.exports = { spreadMore: "المزيد" }, hi: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", @@ -476,6 +506,9 @@ module.exports = { spreadMore: "और" }, ru: { + menuNetwork: "Network", + menuMedia: "Media", + fediverse: "Fediverse", modulesKarvanLabel: "Karvan", modulesKarvanDescription: "Ephemeral rooms: messages live only in memory and self-destruct.", chatReply: "Reply", diff --git a/src/models/data_model.js b/src/models/data_model.js index 06ce6bb..efa67dd 100644 --- a/src/models/data_model.js +++ b/src/models/data_model.js @@ -49,7 +49,7 @@ const TITLE_STOPWORDS = new Set([ const titleTerms = (c) => String(c.title || c.name || c.question || c.concept || '') .toLowerCase() - .split(/[^\p{L}\p{N}]+/u) + .split(/[^0-9A-Za-zÀ-￿]+/) // sin \p{}: nodejs-mobile no lleva ICU completo .filter(w => w.length >= 3 && !TITLE_STOPWORDS.has(w) && !/^\d+$/.test(w)); const termsOf = (kind, c) => {