diff --git a/CHANGELOG.md b/CHANGELOG.md index 199a420f7bfff2b9f834ec6071281f74122289e9..106cf3ce1582ef7dc065174d145842acbf10e391 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,8 +12,17 @@ --> +## 2023.12.2 + +### General +- v2023.12.1ã§Dockerを利用ã—ã¦ã‚µãƒ¼ãƒãƒ¼ã‚’èµ·å‹•ã§ããªã„å•é¡Œã‚’ä¿®æ£ + ## 2023.12.1 +### Note +- アクセストークンã®æ¨©é™ãŒå†æ•´ç†ã•ã‚ŒãŸãŸã‚ã€ä¸€éƒ¨ã®APIãŒå¤ã„APIトークンã§ã¯å‹•ä½œã—ãªããªã‚Šã¾ã—ãŸã€‚\ + 権é™ä¸è¶³ã«ãªã‚‹å ´åˆã«ã¯æ¨©é™ã‚’å†è¨å®šã—ã¦å†ç”Ÿæˆã—ã¦ãã ã•ã„。 + ### General - Enhance: ãƒãƒ¼ã‚«ãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ã®æ›´æ–° - Fix: 自分ã®direct noteãŒuser list timelineã«è¿½åŠ ã•ã‚Œãªã„ @@ -115,6 +124,7 @@ - Fix: WebKitブラウザー上ã§ã‚‚「デãƒã‚¤ã‚¹ã®ç”»é¢ã‚’常ã«ã‚ªãƒ³ã«ã™ã‚‹ã€æ©Ÿèƒ½ãŒåŠ¹ãよã†ã« - Fix: ページ一覧ページã®è¡¨ç¤ºãŒãƒ¢ãƒã‚¤ãƒ«ç’°å¢ƒã«ãŠã„ã¦å´©ã‚Œã¦ã„ã‚‹ã®ã‚’ä¿®æ£ - Fix: MFMã§ãƒ«ãƒ“ã®ä¸ã®ãƒ†ã‚ストãŒnyaizeã•ã‚Œãªã„å•é¡Œã‚’ä¿®æ£ +- Enhance: 検索画é¢ã«ãŠã„ã¦Enterã‚ー押下ã§æ¤œç´¢ã§ãるよã†ã« ### Server - Enhance: MFM `$[ruby ]` ãŒä»–ソフトウェアã¨é€£åˆã•ã‚Œã‚‹ã‚ˆã†ã« diff --git a/Dockerfile b/Dockerfile index 38aa5bc7b314ebeb254bf4feb4dc5ee0b01943d9..922ce4dca35fe902922c860f2c8d6fa5b759fc84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,6 +51,7 @@ WORKDIR /misskey COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"] COPY --link ["scripts", "./scripts"] COPY --link ["packages/backend/package.json", "./packages/backend/"] +COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ pnpm i --frozen-lockfile --aggregate-output @@ -77,7 +78,9 @@ WORKDIR /misskey COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules +COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built +COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/built ./packages/misskey-js/built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis COPY --chown=misskey:misskey . ./ diff --git a/locales/bn-BD.yml b/locales/bn-BD.yml index c659e132501d8239c9fc7fd10a09a0b3b8cd6663..77ba3f0306d4f90338bf95001766b01b8c1f1378 100644 --- a/locales/bn-BD.yml +++ b/locales/bn-BD.yml @@ -2,6 +2,7 @@ _lang_: "বাংলা" headlineMisskey: "নোট বà§à¦¯à¦¾à¦¬à¦¹à¦¾à¦° করে সংযà§à¦•à§à¦¤ নেটওয়ারà§à¦•" introMisskey: "সà§à¦¬à¦¾à¦—তম! মিসকি à¦à¦•à¦Ÿà¦¿ ওপেন সোরà§à¦¸, ডিসেনà§à¦Ÿà§à¦°à¦¾à¦²à¦¾à¦‡à¦œà¦¡ মাইকà§à¦°à§‹à¦¬à§à¦²à¦—িং পরিষেবা। \n\"নোট\" তৈরির মাধà§à¦¯à¦®à§‡ যা ঘটছে তা সবার সাথে শেয়ার করà§à¦¨ 📡\n\"রিঅà§à¦¯à¦¾à¦•à¦¶à¦¨\" গà§à¦²à¦¿à¦° মাধà§à¦¯à¦®à§‡ যেকোনো নোট সমà§à¦ªà¦°à§à¦•à§‡ আপনার অনà§à¦à§‚তি বà§à¦¯à¦¾à¦•à§à¦¤ করতে পারেন ðŸ‘\nà¦à¦•à¦Ÿà¦¿ নতà§à¦¨ দà§à¦¨à¦¿à§Ÿà¦¾ ঘà§à¦°à§‡ দেখà§à¦¨ 🚀\n" +poweredByMisskeyDescription: "{name} হল ওপেন সোরà§à¦¸ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦® <b>Misskey</b>-à¦à¦° সারà§à¦à¦¾à¦°à¦—à§à¦²à¦¿à¦° à¦à¦•à¦Ÿà¦¿à§·" monthAndDay: "{day}/{month}" search: "খà§à¦à¦œà§à¦¨" notifications: "বিজà§à¦žà¦ªà§à¦¤à¦¿" @@ -12,12 +13,14 @@ fetchingAsApObject: "ফেডিà¦à¦¾à¦°à§à¦¸ থেকে খবর আন ok: "ঠিক" gotIt: "বà§à¦à§‡à¦›à¦¿" cancel: "বাতিল" +noThankYou: "না, ধনà§à¦¯à¦¬à¦¾à¦¦" enterUsername: "ইউজারনেম লিখà§à¦¨" renotedBy: "{user} রিনোট করেছেন" noNotes: "কোন নোট নেই" noNotifications: "কোনো বিজà§à¦žà¦ªà§à¦¤à¦¿ নেই" instance: "ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸" settings: "সেটিংস" +notificationSettings: "বিজà§à¦žà¦ªà§à¦¤à¦¿à¦° সেটিংস" basicSettings: "সাধারণ সেটিংস" otherSettings: "অনà§à¦¯à¦¾à¦¨à§à¦¯ সেটিংস" openInWindow: "নতà§à¦¨ উইনà§à¦¡à§‹à¦¤à§‡ খà§à¦²à¦¾" @@ -42,12 +45,20 @@ pin: "পিন করা" unpin: "পিন সরান" copyContent: "বিষয়বসà§à¦¤à§ কপি করà§à¦¨" copyLink: "লিঙà§à¦• কপি করà§à¦¨" +copyLinkRenote: "রিনোট লিঙà§à¦• কপি করà§à¦¨" delete: "মà§à¦›à§à¦¨" deleteAndEdit: "মà§à¦›à§à¦¨ à¦à¦¬à¦‚ সমà§à¦ªà¦¾à¦¦à¦¨à¦¾ করà§à¦¨" deleteAndEditConfirm: "আপনি কি à¦à¦‡ নোটটি মà§à¦›à§‡ à¦à¦Ÿà¦¿ সমà§à¦ªà¦¾à¦¦à¦¨à¦¾ করার বিষয়ে নিশà§à¦šà¦¿à¦¤? আপনি à¦à¦Ÿà¦¿à¦° সমসà§à¦¤ রিঅà§à¦¯à¦¾à¦•à¦¶à¦¨, রিনোট à¦à¦¬à¦‚ জবাব হারাবেন।" addToList: "লিসà§à¦Ÿ ঠযোগ করà§à¦¨" +addToAntenna: "অà§à¦¯à¦¾à¦¨à§à¦Ÿà§‡à¦¨à¦¾ ঠযোগ করà§à¦¨" sendMessage: "à¦à¦•à¦Ÿà¦¿ বারà§à¦¤à¦¾ পাঠান" +copyRSS: "RSS কপি করà§à¦¨" copyUsername: "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€à¦° নাম কপি করà§à¦¨" +copyUserId: "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€à¦° ID কপি করà§à¦¨" +copyNoteId: "নোটের ID কপি করà§à¦¨" +copyFileId: "ফাইল ID কপি করà§à¦¨" +copyFolderId: "ফোলà§à¦¡à¦¾à¦° ID কপি করà§à¦¨" +copyProfileUrl: "পà§à¦°à§‹à¦«à¦¾à¦‡à¦² URL কপি করà§à¦¨" searchUser: "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€ খà§à¦à¦œà§à¦¨..." reply: "জবাব" loadMore: "আরও দেখà§à¦¨" @@ -100,6 +111,8 @@ renoted: "রিনোট করা হয়েছে" cantRenote: "à¦à¦‡ নোটটি রিনোট করা যাবে না।" cantReRenote: "রিনোটকে রিনোট করা যাবে না।" quote: "উদà§à¦§à§ƒà¦¤à¦¿" +inChannelRenote: "চà§à¦¯à¦¾à¦¨à§‡à¦²à§‡ রিনোট" +inChannelQuote: "চà§à¦¯à¦¾à¦¨à§‡à¦²à§‡ উদà§à¦§à§ƒà¦¤à¦¿" pinnedNote: "পিন করা নোট" pinned: "পিন করা" you: "আপনি" @@ -108,6 +121,10 @@ sensitive: "সংবেদনশীল বিষয়বসà§à¦¤à§" add: "যà§à¦•à§à¦¤ করà§à¦¨" reaction: "পà§à¦°à¦¤à¦¿à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾" reactions: "পà§à¦°à¦¤à¦¿à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾" +emojiPicker: "ইমোজি পিকার" +pinnedEmojisForReactionSettingDescription: "রিঅà§à¦¯à¦¾à¦•à¦¶à¦¨ দেয়ার সময় আপনি ইমোজিটিকে পিন করা à¦à¦¬à¦‚ পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤ হওয়ার জনà§à¦¯ সেট করতে পারেন।" +pinnedEmojisSettingDescription: "ইমোজি ইনপà§à¦Ÿ দেয়ার সময় আপনি ইমোজিটিকে পিন করা à¦à¦¬à¦‚ পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤ হওয়ার জনà§à¦¯ সেট করতে পারেন।" +emojiPickerDisplay: "পিকার ডিসপà§à¦²à§‡" reactionSettingDescription2: "পà§à¦¨à¦°à¦¾à¦¯à¦¼ সাজাতে টেনে আনà§à¦¨, মà§à¦›à¦¤à§‡ কà§à¦²à¦¿à¦• করà§à¦¨, যোগ করতে + টিপà§à¦¨à¥¤" rememberNoteVisibility: "নোটের দৃশà§à¦¯à¦®à¦¾à¦¨à§à¦¯à¦¤à¦¾à¦° সেটিংস মনে রাখà§à¦¨" attachCancel: "অà§à¦¯à¦¾à¦Ÿà¦¾à¦šà¦®à§‡à¦¨à§à¦Ÿ সরান " @@ -1034,6 +1051,7 @@ _2fa: step3: "অà§à¦¯à¦¾à¦ªà§‡ পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤ টোকেনটি লিখà§à¦¨ à¦à¦¬à¦‚ আপনার কাজ শেষ।" step4: "আপনাকে à¦à¦–ন থেকে লগ ইন করার সময়, à¦à¦‡à¦à¦¾à¦¬à§‡ টোকেন লিখতে হবে।" securityKeyInfo: "আপনি à¦à¦•à¦Ÿà¦¿ হারà§à¦¡à¦“য়à§à¦¯à¦¾à¦° সিকিউরিটি কী বà§à¦¯à¦¬à¦¹à¦¾à¦° করে লগ ইন করতে পারেন যা FIDO2 বা ডিà¦à¦¾à¦‡à¦¸à§‡à¦° ফিঙà§à¦—ারপà§à¦°à¦¿à¦¨à§à¦Ÿ সেনà§à¦¸à¦° বা পিন সমরà§à¦¥à¦¨ করে৷" + renewTOTPCancel: "না, ধনà§à¦¯à¦¬à¦¾à¦¦" _permissions: "read:account": "অà§à¦¯à¦¾à¦•à¦¾à¦‰à¦¨à§à¦Ÿà§‡à¦° তথà§à¦¯ দেখà§à¦¨" "write:account": "অà§à¦¯à¦¾à¦•à¦¾à¦‰à¦¨à§à¦Ÿà§‡à¦° তথà§à¦¯ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" diff --git a/locales/id-ID.yml b/locales/id-ID.yml index dc5600151ad99d38c615296ecb532548c481d008..156af44d8924baf0f33526f32e4c0ece3b4bd8c4 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -121,6 +121,10 @@ sensitive: "Konten sensitif" add: "Tambahkan" reaction: "Reaksi" reactions: "Reaksi" +emojiPicker: "Emoji Picker" +pinnedEmojisForReactionSettingDescription: "Atur sematan emoji pada reaksi" +pinnedEmojisSettingDescription: "Atur sematan emoji pada masukan emoji" +emojiPickerDisplay: "Tampilan Emoji Picker" reactionSettingDescription2: "Geser untuk memindah urutan emoji, klik untuk menghapus, tekan \"+\" untuk menambahkan" rememberNoteVisibility: "Ingat pengaturan visibilitas catatan" attachCancel: "Hapus lampiran" @@ -641,6 +645,7 @@ smtpSecure: "Gunakan SSL/TLS implisit untuk koneksi SMTP" smtpSecureInfo: "Matikan ini ketika menggunakan STARTTLS" testEmail: "Tes pengiriman surel" wordMute: "Bisukan kata" +hardWordMute: "Pembisuan kata keras" regexpError: "Kesalahan ekspresi reguler" regexpErrorDescription: "Galat terjadi pada baris {line} ekspresi reguler dari {tab} kata yang dibisukan:" instanceMute: "Bisukan instansi" @@ -1154,6 +1159,7 @@ tosAndPrivacyPolicy: "Syarat dan Ketentuan serta Kebijakan Privasi" avatarDecorations: "Dekorasi avatar" attach: "Lampirkan" detach: "Hapus" +detachAll: "Lepas Semua" angle: "Sudut" flip: "Balik" showAvatarDecorations: "Tampilkan dekorasi avatar" @@ -1168,6 +1174,7 @@ doReaction: "Tambahkan reaksi" code: "Kode" reloadRequiredToApplySettings: "Muat ulang diperlukan untuk menerapkan pengaturan." remainingN: "Sisa : {n}" +decorate: "Dekor" _announcement: forExistingUsers: "Hanya pengguna yang telah ada" forExistingUsersDescription: "Pengumuman ini akan dimunculkan ke pengguna yang sudah ada dari titik waktu publikasi jika dinyalakan. Apabila dimatikan, mereka yang baru mendaftar setelah publikasi ini akan juga melihatnya." @@ -1215,6 +1222,7 @@ _initialTutorial: followers: "Perlihatkan ke pengikut saja. Hanya pengikut yang dapat melihat postinganmu dan tidak dapat direnote oleh siapapun." direct: "Hanya perlihatkan ke pengguna spesifik dan penerima akan diberi tahu. Dapat juga digunakan sebagai alternatif dari pesan langsung." _cw: + title: "Peringatan Konten (CW)" _exampleNote: cw: "Peringatan: Bikin Lapar!" note: "Baru aja makan donat berlapis coklat ðŸ©ðŸ˜‹" diff --git a/locales/ko-GS.yml b/locales/ko-GS.yml index 37bdf1e57708c27e7c0a19b8a0cc66c316014917..566667ba79ce7def4fddf0597e6988aee77f1e55 100644 --- a/locales/ko-GS.yml +++ b/locales/ko-GS.yml @@ -260,6 +260,7 @@ removed: "ë‰ìº£ì‹ë‹ˆë‹¤" removeAreYouSure: "‘{x}’(ì–¼)럴 ë‰ìº¡ë‹ˆêº¼?" deleteAreYouSure: "‘{x}’(ì–¼)럴 ë‰ìº¡ë‹ˆêº¼?" resetAreYouSure: "아시로 ë°ëŒë¦½ë‹ˆêº¼?" +areYouSure: "ê° ì°®ì‹ë‹ˆêº¼?" saved: "ì €ìž¥í–‡ì‹ë‹ˆë‹¤" messaging: "대화" upload: "올리기" @@ -458,6 +459,7 @@ noMessagesYet: "ì•„ì§ ëŒ€í™”ê°€ ì—†ì‹ë‹ˆë‹¤" newMessageExists: "새 메시지가 있ì‹ë‹ˆë‹¤" onlyOneFileCanBeAttached: "메시지엔 íŒŒì¼ í•˜ë‚˜ê¹Œì œë°–ì— ëª¬ ë„£ì‹ë‹ˆë‹¤" invitations: "초대하기" +invitationCode: "초대장" checking: "í•™ì¸í•˜ê³ 잇ì‹ë‹ˆë‹¤" passwordMatched: "맞ì‹ë‹ˆë‹¤" passwordNotMatched: "안 맞ì‹ë‹ˆë‹¤" @@ -564,6 +566,11 @@ removeAllFollowing: "팔로잉 ë§ìº‰ 무루기" removeAllFollowingDescription: "{host} 서버랑 ê±¸ì–´ë†“ì€ ëª¨ë“ íŒ”ë¡œìž‰ì„ ë¬´ë£¹ë‹ˆë‹¤. ê³ ì„œë²„ê°€ 아예 없어지ì‚ë§€ë“ ê°€, 그런 ê²½ìš°ì— í•˜ì´ì†Œ." userSuspended: "ìš” ê²Œì •ì€... 얼어 있ì‹ë‹ˆë‹¤." userSilenced: "ìš” ê²Œì •ì€... 수ᇚ혀 있ì‹ë‹ˆë‹¤." +relays: "ë¦´ë ˆì´" +addRelay: "ë¦´ë ˆì´ ì˜‡ê¸°" +addedRelays: "ì˜‡ì€ ë¦´ë ˆì´" +enableInfiniteScroll: "알아서 ë” ë³´ê¸°" +author: "ë§¨ë˜ ì‚¬ëžŒ" manage: "간리" emailServer: "ì „ìžìš°íŽœ 서버" email: "ì „ìžìš°íŽœ" @@ -572,6 +579,8 @@ smtpHost: "호스트 ì´ëŸ¼" smtpPort: "í¬íŠ¸" smtpUser: "ì‚¬ìš©ìž ì´ëŸ¼" smtpPass: "비밀번호" +display: "보기" +create: "맨걸기" abuseReports: "ì‹ ê³ í•˜ê¸°" reportAbuse: "ì‹ ê³ í•˜ê¸°" reportAbuseRenote: "리노트 ì‹ ê³ í•˜ê¸°" @@ -583,6 +592,7 @@ forwardReport: "ì›¬ê² ì„œë²„ì— ì‹ ê³ ë³´ë‚´ê¸°" random: "무작ì´" system: "시스템" clip: "í´ë¦½ 맨걸기" +createNew: "새로 맨걸기" notesCount: "노트 수" renotesCount: "리노트한 수" renotedCount: "ë¦¬ë…¸íŠ¸ë´ ìˆ˜" @@ -608,6 +618,7 @@ tools: "ë„구" like: "좋네예!" unlike: "좋네예 무루기" numberOfLikes: "좋네예 수" +show: "보기" roles: "ì˜‰í• " role: "ì˜‰í• " noRole: "ì˜‰í• ì´ ì—†ì‹ë‹ˆë‹¤" @@ -637,6 +648,8 @@ _gallery: _email: _follow: title: "새 팔로워가 잇ì‹ë‹ˆë‹¤" +_serverDisconnectedBehavior: + reload: "알아서 새로곤침" _channel: removeBanner: "배너 ë‰ìºê¸°" _theme: diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 63d0812e932956e1b205b2395676f58cb5b676e8..4a13012eed9dff9df902210bf4c76a93e586ea13 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -425,9 +425,9 @@ setupOf2fa: "2단계 ì¸ì¦ ì„¤ì •" totp: "ì¸ì¦ 앱" totpDescription: "ì¸ì¦ ì•±ì„ ì‚¬ìš©í•˜ì—¬ ì¼íšŒì„± 비밀번호 ìž…ë ¥" moderator: "모ë”ë ˆì´í„°" -moderation: "모ë”ë ˆì´ì…˜" -moderationNote: "모ë”ë ˆì´ì…˜ 노트" -addModerationNote: "모ë”ë ˆì´ì…˜ 노트 추가하기" +moderation: "ì¡°ì •" +moderationNote: "ì¡°ì • 기ë¡" +addModerationNote: "ì¡°ì • ê¸°ë¡ ì¶”ê°€í•˜ê¸°" moderationLogs: "모ë”ë ˆì´ì…˜ 로그" nUsersMentioned: "{n}ëª…ì´ ì–¸ê¸‰í•¨" securityKeyAndPasskey: "보안 키 ë˜ëŠ” 패스 키" @@ -513,7 +513,7 @@ dayOverDayChanges: "ì–´ì œë³´ë‹¤" appearance: "모양" clientSettings: "í´ë¼ì´ì–¸íŠ¸ ì„¤ì •" accountSettings: "ê³„ì • ì„¤ì •" -promotion: "프로모션" +promotion: "í™ë³´" promote: "프로모션하기" numberOfDays: "ë©°ì¹ ë™ì•ˆ" hideThisNote: "ì´ ë…¸íŠ¸ë¥¼ 숨기기" @@ -863,8 +863,8 @@ devMode: "ê°œë°œìž ëª¨ë“œ" keepCw: "CW ìœ ì§€í•˜ê¸°" pubSub: "Pub/Sub ê³„ì •" lastCommunication: "마지막 í†µì‹ " -resolved: "í•´ê²°ë¨" -unresolved: "í•´ê²°ë˜ì§€ ì•ŠìŒ" +resolved: "처리함" +unresolved: "처리ë˜ì§€ ì•ŠìŒ" breakFollow: "팔로워 í•´ì œ" breakFollowConfirm: "팔로우를 í•´ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?" itsOn: "ì¼œì ¸ 있습니다" @@ -1181,6 +1181,8 @@ remainingN: "나머지: {n}" overwriteContentConfirm: "현재 ë‚´ìš©ì„ ë®ì–´ì“°ê¸° 합니다. ê³„ì† ì§„í–‰í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" seasonalScreenEffect: "ê³„ì ˆì— ë”°ë¥¸ 효과 ë³´ì´ê¸°" decorate: "장ì‹í•˜ê¸°" +addMfmFunction: "ìž¥ì‹ ì¶”ê°€í•˜ê¸°" +enableQuickAddMfmFunction: "ìƒê¸‰ìžìš© MFM ì„ íƒê¸° 표시하기" _announcement: forExistingUsers: "기존 ìœ ì €ì—게만 알림" forExistingUsersDescription: "활성화하면 ì´ ê³µì§€ì‚¬í•ì„ 게시한 ì‹œì ì—ì„œ ì´ë¯¸ 가입한 ìœ ì €ì—게만 표시합니다. 비활성화하면 게시 í›„ì— ê°€ìž…í•œ ìœ ì €ì—ê²Œë„ í‘œì‹œí•©ë‹ˆë‹¤." @@ -1557,7 +1559,7 @@ _role: name: "ì—í• ì´ë¦„" description: "ì—í• ì„¤ëª…" permission: "ì—í• ê¶Œí•œ" - descriptionOfPermission: "<b>모ë”ë ˆì´í„°</b>는 기본ì ì¸ ì¤‘ìž¬ì™€ ê´€ë ¨ëœ ìž‘ì—…ì„ ìˆ˜í–‰í• ìˆ˜ 있습니다.\n<b>관리ìž</b>는 ì„œë²„ì˜ ëª¨ë“ ì„¤ì •ì„ ë³€ê²½í• ìˆ˜ 있습니다." + descriptionOfPermission: "<b>ì¡°ì •ìž</b>는 기본ì ì¸ ì¡°ì • ìž‘ì—…ì„ ì§„í–‰í• ìˆ˜ 있습니다.\n<b>관리ìž</b>는 ì„œë²„ì˜ ëª¨ë“ ì„¤ì •ì„ ë³€ê²½í• ìˆ˜ 있습니다." assignTarget: "í• ë‹¹ 대ìƒ" descriptionOfAssignTarget: "<b>수ë™</b>ì„ ì„ íƒí•˜ë©´ 누가 ì´ ì—í• ì— í¬í•¨ë˜ëŠ”지를 수ë™ìœ¼ë¡œ ê´€ë¦¬í• ìˆ˜ 있습니다.\n<b>조건부</b>를 ì„ íƒí•˜ë©´ ì¡°ê±´ì„ ì„¤ì •í•´ ì¼ì¹˜í•˜ëŠ” 사용ìžë¥¼ ìžë™ìœ¼ë¡œ í¬í•¨ë˜ê²Œ í• ìˆ˜ 있습니다." manual: "수ë™" @@ -1628,7 +1630,7 @@ _role: or: "다ìŒì„ 하나ë¼ë„ 만족" not: "다ìŒì„ 만족하지 ì•ŠìŒ" _sensitiveMediaDetection: - description: "ê¸°ê³„í•™ìŠµì„ í†µí•´ ìžë™ìœ¼ë¡œ 민ê°í•œ 미디어를 íƒì§€í•˜ì—¬, 모ë”ë ˆì´ì…˜ì— ì°¸ê³ í• ìˆ˜ 있ë„ë¡ í•©ë‹ˆë‹¤. ì„œë²„ì˜ ë¶€í•˜ë¥¼ 약간 ì¦ê°€ì‹œí‚µë‹ˆë‹¤." + description: "기계 학습으로 민ê°í•œ 미디어를 알아서 찾아내어 ì¡°ì •ì— ì°¸ê³ í•˜ë„ë¡ í•©ë‹ˆë‹¤. 서버가 부하를 다소 받습니다." sensitivity: "íƒì§€ 민ê°ë„" sensitivityDescription: "민ê°ë„ê°€ ë‚®ì„ìˆ˜ë¡ ì•ˆì „í•œ 미디어가 잘못 íƒì§€ë í™•ë¥ ì´ ì¤„ì–´ë“¤ë©°, 높ì„ìˆ˜ë¡ ë¯¼ê°í•œ 미디어가 íƒì§€ë˜ì§€ ì•Šì„ í™•ë¥ ì´ ì¤„ì–´ë“니다." setSensitiveFlagAutomatically: "ìžë™ìœ¼ë¡œ NSFWë¡œ ì„¤ì •í•˜ê¸°" @@ -1933,6 +1935,55 @@ _permissions: "write:flash": "Play를 조작합니다" "read:flash-likes": "Playì˜ ì¢‹ì•„ìš”ë¥¼ 봅니다" "write:flash-likes": "Playì˜ ì¢‹ì•„ìš”ë¥¼ 조작합니다" + "read:admin:abuse-user-reports": "ì‚¬ìš©ìž ì‹ ê³ ë³´ê¸°" + "write:admin:delete-account": "ì‚¬ìš©ìž ê³„ì • ì‚ì œí•˜ê¸°" + "write:admin:delete-all-files-of-a-user": "ëª¨ë“ ì‚¬ìš©ìž íŒŒì¼ ì‚ì œí•˜ê¸°" + "read:admin:index-stats": "ë°ì´í„°ë² ì´ìŠ¤ ìƒ‰ì¸ ì •ë³´ 보기" + "read:admin:table-stats": "ë°ì´í„°ë² ì´ìŠ¤ í…Œì´ë¸” ì •ë³´ 보기" + "read:admin:user-ips": "ì‚¬ìš©ìž IP 주소 보기" + "read:admin:meta": "ì¸ìŠ¤í„´ìŠ¤ 메타ë°ì´í„° 보기" + "write:admin:reset-password": "ì‚¬ìš©ìž ë¹„ë°€ë²ˆí˜¸ ìž¬ì„¤ì •í•˜ê¸°" + "write:admin:resolve-abuse-user-report": "ì‚¬ìš©ìž ì‹ ê³ ì²˜ë¦¬í•˜ê¸°" + "write:admin:send-email": "ì´ë©”ì¼ ë³´ë‚´ê¸°" + "read:admin:server-info": "서버 ì •ë³´ 보기" + "read:admin:show-moderation-log": "ì¡°ì • ê¸°ë¡ ë³´ê¸°" + "read:admin:show-user": "ì‚¬ìš©ìž ê°œì¸ì •ë³´ 보기" + "read:admin:show-users": "ì‚¬ìš©ìž ê°œì¸ì •ë³´ 보기" + "write:admin:suspend-user": "ì‚¬ìš©ìž ì •ì§€í•˜ê¸°" + "write:admin:unset-user-avatar": "ì‚¬ìš©ìž ì•„ë°”íƒ€ ì‚ì œí•˜ê¸°" + "write:admin:unset-user-banner": "ì‚¬ìš©ìž ë°°ë„ˆ ì‚ì œí•˜ê¸°" + "write:admin:unsuspend-user": "ì‚¬ìš©ìž ì •ì§€ í•´ì œí•˜ê¸°" + "write:admin:meta": "ì¸ìŠ¤í„´ìŠ¤ 메타ë°ì´í„° ìˆ˜ì •í•˜ê¸°" + "write:admin:user-note": "ì¡°ì • ê¸°ë¡ ìˆ˜ì •í•˜ê¸°" + "write:admin:roles": "ì—í• ìˆ˜ì •í•˜ê¸°" + "read:admin:roles": "ì—í• ë³´ê¸°" + "write:admin:relays": "ë¦´ë ˆì´ ìˆ˜ì •í•˜ê¸°" + "read:admin:relays": "ë¦´ë ˆì´ ë³´ê¸°" + "write:admin:invite-codes": "초대 코드 ìˆ˜ì •í•˜ê¸°" + "read:admin:invite-codes": "초대 코드 보기" + "write:admin:announcements": "ê³µì§€ì‚¬í• ìˆ˜ì •í•˜ê¸°" + "read:admin:announcements": "ê³µì§€ì‚¬í• ë³´ê¸°" + "write:admin:avatar-decorations": "아바타 꾸미기 ìˆ˜ì •í•˜ê¸°" + "read:admin:avatar-decorations": "아바타 꾸미기 보기" + "write:admin:federation": "ì—°í•© ì •ë³´ ìˆ˜ì •í•˜ê¸°" + "write:admin:account": "ì‚¬ìš©ìž ê³„ì • ìˆ˜ì •í•˜ê¸°" + "read:admin:account": "ì‚¬ìš©ìž ì •ë³´ 보기" + "write:admin:emoji": "ì´ëª¨ì§€ ìˆ˜ì •í•˜ê¸°" + "read:admin:emoji": "ì´ëª¨ì§€ 보기" + "write:admin:queue": "ìž‘ì—… 대기열 ìˆ˜ì •í•˜ê¸°" + "read:admin:queue": "ìž‘ì—… 대기열 ì •ë³´ 보기" + "write:admin:promo": "í™ë³´ ê¸°ë¡ ìˆ˜ì •í•˜ê¸°" + "write:admin:drive": "ì‚¬ìš©ìž ë“œë¼ì´ë¸Œ ìˆ˜ì •í•˜ê¸°" + "read:admin:drive": "ì‚¬ìš©ìž ë“œë¼ì´ë¸Œ ì •ë³´ 보기" + "read:admin:stream": "관리ìžìš© Websocket API 사용하기" + "write:admin:ad": "ê´‘ê³ ìˆ˜ì •í•˜ê¸°" + "read:admin:ad": "ê´‘ê³ ë³´ê¸°" + "write:invite-codes": "초대 코드 만들기" + "read:invite-codes": "초대 코드 불러오기" + "write:clip-favorite": "í´ë¦½ì˜ 좋아요 ìˆ˜ì •í•˜ê¸°" + "read:clip-favorite": "í´ë¦½ì˜ 좋아요 보기" + "read:federation": "ì—°í•© ì •ë³´ 불러오기" + "write:report-abuse": "위반 ë‚´ìš© ì‹ ê³ í•˜ê¸°" _auth: shareAccessTitle: "어플리케ì´ì…˜ì˜ ì ‘ê·¼ 허가" shareAccess: "\"{name}\" ì´ ê³„ì •ì— ì ‘ê·¼í•˜ëŠ” ê²ƒì„ í—ˆìš©í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" @@ -2267,21 +2318,21 @@ _moderationLogTypes: updateCustomEmoji: "커스텀 ì´ëª¨ì§€ ìˆ˜ì •" deleteCustomEmoji: "커스텀 ì´ëª¨ì§€ ì‚ì œ" updateServerSettings: "서버 ì„¤ì • ê°±ì‹ " - updateUserNote: "모ë”ë ˆì´ì…˜ 노트 ê°±ì‹ " + updateUserNote: "ì¡°ì • ê¸°ë¡ ê°±ì‹ " deleteDriveFile: "íŒŒì¼ ì‚ì œ" deleteNote: "노트 ì‚ì œ" - createGlobalAnnouncement: "ì „ì— ê³µì§€ì‚¬í• ìƒì„±" - createUserAnnouncement: "ìœ ì € ê³µì§€ì‚¬í• ìƒì„±" - updateGlobalAnnouncement: "ì „ì— ê³µì§€ì‚¬í• ìˆ˜ì •" - updateUserAnnouncement: "ìœ ì € ê³µì§€ì‚¬í• ìˆ˜ì •" - deleteGlobalAnnouncement: "ì „ì— ê³µì§€ì‚¬í• ì‚ì œ" - deleteUserAnnouncement: "ìœ ì € ê³µì§€ì‚¬í• ì‚ì œ" + createGlobalAnnouncement: "ëª¨ë“ ê³µì§€ì‚¬í• ë§Œë“¤ê¸°" + createUserAnnouncement: "ì‚¬ìš©ìž ê³µì§€ì‚¬í• ë§Œë“¤ê¸°" + updateGlobalAnnouncement: "ëª¨ë“ ê³µì§€ì‚¬í• ìˆ˜ì •" + updateUserAnnouncement: "ì‚¬ìš©ìž ê³µì§€ì‚¬í• ìˆ˜ì •" + deleteGlobalAnnouncement: "ëª¨ë“ ê³µì§€ì‚¬í• ì‚ì œ" + deleteUserAnnouncement: "ì‚¬ìš©ìž ê³µì§€ì‚¬í• ì‚ì œ" resetPassword: "비밀번호 ìž¬ì„¤ì •" suspendRemoteInstance: "리모트 서버를 ì •ì§€" unsuspendRemoteInstance: "리모트 ì„œë²„ì˜ ì •ì§€ë¥¼ í•´ì œ" markSensitiveDriveFile: "파ì¼ì— 열람주ì˜ë¥¼ ì„¤ì •" unmarkSensitiveDriveFile: "파ì¼ì— 열람주ì˜ë¥¼ í•´ì œ" - resolveAbuseReport: "ì‹ ê³ í•´ê²°" + resolveAbuseReport: "ì‹ ê³ ì²˜ë¦¬" createInvitation: "초대 코드 ìƒì„±" createAd: "ê´‘ê³ ìƒì„±" deleteAd: "ê´‘ê³ ì‚ì œ" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index 782f871b1e85f2c4d0ba2b1046bbc94673597d37..36b6e77e9bc4feb6b63b86b8d00638a7f42d281b 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -1181,6 +1181,8 @@ remainingN: "剩餘:{n}" overwriteContentConfirm: "確定è¦è¦†è“‹ç›®å‰çš„內容嗎?" seasonalScreenEffect: "隨å£ç¯€è®Šæ›ç•«é¢çš„呈ç¾" decorate: "è¨ç½®é åƒè£é£¾" +addMfmFunction: "æ’å…¥MFM功能語法" +enableQuickAddMfmFunction: "顯示高級MFMé¸æ“‡å™¨" _announcement: forExistingUsers: "僅é™æ—¢æœ‰çš„使用者" forExistingUsersDescription: "啟用代表僅å‘ç¾å˜ä½¿ç”¨è€…顯示;åœç”¨ä»£è¡¨å¼µè²¼å¾Œè¨»å†Šçš„新使用者也會看到。" diff --git a/package.json b/package.json index f245d62bcbb29d00c618ff6d035e737c1e30d394..7579323bbe7347e3eef99f2a784c8e7034455aa0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "2023.12.1", + "version": "2023.12.2", "codename": "nasubi", "repository": { "type": "git", diff --git a/packages/frontend/src/pages/channel.vue b/packages/frontend/src/pages/channel.vue index 421895ea6c179353f0b6040074b1cc7934e1a616..af091896549563a48830eb984c18ed4ba5c5e699 100644 --- a/packages/frontend/src/pages/channel.vue +++ b/packages/frontend/src/pages/channel.vue @@ -46,7 +46,7 @@ SPDX-License-Identifier: AGPL-3.0-only <div v-else-if="tab === 'search'"> <div class="_gaps"> <div> - <MkInput v-model="searchQuery"> + <MkInput v-model="searchQuery" @enter="search()"> <template #prefix><i class="ti ti-search"></i></template> </MkInput> <MkButton primary rounded style="margin-top: 8px;" @click="search()">{{ i18n.ts.search }}</MkButton> diff --git a/packages/frontend/src/pages/channels.vue b/packages/frontend/src/pages/channels.vue index e58c89bb77d8f2f8078d098ae20557c9acad1fc3..b7cc5cd36e916ebc980386db61529a5eeccb668f 100644 --- a/packages/frontend/src/pages/channels.vue +++ b/packages/frontend/src/pages/channels.vue @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only <MkSpacer :contentMax="700"> <div v-if="tab === 'search'"> <div class="_gaps"> - <MkInput v-model="searchQuery" :large="true" :autofocus="true" type="search"> + <MkInput v-model="searchQuery" :large="true" :autofocus="true" type="search" @enter="search"> <template #prefix><i class="ti ti-search"></i></template> </MkInput> <MkRadios v-model="searchType" @update:modelValue="search()"> diff --git a/packages/frontend/src/pages/search.note.vue b/packages/frontend/src/pages/search.note.vue index e8918c866988335c0ec7e3987a038693742cc515..5c0b54e2d99103c2aa7a834c640d5aebaaa2e193 100644 --- a/packages/frontend/src/pages/search.note.vue +++ b/packages/frontend/src/pages/search.note.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <div class="_gaps"> <div class="_gaps"> - <MkInput v-model="searchQuery" :large="true" :autofocus="true" type="search"> + <MkInput v-model="searchQuery" :large="true" :autofocus="true" type="search" @enter="search"> <template #prefix><i class="ti ti-search"></i></template> </MkInput> <MkFolder> diff --git a/packages/frontend/src/pages/search.user.vue b/packages/frontend/src/pages/search.user.vue index 0d978e4107c9ea0e90ee05078e2c0c45dd4b0e8f..829c706e0e447b3a591161981f637ade50a4e27c 100644 --- a/packages/frontend/src/pages/search.user.vue +++ b/packages/frontend/src/pages/search.user.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <div class="_gaps"> <div class="_gaps"> - <MkInput v-model="searchQuery" :large="true" :autofocus="true" type="search"> + <MkInput v-model="searchQuery" :large="true" :autofocus="true" type="search" @enter="search"> <template #prefix><i class="ti ti-search"></i></template> </MkInput> <MkRadios v-model="searchOrigin" @update:modelValue="search()">