1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-05-06 07:05:33 +02:00

Compare commits

...

1030 Commits

Author SHA1 Message Date
misskey-release-bot[bot]
6391a4e7e2 Merge pull request #17351 from misskey-dev/develop
Release: 2026.5.0
2026-05-02 03:30:56 +00:00
github-actions[bot]
a23a72b015 Release: 2026.5.0 2026-05-02 03:30:51 +00:00
かっこかり
93bd9d551d fix: review fixes for v2026.5.0 release (#17350)
* fix/perf: NotificationManager in NoteCreateService

* fix: treat skip as successful return in InboxProcessorService

* chore: remove comment

* fix: simplify ReactionPicker/EmojiPicker by importing components directly

* refactor: move filename parsing to setup in MkUploaderItems

* refactor
2026-05-02 10:03:34 +09:00
syuilo
35d6c20828 Update CHANGELOG.md 2026-05-01 14:22:54 +09:00
github-actions[bot]
7c9942f014 Bump version to 2026.5.0-alpha.0 2026-05-01 05:21:43 +00:00
github-actions[bot]
665adfccb7 Bump version to 2026.4.0-beta.2 2026-04-30 02:31:32 +00:00
かっこかり
973b5b50a9 fix(frontend): まれにリアクション・絵文字ピッカーが動作しなくなる問題を修正 (#17349)
* Revert "fix(frontend): popupのりアクティビティがチャンクをまたいで切れる事がある問題を修正"

This reverts commit 0a93f526dd.

* fix: iOS PWA でリアクション・絵文字ピッカーが動作しない問題を修正

Agent-Logs-Url: https://github.com/lqvp/misskey-tempura/sessions/44526368-0e6a-4a94-8991-fcdc094d2b96

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>

* refactor

* fix

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
2026-04-30 11:29:23 +09:00
renovate[bot]
985de915b3 fix(deps): update dependency sanitize-html to v2.17.3 [security] (#17319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-27 15:17:25 +09:00
かっこかり
0227148c89 Update CHANGELOG for #17347 2026-04-27 10:40:12 +09:00
github-actions[bot]
7bfd85cdba Bump version to 2026.4.0-beta.1 2026-04-27 01:33:17 +00:00
Copilot
21f51be5b7 fix: redirect beta/alpha/rc "what's new" button to GitHub releases page (#17347)
* Initial plan

* fix: redirect beta/alpha/rc update info button to GitHub releases page

Agent-Logs-Url: https://github.com/misskey-dev/misskey/sessions/4ac22dd9-13dd-4ef2-a6f7-d68cfda4a19f

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-27 10:31:02 +09:00
かっこかり
b45f18cd14 fix(backend): ノート通知で公開範囲を考慮するように (#17335)
* fix(backend): ノート通知で公開範囲を考慮するように

* refactor: remove unused imports

* Update Changelog

* Update Changelog

* fix: フォロワー限定ノートは通知

---------

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
2026-04-27 10:26:13 +09:00
かっこかり
6176cca0a4 fix(frontend): MenuRadioの指定方法変更 (#17345)
* fix(frontend): MenuRadioの指定方法変更

* fix indent

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-27 10:18:03 +09:00
syuilo
9569310adb type: 'radio'なMenuItemが機能しなくなっている問題を修正 (#17344)
* fix

* Update CHANGELOG.md
2026-04-27 10:08:45 +09:00
syuilo
b28338c812 enhance(frontend): 子メニュー表示時のガードがradioでも効くように 2026-04-27 08:42:12 +09:00
かっこかり
0f5da63328 fix(backend): ブロックしたインスタンスのInboxジョブが蓄積し続ける問題を修正 (#17336)
* fix(backend): ブロックしたインスタンスのInboxジョブが蓄積し続ける問題を修正

* refactor

* Upddate changelog

---------

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-26 11:40:55 +09:00
Evan Prodromou
23715c649c fix: change bare activity.actor to getApId(activity.actor) in InboxPr… (#17340)
* fix: change bare activity.actor to getApId(activity.actor) in InboxProcessorService (closes #17338)

* doc: update CHANGELOG.md to note fix for #17338

* fix: additional activity.actor wrappers in ApInboxService

* Update CHANGELOG.md

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-26 11:39:16 +09:00
かっこかり
1dc5c60b2b fix(backend): meilisearchを使用していない場合のnoteSearchableScopeの値が誤っている問題を修正 (#17341)
* fix(backend): meilisearchを使用していない場合のnoteSearchableScopeの値が誤っている問題を修正

* Update Changelog
2026-04-26 11:37:26 +09:00
かっこかり
3a3057a1b1 fix(backend): RoleService.getAdministratorIds でユーザーIDが重複する問題を修正 (#17334)
* fix(backend): adminロールが複数付いてても通知が重複しないように

* add tests

* Update Changelog

* ✌️

Co-Authored-by: lqvp <183242690+lqvp@users.noreply.github.com>

---------

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
2026-04-24 17:56:52 +09:00
github-actions[bot]
8a85ee1d45 Bump version to 2026.4.0-beta.0 2026-04-23 01:13:02 +00:00
かっこかり
c1b73f947c fix(gh): misskey-jsがpublishされない問題を修正 2026-04-22 19:24:31 +09:00
かっこかり
bda98ba1d9 deps: update security dependencies (#17330)
* deps: update security dependencies

* deps: update some major dependencies

* attempt to fix tsconfig

* attempt to fix tsconfig

* attempt to fix tsconfig

* fix build
2026-04-22 11:46:45 +09:00
かっこかり
351fe2f70a fix(frontend): loosen MkButton props type (#17329) 2026-04-21 16:37:59 +09:00
かっこかり
6d15fe32d0 enhance(backend/test): Migrate tests to vitest (#16935)
* wip

* update fake-timers and migrate

* fix

* remove jest-mock

* fix

* fix

* fix

* fix

* attempt to fix unit tests

* attempt to fix e2e tests

* fix federation test [ci skip]

* attempt to fix e2e tests

* fix typecheck

* fix unit tests

* fix

* attempt to fix e2e

* fix

* Revert "attempt to fix e2e"

This reverts commit b7b7b05d85.

* attempt to fix e2e

* revert attempt to fix e2e

* update deps

* update vitest

* migrate

* attempt to fix e2e

* update

* fix

* remove vite swc plugin as oxc parser can handle decorators

* attempt to fix drive/files/create test

* Revert "attempt to fix drive/files/create test"

This reverts commit 4715153375.

* fix: エンドポイントにまつわるテストをunitからe2eに移動

* attempt to fix e2e

* remove swc

* attempt to fix e2e

* Revert "attempt to fix e2e"

This reverts commit 9fb86a4076.

* add logs for debug

* attempt to fix e2e

* Partially revert "attempt to fix e2e"

This reverts commit fb0008c85a.

* attempt to fix test

* fix: attempt to fix test

* Revert "fix: attempt to fix test"

This reverts commit ed2f5c40e8.

* Revert "attempt to fix test"

This reverts commit d7329c46f1.

* attempt to fix e2e

* fix: surpass eventemitter warning by increasing defaultMaxListeners

* attempt to fix e2e

* fix

* fix e2e not ending properly

* exp: add hanging-process reporter for investigation

* Revert "exp: add hanging-process reporter for investigation"

This reverts commit 26851f8282.

* update changelog
2026-04-20 14:57:29 +09:00
かっこかり
1391269a67 Update CHANGELOG.md 2026-04-18 15:02:27 +09:00
github-actions[bot]
86092f2faf Bump version to 2026.4.0-alpha.6 2026-04-16 07:37:51 +00:00
かっこかり
c640aeb27a deps: update security dependencies (#17318) 2026-04-16 16:32:17 +09:00
かっこかり
0be3142d54 fix(backend): devサーバーの起動に失敗することがある問題を修正 (#17317)
* fix(backend): devサーバーの起動に失敗することがある問題を修正?

* fix
2026-04-16 14:33:36 +09:00
かっこかり
37bfcb604f enhance(backend): bundle backend using Rolldown (#17068)
* enhance(backend): bundle backend using rolldown

* fix

* fix [ci skip]

* remove unused build script

* fix

* enhance: 起動からlistenまでかかる時間を減らす (MisskeyIO#1410)

* ✌️

* fix

* update rolldown

* fix(backend): extract static error classes to avoid rolldown design:paramtypes omission

* update rolldown

* Revert "fix(backend): extract static error classes to avoid rolldown design:paramtypes omission"

This reverts commit e2243c9dc3.

* fix

* perf: avoid generating sourcemap in production

* fix

* fix

* fix

* fix paths

* fix

* fix

* fix

* fix

* fix

* enhance: バックエンドの開発サーバー制御をrolldown側で行うように

* remove nodemon

* Update Changelog

* tweak config

* fix

* fix

* fix

* clean up

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: bab <mashirohira@gmail.com>
2026-04-16 12:44:50 +09:00
github-actions[bot]
024f8bb102 Bump version to 2026.4.0-alpha.5 2026-04-15 14:12:00 +00:00
Jaehong Kang
277a1ef31f fix(backend): handle relay-delivered Announce activities correctly (#17308)
* fix(backend): handle relay-delivered Announce activities correctly

Relay Announce activities now use the target note URI instead of the
Announce URI for federation allowlist checks, dedup locking, and
existence lookups. Notes delivered via relay are published directly to
the notes stream without creating a renote.

Closes #11056

* Update packages/backend/src/core/RelayService.ts

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-15 23:05:36 +09:00
syuilo
8e536eb4b9 Update CHANGELOG.md 2026-04-15 20:30:23 +09:00
るちーか
360e805638 enhance: アバターデコレーションへのカテゴリの導入 (#17034)
* feat(backend): AvatarDecorationにcategoryを追加し、関連APIのプロパティ・戻り値にも反映

* feat(frontend): アバターデコレーションのカテゴリ設定機能

* chore(frontend): 管理画面とユーザー側の画面で、アバターデコレーションのグループ化のコードをある程度統一

* CHANGELOGを更新

* fix: group-avatar-decorations.tsを使用するよう修正

* chore: コーディング規約への準拠

* 型エラーを解消
2026-04-15 20:29:17 +09:00
かっこかり
c95aef7535 refactor(frontend): ロールポリシーエディタを統合 (#17125)
* refactor(frontend): ロールポリシーエディタを統合

* fix

* fix lint

* clean up

* fix

* fix lint
2026-04-15 17:41:40 +09:00
github-actions[bot]
758a085812 Bump version to 2026.4.0-alpha.4 2026-04-15 02:53:54 +00:00
syuilo
a6de986f83 Update CHANGELOG.md 2026-04-15 11:40:36 +09:00
Copilot
12e590a63f fix(backend): Prevent retry of inbox jobs with role-based validation errors (#17167)
* Initial plan

* Handle too many mentions error in inbox without retry

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-15 11:39:49 +09:00
かっこかり
a5b1f839ac fix(backend): fix flaky e2e test on recursive drive folder check (#17311) 2026-04-15 11:38:38 +09:00
かっこかり
d7ceaa9c88 fix(backend): attempt to fix flaky e2e test on home timeline streaming (#17312) 2026-04-15 11:37:20 +09:00
かっこかり
55b0fbd172 fix(backend): robots.txtで返却する内容の調整 (#17165)
* fix(backend): robots.txtで返却する内容の調整

* Update Changelog

* fix: add paths

* Update Changleog
2026-04-15 09:56:07 +09:00
かっこかり
6532cb85e7 Update CHANGELOG.md for #17310 [ci skip] 2026-04-15 09:03:53 +09:00
mq1
5dc508346c fix(backend): ULIDを正しく処理できない問題を修正 (#17310)
fix(backend): fix parseUlidFull to correctly handle Crockford Base32 chars W/X/Y/Z
2026-04-15 09:02:43 +09:00
renovate[bot]
c9c6ef2772 chore(deps): update dependency lodash to v4.18.1 [security] (#17278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 23:49:55 +09:00
かっこかり
4d6256e91d deps: Update dependencies (#17304)
* update deps

* update dependencies (major)

* fix: migrate meilisearch

* fix: migrate color-convert types

* fix cypress?

* rollback ts v5 as it is not supported by cypress

* fix fake-timers
2026-04-12 00:57:16 +09:00
github-actions[bot]
cdf0438154 Bump version to 2026.4.0-alpha.3 2026-04-11 05:45:50 +00:00
かっこかり
29cecd750f fix(backend): 存在しないActorに対するDeleteアクティビティは無視するように (#17294)
* fix(backend): 存在しないActorに対するDeleteアクティビティは無視するように

* Update Changelog

* fix

* Revert "fix"

This reverts commit 985feea326.

* fix?

* fix

* fix

* fix

* fix

* refactor: remove unused imports

* fix

* Update CHANGELOG.md [ci skip]
2026-04-11 14:45:11 +09:00
FINEARCHS
68e3476a16 fix(frontend): ドライブへの画像アップロード時にファイル名の変更が無視される不具合を修正 (#17302)
* ドライブの実ファイル名ではなくsuffixを保持するように

* MkUploaderItemsでファイル名が圧縮後の拡張子も含めて表示されるように

* Apply suggestion from @kakkokari-gtyih

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

* changelog

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-11 14:23:42 +09:00
かっこかり
3cb003366f fix(frontend): 連合が無効化されたサーバーでInstance Tickerの設定が中途半端に消えている問題を修正 (#17303)
* fix(frontend): 連合が無効化されたサーバーでInstance Tickerの設定が中途半端に消えている問題を修正

* Update Changelog
2026-04-11 13:16:55 +09:00
danominium
787de92c2f fix(frontend): bannerUrl が空の場合に /about ページで /null へのアクセスが発生する問題を修正 (#17299)
fix(frontend): bannerUrl が空の場合に /about ページで /null へのリクエストが発生する問題を修正

bannerUrl が空の場合は 背景画像を設定しない。

about.overview.vue の background-image: url("null"); によって /null へのリクエストが発生してしまうため。
2026-04-11 02:04:39 +09:00
syuilo
22577e2134 perf(frontend): improve about#emojis rendering performance 2026-04-09 14:28:04 +09:00
github-actions[bot]
0355420c81 Bump version to 2026.4.0-alpha.2 2026-04-09 05:23:06 +00:00
かっこかり
4750980cef enhance(frontend): update vite to v8 再 (#17289)
* Revert "Revert "deps: Update vite to v8" (#17283)"

This reverts commit a18c909ba3.

* fix(frontend): popupのりアクティビティがチャンクをまたいで切れる事がある問題を修正

* update vite/rolldown
2026-04-09 14:20:07 +09:00
かっこかり
92e0e8edf7 refactor(frontend): refactor deck events (#17290) 2026-04-08 14:45:30 +09:00
かっこかり
5cb3a91b15 fix(frontend): follow-up of #17282 2026-04-08 10:48:07 +09:00
かっこかり
60018d16da enhance(frontend): niraxにテストを追加 (#17287)
* fix(frontend): follow-up of #13509

* fix: fix use of inappropriate method

* enhance(frontend): niraxにテストを追加
2026-04-07 22:03:08 +09:00
github-actions[bot]
b63984893e Bump version to 2026.4.0-alpha.1 2026-04-07 11:42:38 +00:00
かっこかり
d4a5048aae fix(frontend): routerがmatchAllに入った際に一度 location.href による遷移を試みる挙動に関する修正 (#17281)
* fix(frontend): follow-up of #13509

* fix: fix use of inappropriate method

* Update CHANGELOG.md [ci skip]
2026-04-07 20:35:06 +09:00
syuilo
b9923d0a23 New Crowdin updates (#17260)
* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)
2026-04-07 19:30:26 +09:00
syuilo
38be94b2a3 enhance(frontend): improve nested popup menu ux (#17187)
* wip

* Update MkMenu.vue

* wip

* wip

* Update MkMenu.vue

* wip

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* 💢

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue
2026-04-07 16:52:30 +09:00
かっこかり
ae34578c6f refactor(frontend): MkButtonのprops等整理 (#17282)
* refactor(frontend): MkButtonのprops等整理

* fix
2026-04-06 22:28:44 +09:00
github-actions[bot]
367766d864 Bump version to 2026.4.0-alpha.0 2026-04-06 11:16:40 +00:00
かっこかり
a18c909ba3 Revert "deps: Update vite to v8" (#17283)
Revert "deps: Update vite to v8 (#17238)"

This reverts commit e601fcb729.
2026-04-06 20:15:57 +09:00
かっこかり
0b7b59f1e2 enhance(frontend): チャンネル指定リノートでリノート先のチャンネルに移動できるように (#17280)
* enhance(frontend): チャンネル指定リノートでリノート先のチャンネルに移動できるように

* Update Changelog

* fix condition

* refactor
2026-04-05 17:22:17 +09:00
Evan Prodromou
8169c57bd1 fix(backend): handle array or string in alsoKnownAs (#17275)
* fix: handle array or string in alsoKnownAs, closes #17274

* style: use more idiomatic toArray() for UserEntityService handling of alsoKnownAs

* fix: handle array-valued or unwrapped alsoKnownAs in ApPersonService

* doc: note about bugfix for alsoKnownAs
2026-04-05 00:43:37 +09:00
かっこかり
e601fcb729 deps: Update vite to v8 (#17238)
* deps: Update vite to v8

* fix

* migrate some plugins to rolldown-based

* fix broken lockfile

* wip

* update rolldown

* override rolldown version

* perf

* spdx

* fix

* update vite to 8.0.1

* chore: rewrite rollup-plugin-unwind-css-module-class-name with MagicString

* format

* swap type definitions

* replace using MagicString

* provided magicString

* fix code style

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>

* fix: lint fixes

* swap sass with sass-embedded

* fix lint

* fix: インライン化されたVue SFC出力に対してCSS Module定義削除が効かないのを修正

* fix

* fix: バックエンドのCSS読み込みの方法が悪いのを修正

* fix: 使用されないpreloadを削除

* fix lint [ci skip]

* Apply suggestion from @syuilo

* Add comment in pnpm-workspace.yaml [ci skip]

* update vite/rolldown

* remove magic-string

---------

Co-authored-by: cm-ayf <cm.ayf2734@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-01 17:05:57 +09:00
Copilot
5361a3819b fix(backend): /api-doc にアクセスできない問題を修正 (#17267)
* Initial plan

* fix: fix /api-doc returning 404 after backend minification (#17266)

Agent-Logs-Url: https://github.com/misskey-dev/misskey/sessions/8d7d0585-55da-412f-a8ee-dde1b6565026

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* enhance: API DocのHTMLをJSXで生成するように

* Update Changelog

* chore: remove unused imports [ci skip]

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2026-04-01 14:43:34 +09:00
かっこかり
dbc5fe2454 deps: update dependencies (#17263)
* deps: update dependencies

* fix?

* fix

* Update AiService.ts

* fix

* update deps
2026-04-01 12:16:36 +09:00
github-actions[bot]
7bd7e5c4db [skip ci] Update CHANGELOG.md (prepend template) 2026-03-31 12:14:45 +00:00
misskey-release-bot[bot]
41048638a2 Merge pull request #17232 from misskey-dev/develop
Release: 2026.3.2
2026-03-31 12:14:43 +00:00
github-actions[bot]
b97683cdb2 Release: 2026.3.2 2026-03-31 12:14:38 +00:00
github-actions[bot]
ece9679cc4 Bump version to 2026.3.2-beta.0 2026-03-23 11:14:32 +00:00
かっこかり
c5fd36094d enhance(frontend): ウィンドウの初期サイズを画面サイズから動的に決めるように (#17257)
* enhance(frontend): ウィンドウの初期サイズを画面サイズから動的に決めるように

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-03-22 13:32:45 +09:00
かっこかり
b5a6e12439 fix(frontend): ウィンドウのタイトルをクリックしても最前面に出ないのを修正 (#17255)
* fix(frontend): ウィンドウのタイトルをクリックしても最前面に出ないのを修正

* Update Changelog
2026-03-22 13:21:14 +09:00
github-actions[bot]
1d171aeb96 Bump version to 2026.3.2-alpha.2 2026-03-21 03:32:26 +00:00
かっこかり
b826a16231 fix(backend): 初期読込時に必要なフロントエンドのアセットがすべて読み込まれていない問題を修正 (#17254)
* fix: バックエンドのCSS読み込みの方法が悪いのを修正

* fix: 使用されないpreloadを削除

* Update Changelog

* add comments
2026-03-21 12:26:50 +09:00
renovate[bot]
9e38288da5 chore(deps): update [github actions] update dependencies (#17253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 20:24:58 +09:00
かっこかり
57ed2914d1 deps: update dependencies (#17252) [ci skip] 2026-03-20 20:08:58 +09:00
かっこかり
54e94263a8 fix(backend): チャンネルミュートを有効にしている際にノートの閲覧ができなくなることがある問題を修正 (#17251)
* fix(backend): チャンネルミュート使用時にユーザーのノート一覧読み込みに失敗する問題を修正

* more fix

* Update Changelog
2026-03-20 19:11:56 +09:00
4ster1sk
0e4732180f fix(frontend): Unicode絵文字のリアクションが表示に反映されないことがある問題の修正 (#17250) 2026-03-20 17:15:59 +09:00
github-actions[bot]
df1fa8b90a Bump version to 2026.3.2-alpha.1 2026-03-20 07:36:34 +00:00
syuilo
45df44899a New Crowdin updates (#17234)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)
2026-03-20 16:35:19 +09:00
かっこかり
2904b5a342 fix(backend): fix streaming note hiding logic (#17248)
* fix(backend): fix streaming note hiding logic

* Update Changelog

* refactor: avoid using generator function

---------

Co-authored-by: Acid Chicken <root@acid-chicken.com>
2026-03-20 14:01:27 +09:00
かっこかり
f16ef2ef56 fix(frontend): 絵文字パレットが空の状態でMisskeyについてのページが閲覧できない問題を修正 (#17243)
* fix(frontend): 絵文字パレットが空の状態でMisskeyについてのページが閲覧できない問題を修正

* Update Changelog

* extension

* add comment
2026-03-18 21:34:28 +09:00
かっこかり
a3b0dc91e8 fix(backend): Acceptヘッダを署名の対象に含めないように (#17240)
* fix(backend): Acceptヘッダを署名の対象に含めないように

* Update Changelog
2026-03-16 13:42:51 +09:00
syuilo
07bbc5ab33 enhance(frontend): improve zoomLines effect 2026-03-11 15:59:00 +09:00
syuilo
bbffa563d9 refactor(frontend): refactor blur.glsl 2026-03-11 10:35:59 +09:00
github-actions[bot]
1eefd8d3f0 Bump version to 2026.3.2-alpha.0 2026-03-09 09:32:58 +00:00
かっこかり
589a3e229b Update CHANGELOG.md 2026-03-09 18:25:04 +09:00
renovate[bot]
9377e94072 chore(deps): update [docker] update dependencies (#17203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 18:22:09 +09:00
かっこかり
bc19359876 fix(backend): follow-up of 47db963 (#17231)
fix(backend): follow-up of 47db963d8d
2026-03-09 18:21:25 +09:00
syuilo
47db963d8d chore(backend): 非ログイン状態のケア 2026-03-09 13:57:59 +09:00
syuilo
277716bc49 fix(backend): 自分の行ったフォロワー限定投稿または指名投稿に自分自身でリアクションなど行った場合のイベントが流れない問題を修正 2026-03-09 13:51:56 +09:00
syuilo
db5cc6c058 Revert "fix(backend): 自分の行ったフォロワー限定投稿または指名投稿に自分自身でリアクションなど行った場合のイベントが流れない問題を修正"
This reverts commit 06f8dd39ca.
2026-03-09 13:51:18 +09:00
syuilo
06f8dd39ca fix(backend): 自分の行ったフォロワー限定投稿または指名投稿に自分自身でリアクションなど行った場合のイベントが流れない問題を修正 2026-03-09 13:50:10 +09:00
syuilo
307e90427a format 2026-03-09 13:48:32 +09:00
github-actions[bot]
d083855f7f [skip ci] Update CHANGELOG.md (prepend template) 2026-03-09 01:03:01 +00:00
misskey-release-bot[bot]
9c0e3e7937 Merge pull request #17230 from misskey-dev/develop
Release: 2026.3.1
2026-03-09 01:03:00 +00:00
github-actions[bot]
4ec56ba9f6 Release: 2026.3.1 2026-03-09 01:02:56 +00:00
かっこかり
5e62ad160e Update CHANGELOG.md 2026-03-09 09:36:02 +09:00
github-actions[bot]
e554e72b55 Bump version to 2026.3.1-alpha.0 2026-03-09 00:34:23 +00:00
かっこかり
25783425e1 deps: update dependencies (#17229)
* deps: update dependencies

* update lockfile
2026-03-09 09:09:09 +09:00
かっこかり
582ebe422c Update CHANGELOG.md 2026-03-09 08:24:52 +09:00
かっこかり
06e74508a2 Merge commit from fork
* Tighten security on channels

* Fix main channel

* add comments, improve typing

* fix indent

* fix: missing membership checks in chat-room

* remove unnecessary check in chat-user

* fix

* refactor: use exists

* fix

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2026-03-09 08:18:14 +09:00
かっこかり
b361a10c48 Merge commit from fork
* Tighten security in `HashtagChannel`

* Add isNoteVisibleForMe in stream channel

Co-Authored-By: Julia Johannesen <julia@insertdomain.name>

* Tighten note visibility checks in WebSocket (No.1)

* refactor

* Fix main channel

Co-Authored-By: Julia Johannesen <julia@insertdomain.name>

* fix typo

* fix missing lockdown (requireSigninToViewContents) checks

* fix(backend): streamingでのロックダウン挙動修正

* fix: 引用リノートを無条件で隠していた問題を修正

* fix: 引用リノートを単純にリノート場合に内容が見えることがある問題を修正

* refac

* fix

* fix

* fix

* Update docs

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
Co-authored-by: KanariKanaru <93921745+kanarikanaru@users.noreply.github.com>
2026-03-09 08:15:31 +09:00
syuilo
a07dc589e7 Merge commit from fork
Co-authored-by: Julia Johannesen <197614925+juliajohannesen@users.noreply.github.com>
2026-03-09 08:14:12 +09:00
かっこかり
b5d399674a Merge commit from fork
Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2026-03-09 08:12:20 +09:00
かっこかり
e074a91189 Merge commit from fork 2026-03-09 08:11:25 +09:00
renovate[bot]
29c357a988 chore(deps): update [github actions] update dependencies (#17202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-07 14:39:40 +09:00
かっこかり
ac45781ef9 deps: security dependency updates [ci skip] (#17225) 2026-03-07 14:35:10 +09:00
anatawa12
5d78b320de chore(backend): delete unused ChannelsService (#17218) 2026-03-05 21:57:07 +09:00
syuilo
a025209602 fix(frontend): 意図せず参照渡しになり得る箇所をdeepCloneするように修正 (#17207)
現状は(おそらく)問題は起きていないが今後問題が発現するシチュエーションが出てくる可能性がある
2026-03-05 20:38:42 +09:00
github-actions[bot]
d5b86a8b49 [skip ci] Update CHANGELOG.md (prepend template) 2026-03-05 10:56:52 +00:00
misskey-release-bot[bot]
fe3dd8edb5 Merge pull request #17217 from misskey-dev/develop
Release: 2026.3.0
2026-03-05 10:56:50 +00:00
github-actions[bot]
1a62318bcc Release: 2026.3.0 2026-03-05 10:56:46 +00:00
syuilo
9c30c0915a Update CHANGELOG.md 2026-03-05 19:35:06 +09:00
github-actions[bot]
53b9abd098 Bump version to 2026.3.0-alpha.0 2026-03-05 10:28:23 +00:00
かっこかり
3980b2ca55 fix: review fixes (#17208)
* fix: OAuthのContent-Typeを正しく判定するように

* fix(frontend): fix outdated comments

* fix: storagePersistenceのtop-level awaitを解消

* fix

* fix(frontend): add comment

Co-Authored-By: anatawa12 <anatawa12@icloud.com>

* fix

* fix: rename `users/get-following-users-by-birthday`

* fix: fix types

* Update MkForm.vue

* refactor utility/storage.ts

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-03-05 19:24:30 +09:00
syuilo
810faa8e5d New Crowdin updates (#17097)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)
2026-02-28 15:48:03 +09:00
果物リン
ae1304d645 perf: MFM MkA, MkLink, MkSparkle の slot 指定方法を修正 (#17156) 2026-02-28 15:47:29 +09:00
かっこかり
676e164634 deps: Security dependency updates (#17198)
* update deps

* update security deps
2026-02-28 13:56:34 +09:00
かっこかり
71f50d3280 fix(frontend): secure contextではない場合はストレージ永続化を確認しないように (#17189)
* fix(frontend): secure contextではない場合はストレージ永続化を確認しないように

* Update Changelog
2026-02-23 16:53:41 +09:00
github-actions[bot]
d4cd47f455 Bump version to 2026.2.0-beta.0 2026-02-22 10:11:10 +00:00
かっこかり
22a6935468 deps: update dependencies (#17184)
* update deps

* fix
2026-02-22 19:06:33 +09:00
syuilo
264068c58b chore(frontend): getHexで不正な値が返される可能性があるのを修正 2026-02-22 13:56:20 +09:00
かっこかり
97f7659bac fix(frontend): ウィジェットの表示更新がおかしくなる問題を修正 (#17175)
* fix(frontend): ウィジェットの表示更新がおかしくなる問題を修正

* fix: keyがついていない箇所全てを修正

* Revert "fix: keyがついていない箇所全てを修正"

This reverts commit 7f4d90feea.

* Revert "fix(frontend): ウィジェットの表示更新がおかしくなる問題を修正"

This reverts commit 38a000c904.

* fix
2026-02-16 19:56:48 +09:00
かっこかり
41620600cc fix(frontend): ウィンドウのドラッグ・サイズ変更のポインターをキャプチャするように (#17159)
* fix(frontend): ウィンドウのドラッグ・サイズ変更のポインターをキャプチャするように

* Update Changelog

* fix
2026-02-16 19:23:30 +09:00
かっこかり
b5121dc70e deps: update dependencies (#17174)
* deps: update dependencies

* update

* run pnpm dedupe

* update tsgo

* rollback tsgo
2026-02-16 12:02:36 +09:00
かっこかり
bd992661f4 Update CHANGELOG.md 2026-02-15 15:50:42 +09:00
かっこかり
799f5ab504 enhance(frontend): いくつかのtodoの解消 (#17154) 2026-02-15 12:08:10 +09:00
github-actions[bot]
d4bc753e72 Bump version to 2026.2.0-alpha.0 2026-02-15 03:04:38 +00:00
かっこかり
af40eb4d31 fix: user-tagページでユーザーが重複して読み込まれるのを修正 (#17163)
* fix: user-tagをページネーションに対応させる

* update changelog
2026-02-15 11:50:23 +09:00
かっこかり
a22b82c414 fix(frontend): フォロー承認通知でフォローされた際のメッセージ内の絵文字が表示されない問題を修正 (#17164)
* fix(frontend): フォロー承認通知でフォローされた際のメッセージ内の絵文字が表示されない問題を修正

* update changelog
2026-02-15 11:49:37 +09:00
かっこかり
28f5b2f173 fix(frontend): ぼかし・塗りつぶし・モザイクの画像エフェクトを修正 (#17155)
* fix(frontend): ぼかし・塗りつぶし・モザイクの画像エフェクトを修正

* Update Changelog

* fix changelog [ci skip]

* fix changelog [ci skip]

* tweak

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-02-08 09:48:04 +09:00
果物リン
c86cbfcfba worker-multi-dispatch のコメントを抑制 (#17157) 2026-02-07 17:46:17 +09:00
かっこかり
00cbd1e6db fix(frontend): ノートの詳細表示でリアクション一覧が全件表示されない問題を修正 (#17137)
* fix(frontend): ノートの詳細表示でリアクション一覧が全件表示されない問題を修正

* Update Changelog
2026-02-02 22:37:24 +09:00
かっこかり
65e51463c8 fix(frontend): CSSの指定が誤っている問題を修正 (#17135) 2026-01-31 22:38:16 +09:00
Ken_Cir
39362f78a6 fix(backend): inconsistent permissions for /admin/get-user-ips (#17136)
* fix(backend): inconsistent permissions for /admin/get-user-ips

* Update Changelog
2026-01-31 22:37:48 +09:00
renovate[bot]
d2154214ba fix(deps): update dependency tar to v7.5.7 [security] (#17104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 18:18:34 +09:00
renovate[bot]
97312b97f8 chore(deps): update pnpm to v10.28.2 [security] (#17133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 10:53:08 +09:00
poppingmoon
5e2b041f84 fix(frontend): remove ensureSignin from reversi game page (#17130) 2026-01-28 20:44:58 +09:00
syuilo
ec97f49919 Create copilot-instructions.md 2026-01-28 19:42:43 +09:00
かっこかり
4910fff7fb fix(frontend): mCaptchaが動作しない問題を修正 (#17127)
* fix(frontend): mCaptchaが動作しない問題を修正

* Update Changelog

* remove mcaptcha vanila glue
2026-01-28 11:55:35 +09:00
かっこかり
fc7655c808 deps: update dependencies [ci skip] (#17126)
* deps: update dependencies

* update vunerable packages as well
2026-01-24 02:41:10 +09:00
syuilo
ae2ac9d50f fix(frontend): 投稿フォームのアップロードファイルを右クリックしたときの挙動がおかしいのを修正 2026-01-22 20:31:42 +09:00
syuilo
8932492fd3 enhance(frontend): 添付画像のメニューを右クリックでも呼び出せるように 2026-01-22 20:29:11 +09:00
syuilo
a168e7b648 enhance(dev): Improve mem report (#17119)
* wip

* Update report-backend-memory.yml

* Update report-backend-memory.yml

* Update measure-memory.mjs

* Update report-backend-memory.yml
2026-01-22 18:53:53 +09:00
syuilo
1adcb03b93 Update report-backend-memory.yml 2026-01-22 15:01:38 +09:00
syuilo
b6e737dc76 Update report-backend-memory.yml 2026-01-22 14:47:05 +09:00
syuilo
2fa6ecc7ef enhance(dev): improve mem report (#17118)
* wip

* wip

* Update report-backend-memory.yml

* Update report-backend-memory.yml

* Update .github/workflows/report-backend-memory.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-22 14:32:57 +09:00
syuilo
f744b5711f enhance(dev): improve mem report (#17117)
* wip

* Update report-backend-memory.yml
2026-01-22 13:14:05 +09:00
syuilo
2b3d72bb73 Update measure-memory.mjs (#17116) 2026-01-22 12:16:38 +09:00
syuilo
3205eb6925 lint 2026-01-22 12:14:51 +09:00
syuilo
d4fcc694a6 enhance(backend): remove redis-info dep 2026-01-22 10:28:03 +09:00
かっこかり
389861f1da refactor(frontend): fix invalid self-closing tags (#17103)
* fix(frontend): fix invalid self-closing tags

* apply eslint rules

* fix

* fix
2026-01-16 22:42:08 +09:00
syuilo
ec683f04d1 enhance(dev): メモリ使用量比較のActionsでGCしてから取得する
Resolve #16961
2026-01-14 16:12:44 +09:00
かっこかり
bd81a6c8ad refactor(frontend): anyを除去2 (#17092)
* wip

* fix types

* fix
2026-01-14 14:45:45 +09:00
syuilo
d8318c02a1 refactor(frontend): MkRadioをMkRadiosに統合 2026-01-14 14:21:51 +09:00
かっこかり
b941c896aa refactor(frontend): MkRadiosの指定をpropsから行うように (#16597)
* refactor(frontend): MkRadiosの指定をpropsから行うように

* spdx

* fix lint

* fix: mkradiosを動的slotsに対応させる

* fix: remove comment [ci skip]

* fix lint

* fix lint

* migrate

* rename

* fix

* fix

* fix types

* remove unused imports

* fix

* wip

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-01-14 14:02:50 +09:00
github-actions[bot]
153ebd4392 Bump version to 2026.1.0-beta.0 2026-01-13 06:30:05 +00:00
かっこかり
bc5aef846b enhance(frontend): 画面幅が広いときはメディアを横並びで表示できるようにするオプションを追加 (#16946)
* enhance(frontend): 画面幅が広いときはメディアを横並びで表示できるようにするオプションを追加

* Update Changelog

* Update CHANGELOG.md
2026-01-13 15:28:54 +09:00
poppingmoon
4a0edf348a fix(frontend): use logical OR for fallback of file comment (#17089) 2026-01-13 15:04:23 +09:00
かっこかり
f3aa5081ed fix(frontend): MkFormで入力に不備がある場合は完了ボタンを押して続行できないように (#17096)
* fix(frontend): MkFormで入力に不備がある場合は完了ボタンを押して続行できないように

* fix lint
2026-01-13 15:02:50 +09:00
poppingmoon
c0d5c0df69 fix(frontend): add "px" suffix to borderWidth of Ui:C:container (#17088)
* fix: add "px" suffix to borderWidth of Ui:C:container

* docs: update changelog
2026-01-13 15:00:46 +09:00
おさむのひと
0b383efa5a Refactor FileServerService: Extract file handling logic into dedicated handlers (#17090)
- Introduced FileServerDriveHandler to manage drive file requests.
- Created FileServerFileResolver for resolving file access keys and downloading files.
- Added FileServerProxyHandler to handle proxy requests and image processing.
- Moved utility functions to FileServerUtils for better organization.
- Removed redundant methods from FileServerService, improving readability and maintainability.
2026-01-13 15:00:11 +09:00
かっこかり
abe745ec87 fix(frontend/widget): AiscriptAppのスクリプト適用を手動に変更 (#17095) 2026-01-11 21:56:58 +09:00
syuilo
2168395b71 New Crowdin updates (#16982)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2026-01-11 19:37:00 +09:00
renovate[bot]
7a9c4591c2 chore(deps): update [docker] update dependencies (#16082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-11 19:33:48 +09:00
かっこかり
4bc0026900 deps(frontend): update vue-tsc to v3.2.1 (#17091) 2026-01-11 15:00:00 +09:00
syuilo
faf2399e31 enhance(frontend): 連合なしが指定されているときに公開範囲を指名にできるように
Resolve #14760
2026-01-11 13:58:58 +09:00
おさむのひと
106fffdcfe chore(backend): FileServerServiceのunit-testを追加 (#17086)
* add test

* fix

* fix type error
2026-01-11 11:34:29 +09:00
github-actions[bot]
141964e57c Bump version to 2026.1.0-alpha.4 2026-01-09 14:19:30 +00:00
syuilo
41592eafb3 refactor: make noImplicitAny true (#17083)
* wip

* Update emojis.emoji.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update manager.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update analytics.ts
2026-01-09 22:06:40 +09:00
かっこかり
2a14025c29 fix(frontend): popupのemit型が正しく利用できるように修正 (#16826)
* fix(frontend): popupのemit型が正しく利用できるように修正

* fix: revert unnecessary code (for testing purpose)

* fix lint

* fix type errors

* fix types

* add comment

* fix

* fix

* fix: OverloadToUnionの仕組みを変更

* add comments, clean up

* fix lint

* fix types

* clean up [ci skip]

* fix

* add comments [ci skip]
2026-01-09 12:21:08 +09:00
github-actions[bot]
75b5dc1cd8 Bump version to 2026.1.0-alpha.3 2026-01-08 12:35:31 +00:00
syuilo
ee0eeb052f 🎨 2026-01-08 21:31:44 +09:00
かっこかり
ece4efcefe fix(frontend): mfmFunctionPickerを使用して挿入する際のハンドリングを改善 (#17018)
* fix(frontend): mfmFunctionPickerを使用して絵文字を挿入する際のハンドリングを改善

* fix

* Update MkPostForm.vue

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-01-08 21:08:27 +09:00
かっこかり
cd973b252a fix(frontend): 2月29日を誕生日に設定している場合、平年は3月1日を誕生日として扱うように (#17072)
* fix(frontend): 2月29日を誕生日に設定している場合、平年は3月1日を誕生日として扱うように

* Update Changelog

* add tests

* spdx
2026-01-08 12:16:33 +09:00
anatawa12
666f78e676 enable and fix no-unused-vars and no-async-promise-executor (#17070)
* dev: set --no-bail for lint task

* lint: enable no-async-promise-executor lint and fix them

* lint: enable no-unused-vars with allowing _ prefix

* lint: fix semi
2026-01-08 11:49:12 +09:00
renovate[bot]
cf89c4e363 chore(deps): update pnpm to v10.27.0 [security] (#17082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-08 09:00:30 +09:00
github-actions[bot]
bf41e9edd1 Bump version to 2026.1.0-alpha.2 2026-01-07 13:02:33 +00:00
syuilo
f92c187e2b make __VUE_OPTIONS_API__ false (#17077) 2026-01-07 21:59:22 +09:00
syuilo
8c5572dd3b enhance(frontend): remove vuedraggable (#17073)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update page-editor.blocks.vue

* Update MkDraggable.vue

* refactor

* refactor

* ✌️

* refactor

* Update MkDraggable.vue

* ios

* 🎨

* 🎨
2026-01-07 21:46:03 +09:00
syuilo
e18b92823f Update README.md 2026-01-07 21:43:31 +09:00
anatawa12
2d709ceeb4 fix: typo in import specifier (#17076) 2026-01-07 20:40:14 +09:00
anatawa12
38b3eecc8c migrate build scripts to esmodules (#17071)
* chore: migrate build scripts to esmodules

* chore: do not use export default in build script
2026-01-06 19:23:59 +09:00
おさむのひと
f6fc78f578 refactor: DriveFileEntityServiceとDriveFolderEntityServiceの複数件取得をリファクタ (#17064)
* refactor: DriveFileEntityServiceとDriveFolderEntityServiceの複数件取得をリファクタ

* add test

* fix

* Update packages/backend/src/core/entities/DriveFolderEntityService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/test/unit/entities/DriveFolderEntityService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/entities/DriveFileEntityService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Revert "Update packages/backend/src/core/entities/DriveFileEntityService.ts"

This reverts commit 83bb9564cf.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-06 13:13:06 +09:00
syuilo
6e99acf7a7 update clean scripts 2026-01-05 21:49:45 +09:00
github-actions[bot]
553a147396 Bump version to 2026.1.0-alpha.1 2026-01-05 12:03:42 +00:00
syuilo
7bcfeba7e5 Minify backend (#17054)
* wip

* Update build.js

* Update build.js

* [minify-backend用] フィジビリティ検証 (#16878)

* fix: minify-backend

* 間違えて入れちゃったのを戻す

* 追従

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* test

* use node 24

* Revert "use node 24"

This reverts commit 7ae2debf23.

* Revert "test"

This reverts commit d919879091.

* Update package.json

* wip

* Update compile_config.js

* Revert "Update compile_config.js"

This reverts commit 0ee286f02b.

* Update config.ts

* wip

* Update .swcrc

* Update ClientServerService.ts

* [ci skip] update CHANGELOG

---------

Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2026-01-05 20:56:52 +09:00
renovate[bot]
4f65c1529b chore(deps): update [misskey-js] update dependencies [ci skip] (#17025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-03 18:35:10 +09:00
かっこかり
589ae8d4c6 fix(deps): update [frontend] update dependencies (#17062)
* fix(deps): update [frontend] update dependencies

* rollback tsgo to fix type error

* Revert "rollback tsgo to fix type error"

This reverts commit 3a0b94e5b2.

* rollback vue-tsc to fix type errors (test)

* update vue-tsc to 3.2.0

* update vue-tsc stack to v3.2.1

* rollback vue-tsc to v3.1.8
2026-01-03 18:15:34 +09:00
かっこかり
0be4405a79 fix(deps): run pnpm dedupe (#17063) 2026-01-03 15:30:04 +09:00
renovate[bot]
2fba2e7049 fix(deps): update [root] update dependencies [ci skip] (#17023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-03 12:28:57 +09:00
github-actions[bot]
96b03a7179 Bump version to 2026.1.0-alpha.0 2026-01-02 12:51:50 +00:00
かっこかり
cdb958cdf0 fix(frontend): 管理画面でアーカイブ済のお知らせを表示した際にアクティブなお知らせが多い旨の警告が出る問題を修正 (#17059)
* fix(frontend): 管理画面でアーカイブ済のお知らせを表示した際にアクティブなお知らせが多い旨の警告が出る問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-01-02 21:50:25 +09:00
syuilo
245775ea87 [skip ci] Update CHANGELOG.md 2026-01-02 21:48:39 +09:00
renovate[bot]
40d55fc6a3 fix(deps): update [backend] update dependencies (#17026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 21:47:23 +09:00
かっこかり
9c22538454 fix(frontend): ファイルタブのセンシティブメディアを開く際に確認ダイアログを出す設定が適用されない問題を修正 (#17019)
* fix(frontend): ファイルタブのセンシティブメディアを開く際に確認ダイアログを出す設定が適用されない問題を修正

* Update Changelog

* refactor

* Update Changelog
2026-01-02 21:41:32 +09:00
かっこかり
a1ba403f9a fix(frontend): ログインダイアログが表示されたあとの処理がおかしくなる問題を修正 (#17038)
* fix(frontend): ログインダイアログが表示されたあとの処理がおかしくなる問題を修正

* Update Changelog
2026-01-02 21:38:53 +09:00
かっこかり
443e1ed29e refactor(frontend): prefer.model, store.modelではcustomRefを使用するように (#17058)
* refactor(frontend): prefer.model, store.modelではcustomRefを使用するように

* fix: watchの解除に失敗してもエラーで落ちないように

* Update packages/frontend/src/lib/pizzax.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-02 21:34:43 +09:00
かっこかり
b5454cb2c4 fix(frontend): 登録日によるソートの場合はpaginator側のソートを使用するように (#17048)
* fix(frontend): 登録日によるソートの場合はpaginator側のソートを使用するように

* Update Changelog

* fix lint

* refactor
2026-01-01 10:32:38 +09:00
かっこかり
8577f10456 2026 (#17052) 2026-01-01 00:00:00 +09:00
かっこかり
16ffd88ecc enhance: 誕生日のユーザーウィジェットで、今日だけに限らず、直近の誕生日ユーザーを表示できるように (#13637)
* enhance(frontend): 「今日誕生日のフォロー中ユーザー」ウィジェットをリファクタリング

(cherry picked from commit 24652b9364)

* fix(backend): 年越しの時期で誕生日検索クエリーが誤動作する問題を修正 (MisskeyIO#577)

(cherry picked from commit 38581006be)

* fix

* spdx

* delete birthday param on users/following api

* 名称を一本化

* Update Changelog

* Update Changelog

* fix(frontend/WidgetBirthdayFollowings): ユーザーの名前が長いと投稿ボタンがはみ出てしまう問題を修正 (MisskeyIO#582)

(cherry picked from commit fa47a545b1)

* use module css

* default 3day

* Revert "delete birthday param on users/following api"

This reverts commit a47456c1c4.

* Update Changelog

* 日付が1ヶ月ズレている問題を修正?

* fix: 日付関連のバグを修正

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>

* build misskey-js types

* add comment

* Update CHANGELOG.md

* migrate

* change migration

* UPdate Changelog

* fix: revert unnecessary changes

* 🎨

* i18n

* fix

* update changelog

* 🎨

* fix lint

* refactor: remove unnecessary classes

* fix

* fix

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2025-12-31 22:33:26 +09:00
かっこかり
866e675134 fix(frontend): ウィジェットの設定画面のプレビューが利用できない問題を修正 (#17056) 2025-12-31 18:06:22 +09:00
かっこかり
01aa56c602 enhance(backend/oauth): Support client information discovery in the IndieAuth 11 July 2024 spec (#17030)
* enhance(backend): Support client information discovery in the IndieAuth 11 July 2024 spec

* add tests

* Update Changelog

* Update Changelog

* fix tests

* fix test describe to align with the other describe format
2025-12-31 14:50:01 +09:00
かっこかり
ff7d2c1083 refactor(frontend): remove undefined css rules (#17051) 2025-12-31 13:42:59 +09:00
かっこかり
404fca6c2d fix(frontend): fix build error (#17050) 2025-12-30 17:55:52 +09:00
かっこかり
3fe0477cac fix(frontend): ディレクティブの型が当たらない問題を修正 (#17049) 2025-12-30 16:39:07 +09:00
かっこかり
97d485bdd2 enhance(frontend): ウィジェットの設定項目の多言語対応 (#17032)
* enhance(frontend): ウィジェットの設定項目の多言語対応

* Update Changelog

* refactor: move options locale key to root for optimizing artifacts for locale inlining

* fix

* fix

* ✌️

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-30 15:59:18 +09:00
かっこかり
4285303c81 fix(frontend): follow-up of #17033 (#17047)
* wip

* fix

* ref -> reactive

* tweak throttle threshold

* tweak throttle threshold

* rss設定にはmanualSaveを使用するように

* Update MkWidgetSettingsDialog.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-30 14:32:40 +09:00
かっこかり
14f58255ee enhance(frontend): ウィジェットの設定画面を改良 (#17033)
* enhance(frontend): ウィジェットの設定画面を改良

* Update Changelog

* fix lint
2025-12-28 20:50:11 +09:00
おさむのひと
b69b0acf59 chore: SearchServiceのunit-test追加 (#17035)
* add serach service test

* add meili test

* CIの修正が足りなかった

* テストの追加

* fix
2025-12-28 19:57:18 +09:00
かっこかり
7a5430199f enhance(frontend): MkDriveで自動でもっと見るを有効化 (#17037)
* enhance(frontend): MkDriveで自動でもっと見るを有効化

* Update Changelog
2025-12-28 19:53:08 +09:00
syuilo
c32307dca4 Update README.md 2025-12-27 14:30:36 +09:00
kami8
bc78bb9b8e Fix(frontend): ドライブクリーナーから画像を削除した際、リロードしなくても画面に反映されるよう修正 (#16888)
* ドライブクリーナーでファイル削除後、リロードなしで画面に反映されるように修正

* CHANGELOG.mdを修正

* CHANGELOGがおかしかったので修正
2025-12-26 09:19:32 +09:00
renovate[bot]
a33b003282 chore(deps): update [tools] update dependencies [ci skip] (#17024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-23 19:32:38 +09:00
anatawa12
74e847a04d refactor: use TRANSIENT scope to avoid service bucket relay (#16985)
* refactor: use TRANSIENT scope to avoid service bucket relay

* lint: fix lints

* refactor: use transient for apResolver

* Update packages/backend/src/core/activitypub/models/ApImageService.ts

* fix
2025-12-22 17:01:10 +09:00
anatawa12
06657c81d3 feat: use tsgo where capable (#16984) 2025-12-22 16:52:05 +09:00
おさむのひと
5c5e965151 fix(ci): dockleのciをより安定して動かせるようにする (#16987) 2025-12-22 16:51:38 +09:00
github-actions[bot]
b07a1e692f [skip ci] Update CHANGELOG.md (prepend template) 2025-12-22 05:30:46 +00:00
misskey-release-bot[bot]
0d46089f9a Merge pull request #16998 from misskey-dev/develop
Release: 2025.12.2
2025-12-22 05:30:45 +00:00
github-actions[bot]
78348007ed Release: 2025.12.2 2025-12-22 05:30:41 +00:00
かっこかり
92f1e599db Update CHANGELOG.md [ci skip] 2025-12-22 12:05:25 +09:00
github-actions[bot]
26b5979c76 Bump version to 2025.12.2-beta.4 2025-12-20 12:30:29 +00:00
かっこかり
b1048525d2 fix(frontend): 一部のUnicode絵文字がリアクションボタンにならない問題を修正 (#17017)
* fix(frontend): 一部のUnicode絵文字がリアクションボタンにならない問題を修正

* Update Changelog

* fix
2025-12-20 21:23:39 +09:00
かっこかり
4c31eb409c fix(frontend): ストレージが消去される事がある問題を軽減 (#16704)
* fix(frontend): ストレージが消去される事がある問題を軽減

* add comment

* add catch to continue request permissions

* Update Changelog

* update changelog

* fix

通知権限の許可取得はボタン押下時に移動

* fix

* wip

* Update main-boot.ts

* wip

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-20 21:22:31 +09:00
おさむのひと
f739cb6270 fix: admin/queue/deliver-delayedとadmin/queue/inbox-delayedの応答速度を改善 (#17009) 2025-12-20 19:15:05 +09:00
github-actions[bot]
81bacb6203 Bump version to 2025.12.2-beta.3 2025-12-20 10:07:41 +00:00
かっこかり
ee8dccea2f fix(backend): fix #16994 by approach 6 (#17005)
* fix(backend): narrow down trustproxy default value and enhance documentation on how to configure it

* Update Changelog

* indent [ci skip]

* Update CHANGELOG.md [ci skip]

* add cloudflare specific example

* Update .config/example.yml

Co-authored-by: anatawa12 <anatawa12@icloud.com>

* fix: productionでIPレートリミットされる際にlocalhostからリクエストが来たらログを残すように

* fix: wrong condition

* fix: use own logger for signin api

* flip configuration

* fix

* fix [ci skip]

* fix: wrong message [ci skip]

* fix: どこがおかしいか明記 [ci skip]

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2025-12-20 19:07:05 +09:00
syuilo
6d00645bc7 fix(frontend): iPadOSのPWAでアプリを切り替えた際にウィジェット表示ボタンが消滅する問題を修正 2025-12-18 20:27:12 +09:00
syuilo
baeed4bc80 perf(backend): lazy load systeminformation
systeminformationを必要とする機能を有効にしていないサーバーで無駄に読み込まれることが無いように
2025-12-18 20:05:20 +09:00
syuilo
dba44daf9c 🎨 and refactor 2025-12-18 15:40:40 +09:00
syuilo
46e6dd99d1 chore: remove beta label from some features 2025-12-18 15:15:07 +09:00
syuilo
f48af7f73b 🎨 2025-12-18 14:55:19 +09:00
syuilo
834e8b4c24 fix(frontend): デッキUIでメニュー位置を下にしているとプロファイル削除ボタンが表示されないのを修正 2025-12-18 14:55:16 +09:00
github-actions[bot]
7ef0c96758 Bump version to 2025.12.2-beta.2 2025-12-17 03:31:55 +00:00
syuilo
b10074e939 enhance(frontend): add deck tour 2025-12-17 12:27:55 +09:00
renovate[bot]
260dbd150b fix(deps): update dependency systeminformation to v5.27.14 [security] [ci skip] (#17003)
* fix(deps): update dependency systeminformation to v5.27.14 [security]

* update whitelist to force update systeminformation package

* bump other dependencies to fix dep error

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-17 09:36:15 +09:00
syuilo
79cbbcfe0f Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-12-17 09:08:25 +09:00
syuilo
c893f85864 Update example.yml 2025-12-17 09:08:22 +09:00
syuilo
24d4ffa2ec Update CHANGELOG.md
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-17 09:07:51 +09:00
github-actions[bot]
0b931daefd Bump version to 2025.12.2-beta.1 2025-12-16 14:00:25 +00:00
かっこかり
cc05d93194 fix(frontend): まれに設定変更のタブ間同期に失敗する問題を修正 (#16991) 2025-12-16 22:56:57 +09:00
かっこかり
90345591bb fix(frontend): 無限スクロールできる箇所の調整 (#17000) 2025-12-16 22:50:26 +09:00
github-actions[bot]
730227f353 Bump version to 2025.12.2-beta.0 2025-12-16 12:31:04 +00:00
syuilo
4acb37ee9d Update CHANGELOG.md 2025-12-16 21:23:51 +09:00
syuilo
7025769c69 fix(frontend): バージョン表記のないPlayが正しく動作しない問題を修正
Fix #16996
2025-12-16 21:23:23 +09:00
syuilo
1a4ef8769f Update CHANGELOG.md 2025-12-16 20:08:01 +09:00
github-actions[bot]
055cd0c250 Bump version to 2025.12.2-alpha.0 2025-12-16 11:00:42 +00:00
syuilo
d35ddc77d2 enhance(backend): request ip が localhost だった場合、レートリミットをスキップ & 警告を出すように 2025-12-16 19:56:44 +09:00
syuilo
8d871a58e3 Update CHANGELOG.md 2025-12-16 19:55:31 +09:00
syuilo
99b0b436e0 Update example.yml 2025-12-16 19:55:16 +09:00
syuilo
e3d5b95672 Revert "Merge commit from fork"
This reverts commit 5512898463.

see https://github.com/misskey-dev/misskey/issues/16994
2025-12-16 14:21:39 +09:00
かっこかり
0d52145b2b deps: update deps [ci skip] (#16997)
* update deps

* update chokidar to v5

* fix type error

* rollback serviceworker types to r74

* fix [ci skip]
2025-12-16 11:42:06 +09:00
かっこかり
467404d5bb fix(gh): thollander/actions-comment-pull-request@v3 の breaking change 対応漏れ 2025-12-16 09:45:26 +09:00
renovate[bot]
99e25784ad chore(deps): update [github actions] update dependencies (major) (#16869)
* chore(deps): update [github actions] update dependencies

* migrate

* bump download-artifact to v7

* bump upload-artifact to v6

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-16 09:26:10 +09:00
github-actions[bot]
9e1e40d35a [skip ci] Update CHANGELOG.md (prepend template) 2025-12-14 07:27:11 +00:00
misskey-release-bot[bot]
7420c10a58 Merge pull request #16972 from misskey-dev/develop
Release: 2025.12.1
2025-12-14 07:27:09 +00:00
github-actions[bot]
8eb6e29d2c Release: 2025.12.1 2025-12-14 07:27:06 +00:00
Copilot
2d198a711b Update PostgreSQL volume mount paths for PostgreSQL 18 (#16986)
* Initial plan

* Update PostgreSQL volume mount paths for PostgreSQL 18 compatibility

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-14 11:32:42 +09:00
syuilo
e0b872dc09 Update CHANGELOG for version 2025.12.1
Removed empty section under General and retained fixes under Client.
2025-12-13 21:16:12 +09:00
github-actions[bot]
711b86ab7d Bump version to 2025.12.1-alpha.1 2025-12-13 10:14:03 +00:00
syuilo
e8b4dae553 New Crowdin updates (#16939)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2025-12-13 19:08:25 +09:00
かっこかり
36d404818d fix(frontend/aiscript): nullを返すnote_view_intrruptorが動作しない問題を修正 (#16977)
* fix(frontend/aiscript): nullを返すnote_view_intrruptorが動作しない問題を修正

* Update Changelog
2025-12-13 19:08:02 +09:00
かっこかり
cb03f3f013 fix(frontend): follow-up of 16970 (#16975) 2025-12-13 18:22:40 +09:00
かっこかり
c109bec013 fix(frontend): ドライブファイルを日付以外で並び替える場合は月でグループ化して表示しないように (#16978)
* fix(frontend): ドライブファイルを日付以外で並び替える場合は月でグループ化して表示しないように

* Update Changelog
2025-12-13 18:17:09 +09:00
かっこかり
6fa4eb8c4f fix(frontend): 無限スクロールできる箇所の調整 (#16979) 2025-12-13 18:16:15 +09:00
github-actions[bot]
5fb4caa14b Bump version to 2025.12.1-alpha.0 2025-12-12 08:09:12 +00:00
まっちゃてぃー。
bc1f83664f fix(sw): Service Worker Auto Preloadをオプトアウトするように (#16971)
* Service Worker Auto Preloadをオプトアウトするように

* TypeErrorを修正

* コメントを追記
2025-12-12 17:08:15 +09:00
anatawa12
78435dc8d4 Fix: deckのタイムラインセレクタのデフォルトの値が現在のタイムラインではない問題 (#16008)
* fix: os.selectの型定義の上で default が文字列である問題を修正

* fix: deckのタイムライン選択画面で今指定されているタイムラインがデフォルトで選択されない問題

* fix lint

* fix: type error
2025-12-12 12:53:59 +09:00
かっこかり
d74aded35f fix: remove unused dependencies (#16969)
* fix(frontend): remove unused dependencies

* fix(backend): remove unused dependencies
2025-12-12 10:45:45 +09:00
FINEARCHS
d605680524 fix(frontend): オーナー不在のチャンネルをミュートできないのを修正 (#16906)
* オーナー不在のチャンネルをミュートできないのを修正

* update changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-11 23:15:57 +09:00
かっこかり
1096ce8e4a fix(frontend): 削除されたノートのリノートが正しく表示されない問題を修正 (#16970)
* fix(frontend): 削除されたノートのリノートが正しく表示されない問題を修正

* Update Changelog

* 🎨

* fix
2025-12-11 23:10:23 +09:00
syuilo
8e6fffee68 enhance: use native glob (#16965)
* enhance: use native glob

* remove tiny-glob

* remove fast-glob

* refactor

* fix: use async glob if possible

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-11 23:08:26 +09:00
まっちゃてぃー。
2cffd9f0fb fix(sw): オフライン時のfetch timeout処理を実装 (#16952)
* fix(sw): implement fetch timeout handling for navigation and offline content

* fix(sw): increase fetch timeout

* fix(sw): improve fetch timeout handling for i18n content

* fix(sw): 結局、fetchを通るかCacheがhitするはずなので、i18nのところはいらない

* fix(sw): 400番台のエラーを無条件でオフラインページにしていたのを修正

* 間違えた

* i18nもtimeoutが必要

* import sortingを修正

* import sortingを修正

* Fix: Frontend のsharedにはアクセスできないじゃん...

* SPDX

* Update CHANGELOG.md

* Update packages/sw/src/scripts/lang.ts

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

* Update packages/sw/src/sw.ts

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-10 17:26:30 +09:00
syuilo
988f5ab69f fix(backend): ジョブキューでSentryが有効にならない問題を修正 2025-12-08 15:44:37 +09:00
かっこかり
3afe7c5348 Update CHANGELOG.md [ci skip] 2025-12-08 10:20:07 +09:00
かっこかり
73cc30f50f fix(frontend): ロード時の言語判定結果が保存されない問題を修正 (#16956)
* fix(frontend): ロード時の言語判定結果が保存されない問題を修正

* Update Changelog
2025-12-08 10:17:13 +09:00
github-actions[bot]
da3b3af984 [skip ci] Update CHANGELOG.md (prepend template) 2025-12-06 12:23:00 +00:00
misskey-release-bot[bot]
e40c84f31d Merge pull request #16916 from misskey-dev/develop
Release: 2025.12.0
2025-12-06 12:22:58 +00:00
github-actions[bot]
3273ca7512 Release: 2025.12.0 2025-12-06 12:22:55 +00:00
syuilo
b67bfe0763 Update CHANGELOG.md
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-06 21:03:06 +09:00
かっこかり
63d2870755 fix(backend): fix tests (#16947)
* fix(backend): shouldHideNoteByTimeのロジックの誤りを修正

* fix tests
2025-12-06 19:32:13 +09:00
syuilo
61f9c148f0 🎨 2025-12-06 18:46:13 +09:00
syuilo
8927a9e98a Update CHANGELOG.md 2025-12-06 18:27:57 +09:00
おさむのひと
dc77d59f87 Merge commit from fork 2025-12-06 18:25:20 +09:00
github-actions[bot]
2d0dae236f Bump version to 2025.12.0-beta.0 2025-12-06 08:41:10 +00:00
syuilo
a1f0ca4b8f use node 22.15.0 by default
#16944
2025-12-06 17:39:17 +09:00
syuilo
2a996287e3 update pnpm to 10.24.0 2025-12-06 16:44:23 +09:00
renovate[bot]
65dd917bfb fix(deps): update [backend] update dependencies [ci skip] (#16941)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 23:55:00 +09:00
renovate[bot]
b0bffd3842 fix(deps): update [frontend] update dependencies [ci skip] (#16942)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 23:10:04 +09:00
renovate[bot]
4ee6f90ab2 chore(deps): update [tools] update dependencies to v4.0.14 [ci skip] (#16940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 21:31:04 +09:00
renovate[bot]
50379e52db fix(deps): update dependency nodemailer to v7.0.11 [security] [ci skip] (#16919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-05 20:57:47 +09:00
renovate[bot]
6bb29ab5c3 fix(deps): update dependency @sentry/node to v10.27.0 [security] [ci skip] (#16860)
* fix(deps): update dependency @sentry/node to v10.27.0 [security]

* fix

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-05 20:42:36 +09:00
syuilo
fc1e2229e5 fix(frontend): stacking router viewで連続して戻る操作を行うと何も表示されなくなる問題を修正 2025-12-04 19:03:41 +09:00
syuilo
daf2a57b3c Revert "fix(frontend): stacking router viewで連続して戻る操作を行うと何も表示されなくなる問題を修正"
This reverts commit a3c3052d0f.
2025-12-04 19:01:45 +09:00
renovate[bot]
6716950d7f fix(deps): update dependency body-parser to v2.2.1 [security] (#16899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 17:39:33 +09:00
github-actions[bot]
29a0750eef Bump version to 2025.12.0-alpha.2 2025-12-04 07:51:39 +00:00
syuilo
24bd150967 refactor(backend): 変換後.config.jsonに統一するように+修正など (#16929)
* wip

* Update config.ts

* wip

* convertは元ファイルを変更するようなニュアンスを若干感じるのでcompileに改名

* wip

* Update package.json

* Revert "Update package.json"

This reverts commit e5c2802316.

* wip

* wip

* 謎

* clean up

* wip

* wip

* Revert "wip"

This reverts commit 3aa25ac7cf.

* wip

* wip

* Update dummy.yml

* wip

* Update compile_config.js

* Update compile_config.js

* wip

* Revert "wip"

This reverts commit fd78e097c6.

* Update dummy.yml

* Update compile_config.js
2025-12-04 16:49:25 +09:00
syuilo
a3c3052d0f fix(frontend): stacking router viewで連続して戻る操作を行うと何も表示されなくなる問題を修正 2025-12-04 15:19:15 +09:00
かっこかり
a6f57d99f9 fix(gh): fix federation test (#16936) 2025-12-04 13:36:30 +09:00
syuilo
55ef4c5faa tweak convert_config 2025-12-03 18:20:41 +09:00
syuilo
6293a57de8 fix action 2025-12-03 18:10:08 +09:00
Kagami Sascha Rosylight
5512898463 Merge commit from fork
* Change trustProxy default value to false

* Update trustProxy default value in example.yml

* Update trustProxy default description in example.yml
2025-12-03 16:08:45 +09:00
Copilot
0b77dc8c48 Add backend memory usage comparison action for PRs (#16926)
* Initial plan

* Add backend memory usage comparison action

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Fix deprecated serverProcess.killed usage

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Add explicit permissions to save-pr-number job

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Change PR comment text from Japanese to English

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Inline memory measurement script to fix base ref compatibility

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Revert "Inline memory measurement script to fix base ref compatibility"

This reverts commit 6f76a121ef.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-03 16:02:49 +09:00
syuilo
9900b3492a add DeepWiki badge to enable auto-refresh 2025-12-03 12:02:18 +09:00
github-actions[bot]
d9c9b95fc0 Bump version to 2025.12.0-alpha.1 2025-12-03 00:15:47 +00:00
syuilo
613900598a New Crowdin updates (#16911)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)
2025-12-03 09:01:19 +09:00
おさむのひと
1facca1ac5 enhance(backend): 起動前にconfigをjson化 (#16923)
* enhance(backend): 起動前にconfigをjson化

* fix

* fix

* fix

* fix

* fix

* fix CHANGELOG.md

* fix

* Update CHANGELOG.md

* get original
2025-12-03 09:00:37 +09:00
かっこかり
8d66cc006a Update CHANGELOG.md 2025-12-01 19:04:21 +09:00
github-actions[bot]
72cdaff810 Bump version to 2025.12.0-alpha.0 2025-12-01 09:58:16 +00:00
かっこかり
7b9e83a6b8 enhance(backend): バックエンドで言語リストのみを参照するように (#16915) 2025-12-01 18:51:36 +09:00
github-actions[bot]
483483bc44 Bump version to 2025.11.2-alpha.4 2025-12-01 09:37:48 +00:00
かっこかり
f222d7e24d enhance(backend): pugをやめ、JSXベースのテンプレートに変更 (#16908)
* enhance(backend): pugをやめ、JSXベースのテンプレートに変更 (to misskey-dev dev branch) (#16889)

* wip

* wip

* wip

* wip

* fix lint

* attempt to fix test

* fix

* fix

* fix: oauthページの描画がおかしい問題を修正

* typo [ci skip]

* fix

* fix

* fix

* fix

* fix

* refactor

* fix

* fix

* fix broken lockfile

* fix: expose supported languages as global variable

* remove i18n package from root as it is no longer required [ci skip]

* fix

* fix: add i18n package.json to Docker target-builder stage for federation tests (#16909)

* Initial plan

* fix: add i18n package.json to Docker target-builder stage for federation tests

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix: followup-test-federation for enh-remove-pug (#16910)

* fix: followup-test-federation for enh-remove-pug

* Revert "fix: add i18n package.json to Docker target-builder stage for federation tests (#16909)"

This reverts commit 14313468d3.

* fix: CSSが読み込まれない場合がある問題を修正

* fix [ci skip]

* fix: propsのデフォルト値をnull合体演算子から論理和演算子に変更(空文字に対処するため)

* remove @types/pug

* enhance: bootloaderを埋め込むように

* fix possible race condition

* remove esbuild

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2025-12-01 18:36:55 +09:00
syuilo
e1b6e9d4b6 fix(frontend): visibilityStateがhiddenな状態でstartViewTransitionしないように 2025-12-01 08:21:30 +09:00
renovate[bot]
128fe6d644 chore(deps): update [misskey-js] update dependencies [ci skip] (#16900)
* chore(deps): update [misskey-js] update dependencies

* run pnpm dedupe

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-30 22:09:10 +09:00
github-actions[bot]
aa905a74cf Bump version to 2025.11.2-alpha.3 2025-11-30 09:49:21 +00:00
syuilo
5e2a6021ae perf(backend): use node-html-parser instead of microformats-parser (#16907)
* perf(backend): use node-html-parser instead of microformats-parser

microformats-parser は内部的に parse5 に依存していて無駄

* Update OAuth2ProviderService.ts

* Add 'id' parameter to parseMicroformats function

* Update OAuth2ProviderService.ts

* Update OAuth2ProviderService.ts
2025-11-30 18:45:56 +09:00
syuilo
dfd479bec5 perf(backend): lazy load summaly 2025-11-30 16:17:34 +09:00
github-actions[bot]
0933aa4d92 Bump version to 2025.11.2-alpha.2 2025-11-30 05:53:54 +00:00
renovate[bot]
fbd11c1eec chore(deps): update [root] update dependencies (#16902)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 14:19:23 +09:00
renovate[bot]
768e1dd016 chore(deps): update [tools] update dependencies [ci skip] (#16903)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 14:16:57 +09:00
syuilo
d55f51a69b perf(backend): lazy load sentry 2025-11-30 14:04:41 +09:00
おさむのひと
fe01a5a28f refactor: localesをworkspace管理下のパッケージに (#16895)
* refactor: localesをworkspace管理下のパッケージに

* fix copilot review

* move

* move

* rename

* fix ci

* revert unwanted indent changes

* fix

* fix

* fix

* fix

* 間違えてコミットしていたのを戻す

* 不要

* 追加漏れ

* ymlの場所だけ戻す

* localesの位置を戻したのでこの差分は不要

* 内容的にlocalesにある方が正しい

* i18nパッケージ用のREADME.mdを用意

* fix locale.yml

* fix locale.yml

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-30 13:27:44 +09:00
renovate[bot]
32b5583432 fix(deps): update [frontend] update dependencies [ci skip] (#16901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 11:38:11 +09:00
renovate[bot]
5fbe801d35 fix(deps): update [frontend] update dependencies (major) [ci skip] (#16866)
* fix(deps): update [frontend] update dependencies

* attempt to fix test

* rollback twemoji parser to v16 [ci skip]

* fix [ci skip]

* rollback twemoji parser to v16

* attempt to fix test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-30 11:14:34 +09:00
github-actions[bot]
3c11797c6d Bump version to 2025.11.2-alpha.1 2025-11-30 01:02:00 +00:00
syuilo
10242d5f14 New Crowdin updates (#16877)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)
2025-11-30 10:00:28 +09:00
renovate[bot]
0455187a68 fix(deps): update [backend] update dependencies (major) (#16099)
* fix(deps): update [backend] update dependencies

* update approve builds

* update minimum node version for testing

* remove types/bcryptjs

* fix(backend): remove removed type previously exported from file-type

* migrate webauthnservice

* Update Changelog

* update deps (MisskeyIO#889)

- メンテナンスされないredis-lockを自前実装に変更
- 既にロックされている場合のリトライ間隔を調整

* use main redis for lock

* spdx

* tweak max retries

* [ci skip] dedupe

* attempt to fix test

* attempt to fix test

* Revert "attempt to fix test"

This reverts commit c508318627.

* temporarily roll back simonjs/fake-timers to v11.3.1

* Revert "temporarily roll back simonjs/fake-timers to v11.3.1"

This reverts commit 54f1fc3d79.

* migrate sinonjs/fake-timers

* update deps / migrate jest 30

* fix test

* fix: update node.js min version to 20.18.1

* fix: rollback nsfwjs to 4.2.0

* fix

* attempt to fix test

* attempt to fix test

* attempt to fix test

* attempt to fix test

* revert jest 30 related changes

* update deps

* fix test

* fix: rollback nsfwjs to 4.2.0

* fix: rollback sharp to 0.33

* update deps

* fix: rollback sharp-read-bmp to 1.2.0

* fix: rollback nsfwjs to 4.2.0

* recreate lockfile

* update deps

* fix: rollback sharp-read-bmp to 1.2.0

* fix: rollback jsdom, parse5

* fix: rollback jsdom types

* fix [ci skip]

* run pnpm dedupe

* update deps

* run pnpm dedupe [ci skip]

* Update Changelog [ci skip]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-30 09:58:06 +09:00
github-actions[bot]
1ae8e7900d Bump version to 2025.11.2-alpha.0 2025-11-29 13:06:20 +00:00
syuilo
81635d9f1c chore(backend): remove jsdom completely (#16893)
* wip

* Update utils.ts

* Update fetch-resource.ts

* Update exports.ts

* Update oauth.ts
2025-11-29 21:55:13 +09:00
syuilo
4bdbe794a6 perf(backend): parse5をやめて軽量な実装にし、メモリ削減・高速化 (#16892)
* wip

* test

* Revert "test"

This reverts commit b7c5ae7214.

* Update MfmService.ts
2025-11-29 21:19:55 +09:00
syuilo
cad93071da Revert "chore(backend): remove jsdom"
This reverts commit 2effd9da6e.
2025-11-29 20:11:38 +09:00
syuilo
2effd9da6e chore(backend): remove jsdom 2025-11-29 19:55:52 +09:00
syuilo
2732034447 perf(backend): jsdom、happy-domをやめて軽量な実装にし、メモリ削減・高速化 (#16885)
* wip

* Update packages/backend/src/server/api/endpoints/i/update.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/FetchInstanceMetadataService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove some packages

* コミット漏れ

* clean up

* fix

* Update MfmService.ts

* fix

* fix

* Update MfmService.ts

* wip

* rename

* Update packages/backend/src/core/MfmService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/MfmService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/MfmService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/MfmService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/activitypub/ApRendererService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/MfmService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/MfmService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update MfmService.ts

* Update CHANGELOG.md

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-29 19:16:05 +09:00
github-actions[bot]
17a4d4fad9 [skip ci] Update CHANGELOG.md (prepend template) 2025-11-28 10:04:12 +00:00
misskey-release-bot[bot]
994fc062cf Merge pull request #16840 from misskey-dev/develop
Release: 2025.11.1
2025-11-28 10:04:09 +00:00
github-actions[bot]
f01ceb0b7c Release: 2025.11.1 2025-11-28 10:04:05 +00:00
syuilo
0b3efa47a2 Update CHANGELOG.md 2025-11-28 17:06:29 +09:00
Copilot
e44f14115e enhance(backend): Improve error handling for scheduled post validation (#16642)
* Initial plan

* Add error definitions and handling for scheduling validation errors

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* ✌️

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-28 17:06:04 +09:00
かっこかり
bcd9e106e3 fix(deps): fix broken lockfile (#16880) 2025-11-28 16:55:43 +09:00
renovate[bot]
82b577a2f4 chore(deps): update dependency glob to v13 [ci skip] (#16864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-28 16:53:08 +09:00
renovate[bot]
8d8504103c fix(deps): update dependency glob to v13 (#16870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 18:48:55 +09:00
github-actions[bot]
7a8c4817a8 Bump version to 2025.11.1-beta.3 2025-11-27 09:48:35 +00:00
かっこかり
825dcf7e3e Update CHANGELOG.md [ci skip] 2025-11-27 18:47:44 +09:00
syuilo
53e2be747d New Crowdin updates (#16846)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)
2025-11-27 18:43:16 +09:00
かっこかり
f10496645c fix(frontend/aiscript): 各種関数の引数で明示的にnullが指定されている場合のハンドリングを修正 (#16838)
* fix(frontend/aiscript): MkDialogのtitle, textでnull値を許容するように

* fix

* update aiscript and use new api

* fix

* fix
2025-11-27 18:43:00 +09:00
かっこかり
666e046399 Revert "fix(backend): clips/my-favorites APIをページネーションに対応させる (#16835)" (#16874)
* Revert "fix(backend): `clips/my-favorites` APIをページネーションに対応させる (#16835)"

This reverts commit 70fa621e22.

* fix
2025-11-27 18:40:54 +09:00
renovate[bot]
f13a34bda4 fix(deps): update dependency js-yaml to v4.1.1 [security] [ci skip] (#16788)
* fix(deps): update dependency js-yaml to v4.1.1 [security]

* ✌️ [ci skip]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-27 16:24:01 +09:00
renovate[bot]
643fd0f22a fix(deps): update [backend] update dependencies [ci skip] (#16867)
* fix(deps): update [backend] update dependencies

* fix(deps): update [backend] update dependencies

* bump sentry node to fix type errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-27 13:48:08 +09:00
github-actions[bot]
d3aba01db2 Bump version to 2025.11.1-beta.2 2025-11-27 04:22:23 +00:00
syuilo
8fec44d0e9 refactor
Fix #16872
2025-11-27 13:00:11 +09:00
renovate[bot]
105cc4b50a fix(deps): update [frontend] update dependencies [ci skip] (#16868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 21:40:24 +09:00
syuilo
1590a73d3d perf(backend): 必要になるまでnsfwjsを読み込まないように 2025-11-26 20:40:20 +09:00
renovate[bot]
18caa20969 fix(deps): update dependency glob to v11.1.0 [security] [ci skip] (#16861)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 20:35:29 +09:00
syuilo
1bb8447c73 enhance(frontend): Change default animatedMfm based on reduced motion preference
3f539916d9 (commitcomment-171408344)
2025-11-26 20:17:59 +09:00
github-actions[bot]
df54bd92d0 Bump version to 2025.11.1-beta.1 2025-11-26 10:45:40 +00:00
syuilo
8cb37792c9 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-11-26 19:39:46 +09:00
syuilo
3f539916d9 enhance(frontend): GIF画像を再生するか・動くMFMを表示するかの設定でOSのアクセシビリティ設定を参照しないように
・OSのUIのアニメーション設定がMisskey内のGIFなどにまで連動して適用されるのは分かりにくい・期待しない動作との声が多いため
・動きのあるカスタム絵文字などのコンテンツはMisskeyの主要部分であり、それを止める設定は、本来の挙動に影響しない範囲でアニメーションを減らすアクセシビリティ設定とは趣旨が異なるため(OSでアニメーションを減らす設定を有効にしたからといってOSで動画の再生がされなくなるわけではないのと同じ)
2025-11-26 19:39:36 +09:00
renovate[bot]
415339b30b chore(deps): update [misskey-js] update dependencies [ci skip] (#16863)
* chore(deps): update [misskey-js] update dependencies

* update deps

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-26 19:37:20 +09:00
syuilo
de7cbb376e fix(frontend): 初回読み込み時にエラーになることがある問題を修正
Fix #16562
2025-11-26 19:26:27 +09:00
syuilo
6cb6f794e5 clean up 2025-11-26 19:14:40 +09:00
syuilo
236c235115 enhance(frontend): viewportの属性を起動後に変化させないことにより処理を簡略化+安定性向上 2025-11-26 19:12:03 +09:00
renovate[bot]
71808d3cc0 chore(deps): update [tools] update dependencies [ci skip] (#16865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 19:00:05 +09:00
renovate[bot]
989c1b351a fix(deps): update [root] update dependencies [ci skip] (#16862)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 18:59:34 +09:00
かっこかり
0c5f61721a fix(frontend): フォロー申請のキャンセル時に確認ダイアログを出すように (#16834)
* fix(frontend): フォロー申請のキャンセル時に確認ダイアログを出すように

* Update Changelog

* fix: 注釈は書かない
2025-11-26 13:07:28 +09:00
github-actions[bot]
e0e17a78f1 Bump version to 2025.11.1-beta.0 2025-11-26 01:01:54 +00:00
syuilo
2ad393ea45 fix(backend): ワードミュートの文字数計算を修正 2025-11-26 09:55:02 +09:00
syuilo
cdf059cc11 chore(dev): use postgresql 18 (#16850) 2025-11-25 19:38:57 +09:00
renovate[bot]
0fdd88f38e fix(deps): update [frontend] update dependencies [ci skip] (#16802)
* fix(deps): update [frontend] update dependencies

* run pnpm dedupe

* [ci skip] run dedupe

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-25 10:45:36 +09:00
github-actions[bot]
4679b2b34d Bump version to 2025.11.1-alpha.2 2025-11-25 01:33:05 +00:00
syuilo
052b1a6c76 Update CHANGELOG.md 2025-11-25 10:27:53 +09:00
syuilo
fd15a7fc23 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-11-25 10:20:46 +09:00
syuilo
b895088546 🎨 2025-11-25 10:20:36 +09:00
renovate[bot]
1e5592a5bd fix(deps): update [backend] update dependencies [ci skip] (#16801)
* fix(deps): update [backend] update dependencies

* fix types

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-25 10:20:06 +09:00
syuilo
c3ad46ad6f fix(frontend): ナビゲーションバーを下に表示しているときに、項目数が多いと表示が崩れる問題を修正 2025-11-25 09:46:07 +09:00
syuilo
8c7e1bd287 chore(backend): tweak message 2025-11-25 09:26:22 +09:00
かっこかり
043b9b3d26 fix(frontend): MkRadiosのslotでv-ifを使用すると空白のoptionが生成される問題を修正 (#16832)
* fix: MkRadiosのslotでv-ifを使用すると空白のoptionが生成される問題を修正 (MisskeyIO#1105)

* Update Changelog

* Update CHANGELOG.md

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-25 08:56:30 +09:00
かっこかり
91dafc26a7 refactor(frontend/aiscript): AiScriptバージョン取得・判定ロジックを統一 (#16845)
* refactor(frontend): AiScriptバージョン取得・判定ロジックを統一

* fix
2025-11-25 07:23:21 +09:00
github-actions[bot]
4edd6a68e6 Bump version to 2025.11.1-alpha.1 2025-11-24 12:06:01 +00:00
かっこかり
f801d1cf0b fix(backend): DBレプリケーションを利用する環境でクエリーが失敗する問題を修正 (#16842)
* fix: DBレプリケーションを利用する環境でクエリーが失敗する問題を修正 (MisskeyIO#1123)

* Update Changelog

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-24 20:59:25 +09:00
かっこかり
42706970f2 fix(frontend): PlayのAiScriptバージョン判定が正しく動作しない問題を修正 (#16843)
* fix: aiscript 1.0.0 以外が全部レガシー扱いになる問題を修正 (MisskeyIO#1129)

* Update Changelog

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-24 20:53:39 +09:00
syuilo
14730e429a New Crowdin updates (#16797)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)
2025-11-24 17:40:29 +09:00
かっこかり
2ee04860fb enhance(frontend): preferenceのタブ間同期にBroadcast Channelを使用するように (#16819)
* enhance(frontend): preferenceのタブ間同期にBroadcast Channelを使用するように

* fix

* refactor: EventEmitterをextendする形に変更
2025-11-24 16:52:46 +09:00
github-actions[bot]
25afb5d279 Bump version to 2025.11.1-alpha.0 2025-11-24 03:05:55 +00:00
かっこかり
c4f53aba3f fix(frontend): 一部のシチュエーションで投稿フォームのツアーが表示されない問題を修正 (#16837)
* fix(frontend): 一部のシチュエーションで投稿フォームのツアーが表示されない問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-24 11:18:01 +09:00
かっこかり
86e4f15e95 fix(frontend): リセットボタンでCWがリセットされない問題を修正 (#16820)
* fix(frontend): リセットボタンでCWがリセットされない問題を修正

* update changelog
2025-11-24 11:13:36 +09:00
かっこかり
6c190e7a5d fix(backend): チャンネルのリアルタイム更新で非ログイン時非表示設定が考慮されていない問題を修正 (#16833)
* fix(backend): チャンネルのリアルタイム更新でロックダウン設定が考慮されていない問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-24 11:11:59 +09:00
zyoshoka
1b46813e7a chore(dev): correct entrypoint path for embed on dev build (#16836) 2025-11-24 11:08:44 +09:00
syuilo
0ea0e05e61 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-11-24 11:01:19 +09:00
syuilo
015e680133 chore(backend/dev): remove cli-highlight dependency to reduce memory usage 2025-11-24 11:01:00 +09:00
かっこかり
ea40a0756f fix(backend): DeepL翻訳のAPIキー指定方式変更に対応 (#16839)
* spec: DeepL Deprecation of query parameter and request body authentication (MisskeyIO#1096)

https://developers.deepl.com/docs/resources/breaking-changes-change-notices/november-2025-deprecation-of-legacy-auth-methods

* Update Changelog

* Update Changelog

* ✌️ [ci skip]

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-24 10:59:50 +09:00
かっこかり
70fa621e22 fix(backend): clips/my-favorites APIをページネーションに対応させる (#16835)
* fix(backend): `clips/my-favorites` APIをページネーションに対応させる

* fix

* fix test

* fix
2025-11-23 22:41:14 +09:00
syuilo
c741aa5d7d chore(dev): add start:inspect command for debugging 2025-11-21 10:04:16 +09:00
かっこかり
7afe0d44d1 fix(frontend): pageheaderの型を修正 (#16803) 2025-11-20 15:40:52 +09:00
果物リン
e588615ea9 fix: ヘッダーメニューのチャンネルからチャンネルを新規作成の遷移先修正 (#16816)
* fix: ヘッダーメニューのチャンネルからチャンネルを新規作成の遷移先修正

* add changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-20 15:39:50 +09:00
かっこかり
7e56fed164 fix(frontend): ページのコンテンツがはみ出る問題を修正 (#16817)
* fix(frontend): ページのコンテンツがはみ出る問題を修正

* Update Changelog
2025-11-20 15:38:25 +09:00
kami8
9f810d701d enhance(frontend): リアクションの受け入れ設定にキャプションを追加 (#16807)
* enhance(frontend): リアクションの受け入れ設定にキャプションを追加

* Update Changelog

* CHANGELOG.mdを修正

* CHANGELOG.mdのコンフリクトを解消し、再度変更内容を記載

* 条件分岐をswitch文に変更

* chore: trigger CI re-run
2025-11-19 19:17:43 +09:00
おさむのひと
2f3421645a fix(devcontainer): devcontainerのバージョンアップ+Renovateでbump出来るように設定を追加 (#16793)
* fix(devcontainer): devcontainerのバージョンアップ+Renovateでbump出来るように設定を追加

* Update renovate.json5

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update renovate.json5

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix matchFileNames

* using trixie

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-19 12:34:27 +09:00
syuilo
4c0f215fc5 refactor 2025-11-18 16:23:57 +09:00
github-actions[bot]
449b00c934 [skip ci] Update CHANGELOG.md (prepend template) 2025-11-16 08:23:49 +00:00
misskey-release-bot[bot]
e7681f6c79 Merge pull request #16759 from misskey-dev/develop
Release: 2025.11.0
2025-11-16 08:23:46 +00:00
github-actions[bot]
cdcff3ede8 Release: 2025.11.0 2025-11-16 08:23:43 +00:00
syuilo
9d1c3f053c New Crowdin updates (#16781)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)
2025-11-16 09:12:02 +09:00
github-actions[bot]
8c5d571975 Bump version to 2025.11.0-rc.0 2025-11-15 12:20:55 +00:00
おさむのひと
c5e9f7add4 fix(ci): DockleのCIが落ちるのを修正 (#16794)
* fix(ci): DockleのCIが落ちるのを修正

* fix

* fix

* fix

* fix

* fix

* downgrade dockle

* fix
2025-11-15 21:04:45 +09:00
おさむのひと
e15fdd05b7 fix(frontend): カスタム絵文字(β)画面で変更行が正しくハイライトされない問題を修正 (#16785)
* fix(frontend): カスタム絵文字(β)画面で変更行が正しくハイライトされない問題を修正

* rollback

* 詳細度->!important
2025-11-15 12:13:50 +09:00
おさむのひと
41e945b0ef fix(frontend): 投稿フォームのアバター画像が縮むのを修正 (#16790)
* fix(frontend): 投稿フォームのアバター画像が縮むのを修正

* fix CHANGELOG.md

* fix
2025-11-15 11:33:37 +09:00
syuilo
f89faae0ab chore(frontend): add tip for preference restore 2025-11-13 14:11:38 +09:00
github-actions[bot]
67ca3d7e71 Bump version to 2025.11.0-beta.0 2025-11-12 10:51:11 +00:00
claustra01
2ac2e9e849 チャンネルの説明欄の最小文字数制約を除去する (#16782)
* chore: channelのdescriptionを空欄にできるようにする

* update: CHANGELOG.md

* update: CHANGELOG.md

* fix: CHANGELOG.md

* fix: CHANGELOG.md
2025-11-12 18:16:05 +09:00
claustra01
746269c4b1 RoleService.testがPostgreSQLのdeadlockでrandom failする問題を修正 (#16784)
* fix: 並列deleteによるpostgresqlのdeadlock

* chore: update comment
2025-11-12 18:15:08 +09:00
syuilo
c059256bd6 Update ROADMAP with completed tasks 2025-11-11 09:30:13 +09:00
github-actions[bot]
2e17979abc Bump version to 2025.11.0-alpha.4 2025-11-10 10:08:33 +00:00
syuilo
c2d95ebdcb New Crowdin updates (#16711)
* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* 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 (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Kabyle)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)
2025-11-10 19:06:39 +09:00
かっこかり
cb5de83bad Update lint.yml 2025-11-10 18:46:13 +09:00
syuilo
30d87d5532 Update lint.yml
https://github.com/misskey-dev/misskey/issues/16255
2025-11-10 18:43:03 +09:00
かっこかり
5c212c996a enhance(frontend): アンテナ・リストの設定画面・タイムラインの動線を改善 (#16739)
* enhance(frontend): アンテナ・リストの設定画面からタイムラインへの動線を追加

* Update Changelog

* fix
2025-11-10 17:22:13 +09:00
かっこかり
39e01b1dfe refactor(frontend): フロントエンドの型エラー解消 (#16779) 2025-11-10 16:52:42 +09:00
かっこかり
fd2fe34270 refactor8frontend9: anyを除去 (#16778) 2025-11-10 15:33:54 +09:00
syuilo
73bcd330f7 fix(backend): improve isFederationAllowedHost 2025-11-10 14:09:15 +09:00
syuilo
23d2d191a0 chore(frontend): アニメーション画像設定をパフォーマンスセクションにも追加 2025-11-10 13:23:23 +09:00
おさむのひと
ca1bf21dcf chore: RoleServiceのunit-test追加 (#16777) 2025-11-10 10:31:49 +09:00
syuilo
1ffc53f596 use esnext to avoid type error 2025-11-09 19:49:27 +09:00
syuilo
4e38f218ec fix type 2025-11-09 19:44:07 +09:00
syuilo
a0d34940ff fix type 2025-11-09 19:43:19 +09:00
syuilo
bdddd623b6 🎨 2025-11-09 19:31:41 +09:00
かっこかり
29bfc9a91a fix(frontend): postform tourをスキップできるように (#16767)
* fix(frontend): postform tourをスキップできるように

* use closable option
2025-11-09 16:23:58 +09:00
かっこかり
2e596607f8 Update CHANGELOG.md [ci skip] 2025-11-08 19:20:45 +09:00
renovate[bot]
cf89280fc5 fix(deps): update dependency vite to v7.1.11 [security] (#16678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 19:19:58 +09:00
かっこかり
c0f4c47c53 fix(misskey-js): misskey-js autogen が動作しない問題を修正 (#16773)
* fix(misskey-js): misskey-js autogen が動作しない問題を修正

* rollback eslint-plugin to eliminate unwanted side-effects
2025-11-08 18:45:54 +09:00
renovate[bot]
58995e6b97 fix(deps): update [backend] update dependencies (#16771)
* fix(deps): update [backend] update dependencies

* run pnpm dedupe [ci skip]

* run pnpm dedupe [ci skip]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-08 17:53:12 +09:00
renovate[bot]
d00ca499a3 chore(deps): update [misskey-js] update dependencies [ci skip] (#16768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 17:49:05 +09:00
かっこかり
ec1120bdaa fix(deps): update @typescript-eslint/* dependencies [ci skip] (#16772)
* fix(deps): update `@typescript-eslint/*` dependencies

* fix lint
2025-11-08 17:30:58 +09:00
renovate[bot]
3a65728fb4 fix(deps): update [frontend] update dependencies [ci skip] (#16769)
* fix(deps): update [frontend] update dependencies

* run ci

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-08 16:22:38 +09:00
renovate[bot]
e4c03b9f4e fix(deps): update dependency tar to v7.5.2 [security] [ci skip] (#16728)
* fix(deps): update dependency tar to v7.5.2 [security]

* regenerate lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-08 16:17:53 +09:00
renovate[bot]
b82533c4b8 fix(deps): update [root] update dependencies [ci skip] (#16770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 16:14:17 +09:00
syuilo
ef1cdca6f9 refactor(frontend): specify global object 2025-11-07 20:20:13 +09:00
Copilot
46d30f454b Fix postMessage type error in Web Worker files by adding triple-slash directives (#16761)
* Initial plan

* Add triple-slash directives to worker files to fix postMessage type error

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-07 20:18:33 +09:00
syuilo
b300b5b94a fix type 2025-11-07 13:56:41 +09:00
github-actions[bot]
39d6aecc57 Bump version to 2025.11.0-alpha.3 2025-11-07 04:27:23 +00:00
syuilo
edbe30a3df fix tuype 2025-11-07 13:02:46 +09:00
syuilo
ad4751918b fix type 2025-11-07 12:56:28 +09:00
syuilo
bd9041bd8f fix type 2025-11-07 12:55:01 +09:00
syuilo
4dcff123df fix type 2025-11-07 12:53:28 +09:00
syuilo
990be44d98 fix type 2025-11-07 12:45:47 +09:00
syuilo
78d65ef3dd fix type 2025-11-07 12:39:25 +09:00
果物リン
0a67d6f1a0 fix(frontend): 一部のページでもっと見るが自動で行われないバグの修正 (#16754)
* 一部のページでもっと見るが自動で行われないバグの修正

* fix(frontend): MkPagination で UI アニメーションオフ時に自動ロードが動作しない問題を修正

Transition コンポーネントの mode="out-in" が、アニメーション無効時でも
適用されており、IntersectionObserver の検出に干渉していた問題を修正。
アニメーション有効時のみ mode="out-in" を適用するように変更。

Co-authored-by: 果物リン <fruitriin@users.noreply.github.com>

* enhance: ユーザーの設定値にかかわらず無限スクロールをオフにできるオプションを追加

* Update Changelog

* MkNotesTimeline.vueにforceDisableInfiniteScrollを追加、 note.vueの前方向の読み込みでこれを有効

* fix lint

* refactor

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: 果物リン <fruitriin@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-07 11:27:08 +09:00
syuilo
e312283ea0 enhance(frontend): 投稿フォームのヒントを追加 (#16712)
* wip

* wip

* Update MkSpot.vue

* Update MkPostForm.vue

* wip

* wip

* Update CHANGELOG.md
2025-11-07 11:03:33 +09:00
syuilo
e8c78e12d5 Update package.json 2025-11-07 11:03:23 +09:00
github-actions[bot]
37fe7a9634 Bump version to 2025.11.0-alpha.2 2025-11-06 23:43:26 +00:00
おさむのひと
729abbef62 feat: チャンネルミュートの実装 (#14105)
* add channel_muting table and entities

* add channel_muting services

* タイムライン取得処理への組み込み

* misskey-jsの型とインターフェース生成

* Channelスキーマにミュート情報を追加

* フロントエンドの実装

* 条件が逆だったのを修正

* 期限切れミュートを掃除する機能を実装

* TLの抽出条件調節

* 名前の変更と変更不要の差分をロールバック

* 修正漏れ

* isChannelRelatedの条件に誤りがあった

* [wip] テスト追加

* テストの追加と検出した不備の修正

* fix test

* fix CHANGELOG.md

* 通常はFTTにしておく

* 実装忘れ対応

* fix merge

* fix merge

* add channel tl test

* fix CHANGELOG.md

* remove unused import

* fix lint

* fix test

* fix favorite -> favorited

* exclude -> include

* fix CHANGELOG.md

* fix CHANGELOG.md

* maintenance

* fix CHANGELOG.md

* fix

* fix ci

* regenerate

* fix

* Revert "fix"

This reverts commit 699d50c6ec.

* fixed

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-07 08:39:21 +09:00
github-actions[bot]
e74ab35de3 Bump version to 2025.11.0-alpha.1 2025-11-06 11:33:32 +00:00
syuilo
4ba18690d7 feat(frontend): EXIFフレーム機能 (#16725)
* wip

* wip

* Update ImageEffector.ts

* Update image-label-renderer.ts

* Update image-label-renderer.ts

* wip

* Update image-label-renderer.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update use-uploader.ts

* Update watermark.ts

* wip

* wu

* wip

* Update image-frame-renderer.ts

* wip

* wip

* Update image-frame-renderer.ts

* Create ImageCompositor.ts

* Update ImageCompositor.ts

* wip

* wip

* Update ImageEffector.ts

* wip

* Update use-uploader.ts

* wip

* wip

* wip

* wip

* Update fxs.ts

* wip

* wip

* wip

* Update CHANGELOG.md

* wip

* wip

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageFrameEditorDialog.vue

* Update use-uploader.ts

* improve error handling

* Update use-uploader.ts

* 🎨

* wip

* wip

* lazy load

* lazy load

* wip

* wip

* wip
2025-11-06 20:25:17 +09:00
syuilo
26c8914a26 fix(frontend): improve startViewTransition handling 2025-11-06 18:07:03 +09:00
Souma
119423e3ae enhance(frontend): Extend links to profile pages (#16417)
* feat(frontend): Add a link to profile to banner and avatar

Increase the area of links to click easily.

* chore(frontend): Change the link of notes count

Move to the notes tab for better userbility.

* feat(frontend): Add links to notes, followers and following

For easy transition to the shown information.

* docs(changelog): Add a description about this change

Users can notice what's changed by this PR.

* style(frontend): Fix the linter error

Remove the duplicated space.

* refactor(frontend): Don't surround the banners with links

It may conflict with the follow buttons.

* docs(changelog): Move the changes to the latest version

This feature is not merged and will be released in the latest version.

Signed-off-by: Souma <101255979+5ouma@users.noreply.github.com>

---------

Signed-off-by: Souma <101255979+5ouma@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-06 13:42:52 +09:00
github-actions[bot]
3de1ce63cd Bump version to 2025.11.0-alpha.0 2025-11-06 03:43:51 +00:00
かっこかり
18fbc9bb05 fix(frontend): 存在しない翻訳キーを追加 (#16757) 2025-11-06 12:39:48 +09:00
饺子w (Yumechi)
37a21cf54e enhance: Remote Notes Cleaning timeout bailout logic (#16752)
* enhance: Remote Notes Cleaning timeout bailout logic

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* fix: dynamic limit did not propagate

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* enhance: reload parameters each batch

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-11-06 12:38:56 +09:00
かっこかり
290fd8c7cc enhance(frontend): ブラウザの通知権限をより確実に取得できるように (#16758)
* enhance(frontend): ブラウザの通知権限をより確実に取得できるように

* Update Changelog
2025-11-06 12:36:36 +09:00
かっこかり
0edb0133fc enhance(frontend): チャンネル周りのUIの整理 (#16743)
* enhance(frontend): チャンネル周りのUIの整理

* fix: 共通要素間の一貫性を保つ

* Update Changelog

* fix: チャンネル新規作成を管理タブに移動・上部ボタン削除
2025-11-06 10:15:59 +09:00
かっこかり
0abe021640 fix(frontend): PageHeaderのタイトルがはみ出る問題を修正 (#16744)
* fix(frontend): PageHeaderのタイトルがはみ出る問題を修正

* Update Changelog

* fix: remove duplicated scoped class to avoid confusion
2025-11-06 09:31:55 +09:00
かっこかり
344f50d538 enhance(frontend): 絵文字パレット設定に説明文を追加 (#16750)
* enhance(frontend): 絵文字パレット設定に説明文を追加

* tweak message
2025-11-05 11:35:48 +09:00
かっこかり
1cebad0ddb fix(frontend): navbarのリアルタイムモードのオンオフ状態の表示をわかりやすく (#16748)
* fix(frontend): navbarのリアルタイムモードのオンオフをわかりやすく

* Update Changelog

* remove unused imports
2025-11-05 09:45:42 +09:00
かっこかり
3e34e87a59 fix(i18n): 表記ゆれを修正 (#16749) 2025-11-05 09:45:06 +09:00
かっこかり
b9713259a7 fix(frontend): 表示するものがないときにはMkResultを使用するように (#16740) 2025-11-04 15:16:58 +09:00
かっこかり
e15b8b7fa3 fix(frontend): formlinkのスタイル修正 (#16741) 2025-11-04 15:13:24 +09:00
かっこかり
ca89c86426 fix(frontend): 自分に割り当てられたロール一覧の余白を調整 (#16747) 2025-11-04 15:12:20 +09:00
かっこかり
6bce19655b fix(frontend): ドライブのtipのスタイル修正 (#16742) 2025-11-04 11:58:29 +09:00
かっこかり
78ed024b0b refactor(frontend): EmojiPickerの冗長なCSSを一部簡略化 (#16717) 2025-11-02 12:12:33 +09:00
かっこかり
6f76b598a1 fix: follow-up of #16719 [ci skip] (#16732) 2025-11-01 13:58:35 +09:00
syuilo
a888f2863b Node.js 24 support (#16723)
* Revert "テストが動かないためnodejs 24サポートを取り消し"

This reverts commit a892bbcce5.

* fix jest.js

* ファイルの添付方法を変更

---------

Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
2025-10-30 21:47:04 +09:00
syuilo
a892bbcce5 テストが動かないためnodejs 24サポートを取り消し 2025-10-29 09:58:44 +09:00
かっこかり
6571c87e14 fix: attempt to fix test (#16719)
* fix(backend): attempt to fix test

* fix

* Revert "fix(backend): attempt to fix test"

This reverts commit 67dff577c9.

* attempt to fix test

* Revert "fix"

This reverts commit cec3d2f5c6.

* fix
2025-10-28 11:35:23 +09:00
かっこかり
9e0f18a705 deps: update @types/node to v24 [ci skip] (#16718)
* update `@types/node` to v24

* fix
2025-10-28 11:34:42 +09:00
syuilo
3dfca2d61f lint 2025-10-28 11:05:14 +09:00
syuilo
f1578c282e update deps 2025-10-28 10:43:59 +09:00
syuilo
231a6877be enhance: Node.js v24がActive LTSに移行されたことに伴いv24を標準に 2025-10-28 10:27:11 +09:00
かっこかり
d0a5ccc1ec fix(frontend): コンポーネントのインポート忘れ (#16715) 2025-10-27 18:41:17 +09:00
かっこかり
4e16e23acd fix(frontend): confettiの実行がアニメーション設定を考慮していない問題を修正 (#16714)
* fix(frontend): confettiの実行がアニメーション設定を考慮していない問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-27 18:41:03 +09:00
github-actions[bot]
17da44078b [skip ci] Update CHANGELOG.md (prepend template) 2025-10-27 04:19:47 +00:00
misskey-release-bot[bot]
19053339d9 Merge pull request #16709 from misskey-dev/develop
Release: 2025.10.2
2025-10-27 04:19:45 +00:00
github-actions[bot]
1f29fb4e40 Release: 2025.10.2 2025-10-27 04:19:42 +00:00
syuilo
0343b4e689 Update CHANGELOG.md 2025-10-27 09:50:27 +09:00
syuilo
a76a1a6305 Add permissions for pull-requests in workflow 2025-10-26 21:16:43 +09:00
github-actions[bot]
1f934ada5d Bump version to 2025.10.2-beta.0 2025-10-26 10:34:10 +00:00
syuilo
cd77404006 fix tooltip text 2025-10-26 19:29:37 +09:00
github-actions[bot]
351386c8ff Bump version to 2025.10.2-alpha.0 2025-10-26 01:35:02 +00:00
syuilo
298f8802d4 fix(frontend): 期限が無期限のアンケートに投票できない問題を修正
Fix #16708
2025-10-26 10:32:12 +09:00
syuilo
6e614ff061 Revert "Fix touch position offset in image masking on iOS devices (#16702)"
This reverts commit 456504cf82.
2025-10-25 19:32:00 +09:00
syuilo
ca76ba1871 Update CHANGELOG.md 2025-10-25 08:47:51 +09:00
syuilo
9f768b8022 fix(frontend): キャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正 2025-10-25 08:22:47 +09:00
github-actions[bot]
4ff826eb3d [skip ci] Update CHANGELOG.md (prepend template) 2025-10-24 06:31:38 +00:00
misskey-release-bot[bot]
b4e16c83e2 Merge pull request #16629 from misskey-dev/develop
Release: 2025.10.1
2025-10-24 06:31:35 +00:00
github-actions[bot]
60bcb9c6a9 Release: 2025.10.1 2025-10-24 06:31:32 +00:00
github-actions[bot]
0c85bfd56f Bump version to 2025.10.1-beta.4 2025-10-24 02:28:37 +00:00
syuilo
9d37f696b4 New Crowdin updates (#16692)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)
2025-10-24 11:15:30 +09:00
syuilo
2734ff6af7 Update CHANGELOG.md 2025-10-24 11:15:11 +09:00
Copilot
456504cf82 Fix touch position offset in image masking on iOS devices (#16702)
* Initial plan

* Fix iOS touch position offset in image masking feature

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-24 11:14:12 +09:00
syuilo
81cea6aed5 Update MkImageEffectorDialog.vue
related? #16703
2025-10-24 11:01:20 +09:00
syuilo
2d1b7c957a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-24 10:41:55 +09:00
syuilo
5b6aa1496a Update about-misskey.vue 2025-10-24 10:40:11 +09:00
github-actions[bot]
259dd34b26 Bump version to 2025.10.1-beta.3 2025-10-23 10:25:35 +00:00
syuilo
cf81406fae Fix audio track loss during video compression on iOS
修正: iOSで動画の圧縮を行うと音声トラックが失われる問題を修正
2025-10-23 19:00:28 +09:00
Copilot
42f230f223 Fix video audio loss during compression by preserving audio stream (#16696)
* Initial plan

* Fix video audio loss during compression by specifying AAC codec

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Fix audio by avoiding transcoding - copy audio stream directly

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-23 18:59:12 +09:00
かっこかり
2e07e50bb4 refactor(frontend): 既存のGLSLを単独のファイルに移行 (#16677)
* refactor(frontend): 既存のGLSLを単独のファイルに移行

* fix: glslファイルを参照元ファイルと同じ場所に移動
2025-10-23 11:05:21 +09:00
かっこかり
d203e1a446 refactor(frontend): フロントエンドの型エラー解消 (#16694) 2025-10-23 11:04:27 +09:00
github-actions[bot]
4988719a2e Bump version to 2025.10.1-beta.2 2025-10-22 02:13:11 +00:00
syuilo
f0380f2d1c enhance(frontend): improve theme apply handling 2025-10-22 11:11:30 +09:00
github-actions[bot]
130d065d0c Bump version to 2025.10.1-beta.1 2025-10-22 00:18:40 +00:00
syuilo
7b41fddf54 New Crowdin updates (#16686)
* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (English)
2025-10-22 09:12:22 +09:00
syuilo
aafd8b6bf7 fix(frontend): ダークモードの同期が機能しない場合がある問題を修正
Fix #16688
2025-10-22 09:11:15 +09:00
github-actions[bot]
7a82c1a912 Bump version to 2025.10.1-beta.0 2025-10-21 11:08:40 +00:00
syuilo
3c97c12e7f enhance(frontend): 下書き/予約投稿一覧は投稿フォームのアカウントメニュー内に移動し、下書き保存は「...」メニュー内に移動 2025-10-21 20:03:57 +09:00
syuilo
5b5a1f08e1 enhance(backend): 管理者/モデレーターはファイルのアップロード制限をバイパスするように
Resolve #16687
2025-10-21 19:24:43 +09:00
syuilo
c4ee95a40a Add workflow to request release review via comment
This workflow triggers a comment reply when an issue comment with '/request-release-review' is created, providing guidance for the release review process.
2025-10-21 14:25:55 +09:00
syuilo
8ea7fe0ba1 Update CHANGELOG for version 2025.10.0 2025-10-21 12:55:31 +09:00
かっこかり
187b6477da fix(deps): fix broken lockfile (#16685) 2025-10-21 11:37:52 +09:00
renovate[bot]
09896fdc12 chore(deps): update [misskey-js] update dependencies to v8.46.1 [ci skip] (#16681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:36:03 +09:00
renovate[bot]
d4cda989a2 chore(deps): update [root] update dependencies to v8.46.1 [ci skip] (#16682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:35:47 +09:00
renovate[bot]
f93043e170 fix(deps): update [backend] update dependencies [ci skip] (#16683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:28:34 +09:00
renovate[bot]
1c2e57d60c fix(deps): update [frontend] update dependencies [ci skip] (#16684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:06:25 +09:00
github-actions[bot]
67c853104c Bump version to 2025.10.1-alpha.6 2025-10-21 00:58:02 +00:00
syuilo
986d783940 New Crowdin updates (#16673)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)
2025-10-21 09:22:27 +09:00
かっこかり
61cfccff37 fix(deps): fix broken lockfile (#16679) 2025-10-21 09:06:25 +09:00
renovate[bot]
b161fe7adc fix(deps): update dependency nodemailer to v7 [security] [ci skip] (#16611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 08:56:01 +09:00
renovate[bot]
c3b1c8a8ff chore(deps): update dependency @types/node to v22.18.10 [ci skip] (#16674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 20:41:08 +09:00
renovate[bot]
bc2b512be6 chore(deps): update [misskey-js] update dependencies [ci skip] (#16612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 20:40:38 +09:00
renovate[bot]
7fe9574897 chore(deps): update pnpm/action-setup action to v4.2.0 [ci skip] (#16675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 19:37:10 +09:00
renovate[bot]
8549f71656 fix(deps): update [backend] update dependencies [ci skip] (#16676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 19:36:43 +09:00
github-actions[bot]
ae4487fa69 Bump version to 2025.10.1-alpha.5 2025-10-20 09:37:00 +00:00
renovate[bot]
0a75d6fcf1 fix(deps): update [frontend] update dependencies [ci skip] (#16613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 16:44:58 +09:00
renovate[bot]
d3bb24d851 chore(deps): update [root] update dependencies [ci skip] (#16614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 16:27:38 +09:00
果物リン
9aea7363ce fix(frontend): MkPollの集計完了後の挙動がおかしいのを修正 (#16646)
* MkPollの集計完了後の挙動がおかしいのを修正

* fix lint

* watchを削除できるように修正

* fix

* Update Changelog

* fix lint

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-20 16:11:01 +09:00
github-actions[bot]
f0889f4b3c Bump version to 2025.10.1-alpha.4 2025-10-20 06:36:00 +00:00
かっこかり
b8433b2413 enhance(frontend): glslを単独のファイルに分離 (#16665) 2025-10-20 15:23:19 +09:00
syuilo
4e9070a4c5 update happy-dom 2025-10-20 15:19:19 +09:00
syuilo
bff194f648 Update pnpm-workspace.yaml 2025-10-20 15:18:18 +09:00
かっこかり
8714945ec9 fix(frontend): ウォーターマーク配置のエフェクトが壊れている問題を修正 (#16662)
* fix(frontend): ウォーターマーク配置のエフェクトが壊れている問題を修正

* enhance: add settings for noBoundingBoxExpansion

* Update Changelog

* fix

* perf: ウォーターマークのrepeatをWRAP属性で制御するように

* fix: ウォーターマークをrepeatした際に回転や拡大縮小の中心が「位置」設定を考慮しないのを修正

* fix: ウォーターマークをrepeatした際にマージンが各ウォーターマークごとのマージンとなっていない問題を修正

* fix: リピートモード時の拡大縮小の原点が、アライメントの設定にかかわらず左上になる問題を修正

* enhance: preserveBoundingRect の翻訳文字を変更

* fix: remove description

* fix

* fix: 回転の向きが逆になっているのを修正

* fix: マージンは元画像の大きさに対する割合で算出するように

* Update watermarkPlacement.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-20 15:05:23 +09:00
syuilo
aadc7bf61a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-20 14:48:16 +09:00
syuilo
acd35ef96c add note 2025-10-20 14:48:14 +09:00
かっこかり
43919a3fe3 Update CHANGELOG.md (follow-up of #16672) 2025-10-20 00:22:25 +09:00
かっこかり
8a21202281 fix(frontend): リモートユーザーのロールバッジ表示の文言をわかりやすく (#16672) 2025-10-19 23:04:57 +09:00
github-actions[bot]
579499a7df Bump version to 2025.10.1-alpha.3 2025-10-19 04:22:23 +00:00
syuilo
b48233eb4c New Crowdin updates (#16657)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)
2025-10-19 13:19:56 +09:00
かっこかり
d98bf012b5 refactor(frontend): カスタムディレクティブの型付け (#16659)
* refactor(frontend): カスタムディレクティブの型付け

* fix
2025-10-19 11:36:00 +09:00
anatawa12
44930342a8 Revert typeorm patches (#16664)
* chore: remove patches

* chore: remove unnecessary 'DEFAULT NULL's

* chore: add patches with .gitkeep
2025-10-19 11:34:34 +09:00
かっこかり
29892d2a01 enhance: リモートユーザーのロールバッジを表示するかどうかをサーバー管理者が設定できるように (#16661)
* enhance: リモートユーザーのロールバッジを表示するかどうかをサーバー管理者が設定できるように

* Update Changelog

* build misskey-js with types
2025-10-16 22:45:37 +09:00
かっこかり
b6bf3cfcb7 fix(frontend): バナー画像の画面上でのクロップが以前の挙動と同一になるように (#16658)
* fix(frontend): バナー画像の画面上でのクロップが以前の挙動と同一になるように

* fix
2025-10-16 18:04:08 +09:00
かっこかり
a132a1d3e1 fix(frontend): 外部アプリ設定のアプリアイコンに変な余白が入っているのを修正 (#16660) 2025-10-16 18:01:25 +09:00
かっこかり
8cfd147555 fix(frontend): ロールポリシーによりダイレクトメッセージが無効化されている際のデッキのダイレクトメッセージカラムの挙動を改善 (#16656)
* fix(frontend): ロールポリシーによりダイレクトメッセージが無効化されている際のデッキのダイレクトメッセージカラムの挙動を改善

* Update Changelog
2025-10-16 11:17:47 +09:00
syuilo
a405575cd6 chore(frontend): add tips 2025-10-16 09:44:58 +09:00
github-actions[bot]
56885cceed Bump version to 2025.10.1-alpha.2 2025-10-15 04:11:32 +00:00
syuilo
3c64281696 Revert "fix(deps): update dependency happy-dom to v20 [security] (#16644)"
This reverts commit 45b3afa70d.
2025-10-15 13:05:37 +09:00
renovate[bot]
45b3afa70d fix(deps): update dependency happy-dom to v20 [security] (#16644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 13:00:29 +09:00
syuilo
beabe84354 New Crowdin updates (#16645)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)
2025-10-15 12:59:49 +09:00
かっこかり
42008d1377 fix(frontend): デッキのメインカラムのヘッダをクリックしてもページ上部/下部にスクロールしない問題を修正 (#16653)
* fix(frontend): デッキのメインカラムのヘッダをクリックしても上部にスクロールしない問題を修正

* fix

* Update Changelog

* fix lint

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-15 12:59:26 +09:00
かっこかり
3df81931ec fix(frontend): ナビゲーションバーの設定で削除した項目をその場で再追加できない問題を修正 (#16652)
* fix(frontend): ナビゲーションバーの設定で削除した項目をその場で再追加できない問題を修正

* Update Changelog
2025-10-15 12:14:03 +09:00
github-actions[bot]
4c536630d4 Bump version to 2025.10.1-alpha.1 2025-10-10 10:01:31 +00:00
syuilo
92cc55f0f1 New translations ja-jp.yml (English) (#16633) 2025-10-10 18:59:42 +09:00
かっこかり
f8c6273acc fix(frontend): scroll-driven animation非対応環境でバナー画像が上下中央に表示されない問題を修正 (#16632)
* fix(frontend): scroll-driven animation非対応環境でバナー画像が上下中央に表示されない問題を修正

* Update Changelog
2025-10-10 09:33:35 +09:00
かっこかり
edf7beff23 fix(frontend/aiscript): Mk:toastを同期関数に変更 (#16480) 2025-10-09 11:30:34 +09:00
かっこかり
3804028b6e chore(deps): update dependency @types/node to v22.18.8 (#16630)
* chore(deps): update dependency @types/node to v22.18.8

* run pnpm dedupe

* Update Changelog
2025-10-09 10:35:39 +09:00
renovate[bot]
70473c66e9 fix(deps): update [backend] update dependencies [ci skip] (#16615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-09 10:19:43 +09:00
renovate[bot]
a87a3c6693 chore(deps): update [tools] update dependencies [ci skip] (#16546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-09 10:06:14 +09:00
かっこかり
72a5daeb9a update deps [ci skip] (#16628) 2025-10-09 09:57:49 +09:00
github-actions[bot]
54efe1b4c5 Bump version to 2025.10.1-alpha.0 2025-10-09 00:32:10 +00:00
syuilo
24129efe97 New translations ja-jp.yml (Italian) (#16625) 2025-10-09 09:30:01 +09:00
果物リン
41aa0c8efe [カスタム絵文字beta]MacのCmdキー対応とCtrl/Cmd+Arrowキー対応 (#16621)
* [カスタム絵文字beta]MacのCmdキー対応とCtrl/Cmd+Arrowキー対応

* Update packages/frontend/src/components/grid/MkGrid.vue

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-09 09:29:47 +09:00
おさむのひと
37526de323 fix: aliasesの区切り文字が一致していないのを修正 (#16622)
* fix: aliasesの区切り文字が一致していないのを修正

* fix CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-09 09:29:09 +09:00
かっこかり
21ed2e3002 fix(frontend): バナー画像のサイズがおかしい問題を修正 (#16627)
* fix(frontend): バナー画像のサイズがおかしい問題を修正

* Update Changelog
2025-10-09 09:28:27 +09:00
github-actions[bot]
917def4e13 [skip ci] Update CHANGELOG.md (prepend template) 2025-10-08 13:18:11 +00:00
misskey-release-bot[bot]
56cc89b521 Merge pull request #16591 from misskey-dev/develop
Release: 2025.10.0
2025-10-08 13:18:08 +00:00
github-actions[bot]
d1eb1cad42 Release: 2025.10.0 2025-10-08 13:18:04 +00:00
syuilo
994690eebf Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-08 17:50:14 +09:00
syuilo
b25810e091 fix(backend): improve NoteDraftService validation 2025-10-08 17:50:04 +09:00
github-actions[bot]
03544dfd9d Bump version to 2025.10.0-rc.0 2025-10-08 08:49:44 +00:00
果物リン
d4df749f4f 絵文字の追加辞書をインストールすると絵文字ピッカーダイアログでユニコード絵文字が出てこないのを修正 (#16618)
* Fix: ユニコード絵文字の追加辞書をインストールするとユニコード絵文字が出てこなくなる

* add change log

* Update CHANGELOG.md

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-08 17:40:19 +09:00
syuilo
04e2d44d28 add note 2025-10-08 17:37:44 +09:00
syuilo
6d2e582eaf fix(backend): improve NoteDraftService validation 2025-10-08 17:36:32 +09:00
syuilo
9eb975e71d enhance(frontend): text/*をデフォルトでアップロード可能に 2025-10-08 17:30:37 +09:00
syuilo
ced687117f Update CHANGELOG.md 2025-10-08 17:27:53 +09:00
syuilo
7cc0483b47 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-08 17:19:59 +09:00
syuilo
a8a0c1c1b6 add notes 2025-10-08 17:19:57 +09:00
syuilo
6b438f2ce0 New Crowdin updates (#16605)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)
2025-10-08 11:48:30 +09:00
かっこかり
188b37b33f fix(gh): aiscript 0.19.0 の更新を固定 (renovate) 2025-10-08 10:46:15 +09:00
syuilo
0b642cf446 chore(frontend): add caption for maxFileSize 2025-10-07 09:47:26 +09:00
syuilo
fe38115883 lint 2025-10-06 20:01:19 +09:00
syuilo
6fba73ca13 Update pnpm-lock.yaml 2025-10-06 19:21:21 +09:00
syuilo
0d33e1f839 fix notes\drafts\create param defs 2025-10-06 19:21:17 +09:00
syuilo
74f33157a3 New Crowdin updates (#16601)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)
2025-10-06 15:39:18 +09:00
syuilo
ae10cad9a7 perf(frontend): improve about#emojis performancce 2025-10-06 10:21:46 +09:00
syuilo
ba9924abdb refactor(frontend): use useTemplateRef 2025-10-06 10:18:14 +09:00
github-actions[bot]
99686801a0 Bump version to 2025.10.0-beta.2 2025-10-06 01:12:30 +00:00
かっこかり
f3e0713501 enhance(frontend): お問い合わせページからデバイス情報を出力できるように (#16598)
* enhance(frontend): デバイス情報を出力できるように

* fix lint

* Update Changelog

* enhance: getHighEntropyValuesが使用できなかった場合のフォールバックを追加

* fix lint

* fix: getHighEntropyValuesが使用できない場合は生のUAを返すように

* enhance: getHighEntropyValuesが使用できる場合でも生のUAを含めるように

* ✌️

* onHeaderClicked -> onOpened
2025-10-06 10:06:53 +09:00
かっこかり
7fcbf57a9d fix(frontend): 存在しない翻訳を修正 (#16604) 2025-10-06 10:06:20 +09:00
github-actions[bot]
7cd55c31da Bump version to 2025.10.0-beta.1 2025-10-05 23:59:45 +00:00
かっこかり
d03cf4d7f9 fix(frontend): 通知の設定画面で予約投稿関連の翻訳が当たっていない問題の修正 (#16603)
* fix(frontend): 予約投稿通知の設定画面に不足している翻訳を追加

* fix(misskey-js): 廃止された通知が定義に残っているのを修正

* fix(frontend): 予約投稿の完了/失敗通知はオンオフのみ
2025-10-06 08:55:22 +09:00
かっこかり
a8fcdb79ab fix(frontend): 画面左のナビゲーションバーでウィジェットアイコンにtooltipがつかない問題を修正 (#16602) 2025-10-05 18:53:57 +09:00
かっこかり
eae9af73c2 enhance(frontend): MkTabs, MkPageHeader.tabsにてタブハイライトのCSS Anchor Positioningに対応 (#16595)
* fix(frontend): modalの中でtabsを使用する際にハイライトが変な位置に出る問題を修正

* fix lint

* Revert "fix(frontend): modalの中でtabsを使用する際にハイライトが変な位置に出る問題を修正"

This reverts commit 3b0ec46990.

* fix

* fix

* enhance(frontend): MkTabsのタブハイライト切り替えをCSS anchor positioningに対応させる

* enhance(frontend): MkPageHeader.tabsのタブハイライト切り替えをCSS anchor positioningに対応させる

* 🎨
2025-10-05 18:53:28 +09:00
かっこかり
c0dc156df7 enhance(frontend): プロフィールバナー画像のparallaxをscroll-driven animationに置き換え (#16241)
* enhance(frontend): プロフィールバナー画像のparallaxをscroll-driven animationに置き換え

* lint

* revert unrelated changes

* Update packages/frontend/src/pages/user/home.vue

* remove inset shadow

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-05 16:49:33 +09:00
かっこかり
720c6519cd refactor(frontend): MkTabの指定をpropsから行うように (#16596)
* refactor(frontend): MkTabの指定をpropsから行うように

* Update explore.featured.vue
2025-10-05 15:48:11 +09:00
syuilo
f89b4cdc12 Update CHANGELOG with new features and enhancements 2025-10-05 15:45:11 +09:00
かっこかり
46b0e8115a enhance(frontend): 実験的機能としてTranslator APIを用いた翻訳を実装 (#16600)
* enhance(frontend): 実験的機能としてTranslator APIを用いた翻訳を実装

* remove unused imports

* remove unnecessary console.log

* fix 表記揺れ

* fix lint
2025-10-05 15:43:13 +09:00
syuilo
7796fce779 New Crowdin updates (#16532)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2025-10-05 13:28:23 +09:00
renovate[bot]
3954837cfa fix(deps): update [root] update dependencies [skip ci] (#16576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:58:30 +09:00
renovate[bot]
7ea4cad12e chore(deps): update [misskey-js] update dependencies [skip ci] (#16543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:44:08 +09:00
github-actions[bot]
d864e9a269 Bump version to 2025.10.0-beta.0 2025-10-04 06:40:01 +00:00
syuilo
4e0434c275 Update CHANGELOG with new features and enhancements 2025-10-04 15:38:05 +09:00
renovate[bot]
e2f939080a fix(deps): update [frontend] update dependencies [ci skip] (#16548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:26:26 +09:00
renovate[bot]
6956f44d1f chore(deps): update [github actions] update dependencies (#16545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:18:21 +09:00
renovate[bot]
a393d5a87e fix(deps): update [backend] update dependencies (#16547)
* fix(deps): update [backend] update dependencies

* chore: update typeorm.patch

* fix: handle socket creation failure in HttpRequestServiceAgent

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-04 15:04:28 +09:00
syuilo
6c634de482 Bump version to 2025.10.0 in CHANGELOG
Updated version number and note for pnpm requirement.
2025-10-04 09:50:58 +09:00
syuilo
fc02e0d34d chore(frontend): make enableFolderPageView false by default
see #16553
2025-10-04 08:54:49 +09:00
syuilo
cb1a90ddad chore(frontend): improve usability 2025-10-04 08:53:19 +09:00
github-actions[bot]
f0fb3a56a8 Bump version to 2025.10.0-alpha.0 2025-10-01 04:57:00 +00:00
かっこかり
b8ae7edcec fix(gh): add minimumReleaseAge settings to renovate [ci skip] 2025-09-28 18:28:37 +09:00
syuilo
e24233c1c7 add ideas 2025-09-27 20:53:21 +09:00
syuilo
225154d76d enhance(frontend): improve zoomLines image effect 2025-09-27 18:46:26 +09:00
syuilo
c5f9c0ce5c enhance(frontend): add pixelate mask effect 2025-09-26 18:27:53 +09:00
github-actions[bot]
cce302ae4f Bump version to 2025.9.1-alpha.2 2025-09-26 06:44:58 +00:00
かっこかり
e0d210e15b fix(frontend): アクティビティウィジェットのグラフモードが動作しない問題を修正 (#16579)
* fix(frontend): アクティビティウィジェットのグラフモードが動作しない問題を修正

* 🎨

* Update Changelog

* fix
2025-09-26 15:36:50 +09:00
syuilo
0b7634b126 enhance(frontend): テーマをドラッグ&ドロップできるように 2025-09-26 15:36:25 +09:00
syuilo
d1446d195a feat: scheduled post (#16577)
* Update NoteDraft.ts

* Update NoteDraft.ts

* wip

* Update CHANGELOG.md

* wip

* Update PostScheduledNoteProcessorService.ts

* Update PostScheduledNoteProcessorService.ts

* Update Notification.ts

* wip

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* wip

* Create 1758677617888-scheduled-post.js

* Update index.d.ts

* Update stats.ts

* wip

* wip

* wip

* wip

* wip

* Update MkNotification.vue

* wip

* wip

* wip

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* wip

* wip

* Update NoteDraftEntityService.ts

* wip

* Update index.d.ts

* Update MkPostForm.vue

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* wip

* wip

* Update NoteDraftEntityService.ts

* Update NoteCreateService.ts

* Update NoteDraftService.ts

* wip

* Update NoteDraftService.ts

* wip

* wip

* Update MkPostForm.vue

* wip

* Update MkPostForm.vue

* Update os.ts

* wip

* Update MkNoteDraftsDialog.vue
2025-09-26 15:29:52 +09:00
かっこかり
218070eb13 fix(frontend): ビルド成果物のファイル名にlocalesのhashを含めるように (#16580) 2025-09-24 17:01:48 +09:00
syuilo
0f8c068e84 feat(frontend): Video compression (#16574)
* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* wip

* Update use-uploader.ts

* Update use-uploader.ts
2025-09-24 09:01:06 +09:00
github-actions[bot]
69d66b89f2 Bump version to 2025.9.1-alpha.1 2025-09-22 10:52:25 +00:00
饺子w (Yumechi)
211365de64 enhance(backend): 設定ファイルにFastifyOptions.trustProxyを追加 (#16567)
* enhance(backend): 設定ファイルにFastifyOptions.trustProxyを追加

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* try harder

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-09-22 19:45:01 +09:00
syuilo
966127c63e enhance(frontend): 絵文字ピッカーのサイズをより大きくできるように 2025-09-22 19:43:31 +09:00
果物リン
54800971eb プロフィールの「ユーザーのノートを検索」でローカルのユーザーを検索できないのを修正 (#16570)
* プロフィールの「ユーザーのノートを検索」でローカルのユーザーを検索できないのを修正

* fix lint
2025-09-22 19:21:01 +09:00
syuilo
13d5c6d2b2 refactor MkAnimBg 2025-09-22 19:00:47 +09:00
syuilo
2cff00eedd update pnpm 2025-09-22 18:27:39 +09:00
syuilo
3fc2261041 dev(pnpm): set minimumReleaseAge to 7days
to mitigate supply-chain attack
Resolve #16572
2025-09-22 18:23:43 +09:00
syuilo
18d66c0233 Update CHANGELOG.md 2025-09-20 14:21:51 +09:00
Copilot
2f52c20150 Implement professional-grade Gaussian-approximated blur effect with resolution independence and configurable quality for image effector system (#16571)
* Initial plan

* Implement blur effect for image effector system

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Improve blur quality with configurable sample count

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Revert to simpler blur implementation with configurable sample count

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Fix blur size independence from sample count

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Make blur radius resolution-independent

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Update blur.ts

* Enhance blur quality with explicit diagonal sampling and fix parameter configuration

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Implement Gaussian-approximated blur with distance-based weighting for superior quality

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Revert "Implement Gaussian-approximated blur with distance-based weighting for superior quality"

This reverts commit c739e9f55b.

* Revert "Enhance blur quality with explicit diagonal sampling and fix parameter configuration"

This reverts commit ffbc6eeba7.

* wip

* tweak

* ellipse

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-09-20 14:19:35 +09:00
github-actions[bot]
9d70c9ad78 Bump version to 2025.9.1-alpha.0 2025-09-19 13:51:21 +00:00
tamaina
42b2aea533 feat(frontend): 自分のプロフィールページの二次元コード(QRコード)を表示し、他の人のコードを読み取りするページを追加 (#16456)
* wip (qr.show.vue)

* added to navbar

* qr.show.vue

* fix

* added to navbar

* fix size

* 🎨

* 🎨

* fix div warn

* fix

* use * 0.25

* fix??

* fix lint

* clean up

* ???

* ?

* fix

* 🎨

* 🎨

* refactor

* 🎨

* 🎨

* :ar:t

* 🎨

* iphone flip

* no lazy import

* 🎨

* 🎨

* 🎨

* ユーザー全部flipでいいや

* ✌️

* fix

* fix

* fix lint

* 🎨

* fix type

* fix: local user profile url cannot be resolved with ap/show

* fix: local user url with hostname could not be resolved

* chore: use common utility for checking self host

* wip

* 🎨

* 🎨

* fix imports

* fix

* fix

* fix

* 🎨

* fix...

* set spacer-w

* ✌️

* 全画面でQRを読むように

* fix

* 🎨

* modify navbar.ts

* start/stop on vue activation

* display raw content read from qr

* 端末のQRをスキャンするボタンを追加

* chore

* やっぱりmfmを先に表示する

* 🎨

* fix 18n

* QRの内容は/users/:userIdにする

* add spdx

* use cqh

* `defineProps` is a compiler macro and no longer needs to be imported.

* use MkUserName

* 🎨

* 🎨

* refactor

* clean up

* refactor

* 🎨

* Update qr.show.vue

* Misskeyロゴにdrop-shadowを追加

* clean up: do not use empty css

* fix os.select usage

* Update qr.vue

* Update qr.show.vue

* Update qr.show.vue

* Update get-user-menu.ts

* ✌️

* Update show.ts

* Update ja-JP.yml

* watermark

* Update CHANGELOG.md

* Update qr.read.vue

* Update qr.read.vue

* wip

* Update MkWatermarkEditorDialog.Layer.vue

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-09-19 21:02:30 +09:00
syuilo
97adf6f2cc 🎨 2025-09-19 14:23:34 +09:00
tamaina
93ff209c51 enhance(frontend): bootでonunhandledrejectionでrenderErrorする場合、PromiseRejectionEvent.reasonを渡すように (#16563) 2025-09-18 19:35:23 +09:00
syuilo
5fe08d0bbb fix(frontend): iOSで、デバイスがダークモードだと初回読み込み時にエラーになる問題を修正
Fix #16562
2025-09-18 19:18:31 +09:00
syuilo
8c413d01e6 enhance(frontend): マスクエフェクト (#16556)
* wip

* wip

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update fillSquare.ts

* Update CHANGELOG.md

* Update fillSquare.ts
2025-09-17 18:38:56 +09:00
syuilo
b231da7c7c enhance(frontend): チャットの日本語名称をダイレクトメッセージに & ベータを外す 2025-09-16 16:24:10 +09:00
syuilo
df3e44f62e enhance(backend): allow upload csv by default
Related #16541
2025-09-16 12:16:18 +09:00
かっこかり
e504560477 fix: サーバー設定によりコンテンツの閲覧が制限されている場合のメッセージを区別するように (#16527) 2025-09-16 11:53:20 +09:00
syuilo
bcb2073715 enhance(backend): 初期設定をスキップした場合の初期状態ポリシーでインポート系をオプトインに
Resolve #16540
2025-09-16 11:26:35 +09:00
syuilo
6a80c23a50 chore(frontend): enable enableFolderPageView by default 2025-09-15 14:33:32 +09:00
syuilo
2621f468ff enhance: 広告ごとにセンシティブフラグを設定できるように 2025-09-14 15:25:22 +09:00
かっこかり
d4654dd7bd refactor(frontend): os.select, MkSelectのitem指定をオブジェクトによる定義に統一し、型を狭める (#16475)
* refactor(frontend): MkSelectのitem指定をオブジェクトによる定義に統一

* fix

* spdx

* fix

* fix os.select

* fix lint

* add comment

* fix

* fix: os.select対応漏れを修正

* fix

* fix

* fix: MkSelectのmodelに対する型チェックを厳格化

* fix

* fix

* fix

* Update packages/frontend/src/components/MkEmbedCodeGenDialog.vue

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix

* fix types

* fix

* fix

* Update packages/frontend/src/pages/admin/roles.editor.vue

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix: MkSelectに直接配列を指定している場合に正常に型が解決されるように

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-09-13 21:00:33 +09:00
renovate[bot]
b7da6cad87 fix(deps): update dependency vite [security] (#16535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 10:32:49 +09:00
かっこかり
5b4115e21a refactor(frontend): フロントエンドの型エラー解消(途中まで) (#16539)
* fix(frontend): FormLinkをボタンとして使用した際にエラーが出る問題を修正

* refactor(frontend): フロントエンドの型エラー解消

* remove unused ts-expect-error

* migrate

* remove unrelated changes

* fix lint

* more type fixes
2025-09-13 08:33:14 +09:00
syuilo
c174c5c144 Update CHANGELOG.md 2025-09-12 17:13:13 +09:00
かっこかり
aebc3f781e perf(frontend): 低精度な現在時刻を一か所で管理するように (#16479)
* perf(frontend): 低精度な現在時刻を一か所で管理するように

* lint

* fix

* remove unused imports

* fix

* Update Changelog

* [ci skip] typo

* enhance: カレンダーウィジェットの日付変更は時間通りに行うように

* [ci skip] fix
2025-09-12 17:12:50 +09:00
かっこかり
f60b6291d7 chore(gh): add frontend-builder to renovate 2025-09-10 10:01:25 +09:00
taiy
7673874675 fix(eslint): add window prefix rules to frontend-embed & frontend-shared (#16531) 2025-09-10 09:22:12 +09:00
github-actions[bot]
6e3354f95d [skip ci] Update CHANGELOG.md (prepend template) 2025-09-08 12:29:30 +00:00
misskey-release-bot[bot]
1eab314b17 Merge pull request #16521 from misskey-dev/develop
Release: 2025.9.0
2025-09-08 12:29:29 +00:00
github-actions[bot]
b9df928097 Release: 2025.9.0 2025-09-08 12:29:25 +00:00
github-actions[bot]
0754678144 Bump version to 2025.9.0-rc.0 2025-09-08 11:33:58 +00:00
tamaina
a8cc51dc77 fix(frontend): Safari 26でモバイルUIが崩れる問題に対するhotfix (#16528) 2025-09-08 20:32:19 +09:00
github-actions[bot]
690edcef16 Bump version to 2025.9.0-beta.1 2025-09-08 11:21:12 +00:00
renovate[bot]
2ea784f345 fix(deps): update [backend] update dependencies (#16491)
* fix(deps): update [backend] update dependencies

* fix type error

* run pnpm dedupe

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-09-08 17:11:18 +09:00
renovate[bot]
20d257b562 chore(deps): update [misskey-js] update dependencies (#16489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 16:14:23 +09:00
renovate[bot]
c215415613 fix(deps): update [root] update dependencies (#16490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 16:08:15 +09:00
github-actions[bot]
726c03d96a Bump version to 2025.9.0-beta.0 2025-09-08 06:32:15 +00:00
syuilo
e65ddb546c New Crowdin updates (#16526)
* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Russian)
2025-09-08 15:20:07 +09:00
renovate[bot]
85aea9077f fix(deps): update [frontend] update dependencies (#16492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 15:16:22 +09:00
syuilo
f3fffce6a9 fix type 2025-09-08 14:57:53 +09:00
syuilo
eb7db5a3aa Update MkSuspense.vue 2025-09-08 14:56:58 +09:00
syuilo
e33eb26863 Update CHANGELOG.md 2025-09-07 19:41:40 +09:00
かっこかり
430310f306 fix(frontend): ctrlキーを押しながらリンクをクリックしても新しいタブで開かない問題を修正 (#16453)
* fix(frontend): ctrlキーを押しながらクリックしても新しいタブで開かない問題を修正

* Update Changelog

* fix: 制御キーの場合を個別ハンドリングするのではなくブラウザ既定の挙動に任せるように

* fix
2025-09-07 09:32:32 +09:00
syuilo
1e1eea521e chore(frontend): add force cloud backup button for debugging 2025-09-07 09:16:25 +09:00
syuilo
86ad771221 New Crowdin updates (#16525)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)
2025-09-07 09:01:12 +09:00
syuilo
057acf471e New Crowdin updates (#16493)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)
2025-09-06 20:53:36 +09:00
github-actions[bot]
2bfe257879 Bump version to 2025.9.0-alpha.2 2025-09-06 08:54:34 +00:00
syuilo
6d75624aa8 Update CHANGELOG.md 2025-09-06 17:49:53 +09:00
tamaina
369f0ec88a fix(backend): webpなどの画像に対してセンシティブなメディアの検出が適用されていなかった問題を修正 (#16523)
画像をnsfwjsにかける前にsharpで均一にするようにした
2025-09-06 17:48:53 +09:00
かっこかり
788c5660ba enhance(frontend): フロントエンドのキャッシュクリア操作でブラウザの内部キャッシュも削除するように (#16522)
* enhance(frontend): フロントエンドのキャッシュクリア操作でブラウザの内部キャッシュも削除するように

* 削除するキャッシュを増やす

* Update Changelog

* fix: 何らかのエラーがあっても無視するように
2025-09-06 14:46:24 +09:00
github-actions[bot]
6cf1f86636 Bump version to 2025.9.0-alpha.1 2025-09-06 03:42:29 +00:00
syuilo
5b994b3e03 fix(frontend): プロファイルを復元後アカウントの切り替えができない問題を修正
Fix #16508
2025-09-06 12:41:27 +09:00
syuilo
7b2abb7577 enhance(frontend): クリップ/リスト/アンテナ/ロール追加系メニュー項目において、表示件数を拡張
#16510
2025-09-06 11:18:08 +09:00
github-actions[bot]
b681788315 Bump version to 2025.9.0-alpha.0 2025-09-06 02:11:36 +00:00
syuilo
279af1d72f Update CHANGELOG.md 2025-09-06 11:10:41 +09:00
syuilo
9e188ca3fa Revert "refactor"
This reverts commit aa85d701b9.
2025-09-06 11:09:24 +09:00
syuilo
de1b2223ff enhance(frontend): AiScriptAppウィジェットで構文エラーを検知してもダイアログではなくウィジェット内にエラーを表示するように 2025-09-05 19:44:11 +09:00
なっかあ
9b565728e7 fix #16494 (#16509) 2025-09-05 15:26:39 +09:00
饺子w (Yumechi)
a92fd8856a feat(backend): Send Clear-Site-Data header on /flush (#16517)
* feat(backend): Send Clear-Site-Data header on /flush

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* simplify check on flush.pug

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-09-05 13:55:37 +09:00
takaion
047773341d fix(frontend): エラー画像が横に引き伸ばされてしまう問題に対応 (#16502)
* fix(frontend): エラー画像が横に引き伸ばされてしまう問題に対応

Fix misskey-dev#15982

* Update CHANGELOG.md
2025-09-02 16:40:57 +09:00
yukineko
842670e100 fix(frontend): RSSティッカーウィジェットが正しく動作しない問題を修正 (#16498)
* fix: RSSティッカーウィジェットが正しく機能しない問題を修正

* chore: update CHANGELOG.md
2025-09-02 10:29:25 +09:00
anatawa12
ffc481a994 fix: 「自動でもっと見る」の設定ができない問題 (#16500) 2025-09-02 10:11:50 +09:00
syuilo
2ccf4f94cb refactor 2025-09-01 16:51:58 +09:00
syuilo
3566bc207f refactor 2025-09-01 16:36:15 +09:00
syuilo
4a0e968662 refactor 2025-09-01 16:23:05 +09:00
syuilo
b1479ab1d8 Update misskey-js.api.md 2025-09-01 14:07:24 +09:00
syuilo
18a9ccf7af pnpm dedupe 2025-09-01 14:07:14 +09:00
syuilo
959e72b2b3 refactor 2025-09-01 14:02:14 +09:00
syuilo
a3d78b2f08 refactor 2025-09-01 13:41:40 +09:00
syuilo
3c998e1f48 refactor 2025-09-01 12:59:53 +09:00
syuilo
782c9f9852 refactor 2025-09-01 12:33:44 +09:00
syuilo
d27c740ab0 refactor 2025-09-01 12:31:27 +09:00
syuilo
08ecf7ca79 refactor 2025-09-01 10:19:14 +09:00
syuilo
bdec4bf87a refactor 2025-09-01 10:16:33 +09:00
syuilo
7000095b44 refactor 2025-09-01 10:01:03 +09:00
syuilo
18e42cc83d refactoe 2025-09-01 09:53:38 +09:00
syuilo
11204eeb43 refactor 2025-09-01 09:50:36 +09:00
かっこかり
c95092903a refactor(frontend): フロントエンドの型エラー解消(途中まで) (#16477)
* refactor(frontend): フロントエンドの型エラー解消

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-31 19:53:38 +09:00
github-actions[bot]
21b2b9e5f8 [skip ci] Update CHANGELOG.md (prepend template) 2025-08-31 08:42:45 +00:00
misskey-release-bot[bot]
ec21336d45 Merge pull request #16335 from misskey-dev/develop
Release: 2025.8.0
2025-08-31 08:42:43 +00:00
github-actions[bot]
665ec2c43c Release: 2025.8.0 2025-08-31 08:42:39 +00:00
syuilo
34bd840525 Update CHANGELOG.md 2025-08-31 15:56:07 +09:00
syuilo
3d1cbcf094 Update CHANGELOG.md 2025-08-31 15:29:22 +09:00
github-actions[bot]
5f5d88036f Bump version to 2025.8.0-rc.0 2025-08-31 01:32:06 +00:00
syuilo
24739cd040 New Crowdin updates (#16483)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
2025-08-31 10:24:41 +09:00
syuilo
b491432daa fix(frontend): タッチ操作時にマウスホバー時のユーザープレビューが開くことがある問題を修正
Fix #16464
2025-08-31 10:23:29 +09:00
syuilo
ebe029458e enhance(frontend): アイコンのスクロール追従を無効化する際の適用範囲を強化
Resolve #16485
2025-08-31 10:18:48 +09:00
syuilo
d127d82c5b Update CHANGELOG.md 2025-08-30 19:17:11 +09:00
syuilo
aabda5a956 clean up 2025-08-30 19:15:52 +09:00
syuilo
bd5b38c9d9 Update CHANGELOG.md 2025-08-30 19:12:53 +09:00
syuilo
647e03bf34 update locale 2025-08-30 19:10:19 +09:00
syuilo
d16db7f311 New translations ja-jp.yml (English) (#16472) 2025-08-30 16:11:27 +09:00
github-actions[bot]
ec4731dee4 Bump version to 2025.8.0-beta.6 2025-08-29 07:38:45 +00:00
syuilo
65a4d77a7f fix(backend): タイムラインAPIの withRenotes: false 時のレスポンスを修正 2025-08-29 16:03:03 +09:00
かっこかり
328301ffc2 fix(misskey-js): run api extractor (#16476) 2025-08-29 13:37:17 +09:00
syuilo
def148d7a6 refactor 2025-08-28 20:02:28 +09:00
syuilo
aa85d701b9 refactor 2025-08-28 19:53:10 +09:00
syuilo
f0833cffe9 refactor 2025-08-28 19:47:58 +09:00
github-actions[bot]
9cd918f12b Bump version to 2025.8.0-beta.5 2025-08-28 05:33:23 +00:00
syuilo
195a80622b New Crowdin updates (#16457)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)
2025-08-28 13:31:05 +09:00
syuilo
8b347e23e3 refactor 2025-08-28 13:30:52 +09:00
syuilo
bca3602da2 refactor 2025-08-28 13:24:25 +09:00
syuilo
cfd4d7c57b refactor 2025-08-28 13:20:11 +09:00
tamaina
084ccf5c9a build-misskey-js-with-types (#16471)
* build-misskey-js-with-types

* build-misskey-js-with-types
2025-08-28 11:45:46 +09:00
syuilo
fc1693f768 そもそもnullになることはあり得なかった 2025-08-28 11:39:54 +09:00
syuilo
ff6f115976 refactor 2025-08-28 11:30:03 +09:00
syuilo
8c2b96ad37 lint 2025-08-28 11:16:40 +09:00
syuilo
3e24419981 refactor 2025-08-28 11:15:17 +09:00
tamaina
25c2007f59 build-misskey-js-with-types (#16470) 2025-08-28 10:39:39 +09:00
syuilo
2e4c4dd555 refactor 2025-08-28 08:59:13 +09:00
taiy
653cb116ea fix(build): run build-misskey-js-with-types (#16468) 2025-08-27 19:11:05 +09:00
syuilo
c9f363b215 fix i/apps schema 2025-08-27 17:21:24 +09:00
syuilo
e72da587e4 型の漏れを修正 2025-08-27 17:05:29 +09:00
syuilo
439337a108 json schemaに誤りがあるのを修正 2025-08-27 17:01:02 +09:00
syuilo
5fef2332f4 refactor 2025-08-27 17:00:58 +09:00
syuilo
40a325cbe7 userのjson schemaに誤りがあるのを修正 2025-08-27 16:55:07 +09:00
syuilo
5eff31383f refactor 2025-08-27 16:52:58 +09:00
syuilo
575379a683 refactor 2025-08-27 16:48:32 +09:00
syuilo
bf82b49633 refactor 2025-08-27 16:27:16 +09:00
syuilo
87d09f255d refactor 2025-08-27 15:59:39 +09:00
syuilo
98e07c3bd1 perf(frontend): use WeakMap 2025-08-27 12:41:24 +09:00
syuilo
c5bb881438 refactor 2025-08-27 12:40:11 +09:00
syuilo
ee96f77ef2 refactor 2025-08-27 12:09:19 +09:00
syuilo
55eb18f5a6 Update CHANGELOG.md 2025-08-27 10:29:45 +09:00
syuilo
aa8daca914 chore(frontend): skip typecheck for auto-generated files 2025-08-27 10:23:41 +09:00
syuilo
3e9118af3d fix(frontend): lookupページでリモートURLを指定した際に正しく動作しない問題を修正 2025-08-27 10:15:11 +09:00
syuilo
25df56dfd0 refactor 2025-08-27 10:14:17 +09:00
syuilo
231ccae006 tweak locale 2025-08-27 09:57:33 +09:00
syuilo
2e0a34300a refactor 2025-08-27 09:46:31 +09:00
syuilo
d2fd7460ed Update CHANGELOG.md
#16465
2025-08-27 00:41:11 +09:00
syuilo
5e3d8fc9b8 refactor 2025-08-26 20:17:25 +09:00
syuilo
b186c67767 refactor 2025-08-26 20:04:59 +09:00
syuilo
ac7c60d102 refactor and fix 2025-08-26 19:06:15 +09:00
syuilo
b9dbd58a1c refactor 2025-08-26 18:54:54 +09:00
syuilo
69bbac013a refactor 2025-08-26 17:31:36 +09:00
syuilo
203296b9cb chore(frontend): tweak MkServerSetupWizard 2025-08-26 15:02:12 +09:00
syuilo
689d70ffae refactor 2025-08-26 14:38:42 +09:00
syuilo
d5475d1ff6 refactor 2025-08-26 14:22:53 +09:00
syuilo
05cc8047fa refactor 2025-08-26 13:58:57 +09:00
syuilo
d6a1046361 refactor 2025-08-26 13:34:41 +09:00
syuilo
eb9915baf8 refactor and fix 2025-08-26 10:56:09 +09:00
syuilo
dbb6c71c5c refactor 2025-08-26 09:39:23 +09:00
syuilo
9e5c8d94bf refactor 2025-08-26 09:08:00 +09:00
syuilo
120af977a9 refactoe 2025-08-26 08:57:36 +09:00
syuilo
506c8a259b refactor 2025-08-26 08:50:34 +09:00
syuilo
0c8545ec1c Update CHANGELOG.md 2025-08-26 07:44:26 +09:00
tamaina
7e7dc03796 fix(frontend): ap/showでローカルユーザーを解決した際@username@nullに飛ばされる問題を修正 (#16460) 2025-08-26 07:43:59 +09:00
syuilo
a874def344 remove unused file 2025-08-25 20:32:07 +09:00
syuilo
44ac51f64f refactor: ReloadSuggest -> ReloadSuggestion 2025-08-25 20:31:22 +09:00
syuilo
3b65be8b91 clean up 2025-08-25 20:29:26 +09:00
syuilo
76beac41d2 refactor 2025-08-25 20:07:33 +09:00
syuilo
69cdc73f5a refactor 2025-08-25 19:55:42 +09:00
syuilo
1c966db324 refactor 2025-08-25 17:12:11 +09:00
syuilo
692284886b refactor 2025-08-25 17:04:49 +09:00
syuilo
0121d19645 refactor 2025-08-25 16:56:10 +09:00
syuilo
bf8636e516 refactor 2025-08-25 16:56:05 +09:00
syuilo
d336a1fb1c refactor 2025-08-25 13:51:52 +09:00
syuilo
7c761e7017 refactor 2025-08-25 13:48:09 +09:00
syuilo
7924daf7f8 refactor 2025-08-25 13:46:22 +09:00
syuilo
2b9706a68b refactor 2025-08-25 13:40:41 +09:00
syuilo
f2d15f9240 refactor 2025-08-25 13:36:38 +09:00
syuilo
caf6a3ab81 refactor 2025-08-25 13:34:17 +09:00
syuilo
f4baa973bf refactor 2025-08-25 13:26:41 +09:00
syuilo
3741fa4b49 refactor 2025-08-25 13:25:05 +09:00
syuilo
27df7f643e fix typo
Fix #16452
2025-08-25 10:07:42 +09:00
syuilo
30987b6f1f Update CHANGELOG.md 2025-08-25 10:05:15 +09:00
anatawa12
41b5677f01 fix: Pages will be deleted when eye-catching image is moved (#16455) 2025-08-25 10:04:35 +09:00
github-actions[bot]
47d83e8930 Bump version to 2025.8.0-beta.4 2025-08-24 09:29:08 +00:00
renovate[bot]
61ff1f313b fix(deps): update [backend] update dependencies (#16450)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 18:27:14 +09:00
renovate[bot]
637ad3d479 chore(deps): update [misskey-js] update dependencies (#16448)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 16:05:06 +09:00
syuilo
2dd8c2a355 New Crowdin updates (#16442)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Turkish)
2025-08-24 12:02:36 +09:00
renovate[bot]
857a87d4b6 chore(deps): update [github actions] update dependencies (#16447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 11:53:23 +09:00
renovate[bot]
8b4cea5c86 fix(deps): update [root] update dependencies (#16449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 11:53:10 +09:00
renovate[bot]
9f25d96ec3 fix(deps): update [frontend] update dependencies (#16387)
* fix(deps): update [frontend] update dependencies

* fix build error

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-08-24 09:13:04 +09:00
syuilo
bd0730e5e8 fix(backend): 削除されたユーザーがチャットメッセージにリアクションしている場合chat/historyなどでエラーになる問題を修正
Fix #16445
2025-08-23 17:37:15 +09:00
syuilo
07ccb82691 Update CHANGELOG with recent feature and fix entries 2025-08-22 19:40:15 +09:00
github-actions[bot]
16030c6381 Bump version to 2025.8.0-beta.3 2025-08-22 10:39:14 +00:00
syuilo
1f6716d69b New Crowdin updates (#16436)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)
2025-08-22 19:37:20 +09:00
かっこかり
ade603ff7a fix(frontend): ページネーションの進行方向を指定できるように (#16433)
* fix(frontend): ページネーションの進行方向を指定できるように

* Update Changelog

* fix lint

* fix: directionをMkPaginationに移動

* fix

* fix

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-22 19:34:20 +09:00
かっこかり
4d215bde10 fix(frontend): follow-up of #16380 2025-08-22 19:31:27 +09:00
かっこかり
20d81696e1 fix(backend): fix test (#16441)
* fix(backend): fix test

* fix

* fix
2025-08-22 18:26:19 +09:00
syuilo
8cbbb80e3f fix(backend): notes/mentions で場合によっては並び順が正しく返されない問題を修正
Fix #16398
2025-08-21 19:10:16 +09:00
かっこかり
1eabb21d69 fix(backend): クリップ一覧APIをページネーションに対応させる (#16434)
* fix(backend): クリップ一覧APIをページネーションに対応させる

* Update Changelog
2025-08-21 19:02:21 +09:00
かっこかり
7f6ba2e501 enhance: verify-emailにフロントエンドUIを実装 (#16431)
* enhance: メールのverifyをAPIに変更

* enhance(frontend): メールのVerifyページを追加

* fix

* 🎨

* 🎨

* Update Changelog

* lint
2025-08-21 16:52:30 +09:00
github-actions[bot]
8c433d2706 Bump version to 2025.8.0-beta.2 2025-08-20 07:41:12 +00:00
syuilo
3a856b785d New Crowdin updates (#16416)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)
2025-08-20 16:35:50 +09:00
syuilo
b07bf838e3 サーバー管理コマンド (#15882)
* wip

* Update cli.ts

* Update cli.ts

* wip

* Update CHANGELOG.md

* Delete cli.mjs
2025-08-20 16:35:26 +09:00
syuilo
bdfe709319 fix(frontend): 読み込み直後にプラグインによるノートの書き換えが行われない問題を修正
ブート時にプラグインがロードされるまで待機
Fix #16428
2025-08-20 15:57:20 +09:00
github-actions[bot]
4190c6cb8e Bump version to 2025.8.0-beta.1 2025-08-19 05:24:14 +00:00
renovate[bot]
44a2d531b3 fix(deps): update dependency tmp to v0.2.4 [security] (#16374)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 14:20:53 +09:00
syuilo
a17271a5c4 Update CHANGELOG.md 2025-08-19 14:19:54 +09:00
syuilo
3980172243 feat: 非ログイン時に表示されるトップページのスタイルを選択できるように 2025-08-19 14:15:19 +09:00
syuilo
3b4879133c 🎨 2025-08-18 18:06:32 +09:00
syuilo
a1232cbae3 Update CHANGELOG.md 2025-08-18 14:47:35 +09:00
github-actions[bot]
ebb014da4c Bump version to 2025.8.0-beta.0 2025-08-18 05:41:44 +00:00
syuilo
7786761d76 chore(frontend): more haptic 2025-08-18 14:24:14 +09:00
Souma
ff334fe9d7 enhance(frontend): Add an option to customize Lockdown duration (#16405)
* chore(locales): Add "setManually" and "_time.month"

Add Japanese locales to auto-generate other languages.

* feat(frontend): Add text fields to set lockdown duration manually

Choose from presets or set it manually.

* refactor(frontend): Make objects contains option's values and labels

When adding a new option, it needed to write two times.

* docs(changelog): Add a description about this change

Users can notice what's changed by this PR.

* refactor(frontend): Manage state by MkSelect

The functions only initialize the values.

* refactor(frontend): Make the custom input as writable computed

Clean up the MkInput components.

* chore(locales): Switch to "custom"

A single word is better than sentence on this situation.

* refactor(frontend): Insert the custom button to presets

Users don't need to click multiple times to use prests.
2025-08-18 14:11:48 +09:00
syuilo
ba40cb750b Update about-misskey.vue 2025-08-18 10:59:31 +09:00
syuilo
fcde6789ff feat(frontend): introduce haptic feedback as experimental feature
#16410
2025-08-18 10:49:27 +09:00
github-actions[bot]
14cc42e305 Bump version to 2025.8.0-alpha.13 2025-08-18 01:22:39 +00:00
syuilo
e481205342 enhance(frontend): update aiscript to 1.1.0 2025-08-18 10:18:34 +09:00
anatawa12
fea9f27fd6 chore: preserve notes with local reactions (#16412) 2025-08-17 17:08:38 +09:00
github-actions[bot]
9ea7340da6 Bump version to 2025.8.0-alpha.12 2025-08-15 13:44:57 +00:00
anatawa12
60f7278aff fix: Remote Note Cleaning will delete notes embedded in a page (#16408)
* feat: preserve number of pages referencing the note

* chore: delete pages on account delete

* fix: notes on the pages are removed by CleanRemoteNotes

* test: add the simplest test for page embedded notes

* fix: section block is not considered

* fix: section block is not considered in migration

* chore: remove comments from columns

* revert unnecessary change

* add pageCount to webhook test

* fix type error on backend
2025-08-15 22:39:55 +09:00
syuilo
bae92a944d enhance(frontend): improve enableInfiniteScroll stability
Close #16318
2025-08-15 12:40:37 +09:00
syuilo
7d30768769 fix(frontend): Botプロテクションの設定の変更検知が正しくない問題を修正 2025-08-15 12:10:14 +09:00
github-actions[bot]
e444942c4e Bump version to 2025.8.0-alpha.11 2025-08-14 08:02:14 +00:00
饺子w (Yumechi)
90b9609341 enhance: performance for CleanRemoteNotesProcessorService (#16404)
* enhance: performance for CleanRemoteNotesProcessorService

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* suggestions

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* docs

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* change initial limit to 100

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* robustness for transient race conditions

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* handle cursors in postgres

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* robustness: transient errors and timeout handling

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* use '0' as initial cursor

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-08-14 16:54:28 +09:00
syuilo
c25a922928 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-08-14 16:50:59 +09:00
syuilo
d26169ea32 Update about-misskey.vue 2025-08-14 16:50:56 +09:00
github-actions[bot]
8839d8d679 Bump version to 2025.8.0-alpha.10 2025-08-13 02:01:57 +00:00
syuilo
ad6af74eef New Crowdin updates (#16394)
* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Simplified)
2025-08-13 10:59:40 +09:00
Sayamame-beans
7bb43329bb fix(frontend): メンション補完のためのサジェストが正しく表示されない問題を修正 (#16401)
* fix(frontend): mention-syntax detection for autocomplete doesn't work properly

* docs(changelog): update changelog
2025-08-13 10:51:23 +09:00
syuilo
4c41930554 Update CHANGELOG.md 2025-08-11 15:54:18 +09:00
syuilo
295f42b986 New Crowdin updates (#16386)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Italian)
2025-08-11 12:25:59 +09:00
syuilo
299f9e3115 fix test 2025-08-11 12:09:25 +09:00
syuilo
1d8e183883 fix test 2025-08-11 12:01:32 +09:00
zyoshoka
f242892382 fix(workflow): correct references to built image's ID (#16391) 2025-08-10 23:54:06 +09:00
syuilo
ecc033f101 fix(backend): fix type errors caused by dependency update
https: //github.com/misskey-dev/misskey/pull/16308
Co-Authored-By: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-08-09 17:41:01 +09:00
renovate[bot]
684dbfd626 fix(deps): update [backend] update dependencies (#16201)
* fix(deps): update [backend] update dependencies

* Update HttpRequestService.ts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-09 17:00:59 +09:00
github-actions[bot]
aa5c42997f Bump version to 2025.8.0-alpha.9 2025-08-09 07:45:10 +00:00
github-actions[bot]
e7b666f567 Bump version to 2025.8.0-alpha.8 2025-08-09 06:04:17 +00:00
renovate[bot]
0f7c0ed053 chore(deps): update [misskey-js] update dependencies (#16346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 14:48:02 +09:00
syuilo
1e92bb4a0a chore(backend): remove unused codes 2025-08-09 14:44:36 +09:00
かっこかり
b5b7914073 enhance: ユーザー検索を制限できるように (#16380)
* enhance: ユーザー検索を制限できるように

* Update Changelog
2025-08-09 14:41:11 +09:00
syuilo
7595bff43b fix(backend): prevent run repeatable job immediately
Fix #16357
2025-08-09 14:37:09 +09:00
github-actions[bot]
72864fcbd0 Bump version to 2025.8.0-alpha.7 2025-08-09 05:27:57 +00:00
syuilo
1b0de39f92 Update CHANGELOG.md 2025-08-09 14:27:48 +09:00
renovate[bot]
d8a137cb6c chore(deps): update [tools] update dependencies (#16348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 14:26:52 +09:00
かっこかり
ddac2fb7a1 fix(frontend-builder): 言語バンドルの作成状況がログに残るように (#16385) 2025-08-09 14:26:03 +09:00
かっこかり
b1b335d55a fix: チャットの利用可否ポリシーの考慮漏れを修正 (#16259)
* fix: チャットの利用可否ポリシーの考慮漏れを修正

* 🎨
2025-08-09 14:25:31 +09:00
かっこかり
0586dd98cb fix(deps): regenerate lockfile (#16384) 2025-08-09 14:20:18 +09:00
syuilo
504f886065 Update CHANGELOG.md 2025-08-09 14:14:16 +09:00
Sayamame-beans
2931eb0aad Fix: チャンネルのハイライトページにノートが表示されない問題を修正 (#16364)
* fix(frontend): unable to see channel's featured notes

* docs(changelog): update changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-09 14:13:37 +09:00
anatawa12
103d5a4b44 fix frontend tests broken with aiscript 1.0.0 (#16377)
* test: update test for aiscript 1.0: line info in error

* test: update test for aiscript 1.0: keyword in object literal
2025-08-09 14:12:17 +09:00
かっこかり
785b85ee46 enhance(frontend): 画像エフェクトのUI改善 (#16191)
* enhance(frontend): 画像エフェクトの改善

* enhance: i18n colorClampAdvanced

* fix: missing translation

* enhance: i18n blockNoise

* fix lint

* fix: narrow down fx defs types

* fix

* fix: watermark用エフェクトは別で定義し直す

* fix lint

* ImageEffectorをwatermarkに隠蔽

* watermark関連の定義を完全に分離

* refactor

* fix

* ぼかし効果 -> スムージング

* refactor: remove unnecessary `as const`

* Update Changelog
2025-08-09 14:11:19 +09:00
anatawa12
8bd84a0ec4 fix: カラムの名前が正しくリスト/チャンネルの名前にならない問題 (#15987)
* fix: カラムの名前が正しくリスト/チャンネルの名前にならない問題

* changelog Fix: カラムの名前が正しくリスト/チャンネルの名前にならない問題を修正

* reduce requests to retrieve timeline name
2025-08-09 10:43:07 +09:00
renovate[bot]
9539995458 fix(deps): update [root] update dependencies (#16349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 10:34:12 +09:00
syuilo
e67ff36e57 enhance(frontend): AiScriptのcode-splittingが正しく行われるように 2025-08-08 21:50:05 +09:00
github-actions[bot]
96a165d729 Bump version to 2025.8.0-alpha.6 2025-08-08 12:36:36 +00:00
Sayamame-beans
215725a3ac Fix: SystemWebhook設定でsecretを空に出来ない問題を修正 (#16371)
* fix(backend): allow system-webhook secret to be empty

* docs(changelog): update changelog

* chore: run build-misskey-js-with-types
2025-08-08 21:35:02 +09:00
syuilo
3da04fcae4 New Crowdin updates (#16360)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)
2025-08-08 21:31:59 +09:00
tamaina
85e3e49688 fix(backend): Fix and create unit test of CleanRemoteNotesProcessorService (#16368)
* wip

* test(backend): CleanRemoteNotesProcessorService (basic)

* test(backend): CleanRemoteNotesProcessorService (advanced)

* ✌️

* a

* split initiator query

* no order by

* ???

* old → older
2025-08-08 21:31:31 +09:00
syuilo
076a83466e 🎨 2025-08-08 21:26:53 +09:00
syuilo
aaf3f343ea Update about-misskey.vue 2025-08-08 21:20:23 +09:00
github-actions[bot]
4a5751416a Bump version to 2025.8.0-alpha.5 2025-08-08 09:50:54 +00:00
anatawa12
adb3ad6b7f Follow up per locale bundle (#16381)
* fix docker build

* enable check spdx license id in frontend-builder

* fix eslint config

* run eslint for frontend-builder in ci

* fix eslint

* add license headers

* fix unnecessary comments

* update changelog

* fix generateDts

* fix tsx
2025-08-08 18:47:35 +09:00
anatawa12
8598f3912e per-locale bundle & inline locale (#16369)
* feat: split entry file by locale name

* chore: とりあえず transform hook で雑に分割

* chore: とりあえず transform 結果をいい感じに

* chore: concurrent buildで高速化

* chore: vite ではローケルのないものをビルドして後処理でどうにかするように

* chore: 後処理のためにi18n.jを単体になるように切り出す

* chore: use typescript

* chore: remove unref(i18n) in vite build process

* chore: inline variable

* fix: build error

* fix: i18n.ts.something.replaceAll() become error

* chore: ignore export specifier from error

* chore: support i18n.tsx as object

* chore: process literal for all files

* chore: split config and locale

* chore: inline locale name

* chore: remove updating locale in boot common

* chore: use top-level await to load locales

* chore: inline locale

* chore: remove loading locale from boot.js

* chore: remove loading locale from boot.js

* コメント追加

* fix test; fetchに失敗する

* import削除ログをdebugレベルに

* fix: watch pug

* chore: use hash for entry files

* chore: remove es-module-lexer from dependencies

* chore: move to frontend-builder

* chore: use inline locale in embed

* chore: refetch json on hot reload

* feat: store localization related to boot.js in backend in bootloaderLocales localstorage

* 応急処置を戻す

* fix spex

* fix `Using i18n identifier "e" directly. Skipping inlining.` warning

* refactor: use scriptsDir parameter

* chore: remove i18n from depmap

* chore: make build crash if errors

* error -> warn few conditions

* use inline object

* update localstorage keys

* remove accessing locale localstorage

* fix: failed to process i18n.tsx.aaa({x:i18n.bbb})
2025-08-08 11:26:18 +09:00
syuilo
f86239ab2f Update CONTRIBUTING.md 2025-08-07 17:21:43 +09:00
syuilo
ee9dc94063 enhance(frontend): タイムラインページのメニューから投稿フォームの表示有無を切り替えられるように 2025-08-06 14:22:21 +09:00
syuilo
998beeae59 feat(frontend): AiScriptを1.0に更新
Close #16277
2025-08-06 13:32:59 +09:00
syuilo
9931fff35b 🎨 2025-08-05 09:44:59 +09:00
syuilo
b4a0fdfaa1 fix type errors 2025-08-05 09:35:42 +09:00
syuilo
d979cd2c07 fix(frontend): 投稿フォームでファイルのアップロードが中止または失敗した際のハンドリングを修正 2025-08-05 09:15:02 +09:00
syuilo
bb56b3b4f1 feat(frontend): ページのタブバーを下部に表示できるように 2025-08-04 20:03:34 +09:00
anatawa12
2f13f923a8 chore: リモートノートの削除条件をデータベース上で確認するように (#16351) 2025-08-04 18:39:08 +09:00
syuilo
93fefc58c7 New translations ja-jp.yml (Turkish) (#16359) 2025-08-04 15:00:53 +09:00
かっこかり
bd7339c397 enhance(i18n): トルコ語を追加 (#16358) 2025-08-04 14:53:26 +09:00
syuilo
941625fd08 New Crowdin updates (#16336)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)
2025-08-04 14:47:51 +09:00
syuilo
b6765edffe clean up 2025-08-04 10:31:26 +09:00
anatawa12
9273b21516 fix: /:initialTab? is shown on the URL when opening note with some ways (#16353) 2025-08-03 22:12:35 +09:00
renovate[bot]
aa10e537a5 fix(deps): update [frontend] update dependencies (#16350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 13:33:27 +09:00
renovate[bot]
c79fe6dc33 fix(deps): update [frontend] update dependencies (#16347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 12:53:17 +09:00
github-actions[bot]
fbf8db618c Bump version to 2025.8.0-alpha.4 2025-08-03 02:05:40 +00:00
syuilo
6f3cc2cdf7 コントロールパネルの検索 (#16343)
* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update performance.vue

* Update performance.vue

* Update performance.vue

* Update external-services.vue

* wip

* wip

* Update security.vue

* Update settings.vue

* Update CHANGELOG.md

* wip

* Update moderation.vue

* wip

* Update branding.vue

* wip

* Update email-settings.vue

* Update system-webhook.vue

* Update MkSuperMenu.vue

* Update index.vue
2025-08-03 11:02:20 +09:00
syuilo
7c1f4c9037 perf(frontend): tweak css performance 2025-08-03 10:01:25 +09:00
かっこかり
2da20bf3e8 fix(misskey-js): fix misskey-js autogen (#16345) 2025-08-02 17:16:24 +09:00
renovate[bot]
6d54370f01 chore(deps): update [misskey-js] update dependencies (major) (#16177)
* chore(deps): update [misskey-js] update dependencies

* enhance(misskey-js): テストスイートをVitestに置き換え (#16340)

* enhance(misskey-js): テストスイートをVitestに置き換え

* fix: 変なものが混入

* fix test, lint

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-08-02 16:20:08 +09:00
かっこかり
905d3c87f1 Update CHANGELOG.md 2025-08-02 14:01:57 +09:00
syuilo
fc244067e0 enhnace(frontend): リロードのサジェストをダイアログではなくバナー表示に 2025-08-02 12:10:51 +09:00
syuilo
8449354887 fix e2e 2025-08-02 11:47:24 +09:00
syuilo
57e0f1b4ef fix e2e 2025-08-02 11:03:41 +09:00
github-actions[bot]
a1e170e065 Bump version to 2025.8.0-alpha.3 2025-08-01 13:35:41 +00:00
poppingmoon
73de40b81e enhance: support emojis added in Unicode 16.0 or earlier (#16329)
* add missing emojis to emojilist.json

* reorder family emojis

* reorder harp

* reorder symbols

* correct emoji genders

* add missing emojis to unicode-emoji-indexes

* add Japanese annotations for Sark flag

* correct kana notations

* add square colors

* upgrade @twemoji/parser to 16.0.0

* correct emoji genders

* upgrade mfm.js to 0.25.0
2025-08-01 22:26:29 +09:00
syuilo
2c836e3c24 fix migration
Fix #16341
2025-08-01 21:55:56 +09:00
syuilo
c2c5898221 refactor 2025-08-01 19:55:55 +09:00
果物リン
99adf12355 ノート検索のホスト指定オプションの速度改善 (#16339)
Co-authored-by: misskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com>
2025-08-01 17:48:26 +09:00
github-actions[bot]
7df0a6c55f Bump version to 2025.8.0-alpha.2 2025-08-01 08:23:40 +00:00
かっこかり
e092008dc5 feat(frontend): セーフモード (#16245)
* feat(frontend): セーフモード

* Update Changelog

* Update Changelog

* fix

* fix

* Update Changelog

* Update Changelog

* PWAのショートカット経由でもセーフモードで起動できるように

* Update ClientServerService.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-01 17:20:40 +09:00
syuilo
0cfc910cdc enhance(frontend): いくつかの翻訳を調整 2025-08-01 16:18:47 +09:00
かっこかり
62f68de800 fix(frontend); Playのボタンがはみ出している問題を修正 (#16303) 2025-08-01 14:31:49 +09:00
syuilo
5bf13c4cc2 Update CHANGELOG.md 2025-08-01 13:44:06 +09:00
syuilo
16f47adcc6 Update CHANGELOG.md 2025-08-01 13:43:09 +09:00
github-actions[bot]
8eba8c7218 Bump version to 2025.8.0-alpha.1 2025-08-01 04:06:20 +00:00
syuilo
b214a19d5f New Crowdin updates (#16300)
* New translations ja-jp.yml (Italian)

* 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 (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)
2025-08-01 13:04:32 +09:00
syuilo
1082145c74 enhance: ジョブのログを表示できるように 2025-08-01 12:54:33 +09:00
syuilo
2a836047e3 Update CHANGELOG.md 2025-08-01 12:38:50 +09:00
syuilo
b2b07e5f21 enhance(backend): 連合関係のサーバー設定のデフォルト値をウィザード側に移動
- サーバー初期設定ウィザードでデフォルト値を設定できるため、データベース上のデフォルト値でオンにしておく必要がない
- 連合は初期設定が終わるまで閉じられている方が安全
2025-08-01 12:36:25 +09:00
github-actions[bot]
da06f75455 Bump version to 2025.8.0-alpha.0 2025-08-01 02:50:01 +00:00
syuilo
d624da9c1a feat: remote notes cleaning (#16292)
* Create CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* wip

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update job-queue.job.vue

* wip

* Update CleanRemoteNotesProcessorService.ts

* wip

* wip

* wip

* Update CleanRemoteNotesProcessorService.ts

* wip

* Update CHANGELOG.md

* Revert "wip"

This reverts commit 89d455d302.

* wip

* woip

* Update QueueService.ts

* Update QueueService.ts

* ピン留め考慮

* Update CleanRemoteNotesProcessorService.ts

* Update QueueService.ts

* Update CleanRemoteNotesProcessorService.ts

* add log

* Update CHANGELOG.md

* wip

* Update MkServerSetupWizard.vue
2025-08-01 11:49:12 +09:00
syuilo
4c520fa693 enhance(frontend): サーバーの初期設定ウィザードをやり直せるように 2025-08-01 11:07:09 +09:00
syuilo
a7d1c94f48 enhance(backend): tweak system job log 2025-08-01 09:51:43 +09:00
かっこかり
4f5d3f6f7d fix(frontend): MkNotesTimelineの日付dividerのスタイル修正 (#16306) 2025-07-31 21:45:34 +09:00
syuilo
4be0045826 update minimum nodejs version 2025-07-31 21:21:44 +09:00
syuilo
18daf43f70 clean up
ワイルドカードセレクタはexpensive
2025-07-31 21:12:07 +09:00
syuilo
862a6fae79 enhance(backend): 古いバージョンで作成され現在使われなくなったrepeatableジョブをクリーンアップするように 2025-07-31 20:57:36 +09:00
かっこかり
a45e89c300 fix(frontend): 適用中のテーマを保持する際にリアクティビティも保持される問題を修正 (#16304)
* fix(frontend): 現在のテーマを保持する際にリアクティビティが保持される問題を修正

* Update Changelog

* Update theme.ts
2025-07-31 18:47:22 +09:00
syuilo
35888eb8f4 enhance(backend): BullMQの廃止されたRepeatableからJob Schedulersに移行 2025-07-31 18:16:21 +09:00
syuilo
f2a23fb55e ノートの脱CASCADE削除 (#16332)
* wip

* Update CHANGELOG.md

* Update QueryService.ts

* Update QueryService.ts

* wip

* Update MkNoteDetailed.vue

* Update NoteEntityService.ts

* wip

* Update antennas.ts

* Update create.ts

* Update NoteEntityService.ts

* wip

* Update CHANGELOG.md

* Update NoteEntityService.ts

* Update NoteCreateService.ts

* Update note.test.ts

* Update note.test.ts

* Update ClientServerService.ts

* Update ClientServerService.ts

* add error handling

* Update NoteDeleteService.ts

* Update CHANGELOG.md

* Update entities.ts

* Update entities.ts

* Update misskey-js.api.md
2025-07-31 14:40:51 +09:00
tamaina
414d5958c1 fix(test): Fix name of a test in e2e/timelines.ts (#16334) 2025-07-31 14:22:32 +09:00
tamaina
8c65d8d020 test(backend): e2e/timelines.ts: 非FTT時のテストを追加, 凍結のテストを追加, これにかかる幾つかのバグ修正 (#16284)
* test(backend): 非FTT時のテストを追加

* clean up

* skip test about reply

* Fix #16289

* clean up

* cherry pick

* add renote test

* Fix https://github.com/misskey-dev/misskey/issues/16293

* remove debug log
2025-07-30 21:41:46 +09:00
かっこかり
927aa9dc3d fix(frontend): inline な SearchMarker のパスが正しくない問題を修正 (#16301)
* replace URL path for inlined SearchMarkers

The search index looks like:

```ts
[
 {
   id: 'foo', label: 'security',
   path: '/settings/security', inlining: ['2fa'],
 },
 {
   id: '2fa',
   label: 'two-factor auth',
   path: '/settings/2fa', // guessed wrong by the index generation
 },
 {
   id: 'aaaa',
   parentId: '2fa',
   label: 'totp',
 },
 …
]
```

This file post-processes that index and re-parents the inlined
sections. Problem was, it left the (wrong) `path` untouched.

Replacing the `path` makes the search work fine.

* Update Changelog

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-07-30 14:39:55 +09:00
かっこかり
1dec8b2329 fix(frontend/test): Cypressが失敗する問題を修正 (#16307)
* attempt to fix test

* fix(frontend/test): Cypressが失敗する問題を修正
2025-07-30 14:12:59 +09:00
zyoshoka
b0493abe93 chore: continue backend E2E test even if fail with minimum Node.js version (#16324)
* chore: continue backend E2E test even if fail with minimum Node.js version

* chore: disable `fail-fast`
2025-07-30 12:32:24 +09:00
かっこかり
4f653f2fbc enhance(frontend): typed nirax (#16309)
* enhance(frontend): typed nirax

* migrate router.replace

* fix
2025-07-30 12:30:35 +09:00
tamaina
b660769288 perf(frontend): draw-blurhash workerの結果をpostMessageする際にImageBitmapを移譲する (#16330) 2025-07-30 09:30:07 +09:00
かっこかり
48246bd166 fix(deps): regenerate lockfile (#16302) 2025-07-19 14:00:19 +09:00
github-actions[bot]
73419e8a61 [skip ci] Update CHANGELOG.md (prepend template) 2025-07-18 00:28:02 +00:00
misskey-release-bot[bot]
e86e9b46b3 Merge pull request #16244 from misskey-dev/develop
Release: 2025.7.0
2025-07-18 00:28:01 +00:00
github-actions[bot]
9852196ddc Release: 2025.7.0 2025-07-18 00:27:57 +00:00
github-actions[bot]
598641de48 Bump version to 2025.7.0-rc.1 2025-07-17 11:07:00 +00:00
syuilo
4d643c77c5 New Crowdin updates (#16274)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)
2025-07-17 20:03:13 +09:00
syuilo
a686592734 enhance(frontend): disable InfiniteScroll to improve stability
#16229
2025-07-17 20:02:55 +09:00
syuilo
0619dba04d remove unused code 2025-07-17 20:00:05 +09:00
github-actions[bot]
fbd6b67f1f Bump version to 2025.7.0-rc.0 2025-07-17 08:33:52 +00:00
かっこかり
e5c2be15f7 fix(deps): Node.jsの最小バージョンを引き上げ (#16296)
* Update package.json

* Update min.node-version

* Update CHANGELOG.md
2025-07-17 13:20:43 +09:00
renovate[bot]
1b791258ce fix(deps): update [frontend] update dependencies (#16202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 12:14:19 +09:00
renovate[bot]
49cac2f72b fix(deps): update [root] update dependencies (#16200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 11:56:55 +09:00
renovate[bot]
5d5aa09459 chore(deps): update [misskey-js] update dependencies (#16199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 11:42:34 +09:00
github-actions[bot]
e1834beae8 Bump version to 2025.7.0-beta.2 2025-07-16 06:52:02 +00:00
anatawa12
6f6fdfe28e Migration cleanup (#16288)
* chore: apply several @Index and @ManyToOne to match actual migration code

* chore: several decorator updates with typeorm bug workaround with patches

* feat: add final cleanup migration

* dev: add .editorconfig settings for generated migrations

* chore: update dockerfile to build package with patches

* chore: update federation test compose to include patches

* chore: revert few dependency update

* chore: don't check disableRegistration on test env

* test: add test for checking migration script

* chore: set proxyRemoteFiles true in test config

* chore: enter invitation code in signup test

* fix: register send button is not disabled when invitationCode is not input
2025-07-16 15:49:05 +09:00
tamaina
ad7bf096e1 enhance(backend): usernameに対してもprohibitedWordsForNameOfUserを適用 (#16282)
* enhance(backend): usernameに対してもprohibitedWordsForNameOfUserを適用
Resolve #16281

* fix locales/index/d.ts
2025-07-15 09:32:46 +09:00
anatawa12
08cc5a99bb Don't remove notes when reply / renote is removed (#16287)
* chore: make NO ACTION on channel/reply/renote removal

* chore(docs): add description to show a possibility of reply null with replyId non-null

* fix: packing NoteDraft fails when reply / renote is removed

* feat: show drafts targeting removed renote / reply as "削除された投稿への投稿"
2025-07-15 09:20:48 +09:00
github-actions[bot]
f954b1e276 Bump version to 2025.7.0-beta.1 2025-07-12 06:17:58 +00:00
syuilo
5ecaf5095e enhance: ウォーターマーク機能をロールで制御可能に 2025-07-12 15:13:35 +09:00
syuilo
d2c4f79886 New Crowdin updates (#16258)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)
2025-07-12 15:00:30 +09:00
anatawa12
e26369ed48 fix: unable to horizontally scroll when pull to refresh is enabled (#16273) 2025-07-12 15:00:06 +09:00
syuilo
c165749a29 chore(frontend): fix type errors 2025-07-06 20:54:02 +09:00
syuilo
c4fdf5a47c chore(frontend): fix type errors 2025-07-06 20:47:31 +09:00
syuilo
288f0abeac chore(frontend): fix type errors 2025-07-06 20:37:09 +09:00
かっこかり
89ed8be8ff fix(frontend): MkRange/MkSelectでdisabledが効かなくなっている問題を修正 (#16263)
* fix(frontend): MkRange/MkSelectでdisabledが効かなくなっている問題を修正

* Update Changelog

* 誤字
2025-07-06 19:38:09 +09:00
かっこかり
a8abb03d17 refactor(frontend): Formまわりの型強化 (#16260)
* refactor(frontend): Formまわりの型強化

* fix

* avoid non-null assertion and add null check for safety

* refactor

* avoid non-null assertion and add null check for safety

* Update clip.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-07-06 19:36:11 +09:00
syuilo
c2a01551a7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-07-06 19:32:33 +09:00
syuilo
553ccff77c chore(frontend): tweak selector to improve rendering performance 2025-07-06 19:32:31 +09:00
かっこかり
9dddc84750 refactor(frontend): menuの型定義の可読性向上 (#16261) 2025-07-06 17:24:34 +09:00
syuilo
004cfd5e4b clean up 2025-07-06 15:57:21 +09:00
syuilo
40a35968f0 clean up 2025-07-06 15:54:33 +09:00
syuilo
e6ec15e397 feat: 特定のドライブファイルを添付しているチャットメッセージを一覧できるように 2025-07-06 09:54:49 +09:00
syuilo
8430256f22 clean up 2025-07-05 19:29:18 +09:00
Souma
abde15979b enhance(backend): Add display name to email (#16256)
* feat(backend): Add display name to email

Make it clear who sent emails.

* docs(changelog): Add a description about this change

Users can notice what's changed by this PR.
2025-07-05 18:22:08 +09:00
syuilo
f128682200 fix type errors 2025-07-05 17:13:29 +09:00
syuilo
cc4cdd1ec0 clean up 2025-07-05 12:13:08 +09:00
syuilo
075df75afa Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-07-05 11:56:22 +09:00
syuilo
64eb338d65 🎨 2025-07-05 11:56:20 +09:00
tamaina
d986da745b ノートのサーバー情報(InstanceTicker)のデザイン/パフォーマンス改善(-webkit-text-stroke ver) (#16225)
* Revert "enhance(frontend): Instance Tickerのデザイン改善 (#15946)"

This reverts commit 04928ba7d1.

* enhance(frontend): Instance Tickerのデザイン改善(-webkit-text-stroke)

* 🎨

* use theme fg/bg

* use panel
2025-07-05 09:59:48 +09:00
syuilo
50f5b29290 New Crowdin updates (#16237)
* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Indonesian)
2025-07-05 09:07:25 +09:00
syuilo
a460bb7913 perf(frontend): improve rendering performance 2025-07-05 09:05:47 +09:00
syuilo
7cf1eccd04 clean up 2025-07-05 08:31:20 +09:00
syuilo
73397e1b7e Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-07-05 08:18:56 +09:00
tamaina
bf17092b41 test: VS Code上で複数のjestテストを表示できるように (#16251) 2025-07-05 08:18:15 +09:00
github-actions[bot]
6d1018f42b Bump version to 2025.7.0-beta.0 2025-07-04 09:52:01 +00:00
かっこかり
7667011266 fix(frontend): ウェルカムタイムラインのメディア表示がCWを考慮していない問題を修正 (#16247)
* fix(frontend): ウェルカムタイムラインのメディア表示がCWを考慮していない問題を修正

* Update Changelog
2025-07-04 18:49:21 +09:00
syuilo
a45ccc18b4 refactor 2025-07-04 18:33:41 +09:00
syuilo
c29a4d9503 fix(test): Play検索機能でBackend Unit Testが壊れている 2025-07-04 18:31:34 +09:00
syuilo
5caf2b27cf fix(test): Play検索機能でBackend Unit Testが壊れている
Fix #16248
2025-07-04 16:32:56 +09:00
syuilo
dd87d26bdc feat: Playを検索できるように
#13115
2025-07-04 10:20:00 +09:00
かっこかり
b7a6301c2e fix(frontend): プラグインのアンインストール時にローカルのセーブデータを削除するように (#16246)
* fix(frontend): プラグインのアンインストール時にローカルのセーブデータを削除するように

* Update Changelog

* remove unused import

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-07-04 07:40:00 +09:00
syuilo
73e8d950df enhance(frontend): 投稿フォームにファイルをペースト/ドロップした際のUXを改善
Resolve #16205
2025-07-03 19:11:46 +09:00
syuilo
45033974f7 Update CHANGELOG.md 2025-07-03 19:03:34 +09:00
github-actions[bot]
7acfbc23d6 Bump version to 2025.7.0-alpha.0 2025-07-03 09:57:13 +00:00
github-actions[bot]
a9a746edce Bump version to 2025.6.4-alpha.4 2025-07-03 09:55:33 +00:00
かっこかり
179d990c39 fix(frontend): タブが不可視なあいだのpaginationのアップデートを停止するように (#16243)
* fix(frontend): タブが不可視なあいだのpaginationのアップデートを停止するように

* fix lint

* 待たない
2025-07-03 18:52:16 +09:00
4ster1sk
7c44881ca8 enhance(backend): avatarUrlの上限文字数の引き上げ (#16235) 2025-07-03 18:03:02 +09:00
tamaina
ccbc4cffaa enhance(frontend): 共有ページで、titleとtextに同じ内容が入っていた際の削除ロジックを強化 (#16226)
* enhance(frontend): 共有ページで、titleとtextに同じ内容が入っていた際の削除ロジックを強化
Fix #16224

* fix

* +→*

* fix

* use RegExp.test

* Update packages/frontend/src/pages/share.vue

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-07-03 18:00:43 +09:00
tamaina
706244925d fix(frontend): 条件により保存できない場合のメッセージを汎用的なものへ (#16238)
Fix #16228
2025-07-03 17:59:55 +09:00
かっこかり
09a5e4b10a fix(frontend): Paginatorの型エラー解消 (#16230)
* fix(frontend): fix paginator type error

* fix

* refactor

* fix

* fix

* fix(paginator): remove readonly type

* fix

* typo

* fix: R -> E

* remove any

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-07-03 11:20:26 +09:00
syuilo
c48acad04b 🎨 2025-06-29 17:21:43 +09:00
github-actions[bot]
5d3bb02f4b Bump version to 2025.6.4-alpha.3 2025-06-29 06:47:43 +00:00
syuilo
933e252687 fix of f1deb89e34 2025-06-29 15:36:39 +09:00
syuilo
f1deb89e34 refactor(frontend): improve pagination implementation 2025-06-29 15:11:25 +09:00
syuilo
8bc822d829 feat(backend): クリップ内でノートを検索できるように 2025-06-29 15:10:51 +09:00
syuilo
c215cccf1d enhance(frontend): ファイルアップロード時にセンシティブ設定されているか表示するように 2025-06-29 08:50:55 +09:00
github-actions[bot]
0685bdf05c Bump version to 2025.6.4-alpha.2 2025-06-28 12:52:32 +00:00
syuilo
3394ed2122 New Crowdin updates (#16207)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)
2025-06-28 21:43:22 +09:00
syuilo
c5a440cf22 Update types.ts 2025-06-28 21:43:14 +09:00
syuilo
3c6f07fc8c feat: モデログを検索できるように 2025-06-28 21:38:54 +09:00
syuilo
3c5ed0ffbb enhance(frontend): improve modlog pagination 2025-06-28 21:18:36 +09:00
syuilo
b8e8f3ad25 enhance: ページネーション(一覧表示)の基準日時を指定できるように sinceId/untilIdが指定可能なエンドポイントにおいて、sinceDate/untilDateも指定可能に 2025-06-28 20:21:21 +09:00
syuilo
012b2a9764 enhance(frontend): improve MkTl rendering 2025-06-28 19:24:55 +09:00
syuilo
dfbc40f868 lint 2025-06-28 19:20:02 +09:00
syuilo
32ddaa0cf8 Update about-misskey.vue 2025-06-28 12:02:16 +09:00
syuilo
bf6e218355 refactor 2025-06-28 12:00:15 +09:00
syuilo
19ef6c0b14 Update about-misskey.vue 2025-06-27 20:10:17 +09:00
syuilo
535b86f05e lint 2025-06-27 10:02:49 +09:00
taichan
01a94eaecb chore(CI): cache ffmpeg (#16223)
* ci: use daily cache for ffmpeg

* fix(ci): input type

* Fix current date

* Just use Daily cache

* fix condition
2025-06-26 19:08:47 +09:00
syuilo
9a28fa0534 refactor(frontend/pref): refactor preferences manager
Refactored preferences manager to decouple account context and storage provider, improving normalization and loading of profiles. Replaced static profile creation/normalization with instance-based logic, and updated usage in preferences.ts to pass account context explicitly. This enhances maintainability and prepares for better guest account handling.
2025-06-26 16:25:43 +09:00
github-actions[bot]
899273554a Bump version to 2025.6.4-alpha.1 2025-06-26 04:38:12 +00:00
misskey-release-bot[bot]
9b729b3d25 Merge pull request #16197 from misskey-dev/develop
Release: 2025.6.3
2025-06-16 11:13:26 +00:00
misskey-release-bot[bot]
3c973e21f2 Merge pull request #16195 from misskey-dev/develop
Release: 2025.6.2
2025-06-16 08:58:35 +00:00
misskey-release-bot[bot]
830e2f0a5b Merge pull request #16152 from misskey-dev/develop
Release: 2025.6.1
2025-06-16 02:33:18 +00:00
misskey-release-bot[bot]
1620477a1c Merge pull request #16134 from misskey-dev/develop
Release: 2025.6.0
2025-06-02 00:58:34 +00:00
misskey-release-bot[bot]
92b9a5218d Merge pull request #16005 from misskey-dev/develop
Release: 2025.5.1
2025-05-31 12:37:06 +00:00
misskey-release-bot[bot]
9ed0d5ccec Merge pull request #15933 from misskey-dev/develop
Release: 2025.5.0
2025-05-07 02:46:42 +00:00
misskey-release-bot[bot]
a6d1727205 Merge pull request #15842 from misskey-dev/develop
Release: 2025.4.1
2025-04-30 09:01:47 +00:00
misskey-release-bot[bot]
3c3982464f Merge pull request #15735 from misskey-dev/develop
Release: 2025.4.0
2025-04-09 02:17:31 +00:00
misskey-release-bot[bot]
bef73ff530 Merge pull request #15615 from misskey-dev/develop
Release: 2025.3.1
2025-03-09 03:29:58 +00:00
misskey-release-bot[bot]
4d31c0b1de Merge pull request #15585 from misskey-dev/develop
Release: 2025.3.0
2025-03-06 10:31:34 +00:00
misskey-release-bot[bot]
a5f28c21e4 Merge pull request #15507 from misskey-dev/develop
Release: 2025.2.1
2025-02-27 08:58:43 +00:00
misskey-release-bot[bot]
c93ead7474 Merge pull request #15378 from misskey-dev/develop
Release: 2025.2.0
2025-02-05 08:58:45 +00:00
misskey-release-bot[bot]
36880493cb Merge pull request #15279 from misskey-dev/develop
Release: 2025.1.0
2025-01-28 12:29:14 +00:00
misskey-release-bot[bot]
e8518de054 Merge pull request #14924 from misskey-dev/develop
Release: 2024.11.0
2024-11-22 09:15:34 +00:00
misskey-release-bot[bot]
b99e13e667 Merge pull request #14741 from misskey-dev/develop
Release: 2024.10.1
2024-10-15 04:53:46 +00:00
misskey-release-bot[bot]
2518cf36d0 Merge pull request #14675 from misskey-dev/develop
Release: 2024.10.0
2024-10-09 05:17:29 +00:00
1489 changed files with 64734 additions and 34863 deletions

View File

@@ -105,6 +105,54 @@ port: 3000
# socket: /path/to/misskey.sock
# chmodSocket: '777'
# Proxy trust settings
#
# Specifies the IP addresses that Misskey will use as trusted
# reverse proxies (e.g., nginx, Cloudflare). This affects how
# Misskey determines the source IP for each request and is used
# for important rate limiting and security features. If the value
# is not set correctly, Misskey may use the IP address of the
# reverse proxy instead of the actual source IP, which may lead to
# unintended rate limiting or security vulnerabilities.
# By default, the loopback network and private network address
# ranges shown below are trusted.
# If you are using a single reverse proxy and it is on the same
# machine or the same private network as Misskey, it is unlikely you
# need to change this setting, and the default setting is fine.
# Also, if you are using multiple reverse proxy servers and they are
# all on the same private network as Misskey, the default setting
# is fine.
# However, if you are using a reverse proxy server that accesses
# Misskey web servers and streaming servers via public IP addresses
# (for example, Cloudflare), you must set this variable.
# When changing this setting, you can use one of the following values:
#
# - true: Trust all proxies
# - false: Do not trust any proxies
# - IP address, IP address range, or array of them: Trust hops that
# match the specified criteria.
# - Integer: Trust the nth hop from the front-facing proxy server as
# the client.
# For more information on how to configure this setting, please refer
# to the Fastify documentation:
# https://fastify.dev/docs/latest/Reference/Server/#trustproxy
#
# Note that if this variable is set, it overrides the default range,
# so if you have both an external reverse proxy and a proxy on the
# local host, you must include both IPs (or IP ranges).
#
#trustProxy:
# - '10.0.0.0/8'
# - '172.16.0.0/12'
# - '192.168.0.0/16'
# - '127.0.0.1/32'
# - '::1/128'
# - 'fc00::/7'
# # Example: If you are using some external reverse proxies like CDNs,
# # you may need to add the CDN IP ranges here.
# # If you're using Cloudflare, you can find IP Ranges at:
# # https://www.cloudflare.com/ips/
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
@@ -273,6 +321,10 @@ id: 'aidx'
# Whether disable HSTS
#disableHsts: true
# Enable internal IP-based rate limiting (default: true)
# To configure them in reverse proxy instead, set this to false.
#enableIpRateLimit: true
# Number of worker processes
#clusterLimit: 1

View File

@@ -1 +1 @@
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18
FROM mcr.microsoft.com/devcontainers/javascript-node:4.0.3-24-trixie

View File

@@ -28,7 +28,7 @@ services:
db:
restart: unless-stopped
image: postgres:15-alpine
image: postgres:18-alpine
networks:
- internal_network
environment:

View File

@@ -19,7 +19,6 @@
"editorconfig.editorconfig",
"dbaeumer.vscode-eslint",
"Vue.volar",
"Orta.vscode-jest",
"dbaeumer.vscode-eslint",
"mrmlnc.vscode-json5"
]

View File

@@ -6,6 +6,7 @@
Dockerfile
build/
built/
src-js/
db/
.devcontainer/compose.yml
node_modules/

View File

@@ -13,3 +13,7 @@ trim_trailing_whitespace = false
[*.{yml,yaml}]
indent_style = space
[packages/backend/migration/*.js]
indent_style = space
indent_size = 4

View File

@@ -54,7 +54,7 @@ body:
* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
* Browser: Chrome 113.0.5672.126
* Server URL: misskey.example.com
* Misskey: 2025.x.x
* Misskey: 2026.x.x
value: |
* Model and OS of the device(s):
* Browser:
@@ -74,9 +74,9 @@ body:
Examples:
* Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
* Misskey: 2025.x.x
* Misskey: 2026.x.x
* Node: 20.x.x
* PostgreSQL: 15.x.x
* PostgreSQL: 18.x.x
* Redis: 7.x.x
* OS and Architecture: Ubuntu 24.04.2 LTS aarch64
value: |

3
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,3 @@
# Copilot Instructions for Misskey
- en-US.yml を編集しないでください。

View File

@@ -34,9 +34,6 @@ updates:
patterns:
- "storybook*"
- "@storybook/*"
swc-core:
patterns:
- "@swc/core*"
typescript-eslint:
patterns:
- "@typescript-eslint/*"

View File

@@ -1 +1 @@
20.10.0
22.15.0

View File

@@ -15,3 +15,5 @@ redis:
host: 127.0.0.1
port: 56312
id: aidx
proxyRemoteFiles: true

View File

@@ -16,13 +16,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Setup Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'

View File

@@ -12,9 +12,9 @@ jobs:
steps:
- name: Checkout head
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Setup Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'

View File

@@ -18,7 +18,7 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
with:
submodules: true
persist-credentials: false
@@ -29,7 +29,7 @@ jobs:
- name: setup node
id: setup-node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: pnpm
@@ -53,7 +53,7 @@ jobs:
# packages/misskey-js/generator/built/autogen
- name: Upload Generated
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: generated-misskey-js
path: packages/misskey-js/generator/built/autogen
@@ -66,14 +66,14 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
with:
submodules: true
persist-credentials: false
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Upload From Merged
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: actual-misskey-js
path: packages/misskey-js/src/autogen
@@ -86,13 +86,13 @@ jobs:
pull-requests: write
steps:
- name: download generated-misskey-js
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: generated-misskey-js
path: misskey-js-generated
- name: download actual-misskey-js
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: actual-misskey-js
path: misskey-js-actual
@@ -113,9 +113,9 @@ jobs:
- name: send message
if: steps.check-changes.outputs.changes == 'true'
uses: thollander/actions-comment-pull-request@v2
uses: thollander/actions-comment-pull-request@v3
with:
comment_tag: check-misskey-js-autogen
comment-tag: check-misskey-js-autogen
message: |-
Thank you for sending us a great Pull Request! 👍
Please regenerate misskey-js type definitions! 🙏
@@ -127,9 +127,9 @@ jobs:
- name: send message
if: steps.check-changes.outputs.changes == 'false'
uses: thollander/actions-comment-pull-request@v2
uses: thollander/actions-comment-pull-request@v3
with:
comment_tag: check-misskey-js-autogen
comment-tag: check-misskey-js-autogen
mode: delete
message: "Thank you!"
create_if_not_exists: false

View File

@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Check version
run: |
if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Check
run: |
counter=0
@@ -50,6 +50,7 @@ jobs:
"packages/backend/test"
"packages/frontend-shared/@types"
"packages/frontend-shared/js"
"packages/frontend-builder"
"packages/frontend/.storybook"
"packages/frontend/@types"
"packages/frontend/lib"

View File

@@ -10,7 +10,7 @@ jobs:
check_copyright_year:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
- run: |
if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
echo "Please change copyright year!"

View File

@@ -28,7 +28,7 @@ jobs:
wait_time: ${{ steps.get-wait-time.outputs.wait_time }}
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Check allowed users
id: check-allowed-users

View File

@@ -27,7 +27,7 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
@@ -53,7 +53,7 @@ jobs:
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
@@ -66,7 +66,7 @@ jobs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
path: /tmp/digests
pattern: digests-*

View File

@@ -32,7 +32,7 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta
@@ -64,7 +64,7 @@ jobs:
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
@@ -77,7 +77,7 @@ jobs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
path: /tmp/digests
pattern: digests-*

View File

@@ -11,22 +11,43 @@ on:
jobs:
dockle:
runs-on: ubuntu-latest
env:
DOCKER_CONTENT_TRUST: 1
DOCKLE_VERSION: 0.4.14
DOCKLE_VERSION: 0.4.15
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
- name: Download and install dockle v${{ env.DOCKLE_VERSION }}
run: |
set -eux
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb"
sudo dpkg -i dockle.deb
- run: |
cp .config/docker_example.env .config/docker.env
cp ./compose_example.yml ./compose.yml
- run: |
docker compose up -d web
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest
- run: |
cmd="dockle --exit-code 1 misskey-web:latest ${image_name}"
echo "> ${cmd}"
eval "${cmd}"
- name: Build web image (docker build)
run: |
set -eux
docker build -t "misskey-web:ci" .
docker image ls
- name: Mount tmpfs for Dockle tar
env:
TMPFS_SIZE: 8G
run: |
set -eux
sudo mkdir -p /mnt/dockle-tmp
sudo mount -t tmpfs -o size=${{ env.TMPFS_SIZE }} tmpfs /mnt/dockle-tmp
free -h
df -h
- name: Save image tar into tmpfs
run: |
set -eux
docker save misskey-web:ci -o /mnt/dockle-tmp/misskey-web.tar
ls -lh /mnt/dockle-tmp/misskey-web.tar
- name: Run Dockle Scan (tar input)
run: |
set -eux
dockle --exit-code 1 --input /mnt/dockle-tmp/misskey-web.tar

View File

@@ -25,14 +25,14 @@ jobs:
ref: refs/pull/${{ github.event.number }}/merge
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
ref: ${{ matrix.ref }}
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -48,7 +48,7 @@ jobs:
- name: Copy API.json
run: cp packages/backend/built/api.json ${{ matrix.api-json-name }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: api-artifact-${{ matrix.api-json-name }}
path: ${{ matrix.api-json-name }}
@@ -61,7 +61,7 @@ jobs:
PR_NUMBER: ${{ github.event.number }}
run: |
echo "$PR_NUMBER" > ./pr_number
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: api-artifact-pr-number
path: pr_number

View File

@@ -0,0 +1,87 @@
# this name is used in report-backend-memory.yml so be careful when change name
name: Get backend memory usage
on:
pull_request:
branches:
- master
- develop
paths:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/get-backend-memory.yml
jobs:
get-memory-usage:
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
matrix:
memory-json-name: [memory-base.json, memory-head.json]
include:
- memory-json-name: memory-base.json
ref: ${{ github.base_ref }}
- memory-json-name: memory-head.json
ref: refs/pull/${{ github.event.number }}/merge
services:
postgres:
image: postgres:18
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
ports:
- 56312:6379
steps:
- uses: actions/checkout@v6.0.2
with:
ref: ${{ matrix.ref }}
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/misskey/test.yml .config/default.yml
- name: Compile Configure
run: pnpm compile-config
- name: Build
run: pnpm build
- name: Run migrations
run: pnpm --filter backend migrate
- name: Measure memory usage
run: |
# Start the server and measure memory usage
node packages/backend/scripts/measure-memory.mjs > ${{ matrix.memory-json-name }}
- name: Upload Artifact
uses: actions/upload-artifact@v6
with:
name: memory-artifact-${{ matrix.memory-json-name }}
path: ${{ matrix.memory-json-name }}
save-pr-number:
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo "$PR_NUMBER" > ./pr_number
- uses: actions/upload-artifact@v6
with:
name: memory-artifact-pr-number
path: pr_number

View File

@@ -11,6 +11,6 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v6
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -9,6 +9,7 @@ on:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-builder/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/**
@@ -22,6 +23,7 @@ on:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-builder/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/**
@@ -34,13 +36,13 @@ jobs:
pnpm_install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.4.0
uses: pnpm/action-setup@v4.4.0
- uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -56,6 +58,7 @@ jobs:
- backend
- frontend
- frontend-shared
- frontend-builder
- frontend-embed
- icons-subsetter
- sw
@@ -66,19 +69,19 @@ jobs:
eslint-cache-version: v1
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.4.0
uses: pnpm/action-setup@v4.4.0
- uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Restore eslint cache
uses: actions/cache@v4.2.3
uses: actions/cache@v4.3.0
with:
path: ${{ env.eslint-cache-path }}
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
@@ -93,22 +96,20 @@ jobs:
matrix:
workspace:
- backend
- frontend
- sw
- misskey-js
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.4.0
uses: pnpm/action-setup@v4.4.0
- uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- run: pnpm --filter misskey-js run build
if: ${{ matrix.workspace == 'backend' || matrix.workspace == 'sw' }}
- run: pnpm --filter misskey-reversi run build
if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter "${{ matrix.workspace }}^..." run build
- run: pnpm --filter ${{ matrix.workspace }} run typecheck

View File

@@ -3,10 +3,12 @@ name: Lint
on:
push:
paths:
- packages/i18n/**
- locales/**
- .github/workflows/locale.yml
pull_request:
paths:
- packages/i18n/**
- locales/**
- .github/workflows/locale.yml
jobs:
@@ -14,15 +16,18 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- run: cd locales && node verify.js
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.4.0
- uses: actions/setup-node@v6.3.0
with:
node-version-file: ".node-version"
cache: "pnpm"
- run: pnpm i --frozen-lockfile
- run: pnpm --filter i18n build
- name: Verify Locales
working-directory: ./packages/i18n
run: pnpm run verify

View File

@@ -16,18 +16,21 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
# see https://docs.github.com/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry
registry-url: 'https://registry.npmjs.org'
# Ensure npm 11.5.1 or later is installed
- name: Update npm
run: npm install -g npm@latest
- name: Publish package
run: |
pnpm i --frozen-lockfile

View File

@@ -19,7 +19,7 @@ jobs:
edit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
- name: Get PR
run: |

View File

@@ -36,7 +36,7 @@ jobs:
outputs:
pr_number: ${{ steps.get_pr.outputs.pr_number }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
- name: Get PRs
run: |

View File

@@ -16,7 +16,7 @@ jobs:
# api-artifact
steps:
- name: Download artifact
uses: actions/github-script@v7.0.1
uses: actions/github-script@v8.0.0
with:
script: |
const fs = require('fs');
@@ -60,7 +60,7 @@ jobs:
- name: Echo full diff
run: cat ./api-full.json.diff
- name: Upload full diff to Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: api-artifact
path: |
@@ -73,9 +73,9 @@ jobs:
HEADER="このPRによるapi.jsonの差分"
FOOTER="[Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})"
DIFF_BYTES="$(stat ./api.json.diff -c '%s' | tr -d '\n')"
echo "$HEADER" > ./output.md
if (( "$DIFF_BYTES" <= 1 )); then
echo '差分はありません。' >> ./output.md
else
@@ -87,18 +87,18 @@ jobs:
echo '```' >> ./output.md
echo '</details>' >> .output.md
fi
echo "$FOOTER" >> ./output.md
- uses: thollander/actions-comment-pull-request@v2
- uses: thollander/actions-comment-pull-request@v3
with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
comment_tag: show_diff
filePath: ./output.md
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_diff
file-path: ./output.md
- name: Tell error to PR
uses: thollander/actions-comment-pull-request@v2
uses: thollander/actions-comment-pull-request@v3
if: failure() && steps.load-pr-num.outputs.pr-number
with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
comment_tag: show_diff_error
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_diff_error
message: |
api.jsonの差分作成中にエラーが発生しました。詳細は[Workflowのログ](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})を確認してください。

View File

@@ -0,0 +1,177 @@
name: Report backend memory
on:
workflow_run:
types: [completed]
workflows:
- Get backend memory usage # get-backend-memory.yml
jobs:
compare-memory:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
permissions:
pull-requests: write
steps:
- name: Download artifact
uses: actions/github-script@v8.0.0
with:
script: |
const fs = require('fs');
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
let matchArtifacts = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name.startsWith("memory-artifact-") || artifact.name == "memory-artifact"
});
await Promise.all(matchArtifacts.map(async (artifact) => {
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: artifact.id,
archive_format: 'zip',
});
await fs.promises.writeFile(`${process.env.GITHUB_WORKSPACE}/${artifact.name}.zip`, Buffer.from(download.data));
}));
- name: Extract all artifacts
run: |
find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec unzip {} -d artifacts ';'
ls -la artifacts/
- name: Load PR Number
id: load-pr-num
run: echo "pr-number=$(cat artifacts/pr_number)" >> "$GITHUB_OUTPUT"
- name: Output base
run: cat ./artifacts/memory-base.json
- name: Output head
run: cat ./artifacts/memory-head.json
- name: Compare memory usage
id: compare
run: |
BASE_MEMORY=$(cat ./artifacts/memory-base.json)
HEAD_MEMORY=$(cat ./artifacts/memory-head.json)
variation() {
calc() {
BASE=$(echo "$BASE_MEMORY" | jq -r ".${1}.${2} // 0")
HEAD=$(echo "$HEAD_MEMORY" | jq -r ".${1}.${2} // 0")
DIFF=$((HEAD - BASE))
if [ "$BASE" -gt 0 ]; then
DIFF_PERCENT=$(echo "scale=2; ($DIFF * 100) / $BASE" | bc)
else
DIFF_PERCENT=0
fi
# Convert KB to MB for readability
BASE_MB=$(echo "scale=2; $BASE / 1024" | bc)
HEAD_MB=$(echo "scale=2; $HEAD / 1024" | bc)
DIFF_MB=$(echo "scale=2; $DIFF / 1024" | bc)
JSON=$(jq -c -n \
--argjson base "$BASE_MB" \
--argjson head "$HEAD_MB" \
--argjson diff "$DIFF_MB" \
--argjson diff_percent "$DIFF_PERCENT" \
'{base: $base, head: $head, diff: $diff, diff_percent: $diff_percent}')
echo "$JSON"
}
JSON=$(jq -c -n \
--argjson VmRSS "$(calc $1 VmRSS)" \
--argjson VmHWM "$(calc $1 VmHWM)" \
--argjson VmSize "$(calc $1 VmSize)" \
--argjson VmData "$(calc $1 VmData)" \
'{VmRSS: $VmRSS, VmHWM: $VmHWM, VmSize: $VmSize, VmData: $VmData}')
echo "$JSON"
}
JSON=$(jq -c -n \
--argjson beforeGc "$(variation beforeGc)" \
--argjson afterGc "$(variation afterGc)" \
--argjson afterRequest "$(variation afterRequest)" \
'{beforeGc: $beforeGc, afterGc: $afterGc, afterRequest: $afterRequest}')
echo "res=$JSON" >> "$GITHUB_OUTPUT"
- id: build-comment
name: Build memory comment
env:
RES: ${{ steps.compare.outputs.res }}
run: |
HEADER="## Backend memory usage comparison"
FOOTER="[See workflow logs for details](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})"
echo "$HEADER" > ./output.md
echo >> ./output.md
table() {
echo "| Metric | base (MB) | head (MB) | Diff (MB) | Diff (%) |" >> ./output.md
echo "|--------|------:|------:|------:|------:|" >> ./output.md
line() {
METRIC=$2
BASE=$(echo "$RES" | jq -r ".${1}.${2}.base")
HEAD=$(echo "$RES" | jq -r ".${1}.${2}.head")
DIFF=$(echo "$RES" | jq -r ".${1}.${2}.diff")
DIFF_PERCENT=$(echo "$RES" | jq -r ".${1}.${2}.diff_percent")
if (( $(echo "$DIFF_PERCENT > 0" | bc -l) )); then
DIFF="+$DIFF"
DIFF_PERCENT="+$DIFF_PERCENT"
fi
# highlight VmRSS
if [ "$2" = "VmRSS" ]; then
METRIC="**${METRIC}**"
BASE="**${BASE}**"
HEAD="**${HEAD}**"
DIFF="**${DIFF}**"
DIFF_PERCENT="**${DIFF_PERCENT}**"
fi
echo "| ${METRIC} | ${BASE} MB | ${HEAD} MB | ${DIFF} MB | ${DIFF_PERCENT}% |" >> ./output.md
}
line $1 VmRSS
line $1 VmHWM
line $1 VmSize
line $1 VmData
}
echo "### Before GC" >> ./output.md
table beforeGc
echo >> ./output.md
echo "### After GC" >> ./output.md
table afterGc
echo >> ./output.md
echo "### After Request" >> ./output.md
table afterRequest
echo >> ./output.md
# Determine if this is a significant change (more than 5% increase)
if [ "$(echo "$RES" | jq -r '.afterGc.VmRSS.diff_percent | tonumber > 5')" = "true" ]; then
echo "⚠️ **Warning**: Memory usage has increased by more than 5%. Please verify this is not an unintended change." >> ./output.md
echo >> ./output.md
fi
echo "$FOOTER" >> ./output.md
- uses: thollander/actions-comment-pull-request@v3
with:
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_memory_diff
file-path: ./output.md
- name: Tell error to PR
uses: thollander/actions-comment-pull-request@v3
if: failure() && steps.load-pr-num.outputs.pr-number
with:
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_memory_diff_error
message: |
An error occurred while comparing backend memory usage. See [workflow logs](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details.

View File

@@ -0,0 +1,51 @@
name: Request release review
on:
issue_comment:
types: [created]
jobs:
reply:
if: github.event.comment.body == '/request-release-review'
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Reply
uses: actions/github-script@v8
with:
script: |
const body = `To dev team (@misskey-dev/dev):
リリースが提案されています :rocket:
GOの場合はapprove、NO GOの場合はその旨コメントをお願いいたします。
判断にあたって考慮すべき観点は、
- やり残したことはないか?
- CHANGELOGは過不足ないか
- バージョンに問題はないか?(月跨いでいるのに更新忘れているなど)
- 再考すべき仕様・実装はないか?
- ベータ版を検証したサーバーから不具合の報告等は上がってないか?
- (セキュリティの修正や重要なバグ修正などのため)リリースを急いだ方が良いか?そうではないか?
- Actionsが落ちていないか
などが挙げられます。
ご協力ありがとうございます :sparkles:
`
const issue_number = context.payload.issue ? context.payload.issue.number : (context.payload.pull_request && context.payload.pull_request.number)
if (!issue_number) {
console.log('No issue or PR number found in payload; skipping')
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number,
body,
})
}

View File

@@ -22,12 +22,12 @@ jobs:
NODE_OPTIONS: "--max_old_space_size=7168"
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
if: github.event_name != 'pull_request_target'
with:
fetch-depth: 0
submodules: true
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
if: github.event_name == 'pull_request_target'
with:
fetch-depth: 0
@@ -37,9 +37,9 @@ jobs:
if: github.event_name == 'pull_request_target'
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -90,7 +90,7 @@ jobs:
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes
uses: actions/github-script@v7.0.1
uses: actions/github-script@v8.0.0
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -102,7 +102,7 @@ jobs:
body: 'Chromatic detects changes. Please [review the changes on Chromatic](https://www.chromatic.com/builds?appId=6428f7d7b962f0b79f97d6e4).'
})
- name: Upload Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: storybook
path: packages/frontend/storybook-static

View File

@@ -18,6 +18,14 @@ on:
- packages/misskey-js/**
- .github/workflows/test-backend.yml
- .github/misskey/test.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs:
unit:
name: Unit tests (backend)
@@ -30,7 +38,7 @@ jobs:
services:
postgres:
image: postgres:15
image: postgres:18
ports:
- 54312:5432
env:
@@ -40,14 +48,36 @@ jobs:
image: redis:7
ports:
- 56312:6379
meilisearch:
image: getmeili/meilisearch:v1.38.2
ports:
- 57712:7700
env:
MEILI_NO_ANALYTICS: true
MEILI_ENV: development
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v4
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
run: |
for i in {1..3}; do
echo "Attempt $i: Installing FFmpeg..."
@@ -63,7 +93,7 @@ jobs:
fi
done
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
@@ -86,6 +116,7 @@ jobs:
name: E2E tests (backend)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version-file:
- .node-version
@@ -93,7 +124,7 @@ jobs:
services:
postgres:
image: postgres:15
image: postgres:18
ports:
- 54312:5432
env:
@@ -105,13 +136,13 @@ jobs:
- 56312:6379
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
@@ -129,3 +160,47 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json
migration:
name: Migration tests (backend)
runs-on: ubuntu-latest
strategy:
matrix:
node-version-file:
- .node-version
#- .github/min.node-version
services:
postgres:
image: postgres:18
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
steps:
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.4.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Use Node.js
uses: actions/setup-node@v6.3.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/misskey/test.yml .config
- name: Build
run: pnpm build
- name: Run migrations
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend migrate
- name: Check no migrations are remaining
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend check-migrations

View File

@@ -14,6 +14,13 @@ on:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/test-federation.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs:
test:
@@ -25,12 +32,27 @@ jobs:
- .node-version
- .github/min.node-version
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v4
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
run: |
for i in {1..3}; do
echo "Attempt $i: Installing FFmpeg..."
@@ -46,7 +68,7 @@ jobs:
fi
done
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'

View File

@@ -28,13 +28,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -64,7 +64,7 @@ jobs:
services:
postgres:
image: postgres:15
image: postgres:18
ports:
- 54312:5432
env:
@@ -76,7 +76,7 @@ jobs:
- 56312:6379
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
# https://github.com/cypress-io/cypress-docker-images/issues/150
@@ -86,9 +86,9 @@ jobs:
#- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }}
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -113,12 +113,12 @@ jobs:
wait-on: 'http://localhost:61812'
headed: true
browser: ${{ matrix.browser }}
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
if: failure()
with:
name: ${{ matrix.browser }}-cypress-screenshots
path: cypress/screenshots
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
if: always()
with:
name: ${{ matrix.browser }}-cypress-videos

View File

@@ -22,13 +22,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Setup Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'

View File

@@ -16,13 +16,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'

View File

@@ -17,13 +17,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.4.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v6.3.0
with:
node-version-file: '.node-version'
cache: 'pnpm'

1
.gitignore vendored
View File

@@ -46,6 +46,7 @@ docker-compose.yml
built
built-test
js-built
src-js
/data
/.cache-loader
/db

View File

@@ -3,11 +3,16 @@
"**/node_modules": true
},
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"files.associations": {
"*.test.ts": "typescript"
},
"jest.jestCommandLine": "pnpm run jest",
"jest.runMode": "on-demand",
"jest.virtualFolders": [
{ "name": "backend unit", "jestCommandLine": "pnpm -F backend run test" },
{ "name": "backend e2e", "jestCommandLine": "pnpm -F backend run test:e2e"},
{ "name": "misskey-js", "jestCommandLine": "pnpm -F misskey-js run jest" }
],
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},

View File

@@ -1,15 +1,427 @@
## 2025.6.4
## 2026.5.0
### General
- Enhance: アバターデコレーションにカテゴリを設定できるように
### Client
- Enhance: チャンネル指定リノートでリノート先のチャンネルに移動できるように
- Enhance: ベータ版でのアップデート時のダイアログの更新情報リンクをGitHubのReleasesページに遷移するようにし、正しく閲覧できるように
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
- Fix: ドライブへの画像アップロード時にファイル名の変更が無視される不具合を修正
- Fix: 連合が無効化されたサーバーで一部の設定項目が空欄で表示される問題を修正
- Fix: オーディオ、動画の再生速度メニューが開けない問題を修正
### Server
- Enhance: メモリ使用量を削減
- Enhance: 起動の高速化
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1410)
- Enhance: バックエンドの開発モード時の安定性向上
- Enhance: バックエンドビルド・テスト時に使用する依存関係の整理swc/esbuild→Rolldown, Jest→Vitest
- Fix: ファイルシステムを用いる処理におけるパスの取り扱いを改善
- Fix: `/api-doc` にアクセスできない問題を修正
- Fix: support `alsoKnownAs` from remote actors as either array or unwrapped singleton
- Fix: ローカルに存在しないリモートアカウントに対するアカウント削除リクエストを受信した際に、そのユーザーを新規作成して削除する挙動を修正
- Fix: Inboxでの特定のエラーによる失敗はDelayedにしない
- Fix: ID生成アルゴリズムにULIDを使用している場合にMisskeyが正しく動作しない問題を修正
- Fix: リレー経由で届いたノートがリノートとして表示される問題を修正
- Fix: robots.txtの内容を調整
- Fix: 特定のユーザーに管理者権限を持つロールが複数ついている際に、取得できるユーザーIDが重複する問題を修正
(Cherry-picked from https://github.com/lqvp/misskey-tempura/commit/17ed4108cec4b6bd2fd989db5a9091db91fa37a7)
- Fix: ブロックしたサーバーからのInboxジョブが蓄積し続ける問題を修正
(Cherry-picked from https://github.com/lqvp/misskey-tempura/commit/3f0f4bfe923f2b3a7837017b54841598f421c6ef)
- Fix: support activity with `actor` as an id string or embedded object in inbox processor and ActivityPub inbox service
- Fix: コンフィグファイルに `meilisearch` の設定がある状態でほかの検索プロバイダを利用すると、UI上からリモートのートの検索ができない問題を修正
- Fix: ノートに関する通知で公開範囲が考慮されていない問題を修正
(Cherry-picked from https://github.com/lqvp/misskey-tempura/commit/cbce96c520a138b8bcd16890ff6f2952830fa166 originally presented in https://github.com/yojo-art/cherrypick/pull/743)
## 2026.3.2
### General
- 依存関係の更新
### Client
- Enhance: アプリ内ウィンドウの初期サイズを画面サイズに応じて自動で調整するように
- Fix: 絵文字パレットが空の状態でMisskeyについてのページが閲覧できない問題を修正
- Fix: ウィンドウのタイトルをクリックしても最前面に出ないことがある問題を修正
### Server
- Fix: 自分の行ったフォロワー限定投稿または指名投稿に自分自身でリアクションなどを行った場合のイベントが流れない問題を修正
- Fix: 署名付きGETリクエストにおいてAcceptヘッダを署名の対象から除外Acceptヘッダを正規化するCDNやリバースプロキシを使用している際に挙動がおかしくなる問題を修正
- Fix: WebSocket接続におけるートの非表示ロジックを修正
- Fix: チャンネルミュートを有効にしている際に、一部のタイムラインやノート一覧が空になる問題を修正
- Fix: 初期読込時に必要なフロントエンドのアセットがすべて読み込まれていない問題を修正
## 2026.3.1
### General
- 依存関係の更新
### Server
- Fix: セキュリティに関する修正
## 2026.3.0
### Note
- `users/following``birthday` プロパティは非推奨になりました。代わりに `users/get-following-users-by-birthday` をご利用ください。
### General
- Enhance: 「もうすぐ誕生日のユーザー」ウィジェットで、誕生日が至近のユーザーも表示できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey)
- 「今日誕生日のユーザー」は「もうすぐ誕生日のユーザー」に名称変更されました
- Fix: ユーザーハッシュタグページでユーザーの読み込みが重複する問題を修正
- 依存関係の更新
### Client
- Enhance: ドライブのファイル一覧で自動でもっと見るを利用可能に
- Enhance: ウィジェットの表示設定をプレビューを見ながら行えるように
- Enhance: ウィジェットの設定項目のラベルの多言語対応
- Enhance: 画面幅が広いときにメディアを横並びで表示できるようにするオプションを追加
- Enhance: パフォーマンスの向上
- Fix: ドライブクリーナーでファイルを削除しても画面に反映されない問題を修正 #16061
- Fix: 非ログイン時にログインを求めるダイアログが表示された後にダイアログのぼかしが解除されず操作不能になることがある問題を修正
- Fix: ドライブのソートが「登録日(昇順)」の場合に正しく動作しない問題を修正
- Fix: 高度なMFMのピッカーを使用する際の挙動を改善
- Fix: 管理画面でアーカイブ済のお知らせを表示した際にアクティブなお知らせが多い旨の警告が出る問題を修正
- Fix: ファイルタブのセンシティブメディアを開く際に確認ダイアログを出す設定が適用されない問題を修正
- Fix: 2月29日を誕生日に設定している場合、閏年以外は3月1日を誕生日として扱うように修正
- Fix: `Mk:C:container``borderWidth` が正しく反映されない問題を修正
- Fix: mCaptchaが正しく動作しない問題を修正
- Fix: 非ログイン時にリバーシの対局が表示されない問題を修正
- Fix: ノートの詳細表示でリアクションが全件表示されない問題を修正
- Fix: 動画埋め込みプレイヤーなどの一部ウィンドウで、ウィンドウのサイズ変更や移動が正常に行えない問題を修正
- Fix: 画像エフェクトの修正
- 塗りつぶし・モザイク・ぼかしエフェクトを回転させると歪む問題を修正
- モザイクの格子のサイズが画像の縦横比によって長方形となる問題を修正
- モザイクの色味がより自然になるように修正
- ぼかしに不自然な縦線が入る問題を修正
- Fix: フォロー承認通知でフォローされた際のメッセージの絵文字が表示されない問題を修正
- Fix: HTTP環境などSecure Contextのない環境で、設定画面が閲覧できない問題を修正
### Server
- Enhance: OAuthのクライアント情報取得Client Information Discoveryにおいて、IndieWeb Living Standard 11 July 2024で定義されているJSONドキュメント形式に対応しました
- JSONによるClient Information Discoveryを行うには、レスポンスの`Content-Type`ヘッダーが`application/json`である必要があります
- 従来の実装12 February 2022版・HTML Microformat形式も引き続きサポートされます
- Enhance: メモリ使用量を削減
- Fix: `/admin/get-user-ips` エンドポイントのアクセス権限を管理者のみに修正
## 2025.12.2
### Note
v2025.12.0で行われた「configの`trustProxy`のデフォルト値を`false`に変更」について、正しく環境に応じた設定を行わないとサインインが困難になるといった状態を緩和するために、以下の対応を行いました。
**正しく設定しないと、上記のような不具合の原因となったり、セキュリティリスクが高まったりする可能性があります。必ず現在のconfigをご確認の上、必要に応じて値を変更してください。**
- `trustProxy`について、デフォルトconfigに値が設定されていない状態ではループバックアドレスとローカルIPアドレス空間を信頼するようにしました。
- `trustProxy`の設定方法について、より詳細に記述しました。
- リバースプロキシやCDNなどのより上流のレイヤでレートリミットを設定したい場合や、緊急時の一時的な緩和策として、Misskey内部でのIPアドレスペースでのレートリミットを無効化できるようにしました。
### General
- 依存関係の更新
### Client
- Enhance: デッキのUI説明を追加
- Enhance: 設定がブラウザによって消去されないようにするオプションを追加
- Fix: バージョン表記のないPlayが正しく動作しない問題を修正
バージョン表記のないものは v0.x 系として実行されます。v1.x 系で動作させたい場合は必ずバージョン表記を含めてください。
- Fix: デッキUIでメニュー位置を下にしているとプロファイル削除ボタンが表示されないのを修正
- Fix: 一部のUnicode絵文字のリアクションがボタンにならない問題を修正
### Server
- Enhance: Misskey内部でのIPアドレスペースでのレートリミットを無効化できるように
- リバースプロキシやCDNなど別のレイヤで別途レートリミットを設定する場合や、ローカルでのテスト用途等として利用することを想定しています。
- デフォルトは `enableIpRateLimit: true`Misskey内部でのIPアドレスペースでのレートリミットは有効です。
- Fix: コントロールパネルのジョブキューページで使用される一部APIの応答速度を改善
## 2025.12.1
### Client
- Fix: 特定の条件下でMisskeyが起動せず空白のページが表示されることがある問題を軽減
- Fix: 初回読み込み時などに、言語設定で不整合が発生することがある問題を修正
- Fix: 削除されたノートのリノートが正しく動作されない問題を修正
- Fix: チャンネルオーナーが削除済みの時にチャンネルのヘッダーメニューが表示されない不具合を修正
- Fix: ドライブで登録日以外でソートする場合は月でグループ化して表示しないように
- Fix: `null` を返す note_view_intrruptor プラグインが動作しない問題を修正
### Server
- Fix: ジョブキューでSentryが有効にならない問題を修正
## 2025.12.0
### Note
- configの`trustProxy`のデフォルト値を`false`に変更しました。アップデート前に現在のconfigをご確認の上、必要に応じて値を変更してください。
### Client
- Fix: stacking router viewで連続して戻る操作を行うと何も表示されなくなる問題を修正
### Server
- Enhance: メモリ使用量を削減しました
- Enhance: ActivityPubアクティビティを送信する際のパフォーマンス向上
- Enhance: 依存関係の更新
- Fix: セキュリティに関する修正
## 2025.11.1
### Client
- Enhance: リアクションの受け入れ設定にキャプションを追加 #15921
- Fix: ページの内容がはみ出ることがある問題を修正
- Fix: ナビゲーションバーを下に表示しているときに、項目数が多いと表示が崩れる問題を修正
- Fix: ヘッダーメニューのチャンネルの新規作成の項目でチャンネル作成ページに飛べない問題を修正 #16816
- Fix: ラジオボタンに空白の選択肢が表示される問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1105)
- Fix: 一部のシチュエーションで投稿フォームのツアーが正しく表示されない問題を修正
- Fix: 投稿フォームのリセットボタンで注釈がリセットされない問題を修正
- Fix: PlayのAiScriptバージョン判定v0.x系・v1.x系の判定が正しく動作しない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1129)
- Fix: フォロー申請をキャンセルする際の確認ダイアログの文言が不正確な問題を修正
- Fix: 初回読み込み時にエラーになることがある問題を修正
- Fix: お気に入りクリップの一覧表示が正しく動作しない問題を修正
- Fix: AiScript Misskey 拡張APIにおいて、各種関数の引数で明示的に `null` が指定されている場合のハンドリングを修正
### Server
- Enhance: メモリ使用量を削減しました
- Enhance: 依存関係の更新
- Fix: ワードミュートの文字数計算を修正
- Fix: チャンネルのリアルタイム更新時に、ロックダウン設定にて非ログイン時にノートを表示しない設定にしている場合でもノートが表示されてしまう問題を修正
- Fix: DeepL APIのAPIキー指定方式変更に対応
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1096)
- 内部実装の変更にて対応可能な更新です。Misskey側の設定方法に変更はありません。
- Fix: DBレプリケーションを利用する環境でクエリーが失敗する問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1123)
## 2025.11.0
### General
- Feat: チャンネルミュート機能の実装 #10649
- チャンネルの概要画面の右上からミュートできます(リンクコピー、共有、設定と同列)
- Enhance: Node.js 24.10.0をサポートするようになりました
- Enhance: DockerのNode.jsが24.10.0に更新されました
- 依存関係の更新
### Client
- Feat: 画像にメタデータを含むフレームをつけられる機能
- Enhance: プリセットを作成しなくても画像にウォーターマークを付与できるように
- Enhance: 管理しているチャンネルの見分けがつきやすくなるように
- Enhance: プロフィールへのリンクをユーザーポップアップのアバターに追加
- Enhance: ユーザーのノート、フォロー、フォロワーページへのリンクをユーザーポップアップに追加
- Enhance: プッシュ通知を行うための権限確認をより確実に行うように
- Enhance: 投稿フォームのチュートリアルを追加
- Enhance: 「自動でもっと見る」をほとんどの箇所で利用可能に
- Enhance: アンテナ・リスト設定画面とタイムラインの動線を改善
- アンテナ・リスト一覧画面の項目を選択すると、設定画面ではなくタイムラインに移動するようになりました
- アンテナ・リストの設定画面の右上にタイムラインに移動するボタンを追加しました
- Fix: 紙吹雪エフェクトがアニメーション設定を考慮せず常に表示される問題を修正
- Fix: ナビゲーションバーのリアルタイムモード切替ボタンの状態をよりわかりやすく表示するように
- Fix: ページのタイトルが長いとき、はみ出る問題を修正
- Fix: 投稿フォームのアバターが正しく表示されない問題を修正 #16789
- FIx: カスタム絵文字(β)画面で変更行が正しくハイライトされない問題を修正 #16626
### Server
- Enhance: Remote Notes Cleaningが複雑度が高いートの処理を中断せずに次のートから再開するように
- Fix: チャンネルの説明欄の最小文字数制約を除去
## 2025.10.2
### Client
- Fix: アプリ内からキャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正
- Fix: 期限が無期限のアンケートに投票できない問題を修正
## 2025.10.1
### General
- Enhance: リモートユーザーに付与したロールバッジを表示できるように(オプトイン)
パフォーマンス上の問題からデフォルトで無効化されています。「コントロールパネル > パフォーマンス」から有効化できます。
- 依存関係の更新
### Client
- Enhance: デッキのメインカラムのヘッダをクリックしてページ上部/下部にスクロールできるように
- Enhance: 下書き/予約投稿一覧は投稿フォームのアカウントメニュー内に移動し、下書き保存は「...」メニュー内に移動されました
- Fix: カスタム絵文字画面(beta)のaliasesで使用される区切り文字が一致していないのを修正 #15614
- Fix: バナー画像の幅が表示領域と一致していない問題を修正
- Fix: 一部のブラウザでバナー画像が上下中央に表示されない問題を修正
- Fix: ナビゲーションバーの設定で削除した項目をその場で再追加できない問題を修正
- Fix: ロールポリシーによりダイレクトメッセージが無効化されている際のデッキのダイレクトメッセージカラムの挙動を改善
- Fix: 画像のマスクでタッチ操作が不安定な問題を修正
- Fix: ウォーターマークの各種挙動修正
- ウォーターマークを回転させると歪む問題を修正
- ウォーターマークを敷き詰めると上下左右反転した画像/文字が表示される問題を修正
- ウォーターマークを回転させた際に画面からはみ出た部分を考慮できるように
- Fix: 投票が終了した後に投票結果が正しく表示されない問題を修正
- Fix: ダークモードの同期が機能しない場合がある問題を修正
- Fix: iOSで動画の圧縮を行うと音声トラックが失われる問題を修正
### Server
- Enhance: 管理者/モデレーターはファイルのアップロード制限をバイパスするように
- Enhance: セキュリティの向上
## 2025.10.0
### NOTE
- pnpm 10.16.0 が必要です
- ロールのインポート機能の利用可否ポリシーのデフォルト値が「いいえ」に変わったため、デフォルトから変更していないサーバーでは適宜設定を変更してください。
- ロールのアップロード可能なファイル種別ポリシーのデフォルト値に「text/*」が追加されたため、デフォルトから変更していないサーバーでは適宜設定を変更してください。
### General
- Feat: 予約投稿ができるようになりました
- デフォルトで作成可能数は1になっています。適宜ロールのポリシーで設定を行ってください。
- Enhance: 広告ごとにセンシティブフラグを設定できるようになりました
- Enhance: 依存関係の更新
- Enhance: 翻訳の更新
### Client
- Feat: アカウントのQRコードを表示・読み取りできるようになりました
- Feat: 動画を圧縮してアップロードできるようになりました
- Feat: (実験的) ブラウザ上でノートの翻訳を行えるように
- Enhance: チャットの日本語名称がダイレクトメッセージに戻るとともに、ベータ版機能ではなくなりました
- Enhance: 画像編集にマスクエフェクト(塗りつぶし、ぼかし、モザイク)を追加
- Enhance: 画像編集の集中線エフェクトを強化
- Enhance: ウォーターマークにアカウントのQRコードを追加できるように
- Enhance: テーマをドラッグ&ドロップできるように
- Enhance: 絵文字ピッカーのサイズをより大きくできるように
- Enhance: カスタム絵文字が多い場合にサーバーの絵文字一覧ページがフリーズしないように
- Enhance: 時刻計算のための基準値を一か所で管理するようにし、パフォーマンスを向上
- Enhance: 「お問い合わせ」ページから、バグの調査等に役立つ情報OSやブラウザのバージョン等を取得・コピーできるように
- Fix: iOSで、デバイスがダークモードだと初回読み込み時にエラーになる問題を修正
- Fix: アクティビティウィジェットのグラフモードが動作しない問題を修正
- Fix: ユニコード絵文字の追加辞書をインストールするとユニコード絵文字が絵文字ピッカーで検索できなくなる絵文字があるバグを修正
### Server
- Enhance: ユーザーIPを確実に取得できるために設定ファイルにFastifyOptions.trustProxyを追加しました
## 2025.9.0
### Client
- Enhance: AiScriptAppウィジェットで構文エラーを検知してもダイアログではなくウィジェット内にエラーを表示するように
- Enhance: /flushページでサイトキャッシュをクリアできるようになりました
- Enhance: クリップ/リスト/アンテナ/ロール追加系メニュー項目において、表示件数を拡張
- Enhance: 「キャッシュを削除」ボタンでブラウザの内部キャッシュの削除も行えるように
- Enhance: CtrlキーCommandキーを押下しながらリンクをクリックすると新しいタブで開くように
- Fix: プッシュ通知を有効にできない問題を修正
- Fix: RSSティッカーウィジェットが正しく動作しない問題を修正
- Fix: プロファイルを復元後アカウントの切り替えができない問題を修正
- Fix: エラー画像が横に引き伸ばされてしまう問題に対応
### Server
- Fix: webpなどの画像に対してセンシティブなメディアの検出が適用されていなかった問題を修正
## 2025.8.0
### Note
- サポートされるNode.jsの最小バージョンが**22.15.0**になりました
### General
- ノートを削除した際、関連するノートが同時に削除されないようになりました
- APIで、「replyIdが存在しているのにreplyがnull」や「renoteIdが存在しているのにrenoteがnull」であるという、今までにはなかったパターンが表れることになります
- 定期的に古いリモートの投稿を削除する機能が実装されました
- コントロールパネル→パフォーマンス→Remote Notes Cleaning で有効化できます
- データベースの肥大化を防止することが可能です
- 既存のサーバーで当機能を有効化した場合は、処理量が多くなるため、一時的にストレージ使用量が増加する可能性があります。
- 増加量を抑えるには、最大処理継続時間をデフォルトより短くしてください。
- データベースサイズへの効果が見られない場合はautovacuumが有効になっているか確認してください
- サーバーの初期設定が完了するまでは連合がオンにならないようになりました
- 日本語における公開範囲名称の「ダイレクト」が「指名」に改称されました
- 実際の動作に即した名称になり、馴染みのない人でも理解しやすくなりました
- 他サービスにおける「ダイレクトメッセージ」に相当するMisskeyの機能は「チャット」ですが(過去のバージョンのMisskeyでも、当該機能は「チャット」ではなく「ダイレクトメッセージ」でした)、「ダイレクト投稿」という名称の機能が存在するとそちらがダイレクトメッセージ機能であるような誤解を生んでいました
- 今後、「チャット」の名称を「ダイレクトメッセージ」に戻す可能性があります
- mfm.jsをアップデートしました
- Enhance: Unicode 15.1 および 16.0 に収録されている絵文字に対応
- Enhance: acctに `.` が入っているユーザーのメンションに対応
- Fix: Unicode絵文字に隣接する異体字セレクタ`U+FE0F`)が絵文字として認識される問題を修正
- Enhance: ユーザー検索をロールポリシーで制限できるように
### Client
- Feat: AiScriptが1.1.0に更新されました
- プラグインは1.xに対応したものが必要です
- Playはそのまま動作しますが、新規に作られるプリセットは1.xになります
- 以前のバージョンから無効化されていた note_view_interruptor が有効になりました
- ハンドラは同期的である必要があります
- Feat: セーフモード
- プラグイン・テーマ・カスタムCSSの使用でクライアントの起動に問題が発生した際に、これらを無効にして起動できます
- 以下の方法でセーフモードを起動できます
- `g` キーを連打する
- URLに`?safemode=true`を付ける
- PWAのショートカットで Safemode を選択して起動する
- Feat: 非ログイン時に表示されるトップページのスタイルを選択できるように
- コントロールパネル→ブランディング→エントランスページのスタイル
- Feat: ページのタブバーを下部に表示できるように
- Feat: (実験的)iOSでの触覚フィードバックを有効にできるように
- Feat: コントロールパネルを検索できるように
- Enhance: 「自動でもっと見る」オプションが有効になり、安定性が向上しました
- Enhance: トルコ語 (tr-TR) に対応
- Enhance: 不必要な翻訳データを読み込まなくなり、パフォーマンスが向上しました
- Enhance: 画像エフェクトのパラメータ名の多言語対応
- Enhance: ートを非表示にする相対期間を1ヶ月単位で自由に指定できるように
- Enhance: メールアドレス確認画面のUIを改善
- Enhance: アイコンのスクロール追従を無効化する際の適用範囲を強化
- Enhance: レンダリングパフォーマンスの向上
- Enhance: 依存ソフトウェアの更新
- Fix: 投稿フォームでファイルのアップロードが中止または失敗した際のハンドリングを修正
- Fix: 一部の設定検索結果が存在しないパスになる問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1171)
- Fix: テーマエディタが動作しない問題を修正
- Fix: チャンネルのハイライトページにノートが表示されない問題を修正
- Fix: カラムの名前が正しくリスト/チャンネルの名前にならない問題を修正
- Fix: 複数のメンションを1行に記述した場合に、サジェストが正しく表示されない問題を修正
- Fix: メンションとしての条件を満たしていても、特定の条件(`-`が含まれる場合など)で正しくサジェストされない問題を一部修正
- Fix: ユーザーの前後ノートを閲覧する機能が動作しない問題を修正
- Fix: 照会ダイアログでap/showでローカルユーザーを解決した際@username@nullに飛ばされる問題を修正
- Fix: アイコンのデコレーションを付ける際にデコレーションが表示されなくなる問題を修正
- Fix: タッチ操作時にマウスホバー時のユーザープレビューが開くことがある問題を修正
- Fix: 管理中アカウント一覧で正しい表示が行われない問題を修正
- Fix: lookupページでリモートURLを指定した際に正しく動作しない問題を修正
### Server
- Feat: サーバー管理コマンド
- `pnpm cli foo` の形式で実行可能です
- 現在以下のコマンドが利用可能です
- `reset-captcha` - CAPTCHA設定をリセットします
- Enhance: ノートの削除処理の効率化
- Enhance: 全体的なパフォーマンスの向上
- Enhance: 依存ソフトウェアの更新
- Enhance: `clips/list` APIがページネーションに対応しました
- Fix: `notes/mentions` で場合によっては並び順が正しく返されない問題を修正
- Fix: SystemWebhook設定でsecretを空に出来ない問題を修正
- Fix: 削除されたユーザーがチャットメッセージにリアクションしている場合`chat/history`などでエラーになる問題を修正
- Fix: Pageのアイキャッチ画像をドライブから消してもPageごと消えないように
- Fix: タイムラインAPIの withRenotes: false 時のレスポンスを修正
## 2025.7.0
### Note
- Node.jsの最小バージョンを20.10.0から20.18.1に引き上げました
- なお、特に必要がない限りNode.jsは推奨バージョンであるv22を使用するようにしてください
### General
- Feat: ノートの下書き機能
- Feat: クリップ内でノートを検索できるように
- Feat: Playを検索できるように
- Feat: モデレーションにおいて、特定のドライブファイルを添付しているチャットメッセージを一覧できるように
- Enhance: ウォーターマーク機能をロールで制御可能に
### Client
- Note: 「自動でもっと見る」オプションは無効になっています
- Feat: モデログを検索できるように
- Enhance: 設定の自動バックアップをオンにした直後に自動バックアップするように
- Enhance: ファイルアップロード前にキャプション設定を行えるように
- Enhance: ページネーションの並び順を逆にできるように
- Enhance: ファイルアップロード時にセンシティブ設定されているか表示するように
- Enhance: 投稿フォームにファイルをペースト/ドロップした際のUXを改善
- Enhance: ページネーション(一覧表示)の並び順を逆にできるように
- Enhance: ページネーション(一覧表示)の基準日時を指定できるように
- Enhance: レンダリングパフォーマンスの向上
- Fix: ファイルがドライブの既定アップロード先に指定したフォルダにアップロードされない問題を修正
- Fix: プラグインをアンインストールしてもセーブデータが残る問題を修正
- Fix: 数時間後Misskeyのタブに戻った際に、タブがスロットリングされている間の更新アニメーションを延々見せ続けられる問題を修正
- Fix: 非ログイン時のハイライトートの画像がCWの有無を考慮せず表示される問題を修正
- Fix: レンジ選択・ドロップダウンにて、操作を無効にすべきところで無効にならない問題を修正
- Fix: Pull to refreshが有効なときに横スクロールができない問題を修正
### Server
- Enhance: sinceId/untilIdが指定可能なエンドポイントにおいて、sinceDate/untilDateも指定可能に
- Enhance: メールの送信者としてサーバー名を表示するように (サーバー名が設定されている場合)
- Fix: ジョブキューのProgressの値を正しく計算する
@@ -107,7 +519,7 @@
- Enhance: 画像の高品質なプレースホルダを無効化してパフォーマンスを向上させるオプションを追加
- Enhance: 招待されているが参加していないルームを開いたときに、招待を承認するかどうか尋ねるように
- Enhance: リプライ元にアンケートがあることが表示されるように
- Enhance: ノートのサーバー情報のデザインを改善・パフォーマンス向上
- Enhance: ノートのサーバー情報のデザインを改善・パフォーマンス向上
(Based on https://github.com/taiyme/misskey/pull/198, https://github.com/taiyme/misskey/pull/211, https://github.com/taiyme/misskey/pull/283)
- Enhance: ユーザー設定でURLプレビューを無効化できるように
- Enhance: ヒントとコツを追加
@@ -196,7 +608,7 @@
### Server
- Enhance: ジョブキューの成功/失敗したジョブも一定数・一定期間保存するようにし、後から問題を調査することを容易に
- Enhance: フォローしているユーザーならフォロワー限定投稿のノートでもアンテナで検知できるように
- Enhance: フォローしているユーザーならフォロワー限定投稿のノートでもアンテナで検知できるように
(Cherry-picked from https://github.com/yojo-art/cherrypick/pull/568 and https://github.com/team-shahu/misskey/pull/38)
- Enhance: ユーザーごとにノートの表示が高速化するように
- Fix: システムアカウントの名前がサーバー名と同期されない問題を修正
@@ -302,7 +714,7 @@
### General
- Enhance: プロキシアカウントをシステムアカウントとして作成するように
- Enhance: OAuthで外部アプリからロゴが提供されている場合、それを表示できるように
- Enhance: OAuthで外部アプリからロゴが提供されている場合、それを表示できるように
書式は https://indieauth.spec.indieweb.org/20220212/#example-2 に準じます。
- Fix: システムアカウントが削除できる問題を修正
@@ -316,7 +728,7 @@
### Server
- Fix: 特定のケースでActivityPubの処理がデッドロックになることがあるのを修正
- Fix: S3互換オブジェクトストレージでファイルのアップロードに失敗することがある問題を修正
- Fix: S3互換オブジェクトストレージでファイルのアップロードに失敗することがある問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/895)
@@ -337,7 +749,7 @@
- Enhance: リアクションする際に確認ダイアログを表示できるように
- Enhance: コントロールパネルのユーザ検索で入力された情報をページ遷移で損なわないように `#15437`
- Enhance: CWの注釈で入力済みの文字数を表示
- Enhance: ノート検索ページのデザイン調整
- Enhance: ノート検索ページのデザイン調整
(Cherry-picked from https://github.com/taiyme/misskey/pull/273)
- Fix: ノートページで、クリップ一覧が表示されないことがある問題を修正
- Fix: コンディショナルロールを手動で割り当てできる導線を削除 `#13529`
@@ -354,7 +766,7 @@
- Fix: `following/invalidate`でフォロワーを解除しようとしているユーザーの情報を返すように
- Fix: オブジェクトストレージの設定でPrefixを設定していなかった場合nullまたは空文字になる問題を修正
- Fix: HTTPプロキシとその除外設定を行った状態でカスタム絵文字の一括インポートをしたとき、除外設定が効かないのを修正( #8766 )
- Fix: pgroongaでの検索時にはじめのキーワードのみが検索に使用される問題を修正
- Fix: pgroongaでの検索時にはじめのキーワードのみが検索に使用される問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/886)
- Fix: メールアドレスの形式が正しくなければ以降の処理を行わないように
- Fix: `update-meta`でobjectStoragePrefixにS3_SAFEかつURL-safeでない文字列を使えないように
@@ -364,12 +776,12 @@
## 2025.2.0
### General
- Fix: Docker のビルドに失敗する問題を修正
- Fix: Docker のビルドに失敗する問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/883)
### Client
- Fix: パスキーでパスワードレスログインが出来ない問題を修正
- Fix: 一部環境でセンシティブなファイルを含むノートの非表示が効かない問題
- Fix: 一部環境でセンシティブなファイルを含むノートの非表示が効かない問題
- Fix: データセーバー有効時にもユーザーページの「ファイル」タブで画像が読み込まれてしまう問題を修正
- Fix: MFMの `sparkle` エフェクトが正しく表示されない問題を修正
- Fix: ページのURLにスラッシュが含まれている場合にページが正しく表示されない問題を修正
@@ -396,14 +808,14 @@
* β版として公開のため、旧画面も引き続き利用可能です
### Client
- Enhance: PC画面でチャンネルが複数列で表示されるように
- Enhance: PC画面でチャンネルが複数列で表示されるように
(Cherry-picked from https://github.com/Otaku-Social/maniakey/pull/13)
- Enhance: 照会に失敗した場合、その理由を表示するように
- Enhance: ワードミュートで検知されたワードを表示できるように
- Enhance: リモートのノートのリンクをコピーできるように
- Enhance: 連合がホワイトリスト化・無効化されているサーバー向けのデザイン修正
- Enhance: AiScriptのセーブデータを明示的に削除する関数`Mk:remove`を追加
- Enhance: ノートの添付ファイルを一覧で遡れる「ファイル」タブを追加
- Enhance: ノートの添付ファイルを一覧で遡れる「ファイル」タブを追加
(Based on https://github.com/Otaku-Social/maniakey/pull/14)
- Enhance: AiScriptの拡張API関数において引数の型チェックをより厳格に
- Enhance: クエリパラメータでuiを一時的に変更できるように #15240
@@ -411,26 +823,26 @@
- Fix: 画面サイズが変わった際にナビゲーションバーが自動で折りたたまれない問題を修正
- Fix: サーバー情報メニューに区切り線が不足していたのを修正
- Fix: ノートがログインしているユーザーしか見れない場合にログインダイアログを閉じるとその後の動線がなくなる問題を修正
- Fix: 公開範囲がホームのノートの埋め込みウィジェットが読み込まれない問題を修正
- Fix: 公開範囲がホームのノートの埋め込みウィジェットが読み込まれない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/803)
- Fix: 絵文字管理画面で一部の絵文字が表示されない問題を修正
- Fix: プラグイン `register_note_view_interruptor` でノートのサーバー情報の書き換えができない問題を修正
- Fix: Botプロテクションの設定変更時は実際に検証を通過しないと保存できないように( #15137 )
- Fix: ノート検索が使用できない場合でもチャンネルのノート検索欄がでていた問題を修正
- Fix: `Ui:C:select`で値の変更が画面に反映されない問題を修正
- Fix: MiAuth認可画面で、認可処理に失敗した場合でもコールバックURLに遷移してしまう問題を修正
- Fix: MiAuth認可画面で、認可処理に失敗した場合でもコールバックURLに遷移してしまう問題を修正
(Cherry-picked from https://github.com/TeamNijimiss/misskey/commit/800359623e41a662551d774de15b0437b6849bb4)
- Fix: ノート作成画面でファイルの添付可能個数を超えてもノートボタンが押せていた問題を修正
- Fix: 「アカウントを管理」画面で、ユーザー情報の取得に失敗したアカウント(削除されたアカウントなど)が表示されない問題を修正
- Fix: MacOSでChrome系ブラウザを使用している場合に、Misskeyを閉じた際に他のタブのオーディオ機能と干渉する問題を修正
- Fix: 言語データのキャッシュ状況によっては、埋め込みウィジェットが正しく起動しない問題を修正
- Fix: 「削除して編集」でノートの引用を解除出来なかった問題を修正( #14476 )
- Fix: RSSウィジェットが正しく表示されない問題を修正
- Fix: RSSウィジェットが正しく表示されない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/857)
- Fix: ワードミュートの保存失敗時にAPIエラーが握りつぶされる事があるのを修正
- Fix: アンケートでリモートの絵文字が正しく描画できない問題の修正
(Cherry-picked from https://github.com/yojo-art/cherrypick/pull/153)
- Fix: 非ログイン時のサーバー概要画面のメニューボタンが押せないことがあるのを修正
- Fix: 非ログイン時のサーバー概要画面のメニューボタンが押せないことがあるのを修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/656)
- Fix: URLにはじめから`#pswp`が含まれている場合に画像ビューワーがブラウザの戻るボタンで閉じられない問題を修正
- Fix: ロール作成画面で設定できるアイコンデコレーションの最大取付個数を16に制限
@@ -439,18 +851,18 @@
### Server
- Enhance: pg_bigmが利用できるよう、ートの検索をILIKE演算子でなくLIKE演算子でLOWER()をかけたテキストに対して行うように
- Enhance: ート検索の選択肢としてpgroongaに対応 ( #14730 )
- Enhance: チャート更新時にDBに同時接続しないように
- Enhance: チャート更新時にDBに同時接続しないように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/830)
- Enhance: config(default.yml)からSQLログ全文を出力するか否かを設定可能に ( #15266 )
- Fix: ユーザーのプロフィール画面をアドレス入力などで直接表示した際に概要タブの描画に失敗する問題の修正( #15032 )
- Fix: 起動前の疎通チェックが機能しなくなっていた問題を修正
- Fix: 起動前の疎通チェックが機能しなくなっていた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/737)
- Fix: ートの閲覧にログイン必須にしてもFeedでートが表示されてしまう問題を修正
- Fix: 絵文字の連合でライセンス欄を相互にやり取りするように ( #10859, #14109 )
- Fix: ロックダウンされた期間指定のートがStreaming経由でLTLに出現するのを修正 ( #15200 )
- Fix: disableClustering設定時の初期化ロジックを調整( #15223 )
- Fix: URLとURIが異なるエンティティの照会に失敗する問題を修正( #15039 )
- Fix: ActivityPubリクエストかどうかの判定が正しくない問題を修正
- Fix: ActivityPubリクエストかどうかの判定が正しくない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/869)
- Fix: `/api/pages/update`にて`name`を指定せずにリクエストするとエラーが発生する問題を修正
- Fix: AIセンシティブ判定が arm64 環境で動作しない問題を修正
@@ -476,12 +888,12 @@
- Fix: お知らせ作成時に画像URL入力欄を空欄に変更できないのを修正 ( #14976 )
### Client
- Enhance: Bull DashboardでRelationship Queueの状態も確認できるように
- Enhance: Bull DashboardでRelationship Queueの状態も確認できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/751)
- Enhance: ドライブでソートができるように
- Enhance: アイコンデコレーション管理画面の改善
- Enhance: 「単なるラッキー」の取得条件を変更
- Enhance: 投稿フォームでEscキーを押したときIME入力中ならフォームを閉じないように #10866
- Enhance: 投稿フォームでEscキーを押したときIME入力中ならフォームを閉じないように #10866
- Enhance: MiAuth, OAuthの認可画面の改善
- どのアカウントで認証しようとしているのかがわかるように
- 認証するアカウントを切り替えられるように
@@ -489,29 +901,29 @@
- Enhance: カタルーニャ語 (ca-ES) に対応
- Enhance: 個別お知らせページではMetaタグを出力するように
- Enhance: ノート詳細画面にロールのバッジを表示
- Enhance: 過去に送信したフォローリクエストを確認できるように
- Enhance: 過去に送信したフォローリクエストを確認できるように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/663)
- Enhance: サイドバーを簡単に展開・折りたたみできるように ( #14981 )
- Enhance: リノートメニューに「リノートの詳細」を追加
- Enhance: 非ログイン状態でMisskeyを開いた際のパフォーマンスを向上
- Fix: 通知の範囲指定の設定項目が必要ない通知設定でも範囲指定の設定がでている問題を修正
- Fix: Turnstileが失敗・期限切れした際にも成功扱いとなってしまう問題を修正
- Fix: Turnstileが失敗・期限切れした際にも成功扱いとなってしまう問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/768)
- Fix: デッキのタイムラインカラムで「センシティブなファイルを含むノートを表示」設定が使用できなかった問題を修正
- Fix: Encode RSS urls with escape sequences before fetching allowing query parameters to be used
- Fix: リンク切れを修正
- Fix: ノート投稿ボタンにホバー時のスタイルが適用されていないのを修正
- Fix: ノート投稿ボタンにホバー時のスタイルが適用されていないのを修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/305)
- Fix: メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正
- Fix: 画面幅が狭い環境でデザインが崩れる問題を修正
- Fix: 画面幅が狭い環境でデザインが崩れる問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/815)
- Fix: TypeScriptの型チェック対象ファイルを限定してビルドを高速化するように
- Fix: TypeScriptの型チェック対象ファイルを限定してビルドを高速化するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/725)
### Server
- Enhance: DockerのNode.jsを22.11.0に更新
- Enhance: 起動前の疎通チェックで、DBとメイン以外のRedisの疎通確認も行うように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588)
- Enhance: 起動前の疎通チェックで、DBとメイン以外のRedisの疎通確認も行うように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588)
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/715)
- Enhance: リモートユーザーの照会をオリジナルにリダイレクトするように
- Fix: sharedInboxが無いActorに紐づくリモートユーザーを照会できない
@@ -519,18 +931,18 @@
- Fix: フォロワーへのメッセージの絵文字をemojisに含めるように
- Fix: Nested proxy requestsを検出した際にブロックするように
[ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236)
- Fix: 招待コードの発行可能な残り数算出に使用すべきロールポリシーの値が違う問題を修正
- Fix: 招待コードの発行可能な残り数算出に使用すべきロールポリシーの値が違う問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/706)
- Fix: 連合への配信時に、acctの大小文字が区別されてしまい正しくメンションが処理されないことがある問題を修正
- Fix: 連合への配信時に、acctの大小文字が区別されてしまい正しくメンションが処理されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/711)
- Fix: ローカルユーザーへのメンションを含むートが連合される際に正しいURLに変換されないことがある問題を修正
- Fix: ローカルユーザーへのメンションを含むートが連合される際に正しいURLに変換されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/712)
- Fix: FTT無効時にユーザーリストタイムラインが使用できない問題を修正
- Fix: FTT無効時にユーザーリストタイムラインが使用できない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/709)
- Fix: User Webhookテスト機能のMock Payloadを修正
- Fix: アカウント削除のモデレーションログが動作していないのを修正 (#14996)
- Fix: User Webhookテスト機能のMock Payloadを修正
- Fix: アカウント削除のモデレーションログが動作していないのを修正 (#14996)
- Fix: リノートミュートが新規投稿通知に対して作用していなかった問題を修正
- Fix: Inboxの処理で生じるエラーを誤ってActivityとして処理することがある問題を修正
- Fix: Inboxの処理で生じるエラーを誤ってActivityとして処理することがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/730)
- Fix: セキュリティに関する修正
@@ -557,13 +969,13 @@
- Enhance: 個人宛のお知らせは「わかった」を押すと自動的にアーカイブされるように
- Fix: `admin/emoji/update`エンドポイントのidのみ指定した時不正なエラーが発生するバグを修正
- Fix: RBT有効時、リートのリアクションが反映されない問題を修正
- Fix: キューのエラーログを簡略化するように
- Fix: キューのエラーログを簡略化するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/649)
## 2024.10.0
### Note
- セキュリティ向上のため、サーバー初期設定時に使用する初期パスワードを設定できるようになりました。今後Misskeyサーバーを新たに設置する際には、初回の起動前にコンフィグファイルの`setupPassword`をコメントアウトし、初期パスワードを設定することをおすすめします。(すでに初期設定を完了しているサーバーについては、この変更に伴い対応する必要はありません)
- セキュリティ向上のため、サーバー初期設定時に使用する初期パスワードを設定できるようになりました。今後Misskeyサーバーを新たに設置する際には、初回の起動前にコンフィグファイルの`setupPassword`をコメントアウトし、初期パスワードを設定することをおすすめします。(すでに初期設定を完了しているサーバーについては、この変更に伴い対応する必要はありません)
- ホスティングサービスを運営している場合は、コンフィグファイルを構築する際に`setupPassword`をランダムな値に設定し、ユーザーに通知するようにシステムを更新することをおすすめします。
- なお、初期パスワードが設定されていない場合でも初期設定を行うことが可能ですUI上で初期パスワードの入力欄を空欄にすると続行できます
- ユーザーデータを読み込む際の型が一部変更されました。
@@ -583,7 +995,7 @@
### Client
- Enhance: デザインの調整
- Enhance: ログイン画面の認証フローを改善
- Fix: クライアント上での時間ベースの実績獲得動作が実績獲得後も発動していた問題を修正
- Fix: クライアント上での時間ベースの実績獲得動作が実績獲得後も発動していた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/657)
### Server
@@ -601,7 +1013,7 @@
- Feat: フォローされた際のメッセージを設定できるように
- Feat: 連合をホワイトリスト制にできるように
- Feat: UserWebhookとSystemWebhookのテスト送信機能を追加 (#14445)
- Feat: モデレーターはユーザーにかかわらずファイルが添付されているノートを検索できるように
- Feat: モデレーターはユーザーにかかわらずファイルが添付されているノートを検索できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/680)
- Feat: データエクスポートが完了した際に通知を発行するように
- Enhance: ユーザーによるコンテンツインポートの可否をロールポリシーで制御できるように
@@ -620,12 +1032,12 @@
- Fix: サーバーメトリクスが2つ以上あるとリロード直後の表示がおかしくなる問題を修正
- Fix: コントロールパネル内のAp requests内のチャートの表示がおかしかった問題を修正
- Fix: 月の違う同じ日はセパレータが表示されないのを修正
- Fix: タッチ画面でレンジスライダーを操作するとツールチップが複数表示される問題を修正
- Fix: タッチ画面でレンジスライダーを操作するとツールチップが複数表示される問題を修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/265)
- Fix: 縦横比が極端なカスタム絵文字を表示する際にレイアウトが崩れる箇所があるのを修正
- Fix: 縦横比が極端なカスタム絵文字を表示する際にレイアウトが崩れる箇所があるのを修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/725)
- Fix: 設定変更時のリロード確認ダイアログが複数個表示されることがある問題を修正
- Fix: ファイルの詳細ページのファイルの説明で改行が正しく表示されない問題を修正
- Fix: ファイルの詳細ページのファイルの説明で改行が正しく表示されない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/bde6bb0bd2e8b0d027e724d2acdb8ae0585a8110)
- Fix: 一部画面のページネーションが動作しにくくなっていたのを修正 ( #12766 , #11449 )
@@ -634,14 +1046,14 @@
- Fix: アンテナの書き込み時にキーワードが与えられなかった場合のエラーをApiErrorとして投げるように
- この変更により、公式フロントエンドでは入力の不備が内部エラーとして報告される代わりに一般的なエラーダイアログで報告されます
- Fix: ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正
- Fix: 外部ページを解析する際に、ページに紐づけられた関連リソースも読み込まれてしまう問題を修正
- Fix: 外部ページを解析する際に、ページに紐づけられた関連リソースも読み込まれてしまう問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/26e0412fbb91447c37e8fb06ffb0487346063bb8)
- Fix: Continue importing from file if single emoji import fails
- Fix: `Retry-After`ヘッダーが送信されなかった問題を修正
- Fix: `Retry-After`ヘッダーが送信されなかった問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/8a982c61c01909e7540ff1be9f019df07c3f0624)
- Fix: サーバーサイドのDOM解析完了時にリソースを開放するように
- Fix: サーバーサイドのDOM解析完了時にリソースを開放するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/634)
- Fix: `<link rel="alternate">`を追って照会するのはOKレスポンスが返却された場合のみに
- Fix: `<link rel="alternate">`を追って照会するのはOKレスポンスが返却された場合のみに
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/633)
- Fix: メールにスタイルが適用されていなかった問題を修正
@@ -670,15 +1082,15 @@
- 通知ページや通知カラム(デッキ)を開いている状態において、新たに発生した通知が既読されない問題が修正されます。
- これにより、プッシュ通知が有効な同条件下の環境において、プッシュ通知が常に発生してしまう問題も修正されます。
- Fix: Play各種エンドポイントの返り値に`visibility`が含まれていない問題を修正
- Fix: サーバー情報取得の際にモデレーター限定の情報が取得できないことがあるのを修正
- Fix: サーバー情報取得の際にモデレーター限定の情報が取得できないことがあるのを修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/582)
- Fix: 公開範囲がダイレクトのノートをユーザーアクティビティのチャート生成に使用しないように
- Fix: 公開範囲がダイレクトのノートをユーザーアクティビティのチャート生成に使用しないように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/679)
- Fix: ActivityPubのエンティティタイプ判定で不明なタイプを受け取った場合でも処理を継続するように
- キュー処理のつまりが改善される可能性があります
- Fix: リバーシの対局設定の変更が反映されないのを修正
- Fix: 無制限にストリーミングのチャンネルに接続できる問題を修正
- Fix: ベースロールのポリシーを変更した際にモデログに記録されないのを修正
- Fix: ベースロールのポリシーを変更した際にモデログに記録されないのを修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/700)
- Fix: Prevent memory leak from memory caches (#14310)
- Fix: More reliable memory cache eviction (#14311)
@@ -710,9 +1122,9 @@
- Enhance: 内蔵APIドキュメントのデザイン・パフォーマンスを改善
- Enhance: 非ログイン時に他サーバーに遷移するアクションを追加
- Enhance: 非ログイン時のハイライトTLのデザインを改善
- Enhance: フロントエンドのアクセシビリティ改善
- Enhance: フロントエンドのアクセシビリティ改善
(Based on https://github.com/taiyme/misskey/pull/226)
- Enhance: サーバー情報ページ・お問い合わせページを改善
- Enhance: サーバー情報ページ・お問い合わせページを改善
(Cherry-picked from https://github.com/taiyme/misskey/pull/238)
- Enhance: AiScriptを0.19.0にアップデート
- Enhance: Allow negative delay for MFM animation elements (`tada`, `jelly`, `twitch`, `shake`, `spin`, `jump`, `bounce`, `rainbow`)
@@ -721,7 +1133,7 @@
- Enhance: 検索(ノート/ユーザー)において、入力に空白が含まれている場合は照会を行わないように
- Enhance: 検索(ノート/ユーザー)において、照会を行うかどうか、ハッシュタグのノート/ユーザー一覧ページを表示するかどうかの確認ダイアログを出すように
- Enhance: 検索(ノート/ユーザー)で `@` から始まる文字列(`@user@host`など)を入力すると、そのユーザーを照会できるように
- Enhance: ドライブのファイル・フォルダをドラッグしなくても移動できるように
- Enhance: ドライブのファイル・フォルダをドラッグしなくても移動できるように
(Cherry-picked from https://github.com/nafu-at/misskey/commit/b89c2af6945c6a9f9f10e83f54d2bcf0f240b0b4, https://github.com/nafu-at/misskey/commit/8a7d710c6acb83f50c83f050bd1423c764d60a99)
- Enhance: デッキのアンテナ・リスト選択画面からそれぞれを新規作成できるように
- Enhance: ブラウザのコンテキストメニューを使用できるように
@@ -729,19 +1141,19 @@
- Fix: `/about#federation` ページなどで各インスタンスのチャートが表示されなくなっていた問題を修正
- Fix: ユーザーページの追加情報のラベルを投稿者のサーバーの絵文字で表示する (#13968)
- Fix: リバーシの対局を正しく共有できないことがある問題を修正
- Fix: コントロールパネルでベースロールのポリシーを編集してもUI上では変更が反映されない問題を修正
- Fix: コントロールパネルでベースロールのポリシーを編集してもUI上では変更が反映されない問題を修正
- Fix: アンテナの編集画面のボタンに隙間を追加
- Fix: テーマプレビューが見れない問題を修正
- Fix: ショートカットキーが連打できる問題を修正
- Fix: ショートカットキーが連打できる問題を修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/234)
- Fix: MkSignin.vueのcredentialRequestからReactivityを削除ProxyがPasskey認証処理に渡ることを避けるため
- Fix: 「アニメーション画像を再生しない」がオンのときでもサーバーのバナー画像・背景画像がアニメーションしてしまう問題を修正
- Fix: 「アニメーション画像を再生しない」がオンのときでもサーバーのバナー画像・背景画像がアニメーションしてしまう問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/574)
- Fix: Twitchの埋め込みが開けない問題を修正
- Fix: 子メニューの高さがウィンドウからはみ出ることがある問題を修正
- Fix: 個人宛てのダイアログ形式のお知らせが即時表示されない問題を修正
- Fix: 一部の画像がセンシティブ指定されているときに画面に何も表示されないことがあるのを修正
- Fix: リアクションしたユーザー一覧のユーザー名がはみ出る問題を修正
- Fix: リアクションしたユーザー一覧のユーザー名がはみ出る問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/672)
- Fix: `/share`ページにおいて絵文字ピッカーを開くことができない問題を修正
- Fix: deck uiの通知音が重なる問題 (#14029)
@@ -784,14 +1196,14 @@
4. フォローしていない非アクティブなユーザ
また、自分自身のアカウントもサジェストされるようになりました。
- Fix: 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正
- Fix: 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/652)
- Fix: ユーザーのリアクション一覧でミュート/ブロックが機能していなかった問題を修正
- Fix: FTT有効時にリモートユーザーのートがHTLにキャッシュされる問題を修正
- Fix: 一部の通知がローカル上のリモートユーザーに対して行われていた問題を修正
- Fix: エラーメッセージの誤字を修正 (#14213)
- Fix: ソーシャルタイムラインにローカルタイムラインに表示される自分へのリプライが表示されない問題を修正
- Fix: リノートのミュートが適用されるまでに時間がかかることがある問題を修正
- Fix: リノートのミュートが適用されるまでに時間がかかることがある問題を修正
(Cherry-picked from https://github.com/Type4ny-Project/Type4ny/commit/e9601029b52e0ad43d9131b555b614e56c84ebc1)
- Fix: Steaming APIが不正なデータを受けた場合の動作が不安定である問題 #14251
- Fix: `users/search`において `@` から始まる文字列が与えられた際の処理が正しくなかった問題を修正
@@ -818,7 +1230,7 @@
### General
- Feat: エラートラッキングにSentryを使用できるようになりました
- Enhance: URLプレビューの有効化・無効化を設定できるように #13569
- Enhance: アンテナでBotによるートを除外できるように
- Enhance: アンテナでBotによるートを除外できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/545)
- Enhance: クリップのノート数を表示するように
- Enhance: コンディショナルロールの条件として以下を新たに追加 (#13667)
@@ -837,7 +1249,7 @@
### Client
- Feat: アップロードするファイルの名前をランダム文字列にできるように
- Feat: 個別のお知らせにリンクで飛べるように
- Feat: 個別のお知らせにリンクで飛べるように
(Based on https://github.com/MisskeyIO/misskey/pull/639)
- Enhance: 自分のノートの添付ファイルから直接ファイルの詳細ページに飛べるように
- Enhance: 広告がMisskeyと同一ドメインの場合はRouterで遷移するように
@@ -867,9 +1279,9 @@
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
- Fix: 周年の実績が閏年を考慮しない問題を修正
- Fix: ローカルURLのプレビューポップアップが左上に表示される
- Fix: WebGL2をサポートしないブラウザで「季節に応じた画面の演出」が有効になっているとき、Misskeyが起動できなくなる問題を修正
- Fix: WebGL2をサポートしないブラウザで「季節に応じた画面の演出」が有効になっているとき、Misskeyが起動できなくなる問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/459)
- Fix: ページタイトルでローカルユーザーとリモートユーザーの区別がつかない問題を修正
- Fix: ページタイトルでローカルユーザーとリモートユーザーの区別がつかない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/528)
- Fix: コードブロックのシンタックスハイライトで使用される定義ファイルをCDNから取得するように #13177
- CDNから取得せずMisskey本体にバンドルする場合は`pacakges/frontend/vite.config.ts`を修正してください。
@@ -892,13 +1304,13 @@
- Enhance: ドライブのファイルがNSFWかどうか個別に連合されるように (#13756)
- 可能な場合、ノートの添付ファイルのセンシティブ判定がファイル単位になります
- Fix: リモートから配送されたアクティビティにJSON-LD compactionをかける
- Fix: フォローリクエストを作成する際に既存のものは削除するように
- Fix: フォローリクエストを作成する際に既存のものは削除するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/440)
- Fix: エンドポイント`notes/translate`のエラーを改善
- Fix: CleanRemoteFilesProcessorService report progress from 100% (#13632)
- Fix: 一部の音声ファイルが映像ファイルとして扱われる問題を修正
- Fix: リプライのみの引用リートと、CWのみの引用リートが純粋なリートとして誤って扱われてしまう問題を修正
- Fix: 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように
- Fix: 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/606)
- Fix: Add Cache-Control to Bull Board
- Fix: nginx経由で/files/にRangeリクエストされた場合に正しく応答できないのを修正
@@ -1091,10 +1503,10 @@
### Note
- 依存関係の更新に伴い、Node.js 20.10.0が最小要件になりました
- 絵文字の追加辞書を既にインストールしている場合は、お手数ですが再インストールのほどお願いします
- 絵文字ピッカーにピン留め表示する絵文字設定が「リアクション用」と「絵文字入力用」に分かれました。以前の設定は「リアクション用」として使用されます。
- 絵文字ピッカーにピン留め表示する絵文字設定が「リアクション用」と「絵文字入力用」に分かれました。以前の設定は「リアクション用」として使用されます。
**影響:**
それにより、投稿フォームから表示される絵文字ピッカーのピン留め絵文字がリセットされたように感じるかもしれません(新設された"ピン留め(全般)"の設定が使われるため)。
**影響:**
それにより、投稿フォームから表示される絵文字ピッカーのピン留め絵文字がリセットされたように感じるかもしれません(新設された"ピン留め(全般)"の設定が使われるため)。
投稿用のピン留め絵文字をアップデート前の状態にするには、以下の手順で操作します。
1. 「設定」メニューに移動し、「絵文字ピッカー」タブを選択します。
@@ -1141,7 +1553,7 @@
- Enhance: Unicode 15.0のサポート
- Enhance: コードブロックのハイライト機能を利用するには言語を明示的に指定させるように
- MFMでコードブロックを利用する際に意図しないハイライトが起こらないようになりました
- 逆に、MFMでコードハイライトを利用したい際は言語を明示的に指定する必要があります
- 逆に、MFMでコードハイライトを利用したい際は言語を明示的に指定する必要があります
(例: ` ```js ` → Javascript, ` ```ais ` → AiScript
- Enhance: 絵文字などのオートコンプリートでShift+Tabを押すと前の候補を選択できるように
- Enhance: チャンネルに新規の投稿がある場合にバッジを表示させる
@@ -1548,9 +1960,9 @@
### General
- 招待機能を改善しました
* 過去に発行した招待コードを確認できるようになりました
* ロールごとに招待コードの発行数制限と制限対象期間、有効期限を設定できるようになりました
* 招待コードを作成したユーザーと使用したユーザーを確認できるようになりました
* 過去に発行した招待コードを確認できるようになりました
* ロールごとに招待コードの発行数制限と制限対象期間、有効期限を設定できるようになりました
* 招待コードを作成したユーザーと使用したユーザーを確認できるようになりました
- ユーザーにロールが期限付きでアサインされている場合、その期限をユーザーのモデレーションページで確認できるようになりました
- identicon生成を無効にしてパフォーマンスを向上させることができるようになりました
- サーバーのマシン情報の公開を無効にしてパフォーマンスを向上させることができるようになりました
@@ -1713,9 +2125,9 @@ Meilisearchの設定に`index`が必要になりました。値はMisskeyサー
* 「フォロワーのみ」の投稿は検索結果に表示されません。
- 新規登録前に簡潔なルールをユーザーに表示できる、サーバールール機能を追加
- ユーザーへの自分用メモ機能
* ユーザーに対して、自分だけが見られるメモを追加できるようになりました。
* ユーザーに対して、自分だけが見られるメモを追加できるようになりました。
(自分自身に対してもメモを追加できます。)
* ユーザーメニューから追加できます。
* ユーザーメニューから追加できます。
デスクトップ表示ではusernameの右側のボタンからも追加可能
- チャンネルに色を設定できるようになりました。各ノートに設定した色のインジケーターが表示されます。
- チャンネルをアーカイブできるようになりました。

View File

@@ -618,3 +618,23 @@ color: hsl(from var(--MI_THEME-accent) h s calc(l - 10));
color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
```
## 考え方
### DRYに囚われるな
必要なのは一般化ではなく抽象化と考えます。
盲信せず、誤った・不必要な共通化は避け、それが自然だと感じる場合は重複させる勇気を持ちましょう。
### Misskeyを複雑にしない実装
それがいくら複雑であっても、Misskey固有のコンテキストと関心が分離されている(もしくは事実上分離されていると見做すことができる)実装であれば、それはMisskeyのコードベースに対する複雑性に影響を与えないと考えます。
例えるなら、VueやAiScriptといったMisskeyが使用しているライブラリの内部実装がいくら複雑だったとしても、「それを使用しているからMisskeyの実装は複雑である」ということにはならないのと同じです。
Misskeyのドメイン知識から関心が分離されているということは、Misskeyの実装について考える時にそれらの内部実装を考慮する必要が無く、認知負荷を増やさないからです。
また重要な点は、その実装が、Misskeyリポジトリの外部にあるか・内部にあるかということや、Misskeyがメンテナンスするものか・第三者がメンテナンスするものかといったことは複雑性を考える上ではほとんど無視できるという点です。
もちろんその実装がMisskeyリポジトリにあり、Misskeyがメンテナンスしなければならないものは、保守のコストはかかります。
しかし、Misskeyの本質的な設計・実装という観点で見たときは、その実装は実質的に外部ライブラリのように振る舞います。
換言すれば「たまたまMisskeyの開発者と同じ人たちがメンテナンスしているし、たまたまMisskeyのリポジトリ内に置いてあるだけの外部ライブラリ」です。
そのため、実装をなるべくMisskeyのドメイン知識から独立したものにすれば、Misskeyのコードベースの複雑性を上げることなく機能実装を行うことができ、お得であると言えます。
もちろんそれにこだわって、些細な実装でもそのように分離してしまうとかえって認知負荷が増えたり、実装量が増えてメリットをデメリットが上回る場合もあるので、ケースバイケースではあります。

View File

@@ -1,5 +1,5 @@
Unless otherwise stated this repository is
Copyright © 2014-2025 syuilo and contributors
Copyright © 2014-2026 syuilo and contributors
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.

View File

@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.4
# syntax = docker/dockerfile:1.21
ARG NODE_VERSION=22.15.0-bookworm
ARG NODE_VERSION=22.22.0-bookworm
# build assets & compile TypeScript
@@ -18,10 +18,13 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
COPY --link ["packages/frontend-builder/package.json", "./packages/frontend-builder/"]
COPY --link ["packages/i18n/package.json", "./packages/i18n/"]
COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
@@ -53,6 +56,7 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
@@ -98,6 +102,7 @@ COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-reversi/built ./packages/misskey-reversi/built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/i18n/built ./packages/i18n/built
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
COPY --chown=misskey:misskey . ./

View File

@@ -24,6 +24,10 @@
<a href="https://www.patreon.com/syuilo">
<img src="https://custom-icon-badges.herokuapp.com/badge/become_a-patron-F96854?logoColor=F96854&style=for-the-badge&logo=patreon&labelColor=363B40" alt="become a patron"/></a>
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/misskey-dev/misskey)
<a href="https://flatt.tech/oss/gmo/trampoline" target="_blank"><img src="https://flatt.tech/assets/images/badges/gmo-oss.svg" height="24px"/></a>
</div>
## Thanks
@@ -47,3 +51,13 @@ Thanks to [Crowdin](https://crowdin.com/) for providing the localization platfor
<a href="https://hub.docker.com/"><img src="https://user-images.githubusercontent.com/20679825/230148221-f8e73a32-a49b-47c3-9029-9a15c3824f92.png" height="30" alt="Docker" /></a>
Thanks to [Docker](https://hub.docker.com/) for providing the container platform that helps us run Misskey in production.
---
<div align="center">
Support us with a ⭐ !
[![Star History Chart](https://api.star-history.com/svg?repos=misskey-dev/misskey&type=Date)](https://star-history.com/#misskey-dev/misskey&Date)
</div>

View File

@@ -6,7 +6,7 @@ Also, the later tasks are more indefinite and are subject to change as developme
This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development.
- ~~Make the number of type errors zero (backend)~~ → Done ✔️
- Make the number of type errors zero (frontend)
- ~~Make the number of type errors zero (frontend)~~ → Done ✔️
- Improve CI
- ~~Fix tests~~ → Done ✔️
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986

View File

@@ -27,7 +27,7 @@ spec:
ports:
- containerPort: 3000
- name: postgres
image: postgres:15-alpine
image: postgres:18-alpine
env:
- name: POSTGRES_USER
value: "example-misskey-user"

View File

@@ -15,13 +15,13 @@ services:
db:
restart: always
image: postgres:15-alpine
image: postgres:18-alpine
ports:
- "5432:5432"
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
- ./db:/var/lib/postgresql
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s

View File

@@ -37,13 +37,13 @@ services:
db:
restart: always
image: postgres:15-alpine
image: postgres:18-alpine
networks:
- internal_network
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
- ./db:/var/lib/postgresql
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s

View File

@@ -78,6 +78,8 @@ describe('After setup instance', () => {
cy.get('[data-cy-signup-password] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-invitation-code] input').type('test-invitation-code');
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
cy.get('[data-cy-signup-submit]').click();

View File

@@ -1,7 +1,7 @@
{
"compilerOptions": {
"lib": ["dom", "es5"],
"target": "es5",
"lib": ["dom"],
"target": "esnext",
"types": ["cypress", "node"]
},
"include": ["./**/*.ts"]

View File

@@ -4,8 +4,8 @@
*/
/* eslint-disable @typescript-eslint/explicit-function-return-type */
import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3';
import { action } from 'storybook/actions';
import type { StoryObj } from '@storybook/vue3';
import { HttpResponse, http } from 'msw';
import { abuseUserReport } from '../packages/frontend/.storybook/fakes.js';
import { commonHandlers } from '../packages/frontend/.storybook/mocks.js';

View File

@@ -0,0 +1,232 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
</template>
<script lang="ts" setup>
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
import isChromatic from 'chromatic/isChromatic';
import { initShaderProgram } from '@/utility/webgl.js';
const VERTEX_SHADER = `#version 300 es
in vec2 position;
out vec2 in_uv;
void main() {
in_uv = (position + 1.0) / 2.0;
gl_Position = vec4(position, 0.0, 1.0);
}
`;
const FRAGMENT_SHADER = `#version 300 es
precision mediump float;
const float PI = 3.141592653589793;
const float TWO_PI = 6.283185307179586;
const float HALF_PI = 1.5707963267948966;
in vec2 in_uv;
uniform vec2 in_resolution;
uniform float u_scale;
uniform float u_time;
uniform float u_seed;
uniform float u_angle;
uniform float u_radius;
uniform vec3 u_color;
uniform vec2 u_ripplePositions[16];
uniform float u_rippleRadiuses[16];
out vec4 out_color;
float getRipple(vec2 uv) {
float strength = 0.0;
float thickness = 0.05;
for (int i = 0; i < 16; i++) {
if (u_rippleRadiuses[i] <= 0.0) continue;
float d = distance(uv, u_ripplePositions[i]);
// フチ
if (d < u_rippleRadiuses[i] + thickness && d > u_rippleRadiuses[i] - thickness) {
float gradate = abs(d - u_rippleRadiuses[i] + thickness) / thickness;
strength += (1.0 - u_rippleRadiuses[i]) * gradate;
}
// 内側
if (d < u_rippleRadiuses[i] + thickness) {
strength += 0.25 * (1.0 - u_rippleRadiuses[i]);
}
}
return strength;
}
void main() {
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
float angle = -(u_angle * PI);
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
vec2 rotatedUV = vec2(
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
);
vec2 uv = rotatedUV;
float time = u_time * 0.00025;
float size = 1.0 / u_scale;
float size_half = size / 2.0;
float modX = mod(uv.x, size);
float modY = mod(uv.y, size);
vec2 pixelated_uv = vec2(
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
) + vec2(0.5 + size, 0.5 + size);
float strength = getRipple(pixelated_uv);
float opacity = min(max(strength, 0.0), 1.0);
float threshold = ((u_radius / 2.0) / u_scale);
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
//out_color = vec4(1.0);
return;
}
// debug
//float a = min(max(getRipple(uv), 0.0), 1.0);
//out_color = vec4(u_color.r, u_color.g, u_color.b, (opacity + a) / 2.0);
out_color = vec4(0.0, 0.0, 0.0, 0.0);
}
`;
const canvasEl = useTemplateRef('canvasEl');
const props = withDefaults(defineProps<{
scale?: number;
}>(), {
scale: 48,
});
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
onMounted(() => {
const canvas = canvasEl.value!;
let width = canvas.offsetWidth;
let height = canvas.offsetHeight;
canvas.width = width;
canvas.height = height;
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
if (maybeGl == null) return;
const gl = maybeGl;
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
const vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
//gl.clear(gl.COLOR_BUFFER_BIT);
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
gl.useProgram(shaderProgram);
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray(positionLocation);
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
gl.uniform1f(u_seed, Math.random() * 1000);
gl.uniform1f(u_scale, props.scale);
gl.uniform1f(u_angle, 0.0);
gl.uniform1f(u_radius, 0.15);
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
if (isChromatic()) {
gl.uniform1f(u_time, 0);
gl.drawArrays(gl.TRIANGLES, 0, 6);
} else {
let ripples = [] as { position: [number, number]; startTime: number; }[];
const LIFE_TIME = 1000 * 4;
function render(timeStamp: number) {
let sizeChanged = false;
if (Math.abs(height - canvas.offsetHeight) > 2) {
height = canvas.offsetHeight;
canvas.height = height;
sizeChanged = true;
}
if (Math.abs(width - canvas.offsetWidth) > 2) {
width = canvas.offsetWidth;
canvas.width = width;
sizeChanged = true;
}
if (sizeChanged && gl) {
gl.uniform2fv(in_resolution, [width, height]);
gl.viewport(0, 0, width, height);
}
gl.uniform1f(u_time, timeStamp);
if (Math.random() < 0.01 && ripples.length < 16) {
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
}
for (let i = 0; i < 16; i++) {
const o = gl.getUniformLocation(shaderProgram, `u_ripplePositions[${i.toString()}]`);
const r = gl.getUniformLocation(shaderProgram, `u_rippleRadiuses[${i.toString()}]`);
const ripple = ripples[i];
if (ripple == null) {
gl.uniform2f(o, 0, 0);
gl.uniform1f(r, 0.0);
continue;
}
const delta = timeStamp - ripple.startTime;
gl.uniform2f(o, ripple.position[0], ripple.position[1]);
gl.uniform1f(r, delta / LIFE_TIME);
}
ripples = ripples.filter(r => (timeStamp - r.startTime) < LIFE_TIME);
if (ripples.length === 0) {
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
}
gl.drawArrays(gl.TRIANGLES, 0, 6);
handle = window.requestAnimationFrame(render);
}
handle = window.requestAnimationFrame(render);
}
});
onUnmounted(() => {
if (handle) {
window.cancelAnimationFrame(handle);
}
// TODO: WebGLリソースの解放
});
</script>
<style lang="scss" module>
</style>

View File

@@ -0,0 +1,190 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
</template>
<script lang="ts" setup>
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
import isChromatic from 'chromatic/isChromatic';
import { GLSL_LIB_SNOISE, initShaderProgram } from '@/utility/webgl.js';
const VERTEX_SHADER = `#version 300 es
in vec2 position;
out vec2 in_uv;
void main() {
in_uv = (position + 1.0) / 2.0;
gl_Position = vec4(position, 0.0, 1.0);
}
`;
const FRAGMENT_SHADER = `#version 300 es
precision mediump float;
const float PI = 3.141592653589793;
const float TWO_PI = 6.283185307179586;
const float HALF_PI = 1.5707963267948966;
${GLSL_LIB_SNOISE}
in vec2 in_uv;
uniform vec2 in_resolution;
uniform float u_scale;
uniform float u_time;
uniform float u_seed;
uniform float u_angle;
uniform float u_radius;
uniform vec3 u_color;
out vec4 out_color;
void main() {
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
float size = 1.0 / u_scale;
float size_half = size / 2.0;
float angle = -(u_angle * PI);
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
vec2 rotatedUV = vec2(
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
);
vec2 uv = rotatedUV;
float modX = mod(uv.x, size);
float modY = mod(uv.y, size);
vec2 pixelated_uv = vec2(
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
) + vec2(0.5 + size, 0.5 + size);
float time = u_time * 0.00025;
float noiseAScale = 1.0;
float noiseAX = (pixelated_uv.x + u_seed) * (u_scale / noiseAScale);
float noiseAY = (pixelated_uv.y + u_seed) * (u_scale / noiseAScale);
float noiseA = snoise(vec3(noiseAX, noiseAY, time * 2.0));
float noiseBScale = 32.0;
float noiseBX = (pixelated_uv.x + u_seed) * (u_scale / noiseBScale);
float noiseBY = (pixelated_uv.y + u_seed) * (u_scale / noiseBScale);
float noiseB = snoise(vec3(noiseBX, noiseBY, time));
float strength = 0.0;
strength += noiseA * 0.2;
strength += noiseB * 0.8;
float opacity = min(max(strength, 0.0), 1.0);
float threshold = ((u_radius / 2.0) / u_scale);
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
return;
}
out_color = vec4(0.0, 0.0, 0.0, 0.0);
}
`;
const canvasEl = useTemplateRef('canvasEl');
const props = withDefaults(defineProps<{
scale?: number;
}>(), {
scale: 48,
});
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
onMounted(() => {
const canvas = canvasEl.value!;
let width = canvas.offsetWidth;
let height = canvas.offsetHeight;
canvas.width = width;
canvas.height = height;
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
if (maybeGl == null) return;
const gl = maybeGl;
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
const vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
//gl.clear(gl.COLOR_BUFFER_BIT);
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
gl.useProgram(shaderProgram);
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray(positionLocation);
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
gl.uniform1f(u_seed, Math.random() * 1000);
gl.uniform1f(u_scale, props.scale);
gl.uniform1f(u_angle, 0.0);
gl.uniform1f(u_radius, 0.15);
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
if (isChromatic()) {
gl.uniform1f(u_time, 0);
gl.drawArrays(gl.TRIANGLES, 0, 6);
} else {
function render(timeStamp: number) {
let sizeChanged = false;
if (Math.abs(height - canvas.offsetHeight) > 2) {
height = canvas.offsetHeight;
canvas.height = height;
sizeChanged = true;
}
if (Math.abs(width - canvas.offsetWidth) > 2) {
width = canvas.offsetWidth;
canvas.width = width;
sizeChanged = true;
}
if (sizeChanged && gl) {
gl.uniform2fv(in_resolution, [width, height]);
gl.viewport(0, 0, width, height);
}
gl.uniform1f(u_time, timeStamp);
gl.drawArrays(gl.TRIANGLES, 0, 6);
handle = window.requestAnimationFrame(render);
}
handle = window.requestAnimationFrame(render);
}
});
onUnmounted(() => {
if (handle) {
window.cancelAnimationFrame(handle);
}
// TODO: WebGLリソースの解放
});
</script>
<style lang="scss" module>
</style>

View File

@@ -68,7 +68,7 @@ receiveFollowRequest: "تلقيت طلب متابعة"
followRequestAccepted: "قُبل طلب المتابعة"
mention: "أشر الى"
mentions: "الإشارات"
directNotes: "الملاحظات المباشرة"
directNotes: "رسالة خاصة"
importAndExport: "إستورد / صدر"
import: "استيراد"
export: "تصدير"
@@ -1008,6 +1008,17 @@ lastNDays: "آخر {n} أيام"
surrender: "ألغِ"
postForm: "أنشئ ملاحظة"
information: "عن"
inMinutes: "د"
inDays: "ي"
widgets: "التطبيقات المُصغّرة"
presets: "إعدادات مسبقة"
_imageEditing:
_vars:
filename: "اسم الملف"
_imageFrameEditor:
font: "الخط"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_chat:
invitations: "دعوة"
noHistory: "السجل فارغ"
@@ -1354,6 +1365,14 @@ _widgets:
userList: "قائمة المستخدمين"
_userList:
chooseList: "اختر قائمة"
_widgetOptions:
height: "الإرتفاع"
_button:
colored: "ملوّن"
_clock:
size: "الحجم"
_birthdayFollowings:
period: "المدة"
_cw:
hide: "إخفاء"
show: "عرض المزيد"
@@ -1394,6 +1413,9 @@ _postForm:
replyPlaceholder: "رد على هذه الملاحظة…"
quotePlaceholder: "اقتبس هذه الملاحظة…"
channelPlaceholder: "انشر في قناة..."
_howToUse:
visibility_title: "الظهور"
menu_title: "القائمة"
_placeholders:
a: "ما الذي تنوي فعله؟"
b: "ماذا يحدث حولك ؟"
@@ -1597,3 +1619,13 @@ _watermarkEditor:
type: "نوع"
image: "صور"
advanced: "متقدم"
_imageEffector:
_fxProps:
scale: "الحجم"
size: "الحجم"
offset: "الموضع"
color: "اللون"
opacity: "الشفافية"
_qr:
showTabTitle: "المظهر"
raw: "نص"

View File

@@ -848,6 +848,17 @@ sourceCode: "সোর্স কোড"
flip: "উল্টান"
postForm: "নোট লিখুন"
information: "আপনার সম্পর্কে"
inMinutes: "মিনিট"
inDays: "দিন"
widgets: "উইজেটগুলি"
_imageEditing:
_vars:
filename: "ফাইলের নাম"
_imageFrameEditor:
header: "হেডার"
font: "ফন্ট"
fontSerif: "সেরিফ"
fontSansSerif: "স্যান্স সেরিফ"
_chat:
invitations: "আমন্ত্রণ"
noHistory: "কোনো ইতিহাস নেই"
@@ -1126,6 +1137,14 @@ _widgets:
aichan: "আই চান"
_userList:
chooseList: "লিস্ট নির্বাচন করুন"
_widgetOptions:
height: "উচ্চতা"
_button:
colored: "রঙ্গিন"
_clock:
size: "আকার"
_birthdayFollowings:
period: "ব্যাপ্তিকাল"
_cw:
hide: "লুকান"
show: "আরও দেখুন"
@@ -1166,6 +1185,9 @@ _postForm:
replyPlaceholder: "নোটটির জবাব দিন..."
quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
channelPlaceholder: "চ্যানেলে পোস্ট করুন..."
_howToUse:
visibility_title: "দৃশ্যমানতা"
menu_title: "মেনু"
_placeholders:
a: "আপনি এখন কি করছেন?"
b: "আপনার আশে পাশে কি হচ্ছে?"
@@ -1355,3 +1377,13 @@ _watermarkEditor:
text: "লেখা"
image: "ছবি"
advanced: "উন্নত"
_imageEffector:
_fxProps:
scale: "আকার"
size: "আকার"
color: "রং"
opacity: "অস্বচ্ছতা"
lightness: "উজ্জ্বল করুন"
_qr:
showTabTitle: "প্রদর্শন"
raw: "লেখা"

View File

@@ -83,6 +83,8 @@ files: "Fitxers"
download: "Descarregar"
driveFileDeleteConfirm: "Estàs segur que vols suprimir el fitxer \"{name}\"? Les notes associades a aquest fitxer també seran esborrades."
unfollowConfirm: "Segur que vols deixar de seguir a {name}?"
cancelFollowRequestConfirm: "Vols cancel·lar la teva sol·licitud de seguiment a {name}?"
rejectFollowRequestConfirm: "Vols rebutjar la sol·licitud de seguiment de {name}?"
exportRequested: "Has sol·licitat una exportació de dades. Això pot trigar una estona. S'afegirà a la teva unitat de disc un cop estigui completada."
importRequested: "Has sol·licitat una importació de dades. Això pot trigar una estona."
lists: "Llistes"
@@ -253,6 +255,7 @@ noteDeleteConfirm: "Segur que voleu eliminar aquesta publicació?"
pinLimitExceeded: "No podeu fixar més publicacions"
done: "Fet"
processing: "S'està processant..."
preprocessing: "Preparant"
preview: "Vista prèvia"
default: "Per defecte"
defaultValueIs: "Per defecte: {value}"
@@ -261,7 +264,7 @@ noJobs: "No hi ha feines"
federating: "Federant"
blocked: "Bloquejat"
suspended: "Anul·lar subscripció "
all: "tot"
all: "Tot"
subscribing: "Subscrit a"
publishing: "S'està publicant"
notResponding: "Sense resposta"
@@ -301,6 +304,7 @@ uploadFromUrlMayTakeTime: "La càrrega des de l'enllaç pot trigar un temps"
uploadNFiles: "Pujar {n} arxius"
explore: "Explora"
messageRead: "Vist"
readAllChatMessages: "Marcar tots els missatges com a llegits"
noMoreHistory: "No hi ha res més per veure"
startChat: "Comença a xatejar "
nUsersRead: "Vist per {n}"
@@ -333,6 +337,7 @@ fileName: "Nom del Fitxer"
selectFile: "Selecciona un fitxer"
selectFiles: "Selecciona fitxers"
selectFolder: "Selecció de carpeta"
unselectFolder: "Deixa de seleccionar la carpeta"
selectFolders: "Selecció de carpetes"
fileNotSelected: "Cap fitxer seleccionat"
renameFile: "Canvia el nom del fitxer"
@@ -345,6 +350,7 @@ addFile: "Afegeix un fitxer"
showFile: "Mostrar fitxer"
emptyDrive: "El teu Disc és buit"
emptyFolder: "La carpeta està buida"
dropHereToUpload: "Arrossega els arxius fins aquí per pujar-los al servidor"
unableToDelete: "No es pot eliminar"
inputNewFileName: "Introduïu el nom de fitxer nou"
inputNewDescription: "Escriu el peu de foto."
@@ -537,6 +543,7 @@ regenerate: "Regenera"
fontSize: "Mida del text"
mediaListWithOneImageAppearance: "Altura de la llista de fitxers amb una única imatge"
limitTo: "Limita a {x}"
showMediaListByGridInWideArea: "Mostra la llista de medis en vista quadrícula quan l'amplada de la pantalla ho permeti"
noFollowRequests: "No tens sol·licituds de seguiment"
openImageInNewTab: "Obre imatges a una nova pestanya"
dashboard: "Tauler de control"
@@ -648,7 +655,7 @@ disablePlayer: "Tanca el reproductor de vídeo"
expandTweet: "Expandir post"
themeEditor: "Editor de temes"
description: "Descripció"
describeFile: "Afegeix una descripció "
describeFile: "Afegir text alternatiu"
enterFileDescription: "Escriu un peu de foto"
author: "Autor"
leaveConfirm: "Hi ha canvis sense guardar. Els vols descartar?"
@@ -772,6 +779,7 @@ lockedAccountInfo: "Tret que establiu la visibilitat de la nota a \"Només segui
alwaysMarkSensitive: "Marcar com a sensible per defecte"
loadRawImages: "Carregar les imatges originals en comptes de miniatures "
disableShowingAnimatedImages: "No reproduir imatges animades"
disableShowingAnimatedImages_caption: "Si les imatges animades no es reprodueixen, independentment d'aquesta configuració, és possible que la configuració d'accessibilitat del navegador i el sistema operatiu, els modes d'estalvi d'energia i similars estiguin interferint."
highlightSensitiveMedia: "Ressalta els medis marcats com a sensibles"
verificationEmailSent: "S'ha enviat un correu electrònic de verificació. Fes clic a l'enllaç per completar la verificació."
notSet: "Sense definir"
@@ -896,7 +904,7 @@ searchResult: "Resultats de la cerca"
hashtags: "Etiquetes"
troubleshooting: "Solucionar problemes"
useBlurEffect: "Fes servir efectes de desenfocament a la interfície"
learnMore: "Saber més "
learnMore: "Saber-ne més "
misskeyUpdated: "Misskey s'ha actualitzat "
whatIsNew: "Mostra canvis"
translate: "Traduir "
@@ -1018,6 +1026,9 @@ pushNotificationAlreadySubscribed: "L'enviament de notificacions ja és activat"
pushNotificationNotSupported: "El teu navegador o la teva instància no suporta l'enviament de notificacions "
sendPushNotificationReadMessage: "Esborrar les notificacions enviades quan s'hagin llegit"
sendPushNotificationReadMessageCaption: "Això pot fer que el teu dispositiu consumeixi més bateria"
pleaseAllowPushNotification: "Si us plau, permet les notificacions del navegador"
browserPushNotificationDisabled: "No s'ha pogut obtenir permisos per les notificacions"
browserPushNotificationDisabledDescription: "No tens permisos per enviar notificacions des de {serverName}. Activa les notificacions a la configuració del teu navegador i tornar-ho a intentar."
windowMaximize: "Maximitzar "
windowMinimize: "Minimitzar"
windowRestore: "Restaurar"
@@ -1054,6 +1065,7 @@ permissionDeniedError: "Operació no permesa "
permissionDeniedErrorDescription: "Aquest compte no té suficients permisos per dur a terme aquesta acció "
preset: "Predefinit"
selectFromPresets: "Escull des dels predefinits"
custom: "Personalitzat"
achievements: "Assoliments"
gotInvalidResponseError: "Resposta del servidor invàlida "
gotInvalidResponseErrorDescription: "No es pot contactar amb el servidor o potser es troba fora de línia per manteniment. Provar-ho de nou més tard."
@@ -1061,8 +1073,8 @@ thisPostMayBeAnnoying: "Aquesta nota pot ser molesta per algú."
thisPostMayBeAnnoyingHome: "Publicar a la línia de temps d'Inici"
thisPostMayBeAnnoyingCancel: "Cancel·lar "
thisPostMayBeAnnoyingIgnore: "Publicar de totes maneres"
collapseRenotes: "Col·lapsar les renotes que ja has vist"
collapseRenotesDescription: "Col·lapse les notes a les quals ja has reaccionat o que ja has renotat"
collapseRenotes: "Col·lapsar els impulsos que ja has vist"
collapseRenotesDescription: "Col·lapse les notes a les quals ja has reaccionat o que ja has impulsat."
internalServerError: "Error intern del servidor"
internalServerErrorDescription: "El servidor ha fallat de manera inexplicable."
copyErrorInfo: "Copiar la informació de l'error "
@@ -1092,6 +1104,7 @@ prohibitedWordsDescription2: "Fent servir espais crearà expressions AND si l'ex
hiddenTags: "Etiquetes ocultes"
hiddenTagsDescription: "La visibilitat de totes les notes que continguin qualsevol de les paraules configurades seran, automàticament, afegides a \"Inici\". Pots llistar diferents paraules separant les per línies noves."
notesSearchNotAvailable: "La cerca de notes no es troba disponible."
usersSearchNotAvailable: "La cerca d'usuaris no està disponible."
license: "Llicència"
unfavoriteConfirm: "Esborrar dels favorits?"
myClips: "Els meus retalls"
@@ -1166,6 +1179,7 @@ installed: "Instal·lats "
branding: "Marca"
enableServerMachineStats: "Publicar estadístiques del maquinari del servidor"
enableIdenticonGeneration: "Activar la generació d'icones d'identificació "
showRoleBadgesOfRemoteUsers: "Mostrar insígnies de rols d'instàncies remotes "
turnOffToImprovePerformance: "Desactivant aquesta opció es pot millorar el rendiment."
createInviteCode: "Crear codi d'invitació "
createWithOptions: "Crear invitació amb opcions"
@@ -1243,7 +1257,7 @@ releaseToRefresh: "Deixar anar per actualitzar"
refreshing: "Recarregant..."
pullDownToRefresh: "Llisca cap a baix per recarregar"
useGroupedNotifications: "Mostrar les notificacions agrupades "
signupPendingError: "Hi ha hagut un problema verificant l'adreça de correu electrònic. L'enllaç pot haver caducat."
emailVerificationFailedError: "Hem tingut un problema en verificar la teva adreça de correu electrònic. És probable que l'enllaç estigui caducat."
cwNotationRequired: "Si està activat \"Amagar contingut\" s'ha d'escriure una descripció "
doReaction: "Afegeix una reacció "
code: "Codi"
@@ -1313,6 +1327,8 @@ availableRoles: "Roles disponibles "
acknowledgeNotesAndEnable: "Activa'l després de comprendre els possibles perills."
federationSpecified: "Aquest servidor treballa amb una federació de llistes blanques. No pot interactuar amb altres servidors que no siguin els especificats per l'administrador."
federationDisabled: "La unió es troba deshabilitada en aquest servidor. No es pot interactuar amb usuaris d'altres servidors."
draft: "Esborrany "
draftsAndScheduledNotes: "Esborranys i publicacions programades"
confirmOnReact: "Confirmar en reaccionar"
reactAreYouSure: "Vols reaccionar amb \"{emoji}\"?"
markAsSensitiveConfirm: "Vols marcar aquest contingut com a sensible?"
@@ -1340,6 +1356,8 @@ postForm: "Formulari de publicació"
textCount: "Nombre de caràcters "
information: "Informació"
chat: "Xat"
directMessage: "Xateja amb aquest usuari"
directMessage_short: "Missatge"
migrateOldSettings: "Migrar la configuració anterior"
migrateOldSettings_description: "Normalment això es fa automàticament, però si la transició no es fa, el procés es pot iniciar manualment. S'esborrarà la configuració actual."
compress: "Comprimir "
@@ -1350,7 +1368,7 @@ embed: "Incrustar"
settingsMigrating: "Estem migrant la teva configuració. Si us plau espera un moment... (També pots fer la migració més tard, manualment, anant a Preferències → Altres → Migrar configuració antiga)"
readonly: "Només lectura"
goToDeck: "Tornar al tauler"
federationJobs: "Treballs sindicats "
federationJobs: "Treballs de federació"
driveAboutTip: "Al Disc veure's una llista de tots els arxius que has anat pujant.<br>\nPots tornar-los a fer servir adjuntant-los a notes noves o pots adelantar-te i pujar arxius per publicar-los més tard!<br>\n<b>Tingués en compte que si esborres un arxiu també desapareixerà de tots els llocs on l'has fet servir (notes, pàgines, avatars, imatges de capçalera, etc.)</b><br>\nTambé pots crear carpetes per organitzar les."
scrollToClose: "Desplaçar per tancar"
advice: "Consell"
@@ -1367,7 +1385,84 @@ redisplayAllTips: "Torna ha mostrat tots els trucs i consells"
hideAllTips: "Amagar tots els trucs i consells"
defaultImageCompressionLevel: "Nivell de comprensió de la imatge per defecte"
defaultImageCompressionLevel_description: "Baixa, conserva la qualitat de la imatge però la mida de l'arxiu és més gran. <br>Alta, redueix la mida de l'arxiu però també la qualitat de la imatge."
defaultCompressionLevel: "Nivell de compressió predeterminat"
defaultCompressionLevel_description: "Si el redueixes augmentaràs la qualitat de la imatge, però la mida de l'arxiu serà més gran. <br>Si augmentes l'opció redueixes la mida de l'arxiu i la qualitat de la imatge és pitjor."
inMinutes: "Minut(s)"
inDays: "Di(a)(es)"
safeModeEnabled: "Mode segur activat"
pluginsAreDisabledBecauseSafeMode: "Les extensions no estan activades perquè el mode segur està activat."
customCssIsDisabledBecauseSafeMode: "El CSS personalitzat no s'aplica perquè el mode segur es troba activat."
themeIsDefaultBecauseSafeMode: "El tema predeterminat es farà servir mentre el mode segur estigui activat. Una vegada es desactivi el mode segur es restablirà el tema escollit."
thankYouForTestingBeta: "Gràcies per ajudar-nos a provar la versió beta!"
createUserSpecifiedNote: "Crear notes especificades per l'usuari "
schedulePost: "Programar una nota"
scheduleToPostOnX: "Programar una nota per {x}"
scheduledToPostOnX: "S'ha programat la nota per {x}"
schedule: "Programa"
scheduled: "Programat"
widgets: "Ginys"
deviceInfo: "Informació del dispositiu"
deviceInfoDescription: "En fer consultes tècniques influir la següent informació pot ajudar a resoldre'l més ràpidament."
youAreAdmin: "Ets l'administrador "
frame: "Marc"
presets: "Predefinit"
zeroPadding: "Sense omplir"
nothingToConfigure: "No hi ha res a configurar"
viewRenotedChannel: "Mirar el canal d'impulsos "
_imageEditing:
_vars:
caption: "Títol de l'arxiu"
filename: "Nom del Fitxer"
filename_without_ext: "Nom de l'arxiu sense extensió "
year: "Any"
month: "Mes"
day: "Dia"
hour: "Hora"
minute: "Minut"
second: "Segon"
camera_model: "Nom de la càmera "
camera_lens_model: "Nom de la lent"
camera_mm: "Distància focal"
camera_mm_35: "Distància focal (equivalent a 35mm)"
camera_f: "Obertura"
camera_s: "Velocitat d'obturació"
camera_iso: "Sensibilitat ISO"
gps_lat: "Latitud "
gps_long: "Longitud "
_imageFrameEditor:
title: "Edició de fotogrames "
tip: "Pots decorar les imatges afegint etiquetes que continguin marcs i metadades."
header: "Capçalera"
footer: "Peu de pàgina "
borderThickness: "Amplada de la vora"
labelThickness: "Amplada de l'etiqueta "
labelScale: "Mida de l'etiqueta "
centered: "Alinea al centre"
captionMain: "Peu de foto (gran)"
captionSub: "Peu de foto (petit)"
availableVariables: "Variables disponibles"
withQrCode: "Codi QR"
backgroundColor: "Color del fons"
textColor: "Color del text"
font: "Lletra tipogràfica"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
quitWithoutSaveConfirm: "Sortir sense desar?"
failedToLoadImage: "Error en carregar la imatge"
_compression:
_quality:
high: "Qualitat alta"
medium: "Qualitat mitjana"
low: "Qualitat baixa"
_size:
large: "Mida gran"
medium: "Mida mitjana"
small: "Mida petita"
_order:
newest: "Més recent"
oldest: "Antigues primer"
_chat:
messages: "Missatge"
noMessagesYet: "Encara no tens missatges "
newMessage: "Missatge nou"
individualChat: "Xat individual "
@@ -1455,6 +1550,12 @@ _settings:
contentsUpdateFrequency_description2: "Quan s'activa el mode en temps real, el contingut s'actualitza en temps real, independentment d'aquesta configuració."
showUrlPreview: "Mostrar vista prèvia d'URL"
showAvailableReactionsFirstInNote: "Mostra les reacciones que pots fer servir al damunt"
showPageTabBarBottom: "Mostrar les pestanyes de les línies de temps a la part inferior"
emojiPaletteBanner: "Pots registrar ajustos preestablerts com paletes perquè es mostrin permanentment al selector d'emojis, o personalitzar la configuració de visió del selector."
enableAnimatedImages: "Activar imatges animades"
settingsPersistence_title: "Persistència de la configuració "
settingsPersistence_description1: "Habilitar la persistència de la configuració permet que no es perdi la informació de la configuració "
settingsPersistence_description2: "Depenent de l'entorn pot ser que no puguis habilitar aquesta opció."
_chat:
showSenderName: "Mostrar el nom del remitent"
sendOnEnter: "Introdueix per enviar"
@@ -1463,6 +1564,8 @@ _preferencesProfile:
profileNameDescription: "Estableix un nom que identifiqui aquest dispositiu."
profileNameDescription2: "Per exemple: \"PC Principal\", \"Smartphone\", etc"
manageProfiles: "Gestionar perfils"
shareSameProfileBetweenDevicesIsNotRecommended: "No recomanem compartir el mateix perfil en diferents dispositius."
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "Si hi ha ajustos que vols sincronitzar entre diferents dispositius activa l'opció \"Sincronitza entre diferents dispositius\" individualment per cada una de les diferents opcions."
_preferencesBackup:
autoBackup: "Còpia de seguretat automàtica "
restoreFromBackup: "Restaurar des d'una còpia de seguretat"
@@ -1472,6 +1575,7 @@ _preferencesBackup:
youNeedToNameYourProfileToEnableAutoBackup: "Has de posar-li un nom al teu perfil per poder activar les còpies de seguretat automàtiques."
autoPreferencesBackupIsNotEnabledForThisDevice: "La còpia de seguretat automàtica no es troba activada en aquest dispositiu."
backupFound: "Còpia de seguretat de la configuració trobada"
forceBackup: "Còpia de seguretat forçada de la configuració "
_accountSettings:
requireSigninToViewContents: "És obligatori l'inici de sessió per poder veure el contingut"
requireSigninToViewContentsDescription1: "Es requereix l'inici de sessió per poder veure totes les notes i el contingut que has creat. Amb això esperem evitar que els rastrejadors recopilin informació."
@@ -1511,8 +1615,8 @@ _bubbleGame:
highScore: "Millor puntuació "
maxChain: "Nombre màxim de combos"
yen: "{yen}Ien"
estimatedQty: "{qty}peces"
scoreSweets: "{onigiriQtyWithUnit}ongiris"
estimatedQty: "{qty} Peces"
scoreSweets: "{onigiriQtyWithUnit} Boles d'arròs "
_howToPlay:
section1: "Ajusta la posició i deixa caure l'objecte dintre la caixa."
section2: "Quan dos objectes del mateix tipus es toquen, canviaran en un objecte diferent i guanyares punts."
@@ -1523,7 +1627,7 @@ _announcement:
needConfirmationToRead: "Es necessita confirmació de lectura de la notificació "
needConfirmationToReadDescription: "Si s'activa es mostrarà un diàleg per confirmar la lectura d'aquesta notificació. A més aquesta notificació serà exclosa de qualsevol funcionalitat com \"Marcar tot com a llegit\"."
end: "Final de la notificació "
tooManyActiveAnnouncementDescription: "Tenir massa notificacions actives pot empitjorar l'experiència de l'usuari. Considera finalitzar els avisos que siguin antics."
tooManyActiveAnnouncementDescription: "Tenir masses notificacions actives pot empitjorar l'experiència de l'usuari. Considera finalitzar els avisos que siguin antics."
readConfirmTitle: "Marcar com llegida?"
readConfirmText: "Això marcarà el contingut de \"{title}\" com llegit."
shouldNotBeUsedToPresentPermanentInfo: "Ja que l'ús de notificacions pot impactar l'experiència dels nous usuaris, és recomanable fer servir les notificacions amb el flux d'informació en comptes de fer-les servir en un únic bloc."
@@ -1584,7 +1688,7 @@ _initialTutorial:
description: "Pots limitar qui pot veure les teves notes."
public: "La teva nota serà visible per a tots els usuaris."
home: "Publicar només a línia de temps d'Inici. La gent que visiti el teu perfil o mitjançant les remotes també la podran veure."
followers: "Només visible per a seguidors. Només els teus seguidors la podran veure i ningú més. Ningú més podrà fer renotes."
followers: "Només visible per a seguidors. Només els teus seguidors la podran veure i ningú més. Ningú més podrà fer impulsos."
direct: "Només visible per a alguns seguidors, el destinatari rebre una notificació. Es pot fer servir com una alternativa als missatges directes."
doNotSendConfidencialOnDirect1: "Tingues cura quan enviïs informació sensible."
doNotSendConfidencialOnDirect2: "Els administradors del servidor poden veure tot el que escrius. Ves compte quan enviïs informació sensible en enviar notes directes a altres usuaris en servidors de poca confiança."
@@ -1628,6 +1732,10 @@ _serverSettings:
fanoutTimelineDbFallback: "Carregar de la base de dades"
fanoutTimelineDbFallbackDescription: "Quan s'activa, la línia de temps fa servir la base de dades per consultes adicionals si la línia de temps no es troba a la memòria cau. Si és desactiva la càrrega del servidor és veure reduïda, però també és reduirà el nombre de línies de temps que és poden obtenir."
reactionsBufferingDescription: "Quan s'activa aquesta opció millora bastant el rendiment en recuperar les línies de temps reduint la càrrega de la base. Com a contrapunt, augmentarà l'ús de memòria de Redís. Desactiva aquesta opció en cas de tenir un servidor amb poca memòria o si tens problemes d'inestabilitat."
remoteNotesCleaning: "Neteja automàtica de notes remotes"
remoteNotesCleaning_description: "Quan activis aquesta opció, periòdicament es netejaran les notes remotes que no es consultin, això evitarà que la base de dades se"
remoteNotesCleaningMaxProcessingDuration: "Duració màxima del temps de funcionament del procés de neteja"
remoteNotesCleaningExpiryDaysForEachNotes: "Duració mínima de conservació de les notes"
inquiryUrl: "URL de consulta "
inquiryUrlDescription: "Escriu adreça URL per al formulari de consulta per al mantenidor del servidor o una pàgina web amb el contacte d'informació."
openRegistration: "Registres oberts"
@@ -1646,6 +1754,11 @@ _serverSettings:
userGeneratedContentsVisibilityForVisitor: "L'abast de la publicació del contingut generat per l'usuari"
userGeneratedContentsVisibilityForVisitor_description: "Això ajuda a evitar problemes com que continguts remots inadequats que no hagin estat moderats correctament es publiquin a internet mitjançant el teu servidor."
userGeneratedContentsVisibilityForVisitor_description2: "La publicació incondicional de tots els continguts del servidor a internet, incloent-hi els continguts remots rebuts pel servidor, comporta riscos. Això és extremadament important per els espectadors que desconeixen el caràcter descentralitzat dels continguts, ja que poden percebre erroneament els continguts remots com contingut generat per el propi servidor."
restartServerSetupWizardConfirm_title: "Vols tornar a executar l'assistent de configuració inicial del servidor?"
restartServerSetupWizardConfirm_text: "Algunes configuracions actuals seran restablertes."
entrancePageStyle: "Estil de la pàgina d'inici"
showTimelineForVisitor: "Mostrar la línia de temps"
showActivitiesForVisitor: "Mostrar activitat"
_userGeneratedContentsVisibilityForVisitor:
all: "Tot obert al públic "
localOnly: "Només es publiquen els continguts locals, el contingut remot es manté privat"
@@ -1968,6 +2081,7 @@ _role:
canManageAvatarDecorations: "Gestiona les decoracions dels avatars "
driveCapacity: "Capacitat del disc"
maxFileSize: "Mida màxima de l'arxiu que es pot carregar"
maxFileSize_caption: "Pot haver-hi la possibilitat que existeixin altres opcions de configuració de l'etapa anterior, com podria ser el proxy invers i la CDN."
alwaysMarkNsfw: "Marca sempre els fitxers com a sensibles"
canUpdateBioMedia: "Permet l'edició d'una icona o un bàner"
pinMax: "Nombre màxim de notes fixades"
@@ -1982,6 +2096,7 @@ _role:
descriptionOfRateLimitFactor: "Límits baixos són menys restrictius, límits alts són més restrictius."
canHideAds: "Pot amagar la publicitat"
canSearchNotes: "Pot cercar notes"
canSearchUsers: "Pot cercar usuaris"
canUseTranslator: "Pot fer servir el traductor"
avatarDecorationLimit: "Nombre màxim de decoracions que es poden aplicar els avatars"
canImportAntennas: "Autoritza la importació d'antenes "
@@ -1993,6 +2108,9 @@ _role:
uploadableFileTypes: "Tipus de fitxers que en podeu pujar"
uploadableFileTypes_caption: "Especifica el tipus MIME. Es poden especificar diferents tipus MIME separats amb una nova línia, i es poden especificar comodins amb asteriscs (*). (Per exemple: image/*)"
uploadableFileTypes_caption2: "Pot que no sigui possible determinar el tipus MIME d'alguns arxius. Per permetre aquests tipus d'arxius afegeix {x} a les especificacions."
noteDraftLimit: "Nombre possible d'esborranys de notes al servidor"
scheduledNoteLimit: "Màxim nombre de notes programades que es poden crear simultàniament"
watermarkAvailable: "Pots fer servir la marca d'aigua"
_condition:
roleAssignedTo: "Assignat a rols manuals"
isLocal: "Usuari local"
@@ -2050,7 +2168,7 @@ _ad:
timezoneinfo: "El dia de la setmana ve determinat del fus horari del servidor."
adsSettings: "Configurar la publicitat"
notesPerOneAd: "Interval d'emplaçament publicitari en temps real (Notes per anuncis)"
setZeroToDisable: "Ajusta aquest valor a 0 per deshabilitar l'actualització d'anuncis en temps real"
setZeroToDisable: "Ajusta aquest valor a 0 per deshabilitar l'actualització de publicitat en temps real"
adsTooClose: "L'interval actual pot fer que l'experiència de l'usuari sigui dolenta perquè l'interval és molt baix."
_forgotPassword:
enterEmail: "Escriu l'adreça de correu electrònic amb la que et vas registrar. S'enviarà un correu electrònic amb un enllaç perquè puguis canviar-la."
@@ -2068,8 +2186,8 @@ _email:
title: "Has rebut una sol·licitud de seguiment"
_plugin:
install: "Instal·lar un afegit "
installWarn: "Si us plau, no instal·lis afegits que no siguin de confiança."
manage: "Gestionar els afegits"
installWarn: "Si us plau, no instal·lis extensions que no siguin de confiança."
manage: "Gestiona les extensions"
viewSource: "Veure l'origen "
viewLog: "Mostra el registre"
_preferencesBackups:
@@ -2152,6 +2270,7 @@ _theme:
install: "Instal·lar un tema"
manage: "Gestionar els temes "
code: "Codi del tema"
copyThemeCode: "Copiar el codi del tema"
description: "Descripció"
installed: "{name} Instal·lat "
installedThemes: "Temes instal·lats "
@@ -2251,6 +2370,7 @@ _time:
minute: "Minut(s)"
hour: "Hor(a)(es)"
day: "Di(a)(es)"
month: "Mes(os)"
_2fa:
alreadyRegistered: "J has registrat un dispositiu d'autenticació de doble factor."
registerTOTP: "Registrar una aplicació autenticadora"
@@ -2380,6 +2500,7 @@ _auth:
scopeUser: "Opera com si fossis aquest usuari"
pleaseLogin: "Si us plau, identificat per autoritzar l'aplicació."
byClickingYouWillBeRedirectedToThisUrl: "Si es garanteix l'accés, seràs redirigit automàticament a la següent adreça URL"
alreadyAuthorized: "Aquesta aplicació ja té accés."
_antennaSources:
all: "Totes les publicacions"
homeTimeline: "Publicacions dels usuaris seguits"
@@ -2425,7 +2546,45 @@ _widgets:
chooseList: "Tria una llista"
clicker: "Clicker"
birthdayFollowings: "Usuaris que fan l'aniversari avui"
chat: "Xat"
chat: "Xateja amb aquest usuari"
_widgetOptions:
showHeader: "Mostrar la capçalera"
transparent: "Fons transparent"
height: "Alçada "
_button:
colored: "Colorit"
_clock:
size: "Mida"
thickness: "Amplada de l'agulla "
thicknessThin: "Esvelt "
thicknessMedium: "Normal"
thicknessThick: "Gruixut "
graduations: "Marques de l'esfera "
graduationDots: "Punt"
graduationArabic: "Nombres àrabs "
fadeGraduations: "Efecte gradient "
sAnimation: "Animació de la maneta dels segons"
sAnimationElastic: "Real"
sAnimationEaseOut: "Suau"
twentyFour: "Format 24 hores"
labelTime: "Temps"
labelTz: "Fus horari"
labelTimeAndTz: "Hora i fus horari"
timezone: "Fus horari"
showMs: "Mostrar mil·lisegons"
showLabel: "Mostrar etiqueta"
_jobQueue:
sound: "Reprodueix so"
_rss:
url: "URL del canal RSS"
refreshIntervalSec: "Interval d'actualitzacions (segons)"
maxEntries: "Nombre màxim d'entrades a mostrar"
_rssTicker:
shuffle: "Visualització aleatòria "
duration: "Velocitat desplaçament bàner informatiu "
reverse: "Desplaçament contrari"
_birthdayFollowings:
period: "Període"
_cw:
hide: "Amagar"
show: "Carregar més"
@@ -2470,6 +2629,20 @@ _postForm:
replyPlaceholder: "Contestar..."
quotePlaceholder: "Citar..."
channelPlaceholder: "Publicar a un canal..."
showHowToUse: "Mostrar les instruccions"
_howToUse:
content_title: "Cos principal"
content_description: "Introdueix el contingut que vols publicar."
toolbar_title: "Barra d'eines "
toolbar_description: "Pots adjuntar arxius o enquestes, afegir anotacions o etiquetes i inserir emojis o mencions."
account_title: "Menú del compte"
account_description: "Pots anar canviant de comptes per publicar o veure una llista d'esborranys i les publicacions programades del teu compte."
visibility_title: "Visibilitat"
visibility_description: "Pots configurar la visibilitat de les teves notes."
menu_title: "Menú"
menu_description: "Pots fer altres accions com desar esborranys, programar publicacions i configurar reaccions."
submit_title: "Botó per publicar"
submit_description: "Publica les teves notes. També pots fer servir Ctrl + Enter / Cmd + Enter"
_placeholders:
a: "Que vols dir?..."
b: "Alguna cosa interessant al teu voltant?..."
@@ -2615,6 +2788,8 @@ _notification:
youReceivedFollowRequest: "Has rebut una petició de seguiment"
yourFollowRequestAccepted: "La teva petició de seguiment ha sigut acceptada"
pollEnded: "Ja pots veure els resultats de l'enquesta "
scheduledNotePosted: "Una nota programada ha sigut publicada"
scheduledNotePostFailed: "Ha fallat la publicació d'una nota programada"
newNote: "Nota nova"
unreadAntennaNote: "Antena {name}"
roleAssigned: "Rol assignat "
@@ -2644,6 +2819,8 @@ _notification:
quote: "Citar"
reaction: "Reaccions"
pollEnded: "Enquesta terminada"
scheduledNotePosted: "Nota programada amb èxit "
scheduledNotePostFailed: "Ha fallat la programació de la nota"
receiveFollowRequest: "Rebuda una petició de seguiment"
followRequestAccepted: "Petició de seguiment acceptada"
roleAssigned: "Rol donat"
@@ -2683,6 +2860,14 @@ _deck:
usedAsMinWidthWhenFlexible: "L'amplada mínima es farà servir quan \"Ajust automàtic de l'amplada\" estigui activat"
flexible: "Ajust automàtic de l'amplada"
enableSyncBetweenDevicesForProfiles: "Activar la sincronització de la informació de perfils de dispositiu a dispositiu"
showHowToUse: "Veure la descripció de la interfície d'usuari "
_howToUse:
addColumn_title: "Afegir columna"
addColumn_description: "Pots seleccionar i afegir tipus de columnes."
settings_title: "Configuració de la interfície d'usuari "
settings_description: "Pots configurar la interfície d'usuari amb detall."
switchProfile_title: "Canviar perfil"
switchProfile_description: "Pots desar el disseny de la interfície d'usuari com un perfil i anar canviant entre ells quan vulguis."
_columns:
main: "Principal"
widgets: "Ginys"
@@ -2694,7 +2879,7 @@ _deck:
mentions: "Mencions"
direct: "Publicacions directes"
roleTimeline: "Línia de temps dels rols"
chat: "Xat"
chat: "Xateja amb aquest usuari"
_dialog:
charactersExceeded: "Has arribat al màxim de caràcters! Actualment és {current} de {max}"
charactersBelow: "Ets per sota del mínim de caràcters! Actualment és {current} de {min}"
@@ -2743,6 +2928,8 @@ _abuseReport:
notifiedWebhook: "Webhook que s'ha de fer servir"
deleteConfirm: "Segur que vols esborrar el destinatari de l'informe de moderació?"
_moderationLogTypes:
clearQueue: "Esborra la cua de feina"
promoteQueue: "Tornar a intentar la feina de la cua"
createRole: "Rol creat"
deleteRole: "Rol esborrat"
updateRole: "Rol actualitzat"
@@ -2800,6 +2987,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Pujat el"
attachedNotes: "Notes amb aquest fitxer"
usage: "Ús "
thisPageCanBeSeenFromTheAuthor: "Aquesta pàgina només la pot veure l'usuari que ha pujat aquest fitxer."
_externalResourceInstaller:
title: "Instal·lar des d'un lloc extern"
@@ -3052,6 +3240,7 @@ _bootErrors:
otherOption1: "Esborrar la configuració i la memòria cau del client"
otherOption2: "Iniciar client senzill"
otherOption3: "Iniciar l'eina de reparació "
otherOption4: "Iniciar Misskey en mode segur"
_search:
searchScopeAll: "Tot"
searchScopeLocal: "Local"
@@ -3088,6 +3277,8 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "Quan es connecta amb una xarxa de servidors distribuïts (Fedivers), els continguts poden intercanviar-se amb altres servidors i entre ells."
doYouConnectToFediverse_description2: "La connexió amb el Fedivers també es coneix com a \"federació\"."
youCanConfigureMoreFederationSettingsLater: "Les configuracions avançades, com especificar els servidors amb els quals es pot federar, es poden fer més tard."
remoteContentsCleaning: "Neteja automàtica del contingut rebut"
remoteContentsCleaning_description: "Quan es comença a federar es rep un munt de contingut, quan s'activa la neteja automàtica el contingut antic que no es consulta serà eliminat del servidor, el que permet estalviar espai d'emmagatzematge."
adminInfo: "Informació de l'administrador "
adminInfo_description: "Estableix la informació de l'administrador que es farà servir per rebre consultes."
adminInfo_mustBeFilled: "Aquesta informació ha de ser omplerta si el servidor té els registres oberts o la federació es troba activada."
@@ -3103,6 +3294,7 @@ _serverSetupWizard:
text2: "Si ho desitges, agrairíem molt la teva donació per poder seguir desenvolupant el projecte."
text3: "També hi ha privilegis especials per als donants!"
_uploader:
editImage: "Edició d'imatges"
compressedToX: "Comprimit a {x}"
savedXPercent: "{x}% d'estalvi "
abortConfirm: "Hi ha un arxiu que no s'ha pujat, vols cancel·lar?"
@@ -3132,17 +3324,20 @@ _watermarkEditor:
title: "Editar la marca d'aigua "
cover: "Cobrir-ho tot"
repeat: "Repetir"
preserveBoundingRect: "Ajusta'l per evitar que sobresortir en fer la rotació "
opacity: "Opacitat"
scale: "Mida"
text: "Text"
qr: "Codi QR"
position: "Posició "
margin: "Marge"
type: "Tipus"
image: "Imatges"
advanced: "Avançat"
angle: "Angle"
stripe: "Bandes"
stripeWidth: "Amplada de la banda"
stripeFrequency: "Freqüència de la banda"
angle: "Angle"
polkadot: "Lunars"
checker: "Escacs"
polkadotMainDotOpacity: "Opacitat del lunar principal"
@@ -3150,16 +3345,21 @@ _watermarkEditor:
polkadotSubDotOpacity: "Opacitat del lunar secundari"
polkadotSubDotRadius: "Mida del lunar secundari"
polkadotSubDotDivisions: "Nombre de punts secundaris"
leaveBlankToAccountUrl: "Si deixes aquest camp buit, es farà servir l'URL del teu compte"
failedToLoadImage: "Error en carregar la imatge"
_imageEffector:
title: "Efecte"
addEffect: "Afegeix un efecte"
discardChangesConfirm: "Vols descartar els canvis i sortir?"
failedToLoadImage: "Error en carregar la imatge"
_fxs:
chromaticAberration: "Aberració cromàtica"
glitch: "Glitch"
mirror: "Mirall"
invert: "Inversió cromàtica "
grayscale: "Monocrom "
blur: "Desenfocament"
pixelate: "Mosaic"
colorAdjust: "Correcció de color"
colorClamp: "Compressió cromàtica "
colorClampAdvanced: "Compressió de cromàtica avançada "
@@ -3171,3 +3371,72 @@ _imageEffector:
checker: "Escacs"
blockNoise: "Bloqueig de soroll"
tearing: "Trencament d'imatge "
fill: "Omplir"
_fxProps:
angle: "Angle"
scale: "Mida"
size: "Mida"
radius: "Radi"
samples: "Mida de la mostra"
offset: "Posició "
color: "Color"
opacity: "Opacitat"
normalize: "Normalitzar"
amount: "Quantitat"
lightness: "Brillantor"
contrast: "Contrast"
hue: "Tonalitat"
brightness: "Brillantor"
saturation: "Saturació"
max: "Màxim"
min: "Mínim"
direction: "Direcció "
phase: "Fase"
frequency: "Freqüència "
strength: "Intensitat"
glitchChannelShift: "Canvi de canal "
seed: "Llavors"
redComponent: "Component vermell"
greenComponent: "Component verd"
blueComponent: "Component blau"
threshold: "Llindar"
centerX: "Centre de X"
centerY: "Centre de Y"
density: "Densitat"
zoomLinesOutlineThickness: "Amplada de les vores exteriors"
zoomLinesMaskSize: "Diàmetre del centre"
circle: "Cercle"
drafts: "Esborrany "
_drafts:
select: "Seleccionar esborrany"
cannotCreateDraftAnymore: "S'ha sobrepassat el nombre màxim d'esborranys que es poden crear."
cannotCreateDraft: "Amb aquest contingut no es poden crear esborranys."
delete: "Esborrar esborranys"
deleteAreYouSure: "Vols esborrar els esborranys?"
noDrafts: "No hi ha esborranys"
replyTo: "Respondre a {user}"
quoteOf: "Citar les notes de {user}"
postTo: "Destinat a {channel}"
saveToDraft: "Desar com a esborrany"
restoreFromDraft: "Restaurar des dels esborranys"
restore: "Restaurar esborrany"
listDrafts: "Llistat d'esborranys"
schedule: "Programació esborranys"
listScheduledNotes: "Llista de notes programades"
cancelSchedule: "Cancel·lar la programació"
qr: "Codi QR"
_qr:
showTabTitle: "Veure"
readTabTitle: "Escanejar "
shareTitle: "{name} {acct}"
shareText: "Segueix-me al Fediverse"
chooseCamera: "Seleccionar càmera "
cannotToggleFlash: "No es pot activar el flaix"
turnOnFlash: "Activar el flaix"
turnOffFlash: "Apagar el flaix"
startQr: "Reiniciar el lector de codis QR"
stopQr: "Parar el lector de codis QR"
noQrCodeFound: "No s'ha trobat cap codi QR"
scanFile: "Escanejar la imatge des del dispositiu"
raw: "Text"
mfm: "MFM"

View File

@@ -130,6 +130,7 @@ reactions: "Reakce"
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
attachCancel: "Odstranit přílohu"
deleteFile: "Smazat soubor"
markAsSensitive: "Označit jako NSFW"
unmarkAsSensitive: "Odznačit jako NSFW"
enterFileName: "Zadejte název souboru"
@@ -205,6 +206,7 @@ blockThisInstance: "Blokovat tuto instanci"
silenceThisInstance: "Utišit tuto instanci"
operations: "Operace"
software: "Software"
softwareName: "Software"
version: "Verze"
metadata: "Metadata"
withNFiles: "{n} soubor(ů)"
@@ -231,6 +233,7 @@ noteDeleteConfirm: "Jste si jistí že chcete smazat tuhle poznámku?"
pinLimitExceeded: "Nemůžete připnout další poznámky."
done: "Hotovo"
processing: "Zpracovávám"
preprocessing: "Připravuji..."
preview: "Náhled"
default: "Výchozí"
defaultValueIs: "Základní hodnota: {value}"
@@ -265,6 +268,7 @@ removed: "Smazáno"
removeAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
resetAreYouSure: "Opravdu resetovat?"
areYouSure: "Jste si jistí?"
saved: "Uloženo"
upload: "Nahrát soubory"
keepOriginalUploading: "Ponechat originální obrázek"
@@ -275,9 +279,12 @@ uploadFromUrl: "Nahrát z URL adresy"
uploadFromUrlDescription: "URL adresa souboru, který chcete nahrát"
uploadFromUrlRequested: "Upload zažádán"
uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání."
uploadNFiles: "Uploadovat {n} souborů"
explore: "Objevovat"
messageRead: "Přečtené"
readAllChatMessages: "Označit všechny zprávy za přečtené"
noMoreHistory: "To je vše"
startChat: "Začít chat"
nUsersRead: "přečteno {n} uživateli"
agreeTo: "Souhlasím s {0}"
agree: "Souhlasím"
@@ -308,12 +315,15 @@ selectFile: "Vybrat soubor"
selectFiles: "Vybrat soubory"
selectFolder: "Vyberte složku"
selectFolders: "Vyberte složky"
fileNotSelected: "Nebyl vybrán žádný soubor"
renameFile: "Přejmenovat soubor"
folderName: "Název složky"
createFolder: "Vytvořit složku"
renameFolder: "Přejmenovat složku"
deleteFolder: "Odstranit složku"
folder: "Složka "
addFile: "Přidat soubor"
showFile: "Procházet soubory"
emptyDrive: "Váš disk je prázdný"
emptyFolder: "Tato složka je prázdná"
unableToDelete: "Nelze smazat"
@@ -424,6 +434,7 @@ totp: "Ověřovací aplikace"
totpDescription: "Použít ověřovací aplikaci pro použití jednorázových hesel"
moderator: "Moderátor"
moderation: "Moderování"
moderationNote: "Poznámka moderátora"
nUsersMentioned: "{n} uživatelů zmínilo"
securityKeyAndPasskey: "Bezpečnostní klíče a tokeny"
securityKey: "Bezpečnostní klíč"
@@ -479,7 +490,9 @@ uiLanguage: "Jazyk uživatelského rozhraní"
aboutX: "O {x}"
emojiStyle: "Styl emoji"
native: "Výchozí"
menuStyle: "Styl nabídky"
style: "Vzhled"
drawer: "Boční menu"
popup: "Vyskakovací okno"
showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši"
noHistory: "Žádná historie"
@@ -535,6 +548,7 @@ deleteAll: "Smazat vše"
showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou"
showFixedPostFormInChannel: "Zobrazit vkládací formulář na vrcholu časové osy (Kanály)"
newNoteRecived: "Jsou k dispozici nové poznámky"
newNote: "Nová poznámka"
sounds: "Zvuky"
sound: "Zvuky"
listen: "Poslouchat"
@@ -614,6 +628,7 @@ medium: "Střední"
small: "Malé"
generateAccessToken: "Vygenerovat přístupový token"
permission: "Oprávnění"
adminPermission: "Administrátorská práva"
enableAll: "Povolit vše"
disableAll: "Vypnout vše"
tokenRequested: "Povolit přístup k účtu"
@@ -889,6 +904,9 @@ oneHour: "1 hodina"
oneDay: "1 den"
oneWeek: "1 týden"
oneMonth: "1 měsíc"
threeMonths: "3 měsíce"
oneYear: "1 rok"
threeDays: "3 dny"
reflectMayTakeTime: "Může trvat nějakou dobu, než se projeví změny."
failedToFetchAccountInformation: "Nepodařily se načíst informace o účtě"
rateLimitExceeded: "Překročení rychlostního limitu"
@@ -1026,6 +1044,8 @@ showClipButtonInNoteFooter: "Přidat \"Připnout\" do akčního menu poznámky"
noteIdOrUrl: "ID nebo URL poznámky"
video: "Video"
videos: "Videa"
audio: "Zvuk"
audioFiles: "Zvuk"
dataSaver: "Spořič dat"
accountMigration: "Migrace účtu"
accountMoved: "Tenhle uživatel se přesunul na nový účet:"
@@ -1053,6 +1073,8 @@ preservedUsernames: "Rezervované uživatelské jména"
preservedUsernamesDescription: "Seznam uživatelských jmén na rezervaci oddělené mezerama. Tyhle jména se potom nebudou moc použít při normálním procesu vytvoření účtu ale můžou být použiti manuálně administratorém. Existujících účtů se to nedotkne."
createNoteFromTheFile: "Vytvořit poznámku z tohodle souboru"
archive: "Archiv"
archived: "Archivované"
unarchive: "Obnovit"
channelArchiveConfirmTitle: "Opravdu chcete archivovat {name}?"
channelArchiveConfirmDescription: "Archivovaný kanál se objeví v seznamu kanálů nebo ve výsledcích hledání. Nové poznámky se nedají vložit do seznamu."
thisChannelArchived: "Tenhle kanál je archivovaný"
@@ -1099,6 +1121,7 @@ doYouAgree: "Souhlasíte?"
beSureToReadThisAsItIsImportant: "Přečtěte si prosím tyto důležité informace."
iHaveReadXCarefullyAndAgree: "Přečetl jsem si text \"{x}\" a souhlasím s ním."
icon: "Avatar"
forYou: "Pro vás"
replies: "Odpovědět"
renotes: "Přeposlat"
sourceCode: "Zdrojový kód"
@@ -1107,6 +1130,18 @@ lastNDays: "Posledních {n} dnů"
surrender: "Zrušit"
postForm: "Formulář pro odeslání"
information: "Informace"
inMinutes: "Minut"
inDays: "Dnů"
widgets: "Widgety"
presets: "Předvolba"
_imageEditing:
_vars:
filename: "Název souboru"
_imageFrameEditor:
header: "Nadpis"
font: "Písmo"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_chat:
invitations: "Pozvat"
noHistory: "Žádná historie"
@@ -1777,6 +1812,14 @@ _widgets:
_userList:
chooseList: "Vybrat seznam"
clicker: "Clicker"
_widgetOptions:
height: "Výška"
_button:
colored: "Barevné"
_clock:
size: "Velikost"
_birthdayFollowings:
period: "Trvání"
_cw:
hide: "Skrýt"
show: "Zobrazit více"
@@ -1819,6 +1862,9 @@ _postForm:
replyPlaceholder: "Odpovědět na tuto poznámku..."
quotePlaceholder: "Citovat tuto poznámku..."
channelPlaceholder: "Zveřejnit příspěvek do kanálu..."
_howToUse:
visibility_title: "Viditelnost"
menu_title: "Menu"
_placeholders:
a: "Co máte v plánu?"
b: "Co se děje kolem vás?"
@@ -2002,7 +2048,7 @@ _deck:
list: "Seznamy"
channel: "Kanály"
mentions: "Zmínění"
direct: "Přímý"
direct: "Přímé poznámky"
roleTimeline: "Časová osa role"
_dialog:
charactersExceeded: "Překročili jste maximální počet znaků! V současné době je na hodnotě {current} z {max}."
@@ -2051,3 +2097,14 @@ _watermarkEditor:
type: "Typ"
image: "Obrázky"
advanced: "Pokročilé"
_imageEffector:
_fxProps:
scale: "Velikost"
size: "Velikost"
offset: "Pozice"
color: "Barva"
opacity: "Průhlednost"
lightness: "Zesvětlit"
_qr:
showTabTitle: "Zobrazit"
raw: "Text"

View File

@@ -83,6 +83,8 @@ files: "Dateien"
download: "Herunterladen"
driveFileDeleteConfirm: "Möchtest du die Datei „{name}“ wirklich löschen? Einige Inhalte, die diese Datei verwenden, werden auch verschwinden."
unfollowConfirm: "Möchtest du {name} wirklich nicht mehr folgen?"
cancelFollowRequestConfirm: "Möchten Sie die Voll-Anfrage an {name} zurückziehen?"
rejectFollowRequestConfirm: "Möchtest du die Follow-Anfrage von {name} ablehnen?"
exportRequested: "Du hast einen Export angefragt. Dies kann etwas Zeit in Anspruch nehmen. Sobald der Export abgeschlossen ist, wird er deiner Drive hinzugefügt."
importRequested: "Du hast einen Import angefragt. Dies kann etwas Zeit in Anspruch nehmen."
lists: "Listen"
@@ -253,6 +255,7 @@ noteDeleteConfirm: "Möchtest du diese Notiz wirklich löschen?"
pinLimitExceeded: "Du kannst nicht noch mehr Notizen anheften."
done: "Fertig"
processing: "In Bearbeitung …"
preprocessing: "In Vorbereitung"
preview: "Vorschau"
default: "Standard"
defaultValueIs: "Standardwert: {value}"
@@ -301,6 +304,7 @@ uploadFromUrlMayTakeTime: "Es kann eine Weile dauern, bis das Hochladen abgeschl
uploadNFiles: "Lade {n} Dateien hoch"
explore: "Erkunden"
messageRead: "Gelesen"
readAllChatMessages: "Alle Nachrichten als gelesen markieren"
noMoreHistory: "Kein weiterer Verlauf vorhanden"
startChat: "Chat starten"
nUsersRead: "Von {n} Benutzern gelesen"
@@ -333,6 +337,7 @@ fileName: "Dateiname"
selectFile: "Datei auswählen"
selectFiles: "Dateien auswählen"
selectFolder: "Ordner auswählen"
unselectFolder: "Ordnerauswahl aufheben"
selectFolders: "Ordner auswählen"
fileNotSelected: "Keine Datei ausgewählt"
renameFile: "Datei umbenennen"
@@ -345,6 +350,7 @@ addFile: "Datei hinzufügen"
showFile: "Datei anzeigen"
emptyDrive: "Deine Drive ist leer"
emptyFolder: "Dieser Ordner ist leer"
dropHereToUpload: "Dateien hier ablegen, um sie hochzuladen."
unableToDelete: "Nicht löschbar"
inputNewFileName: "Gib einen neuen Dateinamen ein"
inputNewDescription: "Gib eine neue Beschreibung ein"
@@ -537,6 +543,7 @@ regenerate: "Regenerieren"
fontSize: "Schriftgröße"
mediaListWithOneImageAppearance: "Höhe von Medienlisten mit nur einem Bild"
limitTo: "Auf {x} begrenzen"
showMediaListByGridInWideArea: "Medienlisten auf breiteren Bildschirmen nebeneinander anzeigen"
noFollowRequests: "Keine ausstehenden Follow-Anfragen vorhanden"
openImageInNewTab: "Bilder in neuem Tab öffnen"
dashboard: "Dashboard"
@@ -772,6 +779,7 @@ lockedAccountInfo: "Auch wenn du Follow-Anfragen auf manuelle Bestätigung setzt
alwaysMarkSensitive: "Medien standardmäßig als sensibel markieren"
loadRawImages: "Anstatt Vorschaubilder immer Originalbilder anzeigen"
disableShowingAnimatedImages: "Animierte Bilder nicht abspielen"
disableShowingAnimatedImages_caption: "Unabhängig von dieser Einstellung kann es vorkommen, dass animierte Bilder nicht abgespielt werden, wenn z. B. die Barrierefreiheits- oder Energiespareinstellungen des Browsers oder des Betriebssystems eingreifen."
highlightSensitiveMedia: "Sensitive Medien markieren"
verificationEmailSent: "Eine Bestätigungsmail wurde an deine Email-Adresse versendet. Besuche den dort enthaltenen Link, um die Verifizierung abzuschließen."
notSet: "Nicht konfiguriert"
@@ -1018,6 +1026,9 @@ pushNotificationAlreadySubscribed: "Push-Benachrichtigungen sind bereits aktivie
pushNotificationNotSupported: "Entweder dein Browser oder deine Instanz unterstützt Push-Benachrichtigungen nicht"
sendPushNotificationReadMessage: "Push-Benachrichtigungen löschen, sobald sie gelesen wurden"
sendPushNotificationReadMessageCaption: "Dies kann gegebenenfalls den Batterieverbrauch deines Gerätes erhöhen."
pleaseAllowPushNotification: "Bitte erlauben Sie Benachrichtigungen in Ihrem Browser."
browserPushNotificationDisabled: "Das Abrufen der Berechtigung zum Senden von Benachrichtigungen ist fehlgeschlagen."
browserPushNotificationDisabledDescription: "Sie haben keine Berechtigung, Benachrichtigungen von {serverName} zu senden. Bitte erlauben Sie Benachrichtigungen in den Browser-Einstellungen und versuchen Sie es erneut."
windowMaximize: "Maximieren"
windowMinimize: "Minimieren"
windowRestore: "Wiederherstellen"
@@ -1054,6 +1065,7 @@ permissionDeniedError: "Aktion verweigert"
permissionDeniedErrorDescription: "Dieses Benutzerkonto besitzt nicht die Berechtigung, um diese Aktion auszuführen."
preset: "Vorlage"
selectFromPresets: "Aus Vorlagen wählen"
custom: "Benutzerdefiniert"
achievements: "Errungenschaften"
gotInvalidResponseError: "Ungültige Antwort des Servers"
gotInvalidResponseErrorDescription: "Eventuell ist der Server momentan nicht erreichbar oder untergeht Wartungsarbeiten. Bitte versuche es später noch einmal."
@@ -1092,6 +1104,7 @@ prohibitedWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-V
hiddenTags: "Ausgeblendete Hashtags"
hiddenTagsDescription: "Die hier eingestellten Tags werden nicht mehr in den Trends angezeigt. Mit der Umschalttaste können mehrere ausgewählt werden."
notesSearchNotAvailable: "Die Notizsuche ist nicht verfügbar."
usersSearchNotAvailable: "Die Benutzersuche ist nicht verfügbar."
license: "Lizenz"
unfavoriteConfirm: "Wirklich aus Favoriten entfernen?"
myClips: "Meine Clips"
@@ -1166,6 +1179,7 @@ installed: "Installiert"
branding: "Branding"
enableServerMachineStats: "Hardwareinformationen des Servers veröffentlichen"
enableIdenticonGeneration: "Generierung von Benutzer-Identicons aktivieren"
showRoleBadgesOfRemoteUsers: "Rollensymbole anzeigen, die Remote-Benutzern zugewiesen wurden."
turnOffToImprovePerformance: "Deaktivierung kann zu höherer Leistung führen."
createInviteCode: "Einladung erstellen"
createWithOptions: "Einladung mit Optionen erstellen"
@@ -1243,7 +1257,7 @@ releaseToRefresh: "Zum Aktualisieren loslassen"
refreshing: "Wird aktualisiert..."
pullDownToRefresh: "Zum Aktualisieren ziehen"
useGroupedNotifications: "Benachrichtigungen gruppieren"
signupPendingError: "Beim Überprüfen der Mailadresse ist etwas schiefgelaufen. Der Link könnte abgelaufen sein."
emailVerificationFailedError: "Es gab ein Problem bei der Überprüfung Ihrer E-Mail-Adresse. Der Link ist möglicherweise abgelaufen."
cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden."
doReaction: "Reagieren"
code: "Code"
@@ -1313,6 +1327,8 @@ availableRoles: "Verfügbare Rollen"
acknowledgeNotesAndEnable: "Schalten Sie dies erst ein, wenn Sie die Vorsichtsmaßnahmen verstanden haben."
federationSpecified: "Dieser Server arbeitet mit Whitelist-Föderation. Er kann nicht mit anderen als den vom Administrator angegebenen Servern interagieren."
federationDisabled: "Föderation ist auf diesem Server deaktiviert. Es ist nicht möglich, mit Benutzern auf anderen Servern zu interagieren."
draft: "Entwurf"
draftsAndScheduledNotes: "Entwürfe und geplante Beiträge"
confirmOnReact: "Reagieren bestätigen"
reactAreYouSure: "Willst du eine \"{emoji}\"-Reaktion hinzufügen?"
markAsSensitiveConfirm: "Möchtest du dieses Medium als sensibel kennzeichnen?"
@@ -1340,6 +1356,8 @@ postForm: "Notizfenster"
textCount: "Zeichenanzahl"
information: "Über"
chat: "Chat"
directMessage: "Mit dem Benutzer chatten"
directMessage_short: "Nachrichten"
migrateOldSettings: "Alte Client-Einstellungen migrieren"
migrateOldSettings_description: "Dies sollte normalerweise automatisch geschehen, aber wenn die Migration aus irgendeinem Grund nicht erfolgreich war, kannst du den Migrationsprozess selbst manuell auslösen. Die aktuellen Konfigurationsinformationen werden dabei überschrieben."
compress: "Komprimieren"
@@ -1347,7 +1365,7 @@ right: "Rechts"
bottom: "Unten"
top: "Oben"
embed: "Einbetten"
settingsMigrating: "Ihre Einstellungen werden gerade migriert, Bitte warten Sie einen Moment... (Sie können die Einstellungen später auch manuell migrieren, indem Sie zu Einstellungen → Sonstiges → Alte Einstellungen migrieren gehen)"
settingsMigrating: "Deine Einstellungen werden gerade migriert. Bitte warte einen Moment... (Du kannst die Einstellungen später auch manuell migrieren, indem du zu Einstellungen → Anderes → Alte Einstellungen migrieren gehst)"
readonly: "Nur Lesezugriff"
goToDeck: "Zurück zum Deck"
federationJobs: "Föderation Jobs"
@@ -1367,7 +1385,83 @@ redisplayAllTips: "Alle „Tipps und Tricks“ wieder anzeigen"
hideAllTips: "Alle „Tipps und Tricks“ ausblenden"
defaultImageCompressionLevel: "Standard-Bildkomprimierungsstufe"
defaultImageCompressionLevel_description: "Ein niedrigerer Wert erhält die Bildqualität, erhöht aber die Dateigröße. <br>Höhere Werte reduzieren die Dateigröße, verringern aber die Bildqualität."
defaultCompressionLevel: "Standard-Kompressionsgrad"
defaultCompressionLevel_description: "Bei einem niedrigeren Wert bleibt die Qualität erhalten, aber die Dateigröße nimmt zu.<br> Bei einem höheren Wert lässt sich die Dateigröße verringern, aber die Qualität nimmt ab."
inMinutes: "Minute(n)"
inDays: "Tag(en)"
safeModeEnabled: "Der abgesicherte Modus ist aktiviert."
pluginsAreDisabledBecauseSafeMode: "Da der abgesicherte Modus aktiviert ist, sind alle Plugins deaktiviert."
customCssIsDisabledBecauseSafeMode: "Da der abgesicherte Modus aktiviert ist, wird benutzerdefiniertes CSS nicht angewendet."
themeIsDefaultBecauseSafeMode: "Solange der abgesicherte Modus aktiviert ist, wird das Standard-Theme verwendet. Wenn Sie den abgesicherten Modus deaktivieren, wird es wieder zurückgesetzt."
thankYouForTestingBeta: "Vielen Dank für Ihre Unterstützung beim Testen der Beta-Version!"
createUserSpecifiedNote: "Benutzerdefinierte Notiz erstellen"
schedulePost: "Beitrag planen"
scheduleToPostOnX: "Der Beitrag wird für {x} geplant.x"
scheduledToPostOnX: "Der Beitrag ist für {x} geplant."
schedule: "Planen"
scheduled: "Geplant"
widgets: "Widgets"
deviceInfo: "Geräteinformation"
deviceInfoDescription: "Bei technischen Anfragen kann es hilfreich sein, die folgenden Informationen anzugeben, da dies zur Lösung des Problems beitragen kann."
youAreAdmin: "Sie sind ein Administrator"
frame: "Rahmen"
presets: "Vorlage"
zeroPadding: "Nullauffüllung"
nothingToConfigure: "Es sind keine Einstellungen verfügbar"
_imageEditing:
_vars:
caption: "Dateibeschriftung"
filename: "Dateiname"
filename_without_ext: "Dateiname ohne Erweiterung"
year: "Jahr der Aufnahme"
month: "Monat der Aufnahme"
day: "Tag der Aufnahme"
hour: "Stunde der Aufnahmezeit"
minute: "Minute der Aufnahmezeit"
second: "Sekunde der Aufnahmezeit"
camera_model: "Kameraname"
camera_lens_model: "Objektivname"
camera_mm: "Brennweite"
camera_mm_35: "Brennweite (35-mm-Äquivalent)"
camera_f: "Blende"
camera_s: "Verschlusszeit"
camera_iso: "ISO-Empfindlichkeit"
gps_lat: "Breitengrad"
gps_long: "Längengrad"
_imageFrameEditor:
title: "Rahmenbearbeitung"
tip: "Sie können das Bild dekorieren, indem Sie einen Rahmen sowie ein Etikett mit Metadaten hinzufügen."
header: "Kopfzeile"
footer: "Fußzeile"
borderThickness: "Randbreite"
labelThickness: "Beschriftungsbreite"
labelScale: "Etikettenskala"
centered: "Zentriert"
captionMain: "Überschrift (groß)"
captionSub: "Beschriftung (klein)"
availableVariables: "Verfügbare Variablen"
withQrCode: "QR-Code"
backgroundColor: "Hintergrundfarbe"
textColor: "Textfarbe"
font: "Schriftart"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
quitWithoutSaveConfirm: "Nicht gespeicherte Änderungen verwerfen?"
failedToLoadImage: "Das Laden des Bildes ist fehlgeschlagen."
_compression:
_quality:
high: "Hohe Qualität"
medium: "Mittlere Qualität"
low: "Niedrige Qualität"
_size:
large: "Groß"
medium: "Medium"
small: "Klein"
_order:
newest: "Neueste zuerst"
oldest: "Älteste zuerst"
_chat:
messages: "Nachrichten"
noMessagesYet: "Noch keine Nachrichten"
newMessage: "Neue Nachricht"
individualChat: "Privater Chat"
@@ -1455,6 +1549,12 @@ _settings:
contentsUpdateFrequency_description2: "Wenn der Echtzeitmodus aktiviert ist, werden die Inhalte unabhängig von dieser Einstellung in Echtzeit aktualisiert."
showUrlPreview: "URL-Vorschau anzeigen"
showAvailableReactionsFirstInNote: "Zeige die verfügbaren Reaktionen im oberen Bereich an."
showPageTabBarBottom: "Tab-Leiste der Seite unten anzeigen"
emojiPaletteBanner: "Sie können Voreinstellungen, die im Emoji-Picker dauerhaft angezeigt werden sollen, als Palette registrieren oder die Anzeigeart des Pickers anpassen."
enableAnimatedImages: "Animierte Bilder aktivieren"
settingsPersistence_title: "Persistenz der Einstellungen"
settingsPersistence_description1: "Durch das Aktivieren der persistenten Speicherung der Einstellungen kann verhindert werden, dass Einstellungsinformationen verloren gehen."
settingsPersistence_description2: "Je nach Umgebung ist eine Aktivierung möglicherweise nicht möglich."
_chat:
showSenderName: "Name des Absenders anzeigen"
sendOnEnter: "Eingabetaste sendet Nachricht"
@@ -1463,6 +1563,8 @@ _preferencesProfile:
profileNameDescription: "Lege einen Namen fest, der dieses Gerät identifiziert."
profileNameDescription2: "Beispiel: \"Haupt-PC\", \"Smartphone\""
manageProfiles: "Profile verwalten"
shareSameProfileBetweenDevicesIsNotRecommended: "Es wird nicht empfohlen, dasselbe Profil auf mehreren Geräten zu teilen."
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "Wenn es Einstellungselemente gibt, die Sie über mehrere Geräte synchronisieren möchten, aktivieren Sie bitte die Option „Über mehrere Geräte synchronisieren“ jeweils einzeln."
_preferencesBackup:
autoBackup: "Automatische Sicherung"
restoreFromBackup: "Wiederherstellen aus der Sicherung"
@@ -1472,6 +1574,7 @@ _preferencesBackup:
youNeedToNameYourProfileToEnableAutoBackup: "Um die automatische Sicherung zu aktivieren, müssen Profilnamen festgelegt werden."
autoPreferencesBackupIsNotEnabledForThisDevice: "Die automatische Sicherung der Einstellungen ist auf diesem Gerät nicht aktiviert."
backupFound: "Konfigurationssicherung gefunden."
forceBackup: "Erzwungenes Backup der Einstellungen"
_accountSettings:
requireSigninToViewContents: "Anmeldung erfordern, um Inhalte anzuzeigen"
requireSigninToViewContentsDescription1: "Erfordere eine Anmeldung, um alle Notizen und andere Inhalte anzuzeigen, die du erstellt hast. Dadurch wird verhindert, dass Crawler deine Informationen sammeln."
@@ -1628,6 +1731,10 @@ _serverSettings:
fanoutTimelineDbFallback: "Auf die Datenbank zurückfallen"
fanoutTimelineDbFallbackDescription: "Ist diese Option aktiviert, wird die Chronik auf zusätzliche Abfragen in der Datenbank zurückgreifen, wenn sich die Chronik nicht im Cache befindet. Eine Deaktivierung führt zu geringerer Serverlast, aber schränkt den Zeitraum der abrufbaren Chronik ein. "
reactionsBufferingDescription: "Wenn diese Option aktiviert ist, kann sie die Leistung beim Erstellen von Reaktionen erheblich verbessern und die Belastung der Datenbank verringern. Allerdings steigt die Speichernutzung von Redis."
remoteNotesCleaning: "Automatische Bereinigung von Remote-Beiträgen"
remoteNotesCleaning_description: "Wenn diese Option aktiviert ist, werden Remote-Beiträge, die eine bestimmte Zeit überschritten haben, regelmäßig bereinigt, um ein Aufblähen der Datenbank zu verhindern."
remoteNotesCleaningMaxProcessingDuration: "Maximale fortlaufende Dauer des Reinigungsverarbeitungsprozesses"
remoteNotesCleaningExpiryDaysForEachNotes: "Mindestaufbewahrungsdauer für Notizen"
inquiryUrl: "Kontakt-URL"
inquiryUrlDescription: "Gib eine URL für das Kontaktformular der Serverbetreiber oder eine Webseite an, die Kontaktinformationen enthält."
openRegistration: "Registrierung von Konten aktivieren"
@@ -1645,6 +1752,12 @@ _serverSettings:
allowExternalApRedirect_description: "Wenn diese Option aktiviert ist, können andere Server Inhalte von Drittanbietern über diesen Server abfragen, was jedoch zu Content-Spoofing führen kann."
userGeneratedContentsVisibilityForVisitor: "Sichtbarkeit von nutzergenerierten Inhalten für Gäste"
userGeneratedContentsVisibilityForVisitor_description: "Dies ist nützlich, um zu verhindern, dass unangemessene Inhalte, die nicht gut moderiert sind, ungewollt über deinen eigenen Server im Internet veröffentlicht werden."
userGeneratedContentsVisibilityForVisitor_description2: "Die uneingeschränkte Veröffentlichung aller Inhalte des Servers im Internet, einschließlich der vom Server empfangenen Fremdinhalte, birgt Risiken. Dies ist besonders wichtig für Betrachter, die sich des dezentralen Charakters der Inhalte nicht bewusst sind, da sie selbst fremde Inhalte fälschlicherweise als auf dem Server erstellte Inhalte wahrnehmen könnten."
restartServerSetupWizardConfirm_title: "Möchten Sie den Assistenten für die Ersteinrichtung des Servers erneut ausführen?"
restartServerSetupWizardConfirm_text: "Einige aktuelle Einstellungen werden zurückgesetzt."
entrancePageStyle: "Stil der Einstiegsseite"
showTimelineForVisitor: "Zeitleiste anzeigen"
showActivitiesForVisitor: "Aktivitäten anzeigen"
_userGeneratedContentsVisibilityForVisitor:
all: "Alles ist öffentlich"
localOnly: "Nur lokale Inhalte werden veröffentlicht, fremde Inhalte bleiben privat"
@@ -1967,6 +2080,7 @@ _role:
canManageAvatarDecorations: "Profilbilddekorationen verwalten"
driveCapacity: "Drive-Kapazität"
maxFileSize: "Maximale Dateigröße, die hochgeladen werden kann"
maxFileSize_caption: "Bei einem Reverse Proxy oder einem CDN können andere vorgelagerte Konfigurationswerte vorhanden sein."
alwaysMarkNsfw: "Dateien immer als NSFW markieren"
canUpdateBioMedia: "Kann ein Profil- oder ein Bannerbild bearbeiten"
pinMax: "Maximale Anzahl an angehefteten Notizen"
@@ -1981,6 +2095,7 @@ _role:
descriptionOfRateLimitFactor: "Je niedriger desto weniger restriktiv, je höher destro restriktiver."
canHideAds: "Kann Werbung ausblenden"
canSearchNotes: "Nutzung der Notizsuchfunktion"
canSearchUsers: "Nutzung der Benutzersuche"
canUseTranslator: "Verwendung des Übersetzers"
avatarDecorationLimit: "Maximale Anzahl an Profilbilddekorationen, die angebracht werden können"
canImportAntennas: "Importieren von Antennen erlauben"
@@ -1992,6 +2107,9 @@ _role:
uploadableFileTypes: "Hochladbare Dateitypen"
uploadableFileTypes_caption: "Gibt die zulässigen MIME-/Dateitypen an. Mehrere MIME-Typen können durch einen Zeilenumbruch getrennt angegeben werden, und Platzhalter können mit einem Sternchen (*) angegeben werden. (z. B. image/*)"
uploadableFileTypes_caption2: "Bei manchen Dateien ist es nicht möglich, den Typ zu bestimmen. Um solche Dateien zuzulassen, füge {x} der Spezifikation hinzu."
noteDraftLimit: "Anzahl der möglichen Entwürfe für serverseitige Notizen"
scheduledNoteLimit: "Maximale Anzahl gleichzeitig erstellbarer geplanter Beiträge"
watermarkAvailable: "Kann die Wasserzeichenfunktion verwenden"
_condition:
roleAssignedTo: "Manuellen Rollen zugewiesen"
isLocal: "Lokaler Benutzer"
@@ -2151,6 +2269,7 @@ _theme:
install: "Farbschemata installieren"
manage: "Farbschemaverwaltung"
code: "Farbschemencode"
copyThemeCode: "Farbschemencode kopieren"
description: "Beschreibung"
installed: "{name} wurde installiert"
installedThemes: "Installierte Farbschemata"
@@ -2250,6 +2369,7 @@ _time:
minute: "Minute(n)"
hour: "Stunde(n)"
day: "Tag(en)"
month: "Monat(e)"
_2fa:
alreadyRegistered: "Du hast bereits ein Gerät für Zwei-Faktor-Authentifizierung registriert."
registerTOTP: "Authentifizierungs-App registrieren"
@@ -2379,6 +2499,7 @@ _auth:
scopeUser: "Als folgender Benutzer agieren"
pleaseLogin: "Bitte logge dich ein, um Apps zu authorisieren."
byClickingYouWillBeRedirectedToThisUrl: "Wenn der Zugang gewährt wird, wirst du automatisch zu folgender URL weitergeleitet"
alreadyAuthorized: "Dieser Anwendung wurde bereits Zugriff gewährt."
_antennaSources:
all: "Alle Notizen"
homeTimeline: "Notizen von Benutzern, denen gefolgt wird"
@@ -2424,7 +2545,45 @@ _widgets:
chooseList: "Liste auswählen"
clicker: "Klickzähler"
birthdayFollowings: "Nutzer, die heute Geburtstag haben"
chat: "Chat"
chat: "Mit dem Benutzer chatten"
_widgetOptions:
showHeader: "Kopfzeile anzeigen"
transparent: "Hintergrund transparent machen"
height: "Höhe"
_button:
colored: "Farbig"
_clock:
size: "Größe"
thickness: "Dicke"
thicknessThin: "Dünn"
thicknessMedium: "Normal"
thicknessThick: "Dick"
graduations: "Zifferblattskala"
graduationDots: "Punkt"
graduationArabic: "Zahlen"
fadeGraduations: "Skala ausblenden"
sAnimation: "Zweite Animation"
sAnimationElastic: "Elastisch"
sAnimationEaseOut: "Weich"
twentyFour: "24-Stunden-Format"
labelTime: "Uhrzeit"
labelTz: "Zeitzone"
labelTimeAndTz: "Zeit und Zeitzone"
timezone: "Zeitzone"
showMs: "Millisekunden anzeigen"
showLabel: "Beschriftung anzeigen"
_jobQueue:
sound: "Ton abspielen"
_rss:
url: "RSS-Feed-URL"
refreshIntervalSec: "Aktualisierungsintervall (Sekunden)"
maxEntries: "Maximale Anzahl der angezeigten Einträge"
_rssTicker:
shuffle: "Zufällige Anzeigereihenfolge"
duration: "Banner-Scrollgeschwindigkeit (in Sekunden)"
reverse: "In andere Richtung scrollen"
_birthdayFollowings:
period: "Dauer"
_cw:
hide: "Inhalt verbergen"
show: "Inhalt anzeigen"
@@ -2464,9 +2623,25 @@ _visibility:
disableFederation: "Deföderieren"
disableFederationDescription: "Nicht an andere Instanzen übertragen"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "Es gibt Dateien, die nicht hochgeladen wurden. Möchtest du diese verwerfen und das Formular schließen?"
uploaderTip: "Die Datei wurde noch nicht hochgeladen. Über das Dateimenü kannst du sie umbenennen, das Bild zuschneiden, ein Wasserzeichen hinzufügen, komprimieren usw. Die Datei wird automatisch hochgeladen, wenn du eine Notiz veröffentlichst."
replyPlaceholder: "Dieser Notiz antworten …"
quotePlaceholder: "Diese Notiz zitieren …"
channelPlaceholder: "In einen Kanal senden"
showHowToUse: "Formularbeschreibung anzeigen"
_howToUse:
content_title: "Dieser Text"
content_description: "Bitte geben Sie den Inhalt ein, den Sie veröffentlichen möchten."
toolbar_title: "Symbolleiste"
toolbar_description: "Sie können Dateien oder Umfragen anhängen, Anmerkungen und Hashtags festlegen sowie Emojis und Erwähnungen einfügen."
account_title: "Profilmenü"
account_description: "Du kannst das Konto wechseln, von dem du postest, und dir eine Liste der im Konto gespeicherten Entwürfe und geplanten Beiträge anzeigen lassen."
visibility_title: "Sichtbarkeit"
visibility_description: "Sie können den Umfang festlegen, in dem die Notizen veröffentlicht werden."
menu_title: "Menü"
menu_description: "Sie können außerdem weitere Aktionen durchführen, z.B. als Entwurf speichern, das Posten planen oder Reaktionen einstellen."
submit_title: "Senden-Button"
submit_description: "Du kannst die Notiz posten. Du kannst sie auch mit Strg + Enter / Cmd + Enter posten."
_placeholders:
a: "Was machst du momentan?"
b: "Was ist um dich herum los?"
@@ -2612,6 +2787,8 @@ _notification:
youReceivedFollowRequest: "Du hast eine Follow-Anfrage erhalten"
yourFollowRequestAccepted: "Deine Follow-Anfrage wurde akzeptiert"
pollEnded: "Umfrageergebnisse sind verfügbar"
scheduledNotePosted: "Geplante Notiz wurde veröffentlicht"
scheduledNotePostFailed: "Veröffentlichen der geplanten Notiz fehlgeschlagen"
newNote: "Neue Notiz"
unreadAntennaNote: "Antenne {name}"
roleAssigned: "Rolle zugewiesen"
@@ -2641,6 +2818,8 @@ _notification:
quote: "Zitationen"
reaction: "Reaktionen"
pollEnded: "Ende von Umfragen"
scheduledNotePosted: "Der geplante Beitrag wurde erfolgreich veröffentlicht."
scheduledNotePostFailed: "Der geplante Beitrag ist fehlgeschlagen."
receiveFollowRequest: "Erhaltene Follow-Anfragen"
followRequestAccepted: "Akzeptierte Follow-Anfragen"
roleAssigned: "Rolle zugewiesen"
@@ -2680,6 +2859,14 @@ _deck:
usedAsMinWidthWhenFlexible: "Ist \"Automatische Breitenanpassung\" aktiviert, wird hierfür die minimale Breite verwendet"
flexible: "Automatische Breitenanpassung"
enableSyncBetweenDevicesForProfiles: "Aktivieren der Synchronisierung von Profilinformationen zwischen Geräten"
showHowToUse: "Siehe dir die UI-Beschreibung an."
_howToUse:
addColumn_title: "Spalte hinzufügen"
addColumn_description: "Sie können den Spaltentyp auswählen und hinzufügen."
settings_title: "UI-Einstellungen"
settings_description: "Sie können die detaillierten Einstellungen der Deck-UI vornehmen."
switchProfile_title: "Profil wechseln"
switchProfile_description: "Das UI-Layout kann als Profil gespeichert werden, sodass du jederzeit zwischen den Profilen wechseln kannst."
_columns:
main: "Hauptspalte"
widgets: "Widgets"
@@ -2691,7 +2878,7 @@ _deck:
mentions: "Erwähnungen"
direct: "Direktnachrichten"
roleTimeline: "Rollenchronik"
chat: "Chat"
chat: "Mit dem Benutzer chatten"
_dialog:
charactersExceeded: "Maximallänge überschritten! Momentan {current} von {max}"
charactersBelow: "Minimallänge unterschritten! Momentan {current} von {min}"
@@ -2740,6 +2927,8 @@ _abuseReport:
notifiedWebhook: "Zu verwendender Webhook"
deleteConfirm: "Bist du sicher, dass du den Empfänger der Benachrichtigung entfernen möchtest?"
_moderationLogTypes:
clearQueue: "Warteschlange leeren"
promoteQueue: "Warteschlange erneut ausführen"
createRole: "Rolle erstellt"
deleteRole: "Rolle gelöscht"
updateRole: "Rolle aktualisiert"
@@ -2797,6 +2986,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Hochgeladen am"
attachedNotes: "Zugehörige Notizen"
usage: "Nutzung"
thisPageCanBeSeenFromTheAuthor: "Nur der Benutzer, der diese Datei hochgeladen hat, kann diese Seite sehen."
_externalResourceInstaller:
title: "Von externer Seite installieren"
@@ -2844,8 +3034,12 @@ _dataSaver:
_avatar:
title: "Animierte Profilbilder deaktivieren"
description: "Die Animation von Profilbildern wird angehalten. Da animierte Bilder eine größere Dateigröße haben können als normale Bilder, kann dies den Datenverkehr weiter reduzieren."
_urlPreviewThumbnail:
title: "URL-Vorschaubilder ausblenden"
description: "URL-Vorschaubilder werden nicht mehr geladen."
_disableUrlPreview:
title: "URL-Vorschau deaktivieren"
description: "Deaktiviert die URL-Vorschaufunktion. Anders als bei reinen Vorschaubildern wird dadurch das Laden der verlinkten Informationen selbst reduziert."
_code:
title: "Code-Hervorhebungen ausblenden"
description: "Wenn Code-Hervorhebungen in MFM usw. verwendet werden, werden sie erst geladen, wenn sie angetippt werden. Die Syntaxhervorhebung erfordert das Herunterladen der Definitionsdateien für jede Programmiersprache. Es ist daher zu erwarten, dass die Deaktivierung des automatischen Ladens dieser Dateien die Menge des Datenverkehrs reduziert."
@@ -2903,6 +3097,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "Einstellungen der URL-Vorschau"
enable: "URL-Vorschau aktivieren"
allowRedirect: "Umleitung von URL-Vorschauen erlauben"
allowRedirectDescription: "Wenn für eine URL eine Umleitung festgelegt ist, kann diese Funktion aktiviert werden, um der Umleitung zu folgen und eine Vorschau des umgeleiteten Inhalts anzuzeigen. Die Deaktivierung spart Serverressourcen, aber der Inhalt des Weiterleitungsziels wird nicht angezeigt."
timeout: "Zeitüberschreitung beim Abrufen der Vorschau (ms)"
timeoutDescription: "Übersteigt die für die Vorschau benötigte Zeit diesen Wert, wird keine Vorschau generiert."
maximumContentLength: "Maximale Content-Length (Bytes)"
@@ -3043,6 +3239,7 @@ _bootErrors:
otherOption1: "Client-Einstellungen und Cache löschen"
otherOption2: "Einfachen Client starten"
otherOption3: "Starte das Reparaturwerkzeug"
otherOption4: "Misskey im abgesicherten Modus starten"
_search:
searchScopeAll: "Alle"
searchScopeLocal: "Lokal"
@@ -3064,8 +3261,11 @@ _serverSetupWizard:
single_description: "Verwende den Server alleine als deinen eigenen."
single_youCanCreateMultipleAccounts: "Bei Bedarf können mehrere Konten eingerichtet werden, auch wenn es sich um einen Ein-Personen-Server handelt."
group: "Gruppenserver"
group_description: "Lade andere vertrauenswürdige Benutzer ein und verwende es mit mehreren Personen."
open: "Offener Server"
open_description: "Registrierung für alle öffnen."
openServerAdvice: "Die Aufnahme einer unbestimmten Anzahl von Nutzern birgt Risiken. Es wird empfohlen, mit einem zuverlässigen Moderationssystem zu arbeiten, um eventuell auftretende Probleme behandeln zu können."
openServerAntiSpamAdvice: "Große Sorgfalt muss auch auf die Sicherheit gelegt werden, z. B. durch die Aktivierung von Anti-Bot-Funktionen wie reCAPTCHA, um sicherzustellen, dass der Server nicht zum Verbreiten von Spam genutzt wird."
howManyUsersDoYouExpect: "Mit wie vielen Benutzern rechnest du?"
_scale:
small: "Weniger als 100 (kleiner Maßstab)"
@@ -3076,6 +3276,10 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "Bei Anschluss an ein Netz von verteilten Servern (Fediverse) können Inhalte mit anderen Servern ausgetauscht werden."
doYouConnectToFediverse_description2: "Die Verbindung mit dem Fediverse wird auch als „Föderation“ bezeichnet."
youCanConfigureMoreFederationSettingsLater: "Erweiterte Einstellungen, wie z. B. die Angabe von föderierbaren Servern, können später vorgenommen werden."
remoteContentsCleaning: "Automatische Bereinigung von Remote-Inhalten"
remoteContentsCleaning_description: "Wenn Sie eine Föderation durchführen, empfangen Sie fortlaufend viele Inhalte. Wenn Sie die automatische Bereinigung aktivieren, werden Remote-Inhalte, deren bestimmter Zeitraum abgelaufen ist, automatisch vom Server gelöscht, wodurch Speicherplatz eingespart werden kann."
adminInfo: "Administrator-Informationen"
adminInfo_description: "Legt die Administrator-Informationen fest, die für den Empfang von Anfragen verwendet werden."
adminInfo_mustBeFilled: "Dies ist auf einem offenen Server oder bei aktivierter Föderation erforderlich."
followingSettingsAreRecommended: "Die folgenden Einstellungen werden empfohlen"
applyTheseSettings: "Diese Einstellungen anwenden"
@@ -3089,6 +3293,7 @@ _serverSetupWizard:
text2: "Wir würden uns über deine Unterstützung freuen, damit wir dieses Projekt auch in Zukunft weiterentwickeln können."
text3: "Für Unterstützer gibt es auch besondere Vorteile!"
_uploader:
editImage: "Bild bearbeiten"
compressedToX: "Komprimiert zu {x}"
savedXPercent: "{x}% gespart"
abortConfirm: "Einige Dateien wurden nicht hochgeladen. Möchtest du den Vorgang abbrechen?"
@@ -3097,6 +3302,7 @@ _uploader:
allowedTypes: "Hochladbare Dateitypen"
tip: "Die Datei ist noch nicht hochgeladen worden. In diesem Dialog kannst du die Datei vor dem Hochladen anzeigen, umbenennen, komprimieren und zuschneiden. Wenn du fertig bist, klicke auf „Hochladen“, um den Upload zu starten."
_clientPerformanceIssueTip:
title: "Wenn du das Gefühl hast, dass der Akku sich schnell entlädt."
makeSureDisabledAdBlocker: "Deaktiviere deinen Adblocker"
makeSureDisabledAdBlocker_description: "Adblocker können die Leistung beeinträchtigen; vergewissere dich, ob in deinem Betriebssystem, Browser oder deinen Add-ons Adblocker aktiviert sind."
makeSureDisabledCustomCss: "Benutzerdefiniertes CSS deaktivieren"
@@ -3110,26 +3316,124 @@ _userLists:
watermark: "Wasserzeichen"
defaultPreset: "Standard-Voreinstellungen"
_watermarkEditor:
tip: "Dem Bild kann ein Wasserzeichen, z. B. eine Quellenangabe, hinzugefügt werden."
quitWithoutSaveConfirm: "Nicht gespeicherte Änderungen verwerfen?"
driveFileTypeWarn: "Diese Datei wird nicht unterstützt"
driveFileTypeWarnDescription: "Bilddatei auswählen"
title: "Wasserzeichen bearbeiten"
cover: "Alles bedecken"
repeat: "Wiederholen"
preserveBoundingRect: "So einstellen, dass beim Drehen nichts herausragt"
opacity: "Transparenz"
scale: "Größe"
text: "Text"
qr: "QR-Code"
position: "Position"
margin: "Abstand"
type: "Art"
image: "Bilder"
advanced: "Fortgeschritten"
angle: "Winkel"
stripe: "Streifen"
stripeWidth: "Linienbreite"
stripeFrequency: "Linienanzahl"
polkadot: "Punktmuster"
checker: "Prüfer"
polkadotMainDotOpacity: "Deckkraft des Hauptpunktes"
polkadotMainDotRadius: "Größe des Hauptpunktes"
polkadotSubDotOpacity: "Deckkraft des Unterpunktes"
polkadotSubDotRadius: "Größe des Unterpunktes"
polkadotSubDotDivisions: "Anzahl der Unterpunkte"
leaveBlankToAccountUrl: "Wenn Sie es leer lassen, wird das Profilbild des Kontos verwendet."
failedToLoadImage: "Bild konnte nicht geladen werden"
_imageEffector:
title: "Effekte"
addEffect: "Effekte hinzufügen"
discardChangesConfirm: "Änderungen verwerfen und beenden?"
failedToLoadImage: "Bild konnte nicht geladen werden"
_fxs:
chromaticAberration: "Chromatische Abweichung"
glitch: "Glitch"
mirror: "Spiegeln"
invert: "Farben umkehren"
grayscale: "Schwarzweiß"
blur: "Verwischen"
pixelate: "Verpixeln"
colorAdjust: "Farbkorrektur"
colorClamp: "Farbkomprimierung"
colorClampAdvanced: "Farbkomprimierung (erweitert)"
distort: "Verzerrung"
threshold: "inarisierun"
zoomLines: "Konzentrationslinien"
stripe: "Streifen"
polkadot: "Punktmuster"
checker: "Prüfer"
blockNoise: "Blockrauschen"
tearing: "Tearing"
fill: "Ausfüllen"
_fxProps:
angle: "Winkel"
scale: "Größe"
size: "Größe"
radius: "Radius"
samples: "Stichprobengröße"
offset: "Position"
color: "Farbe"
opacity: "Transparenz"
normalize: "Normalisierung"
amount: "Menge"
lightness: "Erhellen"
contrast: "Kontrast"
hue: "Farbton"
brightness: "Helligkeit"
saturation: "Sättigung"
max: "Maximum"
min: "Minimum"
direction: "Richtung"
phase: "Sättigung"
frequency: "Häufigkeit"
strength: "Stärke"
glitchChannelShift: "Verschiebung"
seed: "Seed-Wert"
redComponent: "Rot-Anteil"
greenComponent: "Grün-Anteil"
blueComponent: "Blau-Anteil"
threshold: "Schwellenwert"
centerX: "Zentrum X"
centerY: "Zentrum Y"
zoomLinesMaskSize: "Mitteldurchmesser"
circle: "Kreisförmig"
drafts: "Entwurf"
_drafts:
select: "Entwurf auswählen"
cannotCreateDraftAnymore: "Die Anzahl der Entwürfe, die erstellt werden können, wurde überschritten."
cannotCreateDraft: "Mit diesem Inhalt kann kein Entwurf erstellt werden."
delete: "Entwurf löschen"
deleteAreYouSure: "Entwurf löschen?"
noDrafts: "Keine Entwürfe"
replyTo: "Antwort an {user}"
quoteOf: "Zitat von {user}s Notiz"
postTo: "Beitrag im {channel}"
saveToDraft: "Als Entwurf speichern"
restoreFromDraft: "Aus Entwurf wiederherstellen"
restore: "Wiederherstellen"
listDrafts: "Liste der Entwürfe"
schedule: "Beitragsplanung"
listScheduledNotes: "Liste der geplanten Beiträge"
cancelSchedule: "Reservierung stornieren"
qr: "QR-Code"
_qr:
showTabTitle: "Anzeigeart"
readTabTitle: "Auslesen"
shareTitle: "{name} {acct}"
shareText: "Bitte folge mir im Fediverse!"
chooseCamera: "Kamera auswählen"
cannotToggleFlash: "Blitzauswahl nicht möglich"
turnOnFlash: "Blitz einschalten"
turnOffFlash: "Blitz ausschalten"
startQr: "QR-Code-Leser starten"
stopQr: "QR-Code-Leser stoppen"
noQrCodeFound: "QR-Code wurde nicht gefunden"
scanFile: "Gerätebilder scannen"
raw: "Text"
mfm: "MFM"

View File

@@ -288,6 +288,10 @@ replies: "Απάντηση"
renotes: "Κοινοποίηση σημειώματος"
postForm: "Φόρμα δημοσίευσης"
information: "Πληροφορίες"
widgets: "Μαραφέτια"
_imageEditing:
_vars:
filename: "Όνομα αρχείου"
_chat:
members: "Μέλη"
home: "Κεντρικό"
@@ -353,6 +357,7 @@ _visibility:
home: "Κεντρικό"
homeDescription: "Δημοσίευση στο κεντρικό χρονολόγιο μόνο"
followers: "Ακολουθούν"
specified: "Απευθείας σημειώματα"
_profile:
name: "Όνομα"
username: "Όνομα μέλους"
@@ -395,6 +400,7 @@ _deck:
antenna: "Αντένες"
list: "Λίστα"
mentions: "Επισημάνσεις"
direct: "Απευθείας σημειώματα"
_webhookSettings:
name: "Όνομα"
_moderationLogTypes:

View File

@@ -81,8 +81,10 @@ import: "Import"
export: "Export"
files: "Files"
download: "Download"
driveFileDeleteConfirm: "Do you want to remove the file \"{name}\"? Some content using this file will also be removed."
driveFileDeleteConfirm: "Are you sure you want to delete \"{name}\"? All notes with this file attached will also be deleted."
unfollowConfirm: "Are you sure you want to unfollow {name}?"
cancelFollowRequestConfirm: "Are you sure that you want to cancel your follow request to {name}?"
rejectFollowRequestConfirm: "Are you sure that you want to reject the follow request from {name}?"
exportRequested: "You've requested an export. This may take a while. It will be added to your Drive once completed."
importRequested: "You've requested an import. This may take a while."
lists: "Lists"
@@ -253,6 +255,7 @@ noteDeleteConfirm: "Are you sure you want to delete this note?"
pinLimitExceeded: "You cannot pin any more notes"
done: "Done"
processing: "Processing..."
preprocessing: "Preparing..."
preview: "Preview"
default: "Default"
defaultValueIs: "Default: {value}"
@@ -301,6 +304,7 @@ uploadFromUrlMayTakeTime: "It may take some time until the upload is complete."
uploadNFiles: "Upload {n} files"
explore: "Explore"
messageRead: "Read"
readAllChatMessages: "Mark all messages as read"
noMoreHistory: "There is no further history"
startChat: "Start chat"
nUsersRead: "read by {n}"
@@ -327,12 +331,13 @@ dark: "Dark"
lightThemes: "Light themes"
darkThemes: "Dark themes"
syncDeviceDarkMode: "Sync Dark Mode with your device settings"
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" is turned on, Would you like to turn off synchronization and switch modes manually?"
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" is turned on. Would you like to turn off synchronization and switch modes manually?"
drive: "Drive"
fileName: "Filename"
selectFile: "Select a file"
selectFiles: "Select files"
selectFolder: "Select a folder"
unselectFolder: "Deselect folder"
selectFolders: "Select folders"
fileNotSelected: "No file selected"
renameFile: "Rename file"
@@ -345,6 +350,7 @@ addFile: "Add a file"
showFile: "Show files"
emptyDrive: "Your Drive is empty"
emptyFolder: "This folder is empty"
dropHereToUpload: "Drop files here to upload"
unableToDelete: "Unable to delete"
inputNewFileName: "Enter a new filename"
inputNewDescription: "Enter new alt text"
@@ -537,6 +543,7 @@ regenerate: "Regenerate"
fontSize: "Font size"
mediaListWithOneImageAppearance: "Height of media lists with one image only"
limitTo: "Limit to {x}"
showMediaListByGridInWideArea: "Display the media list in a grid when the screen width is wide"
noFollowRequests: "You don't have any pending follow requests"
openImageInNewTab: "Open images in new tab"
dashboard: "Dashboard"
@@ -772,6 +779,7 @@ lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", yo
alwaysMarkSensitive: "Mark as sensitive by default"
loadRawImages: "Load original images instead of showing thumbnails"
disableShowingAnimatedImages: "Don't play animated images"
disableShowingAnimatedImages_caption: "If animated images do not play even if this setting is disabled, it may be due to browser or OS accessibility settings, power-saving settings, or similar factors."
highlightSensitiveMedia: "Highlight sensitive media"
verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification."
notSet: "Not set"
@@ -1018,6 +1026,9 @@ pushNotificationAlreadySubscribed: "Push notifications are already enabled"
pushNotificationNotSupported: "Your browser or instance does not support push notifications"
sendPushNotificationReadMessage: "Delete push notifications once they have been read"
sendPushNotificationReadMessageCaption: "This may increase the power consumption of your device."
pleaseAllowPushNotification: "Please enable push notifications in your browser"
browserPushNotificationDisabled: "Failed to acquire permission to send notifications"
browserPushNotificationDisabledDescription: "You do not have permission to send notifications from {serverName}. Please allow notifications in your browser settings and try again."
windowMaximize: "Maximize"
windowMinimize: "Minimize"
windowRestore: "Restore"
@@ -1054,6 +1065,7 @@ permissionDeniedError: "Operation denied"
permissionDeniedErrorDescription: "This account does not have the permission to perform this action."
preset: "Preset"
selectFromPresets: "Choose from presets"
custom: "Custom"
achievements: "Achievements"
gotInvalidResponseError: "Invalid server response"
gotInvalidResponseErrorDescription: "The server may be unreachable or undergoing maintenance. Please try again later."
@@ -1092,6 +1104,7 @@ prohibitedWordsDescription2: "Using spaces will create AND expressions and surro
hiddenTags: "Hidden hashtags"
hiddenTagsDescription: "Select tags which will not shown on trend list.\nMultiple tags could be registered by lines."
notesSearchNotAvailable: "Note search is unavailable."
usersSearchNotAvailable: "User search is not available."
license: "License"
unfavoriteConfirm: "Really remove from favorites?"
myClips: "My clips"
@@ -1166,6 +1179,7 @@ installed: "Installed"
branding: "Branding"
enableServerMachineStats: "Publish server hardware stats"
enableIdenticonGeneration: "Enable user identicon generation"
showRoleBadgesOfRemoteUsers: "Display the role badges assigned to remote users"
turnOffToImprovePerformance: "Turning this off can increase performance."
createInviteCode: "Generate invite"
createWithOptions: "Generate with options"
@@ -1216,8 +1230,8 @@ showRepliesToOthersInTimeline: "Show replies to others in timeline"
hideRepliesToOthersInTimeline: "Hide replies to others from timeline"
showRepliesToOthersInTimelineAll: "Show replies to others from everyone you follow in timeline"
hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you follow in timeline"
confirmShowRepliesAll: "This operation is irreversible. Would you really like to show replies to others from everyone you follow in your timeline?"
confirmHideRepliesAll: "This operation is irreversible. Would you really like to hide replies to others from everyone you follow in your timeline?"
confirmShowRepliesAll: "Are you sure you want to show replies from everyone you follow in your timeline? This action is irreversible."
confirmHideRepliesAll: "Are you sure you want to hide replies from everyone you follow in your timeline? This action is irreversible."
externalServices: "External Services"
sourceCode: "Source code"
sourceCodeIsNotYetProvided: "Source code is not yet available. Contact the administrator to fix this problem."
@@ -1243,7 +1257,7 @@ releaseToRefresh: "Release to refresh"
refreshing: "Refreshing..."
pullDownToRefresh: "Pull down to refresh"
useGroupedNotifications: "Display grouped notifications"
signupPendingError: "There was a problem verifying the email address. The link may have expired."
emailVerificationFailedError: "A problem occurred while verifying your email address. The link may have expired."
cwNotationRequired: "If \"Hide content\" is enabled, a description must be provided."
doReaction: "Add reaction"
code: "Code"
@@ -1302,7 +1316,7 @@ passkeyVerificationSucceededButPasswordlessLoginDisabled: "Passkey verification
messageToFollower: "Message to followers"
target: "Target"
testCaptchaWarning: "This function is intended for CAPTCHA testing purposes.\n<strong>Do not use in a production environment.</strong>"
prohibitedWordsForNameOfUser: "Prohibited words for user names"
prohibitedWordsForNameOfUser: "Prohibited words for usernames"
prohibitedWordsForNameOfUserDescription: "If any of the strings in this list are included in the user's name, the name will be denied. Users with moderator privileges are not affected by this restriction."
yourNameContainsProhibitedWords: "Your name contains prohibited words"
yourNameContainsProhibitedWordsDescription: "If you wish to use this name, please contact your server administrator."
@@ -1313,6 +1327,8 @@ availableRoles: "Available roles"
acknowledgeNotesAndEnable: "Turn on after understanding the precautions."
federationSpecified: "This server is operated in a whitelist federation. Interacting with servers other than those designated by the administrator is not allowed."
federationDisabled: "Federation is disabled on this server. You cannot interact with users on other servers."
draft: "Drafts"
draftsAndScheduledNotes: "Drafts and scheduled notes"
confirmOnReact: "Confirm when reacting"
reactAreYouSure: "Would you like to add a \"{emoji}\" reaction?"
markAsSensitiveConfirm: "Do you want to set this media as sensitive?"
@@ -1340,6 +1356,8 @@ postForm: "Posting form"
textCount: "Character count"
information: "About"
chat: "Chat"
directMessage: "Chat with user"
directMessage_short: "Message"
migrateOldSettings: "Migrate old client settings"
migrateOldSettings_description: "This should be done automatically but if for some reason the migration was not successful, you can trigger the migration process yourself manually. The current configuration information will be overwritten."
compress: "Compress"
@@ -1366,8 +1384,84 @@ tip: "Tips & Tricks"
redisplayAllTips: "Show all “Tips & Tricks” again"
hideAllTips: "Hide all \"Tips & Tricks\""
defaultImageCompressionLevel: "Default image compression level"
defaultImageCompressionLevel_description: "High, reduces the file size but also the image quality. <br>High, reduces the file size but also the image quality."
defaultImageCompressionLevel_description: "Lower level preserves image quality but increases file size.<br>Higher level reduce file size, but reduce image quality."
defaultCompressionLevel: "Default compression level"
defaultCompressionLevel_description: "Lower compression preserves quality but increases file size.<br>Higher compression reduces file size but lowers quality."
inMinutes: "Minute(s)"
inDays: "Day(s)"
safeModeEnabled: "Safe mode is enabled"
pluginsAreDisabledBecauseSafeMode: "All plugins are disabled because safe mode is enabled."
customCssIsDisabledBecauseSafeMode: "Custom CSS is not applied because safe mode is enabled."
themeIsDefaultBecauseSafeMode: "While safe mode is active, the default theme is used. Disabling safe mode will revert these changes."
thankYouForTestingBeta: "Thank you for helping us test the beta version!"
createUserSpecifiedNote: "Create a direct note"
schedulePost: "Schedule note"
scheduleToPostOnX: "Scheduled to note on {x}"
scheduledToPostOnX: "Note is scheduled for {x}"
schedule: "Schedule"
scheduled: "Scheduled"
widgets: "Widgets"
deviceInfo: "Device information"
deviceInfoDescription: "When making technical inquiries, including the following information may help resolve the issue."
youAreAdmin: "You are admin"
frame: "Frame"
presets: "Preset"
zeroPadding: "Zero padding"
nothingToConfigure: "No configurable options available"
_imageEditing:
_vars:
caption: "File caption"
filename: "Filename"
filename_without_ext: "Filename without extension"
year: "Year of photography"
month: "Month of photogrphy"
day: "Date of photography"
hour: "Time the photo was taken (hour)"
minute: "Time the photo was taken (minute)"
second: "Time the photo was taken (second)"
camera_model: "Camera Name"
camera_lens_model: "Lens model"
camera_mm: "Focal length"
camera_mm_35: "Focal length (in 35 mm format)"
camera_f: "Aperture (f-number)"
camera_s: "Shutter speed"
camera_iso: "ISO"
gps_lat: "Latitude"
gps_long: "Longitude"
_imageFrameEditor:
title: "Edit frame"
tip: "You can decorate images by adding labels that include frames and metadata."
header: "Header"
footer: "Footer"
borderThickness: "Frame width"
labelThickness: "Label width"
labelScale: "Label scale"
centered: "Centered"
captionMain: "Caption (Big)"
captionSub: "Caption (Small)"
availableVariables: "Supported variables"
withQrCode: "QR Code"
backgroundColor: "Background color"
textColor: "Text color"
font: "Font"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
quitWithoutSaveConfirm: "Discard unsaved changes?"
failedToLoadImage: "Failed to load image"
_compression:
_quality:
high: "High quality"
medium: "Medium quality"
low: "Low quality"
_size:
large: "Large size"
medium: "Medium size"
small: "Small size"
_order:
newest: "Newest First"
oldest: "Oldest First"
_chat:
messages: "Messages"
noMessagesYet: "No messages yet"
newMessage: "New message"
individualChat: "Private Chat"
@@ -1396,7 +1490,7 @@ _chat:
muteThisRoom: "Mute room"
deleteRoom: "Delete room"
chatNotAvailableForThisAccountOrServer: "Chat is not enabled on this server or for this account."
chatIsReadOnlyForThisAccountOrServer: "Chat is read-only on this instance or this account. You cannot write new messages or create/join chat rooms."
chatIsReadOnlyForThisAccountOrServer: "Chat is read-only on this server or this account. You cannot write new messages or create/join chat rooms."
chatNotAvailableInOtherAccount: "The chat function is disabled for the other user."
cannotChatWithTheUser: "Cannot start a chat with this user"
cannotChatWithTheUser_description: "Chat is either unavailable or the other party has not enabled chat."
@@ -1455,6 +1549,12 @@ _settings:
contentsUpdateFrequency_description2: "When real-time mode is on, content is updated in real time regardless of this setting."
showUrlPreview: "Show URL preview"
showAvailableReactionsFirstInNote: "Show available reactions at the top."
showPageTabBarBottom: "Show page tab bar at the bottom"
emojiPaletteBanner: "You can register presets as palettes to display prominently in the emoji picker or customize the appearance of the picker."
enableAnimatedImages: "Enable animated images"
settingsPersistence_title: "Persistence of Settings"
settingsPersistence_description1: "Enabling setting persistence prevents configuration information from being lost."
settingsPersistence_description2: "It may not be possible to enable this depending on the environment."
_chat:
showSenderName: "Show sender's name"
sendOnEnter: "Press Enter to send"
@@ -1463,6 +1563,8 @@ _preferencesProfile:
profileNameDescription: "Set a name that identifies this device."
profileNameDescription2: "Example: \"Main PC\", \"Smartphone\""
manageProfiles: "Manage Profiles"
shareSameProfileBetweenDevicesIsNotRecommended: "We do not recommend sharing the same profile across multiple devices."
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "If there are settings you wish to synchronize across multiple devices, enable the “Synchronize across multiple devices” option individually for each device."
_preferencesBackup:
autoBackup: "Auto backup"
restoreFromBackup: "Restore from backup"
@@ -1472,6 +1574,7 @@ _preferencesBackup:
youNeedToNameYourProfileToEnableAutoBackup: "A profile name must be set to enable auto backup."
autoPreferencesBackupIsNotEnabledForThisDevice: "Settings auto backup is not enabled on this device."
backupFound: "Settings backup is found"
forceBackup: "Force a backup of settings"
_accountSettings:
requireSigninToViewContents: "Require sign-in to view contents"
requireSigninToViewContentsDescription1: "Require login to view all notes and other content you have created. This will have the effect of preventing crawlers from collecting your information."
@@ -1494,7 +1597,7 @@ _abuseUserReport:
resolveTutorial: "If the report's content is legitimate, select \"Accept\" to mark it as resolved.\nIf the report's content is illegitimate, select \"Reject\" to ignore it."
_delivery:
status: "Delivery status"
stop: "Suspended"
stop: "Suspend"
resume: "Delivery resume"
_type:
none: "Publishing"
@@ -1628,6 +1731,10 @@ _serverSettings:
fanoutTimelineDbFallback: "Fallback to database"
fanoutTimelineDbFallbackDescription: "When enabled, the timeline will fall back to the database for additional queries if the timeline is not cached. Disabling it further reduces the server load by eliminating the fallback process, but limits the range of timelines that can be retrieved."
reactionsBufferingDescription: "When enabled, performance during reaction creation will be greatly improved, reducing the load on the database. However, Redis memory usage will increase."
remoteNotesCleaning: "Automatic cleanup of remote notes"
remoteNotesCleaning_description: "When enabled, unused and outdated remote notes will be periodically cleaned up to prevent database bloat."
remoteNotesCleaningMaxProcessingDuration: "Maximum cleanup processing time"
remoteNotesCleaningExpiryDaysForEachNotes: "Minimum days to retain notes"
inquiryUrl: "Inquiry URL"
inquiryUrlDescription: "Specify a URL for the inquiry form to the server maintainer or a web page for the contact information."
openRegistration: "Make the account creation open"
@@ -1646,6 +1753,11 @@ _serverSettings:
userGeneratedContentsVisibilityForVisitor: "Visibility of user-generated content to guests"
userGeneratedContentsVisibilityForVisitor_description: "This is useful for preventing problems caused by inappropriate remote content that is not well moderated from being unintentionally published on the Internet via your own server."
userGeneratedContentsVisibilityForVisitor_description2: "Unconditionally publishing all content on the server to the Internet, including remote content received by the server is risky. This is especially important for guests who are unaware of the distributed nature of the content, as they may mistakenly believe that even remote content is content created by users on the server."
restartServerSetupWizardConfirm_title: "Restart server setup wizard?"
restartServerSetupWizardConfirm_text: "Some current settings will be reset."
entrancePageStyle: "Entrance page style"
showTimelineForVisitor: "Show timeline"
showActivitiesForVisitor: "Show activities"
_userGeneratedContentsVisibilityForVisitor:
all: "Everything is public"
localOnly: "Only local content is published, remote content is kept private"
@@ -1968,6 +2080,7 @@ _role:
canManageAvatarDecorations: "Manage avatar decorations"
driveCapacity: "Drive capacity"
maxFileSize: "Upload-able max file size"
maxFileSize_caption: "Reverse proxies, CDNs, and other front-end components may have their own configuration settings."
alwaysMarkNsfw: "Always mark files as NSFW"
canUpdateBioMedia: "Can edit an icon or a banner image"
pinMax: "Maximum number of pinned notes"
@@ -1982,17 +2095,21 @@ _role:
descriptionOfRateLimitFactor: "Lower rate limits are less restrictive, higher ones more restrictive. "
canHideAds: "Can hide ads"
canSearchNotes: "Usage of note search"
canSearchUsers: "User search"
canUseTranslator: "Translator usage"
avatarDecorationLimit: "Maximum number of avatar decorations that can be applied"
canImportAntennas: "Allow importing antennas"
canImportBlocking: "Allow importing blocking"
canImportFollowing: "Allow importing following"
canImportMuting: "Allow importing muting"
canImportUserLists: "Allow importing lists"
chatAvailability: "Allow Chat"
avatarDecorationLimit: "Maximum number of avatar decorations"
canImportAntennas: "Can import antennas"
canImportBlocking: "Can import blocking"
canImportFollowing: "Can import following"
canImportMuting: "Can import muting"
canImportUserLists: "Can import lists"
chatAvailability: "Chat"
uploadableFileTypes: "Uploadable file types"
uploadableFileTypes_caption: "Specifies the allowed MIME/file types. Multiple MIME types can be specified by separating them with a new line, and wildcards can be specified with an asterisk (*). (e.g., image/*)"
uploadableFileTypes_caption2: "Some files types might fail to be detected. To allow such files, add {x} to the specification."
noteDraftLimit: "Number of possible drafts of server notes"
scheduledNoteLimit: "Maximum number of simultaneous scheduled notes"
watermarkAvailable: "Watermark function"
_condition:
roleAssignedTo: "Assigned to manual roles"
isLocal: "Local user"
@@ -2152,6 +2269,7 @@ _theme:
install: "Install a theme"
manage: "Manage themes"
code: "Theme code"
copyThemeCode: "Copy theme code"
description: "Description"
installed: "{name} has been installed"
installedThemes: "Installed themes"
@@ -2251,6 +2369,7 @@ _time:
minute: "Minute(s)"
hour: "Hour(s)"
day: "Day(s)"
month: "Month(s)"
_2fa:
alreadyRegistered: "You have already registered a 2-factor authentication device."
registerTOTP: "Register authenticator app"
@@ -2323,7 +2442,7 @@ _permissions:
"read:admin:index-stats": "View database index stats"
"read:admin:table-stats": "View database table stats"
"read:admin:user-ips": "View user IP addresses"
"read:admin:meta": "View instance metadata"
"read:admin:meta": "View server metadata"
"write:admin:reset-password": "Reset user password"
"write:admin:resolve-abuse-user-report": "Resolve user report"
"write:admin:send-email": "Send email"
@@ -2334,7 +2453,7 @@ _permissions:
"write:admin:unset-user-avatar": "Remove user avatar"
"write:admin:unset-user-banner": "Remove user banner"
"write:admin:unsuspend-user": "Unsuspend user"
"write:admin:meta": "Manage instance metadata"
"write:admin:meta": "Manage server metadata"
"write:admin:user-note": "Manage moderation note"
"write:admin:roles": "Manage roles"
"read:admin:roles": "View roles"
@@ -2380,6 +2499,7 @@ _auth:
scopeUser: "Operate as the following user"
pleaseLogin: "Please log in to authorize applications."
byClickingYouWillBeRedirectedToThisUrl: "When access is granted, you will automatically be redirected to the following URL"
alreadyAuthorized: "This application already has access permission."
_antennaSources:
all: "All notes"
homeTimeline: "Notes from followed users"
@@ -2425,7 +2545,45 @@ _widgets:
chooseList: "Select a list"
clicker: "Clicker"
birthdayFollowings: "Today's Birthdays"
chat: "Chat"
chat: "Chat with user"
_widgetOptions:
showHeader: "Show header"
transparent: "Make background transparent"
height: "Height"
_button:
colored: "Colored"
_clock:
size: "Size"
thickness: "Needle thickness"
thicknessThin: "Thin"
thicknessMedium: "Normal"
thicknessThick: "Thick"
graduations: "Dial markings"
graduationDots: "Dot"
graduationArabic: "Arabic numbers"
fadeGraduations: "Fade the scale"
sAnimation: "Second hand animation"
sAnimationElastic: "Real"
sAnimationEaseOut: "Smooth"
twentyFour: "24 Hour Format"
labelTime: "Time"
labelTz: "Timezone"
labelTimeAndTz: "Time and time zone"
timezone: "Timezone"
showMs: "Show Miliseconds"
showLabel: "Show Label"
_jobQueue:
sound: "Play Sounds"
_rss:
url: "RSS Feed Url"
refreshIntervalSec: "Update interval (in seconds)"
maxEntries: "Maximum number of items to display"
_rssTicker:
shuffle: "Random display order"
duration: "Banner scroll speed (in seconds)"
reverse: "Scroll in the opposite direction"
_birthdayFollowings:
period: "Duration"
_cw:
hide: "Hide"
show: "Show content"
@@ -2470,6 +2628,20 @@ _postForm:
replyPlaceholder: "Reply to this note..."
quotePlaceholder: "Quote this note..."
channelPlaceholder: "Post to a channel..."
showHowToUse: "Show how to use this form"
_howToUse:
content_title: "Body"
content_description: "Enter the content you wish to post here."
toolbar_title: "Toolbars"
toolbar_description: "You can attach files or poll, add annotations or hashtags, and insert emojis or mentions."
account_title: "Account menu"
account_description: "You can switch between accounts for posting, or view a list of drafts and scheduled posts saved to your account."
visibility_title: "Visibility"
visibility_description: "You can configure the visibility of your notes."
menu_title: "Menu"
menu_description: "You can save current content to drafts, schedule posts, set reactions, and perform other actions."
submit_title: "Post button"
submit_description: "Post your notes by pressing this button. You can also post using Ctrl + Enter / Cmd + Enter."
_placeholders:
a: "What are you up to?"
b: "What's happening around you?"
@@ -2615,6 +2787,8 @@ _notification:
youReceivedFollowRequest: "You've received a follow request"
yourFollowRequestAccepted: "Your follow request was accepted"
pollEnded: "Poll results have become available"
scheduledNotePosted: "Scheduled note has been posted"
scheduledNotePostFailed: "Failed to post scheduled note"
newNote: "New note"
unreadAntennaNote: "Antenna {name}"
roleAssigned: "Role given"
@@ -2644,6 +2818,8 @@ _notification:
quote: "Quotes"
reaction: "Reactions"
pollEnded: "Polls ending"
scheduledNotePosted: "Scheduled note was successful"
scheduledNotePostFailed: "Scheduled note failed"
receiveFollowRequest: "Received follow requests"
followRequestAccepted: "Accepted follow requests"
roleAssigned: "Role given"
@@ -2683,6 +2859,14 @@ _deck:
usedAsMinWidthWhenFlexible: "Minimum width will be used for this when the \"Auto-adjust width\" option is enabled"
flexible: "Auto-adjust width"
enableSyncBetweenDevicesForProfiles: "Enable profile information sync between devices"
showHowToUse: ""
_howToUse:
addColumn_title: "Add column"
addColumn_description: "You can select and add column types."
settings_title: "UI Settings"
settings_description: "You can configure detailed settings for the deck UI."
switchProfile_title: "Profile Switching"
switchProfile_description: "You can save UI layouts as profiles and switch between them at any time."
_columns:
main: "Main"
widgets: "Widgets"
@@ -2694,7 +2878,7 @@ _deck:
mentions: "Mentions"
direct: "Direct notes"
roleTimeline: "Role Timeline"
chat: "Chat"
chat: "Chat with user"
_dialog:
charactersExceeded: "You've exceeded the maximum character limit! Currently at {current} of {max}."
charactersBelow: "You're below the minimum character limit! Currently at {current} of {min}."
@@ -2743,6 +2927,8 @@ _abuseReport:
notifiedWebhook: "Webhook to use"
deleteConfirm: "Are you sure that you want to delete the notification recipient?"
_moderationLogTypes:
clearQueue: "Clear queue"
promoteQueue: "Promote queue"
createRole: "Role created"
deleteRole: "Role deleted"
updateRole: "Role updated"
@@ -2766,7 +2952,7 @@ _moderationLogTypes:
resetPassword: "Password reset"
suspendRemoteInstance: "Remote instance suspended"
unsuspendRemoteInstance: "Remote instance unsuspended"
updateRemoteInstanceNote: "Moderation note updated for remote instance."
updateRemoteInstanceNote: "Updated moderation note for remote servers"
markSensitiveDriveFile: "File marked as sensitive"
unmarkSensitiveDriveFile: "File unmarked as sensitive"
resolveAbuseReport: "Report resolved"
@@ -2800,6 +2986,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Uploaded at"
attachedNotes: "Attached notes"
usage: "Used"
thisPageCanBeSeenFromTheAuthor: "This page can only be seen by the user who uploaded this file."
_externalResourceInstaller:
title: "Install from external site"
@@ -3052,6 +3239,7 @@ _bootErrors:
otherOption1: "Delete client settings and cache"
otherOption2: "Start the simple client"
otherOption3: "Launch the repair tool"
otherOption4: "Launch Misskey in safe mode"
_search:
searchScopeAll: "All"
searchScopeLocal: "Local"
@@ -3088,6 +3276,8 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "When connected to a network of distributed servers (Fediverse) content can be exchanged with other servers."
doYouConnectToFediverse_description2: "Connecting with the Fediverse is also called \"federation\""
youCanConfigureMoreFederationSettingsLater: "Advanced settings such as specifying federated servers can be configured later."
remoteContentsCleaning: "Automatic cleanup of received contents"
remoteContentsCleaning_description: "Federation may result in a continuous inflow of content. Enabling automatic cleanup will remove outdated and unreferenced content from the server to save storage."
adminInfo: "Administrator information"
adminInfo_description: "Sets the administrator information used to receive inquiries."
adminInfo_mustBeFilled: "Must be entered if public server or federation is on."
@@ -3103,6 +3293,7 @@ _serverSetupWizard:
text2: "We would appreciate your support so that we can continue to develop this software further into the future."
text3: "There are also special benefits for supporters!"
_uploader:
editImage: "Edit Image"
compressedToX: "Compressed to {x}"
savedXPercent: "Saving {x}%"
abortConfirm: "Some files have not been uploaded, do you want to abort?"
@@ -3132,17 +3323,20 @@ _watermarkEditor:
title: "Edit Watermark"
cover: "Cover everything"
repeat: "spread all over"
preserveBoundingRect: "Adjust to prevent overflow when rotating"
opacity: "Opacity"
scale: "Size"
text: "Text"
qr: "QR Code"
position: "Position"
margin: "Margin"
type: "Type"
image: "Images"
advanced: "Advanced"
angle: "Angle"
stripe: "Stripes"
stripeWidth: "Line width"
stripeFrequency: "Lines count"
angle: "Angle"
polkadot: "Polkadot"
checker: "Checker"
polkadotMainDotOpacity: "Opacity of the main dot"
@@ -3150,17 +3344,22 @@ _watermarkEditor:
polkadotSubDotOpacity: "Opacity of the secondary dot"
polkadotSubDotRadius: "Size of the secondary dot"
polkadotSubDotDivisions: "Number of sub-dots."
leaveBlankToAccountUrl: "Leave blank to use account URL"
failedToLoadImage: "Failed to load image"
_imageEffector:
title: "Effects"
addEffect: "Add Effects"
discardChangesConfirm: "Are you sure you want to leave? You have unsaved changes."
failedToLoadImage: "Failed to load image"
_fxs:
chromaticAberration: "Chromatic Aberration"
glitch: "Glitch"
mirror: "Mirror"
invert: "Invert Colors"
grayscale: "white-black"
colorAdjust: "Colour Correction"
grayscale: "Grayscale"
blur: "Blur"
pixelate: "Pixelate"
colorAdjust: "Color Correction"
colorClamp: "Color Compression"
colorClampAdvanced: "Color Compression (Advanced)"
distort: "Distortion"
@@ -3171,3 +3370,70 @@ _imageEffector:
checker: "Checker"
blockNoise: "Block Noise"
tearing: "Tearing"
fill: "Fill"
_fxProps:
angle: "Angle"
scale: "Size"
size: "Size"
radius: "Radius"
samples: "Sample count"
offset: "Position"
color: "Color"
opacity: "Opacity"
normalize: "Normalize"
amount: "Amount"
lightness: "Lighten"
contrast: "Contrast"
hue: "Hue"
brightness: "Brightness"
saturation: "Saturation"
max: "Maximum"
min: "Minimum"
direction: "Direction"
phase: "Phase"
frequency: "Frequency"
strength: "Strength"
glitchChannelShift: "Channel shift"
seed: "Seed value"
redComponent: "Red component"
greenComponent: "Green component"
blueComponent: "Blue component"
threshold: "Threshold"
centerX: "Center X"
centerY: "Center Y"
zoomLinesMaskSize: "Center diameter"
circle: "Circular"
drafts: "Drafts"
_drafts:
select: "Select Draft"
cannotCreateDraftAnymore: "The number of drafts that can be created has been exceeded."
cannotCreateDraft: "You cannot create a draft with this content."
delete: "Delete Draft"
deleteAreYouSure: "Delete draft?"
noDrafts: "No drafts"
replyTo: "Reply to {user}"
quoteOf: "Citation to {user}'s note"
postTo: "Posting to {channel}"
saveToDraft: "Save to Draft"
restoreFromDraft: "Restore from Draft"
restore: "Restore"
listDrafts: "List of Drafts"
schedule: "Schedule note"
listScheduledNotes: "Scheduled notes list"
cancelSchedule: "Cancel schedule"
qr: "QR Code"
_qr:
showTabTitle: "Display"
readTabTitle: "Scan"
shareTitle: "{name} {acct}"
shareText: "Follow me on the Fediverse!"
chooseCamera: "Choose camera"
cannotToggleFlash: "Unable to toggle flashlight"
turnOnFlash: "Turn on flashlight"
turnOffFlash: "Turn off flashlight"
startQr: "Resume QR code reader"
stopQr: "Stop QR code reader"
noQrCodeFound: "No QR code found"
scanFile: "Scan image from device"
raw: "Text"
mfm: "MFM"

File diff suppressed because it is too large Load Diff

View File

@@ -5,11 +5,12 @@ introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralis
poweredByMisskeyDescription: "{name} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")."
monthAndDay: "{day}/{month}"
search: "Rechercher"
reset: "Réinitialiser"
notifications: "Notifications"
username: "Nom dutilisateur·rice"
password: "Mot de passe"
initialPasswordForSetup: "Mot de passe initial pour la configuration"
initialPasswordIsIncorrect: "Mot de passe initial pour la configuration est incorrecte"
initialPasswordIsIncorrect: "Le mot de passe initial pour la configuration est incorrect"
initialPasswordForSetupDescription: "Utilisez le mot de passe que vous avez entré pour le fichier de configuration si vous avez installé Misskey vous-même.\nSi vous utilisez un service d'hébergement Misskey, utilisez le mot de passe fourni.\nSi vous n'avez pas défini de mot de passe, laissez le champ vide pour continuer."
forgotPassword: "Mot de passe oublié"
fetchingAsApObject: "Récupération depuis le fédiverse …"
@@ -48,6 +49,7 @@ pin: "Épingler sur le profil"
unpin: "Désépingler"
copyContent: "Copier le contenu"
copyLink: "Copier le lien"
copyRemoteLink: "Copier le lien de la note"
copyLinkRenote: "Copier le lien de la renote"
delete: "Supprimer"
deleteAndEdit: "Supprimer et réécrire"
@@ -62,8 +64,8 @@ copyNoteId: "Copier l'identifiant de la note"
copyFileId: "Copier l'identifiant du fichier"
copyFolderId: "Copier l'identifiant du dossier"
copyProfileUrl: "Copier l'URL du profil"
searchUser: "Chercher un·e utilisateur·rice"
searchThisUsersNotes: "Cherchez les notes de cet·te utilisateur·rice"
searchUser: "Chercher un utilisateur"
searchThisUsersNotes: "Cherchez les notes de cet utilisateur"
reply: "Répondre"
loadMore: "Afficher plus …"
showMore: "Voir plus"
@@ -81,6 +83,8 @@ files: "Fichiers"
download: "Télécharger"
driveFileDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer le fichier « {name} » ? Les notes avec ce fichier joint seront aussi supprimées."
unfollowConfirm: "Désirez-vous vous désabonner de {name} ?"
cancelFollowRequestConfirm: "Est-te vous sur de vouloir annuler la demande de suivi de {name} ?"
rejectFollowRequestConfirm: "Refuser la demande de suivi de {name} ?"
exportRequested: "Vous avez demandé une exportation. Lopération pourrait prendre un peu de temps. Une fois terminée, le fichier sera ajouté au Drive."
importRequested: "Vous avez initié un import. Cela pourrait prendre un peu de temps."
lists: "Listes"
@@ -118,6 +122,8 @@ cantReRenote: "Impossible de renoter une Renote."
quote: "Citer"
inChannelRenote: "Renoter dans le canal"
inChannelQuote: "Citer dans le canal"
renoteToChannel: "Renoter sur le canal"
renoteToOtherChannel: "Renoter sur un autre canal"
pinnedNote: "Note épinglée"
pinned: "Épingler sur le profil"
you: "Vous"
@@ -212,6 +218,7 @@ blockThisInstance: "Bloquer cette instance"
silenceThisInstance: "Mettre cette instance en sourdine"
operations: "Opérations"
software: "Logiciel"
softwareName: "Nom du logiciel"
version: "Version"
metadata: "Métadonnées"
withNFiles: "{n} fichier(s)"
@@ -231,6 +238,9 @@ blockedInstances: "Instances bloquées"
blockedInstancesDescription: "Listez les instances que vous désirez bloquer, une par ligne. Ces instances ne seront plus en capacité d'interagir avec votre instance."
silencedInstances: "Instances mises en sourdine"
silencedInstancesDescription: "Énumérer les noms d'hôte des instances à mettre en sourdine. Tous les comptes des instances énumérées seront traités comme mis en sourdine, ne peuvent faire que des demandes de suivi et ne peuvent pas mentionner les comptes locaux s'ils ne sont pas suivis. Cela n'affectera pas les instances bloquées."
mediaSilencedInstances: "Médias silencieux sur ces instances"
mediaSilencedInstancesDescription: "Liste des noms de serveurs où vous voulez que les médias soient silencieux, séparés par un retour à la ligne.\nTous les comptes des instances listées seront considérés comme sensibles, et ne peuvent pas utilisés d'émojis personnalisés. Ceci n'affectera pas les serveurs bloquées."
federationAllowedHosts: "Serveurs qui autorisent la fédération"
muteAndBlock: "Masqué·e·s / Bloqué·e·s"
mutedUsers: "Utilisateur·rice·s en sourdine"
blockedUsers: "Utilisateur·rice·s bloqué·e·s"
@@ -1208,7 +1218,6 @@ releaseToRefresh: "Relâcher pour rafraîchir"
refreshing: "Rafraîchissement..."
pullDownToRefresh: "Tirer vers le bas pour rafraîchir"
useGroupedNotifications: "Grouper les notifications"
signupPendingError: "Un problème est survenu lors de la vérification de votre adresse e-mail. Le lien a peut-être expiré."
cwNotationRequired: "Si « Masquer le contenu » est activé, une description doit être fournie."
doReaction: "Réagir"
code: "Code"
@@ -1272,6 +1281,18 @@ pleaseSelectAccount: "Sélectionner un compte"
availableRoles: "Rôles disponibles"
postForm: "Formulaire de publication"
information: "Informations"
inMinutes: "min"
inDays: "j"
widgets: "Widgets"
presets: "Préréglage"
_imageEditing:
_vars:
filename: "Nom du fichier"
_imageFrameEditor:
header: "Entête"
font: "Police de caractères"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_chat:
invitations: "Inviter"
noHistory: "Pas d'historique"
@@ -1994,6 +2015,14 @@ _widgets:
_userList:
chooseList: "Sélectionner une liste"
birthdayFollowings: "Utilisateurs qui fêtent l'anniversaire aujourd'hui"
_widgetOptions:
height: "Hauteur"
_button:
colored: "Coloré"
_clock:
size: "Taille"
_birthdayFollowings:
period: "Durée"
_cw:
hide: "Masquer"
show: "Afficher le contenu"
@@ -2035,6 +2064,9 @@ _postForm:
replyPlaceholder: "Répondre à cette note ..."
quotePlaceholder: "Citez cette note ..."
channelPlaceholder: "Publier au canal…"
_howToUse:
visibility_title: "Visibilité"
menu_title: "Menu"
_placeholders:
a: "Quoi de neuf ?"
b: "Il s'est passé quelque chose ?"
@@ -2370,3 +2402,15 @@ _watermarkEditor:
image: "Images"
advanced: "Avancé"
angle: "Angle"
_imageEffector:
_fxProps:
angle: "Angle"
scale: "Taille"
size: "Taille"
offset: "Position"
color: "Couleur"
opacity: "Transparence"
lightness: "Clair"
_qr:
showTabTitle: "Affichage"
raw: "Texte"

View File

@@ -1,230 +0,0 @@
import * as fs from 'node:fs';
import { fileURLToPath } from 'node:url';
import { dirname } from 'node:path';
import * as yaml from 'js-yaml';
import ts from 'typescript';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const parameterRegExp = /\{(\w+)\}/g;
function createMemberType(item) {
if (typeof item !== 'string') {
return ts.factory.createTypeLiteralNode(createMembers(item));
}
const parameters = Array.from(
item.matchAll(parameterRegExp),
([, parameter]) => parameter,
);
return parameters.length
? ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('ParameterizedString'),
[
ts.factory.createUnionTypeNode(
parameters.map((parameter) =>
ts.factory.createStringLiteral(parameter),
),
),
],
)
: ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);
}
function createMembers(record) {
return Object.entries(record).map(([k, v]) => {
const node = ts.factory.createPropertySignature(
undefined,
ts.factory.createStringLiteral(k),
undefined,
createMemberType(v),
);
if (typeof v === 'string') {
ts.addSyntheticLeadingComment(
node,
ts.SyntaxKind.MultiLineCommentTrivia,
`*
* ${v.replace(/\n/g, '\n * ')}
`,
true,
);
}
return node;
});
}
export default function generateDTS() {
const locale = yaml.load(fs.readFileSync(`${__dirname}/ja-JP.yml`, 'utf-8'));
const members = createMembers(locale);
const elements = [
ts.factory.createVariableStatement(
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
ts.factory.createVariableDeclarationList(
[
ts.factory.createVariableDeclaration(
ts.factory.createIdentifier('kParameters'),
undefined,
ts.factory.createTypeOperatorNode(
ts.SyntaxKind.UniqueKeyword,
ts.factory.createKeywordTypeNode(ts.SyntaxKind.SymbolKeyword),
),
undefined,
),
],
ts.NodeFlags.Const,
),
),
ts.factory.createInterfaceDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('ParameterizedString'),
[
ts.factory.createTypeParameterDeclaration(
undefined,
ts.factory.createIdentifier('T'),
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
),
],
undefined,
[
ts.factory.createPropertySignature(
undefined,
ts.factory.createComputedPropertyName(
ts.factory.createIdentifier('kParameters'),
),
undefined,
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('T'),
undefined,
),
),
],
),
ts.factory.createInterfaceDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('ILocale'),
undefined,
undefined,
[
ts.factory.createIndexSignature(
undefined,
[
ts.factory.createParameterDeclaration(
undefined,
undefined,
ts.factory.createIdentifier('_'),
undefined,
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
undefined,
),
],
ts.factory.createUnionTypeNode([
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('ParameterizedString'),
),
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('ILocale'),
undefined,
),
]),
),
],
),
ts.factory.createInterfaceDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('Locale'),
undefined,
[
ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
ts.factory.createExpressionWithTypeArguments(
ts.factory.createIdentifier('ILocale'),
undefined,
),
]),
],
members,
),
ts.factory.createVariableStatement(
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
ts.factory.createVariableDeclarationList(
[
ts.factory.createVariableDeclaration(
ts.factory.createIdentifier('locales'),
undefined,
ts.factory.createTypeLiteralNode([
ts.factory.createIndexSignature(
undefined,
[
ts.factory.createParameterDeclaration(
undefined,
undefined,
ts.factory.createIdentifier('lang'),
undefined,
ts.factory.createKeywordTypeNode(
ts.SyntaxKind.StringKeyword,
),
undefined,
),
],
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('Locale'),
undefined,
),
),
]),
undefined,
),
],
ts.NodeFlags.Const,
),
),
ts.factory.createFunctionDeclaration(
[ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)],
undefined,
ts.factory.createIdentifier('build'),
undefined,
[],
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('Locale'),
undefined,
),
undefined,
),
ts.factory.createExportDefault(ts.factory.createIdentifier('locales')),
];
ts.addSyntheticLeadingComment(
elements[0],
ts.SyntaxKind.MultiLineCommentTrivia,
' eslint-disable ',
true,
);
ts.addSyntheticLeadingComment(
elements[0],
ts.SyntaxKind.SingleLineCommentTrivia,
' This file is generated by locales/generateDTS.js',
true,
);
ts.addSyntheticLeadingComment(
elements[0],
ts.SyntaxKind.SingleLineCommentTrivia,
' Do not edit this file directly.',
true,
);
const printed = ts
.createPrinter({
newLine: ts.NewLineKind.LineFeed,
})
.printList(
ts.ListFormat.MultiLine,
ts.factory.createNodeArray(elements),
ts.createSourceFile(
'index.d.ts',
'',
ts.ScriptTarget.ESNext,
true,
ts.ScriptKind.TS,
),
);
fs.writeFileSync(`${__dirname}/index.d.ts`, printed, 'utf-8');
}

View File

@@ -5,9 +5,13 @@ introMisskey: "Selamat datang! Misskey adalah perangkat mikroblog tercatu bersif
poweredByMisskeyDescription: "{name} adalah sebuah layanan (instance) yang menggunakan platform sumber terbuka <b>Misskey</b>."
monthAndDay: "{day} {month}"
search: "Penelusuran"
reset: "Reset"
notifications: "Notifikasi"
username: "Nama Pengguna"
password: "Kata sandi"
initialPasswordForSetup: "Kata sandi untuk memulai konfigurasi awal"
initialPasswordIsIncorrect: "Kata sandi untuk memulai konfigurasi awal salah."
initialPasswordForSetupDescription: "Jika Anda menginstal Misskey sendiri, gunakan kata sandi yang Anda masukkan di berkas konfigurasi.\nJika Anda menggunakan layanan hosting Misskey, gunakan kata sandi yang diberikan.\nJika Anda belum mengatur kata sandi, biarkan kosong dan lanjutkan."
forgotPassword: "Lupa Kata Sandi"
fetchingAsApObject: "Mengambil data dari Fediverse..."
ok: "OK"
@@ -45,6 +49,7 @@ pin: "Sematkan ke profil"
unpin: "Lepas sematan dari profil"
copyContent: "Salin konten"
copyLink: "Salin tautan"
copyRemoteLink: "Salin tautan jarak jauh"
copyLinkRenote: "Salin tautan renote"
delete: "Hapus"
deleteAndEdit: "Hapus dan sunting"
@@ -212,8 +217,10 @@ perDay: "per Hari"
stopActivityDelivery: "Berhenti mengirim aktivitas"
blockThisInstance: "Blokir instansi ini"
silenceThisInstance: "Senyapkan instansi ini"
mediaSilenceThisInstance: "Server media senyap"
operations: "Tindakan"
software: "Perangkat lunak"
softwareName: "Nama Perangkat Lunak"
version: "Versi"
metadata: "Metadata"
withNFiles: "{n} berkas"
@@ -233,6 +240,8 @@ blockedInstances: "Instansi terblokir"
blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
silencedInstances: "Instansi yang disenyapkan"
silencedInstancesDescription: "Daftar nama host dari instansi yang ingin kamu senyapkan. Semua akun dari instansi yang terdaftar akan diperlakukan sebagai disenyapkan. Hal ini membuat akun hanya dapat membuat permintaan mengikuti, dan tidak dapat menyebutkan akun lokal apabila tidak mengikuti. Hal ini tidak akan mempengaruhi instansi yang diblokir."
mediaSilencedInstances: "Server dengan media dibisukan"
mediaSilencedInstancesDescription: "Masukkan host server yang medianya ingin Anda bisukan, pisahkan dengan baris baru. Semua berkas dari akun di server ini akan dianggap sebagai sensitif dan emoji kustom tidak akan tersedia. Ini tidak akan membengaruhi server yang diblokir."
federationAllowedHosts: "Server yang membolehkan federasi"
muteAndBlock: "Bisukan / Blokir"
mutedUsers: "Pengguna yang dibisukan"
@@ -291,6 +300,7 @@ uploadFromUrlMayTakeTime: "Membutuhkan beberapa waktu hingga pengunggahan selesa
explore: "Jelajahi"
messageRead: "Telah dibaca"
noMoreHistory: "Tidak ada sejarah lagi"
startChat: "Kirim pesan"
nUsersRead: "Dibaca oleh {n}"
agreeTo: "Saya setuju kepada {0}"
agree: "Setuju"
@@ -390,7 +400,7 @@ enableHcaptcha: "Nyalakan hCaptcha"
hcaptchaSiteKey: "Site Key"
hcaptchaSecretKey: "Secret Key"
mcaptcha: "mCaptcha"
enableMcaptcha: "Nyalakan mCaptcha"
enableMcaptcha: ""
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret Key"
mcaptchaInstanceUrl: "URL instansi mCaptcha"
@@ -503,6 +513,7 @@ emojiStyle: "Gaya emoji"
native: "Native"
menuStyle: "Gaya menu"
style: "Gaya"
popup: "Pemunculan"
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
showReactionsCount: "Lihat jumlah reaksi dalam catatan"
noHistory: "Tidak ada riwayat"
@@ -559,6 +570,7 @@ showFixedPostForm: "Tampilkan form posting di atas lini masa"
showFixedPostFormInChannel: "Tampilkan form posting di atas lini masa (Kanal)"
withRepliesByDefaultForNewlyFollowed: "Termasuk balasan dari pengguna baru yang diikuti pada lini masa secara bawaan"
newNoteRecived: "Kamu mendapat catatan baru"
newNote: "Catatan baru"
sounds: "Bunyi"
sound: "Bunyi"
listen: "Dengarkan"
@@ -1021,6 +1033,7 @@ permissionDeniedError: "Operasi ditolak"
permissionDeniedErrorDescription: "Akun ini tidak memiliki izin untuk melakukan aksi ini."
preset: "Prasetel"
selectFromPresets: "Pilih dari prasetel"
custom: "Penyesuaian"
achievements: "Pencapaian"
gotInvalidResponseError: "Respon peladen tidak valid"
gotInvalidResponseErrorDescription: "Peladen tidak dapat dijangkau atau sedang dalam perawatan. Mohon coba lagi nanti."
@@ -1040,7 +1053,7 @@ disableFederationConfirmWarn: "Mematikan federasi tidak membuat kiriman menjadi
disableFederationOk: "Matikan federasi"
invitationRequiredToRegister: "Instansi ini dalam mode undangan-saja. Kamu harus memasukkan kode undangan yang valid untuk mendaftar."
emailNotSupported: "Instansi ini tidak mendukung mengirim surel"
postToTheChannel: "Catat ke kanal"
postToTheChannel: "Buat Catatan ke Kanal"
cannotBeChangedLater: "Hal ini nantinya tidak dapat diubah lagi."
reactionAcceptance: "Penerimaan reaksi"
likeOnly: "Hanya suka"
@@ -1103,6 +1116,7 @@ preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah de
createNoteFromTheFile: "Buat catatan dari berkas ini"
archive: "Arsipkan"
archived: "Diarsipkan"
unarchive: "Batalkan pengarsipan"
channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?"
channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi."
thisChannelArchived: "Kanal ini telah diarsipkan."
@@ -1205,7 +1219,6 @@ releaseToRefresh: "Lepaskan untuk memuat ulang"
refreshing: "Sedang memuat ulang..."
pullDownToRefresh: "Tarik ke bawah untuk memuat ulang"
useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan"
signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa."
cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan."
doReaction: "Tambahkan reaksi"
code: "Kode"
@@ -1245,6 +1258,7 @@ noDescription: "Tidak ada deskripsi"
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
inquiry: "Hubungi kami"
tryAgain: "Silahkan coba lagi."
sensitiveMediaRevealConfirm: "Media sensitif. Apakah ingin melihat?"
createdLists: "Senarai yang dibuat"
createdAntennas: "Antena yang dibuat"
fromX: "Dari {x}"
@@ -1252,18 +1266,52 @@ noteOfThisUser: "Catatan oleh pengguna ini"
clipNoteLimitExceeded: "Klip ini tak bisa ditambahi lagi catatan."
performance: "Kinerja"
modified: "Diubah"
discard: "Buang"
thereAreNChanges: "Ada {n} perubahan"
signinWithPasskey: "Masuk dengan kunci sandi"
unknownWebAuthnKey: "Kunci sandi tidak terdaftar."
passkeyVerificationFailed: "Verifikasi kunci sandi gagal."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "Verifikasi kunci sandi berhasil, namun pemasukan tanpa sandi dinonaktifkan."
messageToFollower: "Pesan kepada pengikut"
prohibitedWordsForNameOfUser: "Kata yang dilarang untuk nama pengguna"
lockdown: "Kuncitara"
noName: "Tidak ada nama"
skip: "Lewati"
paste: "Tempel"
emojiPalette: "Palet emoji"
postForm: "Buat catatan"
information: "Informasi"
chat: "Obrolan"
directMessage: "Obrolan pengguna"
right: "Kanan"
bottom: "Bawah"
top: "Atas"
advice: "Saran"
inMinutes: "menit"
inDays: "hari"
widgets: "Widget"
presets: "Prasetel"
_imageEditing:
_vars:
filename: "Nama berkas"
_imageFrameEditor:
header: "Header"
font: "Font"
fontSerif: "Serif"
fontSansSerif: "Sans-serif"
_chat:
invitations: "Undang"
history: "Riwayat obrolan"
noHistory: "Tidak ada riwayat"
members: "Anggota"
home: "Beranda"
send: "Kirim"
chatWithThisUser: "Obrolan pengguna"
_settings:
webhook: "Webhook"
contentsUpdateFrequency: "Frekuensi pembaruan konten"
_preferencesProfile:
profileName: "Nama profil"
_abuseUserReport:
accept: "Setuju"
reject: "Tolak"
@@ -1957,6 +2005,7 @@ _sfx:
noteMy: "Catatan (Saya)"
notification: "Notifikasi"
reaction: "Ketika memilih reaksi"
chatMessage: "Obrolan pengguna"
_soundSettings:
driveFile: "Menggunakan berkas audio dalam Drive"
driveFileWarn: "Pilih berkas audio dari Drive"
@@ -2159,6 +2208,15 @@ _widgets:
chooseList: "Pilih daftar"
clicker: "Pengeklik"
birthdayFollowings: "Pengguna yang merayakan hari ulang tahunnya hari ini"
chat: "Obrolan pengguna"
_widgetOptions:
height: "Tinggi"
_button:
colored: "Diwarnai"
_clock:
size: "Ukuran"
_birthdayFollowings:
period: "Durasi"
_cw:
hide: "Sembunyikan"
show: "Lihat konten"
@@ -2201,6 +2259,9 @@ _postForm:
replyPlaceholder: "Balas ke catatan ini..."
quotePlaceholder: "Kutip catatan ini..."
channelPlaceholder: "Posting ke kanal"
_howToUse:
visibility_title: "Visibilitas"
menu_title: "Menu"
_placeholders:
a: "Sedang apa kamu saat ini?"
b: "Apa yang terjadi di sekitarmu?"
@@ -2400,13 +2461,14 @@ _deck:
main: "Utama"
widgets: "Widget"
notifications: "Notifikasi"
tl: "Lini masa"
tl: "Beranda"
antenna: "Antena"
list: "Daftar"
channel: "Kanal"
mentions: "Sebutan"
direct: "Langsung"
roleTimeline: "Lini masa peran"
chat: "Obrolan pengguna"
_dialog:
charactersExceeded: "Kamu telah melebihi batas karakter maksimum! Saat ini pada {current} dari {max}."
charactersBelow: "Kamu berada di bawah batas minimum karakter! Saat ini pada {current} dari {min}."
@@ -2618,3 +2680,15 @@ _watermarkEditor:
image: "Gambar"
advanced: "Tingkat lanjut"
angle: "Sudut"
_imageEffector:
_fxProps:
angle: "Sudut"
scale: "Ukuran"
size: "Ukuran"
offset: "Posisi"
color: "Warna"
opacity: "Opasitas"
lightness: "Menerangkan"
_qr:
showTabTitle: "Tampilkan"
raw: "Teks"

View File

@@ -1,92 +0,0 @@
/**
* Languages Loader
*/
import * as fs from 'node:fs';
import * as yaml from 'js-yaml';
const merge = (...args) => args.reduce((a, c) => ({
...a,
...c,
...Object.entries(a)
.filter(([k]) => c && typeof c[k] === 'object')
.reduce((a, [k, v]) => (a[k] = merge(v, c[k]), a), {})
}), {});
const languages = [
'ar-SA',
'ca-ES',
'cs-CZ',
'da-DK',
'de-DE',
'en-US',
'es-ES',
'fr-FR',
'id-ID',
'it-IT',
'ja-JP',
'ja-KS',
'kab-KAB',
'kn-IN',
'ko-KR',
'nl-NL',
'no-NO',
'pl-PL',
'pt-PT',
'ru-RU',
'sk-SK',
'th-TH',
'ug-CN',
'uk-UA',
'vi-VN',
'zh-CN',
'zh-TW',
];
const primaries = {
'en': 'US',
'ja': 'JP',
'zh': 'CN',
};
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
export function build() {
// vitestの挙動を調整するため、一度ローカル変数化する必要がある
// https://github.com/vitest-dev/vitest/issues/3988#issuecomment-1686599577
// https://github.com/misskey-dev/misskey/pull/14057#issuecomment-2192833785
const metaUrl = import.meta.url;
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, metaUrl), 'utf-8'))) || {}, a), {});
// 空文字列が入ることがあり、フォールバックが動作しなくなるのでプロパティごと消す
const removeEmpty = (obj) => {
for (const [k, v] of Object.entries(obj)) {
if (v === '') {
delete obj[k];
} else if (typeof v === 'object') {
removeEmpty(v);
}
}
return obj;
};
removeEmpty(locales);
return Object.entries(locales)
.reduce((a, [k, v]) => (a[k] = (() => {
const [lang] = k.split('-');
switch (k) {
case 'ja-JP': return v;
case 'ja-KS':
case 'en-US': return merge(locales['ja-JP'], v);
default: return merge(
locales['ja-JP'],
locales['en-US'],
locales[`${lang}-${primaries[lang]}`] ?? {},
v
);
}
})(), a), {});
}
export default build();

File diff suppressed because it is too large Load Diff

View File

@@ -74,8 +74,8 @@ youGotNewFollower: "フォローされました"
receiveFollowRequest: "フォローリクエストされました"
followRequestAccepted: "フォローが承認されました"
mention: "メンション"
mentions: "あなた宛て"
directNotes: "ダイレクト投稿"
mentions: "メンション"
directNotes: "指名"
importAndExport: "インポートとエクスポート"
import: "インポート"
export: "エクスポート"
@@ -83,6 +83,8 @@ files: "ファイル"
download: "ダウンロード"
driveFileDeleteConfirm: "ファイル「{name}」を削除しますか?このファイルを使用した一部のコンテンツも削除されます。"
unfollowConfirm: "{name}のフォローを解除しますか?"
cancelFollowRequestConfirm: "{name}へのフォロー申請をキャンセルしますか?"
rejectFollowRequestConfirm: "{name}からのフォロー申請を拒否しますか?"
exportRequested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、「ドライブ」に追加されます。"
importRequested: "インポートをリクエストしました。これには時間がかかる場合があります。"
lists: "リスト"
@@ -182,7 +184,7 @@ flagAsCat: "にゃああああああああああああああ!!!!!!
flagAsCatDescription: "にゃにゃにゃ??"
flagShowTimelineReplies: "タイムラインにノートへの返信を表示する"
flagShowTimelineRepliesDescription: "オンにすると、タイムラインにユーザーのノート以外にもそのユーザーの他のノートへの返信を表示します。"
autoAcceptFollowed: "フォロー中ユーザーからのフォロリクを自動承認"
autoAcceptFollowed: "フォロー中ユーザーからのフォロー申請を自動承認"
addAccount: "アカウントを追加"
reloadAccountsList: "アカウントリストの情報を更新"
loginFailed: "ログインに失敗しました"
@@ -253,6 +255,7 @@ noteDeleteConfirm: "このノートを削除しますか?"
pinLimitExceeded: "これ以上ピン留めできません"
done: "完了"
processing: "処理中"
preprocessing: "準備中"
preview: "プレビュー"
default: "デフォルト"
defaultValueIs: "デフォルト: {value}"
@@ -301,8 +304,9 @@ uploadFromUrlMayTakeTime: "アップロードが完了するまで時間がか
uploadNFiles: "{n}個のファイルをアップロード"
explore: "みつける"
messageRead: "既読"
readAllChatMessages: "すべてのメッセージを既読にする"
noMoreHistory: "これより過去の履歴はありません"
startChat: "チャットを始める"
startChat: "メッセージを送る"
nUsersRead: "{n}人が読みました"
agreeTo: "{0}に同意"
agree: "同意する"
@@ -333,6 +337,7 @@ fileName: "ファイル名"
selectFile: "ファイルを選択"
selectFiles: "ファイルを選択"
selectFolder: "フォルダーを選択"
unselectFolder: "フォルダーの選択を解除"
selectFolders: "フォルダーを選択"
fileNotSelected: "ファイルが選択されていません"
renameFile: "ファイル名を変更"
@@ -345,6 +350,7 @@ addFile: "ファイルを追加"
showFile: "ファイルを表示"
emptyDrive: "ドライブは空です"
emptyFolder: "フォルダーは空です"
dropHereToUpload: "ここにファイルをドロップしてアップロード"
unableToDelete: "削除できません"
inputNewFileName: "新しいファイル名を入力してください"
inputNewDescription: "新しいキャプションを入力してください"
@@ -477,7 +483,7 @@ notFoundDescription: "指定されたURLに該当するページはありませ
uploadFolder: "既定アップロード先"
markAsReadAllNotifications: "すべての通知を既読にする"
markAsReadAllUnreadNotes: "すべての投稿を既読にする"
markAsReadAllTalkMessages: "すべてのチャットを既読にする"
markAsReadAllTalkMessages: "すべてのダイレクトメッセージを既読にする"
help: "ヘルプ"
inputMessageHere: "ここにメッセージを入力"
close: "閉じる"
@@ -537,6 +543,7 @@ regenerate: "再生成"
fontSize: "フォントサイズ"
mediaListWithOneImageAppearance: "画像が1枚のみのメディアリストの高さ"
limitTo: "{x}を上限に"
showMediaListByGridInWideArea: "画面幅が広いときはメディアリストを横並びで表示する"
noFollowRequests: "フォロー申請はありません"
openImageInNewTab: "画像を新しいタブで開く"
dashboard: "ダッシュボード"
@@ -637,8 +644,8 @@ addRelay: "リレーの追加"
inboxUrl: "inboxのURL"
addedRelays: "追加済みのリレー"
serviceworkerInfo: "プッシュ通知を行うには有効にする必要があります。"
deletedNote: "削除された投稿"
invisibleNote: "非公開の投稿"
deletedNote: "削除されたノート"
invisibleNote: "非公開のノート"
enableInfiniteScroll: "自動でもっと見る"
visibility: "公開範囲"
poll: "アンケート"
@@ -772,6 +779,7 @@ lockedAccountInfo: "フォローを承認制にしても、ノートの公開範
alwaysMarkSensitive: "デフォルトでメディアをセンシティブ設定にする"
loadRawImages: "添付画像のサムネイルをオリジナル画質にする"
disableShowingAnimatedImages: "アニメーション画像を再生しない"
disableShowingAnimatedImages_caption: "この設定に関わらずアニメーション画像が再生されないときは、ブラウザ・OSのアクセシビリティ設定や省電力設定等が干渉している場合があります。"
highlightSensitiveMedia: "メディアがセンシティブであることを分かりやすく表示"
verificationEmailSent: "確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。"
notSet: "未設定"
@@ -1018,6 +1026,9 @@ pushNotificationAlreadySubscribed: "プッシュ通知は有効です"
pushNotificationNotSupported: "ブラウザかサーバーがプッシュ通知に非対応"
sendPushNotificationReadMessage: "通知が既読になったらプッシュ通知を削除する"
sendPushNotificationReadMessageCaption: "端末の電池消費量が増加する可能性があります。"
pleaseAllowPushNotification: "ブラウザの通知設定を許可してください"
browserPushNotificationDisabled: "通知の送信権限の取得に失敗しました"
browserPushNotificationDisabledDescription: "{serverName}から通知を送信する権限がありません。ブラウザの設定から通知を許可して再度お試しください。"
windowMaximize: "最大化"
windowMinimize: "最小化"
windowRestore: "元に戻す"
@@ -1054,6 +1065,7 @@ permissionDeniedError: "操作が拒否されました"
permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。"
preset: "プリセット"
selectFromPresets: "プリセットから選択"
custom: "カスタム"
achievements: "実績"
gotInvalidResponseError: "サーバーの応答が無効です"
gotInvalidResponseErrorDescription: "サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから再度お試しください。"
@@ -1092,6 +1104,7 @@ prohibitedWordsDescription2: "スペースで区切るとAND指定になり、
hiddenTags: "非表示ハッシュタグ"
hiddenTagsDescription: "設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。"
notesSearchNotAvailable: "ノート検索は利用できません。"
usersSearchNotAvailable: "ユーザー検索は利用できません。"
license: "ライセンス"
unfavoriteConfirm: "お気に入り解除しますか?"
myClips: "自分のクリップ"
@@ -1166,6 +1179,7 @@ installed: "インストール済み"
branding: "ブランディング"
enableServerMachineStats: "サーバーのマシン情報を公開する"
enableIdenticonGeneration: "ユーザーごとのIdenticon生成を有効にする"
showRoleBadgesOfRemoteUsers: "リモートユーザーに付与したロールバッジを表示する"
turnOffToImprovePerformance: "オフにするとパフォーマンスが向上します。"
createInviteCode: "招待コードを作成"
createWithOptions: "オプションを指定して作成"
@@ -1243,7 +1257,7 @@ releaseToRefresh: "離してリロード"
refreshing: "リロード中"
pullDownToRefresh: "引っ張ってリロード"
useGroupedNotifications: "通知をグルーピング"
signupPendingError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
emailVerificationFailedError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
cwNotationRequired: "「内容を隠す」がオンの場合は注釈の記述が必要です。"
doReaction: "リアクションする"
code: "コード"
@@ -1303,7 +1317,7 @@ messageToFollower: "フォロワーへのメッセージ"
target: "対象"
testCaptchaWarning: "CAPTCHAのテストを目的とした機能です。<strong>本番環境で使用しないでください。</strong>"
prohibitedWordsForNameOfUser: "禁止ワード(ユーザーの名前)"
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。"
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。ユーザー名(username)に対しても全て小文字に置き換えて検査します。"
yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています"
yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者により、表示にはログインが必要と設定されています"
@@ -1314,6 +1328,7 @@ acknowledgeNotesAndEnable: "注意事項を理解した上でオンにします
federationSpecified: "このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。"
federationDisabled: "このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。"
draft: "下書き"
draftsAndScheduledNotes: "下書きと予約投稿"
confirmOnReact: "リアクションする際に確認する"
reactAreYouSure: "\" {emoji} \" をリアクションしますか?"
markAsSensitiveConfirm: "このメディアをセンシティブとして設定しますか?"
@@ -1341,6 +1356,8 @@ postForm: "投稿フォーム"
textCount: "文字数"
information: "情報"
chat: "チャット"
directMessage: "ダイレクトメッセージ"
directMessage_short: "メッセージ"
migrateOldSettings: "旧設定情報を移行"
migrateOldSettings_description: "通常これは自動で行われていますが、何らかの理由により上手く移行されなかった場合は手動で移行処理をトリガーできます。現在の設定情報は上書きされます。"
compress: "圧縮"
@@ -1368,53 +1385,130 @@ redisplayAllTips: "全ての「ヒントとコツ」を再表示"
hideAllTips: "全ての「ヒントとコツ」を非表示"
defaultImageCompressionLevel: "デフォルトの画像圧縮度"
defaultImageCompressionLevel_description: "低くすると画質を保てますが、ファイルサイズは増加します。<br>高くするとファイルサイズを減らせますが、画質は低下します。"
defaultCompressionLevel: "デフォルトの圧縮度"
defaultCompressionLevel_description: "低くすると品質を保てますが、ファイルサイズは増加します。<br>高くするとファイルサイズを減らせますが、品質は低下します。"
inMinutes: "分"
inDays: "日"
safeModeEnabled: "セーフモードが有効です"
pluginsAreDisabledBecauseSafeMode: "セーフモードが有効なため、プラグインはすべて無効化されています。"
customCssIsDisabledBecauseSafeMode: "セーフモードが有効なため、カスタムCSSは適用されていません。"
themeIsDefaultBecauseSafeMode: "セーフモードが有効な間はデフォルトのテーマが使用されます。セーフモードをオフにすると元に戻ります。"
thankYouForTestingBeta: "ベータ版の検証にご協力いただきありがとうございます!"
createUserSpecifiedNote: "ユーザー指定ノートを作成"
schedulePost: "投稿を予約"
scheduleToPostOnX: "{x}に投稿を予約します"
scheduledToPostOnX: "{x}に投稿が予約されています"
schedule: "予約"
scheduled: "予約"
widgets: "ウィジェット"
deviceInfo: "デバイス情報"
deviceInfoDescription: "技術的なお問い合わせの際に、以下の情報を併記すると問題の解決に役立つことがあります。"
youAreAdmin: "あなたは管理者です"
frame: "フレーム"
presets: "プリセット"
zeroPadding: "ゼロ埋め"
nothingToConfigure: "設定項目はありません"
viewRenotedChannel: "リノート先のチャンネルを見る"
_imageEditing:
_vars:
caption: "ファイルのキャプション"
filename: "ファイル名"
filename_without_ext: "拡張子無しファイル名"
year: "撮影年"
month: "撮影月"
day: "撮影日"
hour: "撮影した時刻(時)"
minute: "撮影した時刻(分)"
second: "撮影した時刻(秒)"
camera_model: "カメラ名"
camera_lens_model: "レンズ名"
camera_mm: "焦点距離"
camera_mm_35: "焦点距離(35mm判換算)"
camera_f: "絞り"
camera_s: "シャッタースピード"
camera_iso: "ISO感度"
gps_lat: "緯度"
gps_long: "経度"
_imageFrameEditor:
title: "フレームの編集"
tip: "画像にフレームやメタデータを含んだラベルを追加して装飾できます。"
header: "ヘッダー"
footer: "フッター"
borderThickness: "フチの幅"
labelThickness: "ラベルの幅"
labelScale: "ラベルのスケール"
centered: "中央揃え"
captionMain: "キャプション(大)"
captionSub: "キャプション(小)"
availableVariables: "利用可能な変数"
withQrCode: "二次元コード"
backgroundColor: "背景色"
textColor: "文字色"
font: "フォント"
fontSerif: "セリフ"
fontSansSerif: "サンセリフ"
quitWithoutSaveConfirm: "保存せずに終了しますか?"
failedToLoadImage: "画像の読み込みに失敗しました"
_compression:
_quality:
high: "高品質"
medium: "中品質"
low: "低品質"
_size:
large: "サイズ大"
medium: "サイズ中"
small: "サイズ小"
_order:
newest: "新しい順"
oldest: "古い順"
_chat:
messages: "メッセージ"
noMessagesYet: "まだメッセージはありません"
newMessage: "新しいメッセージ"
individualChat: "個人チャット"
individualChat_description: "特定ユーザーとの一対一のチャットができます。"
roomChat: "ルームチャット"
roomChat_description: "複数人でのチャットができます。\nまた、個人チャットを許可していないユーザーとでも、相手が受け入れればチャットができます。"
createRoom: "ルーを作成"
inviteUserToChat: "ユーザーを招待してチャットを始めましょう"
yourRooms: "作成したルー"
joiningRooms: "参加中のルー"
individualChat: "個"
individualChat_description: "特定ユーザーと個別にメッセージのやりとりができます。"
roomChat: "ルー"
roomChat_description: "複数人でメッセージのやりとりができます。\nまた、個別のメッセージを許可していないユーザーとでも、相手が受け入れればやりとりできます。"
createRoom: "ルーを作成"
inviteUserToChat: "ユーザーを招待してメッセージを送信しましょう"
yourRooms: "作成したルー"
joiningRooms: "参加中のルー"
invitations: "招待"
noInvitations: "招待はありません"
history: "履歴"
noHistory: "履歴はありません"
noRooms: "ルーはありません"
noRooms: "ルーはありません"
inviteUser: "ユーザーを招待"
sentInvitations: "送信した招待"
join: "参加"
ignore: "無視"
leave: "ルーから退出"
leave: "ルーから退出"
members: "メンバー"
searchMessages: "メッセージを検索"
home: "ホーム"
send: "送信"
newline: "改行"
muteThisRoom: "このルーをミュート"
deleteRoom: "ルーを削除"
chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは有効化されていません。"
chatIsReadOnlyForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは読み取り専用となっています。新たに書き込んだり、チャットルーを作成・参加したりすることはできません。"
chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えない状態になっています。"
cannotChatWithTheUser: "このユーザーとのチャットを開始できません"
cannotChatWithTheUser_description: "チャットが使えない状態になっているか、相手がチャットを開放していません。"
youAreNotAMemberOfThisRoomButInvited: "あなたはこのルーの参加者ではありませんが、招待が届いています。参加するには、招待を承認してください。"
muteThisRoom: "このルーをミュート"
deleteRoom: "ルーを削除"
chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでダイレクトメッセージは有効化されていません。"
chatIsReadOnlyForThisAccountOrServer: "このサーバー、またはこのアカウントでダイレクトメッセージは読み取り専用となっています。新たに書き込んだり、ルーを作成・参加したりすることはできません。"
chatNotAvailableInOtherAccount: "相手のアカウントでダイレクトメッセージが使えない状態になっています。"
cannotChatWithTheUser: "このユーザーとのダイレクトメッセージを開始できません"
cannotChatWithTheUser_description: "ダイレクトメッセージが使えない状態になっているか、相手がダイレクトメッセージを開放していません。"
youAreNotAMemberOfThisRoomButInvited: "あなたはこのルーの参加者ではありませんが、招待が届いています。参加するには、招待を承認してください。"
doYouAcceptInvitation: "招待を承認しますか?"
chatWithThisUser: "チャットする"
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのみチャットを受け付けています。"
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしているユーザーからのみチャットを受け付けています。"
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのみチャットを受け付けています。"
thisUserNotAllowedChatAnyone: "このユーザーは誰からもチャットを受け付けていません。"
chatAllowedUsers: "チャットを許可する相手"
chatAllowedUsers_note: "自分からチャットメッセージを送った相手とはこの設定に関わらずチャットが可能です。"
chatWithThisUser: "ダイレクトメッセージ"
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのみメッセージを受け付けています。"
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしているユーザーからのみメッセージを受け付けています。"
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのみメッセージを受け付けています。"
thisUserNotAllowedChatAnyone: "このユーザーは誰からもメッセージを受け付けていません。"
chatAllowedUsers: "メッセージを許可する相手"
chatAllowedUsers_note: "自分からメッセージを送った相手とはこの設定に関わらずメッセージの送受信が可能です。"
_chatAllowedUsers:
everyone: "誰でも"
followers: "自分のフォロワーのみ"
@@ -1463,6 +1557,12 @@ _settings:
contentsUpdateFrequency_description2: "リアルタイムモードがオンのときは、この設定に関わらずリアルタイムでコンテンツが更新されます。"
showUrlPreview: "URLプレビューを表示する"
showAvailableReactionsFirstInNote: "利用できるリアクションを先頭に表示"
showPageTabBarBottom: "ページのタブバーを下部に表示"
emojiPaletteBanner: "絵文字ピッカーに固定表示するプリセットをパレットとして登録したり、ピッカーの表示方法をカスタマイズしたりできます。"
enableAnimatedImages: "アニメーション画像を有効にする"
settingsPersistence_title: "設定の永続化"
settingsPersistence_description1: "設定の永続化を有効にすると、設定情報が失われるのを防止できます。"
settingsPersistence_description2: "環境によっては有効化できない場合があります。"
_chat:
showSenderName: "送信者の名前を表示"
@@ -1473,6 +1573,8 @@ _preferencesProfile:
profileNameDescription: "このデバイスを識別する名前を設定してください。"
profileNameDescription2: "例: 「メインPC」、「スマホ」など"
manageProfiles: "プロファイルの管理"
shareSameProfileBetweenDevicesIsNotRecommended: "複数のデバイスで同一のプロファイルを共有することは推奨しません。"
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "複数のデバイスで同期したい設定項目が存在する場合は、個別に「複数のデバイスで同期」オプションを有効にしてください。"
_preferencesBackup:
autoBackup: "自動バックアップ"
@@ -1483,6 +1585,7 @@ _preferencesBackup:
youNeedToNameYourProfileToEnableAutoBackup: "自動バックアップを有効にするにはプロファイル名の設定が必要です。"
autoPreferencesBackupIsNotEnabledForThisDevice: "このデバイスで設定の自動バックアップは有効になっていません。"
backupFound: "設定のバックアップが見つかりました"
forceBackup: "設定の強制バックアップ"
_accountSettings:
requireSigninToViewContents: "コンテンツの表示にログインを必須にする"
@@ -1603,9 +1706,9 @@ _initialTutorial:
public: "すべてのユーザーに公開。"
home: "ホームタイムラインのみに公開。フォロワー・プロフィールを見に来た人・リノートから、他のユーザーも見ることができます。"
followers: "フォロワーにのみ公開。本人以外がリノートすることはできず、またフォロワー以外は閲覧できません。"
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。ダイレクトメッセージのかわりにお使いいただけます。"
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。"
doNotSendConfidencialOnDirect1: "機密情報は送信する際は注意してください。"
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーにダイレクト投稿を送信する場合は、機密情報の扱いに注意が必要です。"
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーが含まれる限定公開のノートを作成する際は、機密情報の扱いに注意が必要です。"
localOnly: "他のサーバーに投稿を連合しません。上記の公開範囲に関わらず、他のサーバーのユーザーは、この設定がついたノートを直接閲覧することができなくなります。"
_cw:
title: "内容を隠すCW"
@@ -1649,6 +1752,10 @@ _serverSettings:
fanoutTimelineDbFallback: "データベースへのフォールバック"
fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。"
reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。"
remoteNotesCleaning: "リモート投稿の自動クリーニング"
remoteNotesCleaning_description: "有効にすると、一定期間経過したリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑制します。"
remoteNotesCleaningMaxProcessingDuration: "最大クリーニング処理継続時間"
remoteNotesCleaningExpiryDaysForEachNotes: "最低ノート保持日数"
inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。"
openRegistration: "アカウントの作成をオープンにする"
@@ -1667,6 +1774,11 @@ _serverSettings:
userGeneratedContentsVisibilityForVisitor: "非利用者に対するユーザー作成コンテンツの公開範囲"
userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます。"
userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受信したリモートのコンテンツを含め、サーバー内の全てのコンテンツを無条件でインターネットに公開することはリスクが伴います。特に、分散型の特性を知らない閲覧者にとっては、リモートのコンテンツであってもサーバー内で作成されたコンテンツであると誤って認識してしまう可能性があるため、注意が必要です。"
restartServerSetupWizardConfirm_title: "サーバーの初期設定ウィザードをやり直しますか?"
restartServerSetupWizardConfirm_text: "現在の一部の設定はリセットされます。"
entrancePageStyle: "エントランスページのスタイル"
showTimelineForVisitor: "タイムラインを表示する"
showActivitiesForVisitor: "アクティビティを表示する"
_userGeneratedContentsVisibilityForVisitor:
all: "全て公開"
@@ -1993,6 +2105,7 @@ _role:
canManageAvatarDecorations: "アバターデコレーションの管理"
driveCapacity: "ドライブ容量"
maxFileSize: "アップロード可能な最大ファイルサイズ"
maxFileSize_caption: "リバースプロキシやCDNなど、前段で別の設定値が存在する場合があります。"
alwaysMarkNsfw: "ファイルにNSFWを常に付与"
canUpdateBioMedia: "アイコンとバナーの更新を許可"
pinMax: "ノートのピン留めの最大数"
@@ -2007,6 +2120,7 @@ _role:
descriptionOfRateLimitFactor: "小さいほど制限が緩和され、大きいほど制限が強化されます。"
canHideAds: "広告の非表示"
canSearchNotes: "ノート検索の利用"
canSearchUsers: "ユーザー検索の利用"
canUseTranslator: "翻訳機能の利用"
avatarDecorationLimit: "アイコンデコレーションの最大取付個数"
canImportAntennas: "アンテナのインポートを許可"
@@ -2014,11 +2128,13 @@ _role:
canImportFollowing: "フォローのインポートを許可"
canImportMuting: "ミュートのインポートを許可"
canImportUserLists: "リストのインポートを許可"
chatAvailability: "チャットを許可"
chatAvailability: "ダイレクトメッセージを許可"
uploadableFileTypes: "アップロード可能なファイル種別"
uploadableFileTypes_caption: "MIMEタイプを指定します。改行で区切って複数指定できるほか、アスタリスク(*)でワイルドカード指定できます。(例: image/*)"
uploadableFileTypes_caption2: "ファイルによっては種別を判定できないことがあります。そのようなファイルを許可する場合は {x} を指定に追加してください。"
noteDraftLimit: "サーバーサイドのノートの下書きの作成可能数"
scheduledNoteLimit: "予約投稿の同時作成可能数"
watermarkAvailable: "ウォーターマーク機能の使用可否"
_condition:
roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー"
@@ -2260,7 +2376,7 @@ _theme:
buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り"
badge: "バッジ"
messageBg: "チャットの背景"
messageBg: "メッセージの背景"
fgHighlighted: "強調された文字"
_sfx:
@@ -2268,7 +2384,7 @@ _sfx:
noteMy: "ノート(自分)"
notification: "通知"
reaction: "リアクション選択時"
chatMessage: "チャットのメッセージ"
chatMessage: "ダイレクトメッセージ"
_soundSettings:
driveFile: "ドライブの音声を使用"
@@ -2305,6 +2421,7 @@ _time:
minute: "分"
hour: "時間"
day: "日"
month: "ヶ月"
_2fa:
alreadyRegistered: "既に設定は完了しています。"
@@ -2347,8 +2464,8 @@ _permissions:
"write:favorites": "お気に入りを操作する"
"read:following": "フォローの情報を見る"
"write:following": "フォロー・フォロー解除する"
"read:messaging": "チャットを見る"
"write:messaging": "チャットを操作する"
"read:messaging": "ダイレクトメッセージを見る"
"write:messaging": "ダイレクトメッセージを操作する"
"read:mutes": "ミュートを見る"
"write:mutes": "ミュートを操作する"
"write:notes": "ノートを作成・削除する"
@@ -2421,8 +2538,8 @@ _permissions:
"read:clip-favorite": "クリップのいいねを見る"
"read:federation": "連合に関する情報を取得する"
"write:report-abuse": "違反を報告する"
"write:chat": "チャットを操作する"
"read:chat": "チャットを閲覧する"
"write:chat": "ダイレクトメッセージを操作する"
"read:chat": "ダイレクトメッセージを閲覧する"
_auth:
shareAccessTitle: "アプリへのアクセス許可"
@@ -2437,6 +2554,7 @@ _auth:
scopeUser: "以下のユーザーとして操作しています"
pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。"
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許可すると、自動で以下のURLに遷移します"
alreadyAuthorized: "このアプリケーションは既にアクセスが許可されています。"
_antennaSources:
all: "全てのノート"
@@ -2484,8 +2602,47 @@ _widgets:
_userList:
chooseList: "リストを選択"
clicker: "クリッカー"
birthdayFollowings: "今日誕生日のユーザー"
chat: "チャット"
birthdayFollowings: "もうすぐ誕生日のユーザー"
chat: "ダイレクトメッセージ"
_widgetOptions:
showHeader: "ヘッダーを表示"
transparent: "背景を透明にする"
height: "高さ"
_button:
colored: "色付き"
_clock:
size: "サイズ"
thickness: "針の太さ"
thicknessThin: "細い"
thicknessMedium: "普通"
thicknessThick: "太い"
graduations: "文字盤の目盛り"
graduationDots: "ドット"
graduationArabic: "アラビア数字"
fadeGraduations: "目盛りをフェード"
sAnimation: "秒針のアニメーション"
sAnimationElastic: "リアル"
sAnimationEaseOut: "滑らか"
twentyFour: "24時間表示"
labelTime: "時刻"
labelTz: "タイムゾーン"
labelTimeAndTz: "時刻とタイムゾーン"
timezone: "タイムゾーン"
showMs: "ミリ秒を表示"
showLabel: "ラベルを表示"
_jobQueue:
sound: "音を鳴らす"
_rss:
url: "RSSフィードのURL"
refreshIntervalSec: "更新間隔(秒)"
maxEntries: "最大表示件数"
_rssTicker:
shuffle: "表示順をシャッフル"
duration: "ティッカーのスクロール速度(秒)"
reverse: "逆方向にスクロール"
_birthdayFollowings:
period: "期間"
_cw:
hide: "隠す"
@@ -2523,7 +2680,7 @@ _visibility:
homeDescription: "ホームタイムラインのみに公開"
followers: "フォロワー"
followersDescription: "自分のフォロワーのみに公開"
specified: "ダイレクト"
specified: "指名"
specifiedDescription: "指定したユーザーのみに公開"
disableFederation: "連合なし"
disableFederationDescription: "他サーバーへの配信を行いません"
@@ -2534,6 +2691,20 @@ _postForm:
replyPlaceholder: "このノートに返信..."
quotePlaceholder: "このノートを引用..."
channelPlaceholder: "チャンネルに投稿..."
showHowToUse: "フォームの説明を表示"
_howToUse:
content_title: "本文"
content_description: "投稿する内容を入力します。"
toolbar_title: "ツールバー"
toolbar_description: "ファイルやアンケートの添付、注釈やハッシュタグの設定、絵文字やメンションの挿入などが行えます。"
account_title: "アカウントメニュー"
account_description: "投稿するアカウントを切り替えたり、アカウントに保存した下書き・予約投稿を一覧できます。"
visibility_title: "公開範囲"
visibility_description: "ノートを公開する範囲の設定が行えます。"
menu_title: "メニュー"
menu_description: "下書きへの保存、投稿の予約、リアクションの設定など、その他のアクションが行えます。"
submit_title: "投稿ボタン"
submit_description: "ートを投稿します。Ctrl + Enter / Cmd + Enter でも投稿できます。"
_placeholders:
a: "いまどうしてる?"
b: "何かありましたか?"
@@ -2689,10 +2860,12 @@ _notification:
youReceivedFollowRequest: "フォローリクエストが来ました"
yourFollowRequestAccepted: "フォローリクエストが承認されました"
pollEnded: "アンケートの結果が出ました"
scheduledNotePosted: "予約ノートが投稿されました"
scheduledNotePostFailed: "予約ノートの投稿に失敗しました"
newNote: "新しい投稿"
unreadAntennaNote: "アンテナ {name}"
roleAssigned: "ロールが付与されました"
chatRoomInvitationReceived: "チャットルーへ招待されました"
chatRoomInvitationReceived: "ダイレクトメッセージのグルーへ招待されました"
emptyPushNotificationMessage: "プッシュ通知の更新をしました"
achievementEarned: "実績を獲得"
testNotification: "通知テスト"
@@ -2719,10 +2892,12 @@ _notification:
quote: "引用"
reaction: "リアクション"
pollEnded: "アンケートが終了"
scheduledNotePosted: "予約投稿が成功した"
scheduledNotePostFailed: "予約投稿が失敗した"
receiveFollowRequest: "フォロー申請を受け取った"
followRequestAccepted: "フォローが受理された"
roleAssigned: "ロールが付与された"
chatRoomInvitationReceived: "チャットルーへ招待された"
chatRoomInvitationReceived: "ダイレクトメッセージのグルーへ招待された"
achievementEarned: "実績の獲得"
exportCompleted: "エクスポートが完了した"
login: "ログイン"
@@ -2760,6 +2935,15 @@ _deck:
usedAsMinWidthWhenFlexible: "「幅を自動調整」が有効の場合、これが幅の最小値となります"
flexible: "幅を自動調整"
enableSyncBetweenDevicesForProfiles: "プロファイル情報のデバイス間同期を有効にする"
showHowToUse: "UIの説明を見る"
_howToUse:
addColumn_title: "カラム追加"
addColumn_description: "カラムの種類を選んで追加できます。"
settings_title: "UI設定"
settings_description: "デッキUIの詳細設定を行えます。"
switchProfile_title: "プロファイル切り替え"
switchProfile_description: "UIのレイアウトをプロファイルとして保存し、いつでも切り替えられるようにできます。"
_columns:
main: "メイン"
@@ -2769,10 +2953,10 @@ _deck:
antenna: "アンテナ"
list: "リスト"
channel: "チャンネル"
mentions: "あなた宛て"
direct: "ダイレクト"
mentions: "メンション"
direct: "指名"
roleTimeline: "ロールタイムライン"
chat: "チャット"
chat: "ダイレクトメッセージ"
_dialog:
charactersExceeded: "最大文字数を超えています! 現在 {current} / 制限 {max}"
@@ -2827,6 +3011,8 @@ _abuseReport:
deleteConfirm: "通知先を削除しますか?"
_moderationLogTypes:
clearQueue: "ジョブキューをクリア"
promoteQueue: "キューのジョブを再試行"
createRole: "ロールを作成"
deleteRole: "ロールを削除"
updateRole: "ロールを更新"
@@ -2875,7 +3061,7 @@ _moderationLogTypes:
deletePage: "ページを削除"
deleteFlash: "Playを削除"
deleteGalleryPost: "ギャラリーの投稿を削除"
deleteChatRoom: "チャットルーを削除"
deleteChatRoom: "ダイレクトメッセージのグルーを削除"
updateProxyAccountDescription: "プロキシアカウントの説明を更新"
_fileViewer:
@@ -2885,6 +3071,7 @@ _fileViewer:
url: "URL"
uploadedAt: "追加日"
attachedNotes: "添付されているノート"
usage: "利用"
thisPageCanBeSeenFromTheAuthor: "このページは、このファイルをアップロードしたユーザーしか閲覧できません。"
_externalResourceInstaller:
@@ -3154,6 +3341,7 @@ _bootErrors:
otherOption1: "クライアント設定とキャッシュを削除"
otherOption2: "簡易クライアントを起動"
otherOption3: "修復ツールを起動"
otherOption4: "Misskeyをセーフモードで起動"
_search:
searchScopeAll: "全て"
@@ -3192,6 +3380,8 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "分散型サーバーで構成されるネットワーク(Fediverse)に接続すると、他のサーバーと相互にコンテンツのやり取りが可能です。"
doYouConnectToFediverse_description2: "Fediverseと接続することは「連合」とも呼ばれます。"
youCanConfigureMoreFederationSettingsLater: "連合可能なサーバーの指定など、高度な設定も後ほど可能です。"
remoteContentsCleaning: "リモートコンテンツの自動クリーニング"
remoteContentsCleaning_description: "連合を行うと、継続して多くのコンテンツを受信します。自動クリーニングを有効にすると、一定期間経過したリモートコンテンツを自動でサーバーから削除し、ストレージを節約できます。"
adminInfo: "管理者情報"
adminInfo_description: "問い合わせを受け付けるために使用される管理者情報を設定します。"
adminInfo_mustBeFilled: "オープンサーバー、または連合がオンの場合は必ず入力が必要です。"
@@ -3235,24 +3425,27 @@ _userLists:
watermark: "ウォーターマーク"
defaultPreset: "デフォルトのプリセット"
_watermarkEditor:
tip: "画像にクレジット情報などのウォーターマークを追加することができます。"
tip: "画像にクレジット情報などのウォーターマークを追加できます。"
quitWithoutSaveConfirm: "保存せずに終了しますか?"
driveFileTypeWarn: "このファイルは対応していません"
driveFileTypeWarnDescription: "画像ファイルを選択してください"
title: "ウォーターマークの編集"
cover: "全体に被せる"
repeat: "敷き詰める"
preserveBoundingRect: "回転時はみ出ないように調整する"
opacity: "不透明度"
scale: "サイズ"
text: "テキスト"
qr: "二次元コード"
position: "位置"
margin: "マージン"
type: "タイプ"
image: "画像"
advanced: "高度"
angle: "角度"
stripe: "ストライプ"
stripeWidth: "ラインの幅"
stripeFrequency: "ラインの数"
angle: "角度"
polkadot: "ポルカドット"
checker: "チェッカー"
polkadotMainDotOpacity: "メインドットの不透明度"
@@ -3260,11 +3453,14 @@ _watermarkEditor:
polkadotSubDotOpacity: "サブドットの不透明度"
polkadotSubDotRadius: "サブドットの大きさ"
polkadotSubDotDivisions: "サブドットの数"
leaveBlankToAccountUrl: "空欄にするとアカウントのURLになります"
failedToLoadImage: "画像の読み込みに失敗しました"
_imageEffector:
title: "エフェクト"
addEffect: "エフェクトを追加"
discardChangesConfirm: "変更を破棄して終了しますか?"
failedToLoadImage: "画像の読み込みに失敗しました"
_fxs:
chromaticAberration: "色収差"
@@ -3272,6 +3468,8 @@ _imageEffector:
mirror: "ミラー"
invert: "色の反転"
grayscale: "白黒"
blur: "ぼかし"
pixelate: "モザイク"
colorAdjust: "色調補正"
colorClamp: "色の圧縮"
colorClampAdvanced: "色の圧縮(高度)"
@@ -3283,12 +3481,48 @@ _imageEffector:
checker: "チェッカー"
blockNoise: "ブロックノイズ"
tearing: "ティアリング"
fill: "塗りつぶし"
_fxProps:
angle: "角度"
scale: "サイズ"
size: "サイズ"
radius: "半径"
samples: "サンプル数"
offset: "位置"
color: "色"
opacity: "不透明度"
normalize: "正規化"
amount: "量"
lightness: "明るさ"
contrast: "コントラスト"
hue: "色相"
brightness: "輝度"
saturation: "彩度"
max: "最大値"
min: "最小値"
direction: "方向"
phase: "位相"
frequency: "頻度"
strength: "強さ"
glitchChannelShift: "ズレ"
seed: "シード値"
redComponent: "赤色成分"
greenComponent: "緑色成分"
blueComponent: "青色成分"
threshold: "しきい値"
centerX: "中心X"
centerY: "中心Y"
density: "密度"
zoomLinesOutlineThickness: "線の影の太さ"
zoomLinesMaskSize: "中心径"
circle: "円形"
drafts: "下書き"
_drafts:
select: "下書きを選択"
cannotCreateDraftAnymore: "下書きの作成可能数を超えています。"
cannotCreateDraftOfRenote: "リノートの下書き作成できません。"
cannotCreateDraft: "この内容では下書き作成できません。"
delete: "下書きを削除"
deleteAreYouSure: "下書きを削除しますか?"
noDrafts: "下書きはありません"
@@ -3299,3 +3533,23 @@ _drafts:
restoreFromDraft: "下書きから復元"
restore: "復元"
listDrafts: "下書き一覧"
schedule: "投稿予約"
listScheduledNotes: "予約投稿一覧"
cancelSchedule: "予約解除"
qr: "二次元コード"
_qr:
showTabTitle: "表示"
readTabTitle: "読み取る"
shareTitle: "{name} {acct}"
shareText: "Fediverseで私をフォローしてください"
chooseCamera: "カメラを選択"
cannotToggleFlash: "ライト選択不可"
turnOnFlash: "ライトをオンにする"
turnOffFlash: "ライトをオフにする"
startQr: "コードリーダーを再開"
stopQr: "コードリーダーを停止"
noQrCodeFound: "QRコードが見つかりません"
scanFile: "端末の画像をスキャン"
raw: "テキスト"
mfm: "MFM"

View File

@@ -220,6 +220,7 @@ silenceThisInstance: "サーバーサイレンスすんで?"
mediaSilenceThisInstance: "サーバーをメディアサイレンス"
operations: "操作"
software: "ソフトウェア"
softwareName: "ソフトウェア名"
version: "バージョン"
metadata: "メタデータ"
withNFiles: "{n}個のファイル"
@@ -252,6 +253,7 @@ noteDeleteConfirm: "このノートをほかしてええか?"
pinLimitExceeded: "これ以上ピン留めできひん"
done: "でけた"
processing: "処理しとる"
preprocessing: "準備中"
preview: "プレビュー"
default: "デフォルト"
defaultValueIs: "デフォルト: {value}"
@@ -299,12 +301,14 @@ uploadFromUrlRequested: "アップロードしたい言うといたで"
uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間かかるかもしれへんわ。"
explore: "みつける"
messageRead: "もう読んだ"
readAllChatMessages: "メッセージを全部読んだことにしとく"
noMoreHistory: "これより昔のんはあらへんで"
startChat: "チャットを始めよか"
nUsersRead: "{n}人が読んでもうた"
agreeTo: "{0}に同意したで"
agree: "せやな"
agreeBelow: "下記に同意したる"
basicNotesBeforeCreateAccount: "よう読んでやってや"
agreeBelow: "下記に同意するわ"
basicNotesBeforeCreateAccount: "よう読んどいてや"
termsOfService: "使うための決め事"
start: "始める"
home: "ホーム"
@@ -324,11 +328,13 @@ dark: "ダーク"
lightThemes: "デイゲーム"
darkThemes: "ナイトゲーム"
syncDeviceDarkMode: "デバイスのダークモードと一緒にする"
switchDarkModeManuallyWhenSyncEnabledConfirm: "「{x}」がオンになってるで。同期切って手動でモード切り替える?"
drive: "ドライブ"
fileName: "ファイル名"
selectFile: "ファイル選んでや"
selectFiles: "ファイル選んでや"
selectFolder: "フォルダ選んでや"
unselectFolder: "フォルダーの選択を解除"
selectFolders: "フォルダ選んでや"
fileNotSelected: "ファイルが選択されてへんで"
renameFile: "ファイル名をいらう"
@@ -419,13 +425,13 @@ antennaSource: "受信ソース(このソースは食われへん)"
antennaKeywords: "受信キーワード"
antennaExcludeKeywords: "除外キーワード"
antennaExcludeBots: "Botアカウントを除外"
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
antennaKeywordsDescription: "スペースで区切ったAND指定で、改行で区切ったOR指定や"
notifyAntenna: "新しいノートを通知すんで"
withFileAntenna: "なんか添付されたノートだけ"
excludeNotesInSensitiveChannel: "センシティブなチャンネルのノートは入れんとくわ"
enableServiceworker: "ブラウザにプッシュ通知が行くようにする"
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
caseSensitive: "大文字と小文字は別もんや"
withReplies: "返信も入れたって"
connectedTo: "次のアカウントに繋がっとるで"
notesAndReplies: "投稿と返信"
withFiles: "ファイル付いとる"
@@ -468,9 +474,9 @@ newPasswordIs: "今度のパスワードは「{password}」や"
reduceUiAnimation: "UIの動きやアニメーションを少なする"
share: "わけわけ"
notFound: "見つからへんね"
notFoundDescription: "言われたURLにはまるページはなかったで。"
notFoundDescription: "言われたURLページはなかったで。"
uploadFolder: "とりあえずアップロードしたやつ置いとく所"
markAsReadAllNotifications: "通知はもう全読んだわ"
markAsReadAllNotifications: "通知はもう全読んだわ"
markAsReadAllUnreadNotes: "投稿は全て読んだわっ"
markAsReadAllTalkMessages: "チャットはもうぜんぶ読んだわっ"
help: "ヘルプ"
@@ -551,7 +557,7 @@ showFeaturedNotesInTimeline: "タイムラインにおすすめのノートを
objectStorage: "オブジェクトストレージ"
useObjectStorage: "オブジェクトストレージを使う"
objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "参照に使うURLやで。CDNやProxyを使用してるんならそのURL、S3: 'https://<bucket>.s3.amazonaws.com'、GCSとかなら: 'https://storage.googleapis.com/<bucket>'。"
objectStorageBaseUrlDesc: "参照に使うURLやで。CDNやProxyを使用してるんならそのURL、S3: 'https://<bucket>.s3.amazonaws.com'、GCSとかなら: 'https://storage.googleapis.com/<bucket>'。"
objectStorageBucket: "Bucket"
objectStorageBucketDesc: "使ってるサービスのbucket名を選んでな"
objectStoragePrefix: "Prefix"
@@ -568,17 +574,19 @@ objectStorageSetPublicRead: "アップロードした時に'public-read'を設
s3ForcePathStyleDesc: "s3ForcePathStyleを使たらバケット名をURLのホスト名やなくてパスの一部として必ず指定させるようになるで。セルフホストされたMinioとかを使うてるんやったら有効にせなあかん場合があるで。"
serverLogs: "サーバーログ"
deleteAll: "全部ほかす"
showFixedPostForm: "タイムラインの上の方で投稿できるようにやってくれへん?"
showFixedPostForm: "タイムラインの上の方で投稿できるようにするわ"
showFixedPostFormInChannel: "タイムラインの上の方で投稿できるようにするわ(チャンネル)"
withRepliesByDefaultForNewlyFollowed: "フォローする時、デフォルトで返信をタイムラインに含むようにしよか"
newNoteRecived: "新しいノートがあるで"
newNote: "新しいノートがあるで"
sounds: "音"
sound: "音"
notificationSoundSettings: "通知音の設定"
listen: "聴く"
none: "なし"
showInPage: "ページで表示"
popout: "ポップアウト"
volume: "やかましさ"
volume: "音のでかさ"
masterVolume: "全体のやかましさ"
notUseSound: "音出さへん"
useSoundOnlyWhenActive: "Misskeyがアクティブなときだけ音出す"
@@ -594,7 +602,7 @@ nothing: "あらへん"
installedDate: "インストールした日時"
lastUsedDate: "最後に使った日時"
state: "状態"
sort: "仕分ける"
sort: "並び替え"
ascendingOrder: "小さい順"
descendingOrder: "大きい順"
scratchpad: "スクラッチパッド"
@@ -654,9 +662,9 @@ useBlurEffectForModal: "モーダルにぼかし効果を使用"
useFullReactionPicker: "フルフルのツッコミピッカーを使う"
width: "幅"
height: "高さ"
large: ""
medium: ""
small: ""
large: "でかい"
medium: "ふつう"
small: "ちいさい"
generateAccessToken: "アクセストークンの発行"
permission: "権限"
adminPermission: "管理者権限"
@@ -681,7 +689,7 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
smtpSecureInfo: "STARTTLS使っとる時はオフにしてや。"
testEmail: "配信テスト"
wordMute: "ワードミュート"
wordMuteDescription: "指定した語句が入ってるノートを最小化するで。最小化されたノートをクリックしたら、表示できるようになるで。"
wordMuteDescription: "指定した語句が入ってるノートをちっさくするで。ちっさくなったノートをクリックしたら中身を見れるで。"
hardWordMute: "ハードワードミュート"
showMutedWord: "ミュートされたワードを表示するで"
hardWordMuteDescription: "指定した語句が入ってるノートを隠すで。ワードミュートとちゃうて、ノートは完全に表示されんようになるで。"
@@ -693,6 +701,7 @@ userSaysSomethingAbout: "{name}が「{word}」についてなんか言うてた
makeActive: "使うで"
display: "表示"
copy: "コピー"
copiedToClipboard: "クリップボードにコピーされたで"
metrics: "メトリクス"
overview: "概要"
logs: "ログ"
@@ -714,7 +723,7 @@ behavior: "動作"
sample: "サンプル"
abuseReports: "通報"
reportAbuse: "通報"
reportAbuseRenote: "リノート苦情だすで?"
reportAbuseRenote: "リノート苦情出す"
reportAbuseOf: "{name}を通報する"
fillAbuseReportDescription: "細かい通報理由を書いてなー。対象ートがある時はそのURLも書いといてなー。"
abuseReported: "無事内容が送信されたみたいやで。おおきに〜。"
@@ -764,6 +773,7 @@ lockedAccountInfo: "フォローを承認制にしとっても、ノートの公
alwaysMarkSensitive: "デフォルトでメディアを閲覧注意にするで"
loadRawImages: "添付画像のサムネイルをオリジナル画質にするで"
disableShowingAnimatedImages: "アニメーション画像を再生せんとくで"
disableShowingAnimatedImages_caption: "この設定を変えてもアニメーション画像が再生されへん時は、ブラウザとかOSのアクセシビリティ設定とか省電力設定の方が悪さしてるかもしれへんで。"
highlightSensitiveMedia: "きわどいことをめっっちゃわかりやすくする"
verificationEmailSent: "無事確認のメールを送れたで。メールに書いてあるリンクにアクセスして、設定を完了してなー。"
notSet: "未設定"
@@ -787,6 +797,7 @@ wide: "広い"
narrow: "狭い"
reloadToApplySetting: "設定はページリロード後に反映されるで。今リロードしとくか?"
needReloadToApply: "反映には再起動せなあかんで"
needToRestartServerToApply: "反映にはサーバーを再起動せなあかんのよ。"
showTitlebar: "タイトルバーを見せる"
clearCache: "キャッシュをほかす"
onlineUsersCount: "{n}人が起きとるで"
@@ -872,7 +883,7 @@ startingperiod: "始めた期間"
memo: "メモ"
priority: "優先度"
high: "高い"
middle: ""
middle: "ふつう"
low: "低い"
emailNotConfiguredWarning: "メアドの設定がされてへんで。"
ratio: "比率"
@@ -974,6 +985,7 @@ document: "ドキュメント"
numberOfPageCache: "ページ、どんだけキャッシュすんの?"
numberOfPageCacheDescription: "増やすと使いやすくなるけど、負荷とメモリ使用量が増えてくで。一長一短やな。"
logoutConfirm: "ログアウトしまっか?"
logoutWillClearClientData: "ログアウトするとクライアントの設定情報がブラウザから消されてまうで。再ログイン時に設定情報を復元できるようにするためには、設定の自動バックアップを有効にするとええで。"
lastActiveDate: "最後に使った日時"
statusbar: "ステータスバー"
pleaseSelect: "選んだってやー"
@@ -992,6 +1004,7 @@ failedToUpload: "アップロードに失敗してもうたわ…"
cannotUploadBecauseInappropriate: "きわどい内容を含むかもしれへんって言われたからアップロードできへんわ。"
cannotUploadBecauseNoFreeSpace: "ドライブがもうパンパンやからアップロードできへんわ。"
cannotUploadBecauseExceedsFileSizeLimit: "ファイルが思うたよりも大きいさかいアップロードできへんでこれ。"
cannotUploadBecauseUnallowedFileType: "許可されてへんファイル種別やからアップロードできへんっぽい。"
beta: "ベータ"
enableAutoSensitive: "自動できわどいか判断する"
enableAutoSensitiveDescription: "使える時は、機械学習を使って自動でメディアにNSFWフラグを設定するで。この機能をオフにしても、サーバーによっては自動で設定されることがあるで。"
@@ -1007,6 +1020,9 @@ pushNotificationAlreadySubscribed: "プッシュ通知はオンになってる
pushNotificationNotSupported: "ブラウザかサーバーがプッシュ通知に対応してないみたいやで。"
sendPushNotificationReadMessage: "通知やメッセージが既読になったらプッシュ通知を消すで"
sendPushNotificationReadMessageCaption: "あんたの端末の電池使う量が増えるかもしれん。"
pleaseAllowPushNotification: "ブラウザの通知設定を許可してな"
browserPushNotificationDisabled: "通知の送信権限が取れんかったわ"
browserPushNotificationDisabledDescription: "今 {serverName} から通知を送るための権限が無いから、ブラウザの設定で通知を許可してもっかい試してな。"
windowMaximize: "最大化"
windowMinimize: "最小化"
windowRestore: "元に戻す"
@@ -1043,6 +1059,7 @@ permissionDeniedError: "操作が拒否されてもうた。"
permissionDeniedErrorDescription: "このアカウントはこれやったらアカンって。"
preset: "プリセット"
selectFromPresets: "プリセットから選ぶ"
custom: "カスタム"
achievements: "実績"
gotInvalidResponseError: "サーバー黙っとるわ、知らんけど"
gotInvalidResponseErrorDescription: "サーバーいま日曜日。またきて月曜日。"
@@ -1081,6 +1098,7 @@ prohibitedWordsDescription2: "スペースで区切るとAND指定、キーワ
hiddenTags: "見えてへんハッシュタグ"
hiddenTagsDescription: "設定したタグを最近流行りのとこに見えんようにすんで。複数設定するときは改行で区切ってな。"
notesSearchNotAvailable: "なんかノート探せへん。"
usersSearchNotAvailable: "ユーザーを探すことはできへんみたいや。"
license: "ライセンス"
unfavoriteConfirm: "ほんまに気に入らんの?"
myClips: "自分のクリップ"
@@ -1232,7 +1250,7 @@ releaseToRefresh: "離したらリロード"
refreshing: "リロードしとる"
pullDownToRefresh: "引っ張ってリロードするで"
useGroupedNotifications: "通知をグループ分けして出すで"
signupPendingError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。"
emailVerificationFailedError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。"
cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカンで。"
doReaction: "ツッコむで"
code: "コード"
@@ -1304,16 +1322,120 @@ federationSpecified: "このサーバーはホワイトリスト連合で運用
federationDisabled: "このサーバーは連合が無効化されてるで。他のサーバーのユーザーとやり取りすることはできひんで。"
confirmOnReact: "ツッコむときに確認とる"
reactAreYouSure: "\" {emoji} \" でツッコむ?"
markAsSensitiveConfirm: "このメディアをきわどい扱いしときますか?"
unmarkAsSensitiveConfirm: "このメディアはやっぱきわどくなかったってことでええんか?"
noName: "名前はあらへんで"
preferenceSyncConflictTitle: "サーバーに設定値があるみたいやわ"
preferenceSyncConflictText: "同期が有効にされた設定項目は設定値をサーバーに保存するねんけど、この設定項目はサーバーに保存されたやつがあるみたいやわ。どないするん?"
preferenceSyncConflictChoiceMerge: "ガッチャンコしよか"
preferenceSyncConflictChoiceCancel: "同期の有効化はやめとくわ"
postForm: "投稿フォーム"
information: "情報"
directMessage: "チャットしよか"
migrateOldSettings: "旧設定情報をお引っ越し"
migrateOldSettings_description: "通常これは自動で行われるはずなんやけど、なんかの理由で上手く移行できへんかったときは手動で移行処理をポチっとできるで。今の設定情報は上書きされるで。"
settingsMigrating: "設定を移行しとるで。ちょっと待っとってな... (後で、設定→その他→旧設定情報を移行 で手動で移行することもできるで)"
driveAboutTip: "ドライブでは、今までアップロードしたファイルがずらーっと表示されるで。<br>\nートにファイルをもっかいのっけたり、あとで投稿するファイルをその辺に置いとくこともできるねん。<br>\n<b>ファイルをほかすと、前にそのファイルをのっけた全部の場所(ノート、ページ、アバター、バナー等)からも見えんくなるから気いつけてな。</b><br>\nフォルダを作って整理することもできるで。"
turnItOn: "オンにしとこ"
turnItOff: "オフでええわ"
emojiUnmute: "絵文字ミュートやめたる"
unmuteX: "{x}のミュートやめたる"
redisplayAllTips: "全部の「ヒントとコツ」をもっかい見して"
hideAllTips: "「ヒントとコツ」は全部表示せんでええ"
defaultImageCompressionLevel_description: "低くすると画質は保てるんやけど、ファイルサイズが増えるで。<br>高くするとファイルサイズは減らせるんやけど、画質が落ちるで。"
defaultCompressionLevel_description: "低くすると品質は保てるんやけど、ファイルサイズが増えるで。<br>高くするとファイルサイズは減らせるんやけど、品質が落ちるで。"
inMinutes: "分"
inDays: "日"
safeModeEnabled: "セーフモードがオンになってるで"
pluginsAreDisabledBecauseSafeMode: "セーフモードがオンやから、プラグインは全部無効化されてるで。"
customCssIsDisabledBecauseSafeMode: "セーフモードがオンやから、カスタムCSSは適用されてへんで。"
themeIsDefaultBecauseSafeMode: "セーフモードがオンの間はデフォルトのテーマを使うで。セーフモードをオフにれば元に戻るで。"
thankYouForTestingBeta: "ベータ版使うてくれておおきに!"
widgets: "ウィジェット"
deviceInfoDescription: "なんか技術的なことで分からんこと聞くときは、下の情報も一緒に書いてもらえると、こっちも分かりやすいし、はよ直ると思います。"
youAreAdmin: "あんた、管理者やで"
presets: "プリセット"
_imageEditing:
_vars:
filename: "ファイル名"
_imageFrameEditor:
tip: "画像にフレームとかメタデータを入れたラベルとかを付け足していい感じにできるで。"
header: "ヘッダー"
font: "フォント"
fontSerif: "セリフ"
fontSansSerif: "サンセリフ"
quitWithoutSaveConfirm: "保存せずに終わってもええんか?"
failedToLoadImage: "あかん、画像読み込まれへんわ"
_chat:
noMessagesYet: "まだメッセージはあらへんで"
individualChat_description: "特定のユーザーとサシでチャットできるで。"
roomChat_description: "複数人でチャットできるで。\nあと、個人チャットを許可してへんユーザーとでも、相手がええって言うならチャットできるで。"
inviteUserToChat: "ユーザーを招待してチャットを始めてみ"
invitations: "来てや"
noInvitations: "招待はあらへんで"
noHistory: "履歴はないわ。"
noRooms: "ルームはあらへんで"
join: "入る"
ignore: "ほっとく"
leave: "グループから抜ける"
members: "メンバーはん"
home: "ホーム"
send: "送信"
deleteRoom: "ルームをほかす"
chatNotAvailableForThisAccountOrServer: "このサーバー、もしくはこのアカウントでチャットが有効にされてへんで。"
chatIsReadOnlyForThisAccountOrServer: "このサーバー、もしくはこのアカウントでチャットが読み取り専用になっとるわ。新しく書き込んだり、チャットルームを作ったり参加したりはできへんで。"
chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えんくなっとるみたいやわ。"
cannotChatWithTheUser: "このユーザーとのチャットを開始できへんみたいやわ"
cannotChatWithTheUser_description: "チャットが使えん状態になっとるか、相手がチャットを開放してへんみたいやわ。"
youAreNotAMemberOfThisRoomButInvited: "あんたはこのルームの参加者ちゃうけど、招待が届いとるで。参加するんやったら、招待を承認してな。"
doYouAcceptInvitation: "招待を承認してもええんか?"
chatWithThisUser: "チャットしよか"
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのチャットしか受け付けとらんみたいやわ。"
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしとるユーザーからのチャットしか受け付けとらんみたいやわ。"
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのチャットしか受け付けとらんみたいやわ。"
thisUserNotAllowedChatAnyone: "このユーザーは誰からのチャットも受け付けとらんみたいやわ。"
chatAllowedUsers: "チャットしてもええ相手"
chatAllowedUsers_note: "自分からチャットメッセージを送った相手やったらこの設定に関わらずチャットできるで。"
_chatAllowedUsers:
followers: "自分のフォロワーだけ"
following: "自分がフォローしとるユーザーだけ"
mutual: "相互フォローのユーザーだけ"
none: "誰もかもあかん"
_emojiPalette:
enableSyncBetweenDevicesForPalettes: "パレットのデバイス間同期をつけとく"
paletteForMain: "メインで使うパレット"
paletteForReaction: "リアクションで使うパレット"
_settings:
driveBanner: "ドライブの管理と設定、使用量の確認、ファイルをアップロードするときの設定ができるで。"
pluginBanner: "プラグインを使うとクライアントの機能を拡張できるねん。プラグインのインストール、個別の設定と管理ができるで。"
notificationsBanner: "サーバーから受け取る通知の種類とか範囲、プッシュ通知の設定ができるで。"
webhook: "Webhook"
serviceConnectionBanner: "外部のアプリ・サービスと連携するのに使うとるアクセストークンとかWebhookの管理と設定ができるで。"
accountDataBanner: "アカウントデータのアーカイブをエクスポート/インポートして管理できるで。"
muteAndBlockBanner: "見せんでええコンテンツの設定とか、特定のユーザーからのアクションを制限する設定と管理ができるで。"
accessibilityBanner: "クライアントの視覚や動作に関わるパーソナライズをして、よりええ感じに使えるように設定できるで。"
privacyBanner: "コンテンツの公開範囲、見つけやすさ、フォローの承認制とかアカウントのプライバシーに関わる設定ができるで。"
securityBanner: "パスワード、ログイン方法、認証アプリ、パスキーとかアカウントのセキュリティに関わる設定ができるで。"
preferencesBanner: "好みに応じた、クライアントの全体的な動作の設定ができるで。"
appearanceBanner: "好みに応じた、クライアントの見た目・表示方法に関わる設定ができるで。"
soundsBanner: "クライアントで流すサウンドの設定ができるで。"
makeEveryTextElementsSelectable: "全部のテキスト要素を選択できるようにする"
makeEveryTextElementsSelectable_description: "これをつけると、場面によったら使いにくくなるかもしれん。"
useStickyIcons: "アイコンがスクロールにひっつくようにする"
enablePullToRefresh_description: "マウスやったら、ホイールを押し込みながらドラッグしてな。"
realtimeMode_description: "サーバーと接続を確立して、リアルタイムでコンテンツを更新するで。通信量とバッテリーの消費が多くなるかもしれへん。"
contentsUpdateFrequency_description: "高いほどリアルタイムにコンテンツが更新されるんやけど、そのぶんパフォーマンスが落ちるし、通信量とバッテリーの消費も増えるねん。"
contentsUpdateFrequency_description2: "リアルタイムモードをつけてるんやったら、この設定がどうであれリアルタイムでコンテンツが更新されるで。"
emojiPaletteBanner: "絵文字ピッカーに置いとくプリセットをパレットっていうので登録したり、ピッカーの見た目を変えたりできるで。"
_preferencesProfile:
profileNameDescription: "このデバイスはなんて呼んだらええんや?"
_preferencesBackup:
noBackupsFoundTitle: "バックアップが見つからへんね"
noBackupsFoundDescription: "自動で作られたバックアップは見つからんかったけど、バックアップファイルを手動で保存してるんやったら、それをインポートして復元できるで。"
selectBackupToRestore: "復元するバックアップを選んでや"
youNeedToNameYourProfileToEnableAutoBackup: "自動バックアップを有効するんやったらプロファイル名の設定が必要やな。"
autoPreferencesBackupIsNotEnabledForThisDevice: "このデバイスで設定の自動バックアップは有効になってへんで。"
backupFound: "設定のバックアップがあるみたいやわ"
_accountSettings:
requireSigninToViewContents: "ログインしてもらってからコンテンツ見てもらう"
requireSigninToViewContentsDescription1: "あなたが作成した全部のノートとかのコンテンツを見れるようにするのにログインがいるようにするで。クローラーにいろいろ収集されるんを防げるかもしれん。"
@@ -1322,8 +1444,9 @@ _accountSettings:
makeNotesFollowersOnlyBefore: "昔のノートをフォロワーだけに見てもらう"
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
makeNotesHiddenBefore: "昔のノートを見れんようにする"
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがあんただけ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばんかもしれん。"
mayNotEffectSomeSituations: "これらの制限は簡易的なものやで。リモートサーバーでの閲覧とかモデレーション時とか、一部のシチュエーションでは適用されへんかもしれん。"
notesHavePassedSpecifiedPeriod: "決めた時間が経ったノート"
notesOlderThanSpecifiedDateAndTime: "決めた日時より前のノート"
_abuseUserReport:
@@ -1342,6 +1465,7 @@ _delivery:
manuallySuspended: "手動停止中"
goneSuspended: "サーバー削除のため停止中"
autoSuspendedForNotResponding: "サーバー応答せえへんから停止中"
softwareSuspended: "配信停止中のソフトウェアやから停止中"
_bubbleGame:
howToPlay: "遊び方"
hold: "ホールド"
@@ -1396,7 +1520,7 @@ _initialTutorial:
description: "ここでは、Misskeyのカンタンな使い方とか機能を確かめれんで。"
_note:
title: "ノートってなんや?"
description: "Misskeyでの投稿は「ート」って呼ばれてんで。ートは順々にタイムラインに載ってて、リアルタイムで新しくなってってんで。"
description: "Misskeyでの投稿は「ート」って呼ばれてんで。ートは順々にタイムラインに載ってて、リアルタイムで新しくなってで。"
reply: "返信もできるで。返信の返信もできるから、スレッドっぽく会話をそのまま続けれもするで。"
renote: "そのノートを自分のタイムラインに流して共有できるで。テキスト入れて引用してもええな。"
reaction: "ツッコミをつけることもできるで。細かいことは次のページや。"
@@ -1416,7 +1540,7 @@ _initialTutorial:
social: "ホームタイムラインの投稿もローカルタイムラインのも一緒に見れるで。"
global: "繋がってる他の全サーバーからの投稿が見れるで。"
description2: "それぞれのタイムラインは、いつでも画面上で切り替えられんねん。覚えとき。"
description3: "その他にも、リストタイムラインとかチャンネルタイムラインとかがあんねん。詳しいのは{link}を見とき。"
description3: "その他にも、リストタイムラインとかチャンネルタイムラインとかがあんねん。詳しいのは{link}を見とき。"
_postNote:
title: "ノートの投稿設定"
description1: "Misskeyにートを投稿するとき、いろんなオプションが付けれるで。投稿画面はこんな感じや。"
@@ -1452,7 +1576,7 @@ _timelineDescription:
home: "ホームタイムラインは、あんたがフォローしとるアカウントの投稿だけ見れるで。"
local: "ローカルタイムラインは、このサーバーにおる全員の投稿を見れるで。"
social: "ソーシャルタイムラインは、ホームタイムラインの投稿もローカルタイムラインのも一緒に見れるで。"
global: "グローバルタイムラインは、繋がっとる他のサーバーの投稿、全部ひっくるめて見れで。"
global: "グローバルタイムラインは、繋がっとる他のサーバーの投稿、全部ひっくるめて見れで。"
_serverRules:
description: "新規登録前に見せる、サーバーのカンタンなルールを決めるで。内容は使うための決め事の要約がええと思うわ。"
_serverSettings:
@@ -1468,11 +1592,21 @@ _serverSettings:
fanoutTimelineDbFallback: "データベースにフォールバックする"
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
reactionsBufferingDescription: "有効にしたら、リアクション作るときのパフォーマンスがすっごい上がって、データベースへの負荷が減るで。代わりに、Redisのメモリ使用は増えるで。"
remoteNotesCleaning_description: "つけると、参照されてへん古いリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑えてくれるで。"
inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
openRegistration: "アカウントの作成をオープンにする"
openRegistrationWarning: "登録を解放するのはリスクが伴うで。サーバーをいっつも監視して、なんか起きたらすぐに対応できるんやったら、オンにしてもええと思う。"
openRegistrationWarning: "登録を解放するのはリスクあるで。サーバーをいっつも監視して、なんか起きたらすぐに対応できるんやったら、オンにしてもええと思うけどな。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターがおらんかったら、スパムを防ぐためにこの設定は勝手に切られるで。"
deliverSuspendedSoftwareDescription: "脆弱性とかの理由で、サーバーのソフトウェアの名前とバージョンの範囲を決めて配信を止められるで。このバージョン情報はサーバーが提供したものやから、信頼性は保証されへん。バージョン指定には semver の範囲指定が使えるねんけど、>= 2024.3.1と指定すると 2024.3.1-custom.0 みたいなカスタムバージョンが含まれへんから、>= 2024.3.1-0 みたいに prerelease を指定するとええかもしれへんな。"
singleUserMode_description: "このサーバーを使うとるんが自分だけなんやったら、このモードを有効にすると動作がええ感じになるで。"
signToActivityPubGet_description: "通常はつけといてな。連合の通信に関わる問題があるんやったら、無効にすると改善するかもしれへんけど、逆にサーバーによっては通信ができんくなることがあるで。"
proxyRemoteFiles_description: "つけると、リモートのファイルをプロキシして提供するで。画像のサムネイル生成とかユーザーのプライバシー保護にええな。"
allowExternalApRedirect_description: "つけると、他のサーバーがうちのサーバーを通して第三者のコンテンツを照会できるようになるんやけど、コンテンツのなりすましが発生するかもしれへん。"
userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツとかが、うちのサーバー経由で図らずもインターネットに公開されてまうことによるトラブルを防止できたりするで。"
userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受け取ったリモートのコンテンツを含め、サーバー内の全部のコンテンツを何でもかんでもインターネットに公開するのはリスクを伴うねん。特に、分散型の特性を知らん閲覧者にとっては、リモートのコンテンツやったとしてもサーバー内で作られたコンテンツやと誤認してまうかもしれへんから、注意が必要やな。"
restartServerSetupWizardConfirm_title: "サーバーの初期設定ウィザードをやり直すん?"
restartServerSetupWizardConfirm_text: "現在の一部の設定はリセットされるで。"
_accountMigration:
moveFrom: "別のアカウントからこのアカウントに引っ越す"
moveFromSub: "別のアカウントへエイリアスを作る"
@@ -1769,6 +1903,7 @@ _role:
descriptionOfIsExplorable: "オンにしたらロールの面子一覧が「みつける」で公開されるし、ロールのタイムラインが使えるようになるで。"
displayOrder: "表示順"
descriptionOfDisplayOrder: "数がでかいほど、UI上で先に表示されるで。"
preserveAssignmentOnMoveAccount_description: "つけると、このロールがのっかったアカウントが引っ越したときに、引っ越し先アカウントにもこのロールがのっかるようになるで。"
canEditMembersByModerator: "モデレーターがメンバーいじるのを許す"
descriptionOfCanEditMembersByModerator: "オンにすると、管理者だけやなくてモデレーターもこのロールにユーザーを入れたり抜いたりできるで。オフにすると管理者だけしかやれへんくなるで。"
priority: "優先度"
@@ -1809,6 +1944,8 @@ _role:
canImportFollowing: "フォローのインポートを許す"
canImportMuting: "ミュートのインポートを許す"
canImportUserLists: "リストのインポートを許す"
uploadableFileTypes_caption: "MIMEタイプを指定してや。改行で区切って複数指定もできるし、アスタリスク(*)でワイルドカード指定もできるで。(例: image/*)"
uploadableFileTypes_caption2: "ファイルによっては種別がわからんこともあるで。そないなファイルを許可するんやったら {x} を指定に追加してな。"
_condition:
roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー"
@@ -1854,7 +1991,7 @@ _signup:
emailSent: "さっき入れたメアド({email})宛に確認メールを送ったで。メールに書かれたリンク押してアカウント作るの終わらしてな。\nメールの認証リンクの期限は30分や。"
_accountDelete:
accountDelete: "アカウントの削除"
mayTakeTime: "アカウント消すんはサーバーが重いんやって。やから作ったコンテンツとか上げたファイルの数が多いと消し終わるまでに時間がかかるかもしれん。"
mayTakeTime: "アカウント消すんはサーバーに負荷かかるんやって。やから作ったコンテンツとか上げたファイルの数が多いと消し終わるまでに時間がかかるかもしれん。"
sendEmail: "アカウントの消し終わるときは、登録してたメアドに通知するで。"
requestAccountDelete: "アカウント削除頼む"
started: "削除処理が始まったで。"
@@ -2008,7 +2145,7 @@ _theme:
navIndicator: "サイドバーのインジケーター"
link: "リンク"
hashtag: "ハッシュタグ"
mention: "メンション"
mention: "あんた宛て"
mentionMe: "うち宛てのメンション"
renote: "Renote"
modalBg: "モーダルの背景"
@@ -2033,6 +2170,7 @@ _sfx:
noteMy: "ノート(自分)"
notification: "通知"
reaction: "ツッコミ選んどるとき"
chatMessage: "チャットしよか"
_soundSettings:
driveFile: "ドライブん中の音使う"
driveFileWarn: "ドライブん中のファイル選びや"
@@ -2193,6 +2331,7 @@ _auth:
scopeUser: "以下のユーザーとしていじってるで"
pleaseLogin: "アプリにアクセスさせるんやったら、ログインしてや。"
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許したら、自動で下のURLに遷移するで"
alreadyAuthorized: "このアプリはもうアクセスを許可してるみたいやで。"
_antennaSources:
all: "みんなのノート"
homeTimeline: "フォローしとるユーザーのノート"
@@ -2238,6 +2377,16 @@ _widgets:
chooseList: "リストを選ぶ"
clicker: "クリッカー"
birthdayFollowings: "今日誕生日のツレ"
chat: "チャットしよか"
_widgetOptions:
showHeader: "ヘッダー出す"
height: "高さ"
_button:
colored: "色付き"
_clock:
size: "大きさ"
_birthdayFollowings:
period: "期間"
_cw:
hide: "隠す"
show: "続き見して!"
@@ -2277,9 +2426,19 @@ _visibility:
disableFederation: "連合なし"
disableFederationDescription: "他サーバーへは送らんとくわ"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "アップロードされてへんファイルがあるんやけど、ほかしてフォームを閉じてもええんか?"
uploaderTip: "ファイルはまだアップロードされてへんで。ファイルのメニューから、リネームとか画像のクロップ、ウォーターマークをのっける、圧縮するかどうかなんかを設定できるで。ファイルはノートを投稿するときに自動でアップロードされるで。"
replyPlaceholder: "このノートに返信..."
quotePlaceholder: "このノートを引用..."
channelPlaceholder: "チャンネルに投稿..."
_howToUse:
toolbar_description: "ファイルとかアンケートを付けたり、注釈とかハッシュタグを書いたり、絵文字とかメンションとかを付け足したりできるで。"
account_description: "投稿するアカウントを変えたり、アカウントに保存した下書きとか予約投稿とかを見れるで。"
visibility_title: "公開範囲"
visibility_description: "ノートを誰に見せたいかはここで切り替えてな。"
menu_title: "メニュー"
menu_description: "下書きに保存したり、投稿の予約したり、リアクションの受け入れ設定とか…なんか色々できるで。"
submit_description: "ートを投稿するときはここ押してな。Ctrl + Enter / Cmd + Enter でも投稿できるで。"
_placeholders:
a: "いまどないしとるん?"
b: "何かあったん?"
@@ -2425,9 +2584,12 @@ _notification:
youReceivedFollowRequest: "フォロー許可してほしいみたいやな"
yourFollowRequestAccepted: "フォローさせてもろたで"
pollEnded: "アンケートの結果が出たみたいや"
scheduledNotePosted: "予約ノートが投稿されたで"
scheduledNotePostFailed: "予約ノート投稿できんかったで"
newNote: "さらの投稿"
unreadAntennaNote: "アンテナ {name}"
roleAssigned: "ロールが付与されたで"
chatRoomInvitationReceived: "チャットルームへ招待されたで"
emptyPushNotificationMessage: "プッシュ通知の更新をしといたで"
achievementEarned: "実績を獲得しとるで"
testNotification: "通知テスト"
@@ -2447,7 +2609,7 @@ _notification:
all: "すべて"
note: "あんたらの新規投稿"
follow: "フォロー"
mention: "メンション"
mention: "あんた宛て"
reply: "リプライ"
renote: "リノート"
quote: "引用"
@@ -2497,6 +2659,7 @@ _deck:
mentions: "あんた宛て"
direct: "ダイレクト"
roleTimeline: "ロールタイムライン"
chat: "チャットしよか"
_dialog:
charactersExceeded: "最大の文字数を上回っとるで!今は {current} / 最大でも {max}"
charactersBelow: "最小の文字数を下回っとるで!今は {current} / 最低でも {min}"
@@ -2617,7 +2780,7 @@ _externalResourceInstaller:
_errors:
_invalidParams:
title: ""
description: ""
description: "外部サイトからデータを持ってくるのに欲しい情報が足らへんみたいやわ。URLは合っとる"
_resourceTypeNotSupported:
title: ""
description: ""
@@ -2647,8 +2810,12 @@ _dataSaver:
_avatar:
title: "アイコンの絵"
description: "アイコン画像のアニメが止まるで。普通の画像よりもデータ量がでかいから、もっと通信量を節約できるねん。"
_urlPreviewThumbnail:
description: "URLプレビューのサムネイル画像が読み込まれへんくなるで。"
_disableUrlPreview:
description: "URLプレビュー機能を切るで。サムネイル画像だけと違って、リンク先の情報の読み込み自体を削減できるで。"
_code:
title: "コードハイライト"
title: "コードハイライトは表示せんでええ"
description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。"
_hemisphere:
N: "北半球"
@@ -2704,6 +2871,7 @@ _offlineScreen:
_urlPreviewSetting:
title: "URLプレビューの設定"
enable: "URLプレビューを有効にする"
allowRedirectDescription: "入力されたURLがリダイレクトされるとき、そのリダイレクト先をたどってプレビューを表示するかどうかを設定できるで。無効にするとサーバーリソースを節約できるんやけど、リダイレクト先の内容は表示されへんくなるで。"
timeout: "プレビュー取得時のタイムアウト(ms)"
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されへんで。"
maximumContentLength: "Content-Lengthの最大値(byte)"
@@ -2848,8 +3016,58 @@ _search:
searchScopeAll: "みんな"
searchScopeLocal: "ローカル"
searchScopeUser: "ユーザー指定"
pleaseEnterServerHost: "サーバーのホストはどないするん?"
pleaseSelectUser: "ユーザーを選んでや"
_serverSetupWizard:
installCompleted: "Misskeyのインストールが終わったで"
firstCreateAccount: "最初は、管理者アカウントを作成しよか。"
accountCreated: "管理者アカウントができたで!"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "このウィザードで簡単にええ感じのサーバーの設定ができるで。"
settingsYouMakeHereCanBeChangedLater: "ここでの設定は、あとからでも変えられるで。"
howWillYouUseMisskey: "Misskeyをどんな感じに使うん"
_use:
single_youCanCreateMultipleAccounts: "お一人様サーバーとして運用するとしても、アカウントは必要に応じて複数作れるで。"
openServerAdvice: "不特定多数の利用者を受け入れるには相応のリスクがあるで。トラブルに対処できるよう、ちゃんとしたモデレーション体制で運営しいや。"
openServerAntiSpamAdvice: "うちのサーバーがスパムの踏み台にならへんように、reCAPTCHAとかのアンチボット機能を使う、みたいなセキュリティ対策もしっかり考えてな。"
howManyUsersDoYouExpect: "どれくらいの人数を考えとるん?"
largeScaleServerAdvice: "大規模なサーバーやったら、ロードバランシングとかデータベースのレプリケーションみたいな、高度なインフラストラクチャーの知識が必要になるかもしれへんわ。"
doYouConnectToFediverse: "Fediverseと接続するんやっけ"
doYouConnectToFediverse_description1: "分散型サーバーでできたネットワーク(Fediverse)に繋げると、他のサーバーと相互にコンテンツのやり取りができるようになるで。"
doYouConnectToFediverse_description2: "Fediverseと接続することは「連合」とも呼ばれるな。"
youCanConfigureMoreFederationSettingsLater: "連合してもええサーバーの指定とか、高度な設定も後でできるで。"
remoteContentsCleaning_description: "連合すると、ぎょうさんコンテンツを受け取り続けることになるねん。自動クリーニングをつけると、参照されてない古いコンテンツを自動でサーバーからほかして、ストレージを節約できるで。"
adminInfo_description: "問い合わせを受け付けるのに使う管理者情報を設定しよか。"
adminInfo_mustBeFilled: "オープンサーバー、もしくは連合を入れとるんやったら必ず入力せなあかんで。"
followingSettingsAreRecommended: "こういう設定がええかもな"
settingsCompleted: "設定が終わったで!"
settingsCompleted_description: "お疲れさん。準備ができたから、さっそくサーバーを使い始められるで。"
settingsCompleted_description2: "細かいサーバー設定は、「コントロールパネル」を見てみてな。"
_donationRequest:
text1: "Misskeyは有志で開発されとる無料のソフトウェアやで。"
text2: "今後も開発を続けられるように、よかったらぜひカンパをお願いするわ。"
text3: "支援者向け特典もあるで!"
_uploader:
abortConfirm: "アップロードされてへんファイルがあるんやけど、やめてもええんか?"
doneConfirm: "アップロードされてへんファイルがあるんやけど、完了してもええんか?"
maxFileSizeIsX: "アップロードできるファイルサイズは{x}までやで。"
tip: "ファイルはまだアップロードされてへんで。このダイアログで、アップロードする前に確認・リネーム・圧縮・クロッピングとかをできるで。準備が出来たら、「アップロード」ボタンを押してアップロードしてな。"
_clientPerformanceIssueTip:
title: "バッテリーようさん食うなぁと思ったら"
makeSureDisabledAdBlocker: "アドブロッカーを切ってみてや"
makeSureDisabledAdBlocker_description: "アドブロッカーはパフォーマンスに影響があるかもしれへん。OSの機能とかブラウザの機能・アドオンとかでアドブロッカーが有効になってないか確認してや。"
makeSureDisabledCustomCss: "カスタムCSSを無効にしてみてや"
makeSureDisabledCustomCss_description: "スタイルを上書きするとパフォーマンスに影響があるかもしれへん。カスタムCSSとか、スタイルを上書きする拡張機能が有効になってないか確認してや。"
makeSureDisabledAddons: "拡張機能を無効にしてみてや"
makeSureDisabledAddons_description: "なんかの拡張機能がクライアントの動作にちょっかいをかけてパフォーマンスに影響を与えてるかもしれへん。ブラウザの拡張機能を無効にして良くなるか確認してや。"
_clip:
tip: "クリップは、ノートをまとめられる機能やで。"
_userLists:
tip: "好きなユーザーを含むリストを作れるねん。作ったリストはタイムラインとして表示できるで。"
_watermarkEditor:
tip: "画像にクレジット情報とかのウォーターマークをのっけられるで。"
quitWithoutSaveConfirm: "保存せずに終わってもええんか?"
driveFileTypeWarn: "このファイルは対応しとらへん"
driveFileTypeWarnDescription: "画像ファイルを選んでや"
opacity: "不透明度"
scale: "大きさ"
text: "テキスト"
@@ -2858,3 +3076,25 @@ _watermarkEditor:
image: "画像"
advanced: "高度"
angle: "角度"
failedToLoadImage: "あかん、画像読み込まれへんわ"
_imageEffector:
discardChangesConfirm: "変更をせんで終わるか?"
failedToLoadImage: "あかん、画像読み込まれへんわ"
_fxProps:
angle: "角度"
scale: "大きさ"
size: "大きさ"
offset: "位置"
color: "色"
opacity: "不透明度"
lightness: "明るさ"
_drafts:
cannotCreateDraftAnymore: "下書きはこれ以上は作れへんな。"
cannotCreateDraft: "この内容で下書きは作れへんな。"
delete: "下書きをほかす"
deleteAreYouSure: "下書きをほかしてもええか?"
noDrafts: "下書きはあらへん"
_qr:
showTabTitle: "表示"
shareText: "Fediverseでフォローしてな"
raw: "テキスト"

View File

@@ -57,6 +57,10 @@ searchByGoogle: "Nadi"
file: "Ifuyla"
account: "Imiḍan"
replies: "Err"
_imageFrameEditor:
font: "Tasefsit"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_email:
_follow:
title: "Yeṭṭafaṛ-ik·em-id"

View File

@@ -44,6 +44,7 @@ showMore: "ಇನ್ನಷ್ಟು ನೋಡು"
youGotNewFollower: "ಹಿಂಬಾಲಿಸಿದರು"
receiveFollowRequest: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಬಂದಿದೆ"
followRequestAccepted: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಸ್ವೀಕರಿಸಲಾಯಿತು"
mention: "ಹೆಸರಿಸಿದ"
mentions: "ಹೆಸರಿಸಿದ"
directNotes: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
importAndExport: "ಆಮದು/ರಫ್ತು"
@@ -65,6 +66,9 @@ replies: "ಉತ್ತರಿಸು"
_email:
_follow:
title: "ಹಿಂಬಾಲಿಸಿದರು"
_theme:
keys:
mention: "ಹೆಸರಿಸಿದ"
_sfx:
notification: "ಅಧಿಸೂಚನೆಗಳು"
_widgets:
@@ -73,11 +77,14 @@ _widgets:
timeline: "ಸಮಯಸಾಲು"
_cw:
show: "ಇನ್ನಷ್ಟು ನೋಡು"
_visibility:
specified: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
_profile:
username: "ಬಳಕೆಹೆಸರು"
_notification:
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
_types:
mention: "ಹೆಸರಿಸಿದ"
login: "ಪ್ರವೇಶ"
_actions:
reply: "ಉತ್ತರಿಸು"
@@ -86,3 +93,4 @@ _deck:
notifications: "ಅಧಿಸೂಚನೆಗಳು"
tl: "ಸಮಯಸಾಲು"
mentions: "ಹೆಸರಿಸಿದ"
direct: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"

View File

@@ -651,6 +651,9 @@ renotes: "리노트"
attach: "옇기"
surrender: "아이예"
information: "정보"
_imageEditing:
_vars:
filename: "파일 이럼"
_chat:
invitations: "초대하기"
noHistory: "기록이 없십니다"
@@ -745,7 +748,7 @@ _menuDisplay:
_theme:
description: "설멩"
keys:
mention: "멘션"
mention: "받언 멘션"
renote: "리노트"
_sfx:
note: "새 노트"
@@ -775,6 +778,7 @@ _cw:
_visibility:
home: "덜머리"
followers: "팔로워"
specified: "쪽지 서기"
_postForm:
_placeholders:
e: "옇다 서 주이소"
@@ -809,7 +813,7 @@ _notification:
newNote: "새 걸"
_types:
follow: "팔로잉"
mention: "멘션"
mention: "받언 멘션"
renote: "리노트"
quote: "따오기"
reaction: "반엉"
@@ -824,6 +828,7 @@ _deck:
antenna: "안테나"
list: "리스트"
mentions: "받언 멘션"
direct: "쪽지 서기"
_webhookSettings:
name: "이럼"
_abuseReport:
@@ -850,3 +855,5 @@ _search:
searchScopeUser: "사용자 지정"
_watermarkEditor:
image: "이미지"
_qr:
showTabTitle: "보기"

View File

@@ -83,6 +83,8 @@ files: "파일"
download: "다운로드"
driveFileDeleteConfirm: "{name} 파일을 삭제하시겠습니까? 이 파일을 사용하는 일부 콘텐츠도 삭제됩니다."
unfollowConfirm: "{name}님을 언팔로우하시겠습니까?"
cancelFollowRequestConfirm: "{name}(으)로의 팔로우 신청을 취소하시겠습니까?"
rejectFollowRequestConfirm: "{name}(으)로부터의 팔로우 신청을 거부하시겠습니까?"
exportRequested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 \"드라이브\"에 추가됩니다."
importRequested: "가져오기를 요청하였습니다. 이 작업에는 시간이 걸릴 수 있습니다."
lists: "리스트"
@@ -253,6 +255,7 @@ noteDeleteConfirm: "이 노트를 삭제하시겠습니까?"
pinLimitExceeded: "더 이상 고정할 수 없습니다."
done: "완료"
processing: "처리중"
preprocessing: "준비중"
preview: "미리보기"
default: "기본값"
defaultValueIs: "기본값: {value}"
@@ -301,6 +304,7 @@ uploadFromUrlMayTakeTime: "업로드가 완료될 때까지 시간이 소요될
uploadNFiles: "{n}개의 파일을 업로"
explore: "둘러보기"
messageRead: "읽음"
readAllChatMessages: "모든 메시지를 읽은 상태로 표시"
noMoreHistory: "이것보다 과거의 기록이 없습니다"
startChat: "채팅을 시작하기"
nUsersRead: "{n}명이 읽음"
@@ -333,6 +337,7 @@ fileName: "파일명"
selectFile: "파일 선택"
selectFiles: "파일 선택"
selectFolder: "폴더 선택"
unselectFolder: "폴더 선택 해제"
selectFolders: "폴더 선택"
fileNotSelected: "파일을 선택하지 않았습니다"
renameFile: "파일 이름 변경"
@@ -345,6 +350,7 @@ addFile: "파일 추가"
showFile: "파일 표시하기"
emptyDrive: "드라이브가 비어 있습니다"
emptyFolder: "폴더가 비어 있습니다"
dropHereToUpload: "업로드할 파일을 여기로 드롭하십시오"
unableToDelete: "삭제할 수 없습니다"
inputNewFileName: "바꿀 파일명을 입력해 주세요"
inputNewDescription: "새 캡션을 입력해 주세요"
@@ -537,6 +543,7 @@ regenerate: "재생성"
fontSize: "글자 크기"
mediaListWithOneImageAppearance: "이미지가 1개 뿐인 미디어 목록의 높이"
limitTo: "{x}로 제한"
showMediaListByGridInWideArea: "화면 폭이 넓을 때는 미디어 목록을 가로로 표시하기"
noFollowRequests: "처리되지 않은 팔로우 요청이 없습니다"
openImageInNewTab: "새 탭에서 이미지 열기"
dashboard: "대시보드"
@@ -772,6 +779,7 @@ lockedAccountInfo: "팔로우를 승인으로 승인받더라도 노트의 공
alwaysMarkSensitive: "미디어를 항상 열람 주의로 설정"
loadRawImages: "첨부한 이미지의 썸네일을 원본화질로 표시"
disableShowingAnimatedImages: "움직이는 이미지를 자동으로 재생하지 않음"
disableShowingAnimatedImages_caption: "이 설정에 상관없이 애니메이션 이미지가 재생되지 않을 때는 브라우저·OS의 액티비티 설정이나 절전 모드 설정 등이 간섭하고 있는 경우가 있습니다."
highlightSensitiveMedia: "미디어가 민감한 내용이라는 것을 알기 쉽게 표시"
verificationEmailSent: "확인 메일을 발송하였습니다. 설정을 완료하려면 메일에 첨부된 링크를 확인해 주세요."
notSet: "설정되지 않음"
@@ -1018,6 +1026,9 @@ pushNotificationAlreadySubscribed: "푸시 알림이 이미 켜져 있습니다"
pushNotificationNotSupported: "브라우저나 서버에서 푸시 알림이 지원되지 않습니다"
sendPushNotificationReadMessage: "푸시 알림이나 메시지를 읽은 뒤 푸시 알림을 삭제"
sendPushNotificationReadMessageCaption: "「{emptyPushNotificationMessage}」이라는 알림이 잠깐 표시됩니다. 기기의 전력 소비량이 증가할 수 있습니다."
pleaseAllowPushNotification: "브라우저의 알림 설정을 허가해 주십시오."
browserPushNotificationDisabled: "알림 송신 권한 얻기에 실패했습니다."
browserPushNotificationDisabledDescription: "{serverName}에서의 알림 송신 권한이 없습니다. 브라우저의 설정에서 알림을 허가해 다시 시도해 주십시오."
windowMaximize: "최대화"
windowMinimize: "최소화"
windowRestore: "복구"
@@ -1054,6 +1065,7 @@ permissionDeniedError: "작업이 거부되었습니다"
permissionDeniedErrorDescription: "이 작업을 수행할 권한이 없습니다."
preset: "프리셋"
selectFromPresets: "프리셋에서 선택"
custom: "커스텀"
achievements: "도전 과제"
gotInvalidResponseError: "서버의 응답이 올바르지 않습니다"
gotInvalidResponseErrorDescription: " 서버가 다운되었거나 점검중일 가능성이 있습니다. 잠시후에 다시 시도해 주십시오."
@@ -1092,6 +1104,7 @@ prohibitedWordsDescription2: "공백으로 구분하면 AND 지정이 되며,
hiddenTags: "숨긴 해시태그"
hiddenTagsDescription: "설정한 태그를 트렌드에 표시하지 않도록 합니다. 줄 바꿈으로 하나씩 나눠서 설정할 수 있습니다."
notesSearchNotAvailable: "노트 검색을 이용하실 수 없습니다."
usersSearchNotAvailable: "유저 검색을 이용하실 수 없습니다."
license: "라이선스"
unfavoriteConfirm: "즐겨찾기를 해제하시겠습니까?"
myClips: "내 클립"
@@ -1166,6 +1179,7 @@ installed: "설치됨"
branding: "브랜딩"
enableServerMachineStats: "서버의 머신 사양을 공개하기"
enableIdenticonGeneration: "유저마다의 Identicon 생성 유효화"
showRoleBadgesOfRemoteUsers: "리모트 유저의 역할 배지 표시"
turnOffToImprovePerformance: "이 기능을 끄면 성능이 향상될 수 있습니다."
createInviteCode: "초대 코드 생성"
createWithOptions: "옵션을 지정하여 생성"
@@ -1243,7 +1257,7 @@ releaseToRefresh: "놓아서 새로고침"
refreshing: "새로고침 중"
pullDownToRefresh: "아래로 내려서 새로고침"
useGroupedNotifications: "알림을 그룹화하고 표시"
signupPendingError: "메일 주소 확인문제가 발생했습니다. 링크의 유효기간이 지났을 가능성이 있습니다."
emailVerificationFailedError: "메일 주소 확인에 실패했습니다. 확인에 필요한 URL의 유효기간이 지났을 가능성이 있습니다."
cwNotationRequired: "'내용을 숨기기'를 체크한 경우 주석을 써야 합니다."
doReaction: "리액션 추가"
code: "문자열"
@@ -1313,13 +1327,15 @@ availableRoles: "사용 가능한 역할"
acknowledgeNotesAndEnable: "활성화 하기 전에 주의 사항을 확인했습니다."
federationSpecified: "이 서버는 화이트 리스트 제도로 운영 중 입니다. 정해진 리모트 서버가 아닌 경우 연합되지 않습니다."
federationDisabled: "이 서버는 연합을 하지 않고 있습니다. 리모트 서버 유저와 통신을 할 수 없습니다."
draft: "초안"
draftsAndScheduledNotes: "초안과 예약 게시물"
confirmOnReact: "리액션할 때 확인"
reactAreYouSure: "\" {emoji} \"로 리액션하시겠습니까?"
markAsSensitiveConfirm: "이 미디어를 민감한 미디어로 설정하시겠습니까?"
unmarkAsSensitiveConfirm: "이 미디어의 민감한 미디어 지정을 해제하시겠습니까?"
preferences: "환경설정"
accessibility: "접근성"
preferencesProfile: "설정 프로"
preferencesProfile: "설정 프로파일"
copyPreferenceId: "설정한 ID를 복사"
resetToDefaultValue: "기본값으로 되돌리기"
overrideByAccount: "계정으로 덮어쓰기"
@@ -1332,7 +1348,7 @@ preferenceSyncConflictTitle: "서버에 설정값이 존재합니다."
preferenceSyncConflictText: "동기화를 활성화 한 항목의 설정 값은 서버에 저장되지만, 해당 항목은 이미 서버에 설정 값이 저장되어져 있습니다. 어느 쪽의 설정 값을 덮어씌울까요?"
preferenceSyncConflictChoiceMerge: "병합"
preferenceSyncConflictChoiceServer: "서버 설정값"
preferenceSyncConflictChoiceDevice: "장치 설정값"
preferenceSyncConflictChoiceDevice: "장치 설정 값"
preferenceSyncConflictChoiceCancel: "동기화 취소"
paste: "붙여넣기"
emojiPalette: "이모지 팔레트"
@@ -1340,6 +1356,8 @@ postForm: "글 입력란"
textCount: "문자 수"
information: "정보"
chat: "채팅"
directMessage: "채팅하기"
directMessage_short: "메시지"
migrateOldSettings: "기존 설정 정보를 이전"
migrateOldSettings_description: "보통은 자동으로 이루어지지만, 어떤 이유로 인해 성공적으로 이전이 이루어지지 않는 경우 수동으로 이전을 실행할 수 있습니다. 현재 설정 정보는 덮어쓰게 됩니다."
compress: "압축"
@@ -1367,22 +1385,99 @@ redisplayAllTips: "모든 '팁과 유용한 정보'를 재표시"
hideAllTips: "모든 '팁과 유용한 정보'를 비표시"
defaultImageCompressionLevel: "기본 이미지 압축 정도"
defaultImageCompressionLevel_description: "낮추면 화질을 유지합니다만 파일 크기는 증가합니다. <br>높이면 파일 크기를 줄일 수 있습니다만 화질은 저하됩니다."
defaultCompressionLevel: "기본 압축 정도 "
defaultCompressionLevel_description: "낮추면 품질을 유지합니다만 파일 크기는 증가합니다. <br>높이면 파일 크기를 줄일 수 있습니다만 품질은 저하됩니다."
inMinutes: "분"
inDays: "일"
safeModeEnabled: "세이프 모드가 활성화돼있습니다"
pluginsAreDisabledBecauseSafeMode: "세이프 모드가 활성화돼있기에 플러그인은 전부 비활성화됩니다."
customCssIsDisabledBecauseSafeMode: "세이프 모드가 활성화돼있기에 커스텀 CSS는 적용되지 않습니다."
themeIsDefaultBecauseSafeMode: "세이프 모드가 활성화돼있는 동안에는 기본 테마가 사용됩니다. 세이프 모드를 끄면 원래대로 돌아옵니다."
thankYouForTestingBeta: "베타 버전의 검증에 협력해 주셔서 감사합니다!"
createUserSpecifiedNote: "사용자 지정 노트를 작성"
schedulePost: "게시 예약"
scheduleToPostOnX: "{x}에 게시를 예약합니다."
scheduledToPostOnX: "{x}에 게시가 예약돼있습니다."
schedule: "예약"
scheduled: "예약"
widgets: "위젯"
deviceInfo: "장치 정보"
deviceInfoDescription: "기술적 문의의 경우 아래의 정보를 병기하면 문제의 해결에 도움이 됩니다."
youAreAdmin: "당신은 관리자입니다."
frame: "프레임"
presets: "프리셋"
zeroPadding: "0으로 채우기"
nothingToConfigure: "설정 항목이 없습니다."
viewRenotedChannel: "리노트된 채널 보기"
_imageEditing:
_vars:
caption: "파일 설명"
filename: "파일명"
filename_without_ext: "확장자가 없는 파일명"
year: "촬영한 해"
month: "촬영한 달"
day: "촬영한 날"
hour: "촬영한 시각(시)"
minute: "촬영한 시각(분)"
second: "촬영한 시각(초)"
camera_model: "카메라 이름"
camera_lens_model: "렌즈 이름"
camera_mm: "초점 거리"
camera_mm_35: "초점 거리(35m판 환산)"
camera_f: "조리개 조절"
camera_s: "셔터 속도"
camera_iso: "ISO 감도"
gps_lat: "위도"
gps_long: "경도"
_imageFrameEditor:
title: "프레임 편집"
tip: "이미지에 프레임이나 메타 데이터를 포함한 라벨을 추가해 장식할 수 있습니다."
header: "헤더"
footer: "꼬리말"
borderThickness: "테두리의 폭"
labelThickness: "라벨의 폭"
labelScale: "라벨의 스케일"
centered: "중앙 정렬"
captionMain: "캡션(대)"
captionSub: "캡션(소)"
availableVariables: "이용 가능한 변수"
withQrCode: "QR 코드"
backgroundColor: "배경색"
textColor: "글꼴 색상"
font: "폰트"
fontSerif: "명조체"
fontSansSerif: "고딕체"
quitWithoutSaveConfirm: "보존하지 않고 종료하시겠습니까?"
failedToLoadImage: "이미지 로드에 실패했습니다."
_compression:
_quality:
high: "고품질"
medium: "중간 품질"
low: "저품질"
_size:
large: "대형"
medium: "중형"
small: "소형"
_order:
newest: "최신 순"
oldest: "오래된 순"
_chat:
messages: "메시지"
noMessagesYet: "아직 메시지가 없습니다"
newMessage: "새로운 메시지"
individualChat: "개인 대화"
individualChat_description: "특정 유저와 일대일 채팅을 할 수 있습니다."
roomChat: " 채팅"
roomChat: "그룹 채팅"
roomChat_description: "여러 명이 함께 채팅할 수 있습니다.\n또한, 개인 채팅을 허용하지 않은 유저와도 상대방이 수락하면 채팅을 할 수 있습니다."
createRoom: "룸을 생성"
createRoom: "방 만들기"
inviteUserToChat: "유저를 초대하여 채팅을 시작하세요"
yourRooms: "생성한 룸"
joiningRooms: "참가 중인 "
yourRooms: "만들어진 방"
joiningRooms: "참가 중인 "
invitations: "초대"
noInvitations: "초대장이 없습니다"
history: "이력"
noHistory: "기록이 없습니다"
noRooms: "이 없습니다"
noRooms: "이 없습니다"
inviteUser: "유저를 초대"
sentInvitations: "초대를 보내기"
join: "참여"
@@ -1393,14 +1488,14 @@ _chat:
home: "홈"
send: "전송"
newline: "줄바꿈"
muteThisRoom: "이 을 뮤트"
deleteRoom: "을 삭제"
muteThisRoom: "이 을 뮤트하기"
deleteRoom: "을 삭제하기"
chatNotAvailableForThisAccountOrServer: "이 서버 또는 이 계정에서 채팅이 활성화되어 있지 않습니다."
chatIsReadOnlyForThisAccountOrServer: "이 서버 또는 이 계정에서 채팅은 읽기 전용입니다. 새로 쓰거나 채팅 룸을 만들거나 참가할 수 없습니다."
chatNotAvailableInOtherAccount: "상대방 계정에서 채팅 기능을 사용할 수 없는 상태입니다."
cannotChatWithTheUser: "이 유저와 채팅을 시작할 수 없습니다"
cannotChatWithTheUser_description: "채팅을 사용할 수 없는 상태이거나 상대방이 채팅을 열지 않은 상태입니다."
youAreNotAMemberOfThisRoomButInvited: "당신은 의 참가자가 아닙니다만 초대 신청을 받으셨습니다. 참가하려면 초대를 수락해주십시오."
youAreNotAMemberOfThisRoomButInvited: "이 의 참가자가 아니지만 초대를 받았습니다. 참가하려면 초대를 수락하세요."
doYouAcceptInvitation: "초대를 수락하시겠습니까?"
chatWithThisUser: "채팅하기"
thisUserAllowsChatOnlyFromFollowers: "이 유저는 팔로워만 채팅을 할 수 있습니다."
@@ -1455,23 +1550,32 @@ _settings:
contentsUpdateFrequency_description2: "실시간 모드가 켜져 있을 때는 이 설정과 상관없이 실시간으로 콘텐츠가 업데이트됩니다."
showUrlPreview: "URL 미리보기 표시"
showAvailableReactionsFirstInNote: "이용 가능한 리액션을 선두로 표시"
showPageTabBarBottom: "페이지의 탭 바를 아래쪽에 표시"
emojiPaletteBanner: "이모티콘 선택기에 고정 표시되는 프리셋을 팔레트로 등록하거나 선택기의 표시 방법을 커스터마이징할 수 있습니다."
enableAnimatedImages: "애니메이션 이미지 활성화"
settingsPersistence_title: "설정 영구화"
settingsPersistence_description1: "설정 영구화를 활성화하면 설정 정보를 잃어버리는 것을 방지할 수 있습니다."
settingsPersistence_description2: "환경에 따라 활성화되지 않을 수 있습니다."
_chat:
showSenderName: "발신자 이름 표시"
sendOnEnter: "엔터로 보내기"
_preferencesProfile:
profileName: "프로 이름"
profileName: "프로파일 이름"
profileNameDescription: "이 디바이스를 식별할 이름을 설정해 주세요."
profileNameDescription2: "예: '메인PC', '스마트폰' 등"
manageProfiles: "프로파일 관리"
shareSameProfileBetweenDevicesIsNotRecommended: "여러 장치에서 같은 프로파일을 공유하는 것은 권장하지 않습니다."
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "여러 장치에서 동기화하고 싶은 설정 항목이 있는 경우에는 개별로 '여러 장치에서 동기화' 옵션을 활성화해 주십시오."
_preferencesBackup:
autoBackup: "자동 백업"
restoreFromBackup: "백업으로 복구"
noBackupsFoundTitle: "백업을 찾을 수 없습니다"
noBackupsFoundDescription: "자동으로 생성된 백업은 찾을 수 없었지만, 수동으로 백업 파일을 저장한 경우 해당 파일을 가져와 복원할 수 있습니다."
selectBackupToRestore: "복원할 백업을 선택하세요"
youNeedToNameYourProfileToEnableAutoBackup: "자동 백업을 활성화하려면 프로 이름을 설정해야 합니다."
youNeedToNameYourProfileToEnableAutoBackup: "자동 백업을 활성화하려면 프로파일 이름을 설정해야 합니다."
autoPreferencesBackupIsNotEnabledForThisDevice: "이 장치에서 설정 자동 백업이 활성화되어 있지 않습니다."
backupFound: "설정 백업이 발견되었습니다"
forceBackup: "설정 강제 백업"
_accountSettings:
requireSigninToViewContents: "콘텐츠 열람을 위해 로그인을 필수로 설정하기"
requireSigninToViewContentsDescription1: "자신이 작성한 모든 노트 등의 콘텐츠를 보기 위해 로그인을 필수로 설정합니다. 크롤러가 정보 수집하는 것을 방지하는 효과를 기대할 수 있습니다."
@@ -1628,6 +1732,10 @@ _serverSettings:
fanoutTimelineDbFallback: "데이터베이스를 예비로 사용하기"
fanoutTimelineDbFallbackDescription: "활성화하면 타임라인의 캐시되어 있지 않은 부분에 대해 DB에 질의하여 정보를 가져옵니다. 비활성화하면 이를 실행하지 않음으로써 서버의 부하를 줄일 수 있지만, 타임라인에서 가져올 수 있는 게시물 범위가 한정됩니다."
reactionsBufferingDescription: "활성화 한 경우, 리액션 작성 퍼포먼스가 대폭 향상되어 DB의 부하를 줄일 수 있으나, Redis의 메모리 사용량이 많아집니다."
remoteNotesCleaning: "리모트 서버 노트 자동 정리 "
remoteNotesCleaning_description: "더 이상 사용되지 않는 오래된 리모트 노트를 정기적으로 정리하여, 데이터 베이스의 사용량을 절약할 수 있습니다."
remoteNotesCleaningMaxProcessingDuration: "리모트 노트 자동 정리 최대 실행 시간"
remoteNotesCleaningExpiryDaysForEachNotes: "리모트 노트 저장 최소 일수"
inquiryUrl: "문의처 URL"
inquiryUrlDescription: "서버 운영자에게 보내는 문의 양식의 URL이나 운영자의 연락처 등이 적힌 웹 페이지의 URL을 설정합니다."
openRegistration: "회원 가입을 활성화 하기"
@@ -1646,6 +1754,11 @@ _serverSettings:
userGeneratedContentsVisibilityForVisitor: "비이용자에 대한 유저 작성 콘텐츠의 공개 범위"
userGeneratedContentsVisibilityForVisitor_description: "조정을 하기 힘든 부적절한 리모트 콘텐츠 등이 자신의 서버 경유로 의도치 않게 인터넷에 공개되는 문제의 방지 등에 도움을 줍니다."
userGeneratedContentsVisibilityForVisitor_description2: "서버에서 받은 리모트 콘텐츠를 포함해 서버 내의 모든 콘텐츠를 무조건 인터넷에 공개하는 것에는 위험이 따릅니다. 특히, 분산형 특성에 대해 모르는 열람자에게는 리모트 콘텐츠여도 서버 내에서 작성된 콘텐츠라고 잘못 인식할 수 있기에 주의가 필요합니다."
restartServerSetupWizardConfirm_title: "서버의 초기 설정 위자드를 재시도하시겠습니까?"
restartServerSetupWizardConfirm_text: "현재 일부 설정은 리셋됩니다."
entrancePageStyle: "입구 페이지의 스타일"
showTimelineForVisitor: "타임라인 표시"
showActivitiesForVisitor: "액티비티 표시하기"
_userGeneratedContentsVisibilityForVisitor:
all: "모두 공개"
localOnly: "로컬 콘텐츠만 공개하고 리모트 콘텐츠는 비공개"
@@ -1968,6 +2081,7 @@ _role:
canManageAvatarDecorations: "아바타 꾸미기 관리"
driveCapacity: "드라이브 용량"
maxFileSize: "업로드 가능한 최대 파일 크기"
maxFileSize_caption: "리버스 프록시나 CDN 등 전단에서 다른 설정값이 존재하는 경우가 있습니다."
alwaysMarkNsfw: "파일을 항상 NSFW로 지정"
canUpdateBioMedia: "아바타 및 배너 이미지 변경 허용"
pinMax: "고정할 수 있는 노트 수"
@@ -1982,6 +2096,7 @@ _role:
descriptionOfRateLimitFactor: "작을수록 제한이 완화되고, 클수록 제한이 강화됩니다."
canHideAds: "광고 숨기기"
canSearchNotes: "노트 검색 이용 가능 여부"
canSearchUsers: "유저 검색 이용"
canUseTranslator: "번역 기능의 사용"
avatarDecorationLimit: "아바타 장식의 최대 붙임 개수"
canImportAntennas: "안테나 가져오기 허용"
@@ -1993,6 +2108,9 @@ _role:
uploadableFileTypes: "업로드 가능한 파일 유형"
uploadableFileTypes_caption: "MIME 유형을 "
uploadableFileTypes_caption2: "파일에 따라서는 유형을 검사하지 못하는 경우가 있습니다. 그러한 파일을 허가하는 경우에는 {x}를 지정으로 추가해주십시오."
noteDraftLimit: "서버측 노트 초안 작성 가능 수"
scheduledNoteLimit: "예약 게시물의 동시 작성 가능 수"
watermarkAvailable: "워터마크 기능의 사용 여부"
_condition:
roleAssignedTo: "수동 역할에 이미 할당됨"
isLocal: "로컬 유저"
@@ -2152,6 +2270,7 @@ _theme:
install: "테마 설치"
manage: "테마 관리"
code: "테마 코드"
copyThemeCode: "테마 코드 복사"
description: "설명"
installed: "{name} 테마가 설치되었습니다"
installedThemes: "설치된 테마"
@@ -2251,6 +2370,7 @@ _time:
minute: "분"
hour: "시간"
day: "일"
month: "개월"
_2fa:
alreadyRegistered: "이미 설정이 완료되었습니다."
registerTOTP: "인증 앱 설정 시작"
@@ -2380,6 +2500,7 @@ _auth:
scopeUser: "다음 유저로 활동하고 있습니다."
pleaseLogin: "어플리케이션의 접근을 허가하려면 로그인하십시오."
byClickingYouWillBeRedirectedToThisUrl: "접근을 허용하면 자동으로 다음 URL로 이동합니다."
alreadyAuthorized: "이 애플리케이션은 이미 접근이 허가돼있습니다."
_antennaSources:
all: "모든 노트"
homeTimeline: "팔로우중인 유저의 노트"
@@ -2424,8 +2545,46 @@ _widgets:
_userList:
chooseList: "리스트 선택"
clicker: "클리커"
birthdayFollowings: "오늘이 생일인 유저"
chat: "채팅"
birthdayFollowings: " 생일인 사용자"
chat: "채팅하기"
_widgetOptions:
showHeader: "해더를 표시"
transparent: "배경을 투명하게 설정"
height: "높이"
_button:
colored: "색 입히기"
_clock:
size: "크기"
thickness: "시곗바늘의 두께"
thicknessThin: "얇게"
thicknessMedium: "보통"
thicknessThick: "굵게"
graduations: "문자반의 눈금"
graduationDots: "도트"
graduationArabic: "아라비아 숫자"
fadeGraduations: "눈금 페이드"
sAnimation: "초침 애니메이션"
sAnimationElastic: "사실적으로"
sAnimationEaseOut: "매끄럽게"
twentyFour: "24시간 표시"
labelTime: "시각"
labelTz: "시간대"
labelTimeAndTz: "시각과 시간대"
timezone: "시간대"
showMs: "밀리초 표시"
showLabel: "레이블 표시"
_jobQueue:
sound: "소리 재생"
_rss:
url: "RSS 필드의 URL"
refreshIntervalSec: "갱신 간격(초)"
maxEntries: "최대 표시 건수"
_rssTicker:
shuffle: "표시 순서 셔플"
duration: "티커 스크롤 속도(초)"
reverse: "역방향으로 스크롤"
_birthdayFollowings:
period: "기간"
_cw:
hide: "숨기기"
show: "더 보기"
@@ -2470,6 +2629,20 @@ _postForm:
replyPlaceholder: "이 노트에 답글..."
quotePlaceholder: "이 노트를 인용..."
channelPlaceholder: "채널에 게시하기..."
showHowToUse: "입력란의 설명 표시"
_howToUse:
content_title: "본문"
content_description: "게시할 내용을 입력합니다."
toolbar_title: "도구 모음"
toolbar_description: "파일이나 설문의 첨부, 주석이나 해시태그 설정, 이모티콘이나 멘션의 삽입 등을 할 수 있습니다."
account_title: "계정 메뉴"
account_description: "게시할 계정을 교체하거나, 계정에 보존한 초안 및 예약 게시물을 목록으로 볼 수 있습니다."
visibility_title: "공개 범위"
visibility_description: "노트 공개 범위의 설정을 할 수 있습니다."
menu_title: "메뉴"
menu_description: "초안의 보존, 게시 예약, 리액션의 설정 등 그 외의 액션을 할 수 있습니다."
submit_title: "게시 버튼"
submit_description: "노트를 게시합니다. Ctrl + Enter / Cmd + Enter로도 게시할 수 있습니다."
_placeholders:
a: "지금 무엇을 하고 있나요?"
b: "무슨 일이 일어나고 있나요?"
@@ -2615,10 +2788,12 @@ _notification:
youReceivedFollowRequest: "새로운 팔로우 요청이 있습니다"
yourFollowRequestAccepted: "팔로우 요청이 수락되었습니다"
pollEnded: "투표 결과가 발표되었습니다"
scheduledNotePosted: "예약 노트가 게시됐습니다."
scheduledNotePostFailed: "예약 노트의 게시에 실패했습니다."
newNote: "새 게시물"
unreadAntennaNote: "안테나 {name}"
roleAssigned: "역할이 부여 되었습니다."
chatRoomInvitationReceived: "채팅에 초대받았습니다"
chatRoomInvitationReceived: "채팅에 초대되었습니다"
emptyPushNotificationMessage: "푸시 알림이 갱신되었습니다"
achievementEarned: "도전 과제를 달성했습니다"
testNotification: "알림 테스트"
@@ -2644,10 +2819,12 @@ _notification:
quote: "인용"
reaction: "리액션"
pollEnded: "투표가 종료됨"
scheduledNotePosted: "예약 게시에 성공했습니다"
scheduledNotePostFailed: "예약 게시에 실패했습니다"
receiveFollowRequest: "팔로우 요청을 받았을 때"
followRequestAccepted: "팔로우 요청이 승인되었을 때"
roleAssigned: "역할이 부여됨"
chatRoomInvitationReceived: "채팅에 초대받음"
chatRoomInvitationReceived: "채팅에 초대"
achievementEarned: "도전 과제 획득"
exportCompleted: "추출을 성공함"
login: "로그인"
@@ -2682,7 +2859,15 @@ _deck:
useSimpleUiForNonRootPages: "루트 이외의 페이지로 접속한 경우 UI 간략화하기"
usedAsMinWidthWhenFlexible: "'폭 자동 조정'이 활성화된 경우 최소 폭으로 사용됩니다"
flexible: "폭 자동 조정"
enableSyncBetweenDevicesForProfiles: "프로파일 정보의 디바이스 간 동기화를 활성화"
enableSyncBetweenDevicesForProfiles: "프로파일 정보의 장치 간 동기화를 활성화"
showHowToUse: "UI 설명 보기"
_howToUse:
addColumn_title: "칼럼 추가"
addColumn_description: "칼럼의 종류를 선택해 추가할 수 있습니다."
settings_title: "UI 설정"
settings_description: "덱 UI의 상세 설정을 할 수 있습니다."
switchProfile_title: "프로파일 전환"
switchProfile_description: "UI의 레이아웃을 프로파일로 저장하고 언제든지 전환할 수 있습니다."
_columns:
main: "메인"
widgets: "위젯"
@@ -2694,7 +2879,7 @@ _deck:
mentions: "받은 멘션"
direct: "다이렉트"
roleTimeline: "역할 타임라인"
chat: "채팅"
chat: "채팅하기"
_dialog:
charactersExceeded: "최대 글자수를 초과하였습니다! 현재 {current} / 최대 {max}"
charactersBelow: "최소 글자수 미만입니다! 현재 {current} / 최소 {min}"
@@ -2743,6 +2928,8 @@ _abuseReport:
notifiedWebhook: "사용할 Webhook"
deleteConfirm: "수신자를 삭제하시겠습니까?"
_moderationLogTypes:
clearQueue: "작업 대기열 비우기"
promoteQueue: "큐의 작업을 재시도"
createRole: "역할 생성"
deleteRole: "역할 삭제"
updateRole: "역할 수정"
@@ -2791,7 +2978,7 @@ _moderationLogTypes:
deletePage: "페이지를 삭제"
deleteFlash: "Play를 삭제"
deleteGalleryPost: "갤러리 게시물을 삭제"
deleteChatRoom: "채팅 삭제"
deleteChatRoom: "채팅 삭제하기"
updateProxyAccountDescription: "프록시 계정의 설명 업데이트"
_fileViewer:
title: "파일 상세"
@@ -2800,6 +2987,7 @@ _fileViewer:
url: "URL"
uploadedAt: "업로드 날짜"
attachedNotes: "첨부된 노트"
usage: "이용"
thisPageCanBeSeenFromTheAuthor: "이 페이지는 파일 소유자만 열람할 수 있습니다"
_externalResourceInstaller:
title: "외부 사이트로부터 설치"
@@ -3052,6 +3240,7 @@ _bootErrors:
otherOption1: "클라이언트 설정 및 캐시 삭제"
otherOption2: "간편 클라이언트 실행"
otherOption3: "복구 툴 실행"
otherOption4: "Misskey를 세이프 모드로 열기"
_search:
searchScopeAll: "전체"
searchScopeLocal: "로컬"
@@ -3088,6 +3277,8 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "분산형 서버로 구성된 네트워크(Fediverse)에 접속하면 다른 서버와 서로 콘텐츠의 주고받기를 할 수 있습니다."
doYouConnectToFediverse_description2: "Fediverse에 접속하는 것을 '연합'이라고도 부릅니다."
youCanConfigureMoreFederationSettingsLater: "나중에 연합 가능한 서버의 지정 등 고급 설정을 할 수 있습니다."
remoteContentsCleaning: "리모트 콘텐츠 자동 정리"
remoteContentsCleaning_description: "연합 중인 서버가 있는 경우, 리모트 서버에서 대단히 많은 콘텐츠를 받아오게 됩니다. 자동 정리 기능을 활성화하면, 오래되고 서버에서 더 이상 조회되지 않는 콘텐츠를 자동으로 서버에서 삭제하여, 스토리지를 절약할 수 있습니다."
adminInfo: "관리자 정보"
adminInfo_description: "문의 접수를 위해 사용되는 관리자 정보를 설정합니다."
adminInfo_mustBeFilled: "오픈 서버 혹은 연합이 켜져 있는 경우 반드시 입력해야 합니다."
@@ -3103,6 +3294,7 @@ _serverSetupWizard:
text2: "앞으로도 계속해서 개발을 할 수 있도록 괜찮으시다면 부디 기부를 부탁드립니다."
text3: "지원자 대상 특전도 있습니다!"
_uploader:
editImage: "이미지 편집"
compressedToX: "{x}로 압축"
savedXPercent: "{x}% 절약"
abortConfirm: "업로드되지 않은 파일이 있습니다만, 그만 두시겠습니까?"
@@ -3132,17 +3324,20 @@ _watermarkEditor:
title: "워터마크 편집"
cover: "전체에 붙이기"
repeat: "전면에 깔기"
preserveBoundingRect: "회전 시 빠져나오지 않도록 조정"
opacity: "불투명도"
scale: "크기"
text: "텍스트"
qr: "QR 코드"
position: "위치"
margin: "여백"
type: "종류"
image: "이미지"
advanced: "고급"
angle: "각도"
stripe: "줄무늬"
stripeWidth: "라인의 폭"
stripeFrequency: "라인의 수"
angle: "각도"
polkadot: "물방울 무늬"
checker: "체크 무늬"
polkadotMainDotOpacity: "주요 물방울의 불투명도"
@@ -3150,16 +3345,21 @@ _watermarkEditor:
polkadotSubDotOpacity: "서브 물방울의 불투명도"
polkadotSubDotRadius: "서브 물방울의 크기"
polkadotSubDotDivisions: "서브 물방울의 수"
leaveBlankToAccountUrl: "빈칸일 경우 계정의 URL로 됩니다."
failedToLoadImage: "이미지 로딩에 실패했습니다."
_imageEffector:
title: "이펙트"
addEffect: "이펙트를 추가"
discardChangesConfirm: "변경을 취소하고 종료하시겠습니까?"
failedToLoadImage: "이미지 로딩에 실패했습니다."
_fxs:
chromaticAberration: "색수차"
glitch: "글리치"
mirror: "미러"
invert: "색 반전"
grayscale: "흑백"
blur: "흐림 효과"
pixelate: "모자이크"
colorAdjust: "색조 보정"
colorClamp: "색 압축"
colorClampAdvanced: "색 압축(고급)"
@@ -3171,3 +3371,72 @@ _imageEffector:
checker: "체크 무늬"
blockNoise: "노이즈 방지"
tearing: "티어링"
fill: "채우기"
_fxProps:
angle: "각도"
scale: "크기"
size: "크기"
radius: "반지름"
samples: "샘플 수"
offset: "위치"
color: "색"
opacity: "불투명도"
normalize: "노멀라이즈"
amount: "양"
lightness: "밝음"
contrast: "대비"
hue: "색조"
brightness: "밝기"
saturation: "채도"
max: "최대 값"
min: "최소 값"
direction: "방향"
phase: "위상"
frequency: "빈도"
strength: "강도"
glitchChannelShift: "글리치"
seed: "시드 값"
redComponent: "빨간색 요소"
greenComponent: "녹색 요소"
blueComponent: "파란색 요소"
threshold: "한계 값"
centerX: "X축 중심"
centerY: "Y축 중심"
density: "밀도"
zoomLinesOutlineThickness: "선 그림자의 굵기"
zoomLinesMaskSize: "중앙 값"
circle: "원형"
drafts: "초안"
_drafts:
select: "초안 선택"
cannotCreateDraftAnymore: "초안 작성 가능 수를 초과했습니다."
cannotCreateDraft: "이 내용으로는 초안을 작성할 수 없습니다. "
delete: "초안 삭제\n"
deleteAreYouSure: "초안을 삭제하시겠습니까?"
noDrafts: "초안 없음\n"
replyTo: "{user}에 회신"
quoteOf: "{user} 노트에 인용"
postTo: "{channel}에 게시"
saveToDraft: "초안에 저장"
restoreFromDraft: "초안에서 복원\n"
restore: "복원"
listDrafts: "초안 목록"
schedule: "게시 예약"
listScheduledNotes: "예약 게시물 목록"
cancelSchedule: "예약 해제"
qr: "QR 코드"
_qr:
showTabTitle: "보기"
readTabTitle: "읽어들이기"
shareTitle: "{name} {acct}"
shareText: "Fediverse로 저를 팔로우해 주세요!"
chooseCamera: "카메라 선택"
cannotToggleFlash: "플래시 선택 불가"
turnOnFlash: "플래시 켜기"
turnOffFlash: "플래시 끄기"
startQr: "코드 리더 재개"
stopQr: "코드 리더 정지"
noQrCodeFound: "QR 코드를 찾을 수 없습니다."
scanFile: "단말기의 이미지 스캔"
raw: "텍스트"
mfm: "MFM"

View File

@@ -5,6 +5,7 @@ introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນຊອ
poweredByMisskeyDescription: "{name} ແມ່ນສ່ວນໜຶ່ງຂອງການບໍລິການທີ່ຂັບເຄື່ອນໂດຍແພລດຟອມ open source. <b>Misskey</b> (ເອີ້ນວ່າ \"Misskey instance\")"
monthAndDay: "ເດືອນ{month} / ວັນ{day}"
search: "ຄົ້ນຫາ"
reset: "ຣີເຊັດ"
notifications: "ການແຈ້ງເຕືອນ"
username: "ຊື່ຜູ້ໃຊ້"
password: "ລະຫັດຜ່ານ"
@@ -393,6 +394,9 @@ file: "ໄຟລ໌"
replies: "ຕອບ​ກັບ"
renotes: "Renote"
information: "ກ່ຽວກັບ"
_imageEditing:
_vars:
filename: "ຊື່ໄຟລ໌"
_chat:
invitations: "ເຊີນ"
noHistory: "​ບໍ່​ມີປະຫວັດ"
@@ -428,11 +432,17 @@ _widgets:
jobQueue: "ຄິວວຽກ"
_userList:
chooseList: "ເລືອກບັນຊີລາຍການ"
_widgetOptions:
height: "ຄວາມສູງ"
_cw:
show: "ໂຫຼດເພີ່ມເຕີມ"
_visibility:
home: "ໜ້າຫຼັກ"
followers: "ຜູ້ຕິດຕາມ"
specified: "ໂພສ Direct note"
_postForm:
_howToUse:
menu_title: "ເມນູ"
_profile:
name: "ຊື່"
username: "ຊື່ຜູ້ໃຊ້"
@@ -470,6 +480,7 @@ _deck:
list: "ລາຍການ"
channel: "ຊ່ອງ"
mentions: "ກ່າວເຖິງເຈົ້າ"
direct: "ໂພສ Direct note"
_webhookSettings:
name: "ຊື່"
_abuseReport:

View File

@@ -970,6 +970,9 @@ renotes: "Herdelen"
followingOrFollower: "Gevolgd of volger"
confirmShowRepliesAll: "Dit is een onomkeerbare operatie. Weet je zeker dat reacties op anderen van iedereen die je volgt, wil weergeven in je tijdlijn?"
information: "Over"
_imageEditing:
_vars:
filename: "Bestandsnaam"
_chat:
invitations: "Uitnodigen"
noHistory: "Geen geschiedenis gevonden"
@@ -1014,11 +1017,18 @@ _widgets:
jobQueue: "Job Queue"
_userList:
chooseList: "Kies een lijst."
_widgetOptions:
height: "Hoogte"
_cw:
show: "Laad meer"
_visibility:
home: "Startpagina"
followers: "Volgers"
specified: "Directe notities"
_postForm:
_howToUse:
visibility_title: "Zichtbaarheid"
menu_title: "Menu"
_profile:
name: "Naam"
username: "Gebruikersnaam"
@@ -1061,6 +1071,7 @@ _deck:
list: "Lijsten"
channel: "Kanalen"
mentions: "Vermeldingen"
direct: "Directe notities"
_webhookSettings:
name: "Naam"
active: "Ingeschakeld"
@@ -1081,3 +1092,5 @@ _search:
_watermarkEditor:
image: "Afbeeldingen"
advanced: "Geavanceerd"
_qr:
showTabTitle: "Weergave"

View File

@@ -461,6 +461,14 @@ replies: "Svar"
renotes: "Renote"
surrender: "Avbryt"
information: "Informasjon"
inMinutes: "Minutter"
inDays: "Dager"
_imageEditing:
_vars:
filename: "Filnavn"
_imageFrameEditor:
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_chat:
invitations: "Inviter"
members: "Medlemmer"
@@ -631,6 +639,10 @@ _widgets:
userList: "Brukerliste"
_userList:
chooseList: "Velg liste"
_widgetOptions:
height: "Høyde"
_clock:
size: "Størrelse"
_cw:
hide: "Skjul"
show: "Vis mer"
@@ -648,6 +660,8 @@ _visibility:
home: "Hjem"
followers: "Følgere"
_postForm:
_howToUse:
menu_title: "Meny"
_placeholders:
a: "Hva skjer?"
_profile:
@@ -740,3 +754,10 @@ _watermarkEditor:
text: "Tekst"
type: "Type"
image: "Bilder"
_imageEffector:
_fxProps:
scale: "Størrelse"
size: "Størrelse"
color: "Farge"
_qr:
raw: "Tekst"

View File

@@ -1,3 +0,0 @@
{
"type": "module"
}

View File

@@ -1040,6 +1040,18 @@ surrender: "Odrzuć"
gameRetry: "Spróbuj ponownie"
postForm: "Formularz tworzenia wpisu"
information: "Informacje"
inMinutes: "minuta"
inDays: "dzień"
widgets: "Widżety"
presets: "Konfiguracja"
_imageEditing:
_vars:
filename: "Nazwa pliku"
_imageFrameEditor:
header: "Nagłówek"
font: "Czcionka"
fontSerif: "Szeryfowa"
fontSansSerif: "Bezszeryfowa"
_chat:
invitations: "Zaproś"
noHistory: "Brak historii"
@@ -1349,6 +1361,14 @@ _widgets:
_userList:
chooseList: "Wybierz listę"
clicker: "Clicker"
_widgetOptions:
height: "Wysokość"
_button:
colored: "Kolorowe"
_clock:
size: "Rozmiar"
_birthdayFollowings:
period: "Czas trwania"
_cw:
hide: "Ukryj"
show: "Załaduj więcej"
@@ -1390,6 +1410,9 @@ _postForm:
replyPlaceholder: "Odpowiedz na ten wpis..."
quotePlaceholder: "Zacytuj ten wpis…"
channelPlaceholder: "Publikuj na kanale..."
_howToUse:
visibility_title: "Widoczność"
menu_title: "Menu"
_placeholders:
a: "Co się dzieje?"
b: "Co się wydarzyło?"
@@ -1591,3 +1614,13 @@ _watermarkEditor:
type: "Typ"
image: "Zdjęcia"
advanced: "Zaawansowane"
_imageEffector:
_fxProps:
scale: "Rozmiar"
size: "Rozmiar"
color: "Kolor"
opacity: "Przezroczystość"
lightness: "Rozjaśnij"
_qr:
showTabTitle: "Wyświetlanie"
raw: "Tekst"

View File

@@ -253,6 +253,7 @@ noteDeleteConfirm: "Deseja excluir esta nota?"
pinLimitExceeded: "Não é possível fixar novas notas"
done: "Concluído"
processing: "Em Progresso"
preprocessing: "Preparando..."
preview: "Pré-visualizar"
default: "Predefinição"
defaultValueIs: "Predefinição: {value}"
@@ -298,6 +299,7 @@ uploadFromUrl: "Enviar por URL"
uploadFromUrlDescription: "URL do arquivo que você deseja enviar"
uploadFromUrlRequested: "Upload solicitado"
uploadFromUrlMayTakeTime: "Pode levar algum tempo para que o upload seja concluído."
uploadNFiles: "Enviar {n} arquivos"
explore: "Explorar"
messageRead: "Lida"
noMoreHistory: "Não existe histórico anterior"
@@ -326,6 +328,7 @@ dark: "Escuro"
lightThemes: "Tema claro"
darkThemes: "Tema escuro"
syncDeviceDarkMode: "Sincronize com o modo escuro do dispositivo"
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" está ativado. Você gostaria de desligar a sincronização e alterar manualmente?"
drive: "Drive"
fileName: "Nome do Ficheiro"
selectFile: "Selecione os arquivos"
@@ -444,7 +447,7 @@ exploreUsersCount: "Há um utilizador de {count}"
exploreFediverse: "Explorar Fediverse"
popularTags: "Tags populares"
userList: "Listas"
about: "Informações"
about: "Sobre"
aboutMisskey: "Sobre Misskey"
administrator: "Administrador"
token: "Símbolo"
@@ -578,6 +581,7 @@ newNoteRecived: "Nova nota recebida"
newNote: "Nova Nota"
sounds: "Sons"
sound: "Sons"
notificationSoundSettings: "Configurações de som de notificações"
listen: "Ouvir"
none: "Nenhum"
showInPage: "Ver na página"
@@ -999,6 +1003,7 @@ failedToUpload: "Falha ao enviar"
cannotUploadBecauseInappropriate: "Esse arquivo não pôde ser enviado porque partes dele foram detectadas como potencialmente inapropriadas."
cannotUploadBecauseNoFreeSpace: "Envio falhou devido à falta de capacidade no Drive."
cannotUploadBecauseExceedsFileSizeLimit: "Não é possível realizar o upload deste arquivo porque ele excede o tamanho máximo permitido."
cannotUploadBecauseUnallowedFileType: "Não foi possível fazer o envio, pois o formato do arquivo não foi autorizado."
beta: "Beta"
enableAutoSensitive: "Marcar automaticamente como conteúdo sensível"
enableAutoSensitiveDescription: "Quando disponível, a marcação de mídia sensível será automaticamente atribuído ao conteúdo de mídia usando aprendizado de máquina. Mesmo que você desative essa função, em alguns servidores, isso pode ser configurado automaticamente."
@@ -1050,6 +1055,7 @@ permissionDeniedError: "Operação recusada"
permissionDeniedErrorDescription: "Esta conta não tem permissão para executar esta ação."
preset: "Predefinições"
selectFromPresets: "Escolher de predefinições"
custom: "Personalizado"
achievements: "Conquistas"
gotInvalidResponseError: "Resposta do servidor inválida"
gotInvalidResponseErrorDescription: "Servidor fora do ar ou em manutenção. Favor tentar mais tarde."
@@ -1088,6 +1094,7 @@ prohibitedWordsDescription2: "Utilizar espaços irá criar expressões aditivas
hiddenTags: "Hashtags escondidas"
hiddenTagsDescription: "Selecione tags que não serão exibidas na lista de destaques. Várias tags podem ser escolhidas, separadas por linha."
notesSearchNotAvailable: "A pesquisa de notas está indisponível."
usersSearchNotAvailable: "Pesquisa de usuário está indisponível."
license: "Licença"
unfavoriteConfirm: "Deseja realmente remover dos favoritos?"
myClips: "Meus clipes"
@@ -1239,7 +1246,7 @@ releaseToRefresh: "Solte para atualizar"
refreshing: "Atualizando..."
pullDownToRefresh: "Puxe para baixo para atualizar"
useGroupedNotifications: "Agrupar notificações"
signupPendingError: "Houve um problema ao verificar o endereço de email. O link pode ter expirado."
emailVerificationFailedError: "Houve um problema ao verificar seu endereço de email. O link pode ter expirado."
cwNotationRequired: "Se \"Esconder conteúdo\" está habilitado, uma descrição deve ser adicionada."
doReaction: "Adicionar reação"
code: "Código"
@@ -1309,6 +1316,8 @@ availableRoles: "Cargos disponíveis"
acknowledgeNotesAndEnable: "Ative após compreender as precauções."
federationSpecified: "Esse servidor opera com uma lista branca de federação. Interagir com servidores diferentes daqueles designados pela administração não é permitido."
federationDisabled: "Federação está desabilitada nesse servidor. Você não pode interagir com usuários de outros servidores."
draft: "Rascunhos"
draftsAndScheduledNotes: "Rascunhos e notas agendadas."
confirmOnReact: "Confirmar ao reagir"
reactAreYouSure: "Você deseja adicionar uma reação \"{emoji}\"?"
markAsSensitiveConfirm: "Você deseja definir essa mídia como sensível?"
@@ -1326,6 +1335,7 @@ restore: "Redefinir"
syncBetweenDevices: "Sincronizar entre dispositivos"
preferenceSyncConflictTitle: "O valor configurado já existe no servidor."
preferenceSyncConflictText: "As preferências com a sincronização ativada irão salvar os seus valores no servidor. Porém, já existem valores no servidor. Qual conjunto de valores você deseja sobrescrever?"
preferenceSyncConflictChoiceMerge: "Combinar"
preferenceSyncConflictChoiceServer: "Valor configurado no servidor"
preferenceSyncConflictChoiceDevice: "Valor configurado no dispositivo"
preferenceSyncConflictChoiceCancel: "Cancelar a habilitação de sincronização"
@@ -1333,8 +1343,10 @@ paste: "Colar"
emojiPalette: "Paleta de emojis"
postForm: "Campo de postagem"
textCount: "Contagem de caracteres"
information: "Informações"
information: "Sobre"
chat: "Conversas"
directMessage: "Conversar com usuário"
directMessage_short: "Mensagem"
migrateOldSettings: "Migrar configurações antigas de cliente"
migrateOldSettings_description: "Isso deve ser feito automaticamente. Caso o processo de migração tenha falhado, você pode acioná-lo manualmente. As informações atuais de migração serão substituídas."
compress: "Comprimir"
@@ -1356,7 +1368,53 @@ emojiMute: "Silenciar emoji"
emojiUnmute: "Reativar emoji"
muteX: "Silenciar {x}"
unmuteX: "Reativar {x}"
abort: "Abortar"
tip: "Dicas e Truques"
redisplayAllTips: "Mostrar todas as \"Dicas e Truques\" novamente"
hideAllTips: "Ocultas todas as \"Dicas e Truques\""
defaultImageCompressionLevel: "Nível de compressão de imagem padrão"
defaultImageCompressionLevel_description: "Alto, reduz o tamanho do arquivo mas, também, a qualidade da imagem.<br>Alto, reduz o tamanho do arquivo mas, também, a qualidade da imagem."
defaultCompressionLevel: "Nível padrão de compressão"
defaultCompressionLevel_description: "Menor compressão preserva a qualidade mas aumenta o tamanho do arquivo.<br>Maior compressão reduz o tamanho do arquivo mas diminui a qualidade."
inMinutes: "Minuto(s)"
inDays: "Dia(s)"
safeModeEnabled: "Modo seguro está habilitado"
pluginsAreDisabledBecauseSafeMode: "Todos os plugins estão desabilitados porque o modo seguro está habilitado."
customCssIsDisabledBecauseSafeMode: "CSS personalizado não está aplicado porque o modo seguro está habilitado."
themeIsDefaultBecauseSafeMode: "Enquanto o modo seguro estiver ativo, o tema padrão é utilizado. Desabilitar o modo seguro reverterá essas mudanças."
thankYouForTestingBeta: "Obrigado por nos ajudar a testar a versão beta!"
createUserSpecifiedNote: "Criar uma nota direta"
schedulePost: "Agendar publicação"
scheduleToPostOnX: "Agendar nota para {x}"
scheduledToPostOnX: "A nota está agendada para {x}"
schedule: "Agendar"
scheduled: "Agendado"
widgets: "Widgets"
presets: "Predefinições"
_imageEditing:
_vars:
filename: "Nome do Ficheiro"
_imageFrameEditor:
header: "Cabeçalho"
withQrCode: "Código QR"
font: "Fonte"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
quitWithoutSaveConfirm: "Descartar mudanças?"
_compression:
_quality:
high: "Qualidade alta"
medium: "Qualidade média"
low: "Qualidade baixa"
_size:
large: "Tamanho grande"
medium: "Tamanho médio"
small: "Tamanho pequeno"
_order:
newest: "Priorizar Mais Novos"
oldest: "Priorizar Mais Antigos"
_chat:
messages: "Mensagem"
noMessagesYet: "Ainda não há mensagens"
newMessage: "Nova mensagem"
individualChat: "Conversa Particular"
@@ -1442,6 +1500,9 @@ _settings:
contentsUpdateFrequency: "Frequência da obtenção de conteúdo"
contentsUpdateFrequency_description: "Quanto maior o valor, mais o conteúdo atualiza. Porém, há uma diminuição do desempenho e aumento do tráfego e consumo de memória."
contentsUpdateFrequency_description2: "Quando o modo tempo-real está ativado, o conteúdo é atualizado em tempo real, ignorando essa opção."
showUrlPreview: "Exibir prévia de URL"
showAvailableReactionsFirstInNote: "Exibir reações disponíveis no topo."
showPageTabBarBottom: "Mostrar barra de aba da página inferiormente"
_chat:
showSenderName: "Exibir nome de usuário do remetente"
sendOnEnter: "Pressionar Enter para enviar"
@@ -1615,6 +1676,10 @@ _serverSettings:
fanoutTimelineDbFallback: "\"Fallback\" ao banco de dados"
fanoutTimelineDbFallbackDescription: "Quando habilitado, a linha do tempo irá recuar ao banco de dados caso consultas adicionais sejam feitas e ela não estiver em cache. Quando desabilitado, o impacto no servidor será reduzido ao eliminar o recuo, mas limita a quantidade de linhas do tempo que podem ser recebidas."
reactionsBufferingDescription: "Quando ativado, o desempenho durante a criação de uma reação será melhorado substancialmente, reduzindo a carga do banco de dados. Porém, a o uso de memória do Redis irá aumentar."
remoteNotesCleaning: "Limpeza automática de notas remotas"
remoteNotesCleaning_description: "Quando habilitado, notas remotas obsoletas e não utilizadas serão periodicamente limpadas para previnir sobrecarga no banco de dados."
remoteNotesCleaningMaxProcessingDuration: "Maximizar tempo de processamento da limpeza"
remoteNotesCleaningExpiryDaysForEachNotes: "Mínimo de dias para retenção de notas"
inquiryUrl: "URL de inquérito"
inquiryUrlDescription: "Especifique um URL para um formulário de inquérito para a administração ou uma página web com informações de contato."
openRegistration: "Abrir a criação de contas"
@@ -1633,6 +1698,11 @@ _serverSettings:
userGeneratedContentsVisibilityForVisitor: "Visibilidade de conteúdo dos usuários para visitantes"
userGeneratedContentsVisibilityForVisitor_description: "Isso é útil para prevenir problemas causados por conteúdo inapropriado de usuários remotos de servidores com pouca ou nenhuma moderação, que pode ser hospedado na internet a partir desse servidor."
userGeneratedContentsVisibilityForVisitor_description2: "Publicar todo o conteúdo do servidor para a internet pode ser arriscado. Isso é especialmente importante para visitantes que desconhecem a natureza distribuída do conteúdo na internet, pois eles podem acreditar que o conteúdo remoto é criado por usuários desse servidor."
restartServerSetupWizardConfirm_title: "Reiniciar o assistente de configuração?"
restartServerSetupWizardConfirm_text: "Algumas configurações atuais serão reiniciadas."
entrancePageStyle: "Estilo da página de entrada"
showTimelineForVisitor: "Mostrar linha do tempo"
showActivitiesForVisitor: "Mostrar atividades"
_userGeneratedContentsVisibilityForVisitor:
all: "Tudo é público"
localOnly: "Conteúdo local é publicado, conteúdo remoto é privado"
@@ -1969,6 +2039,7 @@ _role:
descriptionOfRateLimitFactor: "Valores menores são menos restritivos, valores maiores são mais restritivos."
canHideAds: "Permitir ocultar anúncios"
canSearchNotes: "Permitir a busca de notas"
canSearchUsers: "Busca de usuário"
canUseTranslator: "Uso do tradutor"
avatarDecorationLimit: "Número máximo de decorações de avatar que podem ser aplicadas"
canImportAntennas: "Permitir importação de antenas"
@@ -1977,6 +2048,12 @@ _role:
canImportMuting: "Permitir importação de silenciamentos"
canImportUserLists: "Permitir importação de listas"
chatAvailability: "Permitir Conversas"
uploadableFileTypes: "Tipos de arquivo enviáveis"
uploadableFileTypes_caption: "Especifica tipos MIME permitidos. Múltiplos tipos MIME podem ser especificados separando-os por linha. Curingas podem ser especificados com um asterisco (*). (exemplo, image/*)"
uploadableFileTypes_caption2: "Alguns tipos de arquivos podem não ser detectados. Para permiti-los, adicione {x} à especificação."
noteDraftLimit: "Limite de rascunhos possíveis"
scheduledNoteLimit: "Número máximo de notas agendadas simultâneas"
watermarkAvailable: "Disponibilidade da função de marca d'água"
_condition:
roleAssignedTo: "Atribuído a cargos manuais"
isLocal: "Usuário local"
@@ -2136,6 +2213,7 @@ _theme:
install: "Instalar um tema"
manage: "Gerenciar temas"
code: "Código do tema"
copyThemeCode: "Copiar código do tema"
description: "Descrição"
installed: "{name} foi instalado"
installedThemes: "Temas instalados"
@@ -2235,6 +2313,7 @@ _time:
minute: "Minuto(s)"
hour: "Hora(s)"
day: "Dia(s)"
month: "Mês(es)"
_2fa:
alreadyRegistered: "Você já cadastrou um dispositivo de autenticação de dois fatores."
registerTOTP: "Cadastrar aplicativo autenticador"
@@ -2409,7 +2488,16 @@ _widgets:
chooseList: "Selecione uma lista"
clicker: "Clicker"
birthdayFollowings: "Usuários de aniversário hoje"
chat: "Conversas"
chat: "Conversar com usuário"
_widgetOptions:
showHeader: "Exibir cabeçalho"
height: "Altura"
_button:
colored: "Colorido"
_clock:
size: "Tamanho"
_birthdayFollowings:
period: "Duração"
_cw:
hide: "Esconder"
show: "Carregar mais"
@@ -2449,9 +2537,14 @@ _visibility:
disableFederation: "Defederar"
disableFederationDescription: "Não transmitir às outras instâncias"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "Há arquivos que não foram enviados, gostaria de descartá-los e fechar o editor?"
uploaderTip: "O arquivo ainda não foi enviado. No menu do arquivo, você pode renomear, cortar, adicionar uma marca d'água, comprimir ou descomprimir um arquivo. Arquivos serão enviados automaticamente ao publicar a nota."
replyPlaceholder: "Responder a essa nota..."
quotePlaceholder: "Citar essa nota..."
channelPlaceholder: "Postar em canal..."
_howToUse:
visibility_title: "Visibilidade"
menu_title: "Menu\n"
_placeholders:
a: "Como vão as coisas?"
b: "O que está rolando por aí?"
@@ -2597,6 +2690,8 @@ _notification:
youReceivedFollowRequest: "Você recebeu um pedido de seguidor"
yourFollowRequestAccepted: "Seu pedido de seguidor foi aceito"
pollEnded: "Os resultados da enquete agora estão disponíveis"
scheduledNotePosted: "Nota agendada foi publicada"
scheduledNotePostFailed: "Não foi possível publicar nota agendada"
newNote: "Nova nota"
unreadAntennaNote: "Antena {name}"
roleAssigned: "Cargo dado"
@@ -2676,7 +2771,7 @@ _deck:
mentions: "Menções"
direct: "Notas diretas"
roleTimeline: "Linha do tempo do cargo"
chat: "Conversas"
chat: "Conversar com usuário"
_dialog:
charactersExceeded: "Você excedeu o limite de caracteres! Atualmente em {current} de {max}."
charactersBelow: "Você está abaixo do limite mínimo de caracteres! Atualmente em {current} of {min}."
@@ -2782,6 +2877,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Adicionado em"
attachedNotes: "Notas anexadas"
usage: "Usado"
thisPageCanBeSeenFromTheAuthor: "Essa página só pode ser vista pelo usuário que enviou esse arquivo."
_externalResourceInstaller:
title: "Instalar de site externo"
@@ -2829,6 +2925,12 @@ _dataSaver:
_avatar:
title: "Imagem do avatar"
description: "Parar animação de avatares. Imagens animadas podem ter um arquivo mais pesado do que imagens normais, potencialmente levando a reduções no tráfego de dados."
_urlPreviewThumbnail:
title: "Esconder miniaturas em prévias de URL"
description: "Miniaturas em prévias de URL não serão carregadas."
_disableUrlPreview:
title: "Desabilitar prévias de URL"
description: "Desabilita a função de prévias de URL. Diferente das miniaturas, essa função impede o carregamento de toda informação do link."
_code:
title: "Destaque de código"
description: "Se as notações de formatação de código forem utilizadas em MFM, elas não irão carregar até serem selecionadas. Destaque de código exige baixar arquivos de alta definição para cada linguagem de programação. Logo, desabilitar o carregamento automático desses arquivos diminui a quantidade de informação comunicada."
@@ -2886,6 +2988,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "Configurações da prévia de URL"
enable: "Habilitar prévia de URL"
allowRedirect: "Permitir redirecionamentos de URL em prévias."
allowRedirectDescription: "Se um URL tem um redirecionamento, você pode habilitar essa função para segui-lo e exibir a prévia do conteúdo redirecionado. Desabilitar isso irá economizar recursos, mas o conteúdo não será exibido."
timeout: "Tempo máximo para obter a prévia (ms)"
timeoutDescription: "Se demorar mais que esse valor para obter uma prévia, ela não será gerada."
maximumContentLength: "Content-Length máximo (em bytes)"
@@ -3026,6 +3130,7 @@ _bootErrors:
otherOption1: "Excluir ajustes de cliente e cache"
otherOption2: "Iniciar o cliente simples"
otherOption3: "Iniciar ferramenta de reparo"
otherOption4: "Abrir Misskey no modo seguro"
_search:
searchScopeAll: "Todos"
searchScopeLocal: "Local"
@@ -3062,6 +3167,8 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "Quando conectado com uma rede distribuída de servidores (Fediverso), o conteúdo pode ser trocado com outros servidores."
doYouConnectToFediverse_description2: "Conectar com o Fediverso também é chamado de \"federação\""
youCanConfigureMoreFederationSettingsLater: "Configurações adicionais como especificar servidores para conectar-se com podem ser feitas posteriormente"
remoteContentsCleaning: "Limpeza automática de conteúdos recebidos"
remoteContentsCleaning_description: "A federação pode resultar em uma entrada contínua de conteúdo. Habilitar a limpeza automática removerá conteúdo obsoleto e não referenciado do servidor para economizar armazenamento."
adminInfo: "Informações da administração"
adminInfo_description: "Define as informações do administrador usadas para receber consultas."
adminInfo_mustBeFilled: "Deve ser preenchido se o servidor é público ou se a federação está ativa."
@@ -3076,6 +3183,15 @@ _serverSetupWizard:
text1: "Misskey é software aberto desenvolvido por voluntários."
text2: "Nós apreciaríamos o seu apoio para podermos continuar o desenvolvimento desse software no futuro."
text3: "Também há benefícios especiais para apoiadores!"
_uploader:
editImage: "Editar Imagem"
compressedToX: "Comprimido para {x}"
savedXPercent: "Salvando {x}%"
abortConfirm: "Alguns arquivos não foram enviados, deseja abortar?"
doneConfirm: "Alguns arquivos não foram enviados, deseja continuar mesmo assim?"
maxFileSizeIsX: "O tamanho máximo de arquivos enviados é {x}"
allowedTypes: "Tipos de arquivo enviáveis"
tip: "O arquivo não foi enviado. Então, esse diálogo permite que você confirme, renomeie, comprima e recorte o arquivo antes de enviar. Quando estiver pronto, você pode enviar apertando o botão \"Enviar\"."
_clientPerformanceIssueTip:
title: "Dicas de desempenho"
makeSureDisabledAdBlocker: "Desative o seu bloqueador de anúncios"
@@ -3084,13 +3200,128 @@ _clientPerformanceIssueTip:
makeSureDisabledCustomCss_description: "Substituir o estilo da página pode afetar o desempenho. Certifique-se que o CSS personalizado ou extensões que modifiquem o estilo da página estejam desabilitados."
makeSureDisabledAddons: "Desabilite extensões"
makeSureDisabledAddons_description: "Algumas extensões podem afetar comportamentos do cliente e afetar o desempenho. Por favor, desative as extensões do seu navegador e veja se isso melhora a situação."
_clip:
tip: "Clip é uma função que permite organização das suas notas."
_userLists:
tip: "Listas podem conter qualquer usuário que você especificar em sua criação. A lista criada aparece como uma linha do tempo exibindo usuários selecionados."
watermark: "Marca d'água"
defaultPreset: "Predefinição Padrão"
_watermarkEditor:
tip: "Uma marca d'água, como informação de autoria, pode ser adicionada à imagem."
quitWithoutSaveConfirm: "Descartar mudanças?"
driveFileTypeWarn: "Esse arquivo não é compatível"
driveFileTypeWarnDescription: "Escolha um arquivo de imagem"
title: "Editar marca d'água"
cover: "Cobrir tudo"
repeat: "Espalhar pelo conteúdo"
opacity: "Opacidade"
scale: "Tamanho"
text: "Texto"
qr: "Código QR"
position: "Posição"
margin: "Margem"
type: "Tipo"
image: "imagem"
advanced: "Avançado"
angle: "Ângulo"
stripe: "Listras"
stripeWidth: "Largura da linha"
stripeFrequency: "Número de linhas"
polkadot: "Bolinhas"
checker: "Xadrez"
polkadotMainDotOpacity: "Opacidade da bolinha principal"
polkadotMainDotRadius: "Raio da bolinha principal"
polkadotSubDotOpacity: "Opacidade da bolinha secundária"
polkadotSubDotRadius: "Raio das bolinhas adicionais"
polkadotSubDotDivisions: "Número de bolinhas adicionais"
leaveBlankToAccountUrl: "Deixe em branco para utilizar URL da conta"
_imageEffector:
title: "Efeitos"
addEffect: "Adicionar efeitos"
discardChangesConfirm: "Tem certeza que deseja sair? Há mudanças não salvas."
_fxs:
chromaticAberration: "Aberração cromática"
glitch: "Glitch"
mirror: "Espelho"
invert: "Inverter Cores"
grayscale: "Tons de Cinza"
blur: "Desfoque"
pixelate: "Pixelizar"
colorAdjust: "Correção de Cores"
colorClamp: "Compressão de Cores"
colorClampAdvanced: "Compressão Avançada de Cores"
distort: "Distorção"
threshold: "Limiarização Binária"
zoomLines: "Linhas de Ação"
stripe: "Listras"
polkadot: "Bolinhas"
checker: "Xadrez"
blockNoise: "Bloquear Ruído"
tearing: "Descontinuidade"
fill: "Preencher"
_fxProps:
angle: "Ângulo"
scale: "Tamanho"
size: "Tamanho"
radius: "Raio"
samples: "Número de amostras"
offset: "Posição"
color: "Cor"
opacity: "Opacidade"
normalize: "Normalizar"
amount: "Quantidade"
lightness: "Esclarecer"
contrast: "Contraste"
hue: "Matiz"
brightness: "Brilho"
saturation: "Saturação"
max: "Máximo"
min: "Mínimo"
direction: "Direção"
phase: "Fase"
frequency: "Frequência"
strength: "Força"
glitchChannelShift: "Mudança de canal"
seed: "Valor da semente"
redComponent: "Componente vermelho"
greenComponent: "Componente verde"
blueComponent: "Componente azul"
threshold: "Limiar"
centerX: "Centralizar X"
centerY: "Centralizar Y"
zoomLinesMaskSize: "Diâmetro do centro"
circle: "Circular"
drafts: "Rascunhos"
_drafts:
select: "Selecionar Rascunho"
cannotCreateDraftAnymore: "O número máximo de rascunhos foi excedido."
cannotCreateDraft: "Você não pode criar um rascunho com esse conteúdo."
delete: "Excluir Rascunho"
deleteAreYouSure: "Excluir rascunho?"
noDrafts: "Sem rascunhos"
replyTo: "Resposta a {user}"
quoteOf: "Citação à nota de {user}"
postTo: "Publicando em {channel}"
saveToDraft: "Salvar como Rascunho"
restoreFromDraft: "Restaurar de Rascunho"
restore: "Redefinir"
listDrafts: "Lista de Rascunhos"
schedule: "Agendar nota"
listScheduledNotes: "Lista de notas agendadas"
cancelSchedule: "Cancelar agendamento"
qr: "Código QR"
_qr:
showTabTitle: "Visualizar"
readTabTitle: "Escanear"
shareTitle: "{name} {acct}"
shareText: "Siga-me no Fediverso!"
chooseCamera: "Escolher câmera"
cannotToggleFlash: "Não foi possível ligar a lanterna"
turnOnFlash: "Ligar a lanterna"
turnOffFlash: "Desligar a lanterna"
startQr: "Retornar ao leitor de códigos QR"
stopQr: "Deixar o leitor de códigos QR"
noQrCodeFound: "Nenhum código QR encontrado"
scanFile: "Escanear imagem de dispositivo"
raw: "Texto"
mfm: "MFM"

View File

@@ -1215,6 +1215,10 @@ lastNDays: "Ultimele {n} zile"
surrender: "Anulează"
copyPreferenceId: "Copiază ID-ul preferințelor"
information: "Despre"
presets: "Presetate"
_imageEditing:
_vars:
filename: "Nume fișier"
_chat:
invitations: "Invită"
noHistory: "Nu există istoric"
@@ -1297,15 +1301,25 @@ _widgets:
jobQueue: "coada de job-uri"
_userList:
chooseList: "Selectează o listă"
_widgetOptions:
height: "Înălţime"
_button:
colored: "Colorat"
_clock:
size: "Dimensiune"
_cw:
show: "Incarcă mai mult"
_visibility:
home: "Acasă"
followers: "Urmăritori"
specified: "Note directe"
_postForm:
replyPlaceholder: "Răspunde la această notă..."
quotePlaceholder: "Citează aceasta nota..."
channelPlaceholder: "Postează pe un canal..."
_howToUse:
visibility_title: "Vizibilitate"
menu_title: "Meniu"
_placeholders:
a: "Ce mai faci?"
b: "Ce se mai petrece in jurul tău?"
@@ -1356,6 +1370,7 @@ _deck:
list: "Liste"
channel: "Canale"
mentions: "Mențiuni"
direct: "Note directe"
roleTimeline: "Cronologia rolului"
_webhookSettings:
name: "Nume"
@@ -1398,3 +1413,11 @@ _watermarkEditor:
type: "Tip"
image: "Imagini"
advanced: "Avansat"
_imageEffector:
_fxProps:
scale: "Dimensiune"
size: "Dimensiune"
offset: "Poziție"
_qr:
showTabTitle: "Arată"
raw: "Text"

View File

@@ -2,7 +2,7 @@
_lang_: "Русский"
headlineMisskey: "Сеть, сплетённая из заметок"
introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
poweredByMisskeyDescription: "{name} сервис на платформе с открытым исходным кодом <b>Misskey</b>, называемый экземпляром Misskey."
poweredByMisskeyDescription: "{name} один из инстансов (также называемый экземпляром Misskey), использующий платформу с открытым исходным кодом <b>Misskey</b>."
monthAndDay: "{day}.{month}"
search: "Поиск"
reset: "Сброс"
@@ -82,12 +82,14 @@ export: "Экспорт"
files: "Файлы"
download: "Скачать"
driveFileDeleteConfirm: "Удалить файл «{name}»? Заметки с ним также будут удалены."
unfollowConfirm: "Удалить из подписок пользователя {name}?"
unfollowConfirm: "Отписаться от {name} ?"
cancelFollowRequestConfirm: "Вы уверены, что хотите отменить запрос на подписку пользователю {name}?"
rejectFollowRequestConfirm: "Отклонить запрос на подписку от {name}?"
exportRequested: "Вы запросили экспорт. Это может занять некоторое время. Результат будет добавлен на «Диск»."
importRequested: "Вы запросили импорт. Это может занять некоторое время."
lists: "Списки"
noLists: "Нет ни одного списка"
note: "Заметка"
note: "Пост"
notes: "Заметки"
following: "Подписки"
followers: "Подписчики"
@@ -122,7 +124,7 @@ inChannelRenote: "В канале"
inChannelQuote: "Заметки в канале"
renoteToChannel: "Репостнуть в канал"
renoteToOtherChannel: "Репостнуть в другой канал"
pinnedNote: "Закреплённая заметка"
pinnedNote: "Закреплённый пост"
pinned: "Закрепить в профиле"
you: "Вы"
clickToShow: "Нажмите для просмотра"
@@ -199,7 +201,7 @@ searchWith: "Найденное «{q}»"
youHaveNoLists: "У вас нет ни одного списка"
followConfirm: "Подписаться на {name}?"
proxyAccount: "Учётная запись прокси"
proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например, если пользователь добавит кого-то с другого сайта а список, деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси."
proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например: если пользователь добавит кого-то с другого сайта в список, то деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси."
host: "Хост"
selectSelf: "Выбрать себя"
selectUser: "Выберите пользователя"
@@ -253,6 +255,7 @@ noteDeleteConfirm: "Вы хотите удалить эту заметку?"
pinLimitExceeded: "Нельзя закрепить ещё больше заметок"
done: "Готово"
processing: "Обработка"
preprocessing: "Подготовка..."
preview: "Предпросмотр"
default: "По умолчанию"
defaultValueIs: "По умолчанию: {value}"
@@ -298,8 +301,10 @@ uploadFromUrl: "Загрузить по ссылке"
uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить"
uploadFromUrlRequested: "Загрузка выбранного"
uploadFromUrlMayTakeTime: "Загрузка может занять некоторое время."
uploadNFiles: "Загрузить {n} файл"
explore: "Обзор"
messageRead: "Прочитали"
readAllChatMessages: "Отметить прочитанным"
noMoreHistory: "История закончилась"
startChat: "Начать чат"
nUsersRead: "Прочитали {n}"
@@ -326,11 +331,13 @@ dark: "Тёмный"
lightThemes: "Светлые темы"
darkThemes: "Тёмные темы"
syncDeviceDarkMode: "Синхронизировать с тёмной темой системы"
switchDarkModeManuallyWhenSyncEnabledConfirm: "Включена функция \"{x}\". Отключить синхронизацию, чтобы переключать режим вручную?"
drive: "Диск"
fileName: "Имя файла"
selectFile: "Выберите файл"
selectFiles: "Выберите файлы"
selectFolder: "Выберите папку"
unselectFolder: "Снять выбор"
selectFolders: "Выберите папки"
fileNotSelected: "Файл не выбран"
renameFile: "Переименовать файл"
@@ -343,6 +350,7 @@ addFile: "Добавить файл"
showFile: "Посмотреть файл"
emptyDrive: "Диск пуст"
emptyFolder: "Папка пуста"
dropHereToUpload: "Переместите файл сюда"
unableToDelete: "Удаление невозможно"
inputNewFileName: "Введите имя нового файла"
inputNewDescription: "Введите новую подпись"
@@ -395,7 +403,7 @@ pinnedUsersDescription: "Перечислите по одному имени п
pinnedPages: "Закрепленные страницы"
pinnedPagesDescription: "Если хотите закрепить страницы на главной сайта, сюда можно добавить пути к ним, каждый в отдельной строке."
pinnedClipId: "Идентификатор закреплённой подборки"
pinnedNotes: "Закреплённая заметка"
pinnedNotes: "Закреплённый пост"
hcaptcha: "hCaptcha"
enableHcaptcha: "Включить hCaptcha"
hcaptchaSiteKey: "Ключ сайта"
@@ -456,7 +464,7 @@ moderator: "Модератор"
moderation: "Модерация"
moderationNote: "Примечания модератора"
moderationNoteDescription: "Вы можете заполнять заметки, которые будут доступны только модераторам."
addModerationNote: ""
addModerationNote: "Оставить заметку"
moderationLogs: "Журнал модерации"
nUsersMentioned: "Упомянуло пользователей: {n}"
securityKeyAndPasskey: "Ключ безопасности и парольная фраза"
@@ -575,8 +583,10 @@ showFixedPostForm: "Показывать поле для ввода новой
showFixedPostFormInChannel: "Показывать поле для ввода новой заметки наверху ленты (каналы)"
withRepliesByDefaultForNewlyFollowed: "По умолчанию включайте ответы новых пользователей, на которых вы подписались, во временную шкалу"
newNoteRecived: "Появилась новая заметка"
newNote: "Новая заметка"
sounds: "Звуки"
sound: "Звуки"
notificationSoundSettings: "Настройки звука уведомлений"
listen: "Слушать"
none: "Ничего"
showInPage: "Показать страницу"
@@ -598,7 +608,7 @@ installedDate: "Дата установки"
lastUsedDate: "Дата использования"
state: "Состояние"
sort: "Сортировать"
ascendingOrder: "по возрастанию"
ascendingOrder: "По возрастанию"
descendingOrder: "По убыванию"
scratchpad: "Когтеточка"
scratchpadDescription: "«Когтеточка» — это место для опытов с AiScript. Здесь можно писать программы, взаимодействующие с Misskey, запускать и смотреть что из этого получается."
@@ -619,9 +629,9 @@ removeAllFollowingDescription: "Отменить все подписки с до
userSuspended: "Эта учётная запись заморожена"
userSilenced: "Этот пользователь был заглушен"
yourAccountSuspendedTitle: "Эта учетная запись заблокирована"
yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
yourAccountSuspendedDescription: "Этот аккаунт нарушил ToS сервера, поэтому был заморожен. Свяжитесь с администратором, чтобы узнать подробности. Не пытайтесь создать новый аккаунт."
tokenRevoked: "Токен недействителен"
tokenRevokedDescription: "Срок действия вашего токена входа истек. Пожалуйста, войдите снова."
tokenRevokedDescription: "Токен входа устарел. Пожалуйста, войдите снова."
accountDeleted: "Учетная запись удалена"
accountDeletedDescription: "Эта учетная запись удалена"
menu: "Меню"
@@ -680,9 +690,9 @@ smtpPort: "Порт"
smtpUser: "Имя пользователя"
smtpPass: "Пароль"
emptyToDisableSmtpAuth: "Не заполняйте имя пользователя и пароль, чтобы отключить аутентификацию в SMTP."
smtpSecure: "Использовать SSL/TLS для SMTP-соединений"
smtpSecure: "Использовать SSL/TLS"
smtpSecureInfo: "Выключите при использовании STARTTLS."
testEmail: "Проверка доставки электронной почты"
testEmail: "Отправить тестовое письмо"
wordMute: "Скрытие слов"
wordMuteDescription: "Сведите к минимуму записи, содержащие указанное утверждение. Нажмите на свернутую запись, чтобы отобразить ее."
hardWordMute: "Строгое скрытие слов"
@@ -768,6 +778,7 @@ lockedAccountInfo: "Даже если вы вручную подтверждае
alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию"
loadRawImages: "Сразу показывать изображения в полном размере"
disableShowingAnimatedImages: "Не проигрывать анимацию"
disableShowingAnimatedImages_caption: "Если анимации всё равно не работают, проверьте настройки специальных возможностей и режимы экономии заряда в браузере или системе"
highlightSensitiveMedia: "Выделять содержимое не для всех"
verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста, по ссылке из письма, чтобы завершить проверку."
notSet: "Не настроено"
@@ -775,7 +786,7 @@ emailVerified: "Адрес электронной почты подтвержд
noteFavoritesCount: "Количество добавленного в избранное"
pageLikesCount: "Количество понравившихся страниц"
pageLikedCount: "Количество страниц, понравившихся другим"
contact: "Как связаться"
contact: "Почта для связи"
useSystemFont: "Использовать шрифт, предлагаемый системой"
clips: "Подборки"
experimentalFeatures: "Экспериментальные функции"
@@ -791,6 +802,7 @@ wide: "Толстый"
narrow: "Тонкий"
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
needReloadToApply: "Изменения вступят в силу после перезагрузки страницы."
needToRestartServerToApply: "Для вступления изменений в силу необходимо перезапустить сервер."
showTitlebar: "Показать заголовок"
clearCache: "Очистить кэш"
onlineUsersCount: "Пользователей сейчас в сети: {n}"
@@ -833,7 +845,7 @@ showingPastTimeline: "Отображается старая лента"
clear: "Очистить"
markAllAsRead: "Отметить всё как прочитанное"
goBack: "Выход"
unlikeConfirm: "В самом деле отменить «нравится»?"
unlikeConfirm: "В самом деле убрать «нравится»?"
fullView: "Полный вид"
quitFullView: "Закрыть полный вид"
addDescription: "Добавить описание"
@@ -878,7 +890,7 @@ priority: "Приоритет"
high: "Высокий"
middle: "Средне"
low: "Низкий"
emailNotConfiguredWarning: "Не указан адрес электронной почты"
emailNotConfiguredWarning: "Адрес почты пустует"
ratio: "Соотношение"
previewNoteText: "Предварительный просмотр"
customCss: "Индивидуальный CSS"
@@ -958,13 +970,13 @@ reflectMayTakeTime: "Изменения могут занять время дл
failedToFetchAccountInformation: "Не удалось получить информацию об аккаунте"
rateLimitExceeded: "Ограничение скорости превышено"
cropImage: "Кадрирование"
cropImageAsk: "Нужно ли кадрировать изображение?"
cropImageAsk: "Обрезать изображение?"
cropYes: "Обрезать"
cropNo: "Не обрезать"
file: "Файлы"
recentNHours: "Последние {n} ч"
recentNDays: "Последние {n} сут"
noEmailServerWarning: "Почтовый сервер не установлен "
noEmailServerWarning: "Отправка писем выключена"
thereIsUnresolvedAbuseReportWarning: "Остались нерешённые жалобы"
recommended: "Рекомендуем"
check: "Проверить"
@@ -978,7 +990,7 @@ document: "Документ"
numberOfPageCache: "Количество сохранённых страниц в кэше"
numberOfPageCacheDescription: "Описание количества страниц в кэше"
logoutConfirm: "Вы хотите выйти из аккаунта?"
logoutWillClearClientData: "Когда вы выйдете из системы, информация о конфигурации клиента будет удалена из браузера.Чтобы иметь возможность восстановить информацию о вашей конфигурации при повторном входе в систему, пожалуйста, включите опцию автоматического резервного копирования в настройках."
logoutWillClearClientData: "Выход из аккаунта удалит настройки клиента из этого браузера. Включите автоматическое резервное копирование, чтобы иметь возможность восстановить настройки при повторном входе."
lastActiveDate: "Последняя дата использования"
statusbar: "Статусбар"
pleaseSelect: "Пожалуйста, выберите"
@@ -997,6 +1009,7 @@ failedToUpload: "Сбой выгрузки"
cannotUploadBecauseInappropriate: "Файл не может быть загружен, так как было установлено, что он может содержать неприемлемое содержимое."
cannotUploadBecauseNoFreeSpace: "Файл не может быть загружен, так как не осталось места на диске"
cannotUploadBecauseExceedsFileSizeLimit: "Файл не может быть загружен, так как он превышает лимит размера файла."
cannotUploadBecauseUnallowedFileType: "Формат файла не подходит"
beta: "Бета"
enableAutoSensitive: "Автоматическое определение содержимого не для всех"
enableAutoSensitiveDescription: "Позволяет определять наличие содержимого не для всех при помощи искусственного интеллекта там, где это возможно. Даже если эту опцию отключить, она всё равно может быть включена на весь инстанс."
@@ -1012,6 +1025,9 @@ pushNotificationAlreadySubscribed: "Push-уведомления уже вклю
pushNotificationNotSupported: "Push-уведмления не поддерживаются инстансом или браузером"
sendPushNotificationReadMessage: "Удалять push-уведомления когда сообщение или прочитано"
sendPushNotificationReadMessageCaption: "На мгновение появится уведомление \"{emptyPushNotificationMessage}\". Расход заряда батареи может увеличиться "
pleaseAllowPushNotification: "Пожалуйста, разрешите уведомление в браузере от сайта"
browserPushNotificationDisabled: "Вы не дали разрешение на уведомления сайту"
browserPushNotificationDisabledDescription: "Разрешите уведомления в настройках браузера от {serverName}, чтобы включить PUSH уведомления"
windowMaximize: "Развернуть"
windowMinimize: "Свернуть"
windowRestore: "Восстановить"
@@ -1033,7 +1049,7 @@ roles: "Роли"
role: "Роль"
noRole: "Нет роли"
normalUser: "Обычный пользователь"
undefined: "неопределён"
undefined: "неопределённо"
assign: "Назначить"
unassign: "Отменить назначение"
color: "Цвет"
@@ -1048,6 +1064,7 @@ permissionDeniedError: "Операция запрещена"
permissionDeniedErrorDescription: "У этой учетной записи нет разрешения на выполнение этой операции."
preset: "Шаблоны"
selectFromPresets: "Выбрать из шаблонов"
custom: "Пользовательские"
achievements: "Достижения"
gotInvalidResponseError: "Сервер ответил ошибкой"
gotInvalidResponseErrorDescription: "Сервер временно не доступен. Возможно проводятся технические работы, или сервер отключен."
@@ -1086,6 +1103,7 @@ prohibitedWordsDescription2: "Разделение пробелом создаё
hiddenTags: "Скрытые хештеги"
hiddenTagsDescription: "Установленные теги не будут отображаться в тренде, можно установить несколько тегов."
notesSearchNotAvailable: "Поиск заметок недоступен"
usersSearchNotAvailable: "Функция \"поиска пользователей\" отключена"
license: "Лицензия"
unfavoriteConfirm: "Удалить избранное?"
myClips: "Мои подборки"
@@ -1124,7 +1142,7 @@ vertical: "Вертикально"
horizontal: "Горизонтально"
position: "Позиция"
serverRules: "Правила сервера"
pleaseConfirmBelowBeforeSignup: "Для регистрации на данном сервере, необходимо согласится с нижеследующими положениями."
pleaseConfirmBelowBeforeSignup: "Прочитайте и согласитесь с информацией ниже, чтобы продолжить"
pleaseAgreeAllToContinue: "Чтобы продолжить, необходимо поставить отметки во всех полях \"согласен\"."
continue: "Продолжить"
preservedUsernames: "Зарезервированные имена пользователей"
@@ -1160,6 +1178,7 @@ installed: "Установлено"
branding: "Бренд"
enableServerMachineStats: "Опубликовать характеристики сервера"
enableIdenticonGeneration: "Включить генерацию иконки пользователя"
showRoleBadgesOfRemoteUsers: "Display the role badges assigned to remote users"
turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность."
createInviteCode: "Создать код приглашения"
createWithOptions: "Используйте параметры для создания"
@@ -1172,51 +1191,192 @@ expirationDate: "Дата истечения"
noExpirationDate: "Бессрочно"
inviteCodeUsedAt: "Дата и время, когда был использован пригласительный код"
registeredUserUsingInviteCode: "Пользователи, которые использовали пригласительный код"
waitingForMailAuth: "Подтвердите вашу электронную почту"
inviteCodeCreator: "Создатель приглашения"
usedAt: "Использовано"
unused: "Неиспользованное"
used: "Использован"
expired: "Срок действия приглашения истёк"
doYouAgree: "Согласны?"
beSureToReadThisAsItIsImportant: "Это важно, поэтому, пожалуйста, прочтите это."
iHaveReadXCarefullyAndAgree: "Я прочитал(а) и согласен(сна) с условиями \"{x}"
dialog: "Диалог"
icon: "Аватар"
forYou: "Для вас"
currentAnnouncements: "Текущие новости"
pastAnnouncements: "Предыдущие новости"
youHaveUnreadAnnouncements: "У вас есть непрочитанные уведомления"
useSecurityKey: "Используйте ключ безопасности или Passkey, следуя подсказкам браузера"
replies: "Ответы"
renotes: "Репост"
loadReplies: "Показать ответы"
loadConversation: "Загрузить беседу"
pinnedList: "Закреплённый список"
keepScreenOn: "Держать экран включённым"
verifiedLink: "Эта ссылка принадлежит пользователю"
notifyNotes: "Оповещать о публикациях"
unnotifyNotes: "Отписаться от сообщений"
authentication: "Аутентификация"
authenticationRequiredToContinue: "Пожалуйста, пройдите аутентификацию, чтобы продолжить"
dateAndTime: "Дата и время"
showRenotes: "Показывать репосты"
edited: "Изменено"
notificationRecieveConfig: "Настроить оповещения"
mutualFollow: "Взаимные подписки"
followingOrFollower: "Подписки или подписчики"
fileAttachedOnly: "Только заметки с файлами"
showRepliesToOthersInTimeline: "Показывать ответы в ленте"
hideRepliesToOthersInTimeline: "Скрыть чужие ответы в ленте"
showRepliesToOthersInTimelineAll: "Показывать в ленте ответы пользователей, на которых вы подписаны"
hideRepliesToOthersInTimelineAll: "Скрывать в ленте ответы пользователей, на которых вы подписаны"
confirmShowRepliesAll: "Это нельзя будет отменить. Показать ответы от всех, на кого вы подписаны?"
confirmHideRepliesAll: "Это нельзя будет отменить. Скрыть ответы от всех, на кого вы подписаны?"
externalServices: "Интеграции"
sourceCode: "Исходный код"
sourceCodeIsNotYetProvided: "Исходный код пока не доступен. Свяжитесь с администратором, чтобы исправить эту проблему."
repositoryUrl: "Ссылка на репозиторий"
repositoryUrlDescription: "Если вы используете Misskey как есть (без изменений в исходном коде), введите https://github.com/misskey-dev/misskey"
repositoryUrlOrTarballRequired: "Если репозиторий закрыт, необходимо предоставить ссылку на tarball. Подробности см. в файле \".config/example.yml\""
feedback: "Обратная связь"
feedbackUrl: "Ссылка для обратной связи"
impressum: "О владельце"
privacyPolicy: "Политика Конфиденциальности"
privacyPolicyUrl: "Ссылка на Политику Конфиденциальности"
tosAndPrivacyPolicy: "Условия использования и политика конфиденциальности"
avatarDecorations: "Украшения для аватара"
attach: "Прикрепить"
detach: "Открепить"
detachAll: "Убрать всё"
angle: "Угол"
flip: "Переворот"
showAvatarDecorations: "Показать украшения для аватара"
releaseToRefresh: "Отпустите, чтобы обновить"
refreshing: "Обновление..."
pullDownToRefresh: "Опустите что бы обновить"
useGroupedNotifications: "Отображать уведомления сгруппировано"
emailVerificationFailedError: "Не смогли подтвердить почту. Вероятно, истек срок письма"
cwNotationRequired: "Если включена опция «Скрыть содержимое», необходимо написать аннотацию."
doReaction: "Добавить реакцию"
code: "Код"
reloadRequiredToApplySettings: "Для применения настроек необходима обновить страницу."
remainingN: "Остаётся: {n}"
overwriteContentConfirm: "Текущее содержимое будет перезаписано. Вы уверены?"
seasonalScreenEffect: "Эффект времени года на экране"
decorate: "Украсить"
addMfmFunction: "Добавить MFM"
enableQuickAddMfmFunction: "Показывать расширенный выбор MFM"
bubbleGame: "BubbleGame"
sfx: "Звуковые эффекты"
soundWillBePlayed: "Будет воспроизведен звук"
showReplay: "Показать повтор"
replay: "Ответить"
endReplay: "Конец повтора"
lastNDays: "Последние {n} сут"
hemisphere: "Место проживания"
userSaysSomethingSensitive: "Сообщение, содержит конфиденциальные файлы от {name}"
enableHorizontalSwipe: "Смахните в сторону, чтобы сменить вкладки"
loading: "Загрузка"
surrender: "Этот пост не может быть отменен."
gameRetry: "Повторить попытку"
notUsePleaseLeaveBlank: "Если не используется, оставьте пустым"
useTotp: "Включить двухэтапную проверку"
useBackupCode: "Использовать резервные коды"
launchApp: "Запустить приложение"
useNativeUIForVideoAudioPlayer: "Использовать интерфейс браузера при проигрывании видео и звука"
keepOriginalFilename: "Сохранять исходное имя файла"
keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке."
noDescription: "Нет описания"
alwaysConfirmFollow: "Всегда подтверждать подписку"
inquiry: "Связаться"
tryAgain: "Попробуйте еще раз позже"
confirmWhenRevealingSensitiveMedia: "Спрашивать перед открытием NSFW контента"
sensitiveMediaRevealConfirm: "Возможно, это NSFW контент. Показать?"
createdLists: "Созданные списки"
createdAntennas: "Созданные антенны"
fromX: "Из {x}"
genEmbedCode: "Сгенерировать код для "
noteOfThisUser: "Список заметок этого пользователя"
clipNoteLimitExceeded: "К этому клипу больше нельзя добавить заметки"
performance: "Производительность"
modified: "Изменено"
discard: "Отменить"
thereAreNChanges: "Изменено: {n}"
signinWithPasskey: "Войдите в систему, используя свой пароль"
unknownWebAuthnKey: "Неизвестный ключ"
passkeyVerificationFailed: "Ошибка проверка ключа доступа "
passkeyVerificationSucceededButPasswordlessLoginDisabled: "Проверка Passkey выполнена, но вход без пароля отключен"
messageToFollower: "Сообщение подписчикам"
testCaptchaWarning: "Эта тестовая CAPTCHA. <strong>Не используйте её!</strong>"
prohibitedWordsForNameOfUser: "Запрещенные слова (имя пользователя)"
prohibitedWordsForNameOfUserDescription: "Если имя пользователя содержит строку из этого списка, изменение имени пользователя будет запрещено. На пользователей с правами модератора это ограничение не распространяется. Имена пользователей также проверяются путём замены всех букв в нижнем регистре"
yourNameContainsProhibitedWords: "Имя, которое вы пытаетесь изменить, содержит запрещенную строку символов"
yourNameContainsProhibitedWordsDescription: "Имя содержит запрещённую строку символов. Если вы хотите использовать это имя, обратитесь к администратору сервера"
thisContentsAreMarkedAsSigninRequiredByAuthor: "Автор сообщения установил требование в виде авторизации для просмотра"
lockdown: "Доступ ограничен"
pleaseSelectAccount: "Выберите свой аккаунт"
availableRoles: "Доступные роли"
federationSpecified: "Сервер работает через белый список федерации. Связь с другими серверами ограничена"
federationDisabled: "Федерация отключена для этого сервера. Вы не можете взаимодействовать с пользователями на других серверах."
draft: "Черновик"
draftsAndScheduledNotes: "Черновики и отложенные публикации"
confirmOnReact: "Подтверждать добавление реакции"
reactAreYouSure: "Добавить {emoji}?"
markAsSensitiveConfirm: "Отметить контент как чувствительный?"
unmarkAsSensitiveConfirm: "Снять пометку о NSFW контенте?"
preferences: "Основное"
accessibility: "Специальные возможности"
preferencesProfile: "Настройки профиля"
copyPreferenceId: "Копировать ID настройки"
resetToDefaultValue: "Сбросить настройки до стандартных"
overrideByAccount: "Переопределить этим аккаунтом"
untitled: "Без названия"
noName: "Имя не указано"
skip: "Пропустить"
syncBetweenDevices: "Синхронизировать между устройствами"
postForm: "Форма отправки"
textCount: "Количество символов"
information: "Описание"
inMinutes: "мин"
inDays: "сут"
schedule: "Отложить"
scheduled: "Отложено"
widgets: "Виджеты"
deviceInfo: "Об устройстве"
deviceInfoDescription: "Эта информация может быть полезна при обращении в поддержку"
youAreAdmin: "Вы администратор"
frame: "Рамки"
presets: "Шаблоны"
zeroPadding: "Без отступов"
nothingToConfigure: "Нечего менять"
_imageEditing:
_vars:
caption: "Описание файла"
filename: "Имя файла"
filename_without_ext: "Имя файла без расширения"
year: "Год создания"
month: "Месяц создания"
day: "День создания"
hour: "Час создания"
minute: "Минуты создания"
second: "Секунды создания"
camera_model: "Модель камеры"
camera_lens_model: "Модель линзы"
camera_mm: "Фокусное расстояние"
camera_mm_35: "Фокусное расстояние (экв. 35 мм)"
camera_f: "Диафрагма"
camera_s: "Выдержка"
camera_iso: "ISO"
gps_lat: "Широта"
gps_long: "Долгота"
_imageFrameEditor:
title: "Редактировать рамку"
header: "Заголовок"
footer: "Нижняя часть"
borderThickness: "Толщина рамки"
labelThickness: "Толщина границ"
font: "Шрифт"
fontSerif: "Антиква (с засечками)"
fontSansSerif: "Гротеск (без засечек)"
_chat:
invitations: "Пригласить"
noHistory: "История пока пуста"
@@ -1225,6 +1385,11 @@ _chat:
send: "Отправить"
_settings:
webhook: "Вебхук"
preferencesBanner: "Вы можете настроить общее поведение клиента по вашим предпочтениям"
timelineAndNote: "Лента и заметки"
_chat:
showSenderName: "Показывать имя отправителя"
sendOnEnter: "Использовать Enter для отправки"
_delivery:
stop: "Заморожено"
_type:
@@ -1473,7 +1638,7 @@ _achievements:
description: "Нажато здесь"
_justPlainLucky:
title: "Чистая удача"
description: "Может достаться с вероятностью 0,01% каждые 10 секунд."
description: "Может достаться с вероятностью 0,005% каждые 10 секунд."
_setNameToSyuilo:
title: "Комплекс бога"
description: "Установлено «syuilo» в качестве имени"
@@ -1501,6 +1666,12 @@ _achievements:
title: "Brain Diver"
description: "Опубликована ссылка на песню «Brain Diver»"
flavor: "Мисски-Мисски Ла-Ту-Ма"
_bubbleGameExplodingHead:
title: "🤯"
description: "Самый большой объект в Bubble game"
_bubbleGameDoubleExplodingHead:
title: "Двойной🤯"
description: "Два самых больших объекта в Bubble game одновременно!"
_role:
new: "Новая роль"
edit: "Изменить роль"
@@ -1578,6 +1749,7 @@ _emailUnavailable:
disposable: "Временный адрес электронной почты не принимается"
mx: "Неверный почтовый сервер"
smtp: "Почтовый сервер не отвечает"
banned: "Этот адрес почты недоступен"
_ffVisibility:
public: "Общедоступны"
followers: "Показываются только подписчикам"
@@ -1838,6 +2010,7 @@ _permissions:
"read:gallery-likes": "Просмотр списка понравившегося в галерее"
"write:gallery-likes": "Изменение списка понравившегося в галерее"
"write:admin:reset-password": "Сбросить пароль пользователю"
"write:admin:send-email": "Отправить письмо"
"write:chat": "Писать и удалять сообщения"
_auth:
shareAccessTitle: "Разрешения для приложений"
@@ -1893,6 +2066,14 @@ _widgets:
chooseList: "Выберите список"
clicker: "Счётчик щелчков"
birthdayFollowings: "Пользователи, у которых сегодня день рождения"
_widgetOptions:
height: "Высота"
_button:
colored: "Выделена цветом"
_clock:
size: "Размер"
_birthdayFollowings:
period: "Длительность"
_cw:
hide: "Спрятать"
show: "Показать"
@@ -1935,6 +2116,9 @@ _postForm:
replyPlaceholder: "Ответ на заметку..."
quotePlaceholder: "Пояснение к цитате..."
channelPlaceholder: "Отправить в канал"
_howToUse:
visibility_title: "Видимость"
menu_title: "Меню"
_placeholders:
a: "Как дела?"
b: "Что интересного вокруг?"
@@ -2159,6 +2343,7 @@ _abuseReport:
mail: "Электронная почта"
webhook: "Вебхук"
_captions:
mail: "Уведомлять модераторов по почте (только при поступлении жалоб)"
webhook: "Отправить уведомление Системному Вебхуку при получении или разрешении жалоб."
notifiedWebhook: "Используемый Вебхук"
_moderationLogTypes:
@@ -2200,3 +2385,16 @@ _watermarkEditor:
image: "Изображения"
advanced: "Для продвинутых"
angle: "Угол"
_imageEffector:
_fxProps:
angle: "Угол"
scale: "Размер"
size: "Размер"
offset: "Позиция"
color: "Цвет"
opacity: "Непрозрачность"
lightness: "Осветление"
drafts: "Черновик"
_qr:
showTabTitle: "Отображение"
raw: "Текст"

View File

@@ -913,6 +913,17 @@ flip: "Preklopiť"
lastNDays: "Posledných {n} dní"
postForm: "Napísať poznámku"
information: "Informácie"
inMinutes: "min"
inDays: "dní"
widgets: "Widgety"
_imageEditing:
_vars:
filename: "Názov súboru"
_imageFrameEditor:
header: "Hlavička"
font: "Písmo"
fontSerif: "Pätkové"
fontSansSerif: "Bezpätkové"
_chat:
invitations: "Pozvať"
noHistory: "Žiadna história"
@@ -1221,6 +1232,14 @@ _widgets:
aichan: "Ai"
_userList:
chooseList: "Vyberte zoznam"
_widgetOptions:
height: "Výška"
_button:
colored: "Farebné"
_clock:
size: "Veľkosť"
_birthdayFollowings:
period: "Trvanie"
_cw:
hide: "Skryť"
show: "Zobraziť viac"
@@ -1261,6 +1280,9 @@ _postForm:
replyPlaceholder: "Odpoveď na túto poznámku..."
quotePlaceholder: "Citovanie tejto poznámky..."
channelPlaceholder: "Poslať do kanála..."
_howToUse:
visibility_title: "Viditeľnosť"
menu_title: "Menu"
_placeholders:
a: "Čo máte v pláne?"
b: "Čo sa deje?"
@@ -1457,3 +1479,13 @@ _watermarkEditor:
type: "Typ"
image: "Obrázky"
advanced: "Rozšírené"
_imageEffector:
_fxProps:
scale: "Veľkosť"
size: "Veľkosť"
color: "Farba"
opacity: "Priehľadnosť"
lightness: "Zosvetliť"
_qr:
showTabTitle: "Zobraziť"
raw: "Text"

View File

@@ -559,6 +559,9 @@ tryAgain: "Försök igen senare"
signinWithPasskey: "Logga in med nyckel"
unknownWebAuthnKey: "Okänd nyckel"
information: "Om"
_imageEditing:
_vars:
filename: "Filnamn"
_chat:
invitations: "Inbjudan"
members: "Medlemmar"
@@ -636,6 +639,9 @@ _widgets:
jobQueue: "Jobbkö"
_userList:
chooseList: "Välj lista"
_widgetOptions:
_clock:
size: "Storlek"
_cw:
hide: "Dölj"
show: "Ladda mer"
@@ -646,6 +652,10 @@ _poll:
_visibility:
home: "Hem"
followers: "Följare"
specified: "Direktnoter"
_postForm:
_howToUse:
menu_title: "Meny"
_profile:
name: "Namn"
username: "Användarnamn"
@@ -692,6 +702,7 @@ _deck:
list: "Listor"
channel: "kanal"
mentions: "Omnämningar"
direct: "Direktnoter"
_webhookSettings:
name: "Namn"
active: "Aktiverad"
@@ -714,3 +725,8 @@ _search:
_watermarkEditor:
scale: "Storlek"
image: "Bilder"
_imageEffector:
_fxProps:
scale: "Storlek"
size: "Storlek"
color: "Färg"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,6 +8,9 @@ search: "Пошук"
notifications: "Сповіщення"
username: "Ім'я користувача"
password: "Пароль"
initialPasswordForSetup: "Початковий пароль для налаштування"
initialPasswordIsIncorrect: "Початковий пароль для налаштування неправильний"
initialPasswordForSetupDescription: "Використайте пароль, вказаний у конфігураційному файлі, якщо ви встановлювали Misskey власноруч.\nЯкщо використовуєте сервіси хостингу Misskey, використайте наданий пароль.\nЯкщо ви не маєте паролю, лишіть порожнім щоб продовжити. "
forgotPassword: "Я забув пароль"
fetchingAsApObject: "Отримуємо з федіверсу..."
ok: "OK"
@@ -45,6 +48,7 @@ pin: "Закріпити"
unpin: "Відкріпити"
copyContent: "Скопіювати контент"
copyLink: "Скопіювати посилання"
copyRemoteLink: "Копіювати віддалене посилання"
delete: "Видалити"
deleteAndEdit: "Видалити й редагувати"
deleteAndEditConfirm: "Ви впевнені, що хочете видалити цю нотатку та відредагувати її? Ви втратите всі реакції, поширення та відповіді на неї."
@@ -57,6 +61,7 @@ copyUserId: "Копіювати ID користувача"
copyNoteId: "блокнот ID користувача"
copyFileId: "Скопіювати ідентифікатор файлу."
searchUser: "Пошук користувачів"
searchThisUsersNotes: "Пошук нотаток користувача"
reply: "Відповісти"
loadMore: "Показати більше"
showMore: "Показати більше"
@@ -105,9 +110,11 @@ enterEmoji: "Введіть емодзі"
renote: "Поширити"
unrenote: "Відміна поширення"
renoted: "Поширити запис."
renotedToX: "Поширено до {name}"
cantRenote: "Неможливо поширити."
cantReRenote: "Поширення не можливо поширити."
quote: "Цитата"
inChannelRenote: "Поширено у канал"
pinnedNote: "Закріплений запис"
pinned: "Закріпити"
you: "Ви"
@@ -116,6 +123,7 @@ sensitive: "NSFW"
add: "Додати"
reaction: "Реакції"
reactions: "Реакції"
emojiPicker: "Вибір реакції"
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
rememberNoteVisibility: "Пам’ятати параметри видимісті"
attachCancel: "Видалити вкладення"
@@ -289,7 +297,9 @@ folderName: "Ім'я теки"
createFolder: "Створити теку"
renameFolder: "Перейменувати теку"
deleteFolder: "Видалити теку"
folder: "Тека"
addFile: "Додати файл"
showFile: "Показати файл"
emptyDrive: "Диск порожній"
emptyFolder: "Тека порожня"
unableToDelete: "Видалення неможливе"
@@ -302,6 +312,7 @@ copyUrl: "Копіювати URL"
rename: "Перейменувати"
avatar: "Аватар"
banner: "Банер"
displayOfSensitiveMedia: "Показ чутливого медіа"
whenServerDisconnected: "Коли зв’язок із сервером втрачено"
disconnectedFromServer: "Зв’язок із сервером було перервано"
reload: "Оновити"
@@ -348,8 +359,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Увімкнути hCaptcha"
hcaptchaSiteKey: "Ключ сайту"
hcaptchaSecretKey: "Секретний ключ"
mcaptcha: "MCaptcha"
enableMcaptcha: "Увімкнути MCaptcha"
mcaptchaSiteKey: "Ключ сайту"
mcaptchaSecretKey: "Секретний ключ"
mcaptchaInstanceUrl: "Посилання на сервер MCaptcha"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Увімкнути reCAPTCHA"
recaptchaSiteKey: "Ключ сайту"
@@ -905,6 +919,17 @@ flip: "Перевернути"
lastNDays: "Останні {n} днів"
postForm: "Створення нотатки"
information: "Інформація"
inMinutes: "х"
inDays: "д"
widgets: "Віджети"
_imageEditing:
_vars:
filename: "Ім'я файлу"
_imageFrameEditor:
header: "Заголовок"
font: "Шрифт"
fontSerif: "Serif"
fontSansSerif: "Sans serif"
_chat:
invitations: "Запросити"
noHistory: "Історія порожня"
@@ -1405,6 +1430,14 @@ _widgets:
userList: "Список користувачів"
_userList:
chooseList: "Виберіть список"
_widgetOptions:
height: "Висота"
_button:
colored: "Кольоровий"
_clock:
size: "Розмір"
_birthdayFollowings:
period: "Тривалість"
_cw:
hide: "Сховати"
show: "Показати більше"
@@ -1445,6 +1478,9 @@ _postForm:
replyPlaceholder: "Відповідь на цю нотатку..."
quotePlaceholder: "Прокоментуйте цю нотатку..."
channelPlaceholder: "Опублікувати в каналі"
_howToUse:
visibility_title: "Видимість"
menu_title: "Меню"
_placeholders:
a: "Чим займаєтесь?"
b: "Що відбувається навколо вас?"
@@ -1632,3 +1668,13 @@ _watermarkEditor:
type: "Тип"
image: "Зображення"
advanced: "Розширені"
_imageEffector:
_fxProps:
scale: "Розмір"
size: "Розмір"
color: "Колір"
opacity: "Непрозорість"
lightness: "Яскравість"
_qr:
showTabTitle: "Відображення"
raw: "Текст"

View File

@@ -837,6 +837,14 @@ replies: "Javob berish"
renotes: "Qayta qayd etish"
flip: "Teskari"
information: "Haqida"
_imageEditing:
_vars:
filename: "Fayl nomi"
_imageFrameEditor:
header: "Sarlavha"
font: "Shrift"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_chat:
invitations: "Taklif qilish"
noHistory: "Tarix yo'q"
@@ -903,7 +911,7 @@ _theme:
header: "Sarlavha"
navBg: "Yon panel foni"
navFg: "Yon panel matni"
mention: "Murojat"
mention: "Eslatib o'tish"
renote: "Qayta qayd etish"
divider: "Ajratrmoq"
fgHighlighted: "Belgilangan matn"
@@ -937,6 +945,12 @@ _widgets:
jobQueue: "Vazifalar navbati"
_userList:
chooseList: "Ro'yxat tanlash"
_widgetOptions:
height: "balandligi"
_button:
colored: "rangli"
_birthdayFollowings:
period: "Davomiylik"
_cw:
show: "Koproq korish"
chars: "{count} ta belgi(lar)"
@@ -964,6 +978,10 @@ _visibility:
home: "Bosh sahifa"
followers: "Obunachilar"
specified: "Bevosita"
_postForm:
_howToUse:
visibility_title: "Ko'rinishi"
menu_title: "Menyu"
_profile:
name: "Ism"
username: "Foydalanuvchi nomi"
@@ -1045,7 +1063,7 @@ _notification:
_types:
all: "Barchasi"
follow: "Obuna bolish"
mention: "Murojat"
mention: "Eslatib o'tish"
renote: "Qayta qayd etish"
quote: "Iqtibos keltirish"
reaction: "Reaktsiyalar"
@@ -1102,3 +1120,10 @@ _watermarkEditor:
type: "turi"
image: "Rasmlar"
advanced: "Murakkab"
_imageEffector:
_fxProps:
color: "Rang"
lightness: "Yoritish"
_qr:
showTabTitle: "Displey"
raw: "Matn"

View File

@@ -1,53 +0,0 @@
import locales from './index.js';
let valid = true;
function writeError(type, lang, tree, data) {
process.stderr.write(JSON.stringify({ type, lang, tree, data }));
process.stderr.write('\n');
valid = false;
}
function verify(expected, actual, lang, trace) {
for (let key in expected) {
if (!Object.prototype.hasOwnProperty.call(actual, key)) {
continue;
}
if (typeof expected[key] === 'object') {
if (typeof actual[key] !== 'object') {
writeError('mismatched_type', lang, trace ? `${trace}.${key}` : key, { expected: 'object', actual: typeof actual[key] });
continue;
}
verify(expected[key], actual[key], lang, trace ? `${trace}.${key}` : key);
} else if (typeof expected[key] === 'string') {
switch (typeof actual[key]) {
case 'object':
writeError('mismatched_type', lang, trace ? `${trace}.${key}` : key, { expected: 'string', actual: 'object' });
break;
case 'undefined':
continue;
case 'string':
const expectedParameters = new Set(expected[key].match(/\{[^}]+\}/g)?.map((s) => s.slice(1, -1)));
const actualParameters = new Set(actual[key].match(/\{[^}]+\}/g)?.map((s) => s.slice(1, -1)));
for (let parameter of expectedParameters) {
if (!actualParameters.has(parameter)) {
writeError('missing_parameter', lang, trace ? `${trace}.${key}` : key, { parameter });
}
}
}
}
}
}
const { ['ja-JP']: original, ...verifiees } = locales;
for (let lang in verifiees) {
if (!Object.prototype.hasOwnProperty.call(locales, lang)) {
continue;
}
verify(original, verifiees[lang], lang);
}
if (!valid) {
process.exit(1);
}

View File

@@ -1,5 +1,5 @@
---
_lang_: "Tiếng Việt "
_lang_: "Tiếng Việt"
headlineMisskey: "Mạng xã hội liên hợp"
introMisskey: "Xin chào! Misskey là một nền tảng tiểu blog phi tập trung mã nguồn mở.\nViết \"tút\" để chia sẻ những suy nghĩ của bạn 📡\nBằng \"biểu cảm\", bạn có thể bày tỏ nhanh chóng cảm xúc của bạn với các tút 👍\nHãy khám phá một thế giới mới! 🚀"
poweredByMisskeyDescription: "{name} là một trong những chủ máy của <b>Misskey</b> là nền tảng mã nguồn mở"
@@ -576,6 +576,7 @@ showFixedPostForm: "Hiện khung soạn tút ở phía trên bảng tin"
showFixedPostFormInChannel: "Hiển thị mẫu bài đăng ở phía trên bản tin"
withRepliesByDefaultForNewlyFollowed: "Mặc định hiển thị trả lời từ những người dùng mới theo dõi trong dòng thời gian"
newNoteRecived: "Đã nhận tút mới"
newNote: "Ghi chú mới"
sounds: "Âm thanh"
sound: "Âm thanh"
notificationSoundSettings: "Cài đặt âm thanh thông báo"
@@ -848,7 +849,7 @@ hideOnlineStatus: "Ẩn trạng thái online"
hideOnlineStatusDescription: "Ẩn trạng thái online của bạn làm giảm sự tiện lợi của một số tính năng như tìm kiếm."
online: "Online"
active: "Hoạt động"
offline: "Offline"
offline: "Ngoại tuyến"
notRecommended: "Không đề xuất"
botProtection: "Bảo vệ Bot"
instanceBlocking: "Máy chủ đã chặn"
@@ -1196,7 +1197,6 @@ showAvatarDecorations: "Hiển thị trang trí ảnh đại diện"
releaseToRefresh: "Thả để làm mới"
refreshing: "Đang làm mới"
pullDownToRefresh: "Kéo xuống để làm mới"
signupPendingError: "Đã xảy ra sự cố khi xác minh địa chỉ email của bạn. Liên kết có thể đã hết hạn."
cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích."
decorate: "Trang trí"
lastNDays: "{n} ngày trước"
@@ -1221,6 +1221,19 @@ information: "Giới thiệu"
chat: "Trò chuyện"
migrateOldSettings: "Di chuyển cài đặt cũ"
migrateOldSettings_description: "Thông thường, quá trình này diễn ra tự động, nhưng nếu vì lý do nào đó mà quá trình di chuyển không thành công, bạn có thể kích hoạt thủ công quy trình di chuyển, quá trình này sẽ ghi đè lên thông tin cấu hình hiện tại của bạn."
driveAboutTip: "Trong Drive, danh sách các tệp bạn đã tải lên trước đây sẽ được hiển thị.<br>\nBạn có thể sử dụng lại chúng khi đính kèm vào ghi chú, hoặc tải lên trước các tệp để đăng sau.<br>\n<b>Lưu ý rằng nếu bạn xóa một tệp, tệp đó cũng sẽ biến mất khỏi tất cả những nơi đã sử dụng tệp đó (ghi chú, trang, ảnh đại diện, biểu ngữ, v.v.).</b><br>\nBạn cũng có thể tạo các thư mục để sắp xếp chúng."
inMinutes: "phút"
inDays: "ngày"
widgets: "Tiện ích"
presets: "Mẫu thiết lập"
_imageEditing:
_vars:
filename: "Tên tập tin"
_imageFrameEditor:
header: "Ảnh bìa"
font: "Phông chữ"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_chat:
invitations: "Mời"
noHistory: "Không có dữ liệu"
@@ -1815,7 +1828,14 @@ _widgets:
_userList:
chooseList: "Chọn danh sách"
clicker: "clicker"
chat: "Trò chuyện"
_widgetOptions:
height: "Chiều cao"
_button:
colored: "Với màu"
_clock:
size: "Kích thước"
_birthdayFollowings:
period: "Thời hạn"
_cw:
hide: "Ẩn"
show: "Tải thêm"
@@ -1858,6 +1878,9 @@ _postForm:
replyPlaceholder: "Trả lời tút này"
quotePlaceholder: "Trích dẫn tút này"
channelPlaceholder: "Đăng lên một kênh"
_howToUse:
visibility_title: "Hiển thị"
menu_title: "Menu"
_placeholders:
a: "Bạn đang định làm gì?"
b: "Hôm nay bạn có gì vui?"
@@ -2041,7 +2064,6 @@ _deck:
channel: "Kênh"
mentions: "Lượt nhắc"
direct: "Nhắn riêng"
chat: "Trò chuyện"
_dialog:
charactersExceeded: "Bạn nhắn quá giới hạn ký tự!! Hiện nay {current} / giới hạn {max}"
charactersBelow: "Bạn nhắn quá ít tối thiểu ký tự!! Hiện nay {current} / Tối thiểu {min}"
@@ -2089,3 +2111,15 @@ _watermarkEditor:
image: "Hình ảnh"
advanced: "Nâng cao"
angle: "Góc"
_imageEffector:
_fxProps:
angle: "Góc"
scale: "Kích thước"
size: "Kích thước"
offset: "Vị trí"
color: "Màu sắc"
opacity: "Độ trong suốt"
lightness: "Độ sáng"
_qr:
showTabTitle: "Hiển thị"
raw: "Văn bản"

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@ notifications: "通知"
username: "使用者名稱"
password: "密碼"
initialPasswordForSetup: "啟動初始設定的密碼"
initialPasswordIsIncorrect: "啟動初始設定密碼錯誤。"
initialPasswordIsIncorrect: "啟動初始設定密碼錯誤。"
initialPasswordForSetupDescription: "如果您自己安裝了 Misskey請使用您在設定檔中輸入的密碼。\n如果您使用 Misskey 的託管服務之類的服務,請使用提供的密碼。\n如果您尚未設定密碼請將其留空並繼續。"
forgotPassword: "忘記密碼"
fetchingAsApObject: "從聯邦宇宙取得中..."
@@ -75,7 +75,7 @@ receiveFollowRequest: "您有新的追隨請求"
followRequestAccepted: "追隨請求已被接受"
mention: "提及"
mentions: "提及"
directNotes: "私訊"
directNotes: "指定使用者"
importAndExport: "匯入與匯出"
import: "匯入"
export: "匯出"
@@ -83,6 +83,8 @@ files: "檔案"
download: "下載"
driveFileDeleteConfirm: "確定要刪除檔案「{name}」嗎?使用此檔案的貼文也會跟著被刪除。"
unfollowConfirm: "確定要取消追隨{name}嗎?"
cancelFollowRequestConfirm: "要取消向 {name} 送出的追隨申請嗎?"
rejectFollowRequestConfirm: "要拒絕來自 {name} 的追隨申請嗎?"
exportRequested: "已請求匯出。這可能會花一點時間。匯出的檔案將會被放到雲端硬碟裡。"
importRequested: "已請求匯入。這可能會花一點時間。"
lists: "清單"
@@ -172,7 +174,7 @@ emojiUrl: "表情符號 URL"
addEmoji: "新增表情符號"
settingGuide: "推薦設定"
cacheRemoteFiles: "快取遠端檔案"
cacheRemoteFilesDescription: "啟用設定後,遠端檔案會被快取在本伺服器的儲存空間中。雖然顯示圖片會變快,但會消耗較多伺服器的儲存空間。至於要快取遠端使用者到什麼程度,是依照角色的雲端硬碟容量而定。當超過這個限制時,從較舊的檔案開始自快取中刪除並改連結。關閉這個設定,遠端檔案一開始就維持連結的方式,但建議將 default.yml 的 proxyRemoteFiles 設為 true以便產生圖片的縮圖並保護使用者的隱私。"
cacheRemoteFilesDescription: "啟用這個設定後,遠端檔案會被快取到這台伺服器的儲存空間中。這樣能加快圖片的顯示速度,但會多占用伺服器的儲存容量。遠端使用者能保留多少快取,取決於其角色所設定的硬碟容量上限。若超過這個上限,系統會從最舊的檔案開始刪除快取並改連結。若停用這個設定,遠端檔案一開始就只會以連結的形式保留。"
youCanCleanRemoteFilesCache: "按檔案管理的🗑️按鈕,可將快取全部刪除。"
cacheRemoteSensitiveFiles: "快取遠端的敏感檔案"
cacheRemoteSensitiveFilesDescription: "若停用這個設定,則不會快取遠端的敏感檔案,而是直接連結。"
@@ -253,6 +255,7 @@ noteDeleteConfirm: "確定刪除此貼文嗎?"
pinLimitExceeded: "不能置頂更多貼文了"
done: "完成"
processing: "處理中"
preprocessing: "準備中"
preview: "預覽"
default: "預設"
defaultValueIs: "預設值:{value}"
@@ -294,13 +297,14 @@ keepOriginalUploading: "保留原圖"
keepOriginalUploadingDescription: "上傳圖片時保留原始圖片。關閉時,瀏覽器會在上傳時生成適用於網路傳送的版本。"
fromDrive: "從雲端空間中選擇"
fromUrl: "從 URL 上傳"
uploadFromUrl: "從網址上傳"
uploadFromUrl: "從 URL 上傳"
uploadFromUrlDescription: "您要上傳的檔案網址"
uploadFromUrlRequested: "已請求上傳"
uploadFromUrlMayTakeTime: "還需要一些時間才能完成上傳。"
uploadNFiles: "上傳了 {n} 個檔案"
explore: "探索"
messageRead: "已讀"
readAllChatMessages: "將所有訊息標記為已讀"
noMoreHistory: "沒有更多歷史紀錄"
startChat: "開始聊天"
nUsersRead: "{n} 人已讀"
@@ -333,6 +337,7 @@ fileName: "檔案名稱"
selectFile: "選擇檔案"
selectFiles: "選擇檔案"
selectFolder: "選擇資料夾"
unselectFolder: "取消選擇資料夾"
selectFolders: "選擇資料夾"
fileNotSelected: "尚未選擇檔案"
renameFile: "重新命名檔案"
@@ -345,6 +350,7 @@ addFile: "加入附件"
showFile: "瀏覽文件"
emptyDrive: "雲端硬碟為空"
emptyFolder: "資料夾為空"
dropHereToUpload: "將檔案拖放至此處即可上傳"
unableToDelete: "無法刪除"
inputNewFileName: "輸入檔案名稱"
inputNewDescription: "請輸入新標題 "
@@ -537,6 +543,7 @@ regenerate: "再次生成"
fontSize: "字體大小"
mediaListWithOneImageAppearance: "只有一張圖片時的檔案列表高度"
limitTo: "上限為 {x}"
showMediaListByGridInWideArea: "當畫面寬度較寬時,將媒體清單以橫向排列顯示"
noFollowRequests: "沒有追隨您的請求"
openImageInNewTab: "於新分頁中開啟圖片"
dashboard: "儀表板"
@@ -638,7 +645,7 @@ inboxUrl: "收件夾 URL"
addedRelays: "已加入的中繼器"
serviceworkerInfo: "如要使用推播通知,需要啟用此選項並設定金鑰。"
deletedNote: "已刪除的貼文"
invisibleNote: "私貼文"
invisibleNote: "私密的貼文"
enableInfiniteScroll: "啟用自動滾動頁面模式"
visibility: "可見性"
poll: "票選活動"
@@ -772,6 +779,7 @@ lockedAccountInfo: "即使追隨需要核准,除非你將貼文的可見性設
alwaysMarkSensitive: "預設標記檔案為敏感內容"
loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
disableShowingAnimatedImages: "不播放動態圖檔"
disableShowingAnimatedImages_caption: "無論這個設定如何,如果動畫圖片無法播放,可能是因為瀏覽器或作業系統的無障礙設定、省電設定等產生了干擾。"
highlightSensitiveMedia: "強調敏感標記"
verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的連結以完成驗證。"
notSet: "未設定"
@@ -817,7 +825,7 @@ saveConfirm: "您要儲存變更嗎?"
deleteConfirm: "你確定要刪除嗎?"
invalidValue: "輸入值無效。"
registry: "登錄表"
closeAccount: "停用帳戶"
closeAccount: "刪除帳戶"
currentVersion: "目前版本"
latestVersion: "最新版本"
youAreRunningUpToDateClient: "您所使用的客戶端已經是最新的。"
@@ -1018,6 +1026,9 @@ pushNotificationAlreadySubscribed: "推播通知啟用中"
pushNotificationNotSupported: "瀏覽器或伺服器不支援推播通知"
sendPushNotificationReadMessage: "如果已閱讀通知與訊息,就刪除推播通知"
sendPushNotificationReadMessageCaption: "可能會導致裝置的電池消耗量增加。"
pleaseAllowPushNotification: "請允許瀏覽器的通知設定"
browserPushNotificationDisabled: "取得通知發送權限失敗"
browserPushNotificationDisabledDescription: "您沒有權限從 {serverName} 發送通知。請在瀏覽器設定中允許通知,然後再試一次。"
windowMaximize: "最大化"
windowMinimize: "最小化"
windowRestore: "復原"
@@ -1054,6 +1065,7 @@ permissionDeniedError: "操作被拒絕"
permissionDeniedErrorDescription: "此帳戶沒有執行這個操作的權限。"
preset: "預設值"
selectFromPresets: "從預設值中選擇"
custom: "自訂"
achievements: "成就"
gotInvalidResponseError: "伺服器的回應無效"
gotInvalidResponseErrorDescription: "伺服器可能已關閉或者在維護中,請稍後再試。"
@@ -1078,9 +1090,9 @@ postToTheChannel: "發佈到頻道"
cannotBeChangedLater: "之後不能變更。"
reactionAcceptance: "接受表情反應"
likeOnly: "僅限讚"
likeOnlyForRemote: "遠端僅限讚"
likeOnlyForRemote: "全部(遠端僅限讚"
nonSensitiveOnly: "僅限非敏感"
nonSensitiveOnlyForLocalLikeOnlyForRemote: "僅限非敏感(遠端僅限讚)"
nonSensitiveOnlyForLocalLikeOnlyForRemote: "僅限非敏感(遠端僅限讚)"
rolesAssignedToMe: "指派給自己的角色"
resetPasswordConfirm: "重設密碼?"
sensitiveWords: "敏感詞"
@@ -1092,6 +1104,7 @@ prohibitedWordsDescription2: "空格代表「以及」AND斜線包圍
hiddenTags: "隱藏標籤"
hiddenTagsDescription: "設定的標籤不會在趨勢中顯示,換行可以設定多個標籤。"
notesSearchNotAvailable: "無法使用搜尋貼文功能。"
usersSearchNotAvailable: "無法使用使用者搜尋功能。"
license: "授權"
unfavoriteConfirm: "要取消收錄我的最愛嗎?"
myClips: "我的摘錄"
@@ -1166,6 +1179,7 @@ installed: "已安裝"
branding: "品牌宣傳"
enableServerMachineStats: "公佈伺服器的機器資訊"
enableIdenticonGeneration: "啟用生成使用者的 Identicon "
showRoleBadgesOfRemoteUsers: "顯示授予遠端使用者的角色徽章"
turnOffToImprovePerformance: "關閉時會提高性能。"
createInviteCode: "建立邀請碼"
createWithOptions: "使用選項建立"
@@ -1243,7 +1257,7 @@ releaseToRefresh: "放開以更新內容"
refreshing: "載入更新中"
pullDownToRefresh: "往下拉來更新內容"
useGroupedNotifications: "分組顯示通知訊息"
signupPendingError: "驗證您的電子郵件地址時出現問題。連結可能已過期。"
emailVerificationFailedError: "驗證您的電子郵件地址時出現問題。連結可能已過期。"
cwNotationRequired: "如果開啟「隱藏內容」,則需要註解說明。"
doReaction: "做出反應"
code: "程式碼"
@@ -1313,6 +1327,8 @@ availableRoles: "可用角色"
acknowledgeNotesAndEnable: "了解注意事項後再開啟。"
federationSpecified: "此伺服器以白名單聯邦的方式運作。除了管理員指定的伺服器外,它無法與其他伺服器互動。"
federationDisabled: "此伺服器未開啟站台聯邦。無法與其他伺服器上的使用者互動。"
draft: "草稿\n"
draftsAndScheduledNotes: "草稿與排定發布"
confirmOnReact: "在做出反應前先確認"
reactAreYouSure: "用「 {emoji} 」反應嗎?"
markAsSensitiveConfirm: "要將這個媒體設定為敏感嗎?"
@@ -1340,6 +1356,8 @@ postForm: "發文視窗"
textCount: "字數"
information: "關於"
chat: "聊天"
directMessage: "直接訊息"
directMessage_short: "訊息"
migrateOldSettings: "遷移舊設定資訊"
migrateOldSettings_description: "通常情況下,這會自動進行,但若因某些原因未能順利遷移,您可以手動觸發遷移處理。請注意,當前的設定資訊將會被覆寫。"
compress: "壓縮"
@@ -1349,7 +1367,7 @@ top: "上"
embed: "嵌入"
settingsMigrating: "正在移轉設定。請稍候……(之後也可以到「設定 → 其他 → 舊設定資訊移轉」中手動進行移轉)"
readonly: "唯讀"
goToDeck: "回去甲板"
goToDeck: "回到多欄模式"
federationJobs: "聯邦通訊作業"
driveAboutTip: "在「雲端硬碟」中,會顯示過去上傳的檔案列表。<br>\n可以在附加到貼文時重新利用或者事先上傳之後再用於發布。<br>\n<b>請注意,刪除檔案後,之前使用過該檔案的所有地方(貼文、頁面、大頭貼、橫幅等)也會一併無法顯示。</b><br>\n也可以建立資料夾來整理檔案。"
scrollToClose: "用滾輪關閉"
@@ -1367,7 +1385,84 @@ redisplayAllTips: "重新顯示所有「提示與技巧」"
hideAllTips: "隱藏所有「提示與技巧」"
defaultImageCompressionLevel: "預設的影像壓縮程度"
defaultImageCompressionLevel_description: "低的話可以保留畫質,但是會增加檔案的大小。<br>高的話可以減少檔案大小,但是會降低畫質。"
defaultCompressionLevel: "預設的壓縮程度"
defaultCompressionLevel_description: "低的話可以保留品質,但是會增加檔案的大小。<br>高的話可以減少檔案大小,但是會降低品質。"
inMinutes: "分鐘"
inDays: "日"
safeModeEnabled: "啟用安全模式"
pluginsAreDisabledBecauseSafeMode: "由於啟用安全模式,所有的外掛都被停用。"
customCssIsDisabledBecauseSafeMode: "由於啟用安全模式,所有的客製 CSS 都被停用。"
themeIsDefaultBecauseSafeMode: "在安全模式啟用期間將使用預設主題。關閉安全模式後會恢復原本的設定。"
thankYouForTestingBeta: "感謝您協助驗證 beta 版!"
createUserSpecifiedNote: "建立指定使用者的貼文"
schedulePost: "排定發布"
scheduleToPostOnX: "排定在 {x} 發布"
scheduledToPostOnX: "已排定在 {x} 發布貼文"
schedule: "排定"
scheduled: "排定"
widgets: "小工具"
deviceInfo: "硬體資訊"
deviceInfoDescription: "在提出技術性諮詢時,若能同時提供以下資訊,將有助於解決問題。"
youAreAdmin: "您是管理員"
frame: "邊框"
presets: "預設值"
zeroPadding: "補零"
nothingToConfigure: "無可設定的項目"
viewRenotedChannel: "顯示轉發貼文者的頻道"
_imageEditing:
_vars:
caption: "檔案標題"
filename: "檔案名稱"
filename_without_ext: "無副檔名的檔案名稱"
year: "拍攝年份"
month: "拍攝月份"
day: "拍攝日期"
hour: "拍攝時間(小時)"
minute: "拍攝時間(分鐘)"
second: "拍攝時間(秒)"
camera_model: "相機名稱"
camera_lens_model: "鏡頭型號"
camera_mm: "焦距"
camera_mm_35: "焦距(換算為 35mm 底片等效焦距)"
camera_f: "光圈"
camera_s: "快門速度"
camera_iso: "ISO 感光度"
gps_lat: "緯度"
gps_long: "經度"
_imageFrameEditor:
title: "編輯邊框"
tip: "可以在圖片上添加包含邊框或 EXIF 的標籤來裝飾圖片。"
header: "標題"
footer: "頁尾"
borderThickness: "邊框寬度"
labelThickness: "標籤寬度"
labelScale: "標籤縮放比例"
centered: "置中對齊"
captionMain: "標題文字(大)"
captionSub: "標題文字(小)"
availableVariables: "可使用的變數"
withQrCode: "二維條碼"
backgroundColor: "背景顏色"
textColor: "文字顏色"
font: "字型"
fontSerif: "襯線體"
fontSansSerif: "無襯線體"
quitWithoutSaveConfirm: "不儲存就退出嗎?"
failedToLoadImage: "圖片載入失敗"
_compression:
_quality:
high: "高品質"
medium: "中品質"
low: "低品質"
_size:
large: "大"
medium: "中"
small: "小"
_order:
newest: "最新的在前"
oldest: "最舊的在前"
_chat:
messages: "訊息"
noMessagesYet: "尚無訊息"
newMessage: "新訊息"
individualChat: "ㄧ對一聊天室"
@@ -1455,6 +1550,12 @@ _settings:
contentsUpdateFrequency_description2: "當即時模式開啟時,不論此設定為何,內容都會即時更新。"
showUrlPreview: "顯示網址預覽"
showAvailableReactionsFirstInNote: "將可用的反應顯示在頂部"
showPageTabBarBottom: "在底部顯示頁面的標籤列"
emojiPaletteBanner: "可以將固定顯示在表情符號選擇器的預設項目註冊為調色盤,或者自訂選擇器的顯示方式。"
enableAnimatedImages: "啟用動畫圖片"
settingsPersistence_title: "設定的持久化"
settingsPersistence_description1: "啟用「設定的持久化」後,可以防止設定資訊遺失。"
settingsPersistence_description2: "依環境不同,可能無法啟用。"
_chat:
showSenderName: "顯示發送者的名稱"
sendOnEnter: "按下 Enter 發送訊息"
@@ -1463,6 +1564,8 @@ _preferencesProfile:
profileNameDescription: "設定一個名稱來識別此裝置。"
profileNameDescription2: "例如:「主要個人電腦」、「智慧型手機」等"
manageProfiles: "管理個人檔案"
shareSameProfileBetweenDevicesIsNotRecommended: "不建議在多個裝置上共用同一個設定檔。"
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "如果您希望在多個裝置之間同步某些設定項目,請分別啟用「跨裝置同步」選項。"
_preferencesBackup:
autoBackup: "自動備份"
restoreFromBackup: "從備份還原"
@@ -1472,6 +1575,7 @@ _preferencesBackup:
youNeedToNameYourProfileToEnableAutoBackup: "要啟用自動備份,必須設定檔案名稱。"
autoPreferencesBackupIsNotEnabledForThisDevice: "此裝置未啟用自動備份設定。"
backupFound: "找到設定的備份"
forceBackup: "強制備份設定"
_accountSettings:
requireSigninToViewContents: "須登入以顯示內容"
requireSigninToViewContentsDescription1: "必須登入才會顯示您建立的貼文等內容。可望有效防止資訊被爬蟲蒐集。"
@@ -1539,7 +1643,7 @@ _initialAccountSetting:
theseSettingsCanEditLater: "這裡的設定可以在之後變更。"
youCanEditMoreSettingsInSettingsPageLater: "除此之外,還可以在「設定」頁面進行各種設定。之後請確認看看。"
followUsers: "為了構築時間軸,試著追隨您感興趣的使用者吧。"
pushNotificationDescription: "啟用推送通知後,就可以在裝置上接收來自{name}的通知了。"
pushNotificationDescription: "啟用推送通知後,就可以在裝置上接收來自 {name} 的通知了。"
initialAccountSettingCompleted: "初始設定完成了!"
haveFun: "盡情享受{name}吧!"
youCanContinueTutorial: "您可以繼續學習如何使用{name}(Misskey),也可以就此打住,立即開始使用。"
@@ -1628,6 +1732,10 @@ _serverSettings:
fanoutTimelineDbFallback: "資料庫的回退"
fanoutTimelineDbFallbackDescription: "若啟用,在時間軸沒有快取的情況下將執行回退處理以額外查詢資料庫。若停用,可以透過不執行回退處理來進一步減少伺服器的負荷,但會限制可取得的時間軸範圍。"
reactionsBufferingDescription: "啟用時,可以顯著提高建立反應時的效能並減少資料庫的負載。 但是Redis 記憶體使用量會增加。"
remoteNotesCleaning: "自動清除遠端發佈內容"
remoteNotesCleaning_description: "啟用後,系統會定期清理未被參照的舊遠端貼文,以抑制資料庫的膨脹。"
remoteNotesCleaningMaxProcessingDuration: "清理作業的最長持續時間"
remoteNotesCleaningExpiryDaysForEachNotes: "貼文最短保留天數"
inquiryUrl: "聯絡表單網址"
inquiryUrlDescription: "指定伺服器運營者的聯絡表單網址,或包含運營者聯絡資訊網頁的網址。"
openRegistration: "允許建立帳戶"
@@ -1646,6 +1754,11 @@ _serverSettings:
userGeneratedContentsVisibilityForVisitor: "使用者建立的內容對訪客的公開範圍"
userGeneratedContentsVisibilityForVisitor_description: "這有助於防止一些問題的發生,例如未經適當審核的不適當遠端內容無意中透過您自己的伺服器發佈到網際網路上。"
userGeneratedContentsVisibilityForVisitor_description2: "包括伺服器接收到的遠端內容在內,無條件地將伺服器內所有內容公開到網際網路上是具有風險的。特別是對於不了解分散式架構特性的瀏覽者來說,他們可能會誤以為這些遠端內容是由該伺服器所創建的,因此需要特別留意。"
restartServerSetupWizardConfirm_title: "要重新執行伺服器的初始設定精靈嗎?"
restartServerSetupWizardConfirm_text: "當前的部分設定將會被重設。"
entrancePageStyle: "入口頁面的樣式"
showTimelineForVisitor: "顯示時間軸"
showActivitiesForVisitor: "顯示活動"
_userGeneratedContentsVisibilityForVisitor:
all: "全部公開\n"
localOnly: "僅公開本地內容,遠端內容則不公開\n"
@@ -1968,6 +2081,7 @@ _role:
canManageAvatarDecorations: "管理頭像裝飾"
driveCapacity: "雲端硬碟容量"
maxFileSize: "可上傳的最大檔案大小"
maxFileSize_caption: "前端可能還有其他設定值,例如反向代理或 CDN。"
alwaysMarkNsfw: "總是將檔案標記為NSFW"
canUpdateBioMedia: "允許更新大頭貼和橫幅"
pinMax: "置頂貼文的最大數量"
@@ -1982,6 +2096,7 @@ _role:
descriptionOfRateLimitFactor: "值越小限制越少,值越大限制越多。"
canHideAds: "不顯示廣告"
canSearchNotes: "可否搜尋貼文"
canSearchUsers: "可使用使用者搜尋功能"
canUseTranslator: "使用翻譯功能"
avatarDecorationLimit: "頭像可掛上的最大裝飾數量"
canImportAntennas: "允許匯入天線"
@@ -1993,6 +2108,9 @@ _role:
uploadableFileTypes: "可上傳的檔案類型"
uploadableFileTypes_caption: "請指定 MIME 類型。可以用換行區隔多個類型,也可以使用星號(*作為萬用字元進行指定。例如image/*\n"
uploadableFileTypes_caption2: "有些檔案可能無法判斷其類型。若要允許這類檔案,請在指定中加入 {x}。"
noteDraftLimit: "伺服器端可建立的貼文草稿數量上限\n"
scheduledNoteLimit: "同時建立的排定發布數量"
watermarkAvailable: "浮水印功能是否可用"
_condition:
roleAssignedTo: "手動指派角色完成"
isLocal: "本地使用者"
@@ -2040,7 +2158,7 @@ _accountDelete:
accountDelete: "刪除帳戶"
mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶發佈的內容以及上傳的檔案數量較多,則需要一段時間才能完成。"
sendEmail: "帳戶刪除完成後,將向其電子郵件地址發送通知。"
requestAccountDelete: "刪除帳戶請求"
requestAccountDelete: "請求刪除帳戶"
started: "已開始刪除作業。"
inProgress: "正在刪除"
_ad:
@@ -2152,6 +2270,7 @@ _theme:
install: "安裝佈景主題"
manage: "管理佈景主題"
code: "佈景主題代碼"
copyThemeCode: "複製主題代碼"
description: "描述"
installed: "{name}已安裝"
installedThemes: "已經安裝的佈景主題"
@@ -2211,7 +2330,7 @@ _theme:
buttonHoverBg: "按鈕背景 (漂浮)"
inputBorder: "輸入框邊框"
badge: "徽章"
messageBg: "私訊背景"
messageBg: "聊天的背景"
fgHighlighted: "突顯文字"
_sfx:
note: "貼文"
@@ -2243,7 +2362,7 @@ _timeIn:
minutes: "{n}分鐘後"
hours: "{n}小時後"
days: "{n}天後"
weeks: "{n}後"
weeks: "{n}後"
months: "{n}個月後"
years: "{n}年後"
_time:
@@ -2251,6 +2370,7 @@ _time:
minute: "分鐘"
hour: "小時"
day: "日"
month: "個月"
_2fa:
alreadyRegistered: "此裝置已被註冊過了"
registerTOTP: "開始設定驗證應用程式"
@@ -2380,6 +2500,7 @@ _auth:
scopeUser: "以下列使用者身分操作"
pleaseLogin: "必須登入以提供應用程式的存取權限。"
byClickingYouWillBeRedirectedToThisUrl: "如果授予存取權限,就會自動導向到以下的網址"
alreadyAuthorized: "此應用程式已被授予存取權限。"
_antennaSources:
all: "全部貼文"
homeTimeline: "來自已追隨使用者的貼文"
@@ -2426,6 +2547,44 @@ _widgets:
clicker: "點擊器"
birthdayFollowings: "今天生日的使用者"
chat: "聊天"
_widgetOptions:
showHeader: "檢視標頭 "
transparent: "使背景透明"
height: "高度"
_button:
colored: "彩色"
_clock:
size: "尺寸"
thickness: "指針粗細"
thicknessThin: "細"
thicknessMedium: "普通"
thicknessThick: "粗"
graduations: "刻度盤"
graduationDots: "圓點"
graduationArabic: "阿拉伯數字"
fadeGraduations: "刻度淡出"
sAnimation: "秒針的動畫效果"
sAnimationElastic: "真實的"
sAnimationEaseOut: "滑順"
twentyFour: "24 小時制"
labelTime: "時間"
labelTz: "時區"
labelTimeAndTz: "時間與時區"
timezone: "時區"
showMs: "顯示毫秒"
showLabel: "顯示標記"
_jobQueue:
sound: "播放音效"
_rss:
url: "RSS 訂閱網址"
refreshIntervalSec: "更新間隔(秒)"
maxEntries: "最大顯示數量"
_rssTicker:
shuffle: "顯示順序隨機排列"
duration: "RSS 跑馬燈的捲動速度(秒)"
reverse: "反方向滾動"
_birthdayFollowings:
period: "時長"
_cw:
hide: "隱藏"
show: "顯示內容"
@@ -2470,6 +2629,20 @@ _postForm:
replyPlaceholder: "回覆此貼文..."
quotePlaceholder: "引用此貼文..."
channelPlaceholder: "發佈到頻道"
showHowToUse: "顯示表單說明"
_howToUse:
content_title: "內文"
content_description: "請輸入要發布的內容。"
toolbar_title: "工具列"
toolbar_description: "可以附加檔案或票選活動、設定註解與標籤、插入表情符號或提及等。"
account_title: "帳號選單"
account_description: "可以切換要發布的帳號,並查看該帳號所儲存的草稿與預約發布列表。"
visibility_title: "可見性"
visibility_description: "可以設定貼文的公開範圍。"
menu_title: "選單"
menu_description: "可以進行其他操作,例如儲存為草稿、預約發佈貼文、或設定反應等。\n"
submit_title: "貼文按鈕"
submit_description: "發布貼文。也可以使用 Ctrl + Enter 或 Cmd + Enter 來發布。"
_placeholders:
a: "今天過得如何?"
b: "有什麼新鮮事嗎?"
@@ -2579,7 +2752,7 @@ _pages:
hideTitleWhenPinned: "被置頂於個人資料時隱藏頁面標題"
font: "字型"
fontSerif: "襯線體"
fontSansSerif: "體"
fontSansSerif: "無襯線體"
eyeCatchingImageSet: "設定封面影像"
eyeCatchingImageRemove: "刪除封面影像"
chooseBlock: "新增方塊"
@@ -2615,6 +2788,8 @@ _notification:
youReceivedFollowRequest: "您有新的追隨請求"
yourFollowRequestAccepted: "您的追隨請求已被核准"
pollEnded: "問卷調查已產生結果"
scheduledNotePosted: "已排定發布貼文"
scheduledNotePostFailed: "排定發布貼文失敗了"
newNote: "新的貼文"
unreadAntennaNote: "天線 {name}"
roleAssigned: "已授予角色"
@@ -2644,6 +2819,8 @@ _notification:
quote: "引用"
reaction: "反應"
pollEnded: "問卷調查結束"
scheduledNotePosted: "預約發佈成功"
scheduledNotePostFailed: "預約發佈失敗"
receiveFollowRequest: "已收到追隨請求"
followRequestAccepted: "追隨請求已接受"
roleAssigned: "已授予角色"
@@ -2683,6 +2860,14 @@ _deck:
usedAsMinWidthWhenFlexible: "如果啟用「自動調整寬度」,此為最小寬度"
flexible: "自動調整寬度"
enableSyncBetweenDevicesForProfiles: "啟用裝置與裝置之間的設定檔資料同步化"
showHowToUse: "檢視使用者介面說明"
_howToUse:
addColumn_title: "新增欄位"
addColumn_description: "您可以選擇要新增的欄位類型。"
settings_title: "使用者介面設定"
settings_description: "您可以對多欄模式使用者介面做詳細設定。"
switchProfile_title: "切換設定檔"
switchProfile_description: "將使用者介面佈局儲存為設定檔,就可以隨時切換使用。"
_columns:
main: "主列"
widgets: "小工具"
@@ -2743,6 +2928,8 @@ _abuseReport:
notifiedWebhook: "使用的 Webhook"
deleteConfirm: "確定要刪除通知對象嗎?"
_moderationLogTypes:
clearQueue: "清除佇列"
promoteQueue: "重新嘗試排程中的工作"
createRole: "新增角色"
deleteRole: "刪除角色 "
updateRole: "更新角色設定"
@@ -2800,6 +2987,7 @@ _fileViewer:
url: "URL"
uploadedAt: "加入日期"
attachedNotes: "含有附件的貼文"
usage: "使用情況"
thisPageCanBeSeenFromTheAuthor: "本頁面僅限上傳了這個檔案的使用者可以檢視。"
_externalResourceInstaller:
title: "從外部網站安裝"
@@ -3052,6 +3240,7 @@ _bootErrors:
otherOption1: "刪除用戶端設定和快取"
otherOption2: "啟動簡易用戶端"
otherOption3: "啟動修復工具"
otherOption4: "以安全模式啟動 Misskey"
_search:
searchScopeAll: "全部"
searchScopeLocal: "本地"
@@ -3088,6 +3277,8 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "連接到由分散型伺服器構成的網絡(聯邦宇宙)後,您可以與其他伺服器進行內容的互相交流。\n"
doYouConnectToFediverse_description2: "連接到聯邦宇宙被稱為「聯邦」。\n"
youCanConfigureMoreFederationSettingsLater: "您可以在稍後進行更高級的設定,例如指定可以聯繫的伺服器等。\n"
remoteContentsCleaning: "自動清理接收的內容"
remoteContentsCleaning_description: "進行聯邦後,會持續接收大量內容。啟用自動清理功能後,系統會自動從伺服器中刪除未被參照的過時內容,以節省儲存空間。"
adminInfo: "管理員資訊"
adminInfo_description: "設定用於接收查詢的管理者資訊。\n"
adminInfo_mustBeFilled: "當設置為開放伺服器或啟用聯邦時,必須填寫此資訊。\n"
@@ -3103,12 +3294,13 @@ _serverSetupWizard:
text2: "為了能夠繼續開發,若您願意的話,請考慮進行捐款。\n"
text3: "也有提供支援者專屬的特典!\n"
_uploader:
editImage: "編輯圖片"
compressedToX: "壓縮為 {x}"
savedXPercent: "節省了 {x}%"
abortConfirm: "有些檔案尚未上傳,您要中止嗎?"
doneConfirm: "有些檔案尚未上傳,是否要完成上傳?"
maxFileSizeIsX: "可上傳的最大檔案大小為 {x}。"
allowedTypes: "可上傳的檔案類型"
allowedTypes: "可上傳的檔案類型"
tip: "檔案尚未上傳。您可以在此對話框中進行上傳前的確認、重新命名、壓縮、裁切等操作。準備完成後,請點選「上傳」按鈕開始上傳。\n"
_clientPerformanceIssueTip:
title: "如果覺得電池消耗過快的話"
@@ -3132,17 +3324,20 @@ _watermarkEditor:
title: "編輯浮水印"
cover: "覆蓋整體"
repeat: "佈局"
preserveBoundingRect: "調整使其在旋轉時不會突出"
opacity: "透明度"
scale: "大小"
text: "文字"
qr: "二維條碼"
position: "位置"
margin: "邊界"
type: "類型"
image: "圖片"
advanced: "進階"
angle: "角度"
stripe: "條紋"
stripeWidth: "線條寬度"
stripeFrequency: "線條數量"
angle: "角度"
polkadot: "波卡圓點"
checker: "棋盤格"
polkadotMainDotOpacity: "主圓點的不透明度"
@@ -3150,16 +3345,21 @@ _watermarkEditor:
polkadotSubDotOpacity: "子圓點的不透明度"
polkadotSubDotRadius: "子圓點的尺寸"
polkadotSubDotDivisions: "子圓點的數量"
leaveBlankToAccountUrl: "若留空則使用帳戶的 URL"
failedToLoadImage: "圖片載入失敗"
_imageEffector:
title: "特效"
addEffect: "新增特效"
discardChangesConfirm: "捨棄更改並退出嗎?"
failedToLoadImage: "圖片載入失敗"
_fxs:
chromaticAberration: "色差"
glitch: "異常雜訊效果"
mirror: "鏡像"
invert: "反轉色彩"
grayscale: "黑白"
blur: "模糊"
pixelate: "馬賽克"
colorAdjust: "色彩校正"
colorClamp: "壓縮色彩"
colorClampAdvanced: "壓縮色彩(進階)"
@@ -3171,3 +3371,72 @@ _imageEffector:
checker: "棋盤格"
blockNoise: "阻擋雜訊"
tearing: "撕裂"
fill: "填充"
_fxProps:
angle: "角度"
scale: "大小"
size: "大小"
radius: "半徑"
samples: "取樣數"
offset: "位置"
color: "顏色"
opacity: "透明度"
normalize: "正規化"
amount: "數量"
lightness: "亮度"
contrast: "對比度"
hue: "色相"
brightness: "亮度"
saturation: "彩度"
max: "最大值"
min: "最小值"
direction: "方向"
phase: "相位"
frequency: "頻率"
strength: "強度"
glitchChannelShift: "偏移"
seed: "種子值"
redComponent: "紅色成分"
greenComponent: "綠色成分"
blueComponent: "青色成分"
threshold: "閾值"
centerX: "X中心座標"
centerY: "Y中心座標"
density: "密度"
zoomLinesOutlineThickness: "線條陰影的粗細"
zoomLinesMaskSize: "中心直徑"
circle: "圓形"
drafts: "草稿\n"
_drafts:
select: "選擇草槁"
cannotCreateDraftAnymore: "已超出可建立的草稿數量上限。\n"
cannotCreateDraft: "無法以此內容建立草稿。\n"
delete: "刪除草稿"
deleteAreYouSure: "確定要刪除草稿嗎?\n"
noDrafts: "沒有草稿。\n"
replyTo: "回覆給 {user}\n"
quoteOf: "引用自 {user} 的貼文\n"
postTo: "發佈到 {channel}\n"
saveToDraft: "儲存為草稿"
restoreFromDraft: "從草稿復原\n"
restore: "還原"
listDrafts: "草稿清單"
schedule: "排定發布"
listScheduledNotes: "排定發布列表"
cancelSchedule: "解除排定"
qr: "二維條碼"
_qr:
showTabTitle: "檢視"
readTabTitle: "讀取"
shareTitle: "{name} {acct}"
shareText: "請在聯邦宇宙追隨我吧!"
chooseCamera: "選擇相機"
cannotToggleFlash: "無法切換閃光燈"
turnOnFlash: "開啟閃光燈"
turnOffFlash: "關閉閃光燈"
startQr: "啟動條碼掃描器"
stopQr: "停止條碼掃描器"
noQrCodeFound: "找不到 QR code"
scanFile: "掃描在裝置上的影像"
raw: "文字"
mfm: "MFM"

View File

@@ -1,32 +1,37 @@
{
"name": "misskey",
"version": "2025.6.4-alpha.0",
"version": "2026.5.0",
"codename": "nasubi",
"repository": {
"type": "git",
"url": "https://github.com/misskey-dev/misskey.git"
},
"packageManager": "pnpm@10.12.1",
"packageManager": "pnpm@10.33.0",
"workspaces": [
"packages/frontend-shared",
"packages/frontend",
"packages/frontend-embed",
"packages/icons-subsetter",
"packages/backend",
"packages/sw",
"packages/misskey-js",
"packages/i18n",
"packages/misskey-reversi",
"packages/misskey-bubble-game"
"packages/misskey-bubble-game",
"packages/icons-subsetter",
"packages/frontend-shared",
"packages/frontend-builder",
"packages/sw",
"packages/backend",
"packages/frontend",
"packages/frontend-embed"
],
"private": true,
"scripts": {
"build-pre": "node ./scripts/build-pre.js",
"compile-config": "cd packages/backend && pnpm compile-config",
"build-pre": "node scripts/build-pre.mjs",
"build-assets": "node ./scripts/build-assets.mjs",
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
"build-storybook": "pnpm --filter frontend build-storybook",
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --no-build && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
"start": "cd packages/backend && pnpm compile-config && node ./built/entry.js",
"start:inspect": "cd packages/backend && pnpm compile-config && node --inspect ./built/entry.js",
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && cross-env NODE_ENV=test pnpm compile-config && cross-env NODE_ENV=test node ./built/entry.js",
"cli": "cd packages/backend && pnpm cli",
"init": "pnpm migrate",
"migrate": "cd packages/backend && pnpm migrate",
"revert": "cd packages/backend && pnpm revert",
@@ -34,55 +39,58 @@
"migrateandstart": "pnpm migrate && pnpm start",
"watch": "pnpm dev",
"dev": "node scripts/dev.mjs",
"lint": "pnpm -r lint",
"lint": "pnpm --no-bail -r lint",
"cy:open": "pnpm cypress open --config-file=cypress.config.ts",
"cy:run": "pnpm cypress run",
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
"e2e-dev-container": "ncp ./.config/cypress-devcontainer.yml ./.config/test.yml && pnpm start-server-and-test start:test http://localhost:61812 cy:run",
"jest": "cd packages/backend && pnpm jest",
"jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage",
"backend-unit-test": "cd packages/backend && pnpm test",
"backend-unit-test-and-coverage": "cd packages/backend && pnpm test-and-coverage",
"test": "pnpm -r test",
"test-and-coverage": "pnpm -r test-and-coverage",
"clean": "node ./scripts/clean.js",
"clean-all": "node ./scripts/clean-all.js",
"clean": "node scripts/clean.mjs",
"clean-all": "node scripts/clean-all.mjs",
"cleanall": "pnpm clean-all"
},
"resolutions": {
"chokidar": "4.0.3",
"lodash": "4.17.21"
},
"dependencies": {
"cssnano": "7.0.7",
"esbuild": "0.25.5",
"execa": "9.6.0",
"fast-glob": "3.3.3",
"glob": "11.0.2",
"ignore-walk": "7.0.0",
"js-yaml": "4.1.0",
"postcss": "8.5.4",
"tar": "7.4.3",
"terser": "5.42.0",
"typescript": "5.8.3"
"cssnano": "7.1.5",
"esbuild": "0.28.0",
"execa": "9.6.1",
"ignore-walk": "8.0.0",
"js-yaml": "4.1.1",
"postcss": "8.5.9",
"tar": "7.5.13",
"terser": "5.46.1"
},
"devDependencies": {
"@eslint/js": "9.39.4",
"@misskey-dev/eslint-plugin": "2.1.0",
"@types/node": "22.15.31",
"@typescript-eslint/eslint-plugin": "8.34.0",
"@typescript-eslint/parser": "8.34.0",
"cross-env": "7.0.3",
"cypress": "14.4.1",
"eslint": "9.28.0",
"globals": "16.2.0",
"@types/js-yaml": "4.0.9",
"@types/node": "24.12.2",
"@typescript-eslint/eslint-plugin": "8.58.2",
"@typescript-eslint/parser": "8.58.2",
"@typescript/native-preview": "7.0.0-dev.20260421.2",
"cross-env": "10.1.0",
"cypress": "15.13.1",
"eslint": "9.39.4",
"globals": "17.5.0",
"ncp": "2.0.0",
"pnpm": "10.12.1",
"start-server-and-test": "2.0.12"
"pnpm": "10.33.0",
"start-server-and-test": "3.0.2",
"typescript": "5.9.3"
},
"optionalDependencies": {
"@tensorflow/tfjs-core": "4.22.0"
},
"pnpm": {
"overrides": {
"@aiscript-dev/aiscript-languageserver": "-"
}
"@aiscript-dev/aiscript-languageserver": "-",
"chokidar": "5.0.0",
"lodash": "4.18.1"
},
"ignoredBuiltDependencies": [
"@sentry-internal/node-cpu-profiler",
"exifreader"
]
}
}

View File

@@ -1,24 +0,0 @@
{
"$schema": "https://swc.rs/schema.json",
"jsc": {
"parser": {
"syntax": "typescript",
"dynamicImport": true,
"decorators": true
},
"transform": {
"legacyDecorator": true,
"decoratorMetadata": true
},
"experimental": {
"keepImportAssertions": true
},
"baseUrl": "src",
"paths": {
"@/*": ["*"]
},
"target": "es2022"
},
"minify": false,
"sourceMaps": "inline"
}

View File

@@ -1,20 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Misskey API</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<script
id="api-reference"
data-url="/api.json"></script>
<script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -9,7 +9,7 @@ window.onload = async () => {
const account = JSON.parse(localStorage.getItem('account'));
const i = account.token;
const api = (endpoint, data = {}) => {
const _api = (endpoint, data = {}) => {
const promise = new Promise((resolve, reject) => {
// Append a credential
if (i) data.i = i;

Some files were not shown because too many files have changed in this diff Show More