From 231fbda780319da321fd219d0c04a242d8b3866a Mon Sep 17 00:00:00 2001 From: naskya Date: Thu, 31 Aug 2023 08:24:27 +0900 Subject: [PATCH] Firefish v1.0.5-dev7 --- locales/fr-FR.yml | 2 +- locales/id-ID.yml | 4 +- locales/it-IT.yml | 404 +++++++++++++----- locales/ko-KR.yml | 115 ++--- locales/ru-RU.yml | 2 +- locales/th-TH.yml | 238 +++++++---- neko/UPSTREAM_COMMIT_ID | 2 +- package.json | 4 +- packages/backend/native-utils/Cargo.lock | 1 + .../backend/native-utils/migration/Cargo.toml | 5 +- .../backend/native-utils/migration/src/lib.rs | 11 + ...m20230806_170616_fix_antenna_stream_ids.rs | 5 +- packages/backend/package.json | 2 +- packages/backend/src/db/meilisearch.ts | 21 +- .../backend/src/server/api/stream/index.ts | 6 +- pnpm-lock.yaml | 15 +- 16 files changed, 558 insertions(+), 279 deletions(-) diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index a4571a075..098c97a40 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -71,7 +71,7 @@ driveFileDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer le fichier \"{n \ ? Il sera retiré de toutes les publications qui le contiennent comme pièce-jointe." unfollowConfirm: "Désirez-vous vous désabonner de {name} ?" exportRequested: "Vous avez demandé une exportation. L’opération pourrait prendre - un peu de temps. Une terminée, le fichier résultant sera ajouté au Drive." + un peu de temps. Une fois terminée, le fichier résultant sera ajouté au Drive." importRequested: "Vous avez initié un import. Cela pourrait prendre un peu de temps." lists: "Listes" noLists: "Vous n’avez aucune liste" diff --git a/locales/id-ID.yml b/locales/id-ID.yml index 39374c208..2c9331319 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -74,7 +74,7 @@ exportRequested: "Kamu telah meminta ekspor. Ini akan memakan waktu sesaat. Sete importRequested: "Kamu telah meminta impor. Ini akan memakan waktu sesaat." lists: "Daftar" noLists: "Kamu tidak memiliki daftar apapun" -note: "Postingan" +note: "Posting" notes: "Postingan" following: "Ikuti" followers: "Pengikut" @@ -1837,7 +1837,7 @@ _notification: followBack: "Ikuti Kembali" reply: "Balas" renote: "Posting ulang" - reacted: berekasi ke postinganmu + reacted: mereaksi postinganmu renoted: memposting ulang postinganmu voted: memilih di angketmu _deck: diff --git a/locales/it-IT.yml b/locales/it-IT.yml index cbea8b6dc..9bd45fa57 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,10 +74,10 @@ 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" -following: "Follows" -followers: "Followers" +note: "Post" +notes: "Post" +following: "Chi segui" +followers: "Chi ti segue" followsYou: "Ti segue" createList: "Aggiungi una nuova lista" manageLists: "Gestisci liste" @@ -92,19 +92,19 @@ youShouldUpgradeClient: "Per visualizzare la pagina è necessario aggiornare il alla nuova versione e ricaricare." enterListName: "Nome della lista" privacy: "Privacy" -makeFollowManuallyApprove: "Richiedi di approvare i follower manualmente" -defaultNoteVisibility: "Privacy predefinita delle note" +makeFollowManuallyApprove: "Approva manualmente le richieste di follow" +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" +followRequestPending: "Richiesta di follow in approvazione" 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" @@ -154,18 +154,17 @@ flagAsBotDescription: "Se l'account esegue principalmente operazioni automatiche i sistemi interni di Firefish perché trattino questo account come un bot." flagAsCat: "Io sono un gatto" flagAsCatDescription: "Abilita l'opzione \"Io sono un gatto\" per l'account." -autoAcceptFollowed: "Accetta automaticamente le richieste di follow da utenti che - già segui" +autoAcceptFollowed: "Accetta in automatico i follow dagli account che 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" removeWallpaper: "Elimina lo sfondo" searchWith: "Cerca: {q}" youHaveNoLists: "Non hai ancora creato nessuna lista" -followConfirm: "Sei sicur@ di voler seguire {name}?" +followConfirm: "Confermi di voler seguire {name}?" proxyAccount: "Account proxy" proxyAccountDescription: "Un account proxy è un account che funziona da follower remoto sotto certe condizioni. Ad esempio, quando un utente aggiunge un utente remoto a @@ -214,7 +213,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" @@ -229,8 +228,8 @@ all: "Tutti" subscribing: "Iscrivendo" publishing: "Pubblicando" notResponding: "Nessuna risposta" -instanceFollowing: "Seguiti su questo server" -instanceFollowers: "Follower del server" +instanceFollowing: "Seguiti da te su questo server" +instanceFollowers: "Chi ti segue su questo server" instanceUsers: "Utenti del server" changePassword: "Aggiorna Password" security: "Sicurezza" @@ -305,7 +304,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" @@ -383,7 +382,7 @@ enableServiceworker: "Abilita ServiceWorker" antennaUsersDescription: "Inserisci solo un nome utente per riga" caseSensitive: "Sensibile alla distinzione tra maiuscole e minuscole" withReplies: "Includere le risposte" -connectedTo: "Sei conness@ agli account qui sotto:" +connectedTo: "Stai seguendo questi account" notesAndReplies: "Post e risposte" withFiles: "Con file in allegato" silence: "Silenzia" @@ -420,7 +419,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" @@ -485,7 +484,7 @@ createAccount: "Crea il tuo account" existingAccount: "Account esistente" regenerate: "Generare di nuovo" fontSize: "Dimensione carattere" -noFollowRequests: "Non hai alcuna richiesta di follow" +noFollowRequests: "Non ci sono richieste di follow" openImageInNewTab: "Aprire immagini in una nuova scheda" dashboard: "Pannello di controllo" local: "Locale" @@ -500,7 +499,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" @@ -560,9 +559,9 @@ disablePagesScript: "Disabilita AiScript nelle pagine" updateRemoteUser: "Aggiornare le informazioni di utente remot@" deleteAllFiles: "Elimina tutti i file" deleteAllFilesConfirm: "Vuoi davvero eliminare tutti i file?" -removeAllFollowing: "Cancella tutti i follows" -removeAllFollowingDescription: "Cancella tutti i follow verso il server {host}. È - utile soprattutto se per esempio il server non esiste più." +removeAllFollowing: "Smetti di seguire tutti" +removeAllFollowingDescription: "Smetti di seguire tutti gli account del server {host}. + È utile specialmente se il server non esiste più." userSuspended: "L'utente è sospes@." userSilenced: "L'utente è silenziat@." yourAccountSuspendedTitle: "Questo account è sospeso." @@ -671,7 +670,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 +685,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,17 +703,16 @@ 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: "Se non imposti la visibilità a \"Solo chi ti segue\", i singoli + post saranno visibili a tutti, anche se per seguirti è necessaria la tua approvazione." alwaysMarkSensitive: "Segnare i media come sensibili per impostazione predefinita" loadRawImages: "Visualizza le intere immagini allegate invece delle miniature." disableShowingAnimatedImages: "Disabilita le immagini animate" -verificationEmailSent: "Una mail di verifica è stata inviata. Si prega di accedere - al collegamento per compiere la verifica." +verificationEmailSent: "Una mail di verifica è stata inviata. Clicca sul link per + completare 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 +723,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 +735,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 @@ -845,7 +843,7 @@ aiChanMode: "Modalità Ai" keepCw: "Mantieni il CW" resolved: "Risolto" unresolved: "Non risolto" -breakFollow: "Smetti di seguire" +breakFollow: "Rimuovi follower" itsOn: "Abilitato" itsOff: "Disabilitato" emailRequiredForSignup: "È necessario un indirizzo mail per registrare un account" @@ -886,11 +884,13 @@ _emailUnavailable: smtp: "Il server email non risponde" _ffVisibility: public: "Pubblico" - followers: "Mostra solo ai follower" + followers: "Mostra solo a chi ti segue" private: "Invisibile" _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 +898,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 +908,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 +931,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 +942,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 +997,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 +1054,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" @@ -1000,25 +1062,30 @@ _channel: removeBanner: "Rimuovi intestazione" featured: "Tendenze" owned: "I miei canali" - following: "Seguiti" + following: "Chi segui" 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" @@ -1036,7 +1103,7 @@ _theme: constant: "Costante" defaultValue: "Valore predefinito" color: "Colore" - refConst: "Chiama costante" + refConst: "Valore di una costante" key: "Chiave" func: "Funzione" funcKind: "Tipo di funzione" @@ -1063,7 +1130,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 +1148,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: Valore di una proprietà + basedProp: Nome proprietà _sfx: - note: "Nota" - noteMy: "Mia nota" + note: "Nuovo post" + noteMy: "Proprio post" notification: "Notifiche" chat: "Messaggi" chatBg: "Chat (sfondo)" @@ -1095,7 +1175,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 +1189,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!" - 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" + 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: "Le tue timeline Home e Social si basano su chi segui, quindi prova a seguire + un paio di account per iniziare.\nClicca sul cerchio 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" @@ -1147,13 +1259,13 @@ _permissions: "write:drive": "Gestire il Drive" "read:favorites": "Visualizza i tuoi preferiti" "write:favorites": "Gestisci i tuoi preferiti" - "read:following": "Vedi le informazioni di follow" - "write:following": "Seguiti/ Smetti di seguire" + "read:following": "Vedi le informazioni su chi segui" + "write:following": "Aggiungi o rimuovi account da seguire" "read:messaging": "Visualizzare la chat" "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 +1279,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,9 +1290,11 @@ _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" + homeTimeline: "Post dagli account che segui" users: "Post dagli utenti selezionati" userList: "Post dagli utenti di una lista specifica" userGroup: "Post dagli utenti in un gruppo specifico" @@ -1250,8 +1368,8 @@ _visibility: publicDescription: "Il tuo post sarà visibile in tutte le timeline pubbliche" home: "Home" homeDescription: "Visibile solo sulla timeline \"Home\"" - followers: "Followers" - followersDescription: "Visibile solo per i tuoi followers e gli utenti che menzioni" + followers: "Chi ti segue" + followersDescription: "Visibile solo a chi ti segue e a chi menzioni" specified: "Diretta" specifiedDescription: "Visibile solo per gli/le utenti menzionatə" localOnly: "Soltanto locale" @@ -1285,7 +1403,7 @@ _profile: l'ora locale in cui ti trovi. _exportOrImport: allNotes: "Tutti i post" - followingList: "Follows" + followingList: "Account che segui" muteList: "Account silenziati" blockingList: "Account bloccati" userLists: "Liste" @@ -1311,8 +1429,8 @@ _instanceCharts: usersTotal: "Totale cumulativo di utenti" notes: "Differenza nel numero di post" notesTotal: "Totale cumulativo di post" - ff: "Variazione dei follow/ follower" - ffTotal: "Totale cumulato dei follow/ follower" + ff: "Differenza tra chi segui e chi ti segue " + ffTotal: "Totale tra chi segui e chi ti segue" cacheSize: "Variazione dello spazio occupato dalla cache" cacheSizeTotal: "Totale cumulato dello spazio occupato dalla cache" files: "Variazione del numero di file" @@ -1322,7 +1440,7 @@ _timelines: local: "Locale" social: "Sociale" global: "Federata" - recommended: Raccomandato + recommended: Suggerito _pages: newPage: "Crea pagina" editPage: "Modifica pagina" @@ -1628,30 +1746,30 @@ _notification: youGotPoll: "{name} ha votato" youGotMessagingMessageFromUser: "{name} ti ha mandato un messaggio" youGotMessagingMessageFromGroup: "{name} ti ha mandato un messaggio nella chat" - youWereFollowed: "Ha iniziato a seguirti" + youWereFollowed: "ha iniziato a seguirti" youReceivedFollowRequest: "Hai ricevuto una richiesta di follow" yourFollowRequestAccepted: "La tua richiesta di follow è stata accettata" youWereInvitedToGroup: "Invitat@ al gruppo" _types: all: "Tutto" - follow: "Nuovə follower" + follow: "Nuovi che ti seguono" mention: "Menzioni" reply: "Risposte" renote: "Boost" quote: "Cita" reaction: "Reazioni" pollVote: "Voti ricevuti" - receiveFollowRequest: "Richiesta di follow ricevuta" - followRequestAccepted: "Richiesta di follow accettata" + receiveFollowRequest: "Qualcuno ha richiesto di seguirti" + followRequestAccepted: "Richiesta accettata" groupInvited: "Invito a un gruppo" app: "Notifiche da applicazioni" pollEnded: Fine del sondaggio _actions: reply: "Rispondi" renote: "Boost" - followBack: ricambia il tuo follow + followBack: ha ricambiato il follow e ti segue 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 +1823,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 +1839,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 +1855,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,9 +1866,9 @@ 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 +ffVisibility: Visibilità di chi segui e chi ti segue failedToFetchAccountInformation: Non è possibile ottenere informazioni sull'account rateLimitExceeded: Limite di richieste superato document: Documentazione @@ -1815,8 +1933,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 +1957,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 @@ -1854,8 +1972,7 @@ keepOriginalUploadingDescription: Salva l'immagine caricata originariamente cos Se disattivato, al momento del caricamento verrà generata una versione da visualizzare sul web. accessibility: Accessibilità -ffVisibilityDescription: Puoi configurare chi può vedere chi segui e anche i tuoi - follower. +ffVisibilityDescription: Puoi far vedere chi segui e chi ti segue. continueThread: Continua la conversazione smartphone: Smartphone tablet: Tablet @@ -1884,13 +2001,13 @@ allowedInstances: Whitelist dei server customCssWarn: Questa impostazione dovrebbe essere usata solo se sai cosa stai facendo. Inserire valori errati potrebbe bloccare il funzionamento del client. lastCommunication: Ultima comunicazione -breakFollowConfirm: Vuoi veramente rimuovere il follower? +breakFollowConfirm: Confermi la rimozione del follower? makeReactionsPublic: Rendi pubblica la storia di tutte le reazioni makeReactionsPublicDescription: Questa opzione rende visibile a tutti l'elenco delle 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 +2035,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 +2056,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 +2068,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 @@ -1961,7 +2078,7 @@ noGraze: Per favore disattiva l'estenzione del browser "Graze for Mastodon", per silencedWarning: Vedi questa pagina perché gli utenti sono su un server che il tuo admin ha silenziato, quindi potrebbero essere spam. isBot: Questo account è un bot -isLocked: Questo account richiede l'approvazione del follow +isLocked: Serve una approvazione per seguire questo account moveFromDescription: Questa operazione crea un alias del vecchio account in modo che tu possa migrare su questo nuovo account. Fallo PRIMA di migrare il tuo vecchio account. Usa il formato @nomeutente@server.com @@ -1980,3 +2097,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 chi ti segue + fromUser: Dall'utente + withFile: Con file + fromDomain: Dal dominio + notesAfter: Post successivi + notesBefore: Post precedenti + followingOnly: Solo chi segui +_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 diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 0b1e63318..7fcc86c5f 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -1,8 +1,6 @@ _lang_: "한국어" -headlineFirefish: "노트로 연결되는 네트워크" -introFirefish: "환영합니다! Firefish 는 오픈 소스 분산형 마이크로 블로그 서비스입니다.\n\"노트\" 를 작성해서, 지금 일어나고 - 있는 일을 공유하거나, 당신만의 이야기를 모두에게 발신하세요📡\n\"리액션\" 기능으로, 친구의 노트에 총알같이 반응을 추가할 수도 있습니다👍\n - 새로운 세계를 탐험해 보세요🚀" +headlineFirefish: "영원히 무료로 제공되는 오픈 소스 탈중앙화 소셜 미디어 플랫폼 🚀" +introFirefish: "환영합니다! Firefish 는 영원히 무료로 제공되는 오픈 소스 분산형 소셜 미디어 플랫폼입니다! 🚀" monthAndDay: "{month}월 {day}일" search: "검색" notifications: "알림" @@ -14,8 +12,8 @@ ok: "OK" gotIt: "알겠어요" cancel: "취소" enterUsername: "유저명 입력" -renotedBy: "{user}님이 Renote" -noNotes: "노트가 없습니다" +renotedBy: "{user}님이 부스트" +noNotes: "게시물이 없습니다" noNotifications: "표시할 알림이 없습니다" instance: "서버" settings: "설정" @@ -45,7 +43,7 @@ copyContent: "내용 복사" copyLink: "링크 복사" delete: "삭제" deleteAndEdit: "삭제 후 편집" -deleteAndEditConfirm: "이 노트를 삭제한 뒤 다시 편집하시겠습니까? 이 노트에 대한 리액션, 리노트, 답글 또한 모두 삭제됩니다." +deleteAndEditConfirm: "이 게시물을 삭제한 뒤 다시 편집하시겠습니까? 이 게시물에 대한 리액션, 부스트, 답글 또한 모두 삭제됩니다." addToList: "리스트에 추가" sendMessage: "메시지 보내기" copyUsername: "유저명 복사" @@ -59,20 +57,20 @@ receiveFollowRequest: "새로운 팔로우 요청이 있습니다" followRequestAccepted: "팔로우가 수락되었습니다" mention: "멘션" mentions: "받은 멘션" -directNotes: "다이렉트 노트" +directNotes: "다이렉트 게시물" importAndExport: "가져오기와 내보내기" import: "가져오기" export: "내보내기" files: "파일" download: "다운로드" -driveFileDeleteConfirm: "파일 \"{name}\" 을 삭제하시겠습니까? 이 파일이 첨부되었더 노트에서도 같이 삭제됩니다." +driveFileDeleteConfirm: "파일 \"{name}\" 을 삭제하시겠습니까? 이 파일이 첨부되었더 게시물에서도 같이 삭제됩니다." unfollowConfirm: "{name}님을 언팔로우하시겠습니까?" exportRequested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 \"드라이브\"에 추가됩니다." importRequested: "가져오기를 요청하였습니다. 이 작업에는 시간이 걸릴 수 있습니다." lists: "리스트" noLists: "리스트가 없습니다" -note: "노트" -notes: "노트" +note: "게시" +notes: "게시물" following: "팔로잉" followers: "팔로워" followsYou: "당신을 팔로우합니다" @@ -96,13 +94,13 @@ followRequests: "팔로우 요청" unfollow: "팔로우 해제" followRequestPending: "팔로우 허가 대기중" enterEmoji: "이모지 입력" -renote: "Renote" -unrenote: "Renote 취소" -renoted: "Renote 하였습니다" -cantRenote: "이 게시물은 Renote할 수 없습니다." -cantReRenote: "Renote를 Renote할 수 없습니다." +renote: "부스트" +unrenote: "부스트 취소" +renoted: "부스트 하였습니다" +cantRenote: "이 게시물은 부스트할 수 없습니다." +cantReRenote: "부스트를 부스트할 수 없습니다." quote: "인용" -pinnedNote: "고정해놓은 노트" +pinnedNote: "고정해놓은 게시물" pinned: "프로필에 고정" you: "당신" clickToShow: "클릭하여 보기" @@ -146,7 +144,7 @@ flagAsBotDescription: "이 계정을 자동화된 수단으로 운용할 경우 봇 끼리의 무한 연쇄 반응을 회피하거나, 이 계정의 시스템 상에서의 취급이 Bot 운영에 최적화되는 등의 변화가 생깁니다." flagAsCat: "나는 고양이다냥" flagAsCatDescription: "이 계정이 고양이라면 활성화 해주세요." -flagShowTimelineReplies: "타임라인에 노트의 답글을 표시하기" +flagShowTimelineReplies: "타임라인에 게시물의 답글을 표시하기" flagShowTimelineRepliesDescription: "이 설정을 활성화하면 타임라인에 다른 유저 간의 답글을 표시합니다." autoAcceptFollowed: "팔로우 중인 유저로부터의 팔로우 요청을 자동 수락" addAccount: "계정 추가" @@ -205,7 +203,7 @@ noUsers: "아무도 없습니다" editProfile: "프로필 수정" noteDeleteConfirm: "이 게시물을 삭제하시겠습니까?" pinLimitExceeded: "더 이상 고정할 수 없습니다." -intro: "Misskey의 설치가 완료되었습니다! 관리자 계정을 생성해주세요." +intro: "Firefish의 설치가 완료되었습니다! 관리자 계정을 생성해주세요." done: "완료" processing: "처리중" preview: "미리보기" @@ -294,7 +292,7 @@ emptyDrive: "드라이브가 비어 있습니다" emptyFolder: "폴더가 비어 있습니다" unableToDelete: "삭제할 수 없습니다" inputNewFileName: "바꿀 파일명을 입력해 주세요" -inputNewDescription: "새 캡션을 입력해 주세요" +inputNewDescription: "새 설명을 입력해 주세요" inputNewFolderName: "바꿀 폴더명을 입력해 주세요" circularReferenceFolder: "지정한 폴더가 이동할 폴더의 하위 폴더입니다." hasChildFilesOrFolders: "이 폴더는 비어있지 않기 때문에 삭제할 수 없습니다." @@ -386,7 +384,7 @@ exploreFediverse: "연합우주를 탐색" popularTags: "인기 태그" userList: "리스트" about: "정보" -aboutFirefish: "Misskey에 대하여" +aboutFirefish: "Firefish에 대하여" administrator: "관리자" token: "토큰" twoStepAuthentication: "2단계 인증" @@ -537,8 +535,8 @@ sort: "정렬" ascendingOrder: "오름차순" descendingOrder: "내림차순" scratchpad: "스크래치 패드" -scratchpadDescription: "스크래치 패드는 AiScript 의 테스트 환경을 제공합니다. Firefish 와 상호 작용하는 코드를 작성, - 실행 및 결과를 확인할 수 있습니다." +scratchpadDescription: "스크래치 패드는 AiScript 의 테스트 환경을 제공합니다. Firefish 와 상호 작용하는 코드를 + 작성, 실행 및 결과를 확인할 수 있습니다." output: "출력" script: "스크립트" disablePagesScript: "Pages 에서 AiScript 를 사용하지 않음" @@ -572,8 +570,8 @@ disablePlayer: "플레이어 닫기" expandTweet: "트윗 확장하기" themeEditor: "테마 에디터" description: "설명" -describeFile: "캡션 추가" -enterFileDescription: "캡션 입력" +describeFile: "설명 추가" +enterFileDescription: "설명 입력" author: "작성자" leaveConfirm: "저장하지 않은 변경사항이 있습니다. 취소하시겠습니까?" manage: "관리" @@ -703,7 +701,7 @@ experimentalFeatures: "실험실" developer: "개발자" makeExplorable: "\"발견하기\"에 내 계정 보이기" makeExplorableDescription: "비활성화하면 \"발견하기\"에 나의 계정을 표시하지 않습니다." -showGapBetweenNotesInTimeline: "타임라인의 노트 사이를 띄워서 표시" +showGapBetweenNotesInTimeline: "타임라인의 게시물 사이를 띄워서 표시" duplicate: "복제" left: "왼쪽" center: "가운데" @@ -758,7 +756,7 @@ unlikeConfirm: "좋아요를 취소할까요?" fullView: "전체 화면" quitFullView: "전체 화면 해제" addDescription: "설명 추가" -userPagePinTip: "각 게시물의 메뉴에서 「프로필에 고정」을 선택하는 것으로, 여기에 노트를 표시해 둘 수 있어요." +userPagePinTip: "각 게시물의 메뉴에서 「프로필에 고정」을 선택하는 것으로, 여기에 게시물을 표시해 둘 수 있어요." notSpecifiedMentionWarning: "수신자가 선택되지 않은 멘션이 있어요" info: "정보" userInfo: "유저 정보" @@ -789,7 +787,7 @@ gallery: "갤러리" recentPosts: "최근 포스트" popularPosts: "인기 포스트" shareWithNote: "게시물로 공유" -ads: "광고" +ads: "커뮤니티 배너" expiration: "기한" memo: "메모" priority: "우선순위" @@ -811,7 +809,7 @@ hashtags: "해시태그" troubleshooting: "문제 해결" useBlurEffect: "UI에 흐림 효과 사용" learnMore: "자세히" -misskeyUpdated: "Misskey가 업데이트 되었습니다!" +misskeyUpdated: "Firefish가 업데이트 되었습니다!" whatIsNew: "패치 정보 보기" translate: "번역" translatedFrom: "{x}에서 번역" @@ -840,7 +838,7 @@ unmuteThread: "글타래 뮤트 해제" ffVisibility: "내 인맥의 공개 범위" ffVisibilityDescription: "나의 팔로우와 팔로워 정보에 대한 공개 범위를 설정할 수 있습니다." continueThread: "이 글타래 이어서 보기" -deleteAccountConfirm: "계정이 삭제되고 되돌릴 수 없게 됩니다. 계속하시겠습니까? " +deleteAccountConfirm: "계정이 삭제되고 되돌릴 수 없게 됩니다. 계속하시겠습니까?" incorrectPassword: "비밀번호가 올바르지 않습니다." voteConfirm: "\"{choice}\"에 투표하시겠습니까?" hide: "숨기기" @@ -992,12 +990,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 +1004,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: "해시태그" @@ -1134,7 +1133,7 @@ _wordMute: _instanceMute: instanceMuteDescription: "뮤트한 서버에서 오는 답글을 포함한 모든 게시물과 부스트를 뮤트합니다." instanceMuteDescription2: "한 줄에 하나씩 입력해 주세요" - title: "지정한 서버의 노트를 숨깁니다." + title: "지정한 서버의 게시물을 숨깁니다." heading: "뮤트할 서버" _theme: explore: "테마 찾아보기" @@ -1747,7 +1746,7 @@ _notification: youGotMention: "{name}님이 멘션함" youGotReply: "{name}님이 답글함" youGotQuote: "{name}님이 인용함" - youRenoted: "{name}님이 Boost" + youRenoted: "{name}님의 부스트" youGotPoll: "{name}님이 투표함" youGotMessagingMessageFromUser: "{name} 님이 보낸 채팅이 있어요" youGotMessagingMessageFromGroup: "{name}에서 보낸 채팅이 있어요" @@ -1824,7 +1823,7 @@ replayTutorial: 튜토리얼 다시 보기 renoteMute: 부스트 뮤트 antennaInstancesDescription: 서버 호스트를 한 줄에 하나씩 입력하세요 userSaysSomethingReason: '{name} 님이 {reason}에 대해 말했습니다' -userSaysSomethingReasonQuote: '{name} 님이 {reason} 을 포함하는 노트를 인용했습니다' +userSaysSomethingReasonQuote: '{name} 님이 {reason} 을 포함하는 게시물을 인용했습니다' pushNotification: 푸시 알림 channelFederationWarn: 현재 채널은 다른 서버로 연합되지 않습니다 enableServerMachineStats: 서버의 머신 정보를 공개 @@ -1836,7 +1835,7 @@ cannotUploadBecauseExceedsFileSizeLimit: 파일 크기 제한을 초과하여 pushNotificationNotSupported: 브라우저 및 서버가 푸시 알림을 지원하지 않습니다 enableRecommendedTimeline: 추천 타임라인을 활성화 pushNotificationAlreadySubscribed: 푸시 알림이 활성화되었습니다 -caption: 자동 캡션 +caption: 자동으로 설명 붙이기 findOtherInstance: 다른 서버 둘러보기 enableIdenticonGeneration: 유저 별 Identicon의 생성을 활성화 secureModeInfo: 인증 정보가 없는 리모트 서버로부터의 요청에 응답하지 않습니다. @@ -1858,7 +1857,7 @@ customKaTeXMacroDescription: 'KaTeX 매크로를 지정하여 수식을 더욱 사용할 수 없습니다. 올바르지 않은 정의는 무시됩니다. 문자열을 치환하는 수준에서만 지원하며, 조건 분기와 같은 고도의 구문은 사용할 수 없습니다.' reactionPickerSkinTone: 선호하는 이모지 피부 톤 selectInstance: 서버 선택 -showAds: 광고 보이기 +showAds: 커뮤니티 배너를 보이기 searchPlaceholder: Firefish에서 검색 addInstance: 서버 추가 listsDesc: 리스트를 사용하여 특정 유저로 이루어진 타임라인을 구성할 수 있습니다. 리스트는 '타임라인' 페이지에서 접근할 수 있습니다. @@ -1867,7 +1866,7 @@ showEmojisInReactionNotifications: 리액션 알림에 이모지 보이기 hiddenTagsDescription: 트렌드와 '발견하기'에서 제외할 해시태그를 ('#'을 제외하고) 한 줄에 하나씩 입력하여 주십시오. 이 설정은 트렌드와 '발견하기' 외에는 영향을 주지 않습니다. antennasDesc: "안테나에서는 조건에 맞는 게시물이 표시됩니다.\n'타임라인' 페이지에서 접근할 수 있습니다." -expandOnNoteClick: 노트를 클릭하여 자세히 표시 +expandOnNoteClick: 게시물을 클릭하여 자세히 표시 expandOnNoteClickDesc: 비활성화한 경우에도 우클릭 메뉴 또는 타임스탬프를 클릭하여 열 수 있습니다. customMOTDDescription: 유저가 페이지를 로딩/새로고침할 때 마다 무작위로 표시할 메시지를 한 줄에 하나씩 입력합니다. moveFrom: 다른 계정에서 이 계정으로 이사하기 @@ -1887,7 +1886,7 @@ swipeOnDesktop: 데스크톱에서도 모바일과 같은 스와이프를 사용 migration: 계정 이사 moveTo: 이 계정에서 새로운 계정으로 이사 deleted: 삭제됨 -editNote: 노트 편집 +editNote: 게시물 편집 edited: '편짐됨: {date} {time}' customMOTD: 사용자 지정 MOTD (스플래시 화면 메시지) selectChannel: 채널 선택 @@ -1896,14 +1895,14 @@ splash: 스플래시 화면 preventAiLearningDescription: 업로드한 게시물이나 미디어를 AI 모델이 학습하지 말기를 요구합니다. isBot: 이 계정은 봇입니다 isAdmin: 관리자 -newer: 새로운 노트 -older: 이전 노트 +newer: 새로운 게시물 +older: 이전 게시물 renoteUnmute: 부스트 뮤트 해제 accountMoved: '이 유저는 다른 계정으로 이사했습니다:' silencedInstances: 사일런스한 서버 accessibility: 접근성 -userSaysSomethingReasonReply: '{name} 님이 {reason} 을 포함하는 노트에 답글했습니다' -userSaysSomethingReasonRenote: '{name} 님이 {reason} 을 포함하는 노트를 부스트했습니다' +userSaysSomethingReasonReply: '{name} 님이 {reason} 을 포함하는 게시물에 답글했습니다' +userSaysSomethingReasonRenote: '{name} 님이 {reason} 을 포함하는 게시물을 부스트했습니다' breakFollowConfirm: 팔로워를 해제하시겠습니까? indexFrom: 이 게시물 ID부터 인덱싱하기 noThankYou: 괜찮습니다 @@ -1949,8 +1948,8 @@ silencedWarning: 관리자가 사일런스한 서버에 속한 유저이며, 스 isModerator: 모더레이터 isPatron: Firefish 후원자 _experiments: - postImportsCaption: 유저가 과거에 작성한 게시물을 Firefish(Firefish), Misskey, Mastodon, Akkoma, - Pleroma 등에서 가져올 수 있게 합니다. 작업 대기열의 처리 속도가 느릴 경우 서비스에 영향이 갈 수 있습니다. + postImportsCaption: 유저가 과거에 작성한 게시물을 Firefish, Misskey, Mastodon, Akkoma, Pleroma + 등에서 가져올 수 있게 합니다. 작업 대기열의 처리 속도가 느릴 경우 서비스에 영향이 갈 수 있습니다. enablePostImports: 게시물 가져오기를 활성화 title: 실험실 _messaging: @@ -1958,8 +1957,8 @@ _messaging: dms: 개인 메시지 _tutorial: title: Firefly의 사용 방법 - step5_5: '{icon} 소셜 타임라인은 홈 타임라인과 소셜 타임라인을 합친 것과 같습니다.' - step4_1: 첫 노트를 올려 봅시다. + step5_5: '{icon} 소셜 타임라인은 홈 타임라인과 로컬 타임라인을 합친 것과 같습니다.' + step4_1: 첫 글을 올려 봅시다. step5_3: '{icon} 홈 타임라인은 내가 팔로우하고 있는 계정의 게시물을 볼 수 있는 타임라인입니다.' step6_2: 이 서버에 가입을 마친 당신은 단순히 Firefish 서버의 유저가 아닌, 수많은 서버가 서로 상호작용하는 연합우주에 참가하시게 된 것입니다. @@ -2003,3 +2002,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:' 붙이기 diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index 926ab3003..fada843e7 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: Удалить вашу реакцию diff --git a/locales/th-TH.yml b/locales/th-TH.yml index 3a81d2835..4d34471ca 100644 --- a/locales/th-TH.yml +++ b/locales/th-TH.yml @@ -1,22 +1,22 @@ ---- _lang_: "ภาษาไทย" headlineFirefish: "เชื่อมต่อเครือข่ายโดยโน้ต" -introFirefish: "ยินดีต้อนรับจ้าาา! Firefish เป็นบริการไมโครบล็อกโอเพ่นซอร์ส แบบการกระจายอำนาจ\nสร้าง \"โน้ต\" เพื่อแบ่งปันความคิดของคุณกับทุกคนรอบตัวคุณกันเถอะ 📡\nด้วยการ \"รีแอคชั่นผู้คน\" คุณยังสามารถแสดงความรู้สึกของคุณเกี่ยวกับบันทึกของทุกคนได้อย่างรวดเร็ว 👍\n\nแล้วมาท่องสำรวจโลกใบใหม่กันเถอะ! 🚀" +introFirefish: "ยินดีต้อนรับค่ะ/ครับ! Firefish เป็นแพลตฟอร์มโซเชียลมีเดียแบบโอเพ่นซอร์สที่มีการกระจายอำนาจซึ่งให้บริการฟรีตลอดไป! + 🚀" monthAndDay: "{เดือน}/{วัน}" search: "ค้นหา" notifications: "การเเจ้งเตือน" username: "ชื่อผู้ใช้" password: "รหัสผ่าน" -forgotPassword: "ลืมรหัสผ่าน?" +forgotPassword: "ลืมรหัสผ่านอ่ะ" fetchingAsApObject: "กำลังดึงข้อมูล จาก เฟดิเวิร์ส" ok: "ตกลง" gotIt: "เข้าใจแล้ว !" cancel: "ยกเลิก" enterUsername: "ใส่ชื่อผู้ใช้" -renotedBy: "รีโน้ตโดย {ผู้ใช้}" -noNotes: "ไม่มีโน้ต" +renotedBy: "บูตเตอร์โดย {user}" +noNotes: "ไม่มีโพสต์" noNotifications: "ไม่มีการแจ้งเตือน" -instance: "ตัวอย่าง" +instance: "เซิฟเวอร์" settings: "การตั้งค่า" basicSettings: "การตั้งค่าพื้นฐาน" otherSettings: "การตั้งค่าอื่นๆ" @@ -44,7 +44,8 @@ copyContent: "คัดลอกเนื้อหา" copyLink: "คัดลอกลิงก์" delete: "ลบ" deleteAndEdit: "ลบและแก้ไข" -deleteAndEditConfirm: "นายแน่ใจแล้วเหรอ? ว่าต้องการลบโน้ตนี้และแก้ไข คุณอาจจะสูญเสียการโต้ตอบ, โน้ต, และการตอบกลับทั้งหมดได้นะ" +deleteAndEditConfirm: "คุณแน่ใจแล้วเหรอว่าต้องการลบโพสต์นี้และแก้ไข? คุณอาจจะสูญเสียการโต้ตอบ, + โพสต์, และการตอบกลับทั้งหมดได้นะ" addToList: "เพิ่มในลิสต์" sendMessage: "ส่งข้อความ" copyUsername: "คัดลอกชื่อผู้ใช้" @@ -58,30 +59,31 @@ receiveFollowRequest: "คำขอผู้ติดตามที่ได้ followRequestAccepted: "ผู้ติดตามได้ตอบรับคำขอร้องของคุณแล้ว" mention: "กล่าวถึง" mentions: "พูดถึง" -directNotes: "ไดเร็คโน้ต" +directNotes: "ไดเร็คข้อความ" importAndExport: "นำเข้า / ส่งออก" import: "การนำเข้า" export: "การนำออก" files: "ไฟล์" download: "ดาวน์โหลด" -driveFileDeleteConfirm: "นายแน่ใจแล้วหรอ? ว่าต้องการลบไฟล์ \"{name}\" โน้ตย่อที่แนบมากับไฟล์นี้ก็จะถูกลบด้วยนะ" -unfollowConfirm: "นายแน่ใจแล้วหรอว่าต้องการเลิกติดตาม {name}?" +driveFileDeleteConfirm: "คุณแน่ใจแล้วหรอว่าต้องการลบไฟล์ \"{name}\"? โพสต์ย่อที่แนบมากับไฟล์นี้ก็จะถูกลบด้วยนะ" +unfollowConfirm: "คุณแน่ใจแล้วหรอว่าต้องการเลิกติดตาม {name}?" exportRequested: "เมื่อคุณได้ร้องขอการส่งออก อาจจะต้องใช้เวลาสักครู่ และจะถูกเพิ่มในไดรฟ์ของคุณเมื่อเสร็จสิ้นแล้ว" importRequested: "เมื่อคุณได้ร้องขอการนำเข้า อาจจะต้องใช้เวลาสักครู่นะ" lists: "รายการ" noLists: "คุณไม่มีลิสต์ใดๆนะ" -note: "ตัวโน้ต" -notes: "หมายเหตุ" +note: "โพสต์" +notes: "โพสต์" following: "กำลังติดตาม" followers: "ผู้ติดตาม" followsYou: "ติดตามคุณ" createList: "สร้างลิสต์" manageLists: "จัดการลิสต์" -error: "ผิดพลาด!" +error: "ผิดพลาด" somethingHappened: "อุ๊ย ! มีอะไรบางอย่างผิดพลาด" retry: "ลองใหม่อีกครั้ง" pageLoadError: "เกิดข้อผิดพลาดในการโหลดหน้านี้" -pageLoadErrorDescription: "โดยปกติแล้วมักจะเกิดจากข้อผิดพลาดของเครือข่ายหรือแคชของเบราว์เซอร์ ลองล้างแคชแล้วลองใหม่อีกครั้งหลังจากรอสักครู่ " +pageLoadErrorDescription: "โดยปกติแล้วมักจะเกิดจากข้อผิดพลาดของเครือข่ายหรือแคชของเบราว์เซอร์ + ลองล้างแคชแล้วลองใหม่อีกครั้งหลังจากรอสักครู่นะ" serverIsDead: "เซิร์ฟเวอร์นี้ไม่มีการตอบสนอง ได้โปรดกรุณารอสักครู่แล้วลองใหม่อีกครั้งนะ" youShouldUpgradeClient: "หากต้องการดูหน้านี้ได้โปรดกรุณา รีเซ็ตเพื่ออัปเดตไคลเอ็นต์ของคุณนะ" enterListName: "ใส่ชื่อสำหรับรายการลิสต์" @@ -89,18 +91,18 @@ privacy: "ความเป็นส่วนตัว" makeFollowManuallyApprove: "ติดตามคำขอที่ต้องได้รับการอนุมัติ" defaultNoteVisibility: "การมองเห็นที่เป็นค่าเริ่มต้น" follow: "กำลังติดตาม" -followRequest: "ส่งคำขอติดตาม" +followRequest: "คำขอติดตาม" followRequests: "ติดตามการร้องขอ" unfollow: "เลิกติดตาม" followRequestPending: "กำลังรอดำเนินการร้องขอติดตาม" enterEmoji: "ใส่อีโมจิ" -renote: "รีโน้ต" -unrenote: "เลิกรีโน้ต" -renoted: "รีโน้ตเอาไว้" -cantRenote: "โพสต์นี้ไม่สามารถรีโน้ตไว้ใหม่ได้นะ" -cantReRenote: "ไม่สามารถรีโน้ตเอาไว้ใหม่ได้นะ" +renote: "บูสต์" +unrenote: "เลิกบูสต์" +renoted: "บูสต์แล้ว" +cantRenote: "โพสต์นี้ไม่สามารถบูสต์ใหม่ได้" +cantReRenote: "ไม่สามารถบูสต์ไว้ใหม่ได้" quote: "อ้างคำพูด" -pinnedNote: "โน้ตที่ปักหมุดเอาไว้" +pinnedNote: "โพสต์ที่ปักหมุดแล้ว" pinned: "ปักหมุดไปยังโปรไฟล์" you: "ตัวเอง" clickToShow: "คลิกเพื่อแสดง" @@ -109,7 +111,7 @@ add: "เพิ่ม" reaction: "รีแอคชั่น" reactionSetting: "รีแอคชั่นไปยังแสดงผลในตัวเลือกการรีแอคชั่น" reactionSettingDescription2: "กดลากเพื่อจัดลำดับใหม่ กดคลิกเพื่อลบ กด \"+\" เพื่อเพิ่ม" -rememberNoteVisibility: "จดจำการตั้งค่าการมองเห็นตัวโน้ต" +rememberNoteVisibility: "จดจำการตั้งค่าการมองเห็นโพสต์" attachCancel: "ลบไฟล์ออกที่แนบมา" markAsSensitive: "ทำเครื่องหมายว่าละเอียดอ่อน" unmarkAsSensitive: "ยกเลิกทำเครื่องหมายเป็น NSFW" @@ -120,11 +122,11 @@ block: "บล็อค" unblock: "เลิกปิดกั้น" suspend: "ถูกระงับ" unsuspend: "ยกเลิกระงับ" -blockConfirm: "คุณแน่ใจแล้วเหรอ? ว่าต้องการบล็อกบัญชีนี้" -unblockConfirm: "คุณแน่ใจแล้วเหรอ? ว่าต้องการปลดบล็อคบัญชีนี้" -suspendConfirm: "นายแน่ใจแล้วเหรอว่าต้องการระงับบัญชีนี้อ่ะ?" -unsuspendConfirm: "นายแน่ใจแล้วหรอ? ว่าต้องการยกเลิกการระงับบัญชีนี้" -selectList: "เลือกรายการ (Automatic Translation)" +blockConfirm: "คุณแน่ใจแล้วเหรอ ว่าต้องการบล็อกบัญชีนี้?" +unblockConfirm: "คุณแน่ใจแล้วเหรอ ว่าต้องการปลดบล็อคบัญชีนี้?" +suspendConfirm: "คุณแน่ใจแล้วเหรอว่าต้องการระงับบัญชีนี้อ่ะ?" +unsuspendConfirm: "คุณแน่ใจแล้วหรอว่าต้องการยกเลิกการระงับบัญชีนี้?" +selectList: "เลือกรายการ" selectAntenna: "เลือกเสาอากาศ" selectWidget: "เลือกวิดเจ็ต" editWidgets: "แก้ไขวิดเจ็ต" @@ -137,13 +139,17 @@ emojiUrl: "อิโมจิ URL" addEmoji: "แทรกอีโมจิ" settingGuide: "การตั้งค่าที่แนะนำ" cacheRemoteFiles: "แคชไฟล์ระยะไกล" -cacheRemoteFilesDescription: "เมื่อปิดใช้งานการตั้งค่านี้ ไฟล์ระยะไกลนั้นจะถูกโหลดโดยตรงจากอินสแตนซ์ระยะไกล แต่กรณีการปิดใช้งานนี้จะช่วยลดปริมาณการใช้พื้นที่จัดเก็บข้อมูล แต่เพิ่มปริมาณการใช้งาน เพราะเนื่องจากจะไม่มีการสร้างภาพขนาดย่อ" +cacheRemoteFilesDescription: "เมื่อปิดใช้งานการตั้งค่านี้ ไฟล์ระยะไกลนั้นจะถูกโหลดโดยตรงจากระยะไกลเซิฟเวอร์ + แต่กรณีการปิดใช้งานนี้จะช่วยลดปริมาณการใช้พื้นที่จัดเก็บข้อมูล แต่เพิ่มปริมาณการใช้งาน + เพราะเนื่องจากจะไม่มีการสร้างภาพขนาดย่อ" flagAsBot: "ทำเครื่องหมายบอกว่าบัญชีนี้เป็นบอท" -flagAsBotDescription: "การเปิดใช้งานตัวเลือกนี้หากบัญชีนี้ถูกควบคุมโดยนักเขียนโปรแกรม หรือ ถ้าหากเปิดใช้งาน มันจะทำหน้าที่เป็นแฟล็กสำหรับนักพัฒนารายอื่นๆ และเพื่อป้องกันการโต้ตอบแบบไม่มีที่สิ้นสุดกับบอทตัวอื่นๆ และยังสามารถปรับเปลี่ยนระบบภายในของ Firefish เพื่อปฏิบัติต่อบัญชีนี้เป็นบอท" +flagAsBotDescription: "การเปิดใช้งานตัวเลือกนี้หากบัญชีนี้ถูกควบคุมโดยนักเขียนโปรแกรม + หรือ ถ้าหากเปิดใช้งาน มันจะทำหน้าที่เป็นแฟล็กสำหรับนักพัฒนารายอื่นๆ และเพื่อป้องกันการโต้ตอบแบบไม่มีที่สิ้นสุดกับบอทตัวอื่นๆ + และยังสามารถปรับเปลี่ยนระบบภายในของ Firefish เพื่อปฏิบัติต่อบัญชีนี้เป็นบอท" flagAsCat: "ทำเครื่องหมายบอกว่าบัญชีนี้เป็นแมว" -flagAsCatDescription: "การเปิดใช้งานตัวเลือกนี้เพื่อทำเครื่องหมายบอกว่าบัญชีนี้เป็นแมว" +flagAsCatDescription: "คุณจะได้รับหูแมวและพูดเหมือนแมวนะ!" flagShowTimelineReplies: "แสดงตอบกลับ ในไทม์ไลน์" -flagShowTimelineRepliesDescription: "แสดงการตอบกลับของผู้ใช้งานไปยังโน้ตของผู้ใช้งานรายอื่นๆในไทม์ไลน์หากได้เปิดเอาไว้" +flagShowTimelineRepliesDescription: "แสดงการตอบกลับของผู้ใช้งานไปยังโพสต์ของผู้ใช้งานรายอื่นๆในไทม์ไลน์หากได้เปิดเอาไว้" autoAcceptFollowed: "อนุมัติคำขอติดตามโดยอัตโนมัติทันที จากผู้ใช้งานที่คุณกำลังติดตาม" addAccount: "เพิ่มบัญชี" loginFailed: "การเข้าสู่ระบบไม่สำเร็จ" @@ -155,15 +161,17 @@ removeWallpaper: "นำวอลเปเปอร์ออก" searchWith: "ค้นหา: {q}" youHaveNoLists: "รายการนี้ว่างเปล่า" followConfirm: "คุณแน่ใจแล้วหรอว่าต้องการที่จะติดตาม {name}?" -proxyAccount: "บัญชี พร็อกซี่" -proxyAccountDescription: "บัญชีพร็อกซี่ คือ บัญชีที่จะทำหน้าที่เป็นผู้ติดตามระยะไกลสำหรับผู้ใช้งานที่อยู่ภายใต้ด้วยเงื่อนไขบางอย่าง ยกตัวอย่าง เช่น เมื่อมีผู้ใช้งานนั้นได้เพิ่มผู้ใช้งานจากระยะไกลลงในรายการ แต่กิจกรรมของผู้ใช้ในระยะไกลนั้นจะไม่ถูกส่งไปยังอินสแตนซ์หากไม่มีผู้ใช้งานในพื้นที่ติดตามผู้ใช้รายนั้น ดังนั้นบัญชีพร็อกซีนี้จะติดตามแทน" +proxyAccount: "บัญชีพร็อกซี" +proxyAccountDescription: "บัญชีพร็อกซี่ คือ บัญชีที่จะทำหน้าที่เป็นผู้ติดตามระยะไกลสำหรับผู้ใช้งานที่อยู่ภายใต้ด้วยเงื่อนไขบางอย่าง + ยกตัวอย่าง เช่น เมื่อมีผู้ใช้งานนั้นได้เพิ่มผู้ใช้งานจากระยะไกลลงในรายการ แต่กิจกรรมของผู้ใช้ในระยะไกลนั้นจะไม่ถูกส่งไปยังเซิฟเวอร์ + หากไม่มีผู้ใช้งานในพื้นที่ติดตามผู้ใช้รายนั้น ดังนั้นบัญชีพร็อกซีนี้จะติดตามแทน" host: "โฮสต์" selectUser: "เลือกผู้ใช้งาน" recipient: "ผู้รับ" annotation: "ความคิดเห็น" federation: "สหพันธ์" -instances: "ตัวอย่าง" -registeredAt: "จดทะเบียนที่" +instances: "เซิฟเวอร์" +registeredAt: "จดทะเบียนแล้วที่" latestRequestSentAt: "ส่งคำขอล่าสุดไปแล้ว" latestRequestReceivedAt: "ได้รับคำขอล่าสุดไปแล้ว" latestStatus: "สถานะล่าสุด" @@ -186,7 +194,8 @@ instanceInfo: "ข้อมูล อินสแตนซ์" statistics: "สถิติการใช้งาน" clearQueue: "ล้างคิว" clearQueueConfirmTitle: "คุณแน่ใจแล้วหรอว่าต้องการที่จะล้างคิว?" -clearQueueConfirmText: "บันทึกย่อที่ยังไม่ได้ส่งที่เหลืออยู่ในคิวนั้นมักจะ ไม่ถูกรวมเข้าด้วยกัน โดยปกติแล้วไม่จำเป็นต้องดำเนินการนี้" +clearQueueConfirmText: "บันทึกย่อที่ยังไม่ได้ส่งที่เหลืออยู่ในคิวนั้นมักจะ ไม่ถูกรวมเข้าด้วยกัน + โดยปกติแล้วไม่จำเป็นต้องดำเนินการนี้" clearCachedFiles: "ล้างแคช" clearCachedFilesConfirm: "นายแน่ใจแล้วหรอว่าต้องการที่จะลบไฟล์ระยะไกลที่แคชไว้ทั้งหมด?" blockedInstances: "อินสแตนซ์ที่ ถูกบล็อก" @@ -232,14 +241,15 @@ announcements: "ประกาศ" imageUrl: "url รูปภาพ" remove: "ลบ" removed: "ถูกลบไปแล้ว" -removeAreYouSure: "นายแน่ใจจริงหรอว่าต้องการที่จะลบออก \"{x}\"" -deleteAreYouSure: "นายแน่ใจจริงหรอว่าต้องการที่จะลบออก \"{x}\"" -resetAreYouSure: "รีเซ็ตเลยไหม" +removeAreYouSure: "คุณแน่ใจจริงหรอว่าต้องการที่จะลบออก \"{x}\"?" +deleteAreYouSure: "คุณแน่ใจหรอว่าต้องการที่จะลบออก \"{x}\"?" +resetAreYouSure: "จริงหรอรีเซ็ตเลยไหม?" saved: "บันทึกแล้ว" messaging: "แชท" upload: "อัพโหลด" keepOriginalUploading: "เก็บภาพต้นฉบับ" -keepOriginalUploadingDescription: "บันทึกรูปภาพที่อัพโหลดต้นฉบับตามที่เป็นอยู่ ถ้าหากปิดอยู่ ระบบจะสร้างเวอร์ชั่นที่จะแสดงบนเว็บเมื่ออัพโหลดนะ" +keepOriginalUploadingDescription: "บันทึกรูปภาพที่อัพโหลดต้นฉบับตามที่เป็นอยู่ ถ้าหากปิดอยู่ + ระบบจะสร้างเวอร์ชั่นที่จะแสดงบนเว็บเมื่ออัพโหลดนะ" fromDrive: "จากไดรฟ์" fromUrl: "จาก URL" uploadFromUrl: "อัพโหลดจาก URL" @@ -253,7 +263,7 @@ startMessaging: "เริ่มการสนทนา" nUsersRead: "อ่านโดย {n}" agreeTo: "ฉันยอมรับที่จะ {0}" tos: "ข้อกำหนดและเงื่อนไข" -start: "เริ่มต้น​ใช้งาน​" +start: "เริ่มต้น" home: "หน้าแรก" remoteUserCaution: "เนื่องจากผู้ใช้งานรายนี้นั้น มาจากอินสแตนซ์ระยะไกล ข้อมูลที่แสดงดังกล่าวนั้นอาจจะไม่สมบูรณ์ก็ได้นะ" activity: "กิจกรรม" @@ -334,9 +344,11 @@ bannerUrl: "URL รูปภาพแบนเนอร์" backgroundImageUrl: "URL ภาพพื้นหลัง" basicInfo: "ข้อมูลเบื้องต้น" pinnedUsers: "ผู้ใช้งานที่ได้รับการปักหมุด" -pinnedUsersDescription: "ลิสต์ชื่อผู้ใช้โดยคั่นด้วยการขึ้นบรรทัดใหม่เพื่อปักหมุดในแท็บ \"สำรวจ\"" +pinnedUsersDescription: "ลิสต์ชื่อผู้ใช้โดยคั่นด้วยการขึ้นบรรทัดใหม่เพื่อปักหมุดในแท็บ + \"สำรวจ\"" pinnedPages: "หน้าที่ปักหมุด" -pinnedPagesDescription: "ป้อนเส้นทางของหน้าที่คุณต้องการตรึงไว้ที่หน้าแรกของอินสแตนซ์นี้ โดยคั่นด้วยตัวแบ่งบรรทัด" +pinnedPagesDescription: "ป้อนเส้นทางของหน้าที่คุณต้องการตรึงไว้ที่หน้าแรกของอินสแตนซ์นี้ + โดยคั่นด้วยตัวแบ่งบรรทัด" pinnedClipId: "ID ของคลิปที่จะปักหมุด" pinnedNotes: "โน้ตที่ปักหมุดเอาไว้" hcaptcha: "hCaptcha" @@ -347,14 +359,17 @@ recaptcha: "reCAPTCHA" enableRecaptcha: "เปิดใช้ reCAPTCHA" recaptchaSiteKey: "คีย์ไซต์" recaptchaSecretKey: "คีย์ลับ" -avoidMultiCaptchaConfirm: "การใช้ระบบ Captcha หลายระบบอาจทำให้เกิดการรบกวนหรืออาจจะเกิดข้อผิดพลาดได้ หากต้องการที่จะปิดการใช้งานระบบ Captcha อื่น ๆ แนะนำให้ปิดตัวอื่นๆก่อน ถ้าหากคุณต้องการให้เปิดใช้งานต่อไป ให้ กด ยกเลิก" +avoidMultiCaptchaConfirm: "การใช้ระบบ Captcha หลายระบบอาจทำให้เกิดการรบกวนหรืออาจจะเกิดข้อผิดพลาดได้ + หากต้องการที่จะปิดการใช้งานระบบ Captcha อื่น ๆ แนะนำให้ปิดตัวอื่นๆก่อน ถ้าหากคุณต้องการให้เปิดใช้งานต่อไป + ให้ กด ยกเลิก" antennas: "เสาอากาศ" manageAntennas: "จัดการเสาอากาศ" name: "ชื่อ" antennaSource: "แหล่งเสาอากาศ" antennaKeywords: "คีย์เวิร์ดที่ควรฟัง" antennaExcludeKeywords: "คีย์เวิร์ดที่จะยกเว้น" -antennaKeywordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข OR นะ" +antennaKeywordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข + OR นะ" notifyAntenna: "แจ้งเตือนเกี่ยวกับโน้ตใหม่" withFileAntenna: "เฉพาะโน้ตที่มีไฟล์" enableServiceworker: "เปิดใช้งาน การแจ้งเตือนแบบพุชสำหรับเบราว์เซอร์ของคุณ" @@ -433,7 +448,8 @@ invitationCode: "รหัสคำเชิญ" checking: "Checking" available: "พร้อมใช้งาน" unavailable: "ไม่พร้อมใช้" -usernameInvalidFormat: "คุณสามารถใช้อักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ตัวเลข และขีดล่างได้นะ ( a-z , A-Z , 0-9 , รวมไปถึงอักษรพิเศษเช่น + * / , . - อื่นๆเป็นต้น )" +usernameInvalidFormat: "คุณสามารถใช้อักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ตัวเลข และขีดล่างได้นะ + ( a-z , A-Z , 0-9 , รวมไปถึงอักษรพิเศษเช่น + * / , . - อื่นๆเป็นต้น )" tooShort: "สั้นเกินไปนะ" tooLong: "ยาวเกินไปนะ" weakPassword: "รหัสผ่าน แย่มาก" @@ -483,19 +499,26 @@ showFeaturedNotesInTimeline: "แสดงโน้ตเด่นในไท objectStorage: "อ็อบเจ็กต์ ที่จัดเก็บ" useObjectStorage: "ใช้ อ็อบเจ็กต์ ที่จัดเก็บ" objectStorageBaseUrl: "URL ฐาน" -objectStorageBaseUrlDesc: "URL ที่ใช้เป็นข้อมูลอ้างอิง ระบุ URL ของ CDN หรือ Proxy ถ้าหากคุณใช้อย่างใดอย่างหนึ่ง\n สำหรับการใช้งาน S3 'https://.s3.amazonaws.com' และสำหรับ GCS หรือบริการที่เทียบเท่าใช้ 'https://storage.googleapis.com/', เป็นต้น" +objectStorageBaseUrlDesc: "URL ที่ใช้เป็นข้อมูลอ้างอิง ระบุ URL ของ CDN หรือ Proxy + ถ้าหากคุณใช้อย่างใดอย่างหนึ่ง\n สำหรับการใช้งาน S3 'https://.s3.amazonaws.com' + และสำหรับ GCS หรือบริการที่เทียบเท่าใช้ 'https://storage.googleapis.com/', + เป็นต้น" objectStorageBucket: "Bucket" objectStorageBucketDesc: "โปรดระบุชื่อที่เก็บข้อมูลที่ใช้กับผู้ให้บริการของคุณ" objectStoragePrefix: "คำนำหน้า" objectStoragePrefixDesc: "ไฟล์ทั้งหมดจะถูกเก็บไว้ภายใต้ไดเร็กทอรีที่มีคำนำหน้านี้นะ" objectStorageEndpoint: "ปลายทาง" -objectStorageEndpointDesc: "เว้นว่างไว้หากคุณใช้ AWS S3 หรือระบุปลายทางเป็น '' หรือ ':' ทั้งนี้ขึ้นอยู่กับผู้ให้บริการที่คุณใช้อยู่ด้วย" +objectStorageEndpointDesc: "เว้นว่างไว้หากคุณใช้ AWS S3 หรือระบุปลายทางเป็น '' + หรือ ':' ทั้งนี้ขึ้นอยู่กับผู้ให้บริการที่คุณใช้อยู่ด้วย" objectStorageRegion: "ภูมิภาค" -objectStorageRegionDesc: "ระบุภูมิภาค เช่น 'xx-east-1' ถ้าหากบริการของคุณไม่ได้แยกความแตกต่างระหว่างภูมิภาคก็ให้ เว้นว่างไว้หรือป้อน 'us-east-1'" +objectStorageRegionDesc: "ระบุภูมิภาค เช่น 'xx-east-1' ถ้าหากบริการของคุณไม่ได้แยกความแตกต่างระหว่างภูมิภาคก็ให้ + เว้นว่างไว้หรือป้อน 'us-east-1'" objectStorageUseSSL: "ใช้ SSL" -objectStorageUseSSLDesc: "ปิดการทำงานนี้ไว้ ถ้าหากคุณจะไม่ใช้ HTTPS สำหรับการเชื่อมต่อ API" +objectStorageUseSSLDesc: "ปิดการทำงานนี้ไว้ ถ้าหากคุณจะไม่ใช้ HTTPS สำหรับการเชื่อมต่อ + API" objectStorageUseProxy: "เชื่อมต่อผ่านพร็อกซี" -objectStorageUseProxyDesc: "ปิดสิ่งนี้ไว้ถ้าหากคุณจะไม่ใช้ Proxy สำหรับการเชื่อมต่อ API" +objectStorageUseProxyDesc: "ปิดสิ่งนี้ไว้ถ้าหากคุณจะไม่ใช้ Proxy สำหรับการเชื่อมต่อ + API" objectStorageSetPublicRead: "ตั้งค่า \"public-read\" ในการอัปโหลด" serverLogs: "บันทึกของเซิร์ฟเวอร์" deleteAll: "ลบทั้งหมด" @@ -523,7 +546,8 @@ sort: "เรียงลำดับ" ascendingOrder: "เรียงจากน้อยไปมาก" descendingOrder: "เรียงจากมากไปน้อย" scratchpad: "กระดานทดลอง" -scratchpadDescription: "Scratchpad เป็นการจัดเตรียมสภาพแวดล้อมสำหรับการทดลอง AiScript แต่คุณสามารถเขียน ดำเนินการ และตรวจสอบผลลัพธ์ของการโต้ตอบกับ Firefish มันได้ด้วยนะ" +scratchpadDescription: "Scratchpad เป็นการจัดเตรียมสภาพแวดล้อมสำหรับการทดลอง AiScript + แต่คุณสามารถเขียน ดำเนินการ และตรวจสอบผลลัพธ์ของการโต้ตอบกับ Firefish มันได้ด้วยนะ" output: "เอาท์พุต" script: "สคริปต์" disablePagesScript: "ปิดการใช้งาน AiScript บนเพจ" @@ -531,11 +555,14 @@ updateRemoteUser: "อัปเดตข้อมูลผู้ใช้งา deleteAllFiles: "ลบไฟล์ทั้งหมด" deleteAllFilesConfirm: "นายแน่ใจแล้วหรอว่าต้องการที่จะลบไฟล์ทั้งหมด?" removeAllFollowing: "เลิกติดตามผู้ใช้ที่ติดตามทั้งหมด" -removeAllFollowingDescription: "การที่คุณดำเนินการนี้จะเลิกติดตามบัญชีทั้งหมดจาก {host} โปรดเรียกใช้คำสั่งสิ่งนี้หากต้องการยกเลิกอินสแตนซ์ เช่น ไม่มีอยู่แล้ว" +removeAllFollowingDescription: "การที่คุณดำเนินการนี้จะเลิกติดตามบัญชีทั้งหมดจาก {host} + โปรดเรียกใช้คำสั่งสิ่งนี้หากต้องการยกเลิกอินสแตนซ์ เช่น ไม่มีอยู่แล้ว" userSuspended: "ผู้ใช้รายนี้ถูกระงับการใช้งาน" userSilenced: "ผู้ใช้รายนี้กำลังถูกปิดกั้น" yourAccountSuspendedTitle: "บัญชีนี้นั้นถูกระงับ" -yourAccountSuspendedDescription: "บัญชีนี้ถูกระงับ เนื่องจากละเมิดข้อกำหนดในการให้บริการของเซิร์ฟเวอร์หรืออาจจะละเมิดหลักเกณฑ์ชุมชน หรือ อาจจะโดนร้องเรียนเรื่องการละเมิดลิขสิทธิ์และอื่นๆอย่างต่อเนื่องซ้ำๆ หากคุณคิดว่าไม่ได้ทำผิดจริงๆหรือตัดสินผิดพลาด ได้โปรดกรุณาติดต่อผู้ดูแลระบบหากคุณต้องการทราบเหตุผลโดยละเอียดเพิ่มเติม และขอความกรุณาอย่าสร้างบัญชีใหม่" +yourAccountSuspendedDescription: "บัญชีนี้ถูกระงับ เนื่องจากละเมิดข้อกำหนดในการให้บริการของเซิร์ฟเวอร์หรืออาจจะละเมิดหลักเกณฑ์ชุมชน + หรือ อาจจะโดนร้องเรียนเรื่องการละเมิดลิขสิทธิ์และอื่นๆอย่างต่อเนื่องซ้ำๆ หากคุณคิดว่าไม่ได้ทำผิดจริงๆหรือตัดสินผิดพลาด + ได้โปรดกรุณาติดต่อผู้ดูแลระบบหากคุณต้องการทราบเหตุผลโดยละเอียดเพิ่มเติม และขอความกรุณาอย่าสร้างบัญชีใหม่" menu: "เมนู" divider: "ตัวแบ่ง" addItem: "เพิ่มรายการ" @@ -589,13 +616,15 @@ smtpHost: "โฮสต์" smtpPort: "พอร์ต" smtpUser: "ชื่อผู้ใช้" smtpPass: "รหัสผ่าน" -emptyToDisableSmtpAuth: "ปล่อยชื่อผู้ใช้และรหัสผ่านว่างไว้เพื่อปิดใช้งานการยืนยัน SMTP" +emptyToDisableSmtpAuth: "ปล่อยชื่อผู้ใช้และรหัสผ่านว่างไว้เพื่อปิดใช้งานการยืนยัน + SMTP" smtpSecure: "ใช้โดยนัย SSL/TLS สำหรับการเชื่อมต่อ SMTP" smtpSecureInfo: "ปิดสิ่งนี้เมื่อใช้ STARTTLS" testEmail: "ทดสอบการส่งอีเมล" wordMute: "ปิดเสียงคำ" regexpError: "ข้อผิดพลาดของนิพจน์ทั่วไป" -regexpErrorDescription: "เกิดข้อผิดพลาดในนิพจน์ทั่วไปในบรรทัดที่ {line} ของการปิดเสียงคำ {tab} ของคุณ:" +regexpErrorDescription: "เกิดข้อผิดพลาดในนิพจน์ทั่วไปในบรรทัดที่ {line} ของการปิดเสียงคำ + {tab} ของคุณ:" instanceMute: "ปิดเสียง อินสแตนซ์" userSaysSomething: "{name} พูดอะไรบางอย่าง" makeActive: "เปิดใช้งาน" @@ -611,10 +640,12 @@ create: "สร้าง" notificationSetting: "ตั้งค่าการแจ้งเตือน" notificationSettingDesc: "เลือกประเภทการแจ้งเตือนที่ต้องการจะแสดง" useGlobalSetting: "ใช้การตั้งค่าส่วนกลาง" -useGlobalSettingDesc: "หากเปิดไว้ ระบบจะใช้การตั้งค่าการแจ้งเตือนของบัญชีของคุณ หากปิดอยู่ สามารถทำการกำหนดค่าแต่ละรายการได้นะ" +useGlobalSettingDesc: "หากเปิดไว้ ระบบจะใช้การตั้งค่าการแจ้งเตือนของบัญชีของคุณ หากปิดอยู่ + สามารถทำการกำหนดค่าแต่ละรายการได้นะ" other: "อื่น ๆ" regenerateLoginToken: "สร้างโทเค็นการเข้าสู่ระบบอีกครั้ง" -regenerateLoginTokenDescription: "สร้างโทเค็นใหม่ที่ใช้ภายในระหว่างการเข้าสู่ระบบ โดยตามหลักปกติแล้วการดำเนินการนี้ไม่จำเป็น หากสร้างใหม่ อุปกรณ์ทั้งหมดจะถูกออกจากระบบนะ" +regenerateLoginTokenDescription: "สร้างโทเค็นใหม่ที่ใช้ภายในระหว่างการเข้าสู่ระบบ + โดยตามหลักปกติแล้วการดำเนินการนี้ไม่จำเป็น หากสร้างใหม่ อุปกรณ์ทั้งหมดจะถูกออกจากระบบนะ" setMultipleBySeparatingWithSpace: "คั่นหลายรายการด้วยช่องว่าง" fileIdOrUrl: "ไฟล์ ID หรือ URL" behavior: "พฤติกรรม" @@ -622,7 +653,8 @@ sample: "ตัวอย่าง" abuseReports: "รายงาน" reportAbuse: "รายงาน" reportAbuseOf: "รายงาน {ชื่อ}" -fillAbuseReportDescription: "กรุณากรอกรายละเอียดเกี่ยวกับรายงานนี้ หากเป็นเรื่องเกี่ยวกับโน้ตโดยเฉพาะ ได้โปรดระบุ URL" +fillAbuseReportDescription: "กรุณากรอกรายละเอียดเกี่ยวกับรายงานนี้ หากเป็นเรื่องเกี่ยวกับโน้ตโดยเฉพาะ + ได้โปรดระบุ URL" abuseReported: "เราได้ส่งรายงานของคุณไปแล้ว ขอบคุณมากๆนะ" reporter: "นักข่าว" reporteeOrigin: "รายงานต้นทาง" @@ -648,7 +680,8 @@ createNewClip: "สร้างคลิปใหม่" unclip: "ลบคลิป" confirmToUnclipAlreadyClippedNote: "โน้ตนี้เป็นส่วนหนึ่งของคลิป \"{name}\" แล้ว คุณต้องการลบออกจากคลิปนี้แทนอย่างงั้นหรอ?" public: "สาธารณะ" -i18nInfo: "Firefish กำลังได้รับการแปลเป็นภาษาต่างๆ โดยอาสาสมัคร คุณสามารถช่วยเหลือได้ที่ {link}" +i18nInfo: "Firefish กำลังได้รับการแปลเป็นภาษาต่างๆ โดยอาสาสมัคร คุณสามารถช่วยเหลือได้ที่ + {link}" manageAccessTokens: "การจัดการโทเค็นการเข้าถึง" accountInfo: "ข้อมูลบัญชี" notesCount: "จำนวนของโน้ต" @@ -667,8 +700,10 @@ no: "ไม่" driveFilesCount: "จำนวนไฟล์ไดรฟ์" driveUsage: "การใช้พื้นที่ไดรฟ์" noCrawle: "ปฏิเสธการจัดทำดัชนีของโปรแกรมรวบรวมข้อมูล" -noCrawleDescription: "ขอให้เครื่องมือค้นหาไม่จัดทำดัชนีหน้าโปรไฟล์ บันทึกย่อ หน้า ฯลฯ" -lockedAccountInfo: "เว้นแต่ว่าคุณจะต้องตั้งค่าการเปิดเผยโน้ตเป็น \"ผู้ติดตามเท่านั้น\" โน้ตย่อของคุณจะปรากฏแก่ทุกคน ถึงแม้ว่าคุณจะเป็นกำหนดให้ผู้ติดตามต้องได้รับการอนุมัติด้วยตนเองก็ตาม" +noCrawleDescription: "ขอให้เครื่องมือค้นหาไม่จัดทำดัชนีหน้าโปรไฟล์ บันทึกย่อ หน้า + ฯลฯ" +lockedAccountInfo: "เว้นแต่ว่าคุณจะต้องตั้งค่าการเปิดเผยโน้ตเป็น \"ผู้ติดตามเท่านั้น\"\ + \ โน้ตย่อของคุณจะปรากฏแก่ทุกคน ถึงแม้ว่าคุณจะเป็นกำหนดให้ผู้ติดตามต้องได้รับการอนุมัติด้วยตนเองก็ตาม" alwaysMarkSensitive: "ทำเครื่องหมายเป็น NSFW เป็นค่าเริ่มต้น" loadRawImages: "โหลดภาพต้นฉบับแทนการแสดงภาพขนาดย่อ" disableShowingAnimatedImages: "ไม่ต้องเล่นภาพเคลื่อนไหว" @@ -684,7 +719,8 @@ clips: "คลิป" experimentalFeatures: "ฟังก์ชั่นทดสอบ" developer: "สำหรับนักพัฒนา" makeExplorable: "ทำให้บัญชีมองเห็นใน \"สำรวจ\"" -makeExplorableDescription: "ถ้าหากคุณปิดการทำงานนี้ บัญชีของคุณนั้นจะไม่แสดงในส่วน \"สำรวจ\" นะ" +makeExplorableDescription: "ถ้าหากคุณปิดการทำงานนี้ บัญชีของคุณนั้นจะไม่แสดงในส่วน + \"สำรวจ\" นะ" showGapBetweenNotesInTimeline: "แสดงช่องว่างระหว่างโพสต์บนไทม์ไลน์" duplicate: "ทำซ้ำ" left: "ซ้าย" @@ -699,7 +735,9 @@ onlineUsersCount: "{n} ผู้ใช้คนนี้กำลังออน nUsers: "{n} ผู้ใช้งาน" nNotes: "{n} โน้ต" sendErrorReports: "ส่งรายงานว่าข้อผิดพลาด" -sendErrorReportsDescription: "เมื่อเปิดใช้งาน ข้อมูลข้อผิดพลาดโดยรายละเอียดนั้นจะถูกแชร์ให้กับ Firefish เมื่อเกิดปัญหา ซึ่งช่วยปรับปรุงคุณภาพของ Firefish\nซึ่งจะรวมถึงข้อมูล เช่น เวอร์ชั่นของระบบปฏิบัติการ เบราว์เซอร์ที่คุณใช้ กิจกรรมของคุณใน Firefish เป็นต้น" +sendErrorReportsDescription: "เมื่อเปิดใช้งาน ข้อมูลข้อผิดพลาดโดยรายละเอียดนั้นจะถูกแชร์ให้กับ + Firefish เมื่อเกิดปัญหา ซึ่งช่วยปรับปรุงคุณภาพของ Firefish\nซึ่งจะรวมถึงข้อมูล เช่น + เวอร์ชั่นของระบบปฏิบัติการ เบราว์เซอร์ที่คุณใช้ กิจกรรมของคุณใน Firefish เป็นต้น" myTheme: "ธีมของฉัน" backgroundColor: "ภาพพื้นหลัง" accentColor: "รูปแบบสี" @@ -745,7 +783,8 @@ userInfo: "ข้อมูลผู้ใช้" unknown: "ไม่ทราบสถานะ" onlineStatus: "สถานะออนไลน์" hideOnlineStatus: "ซ่อนสถานะออนไลน์" -hideOnlineStatusDescription: "การซ่อนสถานะออนไลน์ของคุณช่วยลดความสะดวกของคุณสมบัติบางอย่าง เช่น การค้นหา อ่ะนะ" +hideOnlineStatusDescription: "การซ่อนสถานะออนไลน์ของคุณช่วยลดความสะดวกของคุณสมบัติบางอย่าง + เช่น การค้นหา อ่ะนะ" online: "ออนไลน์" active: "ใช้งานอยู่" offline: "ออฟไลน์" @@ -795,7 +834,8 @@ whatIsNew: "แสดงการเปลี่ยนแปลง" translate: "แปลภาษา" translatedFrom: "แปลมาจาก {x}" accountDeletionInProgress: "กำลังดำเนินการลบบัญชีอยู่" -usernameInfo: "ชื่อที่ระบุบัญชีของคุณจากผู้อื่นในเซิร์ฟเวอร์นี้ คุณสามารถใช้ตัวอักษร (a~z, A~Z), ตัวเลข (0~9) หรือขีดล่าง (_) ชื่อผู้ใช้ไม่สามารถเปลี่ยนแปลงได้ในภายหลัง" +usernameInfo: "ชื่อที่ระบุบัญชีของคุณจากผู้อื่นในเซิร์ฟเวอร์นี้ คุณสามารถใช้ตัวอักษร + (a~z, A~Z), ตัวเลข (0~9) หรือขีดล่าง (_) ชื่อผู้ใช้ไม่สามารถเปลี่ยนแปลงได้ในภายหลัง" aiChanMode: "โหมด Ai " keepCw: "เก็บคำเตือนเนื้อหา" pubSub: "บัญชีผับ/ย่อย" @@ -864,7 +904,8 @@ typeToConfirm: "โปรดป้อน {x} เพื่อยืนยัน" deleteAccount: "ลบบัญชี" document: "เอกสาร" numberOfPageCache: "จำนวนหน้าเพจที่แคช" -numberOfPageCacheDescription: "การเพิ่มจำนวนนี้จะช่วยเพิ่มความสะดวกให้กับผู้ใช้งาน แต่จะทำให้เซิร์ฟเวอร์โหลดมากขึ้นและต้องใช้หน่วยความจำมากขึ้นอีกด้วย" +numberOfPageCacheDescription: "การเพิ่มจำนวนนี้จะช่วยเพิ่มความสะดวกให้กับผู้ใช้งาน + แต่จะทำให้เซิร์ฟเวอร์โหลดมากขึ้นและต้องใช้หน่วยความจำมากขึ้นอีกด้วย" logoutConfirm: "คุณแน่ใจว่าต้องการออกจากระบบ?" lastActiveDate: "ใช้งานล่าสุดที่" statusbar: "ไอคอนบนแถบสถานะ" @@ -881,22 +922,29 @@ sensitiveMediaDetection: "การตรวจจับของสื่อ NS localOnly: "เฉพาะท้องถิ่น" remoteOnly: "รีโมทเท่านั้น" failedToUpload: "การอัปโหลดล้มเหลว" -cannotUploadBecauseInappropriate: "ไม่สามารถอัปโหลดไฟล์นี้ได้เนื่องจากระบบตรวจพบบางส่วนของไฟล์ว่านี้อาจจะเป็น NSFW" +cannotUploadBecauseInappropriate: "ไม่สามารถอัปโหลดไฟล์นี้ได้เนื่องจากระบบตรวจพบบางส่วนของไฟล์ว่านี้อาจจะเป็น + NSFW" cannotUploadBecauseNoFreeSpace: "การอัปโหลดนั้นล้มเหลวเนื่องจากไม่มีความจุของไดรฟ์" beta: "เบต้า" enableAutoSensitive: "ทำเครื่องหมาย NSFW อัตโนมัติ" -enableAutoSensitiveDescription: "อนุญาตให้ตรวจหาและทำเครื่องหมายสื่อ NSFW โดยอัตโนมัติผ่านการเรียนรู้ของเครื่องหากเป็นไปได้ แม้ว่าตัวเลือกนี้จะถูกปิดใช้งาน แต่ก็สามารถเปิดใช้งานได้ทั้งอินสแตนซ์นี้" -activeEmailValidationDescription: "เปิดใช้งานการตรวจสอบที่อยู่อีเมลให้มีความเข้มงวดยิ่งขึ้น ซึ่งอาจจะรวมไปถึงการตรวจสอบที่อยู่อีเมล์ที่ใช้แล้วทิ้งและโดยให้พิจารณาว่าสามารถสื่อสารด้วยได้หรือไม่ เมื่อไม่เลือกระบบจะตรวจสอบเฉพาะรูปแบบของอีเมลเท่านั้น" +enableAutoSensitiveDescription: "อนุญาตให้ตรวจหาและทำเครื่องหมายสื่อ NSFW โดยอัตโนมัติผ่านการเรียนรู้ของเครื่องหากเป็นไปได้ + แม้ว่าตัวเลือกนี้จะถูกปิดใช้งาน แต่ก็สามารถเปิดใช้งานได้ทั้งอินสแตนซ์นี้" +activeEmailValidationDescription: "เปิดใช้งานการตรวจสอบที่อยู่อีเมลให้มีความเข้มงวดยิ่งขึ้น + ซึ่งอาจจะรวมไปถึงการตรวจสอบที่อยู่อีเมล์ที่ใช้แล้วทิ้งและโดยให้พิจารณาว่าสามารถสื่อสารด้วยได้หรือไม่ + เมื่อไม่เลือกระบบจะตรวจสอบเฉพาะรูปแบบของอีเมลเท่านั้น" navbar: "แถบนำทาง" shuffle: "สลับ" account: "บัญชีผู้ใช้" move: "ย้าย" _sensitiveMediaDetection: - description: "ลดความพยายามในการดูแลเซิร์ฟเวอร์ผ่านการจดจำสื่อ NSFW โดยอัตโนมัติผ่านการเรียนรู้ของเครื่อง การทำสิ่งนี้อาจจะเพิ่มภาระบนเซิร์ฟเวอร์เล็กน้อย" + description: "ลดความพยายามในการดูแลเซิร์ฟเวอร์ผ่านการจดจำสื่อ NSFW โดยอัตโนมัติผ่านการเรียนรู้ของเครื่อง + การทำสิ่งนี้อาจจะเพิ่มภาระบนเซิร์ฟเวอร์เล็กน้อย" sensitivity: "การตรวจจับความไว" - sensitivityDescription: "การลดความไวนั้นจะนำไปสู่การตรวจจับที่ผิดพลาดน้อยลง (ผลบวกที่ผิดพลาด) แต่ในขณะที่การเพิ่มนั้นจะนำไปสู่การตรวจหาที่พลาดน้อยลง (ผลลบเท็จ)" + sensitivityDescription: "การลดความไวนั้นจะนำไปสู่การตรวจจับที่ผิดพลาดน้อยลง (ผลบวกที่ผิดพลาด) + แต่ในขณะที่การเพิ่มนั้นจะนำไปสู่การตรวจหาที่พลาดน้อยลง (ผลลบเท็จ)" setSensitiveFlagAutomatically: "ทำเครื่องหมายว่าเป็น NSFW" - setSensitiveFlagAutomaticallyDescription: "ผลลัพธ์ของการตรวจจับภายในนั้นจะยังคงอยู่ ถึงแม้ว่าจะปิดตัวเลือกนี้" + setSensitiveFlagAutomaticallyDescription: "ผลลัพธ์ของการตรวจจับภายในนั้นจะยังคงอยู่ + ถึงแม้ว่าจะปิดตัวเลือกนี้" analyzeVideos: "เปิดใช้งานวิเคราะห์ของวิดีโอ" analyzeVideosDescription: "การวิเคราะห์วิดีโอนอกเหนือจากรูปภาพนั้น การทำสิ่งนี้จะทำให้เพิ่มภาระบนเซิร์ฟเวอร์เล็กน้อย" _emailUnavailable: @@ -915,7 +963,8 @@ _signup: emailSent: "เราได้ส่งอีเมลยืนยันไปยังที่อยู่อีเมลของคุณแล้วนะ ({email}) โปรดคลิกลิงก์ที่รวมไว้เพื่อสร้างบัญชีให้เสร็จสิ้น" _accountDelete: accountDelete: "ลบบัญชีผู้ใช้" - mayTakeTime: "เนื่องจากการลบบัญชีนี้จะเป็นกระบวนการที่ต้องใช้ทรัพยากรมาก จึงอาจจะต้องใช้เวลาสักครู่ถึงจะเสร็จสมบูรณ์ ทั้งนี้ขึ้นอยู่กับจำนวนเนื้อหาที่คุณสร้างและจำนวนไฟล์ที่คุณอัปโหลดนะ" + mayTakeTime: "เนื่องจากการลบบัญชีนี้จะเป็นกระบวนการที่ต้องใช้ทรัพยากรมาก จึงอาจจะต้องใช้เวลาสักครู่ถึงจะเสร็จสมบูรณ์ + ทั้งนี้ขึ้นอยู่กับจำนวนเนื้อหาที่คุณสร้างและจำนวนไฟล์ที่คุณอัปโหลดนะ" sendEmail: "เมื่อการลบบัญชีนี้เสร็จสิ้น เราอาจจะส่งอีเมลไปยังที่อยู่อีเมลของคุณที่เคยลงทะเบียนไว้กับบัญชีนี้นะ" requestAccountDelete: "ร้องขอให้ลบบัญชี" started: "การลบได้เริ่มต้นขึ้น" @@ -950,11 +999,13 @@ _preferencesBackups: inputName: "กรุณาป้อนชื่อสำหรับข้อมูลสำรองนี้" cannotSave: "การบันทึกล้มเหลว" nameAlreadyExists: "มีข้อมูลสำรองชื่อ \"{name}\" นี้อยู่แล้ว กรุณาป้อนชื่ออื่นนะ" - applyConfirm: "คุณต้องการใช้ข้อมูลสำรอง \"{name}\" กับอุปกรณ์นี้อย่างงั้นจริงหรอ การตั้งค่าที่มีอยู่ของอุปกรณ์นี้จะถูกเขียนทับนะ" + applyConfirm: "คุณต้องการใช้ข้อมูลสำรอง \"{name}\" กับอุปกรณ์นี้อย่างงั้นจริงหรอ + การตั้งค่าที่มีอยู่ของอุปกรณ์นี้จะถูกเขียนทับนะ" saveConfirm: "บันทึกข้อมูลสำรองเป็น {name} มั้ย?" deleteConfirm: "ลบข้อมูลสำรอง {name} มั้ย?" renameConfirm: "เปลี่ยนชื่อข้อมูลสำรองนี้จาก \"{old}\" เป็น \"{new}\" หรือป่าว" - noBackups: "ไม่มีข้อมูลสำรองนะ คุณสามารถสำรองข้อมูลการตั้งค่าไคลเอนต์ของคุณบนเซิร์ฟเวอร์นี้โดยใช้ \"สร้างการสำรองข้อมูลใหม่\"ได้นะ" + noBackups: "ไม่มีข้อมูลสำรองนะ คุณสามารถสำรองข้อมูลการตั้งค่าไคลเอนต์ของคุณบนเซิร์ฟเวอร์นี้โดยใช้ + \"สร้างการสำรองข้อมูลใหม่\"ได้นะ" createdAt: "สร้างเมื่อ: {date} {time}" updatedAt: "อัปเดตเมื่อ: {date} {time}" cannotLoad: "การโหลดล้มเหลว" @@ -972,7 +1023,8 @@ _aboutFirefish: source: "ซอร์สโค้ด" translation: "รับแปลภาษา Firefish" donate: "บริจาคให้กับ Firefish" - morePatrons: "เราขอขอบคุณสำหรับความช่วยเหลือจากผู้ช่วยอื่นๆ ที่ไม่ได้ระบุไว้ที่นี่นะ ขอขอบคุณ! 🥰" + morePatrons: "เราขอขอบคุณสำหรับความช่วยเหลือจากผู้ช่วยอื่นๆ ที่ไม่ได้ระบุไว้ที่นี่นะ + ขอขอบคุณ! 🥰" patrons: "สมาชิกพันธมิตร" _nsfw: respect: "ซ่อนสื่อ NSFW" @@ -980,7 +1032,8 @@ _nsfw: force: "ซ่อนสื่อทั้งหมด" _mfm: cheatSheet: "โค้ด MFM Cheat Sheet" - intro: "MFM เป็นภาษามาร์กอัปพิเศษเฉพาะของ Firefish ที่สามารถใช้ได้ในหลายที่ คุณยังสามารถดูรายการไวยากรณ์ MFM ที่มีอยู่ทั้งหมดได้ที่นี่นะ" + intro: "MFM เป็นภาษามาร์กอัปพิเศษเฉพาะของ Firefish ที่สามารถใช้ได้ในหลายที่ คุณยังสามารถดูรายการไวยากรณ์ + MFM ที่มีอยู่ทั้งหมดได้ที่นี่นะ" dummy: "Firefish ขยายโลกของ Fediverse" mention: "กล่าวถึง" mentionDescription: "คุณสามารถระบุผู้ใช้โดยใช้ At-Symbol และชื่อผู้ใช้ได้นะ" @@ -1069,15 +1122,18 @@ _menuDisplay: hide: "ซ่อน" _wordMute: muteWords: "ปิดเสียงคำ" - muteWordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข OR นะ" + muteWordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข + OR นะ" muteWordsDescription2: "ล้อมรอบคีย์เวิร์ดด้วยเครื่องหมายทับเพื่อใช้นิพจน์ทั่วไป" softDescription: "ซ่อนโน้ตให้ตรงตามเงื่อนไขที่ตั้งไว้จากไทม์ไลน์" - hardDescription: "ป้องกันไม่ให้โน้ตย่อที่ตรงตามเงื่อนไขที่ตั้งไว้ไม่ให้ถูกเพิ่มลงในไทม์ไลน์ นอกจากนี้ โน้ตเหล่านี้จะไม่ถูกเพิ่มลงในไทม์ไลน์แม้ว่าจะมีการเปลี่ยนแปลงเงื่อนไขยังไงก็ตาม" + hardDescription: "ป้องกันไม่ให้โน้ตย่อที่ตรงตามเงื่อนไขที่ตั้งไว้ไม่ให้ถูกเพิ่มลงในไทม์ไลน์ + นอกจากนี้ โน้ตเหล่านี้จะไม่ถูกเพิ่มลงในไทม์ไลน์แม้ว่าจะมีการเปลี่ยนแปลงเงื่อนไขยังไงก็ตาม" soft: "ซอฟ" hard: "ยาก" mutedNotes: "ปิดเสียงโน้ต" _instanceMute: - instanceMuteDescription: "การดำเนินการนี้จะปิดเสียง\"โน้ต/รีโน้ต\"จากอินสแตนซ์ที่อยู่ในรายการ รวมถึงบันทึกของผู้ใช้ที่ตอบกลับผู้ใช้จากอินสแตนซ์ที่ปิดเสียง" + instanceMuteDescription: "การดำเนินการนี้จะปิดเสียง\"โน้ต/รีโน้ต\"จากอินสแตนซ์ที่อยู่ในรายการ + รวมถึงบันทึกของผู้ใช้ที่ตอบกลับผู้ใช้จากอินสแตนซ์ที่ปิดเสียง" instanceMuteDescription2: "คั่นด้วยการขึ้นบรรทัดใหม่" title: "ซ่อนโน้ตจากอินสแตนซ์ที่มีอยู่ในรายการ" heading: "รายชื่ออินสแตนซ์ที่ถูกปิดเสียง" @@ -1191,3 +1247,23 @@ _deck: antenna: "เสาอากาศ" list: "รายการ" mentions: "พูดถึง" +noThankYou: ไม่ล่ะขอบคุณ +removeReaction: ลบรีเเอดชั่นของคุณ +renoteMute: ปิดเสียงบูส +renoteUnmute: เลิกปิดเสียงบูส +manageGroups: จัดการกลุ่ม +addInstance: เพิ่มเซิฟเวอร์ +searchPlaceholder: ค้นหา Firefish +deleted: ลบแล้ว +editNote: แก้ไขโพสต์ +edited: แก้ไขแล้วเมื่อ {date} {time} +jumpToPrevious: ข้ามไปที่ก่อนหน้านี้ +listsDesc: ลิสต์รายการนั้นช่วยให้คุณได้สร้างไทม์ไลน์กับผู้ใช้ที่ระบุได้นะ ยังสามารถเข้าถึงได้จากหน้าไทม์ไลน์ได้อีกด้วย +enableEmojiReactions: เปิดใช้งานรีแอดชั่นอีโมจิ +selectChannel: เลือกช่อง +older: เก่ากว่านี้ +newer: ใหม่กว่านี้ +selectInstance: เลือกเซิฟเวอร์ +showEmojisInReactionNotifications: แสดงอิโมจิในการแจ้งเตือนรีแอคชั่น +flagSpeakAsCat: พูดเหมือนแมว +cw: คำเตือนเนื้อหา diff --git a/neko/UPSTREAM_COMMIT_ID b/neko/UPSTREAM_COMMIT_ID index a9ecda09d..6376e8bcf 100644 --- a/neko/UPSTREAM_COMMIT_ID +++ b/neko/UPSTREAM_COMMIT_ID @@ -1 +1 @@ -f309d17667d827f44e9d914f43ddc7af2aef8268 +9ea14ceed6ec996fcfe139e5835e033895ca84f5 diff --git a/package.json b/package.json index eb1d3c948..c21c22233 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "firefish", - "version": "1.0.5-dev6", + "version": "1.0.5-dev7", "codename": "aqua", "repository": { "type": "git", "url": "https://code.naskya.net/naskya/firefish" }, - "packageManager": "pnpm@8.6.11", + "packageManager": "pnpm@8.7.0", "private": true, "scripts": { "rebuild": "pnpm run clean && pnpm node ./scripts/build-greet.js && pnpm -r --parallel run build && pnpm run gulp", diff --git a/packages/backend/native-utils/Cargo.lock b/packages/backend/native-utils/Cargo.lock index f2f3745b1..95d3e9af2 100644 --- a/packages/backend/native-utils/Cargo.lock +++ b/packages/backend/native-utils/Cargo.lock @@ -1305,6 +1305,7 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" name = "migration" version = "0.1.0" dependencies = [ + "basen", "futures", "indicatif", "native-utils", diff --git a/packages/backend/native-utils/migration/Cargo.toml b/packages/backend/native-utils/migration/Cargo.toml index 32adb62c8..454d9bff4 100644 --- a/packages/backend/native-utils/migration/Cargo.toml +++ b/packages/backend/native-utils/migration/Cargo.toml @@ -10,11 +10,11 @@ path = "src/lib.rs" [features] default = [] -convert = ["dep:indicatif", "dep:futures"] +convert = ["dep:native-utils", "dep:indicatif", "dep:futures"] [dependencies] serde_json = "1.0.96" -native-utils = { path = "../" } +native-utils = { path = "../", optional = true } indicatif = { version = "0.17.4", features = ["tokio"], optional = true } tokio = { version = "1.28.2", features = ["full"] } futures = { version = "0.3.28", optional = true } @@ -24,6 +24,7 @@ urlencoding = "2.1.2" redis = { version = "0.23.0", features = ["tokio-rustls-comp"] } sea-orm = "0.11.3" url = { version = "2.4.0", features = ["serde"] } +basen = "0.1.0" [dependencies.sea-orm-migration] version = "0.11.0" diff --git a/packages/backend/native-utils/migration/src/lib.rs b/packages/backend/native-utils/migration/src/lib.rs index dbe2ce1a0..57ca203f6 100644 --- a/packages/backend/native-utils/migration/src/lib.rs +++ b/packages/backend/native-utils/migration/src/lib.rs @@ -1,5 +1,7 @@ pub use sea_orm_migration::prelude::*; +use basen::BASE36; + mod m20230531_180824_drop_reversi; mod m20230627_185451_index_note_url; mod m20230709_000510_move_antenna_to_cache; @@ -18,3 +20,12 @@ impl MigratorTrait for Migrator { ] } } + +pub fn get_timestamp(id: &str) -> i64 { + const TIME_2000: i64 = 946_684_800_000; + let n: Option = BASE36.decode_var_len(&id[0..8]); + match n { + None => -1, + Some(n) => n as i64 + TIME_2000, + } +} diff --git a/packages/backend/native-utils/migration/src/m20230806_170616_fix_antenna_stream_ids.rs b/packages/backend/native-utils/migration/src/m20230806_170616_fix_antenna_stream_ids.rs index ea23f4319..6d45b7613 100644 --- a/packages/backend/native-utils/migration/src/m20230806_170616_fix_antenna_stream_ids.rs +++ b/packages/backend/native-utils/migration/src/m20230806_170616_fix_antenna_stream_ids.rs @@ -1,9 +1,10 @@ use std::env; -use native_utils::util::id; use redis::Commands; use sea_orm_migration::prelude::*; +use crate::get_timestamp; + #[derive(DeriveMigrationName)] pub struct Migration; @@ -31,7 +32,7 @@ impl MigrationTrait for Migration { let all_elems: Vec>> = redis_conn.xrange_all(key).unwrap(); // Get all post IDs in stream let stream_ids = all_elems .iter() - .map(|v| format!("{}-*", id::get_timestamp(&v[1][1]))); // Get correct stream id with timestamp + .map(|v| format!("{}-*", get_timestamp(&v[1][1]))); // Get correct stream id with timestamp redis_conn.del::<_, ()>(key).unwrap(); for (j, v) in stream_ids.enumerate() { redis_conn diff --git a/packages/backend/package.json b/packages/backend/package.json index bbc3166fd..fa5ee9baa 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -48,7 +48,7 @@ "bcryptjs": "2.4.3", "blurhash": "2.0.5", "bull": "4.11.2", - "cacheable-lookup": "7.0.0", + "cacheable-lookup": "TheEssem/cacheable-lookup", "cbor": "8.1.0", "chalk": "5.3.0", "chalk-template": "0.4.0", diff --git a/packages/backend/src/db/meilisearch.ts b/packages/backend/src/db/meilisearch.ts index bee693cbd..40efaa586 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) { "あそこ", "こちら", "どこ", - "だれ", - "なに", - "なん", - "何", "私", - "貴方", - "貴方方", + "僕", + "俺", + "君", + "あなた", "我々", "私達", - "あの人", - "あのか", "彼女", "彼", "です", - "ありま", - "おりま", - "います", + "ます", "は", "が", "の", "に", "を", "で", - "え", + "へ", "から", "まで", "より", "も", "どの", "と", - "し", "それで", "しかし", ]) diff --git a/packages/backend/src/server/api/stream/index.ts b/packages/backend/src/server/api/stream/index.ts index 72dce1951..e48368315 100644 --- a/packages/backend/src/server/api/stream/index.ts +++ b/packages/backend/src/server/api/stream/index.ts @@ -59,7 +59,6 @@ export default class Connection { accessToken: string, prepareStream: string | undefined, ) { - console.log("constructor", prepareStream); this.wsConnection = wsConnection; this.subscriber = subscriber; if (user) this.user = user; @@ -88,7 +87,6 @@ export default class Connection { this.subscriber.on(`user:${this.user.id}`, this.onUserEvent); } - console.log("prepare", prepareStream); if (prepareStream) { this.onWsConnectionMessage({ type: "utf8", @@ -185,8 +183,7 @@ export default class Connection { const tl = await client.getHomeTimeline(); for (const t of tl.data) forSubscribe.push(t.id); } catch (e: any) { - console.log(e); - console.error(e.response.data); + console.error(e); } } else if (simpleObj.stream === "public:local") { this.currentSubscribe.push(["public:local"]); @@ -247,7 +244,6 @@ export default class Connection { for (const obj of objs) { const { type, body } = obj; - // console.log(type, body); switch (type) { case "readNotification": this.onReadNotification(body); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0a0c52b18..3ef1ed9cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -148,8 +148,8 @@ importers: specifier: 4.11.2 version: 4.11.2 cacheable-lookup: - specifier: 7.0.0 - version: 7.0.0 + specifier: TheEssem/cacheable-lookup + version: github.com/TheEssem/cacheable-lookup/dd2fb616366a3c68dcf321a57a67295967b204bf cbor: specifier: 8.1.0 version: 8.1.0 @@ -2573,7 +2573,7 @@ packages: hasBin: true peerDependencies: '@swc/core': ^1.2.66 - chokidar: ^3.5.1 + chokidar: ^3.3.1 peerDependenciesMeta: chokidar: optional: true @@ -2593,7 +2593,7 @@ packages: hasBin: true peerDependencies: '@swc/core': ^1.2.66 - chokidar: ^3.5.1 + chokidar: ^3.3.1 peerDependenciesMeta: chokidar: optional: true @@ -16616,6 +16616,13 @@ packages: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false + github.com/TheEssem/cacheable-lookup/dd2fb616366a3c68dcf321a57a67295967b204bf: + resolution: {tarball: https://codeload.github.com/TheEssem/cacheable-lookup/tar.gz/dd2fb616366a3c68dcf321a57a67295967b204bf} + name: cacheable-lookup + version: 7.0.0 + engines: {node: '>=14.16'} + dev: false + github.com/misskey-dev/browser-image-resizer/e9ee4012b7e811aaa54e4d694846047655329d45: resolution: {tarball: https://codeload.github.com/misskey-dev/browser-image-resizer/tar.gz/e9ee4012b7e811aaa54e4d694846047655329d45} name: '@misskey-dev/browser-image-resizer'