Upgrade mobile UX to Oasis 0.9.0

Rebase onto upstream 0.9.0. Mobile topbar (logo->home, avatar->profile),
hexagon category nav (hive) and bottom bar; remove the six top-bar
buttons (inbox/pm/publish/search/graphos/peers) that cluttered the header.
Theme OasisMobileUX carries topbar/hexagon/bottombar styles.
This commit is contained in:
s1to 2026-08-01 13:41:09 +02:00
parent de36b38851
commit 8d21216362
69 changed files with 8974 additions and 820 deletions

View file

@ -1,26 +1,6 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
it: {
bbAdd: "Aggiungi",
bbQuickActions: "Azioni rapide",
bbPickTitle: "Fissa un modulo",
bbPickDesc: "Scegli un modulo per lo spazio + nella barra inferiore.",
bbPickNone: "Nessuno",
bbManage: "Modifica",
bbYourBar: "La tua barra",
bbRemove: "Rimuovi",
bbFull: "Massimo raggiunto",
bbDone: "Fatto",
activityChangeFilter: "Cambia filtro",
emptyConnectHint: "Connettiti a un pub per sincronizzarti con la rete.",
emptyConnectCta: "Connettiti a un pub",
menuCommunity: "Comunità",
activityGroupCommunity: "Comunità e governance",
activityGroupOrg: "Organizzazione",
activityGroupComm: "Comunicazione",
activityGroupEconomy: "Economia",
activityGroupMedia: "Contenuti e media",
activityGroupOther: "Altri",
languageName: "Italiano",
shopOrderStatusPaid: "Pagamento ricevuto",
shopOrderStatusReceived: "Ricevuto",
@ -426,7 +406,8 @@ module.exports = {
publish: "Pubblica",
contentWarningPlaceholder: "Aggiungi un oggetto al post (opzionale)",
privateWarningPlaceholder: "Aggiungi abitanti per inviare un post privato (opzionale)",
publishWarningPlaceholder: "...",
publishWarningPlaceholder: "Corpo limitato a 7000 caratteri.",
publishTooLong: "Il tuo post è troppo lungo. Accorcialo, per favore.",
publishCustomDescription: [
"RICORDA: A causa della tecnologia blockchain, una volta pubblicato un post non può essere modificato né eliminato.",
],
@ -491,7 +472,89 @@ module.exports = {
passwordLengthInfo: "La password deve avere almeno 32 caratteri.",
passwordImport: "Scrivi la tua password per decifrare i dati che verranno salvati nella home del sistema (nome: secret)",
exportPasswordPlaceholder: "Usa minuscole, maiuscole, numeri e simboli",
fileInfo: "La tua chiave segreta crittografata verrà salvata nella home del sistema (nome: oasis.enc)",
fileInfo: "La tua chiave segreta crittografata verrà scaricata sul tuo dispositivo (nome: oasis.enc)",
developer: "Sviluppo",
devTitle: "Sviluppo",
welcomeBannerText: "Benvenuta in OASIS. Segui questi passi rapidi per configurare il tuo avatar.",
welcomeBannerAction: "Inizia!",
welcomeTitle: "Benvenuta",
welcomeStepGreetingAction: "Invia",
welcomeJoinPubButton: "Unisciti al pub",
welcomeStepLarpAction: "Unisciti a \"L Accademia\"",
welcomeStepLarpText: "Unisciti al nostro gioco di ruolo dal vivo.",
welcomeStepLarpTitle: "Unisciti al L.A.R.P.",
welcomeStepGreetingTitle: "Invia un \"Ciao mondo!\"",
welcomeStepGreetingText: "Invia un messaggio perché gli altri abitanti possano scoprirti.",
welcomeJoinPub: "Unisciti a",
welcomeDescription: "Alcune cose da fare prima di iniziare.",
welcomeProgress: "Completato",
welcomeStepDone: "fatto",
welcomeStepPending: "in sospeso",
welcomeSkip: "Non ora",
welcomeStepLanguageTitle: "Scegli la tua lingua",
welcomeStepLanguageText: "Oasis parla diverse lingue. Puoi cambiarla quando vuoi.",
welcomeStepProfileTitle: "Modifica il tuo profilo",
welcomeStepProfileText: "Scegli un nome, aggiungi una descrizione e metti un immagine perché gli altri abitanti ti riconoscano.",
welcomeStepProfileAction: "Salva profilo",
welcomeStepFederationTitle: "Unisciti alla rete principale",
welcomeStepFederationText: "Collegati al nostro pub per incontrare altri abitanti e iniziare a replicare.",
welcomeStepFederationAction: "Vai agli inviti",
welcomeStepBackupTitle: "Fai il backup del tuo ID",
welcomeStepBackupText: "La tua identità è un file di chiavi su questo dispositivo.",
welcomeStepBackupWarning: "SE LO PERDI, NESSUNO POTRÀ RECUPERARLO PER TE.",
welcomeStepBackupAction: "Backup!",
welcomeCompleteTitle: "Tutto pronto.",
welcomeCompleteText: "Il tuo nodo è pronto. Da qui la rete cresce con le persone che segui.",
welcomeFindPeople: "Trova abitanti",
devFilterFiles: "FILE",
devFilterSearch: "CERCA",
devFilterModules: "MODULI",
devFilterTranslations: "TRADUZIONI",
devFilterStyles: "STILI",
devFilterTests: "TEST",
devVersion: "Versione",
devNodeVersion: "Node",
devStatsTests: "Suite di test",
devParentFolder: "Cartella superiore",
devOpenFolder: "apri",
devDescription: "Esplora il codice sorgente in esecuzione su questo nodo.",
devTreeTitle: "File",
devSearchTitle: "Cerca nel codice",
devMapTitle: "Moduli",
devRoot: "radice",
devRootButton: "RADICE",
devSearchPlaceholder: "Testo da cercare nel codice",
devAnyExtension: "Qualsiasi file",
devSearchButton: "Cerca",
devStatsFiles: "File",
devStatsLines: "Righe",
devStatsModules: "Moduli",
devStatsLanguages: "Lingue",
devNotViewable: "non visualizzabile",
devEmptyFolder: "Questa cartella è vuota.",
devSize: "Dimensione",
devShowing: "Mostrando",
devLine: "riga",
devReportBug: "Segnala Bug",
devCreateTask: "Crea Attività",
devRaw: "RAW",
devReportContext: "Trovato leggendo il codice sorgente di Oasis",
devTaskPrefix: "Rivedere",
devPrevPage: "Righe precedenti",
devNextPage: "Righe successive",
devMatches: "corrispondenze",
devFilesScanned: "file analizzati",
devNoResults: "Ancora nessuna corrispondenza.",
devColModule: "Modulo",
devColState: "Stato",
devColModel: "Modello",
devColView: "Vista",
devColRoutes: "Rotte",
devColTests: "Test",
devOn: "attivo",
devOff: "inattivo",
modulesDevLabel: "Sviluppo",
modulesDevDescription: "Modulo per gestire il codice sorgente di Oasis.",
themeIntro:
"Scegli un tema.",
setTheme: "Imposta tema",
@ -693,7 +756,7 @@ module.exports = {
spreadLabel: "Diffondi",
spreadHint: "Diffondi questo a chi ti supporta (replica via il tuo feed).",
welcomePmSubject: "Hello World!",
welcomePmBody: "Benvenuto su Oasis — un social network libero, peer-to-peer, federato e cifrato, con un'architettura distribuita solo su invito.\n\nAlcuni posti interessanti da cui partire:\n\n- /profile — Modifica il tuo avatar, nome, descrizione e quali moduli appaiono sul tuo lato pubblico.\n- /invites — Aggiungi un pub per federarti con il resto della rete.\n- /peers — Vedi chi è connesso, riscansiona la LAN, esporta o importa liste di peer.\n- /inhabitants — Scopri e visita gli avatar di altre persone.\n- /tribes — Crea o unisciti a gruppi privati cifrati end-to-end.\n- /inbox — Leggi e invia messaggi privati.\n- /activity — Vedi l'attività recente, tua e della tua rete.\n- /publish — Scrivi un post o condividi un'immagine, un audio, un video o un documento.\n\nAlcuni luoghi interessanti per connettersi:\n\n- /fediverse — Gestisci i tuoi altri account del fediverso, inclusi l'invio e la ricezione di contenuti.\n\nQuesto messaggio è stato inviato privatamente da te a te stesso, perciò non serviva alcuna connessione per riceverlo.",
welcomePmBody: "Benvenuto su Oasis — un social network libero, peer-to-peer, federato e cifrato, con un'architettura distribuita solo su invito.\n\nAlcuni posti interessanti da cui partire:\n\n- /profile — Modifica il tuo avatar, nome, descrizione e quali moduli appaiono sul tuo lato pubblico.\n- /invites — Aggiungi un pub per federarti con il resto della rete.\n- /peers — Vedi chi è connesso, riscansiona la LAN, esporta o importa liste di peer.\n- /inhabitants — Scopri e visita gli avatar di altre persone.\n- /tribes — Crea o unisciti a gruppi privati cifrati end-to-end.\n- /inbox — Leggi e invia messaggi privati.\n- /activity — Vedi l'attività recente, tua e della tua rete.\n- /publish — Scrivi un post o condividi un'immagine, un audio, un video o un documento.\n- /search — Cerca i contenuti della rete per tipo.\n\nAlcuni luoghi interessanti per connettersi:\n\n- /fediverse — Gestisci i tuoi altri account del fediverso, inclusi l'invio e la ricezione di contenuti.\n\nQuesto messaggio è stato inviato privatamente da te a te stesso, perciò non serviva alcuna connessione per riceverlo.",
profileVisibilityTitle: "Visibilità del profilo pubblico",
profileVisibilityHint: "Scegli quali campi mostrano gli altri abitanti nel tuo profilo. Per impostazione predefinita appare solo Karma.",
profileSensorsSectionTitle: "Sensori",
@ -1224,6 +1287,9 @@ module.exports = {
eventButton: "EVENTI",
taskButton: "COMPITI",
votesButton: "VOTAZIONI",
industryButton: "INDUSTRIA",
projectButton: "PROGETTI",
shopProductButton: "PRODOTTI",
reportButton: "SEGNALAZIONI",
feedButton: "FEED",
marketButton: "MERCATO",
@ -1252,7 +1318,7 @@ module.exports = {
trendingItemStatus: "Stato articolo",
trendingTotalVotes: "Voti totali",
trendingTotalOpinions: "Opinioni totali",
trendingNoContentMessage: "Nessun contenuto di tendenza disponibile.",
trendingNoContentMessage: "Ancora nessuna tendenza.",
trendingAuthor: "Di",
trendingCreatedAtLabel: "Creato il",
trendingTotalCount: "Conteggio totale",
@ -1441,7 +1507,7 @@ module.exports = {
transfersCreatedAt: "Creato il",
transfersConfirmations: "CONFERME",
transfersContainingBlock: "Blocco contenitore",
transfersExportContract: "Crea contratto",
transfersExportContract: "Contratto intelligente",
transfersConfirmButton: "Conferma trasferimento",
transfersNoItems: "Nessun trasferimento trovato.",
transfersMineSectionTitle: "I tuoi trasferimenti",
@ -1567,7 +1633,7 @@ module.exports = {
cvDeleteButton: "Elimina",
cvNoCV: "Nessun CV trovato.",
blogSubject: "Oggetto",
blogMessage: "Corpo limitato a 8096 caratteri.",
blogMessage: "Messaggio",
blogImage: "Carica media (max: 50MB)",
blogPublish: "Anteprima",
noPopularMessages: "Nessun messaggio popolare pubblicato ancora",
@ -2202,6 +2268,7 @@ module.exports = {
agendaFilterReports: "SEGNALAZIONI",
agendaFilterTransfers: "TRASFERIMENTI",
agendaFilterJobs: "LAVORI",
agendaFilterIndustry: "INDUSTRIA",
agendaFilterProjects: "PROGETTI",
agendaFilterCalendars: "CALENDARI",
agendaNoItems: "Nessun incarico trovato.",
@ -2323,16 +2390,31 @@ module.exports = {
privateMessage: "PM",
pmSendTitle: "Messaggi privati",
pmSend: "Invia!",
pmDescription: "Usa questo modulo per inviare un messaggio crittografato ad altri abitanti.",
pmCancel: "Annulla",
pmReset: "Reimposta",
pmSharedKeyHint: "Condividi questa chiave con il destinatario tramite un altro canale. È necessaria per decifrare.",
pmDescription: "Usa questo modulo per inviare un messaggio/file cifrato ad altri abitanti.",
pmComposeTitle: "Invia un messaggio",
pmRecipients: "Destinatari",
pmRecipientsHint: "Inserisci Oasis ID separati da virgole",
pmLevelOfExposition: "Level of exposition",
pmLimitsHint: "Up to 7 recipients per message. Body capped at 8096 characters.",
pmLimitsHint: "Fino a 7 destinatari per messaggio.",
pmTextPlaceholder: "Corpo limitato a 7000 caratteri.",
pmSubject: "Oggetto",
pmSubjectHint: "Inserisci l'oggetto del messaggio",
pmText: "Messaggio",
pmCrypterChip: "2xE2E",
pmCrypterDecryptButton: "Decifra",
fileShareTitle: "Condividi un file",
fileShareRecipientPlaceholder: "@...=.ed25519",
fileShareFileLabel: "File",
fileShareDownload: "Scarica",
fileShareMutualError: "Puoi condividere file solo con abitanti con supporto reciproco.",
fileShareNoFile: "Nessun file selezionato.",
fileShareTooLarge: "Il file supera la dimensione consentita.",
fileShareFailed: "Impossibile preparare il file.",
fileShareSendError: "Impossibile inviare il file.",
fileShareUnavailable: "Questo file non è disponibile al momento. Riprova più tardi.",
pmCrypterBadKey: "La chiave condivisa è errata!",
pmCrypterTooLong: "Il messaggio è troppo lungo per essere cifrato con il Crypter. Accorcialo e riprova.",
pmCrypterCipherLabel: "Messaggio ricifrato",
@ -2353,15 +2435,27 @@ module.exports = {
pmNoSubject: "(senza oggetto)",
pmSubjectLabel: "Oggetto:",
pmBodyLabel: "Messaggio",
pmBotJobs: "42-LavoriBOT",
pmBotProjects: "42-ProgettiBOT",
pmBotMarket: "42-MercatoBOT",
pmBotJobs: "JobsBot",
pmBotProjects: "ProjectsBot",
pmBotMarket: "MarketBot",
pmBotShops: "ShopsBot",
pmBotPolitical: "PoliticalBot",
politicalBotLarpTitle: "La casa al governo del L.A.R.P è cambiata.",
politicalBotParliamentTitle: "È iniziato un nuovo ciclo di governo nel Parlamento.",
politicalBotTribeTitle: "È iniziato un nuovo ciclo di governo in una delle tue Tribù.",
politicalBotLarpIntro: "Ora governa {house} durante questo ciclo: {cycle}",
politicalBotParliamentIntro: "Il governo attuale è {gov}",
politicalBotParliamentIntroLeader: "Il governo attuale è {gov}, esercitato da {leader}",
politicalBotTribeIntro: "Il governo attuale nella Tribù {tribe} è {gov}",
politicalBotTribeIntroLeader: "Il governo attuale nella Tribù {tribe} è {gov}, esercitato da {leader}",
politicalBotLeaderLabel: "Leader",
inboxJobSubscribedTitle: "Nuova iscrizione alla tua offerta di lavoro",
pmInhabitantWithId: "Abitante con Oasis ID:",
pmHasSubscribedToYourJobOffer: "si è iscritto alla tua offerta di lavoro",
inboxProjectCreatedTitle: "Nuovo progetto creato",
pmHasCreatedAProject: "ha creato un progetto",
inboxMarketItemSoldTitle: "Articolo venduto",
inboxShopSoldTitle: "Prodotto venduto",
pmYourItem: "Il tuo articolo",
pmHasBeenSoldTo: "è stato venduto a",
pmFor: "per",
@ -2396,7 +2490,7 @@ module.exports = {
visitContent: "Visita contenuto",
banking: 'Banking',
bankingTitle: 'Banking',
bankingDescription: 'Esplora il valore attuale di ECOin e la corrispondente allocazione UBI, distribuita per epoca in base a partecipazione e fiducia.',
bankingDescription: "L'economia ECOin: saldo, reddito di base, tasse e valore dell'industria.",
bankOverview: 'Panoramica',
bankEpochs: 'Epoche',
bankRules: 'Regole',
@ -2430,6 +2524,10 @@ module.exports = {
bankEpochId: 'ID epoca',
bankRuleHash: 'Hash snapshot regole',
bankViewEpoch: 'Vedi epoca',
bankYourIndustryBalance: "La tua quota industriale",
bankYourUbiMonth: "Il tuo RBU (questo mese)",
bankYourFundsMonth: "I tuoi fondi (questo mese)",
bankIndustryBalance: "Produzione industriale (stimata)",
bankUserBalance: 'Il tuo saldo',
ecoWalletNotConfigured: 'Portafoglio ECOin non configurato',
editWallet: 'Modifica portafoglio',
@ -2469,7 +2567,7 @@ module.exports = {
pubIdPlaceholder: "@PUB_ID.ed25519",
bankUbiAvailableNo: "NESSUN FONDO!",
bankUbiAvailableOk: "DISPONIBILE!",
bankUbiAvailability: "Disponibilità UBI",
bankUbiAvailability: "RBU (rete)",
bankAlreadyClaimedThisMonth: "Già richiesto questo mese",
bankUbiThisMonth: "RBU (questo mese)",
bankUbiLastClaimed: "RBU (ultima richiesta)",
@ -2899,6 +2997,208 @@ module.exports = {
jobsTagsLabel: "Tag",
jobsTagsPlaceholder: "tag1, tag2, tag3",
noJobsMatch: "Nessun lavoro corrisponde alla ricerca.",
industrySearchPlaceholder: "Cerca fabbriche…",
industryAllSectors: "Tutti i settori",
industryVisitButton: "Visita industria",
industryAdvanceTo: "Imposta a",
industryAmount: "Importo",
industryApproveBuild: "Approva",
industryBackToFacility: "← Fabbrica",
industryBlueprint: "Blueprint",
industryBlueprintLabel: "Blueprint di Industria",
industryBlueprints: "Blueprint",
industryBuild: "Build",
industryBuildNotes: "Note",
industryBuildStart: "Data di inizio",
industryVoteUpdateButton: "Vota aggiornamento",
industryVoteDeleteButton: "Vota eliminazione",
industryRevokeVote: "Revoca",
industryTimeLeft: "Tempo rimanente",
industryBuildEnd: "Data di fine",
industryBuilds: "Build",
industryBuildTitle: "Titolo",
industryContribute: "Contribuisci",
industryContributeEco: "Contribuisci ECO",
industryContributeLabor: "Contribuisci lavoro",
industryContributeButton: "Contribuisci",
industryContributeMaterial: "Contribuisci materiale",
industryContributions: "Contributi",
industryContributors: "contributori",
industryCreateBlueprintButton: "Crea blueprint",
industryDistribute: "Distribuisci",
industryDistributeButton: "Distribuisci per quote",
industryDistribution: "Distribuzione",
industryEcoAmount: "Importo (ECO)",
industryEcoContribHint: "I contributi in ECO vengono trasferiti all'amministratore come custode della tesoreria del build.",
industryEditBlueprint: "Modifica blueprint",
industryFacility: "Fabbrica",
industryKindLabel: "Tipo",
industryKind_labor: "Lavoro",
industryKind_material: "Materiale",
industryKind_eco: "Fondi",
industryLaborHours: "Lavoro (ore)",
industryHours: "Ore",
industryLicense: "Licenza",
industryMaterialItem: "Materiale",
industryMaterials: "Materiali",
industryMaterialsHint: "Un materiale per riga, nel formato nome:quantità:prezzo.",
industryEstMaterials: "Totale materiali",
industryEstLabor: "Totale lavoro",
industryEstTaxes: "Tasse",
industryEstTotal: "Prezzo stimato",
industryBuildingPrice: "Prezzo di costruzione",
industryFinalPrice: "Prezzo finale",
industryBlueprintDescPlaceholder: "Specifiche, dimensioni, peso, documentazione…",
industryMaterialValue: "Valore (ECO)",
industryMember: "Membro",
industryNewBlueprint: "Nuovo blueprint",
industryNewBuild: "Proponi un build",
industryEditBuild: "Modifica produzione",
industryNoBlueprint: "— nessuno —",
industryNeedBlueprint: "Crea prima un progetto: ogni produzione ne fabbrica uno.",
industryNoBlueprints: "Ancora nessun blueprint.",
industryNoBuilds: "Ancora nessun build.",
industryNote: "Nota",
industryOutput: "Output",
industryOutputItem: "Nome del prodotto",
industryOutputKind: "Tipo di prodotto",
industryOutputQty: "Unità per produzione",
industryOutputUnit: "Unità di misura",
industryOutputValue: "Valore di output (ECO, es. dalla vendita)",
industryPayout: "Pagamento",
industryPoints: "Karma",
industryPostJob: "Crea lavoro",
industryPot: "Monte",
industryProposeBuildButton: "Proponi build",
industryProposer: "Proponente",
industryAuthor: "Autore",
industrySellOnMarket: "Invia al mercato",
industrySendToProjects: "Crea progetto",
industryShare: "Quota",
industryShares: "Quote",
industrySkills: "Competenze",
industryTreasury: "Tesoreria",
industryKind_physical: "Fisico",
industryKind_digital: "Digitale",
industryBuildStatus_PROPOSED: "PROPOSTO",
industryBuildStatus_REJECTED: "RESPINTO",
industryBuildStatus_APPROVED: "APPROVATO",
industryBuildStatus_STOCKING: "APPROVVIGIONAMENTO",
industryBuildStatus_IN_PRODUCTION: "IN PRODUZIONE",
industryBuildStatus_COMPLETED: "COMPLETATO",
industryBuildStatus_FAILED: "FALLITO",
pmBotIndustry: "IndustryBot",
industryBotAdmittedTitle: "Sei stato ammesso in una fabbrica.",
industryBotApplicationTitle: "Nuova richiesta di adesione nella tua fabbrica.",
industryBotInvitedTitle: "Sei stato invitato in una fabbrica.",
industryBotDissolvedTitle: "Una fabbrica a cui appartieni è stata sciolta.",
industryBotBuildApprovedTitle: "Un build è stato approvato.",
industryBotDistributedTitle: "L'output di un build è stato distribuito.",
industryFilterRules: "REGOLE",
industryRulesTitle: "Regole",
industryRulesIntro: "Industry permette agli abitanti di possedere collettivamente i mezzi di produzione: una Fabbrica è un'officina della rete che nessuno possiede privatamente.",
industryRulesSteward: "Il fondatore è l'amministratore — un custode, non un proprietario: non può vendere, privatizzare o sciogliere la Fabbrica da solo.",
industryRulesMembership: "La politica di adesione stabilisce come si entra: Aperta (subito), Per voto (ammessi dal voto dei membri) o Solo su invito (un membro deve invitare prima).",
industryRulesQuorum: "Il quorum è il numero minimo di membri che devono votare perché una decisione conti, così una piccola Fabbrica non è decisa da una sola persona.",
industryRulesMajority: "La maggioranza è la frazione di voti necessaria (0,5 = metà, 1 = unanimità); una decisione passa quando i SÌ raggiungono almeno max(quorum, membri × maggioranza).",
industryRulesDecisions: "I membri votano per ammettere nuovi arrivati, approvare i build e sciogliere la Fabbrica; l'amministratore non può scavalcare queste decisioni collettive.",
industryRulesBlueprints: "I Blueprint sono ricette libere (COPYLEFT) — gli input (materiali, ore di lavoro, competenze) e l'output (un bene fisico o digitale) — e chiunque può forkarle.",
industryRulesBuilds: "Un Build è un ordine di produzione: PROPOSTO → APPROVATO (per voto) → APPROVVIGIONAMENTO → IN PRODUZIONE → COMPLETATO, e accetta contributi solo una volta approvato.",
industryRulesContributions: "I membri contribuiscono con lavoro (ore), materiali (valore ECO dichiarato) o ECO a un build; ogni contributo guadagna karma.",
industryRulesLaborRate: "La tariffa di lavoro è il valore ECO di un'ora di lavoro in questa Fabbrica; converte le ore in karma per confrontare equamente lavoro e capitale: karma = ore × tariffa + valore materiali + ECO.",
industryRulesShares: "La tua quota di un build è il tuo karma ÷ karma totale, e stabilisce quanto del valore di output ricevi.",
industryRulesDistribution: "Quando una produzione è completata, lo steward distribuisce il monte (i fondi della produzione più il valore di vendita) tra i contributori, in proporzione alle loro quote.",
industryRulesTreasury: "I contributi in ECO sono custoditi dall'amministratore come tesoreria del build fino alla distribuzione; tutti i movimenti sono registrati sulla rete e le dispute possono andare alle Courts.",
industryJobs: "Lavori",
industryNoJobs: "Ancora nessuna posizione.",
industryCreatePosition: "Crea posizione",
industryViewCV: "CV",
industryReportButton: "Segnala",
industryCreateTask: "Crea attività",
industryOpenDispute: "Apri controversia",
industryMaterialsPlaceholder: "solar-panel:2:120\nbattery:1:80\nkit:1:15",
industryOutputUnitPlaceholder: "es. unità, kg, licenza",
industryOutputItemPlaceholder: "es. robot",
industryOutputQtyPlaceholder: "es. 5",
industrySkillsPlaceholder: "es. saldatura, reti, installazione-solare",
industryCreateInvite: "Genera invito",
industryPauseVotes: "Voti di stato",
industryTitle: "Industria",
industryDescription: "Modulo per gestire collettivamente i mezzi di produzione.",
industryLabel: "Industria",
typeIndustryBuild: "BUILD",
typeIndustryBlueprint: "BLUEPRINT",
typeIndustryAllocation: "DISTRIBUZIONE",
typeIndustry: "INDUSTRIA",
modulesIndustryLabel: "Industria",
modulesIndustryDescription: "Modulo per gestire collettivamente i mezzi di produzione.",
industryFilterAll: "TUTTE",
industryFilterMember: "MEMBRO",
industryFilterBlueprints: "PROGETTI",
industryFilterBuilds: "PRODUZIONI",
industryFilterMine: "MIE",
industryFilterActive: "IN FUNZIONE",
industryFilterPaused: "IN PAUSA",
industryFilterDissolved: "SCIOLTE",
industryAllTitle: "Industria",
industryMemberTitle: "Fabbriche di cui faccio parte",
industryMineTitle: "Le mie fabbriche",
industryActiveTitle: "In funzione",
industryPausedTitle: "Fabbriche in pausa",
industryDissolvedTitle: "Fabbriche sciolte",
industryNoFacilitiesFound: "Nessuna fabbrica trovata.",
industryCreateFacility: "Crea fabbrica",
industryMembers: "Membri",
industryMemberBadge: "MEMBRO",
industryName: "Nome",
industryNamePlaceholder: "Nome della fabbrica",
industryDescriptionLabel: "Descrizione",
industryDescriptionPlaceholder: "Cosa produce questa fabbrica?",
industrySector: "Settore",
industryMembershipPolicy: "Politica di adesione",
industryQuorum: "Quorum",
industryMajority: "Maggioranza",
industryLaborRate: "Tariffa di lavoro",
industryCreateButton: "Crea fabbrica",
industryUpdateButton: "Aggiorna",
industrySteward: "Amministratore",
industryStatusActive: "IN FUNZIONE",
industryStatusPaused: "IN PAUSA",
industryStatusDissolved: "SCIOLTA",
industryStatusLabel: "Stato",
industryJoinButton: "Unisciti",
industryApplyButton: "Richiedi di unirti",
industryLeaveButton: "Esci",
industryInviteButton: "Invita",
industryInvitePlaceholder: "@...=.ed25519",
industryInviteNeeded: "Serve un invito per unirti.",
industryPauseButton: "Vota la pausa",
industryResumeButton: "Vota la ripresa",
industryEditButton: "Modifica",
industryDeleteButton: "Elimina",
industryBackToList: "← Industria",
industryPendingApplicants: "Richieste in sospeso",
industryVotesYes: "sì",
industryVotesNo: "no",
industryAlreadyVoted: "votato",
industryAdmit: "Ammetti",
industryReject: "Rifiuta",
industryDissolveTitle: "Sciogli fabbrica",
industryDissolveHint: "Lo scioglimento richiede un voto collettivo; l'amministratore non può sciogliere da solo.",
industryDissolveVote: "Vota lo scioglimento",
industrySector_software: "Software",
industrySector_hardware: "Hardware",
industrySector_agriculture: "Agricoltura",
industrySector_textile: "Tessile",
industrySector_energy: "Energia",
industrySector_food: "Alimentare",
industrySector_construction: "Costruzioni",
industrySector_media: "Media",
industrySector_services: "Servizi",
industrySector_other: "Altro",
industryPolicy_open: "Aperta",
industryPolicy_vote: "Per voto",
industryPolicy_invite: "Solo su invito",
projectsTitle: "Progetti",
projectsDescription: "Crea, finanzia e segui progetti comunitari nella tua rete.",
projectCreateProject: "Crea progetto",
@ -3259,6 +3559,8 @@ module.exports = {
chatOpenTitle: "Open Chats",
chatClosedTitle: "Closed Chats",
chatDescription: "Descrizione",
chatMessageReply: "Risposta",
chatMessageLabel: "Messaggio",
chatCategory: "Categoria",
chatStatus: "STATO",
chatFilterAll: "TUTTI",