diff --git a/locales/en-US.yml b/locales/en-US.yml index e5f9cfa19..bbb9ecc10 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1279,6 +1279,7 @@ noteOfThisUser: "Notes by this user" clipNoteLimitExceeded: "No more notes can be added to this clip." timeTravel: "Time Travel" timeTravelDescription: "Show posts before this date." +autoTranslateButton: "Display translation function on posts in different languages" performance: "Performance" modified: "Modified" discard: "Discard" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index d9e8a7fe4..ab3b092e8 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -1288,6 +1288,7 @@ passkeyVerificationFailed: "验证通行密钥失败。" passkeyVerificationSucceededButPasswordlessLoginDisabled: "通行密钥验证成功,但账户未开启无密码登录。" timeTravel: "时光机" timeTravelDescription: "显示该日期以前的帖子" +autoTranslateButton: "在不同语言的帖文上显示翻译功能" messageToFollower: "给关注者的消息" target: "对象" testCaptchaWarning: "此功能为测试 CAPTCHA 用。请勿在正式环境中使用。" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index 7559c5a91..ca0ee987f 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -1288,6 +1288,7 @@ passkeyVerificationFailed: "驗證金鑰失敗。" passkeyVerificationSucceededButPasswordlessLoginDisabled: "雖然驗證金鑰成功,但是無密碼登入的方式是停用的。" timeTravel: "時光機" timeTravelDescription: "回到指定的日期" +autoTranslateButton: "在不同語言的帖文上顯示翻譯功能" messageToFollower: "給追隨者的訊息" target: "目標 " testCaptchaWarning: "此功能用於 CAPTCHA 的測試。請勿在正式環境中使用。" diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index e02c4de5e..fa92346da 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -80,7 +80,7 @@ SPDX-License-Identifier: AGPL-3.0-only :enableEmojiMenu="true" :enableEmojiMenuReaction="true" /> -
+
diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index d655d38e1..1ef6cc9e8 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -92,7 +92,7 @@ SPDX-License-Identifier: AGPL-3.0-only :enableEmojiMenuReaction="true" /> RN: -
+
diff --git a/packages/frontend/src/pages/settings/index.vue b/packages/frontend/src/pages/settings/index.vue index 96a95f163..44354ed34 100644 --- a/packages/frontend/src/pages/settings/index.vue +++ b/packages/frontend/src/pages/settings/index.vue @@ -130,6 +130,11 @@ const menuDef = computed(() => [{ text: i18n.ts.plugins, to: '/settings/plugin', active: currentPage.value?.route.name === 'plugin', + }, { + icon: 'ti ti-light-bulb', + text: 'Pari Cafe', + to: '/settings/pari', + active: currentPage.value?.route.name === 'pari', }], }, { title: i18n.ts.otherSettings, diff --git a/packages/frontend/src/pages/settings/pari.vue b/packages/frontend/src/pages/settings/pari.vue new file mode 100644 index 000000000..edc993b56 --- /dev/null +++ b/packages/frontend/src/pages/settings/pari.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index da2a70a77..c35884975 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -503,6 +503,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'device', default: { type: 'syuilo/bubble1', volume: 1 } as SoundStore, }, + autoTranslateButton: { + where: 'device', + default: true, + }, })); // TODO: 他のタブと永続化されたstateを同期