From bba8243d8044cd27694d2c5f0f8db1f5b80ea934 Mon Sep 17 00:00:00 2001 From: NoriDev Date: Tue, 19 Dec 2023 16:20:08 +0900 Subject: [PATCH 01/59] =?UTF-8?q?fix(frontend):=20=ED=97=A4=EB=8D=94=20?= =?UTF-8?q?=EB=A9=94=EB=89=B4=EA=B0=80=20=EC=82=AC=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=EC=97=90=EC=84=9C=20=EC=A0=9C?= =?UTF-8?q?=EB=8C=80=EB=A1=9C=20=EC=9E=91=EB=8F=99=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EC=9D=84=20=EC=88=98=20=EC=9E=88=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/pages/user/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/frontend/src/pages/user/index.vue b/packages/frontend/src/pages/user/index.vue index 32e8311096..f23c42d2ee 100644 --- a/packages/frontend/src/pages/user/index.vue +++ b/packages/frontend/src/pages/user/index.vue @@ -133,7 +133,7 @@ const headerTabs = computed(() => user.value ? [{ }] : []); function menu(ev) { - const { menu, cleanup } = getUserMenu(user, mainRouter); + const { menu, cleanup } = getUserMenu(user.value, mainRouter); os.popupMenu(menu, ev.currentTarget ?? ev.target).finally(cleanup); } From 371d53985878163f7fac2aecd2f2413216dbd03d Mon Sep 17 00:00:00 2001 From: NoriDev Date: Tue, 19 Dec 2023 17:33:19 +0900 Subject: [PATCH 02/59] =?UTF-8?q?enhance(sw):=20=ED=91=B8=EC=8B=9C=20?= =?UTF-8?q?=EC=95=8C=EB=A6=BC=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG_CHERRYPICK.md | 3 +++ locales/ar-SA.yml | 2 -- locales/bn-BD.yml | 2 -- locales/de-DE.yml | 2 -- locales/en-US.yml | 2 -- locales/es-ES.yml | 2 -- locales/fr-FR.yml | 2 -- locales/id-ID.yml | 2 -- locales/index.d.ts | 2 -- locales/it-IT.yml | 2 -- locales/ja-JP.yml | 2 -- locales/ja-KS.yml | 2 -- locales/ko-KR.yml | 2 -- locales/pl-PL.yml | 2 -- locales/ru-RU.yml | 2 -- locales/sk-SK.yml | 2 -- locales/th-TH.yml | 2 -- locales/uk-UA.yml | 2 -- locales/vi-VN.yml | 2 -- locales/zh-CN.yml | 2 -- locales/zh-TW.yml | 2 -- packages/sw/src/scripts/create-notification.ts | 8 +++++--- 22 files changed, 8 insertions(+), 43 deletions(-) diff --git a/CHANGELOG_CHERRYPICK.md b/CHANGELOG_CHERRYPICK.md index 3d0413c92f..ef39d06354 100644 --- a/CHANGELOG_CHERRYPICK.md +++ b/CHANGELOG_CHERRYPICK.md @@ -75,6 +75,9 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2023xx](CHANGE ### Server - Enhance: (dev) 개발 모드에서 locale 및 유형 정의가 자동으로 재생성됨 (misskey-dev/misskey#12481) +- Enhance: 푸시 알림 개선 + - 개인간 대화 알림을 받았을 때, 대화 내용을 푸시 알림에 표시 + - 그룹간 대화 알림을 받았을 때, 채팅을 보낸 사용자와 내용을 표시 --- diff --git a/locales/ar-SA.yml b/locales/ar-SA.yml index c0a3460e92..3046797c21 100644 --- a/locales/ar-SA.yml +++ b/locales/ar-SA.yml @@ -1516,8 +1516,6 @@ _notification: youGotReply: "ردّ عليك {name}" youGotQuote: "اقتبس {name} منشورك" youRenoted: "أعاد {name} نشر منشورك" - youGotMessagingMessageFromUser: "لقد تلقيت رسالة مِن {name}" - youGotMessagingMessageFromGroup: "لقد أرسِلَت رسالة إلى الفريق {name}" youWereFollowed: "يتابعك" youReceivedFollowRequest: "تلقيتَ طلب متابعة" yourFollowRequestAccepted: "قُبل طلب المتابعة" diff --git a/locales/bn-BD.yml b/locales/bn-BD.yml index 47cb510c99..539a970238 100644 --- a/locales/bn-BD.yml +++ b/locales/bn-BD.yml @@ -1380,8 +1380,6 @@ _notification: youGotReply: "{name} আপনাকে জবাব দিয়েছে" youGotQuote: "{name} আপনাকে উদ্ধৃত করেছে" youRenoted: "{name} এর Renote" - youGotMessagingMessageFromUser: "{name} আপনাকে মেসেজ করেছে" - youGotMessagingMessageFromGroup: "{name} গ্রুপে একটি নতুন মেসেজ আছে" youWereFollowed: "আপনাকে অনুসরণ করছে" youReceivedFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে" yourFollowRequestAccepted: "আপনার অনুসরণ করার অনুরোধ গৃহীত হয়েছে" diff --git a/locales/de-DE.yml b/locales/de-DE.yml index cae0a1cb42..6d673e41cc 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -2155,8 +2155,6 @@ _notification: youGotReply: "{name} hat dir geantwortet" youGotQuote: "{name} hat dich zitiert" youRenoted: "Renote deiner Notiz von {name}" - youGotMessagingMessageFromUser: "{name} hat dir eine Chatnachricht gesendet" - youGotMessagingMessageFromGroup: "In die Gruppe {name} wurde eine Chatnachricht gesendet" youWereFollowed: "ist dir gefolgt" youReceivedFollowRequest: "Du hast eine Follow-Anfrage erhalten" yourFollowRequestAccepted: "Deine Follow-Anfrage wurde akzeptiert" diff --git a/locales/en-US.yml b/locales/en-US.yml index f78bbf4c7c..f444d570c7 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -2452,8 +2452,6 @@ _notification: youGotReply: "{name} replied to you" youGotQuote: "{name} quoted you" youRenoted: "Renote from {name}" - youGotMessagingMessageFromUser: "{name} sent you a chat message" - youGotMessagingMessageFromGroup: "A chat message was sent to the {name} group" youWereFollowed: "followed you" youReceivedFollowRequest: "You've received a follow request" yourFollowRequestAccepted: "Your follow request was accepted" diff --git a/locales/es-ES.yml b/locales/es-ES.yml index d19885b170..f10b90c60f 100644 --- a/locales/es-ES.yml +++ b/locales/es-ES.yml @@ -2173,8 +2173,6 @@ _notification: youGotReply: "Respuesta de {name}" youGotQuote: "Citado por {name}" youRenoted: "Renotado por {name}" - youGotMessagingMessageFromUser: "{name} comenzó un chat contigo" - youGotMessagingMessageFromGroup: "Tienes un chat de {name}" youWereFollowed: "te ha seguido" youReceivedFollowRequest: "Has mandado una solicitud de seguimiento" yourFollowRequestAccepted: "Tu solicitud de seguimiento fue aceptada" diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index 562798705e..e0dc733606 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -1969,8 +1969,6 @@ _notification: youGotReply: "Réponse de {name}" youGotQuote: "Cité·e par {name}" youRenoted: "{name} vous a Renoté" - youGotMessagingMessageFromUser: "{name} vous envoyé un message" - youGotMessagingMessageFromGroup: "Un message a été envoyé au groupe {name}" youWereFollowed: "s'est abonné·e à vous" youReceivedFollowRequest: "Vous avez reçu une demande d’abonnement" yourFollowRequestAccepted: "Votre demande d’abonnement a été accepté" diff --git a/locales/id-ID.yml b/locales/id-ID.yml index f5583dddd8..a987d329a2 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -2146,8 +2146,6 @@ _notification: youGotReply: "{name} membalas kamu" youGotQuote: "{name} mengutip kamu" youRenoted: "{name} me-renote kamu" - youGotMessagingMessageFromUser: "{name} mengirimi kamu pesan" - youGotMessagingMessageFromGroup: "Sebuah pesan telah dikirim ke grup {name}" youWereFollowed: "Mengikuti kamu" youReceivedFollowRequest: "Kamu menerima permintaan mengikuti" yourFollowRequestAccepted: "Permintaan mengikuti kamu telah diterima" diff --git a/locales/index.d.ts b/locales/index.d.ts index 57c272170b..d92869c7ef 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -2635,8 +2635,6 @@ export interface Locale { "youGotReply": string; "youGotQuote": string; "youRenoted": string; - "youGotMessagingMessageFromUser": string; - "youGotMessagingMessageFromGroup": string; "youWereFollowed": string; "youReceivedFollowRequest": string; "yourFollowRequestAccepted": string; diff --git a/locales/it-IT.yml b/locales/it-IT.yml index 5d71b7f1b5..328fce318b 100644 --- a/locales/it-IT.yml +++ b/locales/it-IT.yml @@ -2239,8 +2239,6 @@ _notification: youGotReply: "{name} ti ha risposto" youGotQuote: "{name} ha citato la tua Nota e ha detto" youRenoted: "{name} ha rinotato" - youGotMessagingMessageFromUser: "{name} ti ha mandato un messaggio" - youGotMessagingMessageFromGroup: "{name} ti ha mandato un messaggio nella chat" youWereFollowed: "Adesso ti segue" youReceivedFollowRequest: "Hai ricevuto una richiesta di follow" yourFollowRequestAccepted: "La tua richiesta di follow è stata accettata" diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 4e03163632..b62311d15b 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2533,8 +2533,6 @@ _notification: youGotReply: "{name}からのリプライ" youGotQuote: "{name}による引用" youRenoted: "{name}がRenoteしました" - youGotMessagingMessageFromUser: "{name}からのチャットがあります" - youGotMessagingMessageFromGroup: "{name}のチャットがあります" youWereFollowed: "フォローされました" youReceivedFollowRequest: "フォローリクエストが来ました" yourFollowRequestAccepted: "フォローリクエストが承認されました" diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml index 811e19faa0..3e70726496 100644 --- a/locales/ja-KS.yml +++ b/locales/ja-KS.yml @@ -2239,8 +2239,6 @@ _notification: youGotReply: "{name}からのリプライ" youGotQuote: "{name}による引用" youRenoted: "{name}がリノートしたみたいやで" - youGotMessagingMessageFromUser: "{name}からのチャットがあるで" - youGotMessagingMessageFromGroup: "{name}のチャットがあるで" youWereFollowed: "フォローされたで" youReceivedFollowRequest: "フォロー許可してほしいみたいやな" yourFollowRequestAccepted: "フォローさせてもろたで" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index b6596dcb76..4ce3bda42e 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -2453,8 +2453,6 @@ _notification: youGotReply: "{name} 님이 답글을 달았어요!" youGotQuote: "{name} 님이 인용했어요!" youRenoted: "{name} 님이 리노트했어요!" - youGotMessagingMessageFromUser: "{name} 님이 보낸 채팅이 있어요!" - youGotMessagingMessageFromGroup: "{name}에서 보낸 채팅이 있어요!" youWereFollowed: "새로운 팔로워가 있어요!" youReceivedFollowRequest: "새로운 팔로우 요청이 있어요!" yourFollowRequestAccepted: "팔로우 요청이 수락됐어요!" diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml index 5b02268de8..021e33b948 100644 --- a/locales/pl-PL.yml +++ b/locales/pl-PL.yml @@ -1412,8 +1412,6 @@ _notification: youGotReply: "{name} odpowiedział(a) Tobie" youGotQuote: "{name} zacytował(a) Ciebie" youRenoted: "{name} udostępnił(a) Twój wpis" - youGotMessagingMessageFromUser: "{name} wysłał(a) Ci wiadomość" - youGotMessagingMessageFromGroup: "Została wysłana wiadomość do grupy {name}" youWereFollowed: "Zaobserwował(a) Cię" youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji" yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta" diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index 1cf03fdd8d..2dbc37e3dd 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -1977,8 +1977,6 @@ _notification: youGotReply: "{name} отвечает вам." youGotQuote: "{name} цитирует вас." youRenoted: "{name} передаёт вашу заметку." - youGotMessagingMessageFromUser: "{name} пишет вам." - youGotMessagingMessageFromGroup: "Новое сообщение в группе «{name}»." youWereFollowed: "У вас новый подписчик." youReceivedFollowRequest: "У вас новый запрос на подписку." yourFollowRequestAccepted: "Ваш запрос на подписку одобрен." diff --git a/locales/sk-SK.yml b/locales/sk-SK.yml index 99edcbec76..4f51b4b2fc 100644 --- a/locales/sk-SK.yml +++ b/locales/sk-SK.yml @@ -1473,8 +1473,6 @@ _notification: youGotReply: "{name} vám odpovedal/a" youGotQuote: "{name} vás citoval/a" youRenoted: "{name} preposlal/a vašu poznámku" - youGotMessagingMessageFromUser: "{name} vám poslal/a správu" - youGotMessagingMessageFromGroup: "Prišla správa do skupiny {name}" youWereFollowed: "Máte nového sledujúceho" youReceivedFollowRequest: "Dostali ste žiadosť o sledovanie" yourFollowRequestAccepted: "Vaša žiadosť o sledovanie bola prijatá" diff --git a/locales/th-TH.yml b/locales/th-TH.yml index c28617e472..b38b8f1665 100644 --- a/locales/th-TH.yml +++ b/locales/th-TH.yml @@ -2139,8 +2139,6 @@ _notification: youGotReply: "{name} ตอบกลับถึงคุณ" youGotQuote: "{name} อ้างถึงคุณ" youRenoted: "รีโน้ตจาก {name}" - youGotMessagingMessageFromUser: "{name} ได้ส่งข้อความแชทถึงคุณ" - youGotMessagingMessageFromGroup: "ข้อความแชทถูกส่งไปยัง {name} กลุ่ม" youWereFollowed: "ได้ติดตามคุณ" youReceivedFollowRequest: "คุณมีคำขอติดตามใหม่น่ะ" yourFollowRequestAccepted: "คำขอติดตามของคุณได้รับการยอมรับแล้วน่ะ" diff --git a/locales/uk-UA.yml b/locales/uk-UA.yml index 09c6a7f33c..cc7837e207 100644 --- a/locales/uk-UA.yml +++ b/locales/uk-UA.yml @@ -1643,8 +1643,6 @@ _notification: youGotReply: "{name} відповідає" youGotQuote: "{name} цитує вас" youRenoted: "{name} поширює" - youGotMessagingMessageFromUser: "Повідомлення від {name}" - youGotMessagingMessageFromGroup: "Нове повідомлення в групі {name}" youWereFollowed: "Новий підписник" youReceivedFollowRequest: "Ви отримали запит на підписку" yourFollowRequestAccepted: "Запит на підписку прийнято" diff --git a/locales/vi-VN.yml b/locales/vi-VN.yml index f746979150..f5eef8a3ec 100644 --- a/locales/vi-VN.yml +++ b/locales/vi-VN.yml @@ -1870,8 +1870,6 @@ _notification: youGotReply: "{name} trả lời bạn" youGotQuote: "{name} trích dẫn tút của bạn" youRenoted: "{name} đăng lại tút của bạn" - youGotMessagingMessageFromUser: "{name} nhắn tin cho bạn" - youGotMessagingMessageFromGroup: "Một tin nhắn trong nhóm {name}" youWereFollowed: "đã theo dõi bạn" youReceivedFollowRequest: "Bạn vừa có một yêu cầu theo dõi" yourFollowRequestAccepted: "Yêu cầu theo dõi của bạn đã được chấp nhận" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index c1ad1b2aa9..b4c00e1855 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -2099,8 +2099,6 @@ _notification: youGotReply: "来自{name}的回复" youGotQuote: "来自{name}的引用" youRenoted: "来自{name}的转发" - youGotMessagingMessageFromUser: "来自{name}的聊天" - youGotMessagingMessageFromGroup: "来自{name}的群聊" youWereFollowed: "关注了你。" youReceivedFollowRequest: "您有新的关注请求" yourFollowRequestAccepted: "您的关注请求已通过" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index c45d91050d..bd6f42ac1d 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -2245,8 +2245,6 @@ _notification: youGotReply: "{name}回覆了您" youGotQuote: "{name}引用了您" youRenoted: "{name} 轉發了你的貼文" - youGotMessagingMessageFromUser: "{name}發送給您的訊息" - youGotMessagingMessageFromGroup: "{name}發送給您的訊息" youWereFollowed: "您有新的追隨者" youReceivedFollowRequest: "您有新的追隨請求" yourFollowRequestAccepted: "您的追隨請求已通過" diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts index f4ccb86d8e..745396d1e3 100644 --- a/packages/sw/src/scripts/create-notification.ts +++ b/packages/sw/src/scripts/create-notification.ts @@ -248,13 +248,14 @@ async function composeNotification(data: PushNotificationDataMap[keyof PushNotif badge: iconUrl('bell'), data, }]; - + default: return null; } case 'unreadMessagingMessage': if (data.body.groupId === null) { - return [t('_notification.youGotMessagingMessageFromUser', { name: getUserName(data.body.user) }), { + return [getUserName(data.body.user), { + body: data.body.text ?? '', icon: data.body.user.avatarUrl, badge: iconUrl('messages'), tag: `messaging:user:${data.body.userId}`, @@ -262,7 +263,8 @@ async function composeNotification(data: PushNotificationDataMap[keyof PushNotif renotify: true, }]; } - return [t('_notification.youGotMessagingMessageFromGroup', { name: data.body.group?.name ?? '' }), { + return [data.body.group?.name ?? '', { + body: `${data.body.user?.username}: ${data.body.text ?? ''}`, icon: data.body.user.avatarUrl, badge: iconUrl('messages'), tag: `messaging:group:${data.body.groupId}`, From eeedef59c4ec2684e119dab0429dadcb13285469 Mon Sep 17 00:00:00 2001 From: 1STEP621 <86859447+1STEP621@users.noreply.github.com> Date: Tue, 19 Dec 2023 18:30:31 +0900 Subject: [PATCH 03/59] =?UTF-8?q?Fix(frontend):=20CW=E3=83=9C=E3=82=BF?= =?UTF-8?q?=E3=83=B3=E3=81=AB=E5=B8=B8=E3=81=AB=E3=80=8C=E5=BC=95=E7=94=A8?= =?UTF-8?q?=E3=80=8D=E3=81=8C=E5=87=BA=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86?= =?UTF-8?q?=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3=20(#12715)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * RNと引用RNの判定が間違っているのを修正 * remove dump.rdb * update CHANGELOG.md * lint fix * fix cw button label --- packages/frontend/src/components/MkCwButton.vue | 2 +- packages/frontend/src/components/MkNote.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/components/MkCwButton.vue b/packages/frontend/src/components/MkCwButton.vue index a25193a57c..4a6d2dfba2 100644 --- a/packages/frontend/src/components/MkCwButton.vue +++ b/packages/frontend/src/components/MkCwButton.vue @@ -42,7 +42,7 @@ const emit = defineEmits<{ const label = computed(() => { return concat([ props.text ? [i18n.t('_cw.chars', { count: props.text.length })] : [], - props.renote != null ? [i18n.ts.quote] : [], + props.renote ? [i18n.ts.quote] : [], props.files.length !== 0 ? [i18n.t('_cw.files', { count: props.files.length })] : [], props.poll != null ? [i18n.ts.poll] : [], ] as string[][]).join(' / '); diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 609b381598..bb834a3845 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -54,7 +54,7 @@ SPDX-License-Identifier: AGPL-3.0-only

- +

From ea41df538eea155353e5fdd65110d82c48997b22 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 19 Dec 2023 19:40:53 +0900 Subject: [PATCH 04/59] New Crowdin updates (#12652) * New translations ja-jp.yml (Indonesian) * New translations ja-jp.yml (Romanian) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Spanish) * New translations ja-jp.yml (Arabic) * New translations ja-jp.yml (Catalan) * New translations ja-jp.yml (Czech) * New translations ja-jp.yml (German) * New translations ja-jp.yml (Greek) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Dutch) * New translations ja-jp.yml (Norwegian) * New translations ja-jp.yml (Polish) * New translations ja-jp.yml (Portuguese) * New translations ja-jp.yml (Russian) * New translations ja-jp.yml (Slovak) * New translations ja-jp.yml (Swedish) * New translations ja-jp.yml (Turkish) * New translations ja-jp.yml (Ukrainian) * New translations ja-jp.yml (Chinese Simplified) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (English) * New translations ja-jp.yml (Vietnamese) * New translations ja-jp.yml (Bengali) * New translations ja-jp.yml (Thai) * New translations ja-jp.yml (Uzbek) * New translations ja-jp.yml (Japanese, Kansai) * New translations ja-jp.yml (Korean (Gyeongsang)) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Korean (Gyeongsang)) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Korean (Gyeongsang)) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Korean (Gyeongsang)) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (Ukrainian) * New translations ja-jp.yml (Ukrainian) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Ukrainian) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (Japanese, Kansai) * New translations ja-jp.yml (Chinese Simplified) * New translations ja-jp.yml (Arabic) * New translations ja-jp.yml (Arabic) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Indonesian) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Spanish) * New translations ja-jp.yml (Arabic) * New translations ja-jp.yml (Czech) * New translations ja-jp.yml (German) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Polish) * New translations ja-jp.yml (Portuguese) * New translations ja-jp.yml (Russian) * New translations ja-jp.yml (Slovak) * New translations ja-jp.yml (Ukrainian) * New translations ja-jp.yml (Chinese Simplified) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (English) * New translations ja-jp.yml (Vietnamese) * New translations ja-jp.yml (Bengali) * New translations ja-jp.yml (Thai) * New translations ja-jp.yml (Japanese, Kansai) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Chinese Traditional) --- locales/ar-SA.yml | 18 ++++++++++-- locales/bn-BD.yml | 3 -- locales/ca-ES.yml | 1 - locales/cs-CZ.yml | 3 -- locales/de-DE.yml | 3 -- locales/el-GR.yml | 1 - locales/en-US.yml | 3 -- locales/es-ES.yml | 3 -- locales/fr-FR.yml | 17 +++++++++-- locales/id-ID.yml | 24 +++++++++++++-- locales/it-IT.yml | 17 +++++++++-- locales/ja-KS.yml | 17 +++++++++-- locales/ko-GS.yml | 74 +++++++++++++++++++++++++++++++++++++++++------ locales/ko-KR.yml | 26 ++++++++++++----- locales/nl-NL.yml | 1 - locales/no-NO.yml | 1 - locales/pl-PL.yml | 3 -- locales/pt-PT.yml | 3 -- locales/ro-RO.yml | 1 - locales/ru-RU.yml | 3 -- locales/sk-SK.yml | 3 -- locales/sv-SE.yml | 1 - locales/th-TH.yml | 3 -- locales/tr-TR.yml | 1 - locales/uk-UA.yml | 7 +++-- locales/uz-UZ.yml | 1 - locales/vi-VN.yml | 3 -- locales/zh-CN.yml | 5 +--- locales/zh-TW.yml | 20 +++++++++---- 29 files changed, 181 insertions(+), 85 deletions(-) diff --git a/locales/ar-SA.yml b/locales/ar-SA.yml index 6ac56ffc29..0a7d86cc89 100644 --- a/locales/ar-SA.yml +++ b/locales/ar-SA.yml @@ -120,7 +120,6 @@ sensitive: "محتوى حساس" add: "إضافة" reaction: "التفاعلات" reactions: "التفاعلات" -reactionSetting: "التفاعلات المراد عرضها في منتقي التفاعلات." reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة." rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات" attachCancel: "أزل المرفق" @@ -817,8 +816,6 @@ makeReactionsPublicDescription: "هذا سيجعل قائمة تفاعلاتك classic: "تقليدي" muteThread: "اكتم النقاش" unmuteThread: "ارفع الكتم عن النقاش" -ffVisibility: "مرئية المتابِعين/المتابَعين" -ffVisibilityDescription: "يسمح لك بتحديد من يمكنهم رؤية متابِعيك ومتابَعيك." continueThread: "اعرض بقية النقاش" deleteAccountConfirm: "سيحذف حسابك نهائيًا، أتريد المتابعة؟" incorrectPassword: "كلمة السر خاطئة." @@ -947,9 +944,12 @@ rolesAssignedToMe: "الأدوار المسندة إلي" resetPasswordConfirm: "هل تريد إعادة تعيين كلمة السر؟" license: "الرخصة" unfavoriteConfirm: "أتريد إزالتها من المفضلة؟" +reactionsDisplaySize: "حجم التفاعلات" +limitWidthOfReaction: "تصغير حجم التفاعلات" noteIdOrUrl: "معرف الملاحظة أو رابطها" video: "فيديو" videos: "فيديوهات" +dataSaver: "موفر البيانات" accountMigration: "ترحيل الحساب" accountMoved: "نقل هذا المستخدم حسابه:" accountMovedShort: "رُحل هذا الحساب." @@ -957,6 +957,7 @@ operationForbidden: "عملية ممنوعة" forceShowAds: "أظهر الإعلانات التجارية دائما" reactionsList: "التفاعلات" renotesList: "إعادات النشر" +notificationDisplay: "إشعارات" leftTop: "أعلى اليسار" rightTop: "أعلى اليمين" leftBottom: "أسفل اليسار" @@ -979,6 +980,7 @@ thisChannelArchived: "أُرشفت هذه القناة." displayOfNote: "عرض الملاحظة" initialAccountSetting: "إعداد الملف الشخصي" youFollowing: "متابَع" +preventAiLearning: "منع استخدام البيانات في تعليم الآلة" options: "خيارات" specifyUser: "مستخدم محدد" failedToPreviewUrl: "تتعذر المعاينة" @@ -992,7 +994,16 @@ later: "لاحقاً" goToMisskey: "لميسكي" additionalEmojiDictionary: "قواميس إيموجي إضافية" installed: "مُثبت" +enableServerMachineStats: "نشر إحصائيات عتاد الخادم" +turnOffToImprovePerformance: "تفعيله قد يزيد الأداء." +createInviteCode: "ولِّد دعوة" +inviteCodeCreated: "ولِّدت دعوة" +inviteLimitExceeded: "وصلتَ لحد عدد الدعوات المسموح لك توليدها." +createLimitRemaining: "حد عدد الدعوات: {limit} دعوة" expirationDate: "تاريخ انتهاء الصلاحية" +noExpirationDate: "لا نهاية لصلاحيتها" +inviteCodeUsedAt: "اُستخدم رمز الدعوة في" +registeredUserUsingInviteCode: "اِستخدم رمز الدعوة" unused: "غير مستعمَل" expired: "منتهية صلاحيته" icon: "الصورة الرمزية" @@ -1549,3 +1560,4 @@ _webhookSettings: _moderationLogTypes: suspend: "علِق" resetPassword: "أعد تعيين كلمتك السرية" + createInvitation: "ولِّد دعوة" diff --git a/locales/bn-BD.yml b/locales/bn-BD.yml index c6784269c4..c659e13250 100644 --- a/locales/bn-BD.yml +++ b/locales/bn-BD.yml @@ -108,7 +108,6 @@ sensitive: "সংবেদনশীল বিষয়বস্তু" add: "যুক্ত করুন" reaction: "প্রতিক্রিয়া" reactions: "প্রতিক্রিয়া" -reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে" reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে + টিপুন।" rememberNoteVisibility: "নোটের দৃশ্যমান্যতার সেটিংস মনে রাখুন" attachCancel: "অ্যাটাচমেন্ট সরান " @@ -794,8 +793,6 @@ makeReactionsPublicDescription: "আপনার পূর্ববর্তী classic: "ক্লাসিক" muteThread: "থ্রেড মিউট করুন" unmuteThread: "থ্রেড আনমিউট করুন" -ffVisibility: "অনুসরণ/অনুসরণকারীদের দৃশ্যমান্যতা" -ffVisibilityDescription: "আপনি কাকে অনুসরণ করেন এবং কে আপনাকে অনুসরণ করে, সেটা কারা দেখতে পাবে তা নির্ধারণ করে।" continueThread: "আরো থ্রেড দেখুন" deleteAccountConfirm: "আপনার অ্যাকাউন্ট মুছে ফেলা হবে। ঠিক আছে?" incorrectPassword: "আপনার দেওয়া পাসওয়ার্ডটি ভুল।" diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml index 018645768d..b4fa799ada 100644 --- a/locales/ca-ES.yml +++ b/locales/ca-ES.yml @@ -121,7 +121,6 @@ sensitive: "NSFW" add: "Afegir" reaction: "Reaccions" reactions: "Reaccions" -reactionSetting: "Reaccions a mostrar al selector de reaccions" reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, prem \"+\" per afegir." rememberNoteVisibility: "Recorda la configuració de visibilitat de les notes" attachCancel: "Eliminar el fitxer adjunt" diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml index 8221da44ea..1e064c4911 100644 --- a/locales/cs-CZ.yml +++ b/locales/cs-CZ.yml @@ -120,7 +120,6 @@ sensitive: "NSFW" add: "Přidat" reaction: "Reakce" reactions: "Reakce" -reactionSetting: "Reakce zobrazené ve výběru reakcí" reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání" rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky" attachCancel: "Odstranit přílohu" @@ -855,8 +854,6 @@ makeReactionsPublicDescription: "Tohle zviditelný seznam vašich předchozích classic: "Klasický" muteThread: "Ztlumit vlákno" unmuteThread: "Zrušit ztlumení vlákna" -ffVisibility: "Viditelnost Sledovaných/Sledujících" -ffVisibilityDescription: "Umožní vám nastavit kdo uvidí koho sledujete a kdo vás sleduje." continueThread: "Zobrazit pokračování vlákna" deleteAccountConfirm: "Tohle nenávratně smaže váš účet, chcete pokračovat?" incorrectPassword: "Nesprávné heslo." diff --git a/locales/de-DE.yml b/locales/de-DE.yml index db6aea29c4..4c32b3dda4 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -121,7 +121,6 @@ sensitive: "Sensibel" add: "Hinzufügen" reaction: "Reaktionen" reactions: "Reaktionen" -reactionSetting: "In der Reaktionsauswahl anzuzeigende Reaktionen" reactionSettingDescription2: "Ziehe um Anzuordnen, klicke um zu löschen, drücke „+“ um hinzuzufügen" rememberNoteVisibility: "Notizsichtbarkeit merken" attachCancel: "Anhang entfernen" @@ -874,8 +873,6 @@ makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktion classic: "Classic" muteThread: "Thread stummschalten" unmuteThread: "Threadstummschaltung aufheben" -ffVisibility: "Sichtbarkeit von Gefolgten/Followern" -ffVisibilityDescription: "Konfiguriere wer sehen kann, wem du folgst sowie wer dir folgt." continueThread: "Weiteren Threadverlauf anzeigen" deleteAccountConfirm: "Dein Benutzerkonto wird unwiderruflich gelöscht. Trotzdem fortfahren?" incorrectPassword: "Falsches Passwort." diff --git a/locales/el-GR.yml b/locales/el-GR.yml index a1c2d25391..30a52b726e 100644 --- a/locales/el-GR.yml +++ b/locales/el-GR.yml @@ -104,7 +104,6 @@ clickToShow: "Κάντε κλικ για εμφάνιση" add: "Προσθέστε" reaction: "Αντιδράσεις" reactions: "Αντιδράσεις" -reactionSetting: "Αντιδράσεις για εμφάνιση στην επιλογή αντίδρασης" reactionSettingDescription2: "Σύρετε για να αλλάξετε τη σειρά, κάντε κλικ για να διαγράψετε, πατήστε \"+\" για να προσθέσετε." rememberNoteVisibility: "Θυμήσου τις ρυθμίσεις ορατότητας σημειώματος" attachCancel: "Διαγραφή αρχείου" diff --git a/locales/en-US.yml b/locales/en-US.yml index da9b0fb7bc..65fe07b6d0 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -121,7 +121,6 @@ sensitive: "Sensitive" add: "Add" reaction: "Reactions" reactions: "Reactions" -reactionSetting: "Reactions to show in the reaction picker" reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add." rememberNoteVisibility: "Remember note visibility settings" attachCancel: "Remove attachment" @@ -875,8 +874,6 @@ makeReactionsPublicDescription: "This will make the list of all your past reacti classic: "Classic" muteThread: "Mute thread" unmuteThread: "Unmute thread" -ffVisibility: "Follows/Followers Visibility" -ffVisibilityDescription: "Allows you to configure who can see who you follow and who follows you." continueThread: "View thread continuation" deleteAccountConfirm: "This will irreversibly delete your account. Proceed?" incorrectPassword: "Incorrect password." diff --git a/locales/es-ES.yml b/locales/es-ES.yml index 3c36e2b29f..a079cf01f9 100644 --- a/locales/es-ES.yml +++ b/locales/es-ES.yml @@ -121,7 +121,6 @@ sensitive: "Marcado como sensible" add: "Agregar" reaction: "Reacción" reactions: "Reacción" -reactionSetting: "Reacciones para mostrar en el menú de reacciones" reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir." rememberNoteVisibility: "Recordar visibilidad" attachCancel: "Quitar adjunto" @@ -874,8 +873,6 @@ makeReactionsPublicDescription: "Todas las reacciones que hayas hecho serán pú classic: "Clásico" muteThread: "Silenciar hilo" unmuteThread: "Mostrar hilo" -ffVisibility: "Visibilidad de seguidores y seguidos" -ffVisibilityDescription: "Puedes configurar quien puede ver a quienes sigues y quienes te siguen" continueThread: "Ver la continuación del hilo" deleteAccountConfirm: "La cuenta será borrada. ¿Está seguro?" incorrectPassword: "La contraseña es incorrecta" diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index bc0676eb0a..8acbc7d7a6 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -121,7 +121,12 @@ sensitive: "Contenu sensible" add: "Ajouter" reaction: "Réactions" reactions: "Réactions" -reactionSetting: "Réactions à afficher dans le sélecteur de réactions" +emojiPicker: "Sélecteur d’émojis" +pinnedEmojisForReactionSettingDescription: "Vous pouvez définir les émojis épinglés lors de la réaction" +pinnedEmojisSettingDescription: "Vous pouvez définir les émojis épinglés lors de la saisie de l'émoji" +emojiPickerDisplay: "Affichage du sélecteur d'émojis" +overwriteFromPinnedEmojisForReaction: "Remplacer par les émojis épinglés pour la réaction" +overwriteFromPinnedEmojis: "Remplacer par les émojis épinglés globalement" reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter." rememberNoteVisibility: "Se souvenir de la visibilité des notes" attachCancel: "Supprimer le fichier attaché" @@ -873,8 +878,8 @@ makeReactionsPublicDescription: "Ceci rendra la liste de toutes vos réactions d classic: "Classique" muteThread: "Masquer cette discussion" unmuteThread: "Ne plus masquer le fil" -ffVisibility: "Visibilité des abonnés/abonnements" -ffVisibilityDescription: "Permet de configurer qui peut voir les personnes que tu suis et les personnes qui te suivent." +followingVisibility: "Visibilité des abonnements" +followersVisibility: "Visibilité des abonnés" continueThread: "Afficher la suite du fil" deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?" incorrectPassword: "Le mot de passe est incorrect." @@ -1024,6 +1029,8 @@ license: "Licence" myClips: "Mes clips" drivecleaner: "Nettoyeur du Disque" retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur." +enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants" +enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes" showClipButtonInNoteFooter: "Ajouter « Clip » au menu d'action de la note" reactionsDisplaySize: "Taille de l'affichage des réactions" limitWidthOfReaction: "Limiter la largeur maximale des réactions et les afficher en taille réduite" @@ -1067,6 +1074,7 @@ options: "Options" specifyUser: "Spécifier l'utilisateur·rice" failedToPreviewUrl: "Aperçu d'URL échoué" update: "Mettre à jour" +rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction" later: "Plus tard" goToMisskey: "Retour vers Misskey" additionalEmojiDictionary: "Dictionnaires d'émojis additionnels" @@ -1129,6 +1137,9 @@ doReaction: "Réagir" code: "Code" reloadRequiredToApplySettings: "Le rafraîchissement est nécessaire pour que les paramètres prennent effet." remainingN: "Restants : {n}" +overwriteContentConfirm: "Voulez-vous remplacer le contenu actuel ?" +seasonalScreenEffect: "Effet d'écran saisonnier" +decorate: "Décorer" _announcement: readConfirmTitle: "Marquer comme lu ?" shouldNotBeUsedToPresentPermanentInfo: "Puisque cela pourrait nuire considérablement à l'expérience utilisateur pour les nouveaux utilisateurs, il est recommandé d'utiliser les annonces pour afficher des informations temporaires plutôt que des informations persistantes." diff --git a/locales/id-ID.yml b/locales/id-ID.yml index eebdf90646..dc5600151a 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -121,7 +121,6 @@ sensitive: "Konten sensitif" add: "Tambahkan" reaction: "Reaksi" reactions: "Reaksi" -reactionSetting: "Reaksi untuk dimunculkan di bilah reaksi" reactionSettingDescription2: "Geser untuk memindah urutan emoji, klik untuk menghapus, tekan \"+\" untuk menambahkan" rememberNoteVisibility: "Ingat pengaturan visibilitas catatan" attachCancel: "Hapus lampiran" @@ -261,6 +260,7 @@ removed: "Telah dihapus" removeAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?" deleteAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?" resetAreYouSure: "Yakin mau atur ulang?" +areYouSure: "Apakah kamu yakin?" saved: "Telah disimpan" messaging: "Pesan" upload: "Unggah" @@ -311,6 +311,7 @@ folderName: "Nama folder" createFolder: "Buat folder" renameFolder: "Ubah nama folder" deleteFolder: "Hapus folder" +folder: "Folder" addFile: "Tambahkan berkas" emptyDrive: "Drive kosong" emptyFolder: "Folder kosong" @@ -543,6 +544,8 @@ showInPage: "Tampilkan di halaman" popout: "Pop-out" volume: "Volume" masterVolume: "Master volume" +notUseSound: "Tidak ada keluaran suara" +useSoundOnlyWhenActive: "Hanya keluarkan suara jika Misskey sedang aktif" details: "Selengkapnya" chooseEmoji: "Pilih emoji" unableToProcess: "Operasi tersebut tidak dapat diselesaikan." @@ -871,8 +874,6 @@ makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua r classic: "Klasik" muteThread: "Bisukan thread" unmuteThread: "Suarakan thread" -ffVisibility: "Visibilitas Mengikuti/Pengikut" -ffVisibilityDescription: "Mengatur siapa yang dapat melihat pengikutmu dan yang kamu ikuti." continueThread: "Lihat lanjutan thread" deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?" incorrectPassword: "Kata sandi salah." @@ -1023,6 +1024,8 @@ resetPasswordConfirm: "Yakin untuk mereset kata sandimu?" sensitiveWords: "Kata sensitif" sensitiveWordsDescription: "Visibilitas dari semua catatan mengandung kata yang telah diatur akan dijadikan \"Beranda\" secara otomatis. Kamu dapat mendaftarkan kata tersebut lebih dari satu dengan menuliskannya di baris baru." sensitiveWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler." +hiddenTags: "Tagar tersembunyi" +hiddenTagsDescription: "Pilih tanda yang mana akan tidak diperlihatkan dalam daftar tren.\nTanda lebih dari satu dapat didaftarkan dengan tiap baris." notesSearchNotAvailable: "Pencarian catatan tidak tersedia." license: "Lisensi" unfavoriteConfirm: "Yakin ingin menghapusnya dari favorit?" @@ -1035,6 +1038,7 @@ enableChartsForRemoteUser: "Buat bagan data pengguna instansi luar" enableChartsForFederatedInstances: "Buat bagan data peladen instansi luar" showClipButtonInNoteFooter: "Tambahkan \"Klip\" ke menu aksi catatan" reactionsDisplaySize: "Ukuran tampilan reaksi" +limitWidthOfReaction: "Batasi lebar maksimum reaksi dan tampilkan dalam ukuran terbatasi." noteIdOrUrl: "ID catatan atau URL" video: "Video" videos: "Video" @@ -1161,6 +1165,9 @@ useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan" signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa." cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan." doReaction: "Tambahkan reaksi" +code: "Kode" +reloadRequiredToApplySettings: "Muat ulang diperlukan untuk menerapkan pengaturan." +remainingN: "Sisa : {n}" _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." @@ -1189,12 +1196,17 @@ _initialAccountSetting: _initialTutorial: launchTutorial: "Lihat Tutorial" title: "Tutorial" + wellDone: "Kerja bagus!" skipAreYouSure: "Berhenti dari Tutorial?" _landing: title: "Selamat datang di Tutorial" description: "Di sini kamu dapat mempelajari dasar-dasar dari penggunaan Misskey dan fitur-fiturnya." _note: title: "Apa itu Catatan?" + _reaction: + title: "Apa itu Reaksi?" + _timeline: + title: "Konsep Lini Masa" _postNote: title: "Pengaturan posting Catatan" _visibility: @@ -1202,6 +1214,12 @@ _initialTutorial: home: "Hanya publik ke lini masa Beranda. Pengguna yang mengunjungi profilmu melalui pengikut dan renote dapat melihatnya." 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: + _exampleNote: + cw: "Peringatan: Bikin Lapar!" + note: "Baru aja makan donat berlapis coklat 🍩😋" + _howToMakeAttachmentsSensitive: + title: "Bagaimana menandai lampiran sebagai sensitif?" _serverRules: description: "Daftar peraturan akan ditampilkan sebelum pendaftaran. Mengatur ringkasan dari Syarat dan Ketentuan sangat direkomendasikan." _serverSettings: diff --git a/locales/it-IT.yml b/locales/it-IT.yml index 8c233dd66a..6ce6cd5604 100644 --- a/locales/it-IT.yml +++ b/locales/it-IT.yml @@ -121,7 +121,12 @@ sensitive: "Allegato esplicito" add: "Aggiungi" reaction: "Reazioni" reactions: "Reazioni" -reactionSetting: "Reazioni visualizzate sul pannello" +emojiPicker: "Selettore emoji" +pinnedEmojisForReactionSettingDescription: "Scegli quale sia l'emoji in cima, quando reagisci" +pinnedEmojisSettingDescription: "Scegli quale sia l'emoji in cima, quando reagisci" +emojiPickerDisplay: "Visualizza selettore" +overwriteFromPinnedEmojisForReaction: "Sovrascrivi con le impostazioni reazioni" +overwriteFromPinnedEmojis: "Sovrascrivi con le impostazioni globali" reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere." rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note" attachCancel: "Rimuovi allegato" @@ -261,6 +266,7 @@ removed: "Eliminato con successo" removeAreYouSure: "Vuoi davvero eliminare \"{x}\"?" deleteAreYouSure: "Vuoi davvero eliminare \"{x}\"?" resetAreYouSure: "Ripristinare?" +areYouSure: "Confermi?" saved: "Salvato" messaging: "Messaggi" upload: "Carica" @@ -875,8 +881,6 @@ makeReactionsPublicDescription: "La lista delle reazioni che avete fatto è a di classic: "Classico" muteThread: "Silenzia conversazione" unmuteThread: "Riattiva la conversazione" -ffVisibility: "Visibilità delle connessioni" -ffVisibilityDescription: "Puoi scegliere a chi mostrare le tue relazioni con altri profili nel fediverso." continueThread: "Altre conversazioni" deleteAccountConfirm: "Così verrà eliminato il profilo. Vuoi procedere?" incorrectPassword: "La password è errata." @@ -1157,6 +1161,7 @@ tosAndPrivacyPolicy: "Condizioni d'uso e informativa privacy" avatarDecorations: "Decorazioni foto profilo" attach: "Applica" detach: "Rimuovi" +detachAll: "Togli tutto" angle: "Angolo" flip: "Inverti" showAvatarDecorations: "Mostra decorazione della foto profilo" @@ -1170,6 +1175,10 @@ cwNotationRequired: "Devi indicare perché il contenuto è indicato come esplici doReaction: "Reagisci" code: "Codice" reloadRequiredToApplySettings: "Per applicare le impostazioni, occorre ricaricare." +remainingN: "Rimangono: {n}" +overwriteContentConfirm: "Vuoi davvero sostituire l'attuale contenuto?" +seasonalScreenEffect: "Schermate in base alla stagione" +decorate: "Decora" _announcement: forExistingUsers: "Solo ai profili attuali" forExistingUsersDescription: "L'annuncio sarà visibile solo ai profili esistenti in questo momento. Se disabilitato, sarà visibile anche ai profili che verranno creati dopo la pubblicazione di questo annuncio." @@ -1601,6 +1610,7 @@ _role: canHideAds: "Nascondere i banner" canSearchNotes: "Ricercare nelle Note" canUseTranslator: "Tradurre le Note" + avatarDecorationLimit: "Numero massimo di decorazioni foto profilo installabili" _condition: isLocal: "Profilo locale" isRemote: "Profilo remoto" @@ -2037,6 +2047,7 @@ _profile: changeAvatar: "Modifica immagine profilo" changeBanner: "Cambia intestazione" verifiedLinkDescription: "Puoi verificare il tuo profilo mostrando una icona. Devi inserire la URL alla pagina che contiene un link al tuo profilo." + avatarDecorationMax: "Puoi aggiungere fino a {max} decorazioni." _exportOrImport: allNotes: "Tutte le note" favoritedNotes: "Note preferite" diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml index c1d60d8a4c..4bd44f56d9 100644 --- a/locales/ja-KS.yml +++ b/locales/ja-KS.yml @@ -121,7 +121,12 @@ sensitive: "気いつけて見いや" add: "増やす" reaction: "ツッコミ" reactions: "ツッコミ" -reactionSetting: "ピッカーに出しとくツッコミ" +emojiPicker: "絵文字ピッカー" +pinnedEmojisForReactionSettingDescription: "リアクションしたときにピンで留めてる表示をする絵文字を設定するで" +pinnedEmojisSettingDescription: "絵文字打ったときにピン留め表示する絵文字設定できるで" +emojiPickerDisplay: "ピッカーの表示" +overwriteFromPinnedEmojisForReaction: "リアクション設定から上書きする" +overwriteFromPinnedEmojis: "全般設定から上書きする" reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。" rememberNoteVisibility: "公開範囲覚えといて" attachCancel: "のっけるのやめる" @@ -261,6 +266,7 @@ removed: "ほかしたで!" removeAreYouSure: "「{x}」はほかしてええか?" deleteAreYouSure: "「{x}」はほかしてええか?" resetAreYouSure: "リセットしてええん?" +areYouSure: "いいん?" saved: "保存したで!" messaging: "チャット" upload: "アップロード" @@ -875,8 +881,6 @@ makeReactionsPublicDescription: "あんたがしたツッコミ一覧を誰で classic: "クラシック" muteThread: "スレッドをミュート" unmuteThread: "スレッドのミュートを解除" -ffVisibility: "つながりの公開範囲" -ffVisibilityDescription: "あんたのフォロー/フォロワー情報の公開範囲を設定できるで。" continueThread: "さらにスレッドを見るで" deleteAccountConfirm: "アカウントを消すで?ええんか?" incorrectPassword: "パスワードがちゃうわ。" @@ -1157,6 +1161,7 @@ tosAndPrivacyPolicy: "利用規約・プライバシーポリシー" avatarDecorations: "アイコンデコレーション" attach: "のっける" detach: "取る" +detachAll: "全部とる" angle: "角度" flip: "反転" showAvatarDecorations: "アイコンのデコレーション映す" @@ -1170,6 +1175,10 @@ cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカ doReaction: "ツッコむで" code: "コード" reloadRequiredToApplySettings: "設定を見るんにはリロードが必要やで。" +remainingN: "残り:{n}" +overwriteContentConfirm: "今の内容に上書きされるけどいい?" +seasonalScreenEffect: "季節にあった画面の動き" +decorate: "デコる" _announcement: forExistingUsers: "もうおるユーザーのみ" forExistingUsersDescription: "オンにしたらこのお知らせができた時点でおる人らにだけお知らせが行くで。切ったらこの知らせが行ったあとにアカウント作った人にもちゃんとお知らせが行くで。" @@ -1601,6 +1610,7 @@ _role: canHideAds: "広告映さへん" canSearchNotes: "ノート探せるかどうか" canUseTranslator: "翻訳使えるかどうか" + avatarDecorationLimit: "アイコンデコのいっちばんつけれる数" _condition: isLocal: "ローカルユーザー" isRemote: "リモートユーザー" @@ -2037,6 +2047,7 @@ _profile: changeAvatar: "アバター画像を変更するで" changeBanner: "バナー画像を変更するで" verifiedLinkDescription: "内容をURLに設定すると、リンク先のwebサイトに自分のプロフのリンクが含まれてる場合に所有者確認済みアイコンを表示させることができるで。" + avatarDecorationMax: "最大{max}つまでデコつけれんで" _exportOrImport: allNotes: "全てのノート" favoritedNotes: "お気に入りにしたノート" diff --git a/locales/ko-GS.yml b/locales/ko-GS.yml index 760247c483..9b113ad1b9 100644 --- a/locales/ko-GS.yml +++ b/locales/ko-GS.yml @@ -15,7 +15,7 @@ gotIt: "알것어예" cancel: "아이예" noThankYou: "뎃어예" enterUsername: "사용자 이럼 서기" -renotedBy: "{user}님이 리노트햇십니다" +renotedBy: "{user}님이 리노트햇어예" noNotes: "노트가 없십니다" noNotifications: "알림이 없십니다" instance: "서버" @@ -76,7 +76,7 @@ export: "내가기" files: "파일" download: "내리받기" driveFileDeleteConfirm: "‘{name}’ 파일얼 뭉캡니꺼? 요 파일얼 서넌 콘텐츠도 뭉캐집니다." -unfollowConfirm: "{name}님얼 고만 팔로잉합니꺼?" +unfollowConfirm: "{name}님얼 고마 팔로잉합니꺼?" exportRequested: "내가기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다. 요청이 껕나모 ‘드라이브’에 옇십니다." importRequested: "가오기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다." lists: "리스트" @@ -113,7 +113,7 @@ cantReRenote: "리노트넌 지럴 리노트 몬 합니다." quote: "따오기" inChannelRenote: "채널 안 리노트" inChannelQuote: "채널 안 따오기" -pinnedNote: "프로필에 붙인 노트" +pinnedNote: "붙인 노트" pinned: "프로필에 붙이기" you: "나" clickToShow: "누질라서 보기" @@ -121,7 +121,6 @@ sensitive: "수ᇚ힛섭니다" add: "옇기" reaction: "반엉" reactions: "반엉" -reactionSetting: "모엄함서 포시할 반엉" reactionSettingDescription2: "꺼시서 두고, 누질라서 뭉캐고, ‘+’럴 누질라서 옇십니다." rememberNoteVisibility: "공개 범위럴 기억하기" attachCancel: "붙임 빼기" @@ -330,7 +329,7 @@ whenServerDisconnected: "서버하고 옌겔이 껂기모" disconnectedFromServer: "서버하고 옌겔이 껂깃십니다" reload: "새로곤침" doNothing: "무시하기" -reloadConfirm: "새로곤침합니까?" +reloadConfirm: "새로곤침합니꺼?" watch: "간심 갖기" unwatch: "간심 고마 갖기" accept: "받기" @@ -368,7 +367,7 @@ pinnedUsersDescription: "‘살펴보기’서 붙일라넌 사용자럴 줄 바 pinnedPages: "붙인 바닥" pinnedPagesDescription: "서버으 대문서 붙일라넌 바닥으 겡로럴 줄 바꿈해서로 적십니다." pinnedClipId: "붙일 클립으 아이디" -pinnedNotes: "프로필에 붙인 노트" +pinnedNotes: "붙인 노트" hcaptcha: "에이치캡차" enableHcaptcha: "에이치캡차 키기" hcaptchaSiteKey: "사이트키" @@ -381,7 +380,7 @@ turnstile: "턴스타일" enableTurnstile: "턴스타일 키기" turnstileSiteKey: "사이트키" turnstileSecretKey: "시크릿키" -avoidMultiCaptchaConfirm: "오만 캡차럴 서모 간섭이 잇얼 깁니다. 다린 캡차를 껍니까? ‘아이예’럴 누질리모 오만 캡차럴 키 둘 수도 잇십니다." +avoidMultiCaptchaConfirm: "오만 캡차럴 서모 간섭이 잇얼 깁니다. 다린 캡차를 껍니꺼? ‘아이예’럴 누질리모 오만 캡차럴 키 둘 수도 잇십니다." antennas: "안테나" manageAntennas: "안테나 간리" name: "이럼" @@ -413,7 +412,7 @@ userList: "리스트" about: "정보" aboutMisskey: "Misskey넌예" administrator: "간리자" -token: "학인 코드" +token: "학인 기호" 2fa: "두 단게 정멩" setupOf2fa: "두 단게 정멩 설정" totp: "정멩 앱" @@ -426,13 +425,45 @@ moderationLogs: "중재 일지" nUsersMentioned: "{n}멩이 이바구하고 잇어예" securityKeyAndPasskey: "보안키·패스키" securityKey: "보안키" +unregister: "맨걸기 무루기" +share: "노누기" +notFound: "몬 찾앗십니다" +help: "도움말" invites: "초대하기" +retype: "다시 서기" +noteOf: "{user}님으 노트" invitations: "초대하기" +checking: "학인하고 잇십니다" +passwordMatched: "맞십니다" +passwordNotMatched: "안 맞십니다" language: "언어" +remote: "웬겍" +script: "스크립트" manage: "간리" +emailServer: "전자우펜 서버" +email: "전자우펜" +emailAddress: "전자우펜 주소" smtpHost: "호스트 이럼" +smtpPort: "포트" smtpUser: "사용자 이럼" smtpPass: "비밀번호" +abuseReports: "신고하기" +reportAbuse: "신고하기" +reportAbuseRenote: "리노트 신고하기" +reportAbuseOf: "{name}님얼 신고하기" +reporter: "신고한 사람" +reporteeOrigin: "신고덴 사람" +reporterOrigin: "신고한 곳" +forwardReport: "웬겍 서버에 신고 보내기" +random: "무작이" +system: "시스템" +clip: "클립 맨걸기" +notesCount: "노트 수" +renotesCount: "리노트한 수" +renotedCount: "리노트덴 수" +followingCount: "팔로우 수" +followersCount: "팔로워 수" +clips: "클립 맨걸기" clearCache: "캐시 비우기" unlikeConfirm: "좋네예럴 무룹니꺼?" info: "정보" @@ -440,6 +471,7 @@ user: "사용자" administration: "간리" on: "킴" off: "껌" +clickToFinishEmailVerification: "[{ok}]럴 누질라서 전자우펜 정멩얼 껕내이소." searchByGoogle: "찾기" tenMinutes: "십 분" oneHour: "한 시간" @@ -459,6 +491,20 @@ likeOnly: "좋네예마" icon: "아바타" replies: "답하기" renotes: "리노트" +_initialAccountSetting: + startTutorial: "길라잡이 하기" +_initialTutorial: + launchTutorial: "길라잡이 보기" + title: "길라잡이" + skipAreYouSure: "길라잡이럴 껕냅니까?" + _landing: + title: "길라잡이에 어서 오이소" + _done: + title: "길라잡이가 껕낫십니다!🎉" +_achievements: + _types: + _tutorialCompleted: + description: "길라잡이럴 껕냇십니다" _gallery: liked: "좋네예한 걸" like: "좋네예!" @@ -466,13 +512,16 @@ _gallery: _email: _follow: title: "새 팔로워가 잇십니다" +_channel: + removeBanner: "배너 뭉캐기" _theme: keys: mention: "멘션" _sfx: - note: "노트" + note: "새 노트" notification: "알림" _2fa: + step3Title: "학인 기호럴 서기" renewTOTPCancel: "뎃어예" _widgets: profile: "프로필" @@ -501,11 +550,15 @@ _charts: federation: "옌합" _timelines: home: "덜머리" +_play: + script: "스크립트" _pages: like: "좋네예" unlike: "좋네예 무루기" blocks: image: "이미지" + _note: + id: "노트 아이디" _notification: youWereFollowed: "새 팔로워가 잇십니다" _types: @@ -526,3 +579,6 @@ _webhookSettings: name: "이럼" _moderationLogTypes: suspend: "얼우기" + deleteNote: "노트 뭉캐기" + deleteUserAnnouncement: "사용자 공지 걸 뭉캐기" + resolveAbuseReport: "신고 해겔하기" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 2673e947f3..ae612baecb 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -121,7 +121,12 @@ sensitive: "열람 주의" add: "추가" reaction: "리액션" reactions: "리액션" -reactionSetting: "선택기에 표시할 리액션" +emojiPicker: "이모지 선택기" +pinnedEmojisForReactionSettingDescription: "리액션을 할 때 프로필에 고정하여 표시할 이모지를 설정할 수 있습니다" +pinnedEmojisSettingDescription: "이모지를 입력할 때 프로필에 고정하여 표시할 이모지를 설정할 수 있습니다" +emojiPickerDisplay: "선택기 표시" +overwriteFromPinnedEmojisForReaction: "리액션 설정을 덮어쓰기" +overwriteFromPinnedEmojis: "일반 설정을 덮어쓰기" reactionSettingDescription2: "끌어서 순서 변경, 클릭해서 삭제, +를 눌러서 추가할 수 있습니다." rememberNoteVisibility: "공개 범위를 기억하기" attachCancel: "첨부 취소" @@ -261,6 +266,7 @@ removed: "삭제하였습니다" removeAreYouSure: "\"{x}\" 을(를) 삭제하시겠습니까?" deleteAreYouSure: "\"{x}\" 을(를) 삭제하시겠습니까?" resetAreYouSure: "초기화 하시겠습니까?" +areYouSure: "계속 진행하시겠습니까?" saved: "저장하였습니다" messaging: "대화" upload: "업로드" @@ -686,7 +692,7 @@ defaultNavigationBehaviour: "기본 탐색 동작" editTheseSettingsMayBreakAccount: "이 설정을 변경하면 계정이 손상될 수 있습니다." instanceTicker: "노트의 서버 정보" waitingFor: "{x}을(를) 기다리고 있습니다" -random: "랜덤" +random: "무작위" system: "시스템" switchUi: "UI 전환" desktop: "데스크탑" @@ -875,8 +881,6 @@ makeReactionsPublicDescription: "나의 리액션을 누구나 볼 수 있게 classic: "클래식" muteThread: "글타래 뮤트" unmuteThread: "글타래 뮤트 해제" -ffVisibility: "내 인맥의 공개 범위" -ffVisibilityDescription: "나의 팔로우와 팔로워 정보에 대한 공개 범위를 설정할 수 있습니다." continueThread: "글타래 더 보기" deleteAccountConfirm: "계정이 삭제되고 되돌릴 수 없게 됩니다. 계속하시겠습니까? " incorrectPassword: "비밀번호가 올바르지 않습니다." @@ -1156,7 +1160,8 @@ privacyPolicyUrl: "개인정보 보호 정책 URL" tosAndPrivacyPolicy: "약관 및 개인정보 보호 정책" avatarDecorations: "아바타 장식" attach: "붙이기" -detach: "떼기" +detach: "빼기" +detachAll: "모두 빼기" angle: "각도" flip: "플립" showAvatarDecorations: "아바타 장식 표시" @@ -1170,6 +1175,9 @@ cwNotationRequired: "'내용을 숨기기'를 체크한 경우 주석을 써야 doReaction: "리액션 추가" code: "문자열" reloadRequiredToApplySettings: "설정을 적용하려면 새로고침을 해야 합니다." +remainingN: "나머지: {n}" +overwriteContentConfirm: "현재 내용을 덮어쓰기 합니다. 계속 진행하시겠습니까?" +seasonalScreenEffect: "철에 맞는 화면으로 꾸미기" _announcement: forExistingUsers: "기존 유저에게만 알림" forExistingUsersDescription: "활성화하면 이 공지사항을 게시한 시점에서 이미 가입한 유저에게만 표시합니다. 비활성화하면 게시 후에 가입한 유저에게도 표시합니다." @@ -1601,6 +1609,7 @@ _role: canHideAds: "광고 숨기기" canSearchNotes: "노트 검색 이용 가능 여부" canUseTranslator: "번역 기능의 사용" + avatarDecorationLimit: "아바타 장식의 최대 붙임 개수" _condition: isLocal: "로컬 사용자" isRemote: "리모트 사용자" @@ -2037,6 +2046,7 @@ _profile: changeAvatar: "아바타 이미지 변경" changeBanner: "배너 이미지 변경" verifiedLinkDescription: "내용에 자신의 프로필로 향하는 링크가 포함된 페이지의 URL을 삽입하면 소유자 인증 마크가 표시됩니다." + avatarDecorationMax: "최대 {max}개까지 장식을 할 수 있습니다." _exportOrImport: allNotes: "모든 노트" favoritedNotes: "즐겨찾기한 노트" @@ -2270,9 +2280,9 @@ _moderationLogTypes: createAd: "광고 생성" deleteAd: "광고 삭제" updateAd: "광고 수정" - createAvatarDecoration: "아이콘 장식 추가" - updateAvatarDecoration: "아이콘 장식 수정" - deleteAvatarDecoration: "아이콘 장식 삭제" + createAvatarDecoration: "아바타 장식 만들기" + updateAvatarDecoration: "아바타 장식 수정" + deleteAvatarDecoration: "아바타 장식 삭제" unsetUserAvatar: "유저 아바타 제거" unsetUserBanner: "유저 배너 제거" _fileViewer: diff --git a/locales/nl-NL.yml b/locales/nl-NL.yml index c1bdbede2c..98f1693129 100644 --- a/locales/nl-NL.yml +++ b/locales/nl-NL.yml @@ -119,7 +119,6 @@ sensitive: "NSFW" add: "Toevoegen" reaction: "Reacties" reactions: "Reacties" -reactionSetting: "Reacties die in de reactie-selector worden getoond" reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen" rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen" attachCancel: "Verwijder bijlage" diff --git a/locales/no-NO.yml b/locales/no-NO.yml index 44944f8465..195b1d0717 100644 --- a/locales/no-NO.yml +++ b/locales/no-NO.yml @@ -102,7 +102,6 @@ clickToShow: "Klikk for å vise" add: "Legg til" reaction: "Reaksjon" reactions: "Reaksjoner" -reactionSetting: "Reaksjoner som vises i reaksjonsvelgeren" reactionSettingDescription2: "Dra for å endre rekkefølgen, klikk for å slette, trykk \"+\" for å legge til." rememberNoteVisibility: "Husk innstillingene for synlighet av Notes" attachCancel: "Fjern vedlegg" diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml index 3a83f9b7ee..496e9bfc30 100644 --- a/locales/pl-PL.yml +++ b/locales/pl-PL.yml @@ -111,7 +111,6 @@ sensitive: "NSFW" add: "Dodaj" reaction: "Reakcja" reactions: "Reakcja" -reactionSetting: "Reakcje do pokazania w wyborniku reakcji" reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać" rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu" attachCancel: "Usuń załącznik" @@ -807,8 +806,6 @@ makeReactionsPublicDescription: "To spowoduje, że lista wszystkich Twoich dotyc classic: "Klasyczny" muteThread: "Wycisz wątek" unmuteThread: "Wyłącz wyciszenie wątku" -ffVisibility: "Widoczność obserwowanych/obserwujących" -ffVisibilityDescription: "Pozwala skonfigurować, kto może zobaczyć, kogo obserwujesz i kto Cię obserwuje." continueThread: "Pokaż kontynuację wątku" deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?" incorrectPassword: "Nieprawidłowe hasło." diff --git a/locales/pt-PT.yml b/locales/pt-PT.yml index b7a333f9e7..f969d711c0 100644 --- a/locales/pt-PT.yml +++ b/locales/pt-PT.yml @@ -121,7 +121,6 @@ sensitive: "Conteúdo sensível" add: "Adicionar" reaction: "Reações" reactions: "Reações" -reactionSetting: "Quais reações exibir no seletor de reações" reactionSettingDescription2: "Arraste para reordenar, clique para excluir, pressione + para adicionar." rememberNoteVisibility: "Lembrar das configurações de visibilidade de notas" attachCancel: "Remover anexo" @@ -859,8 +858,6 @@ makeReactionsPublicDescription: "Isto vai deixar o histórico de todas as suas r classic: "Clássico" muteThread: "Silenciar esta conversa" unmuteThread: "Desativar silêncio desta conversa" -ffVisibility: "Visibilidade de Seguidos/Seguidores" -ffVisibilityDescription: "Permite configurar quem pode ver quem lhe segue e quem você está seguindo." continueThread: "Ver mais desta conversa" deleteAccountConfirm: "Deseja realmente excluir a conta?" incorrectPassword: "Senha inválida." diff --git a/locales/ro-RO.yml b/locales/ro-RO.yml index 4a90d1e006..10be9539cf 100644 --- a/locales/ro-RO.yml +++ b/locales/ro-RO.yml @@ -121,7 +121,6 @@ sensitive: "NSFW" add: "Adaugă" reaction: "Reacție" reactions: "Reacție" -reactionSetting: "Reacții care să apară in selectorul de reacții" reactionSettingDescription2: "Trage pentru a rearanja, apasă pe \"+\" pentru a adăuga." rememberNoteVisibility: "Amintește setarea de vizibilitate a notelor" attachCancel: "Înlătură atașament" diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index bea08a19fd..b8095d7256 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -120,7 +120,6 @@ sensitive: "Содержимое не для всех" add: "Добавить" reaction: "Реакции" reactions: "Реакции" -reactionSetting: "Реакции, отображаемые в палитре" reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»." rememberNoteVisibility: "Запоминать видимость заметок" attachCancel: "Удалить вложение" @@ -857,8 +856,6 @@ makeReactionsPublicDescription: "Список сделанных вами реа classic: "Классика" muteThread: "Скрыть цепочку" unmuteThread: "Отменить сокрытие цепочки" -ffVisibility: "Видимость подписок и подписчиков" -ffVisibilityDescription: "Здесь можно настроить, кто будет видеть ваши подписки и подписчиков." continueThread: "Показать следующие ответы" deleteAccountConfirm: "Учётная запись будет безвозвратно удалена. Подтверждаете?" incorrectPassword: "Пароль неверен." diff --git a/locales/sk-SK.yml b/locales/sk-SK.yml index 19b06b475a..e8401af1cd 100644 --- a/locales/sk-SK.yml +++ b/locales/sk-SK.yml @@ -113,7 +113,6 @@ sensitive: "NSFW" add: "Pridať" reaction: "Reakcie" reactions: "Reakcie" -reactionSetting: "Reakcie zobrazené vo výbere reakcií" reactionSettingDescription2: "Ťahaním preusporiadate, kliknutím odstránite, Stlačením \"+\" pridáte" rememberNoteVisibility: "Zapamätať nastavenia viditeľnosti poznámky" attachCancel: "Odstrániť prílohu" @@ -822,8 +821,6 @@ makeReactionsPublicDescription: "Toto spraví všetky vaše minulé reakcie vidi classic: "Klasika" muteThread: "Ztíšiť vlákno" unmuteThread: "Zrušiť stíšenie vlákna" -ffVisibility: "Viditeľnosť sledujúcich/sledovaných" -ffVisibilityDescription: "Umožňuje nastaviť kto vidí koho sledujete a kto vás sleduje." continueThread: "Zobraziť pokračovanie vlákna" deleteAccountConfirm: "Toto nezvrátiteľne vymaže váš účet. Pokračovať?" incorrectPassword: "Nesprávne heslo." diff --git a/locales/sv-SE.yml b/locales/sv-SE.yml index 92678afef8..e5816ba105 100644 --- a/locales/sv-SE.yml +++ b/locales/sv-SE.yml @@ -118,7 +118,6 @@ sensitive: "Känsligt innehåll" add: "Lägg till" reaction: "Reaktioner" reactions: "Reaktioner" -reactionSetting: "Reaktioner som ska visas i reaktionsväljaren" reactionSettingDescription2: "Dra för att omordna, klicka för att radera, tryck \"+\" för att lägga till." rememberNoteVisibility: "Komihåg notvisningsinställningar" attachCancel: "Ta bort bilaga" diff --git a/locales/th-TH.yml b/locales/th-TH.yml index d27e90b855..7cb2d68321 100644 --- a/locales/th-TH.yml +++ b/locales/th-TH.yml @@ -121,7 +121,6 @@ sensitive: "เนื้อหาที่ละเอียดอ่อน NSFW add: "เพิ่ม" reaction: "รีแอคชั่น" reactions: "รีแอคชั่น" -reactionSetting: "รีแอคชั่นไปยังแสดงผลในตัวเลือกการรีแอคชั่น" reactionSettingDescription2: "กดลากเพื่อจัดลำดับใหม่ กดคลิกเพื่อลบ กด \"+\" เพื่อเพิ่ม" rememberNoteVisibility: "จดจำการตั้งค่าการมองเห็นตัวโน้ต" attachCancel: "ลบไฟล์ออกที่แนบมา" @@ -870,8 +869,6 @@ makeReactionsPublicDescription: "การทำเช่นนี้จะท classic: "คลาสสิค" muteThread: "ปิดเสียงเธรด" unmuteThread: "เปิดเสียงเธรด" -ffVisibility: "การมองเห็นผู้ติดตาม/ผู้ติดตาม" -ffVisibilityDescription: "ช่วยให้คุณสามารถกำหนดค่าได้ว่าใครสามารถดูได้ว่าคุณติดตามใครและใครติดตามคุณบ้าง" continueThread: "ดูความต่อเนื่องเธรด" deleteAccountConfirm: "การดำเนินการนี้จะลบบัญชีของคุณอย่างถาวรเลยนะ แน่ใจหรอดำเนินการ?" incorrectPassword: "รหัสผ่านไม่ถูกต้อง" diff --git a/locales/tr-TR.yml b/locales/tr-TR.yml index 3dd7a5b797..0793592d34 100644 --- a/locales/tr-TR.yml +++ b/locales/tr-TR.yml @@ -121,7 +121,6 @@ sensitive: "Hassas içerik" add: "Ekle" reaction: "Tepkiler" reactions: "Tepkiler" -reactionSetting: "Palette görünecek tepkiler" reactionSettingDescription2: "Sıralamak için sürükleyin, silmek için tıklayın, eklemek için \"+\" tuşuna tıklayın." rememberNoteVisibility: "Görünürlük ayarlarını hatırla" attachCancel: "Eki sil" diff --git a/locales/uk-UA.yml b/locales/uk-UA.yml index f10f257fa0..9b609edebb 100644 --- a/locales/uk-UA.yml +++ b/locales/uk-UA.yml @@ -55,6 +55,7 @@ copyRSS: "Скопіювати RSS" copyUsername: "Скопіювати ім’я користувача" copyUserId: "Копіювати ID користувача" copyNoteId: "блокнот ID користувача" +copyFileId: "Скопіювати ідентифікатор файлу." searchUser: "Пошук користувачів" reply: "Відповісти" loadMore: "Показати більше" @@ -115,7 +116,6 @@ sensitive: "NSFW" add: "Додати" reaction: "Реакції" reactions: "Реакції" -reactionSetting: "Налаштування реакцій" reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати." rememberNoteVisibility: "Пам’ятати параметри видимісті" attachCancel: "Видалити вкладення" @@ -133,6 +133,7 @@ unblockConfirm: "Ви впевнені, що хочете розблокуват suspendConfirm: "Ви впевнені, що хочете призупинити цей акаунт?" unsuspendConfirm: "Ви впевнені, що хочете відновити цей акаунт?" selectList: "Виберіть список" +editList: "Редагувати список." selectChannel: "Виберіть канал" selectAntenna: "Виберіть антену" selectWidget: "Виберіть віджет" @@ -448,6 +449,7 @@ or: "або" language: "Мова" uiLanguage: "Мова інтерфейсу" aboutX: "Про {x}" +native: "місцевий" disableDrawer: "Не використовувати висувні меню" noHistory: "Історія порожня" signinHistory: "Історія входів" @@ -526,6 +528,8 @@ output: "Вихід" script: "Скрипт" disablePagesScript: "Вимкнути AiScript на Сторінках" updateRemoteUser: "Оновити інформацію про віддаленого користувача" +unsetUserAvatar: "Деактивувати піктограму." +unsetUserBanner: "Випустити прапор." deleteAllFiles: "Видалити всі файли" deleteAllFilesConfirm: "Ви дійсно хочете видалити всі файли?" removeAllFollowing: "Скасувати всі підписки" @@ -813,7 +817,6 @@ makeReactionsPublicDescription: "Це зробить список усіх ва classic: "Класичний" muteThread: "Приглушити тред" unmuteThread: "Скасувати глушіння" -ffVisibility: "Видимість підписок/підписників" continueThread: "Показати продовження треду" deleteAccountConfirm: "Це незворотно видалить ваш акаунт. Продовжити?" incorrectPassword: "Неправильний пароль." diff --git a/locales/uz-UZ.yml b/locales/uz-UZ.yml index 8d3e8043f3..54e20b001d 100644 --- a/locales/uz-UZ.yml +++ b/locales/uz-UZ.yml @@ -120,7 +120,6 @@ sensitive: "Sezuvchan" add: "Qo'shish" reaction: "Reaktsiyalar" reactions: "Reaktsiyalar" -reactionSetting: "Reaksiyalar ro'yxati" reactionSettingDescription2: "Qayta tartiblash uchun ushlab turib siljiting, oʻchirish uchun bosing, qoʻshish uchun “+” tugmasini bosing." rememberNoteVisibility: "Qaydning ko'rinish sozlamarini eslab qolish" attachCancel: "Qo'shimchani olib tashlash" diff --git a/locales/vi-VN.yml b/locales/vi-VN.yml index 0f60578963..c2d68d8b27 100644 --- a/locales/vi-VN.yml +++ b/locales/vi-VN.yml @@ -121,7 +121,6 @@ sensitive: "Nhạy cảm" add: "Thêm" reaction: "Biểu cảm" reactions: "Biểu cảm" -reactionSetting: "Chọn những biểu cảm hiển thị" reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm." rememberNoteVisibility: "Lưu kiểu tút mặc định" attachCancel: "Gỡ tập tin đính kèm" @@ -858,8 +857,6 @@ makeReactionsPublicDescription: "Điều này sẽ hiển thị công khai danh classic: "Cổ điển" muteThread: "Không quan tâm nữa" unmuteThread: "Quan tâm tút này" -ffVisibility: "Hiển thị Theo dõi/Người theo dõi" -ffVisibilityDescription: "Quyết định ai có thể xem những người bạn theo dõi và những người theo dõi bạn." continueThread: "Tiếp tục xem chuỗi tút" deleteAccountConfirm: "Điều này sẽ khiến tài khoản bị xóa vĩnh viễn. Vẫn tiếp tục?" incorrectPassword: "Sai mật khẩu." diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index 1b440284ab..bfacc03e0a 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -121,7 +121,6 @@ sensitive: "敏感内容" add: "添加" reaction: "回应" reactions: "回应" -reactionSetting: "在选择器中显示回应" reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。" rememberNoteVisibility: "保存上次设置的可见性" attachCancel: "删除附件" @@ -867,8 +866,6 @@ makeReactionsPublicDescription: "将您发表过的回应设置成公开可见 classic: "经典" muteThread: "屏蔽帖子列表" unmuteThread: "取消屏蔽帖子列表" -ffVisibility: "关注关系的可见范围" -ffVisibilityDescription: "您可以设置您的关注/关注者信息的公开范围" continueThread: "查看更多帖子" deleteAccountConfirm: "将要删除账户。是否确认?" incorrectPassword: "密码错误" @@ -1164,7 +1161,7 @@ _serverSettings: appIconUsageExample: "例如:作为书签添加到 PWA 或手机主屏幕的时候" appIconStyleRecommendation: "因为有可能会被裁切为圆形或者圆角矩形,建议使用边缘带有留白背景的图标。" appIconResolutionMustBe: "分辨率必须为 {resolution}。" - manifestJsonOverride: "覆盖 mainfest.json" + manifestJsonOverride: "覆盖 manifest.json" shortName: "简称" shortNameDescription: "如果服务器的正式名称很长,可以用简称或者別名来替代。" _accountMigration: diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index 7f3399ed90..8fbf036385 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -121,7 +121,12 @@ sensitive: "敏感內容" add: "新增" reaction: "反應" reactions: "反應" -reactionSetting: "在選擇器中顯示反應" +emojiPicker: "表情符號選擇器" +pinnedEmojisForReactionSettingDescription: "選擇反應時可以設定要固定顯示在頂端的表情符號" +pinnedEmojisSettingDescription: "輸入表情符號時可以設定要固定顯示在頂端的表情符號" +emojiPickerDisplay: "顯示表情符號選擇器" +overwriteFromPinnedEmojisForReaction: "從反應複寫設定" +overwriteFromPinnedEmojis: "從一般複寫設定" reactionSettingDescription2: "拖動以交換,點擊以刪除,按下「+」以新增。" rememberNoteVisibility: "記住貼文可見性" attachCancel: "移除附件" @@ -261,7 +266,7 @@ removed: "已刪除" removeAreYouSure: "確定要刪掉「{x}」嗎?" deleteAreYouSure: "確定要刪掉「{x}」嗎?" resetAreYouSure: "確定要重設嗎?" -areYouSure: "您確定要移除所有裝飾嗎?" +areYouSure: "是否確定?" saved: "已儲存" messaging: "聊天" upload: "上傳" @@ -782,7 +787,7 @@ receiveAnnouncementFromInstance: "接收由本實例發出的電郵通知" emailNotification: "郵件通知" publish: "發布" inChannelSearch: "頻道内搜尋" -useReactionPickerForContextMenu: "點擊右鍵開啟反應工具欄" +useReactionPickerForContextMenu: "點擊右鍵開啟反應選擇器" typingUsers: "{users}輸入中" jumpToSpecifiedDate: "跳轉到特定日期" showingPastTimeline: "顯示過往的時間軸" @@ -876,8 +881,8 @@ makeReactionsPublicDescription: "將您做過的反應設為公開可見。" classic: "經典" muteThread: "將貼文串設為靜音" unmuteThread: "將貼文串的靜音解除" -ffVisibility: "連繫的可見性" -ffVisibilityDescription: "您可以設定追隨或追隨者資訊的公開範圍" +followingVisibility: "追隨中的可見性" +followersVisibility: "追隨者的可見性" continueThread: "查看更多貼文" deleteAccountConfirm: "將要刪除帳戶。是否確定?" incorrectPassword: "密碼錯誤。" @@ -1173,6 +1178,9 @@ doReaction: "做出反應" code: "程式碼" reloadRequiredToApplySettings: "需要重新載入頁面設定才能生效。" remainingN: "剩餘:{n}" +overwriteContentConfirm: "確定要覆蓋目前的內容嗎?" +seasonalScreenEffect: "隨季節變換畫面的呈現" +decorate: "設置頭像裝飾" _announcement: forExistingUsers: "僅限既有的使用者" forExistingUsersDescription: "啟用代表僅向現存使用者顯示;停用代表張貼後註冊的新使用者也會看到。" @@ -2041,7 +2049,7 @@ _profile: changeAvatar: "更換大頭貼" changeBanner: "變更橫幅圖像" verifiedLinkDescription: "如果輸入包含您個人資料的網站 URL,欄位旁邊將出現驗證圖示。" - avatarDecorationMax: "最多可以設置{max}個裝飾。" + avatarDecorationMax: "最多可以設置 {max} 個裝飾。" _exportOrImport: allNotes: "所有貼文" favoritedNotes: "「我的最愛」貼文" From 21882b69ec6f093ce76e02c751927eeb6de08e0c Mon Sep 17 00:00:00 2001 From: GrapeApple0 <84321396+GrapeApple0@users.noreply.github.com> Date: Tue, 19 Dec 2023 22:44:42 +0900 Subject: [PATCH 05/59] =?UTF-8?q?fix:=20=E8=BF=BD=E5=8A=A0=E7=B5=B5?= =?UTF-8?q?=E6=96=87=E5=AD=97=E5=80=99=E8=A3=9C=E8=BE=9E=E6=9B=B8=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3(=E4=B8=BB=E3=81=AB=E5=9B=BD=E6=97=97)=20(#12?= =?UTF-8?q?716)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 絵文字候補辞書の修正(主に国旗) * 間違って削除してしまった絵文字の復旧 --- .../src/unicode-emoji-indexes/en-US.json | 500 +++++++++--------- 1 file changed, 250 insertions(+), 250 deletions(-) diff --git a/packages/frontend/src/unicode-emoji-indexes/en-US.json b/packages/frontend/src/unicode-emoji-indexes/en-US.json index ad406dc462..4d8b040ad2 100644 --- a/packages/frontend/src/unicode-emoji-indexes/en-US.json +++ b/packages/frontend/src/unicode-emoji-indexes/en-US.json @@ -484,6 +484,7 @@ "🐝": ["animal", "insect", "nature", "bug", "spring", "honey"], "🐛": ["animal", "insect", "nature", "worm"], "🦋": ["animal", "insect", "nature", "caterpillar"], + "🫏": ["animal", "ass", "burro", "mammal", "mule", "stubborn"], "🐌": ["slow", "animal", "shell"], "🐞": ["animal", "insect", "nature", "ladybug"], "🐜": ["animal", "insect", "nature", "bug"], @@ -523,7 +524,6 @@ "🐐": ["animal", "nature"], "🐏": ["animal", "sheep", "nature"], "🐑": ["animal", "nature", "wool", "shipit"], - "🫏": ["animal", "ass", "burro", "mammal", "mule", "stubborn"], "🐎": ["animal", "gamble", "luck"], "🐖": ["animal", "nature"], "🐀": ["animal", "mouse", "rodent"], @@ -1548,258 +1548,258 @@ "🕥": ["time", "late", "early", "schedule"], "🕦": ["time", "late", "early", "schedule"], "🕧": ["time", "late", "early", "schedule"], - "🇦🇫": ["af", "flag", "nation", "country", "banner"], - "🇦🇽": ["Åland", "islands", "flag", "nation", "country", "banner"], - "🇦🇱": ["al", "flag", "nation", "country", "banner"], - "🇩🇿": ["dz", "flag", "nation", "country", "banner"], - "🇦🇸": ["american", "ws", "flag", "nation", "country", "banner"], + "🇦🇫": ["af", "afghanistan", "flag", "nation", "country", "banner"], + "🇦🇽": ["ax", "Åland", "aland", "islands", "flag", "nation", "country", "banner"], + "🇦🇱": ["al", "albania", "flag", "nation", "country", "banner"], + "🇩🇿": ["dz", "algeria", "flag", "nation", "country", "banner"], + "🇦🇸": ["as", "american", "samoa", "flag", "nation", "country", "banner"], "🇦🇩": ["ad", "flag", "nation", "country", "banner"], - "🇦🇴": ["ao", "flag", "nation", "country", "banner"], - "🇦🇮": ["ai", "flag", "nation", "country", "banner"], - "🇦🇶": ["aq", "flag", "nation", "country", "banner"], - "🇦🇬": ["antigua", "barbuda", "flag", "nation", "country", "banner"], - "🇦🇷": ["ar", "flag", "nation", "country", "banner"], - "🇦🇲": ["am", "flag", "nation", "country", "banner"], - "🇦🇼": ["aw", "flag", "nation", "country", "banner"], - "🇦🇨": ["flag", "nation", "country", "banner"], - "🇦🇺": ["au", "flag", "nation", "country", "banner"], - "🇦🇹": ["at", "flag", "nation", "country", "banner"], - "🇦🇿": ["az", "flag", "nation", "country", "banner"], - "🇧🇸": ["bs", "flag", "nation", "country", "banner"], - "🇧🇭": ["bh", "flag", "nation", "country", "banner"], - "🇧🇩": ["bd", "flag", "nation", "country", "banner"], - "🇧🇧": ["bb", "flag", "nation", "country", "banner"], - "🇧🇾": ["by", "flag", "nation", "country", "banner"], - "🇧🇪": ["be", "flag", "nation", "country", "banner"], - "🇧🇿": ["bz", "flag", "nation", "country", "banner"], - "🇧🇯": ["bj", "flag", "nation", "country", "banner"], - "🇧🇲": ["bm", "flag", "nation", "country", "banner"], - "🇧🇹": ["bt", "flag", "nation", "country", "banner"], - "🇧🇴": ["bo", "flag", "nation", "country", "banner"], - "🇧🇶": ["bonaire", "flag", "nation", "country", "banner"], - "🇧🇦": ["bosnia", "herzegovina", "flag", "nation", "country", "banner"], - "🇧🇼": ["bw", "flag", "nation", "country", "banner"], - "🇧🇷": ["br", "flag", "nation", "country", "banner"], - "🇮🇴": ["british", "indian", "ocean", "territory", "flag", "nation", "country", "banner"], - "🇻🇬": ["british", "virgin", "islands", "bvi", "flag", "nation", "country", "banner"], - "🇧🇳": ["bn", "darussalam", "flag", "nation", "country", "banner"], - "🇧🇬": ["bg", "flag", "nation", "country", "banner"], - "🇧🇫": ["burkina", "faso", "flag", "nation", "country", "banner"], - "🇧🇮": ["bi", "flag", "nation", "country", "banner"], - "🇨🇻": ["cabo", "verde", "flag", "nation", "country", "banner"], - "🇰🇭": ["kh", "flag", "nation", "country", "banner"], - "🇨🇲": ["cm", "flag", "nation", "country", "banner"], - "🇨🇦": ["ca", "flag", "nation", "country", "banner"], - "🇮🇨": ["canary", "islands", "flag", "nation", "country", "banner"], - "🇰🇾": ["cayman", "islands", "flag", "nation", "country", "banner"], - "🇨🇫": ["central", "african", "republic", "flag", "nation", "country", "banner"], - "🇹🇩": ["td", "flag", "nation", "country", "banner"], - "🇨🇱": ["flag", "nation", "country", "banner"], - "🇨🇳": ["china", "chinese", "prc", "flag", "country", "nation", "banner"], - "🇨🇽": ["christmas", "island", "flag", "nation", "country", "banner"], - "🇨🇨": ["cocos", "keeling", "islands", "flag", "nation", "country", "banner"], - "🇨🇴": ["co", "flag", "nation", "country", "banner"], - "🇰🇲": ["km", "flag", "nation", "country", "banner"], - "🇨🇬": ["congo", "flag", "nation", "country", "banner"], - "🇨🇩": ["congo", "democratic", "republic", "flag", "nation", "country", "banner"], - "🇨🇰": ["cook", "islands", "flag", "nation", "country", "banner"], - "🇨🇷": ["costa", "rica", "flag", "nation", "country", "banner"], - "🇭🇷": ["hr", "flag", "nation", "country", "banner"], - "🇨🇺": ["cu", "flag", "nation", "country", "banner"], - "🇨🇼": ["curaçao", "flag", "nation", "country", "banner"], - "🇨🇾": ["cy", "flag", "nation", "country", "banner"], - "🇨🇿": ["cz", "flag", "nation", "country", "banner"], - "🇩🇰": ["dk", "flag", "nation", "country", "banner"], - "🇩🇯": ["dj", "flag", "nation", "country", "banner"], - "🇩🇲": ["dm", "flag", "nation", "country", "banner"], - "🇩🇴": ["dominican", "republic", "flag", "nation", "country", "banner"], - "🇪🇨": ["ec", "flag", "nation", "country", "banner"], - "🇪🇬": ["eg", "flag", "nation", "country", "banner"], - "🇸🇻": ["el", "salvador", "flag", "nation", "country", "banner"], - "🇬🇶": ["equatorial", "gn", "flag", "nation", "country", "banner"], - "🇪🇷": ["er", "flag", "nation", "country", "banner"], - "🇪🇪": ["ee", "flag", "nation", "country", "banner"], - "🇪🇹": ["et", "flag", "nation", "country", "banner"], - "🇪🇺": ["european", "union", "flag", "banner"], - "🇫🇰": ["falkland", "islands", "malvinas", "flag", "nation", "country", "banner"], - "🇫🇴": ["faroe", "islands", "flag", "nation", "country", "banner"], - "🇫🇯": ["fj", "flag", "nation", "country", "banner"], - "🇫🇮": ["fi", "flag", "nation", "country", "banner"], - "🇫🇷": ["banner", "flag", "nation", "france", "french", "country"], - "🇬🇫": ["french", "guiana", "flag", "nation", "country", "banner"], - "🇵🇫": ["french", "polynesia", "flag", "nation", "country", "banner"], - "🇹🇫": ["french", "southern", "territories", "flag", "nation", "country", "banner"], - "🇬🇦": ["ga", "flag", "nation", "country", "banner"], - "🇬🇲": ["gm", "flag", "nation", "country", "banner"], - "🇬🇪": ["ge", "flag", "nation", "country", "banner"], - "🇩🇪": ["german", "nation", "flag", "country", "banner"], - "🇬🇭": ["gh", "flag", "nation", "country", "banner"], - "🇬🇮": ["gi", "flag", "nation", "country", "banner"], - "🇬🇷": ["gr", "flag", "nation", "country", "banner"], - "🇬🇱": ["gl", "flag", "nation", "country", "banner"], - "🇬🇩": ["gd", "flag", "nation", "country", "banner"], - "🇬🇵": ["gp", "flag", "nation", "country", "banner"], - "🇬🇺": ["gu", "flag", "nation", "country", "banner"], - "🇬🇹": ["gt", "flag", "nation", "country", "banner"], - "🇬🇬": ["gg", "flag", "nation", "country", "banner"], - "🇬🇳": ["gn", "flag", "nation", "country", "banner"], - "🇬🇼": ["gw", "bissau", "flag", "nation", "country", "banner"], - "🇬🇾": ["gy", "flag", "nation", "country", "banner"], - "🇭🇹": ["ht", "flag", "nation", "country", "banner"], - "🇭🇳": ["hn", "flag", "nation", "country", "banner"], - "🇭🇰": ["hong", "kong", "flag", "nation", "country", "banner"], - "🇭🇺": ["hu", "flag", "nation", "country", "banner"], - "🇮🇸": ["is", "flag", "nation", "country", "banner"], - "🇮🇳": ["in", "flag", "nation", "country", "banner"], - "🇮🇩": ["flag", "nation", "country", "banner"], - "🇮🇷": ["iran, ", "islamic", "republic", "flag", "nation", "country", "banner"], - "🇮🇶": ["iq", "flag", "nation", "country", "banner"], - "🇮🇪": ["ie", "flag", "nation", "country", "banner"], - "🇮🇲": ["isle", "man", "flag", "nation", "country", "banner"], - "🇮🇱": ["il", "flag", "nation", "country", "banner"], - "🇮🇹": ["italy", "flag", "nation", "country", "banner"], - "🇨🇮": ["ivory", "coast", "flag", "nation", "country", "banner"], - "🇯🇲": ["jm", "flag", "nation", "country", "banner"], - "🇯🇵": ["japanese", "nation", "flag", "country", "banner"], - "🇯🇪": ["je", "flag", "nation", "country", "banner"], - "🇯🇴": ["jo", "flag", "nation", "country", "banner"], - "🇰🇿": ["kz", "flag", "nation", "country", "banner"], - "🇰🇪": ["ke", "flag", "nation", "country", "banner"], - "🇰🇮": ["ki", "flag", "nation", "country", "banner"], - "🇽🇰": ["xk", "flag", "nation", "country", "banner"], - "🇰🇼": ["kw", "flag", "nation", "country", "banner"], - "🇰🇬": ["kg", "flag", "nation", "country", "banner"], - "🇱🇦": ["lao", "democratic", "republic", "flag", "nation", "country", "banner"], - "🇱🇻": ["lv", "flag", "nation", "country", "banner"], - "🇱🇧": ["lb", "flag", "nation", "country", "banner"], - "🇱🇸": ["ls", "flag", "nation", "country", "banner"], - "🇱🇷": ["lr", "flag", "nation", "country", "banner"], - "🇱🇾": ["ly", "flag", "nation", "country", "banner"], - "🇱🇮": ["li", "flag", "nation", "country", "banner"], - "🇱🇹": ["lt", "flag", "nation", "country", "banner"], - "🇱🇺": ["lu", "flag", "nation", "country", "banner"], - "🇲🇴": ["macao", "flag", "nation", "country", "banner"], - "🇲🇰": ["macedonia, ", "flag", "nation", "country", "banner"], - "🇲🇬": ["mg", "flag", "nation", "country", "banner"], - "🇲🇼": ["mw", "flag", "nation", "country", "banner"], - "🇲🇾": ["my", "flag", "nation", "country", "banner"], - "🇲🇻": ["mv", "flag", "nation", "country", "banner"], - "🇲🇱": ["ml", "flag", "nation", "country", "banner"], - "🇲🇹": ["mt", "flag", "nation", "country", "banner"], - "🇲🇭": ["marshall", "islands", "flag", "nation", "country", "banner"], - "🇲🇶": ["mq", "flag", "nation", "country", "banner"], - "🇲🇷": ["mr", "flag", "nation", "country", "banner"], - "🇲🇺": ["mu", "flag", "nation", "country", "banner"], - "🇾🇹": ["yt", "flag", "nation", "country", "banner"], - "🇲🇽": ["mx", "flag", "nation", "country", "banner"], - "🇫🇲": ["micronesia, ", "federated", "states", "flag", "nation", "country", "banner"], - "🇲🇩": ["moldova, ", "republic", "flag", "nation", "country", "banner"], - "🇲🇨": ["mc", "flag", "nation", "country", "banner"], - "🇲🇳": ["mn", "flag", "nation", "country", "banner"], - "🇲🇪": ["me", "flag", "nation", "country", "banner"], - "🇲🇸": ["ms", "flag", "nation", "country", "banner"], - "🇲🇦": ["ma", "flag", "nation", "country", "banner"], - "🇲🇿": ["mz", "flag", "nation", "country", "banner"], - "🇲🇲": ["mm", "flag", "nation", "country", "banner"], - "🇳🇦": ["na", "flag", "nation", "country", "banner"], - "🇳🇷": ["nr", "flag", "nation", "country", "banner"], - "🇳🇵": ["np", "flag", "nation", "country", "banner"], - "🇳🇱": ["nl", "flag", "nation", "country", "banner"], - "🇳🇨": ["new", "caledonia", "flag", "nation", "country", "banner"], - "🇳🇿": ["new", "zealand", "flag", "nation", "country", "banner"], - "🇳🇮": ["ni", "flag", "nation", "country", "banner"], - "🇳🇪": ["ne", "flag", "nation", "country", "banner"], - "🇳🇬": ["flag", "nation", "country", "banner"], - "🇳🇺": ["nu", "flag", "nation", "country", "banner"], - "🇳🇫": ["norfolk", "island", "flag", "nation", "country", "banner"], - "🇲🇵": ["northern", "mariana", "islands", "flag", "nation", "country", "banner"], - "🇰🇵": ["north", "korea", "nation", "flag", "country", "banner"], - "🇳🇴": ["no", "flag", "nation", "country", "banner"], - "🇴🇲": ["om_symbol", "flag", "nation", "country", "banner"], - "🇵🇰": ["pk", "flag", "nation", "country", "banner"], - "🇵🇼": ["pw", "flag", "nation", "country", "banner"], - "🇵🇸": ["palestine", "palestinian", "territories", "flag", "nation", "country", "banner"], - "🇵🇦": ["pa", "flag", "nation", "country", "banner"], - "🇵🇬": ["papua", "new", "guinea", "flag", "nation", "country", "banner"], - "🇵🇾": ["py", "flag", "nation", "country", "banner"], - "🇵🇪": ["pe", "flag", "nation", "country", "banner"], - "🇵🇭": ["ph", "flag", "nation", "country", "banner"], - "🇵🇳": ["pitcairn", "flag", "nation", "country", "banner"], - "🇵🇱": ["pl", "flag", "nation", "country", "banner"], - "🇵🇹": ["pt", "flag", "nation", "country", "banner"], - "🇵🇷": ["puerto", "rico", "flag", "nation", "country", "banner"], - "🇶🇦": ["qa", "flag", "nation", "country", "banner"], - "🇷🇪": ["réunion", "flag", "nation", "country", "banner"], - "🇷🇴": ["ro", "flag", "nation", "country", "banner"], - "🇷🇺": ["russian", "federation", "flag", "nation", "country", "banner"], - "🇷🇼": ["rw", "flag", "nation", "country", "banner"], - "🇧🇱": ["saint", "barthélemy", "flag", "nation", "country", "banner"], - "🇸🇭": ["saint", "helena", "ascension", "tristan", "cunha", "flag", "nation", "country", "banner"], - "🇰🇳": ["saint", "kitts", "nevis", "flag", "nation", "country", "banner"], - "🇱🇨": ["saint", "lucia", "flag", "nation", "country", "banner"], - "🇵🇲": ["saint", "pierre", "miquelon", "flag", "nation", "country", "banner"], - "🇻🇨": ["saint", "vincent", "grenadines", "flag", "nation", "country", "banner"], - "🇼🇸": ["ws", "flag", "nation", "country", "banner"], - "🇸🇲": ["san", "marino", "flag", "nation", "country", "banner"], - "🇸🇹": ["sao", "tome", "principe", "flag", "nation", "country", "banner"], - "🇸🇦": ["flag", "nation", "country", "banner"], - "🇸🇳": ["sn", "flag", "nation", "country", "banner"], - "🇷🇸": ["rs", "flag", "nation", "country", "banner"], - "🇸🇨": ["sc", "flag", "nation", "country", "banner"], - "🇸🇱": ["sierra", "leone", "flag", "nation", "country", "banner"], - "🇸🇬": ["sg", "flag", "nation", "country", "banner"], - "🇸🇽": ["sint", "maarten", "dutch", "flag", "nation", "country", "banner"], - "🇸🇰": ["sk", "flag", "nation", "country", "banner"], - "🇸🇮": ["si", "flag", "nation", "country", "banner"], - "🇸🇧": ["solomon", "islands", "flag", "nation", "country", "banner"], - "🇸🇴": ["so", "flag", "nation", "country", "banner"], - "🇿🇦": ["south", "africa", "flag", "nation", "country", "banner"], - "🇬🇸": ["south", "georgia", "sandwich", "islands", "flag", "nation", "country", "banner"], - "🇰🇷": ["south", "korea", "nation", "flag", "country", "banner"], - "🇸🇸": ["south", "sd", "flag", "nation", "country", "banner"], - "🇪🇸": ["spain", "flag", "nation", "country", "banner"], - "🇱🇰": ["sri", "lanka", "flag", "nation", "country", "banner"], - "🇸🇩": ["sd", "flag", "nation", "country", "banner"], - "🇸🇷": ["sr", "flag", "nation", "country", "banner"], - "🇸🇿": ["sz", "flag", "nation", "country", "banner"], - "🇸🇪": ["se", "flag", "nation", "country", "banner"], - "🇨🇭": ["ch", "flag", "nation", "country", "banner"], - "🇸🇾": ["syrian", "arab", "republic", "flag", "nation", "country", "banner"], - "🇹🇼": ["tw", "flag", "nation", "country", "banner"], - "🇹🇯": ["tj", "flag", "nation", "country", "banner"], - "🇹🇿": ["tanzania, ", "united", "republic", "flag", "nation", "country", "banner"], - "🇹🇭": ["th", "flag", "nation", "country", "banner"], - "🇹🇱": ["timor", "leste", "flag", "nation", "country", "banner"], - "🇹🇬": ["tg", "flag", "nation", "country", "banner"], - "🇹🇰": ["tk", "flag", "nation", "country", "banner"], - "🇹🇴": ["to", "flag", "nation", "country", "banner"], - "🇹🇹": ["trinidad", "tobago", "flag", "nation", "country", "banner"], - "🇹🇦": ["flag", "nation", "country", "banner"], - "🇹🇳": ["tn", "flag", "nation", "country", "banner"], - "🇹🇷": ["turkey", "flag", "nation", "country", "banner"], - "🇹🇲": ["flag", "nation", "country", "banner"], - "🇹🇨": ["turks", "caicos", "islands", "flag", "nation", "country", "banner"], - "🇹🇻": ["flag", "nation", "country", "banner"], - "🇺🇬": ["ug", "flag", "nation", "country", "banner"], - "🇺🇦": ["ua", "flag", "nation", "country", "banner"], - "🇦🇪": ["united", "arab", "emirates", "flag", "nation", "country", "banner"], - "🇬🇧": ["united", "kingdom", "great", "britain", "northern", "ireland", "flag", "nation", "country", "banner", "british", "UK", "english", "england", "union jack"], + "🇦🇴": ["ao", "angola", "flag", "nation", "country", "banner"], + "🇦🇮": ["ai", "anguilla", "flag", "nation", "country", "banner"], + "🇦🇶": ["aq", "antarctique", "flag", "nation", "country", "banner"], + "🇦🇬": ["ag", "antigua", "barbuda", "flag", "nation", "country", "banner"], + "🇦🇷": ["ar", "argentina", "flag", "nation", "country", "banner"], + "🇦🇲": ["am", "armenia", "flag", "nation", "country", "banner"], + "🇦🇼": ["aw", "aruba", "flag", "nation", "country", "banner"], + "🇦🇨": ["ac", "ascension", "island", "flag", "nation", "country", "banner"], + "🇦🇺": ["au", "australia", "flag", "nation", "country", "banner"], + "🇦🇹": ["at", "austria", "flag", "nation", "country", "banner"], + "🇦🇿": ["az", "azerbaijan", "flag", "nation", "country", "banner"], + "🇧🇸": ["bs", "bahamas", "flag", "nation", "country", "banner"], + "🇧🇭": ["bh", "bahrain", "flag", "nation", "country", "banner"], + "🇧🇩": ["bd", "bangladesh", "flag", "nation", "country", "banner"], + "🇧🇧": ["bb", "barbados", "flag", "nation", "country", "banner"], + "🇧🇾": ["by", "belarus", "flag", "nation", "country", "banner"], + "🇧🇪": ["be", "belgium", "flag", "nation", "country", "banner"], + "🇧🇿": ["bz", "belize", "flag", "nation", "country", "banner"], + "🇧🇯": ["bj", "benin", "flag", "nation", "country", "banner"], + "🇧🇲": ["bm", "bermuda", "flag", "nation", "country", "banner"], + "🇧🇹": ["bt", "bhutan", "flag", "nation", "country", "banner"], + "🇧🇴": ["bo", "bolivia", "flag", "nation", "country", "banner"], + "🇧🇶": ["bq", "bonaire", "flag", "nation", "country", "banner"], + "🇧🇦": ["ba", "bosnia", "herzegovina", "flag", "nation", "country", "banner"], + "🇧🇼": ["bw", "botswana", "flag", "nation", "country", "banner"], + "🇧🇷": ["br", "brazil", "flag", "nation", "country", "banner"], + "🇮🇴": ["io", "british", "indian", "ocean", "territory", "flag", "nation", "country", "banner"], + "🇻🇬": ["vg", "british", "virgin", "islands", "bvi", "flag", "nation", "country", "banner"], + "🇧🇳": ["bn", "brunei", "darussalam", "flag", "nation", "country", "banner"], + "🇧🇬": ["bg", "bulgaria", "flag", "nation", "country", "banner"], + "🇧🇫": ["bf", "burkina", "faso", "flag", "nation", "country", "banner"], + "🇧🇮": ["bi", "burundi", "flag", "nation", "country", "banner"], + "🇨🇻": ["cv", "cabo", "verde", "flag", "nation", "country", "banner"], + "🇰🇭": ["kh", "cambodia", "flag", "nation", "country", "banner"], + "🇨🇲": ["cm", "cameroon", "flag", "nation", "country", "banner"], + "🇨🇦": ["ca", "canada", "flag", "nation", "country", "banner"], + "🇮🇨": ["ic", "canary", "islands", "flag", "nation", "country", "banner"], + "🇰🇾": ["ky", "cayman", "islands", "flag", "nation", "country", "banner"], + "🇨🇫": ["cf", "central", "african", "republic", "flag", "nation", "country", "banner"], + "🇹🇩": ["td", "chad", "flag", "nation", "country", "banner"], + "🇨🇱": ["cl", "chile", "flag", "nation", "country", "banner"], + "🇨🇳": ["cn", "china", "chinese", "prc", "flag", "country", "nation", "banner"], + "🇨🇽": ["cx", "christmas", "island", "flag", "nation", "country", "banner"], + "🇨🇨": ["cc", "cocos", "keeling", "islands", "flag", "nation", "country", "banner"], + "🇨🇴": ["co", "colombia", "flag", "nation", "country", "banner"], + "🇰🇲": ["km", "comoros", "flag", "nation", "country", "banner"], + "🇨🇬": ["cg", "republic", "congo", "flag", "nation", "country", "banner"], + "🇨🇩": ["cd", "democratic", "republic", "congo", "flag", "nation", "country", "banner"], + "🇨🇰": ["ck", "cook", "islands", "flag", "nation", "country", "banner"], + "🇨🇷": ["cr", "costa", "rica", "flag", "nation", "country", "banner"], + "🇭🇷": ["hr", "croatia", "flag", "nation", "country", "banner"], + "🇨🇺": ["cu", "cuba", "flag", "nation", "country", "banner"], + "🇨🇼": ["cw", "curacao", "curaçao", "flag", "nation", "country", "banner"], + "🇨🇾": ["cy", "cyprus", "flag", "nation", "country", "banner"], + "🇨🇿": ["cz", "czech", "republic", "flag", "nation", "country", "banner"], + "🇩🇰": ["dk", "denmark", "flag", "nation", "country", "banner"], + "🇩🇯": ["dj", "djibouti", "flag", "nation", "country", "banner"], + "🇩🇲": ["dm", "dominica", "flag", "nation", "country", "banner"], + "🇩🇴": ["do", "dominican", "republic", "flag", "nation", "country", "banner"], + "🇪🇨": ["ec", "ecuador", "flag", "nation", "country", "banner"], + "🇪🇬": ["eg", "egypt", "flag", "nation", "country", "banner"], + "🇸🇻": ["sv", "el", "salvador", "flag", "nation", "country", "banner"], + "🇬🇶": ["gq", "equatorial", "guinea", "flag", "nation", "country", "banner"], + "🇪🇷": ["er", "eritrea", "flag", "nation", "country", "banner"], + "🇪🇪": ["ee", "estonia", "flag", "nation", "country", "banner"], + "🇪🇹": ["et", "ethiopia", "flag", "nation", "country", "banner"], + "🇪🇺": ["eu", "european", "union", "flag", "banner"], + "🇫🇰": ["fk", "falkland", "islands", "malvinas", "flag", "nation", "country", "banner"], + "🇫🇴": ["fo", "faroe", "islands", "flag", "nation", "country", "banner"], + "🇫🇯": ["fj", "fiji", "flag", "nation", "country", "banner"], + "🇫🇮": ["fi", "finland", "flag", "nation", "country", "banner"], + "🇫🇷": ["fr", "banner", "flag", "nation", "france", "french", "country"], + "🇬🇫": ["gf", "french", "guiana", "flag", "nation", "country", "banner"], + "🇵🇫": ["pf", "french", "polynesia", "flag", "nation", "country", "banner"], + "🇹🇫": ["tf", "french", "southern", "territories", "flag", "nation", "country", "banner"], + "🇬🇦": ["ga", "gabon", "flag", "nation", "country", "banner"], + "🇬🇲": ["gm", "gambia", "flag", "nation", "country", "banner"], + "🇬🇪": ["ge", "georgia", "flag", "nation", "country", "banner"], + "🇩🇪": ["de", "deutschland", "german", "nation", "flag", "country", "banner"], + "🇬🇭": ["gh", "ghana", "flag", "nation", "country", "banner"], + "🇬🇮": ["gi", "gibraltar", "flag", "nation", "country", "banner"], + "🇬🇷": ["gr", "greece", "flag", "nation", "country", "banner"], + "🇬🇱": ["gl", "green", "land", "flag", "nation", "country", "banner"], + "🇬🇩": ["gd", "grenada", "flag", "nation", "country", "banner"], + "🇬🇵": ["gp", "guadeloupe", "flag", "nation", "country", "banner"], + "🇬🇺": ["gu", "guam", "flag", "nation", "country", "banner"], + "🇬🇹": ["gt", "guatemala", "flag", "nation", "country", "banner"], + "🇬🇬": ["gg", "guernsey", "flag", "nation", "country", "banner"], + "🇬🇳": ["gn", "guinea", "flag", "nation", "country", "banner"], + "🇬🇼": ["gw", "guiana", "bissau", "flag", "nation", "country", "banner"], + "🇬🇾": ["gy", "guyana", "flag", "nation", "country", "banner"], + "🇭🇹": ["ht", "haiti", "flag", "nation", "country", "banner"], + "🇭🇳": ["hn", "honduras", "flag", "nation", "country", "banner"], + "🇭🇰": ["hk", "hong", "kong", "flag", "nation", "country", "banner"], + "🇭🇺": ["hu", "hungary", "flag", "nation", "country", "banner"], + "🇮🇸": ["is", "iceland", "Ísland", "flag", "nation", "country", "banner"], + "🇮🇳": ["in", "india", "flag", "nation", "country", "banner"], + "🇮🇩": ["id", "indonesia", "flag", "nation", "country", "banner"], + "🇮🇷": ["ir", "iran", "islamic", "republic", "flag", "nation", "country", "banner"], + "🇮🇶": ["iq", "iraq", "flag", "nation", "country", "banner"], + "🇮🇪": ["ie", "ireland", "flag", "nation", "country", "banner"], + "🇮🇲": ["im", "isle", "man", "flag", "nation", "country", "banner"], + "🇮🇱": ["il", "israel", "flag", "nation", "country", "banner"], + "🇮🇹": ["it", "italy", "flag", "nation", "country", "banner"], + "🇨🇮": ["ci", "cote", "divoire", "Côte", "d'Ivoire", "ivory", "coast", "flag", "nation", "country", "banner"], + "🇯🇲": ["jm", "jamaica", "flag", "nation", "country", "banner"], + "🇯🇵": ["jp", "japan", "japanese", "nation", "flag", "country", "banner"], + "🇯🇪": ["je", "jersey", "flag", "nation", "country", "banner"], + "🇯🇴": ["jo", "jordan", "flag", "nation", "country", "banner"], + "🇰🇿": ["kz", "kazakhstan", "flag", "nation", "country", "banner"], + "🇰🇪": ["ke", "kenya", "flag", "nation", "country", "banner"], + "🇰🇮": ["ki", "kiribati", "flag", "nation", "country", "banner"], + "🇽🇰": ["xk", "kosovo", "flag", "nation", "country", "banner"], + "🇰🇼": ["kw", "kuwait", "flag", "nation", "country", "banner"], + "🇰🇬": ["kg", "kyrgyzstan", "kyrgyz", "flag", "nation", "country", "banner"], + "🇱🇦": ["la", "laos", "lao", "democratic", "republic", "flag", "nation", "country", "banner"], + "🇱🇻": ["lv", "latvia", "flag", "nation", "country", "banner"], + "🇱🇧": ["lb", "lebanon", "flag", "nation", "country", "banner"], + "🇱🇸": ["ls", "lesotho", "flag", "nation", "country", "banner"], + "🇱🇷": ["lr", "liberia", "flag", "nation", "country", "banner"], + "🇱🇾": ["ly", "libya", "flag", "nation", "country", "banner"], + "🇱🇮": ["li", "liechtenstein", "flag", "nation", "country", "banner"], + "🇱🇹": ["lt", "lithuania", "flag", "nation", "country", "banner"], + "🇱🇺": ["lu", "luxembourg", "flag", "nation", "country", "banner"], + "🇲🇴": ["mo", "macao", "macau", "flag", "nation", "country", "banner"], + "🇲🇰": ["mk", "north", "macedonia", "flag", "nation", "country", "banner"], + "🇲🇬": ["mg", "madagascar", "flag", "nation", "country", "banner"], + "🇲🇼": ["mw", "malawi", "flag", "nation", "country", "banner"], + "🇲🇾": ["my", "malaysia", "flag", "nation", "country", "banner"], + "🇲🇻": ["mv", "maldives", "republic", "flag", "nation", "country", "banner"], + "🇲🇱": ["ml", "mali", "flag", "nation", "country", "banner"], + "🇲🇹": ["mt", "malta", "flag", "nation", "country", "banner"], + "🇲🇭": ["mh", "marshall", "islands", "flag", "nation", "country", "banner"], + "🇲🇶": ["mq", "martinique", "flag", "nation", "country", "banner"], + "🇲🇷": ["mr", "mauritania", "flag", "nation", "country", "banner"], + "🇲🇺": ["mu", "mauritius", "flag", "nation", "country", "banner"], + "🇾🇹": ["yt", "mayotte", "flag", "nation", "country", "banner"], + "🇲🇽": ["mx", "mexico", "flag", "nation", "country", "banner"], + "🇫🇲": ["fm", "micronesia", "federated", "states", "flag", "nation", "country", "banner"], + "🇲🇩": ["md", "moldova", "republic", "flag", "nation", "country", "banner"], + "🇲🇨": ["mc", "monaco", "flag", "nation", "country", "banner"], + "🇲🇳": ["mn", "mongolia", "flag", "nation", "country", "banner"], + "🇲🇪": ["me", "montenegro", "flag", "nation", "country", "banner"], + "🇲🇸": ["ms", "montserrat", "flag", "nation", "country", "banner"], + "🇲🇦": ["ma", "morocco", "flag", "nation", "country", "banner"], + "🇲🇿": ["mz", "mozambique", "flag", "nation", "country", "banner"], + "🇲🇲": ["mm", "myanmar", "flag", "nation", "country", "banner"], + "🇳🇦": ["na", "namibia", "flag", "nation", "country", "banner"], + "🇳🇷": ["nr", "nauru", "flag", "nation", "country", "banner"], + "🇳🇵": ["np", "nepal", "flag", "nation", "country", "banner"], + "🇳🇱": ["nl", "netherlands", "flag", "nation", "country", "banner"], + "🇳🇨": ["nc", "new", "caledonia", "flag", "nation", "country", "banner"], + "🇳🇿": ["nz", "new", "zealand", "flag", "nation", "country", "banner"], + "🇳🇮": ["ni", "nicaragua", "flag", "nation", "country", "banner"], + "🇳🇪": ["ne", "niger", "flag", "nation", "country", "banner"], + "🇳🇬": ["ng", "nigeria", "flag", "nation", "country", "banner"], + "🇳🇺": ["nu", "niue", "flag", "nation", "country", "banner"], + "🇳🇫": ["nf", "norfolk", "island", "flag", "nation", "country", "banner"], + "🇲🇵": ["mp", "northern", "mariana", "islands", "flag", "nation", "country", "banner"], + "🇰🇵": ["kp", "democratic", "people", "republic", "north", "korea", "nation", "flag", "country", "banner"], + "🇳🇴": ["no", "norway", "flag", "nation", "country", "banner"], + "🇴🇲": ["om", "oman", "flag", "nation", "country", "banner"], + "🇵🇰": ["pk", "pakistan", "flag", "nation", "country", "banner"], + "🇵🇼": ["pw", "palau", "flag", "nation", "country", "banner"], + "🇵🇸": ["ps", "palestine", "palestinian", "territories", "flag", "nation", "country", "banner"], + "🇵🇦": ["pa", "panama", "flag", "nation", "country", "banner"], + "🇵🇬": ["pg", "papua", "new", "guinea", "flag", "nation", "country", "banner"], + "🇵🇾": ["py", "paraguay", "flag", "nation", "country", "banner"], + "🇵🇪": ["pe", "peru", "flag", "nation", "country", "banner"], + "🇵🇭": ["ph", "philippines", "flag", "nation", "country", "banner"], + "🇵🇳": ["pn", "pitcairn", "flag", "nation", "country", "banner"], + "🇵🇱": ["pl", "poland", "flag", "nation", "country", "banner"], + "🇵🇹": ["pt", "portugal", "flag", "nation", "country", "banner"], + "🇵🇷": ["pr", "puerto", "rico", "flag", "nation", "country", "banner"], + "🇶🇦": ["qa", "qatar", "flag", "nation", "country", "banner"], + "🇷🇪": ["re", "reunion", "réunion", "flag", "nation", "country", "banner"], + "🇷🇴": ["ro", "romania", "flag", "nation", "country", "banner"], + "🇷🇺": ["ru", "russian", "federation", "flag", "nation", "country", "banner"], + "🇷🇼": ["rw", "rwanda", "flag", "nation", "country", "banner"], + "🇧🇱": ["bl", "saint", "barthélemy", "flag", "nation", "country", "banner"], + "🇸🇭": ["sh", "saint", "helena", "ascension", "tristan", "cunha", "flag", "nation", "country", "banner"], + "🇰🇳": ["kn", "saint", "kitts", "nevis", "flag", "nation", "country", "banner"], + "🇱🇨": ["lc", "saint", "lucia", "flag", "nation", "country", "banner"], + "🇵🇲": ["pm", "saint", "pierre", "miquelon", "flag", "nation", "country", "banner"], + "🇻🇨": ["vc", "saint", "vincent", "grenadines", "flag", "nation", "country", "banner"], + "🇼🇸": ["ws", "western", "samoa", "flag", "nation", "country", "banner"], + "🇸🇲": ["sm", "san", "marino", "flag", "nation", "country", "banner"], + "🇸🇹": ["st", "sao", "tome", "principe", "flag", "nation", "country", "banner"], + "🇸🇦": ["saudi", "arabia", "flag", "nation", "country", "banner"], + "🇸🇳": ["sn", "senegal", "flag", "nation", "country", "banner"], + "🇷🇸": ["rs", "serbia", "flag", "nation", "country", "banner"], + "🇸🇨": ["sc", "seychelles", "flag", "nation", "country", "banner"], + "🇸🇱": ["sl", "sierra", "leone", "flag", "nation", "country", "banner"], + "🇸🇬": ["sg", "singapore", "flag", "nation", "country", "banner"], + "🇸🇽": ["sx", "sint", "maarten", "dutch", "flag", "nation", "country", "banner"], + "🇸🇰": ["sk", "slovakia", "flag", "nation", "country", "banner"], + "🇸🇮": ["si", "slovenia", "flag", "nation", "country", "banner"], + "🇸🇧": ["sb", "solomon", "islands", "flag", "nation", "country", "banner"], + "🇸🇴": ["so", "somalia", "flag", "nation", "country", "banner"], + "🇿🇦": ["za", "south", "africa", "flag", "nation", "country", "banner"], + "🇬🇸": ["gs", "south", "georgia", "sandwich", "islands", "flag", "nation", "country", "banner"], + "🇰🇷": ["kr", "south", "korea", "nation", "flag", "country", "banner"], + "🇸🇸": ["ss", "south", "sudan", "flag", "nation", "country", "banner"], + "🇪🇸": ["es", "spain", "españa", "flag", "nation", "country", "banner"], + "🇱🇰": ["lk", "sri", "lanka", "flag", "nation", "country", "banner"], + "🇸🇩": ["sd", "sudan", "flag", "nation", "country", "banner"], + "🇸🇷": ["sr", "suriname", "flag", "nation", "country", "banner"], + "🇸🇿": ["sz", "eswatini", "flag", "nation", "country", "banner"], + "🇸🇪": ["se", "sweden", "flag", "nation", "country", "banner"], + "🇨🇭": ["ch", "switzerland", "confoederatio", "helvetica", "flag", "nation", "country", "banner"], + "🇸🇾": ["sy", "syrian", "arab", "republic", "flag", "nation", "country", "banner"], + "🇹🇼": ["tw", "taiwan", "flag", "nation", "country", "banner"], + "🇹🇯": ["tj", "tajikistan", "flag", "nation", "country", "banner"], + "🇹🇿": ["tz", "tanzania", "united", "republic", "flag", "nation", "country", "banner"], + "🇹🇭": ["th", "thailand", "flag", "nation", "country", "banner"], + "🇹🇱": ["tl", "timor", "leste", "flag", "nation", "country", "banner"], + "🇹🇬": ["tg", "togo", "flag", "nation", "country", "banner"], + "🇹🇰": ["tk", "tokelau", "flag", "nation", "country", "banner"], + "🇹🇴": ["to", "tonga", "flag", "nation", "country", "banner"], + "🇹🇹": ["tt", "trinidad", "tobago", "flag", "nation", "country", "banner"], + "🇹🇦": ["ta", "tristan", "da", "cunha", "flag", "nation", "country", "banner"], + "🇹🇳": ["tn", "tunisia", "flag", "nation", "country", "banner"], + "🇹🇷": ["tr", "turkey", "türkiye", "flag", "nation", "country", "banner"], + "🇹🇲": ["tm", "turkmenistan", "flag", "nation", "country", "banner"], + "🇹🇨": ["tc", "turks", "caicos", "islands", "flag", "nation", "country", "banner"], + "🇹🇻": ["tv", "tuvalu", "flag", "nation", "country", "banner"], + "🇺🇬": ["ug", "uganda", "flag", "nation", "country", "banner"], + "🇺🇦": ["ua", "ukraine", "flag", "nation", "country", "banner"], + "🇦🇪": ["ae", "united", "arab", "emirates", "flag", "nation", "country", "banner"], + "🇬🇧": ["gb", "united", "kingdom", "great", "britain", "northern", "ireland", "flag", "nation", "country", "banner", "british", "uk", "english", "england", "union jack"], "🏴󠁧󠁢󠁥󠁮󠁧󠁿": ["flag", "english"], "🏴󠁧󠁢󠁳󠁣󠁴󠁿": ["flag", "scottish"], "🏴󠁧󠁢󠁷󠁬󠁳󠁿": ["flag", "welsh"], - "🇺🇸": ["united", "states", "america", "flag", "nation", "country", "banner"], - "🇻🇮": ["virgin", "islands", "us", "flag", "nation", "country", "banner"], - "🇺🇾": ["uy", "flag", "nation", "country", "banner"], - "🇺🇿": ["uz", "flag", "nation", "country", "banner"], - "🇻🇺": ["vu", "flag", "nation", "country", "banner"], - "🇻🇦": ["vatican", "city", "flag", "nation", "country", "banner"], - "🇻🇪": ["ve", "bolivarian", "republic", "flag", "nation", "country", "banner"], - "🇻🇳": ["viet", "nam", "flag", "nation", "country", "banner"], - "🇼🇫": ["wallis", "futuna", "flag", "nation", "country", "banner"], - "🇪🇭": ["western", "sahara", "flag", "nation", "country", "banner"], - "🇾🇪": ["ye", "flag", "nation", "country", "banner"], - "🇿🇲": ["zm", "flag", "nation", "country", "banner"], - "🇿🇼": ["zw", "flag", "nation", "country", "banner"], - "🇺🇳": ["un", "flag", "banner"], + "🇺🇸": ["us", "usa", "united", "states", "america", "flag", "nation", "country", "banner"], + "🇻🇮": ["vi", "virgin", "islands", "us", "flag", "nation", "country", "banner"], + "🇺🇾": ["uy", "uruguay", "flag", "nation", "country", "banner"], + "🇺🇿": ["uz", "uzbekistan", "flag", "nation", "country", "banner"], + "🇻🇺": ["vu", "vanuatu", "flag", "nation", "country", "banner"], + "🇻🇦": ["va", "vatican", "city", "flag", "nation", "country", "banner"], + "🇻🇪": ["ve", "venezuela", "flag", "nation", "country", "banner"], + "🇻🇳": ["vn", "viet", "nam", "flag", "nation", "country", "banner"], + "🇼🇫": ["wf", "wallis", "futuna", "flag", "nation", "country", "banner"], + "🇪🇭": ["eh", "western", "sahara", "flag", "nation", "country", "banner"], + "🇾🇪": ["ye", "yemen", "flag", "nation", "country", "banner"], + "🇿🇲": ["zm", "zambia", "flag", "nation", "country", "banner"], + "🇿🇼": ["zw", "zimbabwe", "flag", "nation", "country", "banner"], + "🇺🇳": ["un", "united", "nation", "flag", "banner"], "🏴‍☠️": ["skull", "crossbones", "flag", "banner"] } From 10d4ae107bef82f988d39c40aa528c720612209a Mon Sep 17 00:00:00 2001 From: 1STEP621 <86859447+1STEP621@users.noreply.github.com> Date: Wed, 20 Dec 2023 16:19:49 +0900 Subject: [PATCH 06/59] =?UTF-8?q?Fix(frontend):=20CW=E5=86=85=E3=81=AA?= =?UTF-8?q?=E3=81=A9=E3=81=AE=E7=94=BB=E5=83=8F=E3=81=8C=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84=E3=81=93=E3=81=A8=E3=81=8C?= =?UTF-8?q?=E3=81=82=E3=82=8B=E3=83=90=E3=82=B0=E3=82=92=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=20(#12721)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 画像のアスペクト比をデフォルト以外に設定しているとCW内の画像が表示されないのを修正 * fix --- CHANGELOG.md | 1 + .../frontend/src/components/MkMediaList.vue | 77 ++----------------- 2 files changed, 9 insertions(+), 69 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd8c492782..7251fd2219 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -79,6 +79,7 @@ - Fix: AiScriptの`readline`が不正な値を返すことがある問題を修正 - Fix: 投票のみ/画像のみの引用RNが、通知欄でただのRNとして判定されるバグを修正 - Fix: CWをつけて引用RNしても、普通のRNとして扱われてしまうバグを修正しました。 +- Fix: 「画像が1枚のみのメディアリストの高さ」を「デフォルト」以外に設定していると、CWの中などに添付された画像が見られないバグを修正 ### Server - Enhance: MFM `$[ruby ]` が他ソフトウェアと連合されるように diff --git a/packages/frontend/src/components/MkMediaList.vue b/packages/frontend/src/components/MkMediaList.vue index b154eb0202..c5be2a2f62 100644 --- a/packages/frontend/src/components/MkMediaList.vue +++ b/packages/frontend/src/components/MkMediaList.vue @@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only --> - - diff --git a/packages/frontend/src/pages/about-misskey.vue b/packages/frontend/src/pages/about-misskey.vue index c245b9b6cb..20c65f4541 100644 --- a/packages/frontend/src/pages/about-misskey.vue +++ b/packages/frontend/src/pages/about-misskey.vue @@ -22,7 +22,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- {{ i18n.ts._aboutMisskey.about }}
{{ i18n.ts.learnMore }} + {{ i18n.ts._aboutMisskey.about }}
{{ i18n.ts.learnMore }}
I #Misskey @@ -139,73 +139,73 @@ import { $i } from '@/account.js'; const patronsWithIcon = [{ name: 'カイヤン', - icon: 'https://misskey-hub.net/patrons/a2820716883e408cb87773e377ce7c8d.jpg', + icon: 'https://assets.misskey-hub.net/patrons/a2820716883e408cb87773e377ce7c8d.jpg', }, { name: 'だれかさん', - icon: 'https://misskey-hub.net/patrons/f7409b5e5a88477a9b9d740c408de125.jpg', + icon: 'https://assets.misskey-hub.net/patrons/f7409b5e5a88477a9b9d740c408de125.jpg', }, { name: 'narazaka', - icon: 'https://misskey-hub.net/patrons/e3affff31ffb4877b1196c7360abc3e5.jpg', + icon: 'https://assets.misskey-hub.net/patrons/e3affff31ffb4877b1196c7360abc3e5.jpg', }, { name: 'ひとぅ', - icon: 'https://misskey-hub.net/patrons/8cc0d0a0a6d84c88bca1aedabf6ed5ab.jpg', + icon: 'https://assets.misskey-hub.net/patrons/8cc0d0a0a6d84c88bca1aedabf6ed5ab.jpg', }, { name: 'ぱーこ', - icon: 'https://misskey-hub.net/patrons/79c6602ffade489e8df2fcf2c2bc5d9d.jpg', + icon: 'https://assets.misskey-hub.net/patrons/79c6602ffade489e8df2fcf2c2bc5d9d.jpg', }, { name: 'わっほー☆', - icon: 'https://misskey-hub.net/patrons/d31d5d13924443a082f3da7966318a0a.jpg', + icon: 'https://assets.misskey-hub.net/patrons/d31d5d13924443a082f3da7966318a0a.jpg', }, { name: 'mollinaca', - icon: 'https://misskey-hub.net/patrons/ceb36b8f66e549bdadb3b90d5da62314.jpg', + icon: 'https://assets.misskey-hub.net/patrons/ceb36b8f66e549bdadb3b90d5da62314.jpg', }, { name: '坂本龍', - icon: 'https://misskey-hub.net/patrons/a631cf8b490145cf8dbbe4e7508cfbc2.jpg', + icon: 'https://assets.misskey-hub.net/patrons/a631cf8b490145cf8dbbe4e7508cfbc2.jpg', }, { name: 'takke', - icon: 'https://misskey-hub.net/patrons/6c3327e626c046f2914fbcd9f7557935.jpg', + icon: 'https://assets.misskey-hub.net/patrons/6c3327e626c046f2914fbcd9f7557935.jpg', }, { name: 'ぺんぎん', - icon: 'https://misskey-hub.net/patrons/6a652e0534ff4cb1836e7ce4968d76a7.jpg', + icon: 'https://assets.misskey-hub.net/patrons/6a652e0534ff4cb1836e7ce4968d76a7.jpg', }, { name: 'かみらえっと', - icon: 'https://misskey-hub.net/patrons/be1326bda7d940a482f3758ffd9ffaf6.jpg', + icon: 'https://assets.misskey-hub.net/patrons/be1326bda7d940a482f3758ffd9ffaf6.jpg', }, { name: 'へてて', - icon: 'https://misskey-hub.net/patrons/0431eacd7c6843d09de8ea9984307e86.jpg', + icon: 'https://assets.misskey-hub.net/patrons/0431eacd7c6843d09de8ea9984307e86.jpg', }, { name: 'spinlock', - icon: 'https://misskey-hub.net/patrons/6a1cebc819d540a78bf20e9e3115baa8.jpg', + icon: 'https://assets.misskey-hub.net/patrons/6a1cebc819d540a78bf20e9e3115baa8.jpg', }, { name: 'じゅくま', - icon: 'https://misskey-hub.net/patrons/3e56bdac69dd42f7a06e0f12cf2fc895.jpg', + icon: 'https://assets.misskey-hub.net/patrons/3e56bdac69dd42f7a06e0f12cf2fc895.jpg', }, { name: '清遊あみ', - icon: 'https://misskey-hub.net/patrons/de25195b88e940a388388bea2e7637d8.jpg', + icon: 'https://assets.misskey-hub.net/patrons/de25195b88e940a388388bea2e7637d8.jpg', }, { name: 'Nagi8410', - icon: 'https://misskey-hub.net/patrons/31b102ab4fc540ed806b0461575d38be.jpg', + icon: 'https://assets.misskey-hub.net/patrons/31b102ab4fc540ed806b0461575d38be.jpg', }, { name: '山岡士郎', - icon: 'https://misskey-hub.net/patrons/84b9056341684266bb1eda3e680d094d.jpg', + icon: 'https://assets.misskey-hub.net/patrons/84b9056341684266bb1eda3e680d094d.jpg', }, { name: 'よもやまたろう', - icon: 'https://misskey-hub.net/patrons/4273c9cce50d445f8f7d0f16113d6d7f.jpg', + icon: 'https://assets.misskey-hub.net/patrons/4273c9cce50d445f8f7d0f16113d6d7f.jpg', }, { name: '花咲ももか', - icon: 'https://misskey-hub.net/patrons/8c9b2b9128cb4fee99f04bb4f86f2efa.jpg', + icon: 'https://assets.misskey-hub.net/patrons/8c9b2b9128cb4fee99f04bb4f86f2efa.jpg', }, { name: 'カガミ', - icon: 'https://misskey-hub.net/patrons/226ea3a4617749548580ec2d9a263e24.jpg', + icon: 'https://assets.misskey-hub.net/patrons/226ea3a4617749548580ec2d9a263e24.jpg', }, { name: 'フランギ・シュウ', - icon: 'https://misskey-hub.net/patrons/3016d37e35f3430b90420176c912d304.jpg', + icon: 'https://assets.misskey-hub.net/patrons/3016d37e35f3430b90420176c912d304.jpg', }, { name: '百日紅', - icon: 'https://misskey-hub.net/patrons/302dce2898dd457ba03c3f7dc037900b.jpg', + icon: 'https://assets.misskey-hub.net/patrons/302dce2898dd457ba03c3f7dc037900b.jpg', }, { name: 'taichan', - icon: 'https://misskey-hub.net/patrons/f981ab0159fb4e2c998e05f7263e1cd9.png', + icon: 'https://assets.misskey-hub.net/patrons/f981ab0159fb4e2c998e05f7263e1cd9.png', }]; const patrons = [ diff --git a/packages/frontend/src/pages/share.vue b/packages/frontend/src/pages/share.vue index 3e9cac9858..cb5acf3afa 100644 --- a/packages/frontend/src/pages/share.vue +++ b/packages/frontend/src/pages/share.vue @@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue index c2fb4f1cc9..d6297ad7d5 100644 --- a/packages/frontend/src/components/MkNoteSub.vue +++ b/packages/frontend/src/components/MkNoteSub.vue @@ -88,7 +88,7 @@ if (props.detail) { } function noteClick(ev: MouseEvent) { - if (!expandOnNoteClick) ev.stopPropagation(); + if (!expandOnNoteClick || window.getSelection().toString() !== '') ev.stopPropagation(); else router.push(notePage(props.note)); } From 2e30ca3227603a05ce4b9195afc61cf434b094fe Mon Sep 17 00:00:00 2001 From: NoriDev Date: Sat, 23 Dec 2023 00:33:01 +0900 Subject: [PATCH 38/59] fix d6fa889c --- packages/frontend/src/components/MkUrlPreview.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue index b383de6c9b..073ba8f1ec 100644 --- a/packages/frontend/src/components/MkUrlPreview.vue +++ b/packages/frontend/src/components/MkUrlPreview.vue @@ -44,7 +44,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
From 91af424575bd2a96a16aa2115fd61d4b32328a4d Mon Sep 17 00:00:00 2001 From: NoriDev Date: Sat, 23 Dec 2023 00:41:55 +0900 Subject: [PATCH 39/59] =?UTF-8?q?fix(frontend):=20=EB=85=B8=ED=8A=B8=20?= =?UTF-8?q?=ED=81=B4=EB=A6=AD=20=EC=8B=9C=20=EC=9D=BC=EB=B6=80=20=ED=99=98?= =?UTF-8?q?=EA=B2=BD=EC=97=90=EC=84=9C=20=ED=95=98=EC=9D=B4=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=EA=B0=80=20=EB=82=98=ED=83=80=EB=82=A0=20?= =?UTF-8?q?=EC=88=98=20=EC=9E=88=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/components/MkNote.vue | 1 + packages/frontend/src/components/MkNoteSimple.vue | 1 + packages/frontend/src/components/MkNoteSub.vue | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 684fd4dcb7..7ca2b0a79e 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -899,6 +899,7 @@ function emitUpdReaction(emoji: string, delta: number) { .article { position: relative; padding: 28px 32px; + -webkit-tap-highlight-color: transparent; } .colorBar { diff --git a/packages/frontend/src/components/MkNoteSimple.vue b/packages/frontend/src/components/MkNoteSimple.vue index 46a850c2ae..1c574d3e4d 100644 --- a/packages/frontend/src/components/MkNoteSimple.vue +++ b/packages/frontend/src/components/MkNoteSimple.vue @@ -66,6 +66,7 @@ function noteClick(ev: MouseEvent) { margin: 0; padding: 0; font-size: 0.95em; + -webkit-tap-highlight-color: transparent; } .avatar { diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue index d6297ad7d5..d99f527ce2 100644 --- a/packages/frontend/src/components/MkNoteSub.vue +++ b/packages/frontend/src/components/MkNoteSub.vue @@ -139,6 +139,7 @@ function noteClick(ev: MouseEvent) { .body { flex: 1; min-width: 0; + -webkit-tap-highlight-color: transparent; } .header { From 88bf3e58e8d883ea1d8b24bd88cca1561716b786 Mon Sep 17 00:00:00 2001 From: NoriDev Date: Sat, 23 Dec 2023 00:49:11 +0900 Subject: [PATCH 40/59] =?UTF-8?q?fix(frontend):=20=EC=9D=BC=EB=B6=80=20?= =?UTF-8?q?=ED=99=98=EA=B2=BD=EC=97=90=EC=84=9C=20=ED=8A=B9=EC=A0=95=20?= =?UTF-8?q?=EC=98=81=EC=97=AD=EC=97=90=20=EC=8A=A4=ED=81=AC=EB=A1=A4=20?= =?UTF-8?q?=EB=B0=94=EA=B0=80=20=ED=91=9C=EC=8B=9C=EB=90=A0=20=EC=88=98=20?= =?UTF-8?q?=EC=9E=88=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG_CHERRYPICK.md | 1 + packages/frontend/src/components/MkInstanceTicker.vue | 2 +- packages/frontend/src/components/MkNoteDetailed.vue | 4 ++-- packages/frontend/src/components/MkNoteHeader.vue | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG_CHERRYPICK.md b/CHANGELOG_CHERRYPICK.md index 573998c9c5..8f5c5e7743 100644 --- a/CHANGELOG_CHERRYPICK.md +++ b/CHANGELOG_CHERRYPICK.md @@ -74,6 +74,7 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2023xx](CHANGE - Fix: 내 프로필에서 간헐적으로 헤더에 MkFollowButton 컴포넌트가 표시될 수 있음 - Fix: 다이렉트 노트를 리노트 할 수 있음 - Fix: 이모지를 변경할 때 이모지가 ❤️로 고정될 수 있음 +- Fix: 일부 환경에서 특정 영역에 스크롤 바가 표시될 수 있음 ### Server - Enhance: (dev) 개발 모드에서 locale 및 유형 정의가 자동으로 재생성됨 (misskey-dev/misskey#12481) diff --git a/packages/frontend/src/components/MkInstanceTicker.vue b/packages/frontend/src/components/MkInstanceTicker.vue index 6c79fa9db3..2ec5815dbb 100644 --- a/packages/frontend/src/components/MkInstanceTicker.vue +++ b/packages/frontend/src/components/MkInstanceTicker.vue @@ -77,7 +77,7 @@ $height: 2ex; font-size: 0.9em; font-weight: bold; white-space: nowrap; - overflow: scroll; + overflow: hidden; overflow-wrap: anywhere; max-width: 300px; text-overflow: ellipsis; diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 9747c16284..99a81eda97 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -805,7 +805,7 @@ onMounted(() => { font-weight: bold; line-height: 1.3; margin: 0 .5em 0 0; - overflow: scroll; + overflow: hidden; overflow-wrap: anywhere; text-overflow: ellipsis; white-space: nowrap; @@ -839,7 +839,7 @@ onMounted(() => { margin-bottom: 2px; line-height: 1.3; word-wrap: anywhere; - overflow: scroll; + overflow: hidden; overflow-wrap: anywhere; text-overflow: ellipsis; white-space: nowrap; diff --git a/packages/frontend/src/components/MkNoteHeader.vue b/packages/frontend/src/components/MkNoteHeader.vue index 0b944a6893..43ef3382e7 100644 --- a/packages/frontend/src/components/MkNoteHeader.vue +++ b/packages/frontend/src/components/MkNoteHeader.vue @@ -99,7 +99,7 @@ function showOnRemote() { display: block; margin: 0 .5em 0 0; padding: 0; - overflow: scroll; + overflow: hidden; overflow-wrap: anywhere; font-size: 1em; font-weight: bold; @@ -130,7 +130,7 @@ function showOnRemote() { .username { flex-shrink: 9999999; margin: 0 .5em 0 0; - overflow: scroll; + overflow: hidden; text-overflow: ellipsis; font-size: .95em; max-width: 300px; From b3c4f7eddc4d97e15077f1e9041c5abecc184afb Mon Sep 17 00:00:00 2001 From: Nya Candy Date: Sat, 23 Dec 2023 10:00:14 +0800 Subject: [PATCH 41/59] fix: email verify enable logic (#12743) --- packages/backend/src/core/EmailService.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/core/EmailService.ts b/packages/backend/src/core/EmailService.ts index f31cec2b3a..d4508d5313 100644 --- a/packages/backend/src/core/EmailService.ts +++ b/packages/backend/src/core/EmailService.ts @@ -167,18 +167,18 @@ export class EmailService { const verifymailApi = meta.enableVerifymailApi && meta.verifymailAuthKey != null; let validated; - if (meta.enableActiveEmailValidation && meta.verifymailAuthKey) { + if (meta.enableActiveEmailValidation) { if (verifymailApi) { validated = await this.verifyMail(emailAddress, meta.verifymailAuthKey); } else { - validated = meta.enableActiveEmailValidation ? await validateEmail({ + validated = await validateEmail({ email: emailAddress, validateRegex: true, validateMx: true, validateTypo: false, // TLDを見ているみたいだけどclubとか弾かれるので validateDisposable: true, // 捨てアドかどうかチェック validateSMTP: false, // 日本だと25ポートが殆どのプロバイダーで塞がれていてタイムアウトになるので - }) : { valid: true, reason: null }; + }); } } else { validated = { valid: true, reason: null }; From 5b5a537f567a7a2cbce008ac19aaaea372dd4695 Mon Sep 17 00:00:00 2001 From: GrapeApple0 <84321396+GrapeApple0@users.noreply.github.com> Date: Sat, 23 Dec 2023 12:06:22 +0900 Subject: [PATCH 42/59] =?UTF-8?q?feat:=20=E7=99=BB=E9=8C=B2=E3=82=92?= =?UTF-8?q?=E6=8B=92=E5=90=A6=E3=81=99=E3=82=8B=E3=83=A1=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=82=A2=E3=83=89=E3=83=AC=E3=82=B9=E3=81=AE=E3=83=89=E3=83=A1?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=92=E6=89=8B=E5=8B=95=E3=81=A7=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=20(#12740)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 使い捨てアドレスのドメインを手動で設定できるように * Update CHANGELOG.md * disposableEmailDomains -> bannedEmailDomains * isBlockedHostを使うように --- CHANGELOG.md | 1 + locales/index.d.ts | 1 + locales/ja-JP.yml | 1 + .../1703209889304-bannedEmailDomains.js | 18 ++++++++++++++++++ packages/backend/src/core/EmailService.ts | 10 ++++++++-- packages/backend/src/models/Meta.ts | 7 +++++++ .../src/server/api/endpoints/admin/meta.ts | 9 +++++++++ .../server/api/endpoints/admin/update-meta.ts | 5 +++++ .../src/components/MkSignupDialog.form.vue | 4 +++- packages/frontend/src/pages/admin/security.vue | 15 +++++++++++++++ 10 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 packages/backend/migration/1703209889304-bannedEmailDomains.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c21684e77..71a90620e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -94,6 +94,7 @@ - Fix: MFMでルビの中のテキストがnyaizeされない問題を修正 ### Server +- Feat: 使い捨てメールのドメインを手動で設定できるように - Enhance: MFM `$[ruby ]` が他ソフトウェアと連合されるように - Enhance: Meilisearchを有効にした検索で、ユーザーのミュートやブロックを考慮するように - Enhance: カスタム絵文字のインポート時の動作を改善 diff --git a/locales/index.d.ts b/locales/index.d.ts index fd96fd7625..b3589082e1 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -1745,6 +1745,7 @@ export interface Locale { "disposable": string; "mx": string; "smtp": string; + "banned": string; }; "_ffVisibility": { "public": string; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 2c29bd20da..b59fb6e749 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1652,6 +1652,7 @@ _emailUnavailable: disposable: "恒久的に使用可能なアドレスではありません" mx: "正しいメールサーバーではありません" smtp: "メールサーバーが応答しません" + banned: "このメールアドレスでは登録できません" _ffVisibility: public: "公開" diff --git a/packages/backend/migration/1703209889304-bannedEmailDomains.js b/packages/backend/migration/1703209889304-bannedEmailDomains.js new file mode 100644 index 0000000000..5dc99c138f --- /dev/null +++ b/packages/backend/migration/1703209889304-bannedEmailDomains.js @@ -0,0 +1,18 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class bannedEmailDomains1703209889304 { + constructor() { + this.name = 'bannedEmailDomains1703209889304'; + } + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "bannedEmailDomains" character varying(1024) array NOT NULL DEFAULT '{}'`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "bannedEmailDomains"`); + } +} diff --git a/packages/backend/src/core/EmailService.ts b/packages/backend/src/core/EmailService.ts index d4508d5313..6107b9601c 100644 --- a/packages/backend/src/core/EmailService.ts +++ b/packages/backend/src/core/EmailService.ts @@ -9,6 +9,7 @@ import { Inject, Injectable } from '@nestjs/common'; import { validate as validateEmail } from 'deep-email-validator'; import { SubOutputFormat } from 'deep-email-validator/dist/output/output.js'; import { MetaService } from '@/core/MetaService.js'; +import { UtilityService } from '@/core/UtilityService.js'; import { DI } from '@/di-symbols.js'; import type { Config } from '@/config.js'; import type Logger from '@/logger.js'; @@ -30,6 +31,7 @@ export class EmailService { private metaService: MetaService, private loggerService: LoggerService, + private utilityService: UtilityService, private httpRequestService: HttpRequestService, ) { this.logger = this.loggerService.getLogger('email'); @@ -155,7 +157,7 @@ export class EmailService { @bindThis public async validateEmailForAccount(emailAddress: string): Promise<{ available: boolean; - reason: null | 'used' | 'format' | 'disposable' | 'mx' | 'smtp'; + reason: null | 'used' | 'format' | 'disposable' | 'mx' | 'smtp' | 'banned'; }> { const meta = await this.metaService.fetch(); @@ -184,12 +186,16 @@ export class EmailService { validated = { valid: true, reason: null }; } - const available = exist === 0 && validated.valid; + const emailDomain: string = emailAddress.split('@')[1]; + const isBanned = this.utilityService.isBlockedHost(meta.bannedEmailDomains, emailDomain); + + const available = exist === 0 && validated.valid && !isBanned; return { available, reason: available ? null : exist !== 0 ? 'used' : + isBanned ? 'banned' : validated.reason === 'regex' ? 'format' : validated.reason === 'disposable' ? 'disposable' : validated.reason === 'mx' ? 'mx' : diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts index 83e8962f5d..84ca762492 100644 --- a/packages/backend/src/models/Meta.ts +++ b/packages/backend/src/models/Meta.ts @@ -495,6 +495,13 @@ export class MiMeta { }) public manifestJsonOverride: string; + @Column('varchar', { + length: 1024, + array: true, + default: '{}', + }) + public bannedEmailDomains: string[]; + @Column('varchar', { length: 1024, array: true, default: '{ "admin", "administrator", "root", "system", "maintainer", "host", "mod", "moderator", "owner", "superuser", "staff", "auth", "i", "me", "everyone", "all", "mention", "mentions", "example", "user", "users", "account", "accounts", "official", "help", "helps", "support", "supports", "info", "information", "informations", "announce", "announces", "announcement", "announcements", "notice", "notification", "notifications", "dev", "developer", "developers", "tech", "misskey" }', }) diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index 07912154bd..6f8494d1d0 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -145,6 +145,14 @@ export const meta = { type: 'string', }, }, + bannedEmailDomains: { + type: 'array', + optional: true, nullable: false, + items: { + type: 'string', + optional: false, nullable: false, + }, + }, preservedUsernames: { type: 'array', optional: false, nullable: false, @@ -513,6 +521,7 @@ export default class extends Endpoint { // eslint- enableChartsForFederatedInstances: instance.enableChartsForFederatedInstances, enableServerMachineStats: instance.enableServerMachineStats, enableIdenticonGeneration: instance.enableIdenticonGeneration, + bannedEmailDomains: instance.bannedEmailDomains, policies: { ...DEFAULT_POLICIES, ...instance.policies }, manifestJsonOverride: instance.manifestJsonOverride, enableFanoutTimeline: instance.enableFanoutTimeline, diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 293a95a9a4..5f9de0523e 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -122,6 +122,7 @@ export const paramDef = { enableServerMachineStats: { type: 'boolean' }, enableIdenticonGeneration: { type: 'boolean' }, serverRules: { type: 'array', items: { type: 'string' } }, + bannedEmailDomains: { type: 'array', items: { type: 'string' } }, preservedUsernames: { type: 'array', items: { type: 'string' } }, manifestJsonOverride: { type: 'string' }, enableFanoutTimeline: { type: 'boolean' }, @@ -526,6 +527,10 @@ export default class extends Endpoint { // eslint- set.notesPerOneAd = ps.notesPerOneAd; } + if (ps.bannedEmailDomains !== undefined) { + set.bannedEmailDomains = ps.bannedEmailDomains; + } + const before = await this.metaService.fetch(true); await this.metaService.update(set); diff --git a/packages/frontend/src/components/MkSignupDialog.form.vue b/packages/frontend/src/components/MkSignupDialog.form.vue index dd05a44e04..f171e449c8 100644 --- a/packages/frontend/src/components/MkSignupDialog.form.vue +++ b/packages/frontend/src/components/MkSignupDialog.form.vue @@ -38,6 +38,7 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts._emailUnavailable.used }} {{ i18n.ts._emailUnavailable.format }} {{ i18n.ts._emailUnavailable.disposable }} + {{ i18n.ts._emailUnavailable.banned }} {{ i18n.ts._emailUnavailable.mx }} {{ i18n.ts._emailUnavailable.smtp }} {{ i18n.ts.unavailable }} @@ -110,7 +111,7 @@ const retypedPassword = ref(''); const invitationCode = ref(''); const email = ref(''); const usernameState = ref(null); -const emailState = ref(null); +const emailState = ref(null); const passwordStrength = ref<'' | 'low' | 'medium' | 'high'>(''); const passwordRetypeState = ref(null); const submitting = ref(false); @@ -209,6 +210,7 @@ function onChangeEmail(): void { result.reason === 'used' ? 'unavailable:used' : result.reason === 'format' ? 'unavailable:format' : result.reason === 'disposable' ? 'unavailable:disposable' : + result.reason === 'banned' ? 'unavailable:banned' : result.reason === 'mx' ? 'unavailable:mx' : result.reason === 'smtp' ? 'unavailable:smtp' : 'unavailable'; diff --git a/packages/frontend/src/pages/admin/security.vue b/packages/frontend/src/pages/admin/security.vue index 9835591fa8..bda29cee58 100644 --- a/packages/frontend/src/pages/admin/security.vue +++ b/packages/frontend/src/pages/admin/security.vue @@ -83,6 +83,17 @@ SPDX-License-Identifier: AGPL-3.0-only
+ + + +
+ + + + {{ i18n.ts.save }} +
+
+ @@ -124,6 +135,7 @@ import FormSuspense from '@/components/form/suspense.vue'; import MkRange from '@/components/MkRange.vue'; import MkInput from '@/components/MkInput.vue'; import MkButton from '@/components/MkButton.vue'; +import MkTextarea from '@/components/MkTextarea.vue'; import * as os from '@/os.js'; import { fetchInstance } from '@/instance.js'; import { i18n } from '@/i18n.js'; @@ -141,6 +153,7 @@ const enableIpLogging = ref(false); const enableActiveEmailValidation = ref(false); const enableVerifymailApi = ref(false); const verifymailAuthKey = ref(null); +const bannedEmailDomains = ref(''); async function init() { const meta = await os.api('admin/meta'); @@ -161,6 +174,7 @@ async function init() { enableActiveEmailValidation.value = meta.enableActiveEmailValidation; enableVerifymailApi.value = meta.enableVerifymailApi; verifymailAuthKey.value = meta.verifymailAuthKey; + bannedEmailDomains.value = meta.bannedEmailDomains.join('\n'); } function save() { @@ -180,6 +194,7 @@ function save() { enableActiveEmailValidation: enableActiveEmailValidation.value, enableVerifymailApi: enableVerifymailApi.value, verifymailAuthKey: verifymailAuthKey.value, + bannedEmailDomains: bannedEmailDomains.value.split('\n'), }).then(() => { fetchInstance(); }); From 2c7d07bca6a6b6a3390674c5fcc3b618092b2507 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Dec 2023 12:15:10 +0900 Subject: [PATCH 43/59] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71a90620e2..d131077bcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ - Feat: メールアドレスの認証にverifymail.ioを使えるように (cherry-pick from https://github.com/TeamNijimiss/misskey/commit/971ba07a44550f68d2ba31c62066db2d43a0caed) - Feat: モデレーターがユーザーのアイコンもしくはバナー画像を未設定状態にできる機能を追加 (cherry-pick from https://github.com/TeamNijimiss/misskey/commit/e0eb5a752f6e5616d6312bb7c9790302f9dbff83) - Feat: TL上からノートが見えなくなるワードミュートであるハードミュートを追加 +- Enhance: 指定したドメインのメールアドレスの登録を弾くことができるように - Enhance: 公開ロールにアサインされたときに通知が作成されるように - Enhance: アイコンデコレーションを複数設定できるように - Enhance: アイコンデコレーションの位置を微調整できるように @@ -94,7 +95,6 @@ - Fix: MFMでルビの中のテキストがnyaizeされない問題を修正 ### Server -- Feat: 使い捨てメールのドメインを手動で設定できるように - Enhance: MFM `$[ruby ]` が他ソフトウェアと連合されるように - Enhance: Meilisearchを有効にした検索で、ユーザーのミュートやブロックを考慮するように - Enhance: カスタム絵文字のインポート時の動作を改善 From 98734af9a7d9365608a8e84995eb34fdfdfb1dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8A=E3=81=95=E3=82=80=E3=81=AE=E3=81=B2=E3=81=A8?= <46447427+samunohito@users.noreply.github.com> Date: Sat, 23 Dec 2023 14:30:39 +0900 Subject: [PATCH 44/59] =?UTF-8?q?fix:=202023.12.0=E3=81=AENote=E3=81=AE?= =?UTF-8?q?=E4=B8=80=E9=83=A8=E6=96=87=E8=A8=80=E3=82=92=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=20(#12754)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d131077bcb..0f864acfee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,12 +20,12 @@ - 絵文字ピッカーにピン留め表示する絵文字設定が「リアクション用」と「絵文字入力用」に分かれました。以前の設定は「リアクション用」として使用されます。 **影響:** - それにより、投稿フォームから表示される絵文字ピッカーのピン留め絵文字がリセットされたように感じるかもしれません(新設された投稿用のピン留め絵文字が使われるため)。 + それにより、投稿フォームから表示される絵文字ピッカーのピン留め絵文字がリセットされたように感じるかもしれません(新設された"ピン留め(全般)"の設定が使われるため)。 投稿用のピン留め絵文字をアップデート前の状態にするには、以下の手順で操作します。 1. 「設定」メニューに移動し、「絵文字ピッカー」タブを選択します。 2. 「ピン留 (全般)」のタブを選択します。 - 3. 「リアクション設定からコピーする」ボタンを押すことで、アップデート前の状態に戻すことができます。 + 3. 「リアクション設定から上書きする」ボタンを押すことで、アップデート前の状態に戻すことができます。 ### General - Feat: メールアドレスの認証にverifymail.ioを使えるように (cherry-pick from https://github.com/TeamNijimiss/misskey/commit/971ba07a44550f68d2ba31c62066db2d43a0caed) From 6e4894c1656d283906b679866923fddab2b146bf Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Dec 2023 14:39:01 +0900 Subject: [PATCH 45/59] lint --- packages/backend/src/core/EmailService.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/backend/src/core/EmailService.ts b/packages/backend/src/core/EmailService.ts index 6107b9601c..3a61e353f1 100644 --- a/packages/backend/src/core/EmailService.ts +++ b/packages/backend/src/core/EmailService.ts @@ -166,11 +166,10 @@ export class EmailService { email: emailAddress, }); - const verifymailApi = meta.enableVerifymailApi && meta.verifymailAuthKey != null; let validated; if (meta.enableActiveEmailValidation) { - if (verifymailApi) { + if (meta.enableVerifymailApi && meta.verifymailAuthKey != null) { validated = await this.verifyMail(emailAddress, meta.verifymailAuthKey); } else { validated = await validateEmail({ From 1716c6562c86c20aaba734b427913fc6a6abd67c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8A=E3=81=95=E3=82=80=E3=81=AE=E3=81=B2=E3=81=A8?= <46447427+samunohito@users.noreply.github.com> Date: Sat, 23 Dec 2023 15:32:31 +0900 Subject: [PATCH 46/59] =?UTF-8?q?fix:=20.npmrc=E3=81=AB=E3=82=88=E3=82=8Ap?= =?UTF-8?q?ackage.json=E8=A8=98=E8=BC=89=E3=81=AEnode=E3=83=90=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=83=A7=E3=83=B3=E3=81=AB=E6=BA=80=E3=81=9F=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=A0=B4=E5=90=88=E3=81=AF=E3=83=93=E3=83=AB=E3=83=89?= =?UTF-8?q?=E3=81=AB=E5=A4=B1=E6=95=97=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E3=81=99=E3=82=8B=20(#12755)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .npmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000000..c42da845b4 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict = true From 30cf5c3ab09717829a2e49a6afe14fe6478140dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9A=90=E6=9C=88=E3=81=AA=E3=81=B5=20=28Nafu=20Satsuki?= =?UTF-8?q?=29?= Date: Sat, 23 Dec 2023 15:32:53 +0900 Subject: [PATCH 47/59] =?UTF-8?q?chore(frontend):=20API=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E9=A0=85=E7=9B=AE=E3=81=AE=E5=90=8D=E5=89=8D=E3=82=92=E3=81=8D?= =?UTF-8?q?=E3=81=A1=E3=82=93=E3=81=A8=E3=82=B5=E3=83=BC=E3=83=93=E3=82=B9?= =?UTF-8?q?=E3=81=AE=E5=90=8D=E5=89=8D=E3=81=A7=E8=A1=A8=E8=A8=98=E3=81=99?= =?UTF-8?q?=E3=82=8B=20(#12753)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/pages/admin/security.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/pages/admin/security.vue b/packages/frontend/src/pages/admin/security.vue index bda29cee58..7070157ca9 100644 --- a/packages/frontend/src/pages/admin/security.vue +++ b/packages/frontend/src/pages/admin/security.vue @@ -74,11 +74,11 @@ SPDX-License-Identifier: AGPL-3.0-only - + - +
From 59b47b862340f772a51e5d8e8cbaab5f1c4e53f5 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Dec 2023 16:40:31 +0900 Subject: [PATCH 48/59] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f864acfee..c7afb101db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ ## 2023.12.0 ### Note -- Node.js 20.10.0が最小要件になりました +- 依存関係の更新に伴い、Node.js 20.10.0が最小要件になりました - 絵文字の追加辞書を既にインストールしている場合は、お手数ですが再インストールのほどお願いします - 絵文字ピッカーにピン留め表示する絵文字設定が「リアクション用」と「絵文字入力用」に分かれました。以前の設定は「リアクション用」として使用されます。 From 8caf2b0a4ac771d4568f1549bdce850de2af7777 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Dec 2023 16:43:06 +0900 Subject: [PATCH 49/59] New Crowdin updates (#12748) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Chinese Traditional) --- locales/fr-FR.yml | 1 + locales/ko-KR.yml | 1 + locales/zh-TW.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index e12b508617..43cc1d45b6 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -1917,6 +1917,7 @@ _notification: pollEnded: "Sondages se cloturant" receiveFollowRequest: "Demande d'abonnement reçue" followRequestAccepted: "Demande d'abonnement acceptée" + roleAssigned: "Rôle reçu" achievementEarned: "Accomplissement" app: "Notifications provenant des apps" _actions: diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index d8efa7f04e..6cdcc2c246 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -2193,6 +2193,7 @@ _notification: pollEnded: "투표가 종료됨" receiveFollowRequest: "팔로우 요청을 받았을 때" followRequestAccepted: "팔로우 요청이 승인되었을 때" + roleAssigned: "역할이 부여 됨" achievementEarned: "도전 과제 획득" app: "연동된 앱을 통한 알림" _actions: diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index d05691d42e..51ba42e66c 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -2193,6 +2193,7 @@ _notification: pollEnded: "問卷調查結束" receiveFollowRequest: "已收到追隨請求" followRequestAccepted: "追隨請求已接受" + roleAssigned: "已授予角色" achievementEarned: "獲得成就" app: "應用程式通知" _actions: From f43599552fb5764aa3121b083e441d3946c72cd8 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Dec 2023 17:54:29 +0900 Subject: [PATCH 50/59] =?UTF-8?q?fix(backend):=20renote=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E3=81=8C=E3=81=8A=E3=81=8B=E3=81=97=E3=81=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/backend/src/core/NoteCreateService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index 54493612b8..c4fc51847b 100644 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -293,7 +293,7 @@ export class NoteCreateService implements OnApplicationShutdown { } // Check blocking - if (this.isQuote(data)) { + if (data.renote && data.text == null && data.poll == null && (data.files == null || data.files.length === 0)) { if (data.renote.userHost === null) { if (data.renote.userId !== user.id) { const blocked = await this.userBlockingService.checkBlocked(data.renote.userId, user.id); From e852f4b60d48edc5b28e6db104ca6a88dd678740 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Dec 2023 17:55:27 +0900 Subject: [PATCH 51/59] =?UTF-8?q?Revert=20"fix(backend):=20renote=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E3=81=8C=E3=81=8A=E3=81=8B=E3=81=97=E3=81=84"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit f43599552fb5764aa3121b083e441d3946c72cd8. --- packages/backend/src/core/NoteCreateService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index c4fc51847b..54493612b8 100644 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -293,7 +293,7 @@ export class NoteCreateService implements OnApplicationShutdown { } // Check blocking - if (data.renote && data.text == null && data.poll == null && (data.files == null || data.files.length === 0)) { + if (this.isQuote(data)) { if (data.renote.userHost === null) { if (data.renote.userId !== user.id) { const blocked = await this.userBlockingService.checkBlocked(data.renote.userId, user.id); From 2f425aa03f705bc886711bc3b61f6fdd5f014f0b Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Sat, 23 Dec 2023 17:55:34 +0900 Subject: [PATCH 52/59] =?UTF-8?q?fix:=20=E3=83=96=E3=83=AD=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=81=95=E3=82=8C=E3=81=A6=E3=81=A6=E3=82=82pure=20RN?= =?UTF-8?q?=E3=81=A7=E3=81=8D=E3=82=8B=20(#12758)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit なぜかわからないけど元々Quoteはできるようなのでそれに戻しました --- packages/backend/src/core/NoteCreateService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index 54493612b8..2bdff872ad 100644 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -293,7 +293,7 @@ export class NoteCreateService implements OnApplicationShutdown { } // Check blocking - if (this.isQuote(data)) { + if (data.renote && !this.isQuote(data)) { if (data.renote.userHost === null) { if (data.renote.userId !== user.id) { const blocked = await this.userBlockingService.checkBlocked(data.renote.userId, user.id); From 471c8ec0509741cd1c813535aa0e751f85b64a7c Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Dec 2023 19:59:27 +0900 Subject: [PATCH 53/59] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7afb101db..ac31bc0d28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -73,6 +73,7 @@ - Enhance: チャンネルに新規の投稿がある場合にバッジを表示させる - Enhance: サウンド設定に「サウンドを出力しない」と「Misskeyがアクティブな時のみサウンドを出力する」を追加 - Enhance: 設定したタグをトレンドに表示させないようにする項目を管理画面で設定できるように +- Enhance: 絵文字ピッカーのカテゴリに「/」を入れることでフォルダ分け表示できるように - Fix: 「設定のバックアップ」で一部の項目がバックアップに含まれていなかった問題を修正 - Fix: ウィジェットのジョブキューにて音声の発音方法変更に追従できていなかったのを修正 #12367 - Fix: コードエディタが正しく表示されない問題を修正 @@ -243,7 +244,6 @@ ### Client - Enhance: TLの返信表示オプションを記憶するように - Enhance: 投稿されてから時間が経過しているノートであることを視覚的に分かりやすく -- Feat: 絵文字ピッカーのカテゴリに「/」を入れることでフォルダ分け表示できるように ### Server - Enhance: タイムライン取得時のパフォーマンスを向上 From 4099be5aef17a91a9d0132186ce8ccdbfaca40ba Mon Sep 17 00:00:00 2001 From: NoriDev Date: Sat, 23 Dec 2023 20:50:52 +0900 Subject: [PATCH 54/59] =?UTF-8?q?fix(frontend):=20=EC=9D=BC=EB=B6=80=20?= =?UTF-8?q?=EA=B2=80=EC=83=89=20=ED=8E=98=EC=9D=B4=EC=A7=80=EC=97=90?= =?UTF-8?q?=EC=84=9C=20Enter=20=ED=82=A4=EB=A5=BC=20=EB=88=8C=EB=9F=AC=20?= =?UTF-8?q?=EA=B2=80=EC=83=89=ED=95=A0=20=EC=88=98=20=EC=97=86=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG_CHERRYPICK.md | 1 + packages/frontend/src/pages/channel.vue | 2 +- packages/frontend/src/pages/channels.vue | 2 +- packages/frontend/src/pages/search.event.vue | 18 ++++++------------ packages/frontend/src/pages/search.note.vue | 8 +------- packages/frontend/src/pages/search.user.vue | 8 +------- 6 files changed, 11 insertions(+), 28 deletions(-) diff --git a/CHANGELOG_CHERRYPICK.md b/CHANGELOG_CHERRYPICK.md index 8f5c5e7743..1b3ec9afa0 100644 --- a/CHANGELOG_CHERRYPICK.md +++ b/CHANGELOG_CHERRYPICK.md @@ -75,6 +75,7 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2023xx](CHANGE - Fix: 다이렉트 노트를 리노트 할 수 있음 - Fix: 이모지를 변경할 때 이모지가 ❤️로 고정될 수 있음 - Fix: 일부 환경에서 특정 영역에 스크롤 바가 표시될 수 있음 +- Fix: 일부 검색 페이지에서 Enter 키를 눌러 검색할 수 없음 ### Server - Enhance: (dev) 개발 모드에서 locale 및 유형 정의가 자동으로 재생성됨 (misskey-dev/misskey#12481) diff --git a/packages/frontend/src/pages/channel.vue b/packages/frontend/src/pages/channel.vue index 908c02c3eb..2276e03354 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
- + {{ i18n.ts.search }} diff --git a/packages/frontend/src/pages/channels.vue b/packages/frontend/src/pages/channels.vue index db2eccc812..15067e8662 100644 --- a/packages/frontend/src/pages/channels.vue +++ b/packages/frontend/src/pages/channels.vue @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- + diff --git a/packages/frontend/src/pages/search.event.vue b/packages/frontend/src/pages/search.event.vue index 7c1a8006ca..ad620f23d8 100644 --- a/packages/frontend/src/pages/search.event.vue +++ b/packages/frontend/src/pages/search.event.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only