From bd61468f2ff3244dd84cf2545d1bf1b8d83cada8 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 23 Aug 2023 22:21:44 -0700 Subject: [PATCH 01/44] fix: :bug: fix DNS lookup issue https://github.com/szmarczak/cacheable-lookup/pull/62 --- packages/backend/package.json | 2 +- pnpm-lock.yaml | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/backend/package.json b/packages/backend/package.json index 7e241098c3..da4ea318cb 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -50,7 +50,7 @@ "bcryptjs": "2.4.3", "blurhash": "2.0.5", "bull": "4.11.2", - "cacheable-lookup": "7.0.0", + "cacheable-lookup": "github:thatonecalculator/cacheable-lookup", "cbor": "8.1.0", "chalk": "5.3.0", "chalk-template": "0.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f6a3339041..ec5ba653bb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -154,8 +154,8 @@ importers: specifier: 4.11.2 version: 4.11.2 cacheable-lookup: - specifier: 7.0.0 - version: 7.0.0 + specifier: github:thatonecalculator/cacheable-lookup + version: github.com/thatonecalculator/cacheable-lookup/cd3a346e688f3f6ccaf0614e538de24cf1263c31 cbor: specifier: 8.1.0 version: 8.1.0 @@ -19416,6 +19416,13 @@ packages: url-polyfill: 1.1.12 dev: true + github.com/thatonecalculator/cacheable-lookup/cd3a346e688f3f6ccaf0614e538de24cf1263c31: + resolution: {tarball: https://codeload.github.com/thatonecalculator/cacheable-lookup/tar.gz/cd3a346e688f3f6ccaf0614e538de24cf1263c31} + name: cacheable-lookup + version: 7.0.0 + engines: {node: '>=14.16'} + dev: false + github.com/thatonecalculator/emojilib/d3c8c6a77d4362b3b3180099f1d2eac344ce245c: resolution: {tarball: https://codeload.github.com/thatonecalculator/emojilib/tar.gz/d3c8c6a77d4362b3b3180099f1d2eac344ce245c} name: emojilib From f309d17667d827f44e9d914f43ddc7af2aef8268 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 23 Aug 2023 22:31:50 -0700 Subject: [PATCH 02/44] Revert "fix: :bug: fix DNS lookup issue" This reverts commit bd61468f2ff3244dd84cf2545d1bf1b8d83cada8. --- packages/backend/package.json | 2 +- pnpm-lock.yaml | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/backend/package.json b/packages/backend/package.json index da4ea318cb..7e241098c3 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -50,7 +50,7 @@ "bcryptjs": "2.4.3", "blurhash": "2.0.5", "bull": "4.11.2", - "cacheable-lookup": "github:thatonecalculator/cacheable-lookup", + "cacheable-lookup": "7.0.0", "cbor": "8.1.0", "chalk": "5.3.0", "chalk-template": "0.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec5ba653bb..f6a3339041 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -154,8 +154,8 @@ importers: specifier: 4.11.2 version: 4.11.2 cacheable-lookup: - specifier: github:thatonecalculator/cacheable-lookup - version: github.com/thatonecalculator/cacheable-lookup/cd3a346e688f3f6ccaf0614e538de24cf1263c31 + specifier: 7.0.0 + version: 7.0.0 cbor: specifier: 8.1.0 version: 8.1.0 @@ -19416,13 +19416,6 @@ packages: url-polyfill: 1.1.12 dev: true - github.com/thatonecalculator/cacheable-lookup/cd3a346e688f3f6ccaf0614e538de24cf1263c31: - resolution: {tarball: https://codeload.github.com/thatonecalculator/cacheable-lookup/tar.gz/cd3a346e688f3f6ccaf0614e538de24cf1263c31} - name: cacheable-lookup - version: 7.0.0 - engines: {node: '>=14.16'} - dev: false - github.com/thatonecalculator/emojilib/d3c8c6a77d4362b3b3180099f1d2eac344ce245c: resolution: {tarball: https://codeload.github.com/thatonecalculator/emojilib/tar.gz/d3c8c6a77d4362b3b3180099f1d2eac344ce245c} name: emojilib From 5ba9b475a0c96411f0992f28a9f3206061d9522e Mon Sep 17 00:00:00 2001 From: Pynolo Date: Fri, 25 Aug 2023 10:27:31 +0000 Subject: [PATCH 03/44] chore: Translated using Weblate (Italian) Currently translated at 98.5% (1824 of 1850 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/it/ --- locales/it-IT.yml | 325 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 253 insertions(+), 72 deletions(-) diff --git a/locales/it-IT.yml b/locales/it-IT.yml index cbea8b6dc0..acaee0750a 100644 --- a/locales/it-IT.yml +++ b/locales/it-IT.yml @@ -14,7 +14,7 @@ ok: "OK" gotIt: "Ho capito!" cancel: "Annulla" enterUsername: "Inserisci un nome utente" -renotedBy: "Rinotato da {user}" +renotedBy: "Boost da {user}" noNotes: "Nessuna nota!" noNotifications: "Nessuna notifica" instance: "Server" @@ -45,8 +45,8 @@ copyContent: "Copia il contenuto" copyLink: "Copia il link" delete: "Elimina" deleteAndEdit: "Elimina e modifica" -deleteAndEditConfirm: "Vuoi davvero cancellare questa nota e scriverla di nuovo? Verrano - eliminate anche tutte le reazioni, Rinote e risposte collegate." +deleteAndEditConfirm: "Vuoi davvero cancellare questo post e scriverlo di nuovo? Verrano + eliminate anche tutte le reazioni, boost e risposte collegate." addToList: "Aggiungi alla lista" sendMessage: "Invia messaggio" copyUsername: "Copia nome utente" @@ -60,7 +60,7 @@ receiveFollowRequest: "Hai ricevuto una richiesta di follow" followRequestAccepted: "Richiesta di follow accettata" mention: "Menzioni" mentions: "Menzioni" -directNotes: "Note dirette" +directNotes: "Messaggi diretti" importAndExport: "Importa ed esporta" import: "Importa" export: "Esporta" @@ -74,8 +74,8 @@ exportRequested: "Hai richiesto un'esportazione, e potrebbe volerci tempo. Quand importRequested: "Hai richiesto un'importazione. Può volerci tempo. " lists: "Liste" noLists: "Nessuna lista" -note: "Nota" -notes: "Note" +note: "Post" +notes: "Post" following: "Follows" followers: "Followers" followsYou: "Ti segue" @@ -93,18 +93,18 @@ youShouldUpgradeClient: "Per visualizzare la pagina è necessario aggiornare il enterListName: "Nome della lista" privacy: "Privacy" makeFollowManuallyApprove: "Richiedi di approvare i follower manualmente" -defaultNoteVisibility: "Privacy predefinita delle note" +defaultNoteVisibility: "Privacy predefinita dei post" follow: "Segui" followRequest: "Richiesta di follow" followRequests: "Richieste di follow" unfollow: "Smetti di seguire" followRequestPending: "La richiesta di follow deve essere approvata" enterEmoji: "Inserisci emoji" -renote: "Rinota" -unrenote: "Annulla rinota" -renoted: "Rinotato!" -cantRenote: "È impossibile rinotare questa nota." -cantReRenote: "È impossibile rinotare una Rinota." +renote: "Boost" +unrenote: "Annulla boost" +renoted: "Boost effettuato." +cantRenote: "È impossibile dare un boost a questo post." +cantReRenote: "È impossibile dare un boost a un boost." quote: "Cita" pinnedNote: "Post fissato" pinned: "Fissa sul profilo" @@ -158,7 +158,7 @@ autoAcceptFollowed: "Accetta automaticamente le richieste di follow da utenti ch già segui" addAccount: "Aggiungi account" loginFailed: "Accesso non riuscito" -showOnRemote: "Leggi sul sito origine" +showOnRemote: "Apri la pagina di origine" general: "Generali" wallpaper: "Sfondo" setWallpaper: "Imposta sfondo" @@ -214,7 +214,7 @@ blockedUsers: "Account bloccati" noUsers: "Nessun utente trovato" editProfile: "Modifica profilo" noteDeleteConfirm: "Vuoi eliminare questo post?" -pinLimitExceeded: "Non puoi fissare altre note " +pinLimitExceeded: "Non puoi fissare più post di così" intro: "L'installazione di Firefish è finita! Si prega di creare un account amministratore." done: "Fine" processing: "Elaborazione in corso" @@ -305,7 +305,7 @@ inputNewDescription: "Inserisci una nuova descrizione" inputNewFolderName: "Inserisci nome della nuova cartella" circularReferenceFolder: "La cartella di destinazione è una sottocartella della cartella che vuoi spostare." -hasChildFilesOrFolders: "Impossibile eliminare la cartella perché non è vuota" +hasChildFilesOrFolders: "La cartella non può essere rimossa perché non è vuota" copyUrl: "Copia URL" rename: "Modifica nome" avatar: "Foto del profilo" @@ -420,7 +420,7 @@ notFoundDescription: "Nessuna pagina corrisponde all'URL indicata." uploadFolder: "Destinazione caricamento predefinita" cacheClear: "Svuota cache" markAsReadAllNotifications: "Segna tutte le notifiche come lette" -markAsReadAllUnreadNotes: "Segna tutti post come letti" +markAsReadAllUnreadNotes: "Segna tutti i post come letti" markAsReadAllTalkMessages: "Segna tutte le chat come lette" help: "Guida" inputMessageHere: "Scrivi messaggio qui" @@ -500,7 +500,7 @@ promotion: "Promossa" promote: "Pubblicizza" numberOfDays: "Numero di giorni" hideThisNote: "Nascondi questo post" -showFeaturedNotesInTimeline: "Mostra i post suggeriti nella tua timeline" +showFeaturedNotesInTimeline: "Mostra anche i post in primo piano nella tua timeline" objectStorage: "Stoccaggio oggetti" useObjectStorage: "Utilizza stoccaggio oggetti" objectStorageBaseUrl: "Base URL" @@ -671,7 +671,7 @@ openInSideView: "Apri in vista laterale" defaultNavigationBehaviour: "Navigazione preimpostata" editTheseSettingsMayBreakAccount: "Modificare queste impostazioni può danneggiare l'account." -instanceTicker: "Informazioni del server sui post" +instanceTicker: "Informazioni del server dei post" waitingFor: "Aspettando {x}" random: "Casuale" system: "Sistema" @@ -686,11 +686,11 @@ i18nInfo: "Firefish è tradotto in diverse lingue da volontari. Anche tu puoi co su {link}." manageAccessTokens: "Gestisci token di accesso" accountInfo: "Informazioni account" -notesCount: "Conteggio note" +notesCount: "Numero di post" repliesCount: "Numero di risposte inviate" -renotesCount: "Numero di note che hai ricondiviso" +renotesCount: "Numero di boost dati" repliedCount: "Numero di risposte ricevute" -renotedCount: "Numero delle tue note ricondivise" +renotedCount: "Numero dei boost ricevuti" followingCount: "Numero di account seguiti" followersCount: "Numero di account che ti seguono" sentReactionsCount: "Numero di reazioni inviate" @@ -704,9 +704,9 @@ driveUsage: "Utilizzazione del Drive" noCrawle: "Rifiuta l'indicizzazione dai robot." noCrawleDescription: "Richiedi ai motori di ricerca di non indicizzare la tua pagina del profilo, i tuoi post, pagine, ecc." -lockedAccountInfo: "A meno che non imposti la visibilità delle tue note su \"Solo - ai follower\", le tue note sono visibili da tutti, anche se hai configurato l'account - per confermare manualmente le richieste di follow." +lockedAccountInfo: "I tuoi post saranno visibili a tutti, a meno che non imposti la + visibilità a \"Solo ai follower\", anche se hai configurato l'account per confermare + manualmente le richieste di follow." alwaysMarkSensitive: "Segnare i media come sensibili per impostazione predefinita" loadRawImages: "Visualizza le intere immagini allegate invece delle miniature." disableShowingAnimatedImages: "Disabilita le immagini animate" @@ -714,7 +714,7 @@ verificationEmailSent: "Una mail di verifica è stata inviata. Si prega di acced al collegamento per compiere la verifica." notSet: "Non impostato" emailVerified: "Il tuo indirizzo email è stato verificato" -noteFavoritesCount: "Conteggio note tra i preferiti" +noteFavoritesCount: "Numero di post preferiti" pageLikesCount: "Numero di pagine che ti piacciono" pageLikedCount: "Numero delle tue pagine che hanno ricevuto \"Mi piace\"" contact: "Contatti" @@ -725,7 +725,7 @@ developer: "Sviluppatore" makeExplorable: "Account visibile sulla pagina \"Esplora\"" makeExplorableDescription: "Se disabiliti l'opzione, il tuo account non verrà visualizzato sulla pagina \"Esplora\"." -showGapBetweenNotesInTimeline: "Mostrare un intervallo tra le note sulla timeline" +showGapBetweenNotesInTimeline: "Mostra uno spazio tra i post sulla timeline" duplicate: "Duplica" left: "Sinistra" center: "Centro" @@ -737,7 +737,7 @@ showTitlebar: "Visualizza la barra del titolo" clearCache: "Svuota cache" onlineUsersCount: "{n} utenti online" nUsers: "{n} utenti" -nNotes: "{n} Post" +nNotes: "{n} post" sendErrorReports: "Invia segnalazioni di errori" sendErrorReportsDescription: "Quando abilitato, se si verifica un problema, informazioni dettagliate sugli errori verranno condivise con Firefish in modo da aiutare a migliorare @@ -891,6 +891,8 @@ _ffVisibility: _signup: almostThere: "Quasi completo" emailAddressInfo: "Inserisci il tuo indirizzo email. Non verrà reso pubblico." + emailSent: Un messaggio di conferma è stato inviato al tuo indirizzo email ({email}). + Clicca il link incluso per completare la creazione dell'account. _accountDelete: accountDelete: "Cancellazione account" sendEmail: "Al termine della cancellazione dell'account, verrà inviata una mail @@ -898,6 +900,9 @@ _accountDelete: requestAccountDelete: "Richiesta di cancellazione account" started: "Il processo di cancellazione è iniziato." inProgress: "Cancellazione in corso" + mayTakeTime: L'eliminazione di un account impiega molte risorse di sistema, potrebbe + durare molto tempo a seconda di quanti contenuti hai creato e quanti file hai + caricato. _ad: back: "Indietro" reduceFrequencyOfThisAd: "Visualizza questa pubblicità meno spesso" @@ -905,10 +910,9 @@ _forgotPassword: enterEmail: "Inserisci l'indirizzo di posta elettronica che hai registrato nel tuo profilo. Il collegamento necessario per ripristinare la password verrà inviato a questo indirizzo." - ifNoEmail: "Se nessun indirizzo e-mail è stato registrato, si prega di contattare - l'amministratore·trice dell'istanza." - contactAdmin: "Poiché questa istanza non permette l'utilizzo di una mail, si prega - di contattare l'amministratore·trice dell'istanza per poter ripristinare la password." + ifNoEmail: "Se non hai registrato alcun indirizzo e-mail, contatta l'admin del server." + contactAdmin: "Poiché questo server non permette l'uso di indirizzi mail, contatta + l'admin per poter ripristinare la password." _gallery: my: "Le mie pubblicazioni" liked: "Pubblicazioni che mi piacciono" @@ -929,6 +933,7 @@ _registry: keys: "Dati" domain: "Dominio" createKey: "Crea chiave" + scope: Ambito _aboutFirefish: about: "Misskey è un software libero e open source, sviluppato da syuilo dal 2014." contributors: "Principali sostenitori" @@ -939,6 +944,15 @@ _aboutFirefish: morePatrons: "Apprezziamo sinceramente il supporto di tante altre persone. Grazie mille! 🥰" patrons: "Sostenitori" + sponsors: Sponsor di Firefish + misskeyContributors: Contributori di Misskey + donateTitle: Ti piace Firefish? + pleaseDonateToFirefish: Con una donazione puoi supportare lo sviluppo di Firefish. + pleaseDonateToHost: Considera anche una donazione al server che ti ospita, {host}, + per contribuire ai costi che sostiene. + donateHost: Dona a {host} + patronsList: Elencati in ordine cronologico, non per importo. Dona con il link sopra + per apparire in questa lista! _nsfw: respect: "Nascondere i media segnati come sensibli" ignore: "Visualizzare i media segnati come sensibili" @@ -985,6 +999,55 @@ _mfm: rotate: "Ruota" fade: "Dissolvenza" fadeDescription: "Dissolvenza in entrata e in uscita del contenuto." + alwaysPlay: Riproduci automaticamente tutti i MFM + advanced: MFM avanzati + hashtagDescription: Puoi specificare un hashtag usando numeri e testo. + smallDescription: Mostra il contenuto piccolo e sottile. + centerDescription: Mostra il contenuto centrato. + inlineCodeDescription: Mostra il codice di programmazione all'interno di una riga + di testo evidenziando la sintassi. + blockMathDescription: Mostra le formule matematiche (KaTeX) in una riga dedicata + advancedDescription: Se disabilitato, permette solo comandi semplici MFM, a meno + che non sia in corso una animazione + tadaDescription: Mostra il contenuto con l'animazione "tadà". + spin: Animazione (ruotazione) + sparkleDescription: Mostra il contenuto con l'effetto scintille. + scale: Ridimensiona + rotateDescription: Ruota il contenuto di un angolo specificato. + boldDescription: Evidenzia le lettere usando il grassetto. + small: Piccolo + inlineCode: Codice (inline) + position: Posizione + cropDescription: Ritaglia il contenuto. + foreground: Colore in primo piano + backgroundDescription: Cambia il colore di sfondo del testo. + flipDescription: Ribalta il contenuto orizzontalmente o verticalmente. + play: Riproduci MFM + stop: Stop MFM + warn: MFM può avere animazioni veloci o lampeggianti + quoteDescription: Mostra il contenuto come citazione. + emojiDescription: Puoi mostrare un emoji personalizzato racchiudendo il nome tra + due ":" + jelly: Animazione (gelatina) + foregroundDescription: Cambia il colore del testo in primo piano. + background: Colore di sfondo + blockCodeDescription: Mostra il codice di programmazione in un blocco di più righe + evidenziando la sintassi. + urlDescription: Gli URL possono essere mostrati. + tada: Animazione (tadà) + jellyDescription: Mostra il contenuto con l'animazione gelatina. + positionDescription: Sposta il contenuto di quanto specificato. + crop: Ritaglia + scaleDescription: Ridimensiona il contenuto di quanto specificato. + inlineMathDescription: Mostra le formule matematiche (KaTeX) all'interno del testo + spinDescription: Mostra il contenuto con l'animazione ruotazione. + plainDescription: Disattiva altri effetti MFM contenuti dentro questo effetto MFM. + plain: Senza effetti + searchDescription: Mostra un box di ricerca con testo già inserito. + linkDescription: Alcune parti del testo sono mostrate come URL. + center: Centrato + rainbowDescription: Mostra il contenuto coi colori arcobaleno. + sparkle: Scintillante _instanceTicker: none: "Nascondi" remote: "Mostra solo per gli/le utenti remotə" @@ -993,6 +1056,7 @@ _serverDisconnectedBehavior: reload: "Ricarica automaticamente" dialog: "Apri avviso in finestra" quiet: "Visualizza avviso in modo discreto" + nothing: Non fare nulla _channel: create: "Nuovo canale" edit: "Gerisci canale" @@ -1002,23 +1066,28 @@ _channel: owned: "I miei canali" following: "Seguiti" usersCount: "{n} partecipanti" - notesCount: "{n} note" + notesCount: "{n} post" + nameAndDescription: Nome e descrizione + nameOnly: Solo nome _menuDisplay: hide: "Nascondere" + top: In alto + sideFull: Laterale + sideIcon: Laterale (icone) _wordMute: muteWords: "Parole da filtrare" muteWordsDescription: "Separare con uno spazio indica la condizione \"E\". Separare con un'interruzzione riga indica la condizione \"O\"." muteWordsDescription2: "Metti le parole chiavi tra slash per usare espressioni regolari (regexp)." - softDescription: "Nascondi della timeline note che rispondono alle condizioni impostate - qui." - hardDescription: "Impedisci alla timeline di caricare le note che rispondono alle - condizioni impostate qui. Inoltre, le note scompariranno in modo irreversibile, - anche se le condizioni verranno successivamente rimosse." + softDescription: "Nascondi dalla timeline i post che rispondono alle condizioni + specificate." + hardDescription: "Impedisci alla timeline di caricare i post che rispondono alle + condizioni specificate. I post spariranno in modo irreversibile, anche se le condizioni + verranno cambiate successivamente." soft: "Moderato" hard: "Severo" - mutedNotes: "Note silenziate" + mutedNotes: "Post silenziati" _theme: explore: "Esplora temi" install: "Installa un tema" @@ -1063,7 +1132,7 @@ _theme: hashtag: "Hashtag" mention: "Menzioni" mentionMe: "Menzioni (di me)" - renote: "Rinota" + renote: "Boost" divider: "Interruzione di linea" infoBg: "Sfondo informazioni" infoFg: "Testo di informazioni" @@ -1081,9 +1150,22 @@ _theme: driveFolderBg: "Sfondo della cartella di disco" badge: "Distintivo" messageBg: "Sfondo della chat" + modalBg: Sfondo modale + scrollbarHandle: Barra di scorrimento + scrollbarHandleHover: Barra di scorrimento (Hover) + accent: Accento + fgHighlighted: Testo evidenziato + accentLighten: Accento (chiaro) + dateLabelFg: Testo data + accentDarken: Accento (scuro) + wallpaperOverlay: Trasparenza rispetto allo sfondo + importInfo: Se inserisci qui il codice di un tema, potrai importarlo nell'editor + del tema + refProp: Riferimento a una proprietà + basedProp: Proprietà riferenziata _sfx: - note: "Nota" - noteMy: "Mia nota" + note: "Nuovo post" + noteMy: "Proprio post" notification: "Notifiche" chat: "Messaggi" chatBg: "Chat (sfondo)" @@ -1095,7 +1177,7 @@ _ago: secondsAgo: "{n}s fa" minutesAgo: "{n}min fa" hoursAgo: "{n}h fa" - daysAgo: "{1} giorni fa" + daysAgo: "{n} giorni fa" weeksAgo: "{n} settimane fa" monthsAgo: "{n} mesi fa" yearsAgo: "{n} anni fa" @@ -1109,35 +1191,67 @@ _tutorial: step1_1: "Benvenuto!" step1_2: "Vediamo di configurarla. Sarete operativi in men che non si dica!" step2_1: "Per prima cosa, compila il tuo profilo" - step2_2: "Fornendo alcune informazioni su chi siete, sarà più facile per gli altri - capire se vogliono vedere le vostre note o seguirvi" - step3_1: "Ora è il momento di seguire alcune persone!" + step2_2: "Fornendo alcune informazioni su chi sei, sarà più facile per gli altri + capire se vogliono vedere i tuoi post o seguirti" + step3_1: "Ora è il momento di seguire qualcuno!" step3_2: "La vostra home e le vostre timeline social si basano su chi seguite, quindi provate a seguire un paio di account per iniziare.\nCliccate sul cerchio più in alto a destra di un profilo per seguirlo" step4_1: "Fatevi conoscere" - step4_2: "Per il vostro primo post, alcuni preferiscono fare un post di {introduction} + step4_2: "Per il primo post, alcuni preferiscono fare un post di {introduction} o un semplice \"Ciao mondo!\"" step5_1: "Linee temporali, linee temporali dappertutto!" - step5_2: "La tua istanza ha attivato {timelines} diverse timelines" - step5_3: "La timeline Home {icon} è quella in cui si possono vedere i post dei propri - follower" - step5_4: "La timeline Locale {icon} è quella in cui si possono vedere i post di - tutti gli altri utenti di questa istanza" - step5_5: "La timeline Raccomandati {icon} è quella in cui si possono vedere i post - delle istanze raccomandate dagli amministratori" - step5_6: "La timeline Social {icon} è quella in cui si possono vedere i post degli - amici dei propri follower" + step5_2: "La tua istanza ha attivato {timelines} diverse timeline." + step5_3: "La timeline Home {icon} è quella dove puoi vedere i post degli account + che segui." + step5_4: "La timeline Locale {icon} è dove si possono vedere i post di tutti gli + altri utenti di questo server." + step5_5: "La timeline Social {icon} è una combinazione delle timeline Home e Locale." + step5_6: "La timeline Suggeriti {icon} è quella in cui si possono vedere i post + dai server suggeriti dagli admin." step5_7: "La timeline Globale {icon} è quella in cui si possono vedere i post di - ogni altra istanza collegata" + ogni altro server collegato." step6_1: "Allora, cos'è questo posto?" step6_2: "Beh, non ti sei semplicemente unito a Firefish. Sei entrato in un portale del Fediverse, una rete interconnessa di migliaia di server, chiamata \"istanze\"" step6_3: "Ogni server funziona in modo diverso, e non tutti i server eseguono Firefish. Questo però lo fa! È un po' complicato, ma ci riuscirete in poco tempo" step6_4: "Ora andate, esplorate e divertitevi!" + title: Come usare Firefish _2fa: registerTOTP: "Aggiungi dispositivo" + securityKeyName: Scegli un nome per la chiave + renewTOTPOk: Riconfigura + step2: Poi, scansiona il QR code mostrato a schermo. + securityKeyInfo: Oltre alle impronte digitali o al PIN, puoi anche autenticarti + con chiavi di sicurezza hardware che supportano FIDO2 per rendere il tuo account + ancora più sicuro. + step3Title: Inserisci un codice di autenticazione + alreadyRegistered: Hai già registrato un dispositivo per l'autenticazione a due + fattori (2FA). + step3: Inserisci il token fornito dalla tua app per terminare. + step4: Da ora in poi i futuri tentativi di login necessiteranno del token. + registerTOTPBeforeKey: Prima installa una app di autenticazione o registra una chiave + di sicurezza o una pass key. + token: Token 2FA + whyTOTPOnlyRenew: La app di autenticazione non può essere rimossa finché la chiave + di sicurezza è registrata. + step2Click: Cliccando sul QR code potrai registrare la 2FA nella tua chiave di sicurezza + o nella app di autenticazione dello smartphone. + step2Url: 'Puoi anche chiamare questo URL se sei su desktop:' + securityKeyNotSupported: Il tuo browser non supporta le chiavi di sicurezza. + chromePasskeyNotSupported: Le passkey di Chrome non sono supportate. + renewTOTPConfirm: I codici di verifica già impostati in precedenza smetteranno di + funzionare + renewTOTP: Riconfigura la app di autenticazione + registerSecurityKey: Registra una chiave di sicurezza o pass key + step1: Prima di tutto, installa una app di autenticazione (tipo a} o {b}) sul tuo + device. + tapSecurityKey: Segui le istruzioni del tuo browser per registrare la chiave di + sicurezza o la pass key + removeKey: Rimuovi la chiave di sicurezza + removeKeyConfirm: Confermi la rimozione della chiave {name} ? + renewTOTPCancel: Annulla _permissions: "read:account": "Visualizzare le informazioni dell'account" "write:account": "Modificare le informazioni dell'account" @@ -1153,7 +1267,7 @@ _permissions: "write:messaging": "Gestire la chat" "read:mutes": "Vedi account silenziati" "write:mutes": "Gerisci account silenziati" - "write:notes": "Creare / Eliminare note" + "write:notes": "Crea o rimuovi i post" "read:notifications": "Visualizza notifiche" "write:notifications": "Gerisci notifiche" "read:reactions": "Vedi reazioni" @@ -1167,6 +1281,10 @@ _permissions: "write:user-groups": "Gestisci gruppi di utenti" "read:channels": "Visualizza canali" "write:channels": "Gerisci canali" + "write:gallery": Modifica la galleria + "read:gallery": Vedi nella galleria + "read:gallery-likes": Guarda i preferiti della galleria + "write:gallery-likes": Modifica i preferiti della galleria _auth: shareAccess: "Autorizzare「{name}」ad accedere al tuo account?" shareAccessAsk: "Vuoi davvero consentire l'accesso al tuo account a questa app'?" @@ -1174,6 +1292,8 @@ _auth: pleaseGoBack: "Si prega di ritornare sulla app" callback: "Ritornando sulla app" denied: "Accesso negato" + copyAsk: "Incolla questo codice di autorizzazione nell'applicazione:" + allPermissions: Accesso completo all'account _antennaSources: all: "Tutti i post" homeTimeline: "Post dagli utenti che segui" @@ -1322,7 +1442,7 @@ _timelines: local: "Locale" social: "Sociale" global: "Federata" - recommended: Raccomandato + recommended: Suggerito _pages: newPage: "Crea pagina" editPage: "Modifica pagina" @@ -1651,7 +1771,7 @@ _notification: renote: "Boost" followBack: ricambia il tuo follow reacted: ha aggiunto una reazione al tuo post - renoted: ha rilanciato il tuo post con un boost + renoted: ha dato un boost al tuo post pollEnded: I risultati del sondaggio sono disponibili voted: ha votato il tuo sondaggio emptyPushNotificationMessage: Le notifiche push sono state aggiornate @@ -1705,8 +1825,8 @@ flagSpeakAsCatDescription: I tuoi post saranno "nyanified" quando sei in modalit selectInstance: Scegli un server keepOriginalUploading: Mantieni l'immagine originale moderation: Moderazione -expandOnNoteClickDesc: Se disabilitato, potrai comunque aprire i post cliccando sull'orario - o con il tasto destro del mouse . +expandOnNoteClickDesc: Se disabilitato, potrai comunque aprire i post con il tasto + destro del mouse oppure cliccando sull'orario. userSaysSomethingReasonQuote: '{name} ha citato un post che contiene {reason}' narrow: Stretto cropImageAsk: Vuoi ritagliare questa immagine? @@ -1721,7 +1841,7 @@ activeEmailValidationDescription: Abilita la verifica rigorosa dell'indirizzo em customMOTDDescription: Messaggi personalizzati che sono mostrati sullo splash screen durate il caricamento, uno per riga, saranno scelti a caso ogni volta che l'utente carica o ricarica la pagina. -recommendedInstances: Server consigliati +recommendedInstances: Server suggeriti customSplashIconsDescription: Elenco degli URL di icone personalizzate da mostrare casualmente ogni volta che l'utente carica o ricarica la pagina. Assicurati che le immagini siano su un URL statico, preferibilmente di dimensioni 192x192. @@ -1737,7 +1857,7 @@ findOtherInstance: Scegli un altro server apps: App expandOnNoteClick: Apri i post con un click userSaysSomethingReasonReply: '{name} ha risposto a un post che contiene {reason}' -userSaysSomethingReasonRenote: '{name} ha dato un boost al post che contiene {reason}' +userSaysSomethingReasonRenote: '{name} ha dato un boost al post che contiene {reason}' forwardReport: Inoltra la segnalazione al server remoto size: Dimensione numberOfColumn: Numero di colonne @@ -1748,7 +1868,7 @@ forwardReportIsAnonymous: Al posto del proprio account, nel server remoto verrà un account anonimo come autore della segnalazione. unclip: Togli il clip instanceSecurity: Sicurezza del server -recommended: Raccomandato +recommended: Suggerito seperateRenoteQuote: Separa i bottoni di boost e citazione ffVisibility: Visibilità dei follower failedToFetchAccountInformation: Non è possibile ottenere informazioni sull'account @@ -1815,8 +1935,8 @@ enableCustomKaTeXMacro: Abilita le macro KaTeX personalizzate preventAiLearningDescription: Richiedi ai bot di intelligenza artificiale di terze parti di non studiare e acquisire il contenuto che carichi, come post e immagini. preventAiLearning: Impedisci l'acquisizione dei contenuti da parte dei bot IA -confirmToUnclipAlreadyClippedNote: Questo post è già incluso nel clip "{name}". Vuoi - rimuoverlo dal clip piuttosto? +confirmToUnclipAlreadyClippedNote: Questo post è già incluso nella clip "{name}". + Vuoi rimuoverlo dalla clip piuttosto? moveToLabel: 'Account dove vuoi migrare:' migrationConfirm: "Hai l'assoluta sicurezza di voler migrare il tuo account verso {account}? Quando lo avrai fatto, non sarai in grado di tornare indietro e non potrai @@ -1839,7 +1959,7 @@ noteId: Post ID noInstances: Non ci sono server antennaInstancesDescription: Elenca un server per riga switchAccount: Cambia account -swipeOnMobile: Permetti di fare swipe orizzontale tra le pagine +swipeOnMobile: Permetti di fare swipe tra le pagine showAdminUpdates: Segnala nuove versioni di Firefish (solo admin) selectChannel: Seleziona un canale clipsDesc: I clip sono come segnalibri categorizzati e condivisibili. Puoi creare @@ -1890,7 +2010,7 @@ makeReactionsPublicDescription: Questa opzione rende visibile a tutti l'elenco d tue reazioni ai post nel passato. overridedDeviceKind: Tipo di dispositivo auto: Auto -reflectMayTakeTime: Potrebbe servire del tempo perché il cambiamento sia effettivo. +reflectMayTakeTime: Potrebbe servire del tempo perché il cambiamento abbia effetto. cropImage: Ritaglia l'immagine recentNHours: Ultime {n} ore deleteAccount: Rimuovi l'account @@ -1918,7 +2038,7 @@ thereIsUnresolvedAbuseReportWarning: Ci sono segnalazioni non ancora gestite. requireAdminForView: Devi avere un account amministratore per vedere questo contenuto. jumpToPrevious: Vai al precedente flagShowTimelineReplies: Mostra le risposte nella timeline -cw: Avviso sul contenuto +cw: Contenuto sensibile renoteMute: Silenzia i boost renoteUnmute: Non silenziare i boost enableEmojiReactions: Abilita le reazioni con emoji @@ -1939,7 +2059,7 @@ _dialog: cannotUploadBecauseExceedsFileSizeLimit: Questo file non è stato caricato perché eccede lo spazio disponibile. xl: XL -shuffle: Mescola +shuffle: Casuale subscribePushNotification: Abilita le notifiche push unsubscribePushNotification: Disabilita le notifiche push pushNotificationAlreadySubscribed: Le notifiche push sono già abilitate @@ -1951,8 +2071,8 @@ fast: Veloce remoteOnly: Solo remoto showAds: Mostra i banner della comunità showUpdates: Mostra un popup mentre Firefish si aggiorna -recommendedInstancesDescription: Server consigliati, uno per riga, nell'ordine in - cui saranno mostrati nella timeline dei consigliati. +recommendedInstancesDescription: Server suggeriti, uno per riga, nell'ordine in cui + saranno mostrati nella timeline dei suggeriti. beta: Beta neverShow: Non mostrare più remindMeLater: Non adesso @@ -1980,3 +2100,64 @@ customKaTeXMacroDescription: 'Crea delle macro per scrivere facilmente espressio a capo nel mezzo di una definizione. Le linee non valide sono semplicemente ignorate. Sono supportate solo funzioni semplici di sostituzione nella stringa; sintassi avanzate, come comandi condizionali, non possono essere usate qui.' +deletePasskeysConfirm: Stai per eliminare in modo irreversibile le passkey e le chiavi + di sicurezza su questo account. Confermi? +delete2faConfirm: Stai per eliminare in modo irreversibile le impostazioni 2FA su + questo account. Confermi? +inputNotMatch: Il valore inserito non corrisponde +_sensitiveMediaDetection: + description: Riduce lo sforzo di moderare il server rilevando automaticamente i + contenuti NSFW tramite Machine Learning. Aumenterà leggermente il carico sul server. + setSensitiveFlagAutomaticallyDescription: Il risultato del riconoscimento verrà + conservato internamente anche se questa opzione è spenta. + analyzeVideos: Abilita l'analisi dei video + analyzeVideosDescription: Analizza anche i video oltre che le immagini. Aumenterà + leggermente il carico sul server. + sensitivityDescription: Riducendo l'accuratezza ridurrai i falsi positivi (censura + di contenuti accettabili), aumentandola ridurrai i falsi negativi (approvazione + di contenuti sensibili). + setSensitiveFlagAutomatically: Marca come NSFW + sensitivity: Accuratezza della rilevazione +_preferencesBackups: + nameAlreadyExists: Esiste già un backup con nome "{name}". Scegli un nome diverso. + applyConfirm: Vuoi veramente ripristinare il backup "{name}" su questo dispositivo? + Le impostazioni attuali saranno sovrascritte. + saveConfirm: Salvare in backup come "{name}"? + createdAt: 'Creato: {date} {time}' + loadFile: Carica da file + list: Backup creati + saveNew: Salva un nuovo backup + apply: Applica a questo dispositivo + save: Salva i cambiamenti + cannotSave: Salvataggio fallito + noBackups: Non esistono backup. Puoi creare un backup delle impostazioni di questo + server usando "Crea un nuovo backup". + inputName: Inserisci il nome del backup + updatedAt: 'Aggiornato: {date} {time}' + invalidFile: Formato file non valido + cannotLoad: Caricamento fallito + deleteConfirm: Rimuovere il backup "{name}"? + renameConfirm: Rinominare il backup da "{old}" a "{new}"? +_filters: + followersOnly: Solo i tuoi follower + fromUser: Dall'utente + withFile: Con file + fromDomain: Dal dominio + notesAfter: Post successivi + notesBefore: Post precedenti + followingOnly: Solo i tuoi follow +_instanceMute: + heading: Elenco di server da silenziare + title: Nascondi i post dai server elencati. + instanceMuteDescription2: Separa andando a capo + instanceMuteDescription: Per silenziare post e boost dai server elencati, saranno + silenziate anche tutte le risposte a quei contenuti. +_messaging: + dms: Privato + groups: Gruppi +confirm: Conferma +importZip: Importa ZIP +exportZip: Esporta ZIP +emojiPackCreator: Creazione di un pacchetto Emoji +addRe: Aggiungi "re:" all'inizio di un commento in risposta a un post che ha un avviso + sui contenuti From 9614fb886c048ca8f23d8ba9276e5dd5a4bb8a94 Mon Sep 17 00:00:00 2001 From: Xalis Ratt Date: Thu, 24 Aug 2023 16:43:34 +0000 Subject: [PATCH 04/44] chore: Translated using Weblate (Russian) Currently translated at 100.0% (1850 of 1850 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/ru/ --- locales/ru-RU.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index 926ab3003d..fada843e7a 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -2044,7 +2044,7 @@ cannotUploadBecauseExceedsFileSizeLimit: Этот файл не может бы apps: Приложения silenceThisInstance: Заглушить сервер silencedInstances: Заглушенные серверы -editNote: Редактировать заметку +editNote: Редактировать пост edited: 'Редактировано в {date} {time}' deleted: Удалённое removeReaction: Удалить вашу реакцию From 8c3ee4a26855d79261283e8ceed3d9e84e2d4c00 Mon Sep 17 00:00:00 2001 From: ltlapy Date: Thu, 24 Aug 2023 10:25:32 +0000 Subject: [PATCH 05/44] chore: Translated using Weblate (Korean) Currently translated at 100.0% (1850 of 1850 strings) Translation: Firefish/locales Translate-URL: https://hosted.weblate.org/projects/firefish/locales/ko/ --- locales/ko-KR.yml | 59 +++++++++++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 0b1e633184..f3731802d9 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -205,7 +205,7 @@ noUsers: "아무도 없습니다" editProfile: "프로필 수정" noteDeleteConfirm: "이 게시물을 삭제하시겠습니까?" pinLimitExceeded: "더 이상 고정할 수 없습니다." -intro: "Misskey의 설치가 완료되었습니다! 관리자 계정을 생성해주세요." +intro: "Firefish의 설치가 완료되었습니다! 관리자 계정을 생성해주세요." done: "완료" processing: "처리중" preview: "미리보기" @@ -294,7 +294,7 @@ emptyDrive: "드라이브가 비어 있습니다" emptyFolder: "폴더가 비어 있습니다" unableToDelete: "삭제할 수 없습니다" inputNewFileName: "바꿀 파일명을 입력해 주세요" -inputNewDescription: "새 캡션을 입력해 주세요" +inputNewDescription: "새 설명을 입력해 주세요" inputNewFolderName: "바꿀 폴더명을 입력해 주세요" circularReferenceFolder: "지정한 폴더가 이동할 폴더의 하위 폴더입니다." hasChildFilesOrFolders: "이 폴더는 비어있지 않기 때문에 삭제할 수 없습니다." @@ -386,7 +386,7 @@ exploreFediverse: "연합우주를 탐색" popularTags: "인기 태그" userList: "리스트" about: "정보" -aboutFirefish: "Misskey에 대하여" +aboutFirefish: "Firefish에 대하여" administrator: "관리자" token: "토큰" twoStepAuthentication: "2단계 인증" @@ -537,8 +537,8 @@ sort: "정렬" ascendingOrder: "오름차순" descendingOrder: "내림차순" scratchpad: "스크래치 패드" -scratchpadDescription: "스크래치 패드는 AiScript 의 테스트 환경을 제공합니다. Firefish 와 상호 작용하는 코드를 작성, - 실행 및 결과를 확인할 수 있습니다." +scratchpadDescription: "스크래치 패드는 AiScript 의 테스트 환경을 제공합니다. Firefish 와 상호 작용하는 코드를 + 작성, 실행 및 결과를 확인할 수 있습니다." output: "출력" script: "스크립트" disablePagesScript: "Pages 에서 AiScript 를 사용하지 않음" @@ -572,8 +572,8 @@ disablePlayer: "플레이어 닫기" expandTweet: "트윗 확장하기" themeEditor: "테마 에디터" description: "설명" -describeFile: "캡션 추가" -enterFileDescription: "캡션 입력" +describeFile: "설명 추가" +enterFileDescription: "설명 입력" author: "작성자" leaveConfirm: "저장하지 않은 변경사항이 있습니다. 취소하시겠습니까?" manage: "관리" @@ -789,7 +789,7 @@ gallery: "갤러리" recentPosts: "최근 포스트" popularPosts: "인기 포스트" shareWithNote: "게시물로 공유" -ads: "광고" +ads: "커뮤니티 배너" expiration: "기한" memo: "메모" priority: "우선순위" @@ -811,7 +811,7 @@ hashtags: "해시태그" troubleshooting: "문제 해결" useBlurEffect: "UI에 흐림 효과 사용" learnMore: "자세히" -misskeyUpdated: "Misskey가 업데이트 되었습니다!" +misskeyUpdated: "Firefish가 업데이트 되었습니다!" whatIsNew: "패치 정보 보기" translate: "번역" translatedFrom: "{x}에서 번역" @@ -840,7 +840,7 @@ unmuteThread: "글타래 뮤트 해제" ffVisibility: "내 인맥의 공개 범위" ffVisibilityDescription: "나의 팔로우와 팔로워 정보에 대한 공개 범위를 설정할 수 있습니다." continueThread: "이 글타래 이어서 보기" -deleteAccountConfirm: "계정이 삭제되고 되돌릴 수 없게 됩니다. 계속하시겠습니까? " +deleteAccountConfirm: "계정이 삭제되고 되돌릴 수 없게 됩니다. 계속하시겠습니까?" incorrectPassword: "비밀번호가 올바르지 않습니다." voteConfirm: "\"{choice}\"에 투표하시겠습니까?" hide: "숨기기" @@ -992,12 +992,12 @@ _registry: domain: "도메인" createKey: "키 생성" _aboutFirefish: - about: "Misskey는 syuilo에 의해서 2014년부터 개발되어 온 오픈소스 소프트웨어 입니다." + about: "Firefish는 ThatOneCalculator에 의해서 2022년부터 개발되어 온 Misskey의 포크 소프트웨어 입니다." contributors: "주요 기여자" allContributors: "모든 기여자" source: "소스 코드" - translation: "Misskey를 번역하기" - donate: "Misskey에 기부하기" + translation: "Firefish를 번역하기" + donate: "Firefish에 기부하기" morePatrons: "이 외에도 다른 많은 분들이 도움을 주시고 계십니다. 감사합니다🥰" patrons: "후원자" patronsList: 기부 금액이 아닌 시간 순서로 정렬합니다. 위 링크를 통해 후원하여 당신의 이름을 새겨 보세요! @@ -1006,15 +1006,16 @@ _aboutFirefish: pleaseDonateToFirefish: Firefish의 개발에 후원하는 것을 검토하여 주십시오. donateHost: '{host} 에게 기부하기' donateTitle: Firefish가 마음에 드시나요? + misskeyContributors: 오리지널 Misskey 기여자 _nsfw: respect: "열람주의로 설정된 미디어 숨기기" ignore: "열람 주의 미디어 항상 표시" force: "미디어 항상 숨기기" _mfm: cheatSheet: "MFM 도움말" - intro: "MFM는 Misskey의 다양한 곳에서 사용할 수 있는 전용 마크업 언어입니다. 여기에서는 MFM에서 사용할 수 있는 구문을 확인할 - 수 있습니다." - dummy: "Misskey로 연합우주의 세계가 펼쳐집니다" + intro: "MFM는 Misskey나 Firefish, Akkoma 외의 다양한 곳에서 사용할 수 있는 전용 마크업 언어입니다. 여기에서는 MFM에서 + 사용할 수 있는 구문을 확인할 수 있습니다." + dummy: "Firefish로 연합우주의 세계가 펼쳐집니다" mention: "멘션" mentionDescription: "골뱅이표(@) 뒤에 사용자명을 넣어 특정 유저를 나타낼 수 있습니다." hashtag: "해시태그" @@ -1836,7 +1837,7 @@ cannotUploadBecauseExceedsFileSizeLimit: 파일 크기 제한을 초과하여 pushNotificationNotSupported: 브라우저 및 서버가 푸시 알림을 지원하지 않습니다 enableRecommendedTimeline: 추천 타임라인을 활성화 pushNotificationAlreadySubscribed: 푸시 알림이 활성화되었습니다 -caption: 자동 캡션 +caption: 자동으로 설명 붙이기 findOtherInstance: 다른 서버 둘러보기 enableIdenticonGeneration: 유저 별 Identicon의 생성을 활성화 secureModeInfo: 인증 정보가 없는 리모트 서버로부터의 요청에 응답하지 않습니다. @@ -1858,7 +1859,7 @@ customKaTeXMacroDescription: 'KaTeX 매크로를 지정하여 수식을 더욱 사용할 수 없습니다. 올바르지 않은 정의는 무시됩니다. 문자열을 치환하는 수준에서만 지원하며, 조건 분기와 같은 고도의 구문은 사용할 수 없습니다.' reactionPickerSkinTone: 선호하는 이모지 피부 톤 selectInstance: 서버 선택 -showAds: 광고 보이기 +showAds: 커뮤니티 배너를 보이기 searchPlaceholder: Firefish에서 검색 addInstance: 서버 추가 listsDesc: 리스트를 사용하여 특정 유저로 이루어진 타임라인을 구성할 수 있습니다. 리스트는 '타임라인' 페이지에서 접근할 수 있습니다. @@ -1887,7 +1888,7 @@ swipeOnDesktop: 데스크톱에서도 모바일과 같은 스와이프를 사용 migration: 계정 이사 moveTo: 이 계정에서 새로운 계정으로 이사 deleted: 삭제됨 -editNote: 노트 편집 +editNote: 게시물 편집 edited: '편짐됨: {date} {time}' customMOTD: 사용자 지정 MOTD (스플래시 화면 메시지) selectChannel: 채널 선택 @@ -1949,8 +1950,8 @@ silencedWarning: 관리자가 사일런스한 서버에 속한 유저이며, 스 isModerator: 모더레이터 isPatron: Firefish 후원자 _experiments: - postImportsCaption: 유저가 과거에 작성한 게시물을 Firefish(Firefish), Misskey, Mastodon, Akkoma, - Pleroma 등에서 가져올 수 있게 합니다. 작업 대기열의 처리 속도가 느릴 경우 서비스에 영향이 갈 수 있습니다. + postImportsCaption: 유저가 과거에 작성한 게시물을 Firefish, Misskey, Mastodon, Akkoma, Pleroma + 등에서 가져올 수 있게 합니다. 작업 대기열의 처리 속도가 느릴 경우 서비스에 영향이 갈 수 있습니다. enablePostImports: 게시물 가져오기를 활성화 title: 실험실 _messaging: @@ -1958,7 +1959,7 @@ _messaging: dms: 개인 메시지 _tutorial: title: Firefly의 사용 방법 - step5_5: '{icon} 소셜 타임라인은 홈 타임라인과 소셜 타임라인을 합친 것과 같습니다.' + step5_5: '{icon} 소셜 타임라인은 홈 타임라인과 로컬 타임라인을 합친 것과 같습니다.' step4_1: 첫 노트를 올려 봅시다. step5_3: '{icon} 홈 타임라인은 내가 팔로우하고 있는 계정의 게시물을 볼 수 있는 타임라인입니다.' step6_2: 이 서버에 가입을 마친 당신은 단순히 Firefish 서버의 유저가 아닌, 수많은 서버가 서로 상호작용하는 연합우주에 참가하시게 @@ -2003,3 +2004,17 @@ _feeds: _dialog: charactersExceeded: 글자 수 제한을 초과했습니다! 현재 {current}자 / 최대 {max}자 charactersBelow: 최소 글자 수 보다 작습니다! 현재 {current}자 / 최소 {max}자 +emojiPackCreator: 이모지 팩 만든이 +objectStorageS3ForcePathStyleDesc: Endpoint URL을 '.s3.amazonaws.com'가 아닌 's3.amazonaws.com//'와 + 같은 형식으로 사용할 경우에 활성화해 주세요. +confirm: 확인 +importZip: ZIP으로 가져오기 +exportZip: ZIP으로 내보내기 +origin: 원본 +objectStorageS3ForcePathStyle: 경로 기반 Endpoint URL을 사용하기 +delete2fa: 2FA를 비활성화 +delete2faConfirm: 이 계정에서 2FA를 영구히 삭제합니다. 계속하시겠습니까? +deletePasskeys: 보안 키 삭제 +deletePasskeysConfirm: 이 계정에서 모든 보안 키를 영구히 삭제합니다. 계속하시겠습니까? +inputNotMatch: 입력이 일치하지 않습니다 +addRe: 열람주의로 표시된 게시물의 답장에 're:' 붙이기 From c51e6ad3ae22ccbc69b0d40d21cafa311573fec8 Mon Sep 17 00:00:00 2001 From: naskya Date: Sat, 26 Aug 2023 05:33:29 +0000 Subject: [PATCH 06/44] update stop words --- packages/backend/src/db/meilisearch.ts | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/backend/src/db/meilisearch.ts b/packages/backend/src/db/meilisearch.ts index bee693cbd8..40efaa5864 100644 --- a/packages/backend/src/db/meilisearch.ts +++ b/packages/backend/src/db/meilisearch.ts @@ -70,6 +70,8 @@ if (hasConfig) { "of", "they", "these", + "is", + "are", "これ", "それ", "あれ", @@ -81,37 +83,30 @@ if (hasConfig) { "あそこ", "こちら", "どこ", - "だれ", - "なに", - "なん", - "何", "私", - "貴方", - "貴方方", + "僕", + "俺", + "君", + "あなた", "我々", "私達", - "あの人", - "あのか", "彼女", "彼", "です", - "ありま", - "おりま", - "います", + "ます", "は", "が", "の", "に", "を", "で", - "え", + "へ", "から", "まで", "より", "も", "どの", "と", - "し", "それで", "しかし", ]) From 031170c56a7713c0010ba7d1647ce8e418c437fe Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Sat, 26 Aug 2023 16:30:30 -0700 Subject: [PATCH 07/44] chore: :art: format --- .../src/remote/activitypub/kernel/index.ts | 4 +- packages/client/src/pages/admin/index.vue | 51 ++++++++++++++----- .../src/pages/admin/overview.active-users.vue | 10 +++- packages/client/src/pages/admin/overview.vue | 11 +++- packages/client/src/pages/user/followers.vue | 10 +++- packages/client/src/pages/user/following.vue | 10 +++- 6 files changed, 79 insertions(+), 17 deletions(-) diff --git a/packages/backend/src/remote/activitypub/kernel/index.ts b/packages/backend/src/remote/activitypub/kernel/index.ts index 3abae80dc0..a90ac02345 100644 --- a/packages/backend/src/remote/activitypub/kernel/index.ts +++ b/packages/backend/src/remote/activitypub/kernel/index.ts @@ -106,6 +106,8 @@ async function performOneActivity( } else if (isMove(activity)) { await move(actor, activity); } else { - apLogger.warn(`Unrecognized activity type: ${(activity as IActivity).type}`); + apLogger.warn( + `Unrecognized activity type: ${(activity as IActivity).type}`, + ); } } diff --git a/packages/client/src/pages/admin/index.vue b/packages/client/src/pages/admin/index.vue index e1667fbf87..0bd8ef87ad 100644 --- a/packages/client/src/pages/admin/index.vue +++ b/packages/client/src/pages/admin/index.vue @@ -59,7 +59,18 @@ + diff --git a/packages/client/src/pages/_error_.vue b/packages/client/src/pages/_error_.vue index 7bc79fdf3c..da7cc266ec 100644 --- a/packages/client/src/pages/_error_.vue +++ b/packages/client/src/pages/_error_.vue @@ -35,9 +35,8 @@ diff --git a/packages/client/src/pages/admin/overview.queue-chart.vue b/packages/client/src/pages/admin/overview.queue-chart.vue index 1348bde98e..4ed66f545e 100644 --- a/packages/client/src/pages/admin/overview.queue-chart.vue +++ b/packages/client/src/pages/admin/overview.queue-chart.vue @@ -3,7 +3,7 @@ - - diff --git a/packages/client/src/pages/admin/overview.queue.chart.vue b/packages/client/src/pages/admin/overview.queue.chart.vue index 01a0d0ec07..f39315e3e3 100644 --- a/packages/client/src/pages/admin/overview.queue.chart.vue +++ b/packages/client/src/pages/admin/overview.queue.chart.vue @@ -3,10 +3,8 @@ - - diff --git a/packages/client/src/pages/admin/overview.queue.vue b/packages/client/src/pages/admin/overview.queue.vue index 1084f2e397..bf6a45ee5d 100644 --- a/packages/client/src/pages/admin/overview.queue.vue +++ b/packages/client/src/pages/admin/overview.queue.vue @@ -45,9 +45,7 @@ import { markRaw, onMounted, onUnmounted, ref, shallowRef } from "vue"; import XChart from "./overview.queue.chart.vue"; import number from "@/filters/number"; -import * as os from "@/os"; import { stream } from "@/stream"; -import { i18n } from "@/i18n"; const connection = markRaw(stream.useChannel("queueStats")); @@ -55,10 +53,10 @@ const activeSincePrevTick = ref(0); const active = ref(0); const delayed = ref(0); const waiting = ref(0); -let chartProcess = shallowRef>(); -let chartActive = shallowRef>(); -let chartDelayed = shallowRef>(); -let chartWaiting = shallowRef>(); +const chartProcess = shallowRef>(); +const chartActive = shallowRef>(); +const chartDelayed = shallowRef>(); +const chartWaiting = shallowRef>(); const props = defineProps<{ domain: string; @@ -70,10 +68,10 @@ const onStats = (stats) => { delayed.value = stats[props.domain].delayed; waiting.value = stats[props.domain].waiting; - chartProcess.value.pushData(stats[props.domain].activeSincePrevTick); - chartActive.value.pushData(stats[props.domain].active); - chartDelayed.value.pushData(stats[props.domain].delayed); - chartWaiting.value.pushData(stats[props.domain].waiting); + chartProcess.value?.pushData(stats[props.domain].activeSincePrevTick); + chartActive.value?.pushData(stats[props.domain].active); + chartDelayed.value?.pushData(stats[props.domain].delayed); + chartWaiting.value?.pushData(stats[props.domain].waiting); }; const onStatsLog = (statsLog) => { @@ -89,10 +87,10 @@ const onStatsLog = (statsLog) => { dataWaiting.push(stats[props.domain].waiting); } - chartProcess.value.setData(dataProcess); - chartActive.value.setData(dataActive); - chartDelayed.value.setData(dataDelayed); - chartWaiting.value.setData(dataWaiting); + chartProcess.value?.setData(dataProcess); + chartActive.value?.setData(dataActive); + chartDelayed.value?.setData(dataDelayed); + chartWaiting.value?.setData(dataWaiting); }; onMounted(() => { diff --git a/packages/client/src/pages/admin/overview.stats.vue b/packages/client/src/pages/admin/overview.stats.vue index de301b0b9b..81d90d93e3 100644 --- a/packages/client/src/pages/admin/overview.stats.vue +++ b/packages/client/src/pages/admin/overview.stats.vue @@ -94,20 +94,18 @@ - - diff --git a/packages/client/src/pages/admin/queue.chart.vue b/packages/client/src/pages/admin/queue.chart.vue index b220201d3d..d26605788b 100644 --- a/packages/client/src/pages/admin/queue.chart.vue +++ b/packages/client/src/pages/admin/queue.chart.vue @@ -72,10 +72,10 @@ const active = ref(0); const delayed = ref(0); const waiting = ref(0); const jobs = ref([]); -let chartProcess = ref>(); -let chartActive = ref>(); -let chartDelayed = ref>(); -let chartWaiting = ref>(); +const chartProcess = ref>(); +const chartActive = ref>(); +const chartDelayed = ref>(); +const chartWaiting = ref>(); const props = defineProps<{ domain: string; diff --git a/packages/client/src/pages/admin/queue.vue b/packages/client/src/pages/admin/queue.vue index 15a6bdcf02..bba49e505f 100644 --- a/packages/client/src/pages/admin/queue.vue +++ b/packages/client/src/pages/admin/queue.vue @@ -15,34 +15,13 @@ - - diff --git a/packages/client/src/pages/channel-editor.vue b/packages/client/src/pages/channel-editor.vue index 5492dac296..403a791cd7 100644 --- a/packages/client/src/pages/channel-editor.vue +++ b/packages/client/src/pages/channel-editor.vue @@ -40,7 +40,7 @@ - - diff --git a/packages/client/src/pages/channel.vue b/packages/client/src/pages/channel.vue index 974c779320..086056f85f 100644 --- a/packages/client/src/pages/channel.vue +++ b/packages/client/src/pages/channel.vue @@ -101,8 +101,7 @@ diff --git a/packages/client/src/pages/explore.users.vue b/packages/client/src/pages/explore.users.vue index 07403a2ba9..a3ec0e3171 100644 --- a/packages/client/src/pages/explore.users.vue +++ b/packages/client/src/pages/explore.users.vue @@ -145,20 +145,18 @@ import { computed, watch, ref } from "vue"; import XUserList from "@/components/MkUserList.vue"; import MkFolder from "@/components/MkFolder.vue"; import MkTab from "@/components/MkTab.vue"; -import number from "@/filters/number"; import * as os from "@/os"; import { i18n } from "@/i18n"; import { $i } from "@/account"; -import { instance } from "@/instance"; const props = defineProps<{ tag?: string; }>(); -let origin = ref("local"); -let tagsEl = ref>(); -let tagsLocal = ref([]); -let tagsRemote = ref([]); +const origin = ref("local"); +const tagsEl = ref>(); +const tagsLocal = ref([]); +const tagsRemote = ref([]); watch( () => props.tag, diff --git a/packages/client/src/pages/explore.vue b/packages/client/src/pages/explore.vue index d68dd5d6ab..b858f8437b 100644 --- a/packages/client/src/pages/explore.vue +++ b/packages/client/src/pages/explore.vue @@ -50,7 +50,7 @@ import "swiper/scss"; import "swiper/scss/virtual"; const tabs = ["users", "featured"]; -let tab = ref(tabs[0]); +const tab = ref(tabs[0]); watch(tab, () => syncSlide(tabs.indexOf(tab.value))); const headerActions = computed(() => []); diff --git a/packages/client/src/pages/follow-requests.vue b/packages/client/src/pages/follow-requests.vue index dd323f7b0f..762353b807 100644 --- a/packages/client/src/pages/follow-requests.vue +++ b/packages/client/src/pages/follow-requests.vue @@ -109,10 +109,6 @@ function reject(user) { }); } -const headerActions = computed(() => []); - -const headerTabs = computed(() => []); - definePageMetadata( computed(() => ({ title: i18n.ts.followRequests, diff --git a/packages/client/src/pages/follow.vue b/packages/client/src/pages/follow.vue index fe8d642a9c..fb771fad54 100644 --- a/packages/client/src/pages/follow.vue +++ b/packages/client/src/pages/follow.vue @@ -3,7 +3,6 @@ - - diff --git a/packages/client/src/pages/my-antennas/edit.vue b/packages/client/src/pages/my-antennas/edit.vue index 3b64f3f7aa..386d21f3cb 100644 --- a/packages/client/src/pages/my-antennas/edit.vue +++ b/packages/client/src/pages/my-antennas/edit.vue @@ -9,7 +9,7 @@ - - diff --git a/packages/client/src/pages/my-antennas/editor.vue b/packages/client/src/pages/my-antennas/editor.vue index a9e58807c3..01a711b3ed 100644 --- a/packages/client/src/pages/my-antennas/editor.vue +++ b/packages/client/src/pages/my-antennas/editor.vue @@ -134,24 +134,24 @@ const emit = defineEmits<{ (ev: "deleted"): void; }>(); -let name: string = ref(props.antenna.name); -let src: string = ref(props.antenna.src); -let userListId: any = ref(props.antenna.userListId); -let userGroupId: any = ref(props.antenna.userGroupId); -let users: string = ref(props.antenna.users.join("\n")); -let instances: string = ref(props.antenna.instances.join("\n")); -let keywords: string = ref( +const name = ref(props.antenna.name); +const src = ref(props.antenna.src); +const userListId = ref(props.antenna.userListId); +const userGroupId = ref(props.antenna.userGroupId); +const users = ref(props.antenna.users.join("\n")); +const instances = ref(props.antenna.instances.join("\n")); +const keywords = ref( props.antenna.keywords.map((x) => x.join(" ")).join("\n"), ); -let excludeKeywords: string = ref( +const excludeKeywords = ref( props.antenna.excludeKeywords.map((x) => x.join(" ")).join("\n"), ); -let caseSensitive: boolean = ref(props.antenna.caseSensitive); -let withReplies: boolean = ref(props.antenna.withReplies); -let withFile: boolean = ref(props.antenna.withFile); -let notify: boolean = ref(props.antenna.notify); -let userLists: any = ref(null); -let userGroups: any = ref(null); +const caseSensitive = ref(props.antenna.caseSensitive); +const withReplies = ref(props.antenna.withReplies); +const withFile = ref(props.antenna.withFile); +const notify = ref(props.antenna.notify); +const userLists = ref(null); +const userGroups = ref(null); watch( () => src.value, diff --git a/packages/client/src/pages/my-clips/index.vue b/packages/client/src/pages/my-clips/index.vue index fdfaf509d1..428ac62463 100644 --- a/packages/client/src/pages/my-clips/index.vue +++ b/packages/client/src/pages/my-clips/index.vue @@ -40,9 +40,7 @@ - - diff --git a/packages/client/src/pages/registry.vue b/packages/client/src/pages/registry.vue index 1da5a56a7e..ad409a26cf 100644 --- a/packages/client/src/pages/registry.vue +++ b/packages/client/src/pages/registry.vue @@ -24,7 +24,7 @@ - - diff --git a/packages/client/src/pages/reset-password.vue b/packages/client/src/pages/reset-password.vue index 4c8de5cd70..c7983ebe50 100644 --- a/packages/client/src/pages/reset-password.vue +++ b/packages/client/src/pages/reset-password.vue @@ -42,7 +42,7 @@ const props = defineProps<{ token?: string; }>(); -let password = ref(""); +const password = ref(""); async function save() { await os.apiWithDialog("reset-password", { @@ -75,5 +75,3 @@ definePageMetadata({ icon: "ph-lock ph-bold ph-lg", }); - - diff --git a/packages/client/src/pages/scratchpad.vue b/packages/client/src/pages/scratchpad.vue index 91a43f1501..a63c7f5682 100644 --- a/packages/client/src/pages/scratchpad.vue +++ b/packages/client/src/pages/scratchpad.vue @@ -37,7 +37,7 @@ - - diff --git a/packages/client/src/pages/settings/preferences-backups.vue b/packages/client/src/pages/settings/preferences-backups.vue index bb37e9aa5f..857c3282fa 100644 --- a/packages/client/src/pages/settings/preferences-backups.vue +++ b/packages/client/src/pages/settings/preferences-backups.vue @@ -161,7 +161,7 @@ type Profile = { const connection = $i && stream.useChannel("main"); -let profiles = ref | null>(null); +const profiles = ref | null>(null); os.api("i/registry/get-all", { scope }).then((res) => { profiles.value = res || {}; diff --git a/packages/client/src/pages/settings/privacy.vue b/packages/client/src/pages/settings/privacy.vue index 0d13923559..291b0be2a0 100644 --- a/packages/client/src/pages/settings/privacy.vue +++ b/packages/client/src/pages/settings/privacy.vue @@ -142,7 +142,6 @@ - - diff --git a/packages/client/src/pages/user/following.vue b/packages/client/src/pages/user/following.vue index ce4a48ebed..46d234e3a8 100644 --- a/packages/client/src/pages/user/following.vue +++ b/packages/client/src/pages/user/following.vue @@ -16,15 +16,7 @@ - - diff --git a/packages/client/src/pages/verify-email.vue b/packages/client/src/pages/verify-email.vue index 0b9f256083..46b18b6130 100644 --- a/packages/client/src/pages/verify-email.vue +++ b/packages/client/src/pages/verify-email.vue @@ -5,7 +5,7 @@ diff --git a/packages/client/src/components/MkDrive.vue b/packages/client/src/components/MkDrive.vue index a0b3713a72..28204fe86c 100644 --- a/packages/client/src/components/MkDrive.vue +++ b/packages/client/src/components/MkDrive.vue @@ -139,7 +139,7 @@ import { ref, watch, } from "vue"; -import * as Misskey from "firefish-js"; +import type * as Misskey from "firefish-js"; import MkButton from "./MkButton.vue"; import XNavFolder from "@/components/MkDrive.navFolder.vue"; import XFolder from "@/components/MkDrive.folder.vue"; @@ -294,7 +294,7 @@ function onDrop(ev: DragEvent): any { return; } - //#region ドライブのファイル + // #region ドライブのファイル const driveFile = ev.dataTransfer.getData(_DATA_TRANSFER_DRIVE_FILE_); if (driveFile != null && driveFile !== "") { const file = JSON.parse(driveFile); @@ -305,9 +305,9 @@ function onDrop(ev: DragEvent): any { folderId: folder.value ? folder.value.id : null, }); } - //#endregion + // #endregion - //#region ドライブのフォルダ + // #region ドライブのフォルダ const driveFolder = ev.dataTransfer.getData(_DATA_TRANSFER_DRIVE_FOLDER_); if (driveFolder != null && driveFolder !== "") { const droppedFolder = JSON.parse(driveFolder); @@ -339,7 +339,7 @@ function onDrop(ev: DragEvent): any { } }); } - //#endregion + // #endregion } function selectLocalFile() { @@ -354,7 +354,7 @@ function urlUpload() { }).then(({ canceled, result: url }) => { if (canceled || !url) return; os.api("drive/files/upload-from-url", { - url: url, + url, folderId: folder.value ? folder.value.id : undefined, }); @@ -372,7 +372,7 @@ function createFolder() { }).then(({ canceled, result: name }) => { if (canceled) return; os.api("drive/folders/create", { - name: name, + name, parentId: folder.value ? folder.value.id : undefined, }).then((createdFolder) => { addFolder(createdFolder, true); @@ -389,7 +389,7 @@ function renameFolder(folderToRename: Misskey.entities.DriveFolder) { if (canceled) return; os.api("drive/folders/update", { folderId: folderToRename.id, - name: name, + name, }).then((updatedFolder) => { // FIXME: 画面を更新するために自分自身に移動 move(updatedFolder); diff --git a/packages/client/src/components/MkDriveFileThumbnail.vue b/packages/client/src/components/MkDriveFileThumbnail.vue index c5af469e91..7d9b43635e 100644 --- a/packages/client/src/components/MkDriveFileThumbnail.vue +++ b/packages/client/src/components/MkDriveFileThumbnail.vue @@ -68,7 +68,7 @@ const is = computed(() => { "application/x-tar", "application/gzip", "application/x-7z-compressed", - ].some((archiveType) => archiveType === props.file.type) + ].includes(props.file.type) ) return "archive"; return "unknown"; diff --git a/packages/client/src/components/MkDriveSelectDialog.vue b/packages/client/src/components/MkDriveSelectDialog.vue index 5b3b33d6c7..ae292b96a7 100644 --- a/packages/client/src/components/MkDriveSelectDialog.vue +++ b/packages/client/src/components/MkDriveSelectDialog.vue @@ -37,7 +37,7 @@ diff --git a/packages/client/src/pages/announcements.vue b/packages/client/src/pages/announcements.vue index 1830613644..bf4f099fc3 100644 --- a/packages/client/src/pages/announcements.vue +++ b/packages/client/src/pages/announcements.vue @@ -16,8 +16,12 @@ class="announcement _panel" >
- 🆕 -

{{ announcement.title }}

+

+ + 🆕  + + {{ announcement.title }} +

{{ i18n.ts.updatedAt }}: @@ -85,7 +89,7 @@ definePageMetadata({ } > ._title { - padding: 14px 32px !important; + padding: 0.5rem 2rem !important; } > ._seperator { @@ -93,7 +97,7 @@ definePageMetadata({ } > ._content { - padding: 2rem; + padding: 0 2rem !important; > img { display: block;