From fc56b1269084f4556e2a03f6dd3ffd893a5e0063 Mon Sep 17 00:00:00 2001 From: tamaina Date: Fri, 20 Aug 2021 19:38:16 +0900 Subject: [PATCH 001/336] =?UTF-8?q?refactor:=20localStorage=E3=81=AEaccoun?= =?UTF-8?q?ts=E3=81=AFindexedDB=E3=81=A7=E4=BF=9D=E6=8C=81=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=20(#7609)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * accountsストアはindexedDBで保持するように * fix lint * fix indexeddb available detection * remove debugging code * fix lint * resolve https://github.com/misskey-dev/misskey/pull/7609/files/ba756204b77ce6e1189b8443e9641f2d02119621#diff-f565878e8202f0037b830c780b7c0932dc1bb5fd3d05ede14d72d10efbc3740c Firefoxでの動作を改善 * fix lint * fix lint * add changelog --- CHANGELOG.md | 1 + src/client/account.ts | 57 +++++++++++++++++------ src/client/init.ts | 9 ++++ src/client/pages/settings/accounts.vue | 10 ++-- src/client/scripts/get-account-from-id.ts | 7 +++ src/client/scripts/idb-proxy.ts | 38 +++++++++++++++ src/client/ui/_common_/sidebar.vue | 6 +-- src/client/ui/default.header.vue | 6 +-- src/client/ui/default.sidebar.vue | 6 +-- 9 files changed, 112 insertions(+), 28 deletions(-) create mode 100644 src/client/scripts/get-account-from-id.ts create mode 100644 src/client/scripts/idb-proxy.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 159de1dea4..88dc308f0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ ### Improvements - 依存関係の更新 +- localStorageのaccountsはindexedDBで保持するように ### Bugfixes - チャンネルを作成しているとアカウントを削除できないのを修正 diff --git a/src/client/account.ts b/src/client/account.ts index 2b860b3ddf..cf52c4d828 100644 --- a/src/client/account.ts +++ b/src/client/account.ts @@ -1,7 +1,8 @@ +import { get, set } from '@client/scripts/idb-proxy'; import { reactive } from 'vue'; import { apiUrl } from '@client/config'; import { waiting } from '@client/os'; -import { unisonReload } from '@client/scripts/unison-reload'; +import { unisonReload, reloadChannel } from '@client/scripts/unison-reload'; // TODO: 他のタブと永続化されたstateを同期 @@ -17,22 +18,43 @@ const data = localStorage.getItem('account'); // TODO: 外部からはreadonlyに export const $i = data ? reactive(JSON.parse(data) as Account) : null; -export function signout() { +export async function signout() { + waiting(); localStorage.removeItem('account'); + + //#region Remove account + const accounts = await getAccounts(); + accounts.splice(accounts.findIndex(x => x.id === $i.id), 1); + set('accounts', accounts); + //#endregion + + //#region Remove push notification registration + const registration = await navigator.serviceWorker.ready; + const push = await registration.pushManager.getSubscription(); + if (!push) return; + await fetch(`${apiUrl}/sw/unregister`, { + method: 'POST', + body: JSON.stringify({ + i: $i.token, + endpoint: push.endpoint, + }), + }); + //#endregion + document.cookie = `igi=; path=/`; - location.href = '/'; + + if (accounts.length > 0) login(accounts[0].token); + else unisonReload(); } -export function getAccounts() { - const accountsData = localStorage.getItem('accounts'); - const accounts: { id: Account['id'], token: Account['token'] }[] = accountsData ? JSON.parse(accountsData) : []; - return accounts; +export async function getAccounts(): Promise<{ id: Account['id'], token: Account['token'] }[]> { + return (await get('accounts')) || []; } -export function addAccount(id: Account['id'], token: Account['token']) { - const accounts = getAccounts(); +export async function addAccount(id: Account['id'], token: Account['token']) { + const accounts = await getAccounts(); if (!accounts.some(x => x.id === id)) { - localStorage.setItem('accounts', JSON.stringify(accounts.concat([{ id, token }]))); + await set('accounts', accounts.concat([{ id, token }])); } } @@ -47,7 +69,7 @@ function fetchAccount(token): Promise { }) .then(res => { // When failed to authenticate user - if (res.status >= 400 && res.status < 500) { + if (res.status !== 200 && res.status < 500) { return signout(); } @@ -69,15 +91,22 @@ export function updateAccount(data) { } export function refreshAccount() { - fetchAccount($i.token).then(updateAccount); + return fetchAccount($i.token).then(updateAccount); } -export async function login(token: Account['token']) { +export async function login(token: Account['token'], redirect?: string) { waiting(); if (_DEV_) console.log('logging as token ', token); const me = await fetchAccount(token); localStorage.setItem('account', JSON.stringify(me)); - addAccount(me.id, token); + await addAccount(me.id, token); + + if (redirect) { + reloadChannel.postMessage('reload'); + location.href = redirect; + return; + } + unisonReload(); } diff --git a/src/client/init.ts b/src/client/init.ts index 1580ef3e08..0313af4374 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -4,6 +4,15 @@ import '@client/style.scss'; +//#region account indexedDB migration +import { set } from '@client/scripts/idb-proxy'; + +if (localStorage.getItem('accounts') != null) { + set('accounts', JSON.parse(localStorage.getItem('accounts'))); + localStorage.removeItem('accounts'); +} +//#endregion + import * as Sentry from '@sentry/browser'; import { Integrations } from '@sentry/tracing'; import { computed, createApp, watch, markRaw } from 'vue'; diff --git a/src/client/pages/settings/accounts.vue b/src/client/pages/settings/accounts.vue index 53e28bdf6f..ca6f53776a 100644 --- a/src/client/pages/settings/accounts.vue +++ b/src/client/pages/settings/accounts.vue @@ -48,10 +48,10 @@ export default defineComponent({ title: this.$ts.accounts, icon: 'fas fa-users', }, - storedAccounts: getAccounts().filter(x => x.id !== this.$i.id), + storedAccounts: getAccounts().then(accounts => accounts.filter(x => x.id !== this.$i.id)), accounts: null, - init: () => os.api('users/show', { - userIds: this.storedAccounts.map(x => x.id) + init: async () => os.api('users/show', { + userIds: (await this.storedAccounts).map(x => x.id) }).then(accounts => { this.accounts = accounts; }), @@ -104,8 +104,8 @@ export default defineComponent({ }, 'closed'); }, - switchAccount(account: any) { - const storedAccounts = getAccounts(); + async switchAccount(account: any) { + const storedAccounts = await getAccounts(); const token = storedAccounts.find(x => x.id === account.id).token; this.switchAccountWithToken(token); }, diff --git a/src/client/scripts/get-account-from-id.ts b/src/client/scripts/get-account-from-id.ts new file mode 100644 index 0000000000..065b41118c --- /dev/null +++ b/src/client/scripts/get-account-from-id.ts @@ -0,0 +1,7 @@ +import { get } from '@client/scripts/idb-proxy'; + +export async function getAccountFromId(id: string) { + const accounts = await get('accounts') as { token: string; id: string; }[]; + if (!accounts) console.log('Accounts are not recorded'); + return accounts.find(e => e.id === id); +} diff --git a/src/client/scripts/idb-proxy.ts b/src/client/scripts/idb-proxy.ts new file mode 100644 index 0000000000..21c4dcff65 --- /dev/null +++ b/src/client/scripts/idb-proxy.ts @@ -0,0 +1,38 @@ +// FirefoxのプライベートモードなどではindexedDBが使用不可能なので、 +// indexedDBが使えない環境ではlocalStorageを使う +import { + get as iget, + set as iset, + del as idel, + createStore, +} from 'idb-keyval'; + +const fallbackName = (key: string) => `idbfallback::${key}`; + +let idbAvailable = typeof window !== 'undefined' ? !!window.indexedDB : true; + +if (idbAvailable) { + try { + await createStore('keyval-store', 'keyval'); + } catch (e) { + console.error('idb open error', e); + idbAvailable = false; + } +} + +if (!idbAvailable) console.error('indexedDB is unavailable. It will use localStorage.'); + +export async function get(key: string) { + if (idbAvailable) return iget(key); + return JSON.parse(localStorage.getItem(fallbackName(key))); +} + +export async function set(key: string, val: any) { + if (idbAvailable) return iset(key, val); + return localStorage.setItem(fallbackName(key), JSON.stringify(val)); +} + +export async function del(key: string) { + if (idbAvailable) return idel(key); + return localStorage.removeItem(fallbackName(key)); +} diff --git a/src/client/ui/_common_/sidebar.vue b/src/client/ui/_common_/sidebar.vue index b7b88faeac..333d0ac392 100644 --- a/src/client/ui/_common_/sidebar.vue +++ b/src/client/ui/_common_/sidebar.vue @@ -135,7 +135,7 @@ export default defineComponent({ }, async openAccountMenu(ev) { - const storedAccounts = getAccounts().filter(x => x.id !== this.$i.id); + const storedAccounts = await getAccounts().then(accounts => accounts.filter(x => x.id !== this.$i.id)); const accountsPromise = os.api('users/show', { userIds: storedAccounts.map(x => x.id) }); const accountItemPromises = storedAccounts.map(a => new Promise(res => { @@ -195,8 +195,8 @@ export default defineComponent({ }, 'closed'); }, - switchAccount(account: any) { - const storedAccounts = getAccounts(); + async switchAccount(account: any) { + const storedAccounts = await getAccounts(); const token = storedAccounts.find(x => x.id === account.id).token; this.switchAccountWithToken(token); }, diff --git a/src/client/ui/default.header.vue b/src/client/ui/default.header.vue index df2e99f13a..6fbdd625c7 100644 --- a/src/client/ui/default.header.vue +++ b/src/client/ui/default.header.vue @@ -101,7 +101,7 @@ export default defineComponent({ }, async openAccountMenu(ev) { - const storedAccounts = getAccounts().filter(x => x.id !== this.$i.id); + const storedAccounts = await getAccounts().then(accounts => accounts.filter(x => x.id !== this.$i.id)); const accountsPromise = os.api('users/show', { userIds: storedAccounts.map(x => x.id) }); const accountItemPromises = storedAccounts.map(a => new Promise(res => { @@ -161,8 +161,8 @@ export default defineComponent({ }, 'closed'); }, - switchAccount(account: any) { - const storedAccounts = getAccounts(); + async switchAccount(account: any) { + const storedAccounts = await getAccounts(); const token = storedAccounts.find(x => x.id === account.id).token; this.switchAccountWithToken(token); }, diff --git a/src/client/ui/default.sidebar.vue b/src/client/ui/default.sidebar.vue index b500ab582c..be907aa2a4 100644 --- a/src/client/ui/default.sidebar.vue +++ b/src/client/ui/default.sidebar.vue @@ -121,7 +121,7 @@ export default defineComponent({ }, async openAccountMenu(ev) { - const storedAccounts = getAccounts().filter(x => x.id !== this.$i.id); + const storedAccounts = await getAccounts().then(accounts => accounts.filter(x => x.id !== this.$i.id)); const accountsPromise = os.api('users/show', { userIds: storedAccounts.map(x => x.id) }); const accountItemPromises = storedAccounts.map(a => new Promise(res => { @@ -181,8 +181,8 @@ export default defineComponent({ }, 'closed'); }, - switchAccount(account: any) { - const storedAccounts = getAccounts(); + async switchAccount(account: any) { + const storedAccounts = await getAccounts(); const token = storedAccounts.find(x => x.id === account.id).token; this.switchAccountWithToken(token); }, From 75b9f31acf75899a5ca95bdeae9fd0a368626fdf Mon Sep 17 00:00:00 2001 From: tamaina Date: Fri, 20 Aug 2021 20:18:24 +0900 Subject: [PATCH 002/336] fix: import syslog-pro --- src/services/logger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/logger.ts b/src/services/logger.ts index 032e43c9ca..229be891e1 100644 --- a/src/services/logger.ts +++ b/src/services/logger.ts @@ -8,7 +8,7 @@ import { Log } from '@/models/entities/log'; import { genId } from '@/misc/gen-id'; import config from '@/config/index'; -import SyslogPro from 'syslog-pro'; +import * as SyslogPro from 'syslog-pro'; type Domain = { name: string; From 1ffee15b8361d532f48f9f0a8d18789765e4ef0e Mon Sep 17 00:00:00 2001 From: Johann150 Date: Fri, 20 Aug 2021 13:55:12 +0200 Subject: [PATCH 003/336] fix: use correct query generate function (#7657) Co-authored-by: syuilo --- src/server/api/endpoints/users.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/api/endpoints/users.ts b/src/server/api/endpoints/users.ts index 130ae30244..930dcc7616 100644 --- a/src/server/api/endpoints/users.ts +++ b/src/server/api/endpoints/users.ts @@ -2,7 +2,7 @@ import $ from 'cafy'; import define from '../define'; import { Users } from '@/models/index'; import { generateMutedUserQueryForUsers } from '../common/generate-muted-user-query'; -import { generateBlockedUserQuery } from '../common/generate-block-query'; +import { generateBlockQueryForUsers } from '../common/generate-block-query'; export const meta = { tags: ['users'], @@ -90,7 +90,7 @@ export default define(meta, async (ps, me) => { } if (me) generateMutedUserQueryForUsers(query, me); - if (me) generateBlockedUserQuery(query, me); + if (me) generateBlockQueryForUsers(query, me); query.take(ps.limit!); query.skip(ps.offset); From 3cb5ed167af31782acecbc2ccbc2e7a89ba6d633 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 20 Aug 2021 21:34:56 +0900 Subject: [PATCH 004/336] =?UTF-8?q?fix:=20meta.json=E3=82=92import?= =?UTF-8?q?=E3=81=97=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #7671 --- CONTRIBUTING.md | 3 +++ src/boot/master.ts | 10 +++++++++- src/config/load.ts | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b16d9a75d8..b3c67ff4d7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -250,6 +250,9 @@ npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 ### コネクションには`markRaw`せよ **Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。 +### JSONのimportに気を付けよう +TypeScriptでjsonをimportすると、tscでコンパイルするときにそのjsonファイルも一緒にdistディレクトリに吐き出されてしまう。この挙動により、意図せずファイルの書き換えが発生することがあるので、jsonをimportするときは書き換えられても良いものかどうか確認すること。書き換えされて欲しくない場合は、importで読み込むのではなく、`fs.readFileSync`などの関数を使って読み込むようにすればよい。 + ## その他 ### HTMLのクラス名で follow という単語は使わない 広告ブロッカーで誤ってブロックされる diff --git a/src/boot/master.ts b/src/boot/master.ts index 03a28c339b..d9cc7c16be 100644 --- a/src/boot/master.ts +++ b/src/boot/master.ts @@ -1,3 +1,6 @@ +import * as fs from 'fs'; +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; import * as os from 'os'; import * as cluster from 'cluster'; import * as chalk from 'chalk'; @@ -11,7 +14,12 @@ import { lessThan } from '@/prelude/array'; import { program } from '../argv'; import { showMachineInfo } from '@/misc/show-machine-info'; import { initDb } from '../db/postgre'; -import * as meta from '../meta.json'; + +//const _filename = fileURLToPath(import.meta.url); +const _filename = __filename; +const _dirname = dirname(_filename); + +const meta = JSON.parse(fs.readFileSync(`${_dirname}/../meta.json`, 'utf-8')); const logger = new Logger('core', 'cyan'); const bootLogger = logger.createSubLogger('boot', 'magenta', false); diff --git a/src/config/load.ts b/src/config/load.ts index 6a1cf60a41..c7965e6c41 100644 --- a/src/config/load.ts +++ b/src/config/load.ts @@ -7,7 +7,6 @@ import { fileURLToPath } from 'url'; import { dirname } from 'path'; import * as yaml from 'js-yaml'; import { Source, Mixin } from './types'; -import * as meta from '../meta.json'; //const _filename = fileURLToPath(import.meta.url); const _filename = __filename; @@ -26,6 +25,7 @@ const path = process.env.NODE_ENV === 'test' : `${dir}/default.yml`; export default function load() { + const meta = JSON.parse(fs.readFileSync(`${_dirname}/../meta.json`, 'utf-8')); const config = yaml.load(fs.readFileSync(path, 'utf-8')) as Source; const mixin = {} as Mixin; From 0e690914554802587db735947771203e16e59346 Mon Sep 17 00:00:00 2001 From: tamaina Date: Fri, 20 Aug 2021 21:40:45 +0900 Subject: [PATCH 005/336] doc: add features/word-mute (#7672) --- src/docs/ja-JP/features/word-mute.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/docs/ja-JP/features/word-mute.md diff --git a/src/docs/ja-JP/features/word-mute.md b/src/docs/ja-JP/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/ja-JP/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 From bb2db1cf76a94af9133017897db5e4952b0d1532 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Fri, 20 Aug 2021 21:59:03 +0900 Subject: [PATCH 006/336] perf: Tune AP job queue timings (#7635) * perf: Tune AP job queue timings * CHANGELOG * chore: add reference Co-authored-by: syuilo --- CHANGELOG.md | 1 + src/queue/index.ts | 6 ++---- src/queue/initialize.ts | 21 ++++++++++++++++++--- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88dc308f0e..47372dda56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ ### Improvements - 依存関係の更新 - localStorageのaccountsはindexedDBで保持するように +- ActivityPub: ジョブキューの試行タイミングを調整 (#7635) ### Bugfixes - チャンネルを作成しているとアカウントを削除できないのを修正 diff --git a/src/queue/index.ts b/src/queue/index.ts index 2facd9c8e1..ff96c0fb15 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -73,8 +73,7 @@ export function deliver(user: ThinUser, content: unknown, to: string | null) { attempts: config.deliverJobMaxAttempts || 12, timeout: 1 * 60 * 1000, // 1min backoff: { - type: 'exponential', - delay: 60 * 1000 + type: 'apBackoff' }, removeOnComplete: true, removeOnFail: true @@ -91,8 +90,7 @@ export function inbox(activity: IActivity, signature: httpSignature.IParsedSigna attempts: config.inboxJobMaxAttempts || 8, timeout: 5 * 60 * 1000, // 5min backoff: { - type: 'exponential', - delay: 60 * 1000 + type: 'apBackoff' }, removeOnComplete: true, removeOnFail: true diff --git a/src/queue/initialize.ts b/src/queue/initialize.ts index 5fe5a9f6f3..31102a3ed2 100644 --- a/src/queue/initialize.ts +++ b/src/queue/initialize.ts @@ -11,8 +11,23 @@ export function initialize(name: string, limitPerSec = -1) { }, prefix: config.redis.prefix ? `${config.redis.prefix}:queue` : 'queue', limiter: limitPerSec > 0 ? { - max: limitPerSec * 5, - duration: 5000 - } : undefined + max: limitPerSec, + duration: 1000 + } : undefined, + settings: { + backoffStrategies: { + apBackoff + } + } }); } + +// ref. https://github.com/misskey-dev/misskey/pull/7635#issue-971097019 +function apBackoff(attemptsMade: number, err: Error) { + const baseDelay = 60 * 1000; // 1min + const maxBackoff = 8 * 60 * 60 * 1000; // 8hours + let backoff = (Math.pow(2, attemptsMade) - 1) * baseDelay; + backoff = Math.min(backoff, maxBackoff); + backoff += Math.round(backoff * Math.random() * 0.2); + return backoff; +} From cf0a5d5735a0eb18e21c07c09e7261c02ec84479 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Aug 2021 23:15:17 +0900 Subject: [PATCH 007/336] Bump @redocly/openapi-core from 1.0.0-beta.44 to 1.0.0-beta.54 (#7665) Bumps [@redocly/openapi-core](https://github.com/Redocly/openapi-cli) from 1.0.0-beta.44 to 1.0.0-beta.54. - [Release notes](https://github.com/Redocly/openapi-cli/releases) - [Changelog](https://github.com/Redocly/openapi-cli/blob/master/docs/changelog.md) - [Commits](https://github.com/Redocly/openapi-cli/compare/v1.0.0-beta.44...v1.0.0-beta.54) --- updated-dependencies: - dependency-name: "@redocly/openapi-core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 53 +++++++++++++++------------------------------------- 2 files changed, 16 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 4135c47303..e73116cc26 100644 --- a/package.json +++ b/package.json @@ -245,7 +245,7 @@ "xev": "2.0.1" }, "devDependencies": { - "@redocly/openapi-core": "1.0.0-beta.44", + "@redocly/openapi-core": "1.0.0-beta.54", "@types/fluent-ffmpeg": "2.1.17", "cross-env": "7.0.3", "cypress": "8.3.0", diff --git a/yarn.lock b/yarn.lock index 09fd32f7aa..ccfee76557 100644 --- a/yarn.lock +++ b/yarn.lock @@ -241,26 +241,26 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@redocly/ajv@^6.12.3": - version "6.12.4" - resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-6.12.4.tgz#b131c9c11d1bdaa5564f69bcaefe10a4c9a5aa65" - integrity sha512-RB6vWO78v6c+SW/3bZh+XZMr4nGdJKAiPGsBALuUZnLuCiQ7aXCT1AuFHqnfS2gyXbEUEj+kw8p4ux8KdAfs3A== +"@redocly/ajv@^8.6.2": + version "8.6.2" + resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.6.2.tgz#8c4e485e72f7864f91fae40093bed548ec2619b2" + integrity sha512-tU8fQs0D76ZKhJ2cWtnfQthWqiZgGBx0gH0+5D8JvaBEBaqA8foPPBt3Nonwr3ygyv5xrw2IzKWgIY86BlGs+w== dependencies: fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" uri-js "^4.2.2" -"@redocly/openapi-core@1.0.0-beta.44": - version "1.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.44.tgz#e9a6c50ee2bb18e93b3439ed92c53e440de3aa7a" - integrity sha512-9HNnh1MzvMsLK1liuidFBqWiAsZ2Yg3RY58fcEsy0QruSMdDbn7SoeI1qnXe6O+BkBS+vAP4oVzZDMHCMKGsOQ== +"@redocly/openapi-core@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.54.tgz#42575a849c4dd54b9d0c6413fb8ca547e087cd11" + integrity sha512-uYs0N1Trjkh7u8IMIuCU2VxCXhMyGWSZUkP/WNdTR1OgBUtvNdF9C32zoQV+hyCIH4gVu42ROHkjisy333ZX+w== dependencies: - "@redocly/ajv" "^6.12.3" + "@redocly/ajv" "^8.6.2" "@types/node" "^14.11.8" colorette "^1.2.0" js-levenshtein "^1.1.6" - js-yaml "^3.14.0" + js-yaml "^3.14.1" lodash.isequal "^4.5.0" minimatch "^3.0.4" node-fetch "^2.6.1" @@ -864,31 +864,16 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*": - version "14.14.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" - integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== - -"@types/node@16.6.2": +"@types/node@*", "@types/node@16.6.2": version "16.6.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.2.tgz#331b7b9f8621c638284787c5559423822fdffc50" integrity sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA== -"@types/node@^14.11.8": - version "14.14.44" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.44.tgz#df7503e6002847b834371c004b372529f3f85215" - integrity sha512-+gaugz6Oce6ZInfI/tK4Pq5wIIkJMEJUu92RB3Eu93mtj4wjjjz9EB5mLp5s1pSsLXdC/CPut/xF20ZzAQJbTA== - -"@types/node@^14.14.31": +"@types/node@^14.11.8", "@types/node@^14.14.31", "@types/node@^14.14.41": version "14.17.9" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.9.tgz#b97c057e6138adb7b720df2bd0264b03c9f504fd" integrity sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g== -"@types/node@^14.14.41": - version "14.17.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.0.tgz#3ba770047723b3eeb8dc9fca02cce8a7fb6378da" - integrity sha512-w8VZUN/f7SSbvVReb9SWp6cJFevxb4/nkG65yLAya//98WgocKm5PLDAtSs5CtJJJM+kHmJjO/6mmYW4MHShZA== - "@types/nodemailer@6.4.4": version "6.4.4" resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.4.tgz#c265f7e7a51df587597b3a49a023acaf0c741f4b" @@ -6237,15 +6222,7 @@ js-yaml@4.1.0, js-yaml@^4.0.0: dependencies: argparse "^2.0.1" -js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^3.14.0: +js-yaml@^3.13.1, js-yaml@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== From 04855f920144cd3d040d9896157f186c1ceebc88 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 10:29:26 +0900 Subject: [PATCH 008/336] enhance(client): Improve emoji autocomplete behaviour cherry picked from https://github.com/kat-atat/misskey/commit/4b2c215e25a0bae47f4375b296d1f5d07a179f88 --- CHANGELOG.md | 3 ++- src/client/scripts/autocomplete.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47372dda56..e77ee9b247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,10 @@ ## 12.x.x (unreleased) ### Improvements -- 依存関係の更新 +- 絵文字オートコンプリートの挙動を改修 - localStorageのaccountsはindexedDBで保持するように - ActivityPub: ジョブキューの試行タイミングを調整 (#7635) +- 依存関係の更新 ### Bugfixes - チャンネルを作成しているとアカウントを削除できないのを修正 diff --git a/src/client/scripts/autocomplete.ts b/src/client/scripts/autocomplete.ts index 99c54c69c5..924d6a62ee 100644 --- a/src/client/scripts/autocomplete.ts +++ b/src/client/scripts/autocomplete.ts @@ -65,7 +65,7 @@ export class Autocomplete { */ private onInput() { const caretPos = this.textarea.selectionStart; - const text = this.text.substr(0, caretPos).split('\n').pop(); + const text = this.text.substr(0, caretPos).split('\n').pop()!; const mentionIndex = text.lastIndexOf('@'); const hashtagIndex = text.lastIndexOf('#'); @@ -83,7 +83,7 @@ export class Autocomplete { const isMention = mentionIndex != -1; const isHashtag = hashtagIndex != -1; - const isEmoji = emojiIndex != -1; + const isEmoji = emojiIndex != -1 && text.split(/:[a-z0-9_+\-]+:/).pop()!.includes(':'); let opened = false; From 47dd30d3b2eb1ada91b621e5201add5a014b587d Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 11:16:56 +0900 Subject: [PATCH 009/336] =?UTF-8?q?fix(client):=20=E3=83=8E=E3=83=BC?= =?UTF-8?q?=E3=83=88=E3=81=AE=E3=80=8C=E5=89=8A=E9=99=A4=E3=81=97=E3=81=A6?= =?UTF-8?q?=E7=B7=A8=E9=9B=86=E3=80=8D=E3=82=92=E3=81=99=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E3=82=A2=E3=83=B3=E3=82=B1=E3=83=BC=E3=83=88=E3=81=AE=E9=81=B8?= =?UTF-8?q?=E6=8A=9E=E8=82=A2=E3=81=8C[object=20Object]=E3=81=AB=E3=81=AA?= =?UTF-8?q?=E3=82=8B=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #7037 --- CHANGELOG.md | 1 + src/client/components/post-form.vue | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e77ee9b247..21f3add690 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ ### Bugfixes - チャンネルを作成しているとアカウントを削除できないのを修正 +- ノートの「削除して編集」をするとアンケートの選択肢が[object Object]になる問題を修正 ## 12.88.0 (2021/08/17) diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue index 221dc74313..657053cc93 100644 --- a/src/client/components/post-form.vue +++ b/src/client/components/post-form.vue @@ -339,7 +339,12 @@ export default defineComponent({ this.cw = init.cw; this.useCw = init.cw != null; if (init.poll) { - this.poll = init.poll; + this.poll = { + choices: init.poll.choices.map(x => x.text), + multiple: init.poll.multiple, + expiresAt: init.poll.expiresAt, + expiredAfter: init.poll.expiredAfter, + }; } this.visibility = init.visibility; this.localOnly = init.localOnly; From 8ab9068d8e1a8362cbbb413d7abdc72233e9fa6e Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 11:51:46 +0900 Subject: [PATCH 010/336] fix bug --- src/client/account.ts | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/client/account.ts b/src/client/account.ts index cf52c4d828..7cd3d8cb88 100644 --- a/src/client/account.ts +++ b/src/client/account.ts @@ -29,16 +29,18 @@ export async function signout() { //#endregion //#region Remove push notification registration - const registration = await navigator.serviceWorker.ready; - const push = await registration.pushManager.getSubscription(); - if (!push) return; - await fetch(`${apiUrl}/sw/unregister`, { - method: 'POST', - body: JSON.stringify({ - i: $i.token, - endpoint: push.endpoint, - }), - }); + try { + const registration = await navigator.serviceWorker.ready; + const push = await registration.pushManager.getSubscription(); + if (!push) return; + await fetch(`${apiUrl}/sw/unregister`, { + method: 'POST', + body: JSON.stringify({ + i: $i.token, + endpoint: push.endpoint, + }), + }); + } catch (e) {} //#endregion document.cookie = `igi=; path=/`; From fd1ef4a62d670aab5f0c0089ab3806639c779813 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 12:41:56 +0900 Subject: [PATCH 011/336] enhance(server): Use job queue for account delete (#7668) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance(server): Use job queue for account delete Fix #5336 * ジョブをひとつに * remove done call * clean up * add User.isDeleted * コミット忘れ * Update 1629512953000-user-is-deleted.ts * show dialog * lint * Update 1629512953000-user-is-deleted.ts --- CHANGELOG.md | 1 + locales/ja-JP.yml | 1 + migration/1629512953000-user-is-deleted.ts | 15 ++++ src/client/account.ts | 1 + src/client/init.ts | 7 ++ src/models/entities/user.ts | 7 ++ src/models/repositories/user.ts | 1 + src/queue/index.ts | 9 +++ src/queue/processors/db/delete-account.ts | 79 ++++++++++++++++++++ src/queue/processors/db/index.ts | 4 +- src/server/api/endpoints/i/delete-account.ts | 13 +++- 11 files changed, 135 insertions(+), 3 deletions(-) create mode 100644 migration/1629512953000-user-is-deleted.ts create mode 100644 src/queue/processors/db/delete-account.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 21f3add690..54c0554e8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ## 12.x.x (unreleased) ### Improvements +- アカウント削除の安定性を向上 - 絵文字オートコンプリートの挙動を改修 - localStorageのaccountsはindexedDBで保持するように - ActivityPub: ジョブキューの試行タイミングを調整 (#7635) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 7499523b08..f27fc0abe0 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -777,6 +777,7 @@ misskeyUpdated: "Misskeyが更新されました!" whatIsNew: "更新情報を見る" translate: "翻訳" translatedFrom: "{x}から翻訳" +accountDeletionInProgress: "アカウントの削除が進行中です" _docs: continueReading: "続きを読む" diff --git a/migration/1629512953000-user-is-deleted.ts b/migration/1629512953000-user-is-deleted.ts new file mode 100644 index 0000000000..10b7d1d7b7 --- /dev/null +++ b/migration/1629512953000-user-is-deleted.ts @@ -0,0 +1,15 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class isUserDeleted1629512953000 implements MigrationInterface { + name = 'isUserDeleted1629512953000' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "user" ADD "isDeleted" boolean NOT NULL DEFAULT false`); + await queryRunner.query(`COMMENT ON COLUMN "user"."isDeleted" IS 'Whether the User is deleted.'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isDeleted"`); + } + +} diff --git a/src/client/account.ts b/src/client/account.ts index 7cd3d8cb88..ee1d845493 100644 --- a/src/client/account.ts +++ b/src/client/account.ts @@ -11,6 +11,7 @@ type Account = { token: string; isModerator: boolean; isAdmin: boolean; + isDeleted: boolean; }; const data = localStorage.getItem('account'); diff --git a/src/client/init.ts b/src/client/init.ts index 0313af4374..194ece886b 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -310,6 +310,13 @@ for (const plugin of ColdDeviceStorage.get('plugins').filter(p => p.active)) { } if ($i) { + if ($i.isDeleted) { + dialog({ + type: 'warning', + text: i18n.locale.accountDeletionInProgress, + }); + } + if ('Notification' in window) { // 許可を得ていなかったらリクエスト if (Notification.permission === 'default') { diff --git a/src/models/entities/user.ts b/src/models/entities/user.ts index 060ec06b9a..65aebd2d1a 100644 --- a/src/models/entities/user.ts +++ b/src/models/entities/user.ts @@ -175,6 +175,13 @@ export class User { }) public isExplorable: boolean; + // アカウントが削除されたかどうかのフラグだが、完全に削除される際は物理削除なので実質削除されるまでの「削除が進行しているかどうか」のフラグ + @Column('boolean', { + default: false, + comment: 'Whether the User is deleted.' + }) + public isDeleted: boolean; + @Column('varchar', { length: 128, array: true, default: '{}' }) diff --git a/src/models/repositories/user.ts b/src/models/repositories/user.ts index f56090bb82..d4bb995ce2 100644 --- a/src/models/repositories/user.ts +++ b/src/models/repositories/user.ts @@ -252,6 +252,7 @@ export class UserRepository extends Repository { autoAcceptFollowed: profile!.autoAcceptFollowed, noCrawle: profile!.noCrawle, isExplorable: user.isExplorable, + isDeleted: user.isDeleted, hideOnlineStatus: user.hideOnlineStatus, hasUnreadSpecifiedNotes: NoteUnreads.count({ where: { userId: user.id, isSpecified: true }, diff --git a/src/queue/index.ts b/src/queue/index.ts index ff96c0fb15..4ca7998e61 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -171,6 +171,15 @@ export function createImportUserListsJob(user: ThinUser, fileId: DriveFile['id'] }); } +export function createDeleteAccountJob(user: ThinUser) { + return dbQueue.add('deleteAccount', { + user: user + }, { + removeOnComplete: true, + removeOnFail: true + }); +} + export function createDeleteObjectStorageFileJob(key: string) { return objectStorageQueue.add('deleteFile', { key: key diff --git a/src/queue/processors/db/delete-account.ts b/src/queue/processors/db/delete-account.ts new file mode 100644 index 0000000000..95614b61aa --- /dev/null +++ b/src/queue/processors/db/delete-account.ts @@ -0,0 +1,79 @@ +import * as Bull from 'bull'; +import { queueLogger } from '../../logger'; +import { DriveFiles, Notes, Users } from '@/models/index'; +import { DbUserJobData } from '@/queue/types'; +import { Note } from '@/models/entities/note'; +import { DriveFile } from '@/models/entities/drive-file'; +import { MoreThan } from 'typeorm'; +import { deleteFileSync } from '@/services/drive/delete-file'; + +const logger = queueLogger.createSubLogger('delete-account'); + +export async function deleteAccount(job: Bull.Job): Promise { + logger.info(`Deleting account of ${job.data.user.id} ...`); + + const user = await Users.findOne(job.data.user.id); + if (user == null) { + return; + } + + { // Delete notes + let cursor: Note['id'] | null = null; + + while (true) { + const notes = await Notes.find({ + where: { + userId: user.id, + ...(cursor ? { id: MoreThan(cursor) } : {}) + }, + take: 100, + order: { + id: 1 + } + }); + + if (notes.length === 0) { + break; + } + + cursor = notes[notes.length - 1].id; + + await Notes.delete(notes.map(note => note.id)); + } + + logger.succ(`All of notes deleted`); + } + + { // Delete files + let cursor: DriveFile['id'] | null = null; + + while (true) { + const files = await DriveFiles.find({ + where: { + userId: user.id, + ...(cursor ? { id: MoreThan(cursor) } : {}) + }, + take: 10, + order: { + id: 1 + } + }); + + if (files.length === 0) { + break; + } + + cursor = files[files.length - 1].id; + + for (const file of files) { + await deleteFileSync(file); + } + } + + logger.succ(`All of files deleted`); + } + + await Users.delete(job.data.user.id); + + return 'Account deleted'; +} diff --git a/src/queue/processors/db/index.ts b/src/queue/processors/db/index.ts index b56b7bfa2c..b051a28e0b 100644 --- a/src/queue/processors/db/index.ts +++ b/src/queue/processors/db/index.ts @@ -8,6 +8,7 @@ import { exportBlocking } from './export-blocking'; import { exportUserLists } from './export-user-lists'; import { importFollowing } from './import-following'; import { importUserLists } from './import-user-lists'; +import { deleteAccount } from './delete-account'; const jobs = { deleteDriveFiles, @@ -17,7 +18,8 @@ const jobs = { exportBlocking, exportUserLists, importFollowing, - importUserLists + importUserLists, + deleteAccount, } as Record | Bull.ProcessPromiseFunction>; export default function(dbQueue: Bull.Queue) { diff --git a/src/server/api/endpoints/i/delete-account.ts b/src/server/api/endpoints/i/delete-account.ts index f761e5cc34..77f11925cd 100644 --- a/src/server/api/endpoints/i/delete-account.ts +++ b/src/server/api/endpoints/i/delete-account.ts @@ -1,9 +1,10 @@ import $ from 'cafy'; import * as bcrypt from 'bcryptjs'; import define from '../../define'; -import { Users, UserProfiles } from '@/models/index'; +import { UserProfiles, Users } from '@/models/index'; import { doPostSuspend } from '@/services/suspend-user'; import { publishUserEvent } from '@/services/stream'; +import { createDeleteAccountJob } from '@/queue'; export const meta = { requireCredential: true as const, @@ -19,6 +20,10 @@ export const meta = { export default define(meta, async (ps, user) => { const profile = await UserProfiles.findOneOrFail(user.id); + const userDetailed = await Users.findOneOrFail(user.id); + if (userDetailed.isDeleted) { + return; + } // Compare password const same = await bcrypt.compare(ps.password, profile.password!); @@ -30,7 +35,11 @@ export default define(meta, async (ps, user) => { // 物理削除する前にDelete activityを送信する await doPostSuspend(user).catch(e => {}); - await Users.delete(user.id); + createDeleteAccountJob(user); + + await Users.update(user.id, { + isDeleted: true, + }); // Terminate streaming publishUserEvent(user.id, 'terminate', {}); From a53e1e4ec33575de0ff79fb0ec85833e3d6e22cd Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 12:48:50 +0900 Subject: [PATCH 012/336] enhance: Improve account deletion experience --- locales/ja-JP.yml | 8 +++ src/client/pages/settings/delete-account.vue | 67 ++++++++++++++++++++ src/client/pages/settings/index.vue | 1 + src/client/pages/settings/other.vue | 19 +----- src/queue/processors/db/delete-account.ts | 12 +++- 5 files changed, 88 insertions(+), 19 deletions(-) create mode 100644 src/client/pages/settings/delete-account.vue diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index f27fc0abe0..35739d2760 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -779,6 +779,14 @@ translate: "翻訳" translatedFrom: "{x}から翻訳" accountDeletionInProgress: "アカウントの削除が進行中です" +_accountDelete: + accountDelete: "アカウントの削除" + mayTakeTime: "アカウントの削除は負荷のかかる処理であるため、作成したコンテンツの数やアップロードしたファイルの数が多いと完了までに時間がかかることがあります。" + sendEmail: "アカウントの削除が完了する際は、登録してあったメールアドレス宛に通知を送信します。" + requestAccountDelete: "アカウント削除をリクエスト" + started: "削除処理が開始されました。" + inProgress: "削除が進行中" + _docs: continueReading: "続きを読む" features: "機能" diff --git a/src/client/pages/settings/delete-account.vue b/src/client/pages/settings/delete-account.vue new file mode 100644 index 0000000000..3af1879857 --- /dev/null +++ b/src/client/pages/settings/delete-account.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/client/pages/settings/index.vue b/src/client/pages/settings/index.vue index 17b373fcd8..e7e2506020 100644 --- a/src/client/pages/settings/index.vue +++ b/src/client/pages/settings/index.vue @@ -132,6 +132,7 @@ export default defineComponent({ case 'account-info': return defineAsyncComponent(() => import('./account-info.vue')); case 'update': return defineAsyncComponent(() => import('./update.vue')); case 'registry': return defineAsyncComponent(() => import('./registry.vue')); + case 'delete-account': return defineAsyncComponent(() => import('./delete-account.vue')); case 'experimental-features': return defineAsyncComponent(() => import('./experimental-features.vue')); } if (page.value.startsWith('registry/keys/system/')) { diff --git a/src/client/pages/settings/other.vue b/src/client/pages/settings/other.vue index f73ff9cb21..6857950350 100644 --- a/src/client/pages/settings/other.vue +++ b/src/client/pages/settings/other.vue @@ -26,7 +26,7 @@ BIOS CLI - {{ $ts.closeAccount }} + {{ $ts.closeAccount }} @@ -41,7 +41,6 @@ import FormButton from '@client/components/form/button.vue'; import * as os from '@client/os'; import { debug } from '@client/config'; import { defaultStore } from '@client/store'; -import { signout } from '@client/account'; import { unisonReload } from '@client/scripts/unison-reload'; import * as symbols from '@client/symbols'; @@ -92,22 +91,6 @@ export default defineComponent({ os.popup(import('@client/components/taskmanager.vue'), { }, {}, 'closed'); }, - - closeAccount() { - os.dialog({ - title: this.$ts.password, - input: { - type: 'password' - } - }).then(({ canceled, result: password }) => { - if (canceled) return; - os.api('i/delete-account', { - password: password - }).then(() => { - signout(); - }); - }); - } } }); diff --git a/src/queue/processors/db/delete-account.ts b/src/queue/processors/db/delete-account.ts index 95614b61aa..65327754c2 100644 --- a/src/queue/processors/db/delete-account.ts +++ b/src/queue/processors/db/delete-account.ts @@ -1,11 +1,12 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; -import { DriveFiles, Notes, Users } from '@/models/index'; +import { DriveFiles, Notes, UserProfiles, Users } from '@/models/index'; import { DbUserJobData } from '@/queue/types'; import { Note } from '@/models/entities/note'; import { DriveFile } from '@/models/entities/drive-file'; import { MoreThan } from 'typeorm'; import { deleteFileSync } from '@/services/drive/delete-file'; +import { sendEmail } from '@/services/send-email'; const logger = queueLogger.createSubLogger('delete-account'); @@ -73,6 +74,15 @@ export async function deleteAccount(job: Bull.Job): Promise Date: Sat, 21 Aug 2021 01:24:03 -0400 Subject: [PATCH 013/336] Update setup.en.md (#7675) Updated PostgreSQL version to 12 See https://github.com/misskey-dev/misskey/issues/7632#issuecomment-901653826 --- docs/setup.en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.en.md b/docs/setup.en.md index bd36f0f006..bb72fcda1e 100644 --- a/docs/setup.en.md +++ b/docs/setup.en.md @@ -24,7 +24,7 @@ Please install and setup these softwares: #### Dependencies :package: * **[Node.js](https://nodejs.org/en/)** (12.x, 14.x) -* **[PostgreSQL](https://www.postgresql.org/)** (>= 10) +* **[PostgreSQL](https://www.postgresql.org/)** (12.x / 13.x is preferred) * **[Redis](https://redis.io/)** ##### Optional From d2007add75574df0be23354fd2b9176ea5225dfa Mon Sep 17 00:00:00 2001 From: tamaina Date: Sat, 21 Aug 2021 14:47:18 +0900 Subject: [PATCH 014/336] feat: Implement api sw/unregister (#7611) * Implement api sw/unregister * remove all mode * add changelog Co-authored-by: syuilo --- CHANGELOG.md | 1 + src/server/api/endpoints/sw/unregister.ts | 27 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/server/api/endpoints/sw/unregister.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 54c0554e8a..34a69f1d02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - 絵文字オートコンプリートの挙動を改修 - localStorageのaccountsはindexedDBで保持するように - ActivityPub: ジョブキューの試行タイミングを調整 (#7635) +- API: sw/unregisterを追加 - 依存関係の更新 ### Bugfixes diff --git a/src/server/api/endpoints/sw/unregister.ts b/src/server/api/endpoints/sw/unregister.ts new file mode 100644 index 0000000000..a206254950 --- /dev/null +++ b/src/server/api/endpoints/sw/unregister.ts @@ -0,0 +1,27 @@ +import $ from 'cafy'; +import define from '../../define'; +import { SwSubscriptions } from '../../../../models'; + +export const meta = { + tags: ['account'], + + requireCredential: true as const, + + desc: { + 'ja-JP': 'Push通知の登録を削除します。', + 'en-US': 'Remove push noticfication registration' + }, + + params: { + endpoint: { + validator: $.str + }, + } +}; + +export default define(meta, async (ps, user) => { + await SwSubscriptions.delete({ + userId: user.id, + endpoint: ps.endpoint, + }); +}); From bae1282f74c95df9e9241be637205a174ce59fea Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 14:47:39 +0900 Subject: [PATCH 015/336] clean up --- src/server/api/endpoints/sw/unregister.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/server/api/endpoints/sw/unregister.ts b/src/server/api/endpoints/sw/unregister.ts index a206254950..817ad1f517 100644 --- a/src/server/api/endpoints/sw/unregister.ts +++ b/src/server/api/endpoints/sw/unregister.ts @@ -7,11 +7,6 @@ export const meta = { requireCredential: true as const, - desc: { - 'ja-JP': 'Push通知の登録を削除します。', - 'en-US': 'Remove push noticfication registration' - }, - params: { endpoint: { validator: $.str From eeff88ece252d8df4d7fe2298d8a6fc82cef6f55 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 14:52:41 +0900 Subject: [PATCH 016/336] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34a69f1d02..3a29234110 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - localStorageのaccountsはindexedDBで保持するように - ActivityPub: ジョブキューの試行タイミングを調整 (#7635) - API: sw/unregisterを追加 +- ワードミュートのドキュメントを追加 - 依存関係の更新 ### Bugfixes From f6128dd3ff9ad4df1cbb956f46e2ea34d59368aa Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 17:40:15 +0900 Subject: [PATCH 017/336] :art: --- CHANGELOG.md | 1 + src/client/components/notes.vue | 2 ++ src/client/components/notifications.vue | 6 +++- src/client/pages/notifications.vue | 18 ++++++++++-- src/client/pages/timeline.vue | 39 ++++++++++++++++--------- 5 files changed, 49 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a29234110..9ac26311ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - ActivityPub: ジョブキューの試行タイミングを調整 (#7635) - API: sw/unregisterを追加 - ワードミュートのドキュメントを追加 +- クライアントのデザインの調整 - 依存関係の更新 ### Bugfixes diff --git a/src/client/components/notes.vue b/src/client/components/notes.vue index ba3b7d2b39..919cb29952 100644 --- a/src/client/components/notes.vue +++ b/src/client/components/notes.vue @@ -118,6 +118,8 @@ export default defineComponent({ &:not(.noGap) { > .notes { + background: var(--bg); + .qtqtichx { background: var(--panel); border-radius: var(--radius); diff --git a/src/client/components/notifications.vue b/src/client/components/notifications.vue index 9db47e08d6..e91f18a693 100644 --- a/src/client/components/notifications.vue +++ b/src/client/components/notifications.vue @@ -7,7 +7,7 @@

{{ $ts.noNotifications }}

- + @@ -141,4 +141,8 @@ export default defineComponent({ text-align: center; color: var(--fg); } + +.elsfgstc { + background: var(--panel); +} diff --git a/src/client/pages/notifications.vue b/src/client/pages/notifications.vue index 6b16b85b78..633718a90b 100644 --- a/src/client/pages/notifications.vue +++ b/src/client/pages/notifications.vue @@ -1,6 +1,6 @@ @@ -43,3 +43,17 @@ export default defineComponent({ } }); + + diff --git a/src/client/pages/timeline.vue b/src/client/pages/timeline.vue index 119815e2ae..f54549b982 100644 --- a/src/client/pages/timeline.vue +++ b/src/client/pages/timeline.vue @@ -1,5 +1,5 @@ @@ -231,6 +233,7 @@ export default defineComponent({ padding: 0 8px; white-space: nowrap; overflow: auto; + border-bottom: solid 0.5px var(--divider); // 影の都合上 position: relative; @@ -287,8 +290,16 @@ export default defineComponent({ } } - > .tl { - border-top: solid 0.5px var(--divider); + &.min-width_800px { + > .tl { + background: var(--bg); + padding: 32px 0; + + > .tl { + max-width: 800px; + margin: 0 auto; + } + } } } From a59dfff12fd8a3d08e3b951bc66af1e7dd13d5d9 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 17:58:32 +0900 Subject: [PATCH 018/336] New Crowdin updates (#7646) * New translations mute-and-block.md (Ukrainian) * New translations mute-and-block.md (Czech) * New translations mute-and-block.md (Danish) * New translations mute-and-block.md (German) * New translations mute-and-block.md (Italian) * New translations mute-and-block.md (Korean) * New translations mute-and-block.md (Dutch) * New translations mute-and-block.md (Norwegian) * New translations mute-and-block.md (Polish) * New translations mute-and-block.md (Portuguese) * New translations mute-and-block.md (Russian) * New translations mute-and-block.md (Chinese Simplified) * New translations mute-and-block.md (Spanish) * New translations mute-and-block.md (Chinese Traditional) * New translations mute-and-block.md (English) * New translations mute-and-block.md (Indonesian) * New translations mute-and-block.md (Thai) * New translations mute-and-block.md (Esperanto) * New translations mute-and-block.md (Uyghur) * New translations mute-and-block.md (Lojban) * New translations mute-and-block.md (Kannada) * New translations mute-and-block.md (Haitian Creole) * New translations mute-and-block.md (Kabyle) * New translations mute-and-block.md (Arabic) * New translations mute-and-block.md (French) * New translations mute-and-block.md (Japanese, Kansai) * New translations glossary.md (German) * New translations links.md (German) * New translations links.md (English) * New translations report-issue.md (German) * New translations changelog.md (German) * New translations apps.md (German) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations disable-timelines.md (Japanese, Kansai) * New translations disable-timelines.md (Japanese, Kansai) * New translations faq.md (Japanese, Kansai) * New translations aiscript.md (Japanese, Kansai) * New translations faq.md (Japanese, Kansai) * New translations misskey.md (Japanese, Kansai) * New translations aiscript.md (Japanese, Kansai) * New translations reaction.md (Japanese, Kansai) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations glossary.md (Japanese, Kansai) * New translations glossary.md (Kabyle) * New translations glossary.md (Haitian Creole) * New translations glossary.md (Kannada) * New translations glossary.md (Lojban) * New translations glossary.md (Uyghur) * New translations glossary.md (Esperanto) * New translations glossary.md (Indonesian) * New translations misskey.md (English) * New translations glossary.md (Thai) * New translations glossary.md (English) * New translations glossary.md (Chinese Traditional) * New translations glossary.md (Dutch) * New translations glossary.md (Chinese Simplified) * New translations glossary.md (Ukrainian) * New translations glossary.md (Russian) * New translations glossary.md (Portuguese) * New translations glossary.md (Polish) * New translations glossary.md (Norwegian) * New translations glossary.md (Korean) * New translations glossary.md (French) * New translations glossary.md (Italian) * New translations glossary.md (German) * New translations glossary.md (Danish) * New translations glossary.md (Czech) * New translations glossary.md (Arabic) * New translations glossary.md (Spanish) * New translations note.md (French) * New translations glossary.md (Chinese Simplified) * New translations faq.md (French) * New translations faq.md (Chinese Simplified) * New translations faq.md (Kabyle) * New translations faq.md (Haitian Creole) * New translations faq.md (Kannada) * New translations faq.md (Lojban) * New translations faq.md (Uyghur) * New translations faq.md (Esperanto) * New translations faq.md (Thai) * New translations faq.md (Indonesian) * New translations faq.md (English) * New translations faq.md (Chinese Traditional) * New translations faq.md (Ukrainian) * New translations faq.md (Spanish) * New translations faq.md (Russian) * New translations faq.md (Portuguese) * New translations faq.md (Polish) * New translations faq.md (Norwegian) * New translations faq.md (Dutch) * New translations faq.md (Korean) * New translations faq.md (Italian) * New translations faq.md (German) * New translations faq.md (Danish) * New translations faq.md (Czech) * New translations faq.md (Arabic) * New translations faq.md (Japanese, Kansai) * New translations faq.md (French) * New translations misskey.md (French) * New translations faq.md (French) * New translations misskey.md (French) * New translations faq.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations word-mute.md (Ukrainian) * New translations word-mute.md (Czech) * New translations word-mute.md (Danish) * New translations word-mute.md (German) * New translations word-mute.md (Italian) * New translations word-mute.md (Korean) * New translations word-mute.md (Dutch) * New translations word-mute.md (Norwegian) * New translations word-mute.md (Polish) * New translations word-mute.md (Portuguese) * New translations word-mute.md (Russian) * New translations word-mute.md (Chinese Simplified) * New translations word-mute.md (Spanish) * New translations word-mute.md (Chinese Traditional) * New translations word-mute.md (English) * New translations word-mute.md (Indonesian) * New translations word-mute.md (Thai) * New translations word-mute.md (Esperanto) * New translations word-mute.md (Uyghur) * New translations word-mute.md (Lojban) * New translations word-mute.md (Kannada) * New translations word-mute.md (Haitian Creole) * New translations word-mute.md (Kabyle) * New translations word-mute.md (Arabic) * New translations word-mute.md (French) * New translations word-mute.md (Japanese, Kansai) * New translations glossary.md (English) * New translations glossary.md (English) * New translations glossary.md (English) * New translations glossary.md (English) * New translations faq.md (English) * New translations faq.md (English) * New translations glossary.md (English) * New translations word-mute.md (English) * New translations word-mute.md (English) * New translations word-mute.md (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) --- locales/de-DE.yml | 8 ++++ locales/en-US.yml | 8 ++++ locales/eo-UY.yml | 21 ++++++----- src/docs/ar-SA/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/ar-SA/features/word-mute.md | 20 ++++++++++ src/docs/ar-SA/general/faq.md | 3 ++ src/docs/ar-SA/general/glossary.md | 6 +++ src/docs/cs-CZ/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/cs-CZ/features/word-mute.md | 20 ++++++++++ src/docs/cs-CZ/general/faq.md | 3 ++ src/docs/cs-CZ/general/glossary.md | 6 +++ src/docs/da-DK/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/da-DK/features/word-mute.md | 20 ++++++++++ src/docs/da-DK/general/faq.md | 3 ++ src/docs/da-DK/general/glossary.md | 6 +++ src/docs/de-DE/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/de-DE/features/word-mute.md | 20 ++++++++++ src/docs/de-DE/general/apps.md | 2 +- src/docs/de-DE/general/changelog.md | 2 +- src/docs/de-DE/general/faq.md | 3 ++ src/docs/de-DE/general/glossary.md | 8 +++- src/docs/de-DE/general/links.md | 2 +- src/docs/de-DE/general/report-issue.md | 2 +- src/docs/en-US/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/en-US/features/word-mute.md | 20 ++++++++++ src/docs/en-US/general/faq.md | 3 ++ src/docs/en-US/general/glossary.md | 10 ++++- src/docs/en-US/general/links.md | 2 +- src/docs/en-US/general/misskey.md | 2 +- src/docs/eo-UY/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/eo-UY/features/word-mute.md | 20 ++++++++++ src/docs/eo-UY/general/faq.md | 3 ++ src/docs/eo-UY/general/glossary.md | 18 ++++++--- src/docs/es-ES/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/es-ES/features/word-mute.md | 20 ++++++++++ src/docs/es-ES/general/faq.md | 3 ++ src/docs/es-ES/general/glossary.md | 6 +++ src/docs/fr-FR/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/fr-FR/features/note.md | 2 +- src/docs/fr-FR/features/word-mute.md | 20 ++++++++++ src/docs/fr-FR/general/faq.md | 7 +++- src/docs/fr-FR/general/glossary.md | 8 +++- src/docs/fr-FR/general/misskey.md | 4 +- src/docs/fr-FR/general/troubleshooting.md | 18 ++++----- src/docs/ht-HT/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/ht-HT/features/word-mute.md | 20 ++++++++++ src/docs/ht-HT/general/faq.md | 3 ++ src/docs/ht-HT/general/glossary.md | 6 +++ src/docs/id-ID/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/id-ID/features/word-mute.md | 20 ++++++++++ src/docs/id-ID/general/faq.md | 3 ++ src/docs/id-ID/general/glossary.md | 6 +++ src/docs/it-IT/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/it-IT/features/word-mute.md | 20 ++++++++++ src/docs/it-IT/general/faq.md | 3 ++ src/docs/it-IT/general/glossary.md | 6 +++ src/docs/ja-KS/admin/disable-timelines.md | 8 ++-- src/docs/ja-KS/admin/faq.md | 6 +-- src/docs/ja-KS/advanced/aiscript.md | 8 ++-- src/docs/ja-KS/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/ja-KS/features/reaction.md | 8 ++-- src/docs/ja-KS/features/word-mute.md | 20 ++++++++++ src/docs/ja-KS/general/faq.md | 5 ++- src/docs/ja-KS/general/glossary.md | 6 +++ src/docs/ja-KS/general/misskey.md | 2 +- src/docs/jbo-EN/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/jbo-EN/features/word-mute.md | 20 ++++++++++ src/docs/jbo-EN/general/faq.md | 3 ++ src/docs/jbo-EN/general/glossary.md | 6 +++ src/docs/kab-KAB/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/kab-KAB/features/word-mute.md | 20 ++++++++++ src/docs/kab-KAB/general/faq.md | 3 ++ src/docs/kab-KAB/general/glossary.md | 6 +++ src/docs/kn-IN/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/kn-IN/features/word-mute.md | 20 ++++++++++ src/docs/kn-IN/general/faq.md | 3 ++ src/docs/kn-IN/general/glossary.md | 6 +++ src/docs/ko-KR/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/ko-KR/features/word-mute.md | 20 ++++++++++ src/docs/ko-KR/general/faq.md | 3 ++ src/docs/ko-KR/general/glossary.md | 6 +++ src/docs/nl-NL/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/nl-NL/features/word-mute.md | 20 ++++++++++ src/docs/nl-NL/general/faq.md | 3 ++ src/docs/nl-NL/general/glossary.md | 6 +++ src/docs/no-NO/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/no-NO/features/word-mute.md | 20 ++++++++++ src/docs/no-NO/general/faq.md | 3 ++ src/docs/no-NO/general/glossary.md | 6 +++ src/docs/pl-PL/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/pl-PL/features/word-mute.md | 20 ++++++++++ src/docs/pl-PL/general/faq.md | 3 ++ src/docs/pl-PL/general/glossary.md | 6 +++ src/docs/pt-PT/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/pt-PT/features/word-mute.md | 20 ++++++++++ src/docs/pt-PT/general/faq.md | 3 ++ src/docs/pt-PT/general/glossary.md | 6 +++ src/docs/ru-RU/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/ru-RU/features/word-mute.md | 20 ++++++++++ src/docs/ru-RU/general/faq.md | 3 ++ src/docs/ru-RU/general/glossary.md | 6 +++ src/docs/th-TH/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/th-TH/features/word-mute.md | 20 ++++++++++ src/docs/th-TH/general/faq.md | 3 ++ src/docs/th-TH/general/glossary.md | 6 +++ src/docs/ug-CN/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/ug-CN/features/word-mute.md | 20 ++++++++++ src/docs/ug-CN/general/faq.md | 3 ++ src/docs/ug-CN/general/glossary.md | 6 +++ src/docs/uk-UA/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/uk-UA/features/word-mute.md | 20 ++++++++++ src/docs/uk-UA/general/faq.md | 3 ++ src/docs/uk-UA/general/glossary.md | 6 +++ src/docs/zh-CN/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/zh-CN/features/word-mute.md | 20 ++++++++++ src/docs/zh-CN/general/faq.md | 3 ++ src/docs/zh-CN/general/glossary.md | 16 +++++--- src/docs/zh-TW/features/mute-and-block.md | 41 +++++++++++++++++++++ src/docs/zh-TW/features/word-mute.md | 20 ++++++++++ src/docs/zh-TW/general/faq.md | 3 ++ src/docs/zh-TW/general/glossary.md | 6 +++ 121 files changed, 1900 insertions(+), 61 deletions(-) create mode 100644 src/docs/ar-SA/features/mute-and-block.md create mode 100644 src/docs/ar-SA/features/word-mute.md create mode 100644 src/docs/cs-CZ/features/mute-and-block.md create mode 100644 src/docs/cs-CZ/features/word-mute.md create mode 100644 src/docs/da-DK/features/mute-and-block.md create mode 100644 src/docs/da-DK/features/word-mute.md create mode 100644 src/docs/de-DE/features/mute-and-block.md create mode 100644 src/docs/de-DE/features/word-mute.md create mode 100644 src/docs/en-US/features/mute-and-block.md create mode 100644 src/docs/en-US/features/word-mute.md create mode 100644 src/docs/eo-UY/features/mute-and-block.md create mode 100644 src/docs/eo-UY/features/word-mute.md create mode 100644 src/docs/es-ES/features/mute-and-block.md create mode 100644 src/docs/es-ES/features/word-mute.md create mode 100644 src/docs/fr-FR/features/mute-and-block.md create mode 100644 src/docs/fr-FR/features/word-mute.md create mode 100644 src/docs/ht-HT/features/mute-and-block.md create mode 100644 src/docs/ht-HT/features/word-mute.md create mode 100644 src/docs/id-ID/features/mute-and-block.md create mode 100644 src/docs/id-ID/features/word-mute.md create mode 100644 src/docs/it-IT/features/mute-and-block.md create mode 100644 src/docs/it-IT/features/word-mute.md create mode 100644 src/docs/ja-KS/features/mute-and-block.md create mode 100644 src/docs/ja-KS/features/word-mute.md create mode 100644 src/docs/jbo-EN/features/mute-and-block.md create mode 100644 src/docs/jbo-EN/features/word-mute.md create mode 100644 src/docs/kab-KAB/features/mute-and-block.md create mode 100644 src/docs/kab-KAB/features/word-mute.md create mode 100644 src/docs/kn-IN/features/mute-and-block.md create mode 100644 src/docs/kn-IN/features/word-mute.md create mode 100644 src/docs/ko-KR/features/mute-and-block.md create mode 100644 src/docs/ko-KR/features/word-mute.md create mode 100644 src/docs/nl-NL/features/mute-and-block.md create mode 100644 src/docs/nl-NL/features/word-mute.md create mode 100644 src/docs/no-NO/features/mute-and-block.md create mode 100644 src/docs/no-NO/features/word-mute.md create mode 100644 src/docs/pl-PL/features/mute-and-block.md create mode 100644 src/docs/pl-PL/features/word-mute.md create mode 100644 src/docs/pt-PT/features/mute-and-block.md create mode 100644 src/docs/pt-PT/features/word-mute.md create mode 100644 src/docs/ru-RU/features/mute-and-block.md create mode 100644 src/docs/ru-RU/features/word-mute.md create mode 100644 src/docs/th-TH/features/mute-and-block.md create mode 100644 src/docs/th-TH/features/word-mute.md create mode 100644 src/docs/ug-CN/features/mute-and-block.md create mode 100644 src/docs/ug-CN/features/word-mute.md create mode 100644 src/docs/uk-UA/features/mute-and-block.md create mode 100644 src/docs/uk-UA/features/word-mute.md create mode 100644 src/docs/zh-CN/features/mute-and-block.md create mode 100644 src/docs/zh-CN/features/word-mute.md create mode 100644 src/docs/zh-TW/features/mute-and-block.md create mode 100644 src/docs/zh-TW/features/word-mute.md diff --git a/locales/de-DE.yml b/locales/de-DE.yml index 1f9afbdc2b..0fcfc9b46a 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -777,6 +777,14 @@ misskeyUpdated: "Misskey wurde aktualisiert!" whatIsNew: "Änderungen anzeigen" translate: "Übersetzen" translatedFrom: "Aus {x} übersetzt" +accountDeletionInProgress: "Löschung des Benutzerkontos momentan in Bearbeitung" +_accountDelete: + accountDelete: "Benutzerkonto löschen" + mayTakeTime: "Da die Löschung eines Benutzerkontos ein aufwendiger Prozess ist, kann dessen Dauer davon abhängen, wie viel Inhalt in diesem erstellt wurde oder wie viele Dateien hochgeladen wurden." + sendEmail: "Sobald die Löschung abgeschlossen ist, wird an die mit ihm verknüpfte Email-Adresse eine Benachrichtigung versendet." + requestAccountDelete: "Löschung des Benutzerkontos anfordern" + started: "Löschung wurde eingeleitet." + inProgress: "Löschung in Bearbeitung" _docs: continueReading: "Mehr lesen" features: "Funktionen" diff --git a/locales/en-US.yml b/locales/en-US.yml index 24569eeec7..cf82a8cd73 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -777,6 +777,14 @@ misskeyUpdated: "Misskey has been updated!" whatIsNew: "Show changes" translate: "Translate" translatedFrom: "Translated from {x}" +accountDeletionInProgress: "Account deletion is currently in progress" +_accountDelete: + accountDelete: "Delete Account" + mayTakeTime: "As account deletion is a resource-heavy process, it may take some time to complete depending on how much content you have created and how many files you have uploaded." + sendEmail: "Once account deletion has been completed, an email will be sent to the email address registered to this account." + requestAccountDelete: "Request account deletion" + started: "Deletion has been started." + inProgress: "Deletion is currently in progress" _docs: continueReading: "Read more" features: "Features" diff --git a/locales/eo-UY.yml b/locales/eo-UY.yml index 15575c7538..bb141a692c 100644 --- a/locales/eo-UY.yml +++ b/locales/eo-UY.yml @@ -1,7 +1,7 @@ --- _lang_: "Esperanto" headlineMisskey: "Reto ligata per notoj" -introMisskey: "Bonvenon! Misskey estas malfermitkoda malcentraliza mikrobloga servo.\nKreu \"noto\"n por diskonigi tion ke nun okazas, aŭ por dissendu pri vi📡\nPer la funkcio \"reago\" vi ankaŭ povas rapide esprimi vian senton pri ĉies noto👍\nVolu esplori nova mondo🚀" +introMisskey: "Bonvenon! Misskey estas malfermitkoda malcentraliza mikrobloga servo.\nKreu \"noto\"n por diskonigu tion ke nun okazas, aŭ por dissendu pri vi. 📡\nPer la funkcio \"reago\", vi ankaŭ povas rapide esprimi vian senton pri ĉies noto. 👍\nOni esploru novan mondon. 🚀" monthAndDay: "{day}-a/{month}" search: "Serĉi" notifications: "Sciigoj" @@ -119,7 +119,7 @@ emojiName: "Nomo de emoĵio" emojiUrl: "URL de la emoĵio" addEmoji: "Aldoni emoĵion" settingGuide: "Rekomendaj agordoj" -cacheRemoteFiles: "Havi staplon por transaj dosieroj" +cacheRemoteFiles: "Havi staplon de transaj dosieroj" flagAsBot: "Tiu uzanto estas roboto" flagAsCat: "Tiu uzanto estas kato" addAccount: "Aldoni konton" @@ -151,7 +151,7 @@ blockedUsers: "Blokataj uzantoj" noUsers: "Sen uzantoj" editProfile: "Redakti profilon" noteDeleteConfirm: "Ĉu vi certas ke vi volas forviŝi la noton?" -pinLimitExceeded: "Vi ne plu povas alpingli noton." +pinLimitExceeded: "Vi povas alpingli ne pli noton." processing: "Traktado..." noCustomEmojis: "Neniu emoĵio" federating: "Kunfederado" @@ -169,7 +169,7 @@ currentPassword: "Aktuala pasvorto" newPassword: "Nova pasvorto" newPasswordRetype: "Reentajpu la novan pasvorton" attachFile: "Aldoni dosieron" -more: "Plu!" +more: "Plu !" featured: "Maksimumi" usernameOrUserId: "Uzantnomo aŭ identigilo de uzanto" noSuchUser: "Neniuj uzantoj trovitaj." @@ -351,6 +351,7 @@ emailServer: "Retpoŝta servilo" email: "Retpoŝto" emailAddress: "Retpoŝta adreso" smtpConfig: "Agordoj de la servilo SMTP" +smtpPort: "Pordo" smtpUser: "Uzantnomo" smtpPass: "Pasvorto" wordMute: "Silentigo de vortoj" @@ -363,9 +364,9 @@ create: "Krei" notificationSetting: "Agordoj de sciigoj" useGlobalSetting: "Oni uzas malloka agordo" fileIdOrUrl: "Dosiera identigilo aŭ URL" -abuseReports: "Signali" -reportAbuse: "Signali" -reportAbuseOf: "Signali {name}'(o)n" +abuseReports: "Signaloj" +reportAbuse: "Signalo" +reportAbuseOf: "Signali kontraŭ {name}'(o)" send: "Sendi" openInNewTab: "Malfermi en nova langeto" editTheseSettingsMayBreakAccount: "Redakti tiujn agordojn estas eble damaĝi konton." @@ -667,6 +668,8 @@ _pages: arg1: "Listoj" _listLen: arg1: "Listoj" + _splitStrByLine: + arg1: "Teksto" types: array: "Listoj" stringArray: "List de teksto" @@ -677,7 +680,7 @@ _notification: youGotMessagingMessageFromGroup: "Retbabilan mesaĝon oni sendis al la grupo {name}" youWereFollowed: "sksekvis vin" youReceivedFollowRequest: "Vi ricevis peton de sekvado" - yourFollowRequestAccepted: "Via peto por eksekvu estas akceptita." + yourFollowRequestAccepted: "Via peto por sekvado estis akceptita." _types: follow: "Sekvatoj" mention: "Mencioj" @@ -685,7 +688,7 @@ _notification: quote: "Citi" reaction: "Reagoj" receiveFollowRequest: "Ricevita peton de sekvado" - followRequestAccepted: "Peto por eksekvu akceptita" + followRequestAccepted: "Akceptita peto por sekvado" _deck: profile: "Agordaro" _columns: diff --git a/src/docs/ar-SA/features/mute-and-block.md b/src/docs/ar-SA/features/mute-and-block.md new file mode 100644 index 0000000000..932d2d27d1 --- /dev/null +++ b/src/docs/ar-SA/features/mute-and-block.md @@ -0,0 +1,41 @@ +# تم كتمها / تم حجبها +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## اكتم +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## احجب +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/ar-SA/features/word-mute.md b/src/docs/ar-SA/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/ar-SA/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/ar-SA/general/faq.md b/src/docs/ar-SA/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/ar-SA/general/faq.md +++ b/src/docs/ar-SA/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/ar-SA/general/glossary.md b/src/docs/ar-SA/general/glossary.md index 6062529322..7ca515cf1f 100644 --- a/src/docs/ar-SA/general/glossary.md +++ b/src/docs/ar-SA/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## مثيل الخادم todo +## إيموجي مخصص +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## اكتم ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## قائمة الانتظار +アクティビティ配送などを順番に行うためのシステム。 + ## علِق アカウントが使用不可に設定されている状態。 diff --git a/src/docs/cs-CZ/features/mute-and-block.md b/src/docs/cs-CZ/features/mute-and-block.md new file mode 100644 index 0000000000..4f0931eeaf --- /dev/null +++ b/src/docs/cs-CZ/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Ztlumit +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Zablokovat +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/cs-CZ/features/word-mute.md b/src/docs/cs-CZ/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/cs-CZ/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/cs-CZ/general/faq.md b/src/docs/cs-CZ/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/cs-CZ/general/faq.md +++ b/src/docs/cs-CZ/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/cs-CZ/general/glossary.md b/src/docs/cs-CZ/general/glossary.md index 22fa9654fe..f1d189a4c3 100644 --- a/src/docs/cs-CZ/general/glossary.md +++ b/src/docs/cs-CZ/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Instance todo +## Vlastní emoji +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Fronta úloh +アクティビティ配送などを順番に行うためのシステム。 + ## Zmrazit アカウントが使用不可に設定されている状態。 diff --git a/src/docs/da-DK/features/mute-and-block.md b/src/docs/da-DK/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/da-DK/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/da-DK/features/word-mute.md b/src/docs/da-DK/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/da-DK/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/da-DK/general/faq.md b/src/docs/da-DK/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/da-DK/general/faq.md +++ b/src/docs/da-DK/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/da-DK/general/glossary.md b/src/docs/da-DK/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/da-DK/general/glossary.md +++ b/src/docs/da-DK/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/de-DE/features/mute-and-block.md b/src/docs/de-DE/features/mute-and-block.md new file mode 100644 index 0000000000..429b3b3526 --- /dev/null +++ b/src/docs/de-DE/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Stummschaltungen und Blockierungen +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Stummschalten +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Blockieren +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/de-DE/features/word-mute.md b/src/docs/de-DE/features/word-mute.md new file mode 100644 index 0000000000..133e918ff3 --- /dev/null +++ b/src/docs/de-DE/features/word-mute.md @@ -0,0 +1,20 @@ +# Wort-Stummschaltung +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/de-DE/general/apps.md b/src/docs/de-DE/general/apps.md index 1f4c85fe8f..f0080bd301 100644 --- a/src/docs/de-DE/general/apps.md +++ b/src/docs/de-DE/general/apps.md @@ -1,4 +1,4 @@ -# サードパーティアプリのリスト +# Liste von Drittanbieter-Apps ## クライアント todo diff --git a/src/docs/de-DE/general/changelog.md b/src/docs/de-DE/general/changelog.md index 6766a63b20..e8ee88f116 100644 --- a/src/docs/de-DE/general/changelog.md +++ b/src/docs/de-DE/general/changelog.md @@ -1,4 +1,4 @@ -# 更新履歴 +# Änderungshistorie
ℹ️ このサーバーの更新履歴です。Misskeyの最新のリリースについては、GitHubをご確認ください。
diff --git a/src/docs/de-DE/general/faq.md b/src/docs/de-DE/general/faq.md index aa8d688754..a5534797cf 100644 --- a/src/docs/de-DE/general/faq.md +++ b/src/docs/de-DE/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/de-DE/general/glossary.md b/src/docs/de-DE/general/glossary.md index e1bc6b7bae..9b3196efb7 100644 --- a/src/docs/de-DE/general/glossary.md +++ b/src/docs/de-DE/general/glossary.md @@ -1,4 +1,4 @@ -# 用語集 +# Glossar Misskeyに関する用語集です。 ## ActivityPub @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Instanz todo +## Benutzerdefinierte Emojis +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Instanzweit stummschalten ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Job-Warteschlange +アクティビティ配送などを順番に行うためのシステム。 + ## Sperren アカウントが使用不可に設定されている状態。 diff --git a/src/docs/de-DE/general/links.md b/src/docs/de-DE/general/links.md index 0d6bed82b0..048378fa24 100644 --- a/src/docs/de-DE/general/links.md +++ b/src/docs/de-DE/general/links.md @@ -1,4 +1,4 @@ -# リンク集 +# Links ## Webサイト - [Official Discord](https://discord.gg/Wp8gVStHW3) - Misskey公式Discordサーバー diff --git a/src/docs/de-DE/general/report-issue.md b/src/docs/de-DE/general/report-issue.md index 63527e32af..63c23aa5c8 100644 --- a/src/docs/de-DE/general/report-issue.md +++ b/src/docs/de-DE/general/report-issue.md @@ -1,4 +1,4 @@ -# 不具合の報告 +# Fehler melden 不具合と思われる状況に遭遇したときは、まず[トラブルシューティング](./troubleshooting)をご一読ください。 それでも問題が解決しないときは、以下の情報を含めて[フォーラム](https://forum.misskey.io/)に投稿してください。 投稿することで、解決策が見つかったり、不具合と判断されれば開発チームによって修正が行われます。 ## 含める情報 diff --git a/src/docs/en-US/features/mute-and-block.md b/src/docs/en-US/features/mute-and-block.md new file mode 100644 index 0000000000..a9e8fcc1cd --- /dev/null +++ b/src/docs/en-US/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Mutes and Blocks +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Mute +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Block +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/en-US/features/word-mute.md b/src/docs/en-US/features/word-mute.md new file mode 100644 index 0000000000..77283c8620 --- /dev/null +++ b/src/docs/en-US/features/word-mute.md @@ -0,0 +1,20 @@ +# Word mute +Through setting up word mutes, you can make notes satisfying set conditions not appear on your timeline anymore. + +There are two types of word mutes: soft and hard.Below is an explanation of the setup process and effect of both. + +## Soft word mute +With soft mutes, the word mute is processed within the client (app) you are using. + +When a note meets the set conditions, it will be hidden behind text stating "(username) said something". +You can display the note as it was by clicking on this text. + +## Hard word mute +With hard mutes, the server judges whether the content of a new incoming note meets the set conditions similar to antennas, and will completely exclude it from your timeline if so. + +To summarize, a hard word mute has the following features: + +* Only new notes created after configuration will be affected by the mute. +* If the conditions are changed, previously hard muted notes will still remain muted. +* Timelines will not be filled with "(...) said something". +* Hard mutes will function even for apps without functionality for soft mutes. diff --git a/src/docs/en-US/general/faq.md b/src/docs/en-US/general/faq.md index 37827903a8..32d3632983 100644 --- a/src/docs/en-US/general/faq.md +++ b/src/docs/en-US/general/faq.md @@ -23,3 +23,6 @@ Only administrators can add, edit or delete custom emoji. If you'd like to do ei ## "I want to develop a Bot." It is possible to develop a Bot using the Misskey API. Please, [see here](../advanced/develop-bot). + +## Which service does the note translation function use? +[DeepL](https://www.deepl.com/) is being used for this. diff --git a/src/docs/en-US/general/glossary.md b/src/docs/en-US/general/glossary.md index 9f6dde06f8..53164a0a59 100644 --- a/src/docs/en-US/general/glossary.md +++ b/src/docs/en-US/general/glossary.md @@ -49,14 +49,20 @@ Those users amongst all existing ones who are continually using their account. ## Instance todo +## Custom Emoji +Emoji provided by your server.Emoji that are not specifically provided by your server but are available by default are called "Unicode Emoji". + ## Control Panel -The settings screen of an instance. +todo ## Server todo ## Silence -A state in which the visibility of the notes by said user cannot be set to "Public" anymore.Can be set for individual users by Moderators.For details, see [here.](../features/silence) +A state in which the visibility of the notes by said user cannot be set to "Public" anymore.Can be set for individual users by the discretion of Moderators.For details, see [here.](../features/silence) + +## Job Queue +A system used for sequentially broadcasting activities to other servers etc. ## Suspend A state which makes the account of a user unusable. diff --git a/src/docs/en-US/general/links.md b/src/docs/en-US/general/links.md index 1952160359..11a44e894f 100644 --- a/src/docs/en-US/general/links.md +++ b/src/docs/en-US/general/links.md @@ -1,4 +1,4 @@ -# A collection of links +# Links ## Websites - [Official Discord](https://discord.gg/Wp8gVStHW3) - The official Discord server for Misskey diff --git a/src/docs/en-US/general/misskey.md b/src/docs/en-US/general/misskey.md index 50b34a80b1..8ae8982444 100644 --- a/src/docs/en-US/general/misskey.md +++ b/src/docs/en-US/general/misskey.md @@ -76,7 +76,7 @@ No.Misskey is a project completely different from Mastodon or other alike projec ### Are there any apps for iOS / Android available? While no official Misskey app for either OS exists, there are several third-party applications. For details, please check [here](./apps). -However, functionality of third-party applications will inevitably lag behind the official Web client, so unless you really want to use a native application, we recommend the official Web client instead. As the Misskey Web client supports PWA, it is possible to make it act as if it was a native application instead. For details regarding this, please check [here](todo). +However, functionality of third-party applications will inevitably lag behind the official Web client, so unless you really want to use a native application, we recommend the official Web client instead. As the Misskey Web client supports PWA, it is also possible to make it act as if it was a native application instead. For details regarding this, please check [here](todo). ### Where can I download Misskey's logo or icon? (Coming soon) diff --git a/src/docs/eo-UY/features/mute-and-block.md b/src/docs/eo-UY/features/mute-and-block.md new file mode 100644 index 0000000000..d38faf0d7d --- /dev/null +++ b/src/docs/eo-UY/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Silentigatoj kaj blokatoj +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Silentigi +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Bloki +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/eo-UY/features/word-mute.md b/src/docs/eo-UY/features/word-mute.md new file mode 100644 index 0000000000..81a7d6fe57 --- /dev/null +++ b/src/docs/eo-UY/features/word-mute.md @@ -0,0 +1,20 @@ +# Silentigo de vortoj +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/eo-UY/general/faq.md b/src/docs/eo-UY/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/eo-UY/general/faq.md +++ b/src/docs/eo-UY/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/eo-UY/general/glossary.md b/src/docs/eo-UY/general/glossary.md index 61dfe57f13..9050c592b9 100644 --- a/src/docs/eo-UY/general/glossary.md +++ b/src/docs/eo-UY/general/glossary.md @@ -50,30 +50,36 @@ Ai estas oficiala maskoto de Misskey. todo ## Ŝaltpodio -インスタンスの設定画面のこと。 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + +## コントロールパネル +todo ## Servilo todo ## Mutigi -A state in which the visibility of the notes by said user cannot be set to "Publika" anymore.Can be set for individual users by Moderators.Rigardu por sciu pli tie[.](../features/silence) +ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) + +## Disko +アクティビティ配送などを順番に行うためのシステム。 ## Flostigi アカウントが使用不可に設定されている状態。 -## Disko +## Miskiisto Misskeyにアップロードしたファイルを管理する機能。詳細は[こちら。](../features/drive) ## Notoj Misskeyに投稿される、文章、ファイル、アンケートなどを含めることができるコンテンツ。詳細は[こちら。](../features/note) -## Miskiisto -Uzuloj de Misskey. +## Transa aŭ fora +Misskeyを使う人のこと。 ## Moderigisto スパムの凍結およびサイレンスや不適切な投稿の削除など、コミュニティ運営に関する権限を持つユーザー。 -## Transa aŭ fora +## Transa 他サーバーのことを指します。リモートユーザーといったように接頭辞としても使われます。ローカルの逆です。 ## Kunfederaĵo diff --git a/src/docs/es-ES/features/mute-and-block.md b/src/docs/es-ES/features/mute-and-block.md new file mode 100644 index 0000000000..b876f898b9 --- /dev/null +++ b/src/docs/es-ES/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Silenciar y bloquear +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Silenciar +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Bloquear +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/es-ES/features/word-mute.md b/src/docs/es-ES/features/word-mute.md new file mode 100644 index 0000000000..3e3bec2902 --- /dev/null +++ b/src/docs/es-ES/features/word-mute.md @@ -0,0 +1,20 @@ +# Silenciar palabras +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/es-ES/general/faq.md b/src/docs/es-ES/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/es-ES/general/faq.md +++ b/src/docs/es-ES/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/es-ES/general/glossary.md b/src/docs/es-ES/general/glossary.md index bf50b857a1..4bef9068fd 100644 --- a/src/docs/es-ES/general/glossary.md +++ b/src/docs/es-ES/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Instancia todo +## Emojis personalizados +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Silenciar ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Cola de trabajos +アクティビティ配送などを順番に行うためのシステム。 + ## Suspender アカウントが使用不可に設定されている状態。 diff --git a/src/docs/fr-FR/features/mute-and-block.md b/src/docs/fr-FR/features/mute-and-block.md new file mode 100644 index 0000000000..9f4cfd39b8 --- /dev/null +++ b/src/docs/fr-FR/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Masqué·e·s / Bloqué·e·s +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Masquer +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Bloquer +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/fr-FR/features/note.md b/src/docs/fr-FR/features/note.md index f4cd98c0d7..9aa6de7de7 100644 --- a/src/docs/fr-FR/features/note.md +++ b/src/docs/fr-FR/features/note.md @@ -12,7 +12,7 @@
ℹ️ コンピューターのクリップボードに画像データがある状態で、フォーム内のテキストボックスにペーストするとその画像を添付することができます。
ℹ️ テキストボックス内でCtrl + Enterを押すことでも投稿できます。
-## Partager +## Renoter 既にあるノートを引用、もしくはそのノートを新しいノートとして共有する行為、またそれによって作成されたノートをRenoteと呼びます。 自分がフォローしているユーザーの、気に入ったノートを自分のフォロワーに共有したい場合や、過去の自分のノートを再度共有したい場合に使います。 同じノートに対して無制限にRenoteを行うことができますが、あまり連続して使用すると迷惑になる場合もあるので、注意しましょう。
⚠️ 公開範囲がフォロワーやダイレクトのノートはRenoteできません
diff --git a/src/docs/fr-FR/features/word-mute.md b/src/docs/fr-FR/features/word-mute.md new file mode 100644 index 0000000000..84935a4284 --- /dev/null +++ b/src/docs/fr-FR/features/word-mute.md @@ -0,0 +1,20 @@ +# Filtre de mots +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/fr-FR/general/faq.md b/src/docs/fr-FR/general/faq.md index 2a82eed4fd..0ec7159ebd 100644 --- a/src/docs/fr-FR/general/faq.md +++ b/src/docs/fr-FR/general/faq.md @@ -2,9 +2,9 @@ Vous trouverez ici les questions les plus fréquentes sur l'utilisation de Misskey. Les questions fréquentes concernant Misskey en tant que projet sont publiées [sur cette page](./misskey). ## « Existe-t-il des appli pour Android / iOS ? » -公式にはそういったOSのネイティブアプリを開発していませんが、サードパーティ製のアプリがいくつかあります。 詳しくは[こちら](./apps)をご覧ください。 +Bien qu'il n'existe d'application Misskey officielle pour aucun OS, différentes applications développées par des tiers sont disponibles. [Voir ici](./apps) pour plus de détails. -ただ、サードパーティ製アプリはどうしても機能への対応が遅れてしまうため、とくに拘りがなければ公式のWebクライアントの利用をおすすめします。 なお、MisskeyのWebクライアントはPWAに対応しているので、ネイティブアプリのように動作させることも可能です。 詳しくは[こちら](todo)をご覧ください。 +Cependant, à moins que vous ne soyez particulièrement déterminé·e à utiliser une application dédiée, l'utilisation du client Web officiel est vivement recommandée du fait que les applications développées par des tiers seront forcément en retard par rapport à celui-ci. Par ailleurs, étant donné que le client Web de Misskey est compatible avec une PWA, il peut adopter le comportement d'une application native. [Voir ici](todo) pour plus d'informations. ## « Ne peut-on pas utiliser un client Mastodon pour se connecter à Misskey ? » Étant donné que Misskey n'est pas compatible avec l'API Mastodon, sauf cas exceptionnels, il n'est pas possible d'utiliser un client Mastodon pour Misskey. @@ -23,3 +23,6 @@ Seul·e·s les administrateur·rice·s peuvent ajouter, éditer ou effacer des ## « Je veux créer un Bot. » Vous pouvez développer un Bot en utilisant l'API de Misskey. Plus d'informations sur [cette page](../advanced/develop-bot). + +## « Quel est le service utilisé pour la fonctionnalité de traduction des notes ? » +Il s'agit de [DeepL](https://www.deepl.com/). diff --git a/src/docs/fr-FR/general/glossary.md b/src/docs/fr-FR/general/glossary.md index 679e7476b0..441a2b5bc4 100644 --- a/src/docs/fr-FR/general/glossary.md +++ b/src/docs/fr-FR/general/glossary.md @@ -34,7 +34,7 @@ Misskeyに関する用語集です。 ## NSFW (読み: のっとせーふふぉーわーく) Not Safe For Workの略。画像を「閲覧注意」扱いにし、操作なしには表示しないようにすることができる機能。 -## Partager +## Renoter (読み: りのーと) 既にあるノートを引用、もしくはそのノートを新しいノートとして共有する行為、またそれによって作成されたノート。詳細は[こちら。](../features/note) ## STL @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Instance todo +## Émojis personnalisés +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Mettre en sourdine ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## File d’attente +アクティビティ配送などを順番に行うためのシステム。 + ## Suspendre アカウントが使用不可に設定されている状態。 diff --git a/src/docs/fr-FR/general/misskey.md b/src/docs/fr-FR/general/misskey.md index c56c5a99f0..1fb7008cee 100644 --- a/src/docs/fr-FR/general/misskey.md +++ b/src/docs/fr-FR/general/misskey.md @@ -75,9 +75,9 @@ Misskeyは開発が進むにつれ使用する技術も大きく変わってき いいえ。MisskeyはMastodonやその他のプロジェクトとは全く別のプロジェクトです。 開発に関しても、Misskeyの方が昔から開発されています。ただし、分散型になったのはMastodonの登場より後です。 同じActivityPubという分散のためのプロトコルを実装しているという点以外、両者に特に関りがあるわけでもありません。 ### « Existe-t-il des appli pour Android / iOS ? » -公式にはそういったOSのネイティブアプリを開発していませんが、サードパーティ製のアプリがいくつかあります。 詳しくは[こちら](./apps)をご覧ください。 +Bien qu'il n'existe d'application Misskey officielle pour aucun OS, différentes applications développées par des tiers sont disponibles. [Voir ici](./apps) pour plus de détails. -ただ、サードパーティ製アプリはどうしても機能への対応が遅れてしまうため、とくに拘りがなければ公式のWebクライアントの利用をおすすめします。 なお、MisskeyのWebクライアントはPWAに対応しているので、ネイティブアプリのように動作させることも可能です。 詳しくは[こちら](todo)をご覧ください。 +Cependant, à moins que vous ne soyez particulièrement déterminé·e à utiliser une application dédiée, l'utilisation du client Web officiel est vivement recommandée du fait que les applications développées par des tiers seront forcément en retard par rapport à celui-ci. Par ailleurs, étant donné que le client Web de Misskey est compatible avec une PWA, il peut adopter le comportement d'une application native. [Voir ici](todo) pour plus d'informations. ### Misskeyのロゴ、アイコンはどこで入手できますか? (準備中) diff --git a/src/docs/fr-FR/general/troubleshooting.md b/src/docs/fr-FR/general/troubleshooting.md index 3627babb34..7cdaebe8e3 100644 --- a/src/docs/fr-FR/general/troubleshooting.md +++ b/src/docs/fr-FR/general/troubleshooting.md @@ -1,19 +1,19 @@ # Résolution des problèmes
ℹ️ N'hésitez pas à consulter les Questions fréquentes en complément de cette page.
-問題が発生したときは、まずこちらをご確認ください。 該当する項目が無い、もしくは手順を試しても効果がない場合は、サーバーの管理者に連絡するか[不具合を報告](./report-issue)してください。 +Lorsque vous rencontrez un problème, nous vous prions de lire cette page tout d'abord. Si toutefois aucun des paragraphes ci-dessous ne correspond à votre problème, ou bien si vous n'arrivez pas à le résoudre en suivant les instructions détaillées ici, nous vous invitons à contacter l'administrateur·rice de votre instance ou à [Signaler un bug](./report-issue). ## Le client ne démarre pas -ほとんどの場合、お使いのブラウザまたはOSのバージョンが古いことが原因です。 ブラウザおよびOSのバージョンを最新のものに更新してから、再度試してみてください。 +Généralement, ce problème est dû au fait que vous utilisez une version trop ancienne de votre navigateur ou de votre système d'exploitation. Effectuez les mises à jour pour chacun d'eux vers leurs versions les plus récentes, puis essayez à nouveau. -これは稀ですが、それでも起動しない場合は、キャッシュが原因の場合があります。ブラウザのキャッシュをクリアして、再度試してみてください。 +Cela arrive rarement, mais si votre client ne démarre toujours pas après cela, le problème vient du cache. Dans ce cas, videz le cache et essayez à nouveau. -## ページが読み込めない -クライアントが起動するもののページが読み込めないというエラーが出る場合は、ネットワークに問題がないか確認してください。また、サーバーがダウンしていないか確認してください。 +## La page ne charge pas +Si votre client démarre mais qu'un message d'erreur apparaît lors du chargement de la page, assurez-vous qu'il ne s'agit pas d'un problème de connexion au réseau. Assurez-vous également que votre serveur n'est pas temporairement inaccessible. -これは稀ですが、キャッシュが原因の場合があります。ブラウザのキャッシュをクリアして、再度試してみてください。 +Bien que cela arrive rarement, il se peut que le cache soit à l'origine du problème. Dans ce cas, videz le cache et essayez à nouveau. -まだ問題がある場合は、サーバーの問題と思われるのでサーバーの管理者に連絡してください。 +Si le problème persiste malgré tout, il est très probable qu'il s'agisse d'une panne côté serveur ; nous vous invitons donc à contacter l'administrateur·rice de votre instance. ## Le client est lent 以下を試してみてください: @@ -31,10 +31,10 @@ 点滅は、未読のコンテンツがあることを示しています。通常点滅が消えない場合は、コンテンツを遡ると未読なコンテンツが残っています。 すべて既読にしたと思われるのに、それでもなお点滅が続く場合(おそらく不具合と思われます)は設定から強制的にすべて既読扱いにすることができます。 ## La fonction « Renoter » ne fonctionne pas -フォロワー限定のノートはRenoteすることはできません。 +Les notes dont l'audience est limitée aux « Abonné·e·s uniquement » ne peuvent pas être renotées. ## Des éléments spécifiques de l'interface ne s'affichent pas 広告ブロッカーを使用しているとそのような不具合が発生することがあります。Misskeyではオフにしてご利用ください。 ## Certaines parties de l'interface ne sont pas traduites -ほとんどの場合、単に翻訳が間に合っていないだけで、不具合ではありません。翻訳が終わるまでお待ちください。 [翻訳に参加](./misskey)していただくことも可能です。 +La plupart du temps, cela n'est pas un bug mais simplement un problème de traduction qui n'a pas encore été faite. Merci de patienter jusqu'à ce que la traduction de la portion en question soit achevée. Vous pouvez également [aider à traduire](./misskey) Misskey. diff --git a/src/docs/ht-HT/features/mute-and-block.md b/src/docs/ht-HT/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/ht-HT/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/ht-HT/features/word-mute.md b/src/docs/ht-HT/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/ht-HT/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/ht-HT/general/faq.md b/src/docs/ht-HT/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/ht-HT/general/faq.md +++ b/src/docs/ht-HT/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/ht-HT/general/glossary.md b/src/docs/ht-HT/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/ht-HT/general/glossary.md +++ b/src/docs/ht-HT/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/id-ID/features/mute-and-block.md b/src/docs/id-ID/features/mute-and-block.md new file mode 100644 index 0000000000..2444a8d43c --- /dev/null +++ b/src/docs/id-ID/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Bisukan / Blokir +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Bisukan +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Blokir +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/id-ID/features/word-mute.md b/src/docs/id-ID/features/word-mute.md new file mode 100644 index 0000000000..811de5279d --- /dev/null +++ b/src/docs/id-ID/features/word-mute.md @@ -0,0 +1,20 @@ +# Bisukan kata +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/id-ID/general/faq.md b/src/docs/id-ID/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/id-ID/general/faq.md +++ b/src/docs/id-ID/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/id-ID/general/glossary.md b/src/docs/id-ID/general/glossary.md index b8cd78bc65..95945e8f00 100644 --- a/src/docs/id-ID/general/glossary.md +++ b/src/docs/id-ID/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Instansi todo +## Emoji kustom +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Bungkam ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Antrian kerja +アクティビティ配送などを順番に行うためのシステム。 + ## Bekukan アカウントが使用不可に設定されている状態。 diff --git a/src/docs/it-IT/features/mute-and-block.md b/src/docs/it-IT/features/mute-and-block.md new file mode 100644 index 0000000000..bf32966022 --- /dev/null +++ b/src/docs/it-IT/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Silenziati / Bloccati +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Silenzia +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Blocca +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/it-IT/features/word-mute.md b/src/docs/it-IT/features/word-mute.md new file mode 100644 index 0000000000..3104147f28 --- /dev/null +++ b/src/docs/it-IT/features/word-mute.md @@ -0,0 +1,20 @@ +# Filtri parole +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/it-IT/general/faq.md b/src/docs/it-IT/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/it-IT/general/faq.md +++ b/src/docs/it-IT/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/it-IT/general/glossary.md b/src/docs/it-IT/general/glossary.md index 8564693cfe..b7ec7bddf4 100644 --- a/src/docs/it-IT/general/glossary.md +++ b/src/docs/it-IT/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Istanza todo +## Emoji personalizzati +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Silenzia ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Coda di lavoro +アクティビティ配送などを順番に行うためのシステム。 + ## Sospendi アカウントが使用不可に設定されている状態。 diff --git a/src/docs/ja-KS/admin/disable-timelines.md b/src/docs/ja-KS/admin/disable-timelines.md index b081e35ab0..55e9023655 100644 --- a/src/docs/ja-KS/admin/disable-timelines.md +++ b/src/docs/ja-KS/admin/disable-timelines.md @@ -1,8 +1,8 @@ # LTL/STL/GTLの無効化 -Misskeyでは、LTL/STL/GTLをそれぞれ無効化することができます。有効/無効を切り替えるには、インスタンスコントロールパネルで設定します。 +Misskeyでは、LTL/STL/GTLをそれぞれ無効化することができるで。有効/無効を切り替えるんは、インスタンスコントロールパネルで設定しいや。 -LTLやSTLは、そのインスタンス全員の投稿が見れるため、新規のユーザーにとってはユーザーを探す必要がなくなり、興味のあるユーザーを見つけやすいという利点があります。 しかし同時に、フォロー機能が活用されなくなったり、不適切な投稿が目につきやすくなったり、チャットのようになることで内輪感が生じて逆に新規ユーザーが参加しにくくなるといったデメリットも持ち合わせています。 サーバーによってメリット/デメリットどちらが優勢かは異なるので、オプションとして無効にできるようになっています。 もしデメリットの方が上回っていると感じたら、それらのタイムラインを無効化することも検討してください。 +LTLやSTLでは、そのインスタンス全員の投稿が見えるから、新規のユーザーにとってはユーザー探す必要がのうなって、興味のあるユーザーを見つけやすいゆう利点があるで。 でも同時にな、フォロー機能が活用されんくなったり、不適切な投稿が目につきやすうなったり、チャットみたいにのうて内輪感ができて逆に新規ユーザーがあんまし参加せんようなるないなデメリットも持ち合わせとうで。 サーバーによってメリット/デメリットどっちがようさんあるかはちゃうから、オプションとして無効にできるようなっとんねん。 デメリットの方が上回っとう思たら、それらのタイムラインを無効化することも検討しいや。 -
⚠️ 無効化を行うと、ユーザーが困惑し、短期的に見て利用者が減る可能性があります。そのため、無効化の際は影響を慎重に検討し、事前に説明してフォローを整える期間を一定程度設けることを推奨します。
+
⚠️無効化したら、ユーザーがややこしがって短期的に見て利用者が減るかもわからへん。せやから、無効化するゆう時は影響をよう検討して、事前に説明してフォローを整える期間を一定程度設けるんを推奨するで。
-なお、管理者/モデレーターは、これらのタイムラインの無効化状態は適用されず、引き続き利用することが可能です。 +ちなみに、管理者/モデレーターは、これらのタイムラインの無効化状態は適用されんと、引き続き利用できるで。 diff --git a/src/docs/ja-KS/admin/faq.md b/src/docs/ja-KS/admin/faq.md index 317b4e0655..ac98c469af 100644 --- a/src/docs/ja-KS/admin/faq.md +++ b/src/docs/ja-KS/admin/faq.md @@ -1,5 +1,5 @@ -# よくある質問 -ここでは、サーバー管理者向けのよくある質問を掲載しています。 +# ようある質問 +ここでは、サーバー管理者向けのようある質問を掲載しとうで。 ## デフォルトテーマを設定したい -現在、デフォルトテーマ設定機能は実装されていません。 +今んとこ、デフォルトテーマ設定機能は実装されとらへん。 diff --git a/src/docs/ja-KS/advanced/aiscript.md b/src/docs/ja-KS/advanced/aiscript.md index 604d17daa8..0d98036d0f 100644 --- a/src/docs/ja-KS/advanced/aiscript.md +++ b/src/docs/ja-KS/advanced/aiscript.md @@ -1,7 +1,7 @@ # AiScript -AiScriptは、Misskeyで使用できるスクリプト言語です。 +AiScriptは、Misskeyで使用できるスクリプト言語や。 -
ℹ️ AiScript実装はMisskeyとは別リポジトリで、オープンソースで公開されています。
+
ℹ️ AiScript実装はMisskeyとは別リポジトリで、オープンソースで公開されようで。
-## 使い方 -AiScriptの構文や組み込み関数などのドキュメントは、[こちら](https://github.com/syuilo/aiscript/tree/master/docs)で公開されています。 +## どないして使うん? +AiScriptの構文や組み込み関数などのドキュメントは、[こちら](https://github.com/syuilo/aiscript/tree/master/docs)で公開されよる。 diff --git a/src/docs/ja-KS/features/mute-and-block.md b/src/docs/ja-KS/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/ja-KS/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/ja-KS/features/reaction.md b/src/docs/ja-KS/features/reaction.md index 4d479fd416..3a3d23201c 100644 --- a/src/docs/ja-KS/features/reaction.md +++ b/src/docs/ja-KS/features/reaction.md @@ -1,11 +1,11 @@ # リアクション -他の人のノートに、絵文字を付けて簡単にあなたの反応を伝えられる機能です。 リアクションするには、ノートの + アイコンをクリックしてピッカーを表示し、絵文字を選択します。 リアクションには[カスタム絵文字](./custom-emoji)も使用できます。 +他人のノートに、絵文字を付けて簡単に自分の反応を伝えられる機能や。 リアクションすんには、ノートの + アイコンをクリックしてピッカーを表示して、絵文字を選択したらええ。 リアクションには[カスタム絵文字](./custom-emoji)も使用できんで。 ## リアクションピッカーのカスタマイズ -ピッカーに表示される絵文字を自分好みにカスタマイズすることができます。 設定の「リアクション」で設定します。 +ピッカーに表示されよう絵文字を自分好みにカスタマイズできるで。 設定の「リアクション」で設定しいや。 ## リモート投稿へのリアクションについて -リアクションはMisskeyオリジナルの機能であるため、リモートインスタンスがMisskeyでない限りは、ほとんどの場合「Like」としてアクティビティが送信されます。一般的にはLikeは「お気に入り」として実装されているようです。 +リアクションはMisskeyオリジナルの機能やから、リモートインスタンスがMisskeyちゃうかったら、ほとんどの場合「Like」としてアクティビティが送信されんで。一般的にLikeは「お気に入り」として実装されようみたいや。 ## リモートからのリアクションについて -リモートから「Like」アクティビティを受信したとき、Misskeyでは「👍」のリアクションとして解釈されます。 +リモートから「Like」のアクティビティを受信したら、Misskeyでは「👍」のリアクションとして解釈されるで。 diff --git a/src/docs/ja-KS/features/word-mute.md b/src/docs/ja-KS/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/ja-KS/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/ja-KS/general/faq.md b/src/docs/ja-KS/general/faq.md index 1d0a63ce15..7da2423434 100644 --- a/src/docs/ja-KS/general/faq.md +++ b/src/docs/ja-KS/general/faq.md @@ -1,4 +1,4 @@ -# よくある質問 +# ようある質問 ここでは利用上のよくある質問について掲載しています。 Misskeyのプロジェクト自体についてのよくある質問は[こちら](./misskey)に掲載されています。 ## iOS/Androidのアプリはありますか? @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/ja-KS/general/glossary.md b/src/docs/ja-KS/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/ja-KS/general/glossary.md +++ b/src/docs/ja-KS/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/ja-KS/general/misskey.md b/src/docs/ja-KS/general/misskey.md index 3a24502e50..4bb6ca657a 100644 --- a/src/docs/ja-KS/general/misskey.md +++ b/src/docs/ja-KS/general/misskey.md @@ -43,7 +43,7 @@ Misskeyはビジネスではなく、利用は無料であるため、収益は ## クレジット Misskeyの開発者や、Misskeyに寄付をしてくださった方の一覧は[こちら](/about-misskey)で見ることができます。 -## よくある質問 +## ようある質問 ### プロジェクトは何を目指していますか? 強いて言うと、漠然的になりますが広く使われる汎用的なプラットフォームになることを目指しています。 Misskeyは他のプロジェクトとは違い、何らかの思想(例えば、反中央集権)やビジョンに基づいて開発が行われているわけではなく、その点ではフラットです。 それが逆に、特定の方向性に縛られないフレキシブルさを生み出すことに繋がっていると感じています。 diff --git a/src/docs/jbo-EN/features/mute-and-block.md b/src/docs/jbo-EN/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/jbo-EN/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/jbo-EN/features/word-mute.md b/src/docs/jbo-EN/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/jbo-EN/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/jbo-EN/general/faq.md b/src/docs/jbo-EN/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/jbo-EN/general/faq.md +++ b/src/docs/jbo-EN/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/jbo-EN/general/glossary.md b/src/docs/jbo-EN/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/jbo-EN/general/glossary.md +++ b/src/docs/jbo-EN/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/kab-KAB/features/mute-and-block.md b/src/docs/kab-KAB/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/kab-KAB/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/kab-KAB/features/word-mute.md b/src/docs/kab-KAB/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/kab-KAB/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/kab-KAB/general/faq.md b/src/docs/kab-KAB/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/kab-KAB/general/faq.md +++ b/src/docs/kab-KAB/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/kab-KAB/general/glossary.md b/src/docs/kab-KAB/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/kab-KAB/general/glossary.md +++ b/src/docs/kab-KAB/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/kn-IN/features/mute-and-block.md b/src/docs/kn-IN/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/kn-IN/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/kn-IN/features/word-mute.md b/src/docs/kn-IN/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/kn-IN/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/kn-IN/general/faq.md b/src/docs/kn-IN/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/kn-IN/general/faq.md +++ b/src/docs/kn-IN/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/kn-IN/general/glossary.md b/src/docs/kn-IN/general/glossary.md index 02fb1b92bc..a560d22240 100644 --- a/src/docs/kn-IN/general/glossary.md +++ b/src/docs/kn-IN/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## ನಿದರ್ಶನ todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/ko-KR/features/mute-and-block.md b/src/docs/ko-KR/features/mute-and-block.md new file mode 100644 index 0000000000..fa063cc2db --- /dev/null +++ b/src/docs/ko-KR/features/mute-and-block.md @@ -0,0 +1,41 @@ +# 뮤트 및 차단 +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## 뮤트 +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## 차단 +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/ko-KR/features/word-mute.md b/src/docs/ko-KR/features/word-mute.md new file mode 100644 index 0000000000..0138224db0 --- /dev/null +++ b/src/docs/ko-KR/features/word-mute.md @@ -0,0 +1,20 @@ +# 단어 뮤트 +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/ko-KR/general/faq.md b/src/docs/ko-KR/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/ko-KR/general/faq.md +++ b/src/docs/ko-KR/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/ko-KR/general/glossary.md b/src/docs/ko-KR/general/glossary.md index 3edb33a73b..09ab838a39 100644 --- a/src/docs/ko-KR/general/glossary.md +++ b/src/docs/ko-KR/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## 인스턴스 todo +## 커스텀 이모지 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## 사일런스 ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## 작업 대기열 +アクティビティ配送などを順番に行うためのシステム。 + ## 정지 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/nl-NL/features/mute-and-block.md b/src/docs/nl-NL/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/nl-NL/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/nl-NL/features/word-mute.md b/src/docs/nl-NL/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/nl-NL/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/nl-NL/general/faq.md b/src/docs/nl-NL/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/nl-NL/general/faq.md +++ b/src/docs/nl-NL/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/nl-NL/general/glossary.md b/src/docs/nl-NL/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/nl-NL/general/glossary.md +++ b/src/docs/nl-NL/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/no-NO/features/mute-and-block.md b/src/docs/no-NO/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/no-NO/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/no-NO/features/word-mute.md b/src/docs/no-NO/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/no-NO/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/no-NO/general/faq.md b/src/docs/no-NO/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/no-NO/general/faq.md +++ b/src/docs/no-NO/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/no-NO/general/glossary.md b/src/docs/no-NO/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/no-NO/general/glossary.md +++ b/src/docs/no-NO/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/pl-PL/features/mute-and-block.md b/src/docs/pl-PL/features/mute-and-block.md new file mode 100644 index 0000000000..dab2d2fc37 --- /dev/null +++ b/src/docs/pl-PL/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Wycisz / Zablokuj +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Wycisz +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Zablokuj +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/pl-PL/features/word-mute.md b/src/docs/pl-PL/features/word-mute.md new file mode 100644 index 0000000000..6896b5374d --- /dev/null +++ b/src/docs/pl-PL/features/word-mute.md @@ -0,0 +1,20 @@ +# Wyciszenie słowa +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/pl-PL/general/faq.md b/src/docs/pl-PL/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/pl-PL/general/faq.md +++ b/src/docs/pl-PL/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/pl-PL/general/glossary.md b/src/docs/pl-PL/general/glossary.md index 8a24bd214c..9e51aaa523 100644 --- a/src/docs/pl-PL/general/glossary.md +++ b/src/docs/pl-PL/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Instancja todo +## Niestandardowe emoji +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Wycisz ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Kolejka zadań +アクティビティ配送などを順番に行うためのシステム。 + ## Zawieś アカウントが使用不可に設定されている状態。 diff --git a/src/docs/pt-PT/features/mute-and-block.md b/src/docs/pt-PT/features/mute-and-block.md new file mode 100644 index 0000000000..9846a9ee43 --- /dev/null +++ b/src/docs/pt-PT/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Silenciar +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/pt-PT/features/word-mute.md b/src/docs/pt-PT/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/pt-PT/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/pt-PT/general/faq.md b/src/docs/pt-PT/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/pt-PT/general/faq.md +++ b/src/docs/pt-PT/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/pt-PT/general/glossary.md b/src/docs/pt-PT/general/glossary.md index 666f703585..5e31b0d4be 100644 --- a/src/docs/pt-PT/general/glossary.md +++ b/src/docs/pt-PT/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/ru-RU/features/mute-and-block.md b/src/docs/ru-RU/features/mute-and-block.md new file mode 100644 index 0000000000..7b2c74c26e --- /dev/null +++ b/src/docs/ru-RU/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Скрытие и блокировка +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Скрыть +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Заблокировать +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/ru-RU/features/word-mute.md b/src/docs/ru-RU/features/word-mute.md new file mode 100644 index 0000000000..e8671bbc6e --- /dev/null +++ b/src/docs/ru-RU/features/word-mute.md @@ -0,0 +1,20 @@ +# Скрытие слов +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/ru-RU/general/faq.md b/src/docs/ru-RU/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/ru-RU/general/faq.md +++ b/src/docs/ru-RU/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/ru-RU/general/glossary.md b/src/docs/ru-RU/general/glossary.md index 573dd2a327..c87e622a02 100644 --- a/src/docs/ru-RU/general/glossary.md +++ b/src/docs/ru-RU/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Инстанс todo +## Эмодзи пользователя +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Заглушить ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Очередь заданий +アクティビティ配送などを順番に行うためのシステム。 + ## Заморозить アカウントが使用不可に設定されている状態。 diff --git a/src/docs/th-TH/features/mute-and-block.md b/src/docs/th-TH/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/th-TH/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/th-TH/features/word-mute.md b/src/docs/th-TH/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/th-TH/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/th-TH/general/faq.md b/src/docs/th-TH/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/th-TH/general/faq.md +++ b/src/docs/th-TH/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/th-TH/general/glossary.md b/src/docs/th-TH/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/th-TH/general/glossary.md +++ b/src/docs/th-TH/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/ug-CN/features/mute-and-block.md b/src/docs/ug-CN/features/mute-and-block.md new file mode 100644 index 0000000000..d78a7cea49 --- /dev/null +++ b/src/docs/ug-CN/features/mute-and-block.md @@ -0,0 +1,41 @@ +# ミュートとブロック +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## ミュート +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## ブロック +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/ug-CN/features/word-mute.md b/src/docs/ug-CN/features/word-mute.md new file mode 100644 index 0000000000..fa4d14346d --- /dev/null +++ b/src/docs/ug-CN/features/word-mute.md @@ -0,0 +1,20 @@ +# ワードミュート +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/ug-CN/general/faq.md b/src/docs/ug-CN/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/ug-CN/general/faq.md +++ b/src/docs/ug-CN/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/ug-CN/general/glossary.md b/src/docs/ug-CN/general/glossary.md index b2a1fb626f..bb8a243369 100644 --- a/src/docs/ug-CN/general/glossary.md +++ b/src/docs/ug-CN/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## インスタンス todo +## カスタム絵文字 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## サイレンス ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## ジョブキュー +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 diff --git a/src/docs/uk-UA/features/mute-and-block.md b/src/docs/uk-UA/features/mute-and-block.md new file mode 100644 index 0000000000..f9f6f0cb8f --- /dev/null +++ b/src/docs/uk-UA/features/mute-and-block.md @@ -0,0 +1,41 @@ +# Заглушення і блокування +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## Ігнорувати +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## Заблокувати +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/uk-UA/features/word-mute.md b/src/docs/uk-UA/features/word-mute.md new file mode 100644 index 0000000000..73b41af281 --- /dev/null +++ b/src/docs/uk-UA/features/word-mute.md @@ -0,0 +1,20 @@ +# Блокування слів +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/uk-UA/general/faq.md b/src/docs/uk-UA/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/uk-UA/general/faq.md +++ b/src/docs/uk-UA/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/uk-UA/general/glossary.md b/src/docs/uk-UA/general/glossary.md index 9cf155943b..38f46670f9 100644 --- a/src/docs/uk-UA/general/glossary.md +++ b/src/docs/uk-UA/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## Інстанс todo +## Кастомні емоджі +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## Заглушити ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## Черга завдань +アクティビティ配送などを順番に行うためのシステム。 + ## Призупинити アカウントが使用不可に設定されている状態。 diff --git a/src/docs/zh-CN/features/mute-and-block.md b/src/docs/zh-CN/features/mute-and-block.md new file mode 100644 index 0000000000..39ed8459d0 --- /dev/null +++ b/src/docs/zh-CN/features/mute-and-block.md @@ -0,0 +1,41 @@ +# 屏蔽/拉黑 +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## 屏蔽 +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## 拉黑 +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/zh-CN/features/word-mute.md b/src/docs/zh-CN/features/word-mute.md new file mode 100644 index 0000000000..a1bd1918c9 --- /dev/null +++ b/src/docs/zh-CN/features/word-mute.md @@ -0,0 +1,20 @@ +# 文字屏蔽 +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/zh-CN/general/faq.md b/src/docs/zh-CN/general/faq.md index a430103eb0..b7f159c374 100644 --- a/src/docs/zh-CN/general/faq.md +++ b/src/docs/zh-CN/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## 想要开发一个Bot机器人 您可以使用 Misskey API 开发Bot机器人。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/zh-CN/general/glossary.md b/src/docs/zh-CN/general/glossary.md index 6ebd344db0..58cb1a9eeb 100644 --- a/src/docs/zh-CN/general/glossary.md +++ b/src/docs/zh-CN/general/glossary.md @@ -1,5 +1,5 @@ -# 用語集 -Misskeyに関する用語集です。 +# 术语表 +Misskey相关术语的词汇表。 ## ActivityPub (読み: あくてぃびてぃぱぶ) 分散型を実現するために用いられるプロトコル(仕様)。このプロトコルに則ってサーバー同士通信を行うことで、連合が行われ、Fediverseを形成しています。 @@ -40,7 +40,7 @@ Misskeyに関する用語集です。 ## STL ソーシャルタイムライン(Social TimeLine)の略。タイムラインの詳細は[こちら。](../features/timeline) -## 藍 +## 蓝 (読み: あい) Misskeyの看板娘(公式キャラクター)です。 ## アクティブユーザー @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## 实例 todo +## 自定义表情符号 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -56,13 +59,16 @@ todo todo ## 禁言 -ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。详情请看[这里。](../features/silence) + +## 作业队列 +アクティビティ配送などを順番に行うためのシステム。 ## 冻结 アカウントが使用不可に設定されている状態。 ## 网盘 -Misskeyにアップロードしたファイルを管理する機能。詳細は[こちら。](../features/drive) +Misskeyにアップロードしたファイルを管理する機能。详情请看[这里。](../features/drive) ## 帖子 Misskeyに投稿される、文章、ファイル、アンケートなどを含めることができるコンテンツ。詳細は[こちら。](../features/note) diff --git a/src/docs/zh-TW/features/mute-and-block.md b/src/docs/zh-TW/features/mute-and-block.md new file mode 100644 index 0000000000..baf0616a47 --- /dev/null +++ b/src/docs/zh-TW/features/mute-and-block.md @@ -0,0 +1,41 @@ +# 靜音和封鎖 +好みではないユーザーがいる場合は、ミュートを行うことでそのユーザーが自分から見えないようにすることができます。 また、より強力な措置として、ブロックを行うことでそのユーザーから自分のコンテンツが見えないようになるほか、自分に対して関わることができないようにすることができます。 ミュートされていることは相手は分かりませんが、ブロックされていることは相手に分かります。どちらを選ぶかはご自身の判断で行ってください。 + +
ℹ️ ミュートとブロックは併用できます。
+ +
⚠️ 利用規約に違反するような、迷惑なユーザーがいる場合は運営者に報告することも検討してください。
+ +設定>ミュートとブロック から、自分がミュートまたはブロックしているユーザー一覧を確認することができます。 + +## 靜音 +ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります: + +- タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote) +- そのユーザーからの通知 +- メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴 +- など + +ユーザーをミュートするには、対象のユーザーのユーザーページのメニューを開き、「ミュート」ボタンを押します。 + +
ℹ️ ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
+ +## 封鎖 +ユーザーをブロックすると、そのユーザーからあなたのコンテンツが見えないようになり、またあなたに対して以下のようなアクションをすることができなくなります。 + +- フォローする +- ユーザーリストに追加する +- 返信する、Renoteする +- リアクションする、アンケートに投票する +- メッセージを送信する +- など + +また、 + +- ブロックする際に既にそのユーザーからフォローされていた場合はフォローが解除されます。 +- ブロックする際に既にそのユーザーがあなたをユーザーリストに入れていた場合はそのリストからあなたが削除されます。 + +ユーザーをブロックするには、対象のユーザーのユーザーページのメニューを開き、「ブロック」ボタンを押します。 + +
⚠️ ブロックを行ったこと自体は相手に通知されませんが、フォローを行ったりなどの上記のアクションが行えなくなるので間接的にブロックされていることは分かります。
+ +
⚠️ 相手から自分のコンテンツが見えなくなりますが、相手がアカウントを切り替えたりログアウト状態になれば見ることができます。あくまで簡易的、補助的なものとしてお考えください。
diff --git a/src/docs/zh-TW/features/word-mute.md b/src/docs/zh-TW/features/word-mute.md new file mode 100644 index 0000000000..9916b10482 --- /dev/null +++ b/src/docs/zh-TW/features/word-mute.md @@ -0,0 +1,20 @@ +# 靜音文字 +ワードミュートの設定をすると、条件に合致したノートが表示されなくなります。 + +ワードミュートには、ソフトワードミュートとハードワードミュートの2種類があります。それぞれについて設定の方法と挙動を説明します。 + +## ソフトワードミュート +ソフトワードミュートは、クライアント(アプリ)側でミュートを判断するワードミュートです。 + +ノートが設定した条件に合致すると、「(ユーザー名)が何かを言いました」という表示で隠れます。 +クリックすると元の通りに表示されます。 + +## ハードワードミュート +ハードワードミュートは、アンテナのようにサーバーが新しいノートの本文に対して条件に合致するかどうか判断し、タイムラインから対象となったノートを除外します。 + +つまり、ハードワードミュートには、以下のような特徴があります。 + +* 条件設定後、新しい投稿のみがミュートの対象になります。 +* 条件を変更しても、過去にハードミュートされたノートはミュートされたままになります。 +* 「○○が何かを言いました」でタイムラインが埋まることがありません。 +* ソフトミュートに非対応のアプリでも、ハードミュートは適用されます。 diff --git a/src/docs/zh-TW/general/faq.md b/src/docs/zh-TW/general/faq.md index 1d0a63ce15..c272b2ad42 100644 --- a/src/docs/zh-TW/general/faq.md +++ b/src/docs/zh-TW/general/faq.md @@ -23,3 +23,6 @@ MFMには、そのURLのプレビューを無効にする構文があります ## Botを開発したい Misskey APIを利用してBotの開発が可能です。[こちら](../advanced/develop-bot)をご確認ください。 + +## ノートの翻訳機能はどのサービスを使用していますか? +[DeepL](https://www.deepl.com/)を使用しています。 diff --git a/src/docs/zh-TW/general/glossary.md b/src/docs/zh-TW/general/glossary.md index e6860cb180..3cd3dd00fa 100644 --- a/src/docs/zh-TW/general/glossary.md +++ b/src/docs/zh-TW/general/glossary.md @@ -49,6 +49,9 @@ Misskeyに関する用語集です。 ## 實例 todo +## 自訂表情符號 +サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 + ## コントロールパネル インスタンスの設定画面のこと。 @@ -58,6 +61,9 @@ todo ## 禁言 ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +## 佇列 +アクティビティ配送などを順番に行うためのシステム。 + ## 凍結 アカウントが使用不可に設定されている状態。 From 7387e010c281ae12d92bee80d1f7f284a0df3be7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 21 Aug 2021 17:59:13 +0900 Subject: [PATCH 019/336] 12.89.0 --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ac26311ab..fddba34870 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ --> -## 12.x.x (unreleased) +## 12.89.0 (2021/08/21) ### Improvements - アカウント削除の安定性を向上 diff --git a/package.json b/package.json index e73116cc26..7754fb9281 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "misskey", "author": "syuilo ", - "version": "12.88.0", + "version": "12.89.0", "codename": "indigo", "repository": { "type": "git", From 8785e1c3a48487152dcfc754506e7e86a28a1048 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 22 Aug 2021 13:16:15 +0900 Subject: [PATCH 020/336] =?UTF-8?q?enhance(client):=20=E3=83=A6=E3=83=BC?= =?UTF-8?q?=E3=82=B6=E3=83=BC=E5=90=8D=E3=81=AB=E3=81=A4=E3=81=84=E3=81=A6?= =?UTF-8?q?=E3=81=AE=E3=83=92=E3=83=B3=E3=83=88=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/ja-JP.yml | 1 + src/client/components/dialog.vue | 1 + src/client/components/signup.vue | 2 +- src/client/directives/tooltip.ts | 16 +++++++++++++++- src/client/style.scss | 7 +++++++ 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 35739d2760..0c78ea1492 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -778,6 +778,7 @@ whatIsNew: "更新情報を見る" translate: "翻訳" translatedFrom: "{x}から翻訳" accountDeletionInProgress: "アカウントの削除が進行中です" +usernameInfo: "サーバー上であなたのアカウントを一意に識別するための名前。アルファベット(a~z, A~Z)、数字(0~9)、およびアンダーバー(_)が使用できます。ユーザー名は後から変更することは出来ません。" _accountDelete: accountDelete: "アカウントの削除" diff --git a/src/client/components/dialog.vue b/src/client/components/dialog.vue index f3611f050e..0a7508aee9 100644 --- a/src/client/components/dialog.vue +++ b/src/client/components/dialog.vue @@ -10,6 +10,7 @@ +
diff --git a/src/client/components/signup.vue b/src/client/components/signup.vue index b0b0c2ad4d..a19b4f5bd5 100644 --- a/src/client/components/signup.vue +++ b/src/client/components/signup.vue @@ -6,7 +6,7 @@ - + - + diff --git a/src/client/ui/default.vue b/src/client/ui/default.vue index 69668ff96d..3518b1a91a 100644 --- a/src/client/ui/default.vue +++ b/src/client/ui/default.vue @@ -13,7 +13,7 @@
-
+
diff --git a/src/client/widgets/notifications.vue b/src/client/widgets/notifications.vue index 01c76850d8..b0245eed6a 100644 --- a/src/client/widgets/notifications.vue +++ b/src/client/widgets/notifications.vue @@ -3,7 +3,7 @@ -
+
From 1e8132e610a5cc2f28060de1a4e6f72eca97736f Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 16 Oct 2021 19:25:40 +0900 Subject: [PATCH 204/336] :art: --- src/client/pages/messaging/messaging-room.message.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/pages/messaging/messaging-room.message.vue b/src/client/pages/messaging/messaging-room.message.vue index dfac83ad6a..a2740c0bdc 100644 --- a/src/client/pages/messaging/messaging-room.message.vue +++ b/src/client/pages/messaging/messaging-room.message.vue @@ -302,7 +302,7 @@ export default defineComponent({ > .text { &, ::v-deep(*) { - color: #fff !important; + color: var(--fgOnAccent) !important; } } } From 0d306e9d410d87148a58b6aad4302da18e0c1506 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 16 Oct 2021 19:27:06 +0900 Subject: [PATCH 205/336] New Crowdin updates (#7824) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Korean) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Chinese Simplified) * New translations create-plugin.md (Esperanto) * New translations keyboard-shortcut.md (Esperanto) * New translations faq.md (Esperanto) * New translations misskey.md (Esperanto) * New translations stream.md (Esperanto) * New translations favorite.md (Esperanto) * New translations faq.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations keyboard-shortcut.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations keyboard-shortcut.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (French) * New translations ja-JP.yml (French) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (English) * New translations api.md (English) * New translations aiscript.md (English) * New translations create-plugin.md (English) * New translations stream.md (English) * New translations create-plugin.md (English) * New translations develop-bot.md (English) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Spanish) * New translations troubleshooting.md (Spanish) * New translations glossary.md (Esperanto) * New translations glossary.md (Esperanto) * New translations glossary.md (Esperanto) * New translations glossary.md (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (German) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (Russian) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations mfm.md (Esperanto) * New translations mfm.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (Russian) * New translations note.md (Esperanto) * New translations ja-JP.yml (Russian) * New translations note.md (Esperanto) * New translations note.md (Esperanto) * New translations ja-JP.yml (Arabic) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (French) * New translations ja-JP.yml (French) * New translations ja-JP.yml (French) * New translations ja-JP.yml (French) * New translations ja-JP.yml (Russian) * New translations ja-JP.yml (Korean) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Indonesian) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Russian) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (French) * New translations ja-JP.yml (French) * New translations glossary.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (French) * New translations ja-JP.yml (French) * New translations troubleshooting.md (French) * New translations troubleshooting.md (English) * New translations ja-JP.yml (Italian) * New translations note.md (Esperanto) * New translations glossary.md (French) * New translations apps.md (French) * New translations ja-JP.yml (French) * New translations note.md (Esperanto) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations ja-JP.yml (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (English) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations glossary.md (French) * New translations ja-JP.yml (French) * New translations glossary.md (French) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations ja-JP.yml (Esperanto) * New translations glossary.md (Esperanto) * New translations api.md (English) * New translations create-plugin.md (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Chinese Simplified) * New translations stream.md (Chinese Simplified) * New translations follow.md (Chinese Simplified) * New translations mfm.md (Chinese Simplified) * New translations mfm.md (Chinese Simplified) --- locales/ar-SA.yml | 1 + locales/de-DE.yml | 28 +++++-- locales/en-US.yml | 18 ++++- locales/eo-UY.yml | 84 +++++++++++--------- locales/es-ES.yml | 71 +++++++++++++++++ locales/fr-FR.yml | 22 ++++- locales/id-ID.yml | 1 + locales/it-IT.yml | 2 +- locales/ko-KR.yml | 3 + locales/ru-RU.yml | 11 +++ locales/zh-CN.yml | 16 ++++ src/docs/en-US/advanced/aiscript.md | 2 +- src/docs/en-US/advanced/api.md | 22 ++--- src/docs/en-US/advanced/create-plugin.md | 12 +-- src/docs/en-US/advanced/develop-bot.md | 2 +- src/docs/en-US/advanced/stream.md | 2 +- src/docs/en-US/general/glossary.md | 2 +- src/docs/en-US/general/troubleshooting.md | 2 +- src/docs/eo-UY/admin/faq.md | 2 +- src/docs/eo-UY/advanced/create-plugin.md | 2 +- src/docs/eo-UY/advanced/stream.md | 2 +- src/docs/eo-UY/features/favorite.md | 2 +- src/docs/eo-UY/features/keyboard-shortcut.md | 12 +-- src/docs/eo-UY/features/mfm.md | 6 +- src/docs/eo-UY/features/note.md | 20 ++--- src/docs/eo-UY/general/faq.md | 2 +- src/docs/eo-UY/general/glossary.md | 10 +-- src/docs/eo-UY/general/misskey.md | 2 +- src/docs/es-ES/general/troubleshooting.md | 2 +- src/docs/fr-FR/general/apps.md | 4 +- src/docs/fr-FR/general/glossary.md | 66 +++++++-------- src/docs/fr-FR/general/troubleshooting.md | 14 ++-- src/docs/zh-CN/advanced/stream.md | 18 ++--- src/docs/zh-CN/features/follow.md | 4 +- src/docs/zh-CN/features/mfm.md | 16 ++-- 35 files changed, 320 insertions(+), 165 deletions(-) diff --git a/locales/ar-SA.yml b/locales/ar-SA.yml index 3de8ac764e..3685eda5f8 100644 --- a/locales/ar-SA.yml +++ b/locales/ar-SA.yml @@ -6,6 +6,7 @@ search: "البحث" notifications: "الإشعارات" username: "اسم المستخدم" password: "الكلمة السرية" +forgotPassword: "نسيتَ كلمة السر" fetchingAsApObject: "جارٍ جلبه مِن الفديفرس…" ok: " حسناً" gotIt: "فهِمت" diff --git a/locales/de-DE.yml b/locales/de-DE.yml index 8f7a4c24e9..cebb95109c 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -81,6 +81,8 @@ somethingHappened: "Ein Fehler ist aufgetreten" retry: "Wiederholen" pageLoadError: "Laden der Seite fehlgeschlagen." pageLoadErrorDescription: "Dieser Fehler wird meist durch Netzwerkfehler oder den Browser-Cache verursacht. Bitte leere den Cache oder versuche es nach einiger Zeit erneut." +serverIsDead: "Dieser Server antwortet nicht. Bitte warte einen Moment und versuche es dann erneut." +youShouldUpgradeClient: "Bitte aktualisiere diese Seite, um eine neuere Version deines Clients zu verwenden." enterListName: "Name der Liste eingeben" privacy: "Privatsphäre" makeFollowManuallyApprove: "Follow-Anfragen benötigen Bestätigung" @@ -545,7 +547,7 @@ invisibleNote: "Private Notiz" enableInfiniteScroll: "Automatisch mehr Notizen laden" visibility: "Sichtbarkeit" poll: "Umfrage" -useCw: "Inhalt verbergen" +useCw: "Inhaltswarnung verwenden" enablePlayer: "Video-Player öffnen" disablePlayer: "Video-Player schließen" expandTweet: "Tweet ausklappen" @@ -764,6 +766,7 @@ middle: "Mittel" low: "Niedrig" emailNotConfiguredWarning: "Keine Email-Adresse hinterlegt" ratio: "Verhältnis" +previewNoteText: "Vorschau anzeigen" customCss: "Benutzerdefiniertes CSS" customCssWarn: "Verwende diese Einstellung nur, wenn du weißt, was sie tut. Ungültige Eingaben können dazu führen, dass der Client nicht mehr normal funktioniert." global: "Global" @@ -782,11 +785,22 @@ translatedFrom: "Aus {x} übersetzt" accountDeletionInProgress: "Löschung des Benutzerkontos momentan in Bearbeitung" usernameInfo: "Ein Name, durch den dein Benutzerkonto auf diesem Server identifiziert werden kann. Du kannst das Alphabet (a~z, A~Z), Ziffern (0~9) oder Unterstriche (_) verwenden. Benutzernamen können später nicht geändert werden." aiChanMode: "Ai Modus" -keepCw: "Inhaltswarnung beibehalten" +keepCw: "Inhaltswarnungen beibehalten" pubSub: "Pub/Sub Benutzerkonten" lastCommunication: "Letzte Kommunikation" resolved: "Gelöst" unresolved: "Ungelöst" +itsOn: "Eingeschaltet" +itsOff: "Ausgeschaltet" +emailRequiredForSignup: "Angaben einer Email-Adresse als benötigt markieren" +unread: "Ungelesen" +filter: "Filter" +controllPanel: "Systemsteuerung" +manageAccounts: "Benutzerkonten verwalten" +_signup: + almostThere: "Fast geschafft" + emailAddressInfo: "Bitte gib deine Email-Adresse ein." + emailSent: "An deine Email-Adresse ({email}) wurde soeben eine Bestätigungsmail geschickt. Bitte klicke auf den enthaltenen Link, um die Erstellung deines Benutzerkontos abzuschließen." _accountDelete: accountDelete: "Benutzerkonto löschen" mayTakeTime: "Da die Löschung eines Benutzerkontos ein aufwendiger Prozess ist, kann dessen Dauer davon abhängen, wie viel Inhalt in diesem erstellt wurde oder wie viele Dateien hochgeladen wurden." @@ -901,6 +915,8 @@ _mfm: fontDescription: "Setzt die Schriftart des Inhaltes fest." rainbow: "Regenbogen" rainbowDescription: "Lässt den Inhalt in Regenbogenfarben erscheinen." + sparkle: "Glitzer" + sparkleDescription: "Verleiht Inhalt einen glitzernden Partikeleffekt." _reversi: reversi: "Reversi" gameSettings: "Spieleinstellungen" @@ -1024,9 +1040,9 @@ _theme: infoFg: "Text von Informationen" infoWarnBg: "Hintergrund von Warnungen" infoWarnFg: "Text von Warnungen" - cwBg: "Hintergrund von verborgenen Inhalten" - cwFg: "Text von verborgenen Inhalten" - cwHoverBg: "Hintergrund von verborgenen Inhalten (Mouseover)" + cwBg: "Hintergrund des Inhaltswarnungsknopfs" + cwFg: "Text des Inhaltswarnungsknopfs" + cwHoverBg: "Hintergrund des Inhaltswarnungsknopfs (Mouseover)" toastBg: "Hintergrund von Benachrichtigungen" toastFg: "Text von Benachrichtigungen" buttonBg: "Hintergrund von Schaltflächen" @@ -1173,7 +1189,7 @@ _widgets: aiscript: "AiScript-Konsole" aichan: "Ai" _cw: - hide: "Verbergen" + hide: "Inhalt verbergen" show: "Inhalt anzeigen" chars: "{count} Zeichen" files: "{count} Datei(en)" diff --git a/locales/en-US.yml b/locales/en-US.yml index 4e843ce06d..aeb0aa1eac 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1,7 +1,7 @@ --- _lang_: "English" headlineMisskey: "A network connected by notes" -introMisskey: "Welcome! Misskey is an open source, decentralized microblogging service.\nCreate \"notes\" to share what your thoughts with everyone around you. 📡\nWith \"reactions\", you can also quickly express your feelings about everyone's notes. 👍\nLet's explore a new world! 🚀" +introMisskey: "Welcome! Misskey is an open source, decentralized microblogging service.\nCreate \"notes\" to share your thoughts with everyone around you. 📡\nWith \"reactions\", you can also quickly express your feelings about everyone's notes. 👍\nLet's explore a new world! 🚀" monthAndDay: "{month}/{day}" search: "Search" notifications: "Notifications" @@ -81,6 +81,8 @@ somethingHappened: "An error occurred" retry: "Retry" pageLoadError: "Failed to load page." pageLoadErrorDescription: "This is normally caused by network errors or the browser's cache. Try clearing the cache and then try again after waiting a little while." +serverIsDead: "This server is not responding. Please wait for a while and try again." +youShouldUpgradeClient: "To view this page, please refresh to update your client." enterListName: "Enter a list name" privacy: "Privacy" makeFollowManuallyApprove: "Follow requests require approval" @@ -764,6 +766,7 @@ middle: "Medium" low: "Low" emailNotConfiguredWarning: "Email address not set." ratio: "Ratio" +previewNoteText: "Show preview" customCss: "Custom CSS" customCssWarn: "This setting should only be used if you know what it does. Entering improper values may cause the client to stop functioning normally." global: "Global" @@ -782,11 +785,22 @@ translatedFrom: "Translated from {x}" accountDeletionInProgress: "Account deletion is currently in progress" usernameInfo: "A name that identifies your account from others on this server. You can use the alphabet (a~z, A~Z), digits (0~9) or underscores (_). Usernames cannot be changed later." aiChanMode: "Ai Mode" -keepCw: "Keep Content Warning" +keepCw: "Keep Content Warnings" pubSub: "Pub/Sub Accounts" lastCommunication: "Last communication" resolved: "Resolved" unresolved: "Unresolved" +itsOn: "Enabled" +itsOff: "Disabled" +emailRequiredForSignup: "Require email address for sign-up" +unread: "Unread" +filter: "Filter" +controllPanel: "Control Panel" +manageAccounts: "Manage Accounts" +_signup: + almostThere: "Almost there" + emailAddressInfo: "Please enter your email address." + emailSent: "A confirmation email has been sent to your email address ({email}). Please click the included link to complete account creation." _accountDelete: accountDelete: "Delete Account" mayTakeTime: "As account deletion is a resource-heavy process, it may take some time to complete depending on how much content you have created and how many files you have uploaded." diff --git a/locales/eo-UY.yml b/locales/eo-UY.yml index fbc1aa31ec..a76d5b5fd9 100644 --- a/locales/eo-UY.yml +++ b/locales/eo-UY.yml @@ -1,8 +1,8 @@ --- _lang_: "Esperanto" -headlineMisskey: "Jen la reto konektita de notoj" -introMisskey: "Bonvenon! Misskey estas malfermitkoda malcentraliza mikrobloga servo.\nKreu \"noto\"n por diskonigu tion kio nun okazas, aŭ por parolu pri vi. 📡\nUzu la funkcion \"reago\" por esprimu rapide vian senton pri ies noto. 👍\nBonvole esploru novan mondon. 🚀" -monthAndDay: "{day}a/{month}" +headlineMisskey: "Jen la reto konektata de notoj" +introMisskey: "Bonvenon! Misskey estas malfermitkoda malcentraliza etbloga servo.\nKreu \"noto\"n por paroli vian penson al iuj ĉirkaŭ vi. 📡\nLa funkcion \"reago\" ebligas esprimi rapide vian senton pri ies noto en Fediverso. 👍\nBonvole esploru novan mondon. 🚀" +monthAndDay: "La {day}-a de la {month}-a monato" search: "Serĉi" notifications: "Sciigoj" username: "Uzantnomo" @@ -33,18 +33,18 @@ save: "Konservi" users: "Uzantoj" addUser: "Aldoni uzanton" favorite: "Preferi" -favorites: "Preferataĵoj" +favorites: "Preferaĵoj" unfavorite: "Malpreferi" -favorited: "Aldonita al preferataĵoj" -alreadyFavorited: "Ankoraŭ aldonita al via listo de preferaĵoj." -cantFavorite: "Ne aldonita al preferataĵoj" -pin: "Alpingli al la profilo" +favorited: "Aldonita al via listo de preferaĵoj." +alreadyFavorited: "Ĝi jam estis aldonita al via listo de preferaĵoj." +cantFavorite: "Ne aldonita al via listo de preferaĵoj." +pin: "Alpingli" unpin: "Depingli" copyContent: "Kopii enhavon" copyLink: "Kopii ligilon" delete: "Forviŝi" -deleteAndEdit: "Forviŝi kaj redakti" -deleteAndEditConfirm: "Ĉu vi certas, ke vi volas forigi kaj redakti la noton? Kun tio foriĝos reagoj, plusendaĵoj, kaj respondoj ĉiuj de ĝi." +deleteAndEdit: "Redakti foriginte" +deleteAndEditConfirm: "Ĉu vi certas, ke vi volas forigi kaj redakti la noton? Tio forviŝos reagojn, notojn plusendintajn, kaj respondojn ĉiujn de ĝi." addToList: "Aldoni al listo" sendMessage: "Sendi mesaĝon" copyUsername: "Kopii uzantnomon" @@ -57,17 +57,17 @@ receiveFollowRequest: "Peto de sekvado estas ricevita" followRequestAccepted: "La peto de sekvado akceptita" mention: "Mencioj" mentions: "Al vi" -directNotes: "Notoj rektaj" +directNotes: "Rekte senditaj" importAndExport: "Importi/eksporti" import: "Importi" export: "Eksporti" files: "Dosieroj" download: "Elŝuti" driveFileDeleteConfirm: "Ĉu vi certas, ke vi volas forviŝi la dosieron \"{name}\"? Pro tio forviŝiĝos ankaŭ la notoj kiuj enhavas ĝin." -unfollowConfirm: "Ĉu vi certas, ke vi volas ne plu sekvi {name}'(o)n?" +unfollowConfirm: "Ĉu vi certas, ke vi volas ĉesi sekvi {name}'(o)n?" lists: "Listoj" noLists: "Neniu listo" -note: "Notoj" +note: "Sendi" notes: "Notoj" following: "Sekvatoj" followers: "Sekvantoj" @@ -92,13 +92,13 @@ cantRenote: "Oni ne povas plusendi la noton." cantReRenote: "Plusendado ne estas plusendebla." quote: "Citi" pinnedNote: "Alpinglita noto" -pinned: "Alpingli al la profilo" +pinned: "Alpingli" you: "Vi" clickToShow: "Klaku por malkaŝu" sensitive: "Enhavo ne estas deca por laborejo (NSFW)" add: "Aldoni" reaction: "Reagoj" -rememberNoteVisibility: "Rememoru la videblecon de la noto laste sendita" +rememberNoteVisibility: "Rememoru videblecon de la noto laste sendita " attachCancel: "Deigi aldonaĵon" markAsSensitive: "Troviĝi NSFW" unmarkAsSensitive: "Ne troviĝi NSFW" @@ -137,7 +137,7 @@ removeWallpaper: "Forviŝi ekranfonon. " searchWith: "Serĉi: {q}" youHaveNoLists: "Vi ne havas listojn." followConfirm: "Ĉu vi certas ke vi volas sekvi {name}'(o)n?" -host: "Gastiganto" +host: "Gastigo" selectUser: "Elekti uzanton" recipient: "Ricevonto" annotation: "Komentarioj" @@ -254,7 +254,7 @@ unwatch: "Malobservi" accept: "Permesi" normal: "Normala" instanceName: "Nomo de la nodo" -instanceDescription: "Mempriskribo de la nodo " +instanceDescription: "Priskribo de la nodo " maintainerName: "Nomo de la administranto" maintainerEmail: "Retpoŝto de la administranto" tosUrl: "URL de kondiĉoj de uzado" @@ -323,6 +323,7 @@ newPasswordIs: "La nova pasvorto estas {password}." share: "Diskonigi" notFound: "Ne trovita" cacheClear: "Malplenigi staplon" +markAsReadAllNotifications: "Marki ĉiujn sciigojn kiel legito" help: "Manlibro de uzado" inputMessageHere: "Entajpu masaĝo tie ĉi" close: "Fermi" @@ -344,10 +345,10 @@ quoteAttached: "Kun citaĵo" quoteQuestion: "Ĉu vi aldonas citaĵon?" noMessagesYet: "Ankoraŭ neniu mesaĝo" newMessageExists: "Vi ricevis novan mesaĝon." -onlyOneFileCanBeAttached: "Vi povas aldoni nur unu dosieron po unu mesaĝo." +onlyOneFileCanBeAttached: "Oni povas aldoni nur unu dosieron po mesaĝo." signinRequired: "Bonvolu ensaluti" invitations: "Inviti" -invitationCode: "Kodo de invito" +invitationCode: "Invita kodo" unavailable: "Ne disponebla" passwordMatched: "Konforma" passwordNotMatched: "Nekonforma" @@ -417,7 +418,7 @@ enablePlayer: "Vidi videon" disablePlayer: "Fermi videon" expandTweet: "Disvolvi pepon" themeEditor: "Redaktilo de koloraroj" -description: "Priskribe" +description: "Priskribo" describeFile: "Priskribi la bildon" enterFileDescription: "Priskribu" author: "Aŭtoro" @@ -433,7 +434,7 @@ emailServer: "Retpoŝta servilo" email: "Retpoŝto" emailAddress: "Retpoŝta adreso" smtpConfig: "Agordoj de SMTP servilo" -smtpHost: "Gastiganto" +smtpHost: "Gastigo" smtpPort: "Pordo" smtpUser: "Uzantnomo" smtpPass: "Pasvorto" @@ -481,7 +482,7 @@ notSet: "Ne elektita" emailVerified: "Via retpoŝto estis kontrolita." noteFavoritesCount: "La nombro de notoj preferataj" pageLikesCount: "La nombro de paĝoj kiun la uzanto preferas" -pageLikedCount: "La nombro de uzantoj kiuj preferas la paĝon" +pageLikedCount: "La nombro de uzantoj, kiuj preferas paĝon de ĉi tiu uzanto" contact: "Kontakto" makeExplorable: "Videbligi konton sur la paĝo \"Esplori\"" duplicate: "Duobligi" @@ -509,7 +510,7 @@ inUse: "Uzata" editCode: "Redakti kodon" emailNotification: "Sciigoj per retpoŝto" inChannelSearch: "Serĉi en kanalo" -useReactionPickerForContextMenu: "Oni malfermas reago-elektilon per dekstro-kliki" +useReactionPickerForContextMenu: "Malfermi reago-elektilon per dekstro-klaki" typingUsers: "{users} nun entajpas…" clear: "Vakigi" goBack: "Reiri antaŭ" @@ -540,6 +541,7 @@ troubleshooting: "Problemsolvi" learnMore: "Lernu pli" translate: "Traduki" translatedFrom: "Tradukita el {x}" +controllPanel: "Ŝaltpodio" _docs: continueReading: "Legi plu" features: "Funkcioj" @@ -614,8 +616,8 @@ _wordMute: mutedNotes: "Silentigitaj notoj" _theme: manage: "Administri kolorarojn" - code: "Kodo de koloraro" - description: "Priskribe" + code: "Kolorara kodo" + description: "Priskribo" color: "Koloro" darken: "Malbrileco" lighten: "Brileco" @@ -667,8 +669,8 @@ _permissions: "write:blocks": "Redakti vian liston de blokitoj" "read:drive": "Legi vian diskon" "write:drive": "Ĉia operacio por skribi, forviŝi, aŭ alimaniere ŝanĝi la informon de dosiero en via disko de Misskey" - "read:favorites": "Vidi vian liston de preferataĵoj" - "write:favorites": "Redakti vian liston de preferataĵoj." + "read:favorites": "Vidi vian liston de preferaĵoj" + "write:favorites": "Redakti vian liston de preferaĵoj" "read:following": "Vidi la infomaciojn pri tio, kion vi sekvas" "write:following": "Sekvi aŭ malsekvi alian uzanton" "read:messaging": "Vidi vian retbabiladon" @@ -715,23 +717,24 @@ _poll: vote: "Baloti" closed: "Oni jam balotis ĝin" _visibility: + public: "Publika" publicDescription: "Via noto estos videbla de ĉiuj uzantoj" home: "Hejma" homeDescription: "Dissendi nur sur hejma templinio" - followers: "Sekvantoj" - followersDescription: "Nur al sekvantoj al mi" - specified: "Rekta" - specifiedDescription: "Publikigi nur al specifaj uzantoj" + followers: "Nur al sekvantoj" + followersDescription: "Publiki nur al viaj sekvantoj" + specified: "Rekte" + specifiedDescription: "Montri nur al specifaj uzantoj" localOnly: "Nur loka" localOnlyDescription: "Ne montri al transaj uzantoj" _postForm: - replyPlaceholder: "Respondi tiun noton…" - quotePlaceholder: "Citi tiun noton…" + replyPlaceholder: "Respondi la noton…" + quotePlaceholder: "Citi la noton…" channelPlaceholder: "Mencii en kanalo…" _profile: name: "Nomo" username: "Uzantnomo" - description: "Pri mi" + description: "Sinprezento" metadata: "Kromaj informoj" metadataEdit: "Redakti kromaj informoj" changeAvatar: "Ŝanĝi profilbildon" @@ -746,7 +749,7 @@ _charts: federationInstancesTotal: "La totala nombro de nodoj kunfederantaj" usersTotal: "La totala nombro de la uzantoj" activeUsers: "La nombro de la uzantoj aktivaj" - notesTotal: "La totala nombro de la notoj" + notesTotal: "La totala nombro de notoj" filesTotal: "La totala nombro de la dosieroj" _timelines: home: "Hejma" @@ -859,16 +862,21 @@ _pages: argVariables: "Eniga junto" _notification: fileUploaded: "La dosiero sukcese alŝutiĝis." + youGotMention: "{name} mencis" + youGotReply: "{name} respondis" + youGotQuote: "{name} citis" youRenoted: "{name} plusendis" youGotPoll: "{name} balotis" youGotMessagingMessageFromUser: "{name} sentis mesaĝon al vi." youGotMessagingMessageFromGroup: "Retbabilan mesaĝon oni sendis al la grupo {name}" youWereFollowed: "eksekvis vin" youReceivedFollowRequest: "Vi ricevis peton de sekvado" - yourFollowRequestAccepted: "Via peto por sekvado estis akceptita." + yourFollowRequestAccepted: "Via peto de sekvado estis akceptita." _types: - follow: "Sekvatoj" + all: "Ĉio" + follow: "Nova sekvatoj" mention: "Mencioj" + reply: "Respondoj" renote: "Notoj plusenditaj" quote: "Citi" reaction: "Reagoj" @@ -882,4 +890,4 @@ _deck: antenna: "Antenoj" list: "Listoj" mentions: "Al vi" - direct: "Notoj rektaj" + direct: "Rekte" diff --git a/locales/es-ES.yml b/locales/es-ES.yml index 0defcabd0e..c55a00b821 100644 --- a/locales/es-ES.yml +++ b/locales/es-ES.yml @@ -7,6 +7,7 @@ search: "Buscar" notifications: "Notificaciones" username: "Nombre de usuario" password: "Contraseña" +forgotPassword: "Olvidé mi Contraseña" fetchingAsApObject: "Buscando en el fediverso" ok: "OK" gotIt: "Entendido" @@ -279,6 +280,7 @@ emptyDrive: "El drive está vacío" emptyFolder: "La carpeta está vacía" unableToDelete: "No se puede borrar" inputNewFileName: "Ingrese un nuevo nombre de archivo" +inputNewDescription: "Ingrese nueva descripción" inputNewFolderName: "Ingrese un nuevo nombre de la carpeta" circularReferenceFolder: "La carpeta de destino es una sub-carpeta de la carpeta que quieres mover." hasChildFilesOrFolders: "No se puede borrar esta carpeta. No está vacía." @@ -310,6 +312,8 @@ monthX: "Mes {month}" yearX: "Año {year}" pages: "Páginas" integration: "Integración" +connectService: "Conectar" +disconnectService: "Desconectar" enableLocalTimeline: "Habilitar linea de tiempo local" enableGlobalTimeline: "Habilitar linea de tiempo global" disablingTimelinesInfo: "Aunque se desactiven estas lineas de tiempo, por conveniencia el administrador y los moderadores pueden seguir usándolos" @@ -323,6 +327,7 @@ driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto" inMb: "En megabytes" iconUrl: "URL de la imagen del avatar" bannerUrl: "URL de la imagen del banner" +backgroundImageUrl: "URL de la imagen de fondo" basicInfo: "Información básica" pinnedUsers: "Usuarios fijados" pinnedUsersDescription: "Describir los usuarios que quiere fijar en la página \"Descubrir\" separados por una linea nueva" @@ -524,6 +529,9 @@ removeAllFollowing: "Retener todos los siguientes" removeAllFollowingDescription: "Cancelar todos los siguientes del servidor {host}. Ejecutar en caso de que esta instancia haya dejado de existir" userSuspended: "Este usuario ha sido suspendido." userSilenced: "Este usuario ha sido silenciado." +yourAccountSuspendedTitle: "Esta cuenta ha sido suspendida" +yourAccountSuspendedDescription: "Esta cuenta ha sido suspendida debido a violaciones de los términos de servicio del servidor y otras razones. Para más información, póngase en contacto con el administrador. Por favor, no cree una nueva cuenta." +menu: "Menú" divider: "Divisor" addItem: "Agregar elemento" rooms: "Cuartos" @@ -543,6 +551,8 @@ disablePlayer: "Cerrar reproductor" expandTweet: "Expandir tweet" themeEditor: "Editor de temas" description: "Descripción" +describeFile: "Añade una descripción" +enterFileDescription: "Introducir un título" author: "Autor" leaveConfirm: "Hay modificaciones sin guardar. ¿Desea descartarlas?" manage: "Administrar" @@ -645,29 +655,90 @@ driveFilesCount: "Cantidad de archivos en el drive" driveUsage: "Uso del drive" noCrawle: "Rechazar indexación del crawler" noCrawleDescription: "Pedir a los motores de búsqueda que no indexen tu perfil, notas, páginas, etc." +lockedAccountInfo: "A menos que configures la visibilidad de tus notas como \"Sólo seguidores\", tus notas serán visibles para cualquiera, incluso si requieres que los seguidores sean aprobados manualmente." alwaysMarkSensitive: "Marcar los medios de comunicación como contenido sensible por defecto" +loadRawImages: "Cargar las imágenes originales en lugar de mostrar las miniaturas" +disableShowingAnimatedImages: "No reproducir imágenes animadas" verificationEmailSent: "Se le ha enviado un correo electrónico de confirmación. Por favor, acceda al enlace proporcionado en el correo electrónico para completar la configuración." notSet: "Sin especificar" emailVerified: "Su dirección de correo electrónico ha sido verificada." noteFavoritesCount: "Número de notas favoritas" pageLikesCount: "Número de favoritos en la página" pageLikedCount: "Número de favoritos de su página" +reversiCount: "Numero de partidas Reversi" contact: "Contacto" +useSystemFont: "Utilizar la tipografía por defecto del sistema" clips: "Clip" +experimentalFeatures: "Características experimentales" +developer: "Desarrolladores" +makeExplorable: "Hacer visible la cuenta en \"Explorar\"" +makeExplorableDescription: "Si desactiva esta opción, su cuenta no aparecerá en la sección \"Explorar\"." +showGapBetweenNotesInTimeline: "Mostrar un intervalo entre notas en la línea de tiempo" +duplicate: "Duplicar" +left: "Izquierda" +center: "Centrar" +wide: "Ancho" +narrow: "Estrecho" +reloadToApplySetting: "Esta configuración sólo se aplicará después de recargar la página. ¿Recargar ahora?" +showTitlebar: "Mostrar la barra de título" clearCache: "Limpiar caché" +onlineUsersCount: "{n} usuarios en línea" +nUsers: "{n} Usuarios" +nNotes: "{n} Notas" +sendErrorReports: "Envíar informe de errores" +sendErrorReportsDescription: "Si habilita esta opción, ayudará a mejorar la calidad de Misskey compartiendo información detallada sobre los errores cuando se produzca un problema.\nEsto incluye información como la versión de su sistema operativo, el tipo de navegador que utiliza, su historial de actividad, etc." +myTheme: "Mi Tema" backgroundColor: "Fondo" accentColor: "Acento" textColor: "Texto" +saveAs: "Guardar como…" +advanced: "Avanzado" value: "Valores" +createdAt: "Fecha de creación" +updatedAt: "Actualizado" +saveConfirm: "¿Guardar cambios?" +deleteConfirm: "¿Desea eliminarlo?" +invalidValue: "Este no es un valor válido." +registry: "Registro" +closeAccount: "Cerrar cuenta" +currentVersion: "Versión actual" +latestVersion: "Última versión" +youAreRunningUpToDateClient: "Está utilizando la versión más reciente de su cliente." +newVersionOfClientAvailable: "Hay una versión más nueva de su cliente disponible." +usageAmount: "Uso" +capacity: "Capacidad" +inUse: "Usado" +editCode: "Editar código" goBack: "Deseleccionar" info: "Información" user: "Usuarios" administration: "Administrar" expiration: "Termina el" middle: "Mediano" +customCssWarn: "Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir valores inadecuados puede hacer que el cliente deje de funcionar con normalidad." global: "Global" +squareAvatars: "Mostrar iconos cuadrados" sent: "Enviar" +received: "Recibido" +searchResult: "Resultados de búsqueda" hashtags: "Hashtag" +troubleshooting: "Solución de problemas" +useBlurEffect: "Utilizar efecto de desenfoque en la interfaz de usuario" +learnMore: "Ver más" +misskeyUpdated: "¡Misskey ha sido actualizado!" +whatIsNew: "Mostrar cambios" +translate: "Traducir" +translatedFrom: "Traducido de {x}" +accountDeletionInProgress: "La eliminación de la cuenta está en curso" +usernameInfo: "Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente." +aiChanMode: "Modo Ai" +keepCw: "Mantener la advertencia de contenido" +pubSub: "Cuentas Pub/Sub" +lastCommunication: "Última comunicación" +resolved: "Resuelto" +unresolved: "Sin resolver" +_accountDelete: + accountDelete: "Eliminar Cuenta" _docs: admin: "Administrar" _ad: diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index c4fee05343..99d2b7bc07 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -81,6 +81,8 @@ somethingHappened: "Une erreur est survenue" retry: "Réessayer" pageLoadError: "Le chargement de la page a échoué" pageLoadErrorDescription: "Cela est généralement causé par le cache du navigateur ou par un problème réseau. Veuillez vider votre cache ou attendre un peu et réessayer." +serverIsDead: "Le serveur ne répond pas. Patientez quelques instants puis essayez à nouveau." +youShouldUpgradeClient: "Si la page ne s'affiche pas correctement, rechargez-la pour mettre votre client à jour." enterListName: "Nom de la liste" privacy: "Confidentialité" makeFollowManuallyApprove: "Accepter manuellement les demandes d’abonnement" @@ -136,7 +138,7 @@ settingGuide: "Configuration proposée" cacheRemoteFiles: "Mise en cache des fichiers distants" cacheRemoteFilesDescription: "Lorsque cette option est désactivée, les fichiers distants sont chargés directement depuis l’instance distante. La désactiver diminuera certes l’utilisation de l’espace de stockage local mais augmentera le trafic réseau puisque les miniatures ne seront plus générées." flagAsBot: "Ce compte est un robot" -flagAsBotDescription: "Si ce compte est géré de manière automatisée , définissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot." +flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot." flagAsCat: "Ce compte est un chat" flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte." autoAcceptFollowed: "Accepter automatiquement les demandes d’abonnement venant d’utilisateur·rice·s que vous suivez" @@ -377,7 +379,7 @@ aboutMisskey: "À propos de Misskey" administrator: "Administrateur" token: "Jeton" twoStepAuthentication: "Authentification à deux facteurs" -moderator: "Modérateurs" +moderator: "Modérateur·rice·s" nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s" securityKey: "Clé de sécurité" securityKeyName: "Nom de la clé" @@ -495,7 +497,7 @@ objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi" serverLogs: "Journal du serveur" deleteAll: "Supprimer tout" showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité" -newNoteRecived: "Vous avez reçu une nouvelle note" +newNoteRecived: "Voir les nouvelles notes" sounds: "Sons" listen: "Écouter" none: "Rien" @@ -530,6 +532,7 @@ removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Ve userSuspended: "Cet·te utilisateur·rice a été suspendu·e." userSilenced: "Cette utilisateur·trice a été mis·e en sourdine." yourAccountSuspendedTitle: "Ce compte est suspendu" +yourAccountSuspendedDescription: "Ce compte est suspendu car vous avez enfreint les conditions d'utilisation de l'instance, ou pour un motif similaire. Si vous souhaitez connaître en détail les raisons de cette suspension, renseignez-vous auprès de l'administrateur·rice de votre instance. Merci de ne pas créer de nouveau compte." menu: "Menu" divider: "Séparateur" addItem: "Ajouter un élément" @@ -786,6 +789,15 @@ pubSub: "Comptes Pub/Sub" lastCommunication: "Dernière communication" resolved: "Résolu" unresolved: "En attente" +emailRequiredForSignup: "Une adresse e-mail est nécessaire pour créer un compte" +unread: "Non lu" +filter: "Filtre" +controllPanel: "Panneau de contrôle" +manageAccounts: "Gérer les comptes" +_signup: + almostThere: "Bientôt fini" + emailAddressInfo: "Insérez votre adresse e-mail." + emailSent: "Un courriel de confirmation vient d'être envoyé à l'adresse que vous avez renseignée ({email}). Cliquez sur le lien contenu dans le message pour terminer la création de votre compte." _accountDelete: accountDelete: "Supprimer le compte" mayTakeTime: "La suppression de compte nécessitant beaucoup de ressources, l'exécution du processus peut prendre du temps, en fonction de la quantité de contenus que vous avez créés et du nombre de fichiers que vous avez téléversés." @@ -900,6 +912,8 @@ _mfm: fontDescription: "Il est possible de choisir la police." rainbow: "Arc-en-ciel" rainbowDescription: "Permet d'afficher le contenu en couleurs arc-en-ciel." + sparkle: "Paillettes" + sparkleDescription: "Ajoute un effet scintillant au contenu." _reversi: reversi: "Reversi" gameSettings: "Réglages de la partie" @@ -1243,7 +1257,7 @@ _charts: federationInstancesTotal: "Nombre total d'instances fédérées" usersIncDec: "Variation du nombre d'utilisateur·rice·s" usersTotal: "Nombre des utilisateur·rice·s au total" - activeUsers: "Utilisateur·rice·s actif·ve·s" + activeUsers: "Nombre d'utilisateurices actif·ve·s" notesIncDec: "Variation du nombre des notes" localNotesIncDec: "Variation du nombre de notes locales" remoteNotesIncDec: "Variation du nombre de notes distantes" diff --git a/locales/id-ID.yml b/locales/id-ID.yml index 06191089c3..44c7f49f1c 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -780,6 +780,7 @@ translatedFrom: "Terjemahkan dari {x}" accountDeletionInProgress: "Penghapusan akun sedang dalam proses" usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada server ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya." keepCw: "Biarkan Peringatan Konten" +controllPanel: "Panel kontrol" _accountDelete: accountDelete: "Hapus akun" mayTakeTime: "Karena penghapusan akun merupakan proses yang berat dan intensif, kemungkinan dapat membutuhkan waktu untuk menyelesaikan tergantung daripada berapa banyak konten yang kamu buat dan berapa banyak berkas yang telah kamu unggah." diff --git a/locales/it-IT.yml b/locales/it-IT.yml index f291eaa17f..fc9060852d 100644 --- a/locales/it-IT.yml +++ b/locales/it-IT.yml @@ -482,7 +482,7 @@ objectStorageSetPublicRead: "Imposta \"visibilità pubblica\" al momento di cari serverLogs: "Log del server" deleteAll: "Cancella cronologia" showFixedPostForm: "Visualizzare la finestra di pubblicazione in cima alla timeline" -newNoteRecived: "Nuova nota ricevuta" +newNoteRecived: "Vedi le nuove note" sounds: "Impostazioni suoni" listen: "Ascolta" none: "Niente" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 82c7c1a079..db0cf7f20c 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -787,6 +787,7 @@ pubSub: "Pub/Sub 계정" lastCommunication: "마지막 통신" resolved: "해결됨" unresolved: "해결되지 않음" +controllPanel: "제어판" _accountDelete: accountDelete: "계정 삭제" mayTakeTime: "계정 삭제는 서버에 부하를 가하기 때문에, 작성한 콘텐츠나 업로드한 파일의 수가 많으면 완료까지 시간이 걸릴 수 있습니다." @@ -901,6 +902,8 @@ _mfm: fontDescription: "내용의 글꼴을 지정할 수 있습니다." rainbow: "무지개" rainbowDescription: "내용을 무지개로 표시합니다." + sparkle: "반짝반짝" + sparkleDescription: "반짝이는 파티클 효과를 추가합니다." _reversi: reversi: "리버시" gameSettings: "대국 설정" diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index b886d4c605..c8aa28df5e 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -81,6 +81,8 @@ somethingHappened: "Что-то пошло не так" retry: "Повторить попытку" pageLoadError: "Не удалось загрузить страницу" pageLoadErrorDescription: "Обычно это случается из-за сбоев в сети или кэша браузера. Попробуйте очистить кэш, или подождать пару минут, а потом попытаться загрузить страницу снова." +serverIsDead: "Ответа от сервера нет. Пожалуйста, подождите немного и повторите попытку." +youShouldUpgradeClient: "Чтобы просмотреть эту страницу, пожалуйста, обновите ее." enterListName: "Название списка" privacy: "Конфиденциальность" makeFollowManuallyApprove: "Принимать подписчиков вручную" @@ -529,6 +531,8 @@ removeAllFollowing: "Удалить всех подписчиков" removeAllFollowingDescription: "Отменить все подписки с домена {host}? Пожалуйста, применяйте это действие, если инстанс больше не существует." userSuspended: "Эта учётная запись заморожена" userSilenced: "Этот пользователь был заглушен" +yourAccountSuspendedTitle: "Эта учетная запись заблокирована" +yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись." menu: "Меню" divider: "Линия-разделитель" addItem: "Добавить элемент" @@ -775,6 +779,13 @@ useBlurEffect: "Размытие в интерфейсе" learnMore: "Подробнее" misskeyUpdated: "Misskey обновился!" whatIsNew: "Что новенького?" +translate: "Перевод" +accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи" +usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже." +aiChanMode: "ИИ режим" +keepCw: "Сохраняйте Предупреждения о содержимом" +controllPanel: "Панель управления" +manageAccounts: "Управление аккаунтом" _docs: continueReading: "Читать подробнее" features: "Возможности" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index 00e5ffce46..a8e653f797 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -81,6 +81,8 @@ somethingHappened: "出现了一些问题!" retry: "重试" pageLoadError: "页面加载失败。" pageLoadErrorDescription: "这通常是由于网络或浏览器缓存的原因。请清除缓存或等待片刻后重试。" +serverIsDead: "服务器没有响应。 请稍等片刻,然后重试。" +youShouldUpgradeClient: "请重新加载并使用新版本的客户端查看此页面。" enterListName: "输入列表名称" privacy: "隐私" makeFollowManuallyApprove: "关注者的关注请求需要批准" @@ -764,6 +766,7 @@ middle: "中" low: "低" emailNotConfiguredWarning: "电子邮件地址未设置。" ratio: "比率" +previewNoteText: "预览文本" customCss: "自定义 CSS" customCssWarn: "这些设置必须有相关的基础知识,不当的配置可能导致客户端无法正常使用!" global: "全局" @@ -787,6 +790,17 @@ pubSub: "Pub/Sub账户" lastCommunication: "最近通信" resolved: "已解决" unresolved: "未解决" +itsOn: "已开启" +itsOff: "已关闭" +emailRequiredForSignup: "注册账户需要电子邮件地址" +unread: "未读" +filter: "筛选" +controllPanel: "控制面板" +manageAccounts: "管理账户" +_signup: + almostThere: "即将完成" + emailAddressInfo: "请输入您所使用的电子邮件地址" + emailSent: "已将确认邮件发送至您输入的电子邮件地址 ({email})。请访问电子邮件中的链接以完成帐户创建。" _accountDelete: accountDelete: "删除帐户" mayTakeTime: "删除账号是一个性能损耗较大的处理,如果账号持有的内容数量和上传的文件数量较多的话,完成需要花费一段时间。" @@ -901,6 +915,8 @@ _mfm: fontDescription: "可以设置内容所使用的字体。" rainbow: "彩虹" rainbowDescription: "用彩虹色来显示内容。" + sparkle: "闪光" + sparkleDescription: "添加发光粒子效果。" _reversi: reversi: "黑白棋" gameSettings: "对局设置" diff --git a/src/docs/en-US/advanced/aiscript.md b/src/docs/en-US/advanced/aiscript.md index fc2802fcd4..cfcdfebf96 100644 --- a/src/docs/en-US/advanced/aiscript.md +++ b/src/docs/en-US/advanced/aiscript.md @@ -3,5 +3,5 @@ AiScript is a scripting language for Misskey.
ℹ️ AiScript is open source and hosted in a separate repository from Misskey.
-## 使い方 +## Usage AiScript documentation such as syntax and built-in functions can be found [here](https://github.com/syuilo/aiscript/tree/master/docs). diff --git a/src/docs/en-US/advanced/api.md b/src/docs/en-US/advanced/api.md index 76019b6145..ef1995b18e 100644 --- a/src/docs/en-US/advanced/api.md +++ b/src/docs/en-US/advanced/api.md @@ -4,7 +4,7 @@ MisskeyAPIを使ってMisskeyクライアント、Misskey連携Webサービス APIを使い始めるには、まずアクセストークンを取得する必要があります。 このドキュメントでは、アクセストークンを取得する手順を説明した後、基本的なAPIの使い方を説明します。 -## アクセストークンの取得 +## Obtain an access token 基本的に、APIはリクエストにはアクセストークンが必要となります。 APIにリクエストするのが自分自身なのか、不特定の利用者に使ってもらうアプリケーションなのかによって取得手順は異なります。 * 前者の場合: [「自分自身のアクセストークンを手動発行する」](#自分自身のアクセストークンを手動発行する)に進む @@ -20,7 +20,7 @@ APIを使い始めるには、まずアクセストークンを取得する必 #### Step 1 -UUIDを生成する。以後これをセッションIDと呼びます。 +Generate UUID.以後これをセッションIDと呼びます。 > このセッションIDは毎回生成し、使いまわさないようにしてください。 @@ -30,14 +30,14 @@ UUIDを生成する。以後これをセッションIDと呼びます。 > 例: `{_URL_}/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f` 表示する際、URLにクエリパラメータとしていくつかのオプションを設定できます: -* `name` ... アプリケーション名 +* `name` ... App name * > 例: `MissDeck` -* `icon` ... アプリケーションのアイコン画像URL +* `icon` ... App icon URL * > 例: `https://missdeck.example.com/icon.png` * `callback` ... 認証が終わった後にリダイレクトするURL * > 例: `https://missdeck.example.com/callback` * リダイレクト時には、`session`というクエリパラメータでセッションIDが付きます -* `permission` ... アプリケーションが要求する権限 +* `permission` ... App permissions * > 例: `write:notes,write:following,read:drive` * 要求する権限を`,`で区切って列挙します * どのような権限があるかは[APIリファレンス](/api-doc)で確認できます @@ -46,13 +46,13 @@ UUIDを生成する。以後これをセッションIDと呼びます。 ユーザーが発行を許可した後、`{_URL_}/api/miauth/{session}/check`にPOSTリクエストすると、レスポンスとしてアクセストークンを含むJSONが返ります。 レスポンスに含まれるプロパティ: -* `token` ... ユーザーのアクセストークン -* `user` ... ユーザーの情報 +* `token` ... User access token +* `user` ... User info [「APIの使い方」へ進む](#APIの使い方) -## APIの使い方 -**APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です。RESTではありません。** アクセストークンは、`i`というパラメータ名でリクエストに含めます。 +## API usage +**APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です。There is no REST support.** アクセストークンは、`i`というパラメータ名でリクエストに含めます。 -* [APIリファレンス](/api-doc) -* [ストリーミングAPI](./stream) +* [API Reference](/api-doc) +* [Streaming API](./stream) diff --git a/src/docs/en-US/advanced/create-plugin.md b/src/docs/en-US/advanced/create-plugin.md index ec17b95186..3b8763dfd8 100644 --- a/src/docs/en-US/advanced/create-plugin.md +++ b/src/docs/en-US/advanced/create-plugin.md @@ -1,20 +1,20 @@ -# プラグインの作成 +# New Plugin Misskey Webクライアントのプラグイン機能を使うと、クライアントを拡張し、様々な機能を追加できます。 ここではプラグインの作成にあたってのメタデータ定義や、AiScript APIリファレンスを掲載します。 ## Metadata プラグインは、AiScriptのメタデータ埋め込み機能を使って、デフォルトとしてプラグインのメタデータを定義する必要があります。 メタデータは次のプロパティを含むオブジェクトです。 ### name -プラグイン名 +Plugin name ### author -プラグイン作者 +Plugin author ### version -プラグインバージョン。数値を指定してください。 +プラグインバージョン。A number must be specified. ### description -プラグインの説明 +Plugin description ### permissions プラグインが要求する権限。MisskeyAPIにリクエストする際に用いられます。 @@ -34,7 +34,7 @@ Misskey Webクライアントのプラグイン機能を使うと、クライア #### default 設定のデフォルト値 -## APIリファレンス +## API Reference AiScript標準で組み込まれているAPIは掲載しません。 ### Mk:dialog(title text type) diff --git a/src/docs/en-US/advanced/develop-bot.md b/src/docs/en-US/advanced/develop-bot.md index 7f825e9bc4..c6a312e79e 100644 --- a/src/docs/en-US/advanced/develop-bot.md +++ b/src/docs/en-US/advanced/develop-bot.md @@ -1,4 +1,4 @@ -# Botの作成 +# Create a bot [Misskey API](./api)を利用してBotの開発が可能です。 また、いくつかのBot実装が公開されているため、ぜひ参考にしてください。 - [syuilo/ai](https://github.com/syuilo/ai) ... Node.js上で動く、TypeScript製Bot実装 diff --git a/src/docs/en-US/advanced/stream.md b/src/docs/en-US/advanced/stream.md index c0d0efc910..16b15c7619 100644 --- a/src/docs/en-US/advanced/stream.md +++ b/src/docs/en-US/advanced/stream.md @@ -1,4 +1,4 @@ -# ストリーミングAPI +# Streaming API ストリーミングAPIを使うと、リアルタイムで様々な情報(例えばタイムラインに新しい投稿が流れてきた、メッセージが届いた、フォローされた、など)を受け取ったり、様々な操作を行ったりすることができます。 diff --git a/src/docs/en-US/general/glossary.md b/src/docs/en-US/general/glossary.md index 53164a0a59..139c3eab82 100644 --- a/src/docs/en-US/general/glossary.md +++ b/src/docs/en-US/general/glossary.md @@ -73,7 +73,7 @@ A feature allowing users to organize the files they have uploaded to Misskey.For ## Notes Content which may include text, images, surveys and others that has been posted to Misskey.For details, see [here.](../features/note) -## Misskist +## Misskeyist Users of Misskey. ## Moderator diff --git a/src/docs/en-US/general/troubleshooting.md b/src/docs/en-US/general/troubleshooting.md index e3dd5129e0..75051debe6 100644 --- a/src/docs/en-US/general/troubleshooting.md +++ b/src/docs/en-US/general/troubleshooting.md @@ -34,7 +34,7 @@ A blinking light indicates unread content.In cases where this light won't go awa Followers-only notes cannot be renoted. ## Specific parts of the UI are not being displayed -Problems like these can arise if you are using an Adblocker.Please turn these off on Misskey. +Problems like these can arise if you are using an Adblocker. For an optimized experience on Misskey, please turn it off. ## Some parts of the UI are untranslated In most cases, this is simply a matter of the translation not having been done yet instead of being a bug.Please wait until the translation of this area has been completed. You can alternatively also [participate in translation](./misskey) yourself. diff --git a/src/docs/eo-UY/admin/faq.md b/src/docs/eo-UY/admin/faq.md index 317b4e0655..5341c0f16f 100644 --- a/src/docs/eo-UY/admin/faq.md +++ b/src/docs/eo-UY/admin/faq.md @@ -1,4 +1,4 @@ -# よくある質問 +# Oftaj demandoj ここでは、サーバー管理者向けのよくある質問を掲載しています。 ## デフォルトテーマを設定したい diff --git a/src/docs/eo-UY/advanced/create-plugin.md b/src/docs/eo-UY/advanced/create-plugin.md index e7826037b8..7ed29bb824 100644 --- a/src/docs/eo-UY/advanced/create-plugin.md +++ b/src/docs/eo-UY/advanced/create-plugin.md @@ -1,4 +1,4 @@ -# プラグインの作成 +# Krei kromaĵo Misskey Webクライアントのプラグイン機能を使うと、クライアントを拡張し、様々な機能を追加できます。 ここではプラグインの作成にあたってのメタデータ定義や、AiScript APIリファレンスを掲載します。 ## Metadatumoj diff --git a/src/docs/eo-UY/advanced/stream.md b/src/docs/eo-UY/advanced/stream.md index 932da90f25..9f5cdbbcb0 100644 --- a/src/docs/eo-UY/advanced/stream.md +++ b/src/docs/eo-UY/advanced/stream.md @@ -1,4 +1,4 @@ -# ストリーミングAPI +# API de Flui ストリーミングAPIを使うと、リアルタイムで様々な情報(例えばタイムラインに新しい投稿が流れてきた、メッセージが届いた、フォローされた、など)を受け取ったり、様々な操作を行ったりすることができます。 diff --git a/src/docs/eo-UY/features/favorite.md b/src/docs/eo-UY/features/favorite.md index 05c03fa2db..747c871a5d 100644 --- a/src/docs/eo-UY/features/favorite.md +++ b/src/docs/eo-UY/features/favorite.md @@ -1,4 +1,4 @@ -# Preferataĵoj +# Preferaĵoj [ノート](./node)をお気に入りとして登録できる機能です。 お気に入り登録したノートは、[お気に入りページ](./my/favorites)で一覧することができます。 お気に入りに登録したことは相手に通知されず、お気に入りは自分しか見ることができません。 ノートをお気に入り登録するには、ノートメニューの「お気に入り」を押します。お気に入り解除するには、ノートメニューの「お気に入り解除」を押します。 diff --git a/src/docs/eo-UY/features/keyboard-shortcut.md b/src/docs/eo-UY/features/keyboard-shortcut.md index b4bb35b763..413bef16c1 100644 --- a/src/docs/eo-UY/features/keyboard-shortcut.md +++ b/src/docs/eo-UY/features/keyboard-shortcut.md @@ -4,21 +4,21 @@ これらのショートカットは基本的にどこでも使えます。 - + - +
Fulmoklavoj効果由来
FulmoklavojRezultatoDeveno (angla)
P, NSkribi novan notonPost, New, Note
Tタイムラインの最も新しい投稿にフォーカスTimeline, Top
Shift + NMalfermi sekcio de sciigojNotifications
SSerĉiSearch
H, ?ヘルプを表示Help
H, ?Montru helponHelp
## 投稿にフォーカスされた状態 - + @@ -28,7 +28,7 @@ - + @@ -48,11 +48,11 @@
Fulmoklavoj効果Deveno (angla)
FulmoklavojRezultatoDeveno (angla)
, K, Shift + Tab上の投稿にフォーカスを移動-
Ctrl + QTuj plusendos (sen la fasado)-
E, A, +リアクションフォームを開くEmote, reAction
0-9数字に対応したリアクションをする(対応については後述)-
F, BAldoni vian liston de preferaĵojFavorite, Bookmark
F, BAldoni al vian liston de preferaĵojFavorite, Bookmark
Del, Ctrl + DForviŝi la notonDelete
M, OMalfelmi poŝtaĵan menuonMore, Other
SCWで隠された部分を表示 or 隠すShow, See
-## リアクションフォーム +## Elektilo de reago デフォルトで「👍」にフォーカスが当たっている状態です。 - + diff --git a/src/docs/eo-UY/features/mfm.md b/src/docs/eo-UY/features/mfm.md index 2970fbd7b2..7257033d8d 100644 --- a/src/docs/eo-UY/features/mfm.md +++ b/src/docs/eo-UY/features/mfm.md @@ -2,10 +2,10 @@ MFMは、Misskey Flavored Markdownの略で、Misskeyの様々な場所で使用できる専用のマークアップ言語です。 MFMで使用可能な構文は[MFMチートシート](/mfm-cheat-sheet)で確認できます。 ## MFMが使用可能な場所の例 -- ノート本文 +- Teksto de notoj - CW注釈 -- Nomo de uzanto -- Profilo de uzanto +- La nomo de uzantoj +- La sinprezento de profiloj ## Informoj por programistoj MFMのパーサー実装はライブラリとして公開されており、簡単にクライアントにMFMを組み込むことが可能です。 diff --git a/src/docs/eo-UY/features/note.md b/src/docs/eo-UY/features/note.md index aa72981e24..2bfe10951c 100644 --- a/src/docs/eo-UY/features/note.md +++ b/src/docs/eo-UY/features/note.md @@ -1,5 +1,5 @@ # Notoj -ノートは、Misskeyに投稿される、文章、ファイル、アンケートなどを含むコンテンツで、Misskeyの中心的概念です。また、そのノートを作成する行為自体もノートと呼ばれます。 +Notoj estas centraj konceptoj en Misskey kaj enhavoj kiuj konsistas el teksto, bildoj, dosieroj, balotujo k.t.p.Ankaŭ krei notojn estas nomata "noto" same kiel ili ノートが作成されると、[タイムライン](./timeline)に追加され、自分の[フォロワー](./follow)やサーバーのユーザーが見れるようになります。 @@ -7,14 +7,14 @@ ノートを[お気に入り](./favorite)登録することで、後で簡単に見返すことができます。 -## ノートを作成する +## Skribi notojn ノートを作成するには、画面上にある鉛筆マークのボタンを押して、作成フォームを開きます。作成フォームに内容を入力し、「ノート」ボタンを押すことでノートが作成されます。 ノートには、画像、動画など任意のファイルや、[アンケート](./poll)を添付することができます。また、本文中には[MFM](./mfm)が使用でき、[メンション](./mention)や[ハッシュタグ](./hashtag)を含めることもできます。 他にも、CWや公開範囲といった設定も行えます(詳細は後述)。
ℹ️ コンピューターのクリップボードに画像データがある状態で、フォーム内のテキストボックスにペーストするとその画像を添付することができます。
ℹ️ テキストボックス内でCtrl + Enterを押すことでも投稿できます。
-## Plusendi la noton +## Plusendi noton 既にあるノートを引用、もしくはそのノートを新しいノートとして共有する行為、またそれによって作成されたノートをRenoteと呼びます。 自分がフォローしているユーザーの、気に入ったノートを自分のフォロワーに共有したい場合や、過去の自分のノートを再度共有したい場合に使います。 同じノートに対して無制限にRenoteを行うことができますが、あまり連続して使用すると迷惑になる場合もあるので、注意しましょう。 -
⚠️ 公開範囲がフォロワーやダイレクトのノートはRenoteできません
+
⚠️ Se oni sendas notojn nur al sekvantoj aŭ rekte, iliaj ne estas plusendeblaj.
Renoteを削除するには、Renoteの時刻表示の隣にある「...」を押し、「Renote解除」を選択します。 @@ -31,10 +31,10 @@ Contents Warningの略で、ノートの内容を、閲覧者の操作なしに ### Hejma 全ての人に対してノートが公開されますが、フォロワー以外のローカルタイムライン、ソーシャルタイムライン、グローバルタイムラインにはノートは流れません。 -### Sekvantoj -自分のフォロワーに対してのみノートを公開します。フォロワーの全てのタイムラインに流れます。 +### Nur al sekvantoj +Viaj notoj estos senditaj nur al viaj sekvantoj.La noto aperos sur ĉiuj templinioj de viaj sekvantoj. -### Rekta +### Rekte 指定したユーザーに対してのみノートを公開します。指定したユーザーの全てのタイムラインに流れます。 ### 「ローカルのみ」オプション @@ -42,13 +42,13 @@ Contents Warningの略で、ノートの内容を、閲覧者の操作なしに ### 公開範囲の比較
Fulmoklavoj効果Deveno (angla)
FulmoklavojRezultatoDeveno (angla)
, K上のリアクションにフォーカスを移動-
- +
PublikaHejmaSekvantojRekta
PublikaHejmaNur al sekvantojRekte
フォロワーのLTL/STL/GTL
非フォロワーのLTL/STL/GTL
-## Alpingli al la profilo +## Alpingli sur profilo ノートをピン留めすると、ユーザーページに常にそのノートを表示しておくことができます。 ノートのメニューを開き、「ピン留め」を選択してピン留めできます。 複数のノートをピン留めできます。 ## Observi -Vi povas ricevi sciigojn pri reagoj, respondoj, ktp al noto, kiuj ne apartenas al vi. Por observu, malfermu respektivan menuon de noto, kaj elektu la "Observi" el ĝi. +Vi povas ricevi tiuj sciigoj pri reagoj, respondoj, k.t.p al noto kiuj ne apartenas al vi estas ankaŭ ricevebla. Por komenci tion elektu la "Observi" el la menuon kuntekstan de la notoj respektivaj. diff --git a/src/docs/eo-UY/general/faq.md b/src/docs/eo-UY/general/faq.md index c272b2ad42..f7ede4c6cc 100644 --- a/src/docs/eo-UY/general/faq.md +++ b/src/docs/eo-UY/general/faq.md @@ -1,4 +1,4 @@ -# よくある質問 +# Oftaj demandoj ここでは利用上のよくある質問について掲載しています。 Misskeyのプロジェクト自体についてのよくある質問は[こちら](./misskey)に掲載されています。 ## iOS/Androidのアプリはありますか? diff --git a/src/docs/eo-UY/general/glossary.md b/src/docs/eo-UY/general/glossary.md index fe3b034181..25dd5f82c1 100644 --- a/src/docs/eo-UY/general/glossary.md +++ b/src/docs/eo-UY/general/glossary.md @@ -1,4 +1,4 @@ -# 用語集 +# Glosaro Misskeyに関する用語集です。 ## ActivityPub @@ -49,7 +49,7 @@ Ai estas oficiala maskoto de Misskey. ## Nodo todo -## Personecigitaj emoĵioj +## Emoĵioj personecigitaj サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 ## Ŝaltpodio @@ -68,10 +68,10 @@ todo アカウントが使用不可に設定されている状態。 ## Disko -Misskeyにアップロードしたファイルを管理する機能。詳細は[こちら。](../features/drive) +Funkcio ebligas al uzantoj administri dosierojn kiujn ili alŝutis al Misskey.Rigardu por sciu pli tie[.](../features/drive) ## Notoj -Misskeyに投稿される、文章、ファイル、アンケートなどを含めることができるコンテンツ。Rigardu por sciu pli tie[.](../features/note) +Enpoŝtigaĵoj en Misskey kiuj konsistas el teksto, dosiero, balotujo, ktp.Rigardu por sciu pli tie[.](../features/note) ## Miskiisto Uzuloj de Misskey. @@ -82,7 +82,7 @@ Uzuloj de Misskey. ## Transa, Surloka 他サーバーのことを指します。リモートユーザーといったように接頭辞としても使われます。ローカルの逆です。 -## Kunfederado +## Federado サーバー上で作成された情報が他のサーバーに伝わること。 ## Loka diff --git a/src/docs/eo-UY/general/misskey.md b/src/docs/eo-UY/general/misskey.md index 506f7a8f24..ef287e5964 100644 --- a/src/docs/eo-UY/general/misskey.md +++ b/src/docs/eo-UY/general/misskey.md @@ -43,7 +43,7 @@ Misskeyはビジネスではなく、利用は無料であるため、収益は ## クレジット Misskeyの開発者や、Misskeyに寄付をしてくださった方の一覧は[こちら](/about-misskey)で見ることができます。 -## よくある質問 +## Oftaj demandoj ### プロジェクトは何を目指していますか? 強いて言うと、漠然的になりますが広く使われる汎用的なプラットフォームになることを目指しています。 Misskeyは他のプロジェクトとは違い、何らかの思想(例えば、反中央集権)やビジョンに基づいて開発が行われているわけではなく、その点ではフラットです。 それが逆に、特定の方向性に縛られないフレキシブルさを生み出すことに繋がっていると感じています。 diff --git a/src/docs/es-ES/general/troubleshooting.md b/src/docs/es-ES/general/troubleshooting.md index f895b49847..2bedfc3129 100644 --- a/src/docs/es-ES/general/troubleshooting.md +++ b/src/docs/es-ES/general/troubleshooting.md @@ -1,4 +1,4 @@ -# トラブルシューティング +# Solución de problemas
ℹ️ よくある質問も合わせてお役立てください。
問題が発生したときは、まずこちらをご確認ください。 該当する項目が無い、もしくは手順を試しても効果がない場合は、サーバーの管理者に連絡するか[不具合を報告](./report-issue)してください。 diff --git a/src/docs/fr-FR/general/apps.md b/src/docs/fr-FR/general/apps.md index 7f9165a306..32a1274a59 100644 --- a/src/docs/fr-FR/general/apps.md +++ b/src/docs/fr-FR/general/apps.md @@ -1,6 +1,6 @@ # Liste des applications tierces -## クライアント +## Client todo -## 連携サービス +## Services connexes todo diff --git a/src/docs/fr-FR/general/glossary.md b/src/docs/fr-FR/general/glossary.md index 441a2b5bc4..d26d2e8ee6 100644 --- a/src/docs/fr-FR/general/glossary.md +++ b/src/docs/fr-FR/general/glossary.md @@ -1,65 +1,65 @@ -# 用語集 -Misskeyに関する用語集です。 +# Glossaire +Glossaire des termes utilisés dans Misskey. ## ActivityPub -(読み: あくてぃびてぃぱぶ) 分散型を実現するために用いられるプロトコル(仕様)。このプロトコルに則ってサーバー同士通信を行うことで、連合が行われ、Fediverseを形成しています。 +Nom du protocole (procédé technique) utilisé par Misskey pour pouvoir fonctionner comme service décentralisé. Ce protocole permet à tous les serveurs l'ayant adopté de communiquer entre eux et de former une sorte de fédération que l'on appelle « Fédiverse ». ## AiScript -(読み: あいすくりぷと) Misskey上で使用できるプログラミング言語です。詳細は[こちら。](../advanced/aiscript) +Langage de programmation qui peut être utilisé sur Misskey. [Voir ici pour plus d'informations.](../advanced/aiscript) ## API -(読み: えーぴーあい) Misskeyのサーバーが公開している、プログラムからMisskeyを扱うためのインターフェース。詳細は[こちら。](../advanced/api) +(読み: えーぴーあい) Misskeyのサーバーが公開している、プログラムからMisskeyを扱うためのインターフェース。[Voir ici pour plus d'informations. ](../advanced/api) ## Bot -(読み: ぼっと) プログラムによって動作しているアカウント。 +Anglicisme désignant un compte géré par un programme informatique (vous le trouverez parfois aussi sous le terme de « robot »). ## CW -(読み: こんてんつわーにんぐ) Contents Warningの略。ノートの内容を、操作なしには表示しないようにできる機能。主に長大な内容を隠すためや、ネタバレ防止などに使われます。 +Abréviation de « Content Warning » (qui signifie littéralement « alerte de contenu »). Fonctionnalité permettant d'assujettir l'affichage du contenu d'une note à une intervention de l'utilisateur·rice par le biais d'un bouton de masquage automatique. Principalement employée pour cacher le contenu des notes très longues, ou pour éviter de dévoiler publiquement des spoils potentiels, etc. -## Fediverse -(読み: ふぇでぃばーす) Misskeyを含む様々な分散型ソフトウェアのサーバーで構成されたネットワーク。 +## Fédiverse +Nom du réseau social fédéré qui rassemble une multitude d'instances appartenant à différents services et dont fait partie Misskey. -## GTL -グローバルタイムライン(Global TimeLine)の略。タイムラインの詳細は[こちら。](../features/timeline) +## FG +Abréviation de « Fil global ». Pour en savoir plus sur les différents fils, [voir ici.](../features/timeline) -## HTL -ホームタイムライン(Home TimeLine)の略。タイムラインの詳細は[こちら。](../features/timeline) +## FP +Abréviation de « Fil principal ». Pour en savoir plus sur les différents fils, [voir ici.](../features/timeline) -## LTL -ローカルタイムライン(Local TimeLine)の略。タイムラインの詳細は[こちら。](../features/timeline) +## FL +Abréviation de « Fil local ». Pour en savoir plus sur les différents fils, [voir ici.](../features/timeline) ## MFM -(読み: えむえふえむ) Misskey Flavored Markdownの略で、Misskey上で使用できるマークアップ言語です。詳細は[こちら。](../features/mfm) +Abréviation de « Misskey Flavored Markdown », un langage Markdown qui peut être utilisé sur Misskey. [Voir ici pour plus d'informations.](../features/mfm) ## NSFW -(読み: のっとせーふふぉーわーく) Not Safe For Workの略。画像を「閲覧注意」扱いにし、操作なしには表示しないようにすることができる機能。 +Abréviation de « Not Safe For Work » (qui signifie littéralement « pas sûr pour le travail »). Fonctionnalité permettant d'avertir que le contenu d'une note n'est pas approprié sur le lieu de travail et d'en assujettir l'affichage à une intervention de l'utilisateur·rice par le biais d'un bouton de masquage automatique. ## Renoter -(読み: りのーと) 既にあるノートを引用、もしくはそのノートを新しいノートとして共有する行為、またそれによって作成されたノート。詳細は[こちら。](../features/note) +Il s'agit du fait de citer une note existante ou de partager une note existante dans une nouvelle note. La note créée par l'un de ces deux biais est alors appelée une « Renote ». [Voir ici pour plus d'informations.](../features/note) -## STL -ソーシャルタイムライン(Social TimeLine)の略。タイムラインの詳細は[こちら。](../features/timeline) +## FS +Abréviation de « Fil social ». Pour en savoir plus sur les différents fils, [voir ici.](../features/timeline) -## 藍 -(読み: あい) Misskeyの看板娘(公式キャラクター)です。 +## Ai +Nom de la mascotte officielle de Misskey. (Le mot japonais, à prononcer « a-i », signifie littéralement « indigo »). -## アクティブユーザー -インスタンスにアカウントを作っているユーザーのうち、現在も実際にサービスを利用しているユーザーのこと。 +## Utilisateurices actif·ve·s +Désigne les utilisateur·rice·s, parmi tou·te·s celleux inscrit·e·s sur l'instance, qui utilisent effectivement leur compte au moment présent. ## Instance todo ## Émojis personnalisés -サーバーで用意された絵文字。カスタム絵文字ではない通常の絵文字は「Unicode絵文字」と区別して呼ばれる。 +Désigne les émojis mis à disposition par votre instance. Par opposition, les émojis disponibles par défaut (donc pas « personnalisés ») sont appelés « émojis unicode ». -## コントロールパネル -インスタンスの設定画面のこと。 +## Panneau de contrôle +Écran de contrôle des paramètres d'instance. ## Serveurs todo ## Mettre en sourdine -ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。詳細は[こちら。](../features/silence) +ノートをパブリックな公開範囲で投稿できなくされている状態。モデレーターの判断でユーザーごとに設定されます。[Voir ici pour plus d'informations. ](../features/silence) ## File d’attente アクティビティ配送などを順番に行うためのシステム。 @@ -68,15 +68,15 @@ todo アカウントが使用不可に設定されている状態。 ## Drive -Misskeyにアップロードしたファイルを管理する機能。詳細は[こちら。](../features/drive) +Fonctionnalité vous permettant de gérer les fichiers que vous avez téléversés sur Misskey. [Voir ici pour plus d'informations. ](../features/drive) ## Notes -Misskeyに投稿される、文章、ファイル、アンケートなどを含めることができるコンテンツ。詳細は[こちら。](../features/note) +Nom des publications sur Misskey. Leur contenu peut être du texte, mais aussi des fichiers, des enquêtes, etc. [Voir ici pour plus d'informations.](../features/note) -## ミスキスト -Misskeyを使う人のこと。 +## Misskeynaute +Désigne les utilisateur·rice·s de Misskey. -## Modérateurs +## Modérateur·rice·s スパムの凍結およびサイレンスや不適切な投稿の削除など、コミュニティ運営に関する権限を持つユーザー。 ## Distant diff --git a/src/docs/fr-FR/general/troubleshooting.md b/src/docs/fr-FR/general/troubleshooting.md index f6a6771df2..3abcf34006 100644 --- a/src/docs/fr-FR/general/troubleshooting.md +++ b/src/docs/fr-FR/general/troubleshooting.md @@ -21,20 +21,20 @@ Essayez les solutions proposées ci-dessous : - activer l'option « Réduire les animations dans l'interface » dans les paramètres du client - désactiver l'option « Utiliser un effet de flou pour les modals » dans les paramètres du client - activer l'accélération matérielle dans les paramètres de votre navigateur -- お使いのデバイスのスペックを上げる +- effectuer les mises à jour de votre appareil. -## UIの一部の表示がおかしい(背景が透明になっている等) -アップデートによりUIの改修が行われたときに、テーマのキャッシュシステムの影響でそのような表示になることがあります。 クライアントの設定の「キャッシュをクリア」すると直ります。 -
⚠️ 「クライアントの」キャッシュクリアです。「ブラウザの」キャッシュクリアは行わないでください。
+## Certaines parties de l'interface ne s'affichent pas correctement (arrière-plan transparent, etc.) +Cela peut être lié au système de mise en cache du thème lorsqu'une mise à jour visant à améliorer l'interface a eu lieu. Pour résoudre le problème, sélectionnez la touche « Vider le cache » dans les paramètres du client. +
⚠️ Attention de bien vider le cache du -client-... et pas celui du -navigateur- !
-## 通知やアンテナ等の点滅が消えない -点滅は、未読のコンテンツがあることを示しています。通常点滅が消えない場合は、コンテンツを遡ると未読なコンテンツが残っています。 すべて既読にしたと思われるのに、それでもなお点滅が続く場合(おそらく不具合と思われます)は設定から強制的にすべて既読扱いにすることができます。 +## Les pastilles de notification clignotantes ne disparaissent pas +Une pastille clignotante indique la présence de nouveau contenu que vous n'avez pas encore lu. Lorsque cette pastille ne disparaît pas, c'est généralement parce que du contenu laissé non lu a été repoussé par la réception de nouveau contenu. S'il s'avère que vous avez déjà lu le contenu dans sa totalité mais que la pastille continue tout de même de clignoter, il s'agit alors vraisemblablement d'un bug et vous pouvez forcer Misskey à tout marquer comme lu depuis vos paramètres généraux. ## La fonction « Renoter » ne fonctionne pas Les notes dont l'audience est limitée aux « Abonné·e·s uniquement » ne peuvent pas être renotées. ## Des éléments spécifiques de l'interface ne s'affichent pas -広告ブロッカーを使用しているとそのような不具合が発生することがあります。Misskeyではオフにしてご利用ください。 +Ce type de dysfonctionnement survient lorsque vous utilisez des bloqueurs de publicité. Désactivez-les pour profiter d'une expérience optimale sur Misskey. ## Certaines parties de l'interface ne sont pas traduites La plupart du temps, cela n'est pas un bug mais simplement un problème de traduction qui n'a pas encore été faite. Merci de patienter jusqu'à ce que la traduction de la portion en question soit achevée. Vous pouvez également [aider à traduire](./misskey) Misskey. diff --git a/src/docs/zh-CN/advanced/stream.md b/src/docs/zh-CN/advanced/stream.md index 090f8475ea..3351f2d839 100644 --- a/src/docs/zh-CN/advanced/stream.md +++ b/src/docs/zh-CN/advanced/stream.md @@ -50,7 +50,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり } ``` -ここで、 +其中: * `channel`には接続したいチャンネル名を設定します。チャンネルの種類については後述します。 * `id`にはそのチャンネルとやり取りするための任意のIDを設定します。ストリームでは様々なメッセージが流れるので、そのメッセージがどのチャンネルからのものなのか識別する必要があるからです。このIDは、UUIDや、乱数のようなもので構いません。 * `params`はチャンネルに接続する際のパラメータです。チャンネルによって接続時に必要とされるパラメータは異なります。パラメータ不要のチャンネルに接続する際は、このプロパティは省略可能です。 @@ -74,7 +74,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり } ``` -ここで、 +其中: * `id`には前述したそのチャンネルに接続する際に設定したIDが設定されています。これで、このメッセージがどのチャンネルからのものなのか知ることができます。 * `type`にはメッセージの種類が設定されます。チャンネルによって、どのような種類のメッセージが流れてくるかは異なります。 * `body`にはメッセージの内容が設定されます。チャンネルによって、どのような内容のメッセージが流れてくるかは異なります。 @@ -96,7 +96,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり } ``` -ここで、 +其中: * `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。これで、このメッセージがどのチャンネルに向けたものなのか識別させることができます。 * `type`にはメッセージの種類を設定します。チャンネルによって、どのような種類のメッセージを受け付けるかは異なります。 * `body`にはメッセージの内容を設定します。チャンネルによって、どのような内容のメッセージを受け付けるかは異なります。 @@ -113,7 +113,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり } ``` -ここで、 +其中: * `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。 ## ストリームを経由してAPIリクエストする @@ -134,7 +134,7 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり } ``` -ここで、 +其中: * `id`には、APIのレスポンスを識別するための、APIリクエストごとの一意なIDを設定する必要があります。UUIDや、簡単な乱数のようなもので構いません。 * `endpoint`には、あなたがリクエストしたいAPIのエンドポイントを指定します。 * `data`には、エンドポイントのパラメータを含めます。 @@ -154,7 +154,7 @@ APIへリクエストすると、レスポンスがストリームから次の } ``` -ここで、 +其中: * `xxxxxxxxxxxxxxxx`の部分には、リクエストの際に設定された`id`が含まれています。これにより、どのリクエストに対するレスポンスなのか判別することができます。 * `body`には、レスポンスが含まれています。 @@ -181,7 +181,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま } ``` -ここで、 +其中: * `id`にキャプチャしたい投稿の`id`を設定します。 このメッセージを送信すると、Misskeyにキャプチャを要請したことになり、以後、その投稿に関するイベントが流れてくるようになります。 @@ -202,7 +202,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま } ``` -ここで、 +其中: * `body`内の`id`に、イベントを発生させた投稿のIDが設定されます。 * `body`内の`type`に、イベントの種類が設定されます。 * `body`内の`body`に、イベントの詳細が設定されます。 @@ -285,7 +285,7 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま } ``` -ここで、 +其中: * `id`にキャプチャを解除したい投稿の`id`を設定します。 このメッセージを送信すると、以後、その投稿に関するイベントは流れてこないようになります。 diff --git a/src/docs/zh-CN/features/follow.md b/src/docs/zh-CN/features/follow.md index 115a2786f6..2a95aa6dc4 100644 --- a/src/docs/zh-CN/features/follow.md +++ b/src/docs/zh-CN/features/follow.md @@ -1,2 +1,2 @@ -# 关注中 -ユーザーをフォローすると、タイムラインにそのユーザーの投稿が表示されるようになります。ただし、他のユーザーに対する返信は含まれません。 ユーザーをフォローするには、ユーザーページの「フォロー」ボタンをクリックします。フォローを解除するには、もう一度クリックします。 +# 关注 +当您关注一名用户时,您可以在您的时间线上看到该用户的发帖。但是不包含该用户对其他用户的回复。 要关注一名用户,请点击该用户页面上的“关注”按钮。如果需要取消关注,请再次点击该按钮。 diff --git a/src/docs/zh-CN/features/mfm.md b/src/docs/zh-CN/features/mfm.md index d42350edf0..8bcaacbed7 100644 --- a/src/docs/zh-CN/features/mfm.md +++ b/src/docs/zh-CN/features/mfm.md @@ -1,12 +1,12 @@ # MFM -MFMは、Misskey Flavored Markdownの略で、Misskeyの様々な場所で使用できる専用のマークアップ言語です。 MFMで使用可能な構文は[MFMチートシート](/mfm-cheat-sheet)で確認できます。 +MFM是Misskey Flavored Markdown的缩写,是一种专用的标记语言,可以用在Misskey的任何地方。 MFM中可用的语法可以在[MFM代码速查表](/mfm-cheat-sheet)中找到。 -## MFMが使用可能な場所の例 -- ノート本文 +## 使用 MFM 的位置示例 +- 帖子正文 - CW注释 -- ユーザーの名前 -- ユーザーの自己紹介 +- 用户姓名 +- 用户自我介绍 -## 開発者向け情報 -MFMのパーサー実装はライブラリとして公開されており、簡単にクライアントにMFMを組み込むことが可能です。 -- [misskey-dev/mfm.js](https://github.com/misskey-dev/mfm.js) - JavaScriptパーサー実装 +## 面向开发者的信息 +MFM 的解析器实现作为库发布,可以轻松地将 MFM 嵌入到客户端中。 +- [misskey-dev/mfm.js](https://github.com/misskey-dev/mfm.js) - JavaScript的解析器实现 From 3f688a728b59514da94e16764cf356c6b81931ad Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 16 Oct 2021 19:30:31 +0900 Subject: [PATCH 206/336] :art: --- src/client/components/ui/window.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/components/ui/window.vue b/src/client/components/ui/window.vue index 6a7c61a7d5..00284b0467 100644 --- a/src/client/components/ui/window.vue +++ b/src/client/components/ui/window.vue @@ -382,7 +382,7 @@ export default defineComponent({ diff --git a/src/models/repositories/note-reaction.ts b/src/models/repositories/note-reaction.ts index ba74076f6c..5d86065526 100644 --- a/src/models/repositories/note-reaction.ts +++ b/src/models/repositories/note-reaction.ts @@ -1,6 +1,6 @@ import { EntityRepository, Repository } from 'typeorm'; import { NoteReaction } from '@/models/entities/note-reaction'; -import { Users } from '../index'; +import { Notes, Users } from '../index'; import { Packed } from '@/misc/schema'; import { convertLegacyReaction } from '@/misc/reaction-lib'; import { User } from '@/models/entities/user'; @@ -9,8 +9,15 @@ import { User } from '@/models/entities/user'; export class NoteReactionRepository extends Repository { public async pack( src: NoteReaction['id'] | NoteReaction, - me?: { id: User['id'] } | null | undefined + me?: { id: User['id'] } | null | undefined, + options?: { + withNote: boolean; + }, ): Promise> { + const opts = Object.assign({ + withNote: false, + }, options); + const reaction = typeof src === 'object' ? src : await this.findOneOrFail(src); return { @@ -18,6 +25,9 @@ export class NoteReactionRepository extends Repository { createdAt: reaction.createdAt.toISOString(), user: await Users.pack(reaction.userId, me), type: convertLegacyReaction(reaction.reaction), + ...(opts.withNote ? { + note: await Notes.pack(reaction.noteId, me), + } : {}) }; } } diff --git a/src/server/api/endpoints/users/reactions.ts b/src/server/api/endpoints/users/reactions.ts new file mode 100644 index 0000000000..44d7887482 --- /dev/null +++ b/src/server/api/endpoints/users/reactions.ts @@ -0,0 +1,67 @@ +import $ from 'cafy'; +import { ID } from '@/misc/cafy-id'; +import define from '../../define'; +import { NoteReactions } from '@/models/index'; +import { makePaginationQuery } from '../../common/make-pagination-query'; +import { generateVisibilityQuery } from '../../common/generate-visibility-query'; + +export const meta = { + tags: ['users', 'reactions'], + + requireCredential: false as const, + + params: { + userId: { + validator: $.type(ID), + }, + + limit: { + validator: $.optional.num.range(1, 100), + default: 10, + }, + + sinceId: { + validator: $.optional.type(ID), + }, + + untilId: { + validator: $.optional.type(ID), + }, + + sinceDate: { + validator: $.optional.num, + }, + + untilDate: { + validator: $.optional.num, + }, + }, + + res: { + type: 'array' as const, + optional: false as const, nullable: false as const, + items: { + type: 'object' as const, + optional: false as const, nullable: false as const, + ref: 'NoteReaction', + } + }, + + errors: { + } +}; + +export default define(meta, async (ps, me) => { + const query = makePaginationQuery(NoteReactions.createQueryBuilder('reaction'), + ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) + .andWhere(`reaction.userId = :userId`, { userId: ps.userId }) + .leftJoinAndSelect('reaction.note', 'note'); + + generateVisibilityQuery(query, me); + + const reactions = await query + .take(ps.limit!) + .getMany(); + + return await Promise.all(reactions.map(reaction => NoteReactions.pack(reaction, me, { withNote: true }))); +}); From 0c21ae226bdf8d904a8736f11ef339bdb9aaa137 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 05:21:36 +0900 Subject: [PATCH 213/336] Update CONTRIBUTING.md --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5e0eece1f..3ec8baaacb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,9 +9,9 @@ It will also allow the reader to use the translation tool of their preference if ## Issues Before creating an issue, please check the following: - To avoid duplication, please search for similar issues before creating a new issue. -- Do not use Issues as a question. - - Issues should only be used to feature requests, suggestions, and report problems. - - Please ask questions in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3). +- Do not use Issues to ask questions or troubleshooting. + - Issues should only be used to feature requests, suggestions, and bug tracking. + - Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3). ## Before implementation When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented. From dec69cc67b060eec244eb8d2df7dcd362359514b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 16:26:35 +0900 Subject: [PATCH 214/336] =?UTF-8?q?enhance:=20=E3=83=A6=E3=83=BC=E3=82=B6?= =?UTF-8?q?=E3=83=BC=E6=A4=9C=E7=B4=A2=E3=81=AE=E7=B2=BE=E5=BA=A6=E3=82=92?= =?UTF-8?q?=E5=BC=B7=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 2 + src/client/components/form/radios.vue | 12 -- src/client/pages/explore.vue | 19 ++- .../users/search-by-username-and-host.ts | 9 +- src/server/api/endpoints/users/search.ts | 125 +++++++++++------- 5 files changed, 103 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1139707b5a..ef9934f6d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,9 @@ ### Improvements - クライアント: ユーザーのリアクション一覧を見れるように +- クライアント: ユーザー検索の精度を強化 - API: ユーザーのリアクション一覧を取得する users/reactions を追加 +- API: users/search および users/search-by-username-and-host を強化 ### Bugfixes diff --git a/src/client/components/form/radios.vue b/src/client/components/form/radios.vue index 1d3d80172a..998a738202 100644 --- a/src/client/components/form/radios.vue +++ b/src/client/components/form/radios.vue @@ -22,7 +22,6 @@ export default defineComponent({ } }, render() { - const label = this.$slots.desc(); let options = this.$slots.default(); // なぜかFragmentになることがあるため @@ -31,7 +30,6 @@ export default defineComponent({ return h('div', { class: 'novjtcto' }, [ - h('div', { class: 'label' }, label), ...options.map(option => h(MkRadio, { key: option.key, value: option.props.value, @@ -45,16 +43,6 @@ export default defineComponent({ From 3a11dba24f839016bad295ce2e68dac04d7a3d5b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 18:38:38 +0900 Subject: [PATCH 216/336] #7880 --- src/client/pages/explore.vue | 6 +- .../users/search-by-username-and-host.ts | 14 ++-- src/server/api/endpoints/users/search.ts | 72 +++++++------------ 3 files changed, 38 insertions(+), 54 deletions(-) diff --git a/src/client/pages/explore.vue b/src/client/pages/explore.vue index 596bc1f0ed..0c29b11b38 100644 --- a/src/client/pages/explore.vue +++ b/src/client/pages/explore.vue @@ -69,7 +69,7 @@ - + @@ -167,14 +167,14 @@ export default defineComponent({ limit: 10, params: computed(() => (this.searchQuery && this.searchQuery !== '') ? { query: this.searchQuery, - scope: this.searchScope, + origin: this.searchOrigin, } : null) }, tagsLocal: [], tagsRemote: [], stats: null, searchQuery: null, - searchScope: 'both', + searchOrigin: 'both', num: number, }; }, diff --git a/src/server/api/endpoints/users/search-by-username-and-host.ts b/src/server/api/endpoints/users/search-by-username-and-host.ts index 8fdc710658..3b8d024af5 100644 --- a/src/server/api/endpoints/users/search-by-username-and-host.ts +++ b/src/server/api/endpoints/users/search-by-username-and-host.ts @@ -46,13 +46,15 @@ export const meta = { }; export default define(meta, async (ps, me) => { + const activeThreshold = new Date(Date.now() - (1000 * 60 * 60 * 24 * 30)); // 30日 + if (ps.host) { const q = Users.createQueryBuilder('user') .where('user.isSuspended = FALSE') .andWhere('user.host LIKE :host', { host: ps.host.toLowerCase() + '%' }); if (ps.username) { - q.andWhere('user.usernameLower like :username', { username: ps.username.toLowerCase() + '%' }); + q.andWhere('user.usernameLower LIKE :username', { username: ps.username.toLowerCase() + '%' }); } q.andWhere('user.updatedAt IS NOT NULL'); @@ -65,12 +67,12 @@ export default define(meta, async (ps, me) => { let users = await Users.createQueryBuilder('user') .where('user.host IS NULL') .andWhere('user.isSuspended = FALSE') - .andWhere('user.usernameLower like :username', { username: ps.username.toLowerCase() + '%' }) + .andWhere('user.usernameLower LIKE :username', { username: ps.username.toLowerCase() + '%' }) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) - .orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST') + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany(); @@ -79,7 +81,7 @@ export default define(meta, async (ps, me) => { const otherUsers = await Users.createQueryBuilder('user') .where('user.host IS NOT NULL') .andWhere('user.isSuspended = FALSE') - .andWhere('user.usernameLower like :username', { username: ps.username.toLowerCase() + '%' }) + .andWhere('user.usernameLower LIKE :username', { username: ps.username.toLowerCase() + '%' }) .andWhere('user.updatedAt IS NOT NULL') .orderBy('user.updatedAt', 'DESC') .take(ps.limit! - users.length) diff --git a/src/server/api/endpoints/users/search.ts b/src/server/api/endpoints/users/search.ts index e4fbfedd10..9aa988d9ed 100644 --- a/src/server/api/endpoints/users/search.ts +++ b/src/server/api/endpoints/users/search.ts @@ -3,7 +3,6 @@ import define from '../../define'; import { UserProfiles, Users } from '@/models/index'; import { User } from '@/models/entities/user'; import { Brackets } from 'typeorm'; -import { USER_ACTIVE_THRESHOLD } from '@/const'; export const meta = { tags: ['users'], @@ -25,9 +24,9 @@ export const meta = { default: 10, }, - scope: { - validator: $.optional.str.or(['local', 'remote', 'both']), - default: 'both', + origin: { + validator: $.optional.str.or(['local', 'remote', 'combined']), + default: 'combined', }, detail: { @@ -48,59 +47,49 @@ export const meta = { }; export default define(meta, async (ps, me) => { + const activeThreshold = new Date(Date.now() - (1000 * 60 * 60 * 24 * 30)); // 30日 + const isUsername = ps.query.startsWith('@'); let users: User[] = []; if (isUsername) { const usernameQuery = Users.createQueryBuilder('user') - .where('user.usernameLower like :username', { username: ps.query.replace('@', '').toLowerCase() + '%' }) + .where('user.usernameLower LIKE :username', { username: ps.query.replace('@', '').toLowerCase() + '%' }) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) .andWhere('user.isSuspended = FALSE'); - if (ps.scope === 'local') { - usernameQuery - .andWhere('user.host IS NULL') - .orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST'); - } else if (ps.scope === 'remote') { - usernameQuery - .andWhere('user.host IS NOT NULL') - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } else { // both - usernameQuery - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); + if (ps.origin === 'local') { + usernameQuery.andWhere('user.host IS NULL'); + } else if (ps.origin === 'remote') { + usernameQuery.andWhere('user.host IS NOT NULL'); } users = await usernameQuery + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany(); } else { const nameQuery = Users.createQueryBuilder('user') - .where('user.name ilike :query', { query: '%' + ps.query + '%' }) + .where('user.name ILIKE :query', { query: '%' + ps.query + '%' }) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) .andWhere('user.isSuspended = FALSE'); - if (ps.scope === 'local') { - nameQuery - .andWhere('user.host IS NULL') - .orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST'); - } else if (ps.scope === 'remote') { - nameQuery - .andWhere('user.host IS NOT NULL') - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } else { // both - nameQuery - .orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); + if (ps.origin === 'local') { + nameQuery.andWhere('user.host IS NULL'); + } else if (ps.origin === 'remote') { + nameQuery.andWhere('user.host IS NOT NULL'); } users = await nameQuery + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany(); @@ -108,32 +97,25 @@ export default define(meta, async (ps, me) => { if (users.length < ps.limit!) { const profQuery = UserProfiles.createQueryBuilder('prof') .select('prof.userId') - .where('prof.description ilike :query', { query: '%' + ps.query + '%' }); + .where('prof.description ILIKE :query', { query: '%' + ps.query + '%' }); - if (ps.scope === 'local') { + if (ps.origin === 'local') { profQuery.andWhere('prof.userHost IS NULL'); - } else if (ps.scope === 'remote') { + } else if (ps.origin === 'remote') { profQuery.andWhere('prof.userHost IS NOT NULL'); } const query = Users.createQueryBuilder('user') .where(`user.id IN (${ profQuery.getQuery() })`) .andWhere(new Brackets(qb => { qb - .where('user.lastActiveDate IS NULL') - .orWhere('user.lastActiveDate > :activeThreshold', { activeThreshold: new Date(Date.now() - USER_ACTIVE_THRESHOLD) }); + .where('user.updatedAt IS NULL') + .orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold }); })) .andWhere('user.isSuspended = FALSE') .setParameters(profQuery.getParameters()); - if (ps.scope === 'local') { - query.orderBy('user.lastActiveDate', 'DESC', 'NULLS LAST'); - } else if (ps.scope === 'remote') { - query.orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } else { // both - query.orderBy('user.updatedAt', 'DESC', 'NULLS LAST'); - } - users = users.concat(await query + .orderBy('user.updatedAt', 'DESC', 'NULLS LAST') .take(ps.limit!) .skip(ps.offset) .getMany() From a607149b19a5bd557ef0ea734daa2b878f4e81b0 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 18:39:58 +0900 Subject: [PATCH 217/336] Update explore.vue --- src/client/pages/explore.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/pages/explore.vue b/src/client/pages/explore.vue index 0c29b11b38..6f304877b7 100644 --- a/src/client/pages/explore.vue +++ b/src/client/pages/explore.vue @@ -174,7 +174,7 @@ export default defineComponent({ tagsRemote: [], stats: null, searchQuery: null, - searchOrigin: 'both', + searchOrigin: 'combined', num: number, }; }, From 37e666817f1932e019d3e168e0378b7b49bc7e7b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 18:47:33 +0900 Subject: [PATCH 218/336] :art: --- src/client/components/tab.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/components/tab.vue b/src/client/components/tab.vue index ce86af8f95..c629727358 100644 --- a/src/client/components/tab.vue +++ b/src/client/components/tab.vue @@ -36,7 +36,7 @@ export default defineComponent({ > button { flex: 1; padding: 10px 8px; - border-radius: 6px; + border-radius: var(--radius); &:disabled { opacity: 1 !important; From b0992de59d41de3fa4de7fb6f94e89d9140f7ba4 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 21:04:34 +0900 Subject: [PATCH 219/336] :art: --- CHANGELOG.md | 1 + src/client/scripts/theme.ts | 1 + src/client/themes/l-sushi.json5 | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 src/client/themes/l-sushi.json5 diff --git a/CHANGELOG.md b/CHANGELOG.md index ef9934f6d1..d2889b07bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ ### Improvements - クライアント: ユーザーのリアクション一覧を見れるように - クライアント: ユーザー検索の精度を強化 +- クライアント: 新しいライトテーマを追加 - API: ユーザーのリアクション一覧を取得する users/reactions を追加 - API: users/search および users/search-by-username-and-host を強化 diff --git a/src/client/scripts/theme.ts b/src/client/scripts/theme.ts index e79d54fa6d..ad1b033edf 100644 --- a/src/client/scripts/theme.ts +++ b/src/client/scripts/theme.ts @@ -20,6 +20,7 @@ export const builtinThemes = [ require('@client/themes/l-apricot.json5'), require('@client/themes/l-rainy.json5'), require('@client/themes/l-vivid.json5'), + require('@client/themes/l-sushi.json5'), require('@client/themes/d-dark.json5'), require('@client/themes/d-persimmon.json5'), diff --git a/src/client/themes/l-sushi.json5 b/src/client/themes/l-sushi.json5 new file mode 100644 index 0000000000..5846927d65 --- /dev/null +++ b/src/client/themes/l-sushi.json5 @@ -0,0 +1,18 @@ +{ + id: '213273e5-7d20-d5f0-6e36-1b6a4f67115c', + + name: 'Mi Sushi Light', + author: 'syuilo', + + base: 'light', + + props: { + accent: '#e36749', + bg: '#f0eee9', + fg: '#5f5f5f', + renote: '@accent', + link: '@accent', + mention: '@accent', + hashtag: '#229e82', + }, +} From 4a90c7aef8df42a2337e6318d3cde4941130f81e Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 17 Oct 2021 21:23:15 +0900 Subject: [PATCH 220/336] =?UTF-8?q?fix(client):=20=E3=83=86=E3=83=BC?= =?UTF-8?q?=E3=83=9E=E3=81=AE=E7=AE=A1=E7=90=86=E3=81=8C=E8=A1=8C=E3=81=88?= =?UTF-8?q?=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/client/pages/settings/theme.manage.vue | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2889b07bc..c58886e0b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - API: users/search および users/search-by-username-and-host を強化 ### Bugfixes +- クライアント: テーマの管理が行えない問題を修正 ## 12.92.0 (2021/10/16) diff --git a/src/client/pages/settings/theme.manage.vue b/src/client/pages/settings/theme.manage.vue index da21a47a50..1a11a664f0 100644 --- a/src/client/pages/settings/theme.manage.vue +++ b/src/client/pages/settings/theme.manage.vue @@ -10,13 +10,13 @@ diff --git a/src/client/components/number-diff.vue b/src/client/components/number-diff.vue new file mode 100644 index 0000000000..ba7e6964de --- /dev/null +++ b/src/client/components/number-diff.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/client/pages/instance-info.vue b/src/client/pages/instance-info.vue index 4fbf104f0c..7a4cd5f016 100644 --- a/src/client/pages/instance-info.vue +++ b/src/client/pages/instance-info.vue @@ -65,17 +65,17 @@
- - - - - - - - - - - + + + + + + + + + + + @@ -83,7 +83,7 @@
- +
@@ -135,7 +135,7 @@ + + diff --git a/src/client/pages/instance/queue.chart.vue b/src/client/pages/instance/queue.chart.vue index 887fe9a574..4f8fd762bb 100644 --- a/src/client/pages/instance/queue.chart.vue +++ b/src/client/pages/instance/queue.chart.vue @@ -67,7 +67,7 @@ export default defineComponent({ // TODO: var(--panel)の色が暗いか明るいかで判定する const gridColor = this.$store.state.darkMode ? 'rgba(255, 255, 255, 0.1)' : 'rgba(0, 0, 0, 0.1)'; - Chart.defaults.global.defaultFontColor = getComputedStyle(document.documentElement).getPropertyValue('--fg'); + Chart.defaults.color = getComputedStyle(document.documentElement).getPropertyValue('--fg'); this.chart = markRaw(new Chart(this.$refs.chart, { type: 'line', diff --git a/src/client/scripts/hpml/lib.ts b/src/client/scripts/hpml/lib.ts index 150a04732f..200faf820b 100644 --- a/src/client/scripts/hpml/lib.ts +++ b/src/client/scripts/hpml/lib.ts @@ -1,11 +1,11 @@ import * as tinycolor from 'tinycolor2'; -import Chart from 'chart.js'; import { Hpml } from './evaluator'; import { values, utils } from '@syuilo/aiscript'; import { Fn, HpmlScope } from '.'; import { Expr } from './expr'; import * as seedrandom from 'seedrandom'; +/* // https://stackoverflow.com/questions/38493564/chart-area-background-color-chartjs Chart.pluginService.register({ beforeDraw: (chart, easing) => { @@ -18,6 +18,7 @@ Chart.pluginService.register({ } } }); +*/ export function initAiLib(hpml: Hpml) { return { @@ -49,11 +50,12 @@ export function initAiLib(hpml: Hpml) { ])); }), 'MkPages:chart': values.FN_NATIVE(([id, opts]) => { + /* TODO utils.assertString(id); utils.assertObject(opts); const canvas = hpml.canvases[id.value]; const color = getComputedStyle(document.documentElement).getPropertyValue('--accent'); - Chart.defaults.global.defaultFontColor = '#555'; + Chart.defaults.color = '#555'; const chart = new Chart(canvas, { type: opts.value.get('type').value, data: { @@ -122,6 +124,7 @@ export function initAiLib(hpml: Hpml) { }) } }); + */ }) }; } diff --git a/src/queue/index.ts b/src/queue/index.ts index 43c062bae7..37eb809604 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -10,7 +10,7 @@ import procesObjectStorage from './processors/object-storage/index'; import { queueLogger } from './logger'; import { DriveFile } from '@/models/entities/drive-file'; import { getJobInfo } from './get-job-info'; -import { dbQueue, deliverQueue, inboxQueue, objectStorageQueue } from './queues'; +import { systemQueue, dbQueue, deliverQueue, inboxQueue, objectStorageQueue } from './queues'; import { ThinUser } from './types'; import { IActivity } from '@/remote/activitypub/type'; @@ -22,11 +22,20 @@ function renderError(e: Error): any { }; } +const systemLogger = queueLogger.createSubLogger('system'); const deliverLogger = queueLogger.createSubLogger('deliver'); const inboxLogger = queueLogger.createSubLogger('inbox'); const dbLogger = queueLogger.createSubLogger('db'); const objectStorageLogger = queueLogger.createSubLogger('objectStorage'); +systemQueue + .on('waiting', (jobId) => systemLogger.debug(`waiting id=${jobId}`)) + .on('active', (job) => systemLogger.debug(`active id=${job.id}`)) + .on('completed', (job, result) => systemLogger.debug(`completed(${result}) id=${job.id}`)) + .on('failed', (job, err) => systemLogger.warn(`failed(${err}) id=${job.id}`, { job, e: renderError(err) })) + .on('error', (job: any, err: Error) => systemLogger.error(`error ${err}`, { job, e: renderError(err) })) + .on('stalled', (job) => systemLogger.warn(`stalled id=${job.id}`)); + deliverQueue .on('waiting', (jobId) => deliverLogger.debug(`waiting id=${jobId}`)) .on('active', (job) => deliverLogger.debug(`active ${getJobInfo(job, true)} to=${job.data.to}`)) @@ -220,12 +229,17 @@ export function createCleanRemoteFilesJob() { } export default function() { - if (!envOption.onlyServer) { - deliverQueue.process(config.deliverJobConcurrency || 128, processDeliver); - inboxQueue.process(config.inboxJobConcurrency || 16, processInbox); - processDb(dbQueue); - procesObjectStorage(objectStorageQueue); - } + if (envOption.onlyServer) return; + + deliverQueue.process(config.deliverJobConcurrency || 128, processDeliver); + inboxQueue.process(config.inboxJobConcurrency || 16, processInbox); + processDb(dbQueue); + procesObjectStorage(objectStorageQueue); + + systemQueue.add('resyncCharts', { + }, { + repeat: { cron: '0 0 * * *' } + }); } export function destroy() { diff --git a/src/queue/processors/system/index.ts b/src/queue/processors/system/index.ts new file mode 100644 index 0000000000..52b7868105 --- /dev/null +++ b/src/queue/processors/system/index.ts @@ -0,0 +1,12 @@ +import * as Bull from 'bull'; +import { resyncCharts } from './resync-charts'; + +const jobs = { + resyncCharts, +} as Record | Bull.ProcessPromiseFunction<{}>>; + +export default function(dbQueue: Bull.Queue<{}>) { + for (const [k, v] of Object.entries(jobs)) { + dbQueue.process(k, v); + } +} diff --git a/src/queue/processors/system/resync-charts.ts b/src/queue/processors/system/resync-charts.ts new file mode 100644 index 0000000000..b36b024cfb --- /dev/null +++ b/src/queue/processors/system/resync-charts.ts @@ -0,0 +1,21 @@ +import * as Bull from 'bull'; + +import { queueLogger } from '../../logger'; +import { driveChart, notesChart, usersChart } from '@/services/chart/index'; + +const logger = queueLogger.createSubLogger('resync-charts'); + +export default async function resyncCharts(job: Bull.Job<{}>, done: any): Promise { + logger.info(`Resync charts...`); + + // TODO: ユーザーごとのチャートも更新する + // TODO: インスタンスごとのチャートも更新する + await Promise.all([ + driveChart.resync(), + notesChart.resync(), + usersChart.resync(), + ]); + + logger.succ(`All charts successfully resynced.`); + done(); +} diff --git a/src/queue/queues.ts b/src/queue/queues.ts index d8c09ef86e..a66a7ca451 100644 --- a/src/queue/queues.ts +++ b/src/queue/queues.ts @@ -2,6 +2,7 @@ import config from '@/config/index'; import { initialize as initializeQueue } from './initialize'; import { DeliverJobData, InboxJobData, DbJobData, ObjectStorageJobData } from './types'; +export const systemQueue = initializeQueue<{}>('system'); export const deliverQueue = initializeQueue('deliver', config.deliverJobPerSec || 128); export const inboxQueue = initializeQueue('inbox', config.inboxJobPerSec || 16); export const dbQueue = initializeQueue('db'); diff --git a/src/server/api/endpoints/admin/resync-chart.ts b/src/server/api/endpoints/admin/resync-chart.ts index b0e687333f..e01dfce1b6 100644 --- a/src/server/api/endpoints/admin/resync-chart.ts +++ b/src/server/api/endpoints/admin/resync-chart.ts @@ -1,5 +1,5 @@ import define from '../../define'; -import { driveChart, notesChart, usersChart, instanceChart } from '@/services/chart/index'; +import { driveChart, notesChart, usersChart } from '@/services/chart/index'; import { insertModerationLog } from '@/services/insert-moderation-log'; export const meta = { @@ -15,7 +15,7 @@ export default define(meta, async (ps, me) => { driveChart.resync(); notesChart.resync(); usersChart.resync(); - instanceChart.resync(); // TODO: ユーザーごとのチャートもキューに入れて更新する + // TODO: インスタンスごとのチャートもキューに入れて更新する }); diff --git a/yarn.lock b/yarn.lock index e2140e185a..449390a6a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2664,28 +2664,22 @@ character-parser@^2.2.0: dependencies: is-regex "^1.0.3" -chart.js@2.9.4: - version "2.9.4" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.9.4.tgz#0827f9563faffb2dc5c06562f8eb10337d5b9684" - integrity sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A== - dependencies: - chartjs-color "^2.1.0" - moment "^2.10.2" +chart.js@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.5.1.tgz#73e24d23a4134a70ccdb5e79a917f156b6f3644a" + integrity sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ== -chartjs-color-string@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz#1df096621c0e70720a64f4135ea171d051402f71" - integrity sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A== - dependencies: - color-name "^1.0.0" +chartjs-adapter-date-fns@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-2.0.0.tgz#5e53b2f660b993698f936f509c86dddf9ed44c6b" + integrity sha512-rmZINGLe+9IiiEB0kb57vH3UugAtYw33anRiw5kS2Tu87agpetDDoouquycWc9pRsKtQo5j+vLsYHyr8etAvFw== -chartjs-color@^2.1.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.4.1.tgz#6118bba202fe1ea79dd7f7c0f9da93467296c3b0" - integrity sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w== +chartjs-plugin-zoom@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chartjs-plugin-zoom/-/chartjs-plugin-zoom-1.1.1.tgz#8a28923a17fcb5eb57a0dc94c5113bf402677647" + integrity sha512-1q54WOzK7FtAjkbemQeqvmFUV0btNYIQny2HbQ6Awq9wUtCz7Zmj6vIgp3C1DYMQwN0nqgpC3vnApqiwI7cSdQ== dependencies: - chartjs-color-string "^0.6.0" - color-convert "^1.9.3" + hammerjs "^2.0.8" check-more-types@2.24.0, check-more-types@^2.24.0: version "2.24.0" @@ -2974,7 +2968,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.3: +color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -3616,6 +3610,11 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" +date-fns@2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.25.0.tgz#8c5c8f1d958be3809a9a03f4b742eba894fc5680" + integrity sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w== + date-fns@^2.16.1: version "2.19.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.19.0.tgz#65193348635a28d5d916c43ec7ce6fbd145059e1" @@ -5300,6 +5299,11 @@ gulplog@^1.0.0: dependencies: glogg "^1.0.0" +hammerjs@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" + integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -7383,7 +7387,7 @@ moment-timezone@^0.5.25: dependencies: moment ">= 2.9.0" -"moment@>= 2.9.0", moment@^2.10.2, moment@^2.22.2: +"moment@>= 2.9.0", moment@^2.22.2: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== From 90b62a3e958af415e42152aa499edfa4430f9371 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 22 Oct 2021 06:17:29 +0900 Subject: [PATCH 241/336] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96266e56d5..3b59251f91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ## 12.x.x (unreleased) ### Improvements +- クライアント: コントロールパネルのパフォーマンスを改善 - クライアント: 自分のリアクション一覧を見れるように - 設定により、リアクション一覧を全員に公開することも可能 - クライアント: ユーザー検索の精度を強化 From 9d11c29c3b4bd8fe06ad6a4bce2f3d9cd6531ffe Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 22 Oct 2021 06:23:23 +0900 Subject: [PATCH 242/336] :art: --- src/client/components/form/input.vue | 2 +- src/client/components/form/select.vue | 65 ++++++++++++++++++++++--- src/client/components/form/textarea.vue | 2 +- src/client/components/ui/menu.vue | 5 ++ src/client/components/ui/popup-menu.vue | 6 ++- src/client/os.ts | 7 ++- 6 files changed, 75 insertions(+), 12 deletions(-) diff --git a/src/client/components/form/input.vue b/src/client/components/form/input.vue index d7b6f77519..591eda9ed5 100644 --- a/src/client/components/form/input.vue +++ b/src/client/components/form/input.vue @@ -33,7 +33,7 @@ diff --git a/src/db/postgre.ts b/src/db/postgre.ts index 0b635ea18e..4f4047b613 100644 --- a/src/db/postgre.ts +++ b/src/db/postgre.ts @@ -8,7 +8,6 @@ import { entities as charts } from '@/services/chart/entities'; import { dbLogger } from './logger'; import * as highlight from 'cli-highlight'; -import { Log } from '@/models/entities/log'; import { User } from '@/models/entities/user'; import { DriveFile } from '@/models/entities/drive-file'; import { DriveFolder } from '@/models/entities/drive-folder'; @@ -144,7 +143,6 @@ export const entities = [ PageLike, GalleryPost, GalleryLike, - Log, DriveFile, DriveFolder, Poll, diff --git a/src/models/entities/log.ts b/src/models/entities/log.ts deleted file mode 100644 index 182a9fbed8..0000000000 --- a/src/models/entities/log.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Entity, PrimaryColumn, Index, Column } from 'typeorm'; -import { id } from '../id'; - -@Entity() -export class Log { - @PrimaryColumn(id()) - public id: string; - - @Index() - @Column('timestamp with time zone', { - comment: 'The created date of the Log.' - }) - public createdAt: Date; - - @Index() - @Column('varchar', { - length: 64, array: true, default: '{}' - }) - public domain: string[]; - - @Index() - @Column('enum', { - enum: ['error', 'warning', 'info', 'success', 'debug'] - }) - public level: string; - - @Column('varchar', { - length: 8 - }) - public worker: string; - - @Column('varchar', { - length: 128 - }) - public machine: string; - - @Column('varchar', { - length: 2048 - }) - public message: string; - - @Column('jsonb', { - default: {} - }) - public data: Record; -} diff --git a/src/models/index.ts b/src/models/index.ts index 059a3d7b87..4c6f19eaff 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -13,7 +13,6 @@ import { UserRepository } from './repositories/user'; import { NoteRepository } from './repositories/note'; import { DriveFileRepository } from './repositories/drive-file'; import { DriveFolderRepository } from './repositories/drive-folder'; -import { Log } from './entities/log'; import { AccessToken } from './entities/access-token'; import { UserNotePining } from './entities/user-note-pining'; import { SigninRepository } from './repositories/signin'; @@ -108,7 +107,6 @@ export const Signins = getCustomRepository(SigninRepository); export const MessagingMessages = getCustomRepository(MessagingMessageRepository); export const ReversiGames = getCustomRepository(ReversiGameRepository); export const ReversiMatchings = getCustomRepository(ReversiMatchingRepository); -export const Logs = getRepository(Log); export const Pages = getCustomRepository(PageRepository); export const PageLikes = getCustomRepository(PageLikeRepository); export const GalleryPosts = getCustomRepository(GalleryPostRepository); diff --git a/src/server/api/endpoints/admin/logs.ts b/src/server/api/endpoints/admin/logs.ts deleted file mode 100644 index 776403a62e..0000000000 --- a/src/server/api/endpoints/admin/logs.ts +++ /dev/null @@ -1,126 +0,0 @@ -import $ from 'cafy'; -import define from '../../define'; -import { Logs } from '@/models/index'; -import { Brackets } from 'typeorm'; - -export const meta = { - tags: ['admin'], - - requireCredential: true as const, - requireModerator: true, - - params: { - limit: { - validator: $.optional.num.range(1, 100), - default: 30 - }, - - level: { - validator: $.optional.nullable.str, - default: null - }, - - domain: { - validator: $.optional.nullable.str, - default: null - } - }, - - res: { - type: 'array' as const, - optional: false as const, nullable: false as const, - items: { - type: 'object' as const, - optional: false as const, nullable: false as const, - properties: { - id: { - type: 'string' as const, - optional: false as const, nullable: false as const, - format: 'id', - example: 'xxxxxxxxxx', - }, - createdAt: { - type: 'string' as const, - optional: false as const, nullable: false as const, - format: 'date-time', - }, - domain: { - type: 'array' as const, - optional: false as const, nullable: false as const, - items: { - type: 'string' as const, - optional: true as const, nullable: false as const - } - }, - level: { - type: 'string' as const, - optional: false as const, nullable: false as const - }, - worker: { - type: 'string' as const, - optional: false as const, nullable: false as const - }, - machine: { - type: 'string' as const, - optional: false as const, nullable: false as const, - }, - message: { - type: 'string' as const, - optional: false as const, nullable: false as const, - }, - data: { - type: 'object' as const, - optional: false as const, nullable: false as const - } - } - } - } -}; - -export default define(meta, async (ps) => { - const query = Logs.createQueryBuilder('log'); - - if (ps.level) query.andWhere('log.level = :level', { level: ps.level }); - - if (ps.domain) { - const whiteDomains = ps.domain.split(' ').filter(x => !x.startsWith('-')); - const blackDomains = ps.domain.split(' ').filter(x => x.startsWith('-')).map(x => x.substr(1)); - - if (whiteDomains.length > 0) { - query.andWhere(new Brackets(qb => { - for (const whiteDomain of whiteDomains) { - let i = 0; - for (const subDomain of whiteDomain.split('.')) { - const p = `whiteSubDomain_${subDomain}_${i}`; - // SQL is 1 based, so we need '+ 1' - qb.orWhere(`log.domain[${i + 1}] = :${p}`, { [p]: subDomain }); - i++; - } - } - })); - } - - if (blackDomains.length > 0) { - query.andWhere(new Brackets(qb => { - for (const blackDomain of blackDomains) { - qb.andWhere(new Brackets(qb => { - const subDomains = blackDomain.split('.'); - let i = 0; - for (const subDomain of subDomains) { - const p = `blackSubDomain_${subDomain}_${i}`; - // 全体で否定できないのでド・モルガンの法則で - // !(P && Q) を !P || !Q で表す - // SQL is 1 based, so we need '+ 1' - qb.orWhere(`log.domain[${i + 1}] != :${p}`, { [p]: subDomain }); - i++; - } - })); - } - })); - } - } - - const logs = await query.orderBy('log.createdAt', 'DESC').take(ps.limit!).getMany(); - - return logs; -}); diff --git a/src/services/logger.ts b/src/services/logger.ts index 8e783e67f6..67ee441254 100644 --- a/src/services/logger.ts +++ b/src/services/logger.ts @@ -1,11 +1,7 @@ import * as cluster from 'cluster'; -import * as os from 'os'; import * as chalk from 'chalk'; import * as dateformat from 'dateformat'; import { envOption } from '../env'; -import { getRepository } from 'typeorm'; -import { Log } from '@/models/entities/log'; -import { genId } from '@/misc/gen-id'; import config from '@/config/index'; import * as SyslogPro from 'syslog-pro'; @@ -95,18 +91,6 @@ export default class Logger { null as never; send.bind(this.syslogClient)(message).catch(() => {}); - } else { - const Logs = getRepository(Log); - Logs.insert({ - id: genId(), - createdAt: new Date(), - machine: os.hostname(), - worker: worker.toString(), - domain: [this.domain].concat(subDomains).map(d => d.name), - level: level, - message: message.substr(0, 1000), // 1024を超えるとログが挿入できずエラーになり無限ループする - data: data, - } as Log).catch(() => {}); } } } From 93230815f51fbeafc8a6e4b623810cd81ba60c2d Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 22 Oct 2021 21:01:36 +0900 Subject: [PATCH 250/336] =?UTF-8?q?=E3=83=A2=E3=83=87=E3=83=AC=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=83=BC=E3=82=92=E3=83=96=E3=83=AD=E3=83=83=E3=82=AF?= =?UTF-8?q?=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=84=E4=BB=95=E6=A7=98=E3=82=92?= =?UTF-8?q?=E5=BB=83=E6=AD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve #7898 --- CHANGELOG.md | 1 + src/server/api/endpoints/blocking/create.ts | 13 +------------ src/services/blocking/create.ts | 4 ---- 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a67411848..244ceb3826 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - ActivityPub: not reacted な Undo.Like がinboxに滞留するのを修正 ### Changes +- 連合の考慮に問題があることなどが分かったため、モデレーターをブロックできない仕様を廃止しました - データベースにログを保存しないようになりました - ログを永続化したい場合はsyslogを利用してください diff --git a/src/server/api/endpoints/blocking/create.ts b/src/server/api/endpoints/blocking/create.ts index 4deaa39974..2953252394 100644 --- a/src/server/api/endpoints/blocking/create.ts +++ b/src/server/api/endpoints/blocking/create.ts @@ -43,12 +43,6 @@ export const meta = { code: 'ALREADY_BLOCKING', id: '787fed64-acb9-464a-82eb-afbd745b9614' }, - - cannotBlockModerator: { - message: 'Cannot block a moderator or an admin.', - code: 'CANNOT_BLOCK_MODERATOR', - id: '8544aaef-89fb-e470-9f6c-385d38b474f5' - } }, res: { @@ -82,12 +76,7 @@ export default define(meta, async (ps, user) => { throw new ApiError(meta.errors.alreadyBlocking); } - try { - await create(blocker, blockee); - } catch (e) { - if (e.id === 'e42b7890-5e4d-9d9c-d54b-cf4dd30adfb5') throw new ApiError(meta.errors.cannotBlockModerator); - throw e; - } + await create(blocker, blockee); NoteWatchings.delete({ userId: blocker.id, diff --git a/src/services/blocking/create.ts b/src/services/blocking/create.ts index defe377514..6aadc847a9 100644 --- a/src/services/blocking/create.ts +++ b/src/services/blocking/create.ts @@ -12,10 +12,6 @@ import { genId } from '@/misc/gen-id'; import { IdentifiableError } from '@/misc/identifiable-error'; export default async function(blocker: User, blockee: User) { - if (blockee.isAdmin || blockee.isModerator) { - throw new IdentifiableError('e42b7890-5e4d-9d9c-d54b-cf4dd30adfb5'); - } - await Promise.all([ cancelRequest(blocker, blockee), cancelRequest(blockee, blocker), From f29c9fe22cbffaee25baf603a586e5327ee067b3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 22 Oct 2021 21:51:48 +0900 Subject: [PATCH 251/336] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 244ceb3826..0357b531ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - API: users/search および users/search-by-username-and-host を強化 - ミュート及びブロックのインポートを行えるように - クライアント: /share のクエリでリプライやファイル等の情報を渡せるように +- チャートのsyncを毎日0時に自動で行うように ### Bugfixes - クライアント: テーマの管理が行えない問題を修正 From 0f122884cc0ce6d966f9622fd71b46106dcbae92 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 22 Oct 2021 23:46:47 +0900 Subject: [PATCH 252/336] fix chart rendering --- src/client/components/queue-chart.vue | 202 +++++++++++++++++++++++++ src/client/pages/admin/queue.chart.vue | 200 +++++------------------- 2 files changed, 244 insertions(+), 158 deletions(-) create mode 100644 src/client/components/queue-chart.vue diff --git a/src/client/components/queue-chart.vue b/src/client/components/queue-chart.vue new file mode 100644 index 0000000000..5962708804 --- /dev/null +++ b/src/client/components/queue-chart.vue @@ -0,0 +1,202 @@ + + + + + diff --git a/src/client/pages/admin/queue.chart.vue b/src/client/pages/admin/queue.chart.vue index 4f8fd762bb..084181a606 100644 --- a/src/client/pages/admin/queue.chart.vue +++ b/src/client/pages/admin/queue.chart.vue @@ -11,7 +11,7 @@
- +
@@ -27,177 +27,61 @@ From 4df409f77bd9f431f9a11caa5fd846bbd4880727 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Oct 2021 00:04:19 +0900 Subject: [PATCH 253/336] improve dashboard --- src/client/components/ui/container.vue | 9 +++- src/client/pages/admin/overview.vue | 60 ++++++++++++++++++++++++-- 2 files changed, 64 insertions(+), 5 deletions(-) diff --git a/src/client/components/ui/container.vue b/src/client/components/ui/container.vue index 1940099096..14673dfcd7 100644 --- a/src/client/components/ui/container.vue +++ b/src/client/components/ui/container.vue @@ -1,5 +1,5 @@ + + From 781b57585b83f875d175206a99b128f4d07634d9 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Oct 2021 11:36:39 +0900 Subject: [PATCH 263/336] 12.93.2 --- CHANGELOG.md | 4 +--- package.json | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d407ee3ca6..7d2b3f7159 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,7 @@ --> -## 12.x.x (unreleased) - -### Improvements +## 12.93.2 (2021/10/23) ### Bugfixes - クライアント: ウィジェットを追加できない問題を修正 diff --git a/package.json b/package.json index ea89c595b5..9e1fdd4824 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "misskey", "author": "syuilo ", - "version": "12.93.1", + "version": "12.93.2", "codename": "indigo", "repository": { "type": "git", From d4c0d85cbc6a6dad4e12031693747ce1e06c3169 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Oct 2021 22:09:48 +0900 Subject: [PATCH 264/336] :art: --- src/client/components/queue-chart.vue | 5 +++-- src/client/pages/admin/overview.vue | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/client/components/queue-chart.vue b/src/client/components/queue-chart.vue index 59c9723f89..c66f83ecdf 100644 --- a/src/client/components/queue-chart.vue +++ b/src/client/components/queue-chart.vue @@ -122,12 +122,13 @@ export default defineComponent({ scales: { x: { grid: { - display: false, + display: true, color: gridColor, borderColor: 'rgb(0, 0, 0, 0)', }, ticks: { - display: false, + display: true, + maxTicksLimit: 10 }, }, y: { diff --git a/src/client/pages/admin/overview.vue b/src/client/pages/admin/overview.vue index bb9c10f106..4e761f0217 100644 --- a/src/client/pages/admin/overview.vue +++ b/src/client/pages/admin/overview.vue @@ -2,7 +2,7 @@
-
+
Users
@@ -225,12 +225,14 @@ export default defineComponent({ } } - &.max-width_800px { + &.max-width_740px { > .queue { display: block; > .deliver, > .inbox { + width: 100%; + &:not(:first-child) { margin-top: var(--margin); margin-left: 0; From 2d21685d2239aa0b2bf855c2d0f6391dc6c0c4d8 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Oct 2021 22:41:34 +0900 Subject: [PATCH 265/336] :art: --- src/client/components/queue-chart.vue | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/client/components/queue-chart.vue b/src/client/components/queue-chart.vue index c66f83ecdf..99bc9478a3 100644 --- a/src/client/components/queue-chart.vue +++ b/src/client/components/queue-chart.vue @@ -79,6 +79,7 @@ export default defineComponent({ pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#00E396', backgroundColor: alpha('#00E396', 0.1), data: [] @@ -87,6 +88,7 @@ export default defineComponent({ pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#00BCD4', backgroundColor: alpha('#00BCD4', 0.1), data: [] @@ -95,6 +97,7 @@ export default defineComponent({ pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#FFB300', backgroundColor: alpha('#FFB300', 0.1), data: [] @@ -103,9 +106,11 @@ export default defineComponent({ pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#E53935', borderDash: [5, 5], fill: false, + yAxisID: 'y2', data: [] }], }, @@ -132,6 +137,19 @@ export default defineComponent({ }, }, y: { + min: 0, + stack: 'queue', + stackWeight: 2, + grid: { + color: gridColor, + borderColor: 'rgb(0, 0, 0, 0)', + }, + }, + y2: { + min: 0, + offset: true, + stack: 'queue', + stackWeight: 1, grid: { color: gridColor, borderColor: 'rgb(0, 0, 0, 0)', From ae5d5371970ad5fc95d4f2fcc4c1effbdbb58eef Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Oct 2021 22:43:42 +0900 Subject: [PATCH 266/336] :art: --- src/client/components/queue-chart.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/components/queue-chart.vue b/src/client/components/queue-chart.vue index 99bc9478a3..b06bda5446 100644 --- a/src/client/components/queue-chart.vue +++ b/src/client/components/queue-chart.vue @@ -132,7 +132,7 @@ export default defineComponent({ borderColor: 'rgb(0, 0, 0, 0)', }, ticks: { - display: true, + display: false, maxTicksLimit: 10 }, }, From 4d1c723496655da459d3803d20d11a80a5df7978 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 23 Oct 2021 23:22:20 +0900 Subject: [PATCH 267/336] refactor clinet --- src/client/components/modal-page-window.vue | 2 +- src/client/components/page-window.vue | 2 +- src/client/components/ui/folder.vue | 6 - src/client/components/ui/info.vue | 4 - src/client/pages/admin/index.vue | 1 - src/client/pages/messaging/index.vue | 68 +++---- src/client/pages/note.vue | 82 +++++---- src/client/pages/settings/index.vue | 1 - src/client/pages/user/index.timeline.vue | 7 - src/client/pages/user/index.vue | 190 ++++++++++---------- src/client/style.scss | 44 ----- src/client/ui/chat/side.vue | 2 +- src/client/ui/deck/main-column.vue | 2 +- src/client/ui/default.vue | 2 +- src/client/widgets/notifications.vue | 2 +- 15 files changed, 171 insertions(+), 244 deletions(-) diff --git a/src/client/components/modal-page-window.vue b/src/client/components/modal-page-window.vue index cb81a974f5..621119294e 100644 --- a/src/client/components/modal-page-window.vue +++ b/src/client/components/modal-page-window.vue @@ -10,7 +10,7 @@
-
+
diff --git a/src/client/components/page-window.vue b/src/client/components/page-window.vue index 7d15c75d62..2b77a214c5 100644 --- a/src/client/components/page-window.vue +++ b/src/client/components/page-window.vue @@ -16,7 +16,7 @@ -
+
diff --git a/src/client/components/ui/folder.vue b/src/client/components/ui/folder.vue index d0616a57c1..3997421d08 100644 --- a/src/client/components/ui/folder.vue +++ b/src/client/components/ui/folder.vue @@ -153,10 +153,4 @@ export default defineComponent({ } } } - -._fitSide_ .ssazuxis { - > header { - padding: 0 16px; - } -} diff --git a/src/client/components/ui/info.vue b/src/client/components/ui/info.vue index e16f2736f1..f6b2edf267 100644 --- a/src/client/components/ui/info.vue +++ b/src/client/components/ui/info.vue @@ -42,8 +42,4 @@ export default defineComponent({ margin-right: 4px; } } - -._fitSide_ .fpezltsf { - border-radius: 0; -} diff --git a/src/client/pages/admin/index.vue b/src/client/pages/admin/index.vue index 416e68206c..f18c634959 100644 --- a/src/client/pages/admin/index.vue +++ b/src/client/pages/admin/index.vue @@ -343,7 +343,6 @@ export default defineComponent({ > .main { flex: 1; min-width: 0; - --baseContentWidth: 100%; } } diff --git a/src/client/pages/messaging/index.vue b/src/client/pages/messaging/index.vue index fef3b76e10..b3e0b6edd0 100644 --- a/src/client/pages/messaging/index.vue +++ b/src/client/pages/messaging/index.vue @@ -2,41 +2,43 @@
-
- {{ $ts.startMessaging }} + +
+ {{ $ts.startMessaging }} -
- -
- -
- {{ message.group.name }} - -
-
- - @{{ acct(isMe(message) ? message.recipient : message.user) }} - -
-
-

{{ $ts.you }}:{{ message.text }}

+
+ +
+ +
+ {{ message.group.name }} + +
+
+ + @{{ acct(isMe(message) ? message.recipient : message.user) }} + +
+
+

{{ $ts.you }}:{{ message.text }}

+
-
- + +
+
+ +
{{ $ts.noHistory }}
+
+
-
- -
{{ $ts.noHistory }}
-
- -
+
@@ -177,7 +179,7 @@ export default defineComponent({ .yweeujhr { > .start { - margin: var(--margin) auto var(--margin) auto; + margin: 0 auto var(--margin) auto; } > .history { diff --git a/src/client/pages/note.vue b/src/client/pages/note.vue index fe85d7364e..8e95430d67 100644 --- a/src/client/pages/note.vue +++ b/src/client/pages/note.vue @@ -1,6 +1,6 @@ + + diff --git a/src/client/components/index.ts b/src/client/components/index.ts index ecf66ea0e8..2340b228f8 100644 --- a/src/client/components/index.ts +++ b/src/client/components/index.ts @@ -15,6 +15,7 @@ import error from './global/error.vue'; import ad from './global/ad.vue'; import header from './global/header.vue'; import spacer from './global/spacer.vue'; +import stickyContainer from './global/sticky-container.vue'; export default function(app: App) { app.component('I18n', i18n); @@ -32,4 +33,5 @@ export default function(app: App) { app.component('MkAd', ad); app.component('MkHeader', header); app.component('MkSpacer', spacer); + app.component('MkStickyContainer', stickyContainer); } diff --git a/src/client/components/modal-page-window.vue b/src/client/components/modal-page-window.vue index 621119294e..e47d3dc62c 100644 --- a/src/client/components/modal-page-window.vue +++ b/src/client/components/modal-page-window.vue @@ -11,9 +11,12 @@
- - - + + + + + +
diff --git a/src/client/components/page-window.vue b/src/client/components/page-window.vue index 2b77a214c5..bc7c5b7a19 100644 --- a/src/client/components/page-window.vue +++ b/src/client/components/page-window.vue @@ -17,7 +17,10 @@
- + + + +
diff --git a/src/client/pages/admin/ads.vue b/src/client/pages/admin/ads.vue index e776f99a4c..4d39bb4e40 100644 --- a/src/client/pages/admin/ads.vue +++ b/src/client/pages/admin/ads.vue @@ -1,45 +1,42 @@ @@ -68,11 +65,6 @@ export default defineComponent({ title: this.$ts.ads, icon: 'fas fa-audio-description', bg: 'var(--bg)', - }, - header: { - title: this.$ts.ads, - icon: 'fas fa-audio-description', - bg: 'var(--bg)', actions: [{ asFullButton: true, icon: 'fas fa-plus', diff --git a/src/client/pages/admin/announcements.vue b/src/client/pages/admin/announcements.vue index 78637c095a..4ace515b0b 100644 --- a/src/client/pages/admin/announcements.vue +++ b/src/client/pages/admin/announcements.vue @@ -1,27 +1,23 @@ @@ -48,11 +44,6 @@ export default defineComponent({ title: this.$ts.announcements, icon: 'fas fa-broadcast-tower', bg: 'var(--bg)', - }, - header: { - title: this.$ts.announcements, - icon: 'fas fa-broadcast-tower', - bg: 'var(--bg)', actions: [{ asFullButton: true, icon: 'fas fa-plus', diff --git a/src/client/pages/admin/emojis.vue b/src/client/pages/admin/emojis.vue index 4cd34b046d..80e0e00ba9 100644 --- a/src/client/pages/admin/emojis.vue +++ b/src/client/pages/admin/emojis.vue @@ -1,7 +1,5 @@ @@ -41,6 +44,10 @@ export default defineComponent({ MkInfo, }, + provide: { + shouldOmitHeaderTitle: false, + }, + props: { initialPage: { type: String, @@ -50,17 +57,19 @@ export default defineComponent({ setup(props, context) { const indexInfo = { - title: i18n.locale.instance, + title: i18n.locale.controlPanel, icon: 'fas fa-cog', bg: 'var(--bg)', + hideHeader: true, }; const INFO = ref(indexInfo); + const childInfo = ref(null); const page = ref(props.initialPage); const narrow = ref(false); const view = ref(null); const el = ref(null); const onInfo = (viewInfo) => { - INFO.value = viewInfo; + childInfo.value = viewInfo; }; const pageProps = ref({}); @@ -315,6 +324,7 @@ export default defineComponent({ view, el, onInfo, + childInfo, pageProps, component, invite, diff --git a/src/client/pages/admin/overview.vue b/src/client/pages/admin/overview.vue index 4e761f0217..ced200351e 100644 --- a/src/client/pages/admin/overview.vue +++ b/src/client/pages/admin/overview.vue @@ -1,71 +1,67 @@ @@ -107,10 +103,6 @@ export default defineComponent({ icon: 'fas fa-tachometer-alt', bg: 'var(--bg)', }, - header: { - title: this.$ts.dashboard, - icon: 'fas fa-tachometer-alt', - }, version, vueVersion, url, diff --git a/src/client/pages/admin/users.vue b/src/client/pages/admin/users.vue index f7f9306b70..37a54d2de3 100644 --- a/src/client/pages/admin/users.vue +++ b/src/client/pages/admin/users.vue @@ -1,7 +1,5 @@