Compare commits

...

1312 commits

Author SHA1 Message Date
Mizah a858ee31c6 Added doc comment to alert()
Some checks failed
Check SPDX-License-Identifier / check-spdx-license-id (push) Has been cancelled
Check copyright year / check_copyright_year (push) Has been cancelled
Publish Docker image (develop) / Build (linux/amd64) (push) Has been cancelled
Publish Docker image (develop) / Build (linux/arm64) (push) Has been cancelled
Dockle / dockle (push) Has been cancelled
Lint / pnpm_install (push) Has been cancelled
Storybook / build (push) Has been cancelled
Test (frontend) / vitest (20.16.0) (push) Has been cancelled
Test (frontend) / e2e (chrome, 20.16.0) (push) Has been cancelled
Test (production install and build) / production (20.16.0) (push) Has been cancelled
Publish Docker image (develop) / merge (push) Has been cancelled
Lint / lint (backend) (push) Has been cancelled
Lint / lint (frontend) (push) Has been cancelled
Lint / lint (frontend-embed) (push) Has been cancelled
Lint / lint (frontend-shared) (push) Has been cancelled
Lint / lint (misskey-bubble-game) (push) Has been cancelled
Lint / lint (misskey-js) (push) Has been cancelled
Lint / lint (misskey-reversi) (push) Has been cancelled
Lint / lint (sw) (push) Has been cancelled
Lint / typecheck (backend) (push) Has been cancelled
Lint / typecheck (misskey-js) (push) Has been cancelled
Lint / typecheck (sw) (push) Has been cancelled
2024-11-17 14:34:54 +02:00
Mizah 0bd7ed8191 Added doc comment to toast() 2024-11-17 14:34:47 +02:00
Mizah ee574ae154 Added doc comment to pageWindow 2024-11-17 14:34:39 +02:00
Mizah a505f36252 Added doc comment to popup 2024-11-17 14:34:31 +02:00
Mizah a516383c66 Added internal comments to popup() 2024-11-17 14:34:21 +02:00
Mizah 1613dafc39 Added docs to z-index generator. 2024-11-17 14:23:44 +02:00
Mizah 8457fa9b3b Added docs to popup list and popup id counter. 2024-11-17 14:23:31 +02:00
Mizah 2e51e779e7 Added docs idb proxy.
Some checks are pending
Check SPDX-License-Identifier / check-spdx-license-id (push) Waiting to run
Check copyright year / check_copyright_year (push) Waiting to run
Publish Docker image (develop) / Build (linux/amd64) (push) Waiting to run
Publish Docker image (develop) / Build (linux/arm64) (push) Waiting to run
Publish Docker image (develop) / merge (push) Blocked by required conditions
Dockle / dockle (push) Waiting to run
Storybook / build (push) Waiting to run
Test (production install and build) / production (20.16.0) (push) Waiting to run
2024-11-17 14:02:17 +02:00
Mizah 7f6b486976 Added docs to Keys for localStorage. 2024-11-17 14:02:11 +02:00
Mizah 8c1508fae4 Added docs to miLocalStorage. 2024-11-17 14:02:08 +02:00
Mizah aeb568664d Added docs (and observations) to notes count. 2024-11-17 14:02:02 +02:00
Mizah ecb990fb77 Added docs to $i, iAmModerator, iAmAdmin. 2024-11-17 14:01:53 +02:00
饺子w (Yumechi) a11b77a415
fix(backend): Webhook Test一致性 (#14863)
* fix(backend): Webhook Test一致性

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

* UserWebhookPayload<'followed'> 修正

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

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2024-11-12 09:51:18 +09:00
syuilo 1bc4f400c0 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-11-11 16:35:23 +09:00
syuilo 458c72c153 Update about-misskey.vue 2024-11-11 16:35:13 +09:00
syuilo 6bd3ed2074
Update CHANGELOG.md 2024-11-10 15:10:04 +09:00
かっこかり 31e5f0bd09
fix(frontend): メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正 (#14928)
* fix(frontend): メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正

* Update MkSignupDialog.form.vue

* fix condition
2024-11-10 15:08:58 +09:00
かっこかり e0a83e9c9e
Update CHANGELOG.md (書き方を揃える) 2024-11-09 15:57:10 +09:00
かっこかり 1496700b37
Update CHANGELOG.md
たぶんリリースワークフローはこうしないと認識してくれない
2024-11-09 15:51:49 +09:00
syuilo 00cbf9fe80
Update CONTRIBUTING.md 2024-11-09 14:09:02 +09:00
github-actions[bot] cf09aa21f0 Bump version to 2024.11.0-alpha.0 2024-11-09 02:28:02 +00:00
github-actions[bot] 9f7d41eb47 Bump version to 2024.10.2-alpha.3 2024-11-09 02:25:42 +00:00
かっこかり 4a62051ce7
fix(backend): ローカルユーザーへのメンションを含むノートが連合される際に正しいURLに変換されないことがある問題を修正 (#14879)
* fix: make sure mentions of local users get rendered correctly during AP delivery (resolves #645)

* Update Changelog

* indent

---------

Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-09 10:58:09 +09:00
かっこかり 3a421837bf
refactor(frontend): 動画UIのフルスクリーン周りの調整 (#14877)
* refactor(frontend): フルスクリーン周りの調整

(cherry picked from commit 783032caec5853d78d5af3391e29cf364f2282e8)

* refactor(frontend): deviceKindの循環参照を除去

(cherry picked from commit 1ca471f57e968a1a6e2259bde4a7c6da1fe0c54e)

* fix

---------

Co-authored-by: taiyme <53635909+taiyme@users.noreply.github.com>
2024-11-09 10:57:04 +09:00
momoirodouhu a4c5ce1413
enhance(backend) : リモートユーザーの照会をオリジナルにリダイレクトするように (#12892) (#14897)
* enhance(backend) : リモートユーザーの照会をオリジナルにリダイレクトするように (#12892)

* オリジンリダイレクトのテストをtodoとして追加。

e2eテストにリモートユーザー考慮のテストがなさそうなので。

次のコマンドで動くことは確認済みです。
curl "http://localhost:3000/@foo@bar" -H "accept: application/activity+json" -L

* Acctのパースを既存のパーサーでするように修正

* lint
2024-11-09 10:54:44 +09:00
かっこかり e75b62f3f5
enhance(frontend): 個別お知らせページではmetaタグを出力するように (#14902)
* enhance(frontend): 個別お知らせページではmetaタグを出力するように

* Update Changelog
2024-11-09 10:53:09 +09:00
かっこかり 5b60ae810b
fix(frontend): 外部URLへのリダイレクトのバリデーションを強化 (#14919)
* Fix code scanning alert no. 25: Incomplete URL scheme check (MisskeyIO#799)

* Fix code scanning alert no. 26: Incomplete URL scheme check

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Fix code scanning alert no. 25: Incomplete URL scheme check

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 7d7552e076c0152a5966e919be0e9a60b3736208)

* ✌️

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-11-09 10:52:07 +09:00
かっこかり 98b4717c45
fix(backend): SQLのサニタイズを強化 (#14920)
* Fix code scanning alert no. 28: Incomplete string escaping or encoding (MisskeyIO#800)

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 443335c662b14f609d6a81a8f3807e95709aebc1)

* ✌️

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-11-09 10:51:28 +09:00
syuilo 8a4ce16e90
Update CONTRIBUTING.md 2024-11-08 18:00:55 +09:00
4ster1sk 794cb9ffe2
fix(backend): followedMessageではなくdescriptionになっていたのを修正 (#14908) 2024-11-07 17:16:51 +09:00
syuilo 0b976064ca
Update CHANGELOG.md 2024-11-07 15:10:38 +09:00
4ster1sk bca690f256
fix(backend): フォロワーへのメッセージの絵文字をemojisに含めるように (#14904) 2024-11-07 15:10:10 +09:00
Linca f1eb17f66c
chore: little type trick in pizzax.ts (#14891)
Make `makeGetterSetter` take the correct type associated with getter and setter
2024-11-06 22:01:58 +09:00
かっこかり b1c82213a3
fix(backend): FTT無効時にユーザーリストタイムラインが使用できない問題を修正 (#14878)
* fix: return getfromdb when FanoutTimeline is not enabled

* Update Changelog

* fix

---------

Co-authored-by: Lhc_fl <lhcfl@outlook.com>
2024-11-06 22:01:21 +09:00
かっこかり a896c39dbf
fix(frontend): ノート投稿ボタンにホバー時のスタイルが適用されていない (#14887)
* fix(frontend): ノート投稿ボタンにホバー時のスタイルが適用されていない (#305)

(cherry picked from commit 711ab846a967feeddbe0c908bee4b91646cec321)

* Update Changelog

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-11-06 15:15:28 +09:00
かっこかり 6718a54f6f
fix(backend): ノートを連合する際にリモートユーザーのacctの大小文字を区別して処理している問題を修正 (#14880)
* fix: make sure outgoing remote mentions get resolved correctly if referenced with non-canonical casing (resolves #646)

* Update Changelog

* Update Changelog

* indent

---------

Co-authored-by: Laura Hausmann <laura@hausmann.dev>
2024-11-03 08:26:51 +09:00
かっこかり d57b8bf2e2
fix(frontend): withSensitiveフィルタ周りの挙動修正 (#14884)
* fix(frontend): withSensitiveフィルタ周りの挙動修正

* Update MkNote.vue
2024-11-03 08:23:52 +09:00
syuilo 224bbd486f refactor 2024-10-31 13:50:50 +09:00
syuilo 724dea8136 lint 2024-10-31 13:47:47 +09:00
syuilo ceb60d61b0 refactor 2024-10-31 13:47:30 +09:00
かっこかり 17d9aca5a7
refactor(frontend): asとanyをすぐなおせる範囲で除去 (#14848)
* refactor(frontend): できるだけanyを除去

* refactor

* lint

* fix

* remove unused

* Update packages/frontend/src/components/MkReactionsViewer.details.vue

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-31 13:46:42 +09:00
かっこかり 7fc8a2a7b0
fix(frontend): 一部のノート表示で設定にかかわらずセンシティブなファイルを含むノートが最小化される問題を修正
Fix https://github.com/misskey-dev/misskey/pull/14772#discussion_r1821707117
2024-10-30 09:57:54 +09:00
github-actions[bot] a96f09cee3 Bump version to 2024.10.2-alpha.2 2024-10-28 12:23:59 +00:00
かっこかり f30d19051f
enhance(backend): check_connect.js で全RedisとDBへの接続を確認するように (#14853)
* fix race conditions in check_connect.js

(cherry picked from commit 524ddb96770690455b82522104a543c5b0b1f3b3)

* fix

* Update Changelog

---------

Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2024-10-28 21:06:54 +09:00
Tamme Schichler 8eb7749e44
fix(backend): Accept arrays in ActivityPub icon and image properties (#14825)
This is allowed according to the Activity vocabulary: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon
The issue is noticeable in combination with Bridgy Fed: https://github.com/snarfed/bridgy-fed/issues/1408
2024-10-28 21:06:16 +09:00
Pinapelz 0472d43ee9
fix: encode RSS uris with escape sequences before fetching (#14826)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-28 21:04:46 +09:00
syuilo eb701f2ff4 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-10-28 20:42:23 +09:00
syuilo 74847bce30 enhance: アイコンデコレーション管理画面の改善 2024-10-28 20:42:14 +09:00
woxtu eecfac1dd9
Remove undefined styles (#14858) 2024-10-28 20:22:07 +09:00
syuilo e927507886 🎨 2024-10-28 18:34:18 +09:00
syuilo b1073714ba Update about-misskey.vue 2024-10-28 12:46:39 +09:00
かっこかり 04b37a1315
enhance(i18n): カタルーニャ語を追加 (#14842)
* enhance(i18n): 対応言語の追加

* 翻訳進捗が70%に満たないものを除外

* Update Changelog

* 翻訳進捗が70%を超えたら導入の旨を明記

* typo

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-28 12:32:17 +09:00
syuilo 93a03e6b6d
New Crowdin updates (#14767)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* 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 (Chinese Simplified)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Indonesian)

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

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (English)

* 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 (Chinese Simplified)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)
2024-10-28 11:43:55 +09:00
かっこかり ec4358d1e8
fix(misskey-js): WebSocketの型定義をReconnectingWebsocketに依存するように (#14850)
* fix(misskey-js): WebSocketの型定義をReconnectingWebsocketに依存するように

* Update Changelog

* run api extractor

* fix

* fix
2024-10-28 11:43:05 +09:00
かっこかり a6a1e3d733
enhance(frontend): Self-XSS防止用のメッセージを追加 (#14839)
* enhance(frontend): Self-XSS防止用のメッセージを追加

* Update Changelog

* embedにも同様の記述を追加
2024-10-26 22:07:26 +09:00
github-actions[bot] ded6ef207b Bump version to 2024.10.2-alpha.1 2024-10-25 13:16:43 +00:00
かっこかり db95b6b0d6
🎨
https://github.com/misskey-dev/misskey/pull/14828 のデザイン修正
2024-10-25 19:37:01 +09:00
かっこかり eeea4ec00b
fix(backend): 招待コード発行可能残り数算出に使用すべきロールポリシーの値が違うのを修正 (#14834)
* fix: should use invite limit cycle to calculate invite/limit

* Update Changelog

* Update changelog

---------

Co-authored-by: Lhc_fl <lhcfl@outlook.com>
2024-10-25 15:09:37 +09:00
かっこかり 07b2c3e5b2
fix(frontend): 管理画面のリンク切れを修正 (#14831)
* fix(frontend): 管理画面のリンク切れを修正

* Update Changelog
2024-10-25 15:09:07 +09:00
かっこかり 076cc953e2
enhance(frontend): 外部アプリ認証画面の改良 (#14828)
* enhance(frontend): 外部アプリ認証画面の改良

* 🎨

* lint

* Update Changelog

* indent

* lint

* enhance: miauthのリダイレクト先をUI内でも表示するように

* 🎨

* fix

* fix
2024-10-25 14:20:33 +09:00
かっこかり 15ae1605ec
enhance(frontend): 「単なるラッキー」の調整 (#14807)
* enhance(frontend): 「単なるラッキー」の調整

* refactor

* comment

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-23 14:23:29 +09:00
饺子w (Yumechi) 48d1539f3b
Merge commit from fork
[ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236)

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2024-10-22 18:17:56 +09:00
github-actions[bot] 8b6d321a76 Bump version to 2024.10.2-alpha.0 2024-10-22 08:45:08 +00:00
syuilo 952fec5665
feat: 過去のノートを非公開化/フォロワーのみ表示可能にできる機能 (#14814)
* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* Update privacy.vue

* wip
2024-10-22 17:08:53 +09:00
syuilo 70b2a8f72e fix(frontend): /iのレスポンスに含まれないプロパティが消えずに残り続ける問題を修正 2024-10-21 19:59:20 +09:00
syuilo c4f1ca2fd9 fix(frontend): MkSelectでmodelValueが更新されない限り値を更新しないように 2024-10-21 19:14:02 +09:00
Kisaragi 9d0f7eeb9c
docs: ActivityPub層の変更を含む場合にやるべきことを明文化 (#14812) 2024-10-21 15:12:28 +09:00
かっこかり bc1fce9af6
fix(frontend): デッキのタイムラインカラムでwithSensitiveが利用できない問題を修正 (#14772)
* fix(frontend): デッキのタイムラインカラムでwithSensitiveが利用できない問題を修正

* Update Changelog

* Update Changelog

* Update packages/frontend/src/ui/deck/tl-column.vue
2024-10-21 13:22:21 +09:00
かっこかり 5f12bc515d
Update CHANGELOG.md 2024-10-21 13:11:11 +09:00
Yuba 2f9c04b23b
refs#10866 投稿ダイアログでEscキーが押されたときIME入力中ならダイアログは閉じない (#14787) 2024-10-21 12:51:45 +09:00
syuilo 5c79d8db20
feat: ノートの閲覧にログイン必須にする設定 (#14799)
* wip

* wip

* wip

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

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

* wip

* Update WebhookTestService.ts

* Update privacy.vue

* wip

* rename

* Update locales/ja-JP.yml

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* 🎨

* wip

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-10-21 12:49:29 +09:00
かっこかり bc0c53b92b
fix(frontend): Captcha のエラーハンドリング (#14811)
* fix(frontend): Captcha のエラーハンドリングを修正 (MisskeyIO#768)

(cherry picked from commit 88912d0f8c63a762fbb1d43e5c1abf4fd9fc05d4)

* Update Changelog

* typo

---------

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
2024-10-21 11:44:57 +09:00
かっこかり d6caa4d9c4
fix(frontend): 通知の範囲指定が必要ない通知設定でも範囲指定がでている問題を修正 (#14798)
* fix(frontend): 通知の範囲指定が必要ない通知設定でも範囲指定がでている問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-20 17:29:41 +09:00
syuilo 041c9caf31 🎨 2024-10-20 16:38:27 +09:00
tetsuya-ki 1d106b3ae8
Enhance: ドライブでソートができるように (#14801)
* Enhance: ドライブでソートができるように

* Update CHANGELOG.md
2024-10-20 16:17:16 +09:00
かっこかり 58419e1621
refactor(frontend): ページ内でdocument.titleを直接操作させない, タイポ修正 など (taiyme#288) (#14778)
Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-10-19 21:45:25 +09:00
かっこかり 2250e521e4
refactor(frontend): getBgColorを共通化 (#14782)
* refactor: getBgColor関数の切り出し + fix types (taiyme#291)

* move thing

* revert unnecesary changes

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-10-19 18:02:09 +09:00
かっこかり a3a99467f0
enhance(frontend): Bull Dashboard に relationship queue を追加 (#14777)
* spec(frontend): Bull Dashboard に relationship queue を追加 (MisskeyIO#751)

(cherry picked from commit a8bbccbefa67ca0f2c1ec0880da88dfc7517b6a0)

* Update Changelog

* Update Changelog

---------

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
2024-10-19 17:25:11 +09:00
github-actions[bot] b1aac6acc3 [skip ci] Update CHANGELOG.md (prepend template) 2024-10-15 04:53:48 +00:00
github-actions[bot] d2e8dc4fe3 Release: 2024.10.1 2024-10-15 04:53:43 +00:00
zyoshoka b990ae6b23
test(backend): add federation test (#14582)
* test(backend): add federation test

* fix(ci): install pnpm

* fix(ci): cd

* fix(ci): build entire project

* fix(ci): skip frontend build

* fix(ci): pull submodule when checkout

* chore: show log for debugging

* Revert "chore: show log for debugging"

This reverts commit a930964b8d.

* fix(ci): build entire project

* chore: omit unused globals

* refactor: use strictEqual and simplify some asserts

* test: follow requests

* refactor: add resolveRemoteNote function

* refactor: refine resolveRemoteUser function

* refactor: cache admin credentials

* refactor: simplify assertion with excluded fields

* refactor: use assert

* test: note

* chore: labeler detect federation

* test: blocking

* test: move

* fix: use appropriate TLD

* chore: shorter purge interval

* fix(ci): change TLD

* refactor: delete trivial comment

* test(user): isCat

* chore: use jest

* chore: omit logs

* chore: add memo

* fix(ci): omit unnecessary build

* test: pinning Note

* fix: build daemon in container

* style: indent

* test(streaming): timeline

* chore: rename

* fix: delete role after test

* refactor: resolve users by uri

* fix: delete antenna after test

* test: api timeline

* test: Note deletion

* refactor: sleep function

* test: notification

* style: indent

* refactor: type-safe host

* docs: update description

* refactor: resolve function params

* fix(block): wrong test name

* fix: invalid type

* fix: longer timeout for fire testing

* test(timeline): hashtag

* test(note): vote delivery

* fix: wrong description

* fix: hashtag channel param type

* refactor: wrap basic cases

* test(timeline): add homeTimeline tests

* fix(timeline): correct wrong case and description

* test(notification): add tests for Note

* refactor(user): wrap profile consistency with describe

* chore(note): add issue link

* test(timeline): add test

* test(user): suspension

* test: emoji

* refactor: fetch admin first

* perf: faster tests

* test(drive): sensitive flag

* test(emoji): add tests

* chore: ignore .config/docker.env

* chore: hard-coded tester IP address

* test(emoji): custom emoji are surrounded by zero width space

* refactor: client and username as property

* test(notification): mute

* fix(notification): correct description

* test(block): mention

* refactor(emoji): addCustomEmoji function

* fix: typo

* test(note): add reaction tests

* test(timeline): Note deletion

* fix: unnecessary ts-expect-error

* refactor: unnecessary fetch mocking

* chore: add TODO comments

* test(user): deletion

* chore: enable --frozen-lockfile

* fix(ci): copying configs

* docs: update CONTRIBUTING.md

* docs: fix typo

* chore: set default sleep duration

* fix(notification): omit flaky tests

* fix(notification): correct type

* test(notification): add api endpoint tests

* chore: remove redundant mute test

* refactor: use param client

* fix: start timer after trigger

* refactor: remove unnecessary any

* chore: shorter timeout for checking if fired

* fix(block): remove outdated comment

* refactor: shorten remote user variable name

* refactor(block): use existing function

* refactor: file upload

* docs: update description

* test(user): ffVisibility

* fix: `/api/signin` -> `/api/signin-flow`

* test: abuse report

* refactor: use existing type

* refactor: extract duplicate configs to template file

* fix: typo

* fix: avoid conflict

* refactor: change container dependency

* perf: start misskey parallelly

* fix: remove dependency

* chore(backend): add typecheck

* test: add check for #14728

* chore: enable eslint check

* perf: don't start linked services when test

* test(note): remote note deletion for moderation

* chore: define config template

* chore: write setup script

* refactor: omit unnecessary conditional

* refactor: clarify scope

* refactor: omit type assertion

* refactor: omit logs

* style

* refactor: redundant promise

* refactor: unnecessary imports

* refactor: use readable error code

* refactor: cache set in signin function

* refactor: optimize import
2024-10-15 13:37:00 +09:00
syuilo 3cea890eba fix(frontend): blinkアニメーションが動作していないのを修正 2024-10-15 13:01:06 +09:00
syuilo 21a2aa5243
Update CHANGELOG.md 2024-10-15 12:30:40 +09:00
syuilo 825d218692 Update CHANGELOG.md 2024-10-15 10:39:36 +09:00
syuilo b5de525548 add note 2024-10-15 10:32:00 +09:00
syuilo 5005cc8ae3 add note 2024-10-14 21:00:20 +09:00
syuilo f13c3909a0 refactor(backend): remove unnecessary any 2024-10-14 17:54:27 +09:00
syuilo 77ebabb3dc Revert "refactor"
This reverts commit 7fd8ef344b.
2024-10-14 17:51:47 +09:00
syuilo 7fd8ef344b refactor 2024-10-14 17:43:44 +09:00
syuilo b0a251d231 🎨 2024-10-14 15:35:44 +09:00
github-actions[bot] 04e74aa28c Bump version to 2024.10.1-beta.6 2024-10-14 04:19:47 +00:00
syuilo 140322b8e2 Update CHANGELOG.md 2024-10-14 12:38:12 +09:00
syuilo 3b361a9d0b perf(frontend): make skipNoteRender on by default 2024-10-14 12:37:18 +09:00
syuilo c46d6d8edd perf(frontend-embed): improve note rendering performance 2024-10-14 12:34:03 +09:00
syuilo 64bbce4cf4 perf(frontend): improve notification rendering performance 2024-10-14 12:32:59 +09:00
github-actions[bot] ddca6bdc01 Bump version to 2024.10.1-beta.5 2024-10-14 02:34:17 +00:00
かっこかり 8b7290d6b0
enhance(backend): 個人宛のお知らせはわかったを押すとアーカイブするように (#14762)
* enhance(backend): 個人宛のお知らせはわかったを押すとアーカイブするように

* Update Changelog

* enhance(frontend): アーカイブ済みのものを読み込めるように

* Update Changelog

* fix changelog

* 🎨
2024-10-14 11:23:26 +09:00
syuilo 521d92014d
New Crowdin updates (#14753)
* 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 (Korean)

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

* 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 (Italian)
2024-10-14 11:22:51 +09:00
syuilo 2190092de6 perf(frontend): ノートのレンダリングをスキップできるように 2024-10-14 11:22:02 +09:00
syuilo 064d6ca56f fix(backend): RBT有効時、リノートのリアクションが反映されない問題を修正 2024-10-14 09:11:03 +09:00
かっこかり d0bb0b51f5
fix(frontend): タイムラインで、広告がない際にも広告のwrapperが出てしまうのを修正 (#14763) 2024-10-14 03:06:10 +09:00
かっこかり 088e05ea66
fix(frontend): 使用されているexposeを復活させる (#14764) 2024-10-14 02:54:01 +09:00
github-actions[bot] fb23b24f5c Bump version to 2024.10.1-beta.4 2024-10-13 11:43:27 +00:00
おさむのひと 33b34ad7b8
feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知 (#14757)
* feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知

* fix misskey-js.api.md

* Revert "feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知"

This reverts commit 3ab953bdf8.

* 通知をやめてユーザ単位でのお知らせ機能に変更

* テスト用実装を戻す

* Update packages/backend/src/queue/processors/CheckModeratorsActivityProcessorService.ts

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

* fix remove empty then

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-13 20:32:12 +09:00
syuilo 5229f5de4d refactor(backend): remove unnecessary .then 2024-10-13 20:32:02 +09:00
syuilo ff47fef572
feat: リモートサーバーのサーバー情報を収集しないオプション (#14634)
* wip

* wip

* Update FetchInstanceMetadataService.ts

* Update FetchInstanceMetadataService.ts

* Update types.ts
2024-10-13 20:22:16 +09:00
かっこかり 45d42b8641
feat: ユーザーの名前に禁止ワードを設定できるように (#14756)
* wip

* 🎨

* Enhance: モデレーター以上は制限の影響を受けないように

* refactor

* better error handling

* fix

* Revert "better error handling"

This reverts commit 5670b29cfa.

* error handling

* エラーが出ないのを修正

* translation

* Update Changelog

* status code

* ✌️

* モデレーター以上は影響ないことを明記

* 🎨

* update changelog

* spdx

* Update update.ts

* refactor

* eliminate `screen name`

* remove untracked file

---------

Co-authored-by: KanariKanaru <93921745+kanarikanaru@users.noreply.github.com>
2024-10-13 20:21:25 +09:00
syuilo c4c69cd267 🎨 2024-10-12 11:28:58 +09:00
FineArchs ee08e9f51e
refactor: MkStickyContainerで<style />を使う (#14755)
* remove rootEL ref

* use css module

* use v-bind in css

* --MI prefix

* remove unused ref

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-12 11:20:55 +09:00
syuilo 85bb1ff1db 🎨 2024-10-12 11:18:26 +09:00
syuilo 824c51a19f fix(frontend): fix style
Fix #14754
2024-10-12 10:32:00 +09:00
syuilo ef90f83917 Update index.d.ts 2024-10-12 10:31:40 +09:00
syuilo a87a18f40d Update about-misskey.vue 2024-10-12 10:11:55 +09:00
かっこかり 2f09d69773
fix(backend): キューのエラーログを簡略化するように (#14748)
* reduce federation log spam

* Don't record stack trace for unrecoverable errors.
* Avoid logging duplicate stace traces.

(cherry picked from commit ed0570110bf8cb8e8959591dccfa3c35999106ce)

* improve error summaries

(cherry picked from commit 20dd66f735d9778df0371001e303549dce619260)

* fix lint errors

(cherry picked from commit 83869e1c470b12b3bf4b23d885514d926620662a)

* condense job info

(cherry picked from commit 786702e076ad1af14538849512ad31c0ced7afe6)

* fix maxAttempts calculation

(cherry picked from commit b4d10aa8f821e594ec9c907eb2a5bdb3c73c67d5)

* condense error info

(cherry picked from commit f62cd8941ced74a4865aa5eae4f4a1c7aa1d30f1)

* normalize ID logging

(cherry picked from commit d8e1e4890d28347239162e26235eb68b1ff96654)

* further condense error details

(cherry picked from commit d867c2089b3b24680df0713a2aa0914789e45670)

* collapse AbortErrors

(cherry picked from commit 5171ba7113ebc7242527768afb9ab4cec534e3b3)

* don't log job name unless it has one

(cherry picked from commit a5316c06ed770b60f7b4c7ff5aa8c71cc0558db7)

* Update Changelog

* Record origin

---------

Co-authored-by: Hazel K <acomputerdog@gmail.com>
2024-10-11 21:29:03 +09:00
github-actions[bot] 777804605e Bump version to 2024.10.1-beta.3 2024-10-11 12:13:47 +00:00
syuilo af1cbc131f
wip (#14745) 2024-10-11 21:05:53 +09:00
syuilo c397b42242 chore: add description 2024-10-11 21:01:50 +09:00
おさむのひと a2cd6a7709
feat(backend): 7日間運営のアクティビティがないサーバを自動的に招待制にする (#14746)
* feat(backend): 7日間運営のアクティビティがないサーバを自動的に招待制にする

* fix RoleService.

* fix

* fix

* fix

* add test and fix

* fix

* fix CHANGELOG.md

* fix test
2024-10-11 20:59:36 +09:00
FineArchs 12bc671511
fix: admin/emoji/update で不正なエラーが発生する (#14750)
* fix emoji updating bug

* update changelog

* type fix

* " -> '

* conprehensiveness check

* lint

* undefined -> null
2024-10-11 17:17:45 +09:00
かっこかり d376aab45e
Update CHANGELOG.md (書き方を揃える) 2024-10-10 17:39:20 +09:00
syuilo 1ad3148533 clean up 2024-10-10 17:35:10 +09:00
github-actions[bot] 132c4ba6ce Bump version to 2024.10.1-beta.2 2024-10-10 07:24:24 +00:00
syuilo 67a5fccb3b Update CHANGELOG.md 2024-10-10 16:16:47 +09:00
syuilo 4c84842f3d 🎨 2024-10-10 16:14:32 +09:00
syuilo 54849bde6c clean up 2024-10-10 16:14:11 +09:00
かっこかり b668d161a9
refactor(frontend): prefix css variables (UI) (#14739)
* refactor(frontend): prefix css variables

* `MI_UI` -> `MI`

* fix

* `stickyBottom`

* stickyTop
2024-10-10 16:12:16 +09:00
github-actions[bot] 21e51567e7 Bump version to 2024.10.1-beta.1 2024-10-10 05:56:04 +00:00
github-actions[bot] ebae39cba5 Bump version to 2024.10.1-alpha.0 2024-10-10 05:17:00 +00:00
syuilo 433732bcfc
New Crowdin updates (#14733)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Catalan)
2024-10-10 14:16:24 +09:00
かっこかり a624546812
fix(frontend): ユーザー登録完了時にサインインAPIを別途使用していたのを修正 (#14738)
* fix(frontend): ユーザー登録完了時にサインインAPIを別途使用していたのを修正

* emitされるオブジェクトの型を変更したことに伴う修正

* Update Changelog
2024-10-10 14:05:20 +09:00
syuilo 4a356f1ba7
refactor(frontend): prefix css variables (#14725)
* wip

* Update index.d.ts

* remove unnecessary codes
2024-10-09 18:08:14 +09:00
github-actions[bot] 0ad31bd5d4 [skip ci] Update CHANGELOG.md (prepend template) 2024-10-09 05:17:31 +00:00
github-actions[bot] 6de7c27522 Release: 2024.10.0 2024-10-09 05:17:26 +00:00
syuilo a304185eb8
Update CHANGELOG.md 2024-10-09 14:07:05 +09:00
syuilo c13545f965 🎨 2024-10-09 11:58:51 +09:00
dependabot[bot] 0da6f14b3b
build(deps): bump actions/cache from 4.0.2 to 4.1.0 (#14718)
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.2 to 4.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4.0.2...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 10:25:01 +09:00
syuilo dd39c5e059
Update packages/frontend/src/components/MkAbuseReport.vue
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-10-09 09:47:28 +09:00
かっこかり 1c99785e7e
Merge branch 'master' into develop 2024-10-08 21:10:27 +09:00
syuilo d0213962bf
Update packages/backend/src/core/entities/FlashEntityService.ts
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-10-08 18:59:10 +09:00
syuilo 9858e12078
New Crowdin updates (#14723)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)
2024-10-08 18:50:09 +09:00
syuilo c14eba3e6d
Update packages/frontend/src/store.ts
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-10-08 10:40:41 +09:00
syuilo 993d3fbe55
New Crowdin updates (#14722)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2024-10-08 09:22:58 +09:00
github-actions[bot] 3a11d5ede6 Bump version to 2024.10.0-beta.6 2024-10-07 00:54:00 +00:00
FineArchs ed89b4bd94
refactor: 拡張機能インストールのページの一部をコンポーネントとして分離 (#14654)
* create MkExtensionInstaller.vue

* annotation

* add fallbacks

* storybook

* update annotations

* Update MkExtensionInstaller.vue

* use additonalInfo slot
2024-10-07 09:46:04 +09:00
syuilo 03fb688073
New Crowdin updates (#14695)
* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

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

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)
2024-10-07 09:44:35 +09:00
syuilo 8b2780c730
Update packages/frontend/src/store.ts
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-10-07 09:42:35 +09:00
かっこかり d2f1d45ea3
fix(frontend): クライアント上での時間ベースの実績獲得動作が実績獲得後も発動している問題を修正 (#14717)
* Check if time-based achievements are unlocked before initializing them in main-boot

(cherry picked from commit c0702fd92f70782005517c0065048ececa1ef287)

* Update Changelog

---------

Co-authored-by: Evan Paterakis <evan@geopjr.dev>
2024-10-07 09:07:02 +09:00
syuilo a594d9f26b make animatedMfm enable by default 2024-10-05 19:47:45 +09:00
syuilo 26afe1cc96 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-10-05 18:57:25 +09:00
syuilo 7933b6662e 🎨 2024-10-05 18:57:23 +09:00
zyoshoka ddf8e2a3dc
fix(backend): correct admin/abuse-user-reports schema (#14711)
* fix(backend): correct `abuse-user-reports` schema

* Update CHANGELOG.md
2024-10-05 18:35:37 +09:00
syuilo ddc799fe3d fix of d8cb7305ef 2024-10-05 18:29:02 +09:00
syuilo 057a6d731d 🎨 2024-10-05 18:24:04 +09:00
github-actions[bot] 254c063455 Bump version to 2024.10.0-beta.5 2024-10-05 07:31:13 +00:00
かっこかり 9d026975bc
fix(backend/test): #14558 以降e2eテストがたまに失敗する問題を修正 (#14709)
* fix(backend/test): MisskeyIO#727 以降e2eテストがたまに失敗する問題を修正 (MisskeyIO#735)

* ✌️

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-10-05 16:20:44 +09:00
syuilo d8cb7305ef
feat: 通報の強化 (#14704)
* wip

* Update CHANGELOG.md

* lint

* Update types.ts

* wip

* ✌️

* Update MkAbuseReport.vue

* tweak
2024-10-05 16:20:15 +09:00
syuilo 043fef9fdf 🎨 2024-10-05 15:19:07 +09:00
おさむのひと 0d7d1091c8
enhance: 人気のPlayを10件以上表示できるように (#14443)
Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2024-10-05 14:37:52 +09:00
かっこかり d8bf1ff7e9
#14675 レビューの修正 (#14705) 2024-10-05 13:47:50 +09:00
おさむのひと 88698462a9
feat(backend): 通報および通報解決時に送出されるSystemWebhookにユーザ情報を含めるようにする (#14698)
* feat(backend): 通報および通報解決時に送出されるSystemWebhookにユーザ情報を含めるようにする

* テスト送信もペイロード形式を合わせる

* add spaces

* fix test
2024-10-05 12:51:46 +09:00
かっこかり ae3c155490
fix: signin の資格情報が足りないだけの場合はエラーにせず200を返すように (#14700)
* fix: signin の資格情報が足りないだけの場合はエラーにせず200を返すように

* run api extractor

* fix

* fix

* fix test

* /signin -> /signin-flow

* fix

* fix lint

* rename

* fix

* fix
2024-10-05 12:03:47 +09:00
syuilo fa06c59eae 🎨 2024-10-04 19:09:46 +09:00
かっこかり b36d13d90c
fix(frontend): ログイン画面でキャプチャが表示されない問題を修正 (#14694)
* fix(frontend): ログイン画面でキャプチャが表示されない問題を修正

* rename
2024-10-04 18:45:03 +09:00
github-actions[bot] 3d637af65b Bump version to 2024.10.0-beta.4 2024-10-04 08:41:30 +00:00
syuilo 2340de035b
New Crowdin updates (#14677)
* 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 (English)

* 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 Simplified)
2024-10-04 17:32:36 +09:00
かっこかり d8f30fb793
fix(frontend): canvas-confettiの型定義を追加 (#14692) 2024-10-04 17:32:18 +09:00
syuilo 708ffaef5c 🎨 2024-10-04 17:29:10 +09:00
syuilo 2639e92e18 🎨 2024-10-04 17:07:27 +09:00
syuilo ea2675eaab fix(frontend): リンク動作のオーバーライドが動作していないのを修正 2024-10-04 16:41:08 +09:00
github-actions[bot] 3b0b4f83dd Bump version to 2024.10.0-beta.3 2024-10-04 06:28:36 +00:00
かっこかり 975c2e7bc5
enhance(frontend): サインイン画面の改善 (#14658)
* wip

* Update MkSignin.vue

* Update MkSignin.vue

* wip

* Update CHANGELOG.md

* enhance(frontend): サインイン画面の改善

* Update Changelog

* 14655の変更取り込み

* spdx

* fix

* fix

* fix

* 🎨

* 🎨

* 🎨

* 🎨

* Captchaがリセットされない問題を修正

* 次の処理をsignin apiから読み取るように

* Add Comments

* fix

* fix test

* attempt to fix test

* fix test

* fix test

* fix test

* fix

* fix test

* fix: 一部のエラーがちゃんと出るように

* Update Changelog

* 🎨

* 🎨

* remove border

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-04 15:23:33 +09:00
syuilo e344650278 Update generate.tsx 2024-10-04 13:40:49 +09:00
syuilo 1aee260398 fix test 2024-10-04 12:23:24 +09:00
syuilo 2fa805b8f7 🎨 2024-10-04 11:55:46 +09:00
syuilo ed71b0b7d4 🎨 2024-10-04 11:27:08 +09:00
syuilo 864327b4a7 update deps 2024-10-04 11:20:56 +09:00
syuilo c1597be458 🎨 2024-10-04 10:18:36 +09:00
かっこかり a08a38c29a
fix(test): 初期セットアップで初期パスワードを入力していないのを修正 (#14685) 2024-10-04 07:54:19 +09:00
github-actions[bot] 650e22c90d Bump version to 2024.10.0-beta.2 2024-10-03 12:47:03 +00:00
github-actions[bot] fa2558fce8 Bump version to 2024.10.0-alpha.1 2024-10-03 12:02:35 +00:00
かっこかり 7bdc4e8509
fix: 初期パスワードをコメントアウト (#14682)
* fix: 初期パスワードをコメントアウト

* 🎨

* fix indent
2024-10-03 21:01:09 +09:00
かっこかり d266c3cdf4
fix(gh): Githubのテスト用環境でsetupPasswordが指定されていないのを修正 (#14681) 2024-10-03 20:52:31 +09:00
syuilo d2175a9b9f initialPassword -> setupPassword 2024-10-03 20:40:39 +09:00
zyoshoka 2a4ab0e187
fix(misskey-js): type fixes related to signup and signin (#14679) 2024-10-03 18:33:56 +09:00
かっこかり 2c1a7470d3
feat: サーバー初期設定時に初期パスワードを要求できるように (#14626)
* feat: サーバー初期設定時専用の初期パスワードを設定できるように

* 無いのに入力された場合もエラーにする

* 🎨

* 🎨

* cypress-devcontainerにもpassを設定(テストが失敗するため)

* [ci skip] 🎨

* ✌️

* test: please revert this commit before merge

* Revert "test: please revert this commit before merge"

This reverts commit 66b2b48f66.

* Update locales/ja-JP.yml

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

* build assets

* Update Changelog

* fix condition

* fix condition

* add comment

* change error code

* 他のエラーコードと合わせる

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-03 18:18:00 +09:00
syuilo 75ea964312 Update CHANGELOG.md 2024-10-03 17:07:16 +09:00
syuilo a09b03ed3a Update CHANGELOG.md 2024-10-03 17:06:16 +09:00
Kisaragi a722ea8ccd
fix(backend): 連合限定先が間違って連合しない先に代入されているのを修正 (#14662)
* fix(backend): 連合限定先が間違って連合しない先に代入されているのを修正

* build: fix property typo
2024-10-03 17:05:14 +09:00
syuilo 1e9813e19e
New Crowdin updates (#14649)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uyghur)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Korean (Gyeongsang))
2024-10-03 16:16:09 +09:00
github-actions[bot] e97b7fe2a1 Bump version to 2024.10.0-alpha.0 2024-10-03 06:18:15 +00:00
syuilo 87617dca39 refactor & performance improvements of MkMention 2024-10-03 15:12:07 +09:00
Kisaragi 9dc058189e
fix(frontend): データセーバーを有効にしているときにメンションのアイコンがアニメーションしないように (#14674) 2024-10-03 15:08:45 +09:00
syuilo 83db116c46
enhance(backend): notify new login (#14673)
* wip

* Update CHANGELOG.md

* wip

* fix

* Update index.d.ts

* Update SigninService.ts

* Update MkNotification.vue
2024-10-03 15:06:04 +09:00
syuilo d3e2b59f53 update deps 2024-10-03 15:04:53 +09:00
syuilo 1074d625ed
enhance: require captcha for signin (#14655)
* wip

* Update MkSignin.vue

* Update MkSignin.vue

* wip

* Update CHANGELOG.md
2024-10-03 12:11:09 +09:00
anatawa12 6dde457452
Misskey js autogen check improvements (#14652)
* ci: Make failure if misskey js autogen detected changes

* ci: set persist-credentials
2024-10-03 09:24:22 +09:00
甘瀬ここあ a25d83f249
fix: sassのmodern-compilerを使うように (#14651)
* fix(frontend-embed): ビルド時にsassのmodern-compilerを使うように

* fix(frontend): ビルド時にsassのmodern-compilerを使うように
2024-10-03 09:09:37 +09:00
Julia 6fd4de246c
Make post form attachments accessible (#14666)
* fix(frontend): Make post form attachments accessible

Adds a role="button", tabindex, and @keydown to MkPostFormAttaches in
order to make it accessible to keyboard users.

* Fix for linter

* Add spacing in type signature
2024-10-03 09:09:08 +09:00
かっこかり e9519b02fb
fix(misskey-js): build misskey-js with types (#14665) 2024-10-01 20:53:02 +09:00
syuilo b6578861ac 🎨 2024-09-30 20:22:57 +09:00
かっこかり ca8cc015b0
enhance(frontend): フォロワーへのメッセージ欄を改良 (#14656)
* enhance(frontend): フォロワーへのメッセージ欄を改良

* Update Changelog
2024-09-30 20:05:34 +09:00
github-actions[bot] 4f34a4e4d8 [skip ci] Update CHANGELOG.md (prepend template) 2024-09-29 11:42:26 +00:00
misskey-release-bot[bot] 5fc8b3bc50
Merge pull request #14580 from misskey-dev/develop
Release: 2024.9.0
2024-09-29 11:42:24 +00:00
github-actions[bot] 781e64aa7f Release: 2024.9.0 2024-09-29 11:42:16 +00:00
github-actions[bot] d6e1f022d4 Bump version to 2024.9.0-beta.14 2024-09-29 11:37:44 +00:00
github-actions[bot] 2ea49703f6 Bump version to 2024.9.0-alpha.13 2024-09-29 09:58:32 +00:00
zyoshoka 1184436461
fix(backend): update and re-enable Bull Dashboard (#14648) 2024-09-29 18:44:55 +09:00
syuilo 0871156780
New Crowdin updates (#14629)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

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

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

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

* 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 (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* 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 Traditional)

* New translations ja-jp.yml (Chinese Traditional)
2024-09-29 18:24:58 +09:00
かっこかり 088707c114
enhance(frontend): cwでも絵文字メニューを開けるように (#14647)
* fix(frontend): cwでも絵文字メニューを開けるように

* Update Changelog
2024-09-29 18:24:34 +09:00
syuilo 15f2e1425c tweak MkCondensedLine
#14642
2024-09-29 17:30:16 +09:00
github-actions[bot] 57effa9ef0 Bump version to 2024.9.0-alpha.12 2024-09-28 09:19:30 +00:00
syuilo f0d0cd2e50
wip (#14643) 2024-09-28 18:15:32 +09:00
syuilo c3b0e1a2bd Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-09-28 16:45:59 +09:00
syuilo afbba1ff1c Update WebhookTestService.ts 2024-09-28 16:45:57 +09:00
syuilo 6964b919f8
Update ja-JP.yml 2024-09-28 14:42:07 +09:00
syuilo e5856c6b3b 🎨 2024-09-28 14:02:48 +09:00
syuilo 3f3c59e1ae 🎨 2024-09-28 13:45:53 +09:00
syuilo f49d7927aa 🎨 2024-09-28 13:41:31 +09:00
syuilo 9e9198086d enhance(backend): add user.score for moderation purpose 2024-09-28 11:54:40 +09:00
github-actions[bot] ca022b9349 Bump version to 2024.9.0-alpha.11 2024-09-28 01:22:47 +00:00
FineArchs 25670b5f16
Mk:C:containerのborderStyleとborderRadiusを設定できるように (#14638)
* borderStyle and borderRadius

* changelog
2024-09-28 10:06:01 +09:00
syuilo 6fdb2b13f4 update deps 2024-09-28 10:04:16 +09:00
syuilo 28e9d4e483
feat: フォローされた際のメッセージを設定できるようにする (#14430)
* feat: フォローされた際のメッセージを設定できるようにする

Resolve #14425

* Update CHANGELOG.md

* 既にフォローしているユーザーのメッセージも見れるように

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

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

* fix indent

* Update users.ts

* wip

* Update users.ts

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-09-28 09:55:21 +09:00
syuilo e4d4cc5277 🎨 2024-09-28 09:52:40 +09:00
FineArchs 27a256b502
show shown (#14639) 2024-09-28 08:12:12 +09:00
Yuri Lee b83a2f33ff
test(backend): Add test for Passkey API (#14635) 2024-09-28 08:09:30 +09:00
かっこかり d8a2eeb7ed
feat: エクスポート完了時に通知を発行するように (#14484)
* feat: エクスポート完了時に通知を発行するように

* Update Changelog

* entitity -> entity

* fix: ペイロードを含むように

* fix icon

* exportableEntities -> userExportableEntities
2024-09-26 14:15:03 +09:00
syuilo 89841e4c9a enhance(frontend): 絵文字ピッカーをドロワー表示するか自由に設定可能に 2024-09-26 12:41:48 +09:00
syuilo 31988db547 🎨 2024-09-26 11:35:40 +09:00
KOBA789 7134d24c1f
perf(backend): Defer instance metadata update (#14558)
* Defer instance metadata update

* Fix last new line

* Fix typo

* Add license notice

* Fix syntax

* Perform deferred jobs on shutdown

* Fix missing async/await

* Fix typo :)

* Update collapsed-queue.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-26 10:25:20 +09:00
syuilo 4c76ea1fa6 Update CHANGELOG.md 2024-09-26 08:26:13 +09:00
Yuri Lee d8dd1683c9
Add Sign in with passkey Button (#14577)
* Sign in with passkey (PoC)

* 💄 Added "Login with Passkey" Button

* refactor: Improve error response when WebAuthn challenge fails

* signinResponse should be placed under the SigninWithPasskeyResponse object.

* Frontend fix

* Fix: Rate limiting key for passkey signin

Use specific rate limiting key: 'signin-with-passkey'  for passkey sign-in API to avoid collisions with signin rate-limit.

* Refactor: enhance Passkey sign-in flow and error handling

- Increased the rate limit for Passkey sign-in attempts to accommodate the two API calls needed per sign-in.
- Improved error messages and handling in both the `WebAuthnService` and the `SigninWithPasskeyApiService`, providing more context and better usability.
- Updated error messages to provide more specific and helpful details to the user.

These changes aim to enhance the Passkey sign-in experience by providing more robust error handling, improving security by limiting API calls, and delivering a more user-friendly interface.

* Refactor: Streamline 2FA flow and remove redundant Passkey button.

- Separate the flow of 1FA and 2FA.
- Remove duplicate passkey buttons

* Fix: Add error messages to MkSignin

* chore: Hide passkey button if the entered user does not use passkey login

* Update CHANGELOG.md

* Refactor: Rename functions and Add comments

* Update locales/ja-JP.yml

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

* Fix: Update translation

- update index.d.ts
- update ko-KR.yml, en-US.yml
- Fix: Reflect Changed i18n key on MkSignin

---------

Co-authored-by: Squarecat-meow <kw7551@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-26 08:25:33 +09:00
syuilo fde94f638b Update about-misskey.vue 2024-09-26 08:18:23 +09:00
かっこかり aee984813d
fix(backend): embedの動作に必要な値を復活させる (#14633) 2024-09-25 19:27:50 +09:00
zyoshoka f2385a8ffc
fix(misskey-js): correct noteUpdated event type (#14632) 2024-09-25 17:35:54 +09:00
かっこかり 0f8b15f0fe
fix(frontend-embed): fix instanceticker, remove directives (#14631) 2024-09-25 16:28:32 +09:00
かっこかり 8c3be57ab3
fix(frontend-embed): URLエンコードされた文字列が正常に読み込めない問題を修正 (#14630)
* fix(frontend-embed): URLエンコードされた文字列が正常に読み込めない問題を修正

* fix(frontend-embed): bring back missing bits
2024-09-25 16:12:34 +09:00
syuilo 5c62cbcca8 tweak style 2024-09-25 16:07:23 +09:00
syuilo 5c94b4cb49 🎨 2024-09-25 13:02:31 +09:00
かっこかり 244bcafc5d
fix(docs): RBTの表記ゆれを訂正 (#14628)
* fix(docs): RBTの表記ゆれを訂正

* add changelog for #14600

* fix
2024-09-25 12:56:53 +09:00
github-actions[bot] 8890a7a0b7 Bump version to 2024.9.0-alpha.10 2024-09-25 03:43:12 +00:00
syuilo 4b3ecd49de
New Crowdin updates (#14434)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

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

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

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

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* 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 Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (Korean)
2024-09-25 12:32:12 +09:00
かっこかり dd124a8aed
Fix: <link rel="alternate">を追って照会するのはOKレスポンスが返却された場合のみに (#14627)
* Only accept HTML `<link rel="alternate">` on success

(cherry picked from commit 6ea48be84abdab66301a957c27dd5d84886dfb36)

* Use `res.ok` instead of 200-299

(cherry picked from commit b667a68bd4eb916084658592d2942d521950005b)

* jsdomに戻す

* Update Changelog

* Revert "jsdomに戻す"

This reverts commit c03603611b.

* 🎨

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2024-09-25 12:31:37 +09:00
syuilo 53682f5cc6 🎨 2024-09-25 12:31:04 +09:00
syuilo c88957c037 🎨 2024-09-25 09:39:12 +09:00
syuilo 9d3a331286 🎨 2024-09-25 07:55:24 +09:00
syuilo 1679a40c76 🎨 2024-09-24 21:02:22 +09:00
かっこかり c9819babfe
fix(frontend-embed): #14613 で抜け落ちた処理を戻す (#14623) 2024-09-24 19:27:20 +09:00
github-actions[bot] 7045547e46 Bump version to 2024.9.0-alpha.9 2024-09-24 09:32:19 +00:00
かっこかり 6a1a2bef43
fix(backend): RBTの修正 (#14621)
* fix(backend): 絵文字の変換処理が不十分なのを修正

* enhance: リアクションバッファリングが無効になったら即bakeするように

* attempt to fix test

* fix
2024-09-24 18:29:02 +09:00
syuilo 1d8bfe4f1c 🎨 2024-09-24 18:24:28 +09:00
syuilo ca967e83bd 🎨 2024-09-24 17:52:14 +09:00
syuilo 423bfc8798 🎨 2024-09-24 17:48:49 +09:00
syuilo 6ee55e1ab3 Update CONTRIBUTING.md 2024-09-24 17:41:56 +09:00
syuilo 9612195fc3 enhance(frontend): tweak control panel 2024-09-24 15:54:47 +09:00
syuilo 4be307f223 refactor 2024-09-24 13:55:35 +09:00
github-actions[bot] 1b2b95e199 Bump version to 2024.9.0-alpha.8 2024-09-24 01:22:57 +00:00
FineArchs aef15069a2
Playの編集画面の保存ボタン等をstickyにする など (#14429)
* flash: sticky buttons

* sticky save buttons

* fix

* add spacer

* fix design

* Update CHANGELOG.md

* revert experimental background

* add background

* Update CHANGELOG.md

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-09-24 10:12:58 +09:00
かっこかり 3674e9b1cb
feat: adminのファイル一覧画面で、ファイルが添付されているノートを一覧できるように (#14403)
* enhance(moderation): モデレーターがファイルが添付されているノートを照会できるように (MisskeyIO#680)

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
Co-authored-by: nenohi <kimutipartylove@gmail.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
(cherry picked from commit b059162324d2cfc697d1af9f3b6fb49fad2734e0)

* Update Changelog

* ✌️

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
Co-authored-by: nenohi <kimutipartylove@gmail.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

---------

Co-authored-by: Yuuki <yukikum57@gmail.com>
Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
Co-authored-by: nenohi <kimutipartylove@gmail.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-09-24 10:11:09 +09:00
おさむのひと 98de7ca526
fix(frontend): 連合一覧等のページネーションが壊れていたのを修正 (#14439)
* fix

* fix

* fix CHANGELOG.md

* 開発環境以外でログが出ないように

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-09-24 10:09:55 +09:00
Kisaragi 23a07c2706
ci: fix syntax error (#14602) 2024-09-24 09:50:18 +09:00
Aleteoryx 689848943b
Fix: Continue importing from file if single emoji import fails (#14461)
* Fix: Continue importing from file if single emoji import fails

* Fix indentation

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-24 09:50:00 +09:00
zyoshoka a37df2cd8e
fix(frontend): weird AP delivered chart in control panel (#14481)
* fix(frontend): `Out: Fail` was negative number

* fix(frontend): don't stack AP delivered chart

* test(#10336): add `pages/admin/overview.ap-requests.vue` story

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-24 09:47:31 +09:00
github-actions[bot] 6378dfbffc Bump version to 2024.9.0-alpha.7 2024-09-23 13:00:04 +00:00
かっこかり cd247b99ee
fix(frontend): MkRangeのタッチ操作時にtooltipが複数重なって表示されないように (#14548)
* fix: directiveでのtooltip表示との競合を解消 (#265)

(cherry picked from commit 6d15d379a76b1b153ec2996e22bf0fc29ced5fda)

* code style

* Update Changelog

* record origin

* fix: ホバー時にもツールチップが出るように

---------

Co-authored-by: CaffeinePower <86540016+cffnpwr@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-23 21:53:51 +09:00
かっこかり 0c6d1ec524
refactor(frontend): popupMenuの項目作成時に三項演算子をなるべく使わないように (#14554)
* refactor(frontend): popupMenuの項目作成時に三項演算子をなるべく使わないように

* type import

* fix

* lint
2024-09-23 21:50:30 +09:00
かっこかり e673c143a9
fix(backend): happy-domを使用後にcloseするように (#14615)
* Add `DetachedWindowAPI.close` calls to `MfmService`

(cherry picked from commit ceaec3324925e53ca3f467b0438a98f1108eed0f)

* fix

* update changelog

* fix

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2024-09-23 21:43:48 +09:00
かっこかり 7f7445ad7a
refactor(misskey-games): Misskey Games系パッケージのlint修正+Lint CI整備 (#14612)
* chore(lint): Fix linting in misskey-reversi

(cherry picked from commit 894934a1a7743472b2d051e2690007ae373efd76)

* chore(lint): Fix linting in misskey-bubble-game

(cherry picked from commit 1ba9c37a8d5e4ae6a98494026b87f6f6439790c7)

* enhance(gh): add lint ci for misskey games packages

* enhance(gh): fix lint ci

* fix

* revert some changes that nothing to do with lint rules

* fix

* lint fixes

* refactor: strict type def

* lint fixes

* 🎨

* 🎨

---------

Co-authored-by: 4censord <mail@4censord.de>
2024-09-23 21:25:23 +09:00
github-actions[bot] 733fd56058 Bump version to 2024.9.0-alpha.6 2024-09-23 10:53:19 +00:00
syuilo 3f0aaaa41e
perf(embed): improve embed performance (#14613)
* wip

* wip

* wip

* refactor

* refactor

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-09-23 19:49:52 +09:00
syuilo 2aebdb8cc5 enhance(frontend): tweak control panel 2024-09-23 17:18:37 +09:00
syuilo cd52dc73bb 🎨 2024-09-23 14:51:34 +09:00
syuilo 1ba09e1eee enhance(frontend): improve forms usability 2024-09-23 14:42:38 +09:00
zyoshoka 2c615357f2
fix(misskey-js): wrong hashtag channel param type (#14611) 2024-09-23 09:53:50 +09:00
github-actions[bot] 76b9bc478a Bump version to 2024.9.0-alpha.5 2024-09-22 11:49:02 +00:00
syuilo f93a575c3a 🎨 2024-09-22 20:44:24 +09:00
syuilo e6e4182b53 enhance(frontend): tweak control panel 2024-09-22 20:23:20 +09:00
syuilo 736d8283c1 refactor 2024-09-22 20:21:06 +09:00
syuilo 0041ad3e69 enhance(frontend): tweak control panel 2024-09-22 20:14:19 +09:00
syuilo 973d8366c3 🎨 2024-09-22 20:14:09 +09:00
syuilo 2762e29f7f 🎨 2024-09-22 20:02:47 +09:00
かっこかり 0bbeb40c0a
fix typo (#14609) 2024-09-22 19:30:36 +09:00
かっこかり e87cbd2a36
fix(frontend): lint fixe for tweak control panel (#14610) 2024-09-22 19:13:30 +09:00
github-actions[bot] 1d5a3023f4 Bump version to 2024.9.0-alpha.4 2024-09-22 09:44:00 +00:00
syuilo bd5f25c678 fix rbt bug? 2024-09-22 18:40:05 +09:00
syuilo 6ba97a7763 enhance(frontend): tweak control panel 2024-09-22 18:35:10 +09:00
syuilo d435d04eaf enhance(frontend): tweak control panel 2024-09-22 18:26:21 +09:00
かっこかり 01ec708020
ffix(frontend): lint fixes for tweak control panel (#14607) 2024-09-22 17:50:54 +09:00
syuilo 0e92cbf905 enhance(frontend): tweak control panel 2024-09-22 16:24:53 +09:00
syuilo 8ad9f7209b enhance(frontend): tweak control panel 2024-09-22 16:16:50 +09:00
syuilo 3df1bb2d71 enhance(frontend): tweak control panel 2024-09-22 16:01:13 +09:00
github-actions[bot] 891bbcf475 Bump version to 2024.9.0-alpha.3 2024-09-22 03:56:51 +00:00
syuilo 023fa30280
refactor/perf(backend): provide metadata statically (#14601)
* wip

* Update ReactionService.ts

* Update ApiCallService.ts

* Update timeline.ts

* Update GlobalModule.ts

* Update GlobalModule.ts

* Update NoteEntityService.ts

* wip

* wip

* wip

* Update ApPersonService.ts

* wip

* Update GlobalModule.ts

* Update mock-resolver.ts

* Update RoleService.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* clean up

* Update utils.ts

* Update UtilityService.ts

* Revert "Update utils.ts"

This reverts commit a27d4be764.

* Revert "Update UtilityService.ts"

This reverts commit e5fd9e004c.

* vuwa-

* Revert "vuwa-"

This reverts commit 0c3bd12472.

* Update entry.ts

* Update entry.ts

* Update entry.ts

* Update entry.ts

* Update jest.setup.ts
2024-09-22 12:53:13 +09:00
syuilo 3ad5c753fa 🎨 2024-09-22 12:44:09 +09:00
syuilo 76408667f3
update deps (#14594)
* wip

* Update ClientServerService.ts

* eslint

* Update fetch-resource.ts

* wip
2024-09-22 12:32:01 +09:00
woxtu 9ac4d3da0a
Check SPDX information properly (#14604) 2024-09-22 07:43:56 +09:00
github-actions[bot] 67a5119072 Bump version to 2024.9.0-alpha.2 2024-09-21 11:17:18 +00:00
syuilo 00ccc2251a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-09-21 19:44:17 +09:00
syuilo 3d92ef193e fix rbt 2024-09-21 19:44:14 +09:00
syuilo e9085e455f 🎨 2024-09-21 19:41:55 +09:00
かっこかり 85f46f88c6
fix(backend): Retry-Afterヘッダーが実際には送信されなかった問題を修正 (#14597)
* move rate-limit-exceeded error reporting, earlier

a rate-limit-exceeded error has `kind:'client'`, so the branch that
adds the `Retry-After` would never get taken

(cherry picked from commit 8a982c61c01909e7540ff1be9f019df07c3f0624)

* Update Changelog

* fix

* indent

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2024-09-21 18:20:45 +09:00
Kisaragi 9cd784cdee
ci: api.jsonの差分がない時は折りたたみを生成しないようにする (#14598) 2024-09-21 18:19:09 +09:00
Esurio/1673beta d4d15f338e
fix: EmailServiceでインラインスタイルを適用するように (#14600)
Co-authored-by: Esurio <esurio@esurio1673.net>
2024-09-21 18:18:52 +09:00
github-actions[bot] d3f1b0f090 Bump version to 2024.9.0-alpha.1 2024-09-20 12:37:51 +00:00
dependabot[bot] 2ee19ee22e
chore(deps-dev): bump vite in /scripts/changelog-checker (#14569)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.12 to 5.4.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 21:10:21 +09:00
dependabot[bot] a18a6ac264
chore(deps): bump actions/setup-node from 4.0.3 to 4.0.4 (#14590)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.3...v4.0.4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 21:05:35 +09:00
かっこかり 7e9d54fa3a
fix(frontend): ファイルの詳細ページのファイルの説明で改行が正しく表示されない問題を修正 (#14588)
* upd: don't ignore new lines on file info

* Update Changelog

* ✌️

---------

Co-authored-by: Marie <github@yuugi.dev>
2024-09-20 21:05:20 +09:00
かっこかり f0834ca14c
enhance: ユーザーコンテンツのインポート操作の実行可否をロールで制御できるように (#14583)
* enhance: インポート操作の実行可否をロールで制御できるように

* Update Changelog
2024-09-20 21:04:58 +09:00
syuilo 0b062f1407
Misskey® Reactions Buffering Technology™ (#14579)
* wip

* wip

* Update ReactionsBufferingService.ts

* Update ReactionsBufferingService.ts

* wip

* wip

* wip

* Update ReactionsBufferingService.ts

* wip

* wip

* wip

* Update NoteEntityService.ts

* wip

* wip

* wip

* wip

* Update CHANGELOG.md
2024-09-20 21:03:53 +09:00
かっこかり f585f70dcb
Update CHANGELOG.md (埋め込み機能のドキュメントへのリンク) 2024-09-20 14:36:36 +09:00
かっこかり 8d23122fd6
fix(frontend): run pnpm build-assets (#14585) 2024-09-20 00:08:14 +09:00
github-actions[bot] 2d0e9e0544 Bump version to 2024.9.0-alpha.0 2024-09-19 11:55:43 +00:00
かっこかり f5563c8304
Update CHANGELOG.md (書き方を揃える) 2024-09-19 17:30:13 +09:00
おさむのひと 4ac8aad50a
feat: UserWebhook/SystemWebhookのテスト送信機能を追加 (#14489)
* feat: UserWebhook/SystemWebhookのテスト送信機能を追加

* fix CHANGELOG.md

* 一部設定をパラメータから上書き出来るように修正

* remove async

* regenerate autogen
2024-09-19 17:20:50 +09:00
かっこかり ceb4640669
fix(frontend): viteの一時ファイルがgitの変更に含まれないように (#14571) 2024-09-18 19:23:05 +09:00
かっこかり 3bf63dd9c5
fix(frontend): 設定変更時のリロード確認ダイアログが複数個表示されることがある問題を修正 (#14543)
* fix(frontend): reloadAskが同時に複数実行されないように

* Update Changelog

* fix

* フラグ解除が確実に行われるように

* reloadAskを汎用化、理由を受け取るように

* fix
2024-09-17 22:18:06 +09:00
かっこかり ce95323e49
fix(antenna): src=list && userListId=null の場合クエリータイムアウトが発生する問題を修正 (MisskeyIO#721) (#14568)
(cherry picked from commit 47b6b97c9c6d9583dd1b11acbf8f94059e81ebaf)

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-09-17 22:02:34 +09:00
FineArchs daf9ae5d4a
ScratchpadにUIインスペクターを追加 (#14565)
* add ui list

* Update scratchpad.vue

* experiment

* design change

* redesign

* redesign

* Update ja-JP.yml

* redesign

* component properties

* whole json

* use textarea

* fix import

* stringify function

* Update CHANGELOG.md

* UI Component Monitor -> UI Inspector

* uiInspectorOpenedFlags -> uiInspectorOpenedComponents

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

* fix

* change key i -> c.value.id

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-17 20:11:50 +09:00
syuilo a5e61b8c19 Revert "refactor"
This reverts commit 0134e6e420.
2024-09-17 17:05:52 +09:00
syuilo cacdf9d939 refactor
MkMisskeyFlavoredMarkdown -> MkMfm
2024-09-17 17:03:09 +09:00
syuilo 0134e6e420 refactor 2024-09-17 17:00:48 +09:00
かっこかり 6bd6af440f
fix(frontend): 絵文字関連のスタイルが崩れているのを修正 (#14559)
* fix(frontend): 絵文字関連のスタイルが崩れていたのを修正 (MisskeyIO#725)

(cherry picked from commit 00fd684a7b382aaeb3355a1c80dc24078a5caa61)

* Update Changelog

* ✌️

---------

Co-authored-by: Yuuki <yukikum57@gmail.com>
2024-09-17 15:41:52 +09:00
かっこかり 7d7a12d7d6
fix(deps): broken lockfile (#14556) 2024-09-15 21:57:22 +09:00
dependabot[bot] 887c709647
chore(deps): bump body-parser from 1.20.2 to 1.20.3 in /packages/backend (#14550)
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.2 to 1.20.3.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-15 20:54:26 +09:00
かっこかり 0e4b6d1dad
enhance(frontend): adminのファイルリストでセンシティブファイルに枠線を追加 (#14510)
* enhance(frontend): adminのファイルリストでセンシティブファイルに枠線を追加

* Update Changelog
2024-09-15 17:50:25 +09:00
Juan Aguilar Santillana 07f26bc8dd
refactor(backend): use Reflet for autobind deco (#14482)
Using Reflect.defineProperty instead of Object.defineProperty
gives a more consistent behavior with the rest of the modern
JavaScript features.
2024-09-15 17:43:24 +09:00
syuilo 366b79e459
Update CHANGELOG.md 2024-09-15 15:14:13 +09:00
Kisaragi 6b2072f4b1
fix(backend/antenna): キーワードが与えられなかった場合のエラーをApiErrorとして投げる (#14491)
* fix(backend/antenna): report validation failure as ApiError on update

* test(backend/antenna): reflect change in previous commit

* fix(backend/antenna): report validation failure as ApiError on create

* test(backend/antenna): reflect change in previous commit

* test(backend/antenna): semi

* test(backend/antenna): bring being spread parameters first in object literal

* chore: add CHANGELOG entry

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-15 15:13:46 +09:00
かっこかり 1544ba9153
refactor(frontend): 非推奨の表現を改める (#14517) 2024-09-15 12:31:17 +09:00
かっこかり be0906a6c7
fix(backend): happy-domで外部HTMLをパースする際に関連リソースが読み込まれる問題を修正 (#14521)
* bump happy-dom, disable all JS&c when parsing

version 10 didn't quite support disabling all of that

I have tested that `MfmService` (the other code that uses `happy-dom`)
still works fine: the RSS feed for a user is generated correctly, with
HTML rendered from MFM

(cherry picked from commit 26e0412fbb91447c37e8fb06ffb0487346063bb8)

* Update Changelog

* lint

* fix possible memory leak

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2024-09-15 12:30:27 +09:00
かっこかり e0f54d6a68
fix(frontend): MkDateSeparatedListで月の違う同じ日はセパレータが出ないのを修正 (#14545)
* fix(frontend): MkDateSeparatedListで月の違う同じ日はセパレータが出ないのを修正

* Update Changelog
2024-09-15 12:20:29 +09:00
かっこかり 837a8e15d8
refactor(frontend): frontend-embed/src/to-be-sharedを共通化 (#14536)
* refactor(frontend): shouldCollapsedを共通化

* refactor(frontend): config.js, worker-multi-dispatch.js, intl-const.jsを共通化

* fix(frontend-shared): fix type error

* refactor(frontend): is-link.jsと、同一の振る舞いをする記述を共通化

* fix

* fix lint

* lint fixes
2024-09-10 18:39:53 +09:00
KanariKanaru 0c2cfe31a3
Dev: cypressをdev containerで実行可に(e2e-dev-container) (#14526) 2024-09-10 16:33:14 +09:00
かっこかり 05c944c2cc
Update CHANGELOG.md (書き方を揃える) 2024-09-10 16:25:36 +09:00
かっこかり f393b6b898
fix(frontend/frontend-embed): インポートパス・テーマまわりなどの修正 (#14535)
* fix(frontend/frontend-embed): wrong imports

* enhance(frontend-embed): サーバーデフォルトのテーマがある場合はそちらを利用するように

* 🎨

* 🎨

* 🎨
2024-09-10 16:14:02 +09:00
かっこかり 672779a15f
fix(frontend-embed): 不足していたスタイル・インポートを追加 (#14531)
* fix(frontend-embed): add missing imports

* fix(frontend-embed): add missing styles
2024-09-09 22:44:39 +09:00
かっこかり 2cbe1d1210
feat(frontend): ノート・ユーザータイムライン埋め込み (#13929)
* fix

* navhookをbootに移動

* サーバーサイドのbootも分けるように

* 埋め込みページかどうかの判定は最初の一回だけに

* tooltipは出せるように

* fix design

* 埋め込み独自のtooltipを削除

* ロジックの分岐が多かったMkNoteDetailedを分離

* fix indent

* プレビュー用iframeにフォーカスが当たるのを修正

* popupの制御を出す側で行うように

* パラメータが逆になっていたのを修正

* Update MkEmbedCodeGenDialog.vue

* fix

* eliminate misskey-js lint warns

* fix

* add appropriate attributes to embed html

* enhance: サーバーサイドのembed系をさらに分離

* enhance: embed routerを分離(route定義をboot時に変更できるようにする改修を含む)

* type

* lint

* fix indent

* server-side styleを完全に分離

* Revert "refactor: 画面サイズのしきい値をconstにまとめる"

This reverts commit 05ca36f400.

* fix

* revert all changes in base.pug

* embedドメインをまとめた

* embedドメインをまとめた

* prevent calling contextmenu in embed page by stopping at the caller

* fix import

* fix import

* improve directory structure

* fix import

* register timeline ui as a container

* wa-

* rename

* wa-

* Update EmMediaList.vue

* Update EmMediaList.vue

* Update EmMediaList.vue

* Update EmMediaImage.vue

* Update EmNote.vue

* revert mkmedialist changes

* 戻し漏れ

* wip

* tweak embed media ui

* revert original media components

* Update boot.embed.js

* rename

* wip

* Update MkNote.vue

* wip

* Update MkSubNoteContent.vue

* Update EmNote.vue

* Update packages/frontend/src/router/definition.ts

* Revert "Update packages/frontend/src/router/definition.ts"

This reverts commit 937ae44521.

* refactor EmMediaImage

* fix import

* remove unused imports

* Update router.ts

* wip

* Update boot.ts

* wip

* wip

* wip

* wip

* Update EmNote.vue

* Update EmNote.vue

* Create EmA.vue

* Create EmAvatar.vue

* Update EmAvatar.vue

* wip

* wip

* wip

* Create EmImgWithBlurhash.vue

* Update EmImgWithBlurhash.vue

* Create EmPagination.vue

* wip

* Update boot.ts

* wip

* wip

* wi@p

* wip

* wip

* wiop

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update boot.ts

* wip

* Update MkMisskeyFlavoredMarkdown.ts

* wip

* wip

* wip

* wip

* wip

* Update post-message.ts

* wip

* Update EmNoteDetailed.vue

* Update EmNoteDetailed.vue

* Create instance.ts

* Update EmNoteDetailed.vue

* wip

* Update EmNoteDetailed.vue

* wip

* wip

* wip

* Update pnpm-lock.yaml

* wip

* wip

* wp

* wip

* Update ClientServerService.ts

* wip

* Update boot.ts

* Update vite.config.local-dev.ts

* Update vite.config.ts

* Create index.html

* wa-

* wip

* Update boot.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Create EmLink.vue

* Create EmMention.vue

* Update EmMfm.ts

* wip

* wip

* wip

* wip

* Update vite.config.ts

* Update boot.ts

* Update EmA.vue

* うぃp

* wip

* wip

* Create EmError.vue

* wip

* Update MkEmbedCodeGenDialog.vue

* Update EmNote.vue

* wip

* wip

* Update user-timeline.vue

* Update check-spdx-license-id.yml

* wip

* wip

* style(frontend-shared): lint fixes on build.js

* fix(frontend-shared): include `*.{js,json}` files in js-built

* wip

* use alias

* refactor

* refactor

* Update scroll.ts

* refactor

* refactor

* refactor

* wip

* wip

* wip

* wip

* Update roles.vue

* Update branding.vue

* wip

* wip

* wip

* Update page.vue

* wip

* fix import

* add missing css variables

* 絵文字をtwemojiに変更

クライアントデフォルトにあわせるため

* force empoll readonly

* fix compiler error

* fix broken imports

* tweak button style

* run api extractor

* fix storybook theme preloads

* fix storybook instance imports

* Update preview.ts

* Update preview.ts

* Update preview.ts

* Revert "Update preview.ts"

This reverts commit 12bab1c6fb.

* Revert "Update preview.ts"

This reverts commit 5c0ce01dbd.

* Revert "Update preview.ts"

This reverts commit f4863524d7.

* Revert "fix storybook instance imports"

This reverts commit ed8eabb246.

* Revert "wip"

This reverts commit d3c1926519.

* Revert "Update page.vue"

This reverts commit 27c7900b0c.

* Revert "Update branding.vue"

This reverts commit c08ccb65ba.

* Revert "Update roles.vue"

This reverts commit 1488b67066.

* Revert "wip"

This reverts commit aab1c76981.

* refactor: use common media proxy

* fix imports

* fix

* fix: MediaProxyの初期化を保証する(storybook対策?)

* enhance(frontend-embed): improve embedParams provide

* fix(backend): MK_DEV_PREFER=backendのときにembed viteが読み込めないのを修正

* fix

* embed-pageを共通化

* fix import

* fix import

* fix import

* const.jsを共通化

(たぶんrevertしすぎた)

* fix type error

* fix duplicated import

* fix lint

* fix

* コメントとして残す

* sharedとembedをlint対象にする

* lint

* attempt to fix eslint (frontend-shared)

* lint fixes

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-09-09 20:57:36 +09:00
かっこかり 0d0cd738f8
refactor(misskey-js): warnを除去 (#14520) 2024-09-07 02:38:01 +09:00
かっこかり 567acea2a3
fix(frontend): instance infoページで不必要なapiリクエストが飛ぶのを抑止 (#14515)
* fix(frontend): instance infoページで不必要なapiリクエストが飛ぶのを抑止

* fix
2024-09-06 17:23:40 +09:00
かっこかり 8d19bdbb65
fix(misskey-js): content-typeはapplication/jsonでないもののみを記録するように (#14508) 2024-09-06 17:22:45 +09:00
かっこかり cdb0566c5b
refactor(frontend): scss deprecated 警告に対応 (#14513) 2024-09-06 16:12:14 +09:00
かっこかり f7398faeac
enhance(frontend): アイコンデコレーション管理画面にプレビューを追加 (#14511)
* enhance(frontend): アイコンデコレーション管理画面にプレビューを追加

* Update Changelog

* tweak
2024-09-06 15:37:03 +09:00
taiy c8f49b6ae7
chore(ci/lint): ESLintのキャッシュが保存できない問題を修正 (#14506) 2024-09-06 14:45:53 +09:00
syuilo 74c93fcebe Update .gitignore 2024-09-05 14:07:36 +09:00
zyoshoka 8be624aa44
refactor(sw): fix type errors (#14478)
* style(sw): lint fixes

* refactor(sw): fix type errors

* chore(sw): disable `noImplicitAny`

* ci(sw): enable typecheck ci

* ci(sw): build `misskey-js` before typecheck
2024-08-30 15:53:04 +09:00
zyoshoka 3fe7e37f10
fix(frontend): server metrics look strange after reload (#14467) 2024-08-30 10:59:23 +09:00
zyoshoka 7fe3035059
fix(backend): use prefixItems in admin/queue/*-delayed endpoint schema (#14468)
* fix(backend): represent tuples with `prefixItems`

* refactor(frontend): fix type errors

* fix(backend): add `prefixItems` in `SchemaType`

* fix(backend): add `unevaluatedItems: false` to disallow extra items

* refactor(frontend): consolidate `'deliver' | 'queue'` type def into `queue.vue`

* fix(backend): add `unevaluatedItems` in `SchemaType`
2024-08-30 10:58:59 +09:00
zyoshoka 06855f769f
refactor(sw): use fully typed locales (#14470)
* refactor(sw): use fully typed locales

* fix(backend): enumerate achievement notification type
2024-08-30 10:58:11 +09:00
zyoshoka 3e85052754
fix(backend): correct app-type notification schema (#14471) 2024-08-29 18:57:44 +09:00
syuilo b6fdd71957 消し忘れ 2024-08-27 20:40:11 +09:00
syuilo 36dff66883 refactor 2024-08-27 20:36:43 +09:00
Kisaragi 255c8bd1b9
fix: 投稿フォームの字数上限計算を実際の投稿内容に合わせる (#14466) 2024-08-26 15:55:38 +09:00
syuilo 44f62160cb enhance(frontend): error message i18n 2024-08-24 16:59:17 +09:00
syuilo 8032a4e12a enhance(frontend): サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように 2024-08-23 16:40:11 +09:00
syuilo 2f009f7d49 add note 2024-08-23 16:31:16 +09:00
syuilo f85aa7b641 fix(backend): ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正 2024-08-23 16:29:05 +09:00
syuilo 1008fa32a0
better boot error screen 2024-08-22 14:03:11 +09:00
atsuchan 043ab1f69b
fix(backend): Fix chart generation non-matching blockedHosts (#14441) 2024-08-20 13:49:42 +09:00
かっこかり 21a3095eb0
fix button translation (#14444)
that Japanese string exactly matches that i18n key

(cherry picked from commit a408d32bb72ada9a4ad6bd1afe6e3fadb9b403db)

Co-authored-by: dakkar <dakkar@thenautilus.net>
2024-08-20 12:39:01 +09:00
syuilo 1b5f0571f7 🎨 2024-08-20 10:51:02 +09:00
syuilo 59e83605ac refactor 2024-08-19 19:41:06 +09:00
syuilo 130ff361c3 refactor 2024-08-19 17:32:27 +09:00
syuilo e78110a5cd refactor 2024-08-19 13:13:32 +09:00
github-actions[bot] 6c5593d456 [skip ci] Update CHANGELOG.md (prepend template) 2024-08-18 08:08:49 +00:00
misskey-release-bot[bot] 882c8b93c1
Merge pull request #14391 from misskey-dev/develop
Release: 2024.8.0
2024-08-18 08:08:47 +00:00
github-actions[bot] 621626aad3 Release: 2024.8.0 2024-08-18 08:08:38 +00:00
syuilo f4f55ef012
New translations ja-jp.yml (English) (#14432) 2024-08-18 16:03:07 +09:00
github-actions[bot] 2e8a1029a4 Bump version to 2024.8.0-rc.5 2024-08-18 05:21:24 +00:00
かっこかり b53ee54e4f
fix(frontend): focustrapがzindexを考慮するように (#14431) 2024-08-18 14:18:46 +09:00
github-actions[bot] b708b27bc8 Bump version to 2024.8.0-rc.4 2024-08-18 04:37:19 +00:00
Hazel K 9ce44b24b8
fix(backend): memory leak in memory caches (#14363)
* encapsulate `MemoryKVCache<T>`

* remove infinity caches

* encapsulate other caches

* add missing awaits to internally synchronize caches

* implement pull-through caching

* tune cache lifetimes

* optimize cache GC by stopping early

* summarize changes in CHANGELOG.md

* Fix timeout comments

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

* add comments about awaiting the redis write

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-08-18 13:34:01 +09:00
syuilo 3cd5f86510 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-08-18 10:12:51 +09:00
syuilo 9b78ce8047 🎨 2024-08-18 10:12:42 +09:00
syuilo 1629c0e50d
New Crowdin updates (#14426)
* New translations ja-jp.yml (Chinese Traditional)

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

* New translations ja-jp.yml (Chinese Simplified)
2024-08-18 10:11:50 +09:00
syuilo 427f4a2cda Update about-misskey.vue 2024-08-18 10:10:06 +09:00
woxtu ba9c5c37b8
Remove undefined style (#14427) 2024-08-18 03:40:21 +09:00
syuilo e790aa0548
[skip ci] New Crowdin updates (#14423)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)
2024-08-17 20:25:15 +09:00
taichan bf8c42eecd
Fix(beckend): html content-type detection on signedGet (#14424)
* fix(backend): contenttype detection of html in signedGet

* code style

* fix by review
2024-08-17 19:51:56 +09:00
かっこかり 129af06198
Update packages/backend/src/core/activitypub/ApRequestService.ts 2024-08-17 18:25:46 +09:00
かっこかり 83c04c55ad
fix(misskey-js): eliminate any (follow-up of #13523) (#14422) 2024-08-17 18:15:46 +09:00
かっこかり 0b98554319
Update CHANGELOG.md
Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
2024-08-17 18:05:29 +09:00
かっこかり 4e0d57000c
fix(frontend): 以前のpopupの呼び出し方を修正 (#14421) 2024-08-17 18:04:52 +09:00
syuilo c0de57c08d Update about-misskey.vue 2024-08-17 17:57:27 +09:00
かっこかり 75b0315ace
Update timeline.vue (refactor) 2024-08-17 15:24:29 +09:00
github-actions[bot] 6cdecd72ee Bump version to 2024.8.0-rc.3 2024-08-17 06:17:02 +00:00
taichan 9fbc1b7f7b
enhance(backend): headタグ内にrel=alternateの指定のあるlinkタグがある場合、記述されたURLを参照して照会できるように (#14371)
* signedGet時にhttpかつalternate属性のlinkがある場合に一回だけfollowして照会する

* Fix: validation position

* Fix import

* Fix tagname

* Update CHANGELOG

* Fix code style

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-08-17 15:12:23 +09:00
zyoshoka fd744f44c1
enhance(backend): ページ、ギャラリー、Playのモデレーション強化 (#13523)
* enhance(backend): Page、ギャラリー、Playのモデレーション強化

* Update CHANGELOG.md

* fix: update misskey-js

* refactor(frontend): use `MkA`

* Update CHANGELOG.md

* fix(i18n): Page -> ページ
2024-08-17 15:01:08 +09:00
syuilo 383c41bdb6 🎨 2024-08-17 14:57:26 +09:00
github-actions[bot] 68ec7450af Bump version to 2024.8.0-beta.2 2024-08-17 04:11:09 +00:00
かっこかり 06684fe49b
fix(backend): ベースロールのポリシー変更時モデレーションログが残るように (#14418)
* fix(policies): ベースロールのポリシー変更時モデレーションログが残るように (MisskeyIO#700)

(cherry picked from commit 80389a914049f6f26237fde8da7d4e1bd41452fc)

* Update Changelog

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-08-17 12:07:00 +09:00
かっこかり 059eb6d379
fix(frontend): リノートの判定が甘いのを修正 (#14396)
* fix(frontend): リノートの判定が甘いのを修正

* fix

* Update Changelog

* fix

* use type assertion

* fix + add comments

* lint

* misskey-jsに移動

* PureRenote -> Renote

* isRenote -> isPureRenote
2024-08-17 11:28:22 +09:00
syuilo 61cc3b5642
New Crowdin updates (#14393)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Spanish)
2024-08-17 10:35:41 +09:00
github-actions[bot] 2ab5ee81b1 Bump version to 2024.8.0-alpha.1 2024-08-17 01:25:43 +00:00
syuilo ef950a345b
suspend周りの改修 (#14409)
* enhance(backend): 凍結されたアカウントのフォローリクエストを表示しないように

* Update CHANGELOG.md

* wip

* Update gen-spec.ts

* Update packages/backend/src/server/api/endpoints/admin/suspend-user.ts

Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>

* owa-

* revert misskey-js related changes (#14414)

---------

Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-08-17 09:57:28 +09:00
syuilo bfaf938609 update misskey-dev/eslint-plugin 2024-08-17 09:38:16 +09:00
syuilo d3cdc08802 fix(backend): 無制限にストリーミングのチャンネルに接続できる問題を修正 2024-08-17 09:30:03 +09:00
かっこかり 571566d476
Update timeline.vue (fix wrong type) 2024-08-16 22:01:01 +09:00
anatawa12 748a7e8f6a
feat: localizable dialog title for enter section title (#14401)
* feat: localizable dialog title for enter section title

* refactor: define `getPageBlockList` in separated file and import instead of provide/inject
2024-08-16 21:47:44 +09:00
かっこかり 6db3c50e32
fix(frontend): Misskeyの利用中に使用できるタイムラインの種類が変化した場合、使用できないタイムラインが表示されないように (#14412)
* fix(frontend): Misskeyの利用中に使用できるタイムラインの種類が変化した場合、使用できないタイムラインが表示されないように

* Update timeline.vue

* Update timeline.vue
2024-08-16 21:43:20 +09:00
zyoshoka 26322048db
fix(frontend): correct condition to displayed as system account on moderation page (#14407) 2024-08-16 21:04:08 +09:00
かっこかり a8810af8d9
fix(backend): リバーシの設定変更が反映されないのを修正 (#14404)
* fix(backend): リバーシの設定変更が反映されないのを修正

* Update Changelog

* add bindthis
2024-08-16 21:02:12 +09:00
syuilo 45d88574c3 enhance(frontend): improve usability 2024-08-15 20:02:53 +09:00
zyoshoka b68b2ee8c6
refactor(frontend): remove stale reload method call on /admin/users page (#14406) 2024-08-14 20:29:33 +09:00
syuilo 86dd4abadc Revert "enhance(backend): 凍結されたアカウントのフォローリクエストを表示しないように"
This reverts commit cd210001e6.
2024-08-14 20:29:06 +09:00
syuilo cd210001e6 enhance(backend): 凍結されたアカウントのフォローリクエストを表示しないように 2024-08-14 18:08:51 +09:00
timesince 41936c16c4
chore: fix some comments (#14394)
Signed-off-by: timesince <seekseat@icloud.com>
2024-08-12 14:03:16 +09:00
github-actions[bot] 4d757865f4 Bump version to 2024.8.0-alpha.0 2024-08-11 07:59:20 +00:00
syuilo 2a2bbcd1bc
New Crowdin updates (#14341)
* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

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

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)
2024-08-11 16:27:42 +09:00
shika 94b8c00c66
docker-compose.yml, compose.ymlを追跡対象外に追加 (#14345) 2024-08-11 16:27:24 +09:00
かっこかり ab7bbd4e57
fix(backend): ダイレクト投稿をユーザーごとのチャートから除外 (#14350)
* fix(chart): ダイレクト投稿をユーザーごとのチャートから除外 (MisskeyIO#679)

(cherry picked from commit 3db41c2d829ac18daabbdf52fe6235a874735b31)

* Update Changelog

---------

Co-authored-by: Yuuki <yukikum57@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-08-11 16:27:08 +09:00
かっこかり 93fc06d18b
fix(backend): getApTypeでエラーを投げないように (#14361)
* fix(backend): getApTypeでエラーを投げないように

* Update Changelog

* Update Changelog

* Update type.ts

* add comment
2024-08-11 16:25:57 +09:00
かっこかり 0aaf74ee22
fix(backend): InstanceEntityService.packMany に me が渡っていないのを修正 (#14360)
* fix: pass current user into `InstanceEntityService.packMany`

(cherry picked from commit 858ba188768017764c61c4a5591bdf2524a850e7)

* Update Changelog

* origin

* Update Changelog

---------

Co-authored-by: Hazel K <acomputerdog@gmail.com>
2024-08-11 11:28:07 +09:00
かっこかり 046f2435b2
fix(frontend): mCaptchaを使用していてもbotプロテクションに関する警告が消えないのを修正 (#14390)
* fix(frontend): mCaptchaを使用していてもbotプロテクションに関する警告が消えないのを修正

* Update Changelog

* refactor
2024-08-11 11:17:56 +09:00
syuilo 37c9d91ba0 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-08-10 21:07:37 +09:00
syuilo 93c569c2cd refactor 2024-08-10 21:07:33 +09:00
かっこかり cb10156f01
fix(frontend): iOSでacctなどがリンクとして誤検知されるのを抑制 (#14354)
* fix(frontend): iosでの自動リンク化を抑制

* Update Changelog

* typo

* typo

* Update CHANGELOG.md
2024-08-10 20:46:26 +09:00
anatawa12 1532d5f390
ci: skip chromatic / storybook CI for pull requests targets master (#14377) 2024-08-10 09:36:10 +09:00
かっこかり 7e3dedb045
fix(frontend): ページ遷移に失敗することがある問題を修正 (bump vue version) (#14380)
* fix(frontend): ページ遷移に失敗することがある問題を修正 (bump vue version)

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-08-10 09:35:50 +09:00
zyoshoka 01a815f8a7
fix(general): some fixes and improvements of Play visibility (#14384)
* fix(backend): missing `visibility` param in packing flash

* fix(frontend): use `visibility` value got from API

* enhance(frontend): change preview appearance of private Play

* Update CHANGELOG.md
2024-08-10 09:34:49 +09:00
anatawa12 f50941389d
fix: readAllNotifications message not working (#14374)
* refactor: add and use isJsonObject

* fix: readNotification message without body is not working

* docs(changelog): WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題

* Update CHANGELOG.md

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-08-09 16:04:41 +09:00
Daiki Mizukami 0d508db8a7
fix(backend): check visibility of following/followers of remote users / feat: moderators can see following/followers of all users (#14375)
* fix(backend): check visibility of following/followers of remote users

Resolves https://github.com/misskey-dev/misskey/issues/13362.

* test(backend): add tests for visibility of following/followers of remote users

* docs(changelog): update CHANGELOG.md

* feat: moderators can see following/followers of all users

* docs(changelog): update CHANGELOG.md

* refactor(backend): minor refactoring

`createPerson`と`if`の条件を統一するとともに、異常系の
処理をearly returnに追い出すための変更。

* feat(backend): moderators can see following/followers count of all users

As per https://github.com/misskey-dev/misskey/pull/14375#issuecomment-2275044908.
2024-08-09 12:10:51 +09:00
anatawa12 f244d42500
ci: change prerelease channels to alpha, beta, and rc (#14376) 2024-08-09 12:05:28 +09:00
syuilo 820becb4e4
fix import 2024-08-09 10:51:18 +09:00
syuilo 6e3e7d7df1 Update about-misskey.vue 2024-08-08 20:22:25 +09:00
github-actions[bot] 008a66d73f [skip ci] Update CHANGELOG.md (prepend template) 2024-07-31 11:20:33 +00:00
misskey-release-bot[bot] e98f66db51
Merge pull request #14233 from misskey-dev/develop
Release: 2024.7.0
2024-07-31 11:20:31 +00:00
github-actions[bot] 59e2e43a68 Release: 2024.7.0 2024-07-31 11:20:28 +00:00
syuilo 1a521a44c0
New Crowdin updates (#14335)
* 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 (Vietnamese)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Chinese Traditional)
2024-07-31 18:13:20 +09:00
taichan d6ba12e24c
Fix(frontend): LTL無効時にヘッダーにSTLが表示されてしまう & デフォルト、クラシックでリストが消えている (#14337)
* Fix condition of STL available

* Fix: condition of stl

* Listがタイムラインのヘッダーから消えている
2024-07-31 18:10:36 +09:00
taichan 4b04b2989b
chore(locale): update index.d.ts (#14339)
d63b854f96 での更新漏れ
2024-07-31 17:22:51 +09:00
syuilo d63b854f96 tweak localization 2024-07-31 08:12:35 +09:00
syuilo 9dacc20d67
New Crowdin updates (#14331)
* 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 Simplified)

* New translations ja-jp.yml (English)
2024-07-31 07:23:58 +09:00
anatawa12 3137c104f2
test: フォローしていないユーザーからの自分への返信が含まれることを確認するテストを追加 (#14333) 2024-07-31 07:23:38 +09:00
syuilo 63f9c271ca 🎨 2024-07-30 20:58:25 +09:00
github-actions[bot] 400ae6ef01 Bump version to 2024.7.0-rc.8 2024-07-30 11:35:33 +00:00
かっこかり 8b163cd3fb
fix(frontend): ドライブの音声が再生できない場合の処理を追加 (#14073)
* fix(frontend): ドライブの音声が再生できない場合の処理を追加

* Update Changelog

* fix lint

* Update packages/frontend/src/scripts/sound.ts

* lint

* Update sound.ts

* fix merge mistakes

* use shorthand operator

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-30 20:30:41 +09:00
syuilo 676c599e48 Update about-misskey.vue 2024-07-30 20:20:21 +09:00
anatawa12 fccc5b6d62
frontend timeline fixes & improvements (#13727)
* fix: withRepliesがオフのときにwithFilesのとぐるをいじれない問題

* fix: type errors in tl-column

* fix: deck uiでタイムラインを切り替えた際にTLの設定項目が更新されない

* refactor: タイムラインの各種知識を一つのファイルに統合

fix: ウィジェットのタイムライン選択欄に表示できないタイムラインが表示される

* docs(changelog): timeline improvements

* fix: missing license header

* chore: timeline > basic timeline

* use BasicTimelineType in deck-store

* Update CHANGELOG.md

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-30 20:13:00 +09:00
anatawa12 0bb5ac0fca
フォロー中のユーザーに関する"TLに他の人への返信を含める"の設定が分かりづらい問題を修正 (#13895)
* chore: improve withReplies toggle for user following

* chore: improve withReplies toggle for list

* docs(changelog): フォロー中のユーザーに関する"TLに他の人への返信を含める"の設定が分かりづらい問題を修正

* Fix CHANGELOG.md

* docs(changelog): update insertion position

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-30 19:55:18 +09:00
zyoshoka c7354c5e30
test(#10336): add components/Mk[D-E].* stories (#14118)
* test(storybook): add `components/Mk[D-E].*` stories

* fix: mock instance name

* fix: invalid `reactionAcceptance` value

* style: missing trailing commas
2024-07-30 19:48:16 +09:00
anatawa12 5c42a0e439
feat: media silence (#13842)
* feat: media silence

* fix: lint

* feat: deny creating custom emoji reaction and using custom emoji from media silenced hosts

* chore: メディアサイレンスの説明にカスタム絵文字の話を追加

* Update locales/ja-JP.yml

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* chore: update index.d.ts

* docs(changelog): update changelog

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-30 19:47:45 +09:00
anatawa12 8f40f932e4
自分のフォロワー限定投稿に対するリプライがホームタイムラインで見えないことが有る問題を修正 (#13835)
* fix: reply to my follower notes are not shown on the home timeline

* fix: reply to follower note by non-following is on social timeline

* docs: changelog

* test: add endpoint test for changes

* test(e2e): 自分のfollowers投稿に対するリプライが流れる

* test(e2e/streaming): 自分のfollowers投稿に対するリプライが流れる

* test(e2e/streaming): フォローしていないユーザによるフォロワー限定投稿に対するリプライがソーシャルタイムラインで表示されることがある問題

* test(e2e/timelines): try fixing typecheck error

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-30 19:44:08 +09:00
github-actions[bot] 86b4f49880 Bump version to 2024.7.0-rc.7 2024-07-30 10:25:10 +00:00
syuilo 916ed49441
New translations ja-jp.yml (English) (#14327) 2024-07-30 19:20:37 +09:00
Sayamame-beans d0b7c74fd1
検索からハッシュタグのページが開けるように、users/searchに@から始まる文字列が与えられた際の処理を修正 等 (#13858)
* enhance(frontend): 検索からハッシュタグのページを開けるように

* fix(frontend): 照会で入力が`#`のみの場合は`/tags/`に遷移しないように

* docs(changelog): update changelog

* enhance(frontend): ユーザー検索からもハッシュタグのページを開けるように

* docs(changelog): update changelog

* enhance(frontend): 検索範囲等が指定されている時は照会/ハッシュタグページを開かないように

* enhance(frontend): 検索内容に空白が含まれている場合は照会/ハッシュタグページを開かないように

* docs(changelog): update changelog

* Revert "enhance(frontend): 検索範囲等が指定されている時は照会/ハッシュタグページを開かないように"

This reverts commit f84eecea96.

* enhance(frontend): 検索から照会/ハッシュタグページを開くかどうか確認するように

* docs(changelog): update changelog

* chore: fix lint

* docs(changelog): update changelog insertion position

* enhance(frontend): 検索から`@user@host`の形式で照会出来るように

* fix(frontend): 照会で入力が`@`のみの場合に`/@`に遷移しないように

* fix(backend): `users/search`において`@`から始まるqueryに対する処理が正しくなかった問題を修正

* docs(changelog): update changelog

* chore(backend): fix lint error

* fix(backend): more improvements for users/search when query startswith `@`

* chore: unify common conditions

* docs(changelog): refine changelog

* chore(backend): fix lint error

* MkInputをpreventに対応させ、enterの意図せぬ伝搬を防ぐ

* chore(frontend/search.user): use .prevent to prevent the propagation of enter instead of setTimeout

---------

Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: taichanne30 <dev@taichan.site>
2024-07-30 19:18:43 +09:00
おさむのひと 2307849c9a
fix(misskey-js): misskey-js.api.mdのコミット漏れ修正 (#14329) 2024-07-30 19:01:47 +09:00
おさむのひと 8bae2ecabd
fix(misskey-js): モデログのフィルタに追加漏れがあったのを修正 (#14328) 2024-07-30 18:37:07 +09:00
syuilo 3411b9c16c
Update CHANGELOG.md 2024-07-30 17:47:17 +09:00
github-actions[bot] 674a424db3 Bump version to 2024.7.0-rc.6 2024-07-30 08:39:38 +00:00
syuilo d1eb10af24
New Crowdin updates (#14316)
* 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 (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (Chinese Simplified)
2024-07-30 17:28:28 +09:00
かっこかり 9181eb277e
fix(frontend): emojiPickerを使用して絵文字を挿入する際、refに直接挿入するように (#14282)
* fix(frontend): emojiPickerを使用して絵文字を挿入する際、refに直接挿入するように

* add comment
2024-07-30 17:28:08 +09:00
かっこかり 3548ffba26
enhance(frontend): 自分のクリップ一覧ではアバターを表示しないように (#14256)
* enhance(frontend): 自分のクリップ一覧ではアバターを表示しないように

* Update Changelog

* rename

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-30 17:24:36 +09:00
Sayamame-beans f965f65dcd
fix(frontend): pure renote cannot create with url based quote (#14270)
* fix(frontend): pure renote cannot create with url based quote

* docs(changelog): update changelog
2024-07-30 17:23:29 +09:00
taichan cb3106cdc6
enhance(frontend): 連合の「連合中」,「購読中」,「配信中」に対してブロックしているサーバー、配信停止しているサーバーを含めないように (#14324)
* enhance(frontend): 連合の「連合中」,「購読中」,「配信中」に対してブロックしているサーバー、配信停止しているサーバーを含めないように

* update CHANGELOG.md
2024-07-30 16:57:41 +09:00
syuilo 39498ddbf1 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-07-30 16:56:10 +09:00
syuilo f0ec68c3cf 🎨 2024-07-30 16:56:07 +09:00
taichan b359e3c95b
Fix condition of noteSearchableScope (#14325) 2024-07-30 16:51:50 +09:00
かっこかり 6bd46e790b
refactor(backend): remove unrelated comments 2024-07-30 16:18:18 +09:00
かっこかり 7135da7887
refactor(actions): remove duplicated paths 2024-07-30 16:16:20 +09:00
taichan bff813042e
feat: このユーザーのノートを検索, クエリに基づく検索の初期値 & ノート検索のUI改善 (#14128)
* refactor(frontend): noteSearchAvailableをaccountsに移動

* feat: searchページでのクエリの受取りとtypeによる表示タブの変更

* user検索でsearchの親から受け取った値を基に入力値を初期化

* feat(frontend): ノート検索で親(search)からの情報を基にユーザー情報を取得

* feat(frontend): ユーザーのノートを検索するページに遷移するボタン

* feat(frontend): ノート検索にホスト名指定のオプション追加
also 🎨

* style: ただ照会部分を囲っただけ(可読性確保のために)

* refactor: remove unneed import
defineProps and withDefaults are compiler micro when using `<script setup>`
FYI: https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits:~:text=defineProps%20and%20defineEmits%20are%20compiler%20macros%20only%20usable%20inside%20%3Cscript%20setup%3E.%20They%20do%20not%20need%20to%20be%20imported%2C%20and%20are%20compiled%20away%20when%20%3Cscript%20setup%3E%20is%20processed.

* Update CHANGELOG

* Fix: ノート検索の初期値が常にホスト指定になってしまう

* notesSearchAvailableをaccountに持たせるのをやめる

* SDPX-Licence-Identifier

* Fix: Vitest fails due to instance.policies being undefined

* Add Storybook for search

* Fix(storybook): ノート検索が利用できないと出てしまう問題

* storybookでユーザー選択ができないのを修正

* feat: ノート検索で自分を選択可能に
& 🎨

* feat(background): api/metaで検索可能なノートのスコープを参照できるように

* globalのノートが検索不可能な場合、検索オプションを表示しないように

* Update CHANGELOG.md

* config.meilisearch.scopeがstring[]を取ることがあるので修正

* meilisearchを利用かつscopeがlocalの場合、リモートユーザーのメニューで「このユーザーのノートを検索」を出さないように

* hostが空文字の時の挙動を修正

* ローカルのみしかノートがインデックスされていない場合、リモートユーザーも選択できなくした
2024-07-30 15:51:08 +09:00
taichan 7e9c38d6fb
Fix(backend): ドライブのファイルのurl, uri, src の上限引き上げ (#14323)
* enhance: ドライブurlの上限文字数を引き上げ

* Fix: おそらくフォーク独自の変更のように見える部分(metaに関する変更部分)を削除

* UPDATE changelog

* Add SPDX prefixes

* Fix: インデックスの張り直しを消した

---------

Co-authored-by: slofp <phy.public@gmail.com>
2024-07-30 15:29:24 +09:00
github-actions[bot] 5eea41b089 Bump version to 2024.7.0-rc.5 2024-07-30 06:11:15 +00:00
かっこかり 866abff54d
enhance(frontend): ブラウザのコンテキストメニューを使用できるように (#14076)
* enhance(frontend): ブラウザのコンテキストメニューを使用できるように

* Update Changelog

* shiftにした

* change keys

* fix

* fix

* fix

* update translation keys

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-07-30 14:45:53 +09:00
かっこかり 45f909ef33
enhance(frontend): ドライブのファイル・フォルダをドラッグしなくても移動できるように (#14318)
* feat(drive): ファイルをフォルダに移動するメニューを実装

(cherry picked from commit b89c2af6945c6a9f9f10e83f54d2bcf0f240b0b4)

* tweak ui

* Update Changelog

* ファイル詳細からも移動できるように

* feat(drive) フォルダのネストを移動するメニューを実装

(cherry picked from commit 8a7d710c6acb83f50c83f050bd1423c764d60a99)

* Update Changelog

* Update Changelog

* lint

* tweak ui

---------

Co-authored-by: nafu-at <satsuki@nafusoft.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-30 14:42:46 +09:00
かっこかり 738b3ea43b
enhance(frontend): デッキのアンテナ・リスト選択画面からそれぞれを新規作成できるように (#14104)
* enhance(frontend): デッキのアンテナ・リスト選択画面からそれぞれを新規作成できるように

* Update Changelog

* fix

* fix

* lint

* add story

* typo

ねぼけていた

* Update antenna-column.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-30 13:11:06 +09:00
かっこかり de3ddb5b44
enhance: 管理画面でアーカイブにしたお知らせを表示・編集できるように (#14286)
* enhance: 管理画面でアーカイブにしたお知らせを表示できるように

* Update Changelog
2024-07-30 13:02:03 +09:00
Sayamame-beans b44313fe3c
fix(backend): type(schema) of reactionAcceptance was wrong (#14317) 2024-07-30 12:32:03 +09:00
syuilo 1a79f0dc2a 🎨 2024-07-30 09:47:31 +09:00
github-actions[bot] c3437b1908 Bump version to 2024.7.0-rc.4 2024-07-30 00:20:09 +00:00
syuilo 1991a02aa9 update node version 2024-07-30 09:17:06 +09:00
おさむのひと 72bc789746
feature: ユーザ作成時にSystemWebhookを発信できるようにする (#14321)
* feature: ユーザ作成時にSystemWebhookを発信できるようにする

* fix CHANGELOG.md
2024-07-29 21:31:32 +09:00
syuilo 0f0660d49e
New Crowdin updates (#13916)
* 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 (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Indonesian)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* 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 (Korean (Gyeongsang))

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

* New translations ja-jp.yml (Korean)

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

* 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 (Chinese Traditional)

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Spanish)

* 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 Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

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

* 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 Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

* 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)
2024-07-28 14:55:28 +09:00
anatawa12 865b3039cc
fix: deck uiの通知音が重なる問題 (#14029)
* fix: deck uiの通知音が重なる

* docs: Fix: deck uiの通知音が重なる問題

* unexport internal function

* fix

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* chore: improve condition

* docs: move js dco comment

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-28 14:44:15 +09:00
github-actions[bot] efa80f9ad4 Bump version to 2024.7.0-beta.3 2024-07-28 02:23:46 +00:00
Sayamame-beans 61f4a03e6c
Fix(frontend): 下書き/削除して編集で保持されない項目があった問題を修正 (#14285)
* chore(frontend): reorder assignments

* fix(frontend): visibleUserIds is not kept when deleteAndEdit

* fix(frontend): quoteId is not kept on draft

* fix(frontend): reactionAcceptance is not kept for draft/deleteAndEdit

* docs(changelog): update changelog
2024-07-28 11:19:32 +09:00
syuilo 085b3abf26
update deps (#14312) 2024-07-28 11:14:31 +09:00
syuilo 5df85b8be1 enhance(frontend): add withCloseButton option for MkModalWindow 2024-07-28 10:39:31 +09:00
syuilo 02ecd1b371 refactor 2024-07-28 10:36:12 +09:00
かっこかり 22c4e9d7ec
fix(frontend): modalが正しく閉じられていないのを修正 (#14307)
* fix(frontend): modalが正しく閉じられていないのを修正

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

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-27 18:09:57 +09:00
かっこかり 46d96c7412
fix(build): autogen生成時にbackendを2度buildしているのを修正 (#14309)
* fix(build): autogen生成時にbackendを2度buildしているのを修正

* fix

* fix
2024-07-27 18:09:15 +09:00
zyoshoka 0d76842abe
docs: format CONTRIBUTING.md (#14302)
* fix: correct typos

* chore: convert indentation to tabs

* fix: missing lang

* chore: trim unnecessary whitespaces and newlines

* chore: use local path

* chore: use GFM alerts

* fix: missing use GFM alerts
2024-07-26 10:16:27 +09:00
github-actions[bot] 908d3ecb5c Bump version to 2024.7.0-beta.2 2024-07-25 12:02:12 +00:00
Kisaragi 8959ff89d0
chore: reflect actual policy about Committers' rights (#14267)
* Update CONTRIBUTING.md

* member -> commiter

* apply suggestions

Co-authored-by: Marie <robloxfilmcam@gmail.com>

* Update CONTRIBUTING.md

---------

Co-authored-by: Marie <robloxfilmcam@gmail.com>
2024-07-25 17:12:06 +09:00
かっこかり ee2f0f3a21
fix(frontend): いくつかのnumber inputに最小値を設定 (#14284) 2024-07-25 17:03:55 +09:00
かっこかり ed6dc84c5f
fix(frontend): リアクションしたユーザー一覧のユーザー名がはみ出る問題を修正 (#14294)
* pnpm dev で絵文字が表示されない問題を解決

(cherry picked from commit 22fcafbf55830922efe75d129f48b4d8c11724e6)

* リアクションしたユーザー一覧のユーザーネームがはみ出る問題を解決

(cherry picked from commit 46458b190e2b4ccfc8b50b6857ee9a5a6fd09fe9)

* Update Changelog

---------

Co-authored-by: 6wFh3kVo <yukikum57@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-25 17:03:00 +09:00
zyoshoka 7c67d3a5aa
fix(frontend): emoji picker not opening on /share page (#14295)
* fix(frontend): emoji picker not opening on `/share` page

* Update CHANGELOG.md
2024-07-25 16:44:38 +09:00
Sayamame-beans 3d8eda14a2
[Re] refactor(misskey-js): 警告をすべて解決 (#14277)
* chore(misskey-js): Unchanged files with check annotationsで紛らわしい部分の警告を抑制 ロジック面は後で直す

* dummy change to see if the feature do not report them (to be reverted after the check)

* refactor: 型合わせ

* refactor: fix warnings from c22dd6358b

* lint

* 型合わせ

* キャスト

* pnpm build-misskey-js-with-types

* Revert "dummy change to see if the feature do not report them (to be reverted after the check)"

This reverts commit 67072e3ca6.

* eliminate reversiGame any

* move reversiGame types

* lint

* Update packages/misskey-js/src/streaming.ts

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* Update acct.ts

* run api extractor

* re-run api extractor

---------

Co-authored-by: Kisaragi Marine <kisaragi.effective@gmail.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-07-25 16:40:14 +09:00
zyoshoka befa8e4a7f
fix(backend): avoid caching remote user's HTL when receiving Note (#13772)
* fix(backend): avoid caching remote user's HTL when receiving Note

* test(backend): add test for FFT

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-25 16:37:46 +09:00
zyoshoka fc71bcc98e
fix(backend): avoid notifying to remote users on local (#13774)
* fix(backend): avoid notifying to remote users on local

* Update CHANGELOG.md

* refactor: check before calling method

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-25 16:32:07 +09:00
かっこかり aa3ea2b57a
fix(frontend): 初期化時とroute変更時でkeyの決定方法が違うのを修正 (#14283) 2024-07-25 16:30:29 +09:00
syuilo 32651aba67 Update about-misskey.vue 2024-07-23 18:39:59 +09:00
syuilo 337b42bcb1 revert 5f88d56d96
バグがある(かつすぐに修正できそうにない) & まだレビュー途中で意図せずマージされたため
2024-07-20 21:33:20 +09:00
zyoshoka efb04293bb
docs(misskey-js): fix broken i-want-you image link in README.md (#14265) 2024-07-19 16:47:12 +09:00
かっこかり 56a43dc01d
fix(frontend): blurhashが無い場合に何も出力されないのを修正 (#14250)
* fix(frontend): blurhashが無い場合に何も出力されないのを修正

* Update Changelog

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

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* attempt to fix test

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

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* attempt to ignore test

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-07-19 10:11:44 +09:00
woxtu 6920f0fa7e
Disable ESLint for migration files (#14262) 2024-07-19 10:05:34 +09:00
かっこかり 1f24a8cb5a
enhance(frontend): センシティブなメディアを開く際に確認ダイアログを出せるように (#14115)
* enhance(frontend): センシティブなメディアを開く際に確認ダイアログを出せるように

* Update Changelog
2024-07-19 09:57:01 +09:00
taichan 54d0a46378
fix(frontend): 個人宛てダイアログお知らせが即時表示されない問題 (#14260)
* fix(frontend): 個人向けお知らせが即時ダイアログで出ない問題

* Update CHANGELOG
2024-07-19 09:53:49 +09:00
Kisaragi 615e60f25c
chore: modernize issue template (#14263) 2024-07-19 09:52:39 +09:00
anatawa12 10ce7bf3c4
kill any from streaming API Implementation (#14251)
* chore: add JsonValue type

* refactor: kill any from Connection.ts

* refactor: fix StreamEventEmitter contains undefined instead of null

* refactor: kill any from channels

* docs(changelog): Fix: Steaming APIが不正なデータを受けた場合の動作が不安定である問題

* fix license header

* fix lints
2024-07-18 20:04:23 +09:00
かっこかり ec1c392f1e
fix(frontend): 子メニューの最大長調整が行われていない問題を修正 (#14003)
* fix(frontend): 子メニューの最大長調整が行われていない問題を修正

* Update Changelog

* fix

* changelog

* Revert "fix"

This reverts commit 39fb326d49.

* Revert "fix(frontend): 子メニューの最大長調整が行われていない問題を修正"

This reverts commit ea58bf7a53.

* use css

* maxHeightをchildから定義するように

* use css min
2024-07-18 15:44:18 +09:00
かっこかり 4f85b6aa91
fix(frontend): Twitchの埋め込みが開けない問題を修正 (#14247)
* fix(frontend): twitchの埋め込みが開けない問題を修正

* Update Changelog

* fix test
2024-07-18 15:41:32 +09:00
anatawa12 ee3b132f05
Merge branch 'master' into develop 2024-07-18 14:25:09 +09:00
anatawa12 cd95a6e9c9
fix: remove unreleased section (#14246) 2024-07-18 14:23:47 +09:00
Kisaragi e716c201c6
docs: 開発環境のセットアップ手順を詳細にする (#14235)
* docs: mentioning Devcontainer

fix #13753

* revise

* revise 2

* Apply suggestions from code review
per https://github.com/misskey-dev/misskey/pull/14235#discussion_r1680883942

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

* 下の方にあったDevcontainerのセクションをマージ

* revise 3

* Update CONTRIBUTING.md

https://github.com/misskey-dev/misskey/pull/14235#discussion_r1680928026

Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>

* mention Meilisearch

* Update CONTRIBUTING.md

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2024-07-18 08:57:02 +09:00
かっこかり de166a8ed4
fix(backend): リノートミュートがキャッシュが切れるまで効かない問題を修正 (#14242)
* Fix: RenoteMuteがキャッシュが切れるまで効かない問題を修正

(cherry picked from commit e9601029b5)

* update changelog

* 🎨

* remove unused import

* 消したときもキャッシュを飛ばすように

* lint

---------

Co-authored-by: mattyatea <mattyacocacora0@gmail.com>
2024-07-18 08:55:36 +09:00
tamaina c3a6da19d7 chore: CHANGELOGにジョブキュー設定について追記 (follow-up of #13464) 2024-07-18 08:53:45 +09:00
github-actions[bot] 73a42ea2ee Bump version to 2024.7.0-beta.1 2024-07-17 17:23:58 +00:00
anatawa12 cfdad45092
fix: ソーシャルタイムラインにローカルタイムラインに表示される自分へのリプライが表示されない問題を修正 (#13978)
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-18 02:06:31 +09:00
tamaina dd4cb5f44a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-07-18 02:05:44 +09:00
tamaina a54d043923 chore: ignore misskey-assets (follow-up of #12818 ) 2024-07-18 02:05:40 +09:00
かっこかり ec91e18899
fix(frontend): add missing import (follow-up of #12265) 2024-07-18 01:56:02 +09:00
かっこかり 25b65925f7
refactor: misskey-assetsサブモジュールを削除 (#12818)
* (change) misskey-assetsサブモジュールを削除

* なんか残ってた
2024-07-18 01:47:11 +09:00
tamaina 5f88d56d96
perf(federation): Ed25519署名に対応する (#13464)
* 1. ed25519キーペアを発行・Personとして公開鍵を送受信

* validate additionalPublicKeys

* getAuthUserFromApIdはmainを選ぶ

* ✌️

* fix

* signatureAlgorithm

* set publicKeyCache lifetime

* refresh

* httpMessageSignatureAcceptable

* ED25519_SIGNED_ALGORITHM

* ED25519_PUBLIC_KEY_SIGNATURE_ALGORITHM

* remove sign additionalPublicKeys signature requirements

* httpMessageSignaturesSupported

* httpMessageSignaturesImplementationLevel

* httpMessageSignaturesImplementationLevel: '01'

* perf(federation): Use hint for getAuthUserFromApId (#13470)

* Hint for getAuthUserFromApId

* とどのつまりこれでいいのか?

* use @misskey-dev/node-http-message-signatures

* fix

* signedPost, signedGet

* ap-request.tsを復活させる

* remove digest prerender

* fix test?

* fix test

* add httpMessageSignaturesImplementationLevel to FederationInstance

* ManyToOne

* fetchPersonWithRenewal

* exactKey

* ✌️

* use const

* use gen-key-pair fn. from  '@misskey-dev/node-http-message-signatures'

* update node-http-message-signatures

* fix

* @misskey-dev/node-http-message-signatures@0.0.0-alpha.11

* getAuthUserFromApIdでupdatePersonの頻度を増やす

* cacheRaw.date

* use requiredInputs
https://github.com/misskey-dev/misskey/pull/13464#discussion_r1509964359

* update @misskey-dev/node-http-message-signatures

* clean up

* err msg

* fix(backend): fetchInstanceMetadataのLockが永遠に解除されない問題を修正

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

* fix httpMessageSignaturesImplementationLevel validation

* fix test

* fix

* comment

* comment

* improve test

* fix

* use Promise.all in genRSAAndEd25519KeyPair

* refreshAndprepareEd25519KeyPair

* refreshAndfindKey

* commetn

* refactor public keys add

* digestプリレンダを復活させる

RFC実装時にどうするか考える

* fix, async

* fix

* !== true

* use save

* Deliver update person when new key generated (not tested)
https://github.com/misskey-dev/misskey/pull/13464#issuecomment-1977049061

* 循環参照で落ちるのを解消?

* fix?

* Revert "fix?"

This reverts commit 0082f6f8e8.

* a

* logger

* log

* change logger

* 秘密鍵の変更は、フラグではなく鍵を引き回すようにする

* addAllKnowingSharedInboxRecipe

* nanka meccha kaeta

* delivre

* キャッシュ有効チェックはロック取得前に行う

* @misskey-dev/node-http-message-signatures@0.0.3

* PrivateKeyPem

* getLocalUserPrivateKey

* fix test

* if

* fix ap-request

* update node-http-message-signatures

* fix type error

* update package

* fix type

* update package

* retry no key

* @misskey-dev/node-http-message-signatures@0.0.8

* fix type error

* log keyid

* logger

* db-resolver

* JSON.stringify

* HTTP Signatureがなかったり使えなかったりしそうな場合にLD Signatureを活用するように

* inbox-delayed use actor if no signature

* ユーザーとキーの同一性チェックはhostの一致にする

* log signature parse err

* save array

* とりあえずtryで囲っておく

* fetchPersonWithRenewalでエラーが起きたら古いデータを返す

* use transactionalEntityManager

* fix spdx

* @misskey-dev/node-http-message-signatures@0.0.10

* add comment

* fix

* publicKeyに配列が入ってもいいようにする
https://github.com/misskey-dev/misskey/pull/13950

* define additionalPublicKeys

* fix

* merge fix

* refreshAndprepareEd25519KeyPair → refreshAndPrepareEd25519KeyPair

* remove gen-key-pair.ts

* defaultMaxListeners = 512

* Revert "defaultMaxListeners = 512"

This reverts commit f2c412c180.

* genRSAAndEd25519KeyPairではキーを直列に生成する?

* maxConcurrency: 8

* maxConcurrency: 16

* maxConcurrency: 8

* Revert "genRSAAndEd25519KeyPairではキーを直列に生成する?"

This reverts commit d0aada55c1.

* maxWorkers: '90%'

* Revert "maxWorkers: '90%'"

This reverts commit 9e0a93f110.

* e2e/timelines.tsで個々のテストに対するtimeoutを削除, maxConcurrency: 32

* better error handling of this.userPublickeysRepository.delete

* better comment

* set result to keypairEntityCache

* deliverJobConcurrency: 16, deliverJobPerSec: 1024, inboxJobConcurrency: 4

* inboxJobPerSec: 64

* delete request.headers['host'];

* fix

* // node-fetch will generate this for us. if we keep 'Host', it won't change with redirects!

* move delete host

* modify comment

* modify comment

* fix correct → collect

* refreshAndfindKey → refreshAndFindKey

* modify comment

* modify attachLdSignature

* getApId, InboxProcessorService

* TODO

* [skip ci] add CHANGELOG

---------

Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-07-18 01:28:17 +09:00
かっこかり 3331f3972a
fix(frontend): 「アニメーション画像を再生しない」がオンのときにバナー画像・サーバー背景画像がアニメーションしないように (#14243)
* fix: stop animating banner and backgrounds when stop showing animated images is enabled

(cherry picked from commit 8fe2596316e9688509745706ea424f0b4bfd4136)

* chore: nest ternary

(cherry picked from commit 2783fe5f5bd7c0647db9f9b6fb5e000e4f411092)

* chore: flip ternary

(cherry picked from commit b9d66f824cff373cc53bfa846a56c16f456a6d5b)

* update changelog

---------

Co-authored-by: Marie <marie@kaifa.ch>
2024-07-18 01:22:24 +09:00
woxtu 6942a920c8
refactor(frontend): Improve typing (#14240)
* Improve typing

* Remove redundant promise

* Refactor

* Update packages/frontend/src/scripts/mfm-function-picker.ts

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

* Update packages/frontend/src/scripts/mfm-function-picker.ts

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

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-07-18 00:31:52 +09:00
Chocolate Pie 68bcd91d57
chore: Use clipboard API directly (#14227)
* chore: Use clipboard API directly

* fix: Fix lint
2024-07-17 21:52:05 +09:00
かっこかり 8b4933cc48
fix changelog (wrong category) 2024-07-17 19:08:39 +09:00
tamaina bda1de8a67 use pnpm@9.5.0 2024-07-17 18:19:06 +09:00
github-actions[bot] f0d738d8bf Bump version to 2024.7.0-beta.0 2024-07-17 08:15:21 +00:00
FineArchs 070f0e723d
AiScriptを0.19.0にアップデート (#14226)
* Update autogen files

* Update CHANGELOG.md

* Update flash-edit.vue
2024-07-17 16:55:17 +09:00
woxtu 8ebc3b51f7
Fix typo (#14231) 2024-07-16 23:27:05 +09:00
Eiichi Yoshikawa 3b075c9c44
fix(frontend): MkSignin.vueのcredentialRequestからReactivityを削除 (#14223)
* Remove reactivity from credentialRequest in MkSignin.vue

* Update Changelog
2024-07-16 08:38:42 +09:00
おさむのひと 1001277d43
fix: CHANGELOG.mdの記載に漏れがあったのを修正 (#14220) 2024-07-15 22:08:02 +09:00
Kisaragi ce39c3a2fb
chore(backend): registed -> registered (#14213)
* chore(backend): registed -> registered

* Update CHANGELOG.md
2024-07-15 14:58:48 +09:00
Souma 1b84760c19
enhance(backend): Load settings via environment variables (#14179)
* feat(backend): Load settings via environment variables

If they're not loaded from the config file.

* chore(docker): Add hints for environment variables

It supports users to know about them.

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

Users can notice what's changed by this PR.

* style(backend): Fix code syntax

To pass the linter.
2024-07-14 21:33:22 +09:00
easrng 16795f18a7
Enhance(frontend): Allow negative delay in MFM (#14200)
Co-authored-by: easrng <me@easrng.net>
2024-07-14 21:31:30 +09:00
Kisaragi f0b9d70720
ci: cache eslint (#14204)
* ci: cache eslint

* dummy commit to trigger

* fix syntax error
2024-07-14 21:30:57 +09:00
dependabot[bot] aa0632727f
chore(deps): bump actions/setup-node from 4.0.2 to 4.0.3 (#14165)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.2...v4.0.3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-14 21:29:57 +09:00
anatawa12 d47fd4ffe1
fix: error with trying to handle SIGKILL (#14208) 2024-07-14 21:29:35 +09:00
Sayamame-beans 4b9c60ad21
fix(backend): ユーザーのリアクション一覧でミュート/ブロックが機能していなかった問題を修正 (#14100)
* fix: mute/block was not considered on users/reactions

* docs(changelog): update changelog

* chore: Apply suggestion from code review

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

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-07-14 20:24:29 +09:00
syuilo c5607d8633 enhance(backend): configにsignToActivityPubGetの指定が無い場合trueと見做すように
trueの方が望ましいため
2024-07-14 20:14:43 +09:00
かっこかり 722acf5986
fix(frontend): follow-up of #13089 (#14206)
* fix(frontend): #13089 を修正

* fix

* 正規表現を強化

* fix
2024-07-14 17:28:34 +09:00
Kisaragi 09d30fef5b
ci: ワークフローが更新されたときにもワークフローが起動するようにする (#14207)
* ci: include themselves in `on.push.paths`
command: find .github/workflows -type f \( -name '*.yaml' -or -name '*.yml' \) | xargs -I {} yq_4.44.2-linux_x86-64 'select(.on.push.paths != null) | .[0] | map("{}")[0]' {} | xargs -I {} ~/.local/bin/yq_4.44.2-linux_x86-64 -i '.on.push.paths += ["{}"]' {}

* ci: include themselves in `on.pull_request.paths`
command: find .github/workflows -type f \( -name '*.yaml' -or -name '*.yml' \) | xargs -I {} yq_4.44.2-linux_x86-64 'select(.on.pull_request.paths != null) | .[0] | map("{}")[0]' {} | xargs -I {} ~/.local/bin/yq_4.44.2-linux_x86-64 -i '.on.pull_request.paths += ["{}"]' {}
2024-07-14 17:27:27 +09:00
かっこかり b9f3fccfac
fix(frontend): Nested RouteのときにRouterViewに当たるキーがルートのpathとぶち当たる可能性があるのを修正 (#14202)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-14 16:21:59 +09:00
Kisaragi 76181385d2
refactor(misskey-js): enable exactOptionalPropertyTypes (#14203)
* refactor(misskey-js): enable exactOptionalPropertyTypes

* refactor(misskey-js): fix error where is appeared by enabling
2024-07-14 15:52:43 +09:00
かっこかり 3c032dd5b9
enhance: 非ログイン時には別サーバーに遷移できるように (#13089)
* enhance: 非ログイン時にはMisskey Hub経由で別サーバーに遷移できるように

* fix

* サーバーサイド照会を削除

* クライアント側の照会動作

* hubを経由せずにリモートで続行できるように

* fix と pleaseLogin誘導箇所の追加

* fix

* fix

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-14 15:27:52 +09:00
かっこかり 6dd6fcf88f
enhance(frontend): サーバー情報・お問い合わせページを改修 (#14198)
* improve(frontend): サーバー情報・お問い合わせページを改修 (#238)

* Revert "Revert "enhance(frontend): add contact page" (#208)" (This reverts commit 5a329a09c987b3249f97f9d53af67d1bffb09eea.)

* improve(frontend): サーバー情報・お問い合わせページを改修

(cherry picked from commit e72758d8cda3db009c5d1bf1f4141682931b91f8)

* fix

* Update Changelog

* tweak

* lint

* 既存の翻訳を使用するように

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-07-14 14:49:50 +09:00
Kisaragi 31e82fc29a
test(backend): kill many any in backend test (partial) (#14054)
* kill any on utils:api

* kill any on timeline test

* use optional chain to kill TS2532 on timeline test
変更前: 該当ノートが見つからなければundefinedに対するプロパティアクセスとしてテストがクラッシュ
変更後: 該当ノートが見つからなければoptional chainがundefinedとして評価されるが、strictEqualの右辺がnon-nullableなためアサーションに失敗しテストがクラッシュ

* kill `as any` for ApMfmService

* kill argument any for api-visibility

* kill argument any across a few tests

* do not return value that has yielded from `await`-ing `Promise<void>`

* force cast

* runtime non-null assertion to coerce

* rewrite `assert.notEqual(expr, null)` to `assert.ok(expr)`
こうすることでassertion type扱いになり、non-nullableになる

* change return type of `failedApiCall` to `void`
戻り値がどこにも使われていない

* split bindings for exports.ts
型が合わなくて文句を言ってくるので適切に分割

* runtime non-null assertion

* runtime non-null assertion

* 何故かうまく行かないので、とりあえずXORしてみる

* Revert "何故かうまく行かないので、とりあえずXORしてみる"

This reverts commit 48cf32c930.

* castAsErrorで安全ではないキャストを隠蔽

* 型アサーションの追加

* 型アサーションの追加

* 型アサーションの追加

* voidで値を返さない

* castAsError

* assert.ok => kill nullability

* もはや明示的な型の指定は必要ない

* castAsError

* castAsError

* 型アサーションの追加

* nullableを一旦抑止

* 変数を分離して型エラーを排除

* 不要なプロパティを削除する処理を隠蔽してanyを排除

* Repository type

* simple type

* assert.ok => kill nullability

* revert `as any` drop
reverts fe95c05b3f partialy

* test: fix invalid assertion
partially revert b99b7b5392

* test: 52d8a54fc7 により型が合うようになった部分の`as any`を除去

* format

* test: apply https://github.com/misskey-dev/misskey/pull/14054#discussion_r1672369526 (part 1)

* test: use non-null assertion to suppress too many error

* Update packages/backend/test/utils.ts

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

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-07-14 09:33:16 +09:00
Sayamame-beans 7afa593d11
Feat: ユーザーのアイコン/バナーの変更可否をロールで設定可能に (#14078)
* feat: implement role policy "canUpdateBioMedia"

* docs(changelog): update changelog

* docs(changelog): update changelog

* chore: regenerate misskey-js type definitions

* chore: Apply suggestion from code review

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

* chore: fix unnecessarily strict inequality check

* chore: policies should be gotten only once

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-07-14 09:31:05 +09:00
かっこかり 58c596cacf
fix(backend): 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正 (#14195)
* enhance(backend): 公開バッジのみをpackするように (MisskeyIO#652)

(cherry picked from commit b8a90659f35fef49d1d00fb2f9b152226c97643c)

* Update Changelog

* fix

* Update UserEntityService.ts

---------

Co-authored-by: CyberRex <26585194+CyberRex0@users.noreply.github.com>
2024-07-14 09:26:25 +09:00
かっこかり b5fd6183d2
deps(frontend): AiScript VSCodeのバージョンを上げる (#14199) 2024-07-14 08:00:27 +09:00
Gianni Ceccarelli c83c831c53
parse notRespondingSince from redis instance cache (#14079)
if we don't do this, we'll get a string, and `DeliverProcessorService`
will error out `i.notRespondingSince.getTime is not a function`
2024-07-13 20:26:48 +09:00
Kisaragi 9fcae7d9b2
refactor(sw): enable noImplicitAny (#14191) 2024-07-13 16:59:08 +09:00
かっこかり bcc92d546f
fix(frontend): ホットキーのレートリミットがallowRepeatを考慮しない問題を修正 (#14192) 2024-07-13 16:15:25 +09:00
かっこかり 1b175ea759
fix(frontend): すでにfocus trap対象の要素にinertがかかっている場合は解除するように (#14189)
* fix(frontend): すでにfocus trap対象の要素にinertがかかっている場合は解除するように

* 他のfocus-trapped要素とのインタラクションがある場合の動作を変更

* typo
2024-07-13 13:02:27 +09:00
syuilo 91de35ecdf fix(backend): デフォルトテーマに無効なテーマコードを入力するとUIが使用できなくなる問題を修正
Fix #13955
2024-07-13 10:30:28 +09:00
おさむのひと 6cd15275bb
fix: サジェストされるユーザのリストアップ方法を見直し (#14180)
* fix: サジェストされるユーザのリストアップ方法を見直し

* fix comment

* fix CHANGELOG.md

* ノートの無いユーザ(updatedAtが無いユーザ)は含めないらしい

* fix test
2024-07-12 21:14:09 +09:00
かっこかり 76b1c74a37
fix(frontend): use proper import path 2024-07-12 16:39:09 +09:00
かっこかり 385969e9f5
fix(frontend): フォーカスの挙動を修正 (#14158)
* fix(frontend): 直前のパターンを記録するように

* fix(frontend): フォーカス/タブ移動に関する挙動を調整 (#226)

Cherry-pick commit e8c030673326871edf3623cf2b8675d68f9e1b13

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

* focusのデザイン修正

* move scripts

* Modalにfocus trapを追加

* 記録するホットキーはレートリミット式にする

* escキーのハンドリングをMkModalに統一

* fix

* enterで子メニューを開けるように

* lint

* fix focus trap

* improve switch accessibility

* 一部のmodalのフォーカストラップが外れない問題を修正

* fix

* fix

* Revert "記録するホットキーはレートリミット式にする"

This reverts commit 40a7509286.

* Revert "fix(frontend): 直前のパターンを記録するように"

This reverts commit 5372b25940.

* Revert "Revert "fix(frontend): 直前のパターンを記録するように""

This reverts commit a9bb52e799.

* Revert "Revert "記録するホットキーはレートリミット式にする""

This reverts commit bdac34273e.

* 試験的にCypressでのFocustrapを無効化

* fix

* fix focus-trap

* Update Changelog

* ✌️

* fix focustrap invocation logic

* スクロールがsticky headerを考慮するように

* 🎨

* スタイルの微調整

* 🎨

* remove deprecated key aliases

* focusElementが足りなかったので修正

* preview系にfocus時スタイルが足りなかったので修正

* `returnFocusElement` -> `returnFocusTo`

* lint

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

* Apply suggestions from code review

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

* keydownイベントをまとめる

* use correct pesudo-element selector

* fix

* rename

---------

Co-authored-by: taiyme <53635909+taiyme@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-12 16:25:44 +09:00
かっこかり 121af778a0
enhance(frontend): 未使用のサウンド設定を削除 (#14116)
* enhance(frontend): 未使用のサウンド設定を削除

* Update Changelog

* Update CHANGELOG.md
2024-07-11 18:44:18 +09:00
かっこかり 6b876da44a
enhance(frontend): ウェルカムタイムラインのデザインを調整 (#14156)
* enhance(frontend): 非ログイン時のハイライトTLのデザイン調整

* Update Changelog

* fix cw handling

* ホバーしてたらスクロールを止めるように

* fix

* lint
2024-07-11 18:41:04 +09:00
tamaina f8ac3fe343
リリースPRがないときにrelease-edit-with-push.ymlがfailして見栄えが悪いのを修正 (#14160) 2024-07-11 16:39:06 +09:00
woxtu 679318541a
Improve background color specification (#14176) 2024-07-11 16:29:18 +09:00
Kisaragi 52d8a54fc7
feat(misskey-js): POST admin/roles/createの型を具象化 (#14167)
* feat(misskey-js): `POST admin/roles/create`の型を具象化

* fix

* docs: CHANGELOG.md

* test(misskey-js): admin/roles/createの型が合うことを表明

* test(misskey-js): single quote

* test(misskey-js): 無を読もうとして爆発するのを修正

* test(misskey-js): fix comment
2024-07-10 20:40:04 +09:00
かっこかり 02e0a86b12
fix(frontend): remove unused statement
fix #14162
2024-07-10 01:00:40 +09:00
かっこかり 600f16d625
fix(backend): api-docをScalarに変更 (#14152)
* fix(backend): api-docをScalarに変更

* Update Changelog
2024-07-09 21:57:19 +09:00
かっこかり a5407131d4
fix/refactor(frontend): hotkeyの改修 (#14157)
* improve(frontend): hotkeyの改修 (#234)

(cherry picked from commit 678be147f4db709dadf25d007cc2e679e98a370e)

* Change path, add missing script

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

* fix

* fix

* add missing keycodes

* fix

* update changelog

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-07-09 17:59:15 +09:00
tamaina b61f270eae
Bump release actions to v2 (develop-stable(master) branches system) (#13941) 2024-07-09 16:08:49 +09:00
woxtu 55c990e0d9
Fix compose file name (#14153) 2024-07-09 12:42:02 +09:00
かっこかり 9ef6c4716c
fix(backend): 名前を空白文字列だけにできる問題を修正 (#14119)
* fix(backend): 名前を空白文字列だけにできる問題を修正

* Update Changelog

* fix test

* Unicodeを含める

* fix

* ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに

* Revert "ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに"

This reverts commit 6c752a69c0.

* [ci skip] changelog typo
2024-07-07 14:19:00 +09:00
かっこかり f119f8c2cc
feat(misskey-js): multipart/form-dataのリクエストに対応 (#14147)
* feat(misskey-js): multipart/form-dataのリクエストに対応

* lint

* add test

* Update Changelog

* テストを厳しくする

* lint

* multipart/form-dataではnullのプロパティを弾くように
2024-07-07 14:08:18 +09:00
かっこかり 984d582796
fix(frontend): サーバーサイドbootでエラー画面の描画時にDOMが初期化できていないことがあるのを修正 (#14139) 2024-07-07 09:56:09 +09:00
おさむのひと fe852920c3
fix(backend): parse5関係の型のimport方法を変更 (#14146) 2024-07-07 09:55:06 +09:00
かっこかり 0ea88c07b4
fix changelog 2024-07-06 22:52:41 +09:00
syuilo 8e1d94c6c7 fix import path 2024-07-06 21:46:19 +09:00
かっこかり b9ed3b2427
fix(dev): devサーバーで/notes/に直でアクセスしたらサーバー側のレスポンスが返ってくる問題を修正 (#14137) 2024-07-06 11:46:43 +09:00
syuilo 6dd2e9fc0b refactor(frontend): refactor popup api and make sure call dispose callback
Close #14122
2024-07-04 13:14:49 +09:00
zyoshoka fab7d5e484
fix(storybook): build skipping even after updating impl story files (#14124) 2024-07-04 12:33:43 +09:00
anatawa12 5d03efa1bb
dev: fix pnpm dev is broken (#14123)
* dev: pnpm dev is broken

* dev: fix crash pnpm dev because of unhandled promise
2024-07-03 06:40:31 +09:00
woxtu de1fe7cc5a
Use built-in API (#14095) 2024-07-02 14:47:07 +09:00
Kisaragi eafae79869
test(backend): goodbye, Lenna (#14111) 2024-07-02 14:29:44 +09:00
syuilo 427648c4b8
update deps (#14057)
* wip

* locales/index.jsのymlファイル取得ロジックを調節

* regenerate pnpm-lock.yaml

* fix(backend): typecheck fails

* chore(deps): bump ip-cidr from 4.0.0 to 4.0.1 in /packages/backend

* chore: migrate ESLint configs to flat config (#14094)

* chore: migrate ESLint configs to flat config

* fix: update paths

* fix: frontend lint fails

* refactor(misskey-js): lint build.js

* update deps

---------

Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
Co-authored-by: zyoshoka <root@zyoshoka.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-07-02 11:38:34 +09:00
zyoshoka f1b1e2a7cc
fix(storybook): prevent infinite remount of component (#14101)
* fix(storybook): prevent infinite remount of component

* fix: disable flaky `.toMatch()` test
2024-07-02 10:57:20 +09:00
ぬるきゃっと a6edd50a5d
chore(docker-compose): 推奨の名前にする (#14096)
* chore(docker-compose): 推奨の名前にする

5c18e329d5/spec.md (compose-file)

* yaml to yml

* fix

* fix
2024-06-28 11:16:12 +09:00
woxtu 4096dabe1e
Add null checking (#14089) 2024-06-27 21:59:19 +09:00
ぬるきゃっと 0e512d4ff6
update: CHANGELOG.md for #14097 (#14099) 2024-06-27 18:23:47 +09:00
ぬるきゃっと 77012f2f29
fix(frontend): テーマプレビューが見れない問題を修正 (#14097)
* fix(frontend): テーマプレビューが見れない問題を修正

* fix: MkPreview.vue, preview.vue
2024-06-27 10:40:46 +09:00
yupix 1c5d0cf536
feat: アンテナの編集画面のボタンにgapを追加 (#14091) 2024-06-26 10:25:18 +09:00
woxtu 634764e1a6
refactor(frontend): Remove unused directives (#14085) 2024-06-24 21:32:12 +09:00
かっこかり b95a0457a9
fix(frontend): run pnpm build-assets (#14077) 2024-06-23 19:04:01 +09:00
woxtu b269c43168
Fix type annotations (#14071) 2024-06-23 01:00:12 +09:00
Ibuki Sugiyama 2acbec6891
enhance: update datasaver switch titles (#12834) 2024-06-22 19:50:32 +09:00
zyoshoka 961cb6c5ee
fix(backend): fix creating reactions bugs (#13901)
* fix(backend): add fallback for empty string when creating reaction

* fix(backend): prohibit reactions to Renote

* test(backend): add some tests for `notes/reactions/create` endpoint

* Update CHANGELOG.md

* lint

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 19:49:38 +09:00
woxtu 00b213373b
Remove @types/node-fetch (#13948) 2024-06-22 19:46:29 +09:00
anatawa12 b8b4dc5038
build: install pnpm with corepack on docker build (#13926)
* build: install pnpm with corepack on build

* docs(changelog): Dockerコンテナの立ち上げ時に`pnpm`のインストールで固まることがある問題
2024-06-22 19:45:08 +09:00
Kisaragi 9368eb3038
refactor: say bye to the weird groupBy friends (#13975)
* refactor(frontend): say bye to the weird groupBy friends

* refactor(backend): say bye to the weird groupBy friends
2024-06-22 19:40:55 +09:00
かっこかり 7c22a64b8c
fix(backend): 自分以外のクリップ内のノート個数が見えるのを修正 (#14065)
* fix(backend): 自分以外のクリップ内のノート個数が見えることがあるのを修正

* Update Changelog

* fix
2024-06-22 16:52:27 +09:00
かっこかり bf403aa656
fix(frontend): ベースロールを編集してもUI上では変更が反映されない問題を修正 (#13995)
* fix(frontend): ベースロールを変更してもUI上では変更が反映されない問題を修正

* Update CHANGELOG.md
2024-06-22 15:35:54 +09:00
Kisaragi faeab96e01
ci: add quote (#13990) 2024-06-22 14:55:24 +09:00
yupix b50eb511b0
refactor: api/*/update系の必須キーを最低限に (#13824)
* refactor: clips/updateの必須キーをclipIdのみに

* refactor: admin/roles/update の必須キーをroleIdのみに

* feat: pages/update の必須キーをpageIdのみに

* refactor: gallery/posts/update の必須キーをpostidのみに

* feat: misskey-jsの型を更新

* feat: i/webhooks/updateの必須キーをwebhookIdのみに

* feat: admin/ad/updateの必須キーをidのみに

* feat: misskey-jsの型を更新

* chore: update CHANGELOG.md

* docs: update CHANGELOG.md

* fix: secretが更新できなくなる場合がある

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

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

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 14:52:27 +09:00
Kisaragi ac12ab8629
fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (#14006)
* fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (test wip)

* chore: beforeEachを使う?

* fix: プレーンテキストにフォールバックしてMFMが含まれていないか調べる方針を実装

* fix: application/jsonだとパースされるのでその作用をキャンセル

* build: fix lint error

* docs: update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 12:51:02 +09:00
ぬるきゃっと ef205fb60e
enhance(frontend): WidgetInstanceInfo.vue と WidgetProfile.vue のスタイル調整 (#14028)
* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 home.vue
2024-06-22 12:46:30 +09:00
dependabot[bot] 3254f7c5cd
chore(deps): bump docker/build-push-action from 5 to 6 (#14039)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-22 12:45:52 +09:00
かっこかり 7e21497edc
fix(frontend): リバーシ開始時の自動投稿のURLが正しくない場合があるのを修正 (#14045)
* fix(frontend): リバーシ開始時の自動投稿のURLが正しくない場合があるのを修正

* ✌️
2024-06-22 12:45:37 +09:00
anatawa12 1e78ef1cb8
fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 12:44:01 +09:00
zyoshoka 8a9de081f1
fix(backend): fallback if sinceId is older than the oldest in cache when using FTT (#14061)
* fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT

* Update CHANGELOG.md

* chore: fix description of test
2024-06-22 12:43:03 +09:00
woxtu 4d2eddec2e
Replace with vue/no-setup-props-reactivity-loss rule (#14062) 2024-06-22 12:40:00 +09:00
zyoshoka a9012d3d0c
test(frontend): fix component error in MkChart story (#14056) 2024-06-21 17:29:37 +09:00
woxtu 2c84d06a66
Fix type checking (#14052) 2024-06-21 13:48:04 +09:00
syuilo e88f08ad7d refactor 2024-06-21 13:31:02 +09:00
syuilo 1d6ccd9781 remove unused files 2024-06-21 13:21:27 +09:00
syuilo 811ffbf3a4 remove unused file 2024-06-21 13:18:19 +09:00
syuilo bf33382082 refactor(backend): remove unnecessary isNotNull sugar 2024-06-21 13:03:51 +09:00
syuilo 1df90cef4c update typescript 2024-06-21 13:03:00 +09:00
woxtu b683d79f8b
Fix type checking (#14047) 2024-06-20 16:24:10 +09:00
woxtu 77ae69355c
Enable to iterate over DOM collections (#14040) 2024-06-19 12:19:38 +09:00
woxtu f37d684fab
Add missing styles (#14031) 2024-06-18 19:46:20 +09:00
Kisaragi a88579ca98
docs: add changelog entry (follow-up of #14036) (#14037) 2024-06-18 12:44:30 +09:00
Ryu jongheon d0ee0203e1
Fix(backend): Limit antenna/webhook/list to exact amount (#14036)
... not +1
* Update antennas/clips e2e test
2024-06-18 12:18:04 +09:00
zyoshoka 379ce0145b
fix(frontend): fix time on MkChart's story (#13958) 2024-06-15 16:35:41 +09:00
かっこかり 34458d767b
fix changelog 2024-06-15 15:46:36 +09:00
anatawa12 96fcb9f54c
ci: upgrade dockle (#14002) 2024-06-15 14:10:37 +09:00
zyoshoka d4e2be68ee
fix(frontend): chart in MkInstanceCardMini is no longer displayed (#13932)
* fix(frontend): chart in `MkInstanceCardMini` is no longer displayed

* Update CHANGELOG.md

* test: add `MkInstanceCardMini` story

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-15 10:32:51 +09:00
Acid Chicken 1a82a41f92
refactor(backend): get column names from metadata (#13943)
* ci: enable

* chore: stop when generated column found

* chore: get column names from metadata

* ci: disable
2024-06-15 10:28:57 +09:00
Kisaragi 9bddb81efc
chore: issueを起票する前にGitHub Discussionsにも誘導する (#13991) 2024-06-15 08:43:11 +09:00
anatawa12 220e112c83
fix rate limit check never ends (#13994) 2024-06-15 08:42:13 +09:00
Kisaragi c51347d78b
docs: update changelog (follow-up of #13949) (#13971) 2024-06-13 11:09:03 +09:00
Kisaragi dc3629e732
feat(backend): report Retry-After if client hit rate limit (#13949)
* feat(backend): report `Retry-After` if client hit rate limit

* refactor(backend): fix lint error
2024-06-13 10:56:26 +09:00
syuilo c73d739bd6 node 22 support 2024-06-13 10:40:20 +09:00
sirsegv 1616cb533e
Fix json module imports for node 22 (#13875) 2024-06-13 10:18:01 +09:00
おやき 92367cf700
node_modulesをvolume化して高速化+パーミッション問題回避、git submodule update時にローカルにsubmoduleがあっても問題が起こらないようにする (#13956) 2024-06-12 11:08:42 +09:00
Kisaragi ff3a38a7f5
fix(frontend): 追加情報のラベルを投稿者のサーバーの絵文字で表示する (#13968)
* fix(frontend): 追加情報のラベルを投稿者のサーバーの絵文字で表示する

* docs: update changelog
2024-06-12 10:52:22 +09:00
zyoshoka 9849aab402
test(#10336): add components/MkC.* stories (#13830)
* test(storybook): add `components/MkC.*` stories

* test(storybook): add some tests

* test: add sleep

* test: comment-out flaky test

* test(storybook): add test for `MkChannelFollowButton`

* chore(storybook): tweak sleep duration in `MkChannelFollowButton` story test

* fix(chromatic): add delay to `MkChannelList`

* chore: replace `mswDecorator` with `mswLoader`

* fix(storybook): tweak some parameters

* chore: serve static files

* fix(chromatic): add delay to `MkCwButton`

* chore: delete logging for debug

* fix: add right click in `MkContextMenu` play

* refactor: remove unused imports
2024-06-08 18:00:54 +09:00
おさむのひと 61fae45390
feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする (#13758)
* feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする

* モデログに対応&エンドポイントを単一オブジェクトでのサポートに変更(API経由で大量に作るシチュエーションもないと思うので)

* fix spdx

* fix migration

* fix migration

* fix models

* add e2e webhook

* tweak

* fix modlog

* fix bugs

* add tests and fix bugs

* add tests and fix bugs

* add tests

* fix path

* regenerate locale

* 混入除去

* 混入除去

* add abuseReportResolved

* fix pnpm-lock.yaml

* add abuseReportResolved test

* fix bugs

* fix ui

* add tests

* fix CHANGELOG.md

* add tests

* add RoleService.getModeratorIds tests

* WebhookServiceをUserとSystemに分割

* fix CHANGELOG.md

* fix test

* insertOneを使う用に

* fix

* regenerate locales

* revert version

* separate webhook job queue

* fix

* 🎨

* Update QueueProcessorService.ts

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-08 15:34:19 +09:00
Porlam Nicla e0cf5b2402
配信停止したインスタンス一覧が見れなくなる問題を修正 (#13945)
* 配信停止したインスタンス一覧が見れなくなる問題を修正

* Update CHANGELOG.md
2024-06-07 14:46:46 +09:00
syuilo 8592716139 enhance(backend): improve sentry integration 2024-06-07 13:15:37 +09:00
taichan 00157864e9
fix(backend): チャート生成時にinstance.isSuspendedが読まれてしまう問題の修正 (#13951)
* fix(backend): use sustensionState instead of isSuspended

* Update CHANGELOG.md
2024-06-07 09:00:01 +09:00
syuilo 8f833d742f enhance(backend): improve sentry integration 2024-06-06 11:51:31 +09:00
syuilo d55e638a23 lint fixes 2024-06-06 11:40:11 +09:00
syuilo a697a7f97b enhance(backend): improve sentry integration 2024-06-06 11:38:34 +09:00
syuilo ab69e113f4 enhance(backend): improve sentry integration 2024-06-06 11:20:54 +09:00
syuilo 65d19279a2 fix 2024-06-06 10:11:43 +09:00
syuilo dbf9e1194b refactor(backend): remove unused logger option 2024-06-06 10:01:50 +09:00
syuilo d4a8c63264 enhance(backend): sentry integration for job queues 2024-06-06 09:32:04 +09:00
かっこかり 43cccaaee9
fix 2024-06-04 13:15:35 +09:00
かっこかり 27ac3d795e
Update about-misskey.vue 2024-06-04 13:14:37 +09:00
かっこかり fce66b85b6
Merge pull request #13917 from misskey-dev/develop
Release 2024.5.0 (master)
2024-06-01 11:27:03 +09:00
Acid Chicken 2b8056a852
fix(backend): use insertOne insteadof insert/findOneOrFail combination (#13908)
* fix(backend): use insertOne insteadof insert/findOneOrFail combination

* fix: typo

* fix(backend): inherit mainAlias?

* refactor(backend): use extend

* fix(backend): invalid entityTarget

* fix(backend): fake where

* chore: debug

* chore: debug

* test: log

* fix(backend): column names

* fix(backend): remove dummy from

* revert: log

* fix(backend): position

* fix(backend): automatic aliasing

* chore(backend): alias

* chore(backend): remove from

* fix(backend): type

* fix(backend): avoid pure name

* test(backend): fix type

* chore(backend): use cte

* fix(backend): avoid useless alias

* fix(backend): fix typo

* fix(backend): __disambiguation__

* fix(backend): quote

* chore(backend): t

* chore(backend): accessible

* chore(backend): concrete returning

* fix(backend): quote

* chore: log more

* chore: log metadata

* chore(backend): use raw

* fix(backend): returning column name

* fix(backend): transform

* build(backend): wanna logging

* build(backend): transform empty

* build(backend): build alias

* build(backend): restore name

* chore: return entity

* fix: test case

* test(backend): 204

* chore(backend): log sql

* chore(backend): assert user joined

* fix(backend): typo

* chore(backend): log long sql

* chore(backend): log join

* chore(backend): log join depth null

* chore(backend): joinAttributes

* chore(backend): override createJoinExpression

* chore: join log

* fix(backend): escape

* test(backend): log log

* chore(backend): join gonna success?

* chore(backend): relations

* chore(backend): undefined

* chore(backend): target

* chore(backend): remove log

* chore(backend): log chart update

* chore(backend): log columns

* chore(backend): check hasMetadata

* chore(backend): unshift id when not included

* chore(backend): missing select

* chore(backend): remove debug code
2024-06-01 11:16:44 +09:00
github-actions[bot] ecf7945fe8 [skip ci] Update CHANGELOG.md (prepend template) 2024-05-31 12:25:00 +00:00
github-actions[bot] cc1ee0106f
Merge pull request #13801 from misskey-dev/release/2024.5.0
Release: 2024.5.0
2024-05-31 12:24:57 +00:00
github-actions[bot] 6078081c33 [skip ci] Release: 2024.5.0 2024-05-31 12:24:53 +00:00
github-actions[bot] a59aa20be8 Bump version to 2024.5.0-rc.13 2024-05-31 12:18:52 +00:00
syuilo 61eec93f4e Revert "2024.5.0"
This reverts commit 27d1b7e615.
2024-05-31 21:16:35 +09:00
syuilo 27d1b7e615 2024.5.0 2024-05-31 21:09:19 +09:00
github-actions[bot] 316d192bc0 Bump version to 2024.5.0-rc.12 2024-05-31 12:05:47 +00:00
syuilo 2eaa3e256f
Update README.md for Sentry 2024-05-31 20:42:02 +09:00
github-actions[bot] 46164f879b Bump version to 2024.5.0-rc.11 2024-05-31 11:20:13 +00:00
github-actions[bot] 374c8791d7 Bump version to 2024.5.0-rc.10 2024-05-31 11:13:42 +00:00
syuilo e8f523f00a
Merge branch 'develop' into release/2024.5.0 2024-05-31 20:11:55 +09:00
syuilo 030082f756 🎨 2024-05-31 19:35:27 +09:00
github-actions[bot] dc55adbaf7 Bump version to 2024.5.0-rc.9 2024-05-31 07:06:41 +00:00
syuilo 90ba1ca1f9
Merge branch 'develop' into release/2024.5.0 2024-05-31 16:06:00 +09:00
zyoshoka 514a65e453
perf(backend): avoid N+1 selects from user table when packing many entities (#13911)
* perf(backend): avoid N+1 selects from `user` table when packing many entities

* perf(backend): use `packMany` instead of mapping to `pack`
2024-05-31 15:32:42 +09:00
syuilo a3468fd05b
Merge branch 'develop' into release/2024.5.0 2024-05-31 14:59:32 +09:00
syuilo 97be1a53ad Update 1717117195275-inquiryUrl.js 2024-05-31 14:59:02 +09:00
github-actions[bot] 1e007b63aa Bump version to 2024.5.0-rc.8 2024-05-31 04:38:45 +00:00
syuilo a0c596b030
Merge branch 'develop' into release/2024.5.0 2024-05-31 13:28:25 +09:00
syuilo eaa85f5aa3 fix test 2024-05-31 13:28:11 +09:00
syuilo dfeaa1145b
Merge branch 'develop' into release/2024.5.0 2024-05-31 13:19:49 +09:00
syuilo 0082747237
New Crowdin updates (#13892)
* 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 Traditional)
2024-05-31 13:19:37 +09:00
syuilo 5b8f8e7087 fix(backend): fix backward compatibility of antenna 2024-05-31 11:24:17 +09:00
syuilo be11fd7508 enhance: サーバーのお問い合わせ先URLを設定できるように 2024-05-31 10:12:23 +09:00
syuilo ac4a001e9f fix code style 2024-05-31 10:11:11 +09:00
KanariKanaru 24d4124ffc
fix(frontend): ノートにテキストがなくてもファイルが5つ以上あるときは折りたたむように (#13907)
* fix: ノートにテキストがなくてもファイルが5つ以上あるときは折りたたむように

* 冗長な記述を修正

* Update CHANGELOG.md
2024-05-30 17:36:58 +09:00
zyoshoka eaadd643eb
chore(misskey-js): fix repository and add license in package.json (#13902) 2024-05-29 20:57:48 +09:00
Kisaragi cf670e8a3d
refactor(backend): avoid as any on CustomEmojiService.ts (#13903) 2024-05-29 07:12:50 +09:00
Kisaragi e57ce4fa0f
chore(backend): rename local variable (#13904)
much -> matched
2024-05-29 07:12:20 +09:00
Kisaragi 44cafbb9f2
refactor: avoid as any[] on FetchInstanceMetadataService.ts (#13905)
* refactor: avoid `as any[]` on FetchInstanceMetadataService.ts

* apply suggestion

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-05-29 07:11:29 +09:00
github-actions[bot] f75e46752e Bump version to 2024.5.0-rc.7 2024-05-28 09:18:21 +00:00
github-actions[bot] 244adef70e Bump version to 2024.5.0-rc.6 2024-05-28 09:18:05 +00:00
syuilo e2eb7e8ca9
Merge branch 'develop' into release/2024.5.0 2024-05-28 18:17:39 +09:00
syuilo 80f3cb96b0
feat: sentry integration (#13897)
* wip

* wip

* wip

* wip

* Update CHANGELOG.md

* Update ApiCallService.ts

* Update config.ts
2024-05-28 17:06:33 +09:00
tamaina 89b27d8587
fix(federation): InboxにきたCreate, AnnounceのobjectがBearcaps urlだった際はスキップするように (#13610)
* fix(federation): AnnounceのobjectがLike出なかったらキューにためない
Fix https://github.com/misskey-dev/misskey/issues/13552

* revert

* better reason handlings

* result

* improve announce handling

* skip bearcaps

* also announce
2024-05-28 14:36:06 +09:00
tamaina 1bb1a32986 [skip ci] update release manager actions 2024-05-28 00:03:12 +09:00
tamaina de9e391e34 [skip ci] update release manager actions 2024-05-28 00:02:22 +09:00
Kisaragi 934f9f80bd
docs: 「Feat: 個別のお知らせにリンクで飛べるように」のcherry-pick元を指定 (#13891)
* docs: 「Feat: 個別のお知らせにリンクで飛べるように」のcherry-pick元を指定
cc misskey-dev#13885

* Update CHANGELOG.md

Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-05-27 21:25:07 +09:00
github-actions[bot] 4704dfe061 Bump version to 2024.5.0-beta.5 2024-05-27 12:00:25 +00:00
syuilo d3b969306c
Merge branch 'develop' into release/2024.5.0 2024-05-27 20:55:49 +09:00
anatawa12 4579be0f54
新着ノートをサウンドで通知する機能をdeck UIに追加 (#13867)
* feat(deck-ui): implement note notification

* chore: remove notify in antenna

* docs(changelog): 新着ノートをサウンドで通知する機能をdeck UIに追加

* fix: type error in test

* lint: key order

* fix: remove notify column

* test: remove test for notify

* chore: make sound selectable

* fix: add license header

* fix: add license header again

* Unnecessary await

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

* ファイルを選択してください -> ファイルが選択されていません

* fix: i18n忘れ

* fix: i18n忘れ

* pleaseSelectFile > fileNotSelected

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-05-27 20:54:53 +09:00
syuilo d7982e471c
New Crowdin updates (#13860)
* New translations ja-jp.yml (Chinese Traditional)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

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

* 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 (Korean (Gyeongsang))

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

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

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

* New translations ja-jp.yml (Danish)

* New translations ja-jp.yml (Chinese Simplified)
2024-05-27 20:24:15 +09:00
anatawa12 a7a8dc4dbb
もともとセンシティブではないと連合されていたファイルがセンシティブとして連合された場合にセンシティブとしてそのファイルを扱うように (#13879)
* feat(backend): mark an file as sensitive if the file was newly federated as sensitive

* docs(changelog): もともとセンシティブではないと連合されていたファイルがセンシティブとして連合された場合にセンシティブとしてそのファイルを扱うように

* fix: change way to update federated image

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

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* update isSensitive of existing record object

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-05-27 20:12:25 +09:00
zyoshoka cf2256cf41
fix: CHANGELOG not reflecting correctly (#13888)
* fix: CHANGELOG not reflecting correctly

* Update .github/workflows/release-edit-with-push.yml

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

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-05-27 20:11:39 +09:00
かっこかり 28e0e20879
[ci skip] Delete .github/FUNDING.yml
use misskey-dev/.github repository
2024-05-27 19:22:46 +09:00
github-actions[bot] e50107792c Bump version to 2024.5.0-beta.4 2024-05-27 08:37:07 +00:00
syuilo 579b88adc7
Merge branch 'develop' into release/2024.5.0 2024-05-27 17:28:08 +09:00
github-actions[bot] 140df4b5e0 Bump version to 2024.5.0-beta.3 2024-05-27 08:27:39 +00:00
Sayamame-beans 6af9492ea5
Quick action implement (#13878)
* enhance(frontend): quick action for file admin-lookup

* docs(changelog): update changelog

* enhance(frontend): quick action for general admin-lookup, remove unimplemented note, instance admin-lookup

* docs(changelog): update changelog

* chore: fix lint
2024-05-27 17:21:05 +09:00
かっこかり d013e4516d
enhance(frontend): お気に入りチャンネルをキャッシュするように (#13881) 2024-05-27 17:19:09 +09:00
かっこかり 805a11aadb
enhance(backend): プロフィールのリンク検証にtry-catchを追加 (#13882)
* enhance(backend): プロフィールのリンク検証にtry-catchを追加

* ✌️
2024-05-27 17:18:12 +09:00
かっこかり 1b81ca4563
enhance(frontend): 「見たことのあるリノートを省略して表示」の名称を変更 (#13883)
* enhance(frontend): 「見たことのあるリノートを省略して表示」の名称を変更

* ひとつだけcaptionが入ってるやつが真ん中にいると不格好だったので場所変更
2024-05-27 17:16:47 +09:00
かっこかり 1df8ea824e
fix(backend): /@ にアクセスするとサーバーエラーが発生する問題を修正 (#13884) 2024-05-27 17:15:42 +09:00
かっこかり 3ffbf6296f
feat: 個別のお知らせにリンクで飛べるように (#13885)
* feat(announcement): 個別のお知らせにリンクで飛べるように (MisskeyIO#639)

(cherry picked from commit f6bf7f992a78e54d86a4701dbd1e4fda7ef4eb27)

* fix

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

* fix

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

* 一覧ページではお知らせpanel全体を押せるように

* お知らせバーは個別ページに飛ばすように

* Update Changelog

* spdx

* attempt to fox test

* remove unnecessary thong

* `announcement` → `announcements/show`

* リンクを押せる場所をタイトルと日付部分のみに変更

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-05-27 17:15:11 +09:00
かっこかり e0b47999fa
fix(backend): read:admin:show-userread:admin:show-users を統合 (#13798)
* fix(frontend): 同じdisplayNameの権限があるのを修正

* read:admin:show-user と read:admin:show-users を統合

* Update Changelog
2024-05-23 17:29:59 +09:00
anatawa12 83a9aa4533
feat: suspend instance improvements (#13861)
* feat(backend): dead instance detection

* feat(backend): suspend type detection

* feat(frontend): show suspend reason on frontend

* feat(backend): resume federation automatically if the server is automatically suspended

* docs(changelog): 配信停止まわりの改善

* lint: fix lint errors

* Update packages/frontend/src/pages/instance-info.vue

* lint: fix lint error

* chore: suspendedState => suspensionState

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-05-23 15:55:47 +09:00
Acid Chicken 611e303bab
feat(backend): add /healthz endpoint (#13834)
* feat(backend): add /healthz endpoint

* feat(backend): also check meilisearch status if available

* style: header

* chore: no-store

* chore: healthcheck.sh

* style: format
2024-05-23 15:19:52 +09:00
github-actions[bot] 8489d39372 Bump version to 2024.5.0-beta.2 2024-05-23 05:25:01 +00:00
syuilo 4ee4456e87
Merge branch 'develop' into release/2024.5.0 2024-05-23 14:24:10 +09:00
anatawa12 aafa669cf5
feat(frontend): 長いテキストをペーストした際にテキストファイルとして添付するかどうかを選択できるように (#13862)
* feat(frontend): ask if attach as file if clipboard text is very long

* docs(changelog): 長いテキストをペーストした際にテキストファイルとして添付するかどうかを選択できるように
2024-05-23 13:15:22 +09:00
syuilo ed432d06d7
New Crowdin updates (#13850)
* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)
2024-05-22 06:40:05 +09:00
Sayamame-beans c69de6b48c
fix(l10n): fix wrong description of server silence (#13857) 2024-05-21 20:43:00 +09:00
syuilo 4a3c01d198
Merge branch 'develop' into release/2024.5.0 2024-05-21 17:37:35 +09:00
syuilo 20c0bd9ddb happy-domにメモリリークがありそう 2024-05-21 17:29:02 +09:00
かっこかり 6a637db36b
enhance(frontend): 通常のノートでも、お気に入りに登録したチャンネルにリノートできるように (#13855)
* enhance(frontend): チャンネルにリノートできるように

* Update Changelog
2024-05-21 17:23:20 +09:00
かっこかり 126383dca2
deps: AiScript VSCodeのバージョンを上げる (#13851) 2024-05-21 15:07:37 +09:00
syuilo 3340631d43 Update about-misskey.vue 2024-05-21 13:35:32 +09:00
syuilo 37f2952af9 Update about-misskey.vue 2024-05-21 13:33:43 +09:00
anatawa12 7bde630820
/tags/user-tags が検索エンジンにインデックスされないように (#13847)
* chore(backend): noindex for tag search pages

* docs(changelog): `/tags` と `/user-tags` が検索エンジンにインデックスされないように

* chore: base.pug内でフラグでコントロールするように
2024-05-21 11:19:33 +09:00
syuilo 3fba7686f8
New Crowdin updates (#13500)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

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

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

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

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Polish)

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

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

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (English)

* 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 (Korean (Gyeongsang))

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Danish)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Uyghur)

* New translations ja-jp.yml (Lojban)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Haitian Creole)

* New translations ja-jp.yml (Kabyle)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

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

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

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

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Sinhala)

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

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

* 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 (Japanese, Kansai)

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

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

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

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

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

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

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

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Vietnamese)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (French)

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

* New translations ja-jp.yml (Italian)

* 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 Traditional)

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

* New translations ja-jp.yml (English)

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

* 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 (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

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

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Vietnamese)
2024-05-21 10:14:58 +09:00
Acid Chicken (硫酸鶏) 1d4e6393f3
ci: verify locale data (#13849)
* ci: verify locale data

* ci: separate workflows

* ci: missing installation
2024-05-21 10:10:59 +09:00
anatawa12 367bf0c8fc
fix: /share with unicode characters in the URL (#13846)
* fix: `/share` with unicode characters in the URL

* docs(changelog): `/share` で日本語等を含むurlがurlエンコードされない問題を修正
2024-05-20 23:21:11 +09:00
anatawa12 5836bd85df
fix: 複数idを指定するusers/showが関係ないユーザを返すことがある問題を修正 (#13765)
* fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正

* test: fix misskey js test

* chore: user/showがnullを返さないように

* chore: pass lambda instead of pushVisibleUser
2024-05-20 19:25:50 +09:00
anatawa12 ed74f7b4a8
ci: use pnpm version from packageManager field in the package.json. (#13825) 2024-05-20 18:55:42 +09:00
anatawa12 f6df94070b
Exclude channel notes from featured polls (#13838)
* feat(backend): add `channelId` to `MiPoll` as a Denormalized field

* feat(backend): option to exclude polls in channels

* chore: exclude channel notes from featured polls

* docs(changelog): みつけるのアンケート欄にてチャンネルのアンケートが含まれてしまう問題を修正

* fix: missing license header
2024-05-20 18:08:20 +09:00
anatawa12 4d0db37d2e
fix notification limit with exclude/include types (#13836)
* fix: /i/notificationsがsinceIdのみのときに正しく動かない問題

Fix #10902 again

* chore: use exclusive range to fetch data

* fix: フィルタによって通知が0件だった場合でもリトライするように

* docs(changelog): `/i/notifications`に includeTypes`か`excludeTypes`を指定しているとき、通知が存在するのに空配列を返すことがある問題を修正
2024-05-20 18:05:46 +09:00
anatawa12 acf84a2516
FTTが有効かつsinceIdのみを指定した場合に帰って来るレスポンスが逆順である問題を修正 (#13837)
* fix: FTTが有効かつsinceIdのみを指定した場合に帰って来るレスポンスが逆順である問題

* docs(changelog): FTTが有効かつsinceIdのみを指定した場合に帰って来るレスポンスが逆順である問題を修正
2024-05-20 08:28:28 +09:00
zyoshoka ba62b7378b
fix(storybook): fix wrong tabler-icons CSS path (#13828) 2024-05-18 18:52:17 +09:00
zyoshoka def7b8c55e
fix(frontend): fix Chromatic test fails (#13826)
* fix: attempt to fix Chromatic test fails

* chore: add comment
2024-05-18 12:42:26 +09:00
syuilo 9b0fc31751
Update FUNDING.yml 2024-05-14 19:18:30 +09:00
ふるふる 12ae9a2b23
feat: DevContainerにpnpmをインストールする際、corepackを使うようにする (#13821) 2024-05-13 11:19:19 +09:00
syuilo 6046ba1841
Merge pull request #13816 from misskey-dev/develop
developにマージされた分の追いつき用
2024-05-10 21:33:20 +09:00
おさむのひと f6af6d9679
fix(backend): UserEntityService.getRelationsの取得処理を軽量化 (#13811)
* fix(backend): UserEntityService.getRelationsの取得処理を軽量化

* rollback
2024-05-10 15:33:25 +09:00
おさむのひと b298897bde
fix(backend): 不要なUserProfileの取得を修正 (#13812)
* fix(backend): 不要なuserProfileの取得を修正

* fix: pnpm@9.0.6 to pnpm@9.1.0

* Revert "fix: pnpm@9.0.6 to pnpm@9.1.0"

This reverts commit eaf265ec2c.
2024-05-10 15:32:23 +09:00
tamaina 6e6bb5606b Merge branch 'develop' into release/2024.5.0 2024-05-07 14:38:53 +09:00
tamaina f5d57c02c7 dev: modify release manager to set indent type 2024-05-07 14:38:43 +09:00
tamaina 0fd06e3f0d fix 2024-05-07 11:07:16 +09:00
github-actions[bot] 313515c681 Bump version to 2024.5.0-beta.1 2024-05-07 01:45:00 +00:00
tamaina 455543b36e change package.json 2024-05-06 21:36:05 +09:00
github-actions[bot] 73a5b6cec9 Bump version to 2024.5.0-beta.0 2024-05-06 11:50:00 +00:00
syuilo c639f30d39 Update CHANGELOG.md 2024-05-06 20:41:39 +09:00
syuilo fc77ad9355 refactor(frontend): provide linkNavigationBehavior 2024-05-06 20:37:04 +09:00
syuilo 2b21c19362
update deps (#13624)
* update deps

* Update package.json

* update deps

* build: pass --strip-leading-paths to restore 0.2.x behavior (#13684)

* ✌️

* ✌️

* pureimageの代わりに@napi-rs/canvasを使う (#13748)

* pureimageの代わりに@napi-rs/canvasを使う

* remove writestream

* remove createtemp

* wip

* Update ClientServerService.ts

* update pnpm to 9.x

* update deps

* re: update pnpm to 9.x

* update node

* ✌️

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-05-04 20:56:14 +09:00
syuilo eef7fcdd45 chore(frontend): ui tweak 2024-05-04 19:40:17 +09:00
かっこかり 053e7626e4
enhance(frontend_ais): PostForm系の設定項目を追加 (#13788)
* enhance(frontend_ais): PostForm系の設定項目を追加

* Update Changelog
2024-05-04 13:21:40 +09:00
Kisaragi c530a46e54
enhance(backend): ドライブのファイルがNSFWかどうか個別に連合されるように (#13756)
* fix(backend): ノートのattachmentにおいて、attach.sensitiveが元から存在する場合はそれを尊重する

* docs: update changelog (per misskey-dev#13756)

* feat(backend,apub): renderDocumentがsensitiveを連合するようにする
per https://github.com/misskey-dev/misskey/issues/13755#issuecomment-2081303014

* chore(backend): 追加したコメントを削除

* docs: changelogをより丁寧にする

* docs: changelogの項目名をPRに合わせる

* docs: tweak

apply suggestion from mei23
2024-05-01 17:13:20 +09:00
zyoshoka 9c057e6854
fix(frontend): fix Storybook type errors (#13779)
* fix(frontend): fix Storybook type errors

* fix: `hasReduce` doesn't work in args
2024-05-01 16:39:16 +09:00
Daiki Mizukami d2a5bb39e3
Merge pull request from GHSA-2vxv-pv3m-3wvj
* fix: normalize incoming signed activities

* Tweak style

* Update CHANGELOG.md

* Log compacted activity as well

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-05-01 16:33:58 +09:00
taiy 9f66f22953
fix(frontend): 連合なしの状態の読み書きができない問題 (#13777)
* fix: 連合なしの状態の読み書きができない問題

* update changelog

* fix types: https://github.com/misskey-dev/misskey/pull/13777#discussion_r1585901601
2024-05-01 15:29:38 +09:00
syuilo ef630df443 enhance(frontend): add contact page 2024-05-01 14:12:36 +09:00
かっこかり 8c5e564066
fix type error 2024-05-01 13:52:59 +09:00
かっこかり 2017f9114f
refactor(frontend): 非ログイン画面でのmeta取得を減らす (#13776)
* refactor(frontend): 非ログイン画面でのmeta取得を減らす

* fix(frontend): サーバー供給のmetaとクライアントフォールバックで取れるmetaの型が違うのを修正

* force fetch meta at welcome.vue

* refactor
2024-05-01 13:51:00 +09:00
zyoshoka 2ff90a80d4
fix(backend): add detailed schema to fetch-rss endpoint (#13764) 2024-04-29 15:36:01 +09:00
syuilo e2ff5f58b2 lint 2024-04-28 10:54:20 +09:00
MeiMei c7d7da8fc5
AP Link等は添付ファイル扱いしないようになど (#13754)
* Linkは添付ファイルではない

* CHANGELOG
2024-04-28 10:53:33 +09:00
anatawa12 8e8ee2ac73
open links in abuse comment in new window (#13381)
* feat: changing MkA behavior from MkMFM

* chore: open links in abuse comment in new window

* docs(changelog): 通報のコメント内のリンクをクリックした際、ウィンドウで開くように

* chore: use inject instead of prop drilling

* Revert "chore: use inject instead of prop drilling"

This reverts commit b4dd14eacf.
2024-04-27 21:24:39 +09:00
anatawa12 fe1172fbb6
fix: ハイフンを含むリモート絵文字が描画されない (#13715) 2024-04-27 20:41:55 +09:00
ikasoba 20eb4bc296
Fix(backend): ActivityPubでのHTMLへのシリアライズを修正 (#13752)
* devモードでもActivityPub系エンドポイントへアクセスできるように

* ActivityPubでのHTMLのシリアライズを修正

* ハードコードしていたurlを`httpUrl`へ修正

* テストの追加
2024-04-27 20:26:55 +09:00
かっこかり 78e61c65be
fix(frontend_reversi): 共有ボタンの実装を改善 (#13750)
* fix(frontend_reversi): 共有ボタンの実装を改善

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-04-27 20:00:57 +09:00
かっこかり 7ce6a9bbaf
fix(frontend): グループ通知の人数をちゃんと数えるように (#13751)
* fix(frontend): グループ通知の人数をちゃんと数えるように

* Update Changelog
2024-04-27 19:59:30 +09:00
かっこかり cb5d8bdcdd
fix(backend): ページのOGP URLが違うのを修正 (#13749)
* fix(backend): ページのOGP URLが違うのを修正

* Update Changelog

* typo
2024-04-27 18:53:28 +09:00
かっこかり 0a31e132c7
fix(frontend): PlayのAiScriptランタイムが停止したときに画面が初期化されていない問題を修正 (#13747)
* fix(frontend): PlayのAiScriptランタイムが停止したときに画面が初期化されていない問題を修正

* fix

* Update Changelog

* typo
2024-04-27 16:48:04 +09:00
salano_ym f53e22d72c
add comma (#13746) 2024-04-27 16:12:00 +09:00
MeiMei 6abb8c4994
Merge pull request from GHSA-m9qf-3pfj-2r86
* Add Cache-Control to Bull Board

* CHANGELOG

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-04-27 12:57:00 +09:00
Cocoa Hoto 85339ca751
feat: improve emoji endpoint (#13742) 2024-04-25 11:03:34 +09:00
FineArchs 553ba84792
AiScriptのバージョンを0.18.0に上げる (#13743)
* Update package.json

* Update autogen files

* Update flash-edit.vue

* Update flash-edit.vue

* Update CHANGELOG.md

* revert
2024-04-25 10:34:26 +09:00
anatawa12 f9aed8f2bf
fix: 正規化されていない状態のhashtagが連合されてきたhtmlに含まれているとhashtagが正しくhashtagに復元されない問題を修正 (#13733) 2024-04-19 19:42:01 +09:00
おさむのひと cd7f7271ca
enhance: 新しいコンディショナルロール条件の実装 (#13732)
* enhance: 新しいコンディショナルロールの実装

* fix: CHANGELOG.md
2024-04-19 15:22:23 +09:00
かっこかり ea9aa6fdb4
🎨 (ページ表示部上部のボタン順序を変更)
Fix https://github.com/misskey-dev/misskey/pull/13724#discussion_r1568179954
2024-04-17 18:29:35 +09:00
anatawa12 e423b8ce4b
細かいミュートの処理の修正 (#13695)
* fix: some replies are removed from global timeline

* refactor: 各チャンネルのミュートとブロックの処理をまとめる

* fix: リノートをミュートでその人のノートのリノートをミュートしていたを修正

* refactor: isPureRenotePackedを他のところでも使う

* docs(changelog): CHANGELOGを更新

* test: withReplies = falseでフォローしてる人によるリプライが流れてくる

* test: ノートミュートしているユーザーの通常ノートのリノートが流れてくる/含まれる
2024-04-17 14:23:41 +09:00
かっこかり 977e2d2c09
enhance(frontend): フォローするかどうかの確認ダイアログを出せるように (#13723)
* feat(frontend): フォローするかどうかの確認ダイアログを出せるように

* Update Changelog
2024-04-17 10:53:16 +09:00
かっこかり 6f489b58a1
enhance(frontend): ページの表示部上部に編集リンクを追加 (#13724) 2024-04-17 10:48:42 +09:00
anatawa12 e9e877f64e
fix: ダイレクト投稿の宛先が保存されない (#13717)
* fix: ダイレクト投稿の宛先が保存されない

* fix: 同じユーザーが複数回宛先に追加できる問題

* fix: 関係ないユーザーが宛先に追加される可能性がある
2024-04-16 13:37:14 +09:00
anatawa12 ca0d148a78
ci: Check Misskey JS autogenを様々改善 (#13718) 2024-04-15 22:11:17 +09:00
MeiMei c687b4eaa5
fix(backend): nginx経由で/files/にRangeリクエストされた場合に正しく応答できないのを修正 (#13712)
* Fix files

* CHANGELOG
2024-04-15 09:28:09 +09:00
MeiMei b4faa7c4ec
chore: Use integrity for Redoc script (#13716)
* Use integrity for redoc scripts

* official?
2024-04-15 09:25:11 +09:00
かっこかり bba3097765
enhance: クリップのノート数を表示するように (#13686)
* enhance: クリップのノート数を表示できるように

* Update Changelog
2024-04-14 21:30:24 +09:00
zyoshoka 8c5d9a6295
fix(backend): incorrect logic for determining whether Quote or not (#13700)
* fix(backend): incorrect logic for determining whether Quote or not

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-04-14 10:23:48 +09:00
かっこかり 7cf0c18f83
fix(backend): FileServerServiceでレンジリクエストの場合に適切なレスポンスコードが返らない問題を修正 (#13701)
* return 206 for every ranged response - fixes #494

(cherry picked from commit 92eec2178fd103e9ea2bcd646aacab1fb496a33b)

* detect size of remote files - fixes #494

without this, remote files are assumed to have size 0 (even if we just
downloaded them!) and the range-related code won't run

(cherry picked from commit 960f4fcff78a1f019c9a9377853fcd90dbfb7575)

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2024-04-14 10:22:03 +09:00
anatawa12 48a7679b8a
test: do not use indexedDB in cypress environment due to chrome bug (#13709) 2024-04-14 08:08:26 +09:00
かっこかり 5c7c44c9eb
fix(backend): 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように (#13703)
* fix(backend): 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように (MisskeyIO#606)

(cherry picked from commit 6b7df2bd10)

* Update Changelog

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-04-13 20:38:25 +09:00
かっこかり f5100cc81f
feat(frontend): アップロードするファイルの名前をランダム文字列にできるように (#13688)
* feat(frontend): アップロードするファイルの名前をランダム文字列にできるように

* Update Changelog

* refactor

* 設定項目を移動

* fix

* 「オリジナルのファイル名を保持」に変更

* 拡張子を付加するように
2024-04-13 12:51:37 +09:00
syuilo eb1ef1484a enhance(frontend): add link of 2fa guide 2024-04-09 20:52:29 +09:00
1Step621 7586ef7ba8
fix(frontend): MkDialogのinputで字数制限に違反していてもEnterキーが押せてしまうのを修正 (#13677)
* MkDialogのinputで字数制限に違反していてもEnterキーが押せてしまうのを修正

* update CHANGELOG.md
2024-04-09 14:20:00 +09:00
Srgr0 b322f55c87
dev: fix misskey-tga (#13312)
* Update deploy-test-environment.yml

* Update deploy-test-environment.yml

* use github.repository

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-04-08 22:41:26 +09:00
zyoshoka 960c4df48e
enhance(frontend): better condition for posting and displaying Notes (#13670)
* enhance(frontend): better condition for posting and displaying Notes

* Update CHANGELOG.md
2024-04-07 21:16:37 +09:00
zyoshoka 959cc8ff37
refactor(general): use Date.now() instead of creating a new Date instance (#13671) 2024-04-07 21:14:13 +09:00
かっこかり 2f8fb105a5
fix(deps): aiscript-vscodeのインストール中にWARNが出るのを修正 (#13661) 2024-04-05 15:59:43 +09:00
おさむのひと efa42a1624
fix(backend): バックエンドのpnpm devによるビルド後にbuild-assetsを行うようにする (#13659)
* moveto scripts

* add scripts/dev.mjs
2024-04-04 22:25:28 +09:00
Jorge c4fc582469
Merge pull request from GHSA-fpvp-74wx-35p3
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-04-03 13:02:36 +09:00
かっこかり b4b47d85cf
refactor(frontend): use scrollX or scrollY (#13645) 2024-04-01 20:44:24 +09:00
かっこかり 61978cb4ca
fix(frontend): ページデザインの修正 (#13642) 2024-03-31 14:16:42 +09:00
かっこかり efafa02f68
enhance(backend): ビデオファイルにビデオトラックがあるかを確認するように (#13568)
* enhance(backend): ビデオファイルにビデオトラックがあるかを確認するように

(cherry picked from commit 23d38a2d6492a2b24e9b2c031d66c3e8a5d382ef)

* Update Changelog

* Update Changelog

* Revert "Update Changelog"

This reverts commit 93fd996932.

* fix(test) ffmpegをインストールするように

* 入れる方間違えた

* fix test

* 拡張子変わらなかったのでそのまま行く

* ログを出力するように

* msg

* remove unused import

* add log

* attempt to fix test error

* Revert "attempt to fix test error"

This reverts commit d9d6524cad.

* Update FileInfoService.ts

* oggも検査の対象にする
2024-03-31 12:43:39 +09:00
Zero King 0f2e651331
fix(frontend): remove duplicate CSS declaration (#13640) 2024-03-31 10:43:28 +09:00
1Step621 d4ca973e34
Enhance(frontend): もっと!ボタンでリアクション一覧が開けるように (#12935)
* もっと!ボタンでリアクション一覧が開けるように

* update CHANGELOG.md && デバッグ用に最大リアクション表示数を1にしてたのを一応戻した

* fix

* デザイン調整

* maxNumberもどす

* fix CHANGELOG

* fix

* move changelog

* 🎨

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-30 20:30:22 +09:00
かっこかり b96d9c6973
fix/enhance(frontend): 映像・音声周りの改修 (#13206)
* enhance(frontend): 映像・音声周りの改修

* fix

* fix design

* fix lint

* キーボードショートカットを整備

* Update Changelog

* fix

* feat: ループ再生

* ネイティブの動作と同期されるように

* Update Changelog

* key指定を消す
2024-03-30 16:02:03 +09:00
かっこかり 50da7d2a27
enhance(frontend): 2要素認証セットアップウィザードにアプリを起動するボタンを新設 (#13636)
* enhance(frontend): 2要素認証セットアップウィザードにアプリを起動するボタンを新設

* add comment

* use css module
2024-03-30 15:34:05 +09:00
おさむのひと 2a851437ff
fix: misskey-js、bubble-game、reversiのビルドをesbuildに統合する (#13600)
* fix: ビルドが遅いパッケージのビルド速度を改善

* dependenciesの整理

* fix ci

* ビルド開始時に古いファイルを消す

* fix ci

* fix ci
2024-03-30 15:28:19 +09:00
zyoshoka b35ae97ba7
fix(backend): better notes/translate error response (#13631)
* fix(backend): better `notes/translate` error response

* Update CHANGELOG.md

* test(backend): perform administrative operations as `root`

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-30 13:51:53 +09:00
Nila f3500ffda9
fix: report progress out of 100% in CleanRemoteFilesProcessorService (#13633)
* Report progress out of 100% in CleanRemoteFilesProcessorService

* Add changelog entry
2024-03-30 10:28:47 +09:00
かっこかり f90be427f5
fix(frontend): 「今日誕生日のフォロー中ユーザー」ウィジェットが正しく動作しない問題を修正 (#12835)
* (fix) タイムゾーンによっては誕生日のフォロー中ユーザーが正しく読み込まれない

* 文言をわかりやすく

* Update Changelog

* (add) reload button

* Update CHANGELOG.md

* run misskey-js

* fix

* Revert "文言をわかりやすく"

This reverts commit c5ab641956.

* Update packages/frontend/src/widgets/WidgetBirthdayFollowings.vue

* Update packages/frontend/src/widgets/WidgetBirthdayFollowings.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-25 18:31:30 +09:00
かっこかり 8f415d69cd
fix(generator): APIクライアントのパスにoperationIdが使われる問題を修正 (#13622) 2024-03-25 12:11:10 +09:00
zyoshoka a1bc8fa77b
test(backend): fix streaming test error when replying to followers-only note (#13618) 2024-03-24 16:46:52 +09:00
zyoshoka 539718f6a8
fix(misskey-js): fix ESLint error in generator due to operationId change (#13619) 2024-03-24 16:46:15 +09:00
syuilo 3db26f2b94 fix(backend): fix openAPI operationId format 2024-03-23 20:43:29 +09:00
かっこかり 6bd78770de
enhance(frontend): リアクション受け入れがいいねのみの場合はボタンホバーでツールチップが出るように (#13613) 2024-03-22 18:21:14 +09:00
かっこかり c9c6424205
enhance(frontend): TOTPの入力ダイアログを改良 (#13607)
* enhance(frontend): TOTPの入力ダイアログを改良

* Update Changelog
2024-03-22 15:03:21 +09:00
tamaina 40bb6069ec fix(frontend): URLプレビューのto/hrefがない問題を修正
Fix of 9ae577871b (diff-cfa02e203bdbd03dbf312a889f009ca7f9ebd8376334ebd74c4961b716b22d93)
2024-03-22 08:54:34 +09:00
おさむのひと 831c74a25b
fix: URLプレビューの動作改善+動作設定を可能にする (#13579)
* wip

* support new version

* URLプレビュー無効化時、フロント側も非表示にしてリクエストをしないようにする

* fix lint

* fix lint

* tweak preview request error handles

* fix: CHANGELOG.md

* fix

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-21 18:46:42 +09:00
かっこかり f4838e50b4
enhance(antenna): Botの投稿を除外できるように (#13603)
* enhance(antenna): Botの投稿を除外できるように (MisskeyIO#545)

(cherry picked from commit a95ce067c6)

* Update Changelog

* remove translations

* spdx

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-03-21 07:51:01 +09:00
syuilo 7795045b23 Update about-misskey.vue 2024-03-20 20:01:56 +09:00
かっこかり ca2df14a8f
fix(frontend): woodenPanelの配色を修正 (#13561)
* fix(frontend): woodenPanelの配色を修正

* fix
2024-03-20 13:10:09 +09:00
Gianni Ceccarelli d7bb6c88d3
Cypress typescript (#13591)
* convert Cypress tests to TypeScript

this work was done by @lunaisnotaboy https://github.com/lunaisnotaboy
for their fork https://github.com/cutiekey/cutiekey/pull/7

I just repacked their changes into a minimal set

* fix call to `window` in cypress tests

this error was spotted thanks to the TypeScript compiler:

```
support/commands.ts:33:12 - error TS2559: Type '(win: any) => void'
has no properties in common with type 'Partial<Loggable &
Timeoutable>'.

33  cy.window(win => {
              ~~~~~~~~

Found 1 error in support/commands.ts:33
```

(again, @lunaisnotaboy did the actual work)
2024-03-20 11:25:49 +09:00
おさむのひと 115d91812e
fix(frontend): shikiの言語・テーマの定義ファイルをCDN(esm.sh)から取るようにする (#13598)
* fix(frontend): shikiの言語・テーマの定義ファイルをCDN(esm.sh)から取るようにする

* fix CHANGELOG.md
2024-03-20 10:30:45 +09:00
かっこかり 5f6863b77e
Add missing credit (for #13586) 2024-03-18 19:04:20 +09:00
かっこかり 0226a670dd
fix(backend): ユーザーやノートのOGPでローカルとリモートユーザーの見分けが付かない問題を修正 (#13586)
* enhance(OGP): ユーザーやノートのOGPでローカルとリモートユーザーの見分けが付かない問題を修正 (MisskeyIO#528)

(cherry picked from commit 0c3de462d9)

* Update Changelog

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-03-18 18:34:31 +09:00
かっこかり 067cdf3ce4
enhance(frontend): ページのデザインを調整 (#13590)
* enhance(frontend): ページのデザインを調整

* 共有ボタンを直感的な導線に変更

* Update Changelog

* Update packages/frontend/src/components/page/page.image.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-18 18:21:27 +09:00
かっこかり a38646bd0f
fix(backend): フォローリクエストを作成する際に既存のものは削除するように (#13588)
* fix: delete old follow request (if exists) before creating new

(cherry picked from commit ea948ccadc7eace1fcace176c9c070b2a9b46f56)

* Update Changelog

* Update Changelog

---------

Co-authored-by: Kaity A <kaity@atikayda.au>
2024-03-18 14:20:28 +09:00
かっこかり b65203c9f8
fix(frontend): WebGL2コンテキストの初期化に失敗するとMisskeyが起動できなくなる問題を修正 (#13587)
* Fixed startup crash with seasonal effects

(cherry picked from commit eba0c2cc61512db22109e2f15604eb65f5b7d2f2)

* Update Changelog

* Update Changelog

---------

Co-authored-by: Leah <kevinlukej@gmail.com>
2024-03-17 20:33:33 +09:00
BackRunner dcfab918e9
feat: send heartbeat right after visibility changed to 'visible' (#13581) 2024-03-17 18:47:29 +09:00
syuilo 282cfae1b2 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-03-17 10:34:15 +09:00
syuilo 7e63ab0f56 refactor(backend): refactor chart engine 2024-03-17 10:34:13 +09:00
zyoshoka 4b1ca9ef61
fix(general): flash/createでPlayの公開範囲を指定できない問題の修正と編集画面の調整 (#13574)
* fix(backend): param `visibility` wasn't included in `flash/create`

* fix(frontend): tweak flash editor ui

* Update CHANGELOG.md
2024-03-15 22:02:57 +09:00
tamaina 71d0538647 fix(frontend): update locales/index.d.ts 2024-03-14 18:18:32 +09:00
tamaina 8604bd9807 fix(dev): vscode-jest: Deprecated: Please use jest.runMode instead. 2024-03-14 17:42:30 +09:00
tamaina 75fa43bc59 fix(dev): fix duplication in .vscode/extensions.json 2024-03-14 17:39:38 +09:00
FineArchs 88d47ab024
プラグインの簡易的なログを表示する機能 (#13564)
* add plugin logging

* change variable name

* Update plugin.ts

* Update CHANGELOG.md
2024-03-13 22:38:26 +09:00
zyoshoka 29f6ba6310
chore: add missing SPDX ID and workflow check (#13570)
* chore: add workflow which checks if SPDX ID exists

* chore: add missing SPDX ID in some files

* chore: change trigger condition

* chore: trigger on push

* lint
2024-03-13 22:37:18 +09:00
おさむのひと 5c1d86b796
refactor(backend): UserEntityService.packMany()の高速化 (#13550)
* refactor(backend): UserEntityService.packMany()の高速化

* 修正
2024-03-12 14:31:34 +09:00
anatawa12 6d9c234cb6
fix: URL preview popup for local URL appears in the upper left corner (#13555) 2024-03-12 13:50:24 +09:00
かっこかり b280faa8e7
enhance(frontend): 各サーバーはMisskeyを利用したサービスであることを強調 (#13559)
* ロゴ周りを追加

* 調整

---------

Co-authored-by: uboar <10250330+uboar@users.noreply.github.com>
2024-03-12 13:48:14 +09:00
かっこかり e23e2f4ae9
Fix Changelog 2024-03-12 12:09:26 +09:00
yupix 6b676a928d
enhance(backend): antennas/updateの必須項目をantennaIdのみに (#13542)
* refactor: antennas/updateの必須項目を最小限に

* fix: userListIdがnullにできない
2024-03-10 17:31:39 +09:00
FineArchs e4eaf1220e
Update example.yml (#13551) 2024-03-09 17:55:41 +09:00
syuilo dbc4fd3e93 Update about-misskey.vue 2024-03-09 15:40:21 +09:00
syuilo db29680e74 chore(dev): remove deprecated vscode plugins 2024-03-09 15:31:21 +09:00
tamaina 45d1af23bb Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-03-09 04:10:21 +00:00
tamaina 1b064d7e30 chore(backend): validateNoteの結果Errorはそのままthrowする
理由がわからないため
2024-03-09 04:10:17 +00:00
かっこかり 27f823e882
enhance(frontend): リアクションの総数を表示するか設定で選べるように (#13539)
* enhance(frontend): リプライ・リノート・リアクションの総数を表示するか設定で選べるように (MisskeyIO#512)

(cherry picked from commit 3c8475e5ac)

* fix: いいねのみの場合は強制的にカウント表示

* make `showReactionsCount` default false

* リアクションだけ

* けしわすれ

* けしわすれ2

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-03-08 18:13:09 +09:00
かっこかり f4a5740412
fix(frontend): 周年の実績が閏年を考慮するように (#13525)
* fix(frontend): 周年の実績が閏年を考慮するように

* まちがえた

* Update Changelog

* 変数の定義回数を減らす
2024-03-07 17:21:57 +09:00
かっこかり c680e35aa0
enhance(frontend): 広告が同一ドメインの場合はRouterで遷移するように (#13510)
* enhance(frontend): 広告が同一ドメインの場合はRouterで遷移するように

* Update Changelog

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-07 16:36:06 +09:00
zyoshoka 412e9f284d
test(backend): enable typecheck by workflow (#13526) 2024-03-07 09:51:57 +09:00
かっこかり 7ead98cbe5
enhance(frontend): リアクションの総数を表示するように (#13532)
* enhance(frontend): リアクションの総数を表示するように

* Update Changelog

* リアクション選択済の色をaccentに
2024-03-06 21:08:42 +09:00
tamaina 62922352b3 Revert "perf: boot.jsの調整"
This reverts commit 00c1e4eb55.
2024-03-06 09:49:01 +00:00
tamaina 00c1e4eb55 perf: boot.jsの調整 2024-03-06 09:40:47 +00:00
tamaina 4457b02db2 fix(frontend)?: importAppScriptはimportをawaitするように 2024-03-06 08:08:32 +00:00
かっこかり 08d618bb8b
enhance(frontend): 自分のノートの添付ファイルから直接ファイルの詳細ページに飛べるようにする (#13520)
* enhance(frontend): 自分のノートの添付ファイルから直接ファイルの詳細ページに飛べるようにする

* 他のファイルタイプにも対応

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-05 18:06:57 +09:00
かっこかり 45672a70f9
fix(frontend): router遷移時にmatchAllに入った場合一度location.hrefを経由するように (#13509)
* fix(frontend): router遷移時にmatchAllに入った場合一度`location.href`を経由するように

* Update Changelog

* Update CHANGELOG.md

* remove unnecessary args
2024-03-05 17:27:33 +09:00
tamaina 83a5bc0ecd
doc: Nestで循環依存がある場合のCONTRIBUTING.mdに書く (#13522)
* doc: Nestモジュールテストの例をCONTRIBUTING.mdに書く

* rm normal test

* forwardRef
2024-03-05 14:26:16 +09:00
tamaina 13f5fafdbc remove template txt 2024-03-04 10:39:43 +00:00
かっこかり 96ab1af03b
Update CHANGELOG.md 2024-03-04 16:09:24 +09:00
tamaina 9542cb8d62
fix(backend): リモートサーバーの情報が更新できなくなっていた問題を修正 (#13507)
* fix(backend): fetchInstanceMetadataのLockが永遠に解除されない問題を修正

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

* fix test

* fix

* comment

* comment

* improve test

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-03-04 13:48:57 +09:00
tamaina 983480131b
chore: Automated release (#13075)
* chore: Automated release

* follow
2024-03-04 12:54:13 +09:00
zyoshoka 38837bd388
test(backend): refactor tests (#13499)
* test(backend): refactor tests

* fix: failed test
2024-03-03 20:15:35 +09:00
syuilo efda2e9baa
Update README.md 2024-03-02 18:34:49 +09:00
syuilo 78ff90f2cc
Merge pull request #13493 from misskey-dev/develop
Release: 2024.3.1
2024-03-02 17:06:46 +09:00
syuilo 3afdafed61 2024.3.1 2024-03-02 17:06:01 +09:00
tamaina 2744cbd310 fix(frontend): MkCustomEmojiでフォールバックをテキストか画像か選べるように
fix of #13487
2024-03-02 07:05:17 +00:00
おさむのひと b83cbc6d4d
Update CHANGELOG.md 2024-03-02 13:39:49 +09:00
おさむのひと 21e3a91393
Update CHANGELOG.md 2024-03-02 13:35:33 +09:00
syuilo ecc5decaa5
New Crowdin updates (#13489)
* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)
2024-03-02 13:28:22 +09:00
おさむのひと 32690f576f
fix(frontend): ピン留め or 履歴に表示されるカスタム絵文字がサーバから削除されるとリアクションが出来なくなる (#13486)
* fix(frontend): ピン留めに登録されているカスタム絵文字がサーバから削除されるとリアクションが出来なくなる

* fix CHANGELOG.md

* fix Unicode Emojis

* fix Unicode Emojis

* fix
2024-03-02 13:28:10 +09:00
tamaina 114d3319e8
chore(client): 絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 (#13487) 2024-03-02 13:26:21 +09:00
Acid Chicken (硫酸鶏) f704891932
fix: emoji colorization 2024-03-02 05:53:43 +09:00
syuilo 7e706ea669
Merge pull request #13447 from misskey-dev/develop
Release: 2024.3.0
2024-03-01 21:17:01 +09:00
syuilo fe5efd926e
New translations ja-jp.yml (Chinese Traditional) (#13480) 2024-03-01 21:00:43 +09:00
syuilo ba9d47fb69 2024.3.0 2024-03-01 20:22:06 +09:00
tamaina eb60460d28
enhance: 禁止ワードチェック強化 (#27)
* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve https://github.com/misskey-dev/misskey/issues/13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment
2024-03-01 20:16:32 +09:00
syuilo d1bf432e14 add missing license headers 2024-03-01 17:28:46 +09:00
syuilo 4c6fc15858 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-03-01 17:27:11 +09:00
syuilo 6158ef138e format 2024-03-01 17:27:03 +09:00
syuilo 5904d98208
Update packages/backend/test/e2e/mute.ts
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-03-01 17:26:27 +09:00
syuilo ca6399437c format 2024-03-01 17:26:13 +09:00
syuilo 5befd66e21 Update CHANGELOG.md 2024-03-01 17:25:54 +09:00
syuilo 16440d6be2
Update CHANGELOG.md
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-03-01 17:24:59 +09:00
syuilo 2f31606eff update deps 2024-03-01 14:16:44 +09:00
syuilo 14a3af679d update deps 2024-03-01 14:06:34 +09:00
syuilo 033d71ee28 update deps 2024-03-01 13:52:39 +09:00
syuilo b55b77c8ae update pnpm 2024-03-01 13:52:23 +09:00
syuilo 59f80c08ea
New Crowdin updates (#13478)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)
2024-03-01 12:07:25 +09:00
syuilo a74406677c fix packedRoleCondFormulaValueAssignedRoleSchema 2024-03-01 12:03:33 +09:00
tamaina 593358ed3f Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-29 11:49:49 +00:00
tamaina bc30dc6bff refactor: remove export of unicodeEmojisMap 2024-02-29 11:49:40 +00:00
syuilo 01f55a9d59
Update CHANGELOG.md 2024-02-29 20:48:48 +09:00
Yuriha 26d4c5fd94
メンションの最大数をロールごとに設定可能にする (#13343)
* Add new role policy: maximum mentions per note

* fix

* Reviewを反映

* fix

* Add ChangeLog

* Update type definitions

* Add E2E test

* CHANGELOG に説明を追加

---------

Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
2024-02-29 20:48:02 +09:00
tamaina b9bcceddfc Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-29 11:47:30 +00:00
tamaina 7565f7bec6 fix(client): use colorizeEmoji when unicodeEmojisMap.get 2024-02-29 11:47:24 +00:00
syuilo 6365805687
New Crowdin updates (#13359)
* 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 (Korean)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* 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 (Japanese, Kansai)

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

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

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

* 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 (Chinese Simplified)

* New translations ja-jp.yml (Thai)

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

* 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 (Chinese Traditional)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (Thai)

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

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

* New translations ja-jp.yml (Chinese Traditional)
2024-02-29 20:44:32 +09:00
syuilo 1205d30657
Update CHANGELOG.md 2024-02-29 20:42:58 +09:00
zyoshoka 16f16e6b08
fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (#13477)
* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように

* Update CHANGELOG.md

* test(backend): `notes/create`とWebSocket関連のテストを追加
2024-02-29 20:42:02 +09:00
かっこかり 39d6af135f
enhance: 通知の履歴をリセットできるように (#13335)
* enhance: 通知の履歴をリセットできるように

* Update Changelog

* 通知欄も連動して更新するように

* revert some changes

* Update CHANGELOG.md

* Remove unused part

* fix
2024-02-29 20:03:30 +09:00
syuilo ec18991328 Update scroll.test.ts 2024-02-29 19:44:00 +09:00
syuilo 9d0fc96d1a fix test 2024-02-29 18:04:03 +09:00
syuilo 98934b6738 fix type 2024-02-29 17:54:32 +09:00
syuilo 920c3be750 update deps 2024-02-29 11:10:03 +09:00
syuilo 797bb493ab
Update CHANGELOG.md 2024-02-29 10:20:37 +09:00
taichan 5f43c2faa2
enhance(backend): 通知がミュート・凍結を考慮するようにする (#13412)
* Never return broken notifications #409

Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.

(cherry picked from commit 421f8d49e5d7a8dc3a798cc54716c767df8be3cb)

* Update Changelog

* Update CHANGELOG.md

* enhance: 通知がミュートを考慮するようにする

* enhance: 通知が凍結も考慮するようにする

* fix: notifierIdがない通知が消えてしまう問題

* Add tests (通知がミュートを考慮しているかどうか)

* fix: notifierIdがない通知が消えてしまう問題 (grouped)

* Remove unused import

* Fix: typo

* Revert "enhance: 通知が凍結も考慮するようにする"

This reverts commit b1e57e571d.

* Revert API handling

* Remove unused imports

* enhance: Check if notifierId is valid in NotificationEntityService

* 通知作成時にpackしてnullになったらあとの処理をやめる

* Remove duplication of valid notifier check

* add filter notification is not null

* Revert "Remove duplication of valid notifier check"

This reverts commit 239a6952f7.

* Improve performance

* Fix packGrouped

* Refactor: 判定部分を共通化

* Fix condition

* use isNotNull

* Update CHANGELOG.md

* filterの改善

* Refactor: DONT REPEAT YOURSELF
Note: GroupedNotificationはNotificationの拡張なのでその例外だけ書けば基本的に共通の処理になり複雑な個別の処理は増えにくいと思われる

* Add groupedNotificationTypes

* Update misskey-js typedef

* Refactor: less sql calls

* refactor

* clean up

* filter notes to mark as read

* packed noteがmapなのでそちらを使う

* if (notesToRead.size > 0)

* if (notes.length === 0) return;

* fix

* Revert "if (notes.length === 0) return;"

This reverts commit 22e2324f96.

* 🎨

* console.error

* err

* remove try-catch

* 不要なジェネリクスを除去

* Revert  (既読処理をpack内で行うものを元に戻す)

* Clean

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

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

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

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

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

* Clean

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
Co-authored-by: kakkokari-gtyih <daisho7308+f@gmail.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-28 21:26:26 +09:00
zyoshoka 29350c9f33
refactor(frontend): os.ts周りのリファクタリング (#13186)
* refactor(frontend): `os.ts`周りのリファクタリング

* refactor: apiWithDialogのdataの型付け

* refactor: 不要なas anyを除去

* refactor: 返り値の型を明記、`selectDriveFolder`は`File`のほうに合わせるよう返り値を変更

* refactor: 返り値の型を改善

* refactor: フォームの型を改善

* refactor: 良い感じのimportに修正

* refactor: フォームの返り値の型を改善

* refactor: `popup()`の`props`に`ref`な値を入れるのを許可するように

* fix: `os.input`系と`os.select`の返り値の型がおかしい問題とそれによるバグを修正

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-28 18:26:38 +09:00
zyoshoka 664aeb3ced
fix(backend): リノート時のHTLへのストリーミングの意図しない挙動を修正 (#13425)
* fix(backend): リノート時のストリーミングの意図しない挙動を修正

* Update CHANGELOG.md

* fix: 不要な返り値

* fix: 不適切な条件分岐を修正

* test(backend): add htl tests

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-28 17:43:17 +09:00
okayurisotto b7d9d16201
refactor(backend): ノートのエクスポート処理でStreams APIを使うように (#13465)
* refactor(backend): ノートのエクスポート処理でStreams APIを使うように

* fixup! refactor(backend): ノートのエクスポート処理でStreams APIを使うように

`await`忘れにより、ジョブがすぐに完了したことになり削除されてしまっていた。
それによって、`NoteStream`内での`updateProgress`メソッドの呼び出しで、`Missing key for job`のエラーが発生することがあった。

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-28 15:34:58 +09:00
zyoshoka 0d47877db1
enhance(backend): フォロー・フォロワー関連の通知の受信設定の強化 (#13468)
* enhance(backend): 通知の受信設定に「フォロー中またはフォロワー」を追加

* fix(backend): 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正

* Update CHANGELOG.md
2024-02-28 09:49:34 +09:00
zawa-ch f906ad6ca7
Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加 (#13463)
* コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加

* コメント修正
2024-02-27 18:45:46 +09:00
zyoshoka 0fb7b98f96
fix(backend): fix incorrect schemas (#13458) 2024-02-26 19:49:12 +09:00
zyoshoka 0a0af6887a
test(frontend): Chromaticテストが落ちるのを修正 (#13448)
* test(frontend): Chromaticテストが落ちるのを修正

* fix: テストケースを修正

* refactor: comment
2024-02-25 18:06:40 +09:00
FineArchs dd48366ed8
admin/emoji/updateの必須項目を減らす 等 (#13449)
* admin/emoji/update enhancement

* add CustomEmojiService.getEmojiByName

* update endpoint

* fix

* Update update.ts

* Update autogen files

* type assertion

* Update CHANGELOG.md
2024-02-25 18:06:26 +09:00
tamaina 2c6f25b710
fix: 古いキャッシュを使うのを修正 (#13453) 2024-02-25 12:36:10 +09:00
zyoshoka 792168fdfa
fix(frontend): userActivationがない環境において不具合が生じる問題を修正 (#13451) 2024-02-24 18:06:10 +09:00
syuilo 41747b6ee2 refactor 2024-02-24 11:50:10 +09:00
1Step621 e3dd3f6b63
Enhance(frontend): リアクションピッカーを調整 (#13354)
* 打てない絵文字を表示しないのではなくグレーアウトするように など

* fix: 今度は検索とピン留めに効いてなかった

* lint fix

* use Map

* 斜めに線を引いてわかりやすく

* 斜め線は右上からのほうが良かったかも

* デザイン調整
2024-02-24 10:22:23 +09:00
tamaina c0156b740b
enhance?: DeleteAccountServiceでユーザーを削除する際にuserChangeDeletedStateを発行する (#13382) 2024-02-23 18:15:39 +09:00
かっこかり d834232232
enhance(games): 抜けている翻訳を追加・スタイル共通化 (#13434)
* enhance(games): 抜けている翻訳を追加・スタイル共通化

* frameDivider の使用箇所が見当たらなかったので削除

* ミス

* インナーでもcss変数を使う

* コロンを翻訳から外す

* 一部の翻訳を除去

* p

* revert some text

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-23 18:07:41 +09:00
tamaina 600d91beda
enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (#13388)
* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる

* nanka meccha kaeta

* ブロックチェックの後にフォロー関係の存在チェックをする
2024-02-23 18:04:30 +09:00
okayurisotto a861f913a7
fix(backend): より多くの人に使われているハッシュタグが検索結果上位に来るように (#11498) (#13340) 2024-02-23 18:02:12 +09:00
tamaina b8d8b359bc
fix: プッシュ通知の変更が1時間ほど反映されない問題を修正 (#13407)
* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正

* 410 to refresh

* refreshCache
2024-02-23 17:19:08 +09:00
1Step621 a85fccaeea
Fix(frontend): 絵文字オートコンプリートの優先順位がおかしいのを修正 (#13423)
* 絵文字オートコンプリートの優先順位がおかしいのを修正

* update CHANGELOG.md

* テストを追加

* lint fix
2024-02-23 17:01:42 +09:00
かっこかり 30fe072606
fix(test): Chromaticが落ちているのを一部修正? (#13435)
* fix(test): Chromaticが落ちているのを修正?

* いらん変更をけす

* 未来過ぎた
2024-02-23 14:13:46 +09:00
okayurisotto 64953fadc9
refactor(backend): Array.prototype.filterでの非null確認ではisNotNull関数を使うように (#13442)
* `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように

* `{}` -> `NonNullable<unknown>`
2024-02-23 14:12:57 +09:00
かっこかり 080a3c20bd
fix: SSR時のmetaをエスケープするように (#13440)
* fix: SSR時のmetaをエスケープするように

* エスケープ方法を変更
2024-02-23 14:10:13 +09:00
かっこかり d20542c495
enhance: metaをSSR HTMLに埋め込む (#13436)
* enhance: `meta`をSSR HTMLに埋め込む

* HTML Metaの有効時間を指定

* 1時間

* MetaEntityService

* JSONをPackするように

* ✌️

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-23 10:47:17 +09:00
FineArchs bf5952fd63
flash/update で部分的に変更できるようにする (#13396)
* make flash/update params optional

* Update autogen files

pnpm run build-misskey-js-with-types

* Update update.ts

* Update CHANGELOG.md

* hasOwnProperty -> hasOwn

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-22 21:31:57 +09:00
tamaina 4d6fab06de
refactor: Refactor NoteReadService.read (#13429)
* refactor: Refactor NoteReadService.read

* clean up

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-22 21:10:28 +09:00
syuilo 2bd9f05a92 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-22 20:59:57 +09:00
syuilo 26c8b53f70 enhance: サーバーごとにモデレーションノートを残せるように 2024-02-22 20:59:52 +09:00
anatawa12 b36e6b1a77
fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (#13428)
* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError

* fix: notes with prohibited words are reprocessed with delay

* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題

* lint: fix lint errors

* fix: rethrowするべきなのにrethrowし忘れていたのを修正
2024-02-22 00:59:59 +09:00
anatawa12 e10ce7204c
fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題 (#13349)
* fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題

* docs(changelog): previewの中のユーザメンションをホバーした状態で投稿を編集するとユーザの情報popupが消えない問題を修正

* docs(changelog): ユーザの情報のポップアップが消えなくなることがある問題を修正
2024-02-21 20:15:04 +09:00
syuilo fb0eb5a31f 🎨 2024-02-21 18:35:05 +09:00
tamaina ae27085f69
fix: Bump sharp to 0.33.2 (#13391) 2024-02-21 14:42:37 +09:00
okayurisotto 750d262604
refactor(backend): ReactionService.prototype.convertLegacyReactions (#13375)
* add unit tests

* cleanup unnecessary type assertions

* `convertedReaction`変数の定義と変換表に対する存在確認処理の整理

* `count`変数の定義とループ処理での`Object.entries()`の活用

* 条件式の整理

* `Array.prototype.reduce`を使うように

* `Array.prototype.reduce`を使うように

* 配列操作を1つのメソッドチェーンに整理

これまでの実装では、`decodeReaction`の返り値が同一になる異なる入力値が同時に複数個存在した場合、後ろのもので上書きされてしまっていたはず。
これからの実装では、後ろのものは前のものに加算される。
(実際にこの挙動の変更が問題になるシチュエーションはまずないはず。)

* add unit test

* ドキュメントコメントの追加と型定義の調整
2024-02-21 14:31:50 +09:00
かっこかり bbbb16795d
refactor(frontend): 不必要なconsole.logを除去・抑制 (#13400)
* refactor(frontend): 不必要なconsole.logを除去

* Update MkCode.core.vue

* Update game.board.vue
2024-02-21 14:27:06 +09:00
zyoshoka f18a31c628
fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正 (#13379)
* fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正

* Update CHANGELOG.md

* Update CHANGELOG.md
2024-02-20 15:26:11 +09:00
zyoshoka 39c4e3a4f5
fix(frontend): チャートのラベルが消えている問題を修正 (#13416)
* fix(frontend): チャートのラベルが消えている問題を修正

* Update CHANGELOG.md
2024-02-20 14:00:57 +09:00
Sayamame-beans ddd7b26f1c
enhance(frontend): ノート作成画面の添付メニューのdividerの位置を"添付取り消し"の上にする (#13409)
* enhance(frontend): change divider position for MkPostFormAttaches

* docs(changelog): update
2024-02-20 11:59:49 +09:00
かっこかり 9be3890827
Fix Changelog 2024-02-19 17:52:55 +09:00
1Step621 034f47205e
Fix(frontend): オートコンプリートが出るべき状況で出ないことがあるのを修正 (#13376)
* オートコンプリートが出るべき状況で出ないことがあるのを修正

* update CHANGELOG.md
2024-02-19 08:36:06 +09:00
anatawa12 1b1046bcdb
fix: syuilo/misskey時代から使用してるサーバーが改変したバージョンだと誤判定される問題 (DB migrationで修正) (#13389) 2024-02-19 08:34:31 +09:00
anatawa12 0b636d1bf9
fix: nodeinfoにenableMcaptchaとenableTurnstileが無い (#13387) 2024-02-19 08:33:36 +09:00
syuilo 96c7c85ad0
Merge pull request #13045 from misskey-dev/develop
* perf(drop-and-fusion): remove root Transition component for improve performance

* refactor(drop-and-fusion): some refactors

* clean up

* enhance(drop-and-fusion): some tweaks

* Feat(frontend): リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように (#12984)

* リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように

* update CHANGELOG.md

* fix locale & type errors

* fix locale etc

* fix

* fix type

* lint fixes

* lint fixes(2)

* tweak

* fix(backend): 虚無ノートを投稿できる問題の修正と `api.json` の OpenAPI Specification 3.1.0 への対応 (#12969)

* fix(backend): `text: null`だけのノートは投稿できないように

* add test

* Update CHANGELOG.md

* chore: bump OpenAPI Specification from 3.0.0 to 3.1.0

* chore: テストがすでにコメントで記述されていたのでそっちを使うことにする

* fix test

* fix(backend): prohibit posting whitespace-only notes

* Update CHANGELOG.md

* fix(backend): `renoteId`または`fileIds`(`mediaIds`)または`poll`が`null`でない場合に、`text  が空白文字のみで構成されたリクエストになることを許可して、結果は`text: null`を返すように

* test(backend): 引用renoteで空白文字のみで構成されたtextにするとレスポンスが`text: null`になることをチェックするテストを追加

* fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように

* fix(misskey-js): OpenAPI 3.1に対応

* fix(misskey-js): 型生成をOpenAPI Specification 3.1.0に対応

* fix(ci): `validate-api.json`をOpenAPI Specification 3.1.0に対応

* fix(ci): スキーマ書き換えの際のミスを修正

* Revert "fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように"

This reverts commit a9ca55343d.

* fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように

* Revert "fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように"

This reverts commit 865458989f.

* fix(misskey-js): `openapi-parser`で`validate`のかわりに`parse`を用いるように

* Update CHANGELOG.md

* fix type

* enhance(drop-and-fusion): refactor and new mode(wip)

* feat: 枠線をつけるMFMを追加 (#12981)

* Update MkMisskeyFlavoredMarkdown.ts

* Update const.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update CHANGELOG.md

* feat(CI): CHANGELOG.mdの追記個所をチェックするCIを追加 (#12963)

* feat(CI): CHANGELOG.mdの追記個所をチェックするCIを追加

* fix

* remove strategy

* fix

* fix

* enhance(drop-and-fusion): sweets mode

* 完成 (#12980)

* enhance(frontend): Playの説明欄にMFMを使えるように (#12899)

* (enhance) Playの説明欄にMFMを使えるように

* Update Changelog

* use class for mfm component

* Update packages/frontend/src/pages/flash/flash-edit.vue

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* Update flash.vue

* Update CHANGELOG.md

---------

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように (#12988)

* fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように

* Update CHANGELOG.md

* Update CHANGELOG.md

* enhance(frontend) 日本語の拡張絵文字辞書を追加 (#12855)

* Create ja-JP.json

* Update general.vue

* Update ja-JP.json

* Update ja-JP.json

* Update ja-JP.json

* fix

* fix design

* (Add) ひらがな [wip]

* fix lint

* Apply suggestions from code review

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* (add) ja-JP_hira

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* (enhance) 言語名をちゃんと表示するように

---------

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* refactor: noteテーブルのインデックス整理と配列カラムへのクエリでインデックスを使うように (#12993)

* Optimize note model index

* enhance(backend): ANY()をやめる (MisskeyIO#239)

* add small e2e test drive endpoint

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

* enhance(frontend): dedicated games page

* enhance: 動画・音声周りのUIと動作改良 (#12925)

* wip

* (fix) `/files` をバイトレンジリクエストに対応させる

* video

* audio

* fix

* fix

* spdx

* fix (rangeRequest)

* fix

* Update CHANGELOG.md

* (add) ボリュームを保存できるように

* (fix) ミュート復帰時に音量が固定される

* named export

* tweak design

* Add sensitive class for audio component

* Refactor seekbar styles

* Refactor hms

* Revert "(add) ボリュームを保存できるように"

This reverts commit 6271f9493b.

* Revert "(fix) ミュート復帰時に音量が固定される"

This reverts commit a65002b56e.

* revert revert changes

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* (style) sticky系フッターのデザイン調整 (#13005)

* enhance(frontend): ページ遷移時にPlayerを閉じるように (#13013)

* なんかできた

* update changelog.md

* onDeactivatedを使うように

* Enhance(frontend): MkCustomEmojiDetailedDialogを調整 (#13015)

* MkEmojiDetailedDialogを調整

* 絵文字ライセンスでMFMを使えるように

* <a> -> <MkLink>

* 入力ボックスでmfmのオートコンプリートを効かせる

* enhance(frontend): チャンネルノートの場合はその前後を見れるように (#13019)

* チャンネルノートの場合はその前後を見れるように

* Update Changelog

* $[border ...]にクリッピング機能を追加 (#13002)

* Update MkMisskeyFlavoredMarkdown.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update CHANGELOG.md

* Set clipping as default

* Fix: properly handle cc followers (#13009)

* Fix: properly handle cc followers

Fix #13001

* Update CHANGELOG.md

* Fix syntax error

* enhance(drop-and-fusion): ゲームバランスの調整など

* MkCodeにコピーボタンを追加 (#12999)

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* chore(drop-and-fusion): bump version

* refactor: MkCodeをブロックとインラインで別コンポーネント化する (#13026)

* Create MkCodeInline.vue

* Update MkCode.vue

* Update MkMisskeyFlavoredMarkdown.ts

* Update flash.vue

* Update MkCodeInline.vue

* fix(frontend/MediaVideo): 再生シークバーの当たり判定を調整 (#13027)

* fix(frontend/MediaVideo): 再生シークバーの当たり判定を調整

* fix

* feat(frontend): 横スワイプでタブを切り替える機能 (#13011)

* (add) 横スワイプでタブを切り替える機能

* Change Changelog

* y方向の移動が一定量を超えたらスワイプを中断するように

* Update swipe distance thresholds

* Remove console.log

* adjust threshold

* rename, use v-model

* fix

* Update MkHorizontalSwipe.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* use css module

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* refactor: fully typed locales (#13033)

* refactor: fully typed locales

* refactor: hide parameterized locale strings from type data in ts access

* refactor: missing assertions

* docs: annotation

* refactor: style

* fix(frontend/HorizontalSwipe): ページの要素がはみ出る問題を修正 (#13036)

* 「外部サイトからインストール」のパスを /install-extensions に変更 (#12991)

* /install-extensionsに変更

* CHANGELOG.mdに追記

* 旧パスも利用できるように

* fix: Some fixes for #12850 (#12862)

- refinement the error message when trueMail validation fails
- the settings of trueMail are not displayed after saving
- changing how `Active Email Validation` is saved

* Enhance(frontend): MFMの属性にオートコンプリートが利用できるように (#12803)

* MFMのパラメータでオートコンプリートできるように

* tweak conditions & refactor

* ファイル末尾の改行忘れ

* remove console.log & refactor

* 型付けに敗北

* fix

* update CHANGELOG.md

* tweak conditions

* CHANGELOGの様式ミス

* CHANGELOGを書く場所を間違えていたので修正

* move changelog

* move changelog

* typeof MFM_TAGS[number]

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* $[border.noclip ]対応

* Update const.ts

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* feat: reversi

Resolve #12962

* refactor: deprecate i18n.t (#13039)

* refactor: deprecate i18n.t

* revert: deprecate i18n.t

This reverts commit 7dbf873a2f.

* chore: reimpl

* refactor: extract bubble-game engine as independent package

* lint fix

* lint fixes

* tweak reversi map

* fix lint

* fix(dev): fix workspace settings

* fix(dev): fix pnpm dev

* enhance(reversi): tweak reversi

* refactor: migrate to ESM

* fix api-extractor

* add missing ext

* enhance(reversi): tweak reversi

* 🎨

* Fix(frontend): 日本語のUnicode絵文字追加辞書をインストールすると絵文字ピッカーでUnicode絵文字を検索できなくなるのを修正 (#13046)

* 絵文字辞書のサロゲートペアを修正

* update CHANGELOG.md

* Revert "update CHANGELOG.md"

This reverts commit 7c24fa611a.

* enhance(reversi): tweak reversi

Resolve #13048

* Update Dockerfile

* enhance(reversi): tweak reversi

* enhance(frontend): ノート作成画面の添付メニューから直接ファイルを消せるように (#12858)

* (enhance) 添付画面から直接ファイルを消せるように

* Update Changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* enhance(reversi): tweak reversi

* enhance(sw): オフライン表示のデザインを改善 (#13052)

* enhance(sw): オフライン表示のデザインを改善

* Update Changelog

* fix

* fix

* fix

* 言語が取得できなかった場合のフォールバックを追加

* (change) translation key

* enhance(reversi): tweak reversi

* enhance(reversi): tweak reversi

* fix(frontend): MkHorizontalSwipeでメニューを閉じるのに2回クリックが必要になる問題を修正

#13055

* return a `Vary: Accept` header for all dual-format endpoints #365 (#13044)

`/users/:user`, `/@:user`, `/notes/:note` return different responses
depending on the request's `Accept:` header. If we don't consistently
return a `Vary: Accept` header, browsers and caching proxies will get
confused, and return AP representations when HTML was requested, or
vice versa.

Co-authored-by: dakkar <dakkar@thenautilus.net>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* enhance(frontend): タイムラインフィルターの設定を保持+センシティブなノートを隠せるように (#12848)

* (enhance) タイムラインフィルターの状態を記憶するように

* fix

* (enhance) センシティブな投稿をミュート形式で表示する(TLのみ)

* fix

* Update Changelog

* Fix changelog

* Lintエラーを潰す

* Update locales/ja-JP.yml

* hideSensitive -> withSensitive

* Update CHANGELOG.md

* Update ja-JP.yml

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* Enhance(frontend): 絵文字編集ダイアログをウィンドウにする (#13047)

* 絵文字編集ダイアログをウィンドウにする

* update CHANGELOG.md

* update deps

* New Crowdin updates (#12845)

* New translations ja-jp.yml (French)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Thai)

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

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

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

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

* 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 (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 (Chinese Traditional)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (German)

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

* 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 Simplified)

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* 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 (Chinese Simplified)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

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

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

* chore(deps-dev): bump vite in /scripts/changelog-checker (#13040)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.11 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* enhance(frontend): 季節に応じた画面の演出を南半球に対応させる (#12838)

* (enhance) 季節に応じた画面の演出を南半球に対応させる

* Update Changelog

* (add) 半球の簡易自動判定

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* enhance(frontend): リファクタリングなど

* perf(reversi): improve performance of reversi backend

* 2024.2.0-beta.1

* fix(frontend/pizzax): デフォルト値が適用できないことがあるのを修正 (#13057)

* fix(frontend/pizzax): デフォルト値が適用できないことがあるのを修正

* fix

* いらんプロパティをけす

* refactor(reversi): refactoring of reversi backend

* New Crowdin updates (#13056)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Danish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Croatian)

* New translations ja-jp.yml (Uyghur)

* New translations ja-jp.yml (Lojban)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Haitian Creole)

* 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 (Chinese Traditional)

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

* 2024.2.0-beta.2

* enhance(reversi): some tweaks

* perf(reversi): improve performance of reversi backend

* fix lint

* enhance(reversi): render ogp

* fix lint

* fix: 2024-01-22 10:50時点のdevelopにてCIがコケている (#13060)

* fix: バブルゲームのビルド失敗修正

* fix: api.jsonの定義誤りを修正

* fix: lint.yml(typecheck)

* fix: fix eslint error

* fix: frontend vitest version

* fix: frontend vitest version

* fix:

* fix: cypress

* fix: misskey-js test

* fix: misskey-js tsd(tsdはpakcage.jsonのexportsをサポートしない?)

* fix: conflict

* fix: 間違えて上書きしたところを修正

* fix: 再

* fix: api.json

* fix: api.json

* fix: タイムアウト延長

* Update packages/misskey-js/jest.config.cjs

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* 🎨

* fix lint

* 2024.2.0-beta.3

* chore: publish misskey-js automatically (#13014)

* chore: publish @misskey-dev/misskey-js

* remove @misskey-dev/

* ??

* correct version

* version

* fix of #13014 (misskey-js publish)

* 修正できたかも (#13066)

* perf: (productionの)dependenciesから@typesを削除、reversi/bubble-gameをesbuildにする (#13067)

* perf: (productionの)dependenciesから@typesを削除、reversi/bubble-gameをesbuildにする

* fix

* fix

* fix(build): スクリプトの名前の変更漏れ (#13068)

* fix(build): スクリプトの名前の変更漏れ

* 漏れの漏れ

* 🎨

* enhance(reversi): improve desync handling

* New Crowdin updates (#13061)

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

* New translations ja-jp.yml (Korean)

* 2024.2.0-beta.4

* fix(frontend/HorizontalSwipe): スワイプ・UIアニメーションが無効の際はトランジションを行わないように (#13076)

* fix(frontend/HorizontalSwipe): アニメーションを減らすが考慮されるように

* fix

* fix

* revert unused change

* fix

* 🎨

* enhance(reversi): 準備中の自分の対局も一覧に表示するように

* enhance(reversi): more robust matching process

* fix of 65557d5f27

* enhance(reversi): 開始時に対局をシェアできるように

* enhance(reversi): improve stability

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

* enhance(reversi): improve game setting flow

* enhance(reversi): tweak MATCHING_TIMEOUT_MS

* perf(reversi): set expire matchSpecific and matchAny

* fix(reversi): wait redis operation to improve stability

* 2024.2.0-beta.5

* fix(frontend/pizzax): オブジェクトにnullがある場合に正しくマージされないのを修正 (#13073)

* fix(frontend/pizzax): オブジェクトにnullがある場合に正しくマージされない

* fix types

* マージを内製

* fix(frontend/reversi): fix game preview

* enhance(reversi): improve matching system

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

* 2024.2.0-beta.6

* enhance(reversi): 変則なしマッチングを可能に

* fix(reversi/backend): refactor and fixes

* Create deploy-test-environment.yml (#13079)

* test

* Revert "Create deploy-test-environment.yml (#13079)"

This reverts commit 4de14fb5cf.

* New Crowdin updates (#13080)

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

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

* 2024.2.0-beta.7

* New Crowdin updates (#13082)

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

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

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

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

* fix(dev): pnpm devで依存関係更新が一部反映されない (#13091)

* fix misskey-js version

* refactor(frontend/MediaPlayer): cssの重複を削除 (#13094)

* Update MkMediaAudio.vue

* Update MkMediaVideo.vue

* enhance(frontend): リモートのユーザーはメニューから直接リモートで表示できるように (#13087)

* enhance(frontend): リモートのユーザーはメニューから直接リモートで表示できるように

* change changelog

* Apply suggestions from code review

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* fix(backend): Fix typos in job configurations (#13086)

* Fix typos

* Update CHANGELOG

* Update CHANGELOG.md

* feat(frontend/nirax): リダイレクトを設定できるように (#13030)

* feat(frontend/nirax): リダイレクトを設定できるように

* revert demonstrative changes

* fix

* revert unrelated changes

* リダイレクトの際にパスが変わらない問題を修正

* リダイレクトが必要なrouteを設定

* fix lint

* router向けe2eテストの追加

* fix

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>

* fix(i18n): ストック情報とフロー情報の文言をわかりやすく変更 (#13085)

* fix(i18n): ストック情報とフロー情報をわかりやすく書き直す

* Update ja-JP.yml

* Update ja-JP.yml

* test(frontend): load default config to start vite (#12867)

Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>

* iOSで大きな画像を変換してアップロードできない問題を修正 (#13109)

Fix https://github.com/misskey-dev/misskey/issues/12026

* refactor: frontendのcomponentsの型エラーを改善 (#12926)

* add: safeFloatParserを追加

* fix: 欠けていた型を追加

* refactor: pageBlockTypesをjson-schemaに移植

* refactor: components/global内の型エラーが出ている箇所を修正

* lint: fix null check style

* refactor: fix type error

* refactor: fix some type errors

* fix: 翻訳が抜けていた箇所を修正

* refactor: getJsonSchemaで正しいスキーマが返されるように修正

* fix: MkChartの型エラーとbytesオプションが機能していない問題を修正

* fix(misskey-js): `drive`->`folderUpdated`のpayloadの型が間違っていたのを修正

* refactor: fix some type errors

* change: Captcha読み込み中の文言をLoadingに変更

* refactor(backend/misskey-js): MainEventの型を改善

* refactor: chartjs-plugin-gradientが二重でpluginに登録されていたのを修正

* update: misskey-js.api.md

* refactor: fix some type errors

* fix: backendのtypecheckが落ちていたのを修正

* update: misskey-js.api.md

* add: json-schemaのnoteにpollの型定義を追加

* refactor: noteのjson-schemaの型を改善

* refactor: MkPoll

* refactor: fix some type errors

* change: UserLiteにisLockedを持たせるように

* fix: notificationスキーマにroleが含まれていないのを修正

* Revert "change: UserLiteにisLockedを持たせるように"

This reverts commit 1bb0c8e7a9.

* fix: フォロー通知から鍵垢へのフォローを行うと処理中のまま止まってしまう問題を修正

* refactor: noteスキーマのvisibilityにenumを追加

* change: deepCloneのCloneableTypeにundefinedを追加

* refactor: fix some type errors

* refactor: `allowEmpty: false`を使用していた箇所を`minLength: 1`に置き換え

* enhance: API 'retension' のresponseの型を追加

* fix: Chart関連のtooltipが正しい位置に表示されない問題を修正

* refactor: fix some type errors

* fix: 型情報が不足していたのを修正

* enhance: announcementスキーマにenumを追加

* enhance: ロールポリシーの型定義をRoleServiceからjson-schemaに移植

* refactor: policiesを`ref: RolePolicies`に統一

* fix: API `meta` のレスポンスの型にpoliciesが含まれていないのを修正

* refactor: fix some type errors

* fix: backendのlintが落ちているのを修正

* fix: MkFoldableSectionの開閉時のanimationが適用されていない問題を修正

* fix: backendのtypecheckが落ちているのを修正

* update: run build-misskey-js-with-types

* fix: MkDialogのmount時に文字数制限の判定が行われない問題を修正

* update: CHANGELOG.md

* refactor: MkUserSelectDialogの型を改善

* fix: deepCloneでundefinedはcloneしないように (#9207)

* change: frontendのcloneをbackend側にも反映

* update: CHANGELOG.md

* fix: RoleServiceからPackを通して型RolePoliciesに依存させないように

* Update packages/frontend/src/scripts/get-note-summary.ts

* revert RoleService.ts changes

* change:  optional chaining -> non-null assertion

* remove: unused import

* fix: propsで渡されたuserがUserLiteの場合に意図しない動作になってしまうのを修正

* change: fix null check style

* refactor: fix type error

* change: fix null check style

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

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* refactor: css moduleでglobalを使わないように

* refactor: roleのiconUrlは必ず存在するものとして扱うように

* enhance: MenuButtonのactiveにcomputedを受け付けられるように

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

* Update MkWindow.vue

* refactor: notification.noteは必ず存在するものとして扱うように

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

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* fix: MkSignupDialogでdoneのemit時にresを含んでいなかったのを修正

* Update packages/frontend/src/scripts/clone.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* refactor: 不要な返り値の型を削除

* refactor: 不要なnullチェックを削除

* update: misskey-js-autogen

* update: clone.ts

* refactor

* Update MkNotification.vue

* Update MkNotification.vue

* ✌️

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotifications.vue

* Update MkUserSetupDialog.Profile.vue

* Update MkUserCardMini.vue

* ✌️

* Update MkMenu.vue

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* fix/refactor(reversi): 既存のバグを修正・型定義を強化 (#13105)

* 既存のバグを修正

* fix types

* fix misskey-js autogen

* Update index.d.ts

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* update deps

* 2024.2.0-beta.8

* Revert "Revert "Create deploy-test-environment.yml (#13079)""

This reverts commit 4553d6426b.

* refactor(frontend): global/router -> router

* refactor(backend): User関連のスキーマ/型の指定を強くする (#12808)

* refactor(backend): User関連のスキーマ/型の指定を強くする

* refactor(backend): `pack()`の引数にスキーマを指定するように

* chore: fix ci

* fix: 変更漏れ

* fix ci

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* fix(frontend): styleの指定方法を変更 (#13120)

* fix(ci): `misskey-js` のバージョンチェックをトリガーする条件の修正 (#13116)

* fix(misskey-js): バージョンチェックのトリガー条件を修正

* chore(misskey-js): 2024.2.0-beta.8

* Fix(frontend): リバーシで自分自信を招待できるのを修正 & os.selectUser()のincludeSelfが機能していないのを修正 (#13117)

* リバーシで自分自信を招待できるのを修正 & os.selectUser()のincludeSelfが機能していないのを修正

* lint fix

* enhance(frontend): 🌸

* chore(deps): bump codecov/codecov-action from 3 to 4 (#13125)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Hide reactions of all remote users / feat: moderators can see reactions of all users (#13128)

* fix: Hide reactions of all remote users
https://github.com/misskey-dev/misskey/issues/12964

* feat: Moderators can see reactions of all users
https://github.com/misskey-dev/misskey/issues/13127

* modify CHANGELOG.md

* fix iAmModerator

* chore(deps): bump peter-evans/slash-command-dispatch from 3 to 4 (#13124)

Bumps [peter-evans/slash-command-dispatch](https://github.com/peter-evans/slash-command-dispatch) from 3 to 4.
- [Release notes](https://github.com/peter-evans/slash-command-dispatch/releases)
- [Commits](https://github.com/peter-evans/slash-command-dispatch/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/slash-command-dispatch
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 「見たことのあるリノートを省略して表示」が効いていない問題を修正  (#13133)

* fix: 「見たことのあるリノートを省略して表示」が効いていない問題を修正
fix #13131

* add a comment

* fix(backend): "誰でも新規登録できるようにする"の初期値をOFFにする (#13130)

* fix(backend): "誰でも新規登録できるようにする"の初期値をOFFにする

* fix CHANGELOG.md

* fix

* Update deploy-test-environment.yml (#13136)

* fix: api-docが開けない問題を修正 (#13132)

* refactor: 自己参照を使用している箇所に`selfRef`を持たせるように

* feat: スキーマ生成時に自己参照を含むかどうかを指定できるように

* fix: api.jsonにselfRefが含まれているのを修正

* refactor: 他の箇所と同様にselfRefの除去を行うように

* remove: 不要なimportを削除

* refactor(frontend): `os.popup()`の`props`の型チェックを有効化 (#13140)

* refactor(frontend): `os.popup()`の`props`の型チェックを有効化

* refactor: `ComponentProps`に書き換え

* refacor: `import type`

* enhance(frontend): shiki v1に移行 (#13138)

* enhance(frontend): shiki v1に移行

* optimize chunks, エラーを握りつぶす

* wasmを分離

* バンドルサイズの警告の最小値を650kBに引き上げ

* optimize

* fix(frontend): アバターデコレーションのアニメーションが止まらない (#13139)

* fix(frontend): アバターデコレーションのアニメーションが止まらない

* Update Changelog

* i -> index

* key

* revert lint fixes

* fix(frontend): selectUserのパラメータを調整 (#13142)

* fix(frontend): selectUserのパラメータを調整

* ついでに軽微なスタイルの修正

* fix(frontend): チャートのlegendがクリックに反応しない問題を修正

これにより発生 https://github.com/misskey-dev/misskey/pull/12926

* New Crowdin updates (#13090)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (French)

* 2024.2.0-beta.9

* fix(backend): メール配信機能が無効ならばメールを送ることのないように (#13152)

Do not send email if email delivery is disabled

* ignore `instance.actor` when checking if there are local users (#13146)

* ignore `instance.actor` when checking if there are local users

We've seen this happen a few times:

* there was some AP software at $some_domain
* it gets replaced by Misskey
* before the first user can be created, an AP activity comes in
* Misskey resolves the activity
* to do this, it creates the `instance.actor` to sign its request
* now there *is* a local user, so the `meta` endpoint returns
  `requireSetup:false`
* the admin is very confused

This commit factors out the check, and doesn't count the
`instance.actor` as a real user.

* autogen bits

* keep cached avatar&banner when refresh fails to get new values (#13145)

* keep cached avatar&banner when refresh fails to get new values

when the remote explicitly tells us a user image is gone, we remove
our cached value, but if we fail to get the image, we keep whatever
value we already have

this should minimise the problem of avatars randomly disappearing

* autogen bits

* pnpm run build-misskey-js-with-types

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* update patrons

* New Crowdin updates (#13156)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* Fix(frontend): クロップ後の解像度が異様に低くなる問題の修正&クロップに失敗する問題&コメントにnullという文字列が入る問題の修正 (#13162)

* Fix(frontend): Fix resolution of cropped image (misskey-dev#11489)

* CHANGELOG

* Fix(frontend): クロップの際、folderIdがnullだと文字列のnullが送られ検索できない問題

* Fix: キャプションが存在しないときにクロップすると'null'がキャプションに入ってしまう問題 (misskey-dev#11813)

* Update CHANGELOG

* refactor(frontend): `os.popup()`の`events`の型チェックを有効化 (#13165)

* 2024.2.0-beta.10

* enhance(frontend): シンタックスハイライトにテーマを適用できるように (#13175)

* enhance(frontend): シンタックスハイライトにテーマを適用できるように

* Update Changelog

* こっちも

* テーマの値がディープマージされるように

* 常にテーマ設定に準じるように

* テーマ更新時に新しいshikiテーマを読み込むように

* enhance(frontend): KeepAliveのページキャッシュを削除できるように (#13180)

* enhance(frontend): 内部のページキャッシュを削除できるように

* Update Changelog

* Enhance(frontend): フロント側でもリアクション権限のチェックをするように (#13134)

* フロント側でもリアクション権限のチェックをするように

* update CHANGELOG.md

* lint fixes

* remove unrelated diffs

* deny -> reject
denyは「(信用しないことを理由に)拒否する」という意味らしい

* allow -> accept

* EmojiSimpleにlocalOnlyを含めるように

* リアクション権限のない絵文字は打てないように(ダイアログを出すのではなく)

* regenerate type definitions

* lint fix

* remove unused locales

* remove unnecessary async

* fix(frontend): エラー画像URLを設定した後解除すると,デフォルトの画像が表示されない問題の修正 (#13172)

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

* enhance(frontend): リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように (#13178)

* enhance(frontend): リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように

* Update Changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* AP Key の JSON-LD 表現を修正 (#13170)

* CHANGELOGを修正 (#13181)

* chore(frontend): reword possible typo (#13182)

* fix(bubble-game): 共有用画像のコメントにnullが入る問題を修正 (#13183)

* fix(misskey-js): 自動生成物の冒頭からバージョンと日付を削除 (#13185)

* Enhance: 連合向けのノート配信を軽量化 (#13192)

* AP HTML表現をシンプルに

* a

* CHANGELOG

* リンク

* Fix(frontend): MkCodeEditorで行がずれていくのを修正 (#13188)

* MkCodeEditorで行がずれていくのを修正

* update CHANGELOG.md

* 正しい 2024.2.0-beta.10 改版手順? (#13173)

* 正しい 2024.2.0-beta.10 改版手順?

* run build-misskey-js-with-types

* enhance(frontend/HorizontalSwipe): 操作性の改善 (#13038)

* Update swipe thresholds and touch-action

* スワイプ中にPullToRefreshが反応しないように

* 横スワイプに関与する可能性のある要素がある場合はスワイプを発火しないように

* update threshold

* isSwipingを外部化

* rename

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* typo

* Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正 (#13196)

* Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正

* CHANGELOG

* test(frontend): migrate MSW in Storybook to v2 (#13195)

* fix(frontend) misskey-js type (#13202)

* refactor(backend): exist -> exists (#13203)

* refactor(backend): exist -> exists

* fix

* fix(frontend): aiscriptのコードブロックでのハイライト指定を修正 (#13208)

* chore: use vite@5.1.0 / pnpm@8.15.1

* fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加 (#13210)

* fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加

* Serviceでチェックするように変更

* perf(frontend): splash screenのdomが消えない場合があるのを修正

https://github.com/misskey-dev/misskey/issues/10805

* chore(deps): bump pnpm/action-setup from 2 to 3 (#13215)

Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2 to 3.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2...v3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* New Crowdin updates (#13179)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Catalan)

* update deps

* 2024.2.0-beta.11

* fix misskey-js version

* dev: Update misskey-tga deploy-test-environment.yml (#13221)

* fix: misskey-jsの型定義生成時にバックエンドの依存パッケージもビルドするように (#13249)

* fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正

* type

* fix: misskey-jsの型定義生成時にバックエンドの依存パッケージもビルドするように

* Revert "type"

This reverts commit bac0951bd1.

* Revert "fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正"

This reverts commit 92b2165828.

* Update about-misskey.vue

* New Crowdin updates (#13216)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* feat: provide tarball (#13260)

* feat: provide tarball

* build: pack on build-assets

* chore: use ignore-walk

* chore: debug

* build: dependencies

* New translations ja-jp.yml (Spanish) (#13261)

* update SPDX-FileCopyrightText

* refactor(msjs): avoid any (part 1) (#13247)

* refactor(msjs): avoid any

* run api extractor

---------

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

* ci(test-frontend): Cypressのテストの失敗時、永遠に止まらない問題を回避 (MisskeyIO#434) (#13274)

失敗しないようタイムアウトの延長・15分で止まるように

* chore: 以前の開発環境(backendにアクセスする方式)を立ち上げられるように (#13220)

* chore: 以前の開発環境(backendにアクセスする方式)を立ち上げられるように

* Update scripts/dev.mjs

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

---------

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

* fix: downgrade vue to 3.4.15

* enhance: 禁止ワードはリモートノートも対象に (#13280)

Resolve #13279

* Update CHANGELOG.md (#13282)

#13281 に対応していることを強調

* perf: omit search for immutable static requests (#13265)

* perf: omit search for immutable static requests

* perf: also applies to /files

* fix: exclude /proxy

* /files/:key/*を301 redirectに

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* Revert "update SPDX-FileCopyrightText"

This reverts commit 9b5aeb76d8.

* (re)  update SPDX-FileCopyrightText
Fix  #13290

* fix(frontend): エラーページのトラブルシューティングがリンク切れしている問題 (#176) (#13288)

* fix: TypeAssertionExpression breaks Storybook builds

* build: upgrade Storybook to 8 beta (#13297)

* chore: upgrade Storybook to 8

* ci: restore Storybook workflow

* build: createRequire

* ci: TurboSnap life extension

* dev: Update misskey-tga (#13223)

* Update deploy-test-environment.yml

* Update .github/workflows/deploy-test-environment.yml

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

* Update deploy-test-environment.yml

* Update deploy-test-environment.yml

---------

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

* fix(ci): publish docker image fails (#13325)

* fix(ci): publish docker image fails

* fix: `docker.yml`

* refactor: remove inaccurate name

* fix: match version

* feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える (#13299)

* feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える

close #13298

* Update ReactionService.ts

* chore(backend): prefer single quote for string literal

* fix(backend): add missing schemas and fix incorrect schemas (#13295)

* fix(backend): add missing schemas and fix incorrect schemas

* fix: ci

* fix: ci (本命)

* fix: run `pnpm build-misskey-js-with-types`

* fix: typos

* fix: role-condition-formula-value contains `id`

* fix: incorrect schema

* リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273 (#13275)

* リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273

* CHAGELOG

* Use Redis event

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* refactor(backend): misc/cacheをシンプルな実装に戻した

* fix

* fix type

* Update CHANGELOG.md

* New Crowdin updates (#13267)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Thai)

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

* fix(frontend): vue v3.4.16以降でタイムラインが正常に表示できない問題を修正 (#13248)

* fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正

* type

* Revert "fix: downgrade vue to 3.4.15"

This reverts commit e12369ac13.

* Update pnpm-lock.yaml

---------

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

* 2024.2.0-beta.12

* fix(ci): publish docker image fails (3) (#13327)

* fix(ci): publish docker image fails (3)

* fix: set `tags`

* fix(frontend/pageMetadata): ページタイトルが更新されない問題 (#13289)

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

* chore(deps): bump actions/github-script from 6.4.0 to 7.0.1 (#13311)

Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.0 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6.4.0...v7.0.1)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump pnpm/action-setup from 2 to 3 (#13310)

Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2 to 3.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2.0.0...v3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/checkout from 3.6.0 to 4.1.1 (#13309)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/upload-artifact from 3 to 4 (#13308)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/setup-node from 3.8.1 to 4.0.2 (#13307)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.8.1 to 4.0.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.8.1...v4.0.2)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build: docker buildのpnpm i実行時にNODE_ENV=productionが指定されるようにする (#13329)

* fix of  #13330 (#13330)

* build: docker buildのpnpm i実行時にNODE_ENV=productionが指定されるようにする

* build: 消す行間違ってたのを修正

* fix(dev): devコマンドの実装を修正 (#13336)

* fix misskey-js version

* refactor(backend): remove/replace deprecated type deps (#13252)

* Update CHANGELOG.md

* 2024.2.0-beta.13

* Merge pull request from GHSA-qqrm-9grj-6v32

* maybe ok

* fix

* test wip

* ✌️

* fix

* if (res.ok)

* validateContentTypeSetAsJsonLD

* 条件を考慮し直す

* その他の+json接尾辞が付いているメディアタイプも受け容れる

* https://github.com/misskey-dev/misskey-ghsa-qqrm-9grj-6v32/pull/1#discussion_r1490999009

* add `; profile="https://www.w3.org/ns/activitystreams"`

* application/ld+json;

* feat: add link to local note in initial comment of abuse note (#13347)

* feat: add link to local note in initial comment of abuse note

* docs(changelog): ノートの通報時にリモートのノートであっても自インスタンスにおけるノートのリンクを含むように

* feat: license violation protection (#13285)

* spec(frontend): aboutページにリポジトリ・フィードバックのURLを表示させる

Cherry-picked from MisskeyIO#441
Cherry-picked from MisskeyIO#438

* feat: license violation protection

* build: fix typo

* build: fix typo

* fix: farewell to the static type land

* fix: key typo

* fix: import typo

* fix: properly interpret `prominently`

* docs: add disclaimer

* docs: update CHANGELOG

* chore: add gap

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
Co-authored-by: FineArchs <133759614+FineArchs@users.noreply.github.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
Co-authored-by: ikasoba <57828948+ikasoba@users.noreply.github.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: GrapeApple0 <84321396+GrapeApple0@users.noreply.github.com>
Co-authored-by: YS <47836716+yszkst@users.noreply.github.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: a <a@trwnh.com>
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: Korange <hi@korange.work>
Co-authored-by: AsukaMari <2037177696@qq.com>
Co-authored-by: dakkar <dakkar@thenautilus.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: Srgr0 <66754887+Srgr0@users.noreply.github.com>
Co-authored-by: woxtu <woxtup@gmail.com>
Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com>
Co-authored-by: yukineko <27853966+hideki0403@users.noreply.github.com>
Co-authored-by: atsuchan <83960488+atsu1125@users.noreply.github.com>
Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
Co-authored-by: Soli <personal@str08.net>
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <daisho7308+f@gmail.com>
Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-02-17 15:05:47 +09:00
Cocoa Hoto b0030d148d
fix: allow moderators see role assigned users; fix #13301 (#13315) 2024-02-17 14:41:18 +09:00
anatawa12 b3aa793f42
chore: 通報ページのユーザをクリックした際にユーザをウィンドウで開くように (#13348)
* chore: 通報ページのユーザをクリックした際にユーザをウィンドウで開くように

* docs(changelog): 通報ページのユーザをクリックした際にユーザをウィンドウで開くように

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-17 14:28:34 +09:00
syuilo d4a5e31c8d
New Crowdin updates (#13341)
* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* 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)
2024-02-17 14:27:42 +09:00
syuilo 01de1519dd fix of 9a70ce8f5e
Co-Authored-By: RyotaK <49341894+Ry0taK@users.noreply.github.com>
2024-02-17 14:26:48 +09:00
syuilo 875069c6b0 Update package.json 2024-02-17 13:43:04 +09:00
syuilo 0b5d3315bc 2024.2.0 2024-02-17 13:41:24 +09:00
syuilo b6ae12b622 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-17 13:41:08 +09:00
syuilo d961ed830f Update CHANGELOG.md 2024-02-17 13:36:39 +09:00
Acid Chicken (硫酸鶏) acba96c1d3
feat: license violation protection (#13285)
* spec(frontend): aboutページにリポジトリ・フィードバックのURLを表示させる

Cherry-picked from MisskeyIO#441
Cherry-picked from MisskeyIO#438

* feat: license violation protection

* build: fix typo

* build: fix typo

* fix: farewell to the static type land

* fix: key typo

* fix: import typo

* fix: properly interpret `prominently`

* docs: add disclaimer

* docs: update CHANGELOG

* chore: add gap

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-17 13:34:50 +09:00
anatawa12 fa243276c5
feat: add link to local note in initial comment of abuse note (#13347)
* feat: add link to local note in initial comment of abuse note

* docs(changelog): ノートの通報時にリモートのノートであっても自インスタンスにおけるノートのリンクを含むように
2024-02-17 12:43:39 +09:00
tamaina 9a70ce8f5e
Merge pull request from GHSA-qqrm-9grj-6v32
* maybe ok

* fix

* test wip

* ✌️

* fix

* if (res.ok)

* validateContentTypeSetAsJsonLD

* 条件を考慮し直す

* その他の+json接尾辞が付いているメディアタイプも受け容れる

* https://github.com/misskey-dev/misskey-ghsa-qqrm-9grj-6v32/pull/1#discussion_r1490999009

* add `; profile="https://www.w3.org/ns/activitystreams"`

* application/ld+json;
2024-02-17 12:41:19 +09:00
tamaina 8c1a582348 2024.2.0-beta.13 2024-02-16 15:04:12 +00:00
かっこかり 7a35f13381
Update CHANGELOG.md 2024-02-16 22:18:31 +09:00
zyoshoka 37959bab1d
refactor(backend): remove/replace deprecated type deps (#13252) 2024-02-16 20:09:07 +09:00
かっこかり 5e317eac8c
fix misskey-js version 2024-02-16 19:17:37 +09:00
かっこかり a49e8a1a3c
fix(dev): devコマンドの実装を修正 (#13336) 2024-02-16 19:17:16 +09:00
anatawa12 40c201407d
fix of #13330 (#13330)
* build: docker buildのpnpm i実行時にNODE_ENV=productionが指定されるようにする

* build: 消す行間違ってたのを修正
2024-02-16 16:49:12 +09:00
anatawa12 f41c78a6e3
build: docker buildのpnpm i実行時にNODE_ENV=productionが指定されるようにする (#13329) 2024-02-16 16:44:37 +09:00
dependabot[bot] 5779f439ad
chore(deps): bump actions/setup-node from 3.8.1 to 4.0.2 (#13307)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.8.1 to 4.0.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.8.1...v4.0.2)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 16:33:01 +09:00
dependabot[bot] 062ba50037
chore(deps): bump actions/upload-artifact from 3 to 4 (#13308)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 16:32:55 +09:00
dependabot[bot] 7fdf5ffea2
chore(deps): bump actions/checkout from 3.6.0 to 4.1.1 (#13309)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 16:32:49 +09:00
dependabot[bot] e3a5a998d4
chore(deps): bump pnpm/action-setup from 2 to 3 (#13310)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2 to 3.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2.0.0...v3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 16:32:39 +09:00
dependabot[bot] 0ab4b8a294
chore(deps): bump actions/github-script from 6.4.0 to 7.0.1 (#13311)
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.0 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6.4.0...v7.0.1)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 16:32:30 +09:00
taiy 860e8bb5d8
fix(frontend/pageMetadata): ページタイトルが更新されない問題 (#13289)
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-16 16:17:09 +09:00
zyoshoka bb83ee844e
fix(ci): publish docker image fails (3) (#13327)
* fix(ci): publish docker image fails (3)

* fix: set `tags`
2024-02-16 15:58:54 +09:00
syuilo b7a12fbc2b 2024.2.0-beta.12 2024-02-16 15:40:10 +09:00
かっこかり f5459a25df
fix(frontend): vue v3.4.16以降でタイムラインが正常に表示できない問題を修正 (#13248)
* fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正

* type

* Revert "fix: downgrade vue to 3.4.15"

This reverts commit e12369ac13.

* Update pnpm-lock.yaml

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-16 15:39:48 +09:00
syuilo efc67f7ab5
New Crowdin updates (#13267)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)
2024-02-16 15:23:43 +09:00
syuilo 29d5135302 Update CHANGELOG.md 2024-02-16 15:23:23 +09:00
syuilo f8ac072bc3 fix type 2024-02-16 15:19:55 +09:00
syuilo 7cfe7da73d fix 2024-02-16 15:09:05 +09:00
syuilo f55e1ee138 refactor(backend): misc/cacheをシンプルな実装に戻した 2024-02-16 15:07:12 +09:00
MeiMei cfa573a3a1
リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273 (#13275)
* リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273

* CHAGELOG

* Use Redis event

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-16 14:30:53 +09:00
zyoshoka 40bbae3d6c
fix(backend): add missing schemas and fix incorrect schemas (#13295)
* fix(backend): add missing schemas and fix incorrect schemas

* fix: ci

* fix: ci (本命)

* fix: run `pnpm build-misskey-js-with-types`

* fix: typos

* fix: role-condition-formula-value contains `id`

* fix: incorrect schema
2024-02-16 14:27:33 +09:00
Kisaragi 147e8f1e3e
feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える (#13299)
* feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える

close #13298

* Update ReactionService.ts

* chore(backend): prefer single quote for string literal
2024-02-16 14:25:48 +09:00
zyoshoka 0c10d2aa64
fix(ci): publish docker image fails (#13325)
* fix(ci): publish docker image fails

* fix: `docker.yml`

* refactor: remove inaccurate name

* fix: match version
2024-02-16 14:20:17 +09:00
Srgr0 536105a1b7
dev: Update misskey-tga (#13223)
* Update deploy-test-environment.yml

* Update .github/workflows/deploy-test-environment.yml

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

* Update deploy-test-environment.yml

* Update deploy-test-environment.yml

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-02-15 14:58:11 +09:00
Acid Chicken (硫酸鶏) b8800b8b95
build: upgrade Storybook to 8 beta (#13297)
* chore: upgrade Storybook to 8

* ci: restore Storybook workflow

* build: createRequire

* ci: TurboSnap life extension
2024-02-14 18:48:25 +09:00
Acid Chicken (硫酸鶏) 19e3753202
fix: TypeAssertionExpression breaks Storybook builds 2024-02-14 13:56:13 +09:00
taiy b82821074b
fix(frontend): エラーページのトラブルシューティングがリンク切れしている問題 (#176) (#13288) 2024-02-14 13:10:36 +09:00
tamaina c1514ce91d (re) update SPDX-FileCopyrightText
Fix  #13290
2024-02-13 15:59:27 +00:00
tamaina 311c2172d7 Revert "update SPDX-FileCopyrightText"
This reverts commit 9b5aeb76d8.
2024-02-13 15:50:11 +00:00
Acid Chicken (硫酸鶏) 309a943528
perf: omit search for immutable static requests (#13265)
* perf: omit search for immutable static requests

* perf: also applies to /files

* fix: exclude /proxy

* /files/:key/*を301 redirectに

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-13 10:43:06 +09:00
Kisaragi 50817df59c
Update CHANGELOG.md (#13282)
#13281 に対応していることを強調
2024-02-13 05:10:22 +09:00
tamaina 32c5c43b6d
enhance: 禁止ワードはリモートノートも対象に (#13280)
Resolve #13279
2024-02-13 04:54:01 +09:00
tamaina e12369ac13 fix: downgrade vue to 3.4.15 2024-02-12 19:16:44 +00:00
tamaina 4f80b6fa5d
chore: 以前の開発環境(backendにアクセスする方式)を立ち上げられるように (#13220)
* chore: 以前の開発環境(backendにアクセスする方式)を立ち上げられるように

* Update scripts/dev.mjs

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

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-02-13 00:54:34 +09:00
まっちゃとーにゅ 63c4396987
ci(test-frontend): Cypressのテストの失敗時、永遠に止まらない問題を回避 (MisskeyIO#434) (#13274)
失敗しないようタイムアウトの延長・15分で止まるように
2024-02-13 00:28:59 +09:00
Kisaragi b95e25004f
refactor(msjs): avoid any (part 1) (#13247)
* refactor(msjs): avoid any

* run api extractor

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <daisho7308+f@gmail.com>
2024-02-12 11:38:16 +09:00
syuilo a1e12c0ec3 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-12 11:37:55 +09:00
syuilo 9b5aeb76d8 update SPDX-FileCopyrightText 2024-02-12 11:37:45 +09:00
syuilo 6afd2dc632
New translations ja-jp.yml (Spanish) (#13261) 2024-02-12 11:37:25 +09:00
Acid Chicken (硫酸鶏) 3dc095d1c9
feat: provide tarball (#13260)
* feat: provide tarball

* build: pack on build-assets

* chore: use ignore-walk

* chore: debug

* build: dependencies
2024-02-12 10:02:27 +09:00
syuilo 4bdaf26133 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-11 21:06:05 +09:00
syuilo 25383de9e6
New Crowdin updates (#13216)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
2024-02-11 21:05:52 +09:00
syuilo 674fd0bdd0 Update about-misskey.vue 2024-02-11 21:05:34 +09:00
かっこかり 0736eea3fd
fix: misskey-jsの型定義生成時にバックエンドの依存パッケージもビルドするように (#13249)
* fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正

* type

* fix: misskey-jsの型定義生成時にバックエンドの依存パッケージもビルドするように

* Revert "type"

This reverts commit bac0951bd1.

* Revert "fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正"

This reverts commit 92b2165828.
2024-02-11 13:24:25 +09:00
Srgr0 207e4f3b92
dev: Update misskey-tga deploy-test-environment.yml (#13221) 2024-02-10 14:18:30 +09:00
かっこかり 7a8cf274ca
fix misskey-js version 2024-02-09 18:08:08 +09:00
syuilo 639f14f713 2024.2.0-beta.11 2024-02-09 17:10:31 +09:00
syuilo 7fc1d77893 update deps 2024-02-09 17:10:16 +09:00
syuilo b5b31bfd5b
New Crowdin updates (#13179)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Catalan)
2024-02-09 17:05:37 +09:00
dependabot[bot] 37d83df075
chore(deps): bump pnpm/action-setup from 2 to 3 (#13215)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2 to 3.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2...v3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-09 17:05:25 +09:00
syuilo c23c97d303 perf(frontend): splash screenのdomが消えない場合があるのを修正
https://github.com/misskey-dev/misskey/issues/10805
2024-02-09 16:25:58 +09:00
おさむのひと 614c9a0fc6
fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加 (#13210)
* fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加

* Serviceでチェックするように変更
2024-02-09 10:07:18 +09:00
tamaina c0cb76f0ec chore: use vite@5.1.0 / pnpm@8.15.1 2024-02-08 17:24:51 +00:00
かっこかり d40612ac52
fix(frontend): aiscriptのコードブロックでのハイライト指定を修正 (#13208) 2024-02-09 00:08:33 +09:00
かっこかり 0f7918c51b
refactor(backend): exist -> exists (#13203)
* refactor(backend): exist -> exists

* fix
2024-02-08 16:04:41 +09:00
かっこかり 90b633b5a6
fix(frontend) misskey-js type (#13202) 2024-02-08 14:15:56 +09:00
zyoshoka 5299d17060
test(frontend): migrate MSW in Storybook to v2 (#13195) 2024-02-08 13:28:49 +09:00
MeiMei 82c34f7f45
Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正 (#13196)
* Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正

* CHANGELOG
2024-02-08 13:16:22 +09:00
syuilo 52bf808d89 typo 2024-02-07 20:52:23 +09:00
かっこかり 155896a851
enhance(frontend/HorizontalSwipe): 操作性の改善 (#13038)
* Update swipe thresholds and touch-action

* スワイプ中にPullToRefreshが反応しないように

* 横スワイプに関与する可能性のある要素がある場合はスワイプを発火しないように

* update threshold

* isSwipingを外部化

* rename

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-02-07 20:02:29 +09:00
MeiMei 313ce82192
正しい 2024.2.0-beta.10 改版手順? (#13173)
* 正しい 2024.2.0-beta.10 改版手順?

* run build-misskey-js-with-types
2024-02-07 19:59:06 +09:00
1Step621 56d7f58626
Fix(frontend): MkCodeEditorで行がずれていくのを修正 (#13188)
* MkCodeEditorで行がずれていくのを修正

* update CHANGELOG.md
2024-02-07 19:58:21 +09:00
MeiMei e89d760240
Enhance: 連合向けのノート配信を軽量化 (#13192)
* AP HTML表現をシンプルに

* a

* CHANGELOG

* リンク
2024-02-07 19:57:59 +09:00
おさむのひと c81b61eb2e
fix(misskey-js): 自動生成物の冒頭からバージョンと日付を削除 (#13185) 2024-02-06 21:03:29 +09:00
かっこかり 500ea793b3
fix(bubble-game): 共有用画像のコメントにnullが入る問題を修正 (#13183) 2024-02-06 19:24:52 +09:00
Kisaragi 93e711d8a9
chore(frontend): reword possible typo (#13182) 2024-02-06 17:17:52 +09:00
1Step621 653ca7e708
CHANGELOGを修正 (#13181) 2024-02-06 16:55:21 +09:00
MeiMei d6cb68b091
AP Key の JSON-LD 表現を修正 (#13170) 2024-02-06 16:51:14 +09:00
かっこかり 6829ecb509
enhance(frontend): リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように (#13178)
* enhance(frontend): リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように

* Update Changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-02-06 16:49:57 +09:00
Soli 4bf3974abd
fix(frontend): エラー画像URLを設定した後解除すると,デフォルトの画像が表示されない問題の修正 (#13172)
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-02-06 16:47:17 +09:00
1Step621 74245df382
Enhance(frontend): フロント側でもリアクション権限のチェックをするように (#13134)
* フロント側でもリアクション権限のチェックをするように

* update CHANGELOG.md

* lint fixes

* remove unrelated diffs

* deny -> reject
denyは「(信用しないことを理由に)拒否する」という意味らしい

* allow -> accept

* EmojiSimpleにlocalOnlyを含めるように

* リアクション権限のない絵文字は打てないように(ダイアログを出すのではなく)

* regenerate type definitions

* lint fix

* remove unused locales

* remove unnecessary async
2024-02-06 16:45:21 +09:00
かっこかり edb39a089d
enhance(frontend): KeepAliveのページキャッシュを削除できるように (#13180)
* enhance(frontend): 内部のページキャッシュを削除できるように

* Update Changelog
2024-02-06 16:26:03 +09:00
かっこかり 16eccad492
enhance(frontend): シンタックスハイライトにテーマを適用できるように (#13175)
* enhance(frontend): シンタックスハイライトにテーマを適用できるように

* Update Changelog

* こっちも

* テーマの値がディープマージされるように

* 常にテーマ設定に準じるように

* テーマ更新時に新しいshikiテーマを読み込むように
2024-02-06 15:03:07 +09:00
syuilo 2f54a53062 2024.2.0-beta.10 2024-02-05 21:08:05 +09:00
zyoshoka 0df069494e
refactor(frontend): os.popup()eventsの型チェックを有効化 (#13165) 2024-02-05 15:02:30 +09:00
taichan ddfc3b8a6a
Fix(frontend): クロップ後の解像度が異様に低くなる問題の修正&クロップに失敗する問題&コメントにnullという文字列が入る問題の修正 (#13162)
* Fix(frontend): Fix resolution of cropped image (misskey-dev#11489)

* CHANGELOG

* Fix(frontend): クロップの際、folderIdがnullだと文字列のnullが送られ検索できない問題

* Fix: キャプションが存在しないときにクロップすると'null'がキャプションに入ってしまう問題 (misskey-dev#11813)

* Update CHANGELOG
2024-02-05 15:01:31 +09:00
syuilo c5ac2ae163
New Crowdin updates (#13156)
* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)
2024-02-05 11:03:55 +09:00
syuilo 03351cec0c update patrons 2024-02-05 11:03:12 +09:00
Gianni Ceccarelli dabf1867fd
keep cached avatar&banner when refresh fails to get new values (#13145)
* keep cached avatar&banner when refresh fails to get new values

when the remote explicitly tells us a user image is gone, we remove
our cached value, but if we fail to get the image, we keep whatever
value we already have

this should minimise the problem of avatars randomly disappearing

* autogen bits

* pnpm run build-misskey-js-with-types

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-04 21:03:49 +09:00
Gianni Ceccarelli bafef1f8b4
ignore instance.actor when checking if there are local users (#13146)
* ignore `instance.actor` when checking if there are local users

We've seen this happen a few times:

* there was some AP software at $some_domain
* it gets replaced by Misskey
* before the first user can be created, an AP activity comes in
* Misskey resolves the activity
* to do this, it creates the `instance.actor` to sign its request
* now there *is* a local user, so the `meta` endpoint returns
  `requireSetup:false`
* the admin is very confused

This commit factors out the check, and doesn't count the
`instance.actor` as a real user.

* autogen bits
2024-02-04 20:46:28 +09:00
atsuchan 2c4ba4723f
fix(backend): メール配信機能が無効ならばメールを送ることのないように (#13152)
Do not send email if email delivery is disabled
2024-02-04 20:44:35 +09:00
syuilo 66714d94fc
2024.2.0-beta.9 2024-02-02 21:38:15 +09:00
syuilo 580cec33a9
New Crowdin updates (#13090)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (French)
2024-02-02 21:37:21 +09:00
syuilo 6c67b2e40e fix(frontend): チャートのlegendがクリックに反応しない問題を修正
これにより発生 https://github.com/misskey-dev/misskey/pull/12926
2024-02-02 18:15:25 +09:00
かっこかり 430290c084
fix(frontend): selectUserのパラメータを調整 (#13142)
* fix(frontend): selectUserのパラメータを調整

* ついでに軽微なスタイルの修正
2024-02-02 16:49:09 +09:00
かっこかり c38f5ee528
fix(frontend): アバターデコレーションのアニメーションが止まらない (#13139)
* fix(frontend): アバターデコレーションのアニメーションが止まらない

* Update Changelog

* i -> index

* key

* revert lint fixes
2024-02-02 15:19:23 +09:00
かっこかり 9e1145df81
enhance(frontend): shiki v1に移行 (#13138)
* enhance(frontend): shiki v1に移行

* optimize chunks, エラーを握りつぶす

* wasmを分離

* バンドルサイズの警告の最小値を650kBに引き上げ

* optimize
2024-02-02 15:05:18 +09:00
zyoshoka e5876440cb
refactor(frontend): os.popup()propsの型チェックを有効化 (#13140)
* refactor(frontend): `os.popup()`の`props`の型チェックを有効化

* refactor: `ComponentProps`に書き換え

* refacor: `import type`
2024-02-02 15:04:42 +09:00
yukineko d8bdbd53ed
fix: api-docが開けない問題を修正 (#13132)
* refactor: 自己参照を使用している箇所に`selfRef`を持たせるように

* feat: スキーマ生成時に自己参照を含むかどうかを指定できるように

* fix: api.jsonにselfRefが含まれているのを修正

* refactor: 他の箇所と同様にselfRefの除去を行うように

* remove: 不要なimportを削除
2024-02-02 12:47:07 +09:00
Srgr0 3499814498
Update deploy-test-environment.yml (#13136) 2024-02-02 11:58:43 +09:00
おさむのひと 85809a240e
fix(backend): "誰でも新規登録できるようにする"の初期値をOFFにする (#13130)
* fix(backend): "誰でも新規登録できるようにする"の初期値をOFFにする

* fix CHANGELOG.md

* fix
2024-02-02 11:24:45 +09:00
tamaina 07dc99d197
「見たことのあるリノートを省略して表示」が効いていない問題を修正 (#13133)
* fix: 「見たことのあるリノートを省略して表示」が効いていない問題を修正
fix #13131

* add a comment
2024-02-02 11:24:20 +09:00
dependabot[bot] 30b48df9d9
chore(deps): bump peter-evans/slash-command-dispatch from 3 to 4 (#13124)
Bumps [peter-evans/slash-command-dispatch](https://github.com/peter-evans/slash-command-dispatch) from 3 to 4.
- [Release notes](https://github.com/peter-evans/slash-command-dispatch/releases)
- [Commits](https://github.com/peter-evans/slash-command-dispatch/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/slash-command-dispatch
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 21:45:44 +09:00
tamaina b0a38c0cae
fix: Hide reactions of all remote users / feat: moderators can see reactions of all users (#13128)
* fix: Hide reactions of all remote users
https://github.com/misskey-dev/misskey/issues/12964

* feat: Moderators can see reactions of all users
https://github.com/misskey-dev/misskey/issues/13127

* modify CHANGELOG.md

* fix iAmModerator
2024-02-01 20:05:45 +09:00
dependabot[bot] ada2c69c7d
chore(deps): bump codecov/codecov-action from 3 to 4 (#13125)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 20:04:46 +09:00
syuilo 6915fde1cf enhance(frontend): 🌸 2024-02-01 15:07:29 +09:00
1Step621 0641454c23
Fix(frontend): リバーシで自分自信を招待できるのを修正 & os.selectUser()のincludeSelfが機能していないのを修正 (#13117)
* リバーシで自分自信を招待できるのを修正 & os.selectUser()のincludeSelfが機能していないのを修正

* lint fix
2024-02-01 09:43:23 +09:00
zyoshoka 5079a4b7dd
fix(ci): misskey-js のバージョンチェックをトリガーする条件の修正 (#13116)
* fix(misskey-js): バージョンチェックのトリガー条件を修正

* chore(misskey-js): 2024.2.0-beta.8
2024-02-01 09:42:55 +09:00
おさむのひと d5860d0685
fix(frontend): styleの指定方法を変更 (#13120) 2024-01-31 20:35:07 +09:00
zyoshoka 2db5b61616
refactor(backend): User関連のスキーマ/型の指定を強くする (#12808)
* refactor(backend): User関連のスキーマ/型の指定を強くする

* refactor(backend): `pack()`の引数にスキーマを指定するように

* chore: fix ci

* fix: 変更漏れ

* fix ci

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-31 15:45:35 +09:00
syuilo 8aea3603a6 refactor(frontend): global/router -> router 2024-01-30 21:07:34 +09:00
syuilo eb078d67ab Revert "Revert "Create deploy-test-environment.yml (#13079)""
This reverts commit 4553d6426b.
2024-01-30 21:02:58 +09:00
syuilo eef46ed3c9 2024.2.0-beta.8 2024-01-30 21:00:17 +09:00
syuilo e90dea4be9 update deps 2024-01-30 20:59:44 +09:00
かっこかり 6a41afaaee
fix/refactor(reversi): 既存のバグを修正・型定義を強化 (#13105)
* 既存のバグを修正

* fix types

* fix misskey-js autogen

* Update index.d.ts

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-30 20:54:30 +09:00
yukineko a6a91fec3a
refactor: frontendのcomponentsの型エラーを改善 (#12926)
* add: safeFloatParserを追加

* fix: 欠けていた型を追加

* refactor: pageBlockTypesをjson-schemaに移植

* refactor: components/global内の型エラーが出ている箇所を修正

* lint: fix null check style

* refactor: fix type error

* refactor: fix some type errors

* fix: 翻訳が抜けていた箇所を修正

* refactor: getJsonSchemaで正しいスキーマが返されるように修正

* fix: MkChartの型エラーとbytesオプションが機能していない問題を修正

* fix(misskey-js): `drive`->`folderUpdated`のpayloadの型が間違っていたのを修正

* refactor: fix some type errors

* change: Captcha読み込み中の文言をLoadingに変更

* refactor(backend/misskey-js): MainEventの型を改善

* refactor: chartjs-plugin-gradientが二重でpluginに登録されていたのを修正

* update: misskey-js.api.md

* refactor: fix some type errors

* fix: backendのtypecheckが落ちていたのを修正

* update: misskey-js.api.md

* add: json-schemaのnoteにpollの型定義を追加

* refactor: noteのjson-schemaの型を改善

* refactor: MkPoll

* refactor: fix some type errors

* change: UserLiteにisLockedを持たせるように

* fix: notificationスキーマにroleが含まれていないのを修正

* Revert "change: UserLiteにisLockedを持たせるように"

This reverts commit 1bb0c8e7a9.

* fix: フォロー通知から鍵垢へのフォローを行うと処理中のまま止まってしまう問題を修正

* refactor: noteスキーマのvisibilityにenumを追加

* change: deepCloneのCloneableTypeにundefinedを追加

* refactor: fix some type errors

* refactor: `allowEmpty: false`を使用していた箇所を`minLength: 1`に置き換え

* enhance: API 'retension' のresponseの型を追加

* fix: Chart関連のtooltipが正しい位置に表示されない問題を修正

* refactor: fix some type errors

* fix: 型情報が不足していたのを修正

* enhance: announcementスキーマにenumを追加

* enhance: ロールポリシーの型定義をRoleServiceからjson-schemaに移植

* refactor: policiesを`ref: RolePolicies`に統一

* fix: API `meta` のレスポンスの型にpoliciesが含まれていないのを修正

* refactor: fix some type errors

* fix: backendのlintが落ちているのを修正

* fix: MkFoldableSectionの開閉時のanimationが適用されていない問題を修正

* fix: backendのtypecheckが落ちているのを修正

* update: run build-misskey-js-with-types

* fix: MkDialogのmount時に文字数制限の判定が行われない問題を修正

* update: CHANGELOG.md

* refactor: MkUserSelectDialogの型を改善

* fix: deepCloneでundefinedはcloneしないように (#9207)

* change: frontendのcloneをbackend側にも反映

* update: CHANGELOG.md

* fix: RoleServiceからPackを通して型RolePoliciesに依存させないように

* Update packages/frontend/src/scripts/get-note-summary.ts

* revert RoleService.ts changes

* change:  optional chaining -> non-null assertion

* remove: unused import

* fix: propsで渡されたuserがUserLiteの場合に意図しない動作になってしまうのを修正

* change: fix null check style

* refactor: fix type error

* change: fix null check style

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

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* refactor: css moduleでglobalを使わないように

* refactor: roleのiconUrlは必ず存在するものとして扱うように

* enhance: MenuButtonのactiveにcomputedを受け付けられるように

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

* Update MkWindow.vue

* refactor: notification.noteは必ず存在するものとして扱うように

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

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* fix: MkSignupDialogでdoneのemit時にresを含んでいなかったのを修正

* Update packages/frontend/src/scripts/clone.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* refactor: 不要な返り値の型を削除

* refactor: 不要なnullチェックを削除

* update: misskey-js-autogen

* update: clone.ts

* refactor

* Update MkNotification.vue

* Update MkNotification.vue

* ✌️

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotifications.vue

* Update MkUserSetupDialog.Profile.vue

* Update MkUserCardMini.vue

* ✌️

* Update MkMenu.vue

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-30 19:53:53 +09:00
tamaina 9ac2c36d76
iOSで大きな画像を変換してアップロードできない問題を修正 (#13109)
Fix https://github.com/misskey-dev/misskey/issues/12026
2024-01-30 15:01:24 +09:00
Kagami Sascha Rosylight e21cecefa1
test(frontend): load default config to start vite (#12867)
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2024-01-29 21:39:34 +09:00
かっこかり 4535f9b41b
fix(i18n): ストック情報とフロー情報の文言をわかりやすく変更 (#13085)
* fix(i18n): ストック情報とフロー情報をわかりやすく書き直す

* Update ja-JP.yml

* Update ja-JP.yml
2024-01-29 21:33:42 +09:00
かっこかり b62d9f3920
feat(frontend/nirax): リダイレクトを設定できるように (#13030)
* feat(frontend/nirax): リダイレクトを設定できるように

* revert demonstrative changes

* fix

* revert unrelated changes

* リダイレクトの際にパスが変わらない問題を修正

* リダイレクトが必要なrouteを設定

* fix lint

* router向けe2eテストの追加

* fix

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
2024-01-28 19:22:38 +09:00
syuilo fe7036a1a8
Update CHANGELOG.md 2024-01-28 15:09:32 +09:00
woxtu cdac3988b5
fix(backend): Fix typos in job configurations (#13086)
* Fix typos

* Update CHANGELOG
2024-01-28 15:08:45 +09:00
かっこかり 9753cce4aa
enhance(frontend): リモートのユーザーはメニューから直接リモートで表示できるように (#13087)
* enhance(frontend): リモートのユーザーはメニューから直接リモートで表示できるように

* change changelog

* Apply suggestions from code review

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-27 18:25:15 +09:00
かっこかり 30f4023c36
refactor(frontend/MediaPlayer): cssの重複を削除 (#13094)
* Update MkMediaAudio.vue

* Update MkMediaVideo.vue
2024-01-27 16:33:30 +09:00
かっこかり 15727088be
fix misskey-js version 2024-01-27 10:34:07 +09:00
おさむのひと b7270c6238
fix(dev): pnpm devで依存関係更新が一部反映されない (#13091) 2024-01-27 09:18:09 +09:00
syuilo bb330533c1
New Crowdin updates (#13082)
* New translations ja-jp.yml (Japanese, Kansai)

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

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Japanese, Kansai)
2024-01-26 14:24:38 +09:00
syuilo 5342692b1e 2024.2.0-beta.7 2024-01-24 20:31:05 +09:00
syuilo ef8eaf8e89
New Crowdin updates (#13080)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)
2024-01-24 20:29:05 +09:00
syuilo 4553d6426b Revert "Create deploy-test-environment.yml (#13079)"
This reverts commit 4de14fb5cf.
2024-01-24 17:31:34 +09:00
syuilo b33cfc2876 test 2024-01-24 17:13:58 +09:00
Srgr0 4de14fb5cf
Create deploy-test-environment.yml (#13079) 2024-01-24 17:11:52 +09:00
syuilo 60156a40b2 fix(reversi/backend): refactor and fixes 2024-01-24 16:44:12 +09:00
syuilo 5719a929ad enhance(reversi): 変則なしマッチングを可能に 2024-01-24 16:37:06 +09:00
syuilo 2b6bf074c6 2024.2.0-beta.6 2024-01-24 15:20:12 +09:00
syuilo 37d87854c2
New translations ja-jp.yml (Japanese, Kansai) (#13077) 2024-01-24 15:19:14 +09:00
syuilo d27b3525cd enhance(reversi): improve matching system 2024-01-24 15:18:50 +09:00
syuilo 7beb4ed131 fix(frontend/reversi): fix game preview 2024-01-24 14:52:19 +09:00
かっこかり 177c35e321
fix(frontend/pizzax): オブジェクトにnullがある場合に正しくマージされないのを修正 (#13073)
* fix(frontend/pizzax): オブジェクトにnullがある場合に正しくマージされない

* fix types

* マージを内製
2024-01-24 14:45:27 +09:00
syuilo ca9be872a8 2024.2.0-beta.5 2024-01-24 13:55:57 +09:00
syuilo a97d4fa4ef fix(reversi): wait redis operation to improve stability 2024-01-24 13:53:55 +09:00
syuilo 908e0f3b8b perf(reversi): set expire matchSpecific and matchAny 2024-01-24 13:51:16 +09:00
syuilo b68446b289 enhance(reversi): tweak MATCHING_TIMEOUT_MS 2024-01-24 13:32:08 +09:00
syuilo 608e7c1546 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-24 13:17:36 +09:00
syuilo a3ba315dc6 enhance(reversi): improve game setting flow 2024-01-24 13:17:34 +09:00
syuilo df5f14ca7a
New translations ja-jp.yml (Japanese, Kansai) (#13074) 2024-01-24 10:52:47 +09:00
syuilo d060bb44e1 enhance(reversi): improve stability 2024-01-24 10:51:49 +09:00
syuilo 645f5e8633 enhance(reversi): 開始時に対局をシェアできるように 2024-01-24 10:36:02 +09:00
syuilo 547be1973d fix of 65557d5f27 2024-01-24 10:35:44 +09:00
syuilo 65557d5f27 enhance(reversi): more robust matching process 2024-01-24 10:16:05 +09:00
syuilo cc420c245f enhance(reversi): 準備中の自分の対局も一覧に表示するように 2024-01-24 09:41:22 +09:00
syuilo 443d1b2f5c Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-24 09:31:06 +09:00
syuilo 1f8d275094 🎨 2024-01-24 09:30:38 +09:00
かっこかり 2efcb27043
fix(frontend/HorizontalSwipe): スワイプ・UIアニメーションが無効の際はトランジションを行わないように (#13076)
* fix(frontend/HorizontalSwipe): アニメーションを減らすが考慮されるように

* fix

* fix

* revert unused change

* fix
2024-01-24 09:22:51 +09:00
syuilo 298bc34eaf 2024.2.0-beta.4 2024-01-23 10:54:04 +09:00
syuilo 62f6f6af02
New Crowdin updates (#13061)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)
2024-01-23 10:53:47 +09:00
syuilo e8ba0b3f54 enhance(reversi): improve desync handling 2024-01-23 10:51:59 +09:00
syuilo f48f7149f8 🎨 2024-01-23 09:43:54 +09:00
まっちゃとーにゅ d2ccce6366
fix(build): スクリプトの名前の変更漏れ (#13068)
* fix(build): スクリプトの名前の変更漏れ

* 漏れの漏れ
2024-01-23 07:57:56 +09:00
tamaina af2d81a990
perf: (productionの)dependenciesから@typesを削除、reversi/bubble-gameをesbuildにする (#13067)
* perf: (productionの)dependenciesから@typesを削除、reversi/bubble-gameをesbuildにする

* fix

* fix
2024-01-23 06:36:44 +09:00
ikasoba 58ac8bc8e9
修正できたかも (#13066) 2024-01-23 06:35:15 +09:00
tamaina 2ee5507d06 fix of #13014 (misskey-js publish) 2024-01-22 15:25:22 +00:00
tamaina 31a39776f5
chore: publish misskey-js automatically (#13014)
* chore: publish @misskey-dev/misskey-js

* remove @misskey-dev/

* ??

* correct version

* version
2024-01-23 00:19:43 +09:00
syuilo 5e307e472d 2024.2.0-beta.3 2024-01-22 18:33:40 +09:00
syuilo e0ad066382 fix lint 2024-01-22 18:32:32 +09:00
syuilo 99fe03bd4d 🎨 2024-01-22 18:31:59 +09:00
おさむのひと 850d38414e
fix: 2024-01-22 10:50時点のdevelopにてCIがコケている (#13060)
* fix: バブルゲームのビルド失敗修正

* fix: api.jsonの定義誤りを修正

* fix: lint.yml(typecheck)

* fix: fix eslint error

* fix: frontend vitest version

* fix: frontend vitest version

* fix:

* fix: cypress

* fix: misskey-js test

* fix: misskey-js tsd(tsdはpakcage.jsonのexportsをサポートしない?)

* fix: conflict

* fix: 間違えて上書きしたところを修正

* fix: 再

* fix: api.json

* fix: api.json

* fix: タイムアウト延長

* Update packages/misskey-js/jest.config.cjs

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-01-22 18:01:54 +09:00
syuilo d380ed36de fix lint 2024-01-22 18:00:46 +09:00
syuilo 5c8888d6a8 enhance(reversi): render ogp 2024-01-22 17:59:12 +09:00
syuilo 4af3640bd3 fix lint 2024-01-22 17:44:03 +09:00
syuilo 94e282b612 perf(reversi): improve performance of reversi backend 2024-01-22 15:41:29 +09:00
syuilo 259992c65f enhance(reversi): some tweaks 2024-01-22 12:03:32 +09:00
syuilo 67f6157d42 2024.2.0-beta.2 2024-01-22 09:30:00 +09:00
syuilo 0cfeb42786
New Crowdin updates (#13056)
* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Danish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Croatian)

* New translations ja-jp.yml (Uyghur)

* New translations ja-jp.yml (Lojban)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Haitian Creole)

* 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 (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)
2024-01-22 09:29:26 +09:00
syuilo a431dde537 refactor(reversi): refactoring of reversi backend 2024-01-22 09:29:06 +09:00
かっこかり 4f95b8d9d2
fix(frontend/pizzax): デフォルト値が適用できないことがあるのを修正 (#13057)
* fix(frontend/pizzax): デフォルト値が適用できないことがあるのを修正

* fix

* いらんプロパティをけす
2024-01-22 09:20:56 +09:00
syuilo 9eb0468cd2 2024.2.0-beta.1 2024-01-22 09:14:45 +09:00
syuilo 1a01a85182 perf(reversi): improve performance of reversi backend 2024-01-22 08:39:38 +09:00
syuilo 3ff229af6f enhance(frontend): リファクタリングなど 2024-01-21 20:26:52 +09:00
かっこかり 3784b39a5f
enhance(frontend): 季節に応じた画面の演出を南半球に対応させる (#12838)
* (enhance) 季節に応じた画面の演出を南半球に対応させる

* Update Changelog

* (add) 半球の簡易自動判定

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-21 19:08:07 +09:00
dependabot[bot] 676ee87963
chore(deps-dev): bump vite in /scripts/changelog-checker (#13040)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.11 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 19:05:02 +09:00
syuilo b52fe6cc86
New Crowdin updates (#12845)
* New translations ja-jp.yml (French)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Thai)

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

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

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

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

* 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 (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 (Chinese Traditional)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (German)

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

* 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 Simplified)

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* 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 (Chinese Simplified)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

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

* New translations ja-jp.yml (Chinese Simplified)
2024-01-21 18:44:51 +09:00
syuilo f4657eb16f update deps 2024-01-21 18:43:01 +09:00
1Step621 90e0a6e2c3
Enhance(frontend): 絵文字編集ダイアログをウィンドウにする (#13047)
* 絵文字編集ダイアログをウィンドウにする

* update CHANGELOG.md
2024-01-21 18:30:05 +09:00
かっこかり 0580ba1fb5
enhance(frontend): タイムラインフィルターの設定を保持+センシティブなノートを隠せるように (#12848)
* (enhance) タイムラインフィルターの状態を記憶するように

* fix

* (enhance) センシティブな投稿をミュート形式で表示する(TLのみ)

* fix

* Update Changelog

* Fix changelog

* Lintエラーを潰す

* Update locales/ja-JP.yml

* hideSensitive -> withSensitive

* Update CHANGELOG.md

* Update ja-JP.yml

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-21 18:29:17 +09:00
かっこかり fb309f3d4f
return a Vary: Accept header for all dual-format endpoints #365 (#13044)
`/users/:user`, `/@:user`, `/notes/:note` return different responses
depending on the request's `Accept:` header. If we don't consistently
return a `Vary: Accept` header, browsers and caching proxies will get
confused, and return AP representations when HTML was requested, or
vice versa.

Co-authored-by: dakkar <dakkar@thenautilus.net>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-21 18:14:42 +09:00
syuilo 4c87e98e12 fix(frontend): MkHorizontalSwipeでメニューを閉じるのに2回クリックが必要になる問題を修正
#13055
2024-01-21 18:08:49 +09:00
syuilo b3cc17ea0d enhance(reversi): tweak reversi 2024-01-21 17:08:36 +09:00
syuilo 6039f27bd5 enhance(reversi): tweak reversi 2024-01-21 12:05:51 +09:00
かっこかり 4de77784c9
enhance(sw): オフライン表示のデザインを改善 (#13052)
* enhance(sw): オフライン表示のデザインを改善

* Update Changelog

* fix

* fix

* fix

* 言語が取得できなかった場合のフォールバックを追加

* (change) translation key
2024-01-21 11:50:05 +09:00
syuilo a17251d913 enhance(reversi): tweak reversi 2024-01-21 10:07:43 +09:00
かっこかり 576484835e
enhance(frontend): ノート作成画面の添付メニューから直接ファイルを消せるように (#12858)
* (enhance) 添付画面から直接ファイルを消せるように

* Update Changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-21 05:26:13 +09:00
syuilo fcd7ffe956 enhance(reversi): tweak reversi 2024-01-20 21:23:33 +09:00
syuilo 7d57487026 Update Dockerfile 2024-01-20 18:14:20 +09:00
syuilo c48d9cca0f Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-20 18:12:27 +09:00
syuilo 3cb543f75d enhance(reversi): tweak reversi
Resolve #13048
2024-01-20 18:12:24 +09:00
1Step621 c115b8e322
Fix(frontend): 日本語のUnicode絵文字追加辞書をインストールすると絵文字ピッカーでUnicode絵文字を検索できなくなるのを修正 (#13046)
* 絵文字辞書のサロゲートペアを修正

* update CHANGELOG.md

* Revert "update CHANGELOG.md"

This reverts commit 7c24fa611a.
2024-01-20 17:28:21 +09:00
syuilo f6b7754fb1 🎨 2024-01-20 15:52:35 +09:00
syuilo 3bf3ba450c enhance(reversi): tweak reversi 2024-01-20 14:51:40 +09:00
syuilo 094c6e32ff add missing ext 2024-01-20 14:05:09 +09:00
syuilo cb74b61755 fix api-extractor 2024-01-20 14:01:27 +09:00
syuilo 1de29e5566 refactor: migrate to ESM 2024-01-20 13:57:03 +09:00
syuilo b9a81edae5 enhance(reversi): tweak reversi 2024-01-20 13:14:46 +09:00
syuilo f86d0186d2 fix(dev): fix pnpm dev 2024-01-20 11:18:53 +09:00
syuilo 151e3bc940 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-20 11:11:23 +09:00
syuilo 44b8ac135f fix(dev): fix workspace settings 2024-01-20 11:11:20 +09:00
かっこかり 272590ef94
fix lint 2024-01-20 10:10:37 +09:00
syuilo 79eac66d39 tweak reversi map 2024-01-20 10:02:09 +09:00
syuilo e2985cf122 lint fixes 2024-01-20 09:59:04 +09:00
syuilo bc7b2f1876 lint fix 2024-01-20 09:56:13 +09:00
syuilo 91522381b6 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-20 09:53:29 +09:00
syuilo 952386ba8f refactor: extract bubble-game engine as independent package 2024-01-20 09:53:26 +09:00
Acid Chicken (硫酸鶏) 7881f06be0
refactor: deprecate i18n.t (#13039)
* refactor: deprecate i18n.t

* revert: deprecate i18n.t

This reverts commit 7dbf873a2f.

* chore: reimpl
2024-01-20 08:11:59 +09:00
syuilo a637b4e282 feat: reversi
Resolve #12962
2024-01-19 20:51:49 +09:00
1Step621 678dba9245
Enhance(frontend): MFMの属性にオートコンプリートが利用できるように (#12803)
* MFMのパラメータでオートコンプリートできるように

* tweak conditions & refactor

* ファイル末尾の改行忘れ

* remove console.log & refactor

* 型付けに敗北

* fix

* update CHANGELOG.md

* tweak conditions

* CHANGELOGの様式ミス

* CHANGELOGを書く場所を間違えていたので修正

* move changelog

* move changelog

* typeof MFM_TAGS[number]

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* $[border.noclip ]対応

* Update const.ts

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-19 18:50:26 +09:00
AsukaMari b17eb8e537
fix: Some fixes for #12850 (#12862)
- refinement the error message when trueMail validation fails
- the settings of trueMail are not displayed after saving
- changing how `Active Email Validation` is saved
2024-01-19 18:48:30 +09:00
Korange 8be977b32b
「外部サイトからインストール」のパスを /install-extensions に変更 (#12991)
* /install-extensionsに変更

* CHANGELOG.mdに追記

* 旧パスも利用できるように
2024-01-19 18:46:53 +09:00
かっこかり 3ad2732375
fix(frontend/HorizontalSwipe): ページの要素がはみ出る問題を修正 (#13036) 2024-01-19 17:19:06 +09:00
Acid Chicken (硫酸鶏) d85085d16f
refactor: style 2024-01-19 11:54:00 +09:00
Acid Chicken (硫酸鶏) 43401210c3
refactor: fully typed locales (#13033)
* refactor: fully typed locales

* refactor: hide parameterized locale strings from type data in ts access

* refactor: missing assertions

* docs: annotation
2024-01-19 07:58:07 +09:00
かっこかり c1019a006b
feat(frontend): 横スワイプでタブを切り替える機能 (#13011)
* (add) 横スワイプでタブを切り替える機能

* Change Changelog

* y方向の移動が一定量を超えたらスワイプを中断するように

* Update swipe distance thresholds

* Remove console.log

* adjust threshold

* rename, use v-model

* fix

* Update MkHorizontalSwipe.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* use css module

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-18 18:21:33 +09:00
かっこかり 67a41c09ae
fix(frontend/MediaVideo): 再生シークバーの当たり判定を調整 (#13027)
* fix(frontend/MediaVideo): 再生シークバーの当たり判定を調整

* fix
2024-01-18 14:45:11 +09:00
FineArchs fc7cd636a3
refactor: MkCodeをブロックとインラインで別コンポーネント化する (#13026)
* Create MkCodeInline.vue

* Update MkCode.vue

* Update MkMisskeyFlavoredMarkdown.ts

* Update flash.vue

* Update MkCodeInline.vue
2024-01-18 12:16:12 +09:00
syuilo 1e237a7df5 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-18 11:19:45 +09:00
syuilo 1dcf25c24f chore(drop-and-fusion): bump version 2024-01-18 11:19:43 +09:00
FineArchs 9a40b366a3
MkCodeにコピーボタンを追加 (#12999)
* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-18 10:53:29 +09:00
syuilo 945d6a2b09 enhance(drop-and-fusion): ゲームバランスの調整など 2024-01-17 20:11:32 +09:00
a 0283142d0e
Fix: properly handle cc followers (#13009)
* Fix: properly handle cc followers

Fix #13001

* Update CHANGELOG.md

* Fix syntax error
2024-01-17 18:19:20 +09:00
FineArchs bcb4560f0d
$[border ...]にクリッピング機能を追加 (#13002)
* Update MkMisskeyFlavoredMarkdown.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update CHANGELOG.md

* Set clipping as default
2024-01-17 17:42:19 +09:00
かっこかり 8db800ed98
enhance(frontend): チャンネルノートの場合はその前後を見れるように (#13019)
* チャンネルノートの場合はその前後を見れるように

* Update Changelog
2024-01-17 15:22:07 +09:00
1Step621 acab9ccb81
Enhance(frontend): MkCustomEmojiDetailedDialogを調整 (#13015)
* MkEmojiDetailedDialogを調整

* 絵文字ライセンスでMFMを使えるように

* <a> -> <MkLink>

* 入力ボックスでmfmのオートコンプリートを効かせる
2024-01-17 14:29:24 +09:00
ikasoba bc5aebe956
enhance(frontend): ページ遷移時にPlayerを閉じるように (#13013)
* なんかできた

* update changelog.md

* onDeactivatedを使うように
2024-01-17 13:26:36 +09:00
かっこかり c971edd2dd
(style) sticky系フッターのデザイン調整 (#13005) 2024-01-17 09:32:52 +09:00
かっこかり 8b0fdfcd69
enhance: 動画・音声周りのUIと動作改良 (#12925)
* wip

* (fix) `/files` をバイトレンジリクエストに対応させる

* video

* audio

* fix

* fix

* spdx

* fix (rangeRequest)

* fix

* Update CHANGELOG.md

* (add) ボリュームを保存できるように

* (fix) ミュート復帰時に音量が固定される

* named export

* tweak design

* Add sensitive class for audio component

* Refactor seekbar styles

* Refactor hms

* Revert "(add) ボリュームを保存できるように"

This reverts commit 6271f9493b.

* Revert "(fix) ミュート復帰時に音量が固定される"

This reverts commit a65002b56e.

* revert revert changes

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-15 18:17:01 +09:00
syuilo 3d83c1aaba enhance(frontend): dedicated games page 2024-01-15 13:51:59 +09:00
YS d92aaf81c4
refactor: noteテーブルのインデックス整理と配列カラムへのクエリでインデックスを使うように (#12993)
* Optimize note model index

* enhance(backend): ANY()をやめる (MisskeyIO#239)

* add small e2e test drive endpoint

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-01-15 08:19:27 +09:00
かっこかり 0ea8e0c25c
enhance(frontend) 日本語の拡張絵文字辞書を追加 (#12855)
* Create ja-JP.json

* Update general.vue

* Update ja-JP.json

* Update ja-JP.json

* Update ja-JP.json

* fix

* fix design

* (Add) ひらがな [wip]

* fix lint

* Apply suggestions from code review

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* (add) ja-JP_hira

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* (enhance) 言語名をちゃんと表示するように

---------

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>
2024-01-14 16:04:48 +09:00
GrapeApple0 ec4e57bb67
fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように (#12988)
* fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように

* Update CHANGELOG.md

* Update CHANGELOG.md
2024-01-14 15:57:26 +09:00
かっこかり 12142a221a
enhance(frontend): Playの説明欄にMFMを使えるように (#12899)
* (enhance) Playの説明欄にMFMを使えるように

* Update Changelog

* use class for mfm component

* Update packages/frontend/src/pages/flash/flash-edit.vue

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>

* Update flash.vue

* Update CHANGELOG.md

---------

Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>
2024-01-14 15:31:11 +09:00
ikasoba 79a9defa0c
完成 (#12980) 2024-01-14 15:30:21 +09:00
syuilo fc4c868269 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-14 13:00:00 +09:00
syuilo 27dc0d3530 enhance(drop-and-fusion): sweets mode 2024-01-14 12:59:58 +09:00
おさむのひと 57017f2747
feat(CI): CHANGELOG.mdの追記個所をチェックするCIを追加 (#12963)
* feat(CI): CHANGELOG.mdの追記個所をチェックするCIを追加

* fix

* remove strategy

* fix

* fix
2024-01-13 21:17:30 +09:00
FineArchs bc8a741e14
feat: 枠線をつけるMFMを追加 (#12981)
* Update MkMisskeyFlavoredMarkdown.ts

* Update const.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update CHANGELOG.md
2024-01-13 21:17:00 +09:00
syuilo 4846ab077b enhance(drop-and-fusion): refactor and new mode(wip) 2024-01-13 18:03:31 +09:00
syuilo 920888ed2a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-13 17:06:43 +09:00
syuilo c26c01c7a0 fix type 2024-01-13 17:06:41 +09:00
zyoshoka d792f4f348
fix(backend): 虚無ノートを投稿できる問題の修正と api.json の OpenAPI Specification 3.1.0 への対応 (#12969)
* fix(backend): `text: null`だけのノートは投稿できないように

* add test

* Update CHANGELOG.md

* chore: bump OpenAPI Specification from 3.0.0 to 3.1.0

* chore: テストがすでにコメントで記述されていたのでそっちを使うことにする

* fix test

* fix(backend): prohibit posting whitespace-only notes

* Update CHANGELOG.md

* fix(backend): `renoteId`または`fileIds`(`mediaIds`)または`poll`が`null`でない場合に、`text  が空白文字のみで構成されたリクエストになることを許可して、結果は`text: null`を返すように

* test(backend): 引用renoteで空白文字のみで構成されたtextにするとレスポンスが`text: null`になることをチェックするテストを追加

* fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように

* fix(misskey-js): OpenAPI 3.1に対応

* fix(misskey-js): 型生成をOpenAPI Specification 3.1.0に対応

* fix(ci): `validate-api.json`をOpenAPI Specification 3.1.0に対応

* fix(ci): スキーマ書き換えの際のミスを修正

* Revert "fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように"

This reverts commit a9ca55343d.

* fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように

* Revert "fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように"

This reverts commit 865458989f.

* fix(misskey-js): `openapi-parser`で`validate`のかわりに`parse`を用いるように

* Update CHANGELOG.md
2024-01-13 16:54:25 +09:00
syuilo 79370aaee2 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-13 15:45:25 +09:00
syuilo 18a5e377f4 tweak 2024-01-13 15:45:23 +09:00
1Step621 19fe32bd7e
Feat(frontend): リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように (#12984)
* リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように

* update CHANGELOG.md

* fix locale & type errors

* fix locale etc

* fix

* fix type

* lint fixes

* lint fixes(2)
2024-01-13 15:25:11 +09:00
syuilo d246f6c360 enhance(drop-and-fusion): some tweaks 2024-01-13 14:57:06 +09:00
syuilo 5503ad9d1a clean up 2024-01-13 12:01:18 +09:00
syuilo 7b0f5b50fc refactor(drop-and-fusion): some refactors 2024-01-13 12:00:12 +09:00
syuilo 6177fcb2f5 perf(drop-and-fusion): remove root Transition component for improve performance 2024-01-13 11:49:47 +09:00
syuilo c33f56e3ed refactor(drop-and-fusion): レンダリングや効果音に関する関心をエンジンから分離 2024-01-13 11:43:13 +09:00
syuilo b13410df02 enhance(drop-and-fusion): some tweaks 2024-01-13 09:08:44 +09:00
syuilo 87ffc672dd enhance(drop-and-fusion): yenモードで生涯で稼いだ額を記録するように 2024-01-12 21:01:38 +09:00
syuilo 5672ead957 Update 10000yen.png 2024-01-12 20:45:57 +09:00
syuilo 0aefebf02a enhance(drop-and-fusion): some tweaks 2024-01-12 20:38:04 +09:00
syuilo 271407312e chore(drop-and-fusion): tweak sounds 2024-01-12 17:55:27 +09:00
syuilo c2a9a7b69e enhance(drop-and-fusion): tweak sounds 2024-01-12 17:34:24 +09:00
syuilo b920435068 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-12 15:29:22 +09:00
zyoshoka 1aeede97f5
refactor(frontend): activity.heatmap.vueをコンポーネントに置換 (#12967) 2024-01-12 15:29:06 +09:00
syuilo a5ea7c976b chore(drop-and-fusion): bump version 2024-01-12 15:28:41 +09:00
syuilo d2063df78d enhance(drop-and-fusion): add new mode, some tweaks 2024-01-12 14:48:44 +09:00
かっこかり be57ff4985
run pnpm build-misskey-js-with-types (#12972) 2024-01-11 23:41:22 +09:00
syuilo cf54c2ba47 feat: ranking system of bubble game
Resolve #12961
2024-01-11 18:13:39 +09:00
syuilo 762fa6a8d8 enhance(drop-and-fusion): make game engine headless for server-side running 2024-01-11 12:34:03 +09:00
syuilo 36fd7d17cf enhance(drop-and-fusion): some tweaks 2024-01-10 19:54:59 +09:00
syuilo 5c786cace8 enhance(drop-and-fusion): add game description 2024-01-10 17:31:59 +09:00
1Step621 c1c363bf08
Enhance(frontend): 絵文字ピッカー/オートコンプリートで完全一致の絵文字を優先するように (#12928)
* 絵文字ピッカー/オートコンプリートで完全一致の絵文字を優先するように

* update CHANGELOG.md

* improve performance
2024-01-10 15:06:04 +09:00
syuilo 4bd9f664d7 enhance(drop-and-fusion): some tweaks 2024-01-10 13:44:00 +09:00
syuilo 3d9e42efca enhance(drop-and-fusion): リプレイの倍速再生対応 2024-01-10 11:38:49 +09:00
まっちゃとーにゅ 138a248a6c
fix(drop-and-fusion): バブルゲームのリトライボタンでリトライができない問題を修正 (#12957)
ゲーム中なら諦める、ゲームオーバー画面の表示中はリスタートになるように
2024-01-10 10:40:09 +09:00
FineArchs 6bae440f39
bump aiscript version to 0.17.0 (#12955)
* bump aiscript version to 0.17.0

* Update CHANGELOG.md
2024-01-10 09:47:47 +09:00
syuilo f5b864df7b
fix(frontend): fix game replay 2024-01-10 07:26:16 +09:00
FineArchs 7e52ea4818
Update CHANGELOG.md (#12953) 2024-01-10 00:44:13 +09:00
Camilla Ett 358dc6289b
Enhance(frontend): 管理者の場合はAPI tokenの発行画面で管理機能に関する権限を付与できるように (#12944)
* Enhance(frontend): 管理者の場合はAPI tokenの発行画面で管理機能に関する権限を付与できるように

* update CHANGELOG.md

* tweak style

* (refactor) remove unnecessary imports

* fix lint

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <daisho7308+f@gmail.com>
2024-01-09 21:18:09 +09:00
syuilo 1063d39de8 enhnace(frontend): tweak game 2024-01-09 21:15:56 +09:00
syuilo 14aedc17ae update sound 2024-01-09 16:06:22 +09:00
かっこかり 0d7f9308cc
enhance(frontend): バブルゲームの諸々を修正・改良2 (#12948)
* (fix) ゲームが正常に終了するように

* (enhance) 効果音の音量を設定可能に

* (add) store

* (add) スクショにロゴの透かしを入れる

* Update packages/frontend/src/pages/drop-and-fusion.vue

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

* tweak

* tweak

* tweak

* tweak

* Update drop-and-fusion.vue

* tweak

* tweak

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-01-09 13:25:33 +09:00
おさむのひと 34088ecd27
feat(ci): api.jsonのバリデーションチェックCIを追加 (#12950)
* feat(ci): api.jsonのバリデーションチェックCIを追加

* fix name
2024-01-09 08:34:23 +09:00
おさむのひと 0f9e3bccef
refactor(CI): 修正範囲と関係ないActionsが走るのを抑止する (#12918)
* refactor?: 修正範囲と関係ないActionsが走るのを抑止する

* fix

* バックエンドの対象にmisskey-jsを追加&フロントエンドの対象にmisskey-jsとbackendを追加
2024-01-08 23:51:31 +09:00
FineArchs 64de87438e
Update CHANGELOG.md (#12949) 2024-01-08 18:51:08 +09:00
かっこかり 5dcd8c827b
Update CHANGELOG.md (項目の順番の修正) 2024-01-08 17:56:41 +09:00
おさむのひと 35ec41fc1e
enhance(backend): テストの高速化 (#12939)
* enhance(backend): テストの高速化

* add ls

* 自動的にマージされるようなので不要

* 起動方法を揃える

* fix test
2024-01-08 17:43:52 +09:00
zyoshoka 618e2ba1d2
fix(backend): drive/files/updateにおけるファイル名のバリデーションが機能していない問題を修正 (#12923)
* fix(backend): `drive/files/update`におけるファイル名のバリデーションが機能していない問題を修正

* Update CHANGELOG.md

* refactor: `!== undefined` -> `!= null`

* add test
2024-01-08 17:40:37 +09:00
おさむのひと 04f9147db6
refactor(frontend): router.ts解きほぐし (#12907)
* refactor(frontend): router.ts解きほぐし

* add debug hmr option

* fix comment

* fix not working

* add comment

* fix name

* Update definition.ts

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-08 14:44:43 +09:00
syuilo 0ed2a220f4 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-08 12:46:23 +09:00
syuilo e9c3fe1228 enhance(frontend): add game bgm and refactor sound system 2024-01-08 12:46:20 +09:00
Kagami Sascha Rosylight 0c2118e963
refactor: make sure promises are settled before app shutdown (#12942)
👍
2024-01-08 12:28:13 +09:00
syuilo 145d28a8e4 refactor(frontend): extract game engine from vue component 2024-01-08 11:13:20 +09:00
かっこかり 6a02dfdd3b
enhance(frontend): バブルゲームの諸々を修正・改良 (#12938)
* enhance(frontend): バブルゲームのテクスチャをゲーム開始時にキャッシュするように

* (fix) カーソルが枠線内を動くように

* (add) 最大コンボ数を表示するように

* (add) 実績を追加

* Update ja-JP.yml

* tweak

* tweak flavor

* perf tweak

* refactor

* perf tweak

* lint

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-08 11:02:05 +09:00
syuilo 831131864f Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-08 10:23:05 +09:00
syuilo 1bd7693416 Update logo.png 2024-01-08 10:23:03 +09:00
かっこかり 5251cd3aad
(refactor) api呼び出し関数のレスポンス型を必要に応じてオーバーライドできるように (#12936) 2024-01-08 08:13:36 +09:00
zyoshoka 0e536bdd86
refactor(frontend): widgets/server-metric内の型エラーを除去 (#12937) 2024-01-07 23:56:46 +09:00
syuilo fd519f5def update game logo 2024-01-07 20:26:37 +09:00
syuilo 0d830d720a enhance(frontend): tweak ui 2024-01-07 16:32:52 +09:00
syuilo 0d49e94982 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-07 16:03:36 +09:00
syuilo e6022c0d51 enhance(frontend): tweak game 2024-01-07 16:03:23 +09:00
Kagami Sascha Rosylight 5e71418d5c
fix(frontend/emoji) restore U+FE0F for simple emojis (#12866)
* fix(frontend/emoji) restore U+FE0F for simple emojis

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-07 16:02:53 +09:00
syuilo c6a4caa8be refactor 2024-01-07 14:32:57 +09:00
syuilo 1d1780081e enhance(frontend): ゲームのシェア機能 2024-01-07 14:21:19 +09:00
FineArchs 622a09f8ed
Fix: Mk:C:mfmonClickEvが正常に呼び出されない問題を修正 (#12831)
* fix clickable api

* Update CHANGELOG.md

* revert CHANGELOG.md

* Update CHANGELOG.md
2024-01-07 13:29:17 +09:00
syuilo 00e195f50b tweak game 2024-01-07 13:19:10 +09:00
syuilo 8bf6d31334 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-07 10:36:08 +09:00
Kagami Sascha Rosylight 2a9db983fc
feat: export clips (#12931)
* feat: export clips

* Update CHANGELOG.md
2024-01-07 10:35:58 +09:00
syuilo 4ea030d669 tweak game 2024-01-07 10:35:39 +09:00
_ f2dee7b25e
Fix: リストライムラインの「リノートを表示」が正しく機能しない問題を修正 (#12932)
* fix: list timeline withRenotes

* add CHANGELOG
2024-01-07 09:57:01 +09:00
syuilo a0976772b3 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-07 09:24:07 +09:00
syuilo 0815a5235d tweak game 2024-01-07 09:24:04 +09:00
Kagami Sascha Rosylight 9eae82de1d
chore(dependabot) open-pull-requests-limit=10?
Somehow it's not opening any PR, so try higher count
2024-01-06 13:33:56 +01:00
syuilo 746367004e feat(frontend): add new game 2024-01-06 20:15:28 +09:00
Chocolate Pie 072f67d6e7
feat: Add support for mCaptcha (#12905)
* feat: Add support for mCaptcha

* fix: Fix docker compose configuration

* chore(frontend/docs): update changelog & fix eslint errors

* `@mcaptcha/vanilla-glue`をダイナミックインポートするように

* chore: Add missing prefix to CHANGELOG

* refactor(backend): 適当につけた変数の名前を変更
2024-01-06 20:14:33 +09:00
zyoshoka b55a6a80e1
refactor(frontend): scripts/form.tsの型定義を修正してTS2344/TS2345エラーを削減 (#12913) 2024-01-06 18:43:28 +09:00
riku6460 24645e3d3d
enhance(backend): ActivityPub 周りで連合先から HTTP 429 Too Many Requests を受け取った際にジョブをリトライするように (#12917)
* enhance(backend): ActivityPub 周りで HTTP 429 Too Many Requests を受け取った際にリトライするように

* add to changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-06 09:40:08 +09:00
MeiMei d415fd29a3
enhance(backend): ActivityPub Deliver queueでBodyを事前処理するように (#12916)
* Pre-processing deliver body

* CHANGELOG

* ループ内で計算されると意味がないので

* 同じ処理を同じ形に

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-01-06 09:07:48 +09:00
syuilo 7768385be2 refactor(frontend): reduce type errors 2024-01-05 15:25:26 +09:00
syuilo 2177792a3c refactor(frontend): reduce type errors 2024-01-05 12:52:24 +09:00
syuilo 9e20065496 refactor(frontend): reduce type errors 2024-01-05 12:38:06 +09:00
syuilo 2cd32b2248 refactor(frontend): reduce type errors 2024-01-05 12:33:47 +09:00
おさむのひと fa9c4a19b9
refactor(frontend): os.tsに引き込んだscripts/api.tsの再exportをやめる (#12694)
* refactor(frontend): os.tsに引き込んだscripts/api.tsの再exportをやめる

* fix

* fix

* renate to "misskeyApi"

* rename file
2024-01-04 18:32:46 +09:00
syuilo ea41cc6ec0 refactor(frontend): reduce type errors 2024-01-04 15:30:40 +09:00
syuilo 9716ea0324 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-01-04 15:20:25 +09:00
syuilo 02978d0247 lint 2024-01-04 15:20:23 +09:00
MeiMei 6598d320d6
enhance: Use SI prefixes for job queue widget, extends bytes (#12896)
* Use SI prefixes for job queue widget

* a

* bytes

* lint
2024-01-04 13:04:00 +09:00
FineArchs f8d5a46dbf
Fix: AiScriptのreadlineの修正をPlay以外にも適用 (#12841)
* add AiScriptReadline() in api.ts

* apply AiScriptReadline on flash.vue

* AiScriptReadline → aiScriptReadline

* Update flash.vue

* Update scratchpad.vue

* Update WidgetAiscript.vue

* Update WidgetAiscriptApp.vue

* Update WidgetButton.vue

* Update plugin.ts
2024-01-04 12:26:57 +09:00
syuilo da154c8209
Update ROADMAP.md 2024-01-04 08:44:38 +09:00
Camilla Ett b46f431a2e
fix(frontend): モデレーターがユーザーのアバターバナーを未設定状態に出来る機能が表示されていなかった問題を修正 (#12889)
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-03 16:41:38 +09:00
かっこかり 30c3f6a222
(fix) MkFormDialogにせっていできる項目がない場合はその旨を表示するように (#12837) 2024-01-03 13:42:09 +09:00
おさむのひと 30311aca18
fix(misskey-js): /signupと/signinの定義を作成してフロントの型エラーを抑制する (#12846)
* fix(misskey-js): /signupと/signinの定義を復活してフロントの型エラーを抑制する

* fix ci

* fix ci

* fix

* fix

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2024-01-03 13:41:28 +09:00
かっこかり a9127e3ecd
enhance(frontend): チャンネルノートのピン留めをノートメニューからできるように (#12887)
* enhance(frontend): チャンネルノートのピン留めをノートメニューからできるように

* Update Changelog
2024-01-03 13:35:40 +09:00
Camilla Ett 58469c0a69
enhance(frontend): カスタム絵文字追加画面の「タグ」の説明を追加 (#12888) 2024-01-03 08:07:04 +09:00
かっこかり 9c5559a570
(fix) MkButtonがリンクのときホバー時にunderlineが出る問題を修正 (#12849) 2024-01-02 17:48:11 +09:00
かっこかり 3187c6b28d
refactor(frontend): MkNumberのアニメーションを内製してgsapを削除 (#12859)
* (refactor) MkNumberのアニメーションを内製

* 秒数調整

* fix

* fix pnpm-lock

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

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

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-02 16:55:02 +09:00
Kagami Sascha Rosylight 09aba4cf16
chore(backend/logger): log data for every level if exists (#12863) 2024-01-02 16:52:51 +09:00
かっこかり 5498ec57d0
fix(frontend): MkCodeEditorのデータバインディングを修正 (#12885)
* (fix) MkCodeEditorの双方向データバインディング

* fix
2024-01-02 14:53:28 +09:00
Kagami Sascha Rosylight 4893cce43c
chore(dependabot): try enabling again 2023-12-31 19:48:27 +01:00
syuilo a40ededf6b
2024 2024-01-01 00:30:56 +09:00
syuilo 379079ee42 chore(frontend): update vue to 3.4 2023-12-31 17:01:56 +09:00
tamaina 1d5a0d0777
chore: use @misskey-dev/eslint-plugin (#12860)
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-12-31 15:26:57 +09:00
tamaina 2a33981811
chore: use summaly, browser-image-resizer, and sharp-read-bmp on registry.npmjs.org instead of git (#12856)
* chore: use @misskey-dev/summaly on registry.npmjs.org instead of git

* fix backend dependency

* fic backend dependency

* @misskey-dev/sharp-read-bmp

* fix

* use @misskey-dev/browser-image-resizer
2023-12-31 09:45:35 +09:00
woxtu c0466d1585
Convert symbols to strings explicitly (#12844) 2023-12-31 07:51:58 +09:00
syuilo 339acd2644
Merge pull request #12828 from misskey-dev/develop
Release: 2023.12.2
2023-12-28 08:31:51 +09:00
syuilo 53898c5006
Merge pull request #12771 from misskey-dev/develop
Release: 2023.12.1
2023-12-27 21:28:38 +09:00
syuilo 0b5228f3cd
Merge pull request #12564 from misskey-dev/develop
Release: 2023.12.0
2023-12-23 20:00:20 +09:00
syuilo 9784d10c62
Merge pull request #12330 from misskey-dev/develop
Release: 2023.11.1
2023-11-17 18:32:42 +09:00
syuilo 0c2dd33593
Merge pull request #12177 from misskey-dev/develop
Release: 2023.11.0
2023-11-05 18:18:35 +09:00
syuilo 3043b5256d
Merge pull request #12060 from misskey-dev/develop
Release: 2023.10.2
2023-10-21 14:18:53 +09:00
syuilo 7e7138c0eb
Merge pull request #12011 from misskey-dev/develop
Release: 2023.10.1
2023-10-12 09:21:04 +09:00
syuilo f964ef163b
Merge pull request #11963 from misskey-dev/develop
Release: 2023.10.0
2023-10-10 20:40:13 +09:00
syuilo 0e6cd577cc
Merge pull request #11926 from misskey-dev/develop
* fix(backend): Redisに古いMisskeyバージョンのキャッシュが残っている場合の問題を修正

* Update CHANGELOG.md

* enhance(front)end: improve moderation log

* enhance: ノートの翻訳機能の利用可否をロールで設定可能に

Resolve #11923

* 2023.9.3

* 後方互換性の強化

* Update CHANGELOG.md

* fix test

* [ci skip] New Crowdin updates (#11922)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

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

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

* feat: AiScriptでホストのアドレスを参照できる定数 (#11924)

* add HOST_URL

* Update CHANGELOG.md

* tweak

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

---------

Co-authored-by: FineArchs <133759614+FineArchs@users.noreply.github.com>
2023-09-30 09:40:00 +09:00
syuilo 7adc8fcaf5
Merge pull request #11920 from misskey-dev/develop
Release: 2023.9.2
2023-09-29 18:11:30 +09:00
syuilo e57b536767
Merge pull request #11898 from misskey-dev/develop
2023.9.1
2023-09-25 17:12:28 +09:00
syuilo f32915b515
Merge pull request #11874 from misskey-dev/develop
Release: 2023.9.0
2023-09-24 18:21:31 +09:00
syuilo a8d45d4b0d
Merge pull request #11384 from misskey-dev/develop
Release: 13.14.2
2023-07-27 13:00:14 +09:00
syuilo 4e24aff408
Merge pull request #11338 from misskey-dev/develop
Release: 13.14.1
2023-07-21 20:40:03 +09:00
syuilo e64a81aa1d
Merge pull request #11301 from misskey-dev/develop
Release: 13.14.0
2023-07-21 20:36:07 +09:00
syuilo 7093662ce5
Merge pull request #10990 from misskey-dev/develop
Release: 13.13.2
2023-06-13 16:46:01 +09:00
syuilo 32c741154d
Merge pull request #10961 from misskey-dev/develop
Release: 13.13.1
2023-06-06 11:34:36 +09:00
syuilo 407a965c1d
Merge pull request #10932 from misskey-dev/develop
Release: 13.13.0
2023-06-05 19:47:08 +09:00
syuilo de6348e8a0
Merge pull request #10833 from misskey-dev/develop
* refactor(frontend): use css modules

* feat: 投稿したコンテンツのAIによる学習を軽減するオプションを追加

Resolve #10819

* enhance(backend): publicReactionsをデフォルトtrueに

* 念のためnoimageaiもつける

* add X-Robots-Tag: noai

* Update ja-JP.yml

* fix(frontend): ブラーエフェクトを有効にしている状態で高負荷になる問題を修正

* enhance(backend): graceful shutdown for job queue and refactor

* fix(backend): テスト時は一部のサービスを停止

* fix test

* New Crowdin updates (#10815)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

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

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

* refactor

* bump

* refactor(frontend): use css module

* refactor(frontend): use css module

* delete unused component

* センシティブワードを正規表現、CWにも適用するように (#10688)

* cwにセンシティブが効いてない

* CWが無いときにTextを見るように

* 比較演算子間違えた

* とりあえずチェック

* 正規表現対応

* /test/giにも対応

* matchでしなくてもいいのでは感

* レビュー修正

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

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

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

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* 修正

* wipかも

* wordsでスペース区切りのものできたかも

* なんか動いたかも

* test作成

* 文言の修正

* 修正

* note参照

---------

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* Update CHANGELOG.md

* New Crowdin updates (#10823)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* ci: fix typo

* fix(frontend): より明確な説明にしたのとtypo修正

* fix typo

* fix(frontend): カラーバーがリプライには表示されないのを修正

* fix(frontend): チャンネル内の検索ボックスが挙動不審な問題を修正

Fix #10793

* enhance(backend): ノートのハッシュタグもMeilisearchに突っ込むように

今後ハッシュタグ検索とか実装するときのため

* feat(frontend): ユーザー指定ノート検索

* fix(frontend): fix retention chart rendering

* Update about-misskey.vue

* meta: Remove @rinsuki from reviewer-lottery (#10830)

* New Crowdin updates (#10824)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

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

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

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

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Russian)

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

* New translations ja-JP.yml (Indonesian)

* New translations ja-JP.yml (Thai)

* enhance(frontend): アカウント初期設定ウィザードにプライバシー設定を追加

* Update CHANGELOG.md

* fix(backend): ひとつのMeilisearchサーバーを複数のMisskeyサーバーで使えない問題を修正

* fix MkUserSetupDialog.Privacy.vue

* ci: skip non-Japanese locale on TurboSnap

* ci: notify on changes for push events

* ci: fix missing branch

* Update basic.cy.js

* [ci skip] New Crowdin updates (#10834)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (German)

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

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

* New translations ja-JP.yml (Arabic)

* 🎨

* 🎨

* enhance(frontend): add retention line chart

* update deps

* refactor

* fix(frontend): Pageにおいて画像ブロックに画像を設定できない問題を修正

Fix #10837

---------

Co-authored-by: nenohi <kimutipartylove@gmail.com>
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: rinsuki <428rinsuki+git@gmail.com>
2023-05-12 12:41:53 +09:00
syuilo 9ad57324db
Merge pull request #10814 from misskey-dev/develop
Release: 13.12.1
2023-05-09 15:38:17 +09:00
syuilo 94690c835e
Merge pull request #10774 from misskey-dev/develop
Release: 13.12.0
2023-05-09 09:17:34 +09:00
syuilo c5d2dba28d
Merge pull request #10608 from misskey-dev/develop
Release: 13.11.3
2023-04-13 12:18:07 +09:00
syuilo 272e0c874f
Merge pull request #10606 from misskey-dev/EbiseLutica-patch-1
Update CHANGELOG.md
2023-04-13 08:35:14 +09:00
Ebise Lutica d429f810a9
Update CHANGELOG.md 2023-04-13 00:31:22 +09:00
syuilo 75b28d6782
Merge pull request #10578 from misskey-dev/develop
Release: 13.11.2
2023-04-11 15:51:07 +09:00
syuilo 8b1362ab03
Merge pull request #10543 from misskey-dev/develop
Release: 13.11.1
2023-04-09 10:29:36 +09:00
syuilo a096f621cf
Merge pull request #10506 from misskey-dev/develop
13.11.0
2023-04-08 21:27:21 +09:00
syuilo f54a9542bb
Merge pull request #10402 from misskey-dev/develop
Release: 13.10.3
2023-03-25 08:36:41 +09:00
syuilo a52bbc7c8d
Merge pull request #10388 from misskey-dev/develop
Release: 13.10.2
2023-03-22 18:47:10 +09:00
syuilo 59768bdf3f
Merge pull request #10383 from misskey-dev/develop
Release: 13.10.1
2023-03-22 16:30:36 +09:00
syuilo 1e67e9c661
Merge pull request #10342 from misskey-dev/develop
Release: 13.10.0
2023-03-22 09:55:38 +09:00
syuilo ae517a99a7
Merge pull request #10218 from misskey-dev/develop
Release: 13.9.2
2023-03-06 11:54:12 +09:00
syuilo b23a9b1a88
Merge pull request #10181 from misskey-dev/develop
Release: 13.9.1
2023-03-03 20:56:50 +09:00
syuilo 5bd68aa3e0
Merge pull request #10177 from misskey-dev/develop
Release: 13.9.0
2023-03-03 15:35:40 +09:00
syuilo 647ce174b3
Merge pull request #10112 from misskey-dev/develop
Release: 13.8.1
2023-02-26 20:57:13 +09:00
syuilo 02c8fd9de5
Merge pull request #10108 from misskey-dev/develop
* Add dialog to remove follower (#9718)

* update PULL_REQUEST_TEMPLATE

* 起動時にRedisの疎通確認を行う (#9832)

* 起動時にRedisの疎通確認を行う

* check:connectをstart内に移動

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* Pass `--detectOpenHandles` to Jest (#9895)

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* enhance(client): MkUrlPreviewの閉じるボタンを見やすく (#9913)

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* test(backend): restore ap-request tests (#9997)

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* fix/refaftor(client): MkTime.vueの変更 (#10061)

* fix(client): MkTime.timeにstringでもDateでない値が入った場合、?を表示

* fix(client): MkTimeを改良

* numberを許容

* falsyな値もとる

* 不明

* ありません

* fix

* fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする (#9911)

* fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする

* NO_SUCH_FILE

* Update codecov.yml

* Update apple-touch-icon.png

* デプロイされているプレビュー環境がない場合はプレビュー環境を削除しないようにする (#10062)

* デプロイされているプレビュー環境がない場合はDestroy preview environmentを実行しないようにする

* CIがない場合の処理追加

* enhance(client): improve clip menu ux

* 未知のユーザーが deleteActor されたら処理をスキップする (#10067)

* fix(client): Android ChromeでPWAとしてインストールできない問題を修正 (#10069)

* fix(client): Android ChromeでPWAとしてインストールできない問題を修正

* 順番関係ある?

* Windows環境でswcを使うと正常にビルドができない問題の修正 (#10074)

* Update @swc/core to v1.3.36

* Update CHANGELOG.md

* Update CHANGELOG.md

* バックグラウンドで一定時間経過したらページネーションのアイテム更新をしない (#10053)

* 🎨

* feat: 2つの検索画面の統合 (#9949) (#10038)

* feat: 検索画面の UI を統一

* fix: エラーの修正

* add: changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* enhance(client): ノートメニューからユーザーメニューを開けるように

Resolve #10019

* enhance(client): renoteした際の表示を改善

Resolve #10078

* Update CHANGELOG.md

* enhance(client): tweak contextmenu position calculation

* 🎨

* 🎨

* feat: in-channel featured note

Resolve #9938

* refactor(frontend): fix eslint error (#10084)

* Simplify search.vue (remove dead code) (#10088)

* Simplify search.vue

This is already handled by the code above it, no need to handle it twice

* Remove unused imports

* Update about-misskey.vue

* test(server): add validation test of api:notes/create (#10090)

* fix(server): notes/createのバリデーションが効いていない
Fix #10079

Co-Authored-By: mei23 <m@m544.net>

* anyOf内にバリデーションを書いても最初の一つしかチェックされない

* ✌️

* wip

* wip

* ✌️

* RequiredProp

* Revert "RequiredProp"

This reverts commit 7469390011.

* add api:notes/create

* fix lint

* text

* ✌️

* improve readability

---------

Co-authored-by: mei23 <m@m544.net>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* New Crowdin updates (#10059)

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

* New translations ja-JP.yml (Romanian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Slovak)

* New translations ja-JP.yml (Ukrainian)

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

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Vietnamese)

* New translations ja-JP.yml (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 Traditional)

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

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Ukrainian)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Ukrainian)

* New translations ja-JP.yml (Ukrainian)

* New translations ja-JP.yml (Ukrainian)

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

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

* New translations ja-JP.yml (Thai)

* New translations ja-JP.yml (Thai)

* New translations ja-JP.yml (Thai)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* enhance(client): improve user menu ux

* enhance(client): photoswipe 表示時に戻る操作をしても前の画面に戻らないように (#10098)

* enhance(client): photoswipe 表示時に戻る操作をしても前の画面に戻らないように

* add: changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* enhance(client): メニューの「もっと」からインスタンス情報を見れるように

* [Fix] fixed an typo in error message (#10102)

* Update codecov.yml

* Update CHANGELOG.md

* fix(server): エラーのスタックトレースは返さないように

Fix #10064

* [chore]Editorconfig: ymlに加えてyamlファイルに対しても同じ規約を適用する (#10081)

* Added yaml file in addition to yml file, in editorconfig

* Applied editorconfig for pnpm-workspace.yaml

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* update deps

* ホームタイムラインの読み込みでクエリタイムアウトになるのを修正する (#10106)

* refactor

* New translations ja-JP.yml (French) (#10103)

* Update CHANGELOG.md

* 13.8.0

---------

Co-authored-by: atsuchan <83960488+atsu1125@users.noreply.github.com>
Co-authored-by: Masaya Suzuki <15100604+massongit@users.noreply.github.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com>
Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
Co-authored-by: xianon <xianon@hotmail.co.jp>
Co-authored-by: kabo2468 <28654659+kabo2468@users.noreply.github.com>
Co-authored-by: YS <47836716+yszkst@users.noreply.github.com>
Co-authored-by: Khsmty <me@khsmty.com>
Co-authored-by: Soni L <EnderMoneyMod@gmail.com>
Co-authored-by: mei23 <m@m544.net>
Co-authored-by: daima3629 <52790780+daima3629@users.noreply.github.com>
Co-authored-by: Windymelt <1113940+windymelt@users.noreply.github.com>
2023-02-26 20:21:54 +09:00
syuilo 1ba49b614d
Merge pull request #10058 from misskey-dev/develop
Release: 13.7.5
2023-02-24 13:06:55 +09:00
tamaina 40de14415c
Release: 13.7.4
Merge pull request #10050 from misskey-dev/develop
2023-02-23 23:11:25 +09:00
tamaina 7c9330a02f
Release: 13.7.3
Merge pull request #10048 from misskey-dev/develop
2023-02-23 22:15:56 +09:00
2438 changed files with 125269 additions and 38320 deletions

View file

@ -0,0 +1,224 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Misskey via the Internet.
#
# The provider of the service who sets up Misskey on behalf of the customer should
# set this value to something unique when generating the Misskey config file,
# and provide it to the customer.
setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────
# Final accessible URL seen by a user.
url: 'http://misskey.local'
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# URL SETTINGS AFTER THAT!
# ┌───────────────────────┐
#───┘ Port and TLS settings └───────────────────────────────────
#
# Misskey requires a reverse proxy to support HTTPS connections.
#
# +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
# +------+ |+-------------+ +----------------+|
# +---------------------------------------+
#
# You need to set up a reverse proxy. (e.g. nginx)
# An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on.
port: 61812
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
db:
host: db
port: 5432
# Database name
db: misskey
# Auth
user: postgres
pass: postgres
# Whether disable Caching queries
#disableCache: true
# Extra Connection options
#extra:
# ssl: true
dbReplications: false
# You can configure any number of replicas here
#dbSlaves:
# -
# host:
# port:
# db:
# user:
# pass:
# -
# host:
# port:
# db:
# user:
# pass:
# ┌─────────────────────┐
#───┘ Redis configuration └─────────────────────────────────────
redis:
host: redis
port: 6379
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
#pass: example-pass
#prefix: example-prefix
#db: 1
#redisForPubsub:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForJobQueue:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForTimelines:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForReactions:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
#meilisearch:
# host: meilisearch
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────
# You can select the ID generation method.
# You don't usually need to change this setting, but you can
# change it according to your preferences.
# Available methods:
# aid ... Short, Millisecond accuracy
# aidx ... Millisecond accuracy
# meid ... Similar to ObjectID, Millisecond accuracy
# ulid ... Millisecond accuracy
# objectid ... This is left for backward compatibility
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# ID SETTINGS AFTER THAT!
id: 'aidx'
# ┌────────────────┐
#───┘ Error tracking └──────────────────────────────────────────
# Sentry is available for error tracking.
# See the Sentry documentation for more details on options.
#sentryForBackend:
# enableNodeProfiling: true
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
# ┌─────────────────────┐
#───┘ Other configuration └─────────────────────────────────────
# Whether disable HSTS
#disableHsts: true
# Number of worker processes
#clusterLimit: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 32
# Job attempts
# deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
# Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128
proxyBypassHosts:
- api.deepl.com
- api-free.deepl.com
- www.recaptcha.net
- hcaptcha.com
- challenges.cloudflare.com
# Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
allowedPrivateNetworks: [
'127.0.0.1/32'
]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View file

@ -1,4 +1,11 @@
# misskey settings
# MISSKEY_URL=https://example.tld/
# db settings # db settings
POSTGRES_PASSWORD=example-misskey-pass POSTGRES_PASSWORD=example-misskey-pass
# DATABASE_PASSWORD=${POSTGRES_PASSWORD}
POSTGRES_USER=example-misskey-user POSTGRES_USER=example-misskey-user
# DATABASE_USER=${POSTGRES_USER}
POSTGRES_DB=misskey POSTGRES_DB=misskey
# DATABASE_DB=${POSTGRES_DB}
DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}"

View file

@ -6,6 +6,7 @@
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
# Final accessible URL seen by a user. # Final accessible URL seen by a user.
# You can set url from an environment variable instead.
url: https://example.tld/ url: https://example.tld/
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE # ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
@ -38,9 +39,11 @@ db:
port: 5432 port: 5432
# Database name # Database name
# You can set db from an environment variable instead.
db: misskey db: misskey
# Auth # Auth
# You can set user and pass from environment variables instead.
user: example-misskey-user user: example-misskey-user
pass: example-misskey-pass pass: example-misskey-pass
@ -103,6 +106,14 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
#redisForReactions:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐ # ┌───────────────────────────┐
#───┘ MeiliSearch configuration └───────────────────────────── #───┘ MeiliSearch configuration └─────────────────────────────
@ -136,6 +147,21 @@ redis:
id: 'aidx' id: 'aidx'
# ┌────────────────┐
#───┘ Error tracking └──────────────────────────────────────────
# Sentry is available for error tracking.
# See the Sentry documentation for more details on options.
#sentryForBackend:
# enableNodeProfiling: true
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
# ┌─────────────────────┐ # ┌─────────────────────┐
#───┘ Other configuration └───────────────────────────────────── #───┘ Other configuration └─────────────────────────────────────

View file

@ -2,6 +2,77 @@
# Misskey configuration # Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌──────────────────────────────┐
#───┘ a boring but important thing └────────────────────────────
#
# First of all, let me tell you a story that may possibly be
# boring to you and possibly important to you.
#
# Misskey is licensed under the AGPLv3 license. This license is
# known to be often misunderstood. Please read the following
# instructions carefully and select the appropriate option so
# that you do not negligently cause a license violation.
#
# --------
# Option 1: If you host Misskey AS-IS (without any changes to
# the source code. forks are not included).
#
# Step 1: Congratulations! You don't need to do anything.
# --------
# Option 2: If you have made changes to the source code (forks
# are included) and publish a Git repository of source
# code. There should be no access restrictions on
# this repository. Strictly speaking, it doesn't have
# to be a Git repository, but you'll probably use Git!
#
# Step 1: Build and run the Misskey server first.
# Step 2: Open <https://your.misskey.example/admin/settings> in
# your browser with the administrator account.
# Step 3: Enter the URL of your Git repository in the
# "Repository URL" field.
# --------
# Option 3: If neither of the above applies to you.
# (In this case, the source code should be published
# on the Misskey interface. IT IS NOT ENOUGH TO
# DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY
# E-MAIL OR OTHER MEANS. If you are not satisfied
# with this, it is recommended that you read the
# license again carefully. Anyway, enabling this
# option will automatically generate and publish a
# tarball at build time, protecting you from
# inadvertent license violations. (There is no legal
# guarantee, of course.) The tarball will generated
# from the root directory of your codebase. So it is
# also recommended to check <built/tarball> directory
# once after building and before activating the server
# to avoid ACCIDENTAL LEAKING OF SENSITIVE INFORMATION.
# To prevent certain files from being included in the
# tarball, add a glob pattern after line 15 in
# <scripts/tarball.mjs>. DO NOT FORGET TO BUILD AFTER
# ENABLING THIS OPTION!)
#
# Step 1: Uncomment the following line.
#
# publishTarballInsteadOfProvideRepositoryUrl: true
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Misskey via the Internet.
#
# The provider of the service who sets up Misskey on behalf of the customer should
# set this value to something unique when generating the Misskey config file,
# and provide it to the customer.
#
# setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐ # ┌─────┐
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
@ -115,6 +186,16 @@ redis:
# # You can specify more ioredis options... # # You can specify more ioredis options...
# #username: example-username # #username: example-username
#redisForReactions:
# host: localhost
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# # You can specify more ioredis options...
# #username: example-username
# ┌───────────────────────────┐ # ┌───────────────────────────┐
#───┘ MeiliSearch configuration └───────────────────────────── #───┘ MeiliSearch configuration └─────────────────────────────
@ -148,6 +229,21 @@ redis:
id: 'aidx' id: 'aidx'
# ┌────────────────┐
#───┘ Error tracking └──────────────────────────────────────────
# Sentry is available for error tracking.
# See the Sentry documentation for more details on options.
#sentryForBackend:
# enableNodeProfiling: true
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
# ┌─────────────────────┐ # ┌─────────────────────┐
#───┘ Other configuration └───────────────────────────────────── #───┘ Other configuration └─────────────────────────────────────
@ -160,14 +256,14 @@ id: 'aidx'
# Job concurrency per worker # Job concurrency per worker
#deliverJobConcurrency: 128 #deliverJobConcurrency: 128
#inboxJobConcurrency: 16 #inboxJobConcurrency: 16
#relashionshipJobConcurrency: 16 #relationshipJobConcurrency: 16
# What's relashionshipJob?: # What's relationshipJob?:
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations. # Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
# Job rate limiter # Job rate limiter
#deliverJobPerSec: 128 #deliverJobPerSec: 128
#inboxJobPerSec: 32 #inboxJobPerSec: 32
#relashionshipJobPerSec: 64 #relationshipJobPerSec: 64
# Job attempts # Job attempts
#deliverJobMaxAttempts: 12 #deliverJobMaxAttempts: 12

View file

@ -1,5 +1,3 @@
version: '3.8'
services: services:
app: app:
build: build:
@ -8,6 +6,7 @@ services:
volumes: volumes:
- ../:/workspace:cached - ../:/workspace:cached
- node_modules:/workspace/node_modules
command: sleep infinity command: sleep infinity
@ -46,6 +45,7 @@ services:
volumes: volumes:
postgres-data: postgres-data:
redis-data: redis-data:
node_modules:
networks: networks:
internal_network: internal_network:

View file

@ -1,25 +1,22 @@
{ {
"name": "Misskey", "name": "Misskey",
"dockerComposeFile": "docker-compose.yml", "dockerComposeFile": "compose.yml",
"service": "app", "service": "app",
"workspaceFolder": "/workspace", "workspaceFolder": "/workspace",
"features": { "features": {
"ghcr.io/devcontainers-contrib/features/pnpm:2": {
"version": "8.9.2"
},
"ghcr.io/devcontainers/features/node:1": { "ghcr.io/devcontainers/features/node:1": {
"version": "20.10.0" "version": "20.16.0"
} },
"ghcr.io/devcontainers-contrib/features/corepack:1": {}
}, },
"forwardPorts": [3000], "forwardPorts": [3000],
"postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh", "postCreateCommand": "/bin/bash .devcontainer/init.sh",
"customizations": { "customizations": {
"vscode": { "vscode": {
"extensions": [ "extensions": [
"editorconfig.editorconfig", "editorconfig.editorconfig",
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"Vue.volar", "Vue.volar",
"Vue.vscode-typescript-vue-plugin",
"Orta.vscode-jest", "Orta.vscode-jest",
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"mrmlnc.vscode-json5" "mrmlnc.vscode-json5"

View file

@ -103,6 +103,14 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
#redisForReactions:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐ # ┌───────────────────────────┐
#───┘ MeiliSearch configuration └───────────────────────────── #───┘ MeiliSearch configuration └─────────────────────────────
@ -132,6 +140,21 @@ redis:
id: 'aidx' id: 'aidx'
# ┌────────────────┐
#───┘ Error tracking └──────────────────────────────────────────
# Sentry is available for error tracking.
# See the Sentry documentation for more details on options.
#sentryForBackend:
# enableNodeProfiling: true
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
# ┌─────────────────────┐ # ┌─────────────────────┐
#───┘ Other configuration └───────────────────────────────────── #───┘ Other configuration └─────────────────────────────────────

View file

@ -2,10 +2,16 @@
set -xe set -xe
sudo chown -R node /workspace sudo chown node node_modules
sudo apt-get update
sudo apt-get -y install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb
git config --global --add safe.directory /workspace
git submodule update --init git submodule update --init
corepack install
corepack enable
pnpm config set store-dir /home/node/.local/share/pnpm/store pnpm config set store-dir /home/node/.local/share/pnpm/store
pnpm install --frozen-lockfile pnpm install --frozen-lockfile
cp .devcontainer/devcontainer.yml .config/default.yml cp .devcontainer/devcontainer.yml .config/default.yml
pnpm build pnpm build
pnpm migrate pnpm migrate
pnpm exec cypress install

View file

@ -7,12 +7,11 @@ Dockerfile
build/ build/
built/ built/
db/ db/
docker-compose.yml .devcontainer/compose.yml
node_modules/ node_modules/
packages/*/node_modules packages/*/node_modules
redis/ redis/
files/ files/
misskey-assets/
fluent-emojis/ fluent-emojis/
.pnp.* .pnp.*
@ -28,4 +27,4 @@ fluent-emojis/
.idea/ .idea/
packages/*/.vscode/ packages/*/.vscode/
packages/backend/test/docker-compose.yml packages/backend/test/compose.yml

3
.github/FUNDING.yml vendored
View file

@ -1,3 +0,0 @@
# These are supported funding model platforms
patreon: syuilo

View file

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

View file

@ -2,3 +2,7 @@ contact_links:
- name: 💬 Misskey official Discord - name: 💬 Misskey official Discord
url: https://discord.gg/Wp8gVStHW3 url: https://discord.gg/Wp8gVStHW3
about: Chat freely about Misskey about: Chat freely about Misskey
# 仮
- name: 💬 Start discussion
url: https://github.com/misskey-dev/misskey/discussions
about: The official forum to join conversation and ask question

View file

@ -17,16 +17,32 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: daily interval: daily
# PNPM has an issue with dependabot. See: open-pull-requests-limit: 10
# https://github.com/dependabot/dependabot-core/issues/7258 # List dependencies required to be updated together, sharing the same version numbers.
# https://github.com/pnpm/pnpm/issues/6530 # Those who simply have the common owner (e.g. @fastify) don't need to be listed.
# TODO: Restore this when the issue is solved
open-pull-requests-limit: 0
groups: groups:
swc: aws-sdk:
patterns: patterns:
- "@swc/*" - "@aws-sdk/*"
bull-board:
patterns:
- "@bull-board/*"
nestjs:
patterns:
- "@nestjs/*"
slacc:
patterns:
- "slacc-*"
storybook: storybook:
patterns: patterns:
- "storybook*" - "storybook*"
- "@storybook/*" - "@storybook/*"
swc-core:
patterns:
- "@swc/core*"
typescript-eslint:
patterns:
- "@typescript-eslint/*"
tensorflow:
patterns:
- "@tensorflow/*"

2
.github/labeler.yml vendored
View file

@ -6,7 +6,7 @@
'packages/backend:test': 'packages/backend:test':
- any: - any:
- changed-files: - changed-files:
- any-glob-to-any-file: ['packages/backend/test/**/*'] - any-glob-to-any-file: ['packages/backend/test/**/*', 'packages/backend/test-federation/**/*']
'packages/frontend': 'packages/frontend':
- any: - any:

View file

@ -1,5 +1,7 @@
url: 'http://misskey.local' url: 'http://misskey.local'
setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ) # ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
port: 61812 port: 61812

View file

@ -1,7 +1,14 @@
name: API report (misskey.js) name: API report (misskey.js)
on: [push, pull_request] on:
push:
paths:
- packages/misskey-js/**
- .github/workflows/api-misskey-js.yml
pull_request:
paths:
- packages/misskey-js/**
- .github/workflows/api-misskey-js.yml
jobs: jobs:
report: report:
@ -14,7 +21,7 @@ jobs:
- run: corepack enable - run: corepack enable
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4.0.1 uses: actions/setup-node@v4.0.4
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'

43
.github/workflows/changelog-check.yml vendored Normal file
View file

@ -0,0 +1,43 @@
name: Check the description in CHANGELOG.md
on:
pull_request:
branches:
- master
- develop
jobs:
check-changelog:
runs-on: ubuntu-latest
steps:
- name: Checkout head
uses: actions/checkout@v4.1.1
- name: Setup Node.js
uses: actions/setup-node@v4.0.4
with:
node-version-file: '.node-version'
- name: Checkout base
run: |
mkdir _base
cp -r .git _base/.git
cd _base
git fetch --depth 1 origin ${{ github.base_ref }}
git checkout origin/${{ github.base_ref }} CHANGELOG.md
- name: Copy to Checker directory for CHANGELOG-base.md
run: cp _base/CHANGELOG.md scripts/changelog-checker/CHANGELOG-base.md
- name: Copy to Checker directory for CHANGELOG-head.md
run: cp CHANGELOG.md scripts/changelog-checker/CHANGELOG-head.md
- name: diff
continue-on-error: true
run: diff -u CHANGELOG-base.md CHANGELOG-head.md
working-directory: scripts/changelog-checker
- name: Setup Checker
run: npm install
working-directory: scripts/changelog-checker
- name: Run Checker
run: npm run run
working-directory: scripts/changelog-checker

View file

@ -0,0 +1,139 @@
name: Check Misskey JS autogen
on:
pull_request_target:
branches:
- master
- develop
- improve-misskey-js-autogen-check
paths:
- packages/backend/**
jobs:
# pull_request_target safety: permissions: read-all, and there are no secrets used in this job
generate-misskey-js:
runs-on: ubuntu-latest
permissions:
contents: read
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.1.1
with:
submodules: true
persist-credentials: false
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: setup pnpm
uses: pnpm/action-setup@v4
- name: setup node
id: setup-node
uses: actions/setup-node@v4.0.4
with:
node-version-file: '.node-version'
cache: pnpm
- name: install dependencies
run: pnpm i --frozen-lockfile
# generate api.json
- name: Copy Config
run: cp .config/example.yml .config/default.yml
- name: Build
run: pnpm build
- name: Generate API JSON
run: pnpm --filter backend generate-api-json
# build misskey js
- name: Build misskey-js
run: |-
cp packages/backend/built/api.json packages/misskey-js/generator/api.json
pnpm run --filter misskey-js-type-generator generate
# packages/misskey-js/generator/built/autogen
- name: Upload Generated
uses: actions/upload-artifact@v4
with:
name: generated-misskey-js
path: packages/misskey-js/generator/built/autogen
# pull_request_target safety: permissions: read-all, and no user codes are executed
get-actual-misskey-js:
runs-on: ubuntu-latest
permissions:
contents: read
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.1.1
with:
submodules: true
persist-credentials: false
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Upload From Merged
uses: actions/upload-artifact@v4
with:
name: actual-misskey-js
path: packages/misskey-js/src/autogen
# pull_request_target safety: nothing is cloned from repository
comment-misskey-js-autogen:
runs-on: ubuntu-latest
needs: [generate-misskey-js, get-actual-misskey-js]
permissions:
pull-requests: write
steps:
- name: download generated-misskey-js
uses: actions/download-artifact@v4
with:
name: generated-misskey-js
path: misskey-js-generated
- name: download actual-misskey-js
uses: actions/download-artifact@v4
with:
name: actual-misskey-js
path: misskey-js-actual
- name: check misskey-js changes
id: check-changes
run: |
diff -r -u --label=generated --label=on-tree ./misskey-js-generated ./misskey-js-actual > misskey-js.diff || true
if [ -s misskey-js.diff ]; then
echo "changes=true" >> $GITHUB_OUTPUT
else
echo "changes=false" >> $GITHUB_OUTPUT
fi
- name: Print full diff
run: cat ./misskey-js.diff
- name: send message
if: steps.check-changes.outputs.changes == 'true'
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: check-misskey-js-autogen
message: |-
Thank you for sending us a great Pull Request! 👍
Please regenerate misskey-js type definitions! 🙏
example:
```sh
pnpm run build-misskey-js-with-types
```
- name: send message
if: steps.check-changes.outputs.changes == 'false'
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: check-misskey-js-autogen
mode: delete
message: "Thank you!"
create_if_not_exists: false
- name: Make failure if changes are detected
if: steps.check-changes.outputs.changes == 'true'
run: exit 1

View file

@ -0,0 +1,29 @@
name: Check Misskey JS version
on:
push:
branches: [ develop ]
paths:
- packages/misskey-js/package.json
- package.json
- .github/workflows/check-misskey-js-version.yml
pull_request:
branches: [ develop ]
paths:
- packages/misskey-js/package.json
- package.json
- .github/workflows/check-misskey-js-version.yml
jobs:
check-version:
# ルートの package.json と packages/misskey-js/package.json のバージョンが一致しているかを確認する
name: Check version
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Check version
run: |
if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then
echo "Version mismatch!"
exit 1
fi

View file

@ -0,0 +1,79 @@
name: Check SPDX-License-Identifier
on:
push:
branches:
- master
- develop
pull_request:
jobs:
check-spdx-license-id:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Check
run: |
counter=0
search() {
local directory="$1"
find "$directory" -type f \
'(' \
-name "*.cjs" -and -not -name '*.config.cjs' -o \
-name "*.html" -o \
-name "*.js" -and -not -name '*.config.js' -o \
-name "*.mjs" -and -not -name '*.config.mjs' -o \
-name "*.scss" -o \
-name "*.ts" -and -not -name '*.config.ts' -o \
-name "*.vue" \
')' -and \
-not -name '*eslint*'
}
check() {
local file="$1"
if ! (
grep -q "SPDX-FileCopyrightText: syuilo and misskey-project" "$file" ||
grep -q "SPDX-License-Identifier: AGPL-3.0-only" "$file"
); then
echo "Missing: $file"
((counter++))
fi
}
directories=(
"cypress/e2e"
"packages/backend/migration"
"packages/backend/src"
"packages/backend/test"
"packages/frontend-shared/@types"
"packages/frontend-shared/js"
"packages/frontend/.storybook"
"packages/frontend/@types"
"packages/frontend/lib"
"packages/frontend/public"
"packages/frontend/src"
"packages/frontend/test"
"packages/frontend-embed/@types"
"packages/frontend-embed/src"
"packages/misskey-bubble-game/src"
"packages/misskey-reversi/src"
"packages/sw/src"
"scripts"
)
for directory in "${directories[@]}"; do
for file in $(search $directory); do
check "$file"
done
done
if [ $counter -gt 0 ]; then
echo "SPDX-License-Identifier is missing in $counter files."
exit 1
else
echo "SPDX-License-Identifier is certainly described in all target files!"
exit 0
fi

View file

@ -0,0 +1,84 @@
name: deploy-test-environment
on:
issue_comment:
types: [created]
workflow_dispatch:
inputs:
repository:
description: 'Repository to deploy (optional, use the repository where this workflow is stored by default)'
required: false
default: ''
branch_or_hash:
description: 'Branch or Commit hash to deploy (optional, use the branch where this workflow is stored by default)'
required: false
default: ''
wait_time:
description: 'Time to wait in seconds (optional, 1800 seconds by default)'
required: false
default: ''
jobs:
get-pr-ref:
runs-on: ubuntu-latest
if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/preview')
outputs:
is-allowed-user: ${{ steps.check-allowed-users.outputs.is-allowed-user }}
pr-ref: ${{ steps.get-ref.outputs.pr-ref }}
wait_time: ${{ steps.get-wait-time.outputs.wait_time }}
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Check allowed users
id: check-allowed-users
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ORG_ID: ${{ github.repository_owner_id }}
COMMENT_AUTHOR: ${{ github.event.comment.user.login }}
run: |
MEMBERSHIP_STATUS=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/organizations/$ORG_ID/public_members/$COMMENT_AUTHOR" \
-o /dev/null -w '%{http_code}\n' -s)
if [ "$MEMBERSHIP_STATUS" -eq 204 ]; then
echo "is-allowed-user=true" > $GITHUB_OUTPUT
else
echo "is-allowed-user=false" > $GITHUB_OUTPUT
fi
- name: Get PR ref
id: get-ref
run: |
PR_REF="refs/pull/${{ github.event.issue.number }}/head"
echo "pr-ref=$PR_REF" >> $GITHUB_OUTPUT
- name: Extract wait time
id: get-wait-time
env:
COMMENT_BODY: ${{ github.event.comment.body }}
run: |
WAIT_TIME=$(echo "$COMMENT_BODY" | grep -oP '(?<=/preview\s)\d+' || echo "1800")
echo "wait_time=$WAIT_TIME" > $GITHUB_OUTPUT
deploy-test-environment-pr-comment:
needs: get-pr-ref
if: needs.get-pr-ref.outputs.is-allowed-user == 'true'
uses: joinmisskey/misskey-tga/.github/workflows/deploy-test-environment.yml@main
with:
repository: ${{ github.repository }}
branch_or_hash: ${{ needs.get-pr-ref.outputs.pr-ref }}
wait_time: ${{ needs.get-pr-ref.outputs.wait_time }}
secrets:
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
deploy-test-environment-wd:
if: github.event_name == 'workflow_dispatch'
uses: joinmisskey/misskey-tga/.github/workflows/deploy-test-environment.yml@main
with:
repository: ${{ inputs.repository || github.repository }}
branch_or_hash: ${{ inputs.branch_or_hash || github.ref_name }}
wait_time: ${{ inputs.wait_time || '1800' }}
secrets:
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}

View file

@ -6,38 +6,83 @@ on:
- develop - develop
workflow_dispatch: workflow_dispatch:
env:
REGISTRY_IMAGE: misskey/misskey
jobs: jobs:
push_to_registry: # see https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
name: Push Docker image to Docker Hub build:
name: Build
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
if: github.repository == 'misskey-dev/misskey' if: github.repository == 'misskey-dev/misskey'
steps: steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v4.1.1 uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v3.0.0
with:
platforms: linux/amd64,linux/arm64
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: misskey/misskey
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub - name: Build and push by digest
uses: docker/build-push-action@v5 id: build
uses: docker/build-push-action@v6
with: with:
builder: ${{ steps.buildx.outputs.name }}
context: . context: .
push: true push: true
platforms: ${{ steps.buildx.outputs.platforms }} platforms: ${{ matrix.platform }}
provenance: false provenance: false
tags: misskey/misskey:develop
labels: develop labels: develop
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create --tag ${{ env.REGISTRY_IMAGE }}:develop \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:develop

View file

@ -5,45 +5,101 @@ on:
types: [published] types: [published]
workflow_dispatch: workflow_dispatch:
jobs: env:
push_to_registry: REGISTRY_IMAGE: misskey/misskey
name: Push Docker image to Docker Hub TAGS: |
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.0.0
with:
platforms: linux/amd64,linux/arm64
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: misskey/misskey
tags: |
type=edge type=edge
type=ref,event=pr type=ref,event=pr
type=ref,event=branch type=ref,event=branch
type=semver,pattern={{version}} type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}} type=semver,pattern={{major}}
jobs:
# see https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
build:
name: Build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: ${{ env.TAGS }}
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub - name: Build and Push to Docker Hub
uses: docker/build-push-action@v5 id: build
uses: docker/build-push-action@v6
with: with:
builder: ${{ steps.buildx.outputs.name }}
context: . context: .
push: true push: true
platforms: ${{ steps.buildx.outputs.platforms }} platforms: ${{ matrix.platform }}
provenance: false provenance: false
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: ${{ env.TAGS }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}

View file

@ -13,14 +13,16 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
DOCKER_CONTENT_TRUST: 1 DOCKER_CONTENT_TRUST: 1
DOCKLE_VERSION: 0.4.14
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.1
- run: | - name: Download and install dockle v${{ env.DOCKLE_VERSION }}
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v0.4.10/dockle_0.4.10_Linux-64bit.deb" run: |
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 sudo dpkg -i dockle.deb
- run: | - run: |
cp .config/docker_example.env .config/docker.env cp .config/docker_example.env .config/docker.env
cp ./docker-compose_example.yml ./docker-compose.yml cp ./compose_example.yml ./compose.yml
- run: | - run: |
docker compose up -d web docker compose up -d web
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest

View file

@ -9,7 +9,6 @@ on:
paths: paths:
- packages/backend/** - packages/backend/**
- .github/workflows/get-api-diff.yml - .github/workflows/get-api-diff.yml
jobs: jobs:
get-from-misskey: get-from-misskey:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -18,7 +17,7 @@ jobs:
strategy: strategy:
matrix: matrix:
node-version: [20.10.0] node-version: [20.16.0]
api-json-name: [api-base.json, api-head.json] api-json-name: [api-base.json, api-head.json]
include: include:
- api-json-name: api-base.json - api-json-name: api-base.json
@ -32,12 +31,9 @@ jobs:
ref: ${{ matrix.ref }} ref: ${{ matrix.ref }}
submodules: true submodules: true
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v2 uses: pnpm/action-setup@v4
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.1 uses: actions/setup-node@v4.0.4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'

View file

@ -5,8 +5,29 @@ on:
branches: branches:
- master - master
- develop - develop
paths:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-embed/**
- packages/sw/**
- packages/misskey-js/**
- packages/misskey-bubble-game/**
- packages/misskey-reversi/**
- packages/shared/eslint.config.js
- .github/workflows/lint.yml
pull_request: pull_request:
paths:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-embed/**
- packages/sw/**
- packages/misskey-js/**
- packages/misskey-bubble-game/**
- packages/misskey-reversi/**
- packages/shared/eslint.config.js
- .github/workflows/lint.yml
jobs: jobs:
pnpm_install: pnpm_install:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -15,11 +36,8 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- uses: pnpm/action-setup@v2 - uses: pnpm/action-setup@v4
with: - uses: actions/setup-node@v4.0.4
version: 8
run_install: false
- uses: actions/setup-node@v4.0.1
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
@ -35,24 +53,34 @@ jobs:
workspace: workspace:
- backend - backend
- frontend - frontend
- frontend-shared
- frontend-embed
- sw - sw
- misskey-js - misskey-js
- misskey-bubble-game
- misskey-reversi
env:
eslint-cache-version: v1
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- uses: pnpm/action-setup@v2 - uses: pnpm/action-setup@v4
with: - uses: actions/setup-node@v4.0.4
version: 7
run_install: false
- uses: actions/setup-node@v4.0.1
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable - run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- run: pnpm --filter ${{ matrix.workspace }} run eslint - name: Restore eslint cache
uses: actions/cache@v4.1.0
with:
path: ${{ env.eslint-cache-path }}
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-
- run: pnpm --filter ${{ matrix.workspace }} run eslint --cache --cache-location ${{ env.eslint-cache-path }} --cache-strategy content
typecheck: typecheck:
needs: [pnpm_install] needs: [pnpm_install]
@ -62,22 +90,22 @@ jobs:
matrix: matrix:
workspace: workspace:
- backend - backend
- sw
- misskey-js - misskey-js
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- uses: pnpm/action-setup@v2 - uses: pnpm/action-setup@v4
with: - uses: actions/setup-node@v4.0.4
version: 7
run_install: false
- uses: actions/setup-node@v4.0.1
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable - run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- run: pnpm --filter misskey-js run build - 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' }} if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter ${{ matrix.workspace }} run typecheck - run: pnpm --filter ${{ matrix.workspace }} run typecheck

28
.github/workflows/locale.yml vendored Normal file
View file

@ -0,0 +1,28 @@
name: Lint
on:
push:
paths:
- locales/**
- .github/workflows/locale.yml
pull_request:
paths:
- locales/**
- .github/workflows/locale.yml
jobs:
locale_verify:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: 0
submodules: true
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4.0.4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- run: cd locales && node verify.js

View file

@ -23,7 +23,7 @@ jobs:
private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }} private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }}
- name: Slash Command Dispatch - name: Slash Command Dispatch
uses: peter-evans/slash-command-dispatch@v3 uses: peter-evans/slash-command-dispatch@v4
env: env:
TOKEN: ${{ steps.generate_token.outputs.token }} TOKEN: ${{ steps.generate_token.outputs.token }}
with: with:

View file

@ -0,0 +1,42 @@
name: On Release Created (Publish misskey-js)
on:
release:
types: [created]
workflow_dispatch:
jobs:
publish-misskey-js:
name: Publish misskey-js
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
strategy:
matrix:
node-version: [20.16.0]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'
- name: Publish package
run: |
corepack enable
pnpm i --frozen-lockfile
pnpm build
pnpm --filter misskey-js publish --access public --no-git-checks --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
NPM_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}

View file

@ -13,7 +13,7 @@ jobs:
github.event.client_payload.slash_command.sha != '' && github.event.client_payload.slash_command.sha != '' &&
contains(github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.sha) contains(github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.sha)
steps: steps:
- uses: actions/github-script@v7 - uses: actions/github-script@v7.0.1
id: check-id id: check-id
env: env:
number: ${{ github.event.client_payload.pull_request.number }} number: ${{ github.event.client_payload.pull_request.number }}
@ -37,7 +37,7 @@ jobs:
return check[0].id; return check[0].id;
- uses: actions/github-script@v7 - uses: actions/github-script@v7.0.1
env: env:
check_id: ${{ steps.check-id.outputs.result }} check_id: ${{ steps.check-id.outputs.result }}
details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }} details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }}
@ -72,7 +72,7 @@ jobs:
timeout: 15m timeout: 15m
# Update check run called "integration-fork" # Update check run called "integration-fork"
- uses: actions/github-script@v7 - uses: actions/github-script@v7.0.1
id: update-check-run id: update-check-run
if: ${{ always() }} if: ${{ always() }}
env: env:

View file

@ -10,7 +10,7 @@ jobs:
destroy-preview-environment: destroy-preview-environment:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v7 - uses: actions/github-script@v7.0.1
id: check-conclusion id: check-conclusion
env: env:
number: ${{ github.event.number }} number: ${{ github.event.number }}

View file

@ -0,0 +1,48 @@
name: "Release Manager: sync changelog with PR"
on:
push:
branches:
- develop
paths:
- 'CHANGELOG.md'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
issues: write
pull-requests: write
jobs:
edit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
- name: Get PR
run: |
echo "pr_number=$(gh pr list --limit 1 --search "head:$GITHUB_REF_NAME base:$STABLE_BRANCH is:open" --json number --jq '.[] | .number')" >> $GITHUB_OUTPUT
id: get_pr
env:
STABLE_BRANCH: ${{ vars.STABLE_BRANCH }}
- name: Get target version
if: steps.get_pr.outputs.pr_number != ''
uses: misskey-dev/release-manager-actions/.github/actions/get-target-version@v2
id: v
# CHANGELOG.mdの内容を取得
- name: Get changelog
if: steps.get_pr.outputs.pr_number != ''
uses: misskey-dev/release-manager-actions/.github/actions/get-changelog@v2
with:
version: ${{ steps.v.outputs.target_version }}
id: changelog
# PRのnotesを更新
- name: Update PR
if: steps.get_pr.outputs.pr_number != ''
run: |
gh pr edit "$PR_NUMBER" --body "$CHANGELOG"
env:
PR_NUMBER: ${{ steps.get_pr.outputs.pr_number }}
CHANGELOG: ${{ steps.changelog.outputs.changelog }}

View file

@ -0,0 +1,135 @@
name: "Release Manager [Dispatch]"
on:
workflow_dispatch:
inputs:
## Specify the type of the next release.
#version_increment_type:
# type: choice
# description: 'VERSION INCREMENT TYPE'
# default: 'patch'
# required: false
# options:
# - 'major'
# - 'minor'
# - 'patch'
merge:
type: boolean
description: 'MERGE RELEASE BRANCH TO MAIN'
default: false
start-rc:
type: boolean
description: 'Start Release Candidate'
default: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
issues: write
pull-requests: write
jobs:
get-pr:
runs-on: ubuntu-latest
outputs:
pr_number: ${{ steps.get_pr.outputs.pr_number }}
steps:
- uses: actions/checkout@v4
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
- name: Get PRs
run: |
echo "pr_number=$(gh pr list --limit 1 --search "head:$GITHUB_REF_NAME base:$STABLE_BRANCH is:open" --json number --jq '.[] | .number')" >> $GITHUB_OUTPUT
id: get_pr
env:
STABLE_BRANCH: ${{ vars.STABLE_BRANCH }}
merge:
uses: misskey-dev/release-manager-actions/.github/workflows/merge.yml@v2
needs: get-pr
if: ${{ needs.get-pr.outputs.pr_number != '' && inputs.merge == true }}
with:
pr_number: ${{ needs.get-pr.outputs.pr_number }}
user: 'github-actions[bot]'
package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
# Text to prepend to the changelog
# The first line must be `## Unreleased`
changes_template: |
## Unreleased
### General
-
### Client
-
### Server
-
use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
indent: ${{ vars.INDENT }}
secrets:
RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
create-prerelease:
uses: misskey-dev/release-manager-actions/.github/workflows/create-prerelease.yml@v2
needs: get-pr
if: ${{ needs.get-pr.outputs.pr_number != '' && inputs.merge != true }}
with:
pr_number: ${{ needs.get-pr.outputs.pr_number }}
user: 'github-actions[bot]'
package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
indent: ${{ vars.INDENT }}
draft_prerelease_channel: alpha
ready_start_prerelease_channel: beta
prerelease_channel: ${{ inputs.start-rc && 'rc' || '' }}
secrets:
RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
create-target:
uses: misskey-dev/release-manager-actions/.github/workflows/create-target.yml@v2
needs: get-pr
if: ${{ needs.get-pr.outputs.pr_number == '' }}
with:
user: 'github-actions[bot]'
# The script for version increment.
# process.env.CURRENT_VERSION: The current version.
#
# Misskey calender versioning (yyyy.MM.patch) example
version_increment_script: |
const now = new Date();
const year = now.toLocaleDateString('en-US', { year: 'numeric', timeZone: 'Asia/Tokyo' });
const month = now.toLocaleDateString('en-US', { month: 'numeric', timeZone: 'Asia/Tokyo' });
const [major, minor, _patch] = process.env.CURRENT_VERSION.split('.');
const patch = Number(_patch.split('-')[0]);
if (Number.isNaN(patch)) {
console.error('Invalid patch version', year, month, process.env.CURRENT_VERSION, major, minor, _patch);
throw new Error('Invalid patch version');
}
if (year !== major || month !== minor) {
return `${year}.${month}.0`;
} else {
return `${major}.${minor}.${patch + 1}`;
}
##Semver example
#version_increment_script: |
# const [major, minor, patch] = process.env.CURRENT_VERSION.split('.');
# if ("${{ inputs.version_increment_type }}" === "major") {
# return `${Number(major) + 1}.0.0`;
# } else if ("${{ inputs.version_increment_type }}" === "minor") {
# return `${major}.${Number(minor) + 1}.0`;
# } else {
# return `${major}.${minor}.${Number(patch) + 1}`;
# }
package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
indent: ${{ vars.INDENT }}
stable_branch: ${{ vars.STABLE_BRANCH }}
draft_prerelease_channel: alpha
secrets:
RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}

View file

@ -0,0 +1,46 @@
name: "Release Manager: release RC when ready for review"
on:
pull_request:
types: [ready_for_review]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
issues: write
pull-requests: write
jobs:
check:
runs-on: ubuntu-latest
outputs:
head: ${{ steps.get_pr.outputs.head }}
base: ${{ steps.get_pr.outputs.base }}
steps:
- uses: actions/checkout@v4
# PR情報を取得
- name: Get PR
run: |
pr_json=$(gh pr view "$PR_NUMBER" --json isDraft,headRefName,baseRefName)
echo "head=$(echo $pr_json | jq -r '.headRefName')" >> $GITHUB_OUTPUT
echo "base=$(echo $pr_json | jq -r '.baseRefName')" >> $GITHUB_OUTPUT
id: get_pr
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
release:
uses: misskey-dev/release-manager-actions/.github/workflows/create-prerelease.yml@v2
needs: check
if: needs.check.outputs.head == github.event.repository.default_branch && needs.check.outputs.base == vars.STABLE_BRANCH
with:
pr_number: ${{ github.event.pull_request.number }}
user: 'github-actions[bot]'
package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
indent: ${{ vars.INDENT }}
draft_prerelease_channel: alpha
ready_start_prerelease_channel: beta
secrets:
RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}

View file

@ -16,7 +16,7 @@ jobs:
# api-artifact # api-artifact
steps: steps:
- name: Download artifact - name: Download artifact
uses: actions/github-script@v7 uses: actions/github-script@v7.0.1
with: with:
script: | script: |
const fs = require('fs'); const fs = require('fs');
@ -70,18 +70,25 @@ jobs:
- id: out-diff - id: out-diff
name: Build diff Comment name: Build diff Comment
run: | run: |
cat <<- EOF > ./output.md HEADER="このPRによるapi.jsonの差分"
このPRによるapi.jsonの差分 FOOTER="[Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})"
<details> DIFF_BYTES="$(stat ./api.json.diff -c '%s' | tr -d '\n')"
<summary>差分はこちら</summary>
\`\`\`diff echo "$HEADER" > ./output.md
$(cat ./api.json.diff)
\`\`\`
</details>
[Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}) if (( "$DIFF_BYTES" <= 1 )); then
EOF echo '差分はありません。' >> ./output.md
else
echo '<details>' >> ./output.md
echo '<summary>差分はこちら</summary>' >> ./output.md
echo >> ./output.md
echo '```diff' >> ./output.md
cat ./api.json.diff >> ./output.md
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@v2
with: with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }} pr_number: ${{ steps.load-pr-num.outputs.pr-number }}

116
.github/workflows/storybook.yml vendored Normal file
View file

@ -0,0 +1,116 @@
name: Storybook
on:
push:
branches:
- master
- develop
- dev/storybook8 # for testing
pull_request_target:
branches-ignore:
# Since pull requests targets master mostly is the "develop" branch.
# Storybook CI is checked on the "push" event of "develop" branch so it would cause a duplicate build.
# This is a waste of chromatic build quota, so we don't run storybook CI on pull requests targets master.
- master
jobs:
build:
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--max_old_space_size=7168"
steps:
- uses: actions/checkout@v4.1.1
if: github.event_name != 'pull_request_target'
with:
fetch-depth: 0
submodules: true
- uses: actions/checkout@v4.1.1
if: github.event_name == 'pull_request_target'
with:
fetch-depth: 0
submodules: true
ref: "refs/pull/${{ github.event.number }}/merge"
- name: Checkout actual HEAD
if: github.event_name == 'pull_request_target'
id: rev
run: |
echo "base=$(git rev-list --parents -n1 HEAD | cut -d" " -f2)" >> $GITHUB_OUTPUT
git checkout $(git rev-list --parents -n1 HEAD | cut -d" " -f3)
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v4.0.4
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Build misskey-js
run: pnpm --filter misskey-js build
- name: Build storybook
run: pnpm --filter frontend build-storybook
- name: Publish to Chromatic
if: github.event_name != 'pull_request_target' && github.ref == 'refs/heads/master'
run: pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Publish to Chromatic
if: github.event_name != 'pull_request_target' && github.ref != 'refs/heads/master'
id: chromatic_push
run: |
DIFF="${{ github.event.before }} HEAD"
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
DIFF="HEAD"
fi
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
echo "skip=true" >> $GITHUB_OUTPUT
fi
if pnpm --filter frontend chromatic -d storybook-static $(echo "$CHROMATIC_PARAMETER"); then
echo "success=true" >> $GITHUB_OUTPUT
else
echo "success=false" >> $GITHUB_OUTPUT
fi
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Publish to Chromatic
if: github.event_name == 'pull_request_target'
id: chromatic_pull_request
run: |
DIFF="${{ steps.rev.outputs.base }} HEAD"
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
DIFF="HEAD"
fi
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
echo "skip=true" >> $GITHUB_OUTPUT
fi
BRANCH="${{ github.event.pull_request.head.user.login }}:$HEAD_REF"
if [ "$BRANCH" = "misskey-dev:$HEAD_REF" ]; then
BRANCH="$HEAD_REF"
fi
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static --branch-name "$BRANCH" $(echo "$CHROMATIC_PARAMETER")
env:
HEAD_REF: ${{ github.event.pull_request.head.ref }}
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes
uses: actions/github-script@v7.0.1
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
github.rest.repos.createCommitComment({
owner: context.repo.owner,
repo: context.repo.repo,
commit_sha: context.sha,
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
with:
name: storybook
path: packages/frontend/storybook-static

View file

@ -5,15 +5,24 @@ on:
branches: branches:
- master - master
- develop - develop
paths:
- packages/backend/**
# for permissions
- packages/misskey-js/**
- .github/workflows/test-backend.yml
pull_request: pull_request:
paths:
- packages/backend/**
# for permissions
- packages/misskey-js/**
- .github/workflows/test-backend.yml
jobs: jobs:
jest: unit:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [20.10.0] node-version: [20.16.0]
services: services:
postgres: postgres:
@ -33,12 +42,11 @@ jobs:
with: with:
submodules: true submodules: true
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v2 uses: pnpm/action-setup@v4
with: - name: Install FFmpeg
version: 8 uses: FedericoCarboni/setup-ffmpeg@v3
run_install: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.1 uses: actions/setup-node@v4.0.4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
@ -51,9 +59,56 @@ jobs:
- name: Build - name: Build
run: pnpm build run: pnpm build
- name: Test - name: Test
run: pnpm jest-and-coverage run: pnpm --filter backend test-and-coverage
- name: Upload Coverage - name: Upload to Codecov
uses: codecov/codecov-action@v3 uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json
e2e:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.16.0]
services:
postgres:
image: postgres:15
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
ports:
- 56312:6379
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: corepack enable
- 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: Test
run: pnpm --filter backend test-and-coverage:e2e
- name: Upload to Codecov
uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json files: ./packages/backend/coverage/coverage-final.json

59
.github/workflows/test-federation.yml vendored Normal file
View file

@ -0,0 +1,59 @@
name: Test (federation)
on:
push:
branches:
- master
- develop
paths:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/test-federation.yml
pull_request:
paths:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/test-federation.yml
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.16.0]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Install FFmpeg
uses: FedericoCarboni/setup-ffmpeg@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Build Misskey
run: |
corepack enable && corepack prepare
pnpm i --frozen-lockfile
pnpm build
- name: Setup
run: |
cd packages/backend/test-federation
bash ./setup.sh
sudo chmod 644 ./certificates/*.test.key
- name: Start servers
# https://github.com/docker/compose/issues/1294#issuecomment-374847206
run: |
cd packages/backend/test-federation
docker compose up -d --scale tester=0
- name: Test
run: |
cd packages/backend/test-federation
docker compose run --no-deps tester
- name: Stop servers
run: |
cd packages/backend/test-federation
docker compose down

View file

@ -5,27 +5,37 @@ on:
branches: branches:
- master - master
- develop - develop
paths:
- packages/frontend/**
# for permissions
- packages/misskey-js/**
# for e2e
- packages/backend/**
- .github/workflows/test-frontend.yml
pull_request: pull_request:
paths:
- packages/frontend/**
# for permissions
- packages/misskey-js/**
# for e2e
- packages/backend/**
- .github/workflows/test-frontend.yml
jobs: jobs:
vitest: vitest:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [20.10.0] node-version: [20.16.0]
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v2 uses: pnpm/action-setup@v4
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.1 uses: actions/setup-node@v4.0.4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
@ -40,7 +50,7 @@ jobs:
- name: Test - name: Test
run: pnpm --filter frontend test-and-coverage run: pnpm --filter frontend test-and-coverage
- name: Upload Coverage - name: Upload Coverage
uses: codecov/codecov-action@v3 uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/frontend/coverage/coverage-final.json files: ./packages/frontend/coverage/coverage-final.json
@ -51,7 +61,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
node-version: [20.10.0] node-version: [20.16.0]
browser: [chrome] browser: [chrome]
services: services:
@ -78,12 +88,9 @@ jobs:
#- uses: browser-actions/setup-firefox@latest #- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }} # if: ${{ matrix.browser == 'firefox' }}
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v2 uses: pnpm/action-setup@v4
with:
version: 7
run_install: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.1 uses: actions/setup-node@v4.0.4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
@ -102,6 +109,7 @@ jobs:
run: pnpm exec cypress install run: pnpm exec cypress install
- name: Cypress run - name: Cypress run
uses: cypress-io/github-action@v6 uses: cypress-io/github-action@v6
timeout-minutes: 15
with: with:
install: false install: false
start: pnpm start:test start: pnpm start:test

View file

@ -6,9 +6,14 @@ name: Test (misskey.js)
on: on:
push: push:
branches: [ develop ] branches: [ develop ]
paths:
- packages/misskey-js/**
- .github/workflows/test-misskey-js.yml
pull_request: pull_request:
branches: [ develop ] branches: [ develop ]
paths:
- packages/misskey-js/**
- .github/workflows/test-misskey-js.yml
jobs: jobs:
test: test:
@ -16,7 +21,7 @@ jobs:
strategy: strategy:
matrix: matrix:
node-version: [20.10.0] node-version: [20.16.0]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps: steps:
@ -26,7 +31,7 @@ jobs:
- run: corepack enable - run: corepack enable
- name: Setup Node.js ${{ matrix.node-version }} - name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.1 uses: actions/setup-node@v4.0.4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
@ -46,7 +51,7 @@ jobs:
CI: true CI: true
- name: Upload Coverage - name: Upload Coverage
uses: codecov/codecov-action@v3 uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/misskey-js/coverage/coverage-final.json files: ./packages/misskey-js/coverage/coverage-final.json

View file

@ -16,19 +16,16 @@ jobs:
strategy: strategy:
matrix: matrix:
node-version: [20.10.0] node-version: [20.16.0]
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v2 uses: pnpm/action-setup@v4
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.1 uses: actions/setup-node@v4.0.4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'

45
.github/workflows/validate-api-json.yml vendored Normal file
View file

@ -0,0 +1,45 @@
name: Test (backend)
on:
push:
branches:
- master
- develop
paths:
- packages/backend/**
- .github/workflows/validate-api-json.yml
pull_request:
paths:
- packages/backend/**
- .github/workflows/validate-api-json.yml
jobs:
validate-api-json:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.16.0]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install Redocly CLI
run: npm i -g @redocly/cli
- run: corepack enable
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .config/example.yml .config/default.yml
- name: Build and generate
run: pnpm build && pnpm --filter backend generate-api-json
- name: Validation
run: npx @redocly/cli lint --extends=minimal ./packages/backend/built/api.json

13
.gitignore vendored
View file

@ -35,12 +35,17 @@ coverage
!/.config/example.yml !/.config/example.yml
!/.config/docker_example.yml !/.config/docker_example.yml
!/.config/docker_example.env !/.config/docker_example.env
!/.config/cypress-devcontainer.yml
docker-compose.yml docker-compose.yml
!/.devcontainer/docker-compose.yml ./compose.yml
.devcontainer/compose.yml
!/.devcontainer/compose.yml
# misskey # misskey
/build /build
built built
built-test
js-built
/data /data
/.cache-loader /.cache-loader
/db /db
@ -57,6 +62,12 @@ api-docs.json
ormconfig.json ormconfig.json
temp temp
/packages/frontend/src/**/*.stories.ts /packages/frontend/src/**/*.stories.ts
tsdoc-metadata.json
misskey-assets
# Vite temporary files
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
# blender backups # blender backups
*.blend1 *.blend1

3
.gitmodules vendored
View file

@ -1,6 +1,3 @@
[submodule "misskey-assets"]
path = misskey-assets
url = https://github.com/misskey-dev/assets.git
[submodule "fluent-emojis"] [submodule "fluent-emojis"]
path = fluent-emojis path = fluent-emojis
url = https://github.com/misskey-dev/emojis.git url = https://github.com/misskey-dev/emojis.git

View file

@ -1 +1 @@
20.10.0 20.16.0

View file

@ -3,9 +3,7 @@
"editorconfig.editorconfig", "editorconfig.editorconfig",
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"Vue.volar", "Vue.volar",
"Vue.vscode-typescript-vue-plugin",
"Orta.vscode-jest", "Orta.vscode-jest",
"dbaeumer.vscode-eslint",
"mrmlnc.vscode-json5" "mrmlnc.vscode-json5"
] ]
} }

View file

@ -7,7 +7,7 @@
"*.test.ts": "typescript" "*.test.ts": "typescript"
}, },
"jest.jestCommandLine": "pnpm run jest", "jest.jestCommandLine": "pnpm run jest",
"jest.autoRun": "off", "jest.runMode": "on-demand",
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
"source.fixAll": "explicit" "source.fixAll": "explicit"
}, },

View file

@ -1,21 +1,570 @@
<!-- ## 2024.11.0
## 2023.x.x (unreleased)
### General
- Feat: コンテンツの表示にログインを必須にできるように
- Feat: 過去のノートを非公開化/フォロワーのみ表示可能にできるように
- Enhance: 依存関係の更新
- Enhance: l10nの更新
### Client
- Enhance: Bull DashboardでRelationship Queueの状態も確認できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/751)
- Enhance: ドライブでソートができるように
- Enhance: アイコンデコレーション管理画面の改善
- Enhance: 「単なるラッキー」の取得条件を変更
- Enhance: 投稿フォームでEscキーを押したときIME入力中ならフォームを閉じないように #10866
- Enhance: MiAuth, OAuthの認可画面の改善
- どのアカウントで認証しようとしているのかがわかるように
- 認証するアカウントを切り替えられるように
- Enhance: Self-XSS防止用の警告を追加
- Enhance: カタルーニャ語 (ca-ES) に対応
- Enhance: 個別お知らせページではMetaタグを出力するように
- Fix: 通知の範囲指定の設定項目が必要ない通知設定でも範囲指定の設定がでている問題を修正
- 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: ノート投稿ボタンにホバー時のスタイルが適用されていないのを修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/305)
- Fix: メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正
### Server
- 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: フォロワーへのメッセージの絵文字をemojisに含めるように
- Fix: Nested proxy requestsを検出した際にブロックするように
[ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236)
- Fix: 招待コードの発行可能な残り数算出に使用すべきロールポリシーの値が違う問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/706)
- Fix: 連合への配信時に、acctの大小文字が区別されてしまい正しくメンションが処理されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/711)
- Fix: ローカルユーザーへのメンションを含むートが連合される際に正しいURLに変換されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/712)
- Fix: FTT無効時にユーザーリストタイムラインが使用できない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/709)
- Fix: User Webhookテスト機能のMock Payloadを修正
### Misskey.js
- Fix: Stream初期化時、別途WebSocketを指定する場合の型定義を修正
## 2024.10.1
### Note
- スパム対策として、モデレータ権限を持つユーザのアクティビティが7日以上確認できない場合は自動的に招待制へと切り替えコントロールパネル -> モデレーション -> "誰でも新規登録できるようにする"をオフに変更)るようになりました。 ( #13437 )
- 切り替わった際はモデレーターへお知らせとして通知されます。登録をオープンな状態で継続したい場合は、コントロールパネルから再度設定を行ってください。
### General
- Feat: ユーザーの名前に禁止ワードを設定できるように
### Client
- Enhance: タイムライン表示時のパフォーマンスを向上
- Enhance: アーカイブした個人宛のお知らせを表示・編集できるように
- Enhance: l10nの更新
- Fix: メールアドレス不要でCaptchaが有効な場合にアカウント登録完了後自動でのログインに失敗する問題を修正
### Server
- Feat: モデレータ権限を持つユーザが全員7日間活動しなかった場合は自動的に招待制へと切り替えるように ( #13437 )
- Enhance: 個人宛のお知らせは「わかった」を押すと自動的にアーカイブされるように
- Fix: `admin/emoji/update`エンドポイントのidのみ指定した時不正なエラーが発生するバグを修正
- Fix: RBT有効時、リートのリアクションが反映されない問題を修正
- Fix: キューのエラーログを簡略化するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/649)
## 2024.10.0
### Note
- セキュリティ向上のため、サーバー初期設定時に使用する初期パスワードを設定できるようになりました。今後Misskeyサーバーを新たに設置する際には、初回の起動前にコンフィグファイルの`setupPassword`をコメントアウトし、初期パスワードを設定することをおすすめします。(すでに初期設定を完了しているサーバーについては、この変更に伴い対応する必要はありません)
- ホスティングサービスを運営している場合は、コンフィグファイルを構築する際に`setupPassword`をランダムな値に設定し、ユーザーに通知するようにシステムを更新することをおすすめします。
- なお、初期パスワードが設定されていない場合でも初期設定を行うことが可能ですUI上で初期パスワードの入力欄を空欄にすると続行できます
- ユーザーデータを読み込む際の型が一部変更されました。
- `twoFactorEnabled`, `usePasswordLessLogin`, `securityKeys`: 自分とモデレーター以外のユーザーからは取得できなくなりました
### General
- Feat: サーバー初期設定時に初期パスワードを設定できるように
- Feat: 通報にモデレーションノートを残せるように
- Feat: 通報の解決種別を設定できるように
- Enhance: 通報の解決と転送を個別に行えるように
- Enhance: セキュリティ向上のため、サインイン時もCAPTCHAを求めるようになりました
- Enhance: 依存関係の更新
- Enhance: l10nの更新
- Enhance: Playの「人気」タブで10件以上表示可能に #14399
- Fix: 連合のホワイトリストが正常に登録されない問題を修正
### Client
- Enhance: デザインの調整
- Enhance: ログイン画面の認証フローを改善
- Fix: クライアント上での時間ベースの実績獲得動作が実績獲得後も発動していた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/657)
### Server
- Enhance: セキュリティ向上のため、ログイン時にメール通知を行うように
- Enhance: 自分とモデレーター以外のユーザーから二要素認証関連のデータが取得できないように
- Enhance: 通報および通報解決時に送出されるSystemWebhookにユーザ情報を含めるように ( #14697 )
- Fix: `admin/abuse-user-reports`エンドポイントのスキーマが間違っていた問題を修正
## 2024.9.0
### General
- Feat: ノート単体・ユーザーのノート・クリップのノートの埋め込み機能
- 埋め込みコードやウェブサイトへの実装方法の詳細は https://misskey-hub.net/docs/for-users/features/embed/ をご覧ください
- Feat: パスキーでログインボタンを実装 (#14574)
- Feat: フォローされた際のメッセージを設定できるように
- Feat: 連合をホワイトリスト制にできるように
- Feat: UserWebhookとSystemWebhookのテスト送信機能を追加 (#14445)
- Feat: モデレーターはユーザーにかかわらずファイルが添付されているノートを検索できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/680)
- Feat: データエクスポートが完了した際に通知を発行するように
- Enhance: ユーザーによるコンテンツインポートの可否をロールポリシーで制御できるように
- Enhance: 依存関係の更新
- Enhance: l10nの更新
### Client
- Enhance: サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように
- Enhance: アイコンデコレーション管理画面にプレビューを追加
- Enhance: コントロールパネル内のファイル一覧でセンシティブなファイルを区別しやすく
- Enhance: ScratchpadにUIインスペクターを追加
- Enhance: Play編集画面の項目の並びを少しリデザイン
- Enhance: 各種メニューをドロワー表示するかどうか設定可能に
- Enhance: AiScriptのMk:C:containerのオプションに`borderStyle`と`borderRadius`を追加
- Enhance: CWでも絵文字をクリックしてメニューを表示できるように
- Fix: サーバーメトリクスが2つ以上あるとリロード直後の表示がおかしくなる問題を修正
- Fix: コントロールパネル内のAp requests内のチャートの表示がおかしかった問題を修正
- Fix: 月の違う同じ日はセパレータが表示されないのを修正
- Fix: タッチ画面でレンジスライダーを操作するとツールチップが複数表示される問題を修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/265)
- Fix: 縦横比が極端なカスタム絵文字を表示する際にレイアウトが崩れる箇所があるのを修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/725)
- Fix: 設定変更時のリロード確認ダイアログが複数個表示されることがある問題を修正
- Fix: ファイルの詳細ページのファイルの説明で改行が正しく表示されない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/bde6bb0bd2e8b0d027e724d2acdb8ae0585a8110)
- Fix: 一部画面のページネーションが動作しにくくなっていたのを修正 ( #12766 , #11449 )
### Server
- Feat: Misskey® Reactions Boost Technology™ (RBT)により、リアクションの作成負荷を低減することが可能に
- Fix: アンテナの書き込み時にキーワードが与えられなかった場合のエラーをApiErrorとして投げるように
- この変更により、公式フロントエンドでは入力の不備が内部エラーとして報告される代わりに一般的なエラーダイアログで報告されます
- 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`ヘッダーが送信されなかった問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/8a982c61c01909e7540ff1be9f019df07c3f0624)
- Fix: サーバーサイドのDOM解析完了時にリソースを開放するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/634)
- Fix: `<link rel="alternate">`を追って照会するのはOKレスポンスが返却された場合のみに
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/633)
- Fix: メールにスタイルが適用されていなかった問題を修正
## 2024.8.0
### General
- Enhance: モデレーターはすべてのユーザーのフォロー・フォロワーの一覧を見られるように
- Enhance: アカウントの削除のモデレーションログを残すように
- Enhance: 不適切なページ、ギャラリー、Playを管理者権限で削除できるように
- Fix: リモートユーザのフォロー・フォロワーの一覧が非公開設定の場合も表示できてしまう問題を修正
### Client
- Enhance: 「自分のPlay」ページにおいてPlayが非公開かどうかが一目でわかるように
- Enhance: 不適切なページ、ギャラリー、Playを通報できるように
- Fix: Play編集時に公開範囲が「パブリック」にリセットされる問題を修正
- Fix: ページ遷移に失敗することがある問題を修正
- Fix: iOSでユーザー名などがリンクとして誤検知される現象を抑制
- Fix: mCaptchaを使用していてもbotプロテクションに関する警告が消えないのを修正
- Fix: ユーザーのモデレーションページにおいてユーザー名にドットが入っているとシステムアカウントとして表示されてしまう問題を修正
- Fix: 特定の条件下でノートの削除ボタンが出ないのを修正
### Server
- Enhance: 照会時にURLがhtmlかつheadタグ内に`rel="alternate"`, `type="application/activity+json"`の`link`タグがある場合に追ってリンク先を照会できるように
- Enhance: 凍結されたアカウントのフォローリクエストを表示しないように
- Fix: WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題 #14374
- 通知ページや通知カラム(デッキ)を開いている状態において、新たに発生した通知が既読されない問題が修正されます。
- これにより、プッシュ通知が有効な同条件下の環境において、プッシュ通知が常に発生してしまう問題も修正されます。
- Fix: Play各種エンドポイントの返り値に`visibility`が含まれていない問題を修正
- Fix: サーバー情報取得の際にモデレーター限定の情報が取得できないことがあるのを修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/582)
- Fix: 公開範囲がダイレクトのノートをユーザーアクティビティのチャート生成に使用しないように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/679)
- Fix: ActivityPubのエンティティタイプ判定で不明なタイプを受け取った場合でも処理を継続するように
- キュー処理のつまりが改善される可能性があります
- 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)
## 2024.7.0
### Note
- デッキUIの新着ートをサウンドで通知する機能の追加v2024.5.0)に伴い、以前から動作しなくなっていたクライアント設定内の「アンテナ受信」「チャンネル通知」サウンドを削除しました。
- Streaming APIにて入力が不正な場合にはそのメッセージを無視するようになりました。 #14251
### General
- Feat: 通報を受けた際、または解決した際に、予め登録した宛先に通知を飛ばせるように(mail or webhook) #13705
- Feat: ユーザーのアイコン/バナーの変更可否をロールで設定可能に
- 変更不可となっていても、設定済みのものを解除してデフォルト画像に戻すことは出来ます
- Feat: ユーザ作成時にSystemWebhookを送信可能に #14281
- Feat: メディアサイレンスを実装 #13842
- メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われ、カスタム絵文字が使用できないようになります。
- Enhance: 管理画面でアーカイブにしたお知らせを表示・編集できるように
- Fix: 配信停止したインスタンス一覧が見れなくなる問題を修正
- Fix: Dockerコンテナの立ち上げ時に`pnpm`のインストールで固まることがある問題
- Fix: デフォルトテーマに無効なテーマコードを入力するとUIが使用できなくなる問題を修正
- 翻訳の更新
- 依存関係の更新
### Client
- Feat: ユーザーページから「このユーザーのノートを検索」できるように (#14128)
- Feat: 検索ページはクエリを受け付けるようになりました (#14128)
- Enhance: 検索ページのUI改善 (#14128)
- Enhance: 内蔵APIドキュメントのデザイン・パフォーマンスを改善
- Enhance: 非ログイン時に他サーバーに遷移するアクションを追加
- Enhance: 非ログイン時のハイライトTLのデザインを改善
- Enhance: フロントエンドのアクセシビリティ改善
(Based on https://github.com/taiyme/misskey/pull/226)
- 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`)
- Enhance: センシティブなメディアを開く際に確認ダイアログを出せるように
- Enhance: 検索(ノート/ユーザー)で `#` から始まる文字列を入力すると、そのハッシュタグのノート/ユーザー一覧ページが表示できるように
- Enhance: 検索(ノート/ユーザー)において、入力に空白が含まれている場合は照会を行わないように
- Enhance: 検索(ノート/ユーザー)において、照会を行うかどうか、ハッシュタグのノート/ユーザー一覧ページを表示するかどうかの確認ダイアログを出すように
- Enhance: 検索(ノート/ユーザー)で `@` から始まる文字列(`@user@host`など)を入力すると、そのユーザーを照会できるように
- Enhance: ドライブのファイル・フォルダをドラッグしなくても移動できるように
(Cherry-picked from https://github.com/nafu-at/misskey/commit/b89c2af6945c6a9f9f10e83f54d2bcf0f240b0b4, https://github.com/nafu-at/misskey/commit/8a7d710c6acb83f50c83f050bd1423c764d60a99)
- Enhance: デッキのアンテナ・リスト選択画面からそれぞれを新規作成できるように
- Enhance: ブラウザのコンテキストメニューを使用できるように
- Enhance: 連合の「連合中」,「購読中」,「配信中」に対してブロックしているサーバー、配信停止しているサーバーを含めないように
- Fix: `/about#federation` ページなどで各インスタンスのチャートが表示されなくなっていた問題を修正
- Fix: ユーザーページの追加情報のラベルを投稿者のサーバーの絵文字で表示する (#13968)
- Fix: リバーシの対局を正しく共有できないことがある問題を修正
- Fix: コントロールパネルでベースロールのポリシーを編集してもUI上では変更が反映されない問題を修正
- Fix: アンテナの編集画面のボタンに隙間を追加
- Fix: テーマプレビューが見れない問題を修正
- Fix: ショートカットキーが連打できる問題を修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/234)
- Fix: MkSignin.vueのcredentialRequestからReactivityを削除ProxyがPasskey認証処理に渡ることを避けるため
- Fix: 「アニメーション画像を再生しない」がオンのときでもサーバーのバナー画像・背景画像がアニメーションしてしまう問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/574)
- Fix: Twitchの埋め込みが開けない問題を修正
- Fix: 子メニューの高さがウィンドウからはみ出ることがある問題を修正
- Fix: 個人宛てのダイアログ形式のお知らせが即時表示されない問題を修正
- Fix: 一部の画像がセンシティブ指定されているときに画面に何も表示されないことがあるのを修正
- Fix: リアクションしたユーザー一覧のユーザー名がはみ出る問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/672)
- Fix: `/share`ページにおいて絵文字ピッカーを開くことができない問題を修正
- Fix: deck uiの通知音が重なる問題 (#14029)
- Fix: ダイレクト投稿の"削除して編集"において、宛先が保持されていなかった問題を修正
- Fix: 投稿フォームへのURL貼り付けによる引用が下書きに保存されていなかった問題を修正
- Fix: "削除して編集"や下書きにおいて、リアクションの受け入れ設定が保持/保存されていなかった問題を修正
- Fix: 照会に `#` から始まる文字列を入力してそのハッシュタグのページを表示する際、入力が `#` のみの場合に「指定されたURLに該当するページはありませんでした。」が表示されてしまう問題を修正
- Fix: 照会に `@` から始まる文字列を入力してユーザーを照会する際、入力が `@` のみの場合に「問題が発生しました」が表示されてしまう問題を修正
- Fix: 投稿フォームにートのURLを貼り付けて"引用として添付"した場合、投稿文を空にすることによるRenote化が出来なかった問題を修正
- Fix: フォロー中のユーザーに関する"TLに他の人への返信を含める"の設定が分かりづらい問題を修正
- Fix: タイムラインページを開いた時、`TLに他の人への返信を含める`がオフのときに`ファイル付きのみ`をオンにできない問題を修正
- Fix: deck uiでタイムラインを切り替えた際にTLの設定項目が更新されず、`TLに他の人への返信を含める`のトグルが表示されない問題を修正
- Fix: ウィジェットのタイムライン選択欄に無効化されたタイムラインが表示される問題を修正
- Fix: サウンドにドライブの音声を使用している際にドライブの音声が再生できなくなると設定が変更できなくなる問題を修正
### Server
- Feat: レートリミット制限に引っかかったときに`Retry-After`ヘッダーを返すように (#13949)
- Enhance: エンドポイント`clips/update`の必須項目を`clipId`のみに
- Enhance: エンドポイント`admin/roles/update`の必須項目を`roleId`のみに
- Enhance: エンドポイント`pages/update`の必須項目を`pageId`のみに
- Enhance: エンドポイント`gallery/posts/update`の必須項目を`postId`のみに
- Enhance: エンドポイント`i/webhook/update`の必須項目を`webhookId`のみに
- Enhance: エンドポイント`admin/ad/update`の必須項目を`id`のみに
- Enhance: `default.yml`内の`url`, `db.db`, `db.user`, `db.pass`を環境変数から読み込めるように
- Enhance: エンドポイント`api/meta`にプロパティ`noteSearchableScope`が増え、`string`値`local`または`global`を返却します
- Fix: チャート生成時にinstance.suspensionStateに置き換えられたinstance.isSuspendedが参照されてしまう問題を修正
- Fix: ユーザーのフィードページのMFMをHTMLに展開するように (#14006)
- Fix: アンテナ・クリップ・リスト・ウェブフックがロールポリシーの上限より一つ多く作れてしまうのを修正 (#14036)
- Fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
- Fix: FTT有効時、タイムライン用エンドポイントで`sinceId`にキャッシュ内最古のものより古いものを指定した場合に正しく結果が返ってこない問題を修正
- Fix: 自分以外のクリップ内のノート個数が見えることがあるのを修正
- Fix: 空文字列のリアクションはフォールバックされるように
- Fix: リノートにリアクションできないように
- Fix: ユーザー名の前後に空白文字列がある場合は省略するように
- Fix: プロフィール編集時に名前を空白文字列のみにできる問題を修正
- Fix: ユーザ名のサジェスト時に表示される内容と順番を調整(以下の順番になります) #14149
1. フォロー中かつアクティブなユーザ
2. フォロー中かつ非アクティブなユーザ
3. フォローしていないアクティブなユーザ
4. フォローしていない非アクティブなユーザ
また、自分自身のアカウントもサジェストされるようになりました。
- Fix: 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/652)
- Fix: ユーザーのリアクション一覧でミュート/ブロックが機能していなかった問題を修正
- Fix: FTT有効時にリモートユーザーのートがHTLにキャッシュされる問題を修正
- Fix: 一部の通知がローカル上のリモートユーザーに対して行われていた問題を修正
- Fix: エラーメッセージの誤字を修正 (#14213)
- Fix: ソーシャルタイムラインにローカルタイムラインに表示される自分へのリプライが表示されない問題を修正
- Fix: リノートのミュートが適用されるまでに時間がかかることがある問題を修正
(Cherry-picked from https://github.com/Type4ny-Project/Type4ny/commit/e9601029b52e0ad43d9131b555b614e56c84ebc1)
- Fix: Steaming APIが不正なデータを受けた場合の動作が不安定である問題 #14251
- Fix: `users/search`において `@` から始まる文字列が与えられた際の処理が正しくなかった問題を修正
- 名前や自己紹介に `@` から始まる文言が含まれるユーザーも検索できるようになります
- Fix: 一部のMisskey以外のソフトウェアからファイルを受け取れない問題
(Cherry-picked from https://github.com/Secineralyr/misskey.dream/pull/73/commits/652eaff1e8aa00b890d71d2e1e52c263c1e67c76)
- NOTE: `drive_file`の`url`, `uri`, `src`の上限が512から1024に変更されます
Migrationではカラム定義の変更のみが行われます。
サーバー管理者は各サーバーの必要に応じ`drive_file` `("uri")`に対するインデックスを張りなおすことでより安定しDBの探索が行われる可能性があります。詳細 は [GitHub](https://github.com/misskey-dev/misskey/pull/14323#issuecomment-2257562228)で確認可能です
- Fix: 自分のフォロワー限定投稿に対するリプライがホームタイムラインで見えないことが有る問題を修正
- Fix: フォローしていないユーザによるフォロワー限定投稿に対するリプライがソーシャルタイムラインで表示されることがある問題を修正
### Misskey.js
- Feat: `/drive/files/create` のリクエストに対応(`multipart/form-data`に対応)
- Feat: `/admin/role/create` のロールポリシーの型を修正
## 2024.5.0
### Note
- コントロールパネル内にあるサマリープロキシの設定個所がセキュリティから全般へ変更となります。
- 悪意のある第三者がリモートユーザーになりすましたアクティビティを受け取れてしまう問題を修正しました。詳しくは[GitHub security advisory](https://github.com/misskey-dev/misskey/security/advisories/GHSA-2vxv-pv3m-3wvj)をご覧ください。
- 管理者向け権限 `read:admin:show-users``read:admin:show-user` に統合されました。必要に応じてAPIトークンを再発行してください。
### General
- Feat: エラートラッキングにSentryを使用できるようになりました
- Enhance: URLプレビューの有効化・無効化を設定できるように #13569
- Enhance: アンテナでBotによるートを除外できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/545)
- Enhance: クリップのノート数を表示するように
- Enhance: コンディショナルロールの条件として以下を新たに追加 (#13667)
- 猫ユーザーか
- botユーザーか
- サスペンド済みユーザーか
- 鍵アカウントユーザーか
- 「アカウントを見つけやすくする」が有効なユーザーか
- Enhance: Goneを出さずに終了したサーバーへの配信停止を自動的に行うように
- もしそのようなサーバーからから配信が届いた場合には自動的に配信を再開します
- Enhance: 配信停止の理由を表示するように
- Enhance: サーバーのお問い合わせ先URLを設定できるようになりました
- Fix: Play作成時に設定した公開範囲が機能していない問題を修正
- Fix: 正規化されていない状態のhashtagが連合されてきたhtmlに含まれているとhashtagが正しくhashtagに復元されない問題を修正
- Fix: みつけるのアンケート欄にてチャンネルのアンケートが含まれてしまう問題を修正
### Client
- Feat: アップロードするファイルの名前をランダム文字列にできるように
- Feat: 個別のお知らせにリンクで飛べるように
(Based on https://github.com/MisskeyIO/misskey/pull/639)
- Enhance: 自分のノートの添付ファイルから直接ファイルの詳細ページに飛べるように
- Enhance: 広告がMisskeyと同一ドメインの場合はRouterで遷移するように
- Enhance: リアクション・いいねの総数を表示するように
- Enhance: リアクション受け入れが「いいねのみ」の場合はリアクション絵文字一覧を表示しないように
- Enhance: 設定>プラグインのページからプラグインの簡易的なログやエラーを見られるように
- 実装の都合により、プラグインは1つエラーを起こした時に即時停止するようになりました
- Enhance: ページのデザインを変更
- Enhance: 2要素認証ワンタイムパスワードの入力欄を改善
- Enhance: 「今日誕生日のフォロー中ユーザー」ウィジェットを手動でリロードできるように
- Enhance: 映像・音声の再生にブラウザのネイティブプレイヤーを使用できるように
- Enhance: 映像・音声の再生メニューに「再生速度」「ループ再生」「ピクチャインピクチャ」を追加
- Enhance: 映像・音声の再生にキーボードショートカットが使えるように
- Enhance: ノートについているリアクションの「もっと!」から、リアクションの一覧を表示できるように
- Enhance: リプライにて引用がある場合テキストが空でもノートできるように
- 引用したいートのURLをコピーしリプライ投稿画面にペーストして添付することで達成できます
- Enhance: フォローするかどうかの確認ダイアログを出せるように
- Enhance: Playを手動でリロードできるように
- Enhance: 通報のコメント内のリンクをクリックした際、ウィンドウで開くように
- Enhance: `Ui:C:postForm` および `Ui:C:postFormButton``localOnly``visibility` を設定できるように
- Enhance: AiScriptを0.18.0にバージョンアップ
- Enhance: 通常のノートでも、お気に入りに登録したチャンネルにリノートできるように
- Enhance: 長いテキストをペーストした際にテキストファイルとして添付するかどうかを選択できるように
- Enhance: 新着ートをサウンドで通知する機能をdeck UIに追加しました
- Enhance: コントロールパネルのクイックアクションからファイルを照会できるように
- Enhance: コントロールパネルのクイックアクションから通常の照会を行えるように
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
- Fix: 周年の実績が閏年を考慮しない問題を修正
- Fix: ローカルURLのプレビューポップアップが左上に表示される
- Fix: WebGL2をサポートしないブラウザで「季節に応じた画面の演出」が有効になっているとき、Misskeyが起動できなくなる問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/459)
- Fix: ページタイトルでローカルユーザーとリモートユーザーの区別がつかない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/528)
- Fix: コードブロックのシンタックスハイライトで使用される定義ファイルをCDNから取得するように #13177
- CDNから取得せずMisskey本体にバンドルする場合は`pacakges/frontend/vite.config.ts`を修正してください。
- Fix: タイムゾーンによっては、「今日誕生日のフォロー中ユーザー」ウィジェットが正しく動作しない問題を修正
- Fix: CWのみの引用リートが詳細ページで純粋なリートとして誤って扱われてしまう問題を修正
- Fix: ート詳細ページにおいてCW付き引用リートのCWボタンのラベルに「引用」が含まれていない問題を修正
- Fix: ダイアログの入力で字数制限に違反していてもEnterキーが押せてしまう問題を修正
- Fix: ダイレクト投稿の宛先が保存されない問題を修正
- Fix: Playのページを離れたときに、Playが正常に初期化されない問題を修正
- Fix: ページのOGP URLが間違っているのを修正
- Fix: リバーシの対局を正しく共有できないことがある問題を修正
- Fix: 通知をグループ化している際に、人数が正常に表示されないことがある問題を修正
- Fix: 連合なしの状態の読み書きができない問題を修正
- Fix: `/share` で日本語等を含むurlがurlエンコードされない問題を修正
- Fix: ファイルを5つ以上添付してもテキストがないとートが折りたたまれない問題を修正
### Server
- Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに
- Enhance: misskey-dev/summaly@5.1.0の取り込み(プレビュー生成処理の効率化)
- Enhance: ドライブのファイルがNSFWかどうか個別に連合されるように (#13756)
- 可能な場合、ノートの添付ファイルのセンシティブ判定がファイル単位になります
- Fix: リモートから配送されたアクティビティにJSON-LD compactionをかける
- 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: 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/606)
- Fix: Add Cache-Control to Bull Board
- Fix: nginx経由で/files/にRangeリクエストされた場合に正しく応答できないのを修正
- Fix: 一部のタイムラインのストリーミングでインスタンスミュートが効かない問題を修正
- Fix: グローバルタイムラインで返信が表示されないことがある問題を修正
- Fix: リノートをミュートしたユーザの投稿のリノートがミュートされる問題を修正
- Fix: AP Link等は添付ファイル扱いしないようになど (#13754)
- Fix: FTTが有効かつsinceIdのみを指定した場合に帰って来るレスポンスが逆順である問題を修正
- Fix: `/i/notifications``includeTypes`か`excludeTypes`を指定しているとき、通知が存在するのに空配列を返すことがある問題を修正
- Fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正
- Fix: `/tags``/user-tags` が検索エンジンにインデックスされないように
- Fix: もともとセンシティブではないと連合されていたファイルがセンシティブとして連合された場合にセンシティブとしてそのファイルを扱うように
- センシティブとして連合したファイルは非センシティブとして連合されてもセンシティブとして扱われます
## 2024.3.1
### General ### General
- -
### Client ### Client
- - Fix: 絵文字関係の不具合を修正 (#13485)
- 履歴に残っている or ピン留めされた絵文字がコントロールパネルより削除されていた際にリアクションデッキが表示できなくなる
- Unicode絵文字が履歴に残っている or ピン留めされているとリアクションデッキが表示できなくなる
- Fix: カスタム絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 #13487
### Server ### Server
- -
--> ## 2024.3.0
## 202x.x.x (Unreleased) ### General
- Enhance: 投稿者のロールに応じて、一つのノートに含むことのできるメンションとダイレクト投稿の宛先の人数に上限を設定できるように
* デフォルトのメンション上限は20アカウントに設定されます。管理者はベースロールの設定で変更可能です。
* 連合の問い合わせに応答しないサーバーのリモートユーザーへのメンションは、上限の人数に含めない実装になっています。
- Enhance: 通知がミュート、凍結を考慮するようになりました
- Enhance: サーバーごとにモデレーションノートを残せるように
- Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加
- Enhance: 通知の受信設定に「フォロー中またはフォロワー」を追加
- Enhance: 通知の履歴をリセットできるように
- Fix: ダイレクトなノートに対してはダイレクトでしか返信できないように
### Client ### Client
- Enhance: ノート作成画面のファイル添付メニューの区切り線の位置を調整
- Fix: syuilo/misskeyの時代からあるインスタンスが改変されたバージョンであると誤認識される問題
- Fix: MFMのオートコンプリートが出るべき状況で出ないことがある問題を修正
- Fix: チャートのラベルが消えている問題を修正
- Fix: 画面表示後最初の音声再生が爆音になることがある問題を修正
- Fix: 設定のバックアップ作成時に名前を入力しなかった場合、ローカライゼーションがおかしくなる問題を修正
- Fix: ページ`/admin/emojis`の絵文字編集ダイアログで「リアクションとして使えるロール」を追加する際に何も選択せずOKを押下すると画面が固まる問題を修正
- Fix: 絵文字サジェストの順位で、絵文字自体の名前が同じものよりもタグで一致しているものが優先されてしまう問題を修正
- Fix: ユーザの情報のポップアップが消えなくなることがある問題を修正
### Server
- Enhance: エンドポイント`flash/update`の`flashId`以外のパラメータは必須ではなくなりました
- Fix: nodeinfoにenableMcaptchaとenableTurnstileが無いのを修正
- Fix: 破損した通知をクライアントに送信しないように
* 通知欄が無限にリロードされる問題が改善する可能性があります
- Fix: 禁止キーワードを含むートがDelayed Queueに追加されて再処理される問題を修正
- Fix: 自分がフォローしていないアカウントのフォロワー限定ノートが閲覧できることがある問題を修正
- Fix: タイムラインのオプションで「リノートを表示」を無効にしている際、投票のみの引用リノートが流れてこない問題を修正
- Fix: エンドポイント`admin/emoji/update`の各種修正
- 必須パラメータを`id`または`name`のいずれかのみに
- `id`の代わりに`name`で絵文字を指定可能に(`id`・`name`両指定時は従来通り`name`を変更する挙動)
- `category`および`licence`が指定なしの時勝手にnullに上書きされる挙動を修正
- Fix: 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正
## 2024.2.0
### Note
- 外部サイトからプラグインをインストールする場合のパスが`/install-extentions`から`/install-extensions`に変わります。以前のパスからは自動でリダイレクトされるようになっていますが、新しいパスに変更することをお勧めします。
### General
- Feat: [mCaptcha](https://github.com/mCaptcha/mCaptcha)のサポートを追加
- Feat: Add support for TrueMail
- Feat: AGPLv3ライセンスに誤って違反するのを防止する機能を追加
- 管理者がrepositoryUrlを変更したり、またはソースコードを直接頒布することを選択できるようになります
- 本体のソースコードに改変を加えた際に、ライセンスに基づく適切な案内を表示します
- Enhance: モデレーターはすべてのユーザーのリアクション一覧を見られるように
- Fix: リストライムラインの「リノートを表示」が正しく機能しない問題を修正
- Fix: リモートユーザーのリアクション一覧がすべて見えてしまうのを修正
* すべてのリモートユーザーのリアクション一覧を見えないようにします
- Fix: 特定のキーワード及び正規表現にマッチする文字列を含むノートが投稿された際、エラーに出来るような設定項目を追加 #13207
* デフォルトは空欄なので適用前と同等の動作になります
### Client
- Feat: 新しいゲームを追加
- Feat: 音声・映像プレイヤーを追加
- Feat: 絵文字の詳細ダイアログを追加
- Feat: 枠線をつけるMFM`$[border.width=1,style=solid,color=fff,radius=0 ...]`を追加
- デフォルトで枠線からはみ出る部分が隠されるようにしました。初期と同じ挙動にするには`$[border.noclip`が必要です
- Feat: スワイプでタブを切り替えられるように
- Enhance: MFM等のコードブロックに全文コピー用のボタンを追加
- Enhance: ハッシュタグ入力時に、本文の末尾の行に何も書かれていない場合は新たにスペースを追加しないように - Enhance: ハッシュタグ入力時に、本文の末尾の行に何も書かれていない場合は新たにスペースを追加しないように
- Enhance: チャンネルノートのピン留めをノートのメニューからできるように
- Enhance: 管理者の場合はAPI tokenの発行画面で管理機能に関する権限を付与できるように
- Enhance: AiScriptを0.17.0に更新 [CHANGELOG](https://github.com/aiscript-dev/aiscript/blob/bb89d132b633a622d3cb0eff0d0cc7e476c0cfdd/CHANGELOG.md)
- 配列の範囲外・非整数のインデックスへの代入が完全禁止になるので注意
- Enhance: 絵文字ピッカー・オートコンプリートで、完全一致した絵文字を優先的に表示するように
- Enhance: Playの説明欄にMFMを使えるように
- Enhance: チャンネルノートの場合は詳細ページからその前後のノートを見れるように
- Enhance: 季節に応じた画面の演出を南半球でも利用できるように
- Enhance: タイムラインフィルターの設定をすべて保持できるように
- 今までの「TLに他の人への返信を含める」設定は一旦リセットされます
- Enhance: タイムラインフィルターに「センシティブなファイルを含むノートを表示」を追加
- Enhance: ノート作成画面のファイル添付メニューから直接ファイルを削除できるように
- Enhance: MFMの属性でオートコンプリートが使用できるように #12735
- Enhance: 絵文字編集ダイアログをモーダルではなくウィンドウで表示するように
- Enhance: リモートのユーザーはメニューから直接リモートで表示できるように
- Enhance: リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように
- Enhance: コードのシンタックスハイライトにテーマを適用できるように
- Enhance: リアクション権限がない場合、ハートにフォールバックするのではなくリアクションピッカーなどから打てないように
- リモートのユーザーにローカルのみのカスタム絵文字をリアクションしようとした場合
- センシティブなリアクションを認めていないユーザーにセンシティブなカスタム絵文字をリアクションしようとした場合
- ロールが必要な絵文字をリアクションしようとした場合
- Enhance: ページ遷移時にPlayerを閉じるように
- Enhance: 通報ページのユーザをクリックした際にユーザをウィンドウで開くように
- Enhance: ノートの通報時にリモートのノートであっても自インスタンスにおけるノートのリンクを含むように
- Enhance: オフライン表示のデザインを改善・多言語対応
- Fix: ネイティブモードの絵文字がモノクロにならないように
- Fix: v2023.12.0で追加された「モデレーターがユーザーのアイコンもしくはバナー画像を未設定状態にできる機能」が管理画面上で正しく表示されていない問題を修正
- Fix: AiScriptの`readline`関数が不正な値を返すことがある問題のv2023.12.0時点での修正がPlay以外に適用されていないのを修正
- Fix: v2023.12.1で追加された`$[clickable ...]`および`onClickEv`が正しく機能していないのを修正
- Fix: Renoteのキーボードショートカットが機能していなかった問題を修正
- Fix: 投稿フォームでアンケートの日時指定をした状態で再読み込みをすると期日が復元されない問題を修正
- Fix: アンケートを設定したノートを「削除して編集」をするとアンケートの期日が引き継がれず、リセットされてしまう問題を修正
- Fix: デッキのプロファイル作成時に名前を空にできる問題を修正
- Fix: テーマ作成時に名称が空欄でも作成できてしまう問題を修正
- Fix: プラグインで`Plugin:register_note_post_interruptor`を使用すると、ノートが投稿できなくなる問題を修正
- Fix: iOSで大きな画像を変換してアップロードできない問題を修正
- Fix: 「アニメーション画像を再生しない」もしくは「データセーバー(アイコン)」を有効にしていても、アイコンデコレーションのアニメーションが停止されない問題を修正
- Fix: 画像をクロップするとクロップ後の解像度が異様に低くなる問題の修正
- Fix: 画像をクロップ時、正常に完了できない問題の修正
- Fix: キャプションが空の画像をクロップするとキャプションにnullという文字列が入ってしまう問題の修正
- Fix: プロフィールを編集してもリロードするまで反映されない問題を修正
- Fix: エラー画像URLを設定した後解除するとデフォルトの画像が表示されない問題の修正
- Fix: MkCodeEditorで行がずれていってしまう問題の修正
- Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正 #13196
### Server
- Enhance: 連合先のレートリミットを超過した際にリトライするようになりました
- Enhance: ActivityPub Deliver queueでBodyを事前処理するように (#12916)
- Enhance: クリップをエクスポートできるように
- Enhance: `/files`のファイルに対してHTTP Rangeリクエストを行えるように
- Enhance: `api.json`のOpenAPI Specificationを3.1.0に更新
- Enhance: 連合向けのノート配信を軽量化 #13192
- Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正
- Fix: `notes/create`で、`text`が空白文字のみで構成されているか`null`であって、かつ`text`だけであるリクエストに対するレスポンスが400になるように変更
- Fix: `notes/create`で、`text`が空白文字のみで構成されていてかつリノート、ファイルまたは投票を含んでいるリクエストに対するレスポンスの`text`が`""`から`null`になるように変更
- Fix: ipv4とipv6の両方が利用可能な環境でallowedPrivateNetworksが設定されていた場合プライベートipの検証ができていなかった問題を修正
- Fix: properly handle cc followers
- Fix: ジョブに関する設定の名前を修正 relashionshipJobPerSec -> relationshipJobPerSec
- Fix: コントロールパネル->モデレーション->「誰でも新規登録できるようにする」の初期値をONからOFFに変更 #13122
- Fix: リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 #13273
## 2023.12.2 ## 2023.12.2

View file

@ -1,7 +1,7 @@
# Contribution guide # Contribution guide
We're glad you're interested in contributing Misskey! In this document you will find the information you need to contribute to the project. We're glad you're interested in contributing Misskey! In this document you will find the information you need to contribute to the project.
> **Note** > [!NOTE]
> This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.** > This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
> Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\ > Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
> The accuracy of machine translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language. > The accuracy of machine translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
@ -17,16 +17,31 @@ Before creating an issue, please check the following:
- Issues should only be used to feature requests, suggestions, and bug tracking. - Issues should only be used to feature requests, suggestions, and bug tracking.
- Please ask questions or troubleshooting in [GitHub Discussions](https://github.com/misskey-dev/misskey/discussions) or [Discord](https://discord.gg/Wp8gVStHW3). - Please ask questions or troubleshooting in [GitHub Discussions](https://github.com/misskey-dev/misskey/discussions) or [Discord](https://discord.gg/Wp8gVStHW3).
> **Warning** > [!WARNING]
> Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged. > Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged.
## Before implementation ### Recommended discussing before implementation
We welcome your proposal.
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented. When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
At this point, you also need to clarify the goals of the PR you will create, and make sure that the other members of the team are aware of them. At this point, you also need to clarify the goals of the PR you will create, and make sure that the other members of the team are aware of them.
PRs that do not have a clear set of do's and don'ts tend to be bloated and difficult to review. PRs that do not have a clear set of do's and don'ts tend to be bloated and difficult to review.
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work. Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask Committer to assign you).
By expressing your intention to work on the Issue, you can prevent conflicts in the work.
To the Committers: you should not assign someone on it before the Final Decision.
### How issues are triaged
The Committers may:
* close an issue that is not reproducible on latest stable release,
* merge an issue into another issue,
* split an issue into multiple issues,
* or re-open that has been closed for some reason which is not applicable anymore.
@syuilo reserves the Final Decision rights including whether the project will implement feature and how to implement, these rights are not always exercised.
## Well-known branches ## Well-known branches
- **`master`** branch is tracking the latest release and used for production purposes. - **`master`** branch is tracking the latest release and used for production purposes.
@ -49,9 +64,29 @@ Thank you for your PR! Before creating a PR, please check the following:
Thanks for your cooperation 🤗 Thanks for your cooperation 🤗
### Additional things for ActivityPub payload changes
*This section is specific to misskey-dev implementation. Other fork or implementation may take different way. A significant difference is that non-"misskey-dev" extension is not described in the misskey-hub's document.*
If PR includes changes to ActivityPub payload, please reflect it in [misskey-hub's document](https://github.com/misskey-dev/misskey-hub-next/blob/master/content/ns.md) by sending PR.
The name of purporsed extension property (referred as "extended property" in later) to ActivityPub shall be prefixed by `_misskey_`. (i.e. `_misskey_quote`)
The extended property in `packages/backend/src/core/activitypub/type.ts` **must** be declared as optional because ActivityPub payloads that comes from older Misskey or other implementation may not contain it.
The extended property must be included in the context definition. Context is defined in `packages/backend/src/core/activitypub/misc/contexts.ts`.
The key shall be same as the name of extended property, and the value shall be same as "short IRI".
"Short IRI" is defined in misskey-hub's document, but usually takes form of `misskey:<name of extended property>`. (i.e. `misskey:_misskey_quote`)
One should not add property that has defined before by other implementation, or add custom variant value to "well-known" property.
## Reviewers guide ## Reviewers guide
Be willing to comment on the good points and not just the things you want fixed 💯 Be willing to comment on the good points and not just the things you want fixed 💯
読んでおくといいやつ
- https://blog.lacolaco.net/posts/1e2cf439b3c2/
- https://konifar-zatsu.hatenadiary.jp/entry/2024/11/05/192421
### Review perspective ### Review perspective
- Scope - Scope
- Are the goals of the PR clear? - Are the goals of the PR clear?
@ -77,7 +112,7 @@ An actual domain will be assigned so you can test the federation.
## Release ## Release
### Release Instructions ### Release Instructions
1. Commit version changes in the `develop` branch ([package.json](https://github.com/misskey-dev/misskey/blob/develop/package.json)) 1. Commit version changes in the `develop` branch ([package.json](package.json))
2. Create a release PR. 2. Create a release PR.
- Into `master` from `develop` branch. - Into `master` from `develop` branch.
- The title must be in the format `Release: x.y.z`. - The title must be in the format `Release: x.y.z`.
@ -88,7 +123,7 @@ An actual domain will be assigned so you can test the federation.
- The target branch must be `master` - The target branch must be `master`
- The tag name must be the version - The tag name must be the version
> **Note** > [!NOTE]
> Why this instruction is necessary: > Why this instruction is necessary:
> - To perform final QA checks > - To perform final QA checks
> - To distribute responsibility > - To distribute responsibility
@ -101,28 +136,28 @@ You can improve our translations with your Crowdin account.
Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository. Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository.
The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release. The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release.
If your language is not listed in Crowdin, please open an issue. If your language is not listed in Crowdin, please open an issue. We will add it to Crowdin.
For newly added languages, once the translation progress per language exceeds 70%, it will be officially introduced into Misskey and made available to users.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg) ![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
## Development ## Development
During development, it is useful to use the ### Setup
Before developing, you have to set up environment. Misskey requires Redis, PostgreSQL, and FFmpeg.
``` You would want to install Meilisearch to experiment related features. Technically, meilisearch is not strict requirement, but some features and tests require it.
pnpm dev
```
command. There are a few ways to proceed.
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es). #### Use system-wide software
- Vite HMR (just the `vite` command) is available. The behavior may be different from production. You could install them in system-wide (such as from package manager).
- Service Worker is watched by esbuild.
- The front end can be viewed by accessing `http://localhost:5173`. #### Use `docker compose`
- The backend listens on the port configured with `port` in .config/default.yml. You could obtain middleware container by typing `docker compose -f $PROJECT_ROOT/compose.local-db.yml up -d`.
If you have not changed it from the default, it will be "http://localhost:3000".
If "port" in .config/default.yml is set to something other than 3000, you need to change the proxy settings in packages/frontend/vite.config.local-dev.ts. #### Use Devcontainer
Devcontainer also has necessary setting. This method can be done by connecting from VSCode.
### Dev Container
Instead of running `pnpm` locally, you can use Dev Container to set up your development environment. Instead of running `pnpm` locally, you can use Dev Container to set up your development environment.
To use Dev Container, open the project directory on VSCode with Dev Containers installed. To use Dev Container, open the project directory on VSCode with Dev Containers installed.
**Note:** If you are using Windows, please clone the repository with WSL. Using Git for Windows will result in broken files due to the difference in how newlines are handled. **Note:** If you are using Windows, please clone the repository with WSL. Using Git for Windows will result in broken files due to the difference in how newlines are handled.
@ -136,38 +171,76 @@ pnpm build
pnpm migrate pnpm migrate
``` ```
After finishing the migration, run the `pnpm dev` command to start the development server. After finishing the migration, you can proceed.
``` bash ### Start developing
During development, it is useful to use the
```
pnpm dev pnpm dev
``` ```
command.
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es).
- Vite HMR (just the `vite` command) is available. The behavior may be different from production.
- Service Worker is watched by esbuild.
- The front end can be viewed by accessing `http://localhost:5173`.
- The backend listens on the port configured with `port` in .config/default.yml.
If you have not changed it from the default, it will be "http://localhost:3000".
If "port" in .config/default.yml is set to something other than 3000, you need to change the proxy settings in packages/frontend/vite.config.local-dev.ts.
### `MK_DEV_PREFER=backend pnpm dev`
pnpm dev has another mode with `MK_DEV_PREFER=backend`.
```
MK_DEV_PREFER=backend pnpm dev
```
- This mode is closer to the production environment than the default mode.
- Vite runs behind the backend (the backend will proxy Vite at /vite).
- You can see Misskey by accessing `http://localhost:3000` (Replace `3000` with the port configured with `port` in .config/default.yml).
- To change the port of Vite, specify with `VITE_PORT` environment variable.
- HMR may not work in some environments such as Windows.
## Testing ## Testing
- Test codes are located in [`/packages/backend/test`](/packages/backend/test). You can run non-backend tests by executing following commands:
```sh
### Run test pnpm --filter frontend test
Create a config file. pnpm --filter misskey-js test
``` ```
Backend tests require manual preparation of servers. See the next section for more on this.
### Backend
There are three types of test codes for the backend:
- Unit tests: [`/packages/backend/test/unit`](/packages/backend/test/unit)
- Single-server E2E tests: [`/packages/backend/test/e2e`](/packages/backend/test/e2e)
- Multiple-server E2E tests: [`/packages/backend/test-federation`](/packages/backend/test-federation)
#### Running Unit Tests or Single-server E2E Tests
1. Create a config file:
```sh
cp .github/misskey/test.yml .config/ cp .github/misskey/test.yml .config/
``` ```
Prepare DB/Redis for testing.
```
docker compose -f packages/backend/test/docker-compose.yml up
```
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
Run all test. 2. Start DB and Redis servers for testing:
```sh
docker compose -f packages/backend/test/compose.yml up
``` ```
pnpm test Instead, you can prepare an empty (data can be erased) DB and edit `.config/test.yml` appropriately.
3. Run all tests:
```sh
pnpm --filter backend test # unit tests
pnpm --filter backend test:e2e # single-server E2E tests
```
If you want to run a specific test, run as a following command:
```sh
pnpm --filter backend test -- packages/backend/test/unit/activitypub.ts
pnpm --filter backend test:e2e -- packages/backend/test/e2e/nodeinfo.ts
``` ```
#### Run specify test #### Running Multiple-server E2E Tests
``` See [`/packages/backend/test-federation/README.md`](/packages/backend/test-federation/README.md).
pnpm jest -- foo.ts
```
### e2e tests
TODO
## Environment Variable ## Environment Variable
@ -204,7 +277,7 @@ niraxは、Misskeyで使用しているオリジナルのフロントエンド
} }
``` ```
> **Warning** > [!WARNING]
> 現状、ルートは定義された順に評価されます。 > 現状、ルートは定義された順に評価されます。
> たとえば、`/foo/:id`ルート定義の次に`/foo/bar`ルート定義がされていた場合、後者がマッチすることはありません。 > たとえば、`/foo/:id`ルート定義の次に`/foo/bar`ルート定義がされていた場合、後者がマッチすることはありません。
@ -266,7 +339,7 @@ export const Default = {
parameters: { parameters: {
layout: 'centered', layout: 'centered',
}, },
} satisfies StoryObj<typeof MkAvatar>; } satisfies StoryObj<typeof MyComponent>;
``` ```
If you want to opt-out from the automatic generation, create a `MyComponent.stories.impl.ts` file and add the following line to the file. If you want to opt-out from the automatic generation, create a `MyComponent.stories.impl.ts` file and add the following line to the file.
@ -286,24 +359,115 @@ export const argTypes = {
min: 1, min: 1,
max: 4, max: 4,
}, },
},
}; };
``` ```
Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers. Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers.
```ts ```ts
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
export const handlers = [ export const handlers = [
rest.post('/api/notes/timeline', (req, res, ctx) => { http.post('/api/notes/timeline', ({ request }) => {
return res( return HttpResponse.json([]);
ctx.json([]),
);
}), }),
]; ];
``` ```
Don't forget to re-run the `.storybook/generate.js` script after adding, editing, or removing the above files. Don't forget to re-run the `.storybook/generate.js` script after adding, editing, or removing the above files.
## Nest
### Nest Service Circular dependency / Nestでサービスの循環参照でエラーが起きた場合
#### forwardRef
まずは簡単に`forwardRef`を試してみる
```typescript
export class FooService {
constructor(
@Inject(forwardRef(() => BarService))
private barService: BarService
) {
}
}
```
#### OnModuleInit
できなければ`OnModuleInit`を使う
```typescript
import { Injectable, OnModuleInit } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import { BarService } from '@/core/BarService';
@Injectable()
export class FooService implements OnModuleInit {
private barService: BarService // constructorから移動してくる
constructor(
private moduleRef: ModuleRef,
) {
}
async onModuleInit() {
this.barService = this.moduleRef.get(BarService.name);
}
public async niceMethod() {
return await this.barService.incredibleMethod({ hoge: 'fuga' });
}
}
```
##### Service Unit Test
テストで`onModuleInit`を呼び出す必要がある
```typescript
// import ...
describe('test', () => {
let app: TestingModule;
let fooService: FooService; // for test case
let barService: BarService; // for test case
beforeEach(async () => {
app = await Test.createTestingModule({
imports: ...,
providers: [
FooService,
{ // mockする (mockは必須ではないかもしれない)
provide: BarService,
useFactory: () => ({
incredibleMethod: jest.fn(),
}),
},
{ // Provideにする
provide: BarService.name,
useExisting: BarService,
},
],
})
.useMocker(...
.compile();
fooService = app.get<FooService>(FooService);
barService = app.get<BarService>(BarService) as jest.Mocked<BarService>;
// onModuleInitを実行する
await fooService.onModuleInit();
});
test('nice', () => {
await fooService.niceMethod();
expect(barService.incredibleMethod).toHaveBeenCalled();
expect(barService.incredibleMethod.mock.lastCall![0])
.toEqual({ hoge: 'fuga' });
});
})
```
## Notes ## Notes
### Misskeyのドメイン固有の概念は`Mi`をprefixする ### Misskeyのドメイン固有の概念は`Mi`をprefixする
@ -413,7 +577,7 @@ https://github.com/misskey-dev/misskey/pull/10082
テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合: テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
``` ```ts
export const paramDef = { export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
@ -443,3 +607,24 @@ marginはそのコンポーネントを使う側が設定する
### indexというファイル名を使うな ### indexというファイル名を使うな
ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる
## CSS Recipe
### Lighten CSS vars
``` css
color: hsl(from var(--MI_THEME-accent) h s calc(l + 10));
```
### Darken CSS vars
``` css
color: hsl(from var(--MI_THEME-accent) h s calc(l - 10));
```
### Add alpha to CSS vars
``` css
color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
```

View file

@ -1,5 +1,5 @@
Unless otherwise stated this repository is Unless otherwise stated this repository is
Copyright © 2014-2023 syuilo and contributors Copyright © 2014-2024 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. 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.4
ARG NODE_VERSION=20.10.0-bullseye ARG NODE_VERSION=20.16.0-bullseye
# build assets & compile TypeScript # build assets & compile TypeScript
@ -21,17 +21,21 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"] COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"] COPY --link ["scripts", "./scripts"]
COPY --link ["packages/backend/package.json", "./packages/backend/"] 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/package.json", "./packages/frontend/"]
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"] COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"]
ARG NODE_ENV=production
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
pnpm i --frozen-lockfile --aggregate-output pnpm i --frozen-lockfile --aggregate-output
COPY --link . ./ COPY --link . ./
ARG NODE_ENV=production
RUN git submodule update --init RUN git submodule update --init
RUN pnpm build RUN pnpm build
RUN rm -rf .git/ RUN rm -rf .git/
@ -52,6 +56,10 @@ COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"] COPY --link ["scripts", "./scripts"]
COPY --link ["packages/backend/package.json", "./packages/backend/"] COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"]
ARG NODE_ENV=production
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
pnpm i --frozen-lockfile --aggregate-output pnpm i --frozen-lockfile --aggregate-output
@ -76,11 +84,19 @@ RUN apt-get update \
USER misskey USER misskey
WORKDIR /misskey WORKDIR /misskey
# add package.json to add pnpm
COPY --chown=misskey:misskey ./package.json ./package.json
RUN corepack install
COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-reversi/node_modules ./packages/misskey-reversi/node_modules
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-bubble-game/node_modules ./packages/misskey-bubble-game/node_modules
COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/built ./packages/misskey-js/built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/built ./packages/misskey-js/built
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/backend/built ./packages/backend/built
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
COPY --chown=misskey:misskey . ./ COPY --chown=misskey:misskey . ./

View file

@ -1,9 +1,11 @@
<div align="center"> <div align="center">
<a href="https://misskey-hub.net"> <a href="https://misskey-hub.net">
<img src="./assets/title_float.svg" alt="Misskey logo" style="border-radius:50%" width="400"/> <img src="./assets/title_float.svg" alt="Misskey logo" style="border-radius:50%" width="300"/>
</a> </a>
**🌎 **[Misskey](https://misskey-hub.net/)** is an open source, decentralized social media platform that's free forever! 🚀** **🌎 **Misskey** is an open source, federated social media platform that's free forever! 🚀**
[Learn more](https://misskey-hub.net/)
--- ---
@ -22,45 +24,14 @@
<a href="https://www.patreon.com/syuilo"> <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> <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>
---
[![codecov](https://codecov.io/gh/misskey-dev/misskey/branch/develop/graph/badge.svg?token=R6IQZ3QJOL)](https://codecov.io/gh/misskey-dev/misskey)
</div>
<div>
<a href="https://xn--931a.moe/"><img src="https://github.com/misskey-dev/misskey/blob/develop/assets/ai.png?raw=true" align="right" height="320px"/></a>
## ✨ Features
- **ActivityPub support**\
Not on Misskey? No problem! Not only can Misskey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
- **Reactions**\
You can add emoji reactions to any post! No longer are you bound by a like button, show everyone exactly how you feel with the tap of a button.
- **Drive**\
With Misskey's built in drive, you get cloud storage right in your social media, where you can upload any files, make folders, and find media from posts you've made!
- **Rich Web UI**\
Misskey has a rich and easy to use Web UI!
It is highly customizable, from changing the layout and adding widgets to making custom themes.
Furthermore, plugins can be created using AiScript, an original programming language.
- And much more...
</div>
<div style="clear: both;"></div>
## Documentation
Misskey Documentation can be found at [Misskey Hub](https://misskey-hub.net/docs/), some of the links and graphics above also lead to specific portions of it.
## Sponsors
<div align="center">
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank"><img src="https://rss3.mypinata.cloud/ipfs/QmUG6H3Z7D5P511shn7sB4CPmpjH5uZWu4m5mWX7U3Gqbu" alt="RSS3" height="60"></a>
</div> </div>
## Thanks ## Thanks
<a href="https://sentry.io/"><img src="https://github.com/misskey-dev/misskey/assets/4439005/98576556-222f-467a-94be-e98dbda1d852" height="30" alt="Sentry" /></a>
Thanks to [Sentry](https://sentry.io/) for providing the error tracking platform that helps us catch unexpected errors.
<a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" height="30" alt="Chromatic" /></a> <a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" height="30" alt="Chromatic" /></a>
Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions. Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.

View file

@ -6,6 +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. 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 (backend)~~ → Done ✔️
- Make the number of type errors zero (frontend)
- Improve CI - Improve CI
- ~~Fix tests~~ → Done ✔️ - ~~Fix tests~~ → Done ✔️
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986 - Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986

View file

@ -124,6 +124,14 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
#redisForReactions:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐ # ┌───────────────────────────┐
#───┘ MeiliSearch configuration └───────────────────────────── #───┘ MeiliSearch configuration └─────────────────────────────
@ -152,6 +160,22 @@ redis:
# ID SETTINGS AFTER THAT! # ID SETTINGS AFTER THAT!
id: "aidx" id: "aidx"
# ┌────────────────┐
#───┘ Error tracking └──────────────────────────────────────────
# Sentry is available for error tracking.
# See the Sentry documentation for more details on options.
#sentryForBackend:
# enableNodeProfiling: true
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
# ┌─────────────────────┐ # ┌─────────────────────┐
#───┘ Other configuration └───────────────────────────────────── #───┘ Other configuration └─────────────────────────────────────

View file

@ -1,5 +1,3 @@
version: "3"
# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します # このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します
services: services:

View file

@ -1,5 +1,3 @@
version: "3"
services: services:
web: web:
build: . build: .
@ -7,6 +5,7 @@ services:
links: links:
- db - db
- redis - redis
# - mcaptcha
# - meilisearch # - meilisearch
depends_on: depends_on:
db: db:
@ -18,6 +17,8 @@ services:
networks: networks:
- internal_network - internal_network
- external_network - external_network
# env_file:
# - .config/docker.env
volumes: volumes:
- ./files:/misskey/files - ./files:/misskey/files
- ./.config:/misskey/.config:ro - ./.config:/misskey/.config:ro
@ -48,6 +49,36 @@ services:
interval: 5s interval: 5s
retries: 20 retries: 20
# mcaptcha:
# restart: always
# image: mcaptcha/mcaptcha:latest
# networks:
# internal_network:
# external_network:
# aliases:
# - localhost
# ports:
# - 7493:7493
# env_file:
# - .config/docker.env
# environment:
# PORT: 7493
# MCAPTCHA_redis_URL: "redis://mcaptcha_redis/"
# depends_on:
# db:
# condition: service_healthy
# mcaptcha_redis:
# condition: service_healthy
#
# mcaptcha_redis:
# image: mcaptcha/cache:latest
# networks:
# - internal_network
# healthcheck:
# test: "redis-cli ping"
# interval: 5s
# retries: 20
# meilisearch: # meilisearch:
# restart: always # restart: always
# image: getmeili/meilisearch:v1.3.4 # image: getmeili/meilisearch:v1.3.4

View file

@ -1,3 +1,8 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
describe('Before setup instance', () => { describe('Before setup instance', () => {
beforeEach(() => { beforeEach(() => {
cy.resetState(); cy.resetState();
@ -18,6 +23,7 @@ describe('Before setup instance', () => {
cy.intercept('POST', '/api/admin/accounts/create').as('signup'); cy.intercept('POST', '/api/admin/accounts/create').as('signup');
cy.get('[data-cy-admin-initial-password] input').type('example_password_please_change_this_or_you_will_get_hacked');
cy.get('[data-cy-admin-username] input').type('admin'); cy.get('[data-cy-admin-username] input').type('admin');
cy.get('[data-cy-admin-password] input').type('admin1234'); cy.get('[data-cy-admin-password] input').type('admin1234');
cy.get('[data-cy-admin-ok]').click(); cy.get('[data-cy-admin-ok]').click();
@ -114,11 +120,16 @@ describe('After user signup', () => {
it('signin', () => { it('signin', () => {
cy.visitHome(); cy.visitHome();
cy.intercept('POST', '/api/signin').as('signin'); cy.intercept('POST', '/api/signin-flow').as('signin');
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
// Enterキーでサインインできるかの確認も兼ねる cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 });
// Enterキーで続行できるかの確認も兼ねる
cy.get('[data-cy-signin-username] input').type('alice{enter}');
cy.get('[data-cy-signin-page-password]').should('be.visible', { timeout: 10000 });
// Enterキーで続行できるかの確認も兼ねる
cy.get('[data-cy-signin-password] input').type('alice1234{enter}'); cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
cy.wait('@signin'); cy.wait('@signin');
@ -133,8 +144,9 @@ describe('After user signup', () => {
cy.visitHome(); cy.visitHome();
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
cy.get('[data-cy-signin-password] input').type('alice1234{enter}'); cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 });
cy.get('[data-cy-signin-username] input').type('alice{enter}');
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする // TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi); cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
@ -161,11 +173,13 @@ describe('After user signed in', () => {
}); });
it('successfully loads', () => { it('successfully loads', () => {
cy.get('[data-cy-user-setup-continue]').should('be.visible'); // 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup-continue]', { timeout: 30000 }).should('be.visible');
}); });
it('account setup wizard', () => { it('account setup wizard', () => {
cy.get('[data-cy-user-setup-continue]').click(); // 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup-continue]', { timeout: 30000 }).click();
cy.get('[data-cy-user-setup-user-name] input').type('ありす'); cy.get('[data-cy-user-setup-user-name] input').type('ありす');
cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ'); cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ');
@ -202,7 +216,8 @@ describe('After user setup', () => {
cy.login('alice', 'alice1234'); cy.login('alice', 'alice1234');
// アカウント初期設定ウィザード // アカウント初期設定ウィザード
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click(); // 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]', { timeout: 30000 }).click();
cy.get('[data-cy-modal-dialog-ok]').click(); cy.get('[data-cy-modal-dialog-ok]').click();
}); });

35
cypress/e2e/router.cy.ts Normal file
View file

@ -0,0 +1,35 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
describe('Router transition', () => {
describe('Redirect', () => {
// サーバの初期化。ルートのテストに関しては各describeごとに1度だけ実行で十分だと思う使いまわした方が早い
before(() => {
cy.resetState();
// インスタンス初期セットアップ
cy.registerUser('admin', 'pass', true);
// ユーザー作成
cy.registerUser('alice', 'alice1234');
cy.login('alice', 'alice1234');
// アカウント初期設定ウィザード
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]', { timeout: 30000 }).click();
cy.wait(500);
cy.get('[data-cy-modal-dialog-ok]').click();
});
it('redirect to user profile', () => {
// テストのためだけに用意されたリダイレクト用ルートに飛ぶ
cy.visit('/redirect-test');
// プロフィールページのURLであることを確認する
cy.url().should('include', '/@alice')
});
});
});

View file

@ -1,3 +1,8 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
/* flaky /* flaky
describe('After user signed in', () => { describe('After user signed in', () => {
beforeEach(() => { beforeEach(() => {

View file

@ -30,9 +30,13 @@ Cypress.Commands.add('visitHome', () => {
}) })
Cypress.Commands.add('resetState', () => { Cypress.Commands.add('resetState', () => {
cy.window(win => { // iframe.contentWindow.indexedDB.deleteDatabase() がchromeのバグで使用できないため、indexedDBを無効化している。
// see https://github.com/misskey-dev/misskey/issues/13605#issuecomment-2053652123
/*
cy.window().then(win => {
win.indexedDB.deleteDatabase('keyval-store'); win.indexedDB.deleteDatabase('keyval-store');
}); });
*/
cy.request('POST', '/api/reset-db', {}).as('reset'); cy.request('POST', '/api/reset-db', {}).as('reset');
cy.get('@reset').its('status').should('equal', 204); cy.get('@reset').its('status').should('equal', 204);
cy.reload(true); cy.reload(true);
@ -44,16 +48,19 @@ Cypress.Commands.add('registerUser', (username, password, isAdmin = false) => {
cy.request('POST', route, { cy.request('POST', route, {
username: username, username: username,
password: password, password: password,
...(isAdmin ? { setupPassword: 'example_password_please_change_this_or_you_will_get_hacked' } : {}),
}).its('body').as(username); }).its('body').as(username);
}); });
Cypress.Commands.add('login', (username, password) => { Cypress.Commands.add('login', (username, password) => {
cy.visitHome(); cy.visitHome();
cy.intercept('POST', '/api/signin').as('signin'); cy.intercept('POST', '/api/signin-flow').as('signin');
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type(username); cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 });
cy.get('[data-cy-signin-username] input').type(`${username}{enter}`);
cy.get('[data-cy-signin-page-password]').should('be.visible', { timeout: 10000 });
cy.get('[data-cy-signin-password] input').type(`${password}{enter}`); cy.get('[data-cy-signin-password] input').type(`${password}{enter}`);
cy.wait('@signin').as('signedIn'); cy.wait('@signin').as('signedIn');

19
cypress/support/index.ts Normal file
View file

@ -0,0 +1,19 @@
declare global {
namespace Cypress {
interface Chainable {
login(username: string, password: string): Chainable<void>;
registerUser(
username: string,
password: string,
isAdmin?: boolean
): Chainable<void>;
resetState(): Chainable<void>;
visitHome(): Chainable<void>;
}
}
}
export {}

8
cypress/tsconfig.json Normal file
View file

@ -0,0 +1,8 @@
{
"compilerOptions": {
"lib": ["dom", "es5"],
"target": "es5",
"types": ["cypress", "node"]
},
"include": ["./**/*.ts"]
}

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# SPDX-FileCopyrightText: syuilo and other misskey contributors # SPDX-FileCopyrightText: syuilo and misskey-project
# SPDX-License-Identifier: AGPL-3.0-only # SPDX-License-Identifier: AGPL-3.0-only
PORT=$(grep '^port:' /misskey/.config/default.yml | awk 'NR==1{print $2; exit}') PORT=$(grep '^port:' /misskey/.config/default.yml | awk 'NR==1{print $2; exit}')
curl -s -S -o /dev/null "http://localhost:${PORT}" curl -Sfso/dev/null "http://localhost:${PORT}/healthz"

View file

@ -1,14 +1,14 @@
/* /*
* SPDX-FileCopyrightText: syuilo and other misskey contributors * SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only * SPDX-License-Identifier: AGPL-3.0-only
*/ */
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { action } from '@storybook/addon-actions'; import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { abuseUserReport } from '../../.storybook/fakes.js'; import { abuseUserReport } from '../packages/frontend/.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../packages/frontend/.storybook/mocks.js';
import MkAbuseReport from './MkAbuseReport.vue'; import MkAbuseReport from './MkAbuseReport.vue';
export const Default = { export const Default = {
render(args) { render(args) {
@ -44,9 +44,9 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/admin/resolve-abuse-user-report', async (req, res, ctx) => { http.post('/api/admin/resolve-abuse-user-report', async ({ request }) => {
action('POST /api/admin/resolve-abuse-user-report')(await req.json()); action('POST /api/admin/resolve-abuse-user-report')(await request.json());
return res(ctx.json({})); return HttpResponse.json({});
}), }),
], ],
}, },

41
idea/MkDisableSection.vue Normal file
View file

@ -0,0 +1,41 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<div :class="[$style.root]">
<div :inert="disabled" :class="[{ [$style.disabled]: disabled }]">
<slot></slot>
</div>
<div v-if="disabled" :class="[$style.cover]"></div>
</div>
</template>
<script lang="ts" setup>
defineProps<{
disabled?: boolean;
}>();
</script>
<style lang="scss" module>
.root {
position: relative;
}
.disabled {
opacity: 0.7;
}
.cover {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
cursor: not-allowed;
--color: color(from var(--MI_THEME-error) srgb r g b / 0.25);
background-size: auto auto;
background-image: repeating-linear-gradient(135deg, transparent, transparent 10px, var(--color) 4px, var(--color) 14px);
}
</style>

1
idea/README.md Normal file
View file

@ -0,0 +1 @@
使われなくなったけど消すのは勿体ない(将来使えるかもしれない)コードを入れておくとこ

View file

@ -123,6 +123,7 @@ reactions: "التفاعلات"
reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة." reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة."
rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات" rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات"
attachCancel: "أزل المرفق" attachCancel: "أزل المرفق"
deleteFile: "حُذف الملف"
markAsSensitive: "علّمه كمحتوى حساس" markAsSensitive: "علّمه كمحتوى حساس"
unmarkAsSensitive: "ألغ تعيينه كمحتوى حساس" unmarkAsSensitive: "ألغ تعيينه كمحتوى حساس"
enterFileName: "ادخل اسم الملف" enterFileName: "ادخل اسم الملف"
@ -360,6 +361,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "فعّل hCaptcha" enableHcaptcha: "فعّل hCaptcha"
hcaptchaSiteKey: "مفتاح الموقع" hcaptchaSiteKey: "مفتاح الموقع"
hcaptchaSecretKey: "المفتاح السري" hcaptchaSecretKey: "المفتاح السري"
mcaptchaSiteKey: "مفتاح الموقع"
mcaptchaSecretKey: "المفتاح السري"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "تمكين reCAPTCHA" enableRecaptcha: "تمكين reCAPTCHA"
recaptchaSiteKey: "مفتاح الموقع" recaptchaSiteKey: "مفتاح الموقع"
@ -623,10 +626,7 @@ abuseReported: "أُرسل البلاغ، شكرًا لك"
reporter: "المُبلّغ" reporter: "المُبلّغ"
reporteeOrigin: "أصل البلاغ" reporteeOrigin: "أصل البلاغ"
reporterOrigin: "أصل المُبلّغ" reporterOrigin: "أصل المُبلّغ"
forwardReport: "وجّه البلاغ إلى المثيل البعيد"
forwardReportIsAnonymous: "في المثيل البعيد سيظهر المبلّغ كحساب مجهول."
send: "أرسل" send: "أرسل"
abuseMarkAsResolved: "علّم البلاغ كمحلول"
openInNewTab: "افتح في لسان جديد" openInNewTab: "افتح في لسان جديد"
defaultNavigationBehaviour: "سلوك الملاحة الافتراضي" defaultNavigationBehaviour: "سلوك الملاحة الافتراضي"
editTheseSettingsMayBreakAccount: "تعديل هذه الإعدادات قد يسبب عطبًا لحسابك" editTheseSettingsMayBreakAccount: "تعديل هذه الإعدادات قد يسبب عطبًا لحسابك"
@ -1009,7 +1009,12 @@ expired: "منتهية صلاحيته"
icon: "الصورة الرمزية" icon: "الصورة الرمزية"
replies: "رد" replies: "رد"
renotes: "أعد النشر" renotes: "أعد النشر"
sourceCode: "الشفرة المصدرية"
flip: "اقلب" flip: "اقلب"
lastNDays: "آخر {n} أيام"
surrender: "ألغِ"
_delivery:
stop: "مُعلّق"
_initialAccountSetting: _initialAccountSetting:
accountCreated: "نجح إنشاء حسابك!" accountCreated: "نجح إنشاء حسابك!"
letsStartAccountSetup: "إذا كنت جديدًا لنعدّ حسابك الشخصي." letsStartAccountSetup: "إذا كنت جديدًا لنعدّ حسابك الشخصي."
@ -1247,15 +1252,12 @@ _theme:
buttonBg: "خلفية الأزرار" buttonBg: "خلفية الأزرار"
buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)" buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)"
inputBorder: "حواف حقل الإدخال" inputBorder: "حواف حقل الإدخال"
listItemHoverBg: "خلفية عناصر القائمة (عند التمرير فوقها)"
driveFolderBg: "خلفية مجلد قرص التخزين" driveFolderBg: "خلفية مجلد قرص التخزين"
messageBg: "خلفية المحادثة" messageBg: "خلفية المحادثة"
_sfx: _sfx:
note: "الملاحظات" note: "الملاحظات"
noteMy: "ملاحظتي" noteMy: "ملاحظتي"
notification: "الإشعارات" notification: "الإشعارات"
antenna: "الهوائيات"
channel: "إشعارات القنات"
_ago: _ago:
future: "المستقبَل" future: "المستقبَل"
justNow: "اللحظة" justNow: "اللحظة"
@ -1414,6 +1416,7 @@ _profile:
_exportOrImport: _exportOrImport:
allNotes: "كل الملاحظات" allNotes: "كل الملاحظات"
favoritedNotes: " الملاحظات المفضلة" favoritedNotes: " الملاحظات المفضلة"
clips: "مِشبك"
followingList: "المتابَعون" followingList: "المتابَعون"
muteList: "المستخدمون المكتومون" muteList: "المستخدمون المكتومون"
blockingList: "المستخدمون المحجوبون" blockingList: "المستخدمون المحجوبون"
@ -1526,6 +1529,7 @@ _notification:
reaction: "التفاعل" reaction: "التفاعل"
receiveFollowRequest: "طلبات المتابعة" receiveFollowRequest: "طلبات المتابعة"
followRequestAccepted: "طلبات المتابعة المقبولة" followRequestAccepted: "طلبات المتابعة المقبولة"
login: "لِج"
app: "إشعارات التطبيقات المرتبطة" app: "إشعارات التطبيقات المرتبطة"
_actions: _actions:
followBack: "تابعك بالمثل" followBack: "تابعك بالمثل"
@ -1557,7 +1561,27 @@ _webhookSettings:
active: "مُفعّل" active: "مُفعّل"
_events: _events:
reaction: "عند التفاعل" reaction: "عند التفاعل"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "البريد الإلكتروني "
_moderationLogTypes: _moderationLogTypes:
suspend: "علِق" suspend: "علِق"
deleteDriveFile: "حُذف الملف"
deleteNote: "حُذفت الملاحظة"
createGlobalAnnouncement: "أُنشئ إعلان عام"
createUserAnnouncement: "أُنشئ إعلان مستخدم"
updateGlobalAnnouncement: "حُدث إعلان عام"
updateUserAnnouncement: "حُدث إعلان مستخدم"
resetPassword: "أعد تعيين كلمتك السرية" resetPassword: "أعد تعيين كلمتك السرية"
createInvitation: "ولِّد دعوة" createInvitation: "ولِّد دعوة"
_reversi:
total: "المجموع"
lookingForPlayer: "يبحث عن خصم..."
gameCanceled: "أُلغيت اللعبة."
opponentHasSettingsChanged: "غيَر الخصم إعدادته."
showBoardLabels: "اعرض ترقيم الصفوف والأعمدة على اللوح"
useAvatarAsStone: "حوَل الحجارة إلى صور مستخدمين"
_offlineScreen:
title: "غير متصل - يتعذر الاتصال بالخادم"
header: "يتعذر الاتصال بالخادم"

View file

@ -357,6 +357,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptcha চালু করুন" enableHcaptcha: "hCaptcha চালু করুন"
hcaptchaSiteKey: "সাইট কী" hcaptchaSiteKey: "সাইট কী"
hcaptchaSecretKey: "সিক্রেট কী" hcaptchaSecretKey: "সিক্রেট কী"
mcaptchaSiteKey: "সাইট কী"
mcaptchaSecretKey: "সিক্রেট কী"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA চালু করুন" enableRecaptcha: "reCAPTCHA চালু করুন"
recaptchaSiteKey: "সাইট কী" recaptchaSiteKey: "সাইট কী"
@ -449,7 +451,6 @@ or: "অথবা"
language: "ভাষা" language: "ভাষা"
uiLanguage: "UI এর ভাষা" uiLanguage: "UI এর ভাষা"
aboutX: "{x} সম্পর্কে" aboutX: "{x} সম্পর্কে"
disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না"
noHistory: "কোনো ইতিহাস নেই" noHistory: "কোনো ইতিহাস নেই"
signinHistory: "প্রবেশ করার ইতিহাস" signinHistory: "প্রবেশ করার ইতিহাস"
doing: "প্রক্রিয়া করছে..." doing: "প্রক্রিয়া করছে..."
@ -623,10 +624,7 @@ abuseReported: "আপনার অভিযোগটি দাখিল কর
reporter: "অভিযোগকারী" reporter: "অভিযোগকারী"
reporteeOrigin: "অভিযোগটির উৎস" reporteeOrigin: "অভিযোগটির উৎস"
reporterOrigin: "অভিযোগকারীর উৎস" reporterOrigin: "অভিযোগকারীর উৎস"
forwardReport: "রিমোট ইন্সত্যান্সে অভিযোগটি পাঠান"
forwardReportIsAnonymous: "আপনার তথ্য রিমোট ইন্সত্যান্সে পাঠানো হবে না এবং একটি বেনামী সিস্টেম অ্যাকাউন্ট হিসাবে প্রদর্শিত হবে।"
send: "পাঠান" send: "পাঠান"
abuseMarkAsResolved: "অভিযোগটিকে সমাধাকৃত হিসাবে চিহ্নিত করুন"
openInNewTab: "নতুন ট্যাবে খুলুন" openInNewTab: "নতুন ট্যাবে খুলুন"
openInSideView: "সাইড ভিউতে খুলুন" openInSideView: "সাইড ভিউতে খুলুন"
defaultNavigationBehaviour: "ডিফল্ট নেভিগেশন" defaultNavigationBehaviour: "ডিফল্ট নেভিগেশন"
@ -853,7 +851,12 @@ youFollowing: "অনুসরণ করা হচ্ছে"
icon: "প্রোফাইল ছবি" icon: "প্রোফাইল ছবি"
replies: "জবাব" replies: "জবাব"
renotes: "রিনোট" renotes: "রিনোট"
sourceCode: "সোর্স কোড"
flip: "উল্টান" flip: "উল্টান"
_delivery:
stop: "স্থগিত করা হয়েছে"
_type:
none: "প্রকাশ করা হচ্ছে"
_role: _role:
priority: "অগ্রাধিকার" priority: "অগ্রাধিকার"
_priority: _priority:
@ -1014,7 +1017,6 @@ _theme:
buttonBg: "বাটনের পটভূমি" buttonBg: "বাটনের পটভূমি"
buttonHoverBg: "বাটনের পটভূমি (হভার)" buttonHoverBg: "বাটনের পটভূমি (হভার)"
inputBorder: "ইনপুট ফিল্ডের বর্ডার" inputBorder: "ইনপুট ফিল্ডের বর্ডার"
listItemHoverBg: "লিস্ট আইটেমের পটভূমি (হোভার)"
driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি" driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
wallpaperOverlay: "ওয়ালপেপার ওভারলে" wallpaperOverlay: "ওয়ালপেপার ওভারলে"
badge: "ব্যাজ" badge: "ব্যাজ"
@ -1026,8 +1028,6 @@ _sfx:
note: "নোটগুলি" note: "নোটগুলি"
noteMy: "নোট (আপনার)" noteMy: "নোট (আপনার)"
notification: "বিজ্ঞপ্তি" notification: "বিজ্ঞপ্তি"
antenna: "অ্যান্টেনাগুলি"
channel: "চ্যানেলের বিজ্ঞপ্তি"
_ago: _ago:
future: "ভবিষ্যৎ" future: "ভবিষ্যৎ"
justNow: "এইমাত্র" justNow: "এইমাত্র"
@ -1190,6 +1190,7 @@ _profile:
changeBanner: "ব্যানার পরিবর্তন করুন" changeBanner: "ব্যানার পরিবর্তন করুন"
_exportOrImport: _exportOrImport:
allNotes: "সকল নোট" allNotes: "সকল নোট"
clips: "ক্লিপ"
followingList: "অনুসরণ করা হচ্ছে" followingList: "অনুসরণ করা হচ্ছে"
muteList: "মিউট" muteList: "মিউট"
blockingList: "ব্লক" blockingList: "ব্লক"
@ -1308,6 +1309,7 @@ _notification:
pollEnded: "পোল শেষ" pollEnded: "পোল শেষ"
receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ" receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ"
followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ" followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ"
login: "প্রবেশ করুন"
app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি" app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি"
_actions: _actions:
followBack: "ফলো ব্যাক করেছে" followBack: "ফলো ব্যাক করেছে"
@ -1338,6 +1340,12 @@ _deck:
_webhookSettings: _webhookSettings:
name: "নাম" name: "নাম"
active: "চালু" active: "চালু"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "ইমেইল"
_moderationLogTypes: _moderationLogTypes:
suspend: "স্থগিত করা" suspend: "স্থগিত করা"
resetPassword: "পাসওয়ার্ড রিসেট করুন" resetPassword: "পাসওয়ার্ড রিসেট করুন"
_reversi:
total: "মোট"

File diff suppressed because it is too large Load diff

View file

@ -366,6 +366,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Aktivovat hCaptchu" enableHcaptcha: "Aktivovat hCaptchu"
hcaptchaSiteKey: "Klíč stránky" hcaptchaSiteKey: "Klíč stránky"
hcaptchaSecretKey: "Tajný Klíč (Secret Key)" hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
mcaptchaSiteKey: "Klíč stránky"
mcaptchaSecretKey: "Tajný Klíč (Secret Key)"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnout ReCAPTCHu" enableRecaptcha: "Zapnout ReCAPTCHu"
recaptchaSiteKey: "Klíč stránky" recaptchaSiteKey: "Klíč stránky"
@ -469,7 +471,6 @@ uiLanguage: "Jazyk uživatelského rozhraní"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Styl emoji" emojiStyle: "Styl emoji"
native: "Výchozí" native: "Výchozí"
disableDrawer: "Nepoužívat šuplíkové menu"
showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši" showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši"
noHistory: "Žádná historie" noHistory: "Žádná historie"
signinHistory: "Historie přihlášení" signinHistory: "Historie přihlášení"
@ -656,10 +657,7 @@ abuseReported: "Nahlášení bylo odesláno. Děkujeme převelice."
reporter: "Nahlásil" reporter: "Nahlásil"
reporteeOrigin: "Původ nahlášení" reporteeOrigin: "Původ nahlášení"
reporterOrigin: "Původ nahlasovače" reporterOrigin: "Původ nahlasovače"
forwardReport: "Přeposlat nahlášení do vzdálené instance"
forwardReportIsAnonymous: "Místo vašeho účtu se ve vzdálené instanci zobrazí anonymní systémový účet jako nahlašovač."
send: "Odeslat" send: "Odeslat"
abuseMarkAsResolved: "Označit nahlášení jako vyřešené"
openInNewTab: "Otevřít v nové kartě" openInNewTab: "Otevřít v nové kartě"
openInSideView: "Otevřít v bočním panelu" openInSideView: "Otevřít v bočním panelu"
defaultNavigationBehaviour: "Výchozí chování navigace" defaultNavigationBehaviour: "Výchozí chování navigace"
@ -1003,6 +1001,7 @@ resetPasswordConfirm: "Opravdu chcete resetovat heslo?"
sensitiveWords: "Citlivá slova" sensitiveWords: "Citlivá slova"
sensitiveWordsDescription: "Viditelnost všech poznámek obsahujících některé z nakonfigurovaných slov bude automaticky nastavena na \"Domů\". Můžete jich uvést více tak, že je oddělíte pomocí řádků." sensitiveWordsDescription: "Viditelnost všech poznámek obsahujících některé z nakonfigurovaných slov bude automaticky nastavena na \"Domů\". Můžete jich uvést více tak, že je oddělíte pomocí řádků."
sensitiveWordsDescription2: "Použití mezer vytvoří výrazy AND a obklopení klíčových slov lomítky je změní na regulární výraz." sensitiveWordsDescription2: "Použití mezer vytvoří výrazy AND a obklopení klíčových slov lomítky je změní na regulární výraz."
prohibitedWordsDescription2: "Použití mezer vytvoří výrazy AND a obklopení klíčových slov lomítky je změní na regulární výraz."
notesSearchNotAvailable: "Vyhledávání poznámek je nedostupné." notesSearchNotAvailable: "Vyhledávání poznámek je nedostupné."
license: "Licence" license: "Licence"
unfavoriteConfirm: "Opravdu chcete odstranit z oblíbených?" unfavoriteConfirm: "Opravdu chcete odstranit z oblíbených?"
@ -1092,7 +1091,14 @@ iHaveReadXCarefullyAndAgree: "Přečetl jsem si text \"{x}\" a souhlasím s ním
icon: "Avatar" icon: "Avatar"
replies: "Odpovědět" replies: "Odpovědět"
renotes: "Přeposlat" renotes: "Přeposlat"
sourceCode: "Zdrojový kód"
flip: "Otočit" flip: "Otočit"
lastNDays: "Posledních {n} dnů"
surrender: "Zrušit"
_delivery:
stop: "Suspendováno"
_type:
none: "Publikuji"
_initialAccountSetting: _initialAccountSetting:
accountCreated: "Váš účet byl úspěšně vytvořen!" accountCreated: "Váš účet byl úspěšně vytvořen!"
letsStartAccountSetup: "Pro začátek si nastavte svůj profil." letsStartAccountSetup: "Pro začátek si nastavte svůj profil."
@ -1623,7 +1629,6 @@ _theme:
buttonBg: "Pozadí tlačítka" buttonBg: "Pozadí tlačítka"
buttonHoverBg: "Pozadí tlačítka (Hover)" buttonHoverBg: "Pozadí tlačítka (Hover)"
inputBorder: "Ohraničení vstupního pole" inputBorder: "Ohraničení vstupního pole"
listItemHoverBg: "Pozadí položky seznamu (Hover)"
driveFolderBg: "Pozadí složky disku" driveFolderBg: "Pozadí složky disku"
wallpaperOverlay: "Překrytí tapety" wallpaperOverlay: "Překrytí tapety"
badge: "Odznak" badge: "Odznak"
@ -1635,8 +1640,6 @@ _sfx:
note: "Poznámky" note: "Poznámky"
noteMy: "Moje poznámka" noteMy: "Moje poznámka"
notification: "Oznámení" notification: "Oznámení"
antenna: "Antény"
channel: "Oznámení kanálu"
_ago: _ago:
future: "Budoucí" future: "Budoucí"
justNow: "Teď" justNow: "Teď"
@ -1658,7 +1661,6 @@ _2fa:
registerTOTP: "Registrovat aplikaci autentizátoru" registerTOTP: "Registrovat aplikaci autentizátoru"
step1: "Nejprve si do zařízení nainstalujte aplikaci pro ověřování (například {a} nebo {b})." step1: "Nejprve si do zařízení nainstalujte aplikaci pro ověřování (například {a} nebo {b})."
step2: "Poté naskenujte QR kód zobrazený na této obrazovce." step2: "Poté naskenujte QR kód zobrazený na této obrazovce."
step2Click: "Kliknutím na tento QR kód můžete zaregistrovat 2FA do bezpečnostního klíče nebo aplikace autentizace telefonu."
step3Title: "Zadejte ověřovací kód" step3Title: "Zadejte ověřovací kód"
step3: "Pro dokončení nastavení zadejte token poskytnutý vaší aplikací." step3: "Pro dokončení nastavení zadejte token poskytnutý vaší aplikací."
step4: "Od této chvíle budou všechny budoucí pokusy o přihlášení vyžadovat tento přihlašovací token." step4: "Od této chvíle budou všechny budoucí pokusy o přihlášení vyžadovat tento přihlašovací token."
@ -1712,7 +1714,7 @@ _auth:
shareAccessTitle: "Udělovat oprávnění k aplikacím" shareAccessTitle: "Udělovat oprávnění k aplikacím"
shareAccess: "Chcete autorizovat \"{name}\" pro přístup k tomuto účtu?" shareAccess: "Chcete autorizovat \"{name}\" pro přístup k tomuto účtu?"
shareAccessAsk: "Opravdu chcete této aplikaci povolit přístup k vašemu účtu?" shareAccessAsk: "Opravdu chcete této aplikaci povolit přístup k vašemu účtu?"
permission: "{jméno} požaduje tato oprávnění" permission: "{name} požaduje tato oprávnění"
permissionAsk: "Tato aplikace požaduje následující oprávnění" permissionAsk: "Tato aplikace požaduje následující oprávnění"
pleaseGoBack: "Vraťte se prosím zpět do aplikace" pleaseGoBack: "Vraťte se prosím zpět do aplikace"
callback: "Návrat k aplikaci" callback: "Návrat k aplikaci"
@ -1825,6 +1827,7 @@ _profile:
_exportOrImport: _exportOrImport:
allNotes: "Všechny poznámky" allNotes: "Všechny poznámky"
favoritedNotes: "Oblíbené poznámky" favoritedNotes: "Oblíbené poznámky"
clips: "Oříznout"
followingList: "Sledovaní" followingList: "Sledovaní"
muteList: "Ztlumit" muteList: "Ztlumit"
blockingList: "Zablokovat" blockingList: "Zablokovat"
@ -1935,7 +1938,7 @@ _notification:
youGotMention: "{name} vás zmínil" youGotMention: "{name} vás zmínil"
youGotReply: "{name} vám odpověděl" youGotReply: "{name} vám odpověděl"
youGotQuote: "{name} vás citoval" youGotQuote: "{name} vás citoval"
youRenoted: "Poznámka od {jméno}" youRenoted: "Poznámka od {name}"
youWereFollowed: "Máte nového následovníka" youWereFollowed: "Máte nového následovníka"
youReceivedFollowRequest: "Obdrželi jste žádost o sledování" youReceivedFollowRequest: "Obdrželi jste žádost o sledování"
yourFollowRequestAccepted: "Vaše žádost o sledování byla přijata" yourFollowRequestAccepted: "Vaše žádost o sledování byla přijata"
@ -1955,6 +1958,7 @@ _notification:
receiveFollowRequest: "Obdržené žádosti o sledování" receiveFollowRequest: "Obdržené žádosti o sledování"
followRequestAccepted: "Přijaté žádosti o sledování" followRequestAccepted: "Přijaté žádosti o sledování"
achievementEarned: "Úspěch odemčen" achievementEarned: "Úspěch odemčen"
login: "Přihlásit se"
app: "Oznámení z propojených aplikací" app: "Oznámení z propojených aplikací"
_actions: _actions:
followBack: "vás začal sledovat zpět" followBack: "vás začal sledovat zpět"
@ -2002,7 +2006,6 @@ _webhookSettings:
createWebhook: "Vytvořit Webhook" createWebhook: "Vytvořit Webhook"
name: "Jméno" name: "Jméno"
secret: "Tajné" secret: "Tajné"
events: "Události Webhook"
active: "Zapnuto" active: "Zapnuto"
_events: _events:
follow: "Při sledování uživatele" follow: "Při sledování uživatele"
@ -2012,7 +2015,13 @@ _webhookSettings:
renote: "Při renotaci poznámky" renote: "Při renotaci poznámky"
reaction: "Při obdržení reakce" reaction: "Při obdržení reakce"
mention: "Při zmínce" mention: "Při zmínce"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Email"
_moderationLogTypes: _moderationLogTypes:
suspend: "Zmrazit" suspend: "Zmrazit"
resetPassword: "Resetovat heslo" resetPassword: "Resetovat heslo"
createInvitation: "Vygenerovat pozvánku" createInvitation: "Vygenerovat pozvánku"
_reversi:
total: "Celkem"

View file

@ -1,2 +1,4 @@
--- ---
_lang_: "Dansk" _lang_: "Dansk"
headlineMisskey: ""
introMisskey: "ようこそMisskeyは、オープンソースの分散型マイクロブログサービスです。\n「ート」を作成して、いま起こっていることを共有したり、あなたについて皆に発信しよう📡\n「リアクション」機能で、皆のートに素早く反応を追加することもできます👍\n新しい世界を探検しよう🚀"

View file

@ -121,9 +121,15 @@ sensitive: "Sensibel"
add: "Hinzufügen" add: "Hinzufügen"
reaction: "Reaktionen" reaction: "Reaktionen"
reactions: "Reaktionen" reactions: "Reaktionen"
emojiPicker: "Emoji auswählen"
pinnedEmojisForReactionSettingDescription: "Lege Emojis fest, die angepinnt werden sollen, um sie beim Reagieren als Erstes anzuzeigen."
pinnedEmojisSettingDescription: "Lege Emojis fest, die angepinnt werden sollen, um sie in der Emoji-Auswahl als Erstes anzuzeigen"
overwriteFromPinnedEmojisForReaction: "Überschreiben mit den Reaktions-Einstellungen"
overwriteFromPinnedEmojis: "Überschreiben mit den allgemeinen Einstellungen"
reactionSettingDescription2: "Ziehe um Anzuordnen, klicke um zu löschen, drücke „+“ um hinzuzufügen" reactionSettingDescription2: "Ziehe um Anzuordnen, klicke um zu löschen, drücke „+“ um hinzuzufügen"
rememberNoteVisibility: "Notizsichtbarkeit merken" rememberNoteVisibility: "Notizsichtbarkeit merken"
attachCancel: "Anhang entfernen" attachCancel: "Anhang entfernen"
deleteFile: "Datei gelöscht"
markAsSensitive: "Als sensibel markieren" markAsSensitive: "Als sensibel markieren"
unmarkAsSensitive: "Als nicht sensibel markieren" unmarkAsSensitive: "Als nicht sensibel markieren"
enterFileName: "Dateinamen eingeben" enterFileName: "Dateinamen eingeben"
@ -178,7 +184,7 @@ searchWith: "Suchen: {q}"
youHaveNoLists: "Du hast keine Listen" youHaveNoLists: "Du hast keine Listen"
followConfirm: "Möchtest du {name} wirklich folgen?" followConfirm: "Möchtest du {name} wirklich folgen?"
proxyAccount: "Proxy-Benutzerkonto" proxyAccount: "Proxy-Benutzerkonto"
proxyAccountDescription: "Ein Proxy-Benutzerkonto ist ein Benutzerkonto, das sich für Nutzer unter bestimmten Konditionen wie ein Follower aus einer fremden Instanz verhält. Zum Beispiel wird die Aktivität eines Nutzers aus einer fremden Instanz nicht an diese Instanz übermittelt, falls es keinen Benutzer dieser Instanz gibt, der diesem Nutzer aus fremder Instanz folgt. In diesem Fall folgt stattdessen das Proxy-Benutzerkonto." proxyAccountDescription: "Ein Proxy-Konto ist ein Benutzerkonto, das unter bestimmten Bedingungen als Follower für Benutzer fremder Instanzen fungiert. Wenn zum Beispiel ein Benutzer einen Benutzer einer fremden Instanz zu einer Liste hinzufügt, werden die Aktivitäten des entfernten Benutzers nicht an die Instanz übermittelt, wenn kein lokaler Benutzer diesem Benutzer folgt; stattdessen folgt das Proxy-Konto."
host: "Hostname" host: "Hostname"
selectUser: "Benutzer auswählen" selectUser: "Benutzer auswählen"
recipient: "Empfänger" recipient: "Empfänger"
@ -260,6 +266,7 @@ removed: "Erfolgreich gelöscht"
removeAreYouSure: "Möchtest du „{x}“ wirklich entfernen?" removeAreYouSure: "Möchtest du „{x}“ wirklich entfernen?"
deleteAreYouSure: "Möchtest du „{x}“ wirklich löschen?" deleteAreYouSure: "Möchtest du „{x}“ wirklich löschen?"
resetAreYouSure: "Wirklich zurücksetzen?" resetAreYouSure: "Wirklich zurücksetzen?"
areYouSure: "Bist du sicher?"
saved: "Erfolgreich gespeichert" saved: "Erfolgreich gespeichert"
messaging: "Chat" messaging: "Chat"
upload: "Hochladen" upload: "Hochladen"
@ -354,7 +361,7 @@ enableLocalTimeline: "Lokale Chronik aktivieren"
enableGlobalTimeline: "Globale Chronik aktivieren" enableGlobalTimeline: "Globale Chronik aktivieren"
disablingTimelinesInfo: "Administratoren und Moderatoren haben immer Zugriff auf alle Chroniken, auch wenn diese deaktiviert sind." disablingTimelinesInfo: "Administratoren und Moderatoren haben immer Zugriff auf alle Chroniken, auch wenn diese deaktiviert sind."
registration: "Registrieren" registration: "Registrieren"
enableRegistration: "Registration neuer Benutzer erlauben" enableRegistration: "Registrierung neuer Benutzer erlauben"
invite: "Einladen" invite: "Einladen"
driveCapacityPerLocalAccount: "Drive-Kapazität pro lokalem Benutzerkonto" driveCapacityPerLocalAccount: "Drive-Kapazität pro lokalem Benutzerkonto"
driveCapacityPerRemoteAccount: "Drive-Kapazität pro Benutzer fremder Instanzen" driveCapacityPerRemoteAccount: "Drive-Kapazität pro Benutzer fremder Instanzen"
@ -372,6 +379,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptcha aktivieren" enableHcaptcha: "hCaptcha aktivieren"
hcaptchaSiteKey: "Site key" hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key" hcaptchaSecretKey: "Secret key"
mcaptcha: "mCaptcha"
enableMcaptcha: "mCaptcha aktivieren"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
mcaptchaInstanceUrl: "mCaptcha Instanz-URL"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA aktivieren" enableRecaptcha: "reCAPTCHA aktivieren"
recaptchaSiteKey: "Site key" recaptchaSiteKey: "Site key"
@ -429,7 +441,7 @@ lastUsed: "Zuletzt benutzt"
lastUsedAt: "Zuletzt verwendet: {t}" lastUsedAt: "Zuletzt verwendet: {t}"
unregister: "Deaktivieren" unregister: "Deaktivieren"
passwordLessLogin: "Passwortloses Anmelden" passwordLessLogin: "Passwortloses Anmelden"
passwordLessLoginDescription: "Ermöglicht passwortfreies Einloggen, nur via Security-Token oder Passkey" passwordLessLoginDescription: "Ermöglicht passwortloses Einloggen mit einem Security-Token oder Passkey"
resetPassword: "Passwort zurücksetzen" resetPassword: "Passwort zurücksetzen"
newPasswordIs: "Das neue Passwort ist „{password}“" newPasswordIs: "Das neue Passwort ist „{password}“"
reduceUiAnimation: "Animationen der Benutzeroberfläche reduzieren" reduceUiAnimation: "Animationen der Benutzeroberfläche reduzieren"
@ -479,7 +491,6 @@ uiLanguage: "Sprache der Benutzeroberfläche"
aboutX: "Über {x}" aboutX: "Über {x}"
emojiStyle: "Emoji-Stil" emojiStyle: "Emoji-Stil"
native: "Nativ" native: "Nativ"
disableDrawer: "Keine ausfahrbaren Menüs verwenden"
showNoteActionsOnlyHover: "Notizmenü nur bei Mouseover anzeigen" showNoteActionsOnlyHover: "Notizmenü nur bei Mouseover anzeigen"
noHistory: "Kein Verlauf gefunden" noHistory: "Kein Verlauf gefunden"
signinHistory: "Anmeldungsverlauf" signinHistory: "Anmeldungsverlauf"
@ -619,6 +630,7 @@ medium: "Mittel"
small: "Klein" small: "Klein"
generateAccessToken: "Zugriffstoken generieren" generateAccessToken: "Zugriffstoken generieren"
permission: "Berechtigungen" permission: "Berechtigungen"
adminPermission: "Administratorberechtigung"
enableAll: "Alle aktivieren" enableAll: "Alle aktivieren"
disableAll: "Alle deaktivieren" disableAll: "Alle deaktivieren"
tokenRequested: "Zugriff zum Benutzerkonto gewähren" tokenRequested: "Zugriff zum Benutzerkonto gewähren"
@ -641,7 +653,7 @@ smtpSecureInfo: "Schalte dies aus, falls du STARTTLS verwendest."
testEmail: "Emailversand testen" testEmail: "Emailversand testen"
wordMute: "Wortstummschaltung" wordMute: "Wortstummschaltung"
regexpError: "Fehler in einem regulären Ausdruck" regexpError: "Fehler in einem regulären Ausdruck"
regexpErrorDescription: "Im regulären Ausdruck deiner {tab}en Wortstummschaltungen ist ein Fehler aufgetreten:" regexpErrorDescription: "Im regulären Ausdruck deiner in Zeile {line} von {tab}en Wortstummschaltungen ist ein Fehler aufgetreten:"
instanceMute: "Instanzstummschaltungen" instanceMute: "Instanzstummschaltungen"
userSaysSomething: "{name} hat etwas gesagt" userSaysSomething: "{name} hat etwas gesagt"
makeActive: "Aktivieren" makeActive: "Aktivieren"
@ -674,10 +686,7 @@ abuseReported: "Deine Meldung wurde versendet. Vielen Dank."
reporter: "Melder" reporter: "Melder"
reporteeOrigin: "Herkunft des Gemeldeten" reporteeOrigin: "Herkunft des Gemeldeten"
reporterOrigin: "Herkunft des Meldenden" reporterOrigin: "Herkunft des Meldenden"
forwardReport: "Meldung an fremde Instanz weiterleiten"
forwardReportIsAnonymous: "Anstatt deines Benutzerkontos wird bei der fremden Instanz ein anonymes Systemkonto als Melder angezeigt."
send: "Senden" send: "Senden"
abuseMarkAsResolved: "Meldung als gelöst markieren"
openInNewTab: "In neuem Tab öffnen" openInNewTab: "In neuem Tab öffnen"
openInSideView: "In Seitenansicht öffnen" openInSideView: "In Seitenansicht öffnen"
defaultNavigationBehaviour: "Standardnavigationsverhalten" defaultNavigationBehaviour: "Standardnavigationsverhalten"
@ -1023,6 +1032,7 @@ resetPasswordConfirm: "Wirklich Passwort zurücksetzen?"
sensitiveWords: "Sensible Wörter" sensitiveWords: "Sensible Wörter"
sensitiveWordsDescription: "Die Notizsichtbarkeit aller Notizen, die diese Wörter enthalten, wird automatisch auf \"Startseite\" gesetzt. Durch Zeilenumbrüche können mehrere konfiguriert werden." sensitiveWordsDescription: "Die Notizsichtbarkeit aller Notizen, die diese Wörter enthalten, wird automatisch auf \"Startseite\" gesetzt. Durch Zeilenumbrüche können mehrere konfiguriert werden."
sensitiveWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-Verknüpfungen angegeben werden und durch das Umgeben von Schrägstrichen können reguläre Ausdrücke verwendet werden." sensitiveWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-Verknüpfungen angegeben werden und durch das Umgeben von Schrägstrichen können reguläre Ausdrücke verwendet werden."
prohibitedWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-Verknüpfungen angegeben werden und durch das Umgeben von Schrägstrichen können reguläre Ausdrücke verwendet werden."
hiddenTags: "Ausgeblendete Hashtags" hiddenTags: "Ausgeblendete Hashtags"
hiddenTagsDescription: "Die hier eingestellten Tags werden nicht mehr in den Trends angezeigt. Mit der Umschalttaste können mehrere ausgewählt werden." 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." notesSearchNotAvailable: "Die Notizsuche ist nicht verfügbar."
@ -1144,6 +1154,7 @@ hideRepliesToOthersInTimelineAll: "Antworten von allen momentan gefolgten Benutz
confirmShowRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern in der Chronik anzeigen?" confirmShowRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern in der Chronik anzeigen?"
confirmHideRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern nicht in der Chronik anzeigen?" confirmHideRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern nicht in der Chronik anzeigen?"
externalServices: "Externe Dienste" externalServices: "Externe Dienste"
sourceCode: "Quellcode"
impressum: "Impressum" impressum: "Impressum"
impressumUrl: "Impressums-URL" impressumUrl: "Impressums-URL"
impressumDescription: "In manchen Ländern, wie Deutschland und dessen Umgebung, ist die Angabe von Betreiberinformationen (ein Impressum) bei kommerziellem Betrieb zwingend." impressumDescription: "In manchen Ländern, wie Deutschland und dessen Umgebung, ist die Angabe von Betreiberinformationen (ein Impressum) bei kommerziellem Betrieb zwingend."
@ -1165,6 +1176,15 @@ signupPendingError: "Beim Überprüfen der Mailadresse ist etwas schiefgelaufen.
cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden." cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden."
doReaction: "Reagieren" doReaction: "Reagieren"
code: "Code" code: "Code"
decorate: "Dekorieren"
addMfmFunction: "MFM hinzufügen"
sfx: "Soundeffekte"
lastNDays: "Letzten {n} Tage"
surrender: "Abbrechen"
_delivery:
stop: "Gesperrt"
_type:
none: "Wird veröffentlicht"
_announcement: _announcement:
forExistingUsers: "Nur für existierende Nutzer" forExistingUsers: "Nur für existierende Nutzer"
forExistingUsersDescription: "Ist diese Option aktiviert, wird diese Ankündigung nur Nutzern angezeigt, die zum Zeitpunkt der Ankündigung bereits registriert sind. Ist sie deaktiviert, wird sie auch Nutzern, die sich nach dessen Veröffentlichung registrieren, angezeigt." forExistingUsersDescription: "Ist diese Option aktiviert, wird diese Ankündigung nur Nutzern angezeigt, die zum Zeitpunkt der Ankündigung bereits registriert sind. Ist sie deaktiviert, wird sie auch Nutzern, die sich nach dessen Veröffentlichung registrieren, angezeigt."
@ -1174,6 +1194,7 @@ _announcement:
tooManyActiveAnnouncementDescription: "Zu viele aktive Ankündigungen können die Benutzerfreundlichkeit verschlechtern. Es wird empfohlen, veraltete Ankündigungen zu archivieren." tooManyActiveAnnouncementDescription: "Zu viele aktive Ankündigungen können die Benutzerfreundlichkeit verschlechtern. Es wird empfohlen, veraltete Ankündigungen zu archivieren."
readConfirmTitle: "Als gelesen markieren?" readConfirmTitle: "Als gelesen markieren?"
readConfirmText: "Dies markiert den Inhalt von \"{title}\" als gelesen." readConfirmText: "Dies markiert den Inhalt von \"{title}\" als gelesen."
shouldNotBeUsedToPresentPermanentInfo: "Es wird empfohlen, Ankündigungen für aktuelle und zeitlich begrenzte Neuigkeiten zu nutzen, statt für Informationen, die langfristig relevant sind."
dialogAnnouncementUxWarn: "Bei der Verwendung von mehr als zwei Meldungen im Dialog-Format wird um Vorsicht geboten, da dies negative Auswirkungen auf die UX haben kann." dialogAnnouncementUxWarn: "Bei der Verwendung von mehr als zwei Meldungen im Dialog-Format wird um Vorsicht geboten, da dies negative Auswirkungen auf die UX haben kann."
silence: "Keine Benachrichtigung" silence: "Keine Benachrichtigung"
silenceDescription: "Wenn aktiviert, gibt diese Meldung keine Nachricht aus und muss nicht als \"gelesen\" markiert werden." silenceDescription: "Wenn aktiviert, gibt diese Meldung keine Nachricht aus und muss nicht als \"gelesen\" markiert werden."
@ -1203,6 +1224,24 @@ _initialTutorial:
description: "Hier kannst du sehen, wie Misskey funktioniert" description: "Hier kannst du sehen, wie Misskey funktioniert"
_note: _note:
title: "Was sind Notizen?" title: "Was sind Notizen?"
description: "Beiträge auf Misskey heißen \"Notizen\". Notizen werden chronologisch in der Chronik angeordnet und in Echtzeit aktualisiert."
reply: "Klicke auf diesen Button, um auf eine Nachricht zu antworten. Es ist auch möglich, auf Antworten zu antworten und die Unterhaltung wie einen Thread fortzusetzen."
_reaction:
title: "Was sind Reaktionen?"
reactToContinue: "Füge eine Reaktion hinzu, um fortzufahren."
reactNotification: "Du erhältst Echtzeit-Benachrichtigungen, wenn jemand auf deine Notiz reagiert."
_postNote:
_visibility:
description: "Du kannst einschränken, wer deine Notiz sehen kann."
public: "Deine Notiz wird für alle Nutzer sichtbar sein."
doNotSendConfidencialOnDirect1: "Sei vorsichtig, wenn du sensible Informationen verschickst!"
_cw:
title: "Inhaltswarnung"
_done:
title: "Du hast das Tutorial abgeschlossen! 🎉"
_timelineDescription:
local: "In der lokalen Chronik siehst du Notizen von allen Benutzern auf diesem Server."
global: "In der globalen Chronik siehst du Notizen von allen föderierten Servern."
_serverRules: _serverRules:
description: "Eine Reihe von Regeln, die vor der Registrierung angezeigt werden. Eine Zusammenfassung der Nutzungsbedingungen anzuzeigen ist empfohlen." description: "Eine Reihe von Regeln, die vor der Registrierung angezeigt werden. Eine Zusammenfassung der Nutzungsbedingungen anzuzeigen ist empfohlen."
_serverSettings: _serverSettings:
@ -1215,6 +1254,8 @@ _serverSettings:
shortName: "Abkürzung" shortName: "Abkürzung"
shortNameDescription: "Ein Kürzel für den Namen der Instanz, der angezeigt werden kann, falls der volle Instanzname lang ist." shortNameDescription: "Ein Kürzel für den Namen der Instanz, der angezeigt werden kann, falls der volle Instanzname lang ist."
fanoutTimelineDescription: "Ist diese Option aktiviert, kann eine erhebliche Verbesserung im Abrufen von Chroniken und eine Reduzierung der Datenbankbelastung erzielt werden, im Gegenzug zu einer Steigerung in der Speichernutzung von Redis. Bei geringem Serverspeicher oder Serverinstabilität kann diese Option deaktiviert werden." fanoutTimelineDescription: "Ist diese Option aktiviert, kann eine erhebliche Verbesserung im Abrufen von Chroniken und eine Reduzierung der Datenbankbelastung erzielt werden, im Gegenzug zu einer Steigerung in der Speichernutzung von Redis. Bei geringem Serverspeicher oder Serverinstabilität kann diese Option deaktiviert werden."
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. "
_accountMigration: _accountMigration:
moveFrom: "Von einem anderen Konto zu diesem migrieren" moveFrom: "Von einem anderen Konto zu diesem migrieren"
moveFromSub: "Alias für ein anderes Konto erstellen" moveFromSub: "Alias für ein anderes Konto erstellen"
@ -1472,6 +1513,8 @@ _achievements:
_smashTestNotificationButton: _smashTestNotificationButton:
title: "Testüberfluss" title: "Testüberfluss"
description: "Betätige den Benachrichtigungstest mehrfach innerhalb einer extrem kurzen Zeitspanne" description: "Betätige den Benachrichtigungstest mehrfach innerhalb einer extrem kurzen Zeitspanne"
_tutorialCompleted:
description: "Tutorial abgeschlossen"
_role: _role:
new: "Rolle erstellen" new: "Rolle erstellen"
edit: "Rolle bearbeiten" edit: "Rolle bearbeiten"
@ -1482,7 +1525,9 @@ _role:
assignTarget: "Zuweisungsart" assignTarget: "Zuweisungsart"
descriptionOfAssignTarget: "<b>Manuell</b> bedeutet, dass die Liste der Benutzer einer Rolle manuell verwaltet wird.\n<b>Konditional</b> bedeutet, dass die Liste der Benutzer einer Rolle durch eine Bedingung automatisch verwaltet wird." descriptionOfAssignTarget: "<b>Manuell</b> bedeutet, dass die Liste der Benutzer einer Rolle manuell verwaltet wird.\n<b>Konditional</b> bedeutet, dass die Liste der Benutzer einer Rolle durch eine Bedingung automatisch verwaltet wird."
manual: "Manuell" manual: "Manuell"
manualRoles: "Manuelle Rollen"
conditional: "Konditional" conditional: "Konditional"
conditionalRoles: "Bedingte Rolle"
condition: "Bedingung" condition: "Bedingung"
isConditionalRole: "Dies ist eine konditionale Rolle." isConditionalRole: "Dies ist eine konditionale Rolle."
isPublic: "Öffentliche Rolle" isPublic: "Öffentliche Rolle"
@ -1524,13 +1569,14 @@ _role:
webhookMax: "Maximale Anzahl an Webhooks" webhookMax: "Maximale Anzahl an Webhooks"
clipMax: "Maximale Anzahl an Clips" clipMax: "Maximale Anzahl an Clips"
noteEachClipsMax: "Maximale Anzahl an Notizen innerhalb eines Clips" noteEachClipsMax: "Maximale Anzahl an Notizen innerhalb eines Clips"
userListMax: "Maximale Anzahl an Benutzern in einer Benutzerliste" userListMax: "Maximale Anzahl an Benutzerlisten"
userEachUserListsMax: "Maximale Anzahl an Benutzerlisten" userEachUserListsMax: "Maximale Anzahl an Benutzern in einer Benutzerliste"
rateLimitFactor: "Versuchsanzahl" rateLimitFactor: "Versuchsanzahl"
descriptionOfRateLimitFactor: "Je niedriger desto weniger restriktiv, je höher destro restriktiver." descriptionOfRateLimitFactor: "Je niedriger desto weniger restriktiv, je höher destro restriktiver."
canHideAds: "Kann Werbung ausblenden" canHideAds: "Kann Werbung ausblenden"
canSearchNotes: "Nutzung der Notizsuchfunktion" canSearchNotes: "Nutzung der Notizsuchfunktion"
canUseTranslator: "Verwendung des Übersetzers" canUseTranslator: "Verwendung des Übersetzers"
avatarDecorationLimit: "Maximale Anzahl an Profilbilddekorationen, die angebracht werden können"
_condition: _condition:
isLocal: "Lokaler Benutzer" isLocal: "Lokaler Benutzer"
isRemote: "Benutzer fremder Instanz" isRemote: "Benutzer fremder Instanz"
@ -1559,6 +1605,7 @@ _emailUnavailable:
disposable: "Wegwerf-Email-Adressen können nicht verwendet werden" disposable: "Wegwerf-Email-Adressen können nicht verwendet werden"
mx: "Dieser Email-Server ist ungültig" mx: "Dieser Email-Server ist ungültig"
smtp: "Dieser Email-Server antwortet nicht" smtp: "Dieser Email-Server antwortet nicht"
banned: "Du kannst dich mit dieser E-Mail-Adresse nicht registrieren"
_ffVisibility: _ffVisibility:
public: "Öffentlich" public: "Öffentlich"
followers: "Nur für Follower sichtbar" followers: "Nur für Follower sichtbar"
@ -1737,7 +1784,6 @@ _theme:
buttonBg: "Hintergrund von Schaltflächen" buttonBg: "Hintergrund von Schaltflächen"
buttonHoverBg: "Hintergrund von Schaltflächen (Mouseover)" buttonHoverBg: "Hintergrund von Schaltflächen (Mouseover)"
inputBorder: "Rahmen von Eingabefeldern" inputBorder: "Rahmen von Eingabefeldern"
listItemHoverBg: "Hintergrund von Listeneinträgen (Mouseover)"
driveFolderBg: "Hintergrund von Drive-Ordnern" driveFolderBg: "Hintergrund von Drive-Ordnern"
wallpaperOverlay: "Hintergrundbild-Overlay" wallpaperOverlay: "Hintergrundbild-Overlay"
badge: "Wappen" badge: "Wappen"
@ -1749,8 +1795,6 @@ _sfx:
note: "Notizen" note: "Notizen"
noteMy: "Meine Notizen" noteMy: "Meine Notizen"
notification: "Benachrichtigungen" notification: "Benachrichtigungen"
antenna: "Antennen"
channel: "Kanalbenachrichtigung"
_ago: _ago:
future: "Zukunft" future: "Zukunft"
justNow: "Gerade eben" justNow: "Gerade eben"
@ -1772,7 +1816,6 @@ _2fa:
registerTOTP: "Authentifizierungs-App registrieren" registerTOTP: "Authentifizierungs-App registrieren"
step1: "Installiere zuerst eine Authentifizierungsapp (z.B. {a} oder {b}) auf deinem Gerät." step1: "Installiere zuerst eine Authentifizierungsapp (z.B. {a} oder {b}) auf deinem Gerät."
step2: "Dann, scanne den angezeigten QR-Code mit deinem Gerät." step2: "Dann, scanne den angezeigten QR-Code mit deinem Gerät."
step2Click: "Durch Klicken dieses QR-Codes kannst du Verifikation mit deinem Security-Token oder einer App registrieren."
step2Uri: "Nutzt du ein Desktopprogramm, gib folgende URI eingeben" step2Uri: "Nutzt du ein Desktopprogramm, gib folgende URI eingeben"
step3Title: "Authentifizierungsscode eingeben" step3Title: "Authentifizierungsscode eingeben"
step3: "Gib zum Abschluss den Code (Token) ein, der von deiner App angezeigt wird." step3: "Gib zum Abschluss den Code (Token) ein, der von deiner App angezeigt wird."
@ -1887,6 +1930,7 @@ _widgets:
_userList: _userList:
chooseList: "Liste auswählen" chooseList: "Liste auswählen"
clicker: "Klickzähler" clicker: "Klickzähler"
birthdayFollowings: "Nutzer, die heute Geburtstag haben"
_cw: _cw:
hide: "Inhalt verbergen" hide: "Inhalt verbergen"
show: "Inhalt anzeigen" show: "Inhalt anzeigen"
@ -1952,6 +1996,7 @@ _profile:
_exportOrImport: _exportOrImport:
allNotes: "Alle Notizen" allNotes: "Alle Notizen"
favoritedNotes: "Als Favorit markierte Notizen" favoritedNotes: "Als Favorit markierte Notizen"
clips: "Clip erstellen"
followingList: "Gefolgte Benutzer" followingList: "Gefolgte Benutzer"
muteList: "Stummschaltungen" muteList: "Stummschaltungen"
blockingList: "Blockierungen" blockingList: "Blockierungen"
@ -2092,6 +2137,7 @@ _notification:
receiveFollowRequest: "Erhaltene Follow-Anfragen" receiveFollowRequest: "Erhaltene Follow-Anfragen"
followRequestAccepted: "Akzeptierte Follow-Anfragen" followRequestAccepted: "Akzeptierte Follow-Anfragen"
achievementEarned: "Errungenschaft freigeschaltet" achievementEarned: "Errungenschaft freigeschaltet"
login: "Anmelden"
app: "Benachrichtigungen von Apps" app: "Benachrichtigungen von Apps"
_actions: _actions:
followBack: "folgt dir nun auch" followBack: "folgt dir nun auch"
@ -2141,7 +2187,6 @@ _webhookSettings:
createWebhook: "Webhook erstellen" createWebhook: "Webhook erstellen"
name: "Name" name: "Name"
secret: "Secret" secret: "Secret"
events: "Webhook-Ereignisse"
active: "Aktiviert" active: "Aktiviert"
_events: _events:
follow: "Wenn du jemandem folgst" follow: "Wenn du jemandem folgst"
@ -2151,6 +2196,10 @@ _webhookSettings:
renote: "Wenn du ein Renote erhältst" renote: "Wenn du ein Renote erhältst"
reaction: "Wenn du eine Reaktion erhältst" reaction: "Wenn du eine Reaktion erhältst"
mention: "Wenn du erwähnt wirst" mention: "Wenn du erwähnt wirst"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Email"
_moderationLogTypes: _moderationLogTypes:
createRole: "Rolle erstellt" createRole: "Rolle erstellt"
deleteRole: "Rolle gelöscht" deleteRole: "Rolle gelöscht"
@ -2234,3 +2283,9 @@ _externalResourceInstaller:
_themeInstallFailed: _themeInstallFailed:
title: "Das Farbschema konnte nicht installiert werden" title: "Das Farbschema konnte nicht installiert werden"
description: "Während der Installation des Farbschemas ist ein Problem aufgetreten. Bitte versuche es erneut. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden." description: "Während der Installation des Farbschemas ist ein Problem aufgetreten. Bitte versuche es erneut. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden."
_reversi:
blackOrWhite: "Schwarz/Weiß"
rules: "Regeln"
black: "Schwarz"
white: "Weiß"
total: "Gesamt"

View file

@ -301,8 +301,6 @@ _theme:
_sfx: _sfx:
note: "Σημειώματα" note: "Σημειώματα"
notification: "Ειδοποιήσεις" notification: "Ειδοποιήσεις"
antenna: "Αντένες"
channel: "Ειδοποιήσεις καναλιών"
_ago: _ago:
future: "Μελλοντικό" future: "Μελλοντικό"
justNow: "Μόλις τώρα" justNow: "Μόλις τώρα"
@ -356,6 +354,7 @@ _profile:
username: "Όνομα μέλους" username: "Όνομα μέλους"
_exportOrImport: _exportOrImport:
allNotes: "Όλα τα σημειώματα" allNotes: "Όλα τα σημειώματα"
clips: "Κλιπ"
followingList: "Ακολουθεί" followingList: "Ακολουθεί"
muteList: "Μέλη σε σίγαση" muteList: "Μέλη σε σίγαση"
blockingList: "Μπλοκαρισμένα μέλη" blockingList: "Μπλοκαρισμένα μέλη"
@ -379,6 +378,7 @@ _notification:
renote: "Κοινοποίηση σημειώματος" renote: "Κοινοποίηση σημειώματος"
quote: "Παράθεση" quote: "Παράθεση"
reaction: "Αντιδράσεις" reaction: "Αντιδράσεις"
login: "Σύνδεση"
_actions: _actions:
reply: "Απάντηση" reply: "Απάντηση"
renote: "Κοινοποίηση σημειώματος" renote: "Κοινοποίηση σημειώματος"
@ -395,3 +395,5 @@ _webhookSettings:
name: "Όνομα" name: "Όνομα"
_moderationLogTypes: _moderationLogTypes:
suspend: "Αποβολή" suspend: "Αποβολή"
_reversi:
total: "Σύνολο"

View file

@ -8,6 +8,9 @@ search: "Search"
notifications: "Notifications" notifications: "Notifications"
username: "Username" username: "Username"
password: "Password" password: "Password"
initialPasswordForSetup: "Initial password for setup"
initialPasswordIsIncorrect: "Initial password for setup is incorrect"
initialPasswordForSetupDescription: "Use the password you entered in the configuration file if you installed Misskey yourself.\n If you are using a Misskey hosting service, use the password provided.\n If you have not set a password, leave it blank to continue."
forgotPassword: "Forgot password" forgotPassword: "Forgot password"
fetchingAsApObject: "Fetching from the Fediverse..." fetchingAsApObject: "Fetching from the Fediverse..."
ok: "OK" ok: "OK"
@ -60,6 +63,7 @@ copyFileId: "Copy file ID"
copyFolderId: "Copy folder ID" copyFolderId: "Copy folder ID"
copyProfileUrl: "Copy profile URL" copyProfileUrl: "Copy profile URL"
searchUser: "Search for a user" searchUser: "Search for a user"
searchThisUsersNotes: "Search this users notes"
reply: "Reply" reply: "Reply"
loadMore: "Load more" loadMore: "Load more"
showMore: "Show more" showMore: "Show more"
@ -108,11 +112,14 @@ enterEmoji: "Enter an emoji"
renote: "Renote" renote: "Renote"
unrenote: "Remove renote" unrenote: "Remove renote"
renoted: "Renoted." renoted: "Renoted."
renotedToX: "Renoted to {name}."
cantRenote: "This post can't be renoted." cantRenote: "This post can't be renoted."
cantReRenote: "A renote can't be renoted." cantReRenote: "A renote can't be renoted."
quote: "Quote" quote: "Quote"
inChannelRenote: "Channel-only Renote" inChannelRenote: "Channel-only Renote"
inChannelQuote: "Channel-only Quote" inChannelQuote: "Channel-only Quote"
renoteToChannel: "Renote to channel"
renoteToOtherChannel: "Renote to other channel"
pinnedNote: "Pinned note" pinnedNote: "Pinned note"
pinned: "Pin to profile" pinned: "Pin to profile"
you: "You" you: "You"
@ -122,10 +129,15 @@ add: "Add"
reaction: "Reactions" reaction: "Reactions"
reactions: "Reactions" reactions: "Reactions"
emojiPicker: "Emoji picker" emojiPicker: "Emoji picker"
pinnedEmojisForReactionSettingDescription: "Set the emojis to be pinned and displayed when reacting."
pinnedEmojisSettingDescription: "Set the emojis to be pinned and displayed when viewing emoji picker."
emojiPickerDisplay: "Emoji picker display" emojiPickerDisplay: "Emoji picker display"
overwriteFromPinnedEmojisForReaction: "Override from reaction settings"
overwriteFromPinnedEmojis: "Override from general settings"
reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add." reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add."
rememberNoteVisibility: "Remember note visibility settings" rememberNoteVisibility: "Remember note visibility settings"
attachCancel: "Remove attachment" attachCancel: "Remove attachment"
deleteFile: "Delete file"
markAsSensitive: "Mark as sensitive" markAsSensitive: "Mark as sensitive"
unmarkAsSensitive: "Unmark as sensitive" unmarkAsSensitive: "Unmark as sensitive"
enterFileName: "Enter filename" enterFileName: "Enter filename"
@ -146,6 +158,7 @@ editList: "Edit list"
selectChannel: "Select a channel" selectChannel: "Select a channel"
selectAntenna: "Select an antenna" selectAntenna: "Select an antenna"
editAntenna: "Edit antenna" editAntenna: "Edit antenna"
createAntenna: "Create an antenna"
selectWidget: "Select a widget" selectWidget: "Select a widget"
editWidgets: "Edit widgets" editWidgets: "Edit widgets"
editWidgetsExit: "Done" editWidgetsExit: "Done"
@ -157,7 +170,7 @@ emojiUrl: "Emoji URL"
addEmoji: "Add an emoji" addEmoji: "Add an emoji"
settingGuide: "Recommended settings" settingGuide: "Recommended settings"
cacheRemoteFiles: "Cache remote files" cacheRemoteFiles: "Cache remote files"
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote instance. Disabling this will decrease storage usage, but increase traffic, as thumbnails will not be generated." cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote servers. Disabling this will decrease storage usage, but increase traffic, as thumbnails will not be generated."
youCanCleanRemoteFilesCache: "You can clear the cache by clicking the 🗑️ button in the file management view." youCanCleanRemoteFilesCache: "You can clear the cache by clicking the 🗑️ button in the file management view."
cacheRemoteSensitiveFiles: "Cache sensitive remote files" cacheRemoteSensitiveFiles: "Cache sensitive remote files"
cacheRemoteSensitiveFilesDescription: "When this setting is disabled, sensitive remote files are loaded directly from the remote instance without caching." cacheRemoteSensitiveFilesDescription: "When this setting is disabled, sensitive remote files are loaded directly from the remote instance without caching."
@ -172,6 +185,10 @@ addAccount: "Add account"
reloadAccountsList: "Reload account list" reloadAccountsList: "Reload account list"
loginFailed: "Failed to sign in" loginFailed: "Failed to sign in"
showOnRemote: "View on remote instance" showOnRemote: "View on remote instance"
continueOnRemote: "Continue on a remote server"
chooseServerOnMisskeyHub: "Choose a server from the Misskey Hub"
specifyServerHost: "Specify a server host directly"
inputHostName: "Enter the domain"
general: "General" general: "General"
wallpaper: "Wallpaper" wallpaper: "Wallpaper"
setWallpaper: "Set wallpaper" setWallpaper: "Set wallpaper"
@ -182,6 +199,7 @@ followConfirm: "Are you sure that you want to follow {name}?"
proxyAccount: "Proxy account" proxyAccount: "Proxy account"
proxyAccountDescription: "A proxy account is an account that acts as a remote follower for users under certain conditions. For example, when a user adds a remote user to the list, the remote user's activity will not be delivered to the instance if no local user is following that user, so the proxy account will follow instead." proxyAccountDescription: "A proxy account is an account that acts as a remote follower for users under certain conditions. For example, when a user adds a remote user to the list, the remote user's activity will not be delivered to the instance if no local user is following that user, so the proxy account will follow instead."
host: "Host" host: "Host"
selectSelf: "Select myself"
selectUser: "Select a user" selectUser: "Select a user"
recipient: "Recipient" recipient: "Recipient"
annotation: "Comments" annotation: "Comments"
@ -197,6 +215,7 @@ perDay: "Per Day"
stopActivityDelivery: "Stop sending activities" stopActivityDelivery: "Stop sending activities"
blockThisInstance: "Block this instance" blockThisInstance: "Block this instance"
silenceThisInstance: "Silence this instance" silenceThisInstance: "Silence this instance"
mediaSilenceThisInstance: "Media-silence this server"
operations: "Operations" operations: "Operations"
software: "Software" software: "Software"
version: "Version" version: "Version"
@ -217,7 +236,11 @@ clearCachedFilesConfirm: "Are you sure that you want to delete all cached remote
blockedInstances: "Blocked Instances" blockedInstances: "Blocked Instances"
blockedInstancesDescription: "List the hostnames of the instances you want to block separated by linebreaks. Listed instances will no longer be able to communicate with this instance." blockedInstancesDescription: "List the hostnames of the instances you want to block separated by linebreaks. Listed instances will no longer be able to communicate with this instance."
silencedInstances: "Silenced instances" silencedInstances: "Silenced instances"
silencedInstancesDescription: "List the hostnames of the instances that you want to silence. All accounts of the listed instances will be treated as silenced, can only make follow requests, and cannot mention local accounts if not followed. This will not affect blocked instances." silencedInstancesDescription: "List the host names of the servers that you want to silence, separated by a new line. All accounts belonging to the listed servers will be treated as silenced, and can only make follow requests, and cannot mention local accounts if not followed. This will not affect the blocked servers."
mediaSilencedInstances: "Media-silenced servers"
mediaSilencedInstancesDescription: "List the host names of the servers that you want to media-silence, separated by a new line. All accounts belonging to the listed servers will be treated as sensitive, and can't use custom emojis. This will not affect the blocked servers."
federationAllowedHosts: "Federation allowed servers"
federationAllowedHostsDescription: "Specify the hostnames of the servers you want to allow federation separated by line breaks."
muteAndBlock: "Mutes and Blocks" muteAndBlock: "Mutes and Blocks"
mutedUsers: "Muted users" mutedUsers: "Muted users"
blockedUsers: "Blocked users" blockedUsers: "Blocked users"
@ -315,6 +338,7 @@ renameFolder: "Rename this folder"
deleteFolder: "Delete this folder" deleteFolder: "Delete this folder"
folder: "Folder" folder: "Folder"
addFile: "Add a file" addFile: "Add a file"
showFile: "Show files"
emptyDrive: "Your Drive is empty" emptyDrive: "Your Drive is empty"
emptyFolder: "This folder is empty" emptyFolder: "This folder is empty"
unableToDelete: "Unable to delete" unableToDelete: "Unable to delete"
@ -375,6 +399,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Enable hCaptcha" enableHcaptcha: "Enable hCaptcha"
hcaptchaSiteKey: "Site key" hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key" hcaptchaSecretKey: "Secret key"
mcaptcha: "mCaptcha"
enableMcaptcha: "Enable mCaptcha"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
mcaptchaInstanceUrl: "mCaptcha server URL"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Enable reCAPTCHA" enableRecaptcha: "Enable reCAPTCHA"
recaptchaSiteKey: "Site key" recaptchaSiteKey: "Site key"
@ -390,6 +419,7 @@ name: "Name"
antennaSource: "Antenna source" antennaSource: "Antenna source"
antennaKeywords: "Keywords to listen to" antennaKeywords: "Keywords to listen to"
antennaExcludeKeywords: "Keywords to exclude" antennaExcludeKeywords: "Keywords to exclude"
antennaExcludeBots: "Exclude bot accounts"
antennaKeywordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition." antennaKeywordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
notifyAntenna: "Notify about new notes" notifyAntenna: "Notify about new notes"
withFileAntenna: "Only notes with files" withFileAntenna: "Only notes with files"
@ -423,6 +453,7 @@ totpDescription: "Use an authenticator app to enter one-time passwords"
moderator: "Moderator" moderator: "Moderator"
moderation: "Moderation" moderation: "Moderation"
moderationNote: "Moderation note" moderationNote: "Moderation note"
moderationNoteDescription: "You can fill in notes that will be shared only among moderators."
addModerationNote: "Add moderation note" addModerationNote: "Add moderation note"
moderationLogs: "Moderation logs" moderationLogs: "Moderation logs"
nUsersMentioned: "Mentioned by {n} users" nUsersMentioned: "Mentioned by {n} users"
@ -457,10 +488,12 @@ retype: "Enter again"
noteOf: "Note by {user}" noteOf: "Note by {user}"
quoteAttached: "Quote" quoteAttached: "Quote"
quoteQuestion: "Append as quote?" quoteQuestion: "Append as quote?"
attachAsFileQuestion: "The text in clipboard is long. Would you want to attach it as text file?"
noMessagesYet: "No messages yet" noMessagesYet: "No messages yet"
newMessageExists: "There are new messages" newMessageExists: "There are new messages"
onlyOneFileCanBeAttached: "You can only attach one file to a message" onlyOneFileCanBeAttached: "You can only attach one file to a message"
signinRequired: "Please register or sign in before continuing" signinRequired: "Please register or sign in before continuing"
signinOrContinueOnRemote: "To continue, you need to move your server or sign up / log in to this server."
invitations: "Invites" invitations: "Invites"
invitationCode: "Invitation code" invitationCode: "Invitation code"
checking: "Checking..." checking: "Checking..."
@ -482,8 +515,12 @@ uiLanguage: "User interface language"
aboutX: "About {x}" aboutX: "About {x}"
emojiStyle: "Emoji style" emojiStyle: "Emoji style"
native: "Native" native: "Native"
disableDrawer: "Don't use drawer-style menus" menuStyle: "Menu style"
style: "Style"
drawer: "Drawer"
popup: "Pop up"
showNoteActionsOnlyHover: "Only show note actions on hover" showNoteActionsOnlyHover: "Only show note actions on hover"
showReactionsCount: "See the number of reactions in notes"
noHistory: "No history available" noHistory: "No history available"
signinHistory: "Login history" signinHistory: "Login history"
enableAdvancedMfm: "Enable advanced MFM" enableAdvancedMfm: "Enable advanced MFM"
@ -564,6 +601,8 @@ ascendingOrder: "Ascending"
descendingOrder: "Descending" descendingOrder: "Descending"
scratchpad: "Scratchpad" scratchpad: "Scratchpad"
scratchpadDescription: "The Scratchpad provides an environment for AiScript experiments. You can write, execute, and check the results of it interacting with Misskey in it." scratchpadDescription: "The Scratchpad provides an environment for AiScript experiments. You can write, execute, and check the results of it interacting with Misskey in it."
uiInspector: "UI inspector"
uiInspectorDescription: "You can see the UI component server list on memory. UI component will be generated by Ui:C: function."
output: "Output" output: "Output"
script: "Script" script: "Script"
disablePagesScript: "Disable AiScript on Pages" disablePagesScript: "Disable AiScript on Pages"
@ -622,6 +661,7 @@ medium: "Medium"
small: "Small" small: "Small"
generateAccessToken: "Generate access token" generateAccessToken: "Generate access token"
permission: "Permissions" permission: "Permissions"
adminPermission: "Admin Permissions"
enableAll: "Enable all" enableAll: "Enable all"
disableAll: "Disable all" disableAll: "Disable all"
tokenRequested: "Grant access to account" tokenRequested: "Grant access to account"
@ -638,7 +678,7 @@ smtpHost: "Host"
smtpPort: "Port" smtpPort: "Port"
smtpUser: "Username" smtpUser: "Username"
smtpPass: "Password" smtpPass: "Password"
emptyToDisableSmtpAuth: "Leave username and password empty to disable SMTP verification" emptyToDisableSmtpAuth: "Leave username and password empty to disable SMTP authentication"
smtpSecure: "Use implicit SSL/TLS for SMTP connections" smtpSecure: "Use implicit SSL/TLS for SMTP connections"
smtpSecureInfo: "Turn this off when using STARTTLS" smtpSecureInfo: "Turn this off when using STARTTLS"
testEmail: "Test email delivery" testEmail: "Test email delivery"
@ -665,6 +705,7 @@ useGlobalSettingDesc: "If turned on, your account's notification settings will b
other: "Other" other: "Other"
regenerateLoginToken: "Regenerate login token" regenerateLoginToken: "Regenerate login token"
regenerateLoginTokenDescription: "Regenerates the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out." regenerateLoginTokenDescription: "Regenerates the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out."
theKeywordWhenSearchingForCustomEmoji: "This is the keyword when searching for custom emojis."
setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces." setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces."
fileIdOrUrl: "File ID or URL" fileIdOrUrl: "File ID or URL"
behavior: "Behavior" behavior: "Behavior"
@ -678,10 +719,7 @@ abuseReported: "Your report has been sent. Thank you very much."
reporter: "Reporter" reporter: "Reporter"
reporteeOrigin: "Reportee Origin" reporteeOrigin: "Reportee Origin"
reporterOrigin: "Reporter Origin" reporterOrigin: "Reporter Origin"
forwardReport: "Forward report to remote instance"
forwardReportIsAnonymous: "Instead of your account, an anonymous system account will be displayed as reporter at the remote instance."
send: "Send" send: "Send"
abuseMarkAsResolved: "Mark report as resolved"
openInNewTab: "Open in new tab" openInNewTab: "Open in new tab"
openInSideView: "Open in side view" openInSideView: "Open in side view"
defaultNavigationBehaviour: "Default navigation behavior" defaultNavigationBehaviour: "Default navigation behavior"
@ -818,6 +856,7 @@ administration: "Management"
accounts: "Accounts" accounts: "Accounts"
switch: "Switch" switch: "Switch"
noMaintainerInformationWarning: "Maintainer information is not configured." noMaintainerInformationWarning: "Maintainer information is not configured."
noInquiryUrlWarning: "Inquiry URL isnt set"
noBotProtectionWarning: "Bot protection is not configured." noBotProtectionWarning: "Bot protection is not configured."
configure: "Configure" configure: "Configure"
postToGallery: "Create new gallery post" postToGallery: "Create new gallery post"
@ -882,6 +921,7 @@ followersVisibility: "Visibility of followers"
continueThread: "View thread continuation" continueThread: "View thread continuation"
deleteAccountConfirm: "This will irreversibly delete your account. Proceed?" deleteAccountConfirm: "This will irreversibly delete your account. Proceed?"
incorrectPassword: "Incorrect password." incorrectPassword: "Incorrect password."
incorrectTotp: "The one-time password is incorrect or has expired."
voteConfirm: "Confirm your vote for \"{choice}\"?" voteConfirm: "Confirm your vote for \"{choice}\"?"
hide: "Hide" hide: "Hide"
useDrawerReactionPickerForMobile: "Display reaction picker as drawer on mobile" useDrawerReactionPickerForMobile: "Display reaction picker as drawer on mobile"
@ -906,6 +946,9 @@ oneHour: "One hour"
oneDay: "One day" oneDay: "One day"
oneWeek: "One week" oneWeek: "One week"
oneMonth: "One month" oneMonth: "One month"
threeMonths: "3 months"
oneYear: "1 year"
threeDays: "3 days"
reflectMayTakeTime: "It may take some time for this to be reflected." reflectMayTakeTime: "It may take some time for this to be reflected."
failedToFetchAccountInformation: "Could not fetch account information" failedToFetchAccountInformation: "Could not fetch account information"
rateLimitExceeded: "Rate limit exceeded" rateLimitExceeded: "Rate limit exceeded"
@ -979,6 +1022,7 @@ neverShow: "Don't show again"
remindMeLater: "Maybe later" remindMeLater: "Maybe later"
didYouLikeMisskey: "Have you taken a liking to Misskey?" didYouLikeMisskey: "Have you taken a liking to Misskey?"
pleaseDonate: "{host} uses the free software, Misskey. We would highly appreciate your donations so development of Misskey can continue!" pleaseDonate: "{host} uses the free software, Misskey. We would highly appreciate your donations so development of Misskey can continue!"
correspondingSourceIsAvailable: "The corresponding source code is available at {anchor}"
roles: "Roles" roles: "Roles"
role: "Role" role: "Role"
noRole: "Role not found" noRole: "Role not found"
@ -1006,6 +1050,7 @@ thisPostMayBeAnnoyingHome: "Post to home timeline"
thisPostMayBeAnnoyingCancel: "Cancel" thisPostMayBeAnnoyingCancel: "Cancel"
thisPostMayBeAnnoyingIgnore: "Post anyway" thisPostMayBeAnnoyingIgnore: "Post anyway"
collapseRenotes: "Collapse renotes you've already seen" collapseRenotes: "Collapse renotes you've already seen"
collapseRenotesDescription: "Collapse notes that you've reacted to or renoted before."
internalServerError: "Internal Server Error" internalServerError: "Internal Server Error"
internalServerErrorDescription: "The server has run into an unexpected error." internalServerErrorDescription: "The server has run into an unexpected error."
copyErrorInfo: "Copy error details" copyErrorInfo: "Copy error details"
@ -1029,6 +1074,9 @@ resetPasswordConfirm: "Really reset your password?"
sensitiveWords: "Sensitive words" sensitiveWords: "Sensitive words"
sensitiveWordsDescription: "The visibility of all notes containing any of the configured words will be set to \"Home\" automatically. You can list multiple by separating them via line breaks." sensitiveWordsDescription: "The visibility of all notes containing any of the configured words will be set to \"Home\" automatically. You can list multiple by separating them via line breaks."
sensitiveWordsDescription2: "Using spaces will create AND expressions and surrounding keywords with slashes will turn them into a regular expression." sensitiveWordsDescription2: "Using spaces will create AND expressions and surrounding keywords with slashes will turn them into a regular expression."
prohibitedWords: "Prohibited words"
prohibitedWordsDescription: "Enables an error when attempting to post a note containing the set word(s). Multiple words can be set, separated by a new line."
prohibitedWordsDescription2: "Using spaces will create AND expressions and surrounding keywords with slashes will turn them into a regular expression."
hiddenTags: "Hidden hashtags" hiddenTags: "Hidden hashtags"
hiddenTagsDescription: "Select tags which will not shown on trend list.\nMultiple tags could be registered by lines." hiddenTagsDescription: "Select tags which will not shown on trend list.\nMultiple tags could be registered by lines."
notesSearchNotAvailable: "Note search is unavailable." notesSearchNotAvailable: "Note search is unavailable."
@ -1041,12 +1089,15 @@ retryAllQueuesConfirmTitle: "Really retry all?"
retryAllQueuesConfirmText: "This will temporarily increase the server load." retryAllQueuesConfirmText: "This will temporarily increase the server load."
enableChartsForRemoteUser: "Generate remote user data charts" enableChartsForRemoteUser: "Generate remote user data charts"
enableChartsForFederatedInstances: "Generate remote instance data charts" enableChartsForFederatedInstances: "Generate remote instance data charts"
enableStatsForFederatedInstances: "Receive remote server stats"
showClipButtonInNoteFooter: "Add \"Clip\" to note action menu" showClipButtonInNoteFooter: "Add \"Clip\" to note action menu"
reactionsDisplaySize: "Reaction display size" reactionsDisplaySize: "Reaction display size"
limitWidthOfReaction: "Limits the maximum width of reactions and display them in reduced size." limitWidthOfReaction: "Limit the maximum width of reactions and display them in reduced size."
noteIdOrUrl: "Note ID or URL" noteIdOrUrl: "Note ID or URL"
video: "Video" video: "Video"
videos: "Videos" videos: "Videos"
audio: "Audio"
audioFiles: "Audio"
dataSaver: "Data Saver" dataSaver: "Data Saver"
accountMigration: "Account Migration" accountMigration: "Account Migration"
accountMoved: "This user has moved to a new account:" accountMoved: "This user has moved to a new account:"
@ -1074,6 +1125,8 @@ preservedUsernames: "Reserved usernames"
preservedUsernamesDescription: "List usernames to reserve separated by linebreaks. These will become unable during normal account creation, but can be used by administrators to manually create accounts. Already existing accounts using these usernames will not be affected." preservedUsernamesDescription: "List usernames to reserve separated by linebreaks. These will become unable during normal account creation, but can be used by administrators to manually create accounts. Already existing accounts using these usernames will not be affected."
createNoteFromTheFile: "Compose note from this file" createNoteFromTheFile: "Compose note from this file"
archive: "Archive" archive: "Archive"
archived: "Archived"
unarchive: "Unarchive"
channelArchiveConfirmTitle: "Really archive {name}?" channelArchiveConfirmTitle: "Really archive {name}?"
channelArchiveConfirmDescription: "An archived channel won't appear in the channel list or search results anymore. New posts can also not be added to it anymore." channelArchiveConfirmDescription: "An archived channel won't appear in the channel list or search results anymore. New posts can also not be added to it anymore."
thisChannelArchived: "This channel has been archived." thisChannelArchived: "This channel has been archived."
@ -1084,6 +1137,9 @@ preventAiLearning: "Reject usage in Machine Learning (Generative AI)"
preventAiLearningDescription: "Requests crawlers to not use posted text or image material etc. in machine learning (Predictive / Generative AI) data sets. This is achieved by adding a \"noai\" HTML-Response flag to the respective content. A complete prevention can however not be achieved through this flag, as it may simply be ignored." preventAiLearningDescription: "Requests crawlers to not use posted text or image material etc. in machine learning (Predictive / Generative AI) data sets. This is achieved by adding a \"noai\" HTML-Response flag to the respective content. A complete prevention can however not be achieved through this flag, as it may simply be ignored."
options: "Options" options: "Options"
specifyUser: "Specific user" specifyUser: "Specific user"
lookupConfirm: "Do you want to look up?"
openTagPageConfirm: "Do you want to open a hashtag page?"
specifyHost: "Specific host"
failedToPreviewUrl: "Could not preview" failedToPreviewUrl: "Could not preview"
update: "Update" update: "Update"
rolesThatCanBeUsedThisEmojiAsReaction: "Roles that can use this emoji as reaction" rolesThatCanBeUsedThisEmojiAsReaction: "Roles that can use this emoji as reaction"
@ -1142,6 +1198,7 @@ showRenotes: "Show renotes"
edited: "Edited" edited: "Edited"
notificationRecieveConfig: "Notification Settings" notificationRecieveConfig: "Notification Settings"
mutualFollow: "Mutual follow" mutualFollow: "Mutual follow"
followingOrFollower: "Following or follower"
fileAttachedOnly: "Only notes with files" fileAttachedOnly: "Only notes with files"
showRepliesToOthersInTimeline: "Show replies to others in timeline" showRepliesToOthersInTimeline: "Show replies to others in timeline"
hideRepliesToOthersInTimeline: "Hide replies to others from timeline" hideRepliesToOthersInTimeline: "Hide replies to others from timeline"
@ -1150,6 +1207,13 @@ hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you foll
confirmShowRepliesAll: "This operation is irreversible. Would you really like to show replies to others from everyone you follow in your 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?" confirmHideRepliesAll: "This operation is irreversible. Would you really like to hide replies to others from everyone you follow in your timeline?"
externalServices: "External Services" externalServices: "External Services"
sourceCode: "Source code"
sourceCodeIsNotYetProvided: "Source code is not yet available. Contact the administrator to fix this problem."
repositoryUrl: "Repository URL"
repositoryUrlDescription: "If you are using Misskey as is (without any changes to the source code), enter https://github.com/misskey-dev/misskey"
repositoryUrlOrTarballRequired: "If you have not published a repository, you must provide a tarball instead. See .config/example.yml for more information."
feedback: "Feedback"
feedbackUrl: "Feedback URL"
impressum: "Impressum" impressum: "Impressum"
impressumUrl: "Impressum URL" impressumUrl: "Impressum URL"
impressumDescription: "In some countries, like germany, the inclusion of operator contact information (an Impressum) is legally required for commercial websites." impressumDescription: "In some countries, like germany, the inclusion of operator contact information (an Impressum) is legally required for commercial websites."
@ -1159,6 +1223,7 @@ tosAndPrivacyPolicy: "Terms of Service and Privacy Policy"
avatarDecorations: "Avatar decorations" avatarDecorations: "Avatar decorations"
attach: "Attach" attach: "Attach"
detach: "Remove" detach: "Remove"
detachAll: "Remove All"
angle: "Angle" angle: "Angle"
flip: "Flip" flip: "Flip"
showAvatarDecorations: "Show avatar decorations" showAvatarDecorations: "Show avatar decorations"
@ -1172,7 +1237,110 @@ cwNotationRequired: "If \"Hide content\" is enabled, a description must be provi
doReaction: "Add reaction" doReaction: "Add reaction"
code: "Code" code: "Code"
reloadRequiredToApplySettings: "Reloading is required to apply the settings." reloadRequiredToApplySettings: "Reloading is required to apply the settings."
remainingN: "Remaining: {n}"
overwriteContentConfirm: "Are you sure you want to overwrite the current content?"
seasonalScreenEffect: "Seasonal Screen Effect"
decorate: "Decorate" decorate: "Decorate"
addMfmFunction: "Add MFM"
enableQuickAddMfmFunction: "Show advanced MFM picker"
bubbleGame: "Bubble Game"
sfx: "Sound Effects"
soundWillBePlayed: "Sound will be played"
showReplay: "View Replay"
replay: "Replay"
replaying: "Showing replay"
endReplay: "Exit Replay"
copyReplayData: "Copy replay data"
ranking: "Ranking"
lastNDays: "Last {n} days"
backToTitle: "Go back to title"
hemisphere: "Where are you located"
withSensitive: "Include notes with sensitive files"
userSaysSomethingSensitive: "Post by {name} contains sensitive content"
enableHorizontalSwipe: "Swipe to switch tabs"
loading: "Loading"
surrender: "Cancel"
gameRetry: "Retry"
notUsePleaseLeaveBlank: "Leave blank if not used"
useTotp: "Enter the One-Time Password"
useBackupCode: "Use the backup codes"
launchApp: "Launch the app"
useNativeUIForVideoAudioPlayer: "Use UI of browser when play video and audio"
keepOriginalFilename: "Keep original file name"
keepOriginalFilenameDescription: "If you turn off this setting, files names will be replaced with random string automatically when you upload files."
noDescription: "There is no explanation"
alwaysConfirmFollow: "Always confirm when following"
inquiry: "Contact"
tryAgain: "Please try again later"
confirmWhenRevealingSensitiveMedia: "Confirm when revealing sensitive media"
sensitiveMediaRevealConfirm: "This might be a sensitive media. Are you sure to reveal?"
createdLists: "Created lists"
createdAntennas: "Created antennas"
fromX: "From {x}"
genEmbedCode: "Generate embed code"
noteOfThisUser: "Notes by this user"
clipNoteLimitExceeded: "No more notes can be added to this clip."
performance: "Performance"
modified: "Modified"
discard: "Discard"
thereAreNChanges: "There are {n} change(s)"
signinWithPasskey: "Sign in with Passkey"
unknownWebAuthnKey: "Unknown Passkey"
passkeyVerificationFailed: "Passkey verification has failed."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "Passkey verification has succeeded but password-less login is disabled."
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"
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."
thisContentsAreMarkedAsSigninRequiredByAuthor: "Set by the author to require login to view"
lockdown: "Lockdown"
pleaseSelectAccount: "Select an account"
_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."
requireSigninToViewContentsDescription2: "Content will not be displayed in URL previews (OGP), embedded in web pages, or on servers that don't support note quotes."
requireSigninToViewContentsDescription3: "These restrictions may not apply to federated content from other remote servers."
makeNotesFollowersOnlyBefore: "Make past notes to be displayed only to followers"
makeNotesFollowersOnlyBeforeDescription: "While this feature is enabled, only followers can see notes past the set date and time or have been visible for a set time. When it is deactivated, the note publication status will also be restored."
makeNotesHiddenBefore: "Make past notes private"
makeNotesHiddenBeforeDescription: "While this feature is enabled, notes that are past the set date and time or have been visible only to you. When it is deactivated, the note publication status will also be restored."
mayNotEffectForFederatedNotes: "Notes federated to a remote server may not be effective."
notesHavePassedSpecifiedPeriod: "Note that the specified time has passed"
notesOlderThanSpecifiedDateAndTime: "Notes before the specified date and time"
_abuseUserReport:
forward: "Forward"
forwardDescription: "Forward the report to a remote server as an anonymous system account."
resolve: "Resolve"
accept: "Accept"
reject: "Reject"
resolveTutorial: "If the report is legitimate in content, select \"Accept\" to mark the case as resolved in the affirmative.\nIf the content of the report is not legitimate, select \"Reject\" to mark the case as resolved in the negative."
_delivery:
status: "Delivery status"
stop: "Suspended"
resume: "Delivery resume"
_type:
none: "Publishing"
manuallySuspended: "Manually suspended"
goneSuspended: "Server is suspended due to server deletion"
autoSuspendedForNotResponding: "Server is suspended due to no responding"
_bubbleGame:
howToPlay: "How to play"
hold: "Hold"
_score:
score: "Score"
scoreYen: "Amount of money earned"
highScore: "High score"
maxChain: "Maximum number of chains"
yen: "{yen} Yen"
estimatedQty: "{qty} Pieces"
scoreSweets: "{onigiriQtyWithUnit} Onigiri"
_howToPlay:
section1: "Adjust the position and drop the object into the box."
section2: "When two objects of the same type touch each other, they will change into a different object and you score points."
section3: "The game is over when objects overflow from the box. Aim for a high score by fusing objects together while you avoid overflowing the box!"
_announcement: _announcement:
forExistingUsers: "Existing users only" forExistingUsers: "Existing users only"
forExistingUsersDescription: "This announcement will only be shown to users existing at the point of publishment if enabled. If disabled, those newly signing up after it has been posted will also see it." forExistingUsersDescription: "This announcement will only be shown to users existing at the point of publishment if enabled. If disabled, those newly signing up after it has been posted will also see it."
@ -1182,7 +1350,7 @@ _announcement:
tooManyActiveAnnouncementDescription: "Having too many active announcements may worsen the user experience. Please consider archiving announcements that have become obsolete." tooManyActiveAnnouncementDescription: "Having too many active announcements may worsen the user experience. Please consider archiving announcements that have become obsolete."
readConfirmTitle: "Mark as read?" readConfirmTitle: "Mark as read?"
readConfirmText: "This will mark the contents of \"{title}\" as read." readConfirmText: "This will mark the contents of \"{title}\" as read."
shouldNotBeUsedToPresentPermanentInfo: "As it may significantly impact the user experience for new users, it is recommended to use notifications in the flow information rather than stock information." shouldNotBeUsedToPresentPermanentInfo: "It's best to use announcements to publish fresh and time-bound information, not for information that will be relevant in the long term."
dialogAnnouncementUxWarn: "Having two or more dialog-style notifications simultaneously can significantly impact the user experience, so please use them carefully." dialogAnnouncementUxWarn: "Having two or more dialog-style notifications simultaneously can significantly impact the user experience, so please use them carefully."
silence: "No notification" silence: "No notification"
silenceDescription: "Turning this on will skip the notification of this announcement and the user won't need to read it." silenceDescription: "Turning this on will skip the notification of this announcement and the user won't need to read it."
@ -1251,7 +1419,7 @@ _initialTutorial:
_exampleNote: _exampleNote:
cw: "This will surely make you hungry!" cw: "This will surely make you hungry!"
note: "Just had a chocolate-glazed donut 🍩😋" note: "Just had a chocolate-glazed donut 🍩😋"
useCases: "This is used when following the server guidelines for necessary notes or for self-restriction of spoiler or sensitive text." useCases: "This is used when following the server guidelines, for necessary notes, or for self-restriction of spoiler or sensitive text."
_howToMakeAttachmentsSensitive: _howToMakeAttachmentsSensitive:
title: "How to Mark Attachments as Sensitive?" title: "How to Mark Attachments as Sensitive?"
description: "For attachments that are required by server guidelines or that should not be left intact, add a \"sensitive\" flag." description: "For attachments that are required by server guidelines or that should not be left intact, add a \"sensitive\" flag."
@ -1283,6 +1451,10 @@ _serverSettings:
fanoutTimelineDescription: "Greatly increases performance of timeline retrieval and reduces load on the database when enabled. In exchange, memory usage of Redis will increase. Consider disabling this in case of low server memory or server instability." fanoutTimelineDescription: "Greatly increases performance of timeline retrieval and reduces load on the database when enabled. In exchange, memory usage of Redis will increase. Consider disabling this in case of low server memory or server instability."
fanoutTimelineDbFallback: "Fallback to database" 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." 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."
inquiryUrl: "Inquiry URL"
inquiryUrlDescription: "Specify a URL for the inquiry form to the server maintainer or a web page for the contact information."
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "If no moderator activity is detected for a while, this setting will be automatically turned off to prevent spam."
_accountMigration: _accountMigration:
moveFrom: "Migrate another account to this one" moveFrom: "Migrate another account to this one"
moveFromSub: "Create alias to another account" moveFromSub: "Create alias to another account"
@ -1543,6 +1715,13 @@ _achievements:
_tutorialCompleted: _tutorialCompleted:
title: "Misskey Elementary Course Diploma" title: "Misskey Elementary Course Diploma"
description: "Tutorial completed" description: "Tutorial completed"
_bubbleGameExplodingHead:
title: "🤯"
description: "The biggest object in the bubble game"
_bubbleGameDoubleExplodingHead:
title: "Double🤯"
description: "Two of the biggest objects in the bubble game at the same time"
flavor: "You can fill a lunch box like this 🤯 🤯 a bit."
_role: _role:
new: "New role" new: "New role"
edit: "Edit role" edit: "Edit role"
@ -1583,6 +1762,7 @@ _role:
gtlAvailable: "Can view the global timeline" gtlAvailable: "Can view the global timeline"
ltlAvailable: "Can view the local timeline" ltlAvailable: "Can view the local timeline"
canPublicNote: "Can send public notes" canPublicNote: "Can send public notes"
mentionMax: "Maximum number of mentions in a note"
canInvite: "Can create instance invite codes" canInvite: "Can create instance invite codes"
inviteLimit: "Invite limit" inviteLimit: "Invite limit"
inviteLimitCycle: "Invite limit cooldown" inviteLimitCycle: "Invite limit cooldown"
@ -1591,6 +1771,7 @@ _role:
canManageAvatarDecorations: "Manage avatar decorations" canManageAvatarDecorations: "Manage avatar decorations"
driveCapacity: "Drive capacity" driveCapacity: "Drive capacity"
alwaysMarkNsfw: "Always mark files as NSFW" alwaysMarkNsfw: "Always mark files as NSFW"
canUpdateBioMedia: "Can edit an icon or a banner image"
pinMax: "Maximum number of pinned notes" pinMax: "Maximum number of pinned notes"
antennaMax: "Maximum number of antennas" antennaMax: "Maximum number of antennas"
wordMuteMax: "Maximum number of characters allowed in word mutes" wordMuteMax: "Maximum number of characters allowed in word mutes"
@ -1604,9 +1785,21 @@ _role:
canHideAds: "Can hide ads" canHideAds: "Can hide ads"
canSearchNotes: "Usage of note search" canSearchNotes: "Usage of note search"
canUseTranslator: "Translator usage" 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"
_condition: _condition:
roleAssignedTo: "Assigned to manual roles"
isLocal: "Local user" isLocal: "Local user"
isRemote: "Remote user" isRemote: "Remote user"
isCat: "Cat Users"
isBot: "Bot Users"
isSuspended: "Suspended user"
isLocked: "Private accounts"
isExplorable: "Effective user of \"make an account discoverable\""
createdLessThan: "Less than X has passed since account creation" createdLessThan: "Less than X has passed since account creation"
createdMoreThan: "More than X has passed since account creation" createdMoreThan: "More than X has passed since account creation"
followersLessThanOrEq: "Has X or fewer followers" followersLessThanOrEq: "Has X or fewer followers"
@ -1632,6 +1825,7 @@ _emailUnavailable:
disposable: "Disposable email addresses may not be used" disposable: "Disposable email addresses may not be used"
mx: "This email server is invalid" mx: "This email server is invalid"
smtp: "This email server is not responding" smtp: "This email server is not responding"
banned: "You cannot register with this email address"
_ffVisibility: _ffVisibility:
public: "Public" public: "Public"
followers: "Visible to followers only" followers: "Visible to followers only"
@ -1675,6 +1869,7 @@ _plugin:
installWarn: "Please do not install untrustworthy plugins." installWarn: "Please do not install untrustworthy plugins."
manage: "Manage plugins" manage: "Manage plugins"
viewSource: "View source" viewSource: "View source"
viewLog: "Show log"
_preferencesBackups: _preferencesBackups:
list: "Created backups" list: "Created backups"
saveNew: "Save new backup" saveNew: "Save new backup"
@ -1704,6 +1899,8 @@ _aboutMisskey:
contributors: "Main contributors" contributors: "Main contributors"
allContributors: "All contributors" allContributors: "All contributors"
source: "Source code" source: "Source code"
original: "Original"
thisIsModifiedVersion: "{name} uses a modified version of the original Misskey."
translation: "Translate Misskey" translation: "Translate Misskey"
donate: "Donate to Misskey" donate: "Donate to Misskey"
morePatrons: "We also appreciate the support of many other helpers not listed here. Thank you! 🥰" morePatrons: "We also appreciate the support of many other helpers not listed here. Thank you! 🥰"
@ -1811,7 +2008,6 @@ _theme:
buttonBg: "Button background" buttonBg: "Button background"
buttonHoverBg: "Button background (Hover)" buttonHoverBg: "Button background (Hover)"
inputBorder: "Input field border" inputBorder: "Input field border"
listItemHoverBg: "List item background (Hover)"
driveFolderBg: "Drive folder background" driveFolderBg: "Drive folder background"
wallpaperOverlay: "Wallpaper overlay" wallpaperOverlay: "Wallpaper overlay"
badge: "Badge" badge: "Badge"
@ -1823,8 +2019,6 @@ _sfx:
note: "New note" note: "New note"
noteMy: "Own note" noteMy: "Own note"
notification: "Notifications" notification: "Notifications"
antenna: "Antennas"
channel: "Channel notifications"
reaction: "On choosing a reaction" reaction: "On choosing a reaction"
_soundSettings: _soundSettings:
driveFile: "Use an audio file in Drive." driveFile: "Use an audio file in Drive."
@ -1833,6 +2027,7 @@ _soundSettings:
driveFileTypeWarnDescription: "Select an audio file" driveFileTypeWarnDescription: "Select an audio file"
driveFileDurationWarn: "The audio is too long." driveFileDurationWarn: "The audio is too long."
driveFileDurationWarnDescription: "Long audio may disrupt using Misskey. Still continue?" driveFileDurationWarnDescription: "Long audio may disrupt using Misskey. Still continue?"
driveFileError: "It couldn't load the sound. Please change the setting."
_ago: _ago:
future: "Future" future: "Future"
justNow: "Just now" justNow: "Just now"
@ -1862,7 +2057,6 @@ _2fa:
registerTOTP: "Register authenticator app" registerTOTP: "Register authenticator app"
step1: "First, install an authentication app (such as {a} or {b}) on your device." step1: "First, install an authentication app (such as {a} or {b}) on your device."
step2: "Then, scan the QR code displayed on this screen." step2: "Then, scan the QR code displayed on this screen."
step2Click: "Clicking on this QR code will allow you to register 2FA to your security key or phone authenticator app."
step2Uri: "Enter the following URI if you are using a desktop program" step2Uri: "Enter the following URI if you are using a desktop program"
step3Title: "Enter an authentication code" step3Title: "Enter an authentication code"
step3: "Enter the authentication code (token) provided by your app to finish setup." step3: "Enter the authentication code (token) provided by your app to finish setup."
@ -1886,6 +2080,7 @@ _2fa:
backupCodesDescription: "You can use these codes to gain access to your account in case of becoming unable to use your two-factor authentificator app. Each can only be used once. Please keep them in a safe place." backupCodesDescription: "You can use these codes to gain access to your account in case of becoming unable to use your two-factor authentificator app. Each can only be used once. Please keep them in a safe place."
backupCodeUsedWarning: "A backup code has been used. Please reconfigure two-factor authentification as soon as possible if you are no longer able to use it." backupCodeUsedWarning: "A backup code has been used. Please reconfigure two-factor authentification as soon as possible if you are no longer able to use it."
backupCodesExhaustedWarning: "All backup codes have been used. Should you lose access to your two-factor authentification app, you will be unable to access this account. Please reconfigure two-factor authentification." backupCodesExhaustedWarning: "All backup codes have been used. Should you lose access to your two-factor authentification app, you will be unable to access this account. Please reconfigure two-factor authentification."
moreDetailedGuideHere: "Here is detailed guide"
_permissions: _permissions:
"read:account": "View your account information" "read:account": "View your account information"
"write:account": "Edit your account information" "write:account": "Edit your account information"
@ -1923,6 +2118,54 @@ _permissions:
"write:flash": "Edit Plays" "write:flash": "Edit Plays"
"read:flash-likes": "View list of liked Plays" "read:flash-likes": "View list of liked Plays"
"write:flash-likes": "Edit list of liked Plays" "write:flash-likes": "Edit list of liked Plays"
"read:admin:abuse-user-reports": "View user reports"
"write:admin:delete-account": "Delete user account"
"write:admin:delete-all-files-of-a-user": "Delete all files of a user"
"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"
"write:admin:reset-password": "Reset user password"
"write:admin:resolve-abuse-user-report": "Resolve user report"
"write:admin:send-email": "Send email"
"read:admin:server-info": "View server info"
"read:admin:show-moderation-log": "View moderation log"
"read:admin:show-user": "View private user info"
"write:admin:suspend-user": "Suspend user"
"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:user-note": "Manage moderation note"
"write:admin:roles": "Manage roles"
"read:admin:roles": "View roles"
"write:admin:relays": "Manage relays"
"read:admin:relays": "View relays"
"write:admin:invite-codes": "Manage invite codes"
"read:admin:invite-codes": "View invite codes"
"write:admin:announcements": "Manage announcements"
"read:admin:announcements": "View announcements"
"write:admin:avatar-decorations": "Can manage avatar decorations"
"read:admin:avatar-decorations": "View avatar decorations"
"write:admin:federation": "Manage federation data"
"write:admin:account": "Manage user account"
"read:admin:account": "View user account"
"write:admin:emoji": "Manage emoji"
"read:admin:emoji": "View emoji"
"write:admin:queue": "Manage job queue"
"read:admin:queue": "View job queue info"
"write:admin:promo": "Manage promotion notes"
"write:admin:drive": "Manage user drive"
"read:admin:drive": "View user drive info"
"read:admin:stream": "Use WebSocket API for Admin"
"write:admin:ad": "Manage ads"
"read:admin:ad": "View ads"
"write:invite-codes": "Create invite codes"
"read:invite-codes": "Get invite codes"
"write:clip-favorite": "Manage favorited clips"
"read:clip-favorite": "View favorited clips"
"read:federation": "Get federation data"
"write:report-abuse": "Report violation"
_auth: _auth:
shareAccessTitle: "Granting application permissions" shareAccessTitle: "Granting application permissions"
shareAccess: "Would you like to authorize \"{name}\" to access this account?" shareAccess: "Would you like to authorize \"{name}\" to access this account?"
@ -1931,8 +2174,11 @@ _auth:
permissionAsk: "This application requests the following permissions" permissionAsk: "This application requests the following permissions"
pleaseGoBack: "Please go back to the application" pleaseGoBack: "Please go back to the application"
callback: "Returning to the application" callback: "Returning to the application"
accepted: "Access granted"
denied: "Access denied" denied: "Access denied"
scopeUser: "Operate as the following user"
pleaseLogin: "Please log in to authorize applications." pleaseLogin: "Please log in to authorize applications."
byClickingYouWillBeRedirectedToThisUrl: "When access is granted, you will automatically be redirected to the following URL"
_antennaSources: _antennaSources:
all: "All notes" all: "All notes"
homeTimeline: "Notes from followed users" homeTimeline: "Notes from followed users"
@ -2040,9 +2286,14 @@ _profile:
changeAvatar: "Change avatar" changeAvatar: "Change avatar"
changeBanner: "Change banner" changeBanner: "Change banner"
verifiedLinkDescription: "By entering an URL that contains a link to your profile here, an ownership verification icon can be displayed next to the field." verifiedLinkDescription: "By entering an URL that contains a link to your profile here, an ownership verification icon can be displayed next to the field."
avatarDecorationMax: "You can add up to {max} decorations."
followedMessage: "Message when you are followed"
followedMessageDescription: "You can set a short message to be displayed to the recipient when they follow you."
followedMessageDescriptionForLockedAccount: "If you have set up that follow requests require approval, this will be displayed when you grant a follow request."
_exportOrImport: _exportOrImport:
allNotes: "All notes" allNotes: "All notes"
favoritedNotes: "Favorite notes" favoritedNotes: "Favorite notes"
clips: "Clip"
followingList: "Followed users" followingList: "Followed users"
muteList: "Muted users" muteList: "Muted users"
blockingList: "Blocked users" blockingList: "Blocked users"
@ -2096,6 +2347,7 @@ _play:
title: "Title" title: "Title"
script: "Script" script: "Script"
summary: "Description" summary: "Description"
visibilityDescription: "Putting it private means it won't be visible on your profile, but anyone that has the URL can still access it."
_pages: _pages:
newPage: "Create a new Page" newPage: "Create a new Page"
editPage: "Edit this Page" editPage: "Edit this Page"
@ -2130,6 +2382,7 @@ _pages:
eyeCatchingImageSet: "Set thumbnail" eyeCatchingImageSet: "Set thumbnail"
eyeCatchingImageRemove: "Delete thumbnail" eyeCatchingImageRemove: "Delete thumbnail"
chooseBlock: "Add a block" chooseBlock: "Add a block"
enterSectionTitle: "Enter a section title"
selectType: "Select a type" selectType: "Select a type"
contentBlocks: "Content" contentBlocks: "Content"
inputBlocks: "Input" inputBlocks: "Input"
@ -2140,6 +2393,8 @@ _pages:
section: "Section" section: "Section"
image: "Images" image: "Images"
button: "Button" button: "Button"
dynamic: "Dynamic Blocks"
dynamicDescription: "This block has been abolished. Please use {play} from now on."
note: "Embedded note" note: "Embedded note"
_note: _note:
id: "Note ID" id: "Note ID"
@ -2169,8 +2424,12 @@ _notification:
sendTestNotification: "Send test notification" sendTestNotification: "Send test notification"
notificationWillBeDisplayedLikeThis: "Notifications look like this" notificationWillBeDisplayedLikeThis: "Notifications look like this"
reactedBySomeUsers: "{n} users reacted" reactedBySomeUsers: "{n} users reacted"
likedBySomeUsers: "{n} users liked your note"
renotedBySomeUsers: "Renote from {n} users" renotedBySomeUsers: "Renote from {n} users"
followedBySomeUsers: "Followed by {n} users" followedBySomeUsers: "Followed by {n} users"
flushNotification: "Clear notifications"
exportOfXCompleted: "Export of {x} has been completed"
login: "Someone logged in"
_types: _types:
all: "All" all: "All"
note: "New notes" note: "New notes"
@ -2185,6 +2444,9 @@ _notification:
followRequestAccepted: "Accepted follow requests" followRequestAccepted: "Accepted follow requests"
roleAssigned: "Role given" roleAssigned: "Role given"
achievementEarned: "Achievement unlocked" achievementEarned: "Achievement unlocked"
exportCompleted: "The export has been completed"
login: "Sign In"
test: "Notification test"
app: "Notifications from linked apps" app: "Notifications from linked apps"
_actions: _actions:
followBack: "followed you back" followBack: "followed you back"
@ -2194,6 +2456,7 @@ _deck:
alwaysShowMainColumn: "Always show main column" alwaysShowMainColumn: "Always show main column"
columnAlign: "Align columns" columnAlign: "Align columns"
addColumn: "Add column" addColumn: "Add column"
newNoteNotificationSettings: "Notification setting for new notes"
configureColumn: "Column settings" configureColumn: "Column settings"
swapLeft: "Swap with the left column" swapLeft: "Swap with the left column"
swapRight: "Swap with the right column" swapRight: "Swap with the right column"
@ -2232,9 +2495,10 @@ _drivecleaner:
orderByCreatedAtAsc: "Ascending Dates" orderByCreatedAtAsc: "Ascending Dates"
_webhookSettings: _webhookSettings:
createWebhook: "Create Webhook" createWebhook: "Create Webhook"
modifyWebhook: "Modify Webhook"
name: "Name" name: "Name"
secret: "Secret" secret: "Secret"
events: "Webhook Events" trigger: "Trigger"
active: "Enabled" active: "Enabled"
_events: _events:
follow: "When following a user" follow: "When following a user"
@ -2244,6 +2508,29 @@ _webhookSettings:
renote: "When renoted" renote: "When renoted"
reaction: "When receiving a reaction" reaction: "When receiving a reaction"
mention: "When being mentioned" mention: "When being mentioned"
_systemEvents:
abuseReport: "When received a new report"
abuseReportResolved: "When resolved report"
userCreated: "When user is created"
inactiveModeratorsWarning: "When moderators have been inactive for a while"
inactiveModeratorsInvitationOnlyChanged: "When a moderator has been inactive for a while, and the server is changed to invitation-only"
deleteConfirm: "Are you sure you want to delete the Webhook?"
testRemarks: "Click the button to the right of the switch to send a test Webhook with dummy data."
_abuseReport:
_notificationRecipient:
createRecipient: "Add a recipient for reports"
modifyRecipient: "Edit a recipient for reports"
recipientType: "Notification type"
_recipientType:
mail: "Email"
webhook: "Webhook"
_captions:
mail: "Send the email to moderators' email addresses when you receive reports."
webhook: "Send a notification to System Webhook when you receive or resolve reports."
keywords: "Keywords"
notifiedUser: "Users to notify"
notifiedWebhook: "Webhook to use"
deleteConfirm: "Are you sure that you want to delete the notification recipient?"
_moderationLogTypes: _moderationLogTypes:
createRole: "Role created" createRole: "Role created"
deleteRole: "Role deleted" deleteRole: "Role deleted"
@ -2268,9 +2555,12 @@ _moderationLogTypes:
resetPassword: "Password reset" resetPassword: "Password reset"
suspendRemoteInstance: "Remote instance suspended" suspendRemoteInstance: "Remote instance suspended"
unsuspendRemoteInstance: "Remote instance unsuspended" unsuspendRemoteInstance: "Remote instance unsuspended"
updateRemoteInstanceNote: "Moderation note updated for remote instance."
markSensitiveDriveFile: "File marked as sensitive" markSensitiveDriveFile: "File marked as sensitive"
unmarkSensitiveDriveFile: "File unmarked as sensitive" unmarkSensitiveDriveFile: "File unmarked as sensitive"
resolveAbuseReport: "Report resolved" resolveAbuseReport: "Report resolved"
forwardAbuseReport: "Report forwarded"
updateAbuseReportNote: "Moderation note of a report updated"
createInvitation: "Invite generated" createInvitation: "Invite generated"
createAd: "Ad created" createAd: "Ad created"
deleteAd: "Ad deleted" deleteAd: "Ad deleted"
@ -2278,8 +2568,18 @@ _moderationLogTypes:
createAvatarDecoration: "Avatar decoration created" createAvatarDecoration: "Avatar decoration created"
updateAvatarDecoration: "Avatar decoration updated" updateAvatarDecoration: "Avatar decoration updated"
deleteAvatarDecoration: "Avatar decoration deleted" deleteAvatarDecoration: "Avatar decoration deleted"
unsetUserAvatar: "Unset this user's avatar" unsetUserAvatar: "User avatar unset"
unsetUserBanner: "Unset this user's banner" unsetUserBanner: "User banner unset"
createSystemWebhook: "System Webhook created"
updateSystemWebhook: "System Webhook updated"
deleteSystemWebhook: "System Webhook deleted"
createAbuseReportNotificationRecipient: "Recipient for reports created"
updateAbuseReportNotificationRecipient: "Recipient for reports updated"
deleteAbuseReportNotificationRecipient: "Recipient for reports deleted"
deleteAccount: "Account deleted"
deletePage: "Page deleted"
deleteFlash: "Play deleted"
deleteGalleryPost: "Gallery post deleted"
_fileViewer: _fileViewer:
title: "File details" title: "File details"
type: "File type" type: "File type"
@ -2332,11 +2632,101 @@ _externalResourceInstaller:
_dataSaver: _dataSaver:
_media: _media:
title: "Loading Media" title: "Loading Media"
description: "Prevents images/videos from being loaded automatically. Hidden images/videos will be loaded when tapped."
_avatar: _avatar:
title: "Avatar image" title: "Avatar image"
description: "Stop avatar image animation. Animated images can be larger in file size than normal images, potentially leading to further reductions in data traffic." description: "Stop avatar image animation. Animated images can be larger in file size than normal images, potentially leading to further reductions in data traffic."
_urlPreview: _urlPreview:
title: "URL preview thumbnails" title: "URL preview thumbnails"
description: "URL preview thumbnail images will no longer be loaded."
_code: _code:
title: "Code highlighting" title: "Code highlighting"
description: "If code highlighting notations are used in MFM, etc., they will not load until tapped. Syntax highlighting requires downloading the highlight definition files for each programming language. Therefore, disabling the automatic loading of these files is expected to reduce the amount of communication data." description: "If code highlighting notations are used in MFM, etc., they will not load until tapped. Syntax highlighting requires downloading the highlight definition files for each programming language. Therefore, disabling the automatic loading of these files is expected to reduce the amount of communication data."
_hemisphere:
N: "Northern Hemisphere"
S: "Southern Hemisphere"
caption: "Used in some client settings to determine season."
_reversi:
reversi: "Reversi"
gameSettings: "Game settings"
chooseBoard: "Choose a board"
blackOrWhite: "Black/White"
blackIs: "{name} is playing Black"
rules: "Rules"
thisGameIsStartedSoon: "The game will begin shortly"
waitingForOther: "Waiting for opponent's turn"
waitingForMe: "Waiting for your turn"
waitingBoth: "Get ready"
ready: "Ready"
cancelReady: "Not ready"
opponentTurn: "Opponent's turn"
myTurn: "Your turn"
turnOf: "It's {name}'s turn"
pastTurnOf: "{name}'s turn"
surrender: "Surrender"
surrendered: "Surrendered"
timeout: "Out of time"
drawn: "Draw"
won: "{name} wins"
black: "Black"
white: "White"
total: "Total"
turnCount: "Turn {count}"
myGames: "My rounds"
allGames: "All rounds"
ended: "Ended"
playing: "Currently playing"
isLlotheo: "The one with fewer stones wins (Llotheo)"
loopedMap: "Looping map"
canPutEverywhere: "Tiles are placeable everywhere"
timeLimitForEachTurn: "Time limit for turn"
freeMatch: "Free Match"
lookingForPlayer: "Finding opponent..."
gameCanceled: "The game has been cancelled."
shareToTlTheGameWhenStart: "Share Game to timeline when started"
iStartedAGame: "The game has begun! #MisskeyReversi"
opponentHasSettingsChanged: "The opponent has changed their settings."
allowIrregularRules: "Irregular rules (completely free)"
disallowIrregularRules: "No irregular rules"
showBoardLabels: "Display row and column numbering on the board"
useAvatarAsStone: "Turn stones into user avatars"
_offlineScreen:
title: "Offline - cannot connect to the server"
header: "Unable to connect to the server"
_urlPreviewSetting:
title: "URL preview settings"
enable: "Enable URL preview"
timeout: "Time out when getting preview (ms)"
timeoutDescription: "If it takes longer than this value to get the preview, the preview wont be generated."
maximumContentLength: "Maximum Content-Length (bytes)"
maximumContentLengthDescription: "If Content-Length is higher than this value, the preview won't be generated."
requireContentLength: "Generate the preview only if you could get Content-Length"
requireContentLengthDescription: "If other server doesn't return Content-Length, the preview won't be generated."
userAgent: "User-Agent"
userAgentDescription: "Sets the User-Agent to be used when retrieving previews. If left blank, the default User-Agent will be used."
summaryProxy: "Proxy endpoints that generate previews"
summaryProxyDescription: "Not Misskey itself, but generate previews using Summaly Proxy."
summaryProxyDescription2: "The following parameters are linked to the proxy as a query string. If the proxy does not support them, the values are ignored."
_mediaControls:
pip: "Picture in Picture"
playbackRate: "Playback Speed"
loop: "Loop playback"
_contextMenu:
title: "Context menu"
app: "Application"
appWithShift: "Application with shift key"
native: "Native"
_embedCodeGen:
title: "Customize embed code"
header: "Show header"
autoload: "Automatically load more (deprecated)"
maxHeight: "Max height"
maxHeightDescription: "Setting it to 0 disables the max height setting. Specify some value to prevent the widget from continuing to expand vertically."
maxHeightWarn: "The max height limit is disabled (0). If this was not intended, set the max height to some value."
previewIsNotActual: "The display differs from the actual embedding because it exceeds the range displayed on the preview screen."
rounded: "Make it rounded"
border: "Add a border to the outer frame"
applyToPreview: "Apply to the preview"
generateCode: "Generate embed code"
codeGenerated: "The code has been generated"
codeGeneratedDescription: "Paste the generated code into your website to embed the content."

View file

@ -8,10 +8,12 @@ search: "Buscar"
notifications: "Notificaciones" notifications: "Notificaciones"
username: "Nombre de usuario" username: "Nombre de usuario"
password: "Contraseña" password: "Contraseña"
initialPasswordForSetup: "Contraseña para iniciar la inicialización"
initialPasswordIsIncorrect: "La contraseña para iniciar la configuración inicial es incorrecta."
forgotPassword: "Olvidé mi contraseña" forgotPassword: "Olvidé mi contraseña"
fetchingAsApObject: "Buscando en el fediverso" fetchingAsApObject: "Buscando en el fediverso"
ok: "OK" ok: "OK"
gotIt: "Entendido" gotIt: "¡Lo tengo!"
cancel: "Cancelar" cancel: "Cancelar"
noThankYou: "No gracias" noThankYou: "No gracias"
enterUsername: "Introduce el nombre de usuario" enterUsername: "Introduce el nombre de usuario"
@ -60,6 +62,7 @@ copyFileId: "Copiar ID del archivo"
copyFolderId: "Copiar ID de carpeta" copyFolderId: "Copiar ID de carpeta"
copyProfileUrl: "Copiar la URL del perfil" copyProfileUrl: "Copiar la URL del perfil"
searchUser: "Buscar un usuario" searchUser: "Buscar un usuario"
searchThisUsersNotes: ""
reply: "Responder" reply: "Responder"
loadMore: "Ver más" loadMore: "Ver más"
showMore: "Ver más" showMore: "Ver más"
@ -108,11 +111,14 @@ enterEmoji: "Ingresar emojis"
renote: "Renotar" renote: "Renotar"
unrenote: "Quitar renota" unrenote: "Quitar renota"
renoted: "Renotado" renoted: "Renotado"
renotedToX: "{name} usuarios han renotado。"
cantRenote: "No se puede renotar este post" cantRenote: "No se puede renotar este post"
cantReRenote: "No se puede renotar una renota" cantReRenote: "No se puede renotar una renota"
quote: "Citar" quote: "Citar"
inChannelRenote: "Renota sólo del canal" inChannelRenote: "Renota sólo del canal"
inChannelQuote: "Cita sólo del canal" inChannelQuote: "Cita sólo del canal"
renoteToChannel: "Renotar a otro canal"
renoteToOtherChannel: "Renotar a otro canal"
pinnedNote: "Nota fijada" pinnedNote: "Nota fijada"
pinned: "Fijar al perfil" pinned: "Fijar al perfil"
you: "Tú" you: "Tú"
@ -130,6 +136,7 @@ overwriteFromPinnedEmojis: "Sobreescribir los emojis fijados"
reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir." reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
rememberNoteVisibility: "Recordar visibilidad" rememberNoteVisibility: "Recordar visibilidad"
attachCancel: "Quitar adjunto" attachCancel: "Quitar adjunto"
deleteFile: "Archivo eliminado"
markAsSensitive: "Marcar como sensible" markAsSensitive: "Marcar como sensible"
unmarkAsSensitive: "Desmarcar como sensible" unmarkAsSensitive: "Desmarcar como sensible"
enterFileName: "Ingrese el nombre del archivo" enterFileName: "Ingrese el nombre del archivo"
@ -150,6 +157,7 @@ editList: "Editar lista"
selectChannel: "Seleccionar canal" selectChannel: "Seleccionar canal"
selectAntenna: "Seleccionar antena" selectAntenna: "Seleccionar antena"
editAntenna: "Editar antena" editAntenna: "Editar antena"
createAntenna: "Crear una antena"
selectWidget: "Seleccionar widget" selectWidget: "Seleccionar widget"
editWidgets: "Editar widgets" editWidgets: "Editar widgets"
editWidgetsExit: "Terminar edición" editWidgetsExit: "Terminar edición"
@ -176,6 +184,10 @@ addAccount: "Agregar Cuenta"
reloadAccountsList: "Recargar lista de cuentas" reloadAccountsList: "Recargar lista de cuentas"
loginFailed: "Error al iniciar sesión." loginFailed: "Error al iniciar sesión."
showOnRemote: "Ver en una instancia remota" showOnRemote: "Ver en una instancia remota"
continueOnRemote: "Ver en una instancia remota"
chooseServerOnMisskeyHub: "Elegir un servidor en Misskey Hub"
specifyServerHost: "Especifica una instancia directamente"
inputHostName: "Introduzca el dominio"
general: "General" general: "General"
wallpaper: "Fondo de pantalla" wallpaper: "Fondo de pantalla"
setWallpaper: "Establecer fondo de pantalla" setWallpaper: "Establecer fondo de pantalla"
@ -234,7 +246,7 @@ done: "Terminado"
processing: "Procesando" processing: "Procesando"
preview: "Vista previa" preview: "Vista previa"
default: "Predeterminado" default: "Predeterminado"
defaultValueIs: "Predeterminado" defaultValueIs: "Por defecto: {value}"
noCustomEmojis: "No hay emojis personalizados" noCustomEmojis: "No hay emojis personalizados"
noJobs: "No hay trabajos" noJobs: "No hay trabajos"
federating: "Federando" federating: "Federando"
@ -301,7 +313,7 @@ location: "Lugar"
theme: "Tema" theme: "Tema"
themeForLightMode: "Tema para usar en Modo Linterna" themeForLightMode: "Tema para usar en Modo Linterna"
themeForDarkMode: "Tema para usar en Modo Oscuro" themeForDarkMode: "Tema para usar en Modo Oscuro"
light: "Linterna" light: "Claro"
dark: "Oscuro" dark: "Oscuro"
lightThemes: "Tema claro" lightThemes: "Tema claro"
darkThemes: "Tema oscuro" darkThemes: "Tema oscuro"
@ -379,6 +391,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Habilitar hCaptcha" enableHcaptcha: "Habilitar hCaptcha"
hcaptchaSiteKey: "Clave del sitio" hcaptchaSiteKey: "Clave del sitio"
hcaptchaSecretKey: "Clave secreta" hcaptchaSecretKey: "Clave secreta"
mcaptcha: "mCaptcha"
enableMcaptcha: "Activar mCaptcha"
mcaptchaSiteKey: "Clave del sitio"
mcaptchaSecretKey: "Clave secreta"
mcaptchaInstanceUrl: "URL del servidor mCaptcha"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "activar reCAPTCHA" enableRecaptcha: "activar reCAPTCHA"
recaptchaSiteKey: "Clave del sitio" recaptchaSiteKey: "Clave del sitio"
@ -394,6 +411,7 @@ name: "Nombre"
antennaSource: "Origen de la antena" antennaSource: "Origen de la antena"
antennaKeywords: "Palabras clave para recibir" antennaKeywords: "Palabras clave para recibir"
antennaExcludeKeywords: "Palabras clave para excluir" antennaExcludeKeywords: "Palabras clave para excluir"
antennaExcludeBots: "Excluir bots"
antennaKeywordsDescription: "Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR" antennaKeywordsDescription: "Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR"
notifyAntenna: "Notificar nueva nota" notifyAntenna: "Notificar nueva nota"
withFileAntenna: "Sólo notas con archivos adjuntados" withFileAntenna: "Sólo notas con archivos adjuntados"
@ -486,8 +504,10 @@ uiLanguage: "Idioma de visualización de la interfaz"
aboutX: "Acerca de {x}" aboutX: "Acerca de {x}"
emojiStyle: "Estilo de emoji" emojiStyle: "Estilo de emoji"
native: "Nativo" native: "Nativo"
disableDrawer: "No mostrar los menús en cajones" menuStyle: "Diseño del menú"
style: "Diseño"
showNoteActionsOnlyHover: "Mostrar acciones de la nota sólo al pasar el cursor" showNoteActionsOnlyHover: "Mostrar acciones de la nota sólo al pasar el cursor"
showReactionsCount: "Mostrar el número de reacciones en las notas"
noHistory: "No hay datos en el historial" noHistory: "No hay datos en el historial"
signinHistory: "Historial de ingresos" signinHistory: "Historial de ingresos"
enableAdvancedMfm: "Habilitar MFM avanzado" enableAdvancedMfm: "Habilitar MFM avanzado"
@ -626,6 +646,7 @@ medium: "Mediano"
small: "Pequeño" small: "Pequeño"
generateAccessToken: "Generar token de acceso" generateAccessToken: "Generar token de acceso"
permission: "Permisos" permission: "Permisos"
adminPermission: "Permiso de administrador"
enableAll: "Activar todo" enableAll: "Activar todo"
disableAll: "Desactivar todo" disableAll: "Desactivar todo"
tokenRequested: "Permiso de acceso a la cuenta" tokenRequested: "Permiso de acceso a la cuenta"
@ -669,6 +690,7 @@ useGlobalSettingDesc: "Al activarse, se usará la configuración de notificacion
other: "Otro" other: "Otro"
regenerateLoginToken: "Regenerar token de login" regenerateLoginToken: "Regenerar token de login"
regenerateLoginTokenDescription: "Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos." regenerateLoginTokenDescription: "Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
theKeywordWhenSearchingForCustomEmoji: "Palabra clave para buscar el emoji personalizado."
setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios." setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios."
fileIdOrUrl: "Id del archivo o URL" fileIdOrUrl: "Id del archivo o URL"
behavior: "Comportamiento" behavior: "Comportamiento"
@ -682,10 +704,7 @@ abuseReported: "Se ha enviado el reporte. Muchas gracias."
reporter: "Reportador" reporter: "Reportador"
reporteeOrigin: "Reportar a" reporteeOrigin: "Reportar a"
reporterOrigin: "Origen del reporte" reporterOrigin: "Origen del reporte"
forwardReport: "Transferir un informe a una instancia remota"
forwardReportIsAnonymous: "No puede ver su información de la instancia remota y aparecerá como una cuenta anónima del sistema"
send: "Enviar" send: "Enviar"
abuseMarkAsResolved: "Marcar reporte como resuelto"
openInNewTab: "Abrir en una Nueva Pestaña" openInNewTab: "Abrir en una Nueva Pestaña"
openInSideView: "Abrir en una vista al costado" openInSideView: "Abrir en una vista al costado"
defaultNavigationBehaviour: "Navegación por defecto" defaultNavigationBehaviour: "Navegación por defecto"
@ -910,6 +929,9 @@ oneHour: "1 hora"
oneDay: "1 día" oneDay: "1 día"
oneWeek: "1 semana" oneWeek: "1 semana"
oneMonth: "1 mes" oneMonth: "1 mes"
threeMonths: "Tres meses"
oneYear: "Un año"
threeDays: "Tres días"
reflectMayTakeTime: "Puede pasar un tiempo hasta que se reflejen los cambios" reflectMayTakeTime: "Puede pasar un tiempo hasta que se reflejen los cambios"
failedToFetchAccountInformation: "No se pudo obtener información de la cuenta" failedToFetchAccountInformation: "No se pudo obtener información de la cuenta"
rateLimitExceeded: "Se excedió el límite de peticiones" rateLimitExceeded: "Se excedió el límite de peticiones"
@ -983,6 +1005,7 @@ neverShow: "No mostrar de nuevo"
remindMeLater: "Recordar después" remindMeLater: "Recordar después"
didYouLikeMisskey: "¿Te gusta Misskey?" didYouLikeMisskey: "¿Te gusta Misskey?"
pleaseDonate: "{host} usa el software gratuito Misskey. Por favor ¡Considera donar al proyecto principal para que podamos continuar!" pleaseDonate: "{host} usa el software gratuito Misskey. Por favor ¡Considera donar al proyecto principal para que podamos continuar!"
correspondingSourceIsAvailable: "El código fuente correspondiente se encuentra disponible en {anchor}"
roles: "Roles" roles: "Roles"
role: "Rol" role: "Rol"
noRole: "Rol no encontrado" noRole: "Rol no encontrado"
@ -1033,6 +1056,9 @@ resetPasswordConfirm: "¿Realmente quieres cambiar la contraseña?"
sensitiveWords: "Palabras sensibles" sensitiveWords: "Palabras sensibles"
sensitiveWordsDescription: "La visibilidad de todas las notas que contienen cualquiera de las palabras configuradas serán puestas en \"Inicio\" automáticamente. Puedes enumerás varias separándolas con saltos de línea" sensitiveWordsDescription: "La visibilidad de todas las notas que contienen cualquiera de las palabras configuradas serán puestas en \"Inicio\" automáticamente. Puedes enumerás varias separándolas con saltos de línea"
sensitiveWordsDescription2: "Si se usan espacios se crearán expresiones AND y las palabras subsecuentes con barras inclinadas se convertirán en expresiones regulares." sensitiveWordsDescription2: "Si se usan espacios se crearán expresiones AND y las palabras subsecuentes con barras inclinadas se convertirán en expresiones regulares."
prohibitedWords: "Palabras explícitas"
prohibitedWordsDescription: "Activa un error cuando se intenta publicar una nota que contiene una o varias palabras prohibidas. Se pueden establecer varias palabras, una por línea."
prohibitedWordsDescription2: "Si se usan espacios se crearán expresiones AND y las palabras subsecuentes con barras inclinadas se convertirán en expresiones regulares."
hiddenTags: "Hashtags ocultos" hiddenTags: "Hashtags ocultos"
hiddenTagsDescription: "Selecciona las etiquetas que no se mostrarán en tendencias. Una etiqueta por línea." hiddenTagsDescription: "Selecciona las etiquetas que no se mostrarán en tendencias. Una etiqueta por línea."
notesSearchNotAvailable: "No se puede buscar una nota" notesSearchNotAvailable: "No se puede buscar una nota"
@ -1051,6 +1077,8 @@ limitWidthOfReaction: "Limitar ancho de las reacciones"
noteIdOrUrl: "ID o URL de la nota" noteIdOrUrl: "ID o URL de la nota"
video: "Video" video: "Video"
videos: "Video" videos: "Video"
audio: "Sonido"
audioFiles: "Sonido"
dataSaver: "Ahorro de datos" dataSaver: "Ahorro de datos"
accountMigration: "Migración de cuenta" accountMigration: "Migración de cuenta"
accountMoved: "Este usuario se movió a una nueva cuenta:" accountMoved: "Este usuario se movió a una nueva cuenta:"
@ -1078,6 +1106,8 @@ preservedUsernames: "Nombre de usuario reservado"
preservedUsernamesDescription: "La lista de nombres de usuario para reservar tienen que separarse con saltos de línea.\nEstos estarán indisponibles durante la creación de cuentas, pero pueden ser usados para que los administradores puedan crear esas cuentas manualmente. Las cuentas existentes con esos nombres de usuario no se verán afectadas." preservedUsernamesDescription: "La lista de nombres de usuario para reservar tienen que separarse con saltos de línea.\nEstos estarán indisponibles durante la creación de cuentas, pero pueden ser usados para que los administradores puedan crear esas cuentas manualmente. Las cuentas existentes con esos nombres de usuario no se verán afectadas."
createNoteFromTheFile: "Componer una nota desde éste archivo" createNoteFromTheFile: "Componer una nota desde éste archivo"
archive: "Archivo" archive: "Archivo"
archived: "Archivado"
unarchive: "Desarchivar"
channelArchiveConfirmTitle: "¿Seguro de archivar {name}?" channelArchiveConfirmTitle: "¿Seguro de archivar {name}?"
channelArchiveConfirmDescription: "Un canal archivado no aparecerá en la lista de canales ni en los resultados. Las nuevas publicaciones tampoco serán añadidas." channelArchiveConfirmDescription: "Un canal archivado no aparecerá en la lista de canales ni en los resultados. Las nuevas publicaciones tampoco serán añadidas."
thisChannelArchived: "El canal ha sido archivado." thisChannelArchived: "El canal ha sido archivado."
@ -1146,6 +1176,7 @@ showRenotes: "Mostrar renotas"
edited: "Editado" edited: "Editado"
notificationRecieveConfig: "Ajustes de Notificaciones" notificationRecieveConfig: "Ajustes de Notificaciones"
mutualFollow: "Os seguís mutuamente" mutualFollow: "Os seguís mutuamente"
followingOrFollower: "Siguiendo o seguidor"
fileAttachedOnly: "Solo notas con archivos" fileAttachedOnly: "Solo notas con archivos"
showRepliesToOthersInTimeline: "Mostrar respuestas a otros en la línea de tiempo" showRepliesToOthersInTimeline: "Mostrar respuestas a otros en la línea de tiempo"
hideRepliesToOthersInTimeline: "Ocultar respuestas a otros en la línea de tiempo" hideRepliesToOthersInTimeline: "Ocultar respuestas a otros en la línea de tiempo"
@ -1154,6 +1185,13 @@ hideRepliesToOthersInTimelineAll: "Ocultar tus respuestas a otros usuarios que s
confirmShowRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres mostrar tus respuestas a otros usuarios que sigues en tu línea de tiempo?" confirmShowRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres mostrar tus respuestas a otros usuarios que sigues en tu línea de tiempo?"
confirmHideRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres ocultar tus respuestas a otros usuarios que sigues en tu línea de tiempo?" confirmHideRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres ocultar tus respuestas a otros usuarios que sigues en tu línea de tiempo?"
externalServices: "Servicios Externos" externalServices: "Servicios Externos"
sourceCode: "Código fuente"
sourceCodeIsNotYetProvided: "El código fuente aún no está disponible. Contacta con el administrador para solucionarlo."
repositoryUrl: "URL del repositorio"
repositoryUrlDescription: "Si estás usando Misskey tal cual (sin cambios en el código fuente), entra en https://github.com/misskey-dev/misskey"
repositoryUrlOrTarballRequired: "Si no has publicado un repositorio aún, deberás publicar un tarball en su lugar. Mira el archivo .config/example.yml para más información."
feedback: "Comentarios"
feedbackUrl: "URL de comentarios"
impressum: "Impressum" impressum: "Impressum"
impressumUrl: "Impressum URL" impressumUrl: "Impressum URL"
impressumDescription: "En algunos países, como Alemania, la inclusión del operador de datos (el Impressum) es requerido legalmente para sitios web comerciales." impressumDescription: "En algunos países, como Alemania, la inclusión del operador de datos (el Impressum) es requerido legalmente para sitios web comerciales."
@ -1181,6 +1219,61 @@ remainingN: "Faltan: {n}"
overwriteContentConfirm: "¿Quieres sustituir todo el contenido actual?" overwriteContentConfirm: "¿Quieres sustituir todo el contenido actual?"
seasonalScreenEffect: "Efectos de pantalla asociados a estaciones" seasonalScreenEffect: "Efectos de pantalla asociados a estaciones"
decorate: "Decorar" decorate: "Decorar"
addMfmFunction: "Añadir función MFM"
enableQuickAddMfmFunction: "Activar acceso rápido para añadir funciones MFM"
bubbleGame: "Bubble Game"
sfx: "Efectos de sonido"
soundWillBePlayed: "Se reproducirán efectos sonoros"
showReplay: "Ver reproducción"
replay: "Reproducir"
replaying: "Reproduciendo"
endReplay: "Terminar reproducción"
copyReplayData: "Copiar datos de reproducción"
ranking: "Clasificación"
lastNDays: "Últimos {n} días"
backToTitle: "Regresar al inicio"
hemisphere: "Región"
withSensitive: "Mostrar notas que contengan material sensible"
userSaysSomethingSensitive: "La publicación de {name} contiene material sensible"
enableHorizontalSwipe: "Deslice para cambiar de pestaña"
loading: "Cargando"
surrender: "detener"
gameRetry: "Reintentar"
notUsePleaseLeaveBlank: "Dejar en blanco si no se usa"
useTotp: "Introduce la contraseña de un solo uso"
useBackupCode: "Usar códigos de respaldo"
launchApp: "Ejecutar la app"
useNativeUIForVideoAudioPlayer: "Usar la interfaz del navegador cuando se reproduce audio y vídeo"
keepOriginalFilename: "Mantener el nombre original del archivo"
noDescription: "No hay descripción"
alwaysConfirmFollow: "Confirmar siempre cuando se sigue a alguien"
inquiry: "Contacto"
tryAgain: "Por favor , inténtalo de nuevo"
performance: "Rendimiento"
unknownWebAuthnKey: "Esto no se ha registrado llave maestra."
messageToFollower: "Mensaje a seguidores"
_abuseUserReport:
accept: "Acepte"
reject: "repudio"
_delivery:
stop: "Suspendido"
_type:
none: "Publicando"
_bubbleGame:
howToPlay: "Cómo jugar"
hold: "Mantener"
_score:
score: "Puntos"
scoreYen: "Cantidad de dinero ganada"
highScore: "Puntuación más alta"
maxChain: "Número máximo de cadenas"
yen: "{yen} Yenes"
estimatedQty: "{qty} Piezas"
scoreSweets: "{onigiriQtyWithUnit} Onigiris"
_howToPlay:
section1: "Ajuste la posición y deje caer el objeto en la caja"
section2: "Cuando dos objetos del mismo tipo se tocan, cambian a otro tipo y consigues puntos"
section3: "El juego termina cuando la caja se desborda de objetos. ¡Intenta conseguir una puntuación alta al juntar objetos mientras evitas desbordar la caja!"
_announcement: _announcement:
forExistingUsers: "Solo para usuarios registrados" forExistingUsers: "Solo para usuarios registrados"
forExistingUsersDescription: "Este anuncio solo se mostrará a aquellos usuarios registrados en el momento de su publicación. Si se deshabilita esta opción, aquellos usuarios que se registren tras su publicación también lo verán." forExistingUsersDescription: "Este anuncio solo se mostrará a aquellos usuarios registrados en el momento de su publicación. Si se deshabilita esta opción, aquellos usuarios que se registren tras su publicación también lo verán."
@ -1294,7 +1387,7 @@ _serverSettings:
_accountMigration: _accountMigration:
moveFrom: "Trasladar de otra cuenta a ésta" moveFrom: "Trasladar de otra cuenta a ésta"
moveFromSub: "Crear un alias para otra cuenta." moveFromSub: "Crear un alias para otra cuenta."
moveFromLabel: "Cuenta desde la que se realiza el traslado:" moveFromLabel: "Cuenta desde la que se realiza el traslado #{n}"
moveFromDescription: "Si quieres transferir seguidores de otra cuenta a esta cuenta y trasladarlos, tendrás que crear un alias aquí. Asegúrate de crearlo antes de realizar el traslado. Introduce la cuenta desde la que estás moviendo los seguidores así: @person@instance.com" moveFromDescription: "Si quieres transferir seguidores de otra cuenta a esta cuenta y trasladarlos, tendrás que crear un alias aquí. Asegúrate de crearlo antes de realizar el traslado. Introduce la cuenta desde la que estás moviendo los seguidores así: @person@instance.com"
moveTo: "Mover esta cuenta a una nueva" moveTo: "Mover esta cuenta a una nueva"
moveToLabel: "Cuenta destino:" moveToLabel: "Cuenta destino:"
@ -1551,6 +1644,13 @@ _achievements:
_tutorialCompleted: _tutorialCompleted:
title: "Diploma del Curso Básico de Misskey" title: "Diploma del Curso Básico de Misskey"
description: "Tutorial completado" description: "Tutorial completado"
_bubbleGameExplodingHead:
title: "🤯"
description: "El objeto más grande en el juego de burbujas"
_bubbleGameDoubleExplodingHead:
title: "Doble 🤯"
description: "Dos de los objetos más grandes en el juego de burbujas al mismo tiempo"
flavor: "Puedes llenar el bento un poco de esta forma 🤯 🤯."
_role: _role:
new: "Crear rol" new: "Crear rol"
edit: "Editar rol" edit: "Editar rol"
@ -1591,6 +1691,7 @@ _role:
gtlAvailable: "Explorar la línea de tiempo global" gtlAvailable: "Explorar la línea de tiempo global"
ltlAvailable: "Explorar la línea de tiempo local" ltlAvailable: "Explorar la línea de tiempo local"
canPublicNote: "Permitir la publicación" canPublicNote: "Permitir la publicación"
mentionMax: "Número máximo de menciones en una nota"
canInvite: "Puede crear códigos de invitación" canInvite: "Puede crear códigos de invitación"
inviteLimit: "Límite de invitaciones" inviteLimit: "Límite de invitaciones"
inviteLimitCycle: "Enfriamiento del límite de invitaciones" inviteLimitCycle: "Enfriamiento del límite de invitaciones"
@ -1614,8 +1715,13 @@ _role:
canUseTranslator: "Uso de traductor" canUseTranslator: "Uso de traductor"
avatarDecorationLimit: "Número máximo de decoraciones de avatar" avatarDecorationLimit: "Número máximo de decoraciones de avatar"
_condition: _condition:
roleAssignedTo: "Asignado a roles manuales"
isLocal: "Usuario local" isLocal: "Usuario local"
isRemote: "Usuario remoto" isRemote: "Usuario remoto"
isCat: "Usuarios Gato"
isBot: "Usuarios Bot"
isSuspended: "Usuario suspendido"
isLocked: "Cuentas privadas"
createdLessThan: "Menos de X han pasado desde la creación de la cuenta" createdLessThan: "Menos de X han pasado desde la creación de la cuenta"
createdMoreThan: "Más de X han pasado desde la creación de la cuenta" createdMoreThan: "Más de X han pasado desde la creación de la cuenta"
followersLessThanOrEq: "Tiene X o menos seguidores" followersLessThanOrEq: "Tiene X o menos seguidores"
@ -1685,6 +1791,7 @@ _plugin:
installWarn: "Por favor no instale plugins que no son de confianza" installWarn: "Por favor no instale plugins que no son de confianza"
manage: "Gestionar plugins" manage: "Gestionar plugins"
viewSource: "Ver la fuente" viewSource: "Ver la fuente"
viewLog: "Ver log"
_preferencesBackups: _preferencesBackups:
list: "Respaldos creados" list: "Respaldos creados"
saveNew: "Guardar nuevo respaldo" saveNew: "Guardar nuevo respaldo"
@ -1714,6 +1821,8 @@ _aboutMisskey:
contributors: "Principales colaboradores" contributors: "Principales colaboradores"
allContributors: "Todos los colaboradores" allContributors: "Todos los colaboradores"
source: "Código fuente" source: "Código fuente"
original: "Original"
thisIsModifiedVersion: "{name} usa una versión modificada de Misskey."
translation: "Traducir Misskey" translation: "Traducir Misskey"
donate: "Donar a Misskey" donate: "Donar a Misskey"
morePatrons: "Muchas más personas nos apoyan. Muchas gracias🥰" morePatrons: "Muchas más personas nos apoyan. Muchas gracias🥰"
@ -1821,7 +1930,6 @@ _theme:
buttonBg: "Fondo de botón" buttonBg: "Fondo de botón"
buttonHoverBg: "Fondo de botón (hover)" buttonHoverBg: "Fondo de botón (hover)"
inputBorder: "Borde de los campos de entrada" inputBorder: "Borde de los campos de entrada"
listItemHoverBg: "Fondo de elemento de listas (hover)"
driveFolderBg: "Fondo de capeta del drive" driveFolderBg: "Fondo de capeta del drive"
wallpaperOverlay: "Transparencia del fondo de pantalla" wallpaperOverlay: "Transparencia del fondo de pantalla"
badge: "Medalla" badge: "Medalla"
@ -1833,8 +1941,6 @@ _sfx:
note: "Notas" note: "Notas"
noteMy: "Nota (a mí mismo)" noteMy: "Nota (a mí mismo)"
notification: "Notificaciones" notification: "Notificaciones"
antenna: "Antena receptora"
channel: "Notificaciones del canal"
reaction: "Al seleccionar una reacción" reaction: "Al seleccionar una reacción"
_soundSettings: _soundSettings:
driveFile: "Usar un archivo de audio en Drive" driveFile: "Usar un archivo de audio en Drive"
@ -1872,7 +1978,6 @@ _2fa:
registerTOTP: "Registrar aplicación autenticadora" registerTOTP: "Registrar aplicación autenticadora"
step1: "Primero, instale en su dispositivo la aplicación de autenticación {a} o {b} u otra." step1: "Primero, instale en su dispositivo la aplicación de autenticación {a} o {b} u otra."
step2: "Luego, escanee con la aplicación el código QR mostrado en pantalla." step2: "Luego, escanee con la aplicación el código QR mostrado en pantalla."
step2Click: "Clicking on this QR code will allow you to register 2FA to your security key or phone authenticator app.\nTocar este código QR te permitirá registrar la autenticación 2FA a tu llave de seguridad o aplicación autenticadora."
step2Uri: "Si usas una aplicación de escritorio, introduce en ella la siguiente URL." step2Uri: "Si usas una aplicación de escritorio, introduce en ella la siguiente URL."
step3Title: "Ingresa un código de autenticación" step3Title: "Ingresa un código de autenticación"
step3: "Para terminar, ingrese el token mostrado en la aplicación." step3: "Para terminar, ingrese el token mostrado en la aplicación."
@ -1896,6 +2001,7 @@ _2fa:
backupCodesDescription: "En caso de que no puedas usar tu aplicación de autenticación, podrás usar los códigos de respaldo que figuran abajo para acceder a tu cuenta. Asegúrate de guardar en lugar seguro los códigos de respaldo. Cada uno de los códigos de respaldo es de un solo uso." backupCodesDescription: "En caso de que no puedas usar tu aplicación de autenticación, podrás usar los códigos de respaldo que figuran abajo para acceder a tu cuenta. Asegúrate de guardar en lugar seguro los códigos de respaldo. Cada uno de los códigos de respaldo es de un solo uso."
backupCodeUsedWarning: "Has usado todos los códigos de respaldo. Si dejas de tener acceso a tu aplicación de autenticación, no podrás volver a iniciar sesión en tu cuenta. Por favor, reconfigura tu aplicación de autenticación lo antes posible." backupCodeUsedWarning: "Has usado todos los códigos de respaldo. Si dejas de tener acceso a tu aplicación de autenticación, no podrás volver a iniciar sesión en tu cuenta. Por favor, reconfigura tu aplicación de autenticación lo antes posible."
backupCodesExhaustedWarning: "Has usado todos los códigos de respaldo. Si dejas de tener acceso a tu aplicación de autenticación, no podrás volver a iniciar sesión en la cuenta que figura arriba. Por favor, reconfigura tu aplicación de autenticación lo antes posible." backupCodesExhaustedWarning: "Has usado todos los códigos de respaldo. Si dejas de tener acceso a tu aplicación de autenticación, no podrás volver a iniciar sesión en la cuenta que figura arriba. Por favor, reconfigura tu aplicación de autenticación lo antes posible."
moreDetailedGuideHere: "Guía detallada"
_permissions: _permissions:
"read:account": "Ver información de la cuenta" "read:account": "Ver información de la cuenta"
"write:account": "Editar información de la cuenta" "write:account": "Editar información de la cuenta"
@ -1933,6 +2039,54 @@ _permissions:
"write:flash": "Editar Plays" "write:flash": "Editar Plays"
"read:flash-likes": "Ver los Play que me gustan" "read:flash-likes": "Ver los Play que me gustan"
"write:flash-likes": "Editar lista de Play que me gustan" "write:flash-likes": "Editar lista de Play que me gustan"
"read:admin:abuse-user-reports": "Ver reportes de usuarios"
"write:admin:delete-account": "Eliminar cuentas de usuario"
"write:admin:delete-all-files-of-a-user": "Eliminar todos los archivos de un usuario"
"read:admin:index-stats": "Ver datos indexados"
"read:admin:table-stats": "Ver estadísticas de las tablas de la base de datos"
"read:admin:user-ips": "Ver dirección IP de usuario"
"read:admin:meta": "Ver metadatos de la instancia"
"write:admin:reset-password": "Restablecer contraseñas de usuario"
"write:admin:resolve-abuse-user-report": "Resolución de reportes de usuario"
"write:admin:send-email": "Enviar email"
"read:admin:server-info": "Ver información del servidor"
"read:admin:show-moderation-log": "Ver log de moderación"
"read:admin:show-user": "Ver información privada de usuario"
"write:admin:suspend-user": "Suspender cuentas de usuario"
"write:admin:unset-user-avatar": "Quitar avatares de usuario"
"write:admin:unset-user-banner": "Quitar banner de usuarios"
"write:admin:unsuspend-user": "Quitar suspensión de cuentas de usuario"
"write:admin:meta": "Edición de metadatos de la instancia"
"write:admin:user-note": "Moderación de notas"
"write:admin:roles": "Edición de roles de usuario"
"read:admin:roles": "Ver roles de usuario"
"write:admin:relays": "Edición de relays"
"read:admin:relays": "Ver relays"
"write:admin:invite-codes": "Edición de códigos de invitación"
"read:admin:invite-codes": "Ver códigos de invitación"
"write:admin:announcements": "Edición de anuncios"
"read:admin:announcements": "Ver anuncios"
"write:admin:avatar-decorations": "Edición de decoración de avatares"
"read:admin:avatar-decorations": "Ver decoraciones de avatar"
"write:admin:federation": "Edición de federación de instancias"
"write:admin:account": "Edición de cuentas de usuario"
"read:admin:account": "Ver cuentas de usuario"
"write:admin:emoji": "Edición de emojis"
"read:admin:emoji": "Ver emojis"
"write:admin:queue": "Edición de cola de tareas"
"read:admin:queue": "Ver cola de tareas"
"write:admin:promo": "Edición de promociones"
"write:admin:drive": "Edición de Drive de usuarios"
"read:admin:drive": "Ver Drive de usuarios"
"read:admin:stream": "Usar la API de Websocket para administradores"
"write:admin:ad": "Edición de anuncios"
"read:admin:ad": "Ver anuncios"
"write:invite-codes": "Crear códigos de invitación"
"read:invite-codes": "Ver códigos de invitación"
"write:clip-favorite": "Marcar me gusta en clips"
"read:clip-favorite": "Ver los clips que me gustan"
"read:federation": "Ver instancias federadas"
"write:report-abuse": "Crear reportes de usuario"
_auth: _auth:
shareAccessTitle: "Permisos de la aplicación" shareAccessTitle: "Permisos de la aplicación"
shareAccess: "¿Desea permitir el acceso a la cuenta \"{name}\"?" shareAccess: "¿Desea permitir el acceso a la cuenta \"{name}\"?"
@ -2054,6 +2208,7 @@ _profile:
_exportOrImport: _exportOrImport:
allNotes: "Todas las notas" allNotes: "Todas las notas"
favoritedNotes: "Notas favoritas" favoritedNotes: "Notas favoritas"
clips: "Clip"
followingList: "Siguiendo" followingList: "Siguiendo"
muteList: "Silenciados" muteList: "Silenciados"
blockingList: "Bloqueados" blockingList: "Bloqueados"
@ -2107,6 +2262,7 @@ _play:
title: "Título" title: "Título"
script: "Script" script: "Script"
summary: "Descripción" summary: "Descripción"
visibilityDescription: "Poniéndola como privada significa que no será visible en tu perfil, pero cualquiera que tenga la URL aún podrá acceder a ella."
_pages: _pages:
newPage: "Crear página" newPage: "Crear página"
editPage: "Editar página" editPage: "Editar página"
@ -2151,6 +2307,8 @@ _pages:
section: "Sección" section: "Sección"
image: "Imagen" image: "Imagen"
button: "Botón" button: "Botón"
dynamic: "Bloques Dinámicos"
dynamicDescription: "Los bloques dinámicos están obsoletos. A partir de ahora, utiliza {play} por favor."
note: "Nota embebida" note: "Nota embebida"
_note: _note:
id: "Id de la nota" id: "Id de la nota"
@ -2196,6 +2354,8 @@ _notification:
followRequestAccepted: "El seguimiento fue aceptado" followRequestAccepted: "El seguimiento fue aceptado"
roleAssigned: "Rol asignado" roleAssigned: "Rol asignado"
achievementEarned: "Logro desbloqueado" achievementEarned: "Logro desbloqueado"
login: "Iniciar sesión"
test: "Pruebas de nofiticaciones"
app: "Notificaciones desde aplicaciones" app: "Notificaciones desde aplicaciones"
_actions: _actions:
followBack: "Te sigue de vuelta" followBack: "Te sigue de vuelta"
@ -2245,7 +2405,6 @@ _webhookSettings:
createWebhook: "Crear Webhook" createWebhook: "Crear Webhook"
name: "Nombre" name: "Nombre"
secret: "Secreto" secret: "Secreto"
events: "Eventos de webhook"
active: "Activado" active: "Activado"
_events: _events:
follow: "Cuando se sigue a alguien" follow: "Cuando se sigue a alguien"
@ -2255,6 +2414,14 @@ _webhookSettings:
renote: "Cuando reciba un \"re-note\"" renote: "Cuando reciba un \"re-note\""
reaction: "Cuando se recibe una reacción" reaction: "Cuando se recibe una reacción"
mention: "Cuando hay una mención" mention: "Cuando hay una mención"
_systemEvents:
userCreated: "Cuando se crea el usuario."
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Correo"
webhook: "Webhook"
keywords: "Palabras Clave"
_moderationLogTypes: _moderationLogTypes:
createRole: "Rol creado" createRole: "Rol creado"
deleteRole: "Rol eliminado" deleteRole: "Rol eliminado"
@ -2353,3 +2520,19 @@ _dataSaver:
_code: _code:
title: "Resaltar código" title: "Resaltar código"
description: "Si se usa resaltado de código en MFM, etc., no se cargará hasta pulsar en ello. El resaltado de sintaxis requiere la descarga de archivos de definición para cada lenguaje de programación. Debido a esto, al deshabilitar la carga automática de estos archivos reducirás el consumo de datos." description: "Si se usa resaltado de código en MFM, etc., no se cargará hasta pulsar en ello. El resaltado de sintaxis requiere la descarga de archivos de definición para cada lenguaje de programación. Debido a esto, al deshabilitar la carga automática de estos archivos reducirás el consumo de datos."
_hemisphere:
N: "Hemisferio norte"
S: "Hemisferio sur"
_reversi:
reversi: "Reversi"
rules: "Reglas"
won: "{name} ha ganado"
total: "Total"
_urlPreviewSetting:
timeout: "Timeout de la carga de vista previa de las URLs (ms)"
maximumContentLength: "Content-Length Máximo (bytes)"
userAgent: "User-Agent"
_mediaControls:
pip: "Picture in Picture"
playbackRate: "Velocidad de reproducción"
loop: "Reproducción en bucle"

View file

@ -2,7 +2,7 @@
_lang_: "Français" _lang_: "Français"
headlineMisskey: "Réseau relié par des notes" headlineMisskey: "Réseau relié par des notes"
introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralisé, libre et ouvert.\nÉcrivez des « notes » et partagez ce qui se passe à linstant présent, autour de vous avec les autres 📡\nLa fonction « réactions », vous permet également dajouter une réaction rapide aux notes des autres utilisateur·rice·s 👍\nExplorons un nouveau monde 🚀" introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralisé, libre et ouvert.\nÉcrivez des « notes » et partagez ce qui se passe à linstant présent, autour de vous avec les autres 📡\nLa fonction « réactions », vous permet également dajouter une réaction rapide aux notes des autres utilisateur·rice·s 👍\nExplorons un nouveau monde 🚀"
poweredByMisskeyDescription: "{nom} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")." poweredByMisskeyDescription: "{name} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")."
monthAndDay: "{day}/{month}" monthAndDay: "{day}/{month}"
search: "Rechercher" search: "Rechercher"
notifications: "Notifications" notifications: "Notifications"
@ -129,7 +129,8 @@ overwriteFromPinnedEmojisForReaction: "Remplacer par les émojis épinglés pour
overwriteFromPinnedEmojis: "Remplacer par les émojis épinglés globalement" overwriteFromPinnedEmojis: "Remplacer par les émojis épinglés globalement"
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter." reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter."
rememberNoteVisibility: "Se souvenir de la visibilité des notes" rememberNoteVisibility: "Se souvenir de la visibilité des notes"
attachCancel: "Supprimer le fichier attaché" attachCancel: "Supprimer le fichier joint"
deleteFile: "Fichier supprimé"
markAsSensitive: "Marquer comme sensible" markAsSensitive: "Marquer comme sensible"
unmarkAsSensitive: "Supprimer le marquage comme sensible" unmarkAsSensitive: "Supprimer le marquage comme sensible"
enterFileName: "Entrer le nom du fichier" enterFileName: "Entrer le nom du fichier"
@ -168,7 +169,7 @@ cacheRemoteSensitiveFilesDescription: "Si vous désactivez ce paramètre, les fi
flagAsBot: "Ce compte est un robot" flagAsBot: "Ce compte est un robot"
flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot." flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot."
flagAsCat: "Ce compte est un chat" flagAsCat: "Ce compte est un chat"
flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte." flagAsCatDescription: "Miaou miaou miaou ?"
flagShowTimelineReplies: "Afficher les réponses dans le fil" flagShowTimelineReplies: "Afficher les réponses dans le fil"
flagShowTimelineRepliesDescription: "Affiche les réponses des utilisateurs aux notes des autres utilisateurs dans la timeline si cette option est activée." flagShowTimelineRepliesDescription: "Affiche les réponses des utilisateurs aux notes des autres utilisateurs dans la timeline si cette option est activée."
autoAcceptFollowed: "Accepter automatiquement les demandes dabonnement venant dutilisateur·rice·s que vous suivez" autoAcceptFollowed: "Accepter automatiquement les demandes dabonnement venant dutilisateur·rice·s que vous suivez"
@ -379,6 +380,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Activer hCaptcha" enableHcaptcha: "Activer hCaptcha"
hcaptchaSiteKey: "Clé du site" hcaptchaSiteKey: "Clé du site"
hcaptchaSecretKey: "Clé secrète" hcaptchaSecretKey: "Clé secrète"
mcaptcha: "mCaptcha"
enableMcaptcha: "Activer mCaptcha"
mcaptchaSiteKey: "Clé du site"
mcaptchaSecretKey: "Clé secrète"
mcaptchaInstanceUrl: "URL de l'instance de mCaptcha"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Activer reCAPTCHA" enableRecaptcha: "Activer reCAPTCHA"
recaptchaSiteKey: "Clé du site" recaptchaSiteKey: "Clé du site"
@ -394,9 +400,10 @@ name: "Nom"
antennaSource: "Source de lantenne" antennaSource: "Source de lantenne"
antennaKeywords: "Mots clés à recevoir" antennaKeywords: "Mots clés à recevoir"
antennaExcludeKeywords: "Mots clés à exclure" antennaExcludeKeywords: "Mots clés à exclure"
antennaExcludeBots: "Exclure les comptes robot"
antennaKeywordsDescription: "Séparer avec des espaces pour la condition AND. Séparer avec un saut de ligne pour une condition OR." antennaKeywordsDescription: "Séparer avec des espaces pour la condition AND. Séparer avec un saut de ligne pour une condition OR."
notifyAntenna: "Me notifier pour les nouvelles notes" notifyAntenna: "Me notifier pour les nouvelles notes"
withFileAntenna: "Notes ayant des attachements uniquement" withFileAntenna: "Notes ayant des fichiers joints uniquement"
enableServiceworker: "Activer ServiceWorker" enableServiceworker: "Activer ServiceWorker"
antennaUsersDescription: "Saisissez un seul nom dutilisateur·rice par ligne" antennaUsersDescription: "Saisissez un seul nom dutilisateur·rice par ligne"
caseSensitive: "Sensible à la casse" caseSensitive: "Sensible à la casse"
@ -486,8 +493,8 @@ uiLanguage: "Langue daffichage de linterface"
aboutX: "À propos de {x}" aboutX: "À propos de {x}"
emojiStyle: "Style des émojis" emojiStyle: "Style des émojis"
native: "Natif" native: "Natif"
disableDrawer: "Les menus ne s'affichent pas dans le tiroir"
showNoteActionsOnlyHover: "Afficher les actions de note uniquement au survol" showNoteActionsOnlyHover: "Afficher les actions de note uniquement au survol"
showReactionsCount: "Afficher le nombre de réactions des notes"
noHistory: "Pas d'historique" noHistory: "Pas d'historique"
signinHistory: "Historique de connexion" signinHistory: "Historique de connexion"
enableAdvancedMfm: "Activer la MFM avancée" enableAdvancedMfm: "Activer la MFM avancée"
@ -520,7 +527,7 @@ hideThisNote: "Masquer cette note"
showFeaturedNotesInTimeline: "Afficher les notes des Tendances dans le fil d'actualité" showFeaturedNotesInTimeline: "Afficher les notes des Tendances dans le fil d'actualité"
objectStorage: "Stockage d'objets" objectStorage: "Stockage d'objets"
useObjectStorage: "Utiliser le stockage d'objets" useObjectStorage: "Utiliser le stockage d'objets"
objectStorageBaseUrl: "Base URL" objectStorageBaseUrl: "URL de base"
objectStorageBaseUrlDesc: "Préfixe dURL utilisé pour construire lURL vers le référencement dobjet (média). Spécifiez son URL si vous utilisez un CDN ou un proxy, sinon spécifiez ladresse accessible au public selon le guide de service que vous allez utiliser. P.ex. 'https://<bucket>.s3.amazonaws.com' pour AWS S3 et 'https://storage.googleapis.com/<bucket>' pour GCS." objectStorageBaseUrlDesc: "Préfixe dURL utilisé pour construire lURL vers le référencement dobjet (média). Spécifiez son URL si vous utilisez un CDN ou un proxy, sinon spécifiez ladresse accessible au public selon le guide de service que vous allez utiliser. P.ex. 'https://<bucket>.s3.amazonaws.com' pour AWS S3 et 'https://storage.googleapis.com/<bucket>' pour GCS."
objectStorageBucket: "Bucket" objectStorageBucket: "Bucket"
objectStorageBucketDesc: "Veuillez spécifier le nom du compartiment utilisé sur le service configuré." objectStorageBucketDesc: "Veuillez spécifier le nom du compartiment utilisé sur le service configuré."
@ -535,6 +542,7 @@ objectStorageUseSSLDesc: "Désactivez cette option si vous n'utilisez pas HTTPS
objectStorageUseProxy: "Se connecter via proxy" objectStorageUseProxy: "Se connecter via proxy"
objectStorageUseProxyDesc: "Désactivez cette option si vous n'utilisez pas de proxy pour la connexion API" objectStorageUseProxyDesc: "Désactivez cette option si vous n'utilisez pas de proxy pour la connexion API"
objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi" objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi"
s3ForcePathStyleDesc: "Si s3ForcePathStyle est activé, le nom du compartiment doit être spécifié comme une partie du chemin de l'URL plutôt que le nom d'hôte. Il faudra peut-être l'activer lors de l'utilisation d'une instance de Minio autohébergée, etc."
serverLogs: "Journal du serveur" serverLogs: "Journal du serveur"
deleteAll: "Supprimer tout" deleteAll: "Supprimer tout"
showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité" showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité"
@ -625,6 +633,7 @@ medium: "Moyen"
small: "Petit" small: "Petit"
generateAccessToken: "Générer un jeton d'accès" generateAccessToken: "Générer un jeton d'accès"
permission: "Autorisations " permission: "Autorisations "
adminPermission: "Droits de l'administrateur"
enableAll: "Tout activer" enableAll: "Tout activer"
disableAll: "Tout désactiver" disableAll: "Tout désactiver"
tokenRequested: "Autoriser l'accès au compte" tokenRequested: "Autoriser l'accès au compte"
@ -648,7 +657,7 @@ testEmail: "Tester la distribution de courriel"
wordMute: "Filtre de mots" wordMute: "Filtre de mots"
hardWordMute: "Filtre de mots dur" hardWordMute: "Filtre de mots dur"
regexpError: "Erreur dexpression régulière" regexpError: "Erreur dexpression régulière"
regexpErrorDescription: "Une erreur s'est produite dans l'expression régulière sur la ligne {ligne} de votre mot muet {tab} :" regexpErrorDescription: "Une erreur s'est produite dans l'expression régulière sur la ligne {line} de votre mot muet {tab} :"
instanceMute: "Instance en sourdine" instanceMute: "Instance en sourdine"
userSaysSomething: "{name} a dit quelque chose" userSaysSomething: "{name} a dit quelque chose"
makeActive: "Activer" makeActive: "Activer"
@ -668,6 +677,7 @@ useGlobalSettingDesc: "S'il est activé, les paramètres de notification de votr
other: "Autre" other: "Autre"
regenerateLoginToken: "Régénérer le jeton de connexion" regenerateLoginToken: "Régénérer le jeton de connexion"
regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau jeton, tous les appareils seront déconnectés. " regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau jeton, tous les appareils seront déconnectés. "
theKeywordWhenSearchingForCustomEmoji: "Ce mot-clé est utilisé lors de la recherche des émojis personnalisés."
setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant par des espaces." setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant par des espaces."
fileIdOrUrl: "ID du fichier ou URL" fileIdOrUrl: "ID du fichier ou URL"
behavior: "Comportement" behavior: "Comportement"
@ -681,10 +691,7 @@ abuseReported: "Le rapport est envoyé. Merci."
reporter: "Signalé par" reporter: "Signalé par"
reporteeOrigin: "Origine du signalement" reporteeOrigin: "Origine du signalement"
reporterOrigin: "Signalé par" reporterOrigin: "Signalé par"
forwardReport: "Transférer le signalement à linstance distante"
forwardReportIsAnonymous: "L'instance distante ne sera pas en mesure de voir vos informations et apparaîtra comme un compte anonyme du système."
send: "Envoyer" send: "Envoyer"
abuseMarkAsResolved: "Marquer le signalement comme résolu"
openInNewTab: "Ouvrir dans un nouvel onglet" openInNewTab: "Ouvrir dans un nouvel onglet"
openInSideView: "Ouvrir en vue latérale" openInSideView: "Ouvrir en vue latérale"
defaultNavigationBehaviour: "Navigation par défaut" defaultNavigationBehaviour: "Navigation par défaut"
@ -696,7 +703,7 @@ system: "Système"
switchUi: "Modifier l'interface utilisateur" switchUi: "Modifier l'interface utilisateur"
desktop: "Bureau" desktop: "Bureau"
clip: "Clip" clip: "Clip"
createNew: "Créer nouveau" createNew: "Créer"
optional: "Facultatif" optional: "Facultatif"
createNewClip: "Créer un nouveau clip" createNewClip: "Créer un nouveau clip"
unclip: "Supprimer le clip" unclip: "Supprimer le clip"
@ -982,6 +989,7 @@ neverShow: "Ne plus afficher"
remindMeLater: "Peut-être plus tard" remindMeLater: "Peut-être plus tard"
didYouLikeMisskey: "Avez-vous aimé Misskey ?" didYouLikeMisskey: "Avez-vous aimé Misskey ?"
pleaseDonate: "Misskey est le logiciel libre utilisé par {host}. Merci de faire un don pour que nous puissions continuer à le développer !" pleaseDonate: "Misskey est le logiciel libre utilisé par {host}. Merci de faire un don pour que nous puissions continuer à le développer !"
correspondingSourceIsAvailable: "Le code source correspondant est disponible à {anchor}"
roles: "Rôles" roles: "Rôles"
role: "Rôles" role: "Rôles"
noRole: "Aucun rôle" noRole: "Aucun rôle"
@ -996,6 +1004,7 @@ youCannotCreateAnymore: "Vous avez atteint la limite de création."
cannotPerformTemporary: "Temporairement indisponible" cannotPerformTemporary: "Temporairement indisponible"
cannotPerformTemporaryDescription: "Temporairement indisponible puisque le nombre d'opérations dépasse la limite. Veuillez patienter un peu, puis réessayer." cannotPerformTemporaryDescription: "Temporairement indisponible puisque le nombre d'opérations dépasse la limite. Veuillez patienter un peu, puis réessayer."
invalidParamError: "Paramètres invalides" invalidParamError: "Paramètres invalides"
invalidParamErrorDescription: "Les paramètres de la requête sont invalides. Il s'agit généralement d'un bogue, mais cela peut aussi être causé par un excès de caractères ou quelque chose de similaire."
permissionDeniedError: "Opération refusée" permissionDeniedError: "Opération refusée"
permissionDeniedErrorDescription: "Ce compte n'a pas la permission d'effectuer cette opération." permissionDeniedErrorDescription: "Ce compte n'a pas la permission d'effectuer cette opération."
preset: "Préréglage" preset: "Préréglage"
@ -1009,6 +1018,7 @@ thisPostMayBeAnnoyingCancel: "Annuler"
thisPostMayBeAnnoyingIgnore: "Publier quand-même" thisPostMayBeAnnoyingIgnore: "Publier quand-même"
collapseRenotes: "Réduire les renotes déjà vues" collapseRenotes: "Réduire les renotes déjà vues"
internalServerError: "Erreur interne du serveur" internalServerError: "Erreur interne du serveur"
internalServerErrorDescription: "Une erreur inattendue s'est produite sur le serveur."
copyErrorInfo: "Copier les détails de lerreur" copyErrorInfo: "Copier les détails de lerreur"
joinThisServer: "S'inscrire à cette instance" joinThisServer: "S'inscrire à cette instance"
exploreOtherServers: "Trouver une autre instance" exploreOtherServers: "Trouver une autre instance"
@ -1028,12 +1038,20 @@ nonSensitiveOnlyForLocalLikeOnlyForRemote: "Non sensibles seulement (mentions j'
rolesAssignedToMe: "Rôles attribués à moi" rolesAssignedToMe: "Rôles attribués à moi"
resetPasswordConfirm: "Souhaitez-vous réinitialiser votre mot de passe ?" resetPasswordConfirm: "Souhaitez-vous réinitialiser votre mot de passe ?"
sensitiveWords: "Mots sensibles" sensitiveWords: "Mots sensibles"
sensitiveWordsDescription: "Définir la visibilité des notes contenant un mot défini ici au fil principal automatiquement. Vous pouvez définir plusieurs valeurs en les séparant par des sauts de ligne."
sensitiveWordsDescription2: "Séparer par une espace pour créer une expression AND ; entourer de barres obliques pour créer une expression régulière."
prohibitedWords: "Mots interdits"
prohibitedWordsDescription: "Publier une note contenant un mot défini ici produira une erreur. Vous pouvez définir plusieurs valeurs en les séparant par des sauts de ligne."
prohibitedWordsDescription2: "Séparer par une espace pour créer une expression AND ; entourer de barres obliques pour créer une expression régulière."
hiddenTags: "Hashtags cachés" hiddenTags: "Hashtags cachés"
hiddenTagsDescription: "Les hashtags définis ne s'afficheront pas dans les tendances. Vous pouvez définir plusieurs hashtags en faisant un saut de ligne." hiddenTagsDescription: "Les hashtags définis ne s'afficheront pas dans les tendances. Vous pouvez définir plusieurs hashtags en faisant un saut de ligne."
notesSearchNotAvailable: "La recherche de notes n'est pas disponible." notesSearchNotAvailable: "La recherche de notes n'est pas disponible."
license: "Licence" license: "Licence"
unfavoriteConfirm: "Vraiment supprimer des favoris ?"
myClips: "Mes clips" myClips: "Mes clips"
drivecleaner: "Nettoyeur du Disque" drivecleaner: "Nettoyeur du Disque"
retryAllQueuesNow: "Réessayer tous les fils d'attente immédiatement"
retryAllQueuesConfirmTitle: "Vraiment réessayer ?"
retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur." retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur."
enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants" enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants"
enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes" enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes"
@ -1043,6 +1061,8 @@ limitWidthOfReaction: "Limiter la largeur maximale des réactions et les affiche
noteIdOrUrl: "Identifiant de la note ou URL" noteIdOrUrl: "Identifiant de la note ou URL"
video: "Vidéo" video: "Vidéo"
videos: "Vidéos" videos: "Vidéos"
audio: "Audio"
audioFiles: "Fichiers audio"
dataSaver: "Économiseur de données" dataSaver: "Économiseur de données"
accountMigration: "Migration de compte" accountMigration: "Migration de compte"
accountMoved: "Cet·te utilisateur·rice a migré son compte vers :" accountMoved: "Cet·te utilisateur·rice a migré son compte vers :"
@ -1067,9 +1087,13 @@ pleaseConfirmBelowBeforeSignup: "Pour vous inscrire sur cette instance, vous dev
pleaseAgreeAllToContinue: "Pour continuer, veuillez accepter tous les champs ci-dessus." pleaseAgreeAllToContinue: "Pour continuer, veuillez accepter tous les champs ci-dessus."
continue: "Continuer" continue: "Continuer"
preservedUsernames: "Noms d'utilisateur·rice réservés" preservedUsernames: "Noms d'utilisateur·rice réservés"
preservedUsernamesDescription: "Énumérez les noms d'utilisateur à réserver, séparés par des nouvelles lignes. Les noms d'utilisateur spécifiés ici ne seront plus utilisables lors de la création d'un compte, sauf la création manuelle par un administrateur. De plus, les comptes existants ne seront pas affectés."
createNoteFromTheFile: "Rédiger une note de ce fichier" createNoteFromTheFile: "Rédiger une note de ce fichier"
archive: "Archive" archive: "Archive"
archived: "Archivé"
unarchive: "Annuler l'archivage"
channelArchiveConfirmTitle: "Voulez-vous vraiment archiver {name} ?" channelArchiveConfirmTitle: "Voulez-vous vraiment archiver {name} ?"
channelArchiveConfirmDescription: "Une fois archivé, le canal n'apparaîtra plus dans la liste des canaux ni dans les résultats de recherche, et la publication des nouvelles notes sera impossible."
thisChannelArchived: "Ce canal a été archivé." thisChannelArchived: "Ce canal a été archivé."
displayOfNote: "Affichage de la note" displayOfNote: "Affichage de la note"
initialAccountSetting: "Configuration initiale du profil" initialAccountSetting: "Configuration initiale du profil"
@ -1081,12 +1105,29 @@ specifyUser: "Spécifier l'utilisateur·rice"
failedToPreviewUrl: "Aperçu d'URL échoué" failedToPreviewUrl: "Aperçu d'URL échoué"
update: "Mettre à jour" update: "Mettre à jour"
rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction" rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction"
rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Si aucun rôle n'est spécifié, tout le monde peut utiliser cet émoji comme réaction."
rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn: "Il faut un rôle public."
cancelReactionConfirm: "Supprimez la réaction ?"
changeReactionConfirm: "Changer la réaction ?"
later: "Plus tard" later: "Plus tard"
goToMisskey: "Retour vers Misskey" goToMisskey: "Retour vers Misskey"
additionalEmojiDictionary: "Dictionnaires d'émojis additionnels" additionalEmojiDictionary: "Dictionnaires d'émojis additionnels"
installed: "Installé" installed: "Installé"
branding: "Image de marque" branding: "Image de marque"
enableServerMachineStats: "Publier les statistiques du matériel du serveur"
enableIdenticonGeneration: "Générer les identicons des utilisateurs"
turnOffToImprovePerformance: "Désactiver peut améliorer la performance."
createInviteCode: "Créer un code d'invitation"
createWithOptions: "Options"
createCount: "Quantité à créer"
inviteCodeCreated: "Code d'invitation créé"
inviteLimitExceeded: "Vous avez atteint la limite de codes d'invitation que vous pouvez générer."
createLimitRemaining: "Codes d'invitation pouvant être créés : {limit} restants"
inviteLimitResetCycle: "Vous pouvez créer jusqu'à {limit} codes d'invitation en {time}."
expirationDate: "Date dexpiration" expirationDate: "Date dexpiration"
noExpirationDate: "Ne pas expirer"
inviteCodeUsedAt: "Code d'invitation utilisé à"
registeredUserUsingInviteCode: "Code d'invitation utilisé par"
waitingForMailAuth: "En attente de la vérification de l'adresse courriel" waitingForMailAuth: "En attente de la vérification de l'adresse courriel"
inviteCodeCreator: "Créateur·rice de ce code d'invitation" inviteCodeCreator: "Créateur·rice de ce code d'invitation"
usedAt: "Utilisé le" usedAt: "Utilisé le"
@ -1095,17 +1136,23 @@ used: "Utilisé"
expired: "Expiré" expired: "Expiré"
doYouAgree: "Êtes-vous daccord ?" doYouAgree: "Êtes-vous daccord ?"
beSureToReadThisAsItIsImportant: "Assurez-vous de le lire; c'est important." beSureToReadThisAsItIsImportant: "Assurez-vous de le lire; c'est important."
iHaveReadXCarefullyAndAgree: "J'ai lu le contenu de « {x} » et donne mon accord."
dialog: "Dialogue" dialog: "Dialogue"
icon: "Avatar" icon: "Avatar"
forYou: "Pour vous" forYou: "Pour vous"
currentAnnouncements: "Annonces actuelles" currentAnnouncements: "Annonces actuelles"
pastAnnouncements: "Annonces passées" pastAnnouncements: "Annonces passées"
replies: "Répondre" youHaveUnreadAnnouncements: "Il y a des annonces non lues."
renotes: "Renoter" useSecurityKey: "Suivez les instructions de votre navigateur ou de votre appareil pour utiliser une clé de sécurité ou une clé d'accès."
replies: "Réponses"
renotes: "Renotes"
loadReplies: "Inclure les réponses" loadReplies: "Inclure les réponses"
loadConversation: "Afficher la conversation" loadConversation: "Afficher la conversation"
pinnedList: "Liste épinglée" pinnedList: "Liste épinglée"
keepScreenOn: "Garder l'écran toujours allumé"
verifiedLink: "Votre propriété de ce lien a été vérifiée"
notifyNotes: "Notifier à propos des nouvelles notes" notifyNotes: "Notifier à propos des nouvelles notes"
unnotifyNotes: "Ne pas notifier pour la publication des notes"
authentication: "Authentification" authentication: "Authentification"
authenticationRequiredToContinue: "Veuillez vous authentifier pour continuer" authenticationRequiredToContinue: "Veuillez vous authentifier pour continuer"
dateAndTime: "Date et heure" dateAndTime: "Date et heure"
@ -1113,6 +1160,8 @@ showRenotes: "Afficher les renotes"
edited: "Modifié" edited: "Modifié"
notificationRecieveConfig: "Paramètres des notifications" notificationRecieveConfig: "Paramètres des notifications"
mutualFollow: "Abonnement mutuel" mutualFollow: "Abonnement mutuel"
followingOrFollower: "Abonnement ou abonné"
fileAttachedOnly: "Avec fichiers joints seulement"
showRepliesToOthersInTimeline: "Afficher les réponses aux autres dans le fil" showRepliesToOthersInTimeline: "Afficher les réponses aux autres dans le fil"
hideRepliesToOthersInTimeline: "Masquer les réponses aux autres dans le fil" hideRepliesToOthersInTimeline: "Masquer les réponses aux autres dans le fil"
showRepliesToOthersInTimelineAll: "Afficher les réponses de toutes les personnes que vous suivez dans le fil" showRepliesToOthersInTimelineAll: "Afficher les réponses de toutes les personnes que vous suivez dans le fil"
@ -1120,6 +1169,12 @@ hideRepliesToOthersInTimelineAll: "Masquer les réponses de toutes les personnes
confirmShowRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment afficher les réponses de toutes les personnes que vous suivez dans le fil ?" confirmShowRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment afficher les réponses de toutes les personnes que vous suivez dans le fil ?"
confirmHideRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment masquer les réponses de toutes les personnes que vous suivez dans le fil ?" confirmHideRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment masquer les réponses de toutes les personnes que vous suivez dans le fil ?"
externalServices: "Services externes" externalServices: "Services externes"
sourceCode: "Code source"
sourceCodeIsNotYetProvided: "Le code source n'est pas encore disponible. Veuillez signaler ce problème aux administrateurs."
repositoryUrl: "URL du dépôt"
repositoryUrlDescription: "Entrez l'URL du dépôt où se trouve le code source ici. Si vous utilisez Misskey tel quel (sans changer le code source), entrez https://github.com/misskey-dev/misskey"
feedback: "Commentaires"
feedbackUrl: "URL pour les commentaires"
impressum: "Impressum" impressum: "Impressum"
impressumUrl: "URL de l'impressum" impressumUrl: "URL de l'impressum"
impressumDescription: "Dans certains pays comme l'Allemagne, il est obligatoire d'afficher les informations sur l'opérateur d'un site (un impressum)." impressumDescription: "Dans certains pays comme l'Allemagne, il est obligatoire d'afficher les informations sur l'opérateur d'un site (un impressum)."
@ -1147,17 +1202,63 @@ remainingN: "Restants : {n}"
overwriteContentConfirm: "Voulez-vous remplacer le contenu actuel ?" overwriteContentConfirm: "Voulez-vous remplacer le contenu actuel ?"
seasonalScreenEffect: "Effet d'écran saisonnier" seasonalScreenEffect: "Effet d'écran saisonnier"
decorate: "Décorer" decorate: "Décorer"
addMfmFunction: "Insérer MFM"
enableQuickAddMfmFunction: "Afficher le sélecteur de MFM avancé"
bubbleGame: "Jeu de bulles"
sfx: "Effets sonores"
soundWillBePlayed: "Le son sera joué"
showReplay: "Voir le replay"
replay: "Rediffusion"
replaying: "En cours de rediffusion"
endReplay: "Arrêter la rediffusion"
copyReplayData: "Copier les données de la rediffusion"
ranking: "Classement"
lastNDays: "Derniers {n} jours"
backToTitle: "Retourner au titre"
hemisphere: "Votre région"
withSensitive: "Afficher les notes contenant des fichiers joints sensibles"
userSaysSomethingSensitive: "Note de {name} contenant des fichiers joints sensibles"
enableHorizontalSwipe: "Glisser pour changer d'onglet"
loading: "Chargement en cours"
surrender: "Annuler"
gameRetry: "Réessayer"
launchApp: "Lancer l'app"
inquiry: "Contact"
_delivery:
status: "Statut de la diffusion"
stop: "Suspendu·e"
_type:
none: "Publié"
_bubbleGame:
howToPlay: "Comment jouer"
hold: "Réserver"
_score:
score: "Score"
scoreYen: "Montant gagné"
highScore: "Meilleur score"
maxChain: "Nombre maximum de chaînes"
yen: "{yen} yens"
estimatedQty: "{qty} pièces"
_announcement: _announcement:
forExistingUsers: "Pour les utilisateurs existants seulement"
needConfirmationToRead: "Exiger la confirmation de la lecture"
needConfirmationToReadDescription: "Si activé, afficher un dialogue de confirmation quand l'annonce est marquée comme lue. Aussi, elle sera exclue de « marquer tout comme lu » ."
end: "Archiver l'annonce"
tooManyActiveAnnouncementDescription: "Un grand nombre d'annonces actives peut baisser l'expérience utilisateur. Considérez d'archiver les annonces obsolètes."
readConfirmTitle: "Marquer comme lu ?" readConfirmTitle: "Marquer comme lu ?"
readConfirmText: "Cela marquera le contenu de « {title} » comme lu."
shouldNotBeUsedToPresentPermanentInfo: "Puisque cela pourrait nuire considérablement à l'expérience utilisateur pour les nouveaux utilisateurs, il est recommandé d'utiliser les annonces pour afficher des informations temporaires plutôt que des informations persistantes." shouldNotBeUsedToPresentPermanentInfo: "Puisque cela pourrait nuire considérablement à l'expérience utilisateur pour les nouveaux utilisateurs, il est recommandé d'utiliser les annonces pour afficher des informations temporaires plutôt que des informations persistantes."
dialogAnnouncementUxWarn: "Avoir deux ou plus annonces de style dialogue en même temps pourrait nuire considérablement à l'expérience utilisateur. Veuillez les utiliser avec caution." dialogAnnouncementUxWarn: "Avoir deux ou plus annonces de style dialogue en même temps pourrait nuire considérablement à l'expérience utilisateur. Veuillez les utiliser avec caution."
silence: "Ne pas me notifier" silence: "Ne pas me notifier"
silenceDescription: "Si activée, vous ne recevrez pas de notifications sur les annonces et n'aurez pas besoin de les marquer comme lues." silenceDescription: "Si activée, vous ne recevrez pas de notifications sur les annonces et n'aurez pas besoin de les marquer comme lues."
_initialAccountSetting: _initialAccountSetting:
accountCreated: "Votre compte a été créé avec succès !"
letsStartAccountSetup: "Procédons au réglage initial du compte."
letsFillYourProfile: "Commençons par configurer votre profil !"
profileSetting: "Paramètres du profil" profileSetting: "Paramètres du profil"
privacySetting: "Paramètres de confidentialité" privacySetting: "Paramètres de confidentialité"
initialAccountSettingCompleted: "Configuration du profil terminée avec succès !" initialAccountSettingCompleted: "Configuration du profil terminée avec succès !"
youCanContinueTutorial: "Vous pouvez procéder au tutoriel sur l'utilisation de {nom}(Misskey) ou vous arrêter ici et commencer à l'utiliser immédiatement." youCanContinueTutorial: "Vous pouvez procéder au tutoriel sur l'utilisation de {name}(Misskey) ou vous arrêter ici et commencer à l'utiliser immédiatement."
startTutorial: "Démarrer le tutoriel" startTutorial: "Démarrer le tutoriel"
skipAreYouSure: "Désirez-vous ignorer la configuration du profil ?" skipAreYouSure: "Désirez-vous ignorer la configuration du profil ?"
_initialTutorial: _initialTutorial:
@ -1221,7 +1322,7 @@ _initialTutorial:
doItToContinue: "Marquez le fichier joint comme sensible pour procéder." doItToContinue: "Marquez le fichier joint comme sensible pour procéder."
_done: _done:
title: "Le tutoriel est terminé ! 🎉" title: "Le tutoriel est terminé ! 🎉"
description: "Les fonctionnalités introduites ici ne sont que quelques-unes. Pour savoir plus sur l'utilisation de Misskey, veuillez consulter {lien}." description: "Les fonctionnalités introduites ici ne sont que quelques-unes. Pour savoir plus sur l'utilisation de Misskey, veuillez consulter {link}."
_timelineDescription: _timelineDescription:
home: "Sur le fil principal, vous pouvez voir les notes des utilisateurs auxquels vous êtes abonné·e." home: "Sur le fil principal, vous pouvez voir les notes des utilisateurs auxquels vous êtes abonné·e."
local: "Sur le fil local, vous pouvez voir les notes de tous les utilisateurs sur cette instance." local: "Sur le fil local, vous pouvez voir les notes de tous les utilisateurs sur cette instance."
@ -1242,6 +1343,7 @@ _accountMigration:
startMigration: "Migrer" startMigration: "Migrer"
movedTo: "Compte vers lequel vous migrez :" movedTo: "Compte vers lequel vous migrez :"
_achievements: _achievements:
earnedAt: "Date d'obtention"
_types: _types:
_notes1: _notes1:
title: "Je viens tout juste de configurer mon msky" title: "Je viens tout juste de configurer mon msky"
@ -1282,10 +1384,13 @@ _achievements:
title: "Régulier III" title: "Régulier III"
description: "Se connecter pour un total de 400 jours" description: "Se connecter pour un total de 400 jours"
_login500: _login500:
title: "Expert I"
description: "Se connecter pour un total de 500 jours" description: "Se connecter pour un total de 500 jours"
_login600: _login600:
title: "Expert II"
description: "Se connecter pour un total de 600 jours" description: "Se connecter pour un total de 600 jours"
_login700: _login700:
title: "Expert III"
description: "Se connecter pour un total de 700 jours" description: "Se connecter pour un total de 700 jours"
_login800: _login800:
description: "Se connecter pour un total de 800 jours" description: "Se connecter pour un total de 800 jours"
@ -1378,11 +1483,14 @@ _role:
edit: "Modifier le rôle" edit: "Modifier le rôle"
name: "Nom du rôle" name: "Nom du rôle"
description: "Description du rôle" description: "Description du rôle"
permission: "Rôle et autorisations" permission: "Autorisations du rôle"
assignTarget: "Attribuer" assignTarget: "Attribuer"
manual: "Manuel"
manualRoles: "Rôles manuels" manualRoles: "Rôles manuels"
conditional: "Conditionnel"
conditionalRoles: "Rôles conditionnels" conditionalRoles: "Rôles conditionnels"
condition: "Condition" condition: "Condition"
isConditionalRole: "Ceci est un rôle conditionnel."
isPublic: "Rôle public" isPublic: "Rôle public"
options: "Options" options: "Options"
policies: "Stratégies" policies: "Stratégies"
@ -1593,7 +1701,6 @@ _theme:
buttonBg: "Arrière-plan du bouton" buttonBg: "Arrière-plan du bouton"
buttonHoverBg: "Arrière-plan du bouton (survolé)" buttonHoverBg: "Arrière-plan du bouton (survolé)"
inputBorder: "Cadre de la zone de texte" inputBorder: "Cadre de la zone de texte"
listItemHoverBg: "Arrière-plan d'item de liste (survolé)"
driveFolderBg: "Arrière-plan du dossier de disque" driveFolderBg: "Arrière-plan du dossier de disque"
wallpaperOverlay: "Superposition de fond d'écran" wallpaperOverlay: "Superposition de fond d'écran"
badge: "Badge" badge: "Badge"
@ -1605,8 +1712,6 @@ _sfx:
note: "Nouvelle note" note: "Nouvelle note"
noteMy: "Ma note" noteMy: "Ma note"
notification: "Notifications" notification: "Notifications"
antenna: "Réception de lantenne"
channel: "Notifications de canal"
reaction: "Lors de la sélection de la réaction" reaction: "Lors de la sélection de la réaction"
_soundSettings: _soundSettings:
driveFile: "Utiliser un effet sonore sur le Disque" driveFile: "Utiliser un effet sonore sur le Disque"
@ -1799,6 +1904,7 @@ _profile:
avatarDecorationMax: "Vous pouvez mettre au plus {max} décorations d'avatar." avatarDecorationMax: "Vous pouvez mettre au plus {max} décorations d'avatar."
_exportOrImport: _exportOrImport:
allNotes: "Toutes les notes" allNotes: "Toutes les notes"
clips: "Clip"
followingList: "Abonnements" followingList: "Abonnements"
muteList: "Comptes masqués" muteList: "Comptes masqués"
blockingList: "Comptes bloqués" blockingList: "Comptes bloqués"
@ -1909,7 +2015,7 @@ _notification:
unreadAntennaNote: "Antenne {name}" unreadAntennaNote: "Antenne {name}"
roleAssigned: "Rôle attribué" roleAssigned: "Rôle attribué"
emptyPushNotificationMessage: "Les notifications push ont été mises à jour" emptyPushNotificationMessage: "Les notifications push ont été mises à jour"
achievementEarned: "Accomplissement" achievementEarned: "Accomplissement déverrouillé"
testNotification: "Tester la notification" testNotification: "Tester la notification"
reactedBySomeUsers: "{n} utilisateur·rice·s ont réagi" reactedBySomeUsers: "{n} utilisateur·rice·s ont réagi"
renotedBySomeUsers: "{n} utilisateur·rice·s ont renoté" renotedBySomeUsers: "{n} utilisateur·rice·s ont renoté"
@ -1926,7 +2032,8 @@ _notification:
receiveFollowRequest: "Demande d'abonnement reçue" receiveFollowRequest: "Demande d'abonnement reçue"
followRequestAccepted: "Demande d'abonnement acceptée" followRequestAccepted: "Demande d'abonnement acceptée"
roleAssigned: "Rôle reçu" roleAssigned: "Rôle reçu"
achievementEarned: "Accomplissement" achievementEarned: "Déverrouillage d'accomplissement"
login: "Se connecter"
app: "Notifications provenant des apps" app: "Notifications provenant des apps"
_actions: _actions:
followBack: "Suivre" followBack: "Suivre"
@ -1965,6 +2072,10 @@ _drivecleaner:
_webhookSettings: _webhookSettings:
name: "Nom" name: "Nom"
active: "Activé" active: "Activé"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "E-mail "
_moderationLogTypes: _moderationLogTypes:
createRole: "Rôle créé" createRole: "Rôle créé"
deleteRole: "Rôle supprimé" deleteRole: "Rôle supprimé"
@ -2063,3 +2174,6 @@ _dataSaver:
_code: _code:
title: "Mise en évidence du code" title: "Mise en évidence du code"
description: "Si la notation de mise en évidence du code est utilisée, par exemple dans la MFM, elle ne sera pas chargée tant qu'elle n'aura pas été tapée. La mise en évidence du code nécessite le chargement du fichier de définition de chaque langue à mettre en évidence, mais comme ces fichiers ne sont plus chargés automatiquement, on peut s'attendre à une réduction du trafic de données." description: "Si la notation de mise en évidence du code est utilisée, par exemple dans la MFM, elle ne sera pas chargée tant qu'elle n'aura pas été tapée. La mise en évidence du code nécessite le chargement du fichier de définition de chaque langue à mettre en évidence, mais comme ces fichiers ne sont plus chargés automatiquement, on peut s'attendre à une réduction du trafic de données."
_reversi:
waitingBoth: "Préparez-vous"
total: "Total"

View file

@ -6,54 +6,176 @@ import ts from 'typescript';
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename); 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) { function createMembers(record) {
return Object.entries(record) return Object.entries(record).map(([k, v]) => {
.map(([k, v]) => ts.factory.createPropertySignature( const node = ts.factory.createPropertySignature(
undefined, undefined,
ts.factory.createStringLiteral(k), ts.factory.createStringLiteral(k),
undefined, undefined,
typeof v === 'string' createMemberType(v),
? ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword) );
: ts.factory.createTypeLiteralNode(createMembers(v)), if (typeof v === 'string') {
)); ts.addSyntheticLeadingComment(
node,
ts.SyntaxKind.MultiLineCommentTrivia,
`*
* ${v.replace(/\n/g, '\n * ')}
`,
true,
);
}
return node;
});
} }
export default function generateDTS() { export default function generateDTS() {
const locale = yaml.load(fs.readFileSync(`${__dirname}/ja-JP.yml`, 'utf-8')); const locale = yaml.load(fs.readFileSync(`${__dirname}/ja-JP.yml`, 'utf-8'));
const members = createMembers(locale); const members = createMembers(locale);
const elements = [ 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.createInterfaceDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)], [ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('Locale'), ts.factory.createIdentifier('Locale'),
undefined, undefined,
[
ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
ts.factory.createExpressionWithTypeArguments(
ts.factory.createIdentifier('ILocale'),
undefined, undefined,
),
]),
],
members, members,
), ),
ts.factory.createVariableStatement( ts.factory.createVariableStatement(
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)], [ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
ts.factory.createVariableDeclarationList( ts.factory.createVariableDeclarationList(
[ts.factory.createVariableDeclaration( [
ts.factory.createVariableDeclaration(
ts.factory.createIdentifier('locales'), ts.factory.createIdentifier('locales'),
undefined, undefined,
ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature( ts.factory.createTypeLiteralNode([
ts.factory.createIndexSignature(
undefined, undefined,
[ts.factory.createParameterDeclaration( [
ts.factory.createParameterDeclaration(
undefined, undefined,
undefined, undefined,
ts.factory.createIdentifier('lang'), ts.factory.createIdentifier('lang'),
undefined, undefined,
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword), ts.factory.createKeywordTypeNode(
ts.SyntaxKind.StringKeyword,
),
undefined, undefined,
)], ),
],
ts.factory.createTypeReferenceNode( ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('Locale'), ts.factory.createIdentifier('Locale'),
undefined, undefined,
), ),
)]), ),
]),
undefined, undefined,
)], ),
ts.NodeFlags.Const | ts.NodeFlags.Ambient | ts.NodeFlags.ContextFlags, ],
ts.NodeFlags.Const,
), ),
), ),
ts.factory.createFunctionDeclaration( ts.factory.createFunctionDeclaration(
@ -70,16 +192,39 @@ export default function generateDTS() {
), ),
ts.factory.createExportDefault(ts.factory.createIdentifier('locales')), ts.factory.createExportDefault(ts.factory.createIdentifier('locales')),
]; ];
const printed = ts.createPrinter({ 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, newLine: ts.NewLineKind.LineFeed,
}).printList( })
.printList(
ts.ListFormat.MultiLine, ts.ListFormat.MultiLine,
ts.factory.createNodeArray(elements), ts.factory.createNodeArray(elements),
ts.createSourceFile('index.d.ts', '', ts.ScriptTarget.ESNext, true, ts.ScriptKind.TS), ts.createSourceFile(
'index.d.ts',
'',
ts.ScriptTarget.ESNext,
true,
ts.ScriptKind.TS,
),
); );
fs.writeFileSync(`${__dirname}/index.d.ts`, `/* eslint-disable */ fs.writeFileSync(`${__dirname}/index.d.ts`, printed, 'utf-8');
// This file is generated by locales/generateDTS.js
// Do not edit this file directly.
${printed}`, 'utf-8');
} }

View file

@ -1,5 +1,5 @@
--- ---
_lang_: "Japán" _lang_: "Magyar"
monthAndDay: "{month}.{day}." monthAndDay: "{month}.{day}."
search: "Keresés" search: "Keresés"
notifications: "Értesítések" notifications: "Értesítések"
@ -96,6 +96,7 @@ _notification:
renote: "Renote" renote: "Renote"
quote: "Idézet" quote: "Idézet"
reaction: "Reakciók" reaction: "Reakciók"
login: "Bejelentkezés"
_actions: _actions:
renote: "Renote" renote: "Renote"
_deck: _deck:

View file

@ -60,6 +60,7 @@ copyFileId: "Salin Berkas"
copyFolderId: "Salin Folder" copyFolderId: "Salin Folder"
copyProfileUrl: "Salin Alamat Web Profil" copyProfileUrl: "Salin Alamat Web Profil"
searchUser: "Cari pengguna" searchUser: "Cari pengguna"
searchThisUsersNotes: "Mencari catatan pengguna"
reply: "Balas" reply: "Balas"
loadMore: "Selebihnya" loadMore: "Selebihnya"
showMore: "Selebihnya" showMore: "Selebihnya"
@ -81,7 +82,7 @@ exportRequested: "Kamu telah meminta ekspor. Ini akan memakan waktu sesaat. Sete
importRequested: "Kamu telah meminta impor. Ini akan memakan waktu sesaat." importRequested: "Kamu telah meminta impor. Ini akan memakan waktu sesaat."
lists: "Daftar" lists: "Daftar"
noLists: "Kamu tidak memiliki daftar apapun" noLists: "Kamu tidak memiliki daftar apapun"
note: "Catat" note: "Catatan"
notes: "Catatan" notes: "Catatan"
following: "Ikuti" following: "Ikuti"
followers: "Pengikut" followers: "Pengikut"
@ -108,11 +109,14 @@ enterEmoji: "Masukkan emoji"
renote: "Renote" renote: "Renote"
unrenote: "Hapus renote" unrenote: "Hapus renote"
renoted: "Telah direnote" renoted: "Telah direnote"
renotedToX: "{name} telah merenote"
cantRenote: "Postingan ini tidak dapat direnote" cantRenote: "Postingan ini tidak dapat direnote"
cantReRenote: "Renote tidak dapat direnote" cantReRenote: "Renote tidak dapat direnote"
quote: "Kutip" quote: "Kutip"
inChannelRenote: "Hanya renote dalam kanal" inChannelRenote: "Hanya renote dalam kanal"
inChannelQuote: "Hanya kutip dalam kanal" inChannelQuote: "Hanya kutip dalam kanal"
renoteToChannel: "Renote ke kanal"
renoteToOtherChannel: "Renote ke kanal lainnya"
pinnedNote: "Catatan yang disematkan" pinnedNote: "Catatan yang disematkan"
pinned: "Sematkan ke profil" pinned: "Sematkan ke profil"
you: "Kamu" you: "Kamu"
@ -125,9 +129,12 @@ emojiPicker: "Emoji Picker"
pinnedEmojisForReactionSettingDescription: "Atur sematan emoji pada reaksi" pinnedEmojisForReactionSettingDescription: "Atur sematan emoji pada reaksi"
pinnedEmojisSettingDescription: "Atur sematan emoji pada masukan emoji" pinnedEmojisSettingDescription: "Atur sematan emoji pada masukan emoji"
emojiPickerDisplay: "Tampilan Emoji Picker" emojiPickerDisplay: "Tampilan Emoji Picker"
overwriteFromPinnedEmojisForReaction: "Timpa dari pengaturan reaksi"
overwriteFromPinnedEmojis: "Timpa dari pengaturan umum"
reactionSettingDescription2: "Geser untuk memindah urutan emoji, klik untuk menghapus, tekan \"+\" untuk menambahkan" reactionSettingDescription2: "Geser untuk memindah urutan emoji, klik untuk menghapus, tekan \"+\" untuk menambahkan"
rememberNoteVisibility: "Ingat pengaturan visibilitas catatan" rememberNoteVisibility: "Ingat pengaturan visibilitas catatan"
attachCancel: "Hapus lampiran" attachCancel: "Hapus lampiran"
deleteFile: "Berkas dihapus"
markAsSensitive: "Tandai sebagai konten sensitif" markAsSensitive: "Tandai sebagai konten sensitif"
unmarkAsSensitive: "Hapus tanda konten sensitif" unmarkAsSensitive: "Hapus tanda konten sensitif"
enterFileName: "Masukkan nama berkas" enterFileName: "Masukkan nama berkas"
@ -148,6 +155,7 @@ editList: "Sunting daftar"
selectChannel: "Pilih kanal" selectChannel: "Pilih kanal"
selectAntenna: "Pilih Antena" selectAntenna: "Pilih Antena"
editAntenna: "Sunting antena" editAntenna: "Sunting antena"
createAntenna: "Membuat antena."
selectWidget: "Pilih gawit" selectWidget: "Pilih gawit"
editWidgets: "Sunting gawit" editWidgets: "Sunting gawit"
editWidgetsExit: "Selesai" editWidgetsExit: "Selesai"
@ -174,6 +182,10 @@ addAccount: "Tambahkan akun"
reloadAccountsList: "Muat ulang daftar akun" reloadAccountsList: "Muat ulang daftar akun"
loginFailed: "Gagal untuk masuk" loginFailed: "Gagal untuk masuk"
showOnRemote: "Lihat profil asli" showOnRemote: "Lihat profil asli"
continueOnRemote: "Lihat di peladen asal"
chooseServerOnMisskeyHub: "Pilih peladen dari Misskey Hub"
specifyServerHost: "Tentukan domain peladen"
inputHostName: "Masukkan nama domain"
general: "Umum" general: "Umum"
wallpaper: "Wallpaper" wallpaper: "Wallpaper"
setWallpaper: "Atur wallpaper" setWallpaper: "Atur wallpaper"
@ -184,6 +196,7 @@ followConfirm: "Apakah kamu yakin ingin mengikuti {name}?"
proxyAccount: "Akun proksi" proxyAccount: "Akun proksi"
proxyAccountDescription: "Akun proksi merupakan sebuah akun yang bertindak sebagai pengikut instansi luar untuk pengguna dalam kondisi tertentu. Sebagai contoh, ketika pengguna menambahkan seorang pengguna instansi luar ke dalam daftar, aktivitas dari pengguna instansi luar tidak akan disampaikan ke instansi apabila tidak ada pengguna lokal yang mengikuti pengguna tersebut, dengan begitu akun proksilah yang akan mengikutinya." proxyAccountDescription: "Akun proksi merupakan sebuah akun yang bertindak sebagai pengikut instansi luar untuk pengguna dalam kondisi tertentu. Sebagai contoh, ketika pengguna menambahkan seorang pengguna instansi luar ke dalam daftar, aktivitas dari pengguna instansi luar tidak akan disampaikan ke instansi apabila tidak ada pengguna lokal yang mengikuti pengguna tersebut, dengan begitu akun proksilah yang akan mengikutinya."
host: "Host" host: "Host"
selectSelf: "Pilih diri sendiri"
selectUser: "Pilih pengguna" selectUser: "Pilih pengguna"
recipient: "Penerima" recipient: "Penerima"
annotation: "Keterangan konten" annotation: "Keterangan konten"
@ -220,6 +233,7 @@ blockedInstances: "Instansi terblokir"
blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini." blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
silencedInstances: "Instansi yang disenyapkan" 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." 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."
federationAllowedHosts: "Server yang membolehkan federasi"
muteAndBlock: "Bisukan / Blokir" muteAndBlock: "Bisukan / Blokir"
mutedUsers: "Pengguna yang dibisukan" mutedUsers: "Pengguna yang dibisukan"
blockedUsers: "Pengguna yang diblokir" blockedUsers: "Pengguna yang diblokir"
@ -310,6 +324,7 @@ selectFile: "Pilih berkas"
selectFiles: "Pilih berkas" selectFiles: "Pilih berkas"
selectFolder: "Pilih folder" selectFolder: "Pilih folder"
selectFolders: "Pilih folder" selectFolders: "Pilih folder"
fileNotSelected: "Tidak ada file yang dipilih"
renameFile: "Ubah nama berkas" renameFile: "Ubah nama berkas"
folderName: "Nama folder" folderName: "Nama folder"
createFolder: "Buat folder" createFolder: "Buat folder"
@ -317,6 +332,7 @@ renameFolder: "Ubah nama folder"
deleteFolder: "Hapus folder" deleteFolder: "Hapus folder"
folder: "Folder" folder: "Folder"
addFile: "Tambahkan berkas" addFile: "Tambahkan berkas"
showFile: "Tampilkan berkas"
emptyDrive: "Drive kosong" emptyDrive: "Drive kosong"
emptyFolder: "Folder kosong" emptyFolder: "Folder kosong"
unableToDelete: "Tidak dapat menghapus" unableToDelete: "Tidak dapat menghapus"
@ -377,6 +393,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Nyalakan hCaptcha" enableHcaptcha: "Nyalakan hCaptcha"
hcaptchaSiteKey: "Site Key" hcaptchaSiteKey: "Site Key"
hcaptchaSecretKey: "Secret Key" hcaptchaSecretKey: "Secret Key"
mcaptcha: "mCaptcha"
enableMcaptcha: "Nyalakan mCaptcha"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret Key"
mcaptchaInstanceUrl: "URL instansi mCaptcha"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Nyalakan reCAPTCHA" enableRecaptcha: "Nyalakan reCAPTCHA"
recaptchaSiteKey: "Site key" recaptchaSiteKey: "Site key"
@ -392,6 +413,7 @@ name: "Nama"
antennaSource: "Sumber Antenna" antennaSource: "Sumber Antenna"
antennaKeywords: "Kata kunci yang diterima" antennaKeywords: "Kata kunci yang diterima"
antennaExcludeKeywords: "Kata kunci yang dikecualikan" antennaExcludeKeywords: "Kata kunci yang dikecualikan"
antennaExcludeBots: "Kecualikan akun bot"
antennaKeywordsDescription: "Pisahkan dengan spasi untuk kondisi AND. Pisahkan dengan baris baru untuk kondisi OR." antennaKeywordsDescription: "Pisahkan dengan spasi untuk kondisi AND. Pisahkan dengan baris baru untuk kondisi OR."
notifyAntenna: "Beritahu untuk catatan baru" notifyAntenna: "Beritahu untuk catatan baru"
withFileAntenna: "Hanya tampilkan catatan dengan berkas yang dilampirkan" withFileAntenna: "Hanya tampilkan catatan dengan berkas yang dilampirkan"
@ -459,6 +481,7 @@ retype: "Masukkan ulang"
noteOf: "Catatan milik {user}" noteOf: "Catatan milik {user}"
quoteAttached: "Dikutip" quoteAttached: "Dikutip"
quoteQuestion: "Apakah kamu ingin menambahkan kutipan?" quoteQuestion: "Apakah kamu ingin menambahkan kutipan?"
attachAsFileQuestion: "Teks dalam papan klip terlalu panjang. Apakah kamu ingin melampirkannya sebagai berkas teks?"
noMessagesYet: "Tidak ada pesan" noMessagesYet: "Tidak ada pesan"
newMessageExists: "Kamu mendapatkan pesan baru" newMessageExists: "Kamu mendapatkan pesan baru"
onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan" onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan"
@ -484,8 +507,10 @@ uiLanguage: "Bahasa antarmuka pengguna"
aboutX: "Tentang {x}" aboutX: "Tentang {x}"
emojiStyle: "Gaya emoji" emojiStyle: "Gaya emoji"
native: "Native" native: "Native"
disableDrawer: "Jangan gunakan menu bergaya laci" menuStyle: "Gaya menu"
style: "Gaya"
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk" showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
showReactionsCount: "Lihat jumlah reaksi dalam catatan"
noHistory: "Tidak ada riwayat" noHistory: "Tidak ada riwayat"
signinHistory: "Riwayat masuk" signinHistory: "Riwayat masuk"
enableAdvancedMfm: "Nyalakan MFM tingkat lanjut" enableAdvancedMfm: "Nyalakan MFM tingkat lanjut"
@ -624,6 +649,7 @@ medium: "Sedang"
small: "Kecil" small: "Kecil"
generateAccessToken: "Buat token akses" generateAccessToken: "Buat token akses"
permission: "Izin" permission: "Izin"
adminPermission: "Wewenang Izin Admin"
enableAll: "Aktifkan semua" enableAll: "Aktifkan semua"
disableAll: "Nonaktifkan semua" disableAll: "Nonaktifkan semua"
tokenRequested: "Berikan ijin akses ke akun" tokenRequested: "Berikan ijin akses ke akun"
@ -667,6 +693,7 @@ useGlobalSettingDesc: "Jika dinyalakan, setelan notifikasi akun kamu akan diguna
other: "Lainnya" other: "Lainnya"
regenerateLoginToken: "Perbarui token login" regenerateLoginToken: "Perbarui token login"
regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout." regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout."
theKeywordWhenSearchingForCustomEmoji: "Kata kunci ini digunakan untuk mencari emoji kustom yang dicari."
setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi." setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi."
fileIdOrUrl: "File-ID atau URL" fileIdOrUrl: "File-ID atau URL"
behavior: "Perilaku" behavior: "Perilaku"
@ -680,10 +707,7 @@ abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
reporter: "Pelapor" reporter: "Pelapor"
reporteeOrigin: "Yang dilaporkan" reporteeOrigin: "Yang dilaporkan"
reporterOrigin: "Pelapor" reporterOrigin: "Pelapor"
forwardReport: "Teruskan laporan ke instansi luar"
forwardReportIsAnonymous: "Untuk melindungi privasi akun kamu, akun anonim dari sistem akan digunakan sebagai pelapor pada instansi luar."
send: "Kirim" send: "Kirim"
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
openInNewTab: "Buka di tab baru" openInNewTab: "Buka di tab baru"
openInSideView: "Buka di tampilan samping" openInSideView: "Buka di tampilan samping"
defaultNavigationBehaviour: "Navigasi bawaan" defaultNavigationBehaviour: "Navigasi bawaan"
@ -879,6 +903,8 @@ makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua r
classic: "Klasik" classic: "Klasik"
muteThread: "Bisukan thread" muteThread: "Bisukan thread"
unmuteThread: "Suarakan thread" unmuteThread: "Suarakan thread"
followingVisibility: "Visibilitas mengikuti"
followersVisibility: "Visibilitas pengikut"
continueThread: "Lihat lanjutan thread" continueThread: "Lihat lanjutan thread"
deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?" deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?"
incorrectPassword: "Kata sandi salah." incorrectPassword: "Kata sandi salah."
@ -906,6 +932,9 @@ oneHour: "1 Jam"
oneDay: "1 Hari" oneDay: "1 Hari"
oneWeek: "1 Bulan" oneWeek: "1 Bulan"
oneMonth: "satu bulan" oneMonth: "satu bulan"
threeMonths: "3 bulan"
oneYear: "1 tahun"
threeDays: "3 hari"
reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan." reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan."
failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun" failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun"
rateLimitExceeded: "Batas sudah terlampaui" rateLimitExceeded: "Batas sudah terlampaui"
@ -979,6 +1008,7 @@ neverShow: "Jangan tampilkan lagi"
remindMeLater: "Mungkin nanti" remindMeLater: "Mungkin nanti"
didYouLikeMisskey: "Apakah kamu mulai menyukai Misskey?" didYouLikeMisskey: "Apakah kamu mulai menyukai Misskey?"
pleaseDonate: "{host} menggunakan perangkat lunak bebas yaitu Misskey. Kami sangat mengapresiasi sekali donasi dari kamu agar pengembangan Misskey tetap dapat berlanjut!" pleaseDonate: "{host} menggunakan perangkat lunak bebas yaitu Misskey. Kami sangat mengapresiasi sekali donasi dari kamu agar pengembangan Misskey tetap dapat berlanjut!"
correspondingSourceIsAvailable: "Sumber kode terkait tersedia di {anchor}"
roles: "Peran" roles: "Peran"
role: "Peran" role: "Peran"
noRole: "Peran tidak temukan" noRole: "Peran tidak temukan"
@ -1029,6 +1059,9 @@ resetPasswordConfirm: "Yakin untuk mereset kata sandimu?"
sensitiveWords: "Kata sensitif" sensitiveWords: "Kata sensitif"
sensitiveWordsDescription: "Visibilitas dari semua catatan mengandung kata yang telah diatur akan dijadikan \"Beranda\" secara otomatis. Kamu dapat mendaftarkan kata tersebut lebih dari satu dengan menuliskannya di baris baru." sensitiveWordsDescription: "Visibilitas dari semua catatan mengandung kata yang telah diatur akan dijadikan \"Beranda\" secara otomatis. Kamu dapat mendaftarkan kata tersebut lebih dari satu dengan menuliskannya di baris baru."
sensitiveWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler." sensitiveWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler."
prohibitedWords: "Kata yang dilarang"
prohibitedWordsDescription: "Menyalakan kesalahan ketika mencoba untuk memposting catatan dengan set kata-kata yang termasuk. Beberapa kata dapat diatur dan dipisahkan dengan baris baru."
prohibitedWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler."
hiddenTags: "Tagar tersembunyi" hiddenTags: "Tagar tersembunyi"
hiddenTagsDescription: "Pilih tanda yang mana akan tidak diperlihatkan dalam daftar tren.\nTanda lebih dari satu dapat didaftarkan dengan tiap baris." hiddenTagsDescription: "Pilih tanda yang mana akan tidak diperlihatkan dalam daftar tren.\nTanda lebih dari satu dapat didaftarkan dengan tiap baris."
notesSearchNotAvailable: "Pencarian catatan tidak tersedia." notesSearchNotAvailable: "Pencarian catatan tidak tersedia."
@ -1047,6 +1080,8 @@ limitWidthOfReaction: "Batasi lebar maksimum reaksi dan tampilkan dalam ukuran t
noteIdOrUrl: "ID catatan atau URL" noteIdOrUrl: "ID catatan atau URL"
video: "Video" video: "Video"
videos: "Video" videos: "Video"
audio: "Suara"
audioFiles: "Berkas Suara"
dataSaver: "Penghemat data" dataSaver: "Penghemat data"
accountMigration: "Pemindahan akun" accountMigration: "Pemindahan akun"
accountMoved: "Pengguna ini telah berpindah ke akun baru:" accountMoved: "Pengguna ini telah berpindah ke akun baru:"
@ -1074,6 +1109,7 @@ preservedUsernames: "Nama pengguna tercadangkan"
preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah dengan baris baru. Nama pengguna berikut akan tidak dapat dipakai pada pembuatan akun normal, namun dapat digunakan oleh admin untuk membuat akun baru. Akun yang sudah ada dengan menggunakan nama pengguna ini tidak akan terpengaruh." preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah dengan baris baru. Nama pengguna berikut akan tidak dapat dipakai pada pembuatan akun normal, namun dapat digunakan oleh admin untuk membuat akun baru. Akun yang sudah ada dengan menggunakan nama pengguna ini tidak akan terpengaruh."
createNoteFromTheFile: "Buat catatan dari berkas ini" createNoteFromTheFile: "Buat catatan dari berkas ini"
archive: "Arsipkan" archive: "Arsipkan"
archived: "Diarsipkan"
channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?" 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." 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." thisChannelArchived: "Kanal ini telah diarsipkan."
@ -1084,6 +1120,7 @@ preventAiLearning: "Tolak penggunaan Pembelajaran Mesin (AI Generatif)"
preventAiLearningDescription: "Minta perayap web untuk tidak menggunakan materi teks atau gambar yang telah diposting ke dalam set data Pembelajaran Mesin (Prediktif / Generatif). Hal ini dicapai dengan menambahkan flag HTML-Response \"noai\" ke masing-masing konten. Pencegahan penuh mungkin tidak dapat dicapai dengan flag ini, karena juga dapat diabaikan begitu saja." preventAiLearningDescription: "Minta perayap web untuk tidak menggunakan materi teks atau gambar yang telah diposting ke dalam set data Pembelajaran Mesin (Prediktif / Generatif). Hal ini dicapai dengan menambahkan flag HTML-Response \"noai\" ke masing-masing konten. Pencegahan penuh mungkin tidak dapat dicapai dengan flag ini, karena juga dapat diabaikan begitu saja."
options: "Opsi peran" options: "Opsi peran"
specifyUser: "Pengguna spesifik" specifyUser: "Pengguna spesifik"
openTagPageConfirm: "Apakah ingin membuka laman tagar?"
failedToPreviewUrl: "Tidak dapat dipratinjau" failedToPreviewUrl: "Tidak dapat dipratinjau"
update: "Perbarui" update: "Perbarui"
rolesThatCanBeUsedThisEmojiAsReaction: "Peran yang dapat menggunakan emoji ini sebagai reaksi" rolesThatCanBeUsedThisEmojiAsReaction: "Peran yang dapat menggunakan emoji ini sebagai reaksi"
@ -1142,6 +1179,7 @@ showRenotes: "Tampilkan renote"
edited: "Telah disunting" edited: "Telah disunting"
notificationRecieveConfig: "Pengaturan notifikasi" notificationRecieveConfig: "Pengaturan notifikasi"
mutualFollow: "Saling mengikuti" mutualFollow: "Saling mengikuti"
followingOrFollower: "Mengikuti atau pengikut"
fileAttachedOnly: "Hanya catatan dengan berkas" fileAttachedOnly: "Hanya catatan dengan berkas"
showRepliesToOthersInTimeline: "Tampilkan balasan ke pengguna lain dalam lini masa" showRepliesToOthersInTimeline: "Tampilkan balasan ke pengguna lain dalam lini masa"
hideRepliesToOthersInTimeline: "Sembunyikan balasan ke orang lain dari lini masa" hideRepliesToOthersInTimeline: "Sembunyikan balasan ke orang lain dari lini masa"
@ -1150,6 +1188,13 @@ hideRepliesToOthersInTimelineAll: "Sembuyikan balasan ke lainnya dari semua oran
confirmShowRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menampilkan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?" confirmShowRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menampilkan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?"
confirmHideRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menyembunyikan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?" confirmHideRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menyembunyikan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?"
externalServices: "Layanan eksternal" externalServices: "Layanan eksternal"
sourceCode: "Sumber kode"
sourceCodeIsNotYetProvided: "Sumber kode belum tersedia. Hubungi admin untuk memperbaiki masalah ini."
repositoryUrl: "URL Repositori"
repositoryUrlDescription: "Jika kamu menggunakan Misskey begitu saja (tanpa ada perubahan dalam kode sumber), masukkan https://github.com/misskey-dev/misskey"
repositoryUrlOrTarballRequired: "Apabila kamu masih mempublikasikan repositori, kamu setidaknya harus menyediakan berkas tarball. Lihat .config/example.yml untuk informasi lebih lanjut."
feedback: "Umpan balik"
feedbackUrl: "URL Umpan balik"
impressum: "Impressum" impressum: "Impressum"
impressumUrl: "Tautan Impressum" impressumUrl: "Tautan Impressum"
impressumDescription: "Pada beberapa negara seperti Jerman, inklusi dari informasi kontak operator (sebuah Impressum) diperlukan secara legal untuk situs web komersil." impressumDescription: "Pada beberapa negara seperti Jerman, inklusi dari informasi kontak operator (sebuah Impressum) diperlukan secara legal untuk situs web komersil."
@ -1174,7 +1219,76 @@ doReaction: "Tambahkan reaksi"
code: "Kode" code: "Kode"
reloadRequiredToApplySettings: "Muat ulang diperlukan untuk menerapkan pengaturan." reloadRequiredToApplySettings: "Muat ulang diperlukan untuk menerapkan pengaturan."
remainingN: "Sisa : {n}" remainingN: "Sisa : {n}"
overwriteContentConfirm: "Apakah kamu yakin untuk menimpa konten saat ini?"
seasonalScreenEffect: "Efek layar musiman"
decorate: "Dekor" decorate: "Dekor"
addMfmFunction: "Tambahkan dekorasi"
enableQuickAddMfmFunction: "Tampilkan pemilih MFM tingkat lanjut"
bubbleGame: "Bubble Game"
sfx: "Efek Suara"
soundWillBePlayed: "Suara yang akan dimainkan"
showReplay: "Lihat tayangan ulang"
replay: "Tayangan ulang"
replaying: "Menayangkan Ulang"
endReplay: "Keluat dari tayangan ulang"
copyReplayData: "Salin data tayangan ulang"
ranking: "Peringkat"
lastNDays: "{n} hari terakhir"
backToTitle: "Ke Judul"
hemisphere: "Letak kamu tinggal"
withSensitive: "Lampirkan catatan dengan berkas sensitif"
userSaysSomethingSensitive: "Postingan oleh {name} mengandung konten sensitif"
enableHorizontalSwipe: "Geser untuk mengganti tab"
loading: "Memuat..."
surrender: "Batalkan"
gameRetry: "Coba lagi"
notUsePleaseLeaveBlank: "Kosongi bila tidak digunakan"
useTotp: "Gunakan TOTP"
useBackupCode: "Gunakan kode cadangan"
launchApp: "Luncurkan Aplikasi"
useNativeUIForVideoAudioPlayer: "Gunakan antarmuka peramban ketika memainkan video dan audio"
keepOriginalFilename: "Simpan nama berkas asli"
keepOriginalFilenameDescription: "Apabila pengaturan ini dimatikan, nama berkas akan diganti dengan string acak secara otomatis ketika kamu mengunggah berkas."
noDescription: "Tidak ada deskripsi"
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
inquiry: "Hubungi kami"
tryAgain: "Silahkan coba lagi."
createdLists: "Senarai yang dibuat"
createdAntennas: "Antena yang dibuat"
fromX: "Dari {x}"
noteOfThisUser: "Catatan oleh pengguna ini"
clipNoteLimitExceeded: "Klip ini tak bisa ditambahi lagi catatan."
performance: "Kinerja"
modified: "Diubah"
thereAreNChanges: "Ada {n} perubahan"
prohibitedWordsForNameOfUser: "Kata yang dilarang untuk nama pengguna"
_abuseUserReport:
accept: "Setuju"
reject: "Tolak"
_delivery:
status: "Status pengiriman"
stop: "Ditangguhkan"
resume: "Lanjutkan pengiriman"
_type:
none: "Sedang menyiarkan langsung"
manuallySuspended: "Ditangguhkan manual"
goneSuspended: "Sedang ditangguhkan untuk penghapusan peladen"
autoSuspendedForNotResponding: "Sedang ditangguhkan karena peladen tidak menjawab"
_bubbleGame:
howToPlay: "Cara bermain"
hold: "Tahan"
_score:
score: "Skor"
scoreYen: "Jumlah uang didapat"
highScore: "Skor tertinggi"
maxChain: "Jumlah skor berantai"
yen: "{yen} Yen"
estimatedQty: "{qty} buah"
scoreSweets: "{onigiriQtyWithUnit} onigiri"
_howToPlay:
section1: "Atur posisi dan jatuhkan obyek ke dalam kotak."
section2: "Ketika dua obyek menyentuh tipe yang sama satu sama lain, obyek tersebut akan berganti dan kamu mendapatkan poin skor."
section3: "Permainan berakhir jika obyek memenuhi kotak. Capai skor tertinggi dengan menggabungkan obyek bersama sambil menghindari obyek tersebut memenuhi kotak permainan!"
_announcement: _announcement:
forExistingUsers: "Hanya pengguna yang telah ada" forExistingUsers: "Hanya pengguna yang telah ada"
forExistingUsersDescription: "Pengumuman ini akan dimunculkan ke pengguna yang sudah ada dari titik waktu publikasi jika dinyalakan. Apabila dimatikan, mereka yang baru mendaftar setelah publikasi ini akan juga melihatnya." forExistingUsersDescription: "Pengumuman ini akan dimunculkan ke pengguna yang sudah ada dari titik waktu publikasi jika dinyalakan. Apabila dimatikan, mereka yang baru mendaftar setelah publikasi ini akan juga melihatnya."
@ -1184,7 +1298,10 @@ _announcement:
tooManyActiveAnnouncementDescription: "Terlalu banyak pengumuman dapat memperburuk pengalaman pengguna. Mohon pertimbangkan untuk mengarsipkan pengumuman yang sudah usang/tidak relevan." tooManyActiveAnnouncementDescription: "Terlalu banyak pengumuman dapat memperburuk pengalaman pengguna. Mohon pertimbangkan untuk mengarsipkan pengumuman yang sudah usang/tidak relevan."
readConfirmTitle: "Tandai telah dibaca?" readConfirmTitle: "Tandai telah dibaca?"
readConfirmText: "Aksi ini akan menandai konten dari \"{title}\" telah dibaca." readConfirmText: "Aksi ini akan menandai konten dari \"{title}\" telah dibaca."
shouldNotBeUsedToPresentPermanentInfo: "Karena dapat berdampak pada pengalaman pengguna untuk pengguna baru, sangat direkomendasikan untuk menggunakan notifikasi secara mengalir daripada tetap."
dialogAnnouncementUxWarn: "Memiliki dua atau lebih gaya dialog notifikasi secara bersamaan dapat berdampak signifikan pada pengalaman pengguna, mohon untuk menggunakannya dengan hati-hati."
silence: "Tiada notifikasi" silence: "Tiada notifikasi"
silenceDescription: "Apabila diaktifkan, notifikasi dari pengumuman ini akan dilewatkan dan pengguna tidak perlu membacanya."
_initialAccountSetting: _initialAccountSetting:
accountCreated: "Akun kamu telah sukses dibuat!" accountCreated: "Akun kamu telah sukses dibuat!"
letsStartAccountSetup: "Untuk pemula, ayo atur profilmu dulu." letsStartAccountSetup: "Untuk pemula, ayo atur profilmu dulu."
@ -1197,6 +1314,7 @@ _initialAccountSetting:
pushNotificationDescription: "Menyalakan notifikasi dorong akan membuatmu menerima notifikasi dari {name} secara langsung ke perangkatmu." pushNotificationDescription: "Menyalakan notifikasi dorong akan membuatmu menerima notifikasi dari {name} secara langsung ke perangkatmu."
initialAccountSettingCompleted: "Pengaturan profil selesai!" initialAccountSettingCompleted: "Pengaturan profil selesai!"
haveFun: "Selamat menikmati, {name}!" haveFun: "Selamat menikmati, {name}!"
youCanContinueTutorial: "Kamu dapat menjutkan ke tutorial dalam bagaimana menggunakan {name} (Misskey) atau kamu dapat keluar dari pemasangan ini dan langsung menggunakannya segera."
startTutorial: "Mulai Tutorial" startTutorial: "Mulai Tutorial"
skipAreYouSure: "Yakin melewati atur profil?" skipAreYouSure: "Yakin melewati atur profil?"
laterAreYouSure: "Yakin banget untuk atur profil nanti?" laterAreYouSure: "Yakin banget untuk atur profil nanti?"
@ -1210,24 +1328,63 @@ _initialTutorial:
description: "Di sini kamu dapat mempelajari dasar-dasar dari penggunaan Misskey dan fitur-fiturnya." description: "Di sini kamu dapat mempelajari dasar-dasar dari penggunaan Misskey dan fitur-fiturnya."
_note: _note:
title: "Apa itu Catatan?" title: "Apa itu Catatan?"
description: "Postingan di Misskey disebut sebagai 'Catatan'. Catatan ditampilkan secara kronologis pada lini masa dan dimutakhirkan secara real-time."
reply: "Klik pada tombol ini untuk membalas ke sebuah pesan. Bisa juga untuk membalas ke sebuah balasan dan melanjutkannya seperti percakapan selayaknya utas."
renote: "Kamu dapat membagikan catatan ke lini masa milikmu. Kamu juga dapat mengutipnya dengan komentarmu."
reaction: "Kamu dapat menambahkan reaksi ke Catatan. Detil lebih lanjut akan dijelaskan di halaman berikutnya."
menu: "Kamu dapat melihat detil catatan, menyalin tautan, dan melakukan aksi lainnya."
_reaction: _reaction:
title: "Apa itu Reaksi?" title: "Apa itu Reaksi?"
description: "Catatan dapat direaksi dengan berbagai emoji. Reaksi memperbolehkan kamu untuk mengekspresikan nuansa yang tidak dapat disampaikan hanya dengan sebuah \"suka\"."
letsTryReacting: "Reaksi dapat ditambahkan dengan mengklik tombol '+' pada catatan. Coba lakukan mereaksi contoh catatan ini!"
reactToContinue: "Tambahkan reaksi untuk melanjutkan."
reactNotification: "Kamu akan menerima notifikasi real0time ketika seseorang mereaksi catatan kamu."
reactDone: "Kamu dapat mengurungkan reaksi dengan menekan tombol '-'."
_timeline: _timeline:
title: "Konsep Lini Masa" title: "Konsep Lini Masa"
description1: "Misskey menyediakan berbagai lini masa sesuai dengan penggunaan (beberapa mungkin tidak tersedia karena bergantung dengan kebijakan peladen)."
home: "Kamu dapat melihat catatan dari akun yang kamu ikuti."
local: "Kamu dapat melihat catatan dari semua pengguna yang ada pada peladen ini."
social: "Catatan dari linimasa Beranda dan Lokal akan ditampilkan."
global: "Kamu dapat melihat catatan dari semua peladen yang terhubung."
description2: "Kamu dapat mengganti linimasa di bagian atas layar kamu kapan saja."
description3: "Sebagai tambahan, terdapat juga linimasa daftar dan linimasa kanal. Untuk detil lebih lanjut, silahkan melihat ke tautan berikut: {link}."
_postNote: _postNote:
title: "Pengaturan posting Catatan" title: "Pengaturan posting Catatan"
description1: "Ketika memposting catatan ke Misskey, terdapat beberapa opsi yang tersedia. Form posting terlihat seperti ini."
_visibility: _visibility:
description: "Kamu dapat membatasi siapa yang dapat melihat catatan kamu."
public: "Perlihatkan catatan ke semua pengguna." public: "Perlihatkan catatan ke semua pengguna."
home: "Hanya publik ke lini masa Beranda. Pengguna yang mengunjungi profilmu melalui pengikut dan renote dapat melihatnya." home: "Hanya publik ke lini masa Beranda. Pengguna yang mengunjungi profilmu melalui pengikut dan renote dapat melihatnya."
followers: "Perlihatkan ke pengikut saja. Hanya pengikut yang dapat melihat postinganmu dan tidak dapat direnote oleh siapapun." followers: "Perlihatkan ke pengikut saja. Hanya pengikut yang dapat melihat postinganmu dan tidak dapat direnote oleh siapapun."
direct: "Hanya perlihatkan ke pengguna spesifik dan penerima akan diberi tahu. Dapat juga digunakan sebagai alternatif dari pesan langsung." direct: "Hanya perlihatkan ke pengguna spesifik dan penerima akan diberi tahu. Dapat juga digunakan sebagai alternatif dari pesan langsung."
doNotSendConfidencialOnDirect1: "Hati-hati ketika mengirim informasi yang sensitif!"
doNotSendConfidencialOnDirect2: "Admin dari peladen dapat melihat apa yang kamu tulis. Hati-hati dengan informasi sensitif ketika mengirimkan catatan langsung kepada pengguna pada peladen yang tidak dipercaya."
localOnly: "Memposting dengan opsi ini tidak akan memfederasi catatan ke peladen lain. Pengguna pada peladen lain tidak akan dapat melihat catatan ini secara langsung, meskipun dengan pengaturan visibilitas yang sudah diatur di atas."
_cw: _cw:
title: "Peringatan Konten (CW)" title: "Peringatan Konten (CW)"
description: "Alih-alih isinya, konten yang ditulis dalam kolom 'komentar' akan ditampilkan. Menekan 'Selebihnya' akan menampilkan isi konten."
_exampleNote: _exampleNote:
cw: "Peringatan: Bikin Lapar!" cw: "Peringatan: Bikin Lapar!"
note: "Baru aja makan donat berlapis coklat 🍩😋" note: "Baru aja makan donat berlapis coklat 🍩😋"
useCases: "Fungsi ini digunakan ketika mengikutik panduan peladen untuk catatan yang dibutuhkan atau untuk membatasi diri dari teks sensitif atau spoiler."
_howToMakeAttachmentsSensitive: _howToMakeAttachmentsSensitive:
title: "Bagaimana menandai lampiran sebagai sensitif?" title: "Bagaimana menandai lampiran sebagai sensitif?"
description: "Fungsi ini digunakan untuk lampiran yang dibutuhkan oleh panduan peladen atau sesuatu yang seharusnya tidak boleh dibiarkan begitu saja dengan cara menambahkan penanda \"sensitif\"."
tryThisFile: "Coba tandai gambar yang dilampirkan pada form ini sebagai sensitif!"
_exampleNote:
note: "Ups, kesalahan banget buka penutup wadah natto..."
method: "Untuk menandai lampiran sebagai sensitif, klik gambar pada berkas, buka menu, lalu klik \"Tandai sebagai sensitif\"."
sensitiveSucceeded: "Ketika melampirkan berkas, mohon atur sensitifitas sesuai dengan panduan peladen."
doItToContinue: "Tandai berkas terlampir sebagai sensitif untuk melanjutkan."
_done:
title: "Kamu telah menyelesaikan tutorial! 🎉"
description: "Fungsi yang diperkenalkan di sini merupakan sebagian kecil dari fitur yang ada. Untuk pemahaman lebih detil dalam menggunakan Misskey, kamu dapat merujuk ke {link}."
_timelineDescription:
home: "Pada linimasa Beranda, kamu dapat melihat catatan dari akun yang kamu ikuti."
local: "Pada linimasa Lokal, kamu dapat melihat catatan dari semua pengguna yang ada pada peladen ini."
social: "Linimasa sosial menampilkan catatan dari kedua linimasa Beranda dan Lokal."
global: "Pada linimasa Global, kamu dapat melihat catatan dari semua peladen yang terhubung."
_serverRules: _serverRules:
description: "Daftar peraturan akan ditampilkan sebelum pendaftaran. Mengatur ringkasan dari Syarat dan Ketentuan sangat direkomendasikan." description: "Daftar peraturan akan ditampilkan sebelum pendaftaran. Mengatur ringkasan dari Syarat dan Ketentuan sangat direkomendasikan."
_serverSettings: _serverSettings:
@ -1239,6 +1396,9 @@ _serverSettings:
manifestJsonOverride: "Ambil alih manifest.json" manifestJsonOverride: "Ambil alih manifest.json"
shortName: "Nama pendek" shortName: "Nama pendek"
shortNameDescription: "Inisial untuk nama instansi yang dapat ditampilkan apabila nama lengkap resmi terlalu panjang." shortNameDescription: "Inisial untuk nama instansi yang dapat ditampilkan apabila nama lengkap resmi terlalu panjang."
fanoutTimelineDescription: "Dapat meningkatkan performa dalam pengambilan data linimasa dan mengurangi beban pada database ketika dinyalakan. Sebagai gantinya, penggunaan memory pada Redis akan meningkan. Pertimbangkan untuk menonaktifkan fitur ini jika mengalami kekurangan memori pada server atau menyebabkan server tidak stabil."
fanoutTimelineDbFallback: "Fallback ke database"
fanoutTimelineDbFallbackDescription: "Ketika diaktifkan, lini masa akan fallback ke database untuk melakukan kueri tambahan apabila linimasa tidak disimpan dalam cache. Menonaktifkan ini dapat mengurangi beban server dengan mengeliminasi proses fallback, namun dapat berakibat membatasi jarak data dari lini masa yang dapat diambil."
_accountMigration: _accountMigration:
moveFrom: "Pindahkan akun lain ke akun ini" moveFrom: "Pindahkan akun lain ke akun ini"
moveFromSub: "Buat alias ke akun lain" moveFromSub: "Buat alias ke akun lain"
@ -1496,6 +1656,16 @@ _achievements:
_smashTestNotificationButton: _smashTestNotificationButton:
title: "Tes overflow" title: "Tes overflow"
description: "Picu tes notifikasi secara berulang dalam waktu yang sangat pendek" description: "Picu tes notifikasi secara berulang dalam waktu yang sangat pendek"
_tutorialCompleted:
title: "Ijazah Sekolah Dasar Misskey"
description: "Tutorial selesai"
_bubbleGameExplodingHead:
title: "🤯"
description: "Obyek paling terbesar di permainan gelembung"
_bubbleGameDoubleExplodingHead:
title: "Ganda 🤯"
description: "Dua dari obyek paling terbesar pada permainan gelembung di waktu yang sama"
flavor: "Kamu dapat mengisi kotak makan siang seperti ini 🤯 🤯."
_role: _role:
new: "Buat peran" new: "Buat peran"
edit: "Sunting peran" edit: "Sunting peran"
@ -1506,7 +1676,9 @@ _role:
assignTarget: "Tipe tugas" assignTarget: "Tipe tugas"
descriptionOfAssignTarget: "<b>Manual</b> untuk mengganti secara manual siapa yang mendapatkan peran ini dan siapa yang tidak.\n<b>Kondisional</b> untuk pengguna secara otomatis dimasukkan atau dihapus dari peran berdasarkan kondisi yang ditentukan." descriptionOfAssignTarget: "<b>Manual</b> untuk mengganti secara manual siapa yang mendapatkan peran ini dan siapa yang tidak.\n<b>Kondisional</b> untuk pengguna secara otomatis dimasukkan atau dihapus dari peran berdasarkan kondisi yang ditentukan."
manual: "Manual" manual: "Manual"
manualRoles: "Peran manual"
conditional: "Kondisional" conditional: "Kondisional"
conditionalRoles: "Peran kondisional"
condition: "Kondisi" condition: "Kondisi"
isConditionalRole: "Ini adalah peran kondisional" isConditionalRole: "Ini adalah peran kondisional"
isPublic: "Publikkan Peran" isPublic: "Publikkan Peran"
@ -1534,6 +1706,7 @@ _role:
gtlAvailable: "Dapat melihat lini masa global" gtlAvailable: "Dapat melihat lini masa global"
ltlAvailable: "Dapat melihat lini masa lokal" ltlAvailable: "Dapat melihat lini masa lokal"
canPublicNote: "Dapat mengirim catatan publik" canPublicNote: "Dapat mengirim catatan publik"
mentionMax: "Jumlah maksimum sebutan dalam sebuah catatan"
canInvite: "Dapat membuat kode undangan instansi" canInvite: "Dapat membuat kode undangan instansi"
inviteLimit: "Batas jumlah undangan" inviteLimit: "Batas jumlah undangan"
inviteLimitCycle: "Interval Penerbitan Kode Undangan" inviteLimitCycle: "Interval Penerbitan Kode Undangan"
@ -1555,9 +1728,18 @@ _role:
canHideAds: "Dapat menyembunyikan iklan" canHideAds: "Dapat menyembunyikan iklan"
canSearchNotes: "Penggunaan pencarian catatan" canSearchNotes: "Penggunaan pencarian catatan"
canUseTranslator: "Penggunaan penerjemah" canUseTranslator: "Penggunaan penerjemah"
avatarDecorationLimit: "Jumlah maksimum dekorasi avatar yang dapat diterapkan"
canImportAntennas: "Izinkan mengimpor antena"
canImportUserLists: "Izinkan mengimpor senarai"
_condition: _condition:
roleAssignedTo: "Ditugaskan ke peran manual"
isLocal: "Pengguna lokal" isLocal: "Pengguna lokal"
isRemote: "Pengguna remote" isRemote: "Pengguna remote"
isCat: "Pengguna Kucing"
isBot: "Pengguna Bot"
isSuspended: "Pengguna yang ditangguhkan"
isLocked: "Akun privat"
isExplorable: "Pengguna efektif yang akunnya dapat dicari"
createdLessThan: "Telah berlalu kurang dari X sejak pembuatan akun" createdLessThan: "Telah berlalu kurang dari X sejak pembuatan akun"
createdMoreThan: "Telah berlalu lebih dari X sejak pembuatan akun" createdMoreThan: "Telah berlalu lebih dari X sejak pembuatan akun"
followersLessThanOrEq: "Memiliki pengikut X atau kurang dari tersebut" followersLessThanOrEq: "Memiliki pengikut X atau kurang dari tersebut"
@ -1583,8 +1765,9 @@ _emailUnavailable:
disposable: "Alamat surel temporer tidak dapat digunakan" disposable: "Alamat surel temporer tidak dapat digunakan"
mx: "Peladen alamat surel ini tidak valid" mx: "Peladen alamat surel ini tidak valid"
smtp: "Peladen alamat surel ini tidak merespon" smtp: "Peladen alamat surel ini tidak merespon"
banned: "Kamu tidak dapat mendaftar dengan alamat surel ini"
_ffVisibility: _ffVisibility:
public: "Terbitkan" public: "Publik"
followers: "Tampil untuk pengikut saja" followers: "Tampil untuk pengikut saja"
private: "Tersembunyi" private: "Tersembunyi"
_signup: _signup:
@ -1626,6 +1809,7 @@ _plugin:
installWarn: "Mohon jangan memasang plugin yang tidak dapat dipercayai." installWarn: "Mohon jangan memasang plugin yang tidak dapat dipercayai."
manage: "Manajemen plugin" manage: "Manajemen plugin"
viewSource: "Lihat sumber" viewSource: "Lihat sumber"
viewLog: "Tampilkan log"
_preferencesBackups: _preferencesBackups:
list: "Cadangan yang dibuat" list: "Cadangan yang dibuat"
saveNew: "Simpan cadangan baru" saveNew: "Simpan cadangan baru"
@ -1655,10 +1839,13 @@ _aboutMisskey:
contributors: "Kontributor utama" contributors: "Kontributor utama"
allContributors: "Seluruh kontributor" allContributors: "Seluruh kontributor"
source: "Sumber kode" source: "Sumber kode"
original: "Asli"
thisIsModifiedVersion: "{name} menggunakan versi modifikasi dari Misskey yang asli."
translation: "Terjemahkan Misskey" translation: "Terjemahkan Misskey"
donate: "Donasi ke Misskey" donate: "Donasi ke Misskey"
morePatrons: "Kami sangat mengapresiasi dukungan dari banyak penolong lain yang tidak tercantum disini. Terima kasih! 🥰" morePatrons: "Kami sangat mengapresiasi dukungan dari banyak penolong lain yang tidak tercantum disini. Terima kasih! 🥰"
patrons: "Pendukung" patrons: "Pendukung"
projectMembers: "Anggota proyek"
_displayOfSensitiveMedia: _displayOfSensitiveMedia:
respect: "Sembunyikan media yang ditandai sensitif" respect: "Sembunyikan media yang ditandai sensitif"
ignore: "Tampilkan media yang ditandai sensitif" ignore: "Tampilkan media yang ditandai sensitif"
@ -1683,6 +1870,7 @@ _channel:
notesCount: "terdapat {n} catatan" notesCount: "terdapat {n} catatan"
nameAndDescription: "Nama dan deskripsi" nameAndDescription: "Nama dan deskripsi"
nameOnly: "Hanya nama" nameOnly: "Hanya nama"
allowRenoteToExternal: "Perbolehkan catat ulang dan kutipan di luar dari kanal"
_menuDisplay: _menuDisplay:
sideFull: "Horisontal" sideFull: "Horisontal"
sideIcon: "Horisontal (Ikon)" sideIcon: "Horisontal (Ikon)"
@ -1760,7 +1948,6 @@ _theme:
buttonBg: "Latar belakang tombol" buttonBg: "Latar belakang tombol"
buttonHoverBg: "Latar belakang tombol (Mengambang)" buttonHoverBg: "Latar belakang tombol (Mengambang)"
inputBorder: "Batas bidang masukan" inputBorder: "Batas bidang masukan"
listItemHoverBg: "Latar belakang daftar item (Mengambang)"
driveFolderBg: "Latar belakang folder drive" driveFolderBg: "Latar belakang folder drive"
wallpaperOverlay: "Lapisan wallpaper" wallpaperOverlay: "Lapisan wallpaper"
badge: "Lencana" badge: "Lencana"
@ -1772,8 +1959,15 @@ _sfx:
note: "Catatan" note: "Catatan"
noteMy: "Catatan (Saya)" noteMy: "Catatan (Saya)"
notification: "Notifikasi" notification: "Notifikasi"
antenna: "Penerimaan Antenna" reaction: "Ketika memilih reaksi"
channel: "Notifikasi Kanal" _soundSettings:
driveFile: "Menggunakan berkas audio dalam Drive"
driveFileWarn: "Pilih berkas audio dari Drive"
driveFileTypeWarn: "Berkas ini tidak didukung"
driveFileTypeWarnDescription: "Pilih berkas audio"
driveFileDurationWarn: "Audio ini terlalu panjang"
driveFileDurationWarnDescription: "Audio panjang dapat mengganggu penggunaan Misskey. Masih ingin melanjutkan?"
driveFileError: "Tak bisa memuat audio. Mohon ubah pengaturan"
_ago: _ago:
future: "Masa depan" future: "Masa depan"
justNow: "Baru saja" justNow: "Baru saja"
@ -1785,6 +1979,14 @@ _ago:
monthsAgo: "{n} bulan lalu" monthsAgo: "{n} bulan lalu"
yearsAgo: "{n} tahun lalu" yearsAgo: "{n} tahun lalu"
invalid: "Tidak ada sama sekali disini" invalid: "Tidak ada sama sekali disini"
_timeIn:
seconds: "dalam {n} detik"
minutes: "dalam {n} menit"
hours: "dalam {n} jam"
days: "dalam {n} hari"
weeks: "dalam {n} minggu"
months: "dalam {n} bulan"
years: "dalam {n} tahun"
_time: _time:
second: "detik" second: "detik"
minute: "menit" minute: "menit"
@ -1795,7 +1997,6 @@ _2fa:
registerTOTP: "Daftarkan aplikasi autentikator" registerTOTP: "Daftarkan aplikasi autentikator"
step1: "Pertama, pasang aplikasi autentikasi (seperti {a} atau {b}) di perangkat kamu." step1: "Pertama, pasang aplikasi autentikasi (seperti {a} atau {b}) di perangkat kamu."
step2: "Lalu, pindai kode QR yang ada di layar." step2: "Lalu, pindai kode QR yang ada di layar."
step2Click: "Mengeklik kode QR ini akan membolehkanmu untuk mendaftarkan 2FA ke security-key atau aplikasi autentikator ponsel."
step2Uri: "Masukkan URI berikut jika kamu menggunakan program desktop" step2Uri: "Masukkan URI berikut jika kamu menggunakan program desktop"
step3Title: "Masukkan kode autentikasi" step3Title: "Masukkan kode autentikasi"
step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan." step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan."
@ -1819,6 +2020,7 @@ _2fa:
backupCodesDescription: "Kamu dapat menggunakan kode ini untuk mendapatkan akses ke akun kamu apabila berada dalam situasi tidak dapat menggunakan aplikasi autentikasi 2-faktor yang kamu miliki. Setiap kode hanya dapat digunakan satu kali. Mohon simpan kode ini di tempat yang aman." backupCodesDescription: "Kamu dapat menggunakan kode ini untuk mendapatkan akses ke akun kamu apabila berada dalam situasi tidak dapat menggunakan aplikasi autentikasi 2-faktor yang kamu miliki. Setiap kode hanya dapat digunakan satu kali. Mohon simpan kode ini di tempat yang aman."
backupCodeUsedWarning: "Kode cadangan telah digunakan. Mohon mengatur ulang autentikasi 2-faktor secepatnya apabila kamu sudah tidak dapat menggunakannya lagi." backupCodeUsedWarning: "Kode cadangan telah digunakan. Mohon mengatur ulang autentikasi 2-faktor secepatnya apabila kamu sudah tidak dapat menggunakannya lagi."
backupCodesExhaustedWarning: "Semua kode cadangan telah digunakan. Apabila kamu kehilangan akses pada aplikasi autentikasi 2-faktor milikmu, kamu tidak dapat mengakses akun ini lagi. Mohon atur ulang autentikasi 2-faktor kamu." backupCodesExhaustedWarning: "Semua kode cadangan telah digunakan. Apabila kamu kehilangan akses pada aplikasi autentikasi 2-faktor milikmu, kamu tidak dapat mengakses akun ini lagi. Mohon atur ulang autentikasi 2-faktor kamu."
moreDetailedGuideHere: "Berikut panduan detilnya"
_permissions: _permissions:
"read:account": "Lihat informasi akun" "read:account": "Lihat informasi akun"
"write:account": "Sunting informasi akun" "write:account": "Sunting informasi akun"
@ -1856,6 +2058,54 @@ _permissions:
"write:flash": "Sunting Play" "write:flash": "Sunting Play"
"read:flash-likes": "Lihat daftar Play yang disukai" "read:flash-likes": "Lihat daftar Play yang disukai"
"write:flash-likes": "Sunting daftar Play yang disukai" "write:flash-likes": "Sunting daftar Play yang disukai"
"read:admin:abuse-user-reports": "Lihat laporan pengguna"
"write:admin:delete-account": "Hapus akun pengguna"
"write:admin:delete-all-files-of-a-user": "Hapus semua berkas dari seorang pengguna"
"read:admin:index-stats": "Lihat statistik indeks basis data"
"read:admin:table-stats": "Lihat statistik tabel basis data"
"read:admin:user-ips": "Lihat alamat IP pengguna"
"read:admin:meta": "Lihat metadata instansi"
"write:admin:reset-password": "Atur ulang kata sandi pengguna"
"write:admin:resolve-abuse-user-report": "Selesaikan laporan pengguna"
"write:admin:send-email": "Mengirim surel"
"read:admin:server-info": "Lihat informasi peladen"
"read:admin:show-moderation-log": "Lihat log moderasi"
"read:admin:show-user": "Lihat informasi pengguna privat"
"write:admin:suspend-user": "Tangguhkan pengguna"
"write:admin:unset-user-avatar": "Hapus avatar pengguna"
"write:admin:unset-user-banner": "Hapus banner pengguna"
"write:admin:unsuspend-user": "Batalkan penangguhan pengguna"
"write:admin:meta": "Kelola metadata instansi"
"write:admin:user-note": "Kelola moderasi catatan"
"write:admin:roles": "Kelola peran"
"read:admin:roles": "Lihat peran"
"write:admin:relays": "Kelola relay"
"read:admin:relays": "Lihat relay"
"write:admin:invite-codes": "Kelola kode undangan"
"read:admin:invite-codes": "Lihat kode undangan"
"write:admin:announcements": "Kelola pengumuman"
"read:admin:announcements": "Lihat Pengumuman"
"write:admin:avatar-decorations": "Kelola dekorasi avatar"
"read:admin:avatar-decorations": "Lihat dekorasi avatar"
"write:admin:federation": "Kelola data federasi"
"write:admin:account": "Kelola akun pengguna"
"read:admin:account": "Lihat akun pengguna"
"write:admin:emoji": "Kelola emoji"
"read:admin:emoji": "Lihat emoji"
"write:admin:queue": "Kelola antrian kerja"
"read:admin:queue": "Lihat informasi antrian kerja"
"write:admin:promo": "Kelola catatan promosi"
"write:admin:drive": "Kelola drive pengguna"
"read:admin:drive": "Kelola informasi drive pengguna"
"read:admin:stream": "Gunakan API WebSocket untuk Admin"
"write:admin:ad": "Kelola iklan"
"read:admin:ad": "Lihat iklan"
"write:invite-codes": "Membuat kode undangan"
"read:invite-codes": "Mendapatkan kode undangan"
"write:clip-favorite": "Kelola klip yang difavoritkan"
"read:clip-favorite": "Lihat klip yang difavoritkan"
"read:federation": "Mendapatkan data federasi"
"write:report-abuse": "Melaporkan pelanggaran"
_auth: _auth:
shareAccessTitle: "Mendapatkan ijin akses aplikasi" shareAccessTitle: "Mendapatkan ijin akses aplikasi"
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?" shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
@ -1910,6 +2160,7 @@ _widgets:
_userList: _userList:
chooseList: "Pilih daftar" chooseList: "Pilih daftar"
clicker: "Pengeklik" clicker: "Pengeklik"
birthdayFollowings: "Pengguna yang merayakan hari ulang tahunnya hari ini"
_cw: _cw:
hide: "Sembunyikan" hide: "Sembunyikan"
show: "Lihat konten" show: "Lihat konten"
@ -1972,9 +2223,11 @@ _profile:
changeAvatar: "Ubah avatar" changeAvatar: "Ubah avatar"
changeBanner: "Ubah header" changeBanner: "Ubah header"
verifiedLinkDescription: "Dengan memasukkan URL yang mengandung tautan ke profil kamu di sini, ikon verifikasi kepemilikan dapat ditampilkan di sebelah kolom ini." verifiedLinkDescription: "Dengan memasukkan URL yang mengandung tautan ke profil kamu di sini, ikon verifikasi kepemilikan dapat ditampilkan di sebelah kolom ini."
avatarDecorationMax: "Dapat ditambahkan hingga {max} dekorasi."
_exportOrImport: _exportOrImport:
allNotes: "Semua catatan" allNotes: "Semua catatan"
favoritedNotes: "Catatan favorit" favoritedNotes: "Catatan favorit"
clips: "Klip"
followingList: "Ikuti" followingList: "Ikuti"
muteList: "Bisukan" muteList: "Bisukan"
blockingList: "Blokir" blockingList: "Blokir"
@ -2028,6 +2281,7 @@ _play:
title: "Judul" title: "Judul"
script: "Script" script: "Script"
summary: "Deskripsi" summary: "Deskripsi"
visibilityDescription: "Membuat catatan ini privat berarti tidak akan terlihat pada profil kamu, namun siapapun yang memiliki URL dari catatan ini akan dapat mengaksesnya."
_pages: _pages:
newPage: "Buat halaman baru" newPage: "Buat halaman baru"
editPage: "Sunting halaman" editPage: "Sunting halaman"
@ -2072,6 +2326,8 @@ _pages:
section: "Bagian" section: "Bagian"
image: "Gambar" image: "Gambar"
button: "Tombol" button: "Tombol"
dynamic: "Blok Dinamis"
dynamicDescription: "Blok ini telah dihapus. Mohon gunakan {play} dari sekarang."
note: "Catatan yang ditanam" note: "Catatan yang ditanam"
_note: _note:
id: "ID Catatan" id: "ID Catatan"
@ -2093,12 +2349,18 @@ _notification:
pollEnded: "Hasil Kuesioner telah keluar" pollEnded: "Hasil Kuesioner telah keluar"
newNote: "Catatan baru" newNote: "Catatan baru"
unreadAntennaNote: "Antena {name}" unreadAntennaNote: "Antena {name}"
roleAssigned: "Peran Diberikan"
emptyPushNotificationMessage: "Pembaruan notifikasi dorong" emptyPushNotificationMessage: "Pembaruan notifikasi dorong"
achievementEarned: "Pencapaian didapatkan" achievementEarned: "Pencapaian didapatkan"
testNotification: "Tes notifikasi" testNotification: "Tes notifikasi"
checkNotificationBehavior: "Cek tampilan notifikasi" checkNotificationBehavior: "Cek tampilan notifikasi"
sendTestNotification: "Kirim tes notifikasi" sendTestNotification: "Kirim tes notifikasi"
notificationWillBeDisplayedLikeThis: "Notifikasi akan terlihat seperti ini" notificationWillBeDisplayedLikeThis: "Notifikasi akan terlihat seperti ini"
reactedBySomeUsers: "{n} orang memberikan reaksi"
likedBySomeUsers: "{n} pengguna menyukai catatan kamu"
renotedBySomeUsers: "{n} orang telah merenote"
followedBySomeUsers: "{n} orang telah mengikuti"
flushNotification: "Bersihkan notifikasi"
_types: _types:
all: "Semua" all: "Semua"
note: "Catatan baru" note: "Catatan baru"
@ -2111,7 +2373,9 @@ _notification:
pollEnded: "Jajak pendapat berakhir" pollEnded: "Jajak pendapat berakhir"
receiveFollowRequest: "Permintaan mengikuti diterima" receiveFollowRequest: "Permintaan mengikuti diterima"
followRequestAccepted: "Permintaan mengikuti disetujui" followRequestAccepted: "Permintaan mengikuti disetujui"
roleAssigned: "Peran Diberikan"
achievementEarned: "Pencapaian didapatkan" achievementEarned: "Pencapaian didapatkan"
login: "Masuk"
app: "Notifikasi dari aplikasi tertaut" app: "Notifikasi dari aplikasi tertaut"
_actions: _actions:
followBack: "Ikuti Kembali" followBack: "Ikuti Kembali"
@ -2159,9 +2423,9 @@ _drivecleaner:
orderByCreatedAtAsc: "Tanggal (Naik)" orderByCreatedAtAsc: "Tanggal (Naik)"
_webhookSettings: _webhookSettings:
createWebhook: "Buat Webhook" createWebhook: "Buat Webhook"
modifyWebhook: "Sunting Webhook"
name: "Nama" name: "Nama"
secret: "Secret" secret: "Secret"
events: "Webhook Events"
active: "Aktif" active: "Aktif"
_events: _events:
follow: "Ketika mengikuti pengguna" follow: "Ketika mengikuti pengguna"
@ -2171,6 +2435,13 @@ _webhookSettings:
renote: "Ketika direnote" renote: "Ketika direnote"
reaction: "Ketika menerima reaksi" reaction: "Ketika menerima reaksi"
mention: "Ketika sedang disebut" mention: "Ketika sedang disebut"
deleteConfirm: "Apakah kamu yakin ingin menghapus Webhook?"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Surel"
webhook: "Webhook"
keywords: "Kata kunci"
_moderationLogTypes: _moderationLogTypes:
createRole: "Peran telah dibuat" createRole: "Peran telah dibuat"
deleteRole: "Peran telah dihapus" deleteRole: "Peran telah dihapus"
@ -2195,6 +2466,7 @@ _moderationLogTypes:
resetPassword: "Atur ulang kata sandi" resetPassword: "Atur ulang kata sandi"
suspendRemoteInstance: "Instansi luar telah ditangguhkan" suspendRemoteInstance: "Instansi luar telah ditangguhkan"
unsuspendRemoteInstance: "Instansi luar batal ditangguhkan" unsuspendRemoteInstance: "Instansi luar batal ditangguhkan"
updateRemoteInstanceNote: "Catatan moderasi telah diperbaharui untuk peladen luar."
markSensitiveDriveFile: "Berkas ditandai sensitif" markSensitiveDriveFile: "Berkas ditandai sensitif"
unmarkSensitiveDriveFile: "Berkas batal ditandai sensitif" unmarkSensitiveDriveFile: "Berkas batal ditandai sensitif"
resolveAbuseReport: "Laporan terselesaikan" resolveAbuseReport: "Laporan terselesaikan"
@ -2202,6 +2474,12 @@ _moderationLogTypes:
createAd: "Iklan telah dibuat" createAd: "Iklan telah dibuat"
deleteAd: "Iklan telah dihapus" deleteAd: "Iklan telah dihapus"
updateAd: "Iklan telah diperbaharui" updateAd: "Iklan telah diperbaharui"
createAvatarDecoration: "Buat dekorasi avatar"
updateAvatarDecoration: "Perbarui dekorasi avatar"
deleteAvatarDecoration: "Hapus dekorasi avatar"
unsetUserAvatar: "Hapus avatar pengguna"
unsetUserBanner: "Hapus banner pengguna"
deleteAccount: "Akun dihapus"
_fileViewer: _fileViewer:
title: "Rincian berkas" title: "Rincian berkas"
type: "Jenis berkas" type: "Jenis berkas"
@ -2210,3 +2488,126 @@ _fileViewer:
uploadedAt: "Diunggah pada" uploadedAt: "Diunggah pada"
attachedNotes: "Catatan yang dilampirkan" attachedNotes: "Catatan yang dilampirkan"
thisPageCanBeSeenFromTheAuthor: "Halaman ini hanya dapat dilihat oleh pengguna yang mengunggah bekas ini." thisPageCanBeSeenFromTheAuthor: "Halaman ini hanya dapat dilihat oleh pengguna yang mengunggah bekas ini."
_externalResourceInstaller:
title: "Pasang dari situs eksternal"
checkVendorBeforeInstall: "Pastikan sumber dari sumber daya ini terpercaya sebelum melakukan pemasangan."
_plugin:
title: "Apakah kamu ingin memasang plugin ini?"
metaTitle: "Informasi plugin"
_theme:
title: "Apakah kamu ingin memasang tema ini?"
metaTitle: "Informasi tema"
_meta:
base: "Skema warna dasar"
_vendorInfo:
title: "Informasi sumber"
endpoint: "Referensi Endpoint"
hashVerify: "Verifikasi hash"
_errors:
_invalidParams:
title: "Parameter tidak valid"
description: "Tidak cukup informasi untuk memuat data dari situs eksternal. Mohon konfirmasi kembali URL yang dimasukkan."
_resourceTypeNotSupported:
title: "Sumber daya eksternal ini tidak didukung"
description: "Tipe sumber daya eksternal ini tidak didukung. Mohon kontak administrator dari situs tersebut."
_failedToFetch:
title: "Gagal memuat data"
fetchErrorDescription: "Kesalahan terjadi ketika menghubungkan dengan situs eksternal. Jika percobaan kembali tidak dapat memperbaiki masalah ini, mohon hubungi administrator dari situs tersebut."
parseErrorDescription: "Kesalahan terjadi dalam memproses data yang dimuat dari situs eksternal. Mohon hubungi administrator dari situs tersebut."
_hashUnmatched:
title: "Verifikasi data gagal"
description: "Kesalahan terjadi dalam memverifikasi integritas data yang diambil. Sebagai pencegahan keamanan, pemasangan tidak dapat dilanjutkan. Mohon hubungi administrator dari situs tersebut."
_pluginParseFailed:
title: "Kesalahan AiScript"
description: "Data yang diminta telah diambil dengan sukses, namun kesalahan terjadi ketika AiScript melakukan parsing. Mohon hubungi pembuat plugin. Detil kesalahan dapat dilihat pada konsol Javascript."
_pluginInstallFailed:
title: "Pemasangan plugin gagal"
description: "Kesalahan terjadi ketika pemasangan plugin. Mohon coba lagi. Detil kesalahan dapat dilihat pada konsol Javascript."
_themeParseFailed:
title: "Parsing tema gagal"
description: "Data yang diminta telah diambil dengan sukses, namun kesalahan terjadi ketika tema melakukan parsing. Mohon hubungi pembuat tema. Detil kesalahan dapat dilihat pada konsol Javascript."
_themeInstallFailed:
title: "Pemasangan tema gagal"
description: "Kesalahan terjadi ketika pemasangan tema. Mohon coba lagi. Detil kesalahan dapat dilihat pada konsol Javascript."
_dataSaver:
_media:
title: "Memuat media"
description: "Mencegah gambar/video dimuat secara otomatis. Menyembunyikan gambar/video dan akan dimuat ketika diketuk."
_avatar:
title: "Gambar avatar"
description: "Hentikan animasi gambar avatar. Gambar animasi dapat berukuran lebih besar dari gambar biasa, berpotensi pada pengurangan lalu lintas data lebih jauh."
_urlPreview:
title: "Gambar kecil URL pratinjau"
description: "Gambar kecil URL pratinjau tidak akan dimuat lagi."
_code:
title: "Penyorotan kode"
description: "Jika notasi penyorotan kode digunakan di MFM, dll. Fungsi tersebut tidak akan dimuat apabila tidak diketuk. Penyorotan sintaks membutuhkan pengunduhan berkas definisi penyorotan untuk setiap bahasa pemrograman. Oleh sebab itu, menonaktifkan pemuatan otomatis dari berkas ini dilakukan untuk mengurangi jumlah komunikasi data."
_hemisphere:
N: "Bumi belahan utara"
S: "Bumi belahan selatan"
caption: "Digunakan dalam beberapa pengaturan klien untuk menentukan musim."
_reversi:
reversi: "Reversi"
gameSettings: "Pengaturan permainan"
chooseBoard: "Pilih papan"
blackOrWhite: "Hitam/Putih"
blackIs: "{name} bermain sebagai Hitam"
rules: "Aturan"
thisGameIsStartedSoon: "Permainan akan segera dimulai"
waitingForOther: "Menunggu langkah giliran dari lawan"
waitingForMe: "Menungguh langkah giliran dari kamu"
waitingBoth: "Bersiap"
ready: "Siap"
cancelReady: "Belum siap"
opponentTurn: "Giliran lawan"
myTurn: "Giliran kamu"
turnOf: "Giliran {name}"
pastTurnOf: "Giliran {name}"
surrender: "Menyerah"
surrendered: "Telah menyerah"
timeout: "Waktu habis"
drawn: "Seri"
won: "{name} menang"
black: "Hitam"
white: "Putih"
total: "Jumlah"
turnCount: "Langkah ke {count}"
myGames: "Rondeku"
allGames: "Semua ronde"
ended: "Selesai"
playing: "Sedang bermain"
isLlotheo: "Pemain dengan batu yang sedikit menang (Llotheo)"
loopedMap: "Peta melingkar"
canPutEverywhere: "Keping dapat ditaruh dimana saja"
timeLimitForEachTurn: "Batas waktu untuk gantian"
freeMatch: "Pertandingan bebas"
lookingForPlayer: "Mencari lawan..."
gameCanceled: "Permainan ini telah dibatalkan."
shareToTlTheGameWhenStart: "Bagikan permainan ke lini masa ketika dimulai"
iStartedAGame: "Permainan telah dimulai! #MisskeyReversi"
opponentHasSettingsChanged: "Lawan telah mengganti pengaturan mereka."
allowIrregularRules: "Aturan non-reguler (bebas sepenuhnya)"
disallowIrregularRules: "Tanpa aturan non-reguler"
showBoardLabels: "Tampilkan penomoran baris dan kolom pada papan"
useAvatarAsStone: "Ubah batu menjadi avatar pengguna"
_offlineScreen:
title: "Luring - tidak dapat terhubung ke peladen"
header: "Tidak dapat tersambung ke server"
_urlPreviewSetting:
title: "Pengaturan pratinjau URL"
enable: "Aktifkan pratinjau URL"
timeout: "Waktu timeout pratinjau URL (ms)"
timeoutDescription: "Apabila ini memakan waktu lama dari nilai yang ditentukan untuk mendapatkan pratinjau, pratinjau tidak akan dibuat."
maximumContentLength: "Content-Length Maksimum (bytes)"
maximumContentLengthDescription: "Apabila Content-Length lebih besar dari nilai ini, pratinjau tidak akan dibuat."
requireContentLength: "Buat pratinjau hanya ketika Content-Length dapat didapatkan"
requireContentLengthDescription: "Apabila peladen lain tidak memberika Content-Length, pratinjau tidak akan dibuat."
userAgent: "User-Agent"
userAgentDescription: "Atur User-Agent yang digunakan untuk mengambil pratinjau. Apabila dibiarkan kosong, User-Agent bawaan akan digunakan."
summaryProxy: "Titik akhir proksi yang membuat pratinjau"
summaryProxyDescription: "Bukan untuk Misskey, namun untuk menghasilkan pratinjau menggunakan Summaly Proxy."
summaryProxyDescription2: "Parameter berikut tertautkan dengan proksi sebagai string kueri. Apabila proksi tidak mendukung tersebut, nilai di dalamnya diabaikan."
_mediaControls:
pip: "Gambar dalam Gambar"
playbackRate: "Kecepatan Pemutaran"
loop: "Ulangi Pemutaran"

8230
locales/index.d.ts vendored

File diff suppressed because it is too large Load diff

View file

@ -15,6 +15,7 @@ const merge = (...args) => args.reduce((a, c) => ({
const languages = [ const languages = [
'ar-SA', 'ar-SA',
'ca-ES',
'cs-CZ', 'cs-CZ',
'da-DK', 'da-DK',
'de-DE', 'de-DE',
@ -52,7 +53,11 @@ const primaries = {
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), ''); const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
export function build() { export function build() {
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, import.meta.url), 'utf-8'))) || {}, a), {}); // 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) => { const removeEmpty = (obj) => {

File diff suppressed because it is too large Load diff

View file

@ -8,6 +8,9 @@ search: "検索"
notifications: "通知" notifications: "通知"
username: "ユーザー名" username: "ユーザー名"
password: "パスワード" password: "パスワード"
initialPasswordForSetup: "初期設定開始用パスワード"
initialPasswordIsIncorrect: "初期設定開始用のパスワードが違います。"
initialPasswordForSetupDescription: "Misskeyを自分でインストールした場合は、設定ファイルに入力したパスワードを使用してください。\nMisskeyのホスティングサービスなどを使用している場合は、提供されたパスワードを使用してください。\nパスワードを設定していない場合は、空欄にしたまま続行してください。"
forgotPassword: "パスワードを忘れた" forgotPassword: "パスワードを忘れた"
fetchingAsApObject: "連合に照会中" fetchingAsApObject: "連合に照会中"
ok: "OK" ok: "OK"
@ -60,6 +63,7 @@ copyFileId: "ファイルIDをコピー"
copyFolderId: "フォルダーIDをコピー" copyFolderId: "フォルダーIDをコピー"
copyProfileUrl: "プロフィールURLをコピー" copyProfileUrl: "プロフィールURLをコピー"
searchUser: "ユーザーを検索" searchUser: "ユーザーを検索"
searchThisUsersNotes: "ユーザーのノートを検索"
reply: "返信" reply: "返信"
loadMore: "もっと見る" loadMore: "もっと見る"
showMore: "もっと見る" showMore: "もっと見る"
@ -108,11 +112,14 @@ enterEmoji: "絵文字を入力"
renote: "リノート" renote: "リノート"
unrenote: "リノート解除" unrenote: "リノート解除"
renoted: "リノートしました。" renoted: "リノートしました。"
renotedToX: "{name} にリノートしました。"
cantRenote: "この投稿はリノートできません。" cantRenote: "この投稿はリノートできません。"
cantReRenote: "リノートをリノートすることはできません。" cantReRenote: "リノートをリノートすることはできません。"
quote: "引用" quote: "引用"
inChannelRenote: "チャンネル内リノート" inChannelRenote: "チャンネル内リノート"
inChannelQuote: "チャンネル内引用" inChannelQuote: "チャンネル内引用"
renoteToChannel: "チャンネルにリノート"
renoteToOtherChannel: "他のチャンネルにリノート"
pinnedNote: "ピン留めされたノート" pinnedNote: "ピン留めされたノート"
pinned: "ピン留め" pinned: "ピン留め"
you: "あなた" you: "あなた"
@ -130,6 +137,7 @@ overwriteFromPinnedEmojis: "全般設定から上書きする"
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。" reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
rememberNoteVisibility: "公開範囲を記憶する" rememberNoteVisibility: "公開範囲を記憶する"
attachCancel: "添付取り消し" attachCancel: "添付取り消し"
deleteFile: "ファイルを削除"
markAsSensitive: "センシティブとして設定" markAsSensitive: "センシティブとして設定"
unmarkAsSensitive: "センシティブを解除する" unmarkAsSensitive: "センシティブを解除する"
enterFileName: "ファイル名を入力" enterFileName: "ファイル名を入力"
@ -150,6 +158,7 @@ editList: "リストを編集"
selectChannel: "チャンネルを選択" selectChannel: "チャンネルを選択"
selectAntenna: "アンテナを選択" selectAntenna: "アンテナを選択"
editAntenna: "アンテナを編集" editAntenna: "アンテナを編集"
createAntenna: "アンテナを作成"
selectWidget: "ウィジェットを選択" selectWidget: "ウィジェットを選択"
editWidgets: "ウィジェットを編集" editWidgets: "ウィジェットを編集"
editWidgetsExit: "編集を終了" editWidgetsExit: "編集を終了"
@ -176,6 +185,10 @@ addAccount: "アカウントを追加"
reloadAccountsList: "アカウントリストの情報を更新" reloadAccountsList: "アカウントリストの情報を更新"
loginFailed: "ログインに失敗しました" loginFailed: "ログインに失敗しました"
showOnRemote: "リモートで表示" showOnRemote: "リモートで表示"
continueOnRemote: "リモートで続行"
chooseServerOnMisskeyHub: "Misskey Hubからサーバーを選択"
specifyServerHost: "サーバーのドメインを直接指定"
inputHostName: "ドメインを入力してください"
general: "全般" general: "全般"
wallpaper: "壁紙" wallpaper: "壁紙"
setWallpaper: "壁紙を設定" setWallpaper: "壁紙を設定"
@ -186,6 +199,7 @@ followConfirm: "{name}をフォローしますか?"
proxyAccount: "プロキシアカウント" proxyAccount: "プロキシアカウント"
proxyAccountDescription: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。" proxyAccountDescription: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。"
host: "ホスト" host: "ホスト"
selectSelf: "自分を選択"
selectUser: "ユーザーを選択" selectUser: "ユーザーを選択"
recipient: "宛先" recipient: "宛先"
annotation: "注釈" annotation: "注釈"
@ -201,6 +215,7 @@ perDay: "1日ごと"
stopActivityDelivery: "アクティビティの配送を停止" stopActivityDelivery: "アクティビティの配送を停止"
blockThisInstance: "このサーバーをブロック" blockThisInstance: "このサーバーをブロック"
silenceThisInstance: "サーバーをサイレンス" silenceThisInstance: "サーバーをサイレンス"
mediaSilenceThisInstance: "サーバーをメディアサイレンス"
operations: "操作" operations: "操作"
software: "ソフトウェア" software: "ソフトウェア"
version: "バージョン" version: "バージョン"
@ -221,7 +236,11 @@ clearCachedFilesConfirm: "キャッシュされたリモートファイルをす
blockedInstances: "ブロックしたサーバー" blockedInstances: "ブロックしたサーバー"
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定します。ブロックされたサーバーは、このインスタンスとやり取りできなくなります。" blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定します。ブロックされたサーバーは、このインスタンスとやり取りできなくなります。"
silencedInstances: "サイレンスしたサーバー" silencedInstances: "サイレンスしたサーバー"
silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定します。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなります。ブロックしたインスタンスには影響しません。" silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定します。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになります。ブロックしたインスタンスには影響しません。"
mediaSilencedInstances: "メディアサイレンスしたサーバー"
mediaSilencedInstancesDescription: "メディアサイレンスしたいサーバーのホストを改行で区切って設定します。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われ、カスタム絵文字が使用できないようになります。ブロックしたインスタンスには影響しません。"
federationAllowedHosts: "連合を許可するサーバー"
federationAllowedHostsDescription: "連合を許可するサーバーのホストを改行で区切って設定します。"
muteAndBlock: "ミュートとブロック" muteAndBlock: "ミュートとブロック"
mutedUsers: "ミュートしたユーザー" mutedUsers: "ミュートしたユーザー"
blockedUsers: "ブロックしたユーザー" blockedUsers: "ブロックしたユーザー"
@ -312,6 +331,7 @@ selectFile: "ファイルを選択"
selectFiles: "ファイルを選択" selectFiles: "ファイルを選択"
selectFolder: "フォルダーを選択" selectFolder: "フォルダーを選択"
selectFolders: "フォルダーを選択" selectFolders: "フォルダーを選択"
fileNotSelected: "ファイルが選択されていません"
renameFile: "ファイル名を変更" renameFile: "ファイル名を変更"
folderName: "フォルダー名" folderName: "フォルダー名"
createFolder: "フォルダーを作成" createFolder: "フォルダーを作成"
@ -319,6 +339,7 @@ renameFolder: "フォルダー名を変更"
deleteFolder: "フォルダーを削除" deleteFolder: "フォルダーを削除"
folder: "フォルダー" folder: "フォルダー"
addFile: "ファイルを追加" addFile: "ファイルを追加"
showFile: "ファイルを表示"
emptyDrive: "ドライブは空です" emptyDrive: "ドライブは空です"
emptyFolder: "フォルダーは空です" emptyFolder: "フォルダーは空です"
unableToDelete: "削除できません" unableToDelete: "削除できません"
@ -379,6 +400,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptchaを有効にする" enableHcaptcha: "hCaptchaを有効にする"
hcaptchaSiteKey: "サイトキー" hcaptchaSiteKey: "サイトキー"
hcaptchaSecretKey: "シークレットキー" hcaptchaSecretKey: "シークレットキー"
mcaptcha: "mCaptcha"
enableMcaptcha: "mCaptchaを有効にする"
mcaptchaSiteKey: "サイトキー"
mcaptchaSecretKey: "シークレットキー"
mcaptchaInstanceUrl: "mCaptchaのインスタンスのURL"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHAを有効にする" enableRecaptcha: "reCAPTCHAを有効にする"
recaptchaSiteKey: "サイトキー" recaptchaSiteKey: "サイトキー"
@ -394,6 +420,7 @@ name: "名前"
antennaSource: "受信ソース" antennaSource: "受信ソース"
antennaKeywords: "受信キーワード" antennaKeywords: "受信キーワード"
antennaExcludeKeywords: "除外キーワード" antennaExcludeKeywords: "除外キーワード"
antennaExcludeBots: "Botアカウントを除外"
antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります" antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります"
notifyAntenna: "新しいノートを通知する" notifyAntenna: "新しいノートを通知する"
withFileAntenna: "ファイルが添付されたノートのみ" withFileAntenna: "ファイルが添付されたノートのみ"
@ -427,6 +454,7 @@ totpDescription: "認証アプリを使ってワンタイムパスワードを
moderator: "モデレーター" moderator: "モデレーター"
moderation: "モデレーション" moderation: "モデレーション"
moderationNote: "モデレーションノート" moderationNote: "モデレーションノート"
moderationNoteDescription: "モデレーター間でだけ共有されるメモを記入することができます。"
addModerationNote: "モデレーションノートを追加する" addModerationNote: "モデレーションノートを追加する"
moderationLogs: "モデログ" moderationLogs: "モデログ"
nUsersMentioned: "{n}人が投稿" nUsersMentioned: "{n}人が投稿"
@ -461,10 +489,12 @@ retype: "再入力"
noteOf: "{user}のノート" noteOf: "{user}のノート"
quoteAttached: "引用付き" quoteAttached: "引用付き"
quoteQuestion: "引用として添付しますか?" quoteQuestion: "引用として添付しますか?"
attachAsFileQuestion: "クリップボードのテキストが長いです。テキストファイルとして添付しますか?"
noMessagesYet: "まだチャットはありません" noMessagesYet: "まだチャットはありません"
newMessageExists: "新しいメッセージがあります" newMessageExists: "新しいメッセージがあります"
onlyOneFileCanBeAttached: "メッセージに添付できるファイルはひとつです" onlyOneFileCanBeAttached: "メッセージに添付できるファイルはひとつです"
signinRequired: "続行する前に、サインアップまたはサインインが必要です" signinRequired: "続行する前に、登録またはログインが必要です"
signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があります"
invitations: "招待" invitations: "招待"
invitationCode: "招待コード" invitationCode: "招待コード"
checking: "確認しています" checking: "確認しています"
@ -486,8 +516,12 @@ uiLanguage: "UIの表示言語"
aboutX: "{x}について" aboutX: "{x}について"
emojiStyle: "絵文字のスタイル" emojiStyle: "絵文字のスタイル"
native: "ネイティブ" native: "ネイティブ"
disableDrawer: "メニューをドロワーで表示しない" menuStyle: "メニューのスタイル"
style: "スタイル"
drawer: "ドロワー"
popup: "ポップアップ"
showNoteActionsOnlyHover: "ノートのアクションをホバー時のみ表示する" showNoteActionsOnlyHover: "ノートのアクションをホバー時のみ表示する"
showReactionsCount: "ノートのリアクション数を表示する"
noHistory: "履歴はありません" noHistory: "履歴はありません"
signinHistory: "ログイン履歴" signinHistory: "ログイン履歴"
enableAdvancedMfm: "高度なMFMを有効にする" enableAdvancedMfm: "高度なMFMを有効にする"
@ -568,6 +602,8 @@ ascendingOrder: "昇順"
descendingOrder: "降順" descendingOrder: "降順"
scratchpad: "スクラッチパッド" scratchpad: "スクラッチパッド"
scratchpadDescription: "スクラッチパッドは、AiScriptの実験環境を提供します。Misskeyと対話するコードの記述、実行、結果の確認ができます。" scratchpadDescription: "スクラッチパッドは、AiScriptの実験環境を提供します。Misskeyと対話するコードの記述、実行、結果の確認ができます。"
uiInspector: "UIインスペクター"
uiInspectorDescription: "メモリ上に存在しているUIコンポーネントのインスタンスの一覧を見ることができます。UIコンポーネントはUi:C:系関数により生成されます。"
output: "出力" output: "出力"
script: "スクリプト" script: "スクリプト"
disablePagesScript: "Pagesのスクリプトを無効にする" disablePagesScript: "Pagesのスクリプトを無効にする"
@ -626,6 +662,7 @@ medium: "中"
small: "小" small: "小"
generateAccessToken: "アクセストークンの発行" generateAccessToken: "アクセストークンの発行"
permission: "権限" permission: "権限"
adminPermission: "管理者権限"
enableAll: "全て有効にする" enableAll: "全て有効にする"
disableAll: "全て無効にする" disableAll: "全て無効にする"
tokenRequested: "アカウントへのアクセス許可" tokenRequested: "アカウントへのアクセス許可"
@ -669,6 +706,7 @@ useGlobalSettingDesc: "オンにすると、アカウントの通知設定が使
other: "その他" other: "その他"
regenerateLoginToken: "ログイントークンを再生成" regenerateLoginToken: "ログイントークンを再生成"
regenerateLoginTokenDescription: "ログインに使用される内部トークンを再生成します。通常この操作を行う必要はありません。再生成すると、全てのデバイスでログアウトされます。" regenerateLoginTokenDescription: "ログインに使用される内部トークンを再生成します。通常この操作を行う必要はありません。再生成すると、全てのデバイスでログアウトされます。"
theKeywordWhenSearchingForCustomEmoji: "カスタム絵文字を検索する時のキーワードになります。"
setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できます。" setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できます。"
fileIdOrUrl: "ファイルIDまたはURL" fileIdOrUrl: "ファイルIDまたはURL"
behavior: "動作" behavior: "動作"
@ -677,15 +715,12 @@ abuseReports: "通報"
reportAbuse: "通報" reportAbuse: "通報"
reportAbuseRenote: "リノートを通報" reportAbuseRenote: "リノートを通報"
reportAbuseOf: "{name}を通報する" reportAbuseOf: "{name}を通報する"
fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のノートがある場合はそのURLも記入してください。" fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のノートやページなどがある場合はそのURLも記入してください。"
abuseReported: "内容が送信されました。ご報告ありがとうございました。" abuseReported: "内容が送信されました。ご報告ありがとうございました。"
reporter: "通報者" reporter: "通報者"
reporteeOrigin: "通報先" reporteeOrigin: "通報先"
reporterOrigin: "通報元" reporterOrigin: "通報元"
forwardReport: "リモートサーバーに通報を転送する"
forwardReportIsAnonymous: "リモートサーバーからはあなたの情報は見れず、匿名のシステムアカウントとして表示されます。"
send: "送信" send: "送信"
abuseMarkAsResolved: "対応済みにする"
openInNewTab: "新しいタブで開く" openInNewTab: "新しいタブで開く"
openInSideView: "サイドビューで開く" openInSideView: "サイドビューで開く"
defaultNavigationBehaviour: "デフォルトのナビゲーション" defaultNavigationBehaviour: "デフォルトのナビゲーション"
@ -750,7 +785,7 @@ left: "左"
center: "中央" center: "中央"
wide: "広い" wide: "広い"
narrow: "狭い" narrow: "狭い"
reloadToApplySetting: "設定はページリロード後に反映されます。今すぐリロードしますか?" reloadToApplySetting: "設定はページリロード後に反映されます。"
needReloadToApply: "反映には再起動が必要です。" needReloadToApply: "反映には再起動が必要です。"
showTitlebar: "タイトルバーを表示する" showTitlebar: "タイトルバーを表示する"
clearCache: "キャッシュをクリア" clearCache: "キャッシュをクリア"
@ -822,6 +857,7 @@ administration: "管理"
accounts: "アカウント" accounts: "アカウント"
switch: "切り替え" switch: "切り替え"
noMaintainerInformationWarning: "管理者情報が設定されていません。" noMaintainerInformationWarning: "管理者情報が設定されていません。"
noInquiryUrlWarning: "問い合わせ先URLが設定されていません。"
noBotProtectionWarning: "Botプロテクションが設定されていません。" noBotProtectionWarning: "Botプロテクションが設定されていません。"
configure: "設定する" configure: "設定する"
postToGallery: "ギャラリーへ投稿" postToGallery: "ギャラリーへ投稿"
@ -886,6 +922,7 @@ followersVisibility: "フォロワーの公開範囲"
continueThread: "さらにスレッドを見る" continueThread: "さらにスレッドを見る"
deleteAccountConfirm: "アカウントが削除されます。よろしいですか?" deleteAccountConfirm: "アカウントが削除されます。よろしいですか?"
incorrectPassword: "パスワードが間違っています。" incorrectPassword: "パスワードが間違っています。"
incorrectTotp: "ワンタイムパスワードが間違っているか、期限切れになっています。"
voteConfirm: "「{choice}」に投票しますか?" voteConfirm: "「{choice}」に投票しますか?"
hide: "隠す" hide: "隠す"
useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示" useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示"
@ -910,6 +947,9 @@ oneHour: "1時間"
oneDay: "1日" oneDay: "1日"
oneWeek: "1週間" oneWeek: "1週間"
oneMonth: "1ヶ月" oneMonth: "1ヶ月"
threeMonths: "3ヶ月"
oneYear: "1年"
threeDays: "3日"
reflectMayTakeTime: "反映されるまで時間がかかる場合があります。" reflectMayTakeTime: "反映されるまで時間がかかる場合があります。"
failedToFetchAccountInformation: "アカウント情報の取得に失敗しました" failedToFetchAccountInformation: "アカウント情報の取得に失敗しました"
rateLimitExceeded: "レート制限を超えました" rateLimitExceeded: "レート制限を超えました"
@ -983,6 +1023,7 @@ neverShow: "今後表示しない"
remindMeLater: "また後で" remindMeLater: "また後で"
didYouLikeMisskey: "Misskeyを気に入っていただけましたか" didYouLikeMisskey: "Misskeyを気に入っていただけましたか"
pleaseDonate: "Misskeyは{host}が使用している無料のソフトウェアです。これからも開発を続けられるように、ぜひ寄付をお願いします!" pleaseDonate: "Misskeyは{host}が使用している無料のソフトウェアです。これからも開発を続けられるように、ぜひ寄付をお願いします!"
correspondingSourceIsAvailable: "対応するソースコードは{anchor}から利用可能です。"
roles: "ロール" roles: "ロール"
role: "ロール" role: "ロール"
noRole: "ロールはありません" noRole: "ロールはありません"
@ -1009,7 +1050,8 @@ thisPostMayBeAnnoying: "この投稿は迷惑になる可能性があります
thisPostMayBeAnnoyingHome: "ホームに投稿" thisPostMayBeAnnoyingHome: "ホームに投稿"
thisPostMayBeAnnoyingCancel: "やめる" thisPostMayBeAnnoyingCancel: "やめる"
thisPostMayBeAnnoyingIgnore: "このまま投稿" thisPostMayBeAnnoyingIgnore: "このまま投稿"
collapseRenotes: "見たことのあるリノートを省略して表示" collapseRenotes: "リノートのスマート省略"
collapseRenotesDescription: "リアクションやリノートをしたことがあるノートをたたんで表示します。"
internalServerError: "サーバー内部エラー" internalServerError: "サーバー内部エラー"
internalServerErrorDescription: "サーバー内部で予期しないエラーが発生しました。" internalServerErrorDescription: "サーバー内部で予期しないエラーが発生しました。"
copyErrorInfo: "エラー情報をコピー" copyErrorInfo: "エラー情報をコピー"
@ -1033,6 +1075,9 @@ resetPasswordConfirm: "パスワードリセットしますか?"
sensitiveWords: "センシティブワード" sensitiveWords: "センシティブワード"
sensitiveWordsDescription: "設定したワードが含まれるノートの公開範囲をホームにします。改行で区切って複数設定できます。" sensitiveWordsDescription: "設定したワードが含まれるノートの公開範囲をホームにします。改行で区切って複数設定できます。"
sensitiveWordsDescription2: "スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。" sensitiveWordsDescription2: "スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。"
prohibitedWords: "禁止ワード"
prohibitedWordsDescription: "設定したワードが含まれるノートを投稿しようとした際、エラーとなるようにします。改行で区切って複数設定できます。"
prohibitedWordsDescription2: "スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。"
hiddenTags: "非表示ハッシュタグ" hiddenTags: "非表示ハッシュタグ"
hiddenTagsDescription: "設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。" hiddenTagsDescription: "設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。"
notesSearchNotAvailable: "ノート検索は利用できません。" notesSearchNotAvailable: "ノート検索は利用できません。"
@ -1045,12 +1090,15 @@ retryAllQueuesConfirmTitle: "今すぐ再試行しますか?"
retryAllQueuesConfirmText: "一時的にサーバーの負荷が増大することがあります。" retryAllQueuesConfirmText: "一時的にサーバーの負荷が増大することがあります。"
enableChartsForRemoteUser: "リモートユーザーのチャートを生成" enableChartsForRemoteUser: "リモートユーザーのチャートを生成"
enableChartsForFederatedInstances: "リモートサーバーのチャートを生成" enableChartsForFederatedInstances: "リモートサーバーのチャートを生成"
enableStatsForFederatedInstances: "リモートサーバーの情報を取得"
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加" showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
reactionsDisplaySize: "リアクションの表示サイズ" reactionsDisplaySize: "リアクションの表示サイズ"
limitWidthOfReaction: "リアクションの最大横幅を制限し、縮小して表示する" limitWidthOfReaction: "リアクションの最大横幅を制限し、縮小して表示する"
noteIdOrUrl: "ートIDまたはURL" noteIdOrUrl: "ートIDまたはURL"
video: "動画" video: "動画"
videos: "動画" videos: "動画"
audio: "音声"
audioFiles: "音声"
dataSaver: "データセーバー" dataSaver: "データセーバー"
accountMigration: "アカウントの移行" accountMigration: "アカウントの移行"
accountMoved: "このユーザーは新しいアカウントに移行しました:" accountMoved: "このユーザーは新しいアカウントに移行しました:"
@ -1078,6 +1126,8 @@ preservedUsernames: "予約ユーザー名"
preservedUsernamesDescription: "予約するユーザー名を改行で列挙します。ここで指定されたユーザー名はアカウント作成時に使えなくなりますが、管理者によるアカウント作成時はこの制限を受けません。また、既に存在するアカウントも影響を受けません。" preservedUsernamesDescription: "予約するユーザー名を改行で列挙します。ここで指定されたユーザー名はアカウント作成時に使えなくなりますが、管理者によるアカウント作成時はこの制限を受けません。また、既に存在するアカウントも影響を受けません。"
createNoteFromTheFile: "このファイルからノートを作成" createNoteFromTheFile: "このファイルからノートを作成"
archive: "アーカイブ" archive: "アーカイブ"
archived: "アーカイブ済み"
unarchive: "アーカイブ解除"
channelArchiveConfirmTitle: "{name}をアーカイブしますか?" channelArchiveConfirmTitle: "{name}をアーカイブしますか?"
channelArchiveConfirmDescription: "アーカイブすると、チャンネル一覧や検索結果に表示されなくなり、新たな書き込みもできなくなります。" channelArchiveConfirmDescription: "アーカイブすると、チャンネル一覧や検索結果に表示されなくなり、新たな書き込みもできなくなります。"
thisChannelArchived: "このチャンネルはアーカイブされています。" thisChannelArchived: "このチャンネルはアーカイブされています。"
@ -1088,6 +1138,9 @@ preventAiLearning: "生成AIによる学習を拒否"
preventAiLearningDescription: "外部の文章生成AIや画像生成AIに対して、投稿したートや画像などのコンテンツを学習の対象にしないように要求します。これはnoaiフラグをHTMLレスポンスに含めることによって実現されますが、この要求に従うかはそのAI次第であるため、学習を完全に防止するものではありません。" preventAiLearningDescription: "外部の文章生成AIや画像生成AIに対して、投稿したートや画像などのコンテンツを学習の対象にしないように要求します。これはnoaiフラグをHTMLレスポンスに含めることによって実現されますが、この要求に従うかはそのAI次第であるため、学習を完全に防止するものではありません。"
options: "オプション" options: "オプション"
specifyUser: "ユーザー指定" specifyUser: "ユーザー指定"
lookupConfirm: "照会しますか?"
openTagPageConfirm: "ハッシュタグのページを開きますか?"
specifyHost: "ホスト指定"
failedToPreviewUrl: "プレビューできません" failedToPreviewUrl: "プレビューできません"
update: "更新" update: "更新"
rolesThatCanBeUsedThisEmojiAsReaction: "リアクションとして使えるロール" rolesThatCanBeUsedThisEmojiAsReaction: "リアクションとして使えるロール"
@ -1146,6 +1199,7 @@ showRenotes: "リノートを表示"
edited: "編集済み" edited: "編集済み"
notificationRecieveConfig: "通知の受信設定" notificationRecieveConfig: "通知の受信設定"
mutualFollow: "相互フォロー" mutualFollow: "相互フォロー"
followingOrFollower: "フォロー中またはフォロワー"
fileAttachedOnly: "ファイル付きのみ" fileAttachedOnly: "ファイル付きのみ"
showRepliesToOthersInTimeline: "TLに他の人への返信を含める" showRepliesToOthersInTimeline: "TLに他の人への返信を含める"
hideRepliesToOthersInTimeline: "TLに他の人への返信を含めない" hideRepliesToOthersInTimeline: "TLに他の人への返信を含めない"
@ -1154,6 +1208,13 @@ hideRepliesToOthersInTimelineAll: "TLに現在フォロー中の人全員の返
confirmShowRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めるようにしますか" confirmShowRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めるようにしますか"
confirmHideRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めないようにしますか" confirmHideRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めないようにしますか"
externalServices: "外部サービス" externalServices: "外部サービス"
sourceCode: "ソースコード"
sourceCodeIsNotYetProvided: "ソースコードはまだ提供されていません。この問題の修正について管理者に問い合わせてください。"
repositoryUrl: "リポジトリURL"
repositoryUrlDescription: "ソースコードが公開されているリポジトリがある場合、そのURLを記入します。Misskeyを現状のままソースコードにいかなる変更も加えずに使用している場合は https://github.com/misskey-dev/misskey と記入します。"
repositoryUrlOrTarballRequired: "リポジトリを公開していない場合、代わりにtarballを提供する必要があります。詳細は.config/example.ymlを参照してください。"
feedback: "フィードバック"
feedbackUrl: "フィードバックURL"
impressum: "運営者情報" impressum: "運営者情報"
impressumUrl: "運営者情報URL" impressumUrl: "運営者情報URL"
impressumDescription: "ドイツなどの一部の国と地域では表示が義務付けられています(Impressum)。" impressumDescription: "ドイツなどの一部の国と地域では表示が義務付けられています(Impressum)。"
@ -1183,6 +1244,109 @@ seasonalScreenEffect: "季節に応じた画面の演出"
decorate: "デコる" decorate: "デコる"
addMfmFunction: "装飾を追加" addMfmFunction: "装飾を追加"
enableQuickAddMfmFunction: "高度なMFMのピッカーを表示する" enableQuickAddMfmFunction: "高度なMFMのピッカーを表示する"
bubbleGame: "バブルゲーム"
sfx: "効果音"
soundWillBePlayed: "サウンドが再生されます"
showReplay: "リプレイを見る"
replay: "リプレイ"
replaying: "リプレイ中"
endReplay: "リプレイを終了"
copyReplayData: "リプレイデータをコピー"
ranking: "ランキング"
lastNDays: "直近{n}日"
backToTitle: "タイトルへ"
hemisphere: "お住まいの地域"
withSensitive: "センシティブなファイルを含むノートを表示"
userSaysSomethingSensitive: "{name}のセンシティブなファイルを含む投稿"
enableHorizontalSwipe: "スワイプしてタブを切り替える"
loading: "読み込み中"
surrender: "やめる"
gameRetry: "リトライ"
notUsePleaseLeaveBlank: "使用しない場合は空欄にしてください"
useTotp: "ワンタイムパスワードを使う"
useBackupCode: "バックアップコードを使う"
launchApp: "アプリを起動"
useNativeUIForVideoAudioPlayer: "動画・音声の再生にブラウザのUIを使用する"
keepOriginalFilename: "オリジナルのファイル名を保持"
keepOriginalFilenameDescription: "この設定をオフにすると、アップロード時にファイル名が自動でランダム文字列に置き換えられます。"
noDescription: "説明文はありません"
alwaysConfirmFollow: "フォローの際常に確認する"
inquiry: "お問い合わせ"
tryAgain: "もう一度お試しください。"
confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示するとき確認する"
sensitiveMediaRevealConfirm: "センシティブなメディアです。表示しますか?"
createdLists: "作成したリスト"
createdAntennas: "作成したアンテナ"
fromX: "{x}から"
genEmbedCode: "埋め込みコードを生成"
noteOfThisUser: "このユーザーのノート一覧"
clipNoteLimitExceeded: "これ以上このクリップにノートを追加できません。"
performance: "パフォーマンス"
modified: "変更あり"
discard: "破棄"
thereAreNChanges: "{n}件の変更があります"
signinWithPasskey: "パスキーでログイン"
unknownWebAuthnKey: "登録されていないパスキーです。"
passkeyVerificationFailed: "パスキーの検証に失敗しました。"
passkeyVerificationSucceededButPasswordlessLoginDisabled: "パスキーの検証に成功しましたが、パスワードレスログインが無効になっています。"
messageToFollower: "フォロワーへのメッセージ"
target: "対象"
testCaptchaWarning: "CAPTCHAのテストを目的とした機能です。<strong>本番環境で使用しないでください。</strong>"
prohibitedWordsForNameOfUser: "禁止ワード(ユーザーの名前)"
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。"
yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています"
yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者により、表示にはログインが必要と設定されています"
lockdown: "ロックダウン"
pleaseSelectAccount: "アカウントを選択してください"
availableRoles: "利用可能なロール"
_accountSettings:
requireSigninToViewContents: "コンテンツの表示にログインを必須にする"
requireSigninToViewContentsDescription1: "あなたが作成した全てのノートなどのコンテンツを表示するのにログインを必須にします。クローラーに情報が収集されるのを防ぐ効果が期待できます。"
requireSigninToViewContentsDescription2: "URLプレビュー(OGP)、Webページへの埋め込み、ートの引用に対応していないサーバーからの表示も不可になります。"
requireSigninToViewContentsDescription3: "リモートサーバーに連合されたコンテンツでは、これらの制限が適用されない場合があります。"
makeNotesFollowersOnlyBefore: "過去のノートをフォロワーのみ表示可能にする"
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。"
makeNotesHiddenBefore: "過去のノートを非公開化する"
makeNotesHiddenBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。"
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばない場合があります。"
notesHavePassedSpecifiedPeriod: "指定した時間を経過しているノート"
notesOlderThanSpecifiedDateAndTime: "指定した日時より前のノート"
_abuseUserReport:
forward: "転送"
forwardDescription: "匿名のシステムアカウントとして、リモートサーバーに通報を転送します。"
resolve: "解決"
accept: "是認"
reject: "否認"
resolveTutorial: "内容が正当である通報に対応した場合は「是認」を選択し、肯定的にケースが解決されたことをマークします。\n内容が正当でない通報の場合は「否認」を選択し、否定的にケースが解決されたことをマークします。"
_delivery:
status: "配信状態"
stop: "配信停止"
resume: "配信再開"
_type:
none: "配信中"
manuallySuspended: "手動停止中"
goneSuspended: "サーバー削除のため停止中"
autoSuspendedForNotResponding: "サーバー応答なしのため停止中"
_bubbleGame:
howToPlay: "遊び方"
hold: "ホールド"
_score:
score: "スコア"
scoreYen: "稼いだ金額"
highScore: "ハイスコア"
maxChain: "最大チェーン数"
yen: "{yen}円"
estimatedQty: "{qty}個分"
scoreSweets: "おにぎり {onigiriQtyWithUnit}"
_howToPlay:
section1: "位置を調整してハコにモノを落とします。"
section2: "同じ種類のモノがくっつくと別のモノに変化して、スコアが得られます。"
section3: "モノがハコからあふれるとゲームオーバーです。ハコからあふれないようにしつつモノを融合させてハイスコアを目指そう!"
_announcement: _announcement:
forExistingUsers: "既存ユーザーのみ" forExistingUsers: "既存ユーザーのみ"
@ -1193,7 +1357,7 @@ _announcement:
tooManyActiveAnnouncementDescription: "アクティブなお知らせが多いため、UXが低下する可能性があります。終了したお知らせはアーカイブすることを検討してください。" tooManyActiveAnnouncementDescription: "アクティブなお知らせが多いため、UXが低下する可能性があります。終了したお知らせはアーカイブすることを検討してください。"
readConfirmTitle: "既読にしますか?" readConfirmTitle: "既読にしますか?"
readConfirmText: "「{title}」の内容を読み、既読にします。" readConfirmText: "「{title}」の内容を読み、既読にします。"
shouldNotBeUsedToPresentPermanentInfo: "特に新規ユーザーのUXを損ねる可能性が高いため、ストック情報ではなくフロー情報の掲示にお知らせを使用することを推奨します。" shouldNotBeUsedToPresentPermanentInfo: "特に新規ユーザーのUXを損ねる可能性が高いため、常時掲示するための情報ではなく、即時性が求められる情報の掲示のためにお知らせを使用することを推奨します。"
dialogAnnouncementUxWarn: "ダイアログ形式のお知らせが同時に2つ以上ある場合、UXに悪影響を及ぼす可能性が非常に高いため、使用は慎重に行うことを推奨します。" dialogAnnouncementUxWarn: "ダイアログ形式のお知らせが同時に2つ以上ある場合、UXに悪影響を及ぼす可能性が非常に高いため、使用は慎重に行うことを推奨します。"
silence: "非通知" silence: "非通知"
silenceDescription: "オンにすると、このお知らせは通知されず、既読にする必要もなくなります。" silenceDescription: "オンにすると、このお知らせは通知されず、既読にする必要もなくなります。"
@ -1299,6 +1463,10 @@ _serverSettings:
fanoutTimelineDescription: "有効にすると、各種タイムラインを取得する際のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。サーバーのメモリ容量が少ない場合、または動作が不安定な場合は無効にすることができます。" fanoutTimelineDescription: "有効にすると、各種タイムラインを取得する際のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。サーバーのメモリ容量が少ない場合、または動作が不安定な場合は無効にすることができます。"
fanoutTimelineDbFallback: "データベースへのフォールバック" fanoutTimelineDbFallback: "データベースへのフォールバック"
fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。" fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。"
reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。"
inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターのアクティビティが検出されなかった場合、スパム防止のためこの設定は自動でオフになります。"
_accountMigration: _accountMigration:
moveFrom: "別のアカウントからこのアカウントに移行" moveFrom: "別のアカウントからこのアカウントに移行"
@ -1561,6 +1729,13 @@ _achievements:
_tutorialCompleted: _tutorialCompleted:
title: "Misskey初心者講座 修了証" title: "Misskey初心者講座 修了証"
description: "チュートリアルを完了した" description: "チュートリアルを完了した"
_bubbleGameExplodingHead:
title: "🤯"
description: "バブルゲームで最も大きいモノを出した"
_bubbleGameDoubleExplodingHead:
title: "ダブル🤯"
description: "バブルゲームで最も大きいモを2つ同時に出した"
flavor: "これくらいの おべんとばこに 🤯 🤯 ちょっとつめて"
_role: _role:
new: "ロールの作成" new: "ロールの作成"
@ -1602,6 +1777,7 @@ _role:
gtlAvailable: "グローバルタイムラインの閲覧" gtlAvailable: "グローバルタイムラインの閲覧"
ltlAvailable: "ローカルタイムラインの閲覧" ltlAvailable: "ローカルタイムラインの閲覧"
canPublicNote: "パブリック投稿の許可" canPublicNote: "パブリック投稿の許可"
mentionMax: "ノート内の最大メンション数"
canInvite: "サーバー招待コードの発行" canInvite: "サーバー招待コードの発行"
inviteLimit: "招待コードの作成可能数" inviteLimit: "招待コードの作成可能数"
inviteLimitCycle: "招待コードの発行間隔" inviteLimitCycle: "招待コードの発行間隔"
@ -1610,6 +1786,7 @@ _role:
canManageAvatarDecorations: "アバターデコレーションの管理" canManageAvatarDecorations: "アバターデコレーションの管理"
driveCapacity: "ドライブ容量" driveCapacity: "ドライブ容量"
alwaysMarkNsfw: "ファイルにNSFWを常に付与" alwaysMarkNsfw: "ファイルにNSFWを常に付与"
canUpdateBioMedia: "アイコンとバナーの更新を許可"
pinMax: "ノートのピン留めの最大数" pinMax: "ノートのピン留めの最大数"
antennaMax: "アンテナの作成可能数" antennaMax: "アンテナの作成可能数"
wordMuteMax: "ワードミュートの最大文字数" wordMuteMax: "ワードミュートの最大文字数"
@ -1624,9 +1801,20 @@ _role:
canSearchNotes: "ノート検索の利用" canSearchNotes: "ノート検索の利用"
canUseTranslator: "翻訳機能の利用" canUseTranslator: "翻訳機能の利用"
avatarDecorationLimit: "アイコンデコレーションの最大取付個数" avatarDecorationLimit: "アイコンデコレーションの最大取付個数"
canImportAntennas: "アンテナのインポートを許可"
canImportBlocking: "ブロックのインポートを許可"
canImportFollowing: "フォローのインポートを許可"
canImportMuting: "ミュートのインポートを許可"
canImportUserLists: "リストのインポートを許可"
_condition: _condition:
roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー" isLocal: "ローカルユーザー"
isRemote: "リモートユーザー" isRemote: "リモートユーザー"
isCat: "猫ユーザー"
isBot: "botユーザー"
isSuspended: "サスペンド済みユーザー"
isLocked: "鍵アカウントユーザー"
isExplorable: "「アカウントを見つけやすくする」が有効なユーザー"
createdLessThan: "アカウント作成から~以内" createdLessThan: "アカウント作成から~以内"
createdMoreThan: "アカウント作成から~経過" createdMoreThan: "アカウント作成から~経過"
followersLessThanOrEq: "フォロワー数が~以下" followersLessThanOrEq: "フォロワー数が~以下"
@ -1706,6 +1894,7 @@ _plugin:
installWarn: "信頼できないプラグインはインストールしないでください。" installWarn: "信頼できないプラグインはインストールしないでください。"
manage: "プラグインの管理" manage: "プラグインの管理"
viewSource: "ソースを表示" viewSource: "ソースを表示"
viewLog: "ログを表示"
_preferencesBackups: _preferencesBackups:
list: "作成したバックアップ" list: "作成したバックアップ"
@ -1738,6 +1927,8 @@ _aboutMisskey:
contributors: "コントリビューター" contributors: "コントリビューター"
allContributors: "全てのコントリビューター" allContributors: "全てのコントリビューター"
source: "ソースコード" source: "ソースコード"
original: "オリジナル"
thisIsModifiedVersion: "{name}はオリジナルのMisskeyを改変したバージョンを使用しています。"
translation: "Misskeyを翻訳" translation: "Misskeyを翻訳"
donate: "Misskeyに寄付" donate: "Misskeyに寄付"
morePatrons: "他にも多くの方が支援してくれています。ありがとうございます🥰" morePatrons: "他にも多くの方が支援してくれています。ありがとうございます🥰"
@ -1854,7 +2045,6 @@ _theme:
buttonBg: "ボタンの背景" buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)" buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り" inputBorder: "入力ボックスの縁取り"
listItemHoverBg: "リスト項目の背景 (ホバー)"
driveFolderBg: "ドライブフォルダーの背景" driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ" wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ" badge: "バッジ"
@ -1867,8 +2057,6 @@ _sfx:
note: "ノート" note: "ノート"
noteMy: "ノート(自分)" noteMy: "ノート(自分)"
notification: "通知" notification: "通知"
antenna: "アンテナ受信"
channel: "チャンネル通知"
reaction: "リアクション選択時" reaction: "リアクション選択時"
_soundSettings: _soundSettings:
@ -1878,6 +2066,7 @@ _soundSettings:
driveFileTypeWarnDescription: "音声ファイルを選択してください" driveFileTypeWarnDescription: "音声ファイルを選択してください"
driveFileDurationWarn: "音声が長すぎます" driveFileDurationWarn: "音声が長すぎます"
driveFileDurationWarnDescription: "長い音声を使用するとMisskeyの使用に支障をきたす可能性があります。それでも続行しますか" driveFileDurationWarnDescription: "長い音声を使用するとMisskeyの使用に支障をきたす可能性があります。それでも続行しますか"
driveFileError: "音声が読み込めませんでした。設定を変更してください"
_ago: _ago:
future: "未来" future: "未来"
@ -1910,8 +2099,7 @@ _2fa:
alreadyRegistered: "既に設定は完了しています。" alreadyRegistered: "既に設定は完了しています。"
registerTOTP: "認証アプリの設定を開始" registerTOTP: "認証アプリの設定を開始"
step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。" step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。"
step2: "次に、表示されているQRコードをアプリでスキャンします。" step2: "次に、表示されているQRコードをアプリでスキャンするか、ボタンをクリックして端末上でアプリを開きます。"
step2Click: "QRコードをクリックすると、お使いの端末にインストールされている認証アプリやキーリングに登録できます。"
step2Uri: "デスクトップアプリを使用する場合は次のURIを入力します" step2Uri: "デスクトップアプリを使用する場合は次のURIを入力します"
step3Title: "確認コードを入力" step3Title: "確認コードを入力"
step3: "アプリに表示されている確認コード(トークン)を入力します。" step3: "アプリに表示されている確認コード(トークン)を入力します。"
@ -1935,6 +2123,7 @@ _2fa:
backupCodesDescription: "認証アプリが使用できなくなった場合、以下のバックアップコードを使ってアカウントにアクセスできます。これらのコードは必ず安全な場所に保管してください。各コードは一回だけ使用できます。" backupCodesDescription: "認証アプリが使用できなくなった場合、以下のバックアップコードを使ってアカウントにアクセスできます。これらのコードは必ず安全な場所に保管してください。各コードは一回だけ使用できます。"
backupCodeUsedWarning: "バックアップコードが使用されました。認証アプリが使えなくなっている場合、なるべく早く認証アプリを再設定してください。" backupCodeUsedWarning: "バックアップコードが使用されました。認証アプリが使えなくなっている場合、なるべく早く認証アプリを再設定してください。"
backupCodesExhaustedWarning: "バックアップコードが全て使用されました。認証アプリを利用できない場合、これ以上アカウントにアクセスできなくなります。認証アプリを再登録してください。" backupCodesExhaustedWarning: "バックアップコードが全て使用されました。認証アプリを利用できない場合、これ以上アカウントにアクセスできなくなります。認証アプリを再登録してください。"
moreDetailedGuideHere: "詳細なガイドはこちら"
_permissions: _permissions:
"read:account": "アカウントの情報を見る" "read:account": "アカウントの情報を見る"
@ -1986,7 +2175,6 @@ _permissions:
"read:admin:server-info": "サーバーの情報を見る" "read:admin:server-info": "サーバーの情報を見る"
"read:admin:show-moderation-log": "モデレーションログを見る" "read:admin:show-moderation-log": "モデレーションログを見る"
"read:admin:show-user": "ユーザーのプライベートな情報を見る" "read:admin:show-user": "ユーザーのプライベートな情報を見る"
"read:admin:show-users": "ユーザーのプライベートな情報を見る"
"write:admin:suspend-user": "ユーザーを凍結する" "write:admin:suspend-user": "ユーザーを凍結する"
"write:admin:unset-user-avatar": "ユーザーのアバターを削除する" "write:admin:unset-user-avatar": "ユーザーのアバターを削除する"
"write:admin:unset-user-banner": "ユーザーのバーナーを削除する" "write:admin:unset-user-banner": "ユーザーのバーナーを削除する"
@ -2031,8 +2219,11 @@ _auth:
permissionAsk: "このアプリは次の権限を要求しています" permissionAsk: "このアプリは次の権限を要求しています"
pleaseGoBack: "アプリケーションに戻ってやっていってください" pleaseGoBack: "アプリケーションに戻ってやっていってください"
callback: "アプリケーションに戻っています" callback: "アプリケーションに戻っています"
accepted: "アクセスを許可しました"
denied: "アクセスを拒否しました" denied: "アクセスを拒否しました"
scopeUser: "以下のユーザーとして操作しています"
pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。" pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。"
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許可すると、自動で以下のURLに遷移します"
_antennaSources: _antennaSources:
all: "全てのノート" all: "全てのノート"
@ -2149,10 +2340,14 @@ _profile:
changeBanner: "バナー画像を変更" changeBanner: "バナー画像を変更"
verifiedLinkDescription: "内容にURLを設定すると、リンク先のWebサイトに自分のプロフィールへのリンクが含まれている場合に所有者確認済みアイコンを表示させることができます。" verifiedLinkDescription: "内容にURLを設定すると、リンク先のWebサイトに自分のプロフィールへのリンクが含まれている場合に所有者確認済みアイコンを表示させることができます。"
avatarDecorationMax: "最大{max}つまでデコレーションを付けられます。" avatarDecorationMax: "最大{max}つまでデコレーションを付けられます。"
followedMessage: "フォローされた時のメッセージ"
followedMessageDescription: "フォローされた時に相手に表示する短いメッセージを設定できます。"
followedMessageDescriptionForLockedAccount: "フォローを承認制にしている場合、フォローリクエストを許可した時に表示されます。"
_exportOrImport: _exportOrImport:
allNotes: "全てのノート" allNotes: "全てのノート"
favoritedNotes: "お気に入りにしたノート" favoritedNotes: "お気に入りにしたノート"
clips: "クリップ"
followingList: "フォロー" followingList: "フォロー"
muteList: "ミュート" muteList: "ミュート"
blockingList: "ブロック" blockingList: "ブロック"
@ -2210,6 +2405,7 @@ _play:
title: "タイトル" title: "タイトル"
script: "スクリプト" script: "スクリプト"
summary: "説明" summary: "説明"
visibilityDescription: "非公開に設定するとプロフィールに表示されなくなりますが、URLを知っている人は引き続きアクセスできます。"
_pages: _pages:
newPage: "ページの作成" newPage: "ページの作成"
@ -2245,6 +2441,7 @@ _pages:
eyeCatchingImageSet: "アイキャッチ画像を設定" eyeCatchingImageSet: "アイキャッチ画像を設定"
eyeCatchingImageRemove: "アイキャッチ画像を削除" eyeCatchingImageRemove: "アイキャッチ画像を削除"
chooseBlock: "ブロックを追加" chooseBlock: "ブロックを追加"
enterSectionTitle: "セクションタイトルを入力"
selectType: "種類を選択" selectType: "種類を選択"
contentBlocks: "コンテンツ" contentBlocks: "コンテンツ"
inputBlocks: "入力" inputBlocks: "入力"
@ -2255,6 +2452,8 @@ _pages:
section: "セクション" section: "セクション"
image: "画像" image: "画像"
button: "ボタン" button: "ボタン"
dynamic: "動的ブロック"
dynamicDescription: "このブロックは廃止されています。今後は{play}を利用してください。"
note: "ノート埋め込み" note: "ノート埋め込み"
_note: _note:
@ -2272,7 +2471,7 @@ _notification:
youGotMention: "{name}からのメンション" youGotMention: "{name}からのメンション"
youGotReply: "{name}からのリプライ" youGotReply: "{name}からのリプライ"
youGotQuote: "{name}による引用" youGotQuote: "{name}による引用"
youRenoted: "{name}がRenoteしました" youRenoted: "{name}がリノートしました"
youWereFollowed: "フォローされました" youWereFollowed: "フォローされました"
youReceivedFollowRequest: "フォローリクエストが来ました" youReceivedFollowRequest: "フォローリクエストが来ました"
yourFollowRequestAccepted: "フォローリクエストが承認されました" yourFollowRequestAccepted: "フォローリクエストが承認されました"
@ -2287,8 +2486,12 @@ _notification:
sendTestNotification: "テスト通知を送信する" sendTestNotification: "テスト通知を送信する"
notificationWillBeDisplayedLikeThis: "通知はこのように表示されます" notificationWillBeDisplayedLikeThis: "通知はこのように表示されます"
reactedBySomeUsers: "{n}人がリアクションしました" reactedBySomeUsers: "{n}人がリアクションしました"
likedBySomeUsers: "{n}人がいいねしました"
renotedBySomeUsers: "{n}人がリノートしました" renotedBySomeUsers: "{n}人がリノートしました"
followedBySomeUsers: "{n}人にフォローされました" followedBySomeUsers: "{n}人にフォローされました"
flushNotification: "通知の履歴をリセットする"
exportOfXCompleted: "{x}のエクスポートが完了しました"
login: "ログインがありました"
_types: _types:
all: "すべて" all: "すべて"
@ -2296,7 +2499,7 @@ _notification:
follow: "フォロー" follow: "フォロー"
mention: "メンション" mention: "メンション"
reply: "リプライ" reply: "リプライ"
renote: "Renote" renote: "リノート"
quote: "引用" quote: "引用"
reaction: "リアクション" reaction: "リアクション"
pollEnded: "アンケートが終了" pollEnded: "アンケートが終了"
@ -2304,17 +2507,21 @@ _notification:
followRequestAccepted: "フォローが受理された" followRequestAccepted: "フォローが受理された"
roleAssigned: "ロールが付与された" roleAssigned: "ロールが付与された"
achievementEarned: "実績の獲得" achievementEarned: "実績の獲得"
exportCompleted: "エクスポートが完了した"
login: "ログイン"
test: "通知のテスト"
app: "連携アプリからの通知" app: "連携アプリからの通知"
_actions: _actions:
followBack: "フォローバック" followBack: "フォローバック"
reply: "返信" reply: "返信"
renote: "Renote" renote: "リノート"
_deck: _deck:
alwaysShowMainColumn: "常にメインカラムを表示" alwaysShowMainColumn: "常にメインカラムを表示"
columnAlign: "カラムの寄せ" columnAlign: "カラムの寄せ"
addColumn: "カラムを追加" addColumn: "カラムを追加"
newNoteNotificationSettings: "新着ノート通知の設定"
configureColumn: "カラムの設定" configureColumn: "カラムの設定"
swapLeft: "左に移動" swapLeft: "左に移動"
swapRight: "右に移動" swapRight: "右に移動"
@ -2358,9 +2565,10 @@ _drivecleaner:
_webhookSettings: _webhookSettings:
createWebhook: "Webhookを作成" createWebhook: "Webhookを作成"
modifyWebhook: "Webhookを編集"
name: "名前" name: "名前"
secret: "シークレット" secret: "シークレット"
events: "Webhookを実行するタイミング" trigger: "トリガー"
active: "有効" active: "有効"
_events: _events:
follow: "フォローしたとき" follow: "フォローしたとき"
@ -2370,6 +2578,30 @@ _webhookSettings:
renote: "Renoteされたとき" renote: "Renoteされたとき"
reaction: "リアクションがあったとき" reaction: "リアクションがあったとき"
mention: "メンションされたとき" mention: "メンションされたとき"
_systemEvents:
abuseReport: "ユーザーから通報があったとき"
abuseReportResolved: "ユーザーからの通報を処理したとき"
userCreated: "ユーザーが作成されたとき"
inactiveModeratorsWarning: "モデレーターが一定期間非アクティブになったとき"
inactiveModeratorsInvitationOnlyChanged: "モデレーターが一定期間非アクティブだったため、システムにより招待制へと変更されたとき"
deleteConfirm: "Webhookを削除しますか"
testRemarks: "スイッチの右にあるボタンをクリックするとダミーのデータを使用したテスト用Webhookを送信できます。"
_abuseReport:
_notificationRecipient:
createRecipient: "通報の通知先を追加"
modifyRecipient: "通報の通知先を編集"
recipientType: "通知先の種類"
_recipientType:
mail: "メール"
webhook: "Webhook"
_captions:
mail: "モデレーター権限を持つユーザーのメールアドレスに通知を送ります(通報を受けた時のみ)"
webhook: "指定したSystemWebhookに通知を送ります(通報を受けた時と通報を解決した時にそれぞれ発信)"
keywords: "キーワード"
notifiedUser: "通知先ユーザー"
notifiedWebhook: "使用するWebhook"
deleteConfirm: "通知先を削除しますか?"
_moderationLogTypes: _moderationLogTypes:
createRole: "ロールを作成" createRole: "ロールを作成"
@ -2383,7 +2615,7 @@ _moderationLogTypes:
updateCustomEmoji: "カスタム絵文字更新" updateCustomEmoji: "カスタム絵文字更新"
deleteCustomEmoji: "カスタム絵文字削除" deleteCustomEmoji: "カスタム絵文字削除"
updateServerSettings: "サーバー設定更新" updateServerSettings: "サーバー設定更新"
updateUserNote: "モデレーションノート更新" updateUserNote: "ユーザーのモデレーションノート更新"
deleteDriveFile: "ファイルを削除" deleteDriveFile: "ファイルを削除"
deleteNote: "ノートを削除" deleteNote: "ノートを削除"
createGlobalAnnouncement: "全体のお知らせを作成" createGlobalAnnouncement: "全体のお知らせを作成"
@ -2395,9 +2627,12 @@ _moderationLogTypes:
resetPassword: "パスワードをリセット" resetPassword: "パスワードをリセット"
suspendRemoteInstance: "リモートサーバーを停止" suspendRemoteInstance: "リモートサーバーを停止"
unsuspendRemoteInstance: "リモートサーバーを再開" unsuspendRemoteInstance: "リモートサーバーを再開"
updateRemoteInstanceNote: "リモートサーバーのモデレーションノート更新"
markSensitiveDriveFile: "ファイルをセンシティブ付与" markSensitiveDriveFile: "ファイルをセンシティブ付与"
unmarkSensitiveDriveFile: "ファイルをセンシティブ解除" unmarkSensitiveDriveFile: "ファイルをセンシティブ解除"
resolveAbuseReport: "通報を解決" resolveAbuseReport: "通報を解決"
forwardAbuseReport: "通報を転送"
updateAbuseReportNote: "通報のモデレーションノート更新"
createInvitation: "招待コードを作成" createInvitation: "招待コードを作成"
createAd: "広告を作成" createAd: "広告を作成"
deleteAd: "広告を削除" deleteAd: "広告を削除"
@ -2407,6 +2642,16 @@ _moderationLogTypes:
deleteAvatarDecoration: "アイコンデコレーションを削除" deleteAvatarDecoration: "アイコンデコレーションを削除"
unsetUserAvatar: "ユーザーのアイコンを解除" unsetUserAvatar: "ユーザーのアイコンを解除"
unsetUserBanner: "ユーザーのバナーを解除" unsetUserBanner: "ユーザーのバナーを解除"
createSystemWebhook: "SystemWebhookを作成"
updateSystemWebhook: "SystemWebhookを更新"
deleteSystemWebhook: "SystemWebhookを削除"
createAbuseReportNotificationRecipient: "通報の通知先を作成"
updateAbuseReportNotificationRecipient: "通報の通知先を更新"
deleteAbuseReportNotificationRecipient: "通報の通知先を削除"
deleteAccount: "アカウントを削除"
deletePage: "ページを削除"
deleteFlash: "Playを削除"
deleteGalleryPost: "ギャラリーの投稿を削除"
_fileViewer: _fileViewer:
title: "ファイルの詳細" title: "ファイルの詳細"
@ -2461,14 +2706,116 @@ _externalResourceInstaller:
_dataSaver: _dataSaver:
_media: _media:
title: "メディアの読み込み" title: "メディアの読み込みを無効化"
description: "画像・動画が自動で読み込まれるのを防止します。隠れている画像・動画はタップすると読み込まれます。" description: "画像・動画が自動で読み込まれるのを防止します。隠れている画像・動画はタップすると読み込まれます。"
_avatar: _avatar:
title: "アイコン画像" title: "アイコン画像のアニメーションを無効化"
description: "アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。" description: "アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。"
_urlPreview: _urlPreview:
title: "URLプレビューのサムネイル" title: "URLプレビューのサムネイルを非表示"
description: "URLプレビューのサムネイル画像が読み込まれなくなります。" description: "URLプレビューのサムネイル画像が読み込まれなくなります。"
_code: _code:
title: "コードハイライト" title: "コードハイライトを非表示"
description: "MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。" description: "MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。"
_hemisphere:
N: "北半球"
S: "南半球"
caption: "一部のクライアント設定で、季節を判定するために使用します。"
_reversi:
reversi: "リバーシ"
gameSettings: "対局の設定"
chooseBoard: "ボードを選択"
blackOrWhite: "先行/後攻"
blackIs: "{name}が黒(先行)"
rules: "ルール"
thisGameIsStartedSoon: "対局はまもなく開始されます"
waitingForOther: "相手の準備が完了するのを待っています"
waitingForMe: "あなたの準備が完了するのを待っています"
waitingBoth: "準備してください"
ready: "準備完了"
cancelReady: "準備を再開"
opponentTurn: "相手のターンです"
myTurn: "あなたのターンです"
turnOf: "{name}のターンです"
pastTurnOf: "{name}のターン"
surrender: "投了"
surrendered: "投了により"
timeout: "時間切れ"
drawn: "引き分け"
won: "{name}の勝ち"
black: "黒"
white: "白"
total: "合計"
turnCount: "{count}ターン目"
myGames: "自分の対局"
allGames: "みんなの対局"
ended: "終了"
playing: "対局中"
isLlotheo: "石の少ない方が勝ち(ロセオ)"
loopedMap: "ループマップ"
canPutEverywhere: "どこでも置けるモード"
timeLimitForEachTurn: "1ターンの時間制限"
freeMatch: "フリーマッチ"
lookingForPlayer: "対戦相手を探しています"
gameCanceled: "対局がキャンセルされました"
shareToTlTheGameWhenStart: "開始時に対局をタイムラインに投稿"
iStartedAGame: "対局を開始しました! #MisskeyReversi"
opponentHasSettingsChanged: "相手が設定を変更しました"
allowIrregularRules: "変則許可 (完全フリー)"
disallowIrregularRules: "変則なし"
showBoardLabels: "盤面に行・列番号を表示"
useAvatarAsStone: "石をアイコンにする"
_offlineScreen:
title: "オフライン - サーバーに接続できません"
header: "サーバーに接続できません"
_urlPreviewSetting:
title: "URLプレビューの設定"
enable: "URLプレビューを有効にする"
timeout: "プレビュー取得時のタイムアウト(ms)"
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されません。"
maximumContentLength: "Content-Lengthの最大値(byte)"
maximumContentLengthDescription: "Content-Lengthがこの値を超えた場合、プレビューは生成されません。"
requireContentLength: "Content-Lengthが取得できた場合のみプレビューを生成"
requireContentLengthDescription: "相手サーバがContent-Lengthを返さない場合、プレビューは生成されません。"
userAgent: "User-Agent"
userAgentDescription: "プレビュー取得時に使用されるUser-Agentを設定します。空欄の場合、デフォルトのUser-Agentが使用されます。"
summaryProxy: "プレビューを生成するプロキシのエンドポイント"
summaryProxyDescription: "Misskey本体ではなく、サマリープロキシを使用してプレビューを生成します。"
summaryProxyDescription2: "プロキシには下記パラメータがクエリ文字列として連携されます。プロキシ側がこれらをサポートしない場合、設定値は無視されます。"
_mediaControls:
pip: "ピクチャインピクチャ"
playbackRate: "再生速度"
loop: "ループ再生"
_contextMenu:
title: "コンテキストメニュー"
app: "アプリケーション"
appWithShift: "Shiftキーでアプリケーション"
native: "ブラウザのUI"
_embedCodeGen:
title: "埋め込みコードをカスタマイズ"
header: "ヘッダーを表示"
autoload: "自動で続きを読み込む(非推奨)"
maxHeight: "高さの最大値"
maxHeightDescription: "0で最大値の設定が無効になります。ウィジェットが縦に伸び続けるのを防ぐために、何らかの値に指定してください。"
maxHeightWarn: "高さの最大値制限が無効0になっています。これが意図した変更ではない場合は、高さの最大値を何らかの値に設定してください。"
previewIsNotActual: "プレビュー画面で表示可能な範囲を超えたため、実際に埋め込んだ際とは表示が異なります。"
rounded: "角丸にする"
border: "外枠に枠線をつける"
applyToPreview: "プレビューに反映"
generateCode: "埋め込みコードを作成"
codeGenerated: "コードが生成されました"
codeGeneratedDescription: "生成されたコードをウェブサイトに貼り付けてご利用ください。"
_selfXssPrevention:
warning: "警告"
title: "「この画面に何か貼り付けろ」はすべて詐欺です。"
description1: "ここに何かを貼り付けると、悪意のあるユーザーにアカウントを乗っ取られたり、個人情報を盗まれたりする可能性があります。"
description2: "貼り付けようとしているものが何なのかを正確に理解していない場合は、%c今すぐ作業を中止してこのウィンドウを閉じてください。"
description3: "詳しくはこちらをご確認ください。 {link}"

View file

@ -8,6 +8,9 @@ search: "探す"
notifications: "通知" notifications: "通知"
username: "ユーザー名" username: "ユーザー名"
password: "パスワード" password: "パスワード"
initialPasswordForSetup: "初期設定開始用パスワード"
initialPasswordIsIncorrect: "初期設定開始用のパスワードがちゃうで。"
initialPasswordForSetupDescription: "Miskkeyを自分でインストールしたんやったら、設定ファイルに入れたパスワードを使ってや。\nホスティングサービスを使っとるんやったら、サービスから言われたやつを使うんやで。\n別に何も設定しとらんのやったら、何も入れずに空けといてな。"
forgotPassword: "パスワード忘れたん?" forgotPassword: "パスワード忘れたん?"
fetchingAsApObject: "今ちと連合に照会しとるで" fetchingAsApObject: "今ちと連合に照会しとるで"
ok: "ええで" ok: "ええで"
@ -60,6 +63,7 @@ copyFileId: "ファイルIDをコピー"
copyFolderId: "フォルダーIDをコピー" copyFolderId: "フォルダーIDをコピー"
copyProfileUrl: "プロフィールURLをコピー" copyProfileUrl: "プロフィールURLをコピー"
searchUser: "ユーザーを探す" searchUser: "ユーザーを探す"
searchThisUsersNotes: "ユーザーのノートを検索"
reply: "返事" reply: "返事"
loadMore: "まだまだあるで!" loadMore: "まだまだあるで!"
showMore: "まだまだあるで!" showMore: "まだまだあるで!"
@ -108,11 +112,14 @@ enterEmoji: "絵文字を入れてや"
renote: "リノート" renote: "リノート"
unrenote: "リノートやめる" unrenote: "リノートやめる"
renoted: "リノートしたで。" renoted: "リノートしたで。"
renotedToX: "{name}にリノートしたで"
cantRenote: "この投稿はリノートできへんっぽい。" cantRenote: "この投稿はリノートできへんっぽい。"
cantReRenote: "リノート自体はリノートできへんで。" cantReRenote: "リノート自体はリノートできへんで。"
quote: "引用" quote: "引用"
inChannelRenote: "チャンネルの中でリノート" inChannelRenote: "チャンネルの中でリノート"
inChannelQuote: "チャンネル内引用" inChannelQuote: "チャンネル内引用"
renoteToChannel: "チャンネルにリノート"
renoteToOtherChannel: "他のチャンネルにリノート"
pinnedNote: "ピン留めされとるノート" pinnedNote: "ピン留めされとるノート"
pinned: "ピン留めしとく" pinned: "ピン留めしとく"
you: "あんた" you: "あんた"
@ -130,6 +137,7 @@ overwriteFromPinnedEmojis: "全般設定から上書きする"
reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。" reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。"
rememberNoteVisibility: "公開範囲覚えといて" rememberNoteVisibility: "公開範囲覚えといて"
attachCancel: "のっけるのやめる" attachCancel: "のっけるのやめる"
deleteFile: "ファイルをほかす"
markAsSensitive: "ちょっとこれはアカン" markAsSensitive: "ちょっとこれはアカン"
unmarkAsSensitive: "そこまでアカンことないやろ" unmarkAsSensitive: "そこまでアカンことないやろ"
enterFileName: "ファイル名を入れてや" enterFileName: "ファイル名を入れてや"
@ -150,6 +158,7 @@ editList: "リストいじる"
selectChannel: "チャンネルを選ぶ" selectChannel: "チャンネルを選ぶ"
selectAntenna: "アンテナを選ぶ" selectAntenna: "アンテナを選ぶ"
editAntenna: "アンテナいじる" editAntenna: "アンテナいじる"
createAntenna: "アンテナを作成"
selectWidget: "ウィジェットを選ぶ" selectWidget: "ウィジェットを選ぶ"
editWidgets: "ウィジェットをいじる" editWidgets: "ウィジェットをいじる"
editWidgetsExit: "いじるのをやめる" editWidgetsExit: "いじるのをやめる"
@ -176,6 +185,10 @@ addAccount: "アカウントを追加"
reloadAccountsList: "アカウントリストの情報を更新" reloadAccountsList: "アカウントリストの情報を更新"
loginFailed: "ログインに失敗してもうた…" loginFailed: "ログインに失敗してもうた…"
showOnRemote: "リモートで見る" showOnRemote: "リモートで見る"
continueOnRemote: "リモートで続行"
chooseServerOnMisskeyHub: "Misskey Hubからサーバーを選択"
specifyServerHost: "サーバーのドメインを直接指定"
inputHostName: "ドメインを入力せえや"
general: "全般" general: "全般"
wallpaper: "壁紙" wallpaper: "壁紙"
setWallpaper: "壁紙を設定" setWallpaper: "壁紙を設定"
@ -186,6 +199,7 @@ followConfirm: "{name}をフォローしてええか?"
proxyAccount: "プロキシアカウント" proxyAccount: "プロキシアカウント"
proxyAccountDescription: "プロキシアカウントは、代わりにフォローしてくれるアカウントや。例えば、551に豚まんが無いときやったり、ユーザーがリモートユーザーをアカウントに入れたとき、リストに入れられたユーザーが誰からもフォローされてないと寂しいやん。寂しいし、アクティビティも配達されへんから、プロキシアカウントがフォローしてくれるで。ええやつやん…" proxyAccountDescription: "プロキシアカウントは、代わりにフォローしてくれるアカウントや。例えば、551に豚まんが無いときやったり、ユーザーがリモートユーザーをアカウントに入れたとき、リストに入れられたユーザーが誰からもフォローされてないと寂しいやん。寂しいし、アクティビティも配達されへんから、プロキシアカウントがフォローしてくれるで。ええやつやん…"
host: "ホスト" host: "ホスト"
selectSelf: "自分を選択"
selectUser: "ユーザーを選ぶ" selectUser: "ユーザーを選ぶ"
recipient: "宛先" recipient: "宛先"
annotation: "注釈" annotation: "注釈"
@ -201,6 +215,7 @@ perDay: "1日ごと"
stopActivityDelivery: "アクティビティの配送をやめる" stopActivityDelivery: "アクティビティの配送をやめる"
blockThisInstance: "このサーバーをブロックすんで" blockThisInstance: "このサーバーをブロックすんで"
silenceThisInstance: "サーバーサイレンスすんで?" silenceThisInstance: "サーバーサイレンスすんで?"
mediaSilenceThisInstance: "サーバーをメディアサイレンス"
operations: "操作" operations: "操作"
software: "ソフトウェア" software: "ソフトウェア"
version: "バージョン" version: "バージョン"
@ -222,6 +237,10 @@ blockedInstances: "ブロックしたサーバー"
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定してな。ブロックされてもうたサーバーとはもう金輪際やり取りできひんくなるで。" blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定してな。ブロックされてもうたサーバーとはもう金輪際やり取りできひんくなるで。"
silencedInstances: "サーバーサイレンスされてんねん" silencedInstances: "サーバーサイレンスされてんねん"
silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定すんで。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなんねん。ブロックしたインスタンスには影響せーへんで。" silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定すんで。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなんねん。ブロックしたインスタンスには影響せーへんで。"
mediaSilencedInstances: "メディアサイレンスしたサーバー"
mediaSilencedInstancesDescription: "メディアサイレンスしたいサーバーのホストを改行で区切って設定するで。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われてな、カスタム絵文字が使えへんようになるで。ブロックしたインスタンスには影響せえへんで。"
federationAllowedHosts: "連合を許すサーバー"
federationAllowedHostsDescription: "連合してもいいサーバーのホストを行ごとに区切って設定してや。"
muteAndBlock: "ミュートとブロック" muteAndBlock: "ミュートとブロック"
mutedUsers: "ミュートしとるユーザー" mutedUsers: "ミュートしとるユーザー"
blockedUsers: "ブロックしとるユーザー" blockedUsers: "ブロックしとるユーザー"
@ -312,6 +331,7 @@ selectFile: "ファイル選んでや"
selectFiles: "ファイル選んでや" selectFiles: "ファイル選んでや"
selectFolder: "フォルダ選んでや" selectFolder: "フォルダ選んでや"
selectFolders: "フォルダ選んでや" selectFolders: "フォルダ選んでや"
fileNotSelected: "ファイルが選択されてへんで"
renameFile: "ファイル名をいらう" renameFile: "ファイル名をいらう"
folderName: "フォルダー名" folderName: "フォルダー名"
createFolder: "フォルダー作る" createFolder: "フォルダー作る"
@ -319,6 +339,7 @@ renameFolder: "フォルダー名を変える"
deleteFolder: "フォルダーをほかす" deleteFolder: "フォルダーをほかす"
folder: "フォルダー" folder: "フォルダー"
addFile: "ファイルを追加" addFile: "ファイルを追加"
showFile: "ファイル出す"
emptyDrive: "ドライブは空っぽや" emptyDrive: "ドライブは空っぽや"
emptyFolder: "このフォルダーは空や" emptyFolder: "このフォルダーは空や"
unableToDelete: "消せんかったわ" unableToDelete: "消せんかったわ"
@ -379,6 +400,11 @@ hcaptcha: "hCaptchaキャプチャ"
enableHcaptcha: "hCaptchaキャプチャをつけとく" enableHcaptcha: "hCaptchaキャプチャをつけとく"
hcaptchaSiteKey: "サイトキー" hcaptchaSiteKey: "サイトキー"
hcaptchaSecretKey: "シークレットキー" hcaptchaSecretKey: "シークレットキー"
mcaptcha: "mCaptcha"
enableMcaptcha: "hCaptchaキャプチャをつけとく"
mcaptchaSiteKey: "サイトキー"
mcaptchaSecretKey: "シークレットキー"
mcaptchaInstanceUrl: "mCaptchaのインスタンスのURL"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHAリキャプチャを有効にする" enableRecaptcha: "reCAPTCHAリキャプチャを有効にする"
recaptchaSiteKey: "サイトキー" recaptchaSiteKey: "サイトキー"
@ -394,6 +420,7 @@ name: "名前"
antennaSource: "受信ソース(このソースは食われへん)" antennaSource: "受信ソース(このソースは食われへん)"
antennaKeywords: "受信キーワード" antennaKeywords: "受信キーワード"
antennaExcludeKeywords: "除外キーワード" antennaExcludeKeywords: "除外キーワード"
antennaExcludeBots: "Botアカウントを除外"
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や" antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
notifyAntenna: "新しいノートを通知すんで" notifyAntenna: "新しいノートを通知すんで"
withFileAntenna: "なんか添付されたノートだけ" withFileAntenna: "なんか添付されたノートだけ"
@ -427,6 +454,7 @@ totpDescription: "認証アプリ使うてワンタイムパスワードを入
moderator: "モデレーター" moderator: "モデレーター"
moderation: "モデレーション" moderation: "モデレーション"
moderationNote: "モデレーションノート" moderationNote: "モデレーションノート"
moderationNoteDescription: "モデレーターの中だけで共有するメモを入れれるで。"
addModerationNote: "モデレーションノートを追加するで" addModerationNote: "モデレーションノートを追加するで"
moderationLogs: "モデログ" moderationLogs: "モデログ"
nUsersMentioned: "{n}人が投稿" nUsersMentioned: "{n}人が投稿"
@ -461,10 +489,12 @@ retype: "もっかい入力"
noteOf: "{user}はんのノート" noteOf: "{user}はんのノート"
quoteAttached: "引用付いとるで" quoteAttached: "引用付いとるで"
quoteQuestion: "引用として添付してもええか?" quoteQuestion: "引用として添付してもええか?"
attachAsFileQuestion: "クリップボードのテキストが長すぎるからテキストファイルとして添付してもええか?"
noMessagesYet: "まだチャットはあらへんで" noMessagesYet: "まだチャットはあらへんで"
newMessageExists: "新しいメッセージがきたで" newMessageExists: "新しいメッセージがきたで"
onlyOneFileCanBeAttached: "ごめんな、メッセージに添付できるファイルはひとつだけなんよ。" onlyOneFileCanBeAttached: "ごめんな、メッセージに添付できるファイルはひとつだけなんよ。"
signinRequired: "ログインしてくれへん?" signinRequired: "ログインしてくれへん?"
signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があるで"
invitations: "来てや" invitations: "来てや"
invitationCode: "招待コード" invitationCode: "招待コード"
checking: "確認しとるで" checking: "確認しとるで"
@ -486,8 +516,12 @@ uiLanguage: "UIの表示言語"
aboutX: "{x}について" aboutX: "{x}について"
emojiStyle: "絵文字のスタイル" emojiStyle: "絵文字のスタイル"
native: "ネイティブ" native: "ネイティブ"
disableDrawer: "メニューをドロワーで表示せえへん" menuStyle: "メニューのスタイル"
style: "スタイル"
drawer: "ドロワー"
popup: "ポップアップ"
showNoteActionsOnlyHover: "ノートの操作部をホバー時のみ表示するで" showNoteActionsOnlyHover: "ノートの操作部をホバー時のみ表示するで"
showReactionsCount: "ノートのリアクション数を表示する"
noHistory: "履歴はないわ。" noHistory: "履歴はないわ。"
signinHistory: "ログイン履歴" signinHistory: "ログイン履歴"
enableAdvancedMfm: "ややこしいMFMもありにする" enableAdvancedMfm: "ややこしいMFMもありにする"
@ -568,6 +602,8 @@ ascendingOrder: "小さい順"
descendingOrder: "大きい順" descendingOrder: "大きい順"
scratchpad: "スクラッチパッド" scratchpad: "スクラッチパッド"
scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。" scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。"
uiInspector: "UIインスペクター"
uiInspectorDescription: "メモリ上にあるUIコンポーネントのインスタンス一覧を見れるで。UIコンポーネントはUi:C:系関数で生成されるで。"
output: "出力" output: "出力"
script: "スクリプト" script: "スクリプト"
disablePagesScript: "Pagesのスクリプトを無効にしてや" disablePagesScript: "Pagesのスクリプトを無効にしてや"
@ -626,6 +662,7 @@ medium: "中"
small: "小" small: "小"
generateAccessToken: "アクセストークンの発行" generateAccessToken: "アクセストークンの発行"
permission: "権限" permission: "権限"
adminPermission: "管理者権限"
enableAll: "全部使えるようにする" enableAll: "全部使えるようにする"
disableAll: "全部使えへんようにする" disableAll: "全部使えへんようにする"
tokenRequested: "アカウントへのアクセス許してやったらどうや" tokenRequested: "アカウントへのアクセス許してやったらどうや"
@ -669,6 +706,7 @@ useGlobalSettingDesc: "オンにすると、アカウントの通知設定が使
other: "その他" other: "その他"
regenerateLoginToken: "ログイントークンを再生成" regenerateLoginToken: "ログイントークンを再生成"
regenerateLoginTokenDescription: "ログインに使われる内部トークンをもっかい作るで。いつもならこれをやる必要はないで。もっかい作ると、全部のデバイスでログアウトされるで気ぃつけてなー。" regenerateLoginTokenDescription: "ログインに使われる内部トークンをもっかい作るで。いつもならこれをやる必要はないで。もっかい作ると、全部のデバイスでログアウトされるで気ぃつけてなー。"
theKeywordWhenSearchingForCustomEmoji: "カスタム絵文字を探すときのキーワードになるで。"
setMultipleBySeparatingWithSpace: "スペースで区切って何個でも設定できるで。" setMultipleBySeparatingWithSpace: "スペースで区切って何個でも設定できるで。"
fileIdOrUrl: "ファイルIDかURL" fileIdOrUrl: "ファイルIDかURL"
behavior: "動作" behavior: "動作"
@ -682,10 +720,7 @@ abuseReported: "無事内容が送信されたみたいやで。おおきに〜
reporter: "通報者" reporter: "通報者"
reporteeOrigin: "通報先" reporteeOrigin: "通報先"
reporterOrigin: "通報元" reporterOrigin: "通報元"
forwardReport: "リモートサーバーに通報を転送するで"
forwardReportIsAnonymous: "リモートサーバーからはあんたの情報は見えんなって、匿名のシステムアカウントとして表示されるで。"
send: "送信" send: "送信"
abuseMarkAsResolved: "対応したで"
openInNewTab: "新しいタブで開く" openInNewTab: "新しいタブで開く"
openInSideView: "サイドビューで開く" openInSideView: "サイドビューで開く"
defaultNavigationBehaviour: "デフォルトのナビゲーション" defaultNavigationBehaviour: "デフォルトのナビゲーション"
@ -822,6 +857,7 @@ administration: "管理"
accounts: "アカウント" accounts: "アカウント"
switch: "切り替え" switch: "切り替え"
noMaintainerInformationWarning: "管理者情報が設定されてへんで" noMaintainerInformationWarning: "管理者情報が設定されてへんで"
noInquiryUrlWarning: "問い合わせ先URLが設定されてへんで。"
noBotProtectionWarning: "Botプロテクションが設定されてへんで。" noBotProtectionWarning: "Botプロテクションが設定されてへんで。"
configure: "設定する" configure: "設定する"
postToGallery: "ギャラリーへ投稿" postToGallery: "ギャラリーへ投稿"
@ -881,9 +917,12 @@ makeReactionsPublicDescription: "あんたがしたツッコミ一覧を誰で
classic: "クラシック" classic: "クラシック"
muteThread: "スレッドをミュート" muteThread: "スレッドをミュート"
unmuteThread: "スレッドのミュートを解除" unmuteThread: "スレッドのミュートを解除"
followingVisibility: "フォローの公開範囲"
followersVisibility: "フォロワーの公開範囲"
continueThread: "さらにスレッドを見るで" continueThread: "さらにスレッドを見るで"
deleteAccountConfirm: "アカウントを消すで?ええんか?" deleteAccountConfirm: "アカウントを消すで?ええんか?"
incorrectPassword: "パスワードがちゃうわ。" incorrectPassword: "パスワードがちゃうわ。"
incorrectTotp: "ワンタイムパスワードが間違っとるか、期限が切れとるみたいやな。"
voteConfirm: "「{choice}」に投票するんか?" voteConfirm: "「{choice}」に投票するんか?"
hide: "隠す" hide: "隠す"
useDrawerReactionPickerForMobile: "ケータイとかのときドロワーで表示するで" useDrawerReactionPickerForMobile: "ケータイとかのときドロワーで表示するで"
@ -981,6 +1020,7 @@ neverShow: "今後表示しない"
remindMeLater: "また後で" remindMeLater: "また後で"
didYouLikeMisskey: "Misskey気に入ってくれた" didYouLikeMisskey: "Misskey気に入ってくれた"
pleaseDonate: "Misskeyは{host}が使うとる無料のソフトウェアやで。これからも開発を続けれるように、寄付したってな~。" pleaseDonate: "Misskeyは{host}が使うとる無料のソフトウェアやで。これからも開発を続けれるように、寄付したってな~。"
correspondingSourceIsAvailable: "{anchor}"
roles: "ロール" roles: "ロール"
role: "ロール" role: "ロール"
noRole: "ロールはありまへん" noRole: "ロールはありまへん"
@ -1008,6 +1048,7 @@ thisPostMayBeAnnoyingHome: "ホームに投稿"
thisPostMayBeAnnoyingCancel: "やめとく" thisPostMayBeAnnoyingCancel: "やめとく"
thisPostMayBeAnnoyingIgnore: "このまま投稿" thisPostMayBeAnnoyingIgnore: "このまま投稿"
collapseRenotes: "見たことあるリノートは飛ばして表示するで" collapseRenotes: "見たことあるリノートは飛ばして表示するで"
collapseRenotesDescription: "リアクションやリノートをしたことがあるノートをたたんで表示するで。"
internalServerError: "サーバー内部エラー" internalServerError: "サーバー内部エラー"
internalServerErrorDescription: "サーバーでなんか変なこと起こっとるわ。" internalServerErrorDescription: "サーバーでなんか変なこと起こっとるわ。"
copyErrorInfo: "エラー情報をコピるで" copyErrorInfo: "エラー情報をコピるで"
@ -1031,6 +1072,9 @@ resetPasswordConfirm: "パスワード作り直すんでええな?"
sensitiveWords: "けったいな単語" sensitiveWords: "けったいな単語"
sensitiveWordsDescription: "設定した単語が入っとるノートの公開範囲をホームにしたるわ。改行で区切ったら複数設定できるで。" sensitiveWordsDescription: "設定した単語が入っとるノートの公開範囲をホームにしたるわ。改行で区切ったら複数設定できるで。"
sensitiveWordsDescription2: "スペースで区切るとAND指定、キーワードをスラッシュで囲んだら正規表現や。" sensitiveWordsDescription2: "スペースで区切るとAND指定、キーワードをスラッシュで囲んだら正規表現や。"
prohibitedWords: "禁止ワード"
prohibitedWordsDescription: "設定した言葉が含まれるノートを投稿しようとしたら、エラーが出るようにするで。改行で区切って複数設定できるで。"
prohibitedWordsDescription2: "スペースで区切るとAND指定、キーワードをスラッシュで囲んだら正規表現や。"
hiddenTags: "見えてへんハッシュタグ" hiddenTags: "見えてへんハッシュタグ"
hiddenTagsDescription: "設定したタグを最近流行りのとこに見えんようにすんで。複数設定するときは改行で区切ってな。" hiddenTagsDescription: "設定したタグを最近流行りのとこに見えんようにすんで。複数設定するときは改行で区切ってな。"
notesSearchNotAvailable: "なんかノート探せへん。" notesSearchNotAvailable: "なんかノート探せへん。"
@ -1043,12 +1087,15 @@ retryAllQueuesConfirmTitle: "もっかいやってみるか?"
retryAllQueuesConfirmText: "一時的にサーバー重なるかもしれへんで。" retryAllQueuesConfirmText: "一時的にサーバー重なるかもしれへんで。"
enableChartsForRemoteUser: "リモートユーザーのチャートを作る" enableChartsForRemoteUser: "リモートユーザーのチャートを作る"
enableChartsForFederatedInstances: "リモートサーバーのチャートを作る" enableChartsForFederatedInstances: "リモートサーバーのチャートを作る"
enableStatsForFederatedInstances: "リモートサーバの情報を取得"
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加" showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
reactionsDisplaySize: "ツッコミの表示のでかさ" reactionsDisplaySize: "ツッコミの表示のでかさ"
limitWidthOfReaction: "ツッコミの最大横幅を制限して、ちっさく表示するで" limitWidthOfReaction: "ツッコミの最大横幅を制限して、ちっさく表示するで"
noteIdOrUrl: "ートIDかURL" noteIdOrUrl: "ートIDかURL"
video: "動画" video: "動画"
videos: "動画" videos: "動画"
audio: "音声"
audioFiles: "音声"
dataSaver: "データケチケチ" dataSaver: "データケチケチ"
accountMigration: "アカウントのお引っ越し" accountMigration: "アカウントのお引っ越し"
accountMoved: "このユーザーはさらのアカウントに引っ越したで:" accountMoved: "このユーザーはさらのアカウントに引っ越したで:"
@ -1076,6 +1123,8 @@ preservedUsernames: "予約ユーザー名"
preservedUsernamesDescription: "予約しとくユーザー名を行ごとに挙げるで。ここで指定されたユーザー名はアカウント作るときに使えへんくなるけど、管理者は例外や。あと、もうあるアカウントも例外やな。" preservedUsernamesDescription: "予約しとくユーザー名を行ごとに挙げるで。ここで指定されたユーザー名はアカウント作るときに使えへんくなるけど、管理者は例外や。あと、もうあるアカウントも例外やな。"
createNoteFromTheFile: "このファイル使うてノート作るで" createNoteFromTheFile: "このファイル使うてノート作るで"
archive: "アーカイブ" archive: "アーカイブ"
archived: "アーカイブ済み"
unarchive: "アーカイブ解除"
channelArchiveConfirmTitle: "{name}をアーカイブしてええか?" channelArchiveConfirmTitle: "{name}をアーカイブしてええか?"
channelArchiveConfirmDescription: "アーカイブしたら、チャンネル一覧とか検索結果からなくなるし、新しく書き込みもできへんなるで。" channelArchiveConfirmDescription: "アーカイブしたら、チャンネル一覧とか検索結果からなくなるし、新しく書き込みもできへんなるで。"
thisChannelArchived: "このチャンネル、アーカイブされとるで。" thisChannelArchived: "このチャンネル、アーカイブされとるで。"
@ -1086,6 +1135,9 @@ preventAiLearning: "生成AIの学習に使わんといて"
preventAiLearningDescription: "他の文章生成AIとか画像生成AIに、投稿したートとか画像なんかを勝手に使わんように頼むで。具体的にはnoaiフラグをHTMLレスポンスに含めるんやけど、これ聞いてくれるんはAIの気分次第やから、使われる可能性もちょっとはあるな。" preventAiLearningDescription: "他の文章生成AIとか画像生成AIに、投稿したートとか画像なんかを勝手に使わんように頼むで。具体的にはnoaiフラグをHTMLレスポンスに含めるんやけど、これ聞いてくれるんはAIの気分次第やから、使われる可能性もちょっとはあるな。"
options: "オプション" options: "オプション"
specifyUser: "ユーザー指定" specifyUser: "ユーザー指定"
lookupConfirm: "照会するけどええか?"
openTagPageConfirm: "ハッシュタグのページを開くんか?"
specifyHost: "ホスト指定"
failedToPreviewUrl: "プレビューできへん" failedToPreviewUrl: "プレビューできへん"
update: "更新" update: "更新"
rolesThatCanBeUsedThisEmojiAsReaction: "ツッコミとして使えるロール" rolesThatCanBeUsedThisEmojiAsReaction: "ツッコミとして使えるロール"
@ -1144,6 +1196,7 @@ showRenotes: "リノート出す"
edited: "いじったやつ" edited: "いじったやつ"
notificationRecieveConfig: "通知もらうかの設定" notificationRecieveConfig: "通知もらうかの設定"
mutualFollow: "お互いフォローしてんで" mutualFollow: "お互いフォローしてんで"
followingOrFollower: "フォロー中またはフォロワー"
fileAttachedOnly: "ファイルのっけてあるやつだけ" fileAttachedOnly: "ファイルのっけてあるやつだけ"
showRepliesToOthersInTimeline: "タイムラインに他の人への返信とかも入れるで" showRepliesToOthersInTimeline: "タイムラインに他の人への返信とかも入れるで"
hideRepliesToOthersInTimeline: "タイムラインに他の人への返信とかは入れへん" hideRepliesToOthersInTimeline: "タイムラインに他の人への返信とかは入れへん"
@ -1152,6 +1205,13 @@ hideRepliesToOthersInTimelineAll: "タイムラインに今フォローしとる
confirmShowRepliesAll: "これは元に戻せへんから慎重に決めてや。本当にタイムラインに今フォローしとる全員の返信を入れるか?" confirmShowRepliesAll: "これは元に戻せへんから慎重に決めてや。本当にタイムラインに今フォローしとる全員の返信を入れるか?"
confirmHideRepliesAll: "これは元に戻せへんから慎重に決めてや。本当にタイムラインに今フォローしとる全員の返信を入れへんのか?" confirmHideRepliesAll: "これは元に戻せへんから慎重に決めてや。本当にタイムラインに今フォローしとる全員の返信を入れへんのか?"
externalServices: "他のサイトのサービス" externalServices: "他のサイトのサービス"
sourceCode: "ソースコード"
sourceCodeIsNotYetProvided: "ソースコードはまだ提供されてへんで。問題の修正について管理者に問い合わせてみ。"
repositoryUrl: "リポジトリURL"
repositoryUrlDescription: "ソースコードが公開されているリポジトリがある場合、そのURLを記入するで。Misskeyをそのまんまソースコードにいかなる変更も加えずに使っとる場合は https://github.com/misskey-dev/misskey と記入するで。"
repositoryUrlOrTarballRequired: "リポジトリを公開してへんなら、代わりにtarballを提供する必要があるで。詳細は.config/example.ymlを参照してな。"
feedback: "フィードバック"
feedbackUrl: "フィードバックURL"
impressum: "運営者の情報" impressum: "運営者の情報"
impressumUrl: "運営者の情報URL" impressumUrl: "運営者の情報URL"
impressumDescription: "ドイツとかの一部んところではな、表示が義務付けられてんねん(Impressum)。" impressumDescription: "ドイツとかの一部んところではな、表示が義務付けられてんねん(Impressum)。"
@ -1179,6 +1239,91 @@ remainingN: "残り:{n}"
overwriteContentConfirm: "今の内容に上書きされるけどいい?" overwriteContentConfirm: "今の内容に上書きされるけどいい?"
seasonalScreenEffect: "季節にあった画面の動き" seasonalScreenEffect: "季節にあった画面の動き"
decorate: "デコる" decorate: "デコる"
addMfmFunction: "装飾つける"
enableQuickAddMfmFunction: "ややこしいMFMのピッカーを出す"
bubbleGame: "バブルゲーム"
sfx: "効果音"
soundWillBePlayed: "サウンドが再生されるで"
showReplay: "リプレイ見る"
replay: "リプレイ"
replaying: "リプレイ中"
endReplay: "リプレイを終了"
copyReplayData: "リプレイデータをコピー"
ranking: "ランキング"
lastNDays: "直近{n}日"
backToTitle: "タイトルへ"
hemisphere: "住んでる地域"
withSensitive: "センシティブなファイルを含むノートを表示"
userSaysSomethingSensitive: "{name}のセンシティブなファイルを含む投稿"
enableHorizontalSwipe: "スワイプしてタブを切り替える"
loading: "読み込み中"
surrender: "やめとく"
gameRetry: "もういっちょ"
notUsePleaseLeaveBlank: "使用せえへん場合は空欄にしてや"
useTotp: "ワンタイムパスワードを使う"
useBackupCode: "バックアップコードを使う"
launchApp: "アプリを起動"
useNativeUIForVideoAudioPlayer: "動画・音声の再生にブラウザのUIを使用する"
keepOriginalFilename: "オリジナルのファイル名を保持"
keepOriginalFilenameDescription: "この設定をオフにすると、アップロード時にファイル名が自動でランダム文字列に置き換えられるで。"
noDescription: "説明文はあらへんで"
alwaysConfirmFollow: "フォローの際常に確認する"
inquiry: "問い合わせ"
tryAgain: "もう一度試しいや。"
confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示するとき確認する"
sensitiveMediaRevealConfirm: "センシティブなメディアやで。表示するんか?"
createdLists: "作成したリスト"
createdAntennas: "作成したアンテナ"
fromX: "{x}から"
genEmbedCode: "埋め込みコードを作る"
noteOfThisUser: "このユーザーのノート全部"
clipNoteLimitExceeded: "これ以上このクリップにノート追加でけへんわ。"
performance: "パフォーマンス"
modified: "変更あり"
discard: "やめる"
thereAreNChanges: "{n}個の変更があるみたいや"
signinWithPasskey: "パスキーでログイン"
unknownWebAuthnKey: "登録されてへんパスキーやな。"
passkeyVerificationFailed: "パスキーの検証に失敗したで。"
passkeyVerificationSucceededButPasswordlessLoginDisabled: "パスキーの検証は成功したんやけど、パスワードレスログインが無効になっとるわ。"
messageToFollower: "フォロワーへのメッセージ"
target: "対象"
testCaptchaWarning: "CAPTCHAのテストを目的としてるで。<strong>絶対に本番環境で使わんといてな。絶対やで。</strong>"
prohibitedWordsForNameOfUser: "禁止ワード(ユーザー名)"
prohibitedWordsForNameOfUserDescription: "このリストの中にある文字列がユーザー名に入っとったら、その名前に変更できひんようになるで。モデレーター権限があるユーザーは除外や。"
yourNameContainsProhibitedWords: "その名前は禁止した文字列が含まれとるで"
yourNameContainsProhibitedWordsDescription: "その名前は禁止した文字列が含まれとるわ。どうしてもって言うなら、サーバー管理者に言うしかないで。"
_abuseUserReport:
forward: "転送"
forwardDescription: "匿名のシステムアカウントってことにして、リモートサーバーに通報を転送するで。"
resolve: "解決"
accept: "ええよ"
reject: "あかんよ"
resolveTutorial: "内容がええなら「ええよ」を選ぶんや。肯定的に解決されたことにして記録するで。\n逆に、内容がだめなら「あかんよ」を選びいや。否定的に解決されたって記録しとくで。"
_delivery:
status: "配信状態"
stop: "配信せぇへん"
resume: "配信再開"
_type:
none: "配信しとる"
manuallySuspended: "手動停止中"
goneSuspended: "サーバー削除のため停止中"
autoSuspendedForNotResponding: "サーバー応答せえへんから停止中"
_bubbleGame:
howToPlay: "遊び方"
hold: "ホールド"
_score:
score: "スコア"
scoreYen: "稼いだ金額"
highScore: "ハイスコア"
maxChain: "最大チェーン数"
yen: "{yen}円"
estimatedQty: "{qty}個分"
scoreSweets: "おにぎり {onigiriQtyWithUnit}"
_howToPlay:
section1: "位置を調整してハコにモノを落とすで。"
section2: "同じもんがくっついたら別のやつになって、スコアがもらえるで。"
section3: "モノがハコからあふれたらゲームオーバーや。ハコからあふれんようにしながらモノを融合させてハイスコアを目指しいや!"
_announcement: _announcement:
forExistingUsers: "もうおるユーザーのみ" forExistingUsers: "もうおるユーザーのみ"
forExistingUsersDescription: "オンにしたらこのお知らせができた時点でおる人らにだけお知らせが行くで。切ったらこの知らせが行ったあとにアカウント作った人にもちゃんとお知らせが行くで。" forExistingUsersDescription: "オンにしたらこのお知らせができた時点でおる人らにだけお知らせが行くで。切ったらこの知らせが行ったあとにアカウント作った人にもちゃんとお知らせが行くで。"
@ -1289,6 +1434,10 @@ _serverSettings:
fanoutTimelineDescription: "入れると、おのおのタイムラインを取得するときにめちゃめちゃ動きが良うなって、データベースが軽くなるわ。でも、Redisのメモリ使う量が増えるから注意な。サーバーのメモリが足りんときとか、動きが変なときは切れるで。" fanoutTimelineDescription: "入れると、おのおのタイムラインを取得するときにめちゃめちゃ動きが良うなって、データベースが軽くなるわ。でも、Redisのメモリ使う量が増えるから注意な。サーバーのメモリが足りんときとか、動きが変なときは切れるで。"
fanoutTimelineDbFallback: "データベースにフォールバックする" fanoutTimelineDbFallback: "データベースにフォールバックする"
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。" fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
reactionsBufferingDescription: "有効にしたら、リアクション作るときのパフォーマンスがすっごい上がって、データベースへの負荷が減るで。代わりに、Redisのメモリ使用は増えるで。"
inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターがおらんかったら、スパムを防ぐためにこの設定は勝手に切られるで。"
_accountMigration: _accountMigration:
moveFrom: "別のアカウントからこのアカウントに引っ越す" moveFrom: "別のアカウントからこのアカウントに引っ越す"
moveFromSub: "別のアカウントへエイリアスを作る" moveFromSub: "別のアカウントへエイリアスを作る"
@ -1549,6 +1698,13 @@ _achievements:
_tutorialCompleted: _tutorialCompleted:
title: "Misskeyひよっこ講座 修了証" title: "Misskeyひよっこ講座 修了証"
description: "チュートリアル全部やった" description: "チュートリアル全部やった"
_bubbleGameExplodingHead:
title: "🤯"
description: "バブルゲームで最も大きいモノを出した"
_bubbleGameDoubleExplodingHead:
title: "ダブル🤯"
description: "バブルゲームで最も大きいモを2つ同時に出した"
flavor: "これくらいの おべんとばこに 🤯 🤯 ちょっとつめて"
_role: _role:
new: "ロールの作成" new: "ロールの作成"
edit: "ロールの編集" edit: "ロールの編集"
@ -1589,6 +1745,7 @@ _role:
gtlAvailable: "グローバルタイムライン見る" gtlAvailable: "グローバルタイムライン見る"
ltlAvailable: "ローカルタイムライン見る" ltlAvailable: "ローカルタイムライン見る"
canPublicNote: "パブリック投稿できるか" canPublicNote: "パブリック投稿できるか"
mentionMax: "ノート内の最大メンション数"
canInvite: "サーバー招待コード作る" canInvite: "サーバー招待コード作る"
inviteLimit: "招待コード作れる数" inviteLimit: "招待コード作れる数"
inviteLimitCycle: "招待コードの作れる間隔" inviteLimitCycle: "招待コードの作れる間隔"
@ -1597,6 +1754,7 @@ _role:
canManageAvatarDecorations: "アバターを飾るモンの管理" canManageAvatarDecorations: "アバターを飾るモンの管理"
driveCapacity: "ドライブ容量" driveCapacity: "ドライブ容量"
alwaysMarkNsfw: "勝手にファイルにNSFWをくっつける" alwaysMarkNsfw: "勝手にファイルにNSFWをくっつける"
canUpdateBioMedia: "アイコンとバナーの更新を許可"
pinMax: "ノートピン留めできる数" pinMax: "ノートピン留めできる数"
antennaMax: "アンテナ作れる数" antennaMax: "アンテナ作れる数"
wordMuteMax: "ワードミュートの最大文字数" wordMuteMax: "ワードミュートの最大文字数"
@ -1611,9 +1769,20 @@ _role:
canSearchNotes: "ノート探せるかどうか" canSearchNotes: "ノート探せるかどうか"
canUseTranslator: "翻訳使えるかどうか" canUseTranslator: "翻訳使えるかどうか"
avatarDecorationLimit: "アイコンデコのいっちばんつけれる数" avatarDecorationLimit: "アイコンデコのいっちばんつけれる数"
canImportAntennas: "アンテナのインポートを許す"
canImportBlocking: "ブロックのインポートを許す"
canImportFollowing: "フォローのインポートを許す"
canImportMuting: "ミュートのインポートを許す"
canImportUserLists: "リストのインポートを許す"
_condition: _condition:
roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー" isLocal: "ローカルユーザー"
isRemote: "リモートユーザー" isRemote: "リモートユーザー"
isCat: "猫ユーザー"
isBot: "botユーザー"
isSuspended: "サスペンド済みユーザー"
isLocked: "鍵アカウントユーザー"
isExplorable: "「アカウントを見つけやすくする」が有効なユーザー"
createdLessThan: "アカウント作ってから~以内" createdLessThan: "アカウント作ってから~以内"
createdMoreThan: "アカウント作ってから~経過" createdMoreThan: "アカウント作ってから~経過"
followersLessThanOrEq: "フォロワー数が~以下" followersLessThanOrEq: "フォロワー数が~以下"
@ -1639,6 +1808,7 @@ _emailUnavailable:
disposable: "ずーっと使えるアドレスじゃないみたいや" disposable: "ずーっと使えるアドレスじゃないみたいや"
mx: "正しいメールサーバーじゃないっぽいわ" mx: "正しいメールサーバーじゃないっぽいわ"
smtp: "メールサーバーがうんともすんとも言わへん" smtp: "メールサーバーがうんともすんとも言わへん"
banned: "このメールアドレスはあかん"
_ffVisibility: _ffVisibility:
public: "公開" public: "公開"
followers: "フォロワーだけに公開" followers: "フォロワーだけに公開"
@ -1682,6 +1852,7 @@ _plugin:
installWarn: "信頼できへんプラグインはインストールせんとってな" installWarn: "信頼できへんプラグインはインストールせんとってな"
manage: "プラグインの管理" manage: "プラグインの管理"
viewSource: "ソース見る" viewSource: "ソース見る"
viewLog: "ログを表示"
_preferencesBackups: _preferencesBackups:
list: "作ったバックアップ" list: "作ったバックアップ"
saveNew: "新しく保存" saveNew: "新しく保存"
@ -1711,6 +1882,8 @@ _aboutMisskey:
contributors: "主な貢献者" contributors: "主な貢献者"
allContributors: "全ての貢献者" allContributors: "全ての貢献者"
source: "ソースコード" source: "ソースコード"
original: "オリジナル"
thisIsModifiedVersion: "{name}はオリジナルのMisskeyをいじったバージョンをつこうてるで。"
translation: "Misskeyを翻訳" translation: "Misskeyを翻訳"
donate: "Misskeyに寄付" donate: "Misskeyに寄付"
morePatrons: "他にもぎょうさんの人からサポートしてもろてんねん。ほんまおおきに🥰" morePatrons: "他にもぎょうさんの人からサポートしてもろてんねん。ほんまおおきに🥰"
@ -1818,7 +1991,6 @@ _theme:
buttonBg: "ボタンの背景" buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)" buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り" inputBorder: "入力ボックスの縁取り"
listItemHoverBg: "リスト項目の背景 (ホバー)"
driveFolderBg: "ドライブフォルダーの背景" driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ" wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ" badge: "バッジ"
@ -1830,8 +2002,6 @@ _sfx:
note: "ノート" note: "ノート"
noteMy: "ノート(自分)" noteMy: "ノート(自分)"
notification: "通知" notification: "通知"
antenna: "アンテナ受信"
channel: "チャンネル通知"
reaction: "ツッコミ選んどるとき" reaction: "ツッコミ選んどるとき"
_soundSettings: _soundSettings:
driveFile: "ドライブん中の音使う" driveFile: "ドライブん中の音使う"
@ -1840,6 +2010,7 @@ _soundSettings:
driveFileTypeWarnDescription: "音声ファイルを選びや" driveFileTypeWarnDescription: "音声ファイルを選びや"
driveFileDurationWarn: "音が長すぎるわ" driveFileDurationWarn: "音が長すぎるわ"
driveFileDurationWarnDescription: "長い音使うたらMisskey使うのに良うないかもしれへんで。それでもええか" driveFileDurationWarnDescription: "長い音使うたらMisskey使うのに良うないかもしれへんで。それでもええか"
driveFileError: "音声が読み込めへんかったで。設定を変更せえや"
_ago: _ago:
future: "未来" future: "未来"
justNow: "ついさっき" justNow: "ついさっき"
@ -1869,7 +2040,6 @@ _2fa:
registerTOTP: "認証アプリの設定はじめる" registerTOTP: "認証アプリの設定はじめる"
step1: "ほんなら、{a}や{b}とかの認証アプリを使っとるデバイスにインストールしてな。" step1: "ほんなら、{a}や{b}とかの認証アプリを使っとるデバイスにインストールしてな。"
step2: "次に、ここにあるQRコードをアプリでスキャンしてな。" step2: "次に、ここにあるQRコードをアプリでスキャンしてな。"
step2Click: "QRコード押したら、今使とる端末に入っとる認証アプリとかキーリングに登録できるで。"
step2Uri: "デスクトップアプリを使う時は次のURIを入れるで" step2Uri: "デスクトップアプリを使う時は次のURIを入れるで"
step3Title: "確認コードを入れてーや" step3Title: "確認コードを入れてーや"
step3: "アプリに映っとる確認コード(トークン)を入れて終わりや。" step3: "アプリに映っとる確認コード(トークン)を入れて終わりや。"
@ -1893,6 +2063,7 @@ _2fa:
backupCodesDescription: "認証アプリが使用できんなった場合、以下のバックアップコードを使ってアカウントにアクセスできるで。これらのコードは必ず安全な場所に置いときや。各コードは一回だけ使用できるで。" backupCodesDescription: "認証アプリが使用できんなった場合、以下のバックアップコードを使ってアカウントにアクセスできるで。これらのコードは必ず安全な場所に置いときや。各コードは一回だけ使用できるで。"
backupCodeUsedWarning: "バックアップコードが使用されたで。認証アプリが使えなくなってるん場合、なるべく早く認証アプリを再設定しや。" backupCodeUsedWarning: "バックアップコードが使用されたで。認証アプリが使えなくなってるん場合、なるべく早く認証アプリを再設定しや。"
backupCodesExhaustedWarning: "バックアップコードが全て使用されたで。認証アプリを利用できん場合、これ以上アカウントにアクセスできなくなるで。認証アプリを再登録しや。" backupCodesExhaustedWarning: "バックアップコードが全て使用されたで。認証アプリを利用できん場合、これ以上アカウントにアクセスできなくなるで。認証アプリを再登録しや。"
moreDetailedGuideHere: "詳細なガイドはこちら"
_permissions: _permissions:
"read:account": "アカウントの情報を見るで" "read:account": "アカウントの情報を見るで"
"write:account": "アカウントの情報を変更するで" "write:account": "アカウントの情報を変更するで"
@ -1930,6 +2101,54 @@ _permissions:
"write:flash": "Playを操作する" "write:flash": "Playを操作する"
"read:flash-likes": "Playのええやんを見る" "read:flash-likes": "Playのええやんを見る"
"write:flash-likes": "Playのええやんを見る" "write:flash-likes": "Playのええやんを見る"
"read:admin:abuse-user-reports": "ユーザーからの通報を見る"
"write:admin:delete-account": "ユーザーアカウント消す"
"write:admin:delete-all-files-of-a-user": "ユーザーのファイル全部ほかす"
"read:admin:index-stats": "データベースインデックスの情報見る"
"read:admin:table-stats": "データベーステーブルの情報見る"
"read:admin:user-ips": "ユーザーのIPアドレスを見る"
"read:admin:meta": "インスタンスのメタデータ見る"
"write:admin:reset-password": "ユーザーのパスワードをリセット"
"write:admin:resolve-abuse-user-report": "ユーザーからの通報を解決する"
"write:admin:send-email": "メール送る"
"read:admin:server-info": "サーバーの情報見る"
"read:admin:show-moderation-log": "モデレーションログ見る"
"read:admin:show-user": "ユーザーのプライベートな情報見る"
"write:admin:suspend-user": "ユーザーを凍結"
"write:admin:unset-user-avatar": "ユーザーのアバターを削除"
"write:admin:unset-user-banner": "ユーザーのバナーを削除"
"write:admin:unsuspend-user": "ユーザーの凍結解除"
"write:admin:meta": "インスタンスのメタデータいじる"
"write:admin:user-note": "モデレーションノートいじる"
"write:admin:roles": "ロールをいじる"
"read:admin:roles": "ロール見る"
"write:admin:relays": "リレーいじる"
"read:admin:relays": "リレー見る"
"write:admin:invite-codes": "招待コードいじる"
"read:admin:invite-codes": "招待コード見る"
"write:admin:announcements": "お知らせいじる"
"read:admin:announcements": "お知らせ見る"
"write:admin:avatar-decorations": "アバターデコレーションをいじる"
"read:admin:avatar-decorations": "アバターデコレーション見る"
"write:admin:federation": "連合の情報いじる"
"write:admin:account": "ユーザーアカウントいじる"
"read:admin:account": "ユーザーの情報見る"
"write:admin:emoji": "絵文字いじる"
"read:admin:emoji": "絵文字見る"
"write:admin:queue": "ジョブキューいじる"
"read:admin:queue": "ジョブキューの情報見る"
"write:admin:promo": "プロモーションノートいじる"
"write:admin:drive": "ユーザーのドライブいじる"
"read:admin:drive": "ユーザーのドライブの情報見る"
"read:admin:stream": "管理者用のWebsocket API使う"
"write:admin:ad": "広告いじる"
"read:admin:ad": "広告見る"
"write:invite-codes": "招待コード作る"
"read:invite-codes": "招待コード取得"
"write:clip-favorite": "クリップのいいねいじる"
"read:clip-favorite": "クリップのいいね見る"
"read:federation": "連合の情報取得"
"write:report-abuse": "違反報告"
_auth: _auth:
shareAccessTitle: "アプリへのアクセス許してやったらどうや" shareAccessTitle: "アプリへのアクセス許してやったらどうや"
shareAccess: "「{name}」がアカウントにアクセスすることを許可してええか?" shareAccess: "「{name}」がアカウントにアクセスすることを許可してええか?"
@ -1943,9 +2162,9 @@ _auth:
_antennaSources: _antennaSources:
all: "みんなのノート" all: "みんなのノート"
homeTimeline: "フォローしとるユーザーのノート" homeTimeline: "フォローしとるユーザーのノート"
users: "選んだ一人か複数のユーザーのノート" users: "選んだ一人か複数のユーザーのノート"
userList: "選んだリストのユーザーのノート" userList: "選んだリストのユーザーのノート"
userBlacklist: "選んだ1人か複数のユーザーのノート" userBlacklist: "選んだ一人か複数のユーザーを除いた全てのノート"
_weekday: _weekday:
sunday: "日曜日" sunday: "日曜日"
monday: "月曜日" monday: "月曜日"
@ -2048,9 +2267,13 @@ _profile:
changeBanner: "バナー画像を変更するで" changeBanner: "バナー画像を変更するで"
verifiedLinkDescription: "内容をURLに設定すると、リンク先のwebサイトに自分のプロフのリンクが含まれてる場合に所有者確認済みアイコンを表示させることができるで。" verifiedLinkDescription: "内容をURLに設定すると、リンク先のwebサイトに自分のプロフのリンクが含まれてる場合に所有者確認済みアイコンを表示させることができるで。"
avatarDecorationMax: "最大{max}つまでデコつけれんで" avatarDecorationMax: "最大{max}つまでデコつけれんで"
followedMessage: "フォローされたら返すメッセージ"
followedMessageDescription: "フォローされたときに相手に返す短めのメッセージを決めれるで。"
followedMessageDescriptionForLockedAccount: "フォローが承認制なら、フォローリクエストをOKしたときに見せるで。"
_exportOrImport: _exportOrImport:
allNotes: "全てのノート" allNotes: "全てのノート"
favoritedNotes: "お気に入りにしたノート" favoritedNotes: "お気に入りにしたノート"
clips: "クリップ"
followingList: "フォロー" followingList: "フォロー"
muteList: "ミュート" muteList: "ミュート"
blockingList: "ブロック" blockingList: "ブロック"
@ -2104,6 +2327,7 @@ _play:
title: "タイトル" title: "タイトル"
script: "スクリプト" script: "スクリプト"
summary: "説明" summary: "説明"
visibilityDescription: "非公開に設定するとプロフィールに表示されへんくなるけど、URLを知っとる人は引き続きアクセスできるで。"
_pages: _pages:
newPage: "ページを作る" newPage: "ページを作る"
editPage: "ページの編集" editPage: "ページの編集"
@ -2138,6 +2362,7 @@ _pages:
eyeCatchingImageSet: "アイキャッチ画像を設定" eyeCatchingImageSet: "アイキャッチ画像を設定"
eyeCatchingImageRemove: "アイキャッチ画像を削除" eyeCatchingImageRemove: "アイキャッチ画像を削除"
chooseBlock: "ブロックを追加" chooseBlock: "ブロックを追加"
enterSectionTitle: "セクションタイトルを入れる"
selectType: "種類を選択" selectType: "種類を選択"
contentBlocks: "コンテンツ" contentBlocks: "コンテンツ"
inputBlocks: "入力" inputBlocks: "入力"
@ -2148,6 +2373,8 @@ _pages:
section: "セクション" section: "セクション"
image: "画像" image: "画像"
button: "ボタン" button: "ボタン"
dynamic: "動的ブロック"
dynamicDescription: "このブロックは廃止されとるで。今後は{play}を利用してや。"
note: "ノート埋め込み" note: "ノート埋め込み"
_note: _note:
id: "ートID" id: "ートID"
@ -2169,6 +2396,7 @@ _notification:
pollEnded: "アンケートの結果が出たみたいや" pollEnded: "アンケートの結果が出たみたいや"
newNote: "さらの投稿" newNote: "さらの投稿"
unreadAntennaNote: "アンテナ {name}" unreadAntennaNote: "アンテナ {name}"
roleAssigned: "ロールが付与されたで"
emptyPushNotificationMessage: "プッシュ通知の更新をしといたで" emptyPushNotificationMessage: "プッシュ通知の更新をしといたで"
achievementEarned: "実績を獲得しとるで" achievementEarned: "実績を獲得しとるで"
testNotification: "通知テスト" testNotification: "通知テスト"
@ -2176,30 +2404,39 @@ _notification:
sendTestNotification: "テスト通知を送信するで" sendTestNotification: "テスト通知を送信するで"
notificationWillBeDisplayedLikeThis: "通知はこのように表示されるで" notificationWillBeDisplayedLikeThis: "通知はこのように表示されるで"
reactedBySomeUsers: "{n}人がツッコんだで" reactedBySomeUsers: "{n}人がツッコんだで"
likedBySomeUsers: "{n}人がいいねしたで"
renotedBySomeUsers: "{n}人がリノートしたで" renotedBySomeUsers: "{n}人がリノートしたで"
followedBySomeUsers: "{n}人にフォローされたで" followedBySomeUsers: "{n}人にフォローされたで"
flushNotification: "通知の履歴をリセットする"
exportOfXCompleted: "{x}のエクスポートが終わったわ"
login: "ログインしとったで"
_types: _types:
all: "すべて" all: "すべて"
note: "あんたらの新規投稿" note: "あんたらの新規投稿"
follow: "フォロー" follow: "フォロー"
mention: "メンション" mention: "メンション"
reply: "リプライ" reply: "リプライ"
renote: "Renote" renote: "リノート"
quote: "引用" quote: "引用"
reaction: "ツッコミ" reaction: "ツッコミ"
pollEnded: "アンケートが終了したで" pollEnded: "アンケートが終了したで"
receiveFollowRequest: "フォロー許可してほしいみたいやで" receiveFollowRequest: "フォロー許可してほしいみたいやで"
followRequestAccepted: "フォローが受理されたで" followRequestAccepted: "フォローが受理されたで"
roleAssigned: "ロールが付与された"
achievementEarned: "実績の獲得" achievementEarned: "実績の獲得"
exportCompleted: "エクスポート終わった"
login: "ログイン"
test: "通知テスト"
app: "連携アプリからの通知や" app: "連携アプリからの通知や"
_actions: _actions:
followBack: "フォローバック" followBack: "フォローバック"
reply: "返事" reply: "返事"
renote: "Renote" renote: "リノート"
_deck: _deck:
alwaysShowMainColumn: "いつもメインカラムを表示" alwaysShowMainColumn: "いつもメインカラムを表示"
columnAlign: "カラムの寄せ" columnAlign: "カラムの寄せ"
addColumn: "カラムを追加" addColumn: "カラムを追加"
newNoteNotificationSettings: "新着ノート通知の設定"
configureColumn: "カラムの設定" configureColumn: "カラムの設定"
swapLeft: "左に移動" swapLeft: "左に移動"
swapRight: "右に移動" swapRight: "右に移動"
@ -2238,9 +2475,10 @@ _drivecleaner:
orderByCreatedAtAsc: "追加日の古い順" orderByCreatedAtAsc: "追加日の古い順"
_webhookSettings: _webhookSettings:
createWebhook: "Webhookをつくる" createWebhook: "Webhookをつくる"
modifyWebhook: "Webhookを編集"
name: "名前" name: "名前"
secret: "シークレット" secret: "シークレット"
events: "Webhookを投げるタイミング" trigger: "トリガー"
active: "有効" active: "有効"
_events: _events:
follow: "フォローしたとき~!" follow: "フォローしたとき~!"
@ -2250,6 +2488,29 @@ _webhookSettings:
renote: "リノートされるとき~!" renote: "リノートされるとき~!"
reaction: "ツッコまれたとき~!" reaction: "ツッコまれたとき~!"
mention: "メンションがあるとき~!" mention: "メンションがあるとき~!"
_systemEvents:
abuseReport: "ユーザーから通報があったとき"
abuseReportResolved: "ユーザーからの通報を処理したとき"
userCreated: "ユーザーが作成されたとき"
inactiveModeratorsWarning: "モデレーターがしばらくおらんかったとき"
inactiveModeratorsInvitationOnlyChanged: "モデレーターがしばらくおらんかったから、システムが招待制に変えたとき"
deleteConfirm: "ほんまにWebhookをほかしてもええんか"
testRemarks: "スイッチ右のボタンを押すとダミーデータを使ったテスト用Webhookを送れるで。"
_abuseReport:
_notificationRecipient:
createRecipient: "通報の通知先を追加"
modifyRecipient: "通報の通知先を編集"
recipientType: "通知先の種類"
_recipientType:
mail: "メール"
webhook: "Webhook"
_captions:
mail: "モデレーター権限を持つユーザーのメアドに通知を送るで(通報を受けた時のみ)"
webhook: "指定したSystemWebhookに通知を送るで(通報を受けた時と通報を解決した時にそれぞれ発信)"
keywords: "キーワード"
notifiedUser: "通知先ユーザー"
notifiedWebhook: "使用するWebhook"
deleteConfirm: "通知先を削除してもええか?"
_moderationLogTypes: _moderationLogTypes:
createRole: "ロールを追加すんで" createRole: "ロールを追加すんで"
deleteRole: "ロールほかす" deleteRole: "ロールほかす"
@ -2274,9 +2535,12 @@ _moderationLogTypes:
resetPassword: "パスワードをリセット" resetPassword: "パスワードをリセット"
suspendRemoteInstance: "リモートサーバーを止めんで" suspendRemoteInstance: "リモートサーバーを止めんで"
unsuspendRemoteInstance: "リモートサーバーを再開すんで" unsuspendRemoteInstance: "リモートサーバーを再開すんで"
updateRemoteInstanceNote: "リモートサーバーのモデレーションノート更新"
markSensitiveDriveFile: "ファイルをセンシティブ付与" markSensitiveDriveFile: "ファイルをセンシティブ付与"
unmarkSensitiveDriveFile: "ファイルをセンシティブ解除" unmarkSensitiveDriveFile: "ファイルをセンシティブ解除"
resolveAbuseReport: "苦情を解決" resolveAbuseReport: "苦情を解決"
forwardAbuseReport: "通報を転送"
updateAbuseReportNote: "通報のモデレーションノート更新"
createInvitation: "招待コード作る" createInvitation: "招待コード作る"
createAd: "広告を作んで" createAd: "広告を作んで"
deleteAd: "広告ほかす" deleteAd: "広告ほかす"
@ -2286,6 +2550,16 @@ _moderationLogTypes:
deleteAvatarDecoration: "アイコンデコレーションを削除" deleteAvatarDecoration: "アイコンデコレーションを削除"
unsetUserAvatar: "この子のアイコン元に戻す" unsetUserAvatar: "この子のアイコン元に戻す"
unsetUserBanner: "この子のバナー元に戻す" unsetUserBanner: "この子のバナー元に戻す"
createSystemWebhook: "SystemWebhookを作成"
updateSystemWebhook: "SystemWebhookを更新"
deleteSystemWebhook: "SystemWebhookを削除"
createAbuseReportNotificationRecipient: "通報の通知先作る"
updateAbuseReportNotificationRecipient: "通報の通知先更新"
deleteAbuseReportNotificationRecipient: "通報の通知先消す"
deleteAccount: "アカウント消す"
deletePage: "ページ消す"
deleteFlash: "Playをほかす"
deleteGalleryPost: "ギャラリーの投稿をほかす"
_fileViewer: _fileViewer:
title: "ファイルの詳しい情報" title: "ファイルの詳しい情報"
type: "ファイルの種類" type: "ファイルの種類"
@ -2348,3 +2622,91 @@ _dataSaver:
_code: _code:
title: "コードハイライト" title: "コードハイライト"
description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。" description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。"
_hemisphere:
N: "北半球"
S: "南半球"
caption: "一部のクライアント設定で、季節を判定するのに使用するで。"
_reversi:
reversi: "リバーシ"
gameSettings: "対局の設定"
chooseBoard: "ボードを選択"
blackOrWhite: "先行/後攻"
blackIs: "{name}が黒(先行)"
rules: "ルール"
thisGameIsStartedSoon: "対局、そろそろ開始されるで。"
waitingForOther: "相手の準備が完了するのを待ってんで。"
waitingForMe: "あんさんの準備が完了すんのを待ってんで"
waitingBoth: "準備してなー"
ready: "準備完了"
cancelReady: "準備を再開"
opponentTurn: "相手のターンやで"
myTurn: "あんさんのターンや"
turnOf: "{name}のターンやで"
pastTurnOf: "{name}のターン"
surrender: "投了"
surrendered: "投了により"
timeout: "時間切れ"
drawn: "引き分け"
won: "{name}の勝ち"
black: "黒"
white: "白"
total: "合計"
turnCount: "{count}ターン目"
myGames: "自分の対局"
allGames: "みんなの対局"
ended: "終了"
playing: "対局中"
isLlotheo: "石の少ない方が勝ち(ロセオ)"
loopedMap: "ループマップ"
canPutEverywhere: "どこでも置けるモード"
timeLimitForEachTurn: "1ターンの時間制限"
freeMatch: "フリーマッチ"
lookingForPlayer: "対戦相手を探してるで"
gameCanceled: "対局がキャンセルされたわ"
shareToTlTheGameWhenStart: "初めの時に対局をタイムラインに投稿するで"
iStartedAGame: "対局し始めたで! #MisskeyReversi"
opponentHasSettingsChanged: "相手が設定変えたで"
allowIrregularRules: "変則許可 (完全フリー)"
disallowIrregularRules: "変則なし"
showBoardLabels: "盤面に行・列番号を表示"
useAvatarAsStone: "石をアイコンにする"
_offlineScreen:
title: "オフライン - サーバーに接続できひんで"
header: "サーバーに接続できへんわ"
_urlPreviewSetting:
title: "URLプレビューの設定"
enable: "URLプレビューを有効にする"
timeout: "プレビュー取得時のタイムアウト(ms)"
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されへんで。"
maximumContentLength: "Content-Lengthの最大値(byte)"
maximumContentLengthDescription: "Content-Lengthがこの値を超えた場合、プレビューは生成されへんで。"
requireContentLength: "Content-Lengthが取得できた場合のみプレビューを生成"
requireContentLengthDescription: "相手サーバがContent-Lengthを返さない場合、プレビューは生成されへんで。"
userAgent: "User-Agent"
userAgentDescription: "プレビュー取得時に使用されるUser-Agentを設定するで。空欄の場合、デフォルトのUser-Agentが使用されるで。"
summaryProxy: "プレビューを生成するプロキシのエンドポイント"
summaryProxyDescription: "Misskey本体やなく、サマリープロキシを使用してプレビューを生成するで。"
summaryProxyDescription2: "プロキシには下記パラメータがクエリ文字列として連携されるで。プロキシ側がこれらをサポートせえへんときは、設定値は無視されるで。"
_mediaControls:
pip: "ピクチャインピクチャ"
playbackRate: "再生速度"
loop: "ループ再生"
_contextMenu:
title: "コンテキストメニュー"
app: "アプリ"
appWithShift: "Shiftキーでアプリ"
native: "ブラウザのUI"
_embedCodeGen:
title: "埋め込みコードをカスタム"
header: "ヘッダー出す"
autoload: "勝手に続きを読み込む(非推奨)"
maxHeight: "高さの最大値"
maxHeightDescription: "0は最大値を指定せえへんけど、ウィジェットが伸び続けるから絶対1以上にしといてや。"
maxHeightWarn: "高さの最大値が無効になっとるで。意図してへん変更なら、普通の値に戻してや。"
previewIsNotActual: "プレビュー画面で出せる範囲をはみ出したから、ホンマの表示とはちゃうとおもうで。"
rounded: "角丸める"
border: "外枠に枠線つける"
applyToPreview: "プレビューに反映"
generateCode: "埋め込みコード作る"
codeGenerated: "コード作ったで"
codeGeneratedDescription: "作ったコードはウェブサイトに貼っつけて使ってや。"

View file

@ -104,3 +104,7 @@ _deck:
_columns: _columns:
notifications: "Ilɣuyen" notifications: "Ilɣuyen"
list: "Tibdarin" list: "Tibdarin"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Imayl"

View file

@ -77,6 +77,8 @@ _profile:
username: "ಬಳಕೆಹೆಸರು" username: "ಬಳಕೆಹೆಸರು"
_notification: _notification:
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು" youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
_types:
login: "ಪ್ರವೇಶ"
_actions: _actions:
reply: "ಉತ್ತರಿಸು" reply: "ಉತ್ತರಿಸು"
_deck: _deck:

View file

@ -16,8 +16,8 @@ cancel: "아이예"
noThankYou: "뎃어예" noThankYou: "뎃어예"
enterUsername: "사용자 이럼 서기" enterUsername: "사용자 이럼 서기"
renotedBy: "{user}님이 리노트햇어예" renotedBy: "{user}님이 리노트햇어예"
noNotes: "노트가 십니다" noNotes: "노트가 어ᇝ십니다"
noNotifications: "알림이 십니다" noNotifications: "알림이 어ᇝ십니다"
instance: "서버" instance: "서버"
settings: "설정" settings: "설정"
notificationSettings: "알림 설정" notificationSettings: "알림 설정"
@ -26,7 +26,7 @@ otherSettings: "다린 설정"
openInWindow: "창서 옐기" openInWindow: "창서 옐기"
profile: "프로필" profile: "프로필"
timeline: "타임라인" timeline: "타임라인"
noAccountDescription: "자기소개가 십니다" noAccountDescription: "자기소개가 어ᇝ십니다"
login: "로그인" login: "로그인"
loggingIn: "로그인하고 잇어예" loggingIn: "로그인하고 잇어예"
logout: "로그아웃" logout: "로그아웃"
@ -40,7 +40,7 @@ favorites: "질겨찾기"
unfavorite: "질겨찾기서 어ᇝ애기" unfavorite: "질겨찾기서 어ᇝ애기"
favorited: "질겨찾기에 담앗십니다." favorited: "질겨찾기에 담앗십니다."
alreadyFavorited: "벌시로 질겨찾기에 담기 잇십니다." alreadyFavorited: "벌시로 질겨찾기에 담기 잇십니다."
cantFavorite: "질겨찾기에 몬 담십니다." cantFavorite: "질겨찾기에 몬 담십니다."
pin: "프로필에 붙이기" pin: "프로필에 붙이기"
unpin: "프로필서 띠기" unpin: "프로필서 띠기"
copyContent: "내용 복사하기" copyContent: "내용 복사하기"
@ -80,7 +80,7 @@ unfollowConfirm: "{name}님얼 고마 팔로잉합니꺼?"
exportRequested: "내가기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다. 요청이 껕나모 ‘드라이브’에 옇십니다." exportRequested: "내가기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다. 요청이 껕나모 ‘드라이브’에 옇십니다."
importRequested: "가오기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다." importRequested: "가오기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다."
lists: "리스트" lists: "리스트"
noLists: "리스트가 십니다" noLists: "리스트가 어ᇝ십니다"
note: "노트" note: "노트"
notes: "노트" notes: "노트"
following: "팔로잉" following: "팔로잉"
@ -124,6 +124,7 @@ reactions: "반엉"
reactionSettingDescription2: "꺼시서 두고, 누질라서 뭉캐고, +’럴 누질라서 옇십니다." reactionSettingDescription2: "꺼시서 두고, 누질라서 뭉캐고, +’럴 누질라서 옇십니다."
rememberNoteVisibility: "공개 범위럴 기억하기" rememberNoteVisibility: "공개 범위럴 기억하기"
attachCancel: "붙임 빼기" attachCancel: "붙임 빼기"
deleteFile: "파일 뭉캐기"
markAsSensitive: "수ᇚ힘 설정" markAsSensitive: "수ᇚ힘 설정"
unmarkAsSensitive: "수ᇚ힘 무루기" unmarkAsSensitive: "수ᇚ힘 무루기"
enterFileName: "파일 이럼 서기" enterFileName: "파일 이럼 서기"
@ -160,7 +161,7 @@ youCanCleanRemoteFilesCache: "파일 간리으 🗑️ 모냥얼 누질리모
cacheRemoteSensitiveFiles: "웬겍으 수ᇚ힌 파일얼 캐시하기" cacheRemoteSensitiveFiles: "웬겍으 수ᇚ힌 파일얼 캐시하기"
cacheRemoteSensitiveFilesDescription: "요 설정얼 꺼모 웬겍 수ᇚ힌 파일이 캐시하지 아이하고 바리 링크합니다." cacheRemoteSensitiveFilesDescription: "요 설정얼 꺼모 웬겍 수ᇚ힌 파일이 캐시하지 아이하고 바리 링크합니다."
flagAsBot: "자동 게정입니다" flagAsBot: "자동 게정입니다"
flagAsBotDescription: "요 게정얼 프로그램서 설라먼 키야 합니다. 키모 다런 개발자가 반엉얼 끋이 데풀이하지 몬 하게 도아 줄 수 잇고 Misskey으 시스템서 자동 게정이 뎁니다." flagAsBotDescription: "요 게정얼 프로그램서 설라먼 키야 합니다. 키모 다런 개발자가 반엉얼 끋어ᇝ이 데풀이하지 몬 하게 도아 줄 수 잇고 Misskey으 시스템서 자동 게정이 뎁니다."
flagAsCat: "애웅애웅애웅애웅!" flagAsCat: "애웅애웅애웅애웅!"
flagAsCatDescription: "애옹?" flagAsCatDescription: "애옹?"
flagShowTimelineReplies: "타임라인서 노트으 답하기 보기" flagShowTimelineReplies: "타임라인서 노트으 답하기 보기"
@ -175,7 +176,7 @@ wallpaper: "벡지"
setWallpaper: "벡지 설정" setWallpaper: "벡지 설정"
removeWallpaper: "벡지 뭉캐기" removeWallpaper: "벡지 뭉캐기"
searchWith: "찾기: {q}" searchWith: "찾기: {q}"
youHaveNoLists: "리스트가 십니다" youHaveNoLists: "리스트가 어ᇝ십니다"
followConfirm: "{name}님얼 팔로잉합니꺼?" followConfirm: "{name}님얼 팔로잉합니꺼?"
proxyAccount: "프락시 게정" proxyAccount: "프락시 게정"
proxyAccountDescription: "프락시 게정언 턱벨한 조겐서 웬겍 팔로잉얼 하넌 게정입니다. 사용자가 웬겍 사용자럴 리스트에 옇얼 때 리스트에 옇언 사용자럴 누도 팔로잉 아이하모 할동이 서버로 아이 오니께 요 게정이 아인 프락시 게정얼 팔로잉하게 합니다." proxyAccountDescription: "프락시 게정언 턱벨한 조겐서 웬겍 팔로잉얼 하넌 게정입니다. 사용자가 웬겍 사용자럴 리스트에 옇얼 때 리스트에 옇언 사용자럴 누도 팔로잉 아이하모 할동이 서버로 아이 오니께 요 게정이 아인 프락시 게정얼 팔로잉하게 합니다."
@ -209,17 +210,17 @@ instanceInfo: "서버 정보"
statistics: "통게" statistics: "통게"
clearQueue: "대기옐 비우기" clearQueue: "대기옐 비우기"
clearQueueConfirmTitle: "대기옐얼 비웁니꺼?" clearQueueConfirmTitle: "대기옐얼 비웁니꺼?"
clearQueueConfirmText: "대기옐에 잇넌 걸얼 아이 보냅니다. 흐이 요 동작언 할 필요가 십니다." clearQueueConfirmText: "대기옐에 잇넌 걸얼 아이 보냅니다. 흐이 요 동작언 할 필요가 어ᇝ십니다."
clearCachedFiles: "캐시 비우기" clearCachedFiles: "캐시 비우기"
clearCachedFilesConfirm: "캐시한 웬겍 파일얼 말캉 뭉캡니꺼?" clearCachedFilesConfirm: "캐시한 웬겍 파일얼 말캉 뭉캡니꺼?"
blockedInstances: "차단한 서버" blockedInstances: "차단한 서버"
blockedInstancesDescription: "차단할라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 차단한 서버넌 요 서버하고 교류 몬 합니다." blockedInstancesDescription: "차단할라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 차단한 서버넌 요 서버하고 교류 몬 합니다."
silencedInstances: "수ᇚ훈 서버" silencedInstances: "수ᇚ훈 서버"
silencedInstancesDescription: "수ᇚ훌라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 수ᇚ훈 서버으 게정언 말캉 ‘수ᇚ후기’가 데서 팔로잉 요청만 데고 팔로워가 아인 로컬 게정서 멘션얼 몬 합니다. 차단한 서버넌 상간 십니다." silencedInstancesDescription: "수ᇚ훌라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 수ᇚ훈 서버으 게정언 말캉 ‘수ᇚ후기’가 데서 팔로잉 요청만 데고 팔로워가 아인 로컬 게정서 멘션얼 몬 합니다. 차단한 서버넌 상간 어ᇝ십니다."
muteAndBlock: "수ᇚ훔하고 차단" muteAndBlock: "수ᇚ훔하고 차단"
mutedUsers: "수ᇚ훈 사용자" mutedUsers: "수ᇚ훈 사용자"
blockedUsers: "차단한 사용자" blockedUsers: "차단한 사용자"
noUsers: "사용자가 십니다" noUsers: "사용자가 어ᇝ십니다"
editProfile: "프로필 적기" editProfile: "프로필 적기"
noteDeleteConfirm: "요 노트럴 뭉캡니꺼?" noteDeleteConfirm: "요 노트럴 뭉캡니꺼?"
pinLimitExceeded: "더 몬 붙입니다" pinLimitExceeded: "더 몬 붙입니다"
@ -229,15 +230,15 @@ processing: "처리하고 잇어예"
preview: "미리보기" preview: "미리보기"
default: "기본값" default: "기본값"
defaultValueIs: "기본값: {value}" defaultValueIs: "기본값: {value}"
noCustomEmojis: "이모지가 십니다" noCustomEmojis: "이모지가 어ᇝ십니다"
noJobs: "작업이 십니다" noJobs: "작업이 어ᇝ십니다"
federating: "옌합하고 잇어예" federating: "옌합하고 잇어예"
blocked: "차단햇어예" blocked: "차단햇어예"
suspended: "고만 보내예" suspended: "고만 보내예"
all: "말캉" all: "말캉"
subscribing: "구독하고 잇어예" subscribing: "구독하고 잇어예"
publishing: "보내고 잇어예" publishing: "보내고 잇어예"
notResponding: "답이 어예" notResponding: "답이 어ᇝ어예"
instanceFollowing: "서버으 팔로잉" instanceFollowing: "서버으 팔로잉"
instanceFollowers: "서버으 팔로워" instanceFollowers: "서버으 팔로워"
instanceUsers: "서버으 사용자" instanceUsers: "서버으 사용자"
@ -274,7 +275,7 @@ uploadFromUrlRequested: "올리기럴 요청햇십니다"
uploadFromUrlMayTakeTime: "올리기가 껕날라먼 시간이 쪼매 걸릴 깁니다." uploadFromUrlMayTakeTime: "올리기가 껕날라먼 시간이 쪼매 걸릴 깁니다."
explore: "살펴보기" explore: "살펴보기"
messageRead: "이럿어예" messageRead: "이럿어예"
noMoreHistory: "요카마 엣날 기록이 없십니다" noMoreHistory: "요카마 옛날 기록이 어ᇝ십니다"
startMessaging: "대화하기" startMessaging: "대화하기"
nUsersRead: "{n}멩이 이럿십니다" nUsersRead: "{n}멩이 이럿십니다"
agreeTo: "{0}에 동이하기" agreeTo: "{0}에 동이하기"
@ -373,6 +374,8 @@ hcaptcha: "에이치캡차"
enableHcaptcha: "에이치캡차 키기" enableHcaptcha: "에이치캡차 키기"
hcaptchaSiteKey: "사이트키" hcaptchaSiteKey: "사이트키"
hcaptchaSecretKey: "시크릿키" hcaptchaSecretKey: "시크릿키"
mcaptchaSiteKey: "사이트키"
mcaptchaSecretKey: "시크릿키"
recaptcha: "리캡차" recaptcha: "리캡차"
enableRecaptcha: "리캡차 키기" enableRecaptcha: "리캡차 키기"
recaptchaSiteKey: "사이트키" recaptchaSiteKey: "사이트키"
@ -429,28 +432,28 @@ securityKey: "보안키"
lastUsed: "마지막 쓰임" lastUsed: "마지막 쓰임"
lastUsedAt: "마지막 쓰임: {t}" lastUsedAt: "마지막 쓰임: {t}"
unregister: "맨걸기 무루기" unregister: "맨걸기 무루기"
passwordLessLogin: "비밀번호 없시 로그인" passwordLessLogin: "비밀번호 어ᇝ이 로그인"
passwordLessLoginDescription: "비밀번호 말고 보안키나 패스키 같은 것만 써 가 로그인합니다." passwordLessLoginDescription: "비밀번호 어ᇝ이 보안 키나 패스 키만 서서 로그인합니다."
resetPassword: "비밀번호 재설정" resetPassword: "비밀번호 재설정"
newPasswordIs: "새 비밀번호는 \"{password}\" 입니다" newPasswordIs: "새 비밀번호{password}입니다"
reduceUiAnimation: "화면 움직임 효과들을 수ᇚ후기" reduceUiAnimation: "화면 움직임 효과들을 수ᇚ후기"
share: "노누기" share: "노누기"
notFound: "몬 찾앗십니다" notFound: "몬 찾앗십니다"
notFoundDescription: "고런 주소로 들어가는 하멘은 없십니다." notFoundDescription: "선 주소에 맞넌 페이지가 어ᇝ십니다."
uploadFolder: "기본 업로드 위치" uploadFolder: "기본 올리기 위치"
markAsReadAllNotifications: "모든 알림 이럿다고 표시" markAsReadAllNotifications: "모던 알림얼 읽엄 포시"
markAsReadAllUnreadNotes: "모든 글 이럿다고 표시" markAsReadAllUnreadNotes: "모던 걸얼 읽엄 포시"
markAsReadAllTalkMessages: "모든 대화 이럿다고 표시" markAsReadAllTalkMessages: "모던 대화 읽엄 포시"
help: "도움말" help: "도움말"
inputMessageHere: "여따가 메시지를 입력해주이소" inputMessageHere: "옇다 메시지럴 서이소"
close: "기" close: "기"
invites: "초대하기" invites: "초대하기"
members: "멤버" members: "구성원"
transfer: "양도" transfer: "넘구기"
title: "제목" title: "제목"
text: "" text: ""
enable: "키기" enable: "키기"
next: "다" next: "다"
retype: "다시 서기" retype: "다시 서기"
noteOf: "{user}님으 노트" noteOf: "{user}님으 노트"
quoteAttached: "따옴" quoteAttached: "따옴"
@ -461,8 +464,11 @@ onlyOneFileCanBeAttached: "메시지엔 파일 하나까제밖에 몬 넣십니
invitations: "초대하기" invitations: "초대하기"
invitationCode: "초대장" invitationCode: "초대장"
checking: "학인하고 잇십니다" checking: "학인하고 잇십니다"
tooShort: "억수로 짜립니다"
tooLong: "억수로 집니다"
passwordMatched: "맞십니다" passwordMatched: "맞십니다"
passwordNotMatched: "안 맞십니다" passwordNotMatched: "안 맞십니다"
signinWith: "{x} 서 로그인"
signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소." signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소."
or: "아니면" or: "아니면"
language: "언어" language: "언어"
@ -470,7 +476,6 @@ uiLanguage: "UI 표시 언어"
aboutX: "{x}에 대해서" aboutX: "{x}에 대해서"
emojiStyle: "이모지 모양" emojiStyle: "이모지 모양"
native: "기본" native: "기본"
disableDrawer: "드로어 메뉴 쓰지 않기"
showNoteActionsOnlyHover: "마우스 올맀을 때만 노트 액션 버턴 보이기" showNoteActionsOnlyHover: "마우스 올맀을 때만 노트 액션 버턴 보이기"
noHistory: "기록이 없십니다" noHistory: "기록이 없십니다"
signinHistory: "로그인 기록" signinHistory: "로그인 기록"
@ -507,13 +512,13 @@ useObjectStorage: "오브젝트 스토리지 키기"
objectStorageBaseUrl: "Base URL" objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "오브젝트 (미디어) 참조 링크 만들 때 쓰는 URL임다. CDN 내지 프락시를 쓴다 카멘은 그 URL을 갖다 늫고, 아이면 써먹을 서비스네 가이드를 봐봐가 공개적으로 접근할 수 있는 주소를 여 넣어 주이소. 그니께, 내가 AWS S3을 쓴다 카면은 'https://<bucket>.s3.amazonaws.com', GCS를 쓴다 카면 'https://storage.googleapis.com/<bucket>' 처럼 쓰믄 되입니더." objectStorageBaseUrlDesc: "오브젝트 (미디어) 참조 링크 만들 때 쓰는 URL임다. CDN 내지 프락시를 쓴다 카멘은 그 URL을 갖다 늫고, 아이면 써먹을 서비스네 가이드를 봐봐가 공개적으로 접근할 수 있는 주소를 여 넣어 주이소. 그니께, 내가 AWS S3을 쓴다 카면은 'https://<bucket>.s3.amazonaws.com', GCS를 쓴다 카면 'https://storage.googleapis.com/<bucket>' 처럼 쓰믄 되입니더."
objectStorageBucket: "Bucket" objectStorageBucket: "Bucket"
objectStorageBucketDesc: "써먹을 서비스의 바께쓰 이름을 여 써 주이소." objectStorageBucketDesc: "설 서비스으 버킷 이럼얼 서 주이소."
objectStoragePrefix: "Prefix" objectStoragePrefix: "Prefix"
objectStoragePrefixDesc: "요 Prefix 디렉토리 안에다가 파일이 들어감다." objectStoragePrefixDesc: "요 Prefix 디렉토리 안에다가 파일이 들어감다."
objectStorageEndpoint: "Endpoint" objectStorageEndpoint: "Endpoint"
objectStorageEndpointDesc: "AWS S3을 쓸라멘 요는 비워두고, 아이멘은 그 서비스 가이드에 맞게 endpoint를 넣어 주이소. '<host>' 내지 '<host>:<port>'처럼 넣십니다." objectStorageEndpointDesc: "AWS S3넌 비아 두고 다런 것언 거 서비스으 엔드포인트럴 서 주이소. <host>’나 <host>:<port>’맨치로 섭니다."
objectStorageRegion: "Region" objectStorageRegion: "Region"
objectStorageRegionDesc: "'xx-east-1' 같은 region 이름을 옇어 주이소. 써먹을 서비스에 region 개념 같은 게 읎다! 카면은 대신에 'us-east-1'을 옇어 놓으이소. AWS 설정 파일이나 환경 변수를 갖다 끌어다 쓸 거면은 요는 비워 두이소." objectStorageRegionDesc: "xx-east-1맨치로 리전 이럼얼 서 주이소. 설 서비스에 리전 개넴이 어ᇝ어먼 us-east-1라고 해 두이소. 에이더블유에스 설정 파일이나 환겡 벤수가 이ᇇ어면 비아 두이소."
objectStorageUseSSL: "SSL 쓰기" objectStorageUseSSL: "SSL 쓰기"
objectStorageUseSSLDesc: "API 호출할 때 HTTPS 안 쓸거면은 꺼 두이소" objectStorageUseSSLDesc: "API 호출할 때 HTTPS 안 쓸거면은 꺼 두이소"
objectStorageUseProxy: "연결에 프락시 사용" objectStorageUseProxy: "연결에 프락시 사용"
@ -529,21 +534,21 @@ newNoteRecived: "새 노트 있어예"
sounds: "소리" sounds: "소리"
sound: "소리" sound: "소리"
listen: "듣기" listen: "듣기"
none: "없음" none: "어ᇝ엄"
showInPage: "바닥서 보기" showInPage: "바닥서 보기"
popout: "새 창 열기" popout: "새 창 열기"
volume: "음량" volume: "음량"
masterVolume: "대빵 음량" masterVolume: "대빵 음량"
notUseSound: "음소거하기" notUseSound: "음소거하기"
useSoundOnlyWhenActive: "Misskey가 활성화되어 있을 때만 소리 내기" useSoundOnlyWhenActive: "Misskey가 활성화되어 있을 때만 소리 내기"
details: "좀 더" details: "자세히"
chooseEmoji: "이모지 선택" chooseEmoji: "이모지 개리기"
unableToProcess: "작업 다 몬 했십니다" unableToProcess: "작업 다 몬 했십니다"
recentUsed: "최근 쓴 놈" recentUsed: "최근 쓴 놈"
install: "설치" install: "설치"
uninstall: "삭제" uninstall: "삭제"
installedApps: "설치된 애플리케이션" installedApps: "설치된 애플리케이션"
nothing: "뭣도 없어예" nothing: "어ᇝ어예"
installedDate: "설치한 날" installedDate: "설치한 날"
lastUsedDate: "마지막 사용" lastUsedDate: "마지막 사용"
state: "상태" state: "상태"
@ -569,9 +574,17 @@ userSilenced: "요 게정은... 수ᇚ혀 있십니다."
relays: "릴레이" relays: "릴레이"
addRelay: "릴레이 옇기" addRelay: "릴레이 옇기"
addedRelays: "옇은 릴레이" addedRelays: "옇은 릴레이"
deletedNote: "뭉캔 걸"
enableInfiniteScroll: "알아서 더 보기" enableInfiniteScroll: "알아서 더 보기"
useCw: "내용 수ᇚ후기"
description: "설멩"
describeFile: "캡션 옇기"
enterFileDescription: "캡션 서기"
author: "맨던 사람" author: "맨던 사람"
manage: "간리" manage: "간리"
large: "커게"
medium: "엔갆게"
small: "쪼맪게"
emailServer: "전자우펜 서버" emailServer: "전자우펜 서버"
email: "전자우펜" email: "전자우펜"
emailAddress: "전자우펜 주소" emailAddress: "전자우펜 주소"
@ -588,7 +601,7 @@ reportAbuseOf: "{name}님얼 신고하기"
reporter: "신고한 사람" reporter: "신고한 사람"
reporteeOrigin: "신고덴 사람" reporteeOrigin: "신고덴 사람"
reporterOrigin: "신고한 곳" reporterOrigin: "신고한 곳"
forwardReport: "웬겍 서버에 신고 보내기" waitingFor: "{x}(얼)럴 지달리고 잇십니다"
random: "무작이" random: "무작이"
system: "시스템" system: "시스템"
clip: "클립 맨걸기" clip: "클립 맨걸기"
@ -598,14 +611,21 @@ renotesCount: "리노트한 수"
renotedCount: "리노트덴 수" renotedCount: "리노트덴 수"
followingCount: "팔로우 수" followingCount: "팔로우 수"
followersCount: "팔로워 수" followersCount: "팔로워 수"
noteFavoritesCount: "질겨찾기한 노트 수"
clips: "클립 맨걸기" clips: "클립 맨걸기"
clearCache: "캐시 비우기" clearCache: "캐시 비우기"
nUsers: "{n} 사용자"
typingUsers: "{users} 님이 서고 잇어예"
unlikeConfirm: "좋네예럴 무룹니꺼?" unlikeConfirm: "좋네예럴 무룹니꺼?"
info: "정보" info: "정보"
selectAccount: "계정 개리기"
user: "사용자" user: "사용자"
administration: "간리" administration: "간리"
middle: "엔갆게"
translatedFrom: "{x}서 번옉"
on: "킴" on: "킴"
off: "껌" off: "껌"
hide: "수ᇚ후기"
clickToFinishEmailVerification: "[{ok}]럴 누질라서 전자우펜 정멩얼 껕내이소." clickToFinishEmailVerification: "[{ok}]럴 누질라서 전자우펜 정멩얼 껕내이소."
searchByGoogle: "찾기" searchByGoogle: "찾기"
tenMinutes: "십 분" tenMinutes: "십 분"
@ -614,6 +634,9 @@ oneDay: "하리"
oneWeek: "한 주" oneWeek: "한 주"
oneMonth: "한 달" oneMonth: "한 달"
file: "파일" file: "파일"
typeToConfirm: "게속할라먼 {x}럴 누질라 주이소"
pleaseSelect: "개리 주이소"
remoteOnly: "웬겍만"
tools: "도구" tools: "도구"
like: "좋네예!" like: "좋네예!"
unlike: "좋네예 무루기" unlike: "좋네예 무루기"
@ -621,12 +644,22 @@ numberOfLikes: "좋네예 수"
show: "보기" show: "보기"
roles: "옉할" roles: "옉할"
role: "옉할" role: "옉할"
noRole: "옉할이 십니다" noRole: "옉할이 어ᇝ십니다"
thisPostMayBeAnnoyingCancel: "아이예" thisPostMayBeAnnoyingCancel: "아이예"
likeOnly: "좋네예마" likeOnly: "좋네예마"
hiddenTags: "수ᇚ훈 해시태그"
myClips: "내 클립"
preservedUsernames: "예약 사용자 이럼"
specifyUser: "사용자 지정"
icon: "아바타" icon: "아바타"
replies: "답하기" replies: "답하기"
renotes: "리노트" renotes: "리노트"
attach: "옇기"
surrender: "아이예"
_delivery:
stop: "고만 보내예"
_type:
none: "보내고 잇어예"
_initialAccountSetting: _initialAccountSetting:
startTutorial: "길라잡이 하기" startTutorial: "길라잡이 하기"
_initialTutorial: _initialTutorial:
@ -639,9 +672,62 @@ _initialTutorial:
title: "길라잡이가 껕낫십니다!🎉" title: "길라잡이가 껕낫십니다!🎉"
_achievements: _achievements:
_types: _types:
_notes1:
description: "첫 노트럴 섯어예"
_notes10:
description: "노트럴 10번 섰어예"
_notes100:
description: "노트럴 100번 섰어예"
_notes500:
description: "노트럴 500번 섰어예"
_notes1000:
description: "노트럴 1,000번 섰어예"
_notes5000:
description: "노트럴 5,000번 섰어예"
_notes10000:
description: "노트럴 10,000번 섰어예"
_notes20000:
description: "노트럴 20,000번 섰어예"
_notes30000:
description: "노트럴 30,000번 섰어예"
_notes40000:
description: "노트럴 40,000번 섰어예"
_notes50000:
description: "노트럴 50,000번 섰어예"
_notes60000:
description: "노트럴 60,000번 섰어예"
_notes70000:
description: "노트럴 70,000번 섰어예"
_notes80000:
description: "노트럴 80,000번 섰어예"
_notes90000:
description: "노트럴 90,000번 섰어예"
_notes100000:
description: "노트럴 100,000번 섰어예"
_noteClipped1:
description: "첫 노트럴 클립햇어예"
_noteFavorited1:
description: "첫 노트럴 질겨찾기에 담앗어예"
_myNoteFavorited1:
description: "다런 사람이 내 노트럴 질겨찾기에 담앗십니다"
_iLoveMisskey:
description: "“I ❤ #Misskey”럴 섰어예"
_postedAt0min0sec:
description: "0분 0초에 노트를 섰어예"
_tutorialCompleted: _tutorialCompleted:
description: "길라잡이럴 껕냇십니다" description: "길라잡이럴 껕냇십니다"
_role:
displayOrder: "보기 순서"
_priority:
middle: "엔갆게"
_options:
canHideAds: "강고 수ᇚ후기"
_condition:
isRemote: "웬겍 사용자"
isCat: "갱이 사용자"
isBot: "자동 사용자"
_gallery: _gallery:
my: "내 걸"
liked: "좋네예한 걸" liked: "좋네예한 걸"
like: "좋네예!" like: "좋네예!"
unlike: "좋네예 무루기" unlike: "좋네예 무루기"
@ -652,15 +738,24 @@ _serverDisconnectedBehavior:
reload: "알아서 새로곤침" reload: "알아서 새로곤침"
_channel: _channel:
removeBanner: "배너 뭉캐기" removeBanner: "배너 뭉캐기"
usersCount: "{n}명 참여"
notesCount: "노트 {n}개"
_menuDisplay:
hide: "수ᇚ후기"
_theme: _theme:
description: "설멩"
keys: keys:
mention: "멘션" mention: "멘션"
_sfx: _sfx:
note: "새 노트" note: "새 노트"
notification: "알림" notification: "알림"
reaction: "리액션 개리기"
_2fa: _2fa:
step3Title: "학인 기호럴 서기" step3Title: "학인 기호럴 서기"
renewTOTPCancel: "뎃어예" renewTOTPCancel: "뎃어예"
_permissions:
"read:favorites": "질겨찾기 보기"
"write:favorites": "질겨찾기 곤치기"
_widgets: _widgets:
profile: "프로필" profile: "프로필"
instanceInfo: "서버 정보" instanceInfo: "서버 정보"
@ -672,14 +767,22 @@ _widgets:
_userList: _userList:
chooseList: "리스트 개리기" chooseList: "리스트 개리기"
_cw: _cw:
hide: "수ᇚ후기"
show: "더 볼래예" show: "더 볼래예"
chars: "걸자 {count}개"
files: "파일 {count}개"
_visibility: _visibility:
home: "덜머리" home: "덜머리"
followers: "팔로워" followers: "팔로워"
_postForm:
_placeholders:
e: "옇다 서 주이소"
_profile: _profile:
name: "이럼" name: "이럼"
username: "사용자 이럼" username: "사용자 이럼"
_exportOrImport: _exportOrImport:
favoritedNotes: "질겨찾기한 노트"
clips: "클립 맨걸기"
followingList: "팔로잉" followingList: "팔로잉"
muteList: "수ᇚ후기" muteList: "수ᇚ후기"
blockingList: "차단하기" blockingList: "차단하기"
@ -689,23 +792,30 @@ _charts:
_timelines: _timelines:
home: "덜머리" home: "덜머리"
_play: _play:
my: "내 플레이"
script: "스크립트" script: "스크립트"
summary: "설멩"
_pages: _pages:
like: "좋네예" like: "좋네예"
unlike: "좋네예 무루기" unlike: "좋네예 무루기"
my: "내 페이지"
blocks: blocks:
image: "이미지" image: "이미지"
_note: _note:
id: "노트 아이디" id: "노트 아이디"
_notification: _notification:
youWereFollowed: "새 팔로워가 잇십니다" youWereFollowed: "새 팔로워가 잇십니다"
newNote: "새 걸"
_types: _types:
follow: "팔로잉" follow: "팔로잉"
mention: "멘션" mention: "멘션"
renote: "리노트"
quote: "따오기" quote: "따오기"
reaction: "반엉" reaction: "반엉"
login: "로그인"
_actions: _actions:
reply: "답하기" reply: "답하기"
renote: "리노트"
_deck: _deck:
_columns: _columns:
notifications: "알림" notifications: "알림"
@ -715,9 +825,19 @@ _deck:
mentions: "받언 멘션" mentions: "받언 멘션"
_webhookSettings: _webhookSettings:
name: "이럼" name: "이럼"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "전자우펜"
_moderationLogTypes: _moderationLogTypes:
suspend: "얼우기" suspend: "얼우기"
deleteNote: "노트 뭉캐기" deleteNote: "노트 뭉캐기"
deleteUserAnnouncement: "사용자 공지 걸 뭉캐기" deleteUserAnnouncement: "사용자 공지 걸 뭉캐기"
resetPassword: "비밀번호 재설정" resetPassword: "비밀번호 재설정"
resolveAbuseReport: "신고 해겔하기" resolveAbuseReport: "신고 해겔하기"
_reversi:
reversi: "리버시"
chooseBoard: "보드 개리기"
black: "꺼멍"
white: "허영"
total: "합게"

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,9 @@
--- ---
_lang_: "ພາສາລາວ" _lang_: "ພາສາລາວ"
headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍຫມາຍເຫດ" headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍ note"
introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນແຫຼ່ງເປີດ, ການບໍລິການ microblogging ກະຈາຍ\nສ້າງ \"ບັນທຶກ\" ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nດ້ວຍ \"ປະຕິກິລິຍາ\", ທ່ານຍັງສາມາດສະແດງຄວາມຮູ້ສຶກຂອງທ່ານຢ່າງໄວວາກ່ຽວກັບບັນທຶກຂອງທຸກໆຄົນ 👍\nມາສຳຫຼວດໂລກໃໝ່! 🚀" introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນຊອຟແວopensource, ສຳລັບບໍລິການ microblogging ແບບ decentralized\nສ້າງ “note” ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆ ຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nຢ່າລືມ “reaction” ໂນຕຂອງລາວເພື່ອສະແດງຄວາມຮູ້ສຶກ 👍\nມາສຳຫຼວດໂລກໃໝ່ແນ! 🚀"
poweredByMisskeyDescription: "{name} ແມ່ນສ່ວນໜຶ່ງຂອງການບໍລິການທີ່ຂັບເຄື່ອນໂດຍແພລດຟອມ open source. <b>Misskey</b> (ເອີ້ນວ່າ \"Misskey instance\")" poweredByMisskeyDescription: "{name} ແມ່ນສ່ວນໜຶ່ງຂອງການບໍລິການທີ່ຂັບເຄື່ອນໂດຍແພລດຟອມ open source. <b>Misskey</b> (ເອີ້ນວ່າ \"Misskey instance\")"
monthAndDay: "{ເດືອນ}/{ມື້}" monthAndDay: "ເດືອນ{month} / ວັນ{day}"
search: "ຄົ້ນຫາ" search: "ຄົ້ນຫາ"
notifications: "ການແຈ້ງເຕືອນ" notifications: "ການແຈ້ງເຕືອນ"
username: "ຊື່ຜູ້ໃຊ້" username: "ຊື່ຜູ້ໃຊ້"
@ -15,78 +15,79 @@ gotIt: "ເຂົ້າໃຈແລ້ວ!"
cancel: "ຍົກເລີກ" cancel: "ຍົກເລີກ"
noThankYou: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້" noThankYou: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້"
enterUsername: "ປ້ອນຊື່ຜູ້ໃຊ້" enterUsername: "ປ້ອນຊື່ຜູ້ໃຊ້"
renotedBy: "Renoted ໂດຍ {ຜູ້ໃຊ້}" renotedBy: "Renoted ໂດຍ {user}"
noNotes: "ບໍ່ມີຫມາຍເຫດ" noNotes: "ບໍ່ມີ note"
noNotifications: "ບໍ່ມີການແຈ້ງເຕືອນ" noNotifications: "ບໍ່ມີການແຈ້ງເຕືອນ"
instance: "ອີນສະແຕນ" instance: "ເຊີຟເວີຣ໌"
settings: "ກຳນົດຄ່າ" settings: "ຕັ້ງຄ່າ"
notificationSettings: "ຕັ້ງຄ່າການແຈ້ງເຕືອນ" notificationSettings: "ຕັ້ງຄ່າການແຈ້ງເຕືອນ"
basicSettings: "ການຕັ້ງຄ່າພື້ນຖານ" basicSettings: "ການຕັ້ງຄ່າພື້ນຖານ"
otherSettings: "ການຕັ້ງຄ່າອື່ນໆ" otherSettings: "ການຕັ້ງຄ່າອື່ນໆ"
openInWindow: "ເປີດຢູ່ໃນປ່ອງຢ້ຽມ" openInWindow: "ເປີດໃນ window"
profile: "ໂພຼຟາຍ" profile: "ໂປຣໄຟລ໌"
timeline: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​" timeline: "ໄທມ໌ໄລນ໌"
noAccountDescription: "ຜູ້ໃຊ້ນີ້ຍັງບໍ່ໄດ້ຂຽນໃນຊີວະປະຫວັດຂອງເຂົາເຈົ້າເທື່ອ" noAccountDescription: "ຜູ້ໃຊ້ຄົນນີ້ຍັງບໍ່ໄດ້ຂຽນຄຳແນະນຳໂຕ"
login: "ເຂົ້າ​ສູ່​ລະ​ບົບ" login: "ເຂົ້າ​ສູ່​ລະ​ບົບ"
loggingIn: "ກຳລັງເຂົ້າສູ່ລະບົບ..." loggingIn: "ກຳລັງເຂົ້າສູ່ລະບົບ..."
logout: "ອອກ​ຈາກ​ລະ​ບົບ" logout: "ອອກ​ຈາກ​ລະ​ບົບ"
signup: "ລົງ​ທະ​ບຽນ" signup: "ລົງ​ທະ​ບຽນ"
uploading: "ການອັບໂຫຼດ..." uploading: "ກຳລັງອັບໂຫຼດ..."
save: "ບັນທຶກ" save: "ບັນທຶກ"
users: "ຜູ້ໃຊ້ຕ່າງໆ" users: "ຜູ້ໃຊ້"
addUser: "ເພີ່ມຜູ້ໃຊ້" addUser: "ເພີ່ມຜູ້ໃຊ້"
favorite: "ເພີ່ມໃສ່ລາຍການທີ່ມັກ" favorite: "ເພີ່ມໃສ່ລາຍການທີ່ມັກ"
favorites: "ລາຍການທີ່ມັກ" favorites: "ລາຍການທີ່ມັກ"
unfavorite: "ລຶບອອກຈາກລາຍການທີ່ມັກ" unfavorite: "ເອົາອອກຈາກລາຍການທີ່ມັກ"
favorited: "ເພີ່ມໃສ່ລາຍການທີ່ມັກແລ້ວ" favorited: "ເພີ່ມໃສ່ລາຍການທີ່ມັກແລ້ວ"
alreadyFavorited: "ເພີ່ມເຂົ້າໃນລາຍການທີ່ມັກແລ້ວ." alreadyFavorited: "ເພີ່ມເຂົ້າໃນລາຍການທີ່ມັກແລ້ວ."
cantFavorite: "ບໍ່ສາມາດເພີ່ມໃສ່ລາຍການທີ່ມັກໄດ້." cantFavorite: "ບໍ່ສາມາດເພີ່ມໃສ່ລາຍການທີ່ມັກໄດ້."
pin: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌" pin: "ປັກໝຸດ"
unpin: "ຖອດປັກໝຸດອອກຈາກໂປຣໄຟລ໌" unpin: "ຖອດປັກໝຸດອອກ"
copyContent: "ຄັດລອກເນື້ອຫາ" copyContent: "ຄັດລອກເນື້ອຫາ"
copyLink: "ສຳເນົາລິ້ງ" copyLink: "ຄັດລອກລິ້ງ"
copyLinkRenote: "ຄັດລອກລິ້ງຂອງ renote"
delete: "ລຶບ" delete: "ລຶບ"
deleteAndEdit: "ລບ​ແລະ​ແກ້​ໄຂ​" deleteAndEdit: "ລບ​ແລະ​ແກ້​ໄຂ​"
deleteAndEditConfirm: "ເຈົ້າ​ແນ່​ໃຈ​ບໍ່? ທີ່ທ່ານຕ້ອງການທີ່ຈະລຶບບັນທຶກນີ້ແລະແກ້ໄຂມັນ ທ່ານອາດຈະສູນເສຍການໂຕ້ຕອບ, ບັນທຶກ, ແລະການຕອບກັບທັງໝົດ" deleteAndEditConfirm: "ຕ້ອງການລຶບ note ນີ້ແລະແກ້ໄຂໃໝ່ແມ່ນບໍ່? reaction, renote ແລະການຕອບກັບຕໍ່ note ນີ້ ທັງເບິດຈະຖືກລຶບອອກ"
addToList: "ເພີ່ມໃສ່ລາຍຊື່" addToList: "ເພີ່ມໃສ່ລາຍຊື່"
addToAntenna: "ເພີ່ມໃສ່ເສົາອາກາດ" addToAntenna: "ເພີ່ມໃສ່ເສົາອາກາດ"
sendMessage: "ສົ່ງຂໍ້ຄວາມ" sendMessage: "ສົ່ງຂໍ້ຄວາມ"
copyRSS: "ສຳເນົາ RSS" copyRSS: "ຄັດລອກ RSS"
copyUsername: "ສຳເນົາຊື່ຜູ້ໃຊ້" copyUsername: "ຄັດລອກຊື່ຜູ້ໃຊ້"
copyUserId: "ສຳເນົາ ID ຜູ້ໃຊ້" copyUserId: "ຄັດລອກ ID ຜູ້ໃຊ້"
copyNoteId: "ສຳເນົາ ID ບັນທຶກ" copyNoteId: "ຄັດລອກ ID ຂອງ note"
copyFileId: "ສຳເນົາ ID ໄຟລ໌" copyFileId: "ຄັດລອກ ID ໄຟລ໌"
copyFolderId: "ສຳເນົາ ID ໂຟນເດີ" copyFolderId: "ຄັດລອກ ID ໂຟລ໌ເດີຣ໌"
copyProfileUrl: "ສຳເນົາ URL ໂປຣໄຟລ໌" copyProfileUrl: "ຄັດລອກ URL ໂປຣໄຟລ໌"
searchUser: "ຄົ້ນຫາຜູ້ໃຊ້" searchUser: "ຄົ້ນຫາຜູ້ໃຊ້"
reply: "ຕອບ​ໄປ​ທີ" reply: "ຕອບ​ກັບ"
loadMore: "ໂຫຼດເພີ່ມເຕີມ" loadMore: "ໂຫຼດເພີ່ມເຕີມ"
showMore: "ໂຫຼດເພີ່ມເຕີມ" showMore: "ໂຫຼດເພີ່ມເຕີມ"
showLess: "ປິດ" showLess: "ປິດ"
youGotNewFollower: "ໄດ້ຕິດຕາມທ່ານ" youGotNewFollower: "ໄດ້ຕິດຕາມເຈົ້າ"
receiveFollowRequest: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ໄດ້ຮັບ" receiveFollowRequest: "ມີຄຳຂໍຕິດຕາມສົ່ງມາ"
followRequestAccepted: "ຜູ້ຕິດຕາມໄດ້ຍອມຮັບຄໍາຮ້ອງຂໍຂອງທ່ານ" followRequestAccepted: "ການຕິດຕາມໄດ້ຮັບອນຸຍາດແລ້ວ"
mention: "ໄດ້ກ່າວມາ" mention: "ເວົ້າເຖີງ"
mentions: "ກ່າວເຖິງ" mentions: "ເວົ້າເຖີງເຈົ້າ"
directNotes: "ໂດຍກົງຫມາຍເຫດ" directNotes: "ໂພສ Direct note"
importAndExport: "ນໍາເຂົ້າ / ສົ່ງອອກ" importAndExport: "ນໍາເຂົ້າ / ສົ່ງອອກ"
import: "ນຳເຂົ້າ" import: "ນຳເຂົ້າ"
export: "ນຳອອກ" export: "ສົ່ງອອກ"
files: "ໄຟລ໌" files: "ໄຟລ໌"
download: "ດາວໂຫລດ" download: "ດາວໂຫລດ"
driveFileDeleteConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບໄຟລ໌ \"{name}\"? ບັນທຶກທີ່ມີໄຟລ໌ແນບນີ້ຈະຖືກລຶບຖິ້ມ" driveFileDeleteConfirm: "ຕ້ອງການລຶບໄຟລ໌ “{name}” ແມ່ນບໍ່? Note ທີ່ແນບມາກັບໄຟລ໌ນີ້ຈະຖືກລຶບອອກ"
unfollowConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການເຊົາຕິດຕາມ {name}?" unfollowConfirm: "ຕ້ອງການເລີກຕິດຕາມ {name} ແມ່ນບໍ່?"
exportRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການສົ່ງອອກ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ ແລະມັນຈະຖືກເພີ່ມໃສ່ drive ຂອງທ່ານເມື່ອມັນສຳເລັດແລ້ວ" exportRequested: "ເຈົ້າໄດ້ຮ້ອງຂໍການສົ່ງອອກ ອາດໃຊ້ເວລາຈັກໜ່ອຍ ເມື່ອແລ້ວຈະຖືກເພີ່ມໃສ່ drive"
importRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການນໍາເຂົ້າ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ" importRequested: "ເຈົ້າໄດ້ຮ້ອງຂໍການນຳເຂົ້າ ການດຳເນິນການນີ້ອາດໃຊ້ເວລາຈັກໜ່ອຍ"
lists: "ລາຍການ" lists: "ລາຍການ"
noLists: "ທ່ານ​ບໍ່​ມີ​ລາຍ​ການ​ໃດໆ​" noLists: "ບໍ່​ມີ​ລາຍ​ການ​ໃດໆ​"
note: "ບັນທຶກ" note: "Note"
notes: "ບັນທຶກ" notes: "Note"
following: "ກຳລັງຕິດຕາມ" following: "ກຳລັງຕິດຕາມ"
followers: "ຜູ້ຕິດຕາມ" followers: "ຜູ້ຕິດຕາມ"
followsYou: "ຕິດ​ຕາມ​ເຈົ້າ" followsYou: "ຕິດ​ຕາມ​ເຈົ້າ"
createList: "ສ້າງລາຍຊື່" createList: "ສ້າງລາຍຊື່"
manageLists: "ການບໍລິຫານບັນຊີລາຍການ" manageLists: "ຈັດການລາຍຊື່"
error: "ຂໍ້ຜິດພາດ" error: "ຂໍ້ຜິດພາດ"
somethingHappened: "​ອຸຍ, ມີ​ບາງ​ຢ່າງ​ຜິ​ດ​ພາດ" somethingHappened: "​ອຸຍ, ມີ​ບາງ​ຢ່າງ​ຜິ​ດ​ພາດ"
retry: "ລອງໃຫມ່" retry: "ລອງໃຫມ່"
@ -96,38 +97,38 @@ serverIsDead: "ເຊີບເວີນີ້ບໍ່ຕອບສະໜອງ
youShouldUpgradeClient: "ເພື່ອເບິ່ງໜ້ານີ້, ກະລຸນາໂຫຼດຂໍ້ມູນຄືນໃໝ່ເພື່ອອັບເດດລູກຄ້າຂອງທ່ານ" youShouldUpgradeClient: "ເພື່ອເບິ່ງໜ້ານີ້, ກະລຸນາໂຫຼດຂໍ້ມູນຄືນໃໝ່ເພື່ອອັບເດດລູກຄ້າຂອງທ່ານ"
enterListName: "ໃສ່ຊື່ສຳລັບລາຍຊື່" enterListName: "ໃສ່ຊື່ສຳລັບລາຍຊື່"
privacy: "ຄວາມເປັນສ່ວນຕົວ" privacy: "ຄວາມເປັນສ່ວນຕົວ"
makeFollowManuallyApprove: "ປະຕິບັດຕາມການຮ້ອງຂໍຮຽກຮ້ອງໃຫ້ມີການອະນຸມັດ" makeFollowManuallyApprove: "ຕິດຕາມຄຳຂໍທີ່ຕ້ອງໄດ້ຮັບການອະນຸມັດ"
defaultNoteVisibility: "ເປັນຄ່າເລີ່ມຕົ້ນ" defaultNoteVisibility: "ການເບິ່ງເຫັນທີ່ເປັນຄ່າເລີ່ມຕົ້ນ"
follow: "ກຳລັງຕິດຕາມ" follow: "ກຳລັງຕິດຕາມ"
followRequest: "ສົ່ງ​ການ​ຮ້ອງ​ຂໍ​ປະ​ຕິ​ບ​ຕາມ​" followRequest: "ສົ່ງ​ຄຳຂໍ​ຕິ​ດ​ຕາມ​"
followRequests: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍ" followRequests: "ສົ່ງ​ຄຳຂໍ​ຕິ​ດ​ຕາມ​"
unfollow: "ເຊົາຕິດຕາມ" unfollow: "ເຊົາຕິດຕາມ"
followRequestPending: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ລໍຖ້າຢູ່" followRequestPending: "ລໍຖ້າການອະນຸມັດໃຫ້ຕິດຕາມ"
enterEmoji: "ປ້ອນໂມຈິ" enterEmoji: "ປ້ອນອໂມຈິ"
renote: "Renote" renote: "Renote"
unrenote: "ເລີກ Renote" unrenote: "ເລີກ Renote"
renoted: "ເກັບບັນທຶກໄວ້" renoted: "renote ແລ້ວ"
cantRenote: "ໂພສນີ້ບໍ່ສາມາດຖືກບັນທຶກໄວ້ຄືນໃໝ່ໄດ້" cantRenote: "ໂພສນີ້ບໍ່ສາມາດ renote ໃໝ່ໄດ້"
cantReRenote: "ບໍ່ສາມາດບັນທຶກຄືນໃໝ່ໄດ້" cantReRenote: "ບໍ່ສາມາດບັນທຶກຄືນໃໝ່ໄດ້"
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ" quote: "ອ້າງອີງ"
inChannelRenote: "ຊ່ອງພຽງແຕ່ Renote" inChannelRenote: "Renote ໃນ channel ເທົ່ານັ້ນ"
inChannelQuote: "ຊ່ອງເທົ່ານັ້ນ Quote" inChannelQuote: "້າອິງໃນ channel ເທົ່ານັ້ນ"
pinnedNote: "ບັນທຶກທີ່ປັກໝຸດໄວ້" pinnedNote: "note ທີ່ປັກໝຸດໄວ້"
pinned: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌" pinned: "ປັກໝຸດ"
you: "ເຈົ້າ" you: "ເຈົ້າ"
clickToShow: "ກົດເພື່ອສະແດງໃຫ້ເຫັນ" clickToShow: "ກົດເພື່ອສະແດງໃຫ້ເຫັນ"
sensitive: "NSFW" sensitive: "NSFW"
add: "ເພີ່ມ" add: "ເພີ່ມ"
reaction: "ປະຕິກິລິຍາ" reaction: "reaction"
reactions: "ປະຕິກິລິຍາ" reactions: "reaction"
attachCancel: "ເອົາໄຟລ໌ແນບ" attachCancel: "ເອົາໄຟລ໌ແນບ"
mute: "ປີດສຽງ" mute: "ປີດສຽງ"
unmute: "ເປີດສຽງ" unmute: "ເປີດສຽງ"
block: "ບອກ" block: "ບລັອກ"
unblock: "ຍົກເລີກກາຮົບລັອກ" unblock: "ເລີກບລັອກ"
suspend: "ລະງັບ" suspend: "ລະງັບ"
unsuspend: "ເຊົາ​ລະ​ງັບ" unsuspend: "ເຊົາ​ລະ​ງັບ"
selectList: "ເລືອກບັນຊີລາຍການ" selectList: "ເລືອກລາຍຊື່"
editList: "ແກ້ໄຂລາຍຊື່" editList: "ແກ້ໄຂລາຍຊື່"
selectChannel: "ເລືອກຊ່ອງ" selectChannel: "ເລືອກຊ່ອງ"
selectAntenna: "ເລືອກເສົາອາກາດ" selectAntenna: "ເລືອກເສົາອາກາດ"
@ -150,30 +151,30 @@ flagShowTimelineRepliesDescription: "ສະແດງການຕອບກັບ
autoAcceptFollowed: "ອະນຸມັດອັດຕະໂນມັດຕາມຄຳຮ້ອງຂໍຈາກຜູ້ໃຊ້ທີ່ທ່ານກຳລັງຕິດຕາມຢູ່" autoAcceptFollowed: "ອະນຸມັດອັດຕະໂນມັດຕາມຄຳຮ້ອງຂໍຈາກຜູ້ໃຊ້ທີ່ທ່ານກຳລັງຕິດຕາມຢູ່"
addAccount: "ເພີ່ມບັນຊີ" addAccount: "ເພີ່ມບັນຊີ"
loginFailed: "ການເຂົ້າສູ່ລະບົບບໍ່ສຳເລັດ" loginFailed: "ການເຂົ້າສູ່ລະບົບບໍ່ສຳເລັດ"
showOnRemote: "ເບິ່ງຢູ່ໃນຕົວຢ່າງໄລຍະໄກ" showOnRemote: "ເບິ່ງໃນເຊີຟເວີຣ໌ໄລຍະໄກ"
general: "ທົ່ວໄປ" general: "ທົ່ວໄປ"
wallpaper: "ພາບພື້ນຫລັງ" wallpaper: "ພາບພື້ນຫລັງ"
setWallpaper: "ຕັ້ງເປັນພາບພື້ນຫຼັງ" setWallpaper: "ຕັ້ງເປັນພາບພື້ນຫຼັງ"
removeWallpaper: "ລຶບຮູບວໍເປເປີອອກ" removeWallpaper: "ລຶບຮູບວໍເປເປີອອກ"
searchWith: "ຊອກຫາ: {q}" searchWith: "ຊອກຫາ: {q}"
youHaveNoLists: "ທ່ານ​ບໍ່​ມີ​ລາຍ​ການ​ໃດໆ​" youHaveNoLists: "ເຈົ້າບໍ່ມີລາຍຊື່ໃດໆ"
proxyAccount: "ບັນຊີພຣັອກຊີ" proxyAccount: "ບັນຊີພຣັອກຊີ"
host: "ໂຮສ" host: "ໂຮຕ໌"
selectUser: "ເລືອກຜູ້ໃຊ້" selectUser: "ເລືອກຜູ້ໃຊ້"
recipient: "ເຖິງ" recipient: "ເຖິງ"
annotation: "ຄຳເຫັນ" annotation: "ຄຳເຫັນ"
federation: "ສະຫະພັນ" federation: "ສະຫະພັນ"
instances: "ອີນສະແຕນ" instances: "ເຊີຟເວີຣ໌"
registeredAt: "ລົງທະບຽນຢູ່" registeredAt: "ລົງທະບຽນຢູ່"
storageUsage: "ບ່ອນ​ຈັດ​ເກັບ​ຂໍ້​ມູນທີ່ໃຊ້" storageUsage: "ບ່ອນ​ຈັດ​ເກັບ​ຂໍ້​ມູນທີ່ໃຊ້"
charts: "ອັນດັບເພງ" charts: "ແຜນພູມ"
perHour: "ຕໍ່ຊົ່ວໂມງ" perHour: "ຕໍ່ຊົ່ວໂມງ"
perDay: "ຕໍ່​ມື້" perDay: "ຕໍ່​ມື້"
stopActivityDelivery: "ຢຸດເຊົາການສົ່ງກິດຈະກໍາ" stopActivityDelivery: "ຢຸດເຊົາການສົ່ງກິດຈະກໍາ"
blockThisInstance: "ຂັດຂວາງຕົວຢ່າງນີ້" blockThisInstance: "ຂັດຂວາງຕົວຢ່າງນີ້"
operations: "ການດຳເນີນງານ" operations: "ການດຳເນີນງານ"
software: "ຊອບແວ" software: "ຊອບແວ"
version: "ສະບັບ" version: "ເວີຣ໌ຊັນ"
metadata: "Metadata" metadata: "Metadata"
withNFiles: "{n} ໄຟລ໌(s)" withNFiles: "{n} ໄຟລ໌(s)"
monitor: "ຈໍພາບ" monitor: "ຈໍພາບ"
@ -198,15 +199,15 @@ federating: "ສະຫະພັນ"
blocked: "ບລັອກແລ້ວ " blocked: "ບລັອກແລ້ວ "
suspended: "ໂຈະ" suspended: "ໂຈະ"
all: "ທັງໝົດ" all: "ທັງໝົດ"
subscribing: "ສະໝັກສະມາຊິກແລັວ" subscribing: "ກຳລັງສະມັກສະມາຊິກ"
publishing: "ການ​ພິມ​ເຜີຍ​ແຜ່" publishing: "ກຳລັງ​ເຜີຍ​ແພ່"
notResponding: "ບໍ່ຕອບສະໜອງ" notResponding: "ບໍ່ຕອບສະໜອງ"
instanceFollowing: "ກຳລັງຕິດຕາມສຸດຕົວຢ່າງ" instanceFollowing: "ກຳລັງຕິດຕາມບົນເຊີຟເວີຣ໌"
instanceFollowers: "ຜູ້ຕິດຕາມຕົວຢ່າງ" instanceFollowers: "ຜູ້ຕິດຕາມຂອງເຊີຟເວີຣ໌"
instanceUsers: "ຜູ້​ຊົມ​ໃຊ້​ຂອງ​ຕົວ​ຢ່າງ​ນີ້​" instanceUsers: "ຜູ້​ໃຊ້​ຂອງ​ເຊີຟເວີຣ໌ນີ້"
changePassword: "ປ່ຽນ​ລະ​ຫັດ​ຜ່ານ" changePassword: "ປ່ຽນ​ລະ​ຫັດ​ຜ່ານ"
security: "ຄວາມປອດໄພ" security: "ຄວາມປອດໄພ"
retypedNotMatch: "ວັດສະດຸປ້ອນບໍ່ກົງກັນ" retypedNotMatch: "ປ້ອນຂໍ້ມູນບໍ່ກົງກັນ"
currentPassword: "ລະຫັດຜ່ານປະຈຸບັນ" currentPassword: "ລະຫັດຜ່ານປະຈຸບັນ"
newPassword: "ລະຫັດຜ່ານໃໝ່" newPassword: "ລະຫັດຜ່ານໃໝ່"
newPasswordRetype: "ໃສ່ລະຫັດຜ່ານໃໝ່ອີກເທື່ອໜຶ່ງ" newPasswordRetype: "ໃສ່ລະຫັດຜ່ານໃໝ່ອີກເທື່ອໜຶ່ງ"
@ -222,14 +223,14 @@ remove: "ລຶບ"
removed: "ລຶບແລ້ວ" removed: "ລຶບແລ້ວ"
resetAreYouSure: "ຣີ​ເຊັດບໍ?" resetAreYouSure: "ຣີ​ເຊັດບໍ?"
saved: "ບັນທຶກແລ້ວ" saved: "ບັນທຶກແລ້ວ"
messaging: "ແຊ໋ດ" messaging: "ແຊັຕ"
upload: "ອັບໂຫຼດ" upload: "ອັບໂຫຼດ"
keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ" keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ"
fromDrive: "ຈາກ Drive" fromDrive: "ຈາກ Drive"
fromUrl: "ຈາກ URL" fromUrl: "ຈາກ URL"
uploadFromUrl: "ອັບໂຫຼດຈາກ URL" uploadFromUrl: "ອັບໂຫຼດຈາກ URL"
uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້ອງການອັບໂຫລດ" uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້ອງການອັບໂຫລດ"
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດ" uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດແລ້ວ"
explore: "ສຳຫຼວດ" explore: "ສຳຫຼວດ"
messageRead: "ອ່ານແລ້ວ" messageRead: "ອ່ານແລ້ວ"
startMessaging: "ເລີ່ມການສົນທະນາໃໝ່" startMessaging: "ເລີ່ມການສົນທະນາໃໝ່"
@ -243,47 +244,47 @@ images: "ຮູບພາບ"
image: "ຮູບພາບ" image: "ຮູບພາບ"
birthday: "ວັນເກີດ" birthday: "ວັນເກີດ"
yearsOld: "{age} ປີ" yearsOld: "{age} ປີ"
registeredDate: "ວັນທີ່ເປັນສະມາຊິກ" registeredDate: "ວັນທີ່ລົງທະບຽນ"
location: "ທີ່ຕັ້ງ" location: "ທີ່ຕັ້ງ"
theme: "ແທ໋ມ" theme: "Theme"
themeForLightMode: "ຮູບແບບສີສັນເພື່ອໃຊ້ໃນໂໝດແສງ" themeForLightMode: "Theme ໃຊ້ໃນໂໝດສະຫວ່າງ"
themeForDarkMode: "ຮູບແບບສີສັນທີ່ຈະໃຊ້ຢູ່ໃນໂໝດມືດ" themeForDarkMode: "Theme ໃຊ້ໃນໂໝດມືດ"
light: "ສະຫວ່າງ" light: "ສະຫວ່າງ"
dark: "ມືດ" dark: "ມືດ"
lightThemes: "ຊຸດຮູບແບບສະຫວ່າງ" lightThemes: "ຊຸດຮູບແບບສະຫວ່າງ"
darkThemes: "ຮູບແບບສີສັນມືດ" darkThemes: "ຮູບແບບສີສັນມືດ"
syncDeviceDarkMode: "ຊິງຄ໌ໂໝດມືດກັບການຕັ້ງຄ່າທົ່ວອຸປະກອນ" syncDeviceDarkMode: "ຊິງຄ໌ໂໝດມືດກັບການຕັ້ງຄ່າທົ່ວອຸປະກອນ"
drive: "ຂັບ" drive: "Drive"
fileName: "ຊື່ໄຟລ໌" fileName: "ຊື່ໄຟລ໌"
selectFile: "ເລືອກໄຟລ໌" selectFile: "ເລືອກໄຟລ໌"
selectFiles: "ເລືອກໄຟລ໌" selectFiles: "ເລືອກໄຟລ໌"
selectFolder: "ເລືອກໂຟລເດີ" selectFolder: "ເລືອກໂຟລເດີ"
selectFolders: "ເລືອກໂຟລເດີ" selectFolders: "ເລືອກໂຟລເດີ"
renameFile: "ປ່ຽນຊື່ໄຟລ໌" renameFile: "ປ່ຽນຊື່ໄຟລ໌"
folderName: "ຊື່ໂຟນເດີ" folderName: "ຊື່ໂຟລເດີຣ໌"
createFolder: "​ສ້າງ​ໂຟ​ລ​ເດີ" createFolder: "​ສ້າງ​ໂຟ​ລ​ເດີ"
renameFolder: "ປ່ຽນຊື່ໂຟນເດີນີ້" renameFolder: "ປ່ຽນຊື່ໂຟນເດີນີ້"
deleteFolder: "ລົບໂຟ​ລ​ເດີ​" deleteFolder: "ລົບໂຟ​ລ​ເດີ​"
addFile: "ເພີ່ມໄຟລ໌" addFile: "ເພີ່ມໄຟລ໌"
emptyDrive: "Drive ຂອງທ່ານຫວ່າງເປົ່າ" emptyDrive: "Drive ຂອງທ່ານຫວ່າງເປົ່າ"
emptyFolder: "ໂຟນເດີນີ້ເປົ່າຫວ່າງ" emptyFolder: "ໂຟລເດີຣ໌ນີ້ວ່າງເປົ່າ"
unableToDelete: "ບໍ່​ສາ​ມາດລົບໄດ້" unableToDelete: "ບໍ່​ສາ​ມາດລົບໄດ້"
inputNewFileName: "ໃສ່ຊື່ໄຟລ໌ໃໝ່" inputNewFileName: "ໃສ່ຊື່ໄຟລ໌ໃໝ່"
inputNewDescription: "ໃສ່ຄຳບັນຍາຍໃໝ່" inputNewDescription: "ໃສ່ຄຳບັນຍາຍໃໝ່"
inputNewFolderName: "ໃສ່ຊື່ໂຟນເດີໃໝ່" inputNewFolderName: "ໃສ່ຊື່ໂຟນເດີໃໝ່"
circularReferenceFolder: "ໂຟນເດີປາຍທາງແມ່ນໂຟນເດີຍ່ອຍຂອງໂຟນເດີທີ່ທ່ານຕ້ອງການຍ້າຍ" circularReferenceFolder: "ໂຟນເດີປາຍທາງແມ່ນໂຟນເດີຍ່ອຍຂອງໂຟນເດີທີ່ທ່ານຕ້ອງການຍ້າຍ"
rename: "ປ່ຽນຊື່" rename: "ປ່ຽນຊື່"
doNothing: "ບໍ່ສົນໃຈ" doNothing: "ຢ່າມັນ"
watch: "ເບິ່ງ" watch: "ເພັ່ງເລັງ"
unwatch: "ຢຸດເບິ່ງ" unwatch: "ຢຸດເພັ່ງເລັງ"
accept: "ອະນຸຍາດ" accept: "ອະນຸຍາດ"
reject: "ປະຕິເສດ" reject: "ປະຕິເສດ"
normal: "ປົກກະຕິ" normal: "ປົກກະຕິ"
instanceName: "ຊື່ເຊີເວີ້" instanceName: "ຊື່ເຊີເວີ້"
instanceDescription: "ຄໍາອະທິບາຍຕົວຢ່າງ" instanceDescription: "ຄຳອະທິບາຍແນະນຳເຊີຟເວີຣ໌"
maintainerName: "ຜູ້ດູແລ" maintainerName: "ຜູ້ດູແລ"
maintainerEmail: "ອີເມວ admin" maintainerEmail: "ອີເມລຜູ້ດູແລ"
tosUrl: "ເງື່ອນໄຂການໃຫ້ບໍລິການ URL" tosUrl: " URL ເງື່ອນໄຂການໃຫ້ບໍລິການ"
thisYear: "ປີນີ້" thisYear: "ປີນີ້"
thisMonth: "ເດືອນນີ້" thisMonth: "ເດືອນນີ້"
today: "ມື້ນີ້" today: "ມື້ນີ້"
@ -291,32 +292,34 @@ dayX: "ວັນ {day}"
monthX: "ເດືອນ {month}" monthX: "ເດືອນ {month}"
yearX: "ປີ {year}" yearX: "ປີ {year}"
pages: "ໜ້າ" pages: "ໜ້າ"
integration: "ຄວາມສຳພັນຂອງ" integration: "ເຊື່ອມໂຍງ"
connectService: "ເຊື່ອມຕໍ່" connectService: "ເຊື່ອມຕໍ່"
disconnectService: "ຕັດການເຊື່ອມຕໍ່" disconnectService: "ຕັດການເຊື່ອມຕໍ່"
enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ່ນ" enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ່ນ"
enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ" enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ"
disablingTimelinesInfo: "ຜູ້ເບິ່ງແຍງລະບົບ ແລະຜູ້ຄວບຄຸມຈະມີການເຂົ້າເຖິງທຸກກຳນົດເວລາ, ເຖິງແມ່ນວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍຕາມ" disablingTimelinesInfo: "ຜູ້ດູແລລະບບແລະຜູ້ຄວບຄຸມຈະສາມາດເຂົ້າເຖີງໄທມ໌ໄລນ໌ທັ້ງເບີດ ເຖີງວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍຕາມ"
registration: "ລົງທະບຽນ" registration: "ລົງທະບຽນ"
enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່" enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່"
invite: "ເຊີນ" invite: "ເຊີນ"
driveCapacityPerLocalAccount: "ຄວາມອາດສາມາດຂັບຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ" driveCapacityPerLocalAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
driveCapacityPerRemoteAccount: "ໄດຣຟ໌ຄວາມອາດສາມາດຕໍ່ຜູ້ໃຊ້ທາງໄກ" driveCapacityPerRemoteAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ໄລຍະໄກ"
basicInfo: "ຂໍ້ມຸນເບື້ອງຕົ້ນ" basicInfo: "ຂໍ້ມຸນເບື້ອງຕົ້ນ"
pinnedNotes: "ບັນທຶກທີ່ປັກໝຸດໄວ້" pinnedNotes: "Note ທີ່ປັກໝຸດໄວ້"
hcaptchaSiteKey: "ກະແຈໄຊທ໌" hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "ກະແຈລັບ" hcaptchaSecretKey: "Secret key"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret Key"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "ເປີດໃຊ້ງານລີແຄ໋ບຈາ" enableRecaptcha: "ເປີດໃຊ້ງານ reCAPTCHA"
recaptchaSiteKey: "ກະແຈໄຊທ໌" recaptchaSiteKey: "Site key"
recaptchaSecretKey: "ກະແຈລັບ" recaptchaSecretKey: "Secret key"
turnstileSiteKey: "ກະແຈໄຊທ໌" turnstileSiteKey: "Site key"
turnstileSecretKey: "ກະແຈລັບ" turnstileSecretKey: "Secret key"
name: "ຊື່" name: "ຊື່"
userList: "ລາຍການ" userList: "ລາຍການ"
about: "ກ່ຽວກັບ" about: "ກ່ຽວກັບ"
aboutMisskey: "ກ່ຽວກັບ Misskey" aboutMisskey: "ກ່ຽວກັບ Misskey"
administrator: "ຜູ້ບໍລິຫານ" administrator: "ຜູ້ດູແລ"
token: "ໂທເຄັນ" token: "ໂທເຄັນ"
share: "ແບ່ງປັນ" share: "ແບ່ງປັນ"
notFound: "ບໍ່ພົບ" notFound: "ບໍ່ພົບ"
@ -329,27 +332,27 @@ title: "ຫົວຂໍ້"
text: "ຂໍ້ຄວາມ" text: "ຂໍ້ຄວາມ"
enable: "ເປີດໃຊ້" enable: "ເປີດໃຊ້"
next: "ຕໍ່ໄປ" next: "ຕໍ່ໄປ"
retype: "ເຂົ້າໄປອີກຄັ້ງ" retype: "ລອງພິມລະຫັດອີກເທື່ອໜຶ່ງ"
quoteAttached: "ວົງຢືມ" quoteAttached: "ອ້າງອິງ"
invitations: "ເຊີນ" invitations: "ເຊີນ"
unavailable: "ບໍ່​ສາ​ມາດ​ໃຊ້​ໄດ້" unavailable: "ບໍ່​ສາ​ມາດ​ໃຊ້​ໄດ້"
language: "ພາສາ" language: "ພາສາ"
aboutX: "ກ່ຽວກັບ {x}" aboutX: "ກ່ຽວກັບ {x}"
emojiStyle: "ຮູບແບບອີໂມຈິ" emojiStyle: "ຮູບແບບອີໂມຈິ"
native: "ພາ​ສາ​ແມ່" native: "ພາ​ສາ​ແມ່"
noHistory: "​ບໍ່​ມີ​ລາຍ​ການ​ຢູ່​ບ່ອນ​ນີ້" noHistory: "​ບໍ່​ມີປະຫວັດ"
doing: "ກຳລັງປະມວນຜົນ..." doing: "ກຳລັງປະມວນຜົນ..."
category: "ຫມວດຫມູ່" category: "ຫມວດຫມູ່"
tags: "ແທ໋ກ" tags: "Aliases"
createAccount: "ສ້າງບັນຊີ" createAccount: "ສ້າງບັນຊີ"
existingAccount: "ທີ່ມີຢູ່" existingAccount: "ບັນຊີທີ່ມີຢູ່ແລ້ວ"
dashboard: "ໜ້າປັດ" dashboard: "Dashboard"
local: "ທ້ອງຖິ່ນ" local: "ທ້ອງຖິ່ນ"
numberOfDays: "ຈຳນວນມື້" numberOfDays: "ຈຳນວນມື້"
objectStorageBucket: "Bucket" objectStorageBucket: "Bucket"
objectStoragePrefix: "Prefix" objectStoragePrefix: "Prefix"
objectStorageEndpoint: "Endpoint" objectStorageEndpoint: "Endpoint"
objectStorageRegion: "ພາກ​ພື້ນ" objectStorageRegion: "ພູມິພາກ"
deleteAll: "ລຶບທັງໝົດ" deleteAll: "ລຶບທັງໝົດ"
sounds: "ສຽງ" sounds: "ສຽງ"
sound: "ສຽງ" sound: "ສຽງ"
@ -362,11 +365,11 @@ state: "ສະຖານະ"
sort: "ຈັດຮຽງໂດຍ" sort: "ຈັດຮຽງໂດຍ"
ascendingOrder: "ນ້ອຍໄປຫາໃຫຍ່" ascendingOrder: "ນ້ອຍໄປຫາໃຫຍ່"
descendingOrder: "ໃຫຍ່ຫານ້ອຍ" descendingOrder: "ໃຫຍ່ຫານ້ອຍ"
output: "ຜົນຜະລິດ" output: "Output"
script: "ບົດ​ຄວາມ" script: "Script"
menu: "ເມນູ" menu: "ເມນູ"
rearrange: "ຈັດລຽງຄືນ" rearrange: "ຈັດລຽງໃໝ່"
poll: "ການພູນ" poll: "Poll"
description: "ລາຍລະອຽດ" description: "ລາຍລະອຽດ"
author: "ຜູ້ຂຽນ" author: "ຜູ້ຂຽນ"
manage: "ການຈັດການ" manage: "ການຈັດການ"
@ -380,7 +383,7 @@ permission: "ການອະນຸຍາດ"
notificationType: "​ປະເພດການ​ແຈ້ງ​ເຕືອນ" notificationType: "​ປະເພດການ​ແຈ້ງ​ເຕືອນ"
edit: "ແກ້ໄຂ" edit: "ແກ້ໄຂ"
email: "ອີເມວ" email: "ອີເມວ"
smtpHost: "ໂຮສ" smtpHost: "ໂຮຕ໌"
smtpUser: "ຊື່ຜູ້ໃຊ້" smtpUser: "ຊື່ຜູ້ໃຊ້"
smtpPass: "ລະຫັດຜ່ານ" smtpPass: "ລະຫັດຜ່ານ"
clearCache: "ລຶບລ້າງແຄສ" clearCache: "ລຶບລ້າງແຄສ"
@ -390,8 +393,12 @@ administration: "ການຈັດການ"
middle: "ປານກາງ" middle: "ປານກາງ"
searchByGoogle: "ຄົ້ນຫາ" searchByGoogle: "ຄົ້ນຫາ"
file: "ໄຟລ໌" file: "ໄຟລ໌"
replies: "ຕອບ​ໄປ​ທີ" replies: "ຕອບ​ກັບ"
renotes: "Renote" renotes: "Renote"
_delivery:
stop: "ໂຈະ"
_type:
none: "ກຳລັງ​ເຜີຍ​ແພ່"
_role: _role:
_priority: _priority:
middle: "ປານກາງ" middle: "ປານກາງ"
@ -409,8 +416,8 @@ _sfx:
_2fa: _2fa:
renewTOTPCancel: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້" renewTOTPCancel: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້"
_widgets: _widgets:
profile: "ໂພຼຟາຍ" profile: "ໂປຣໄຟລ໌"
instanceInfo: "ອີນສະແຕນ" instanceInfo: "ຂໍ້ມູລເຊີຟເວີຣ໌"
notifications: "ການແຈ້ງເຕືອນ" notifications: "ການແຈ້ງເຕືອນ"
timeline: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​" timeline: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​"
activity: "ກິດຈະກຳ" activity: "ກິດຈະກຳ"
@ -429,28 +436,29 @@ _profile:
_exportOrImport: _exportOrImport:
followingList: "ກຳລັງຕິດຕາມ" followingList: "ກຳລັງຕິດຕາມ"
muteList: "ປີດສຽງ" muteList: "ປີດສຽງ"
blockingList: "ບອກ" blockingList: "ບລັອກ"
userLists: "ລາຍການ" userLists: "ລາຍການ"
_charts: _charts:
federation: "ສະຫະພັນ" federation: "ສະຫະພັນ"
_timelines: _timelines:
home: "ໜ້າຫຼັກ" home: "ໜ້າຫຼັກ"
_play: _play:
script: "ບົດ​ຄວາມ" script: "Script"
summary: "ລາຍລະອຽດ" summary: "ລາຍລະອຽດ"
_pages: _pages:
blocks: blocks:
image: "ຮູບພາບ" image: "ຮູບພາບ"
_notification: _notification:
youWereFollowed: "ໄດ້ຕິດຕາມທ່ານ" youWereFollowed: "ໄດ້ຕິດຕາມເຈົ້າ"
_types: _types:
follow: "ກຳລັງຕິດຕາມ" follow: "ກຳລັງຕິດຕາມ"
mention: "ໄດ້ກ່າວມາ" mention: "ໄດ້ກ່າວເຖິງ"
renote: "Renote" renote: "Renote"
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ" quote: "ອ້າງອີງ"
reaction: "ປະຕິກິລິຍາ" reaction: "Reaction"
login: "ເຂົ້າ​ສູ່​ລະ​ບົບ"
_actions: _actions:
reply: "ຕອບ​ໄປ​ທີ" reply: "ຕອບ​ກັບ"
renote: "Renote" renote: "Renote"
_deck: _deck:
_columns: _columns:
@ -458,8 +466,12 @@ _deck:
tl: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​" tl: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​"
list: "ລາຍການ" list: "ລາຍການ"
channel: "ຊ່ອງ" channel: "ຊ່ອງ"
mentions: "ກ່າວເຖິງ" mentions: "ກ່າວເຖິງເຈົ້າ"
_webhookSettings: _webhookSettings:
name: "ຊື່" name: "ຊື່"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "ອີເມວ"
_moderationLogTypes: _moderationLogTypes:
suspend: "ລະງັບ" suspend: "ລະງັບ"

View file

@ -348,6 +348,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Inschakelen hCaptcha" enableHcaptcha: "Inschakelen hCaptcha"
hcaptchaSiteKey: "Site sleutel" hcaptchaSiteKey: "Site sleutel"
hcaptchaSecretKey: "Geheime sleutel" hcaptchaSecretKey: "Geheime sleutel"
mcaptchaSiteKey: "Site sleutel"
mcaptchaSecretKey: "Geheime sleutel"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Inschakelen reCAPTCHA" enableRecaptcha: "Inschakelen reCAPTCHA"
recaptchaSiteKey: "Site sleutel" recaptchaSiteKey: "Site sleutel"
@ -427,6 +429,10 @@ loggedInAsBot: "Momenteel als bot ingelogd"
icon: "Avatar" icon: "Avatar"
replies: "Antwoord" replies: "Antwoord"
renotes: "Herdelen" renotes: "Herdelen"
_delivery:
stop: "Opgeschort"
_type:
none: "Publiceren"
_email: _email:
_follow: _follow:
title: "volgde jou" title: "volgde jou"
@ -480,6 +486,7 @@ _notification:
renote: "Herdelen" renote: "Herdelen"
quote: "Quote" quote: "Quote"
reaction: "Reacties" reaction: "Reacties"
login: "Inloggen"
_actions: _actions:
reply: "Antwoord" reply: "Antwoord"
renote: "Herdelen" renote: "Herdelen"

View file

@ -463,6 +463,9 @@ options: "Alternativ"
icon: "Avatar" icon: "Avatar"
replies: "Svar" replies: "Svar"
renotes: "Renote" renotes: "Renote"
surrender: "Avbryt"
_delivery:
stop: "Suspendert"
_initialAccountSetting: _initialAccountSetting:
theseSettingsCanEditLater: "Du kan endre disse innstillingene senere." theseSettingsCanEditLater: "Du kan endre disse innstillingene senere."
_achievements: _achievements:
@ -698,6 +701,7 @@ _notification:
renote: "Renotes" renote: "Renotes"
quote: "Sitater" quote: "Sitater"
reaction: "Reaksjoner" reaction: "Reaksjoner"
login: "Logg inn"
_actions: _actions:
reply: "Svar" reply: "Svar"
renote: "Renote" renote: "Renote"
@ -718,5 +722,9 @@ _deck:
direct: "Direkte" direct: "Direkte"
_webhookSettings: _webhookSettings:
name: "Navn" name: "Navn"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "E-post"
_moderationLogTypes: _moderationLogTypes:
suspend: "Suspender" suspend: "Suspender"

View file

@ -20,6 +20,7 @@ noNotes: "Brak wpisów"
noNotifications: "Brak powiadomień" noNotifications: "Brak powiadomień"
instance: "Instancja" instance: "Instancja"
settings: "Ustawienia" settings: "Ustawienia"
notificationSettings: "Powiadomienia"
basicSettings: "Podstawowe ustawienia" basicSettings: "Podstawowe ustawienia"
otherSettings: "Pozostałe ustawienia" otherSettings: "Pozostałe ustawienia"
openInWindow: "Otwórz w oknie" openInWindow: "Otwórz w oknie"
@ -44,13 +45,20 @@ pin: "Przypnij do profilu"
unpin: "Odepnij z profilu" unpin: "Odepnij z profilu"
copyContent: "Skopiuj zawartość" copyContent: "Skopiuj zawartość"
copyLink: "Skopiuj odnośnik" copyLink: "Skopiuj odnośnik"
copyLinkRenote: "Skopiuj link renote'a"
delete: "Usuń" delete: "Usuń"
deleteAndEdit: "Usuń i edytuj" deleteAndEdit: "Usuń i edytuj"
deleteAndEditConfirm: "Czy na pewno chcesz usunąć ten wpis i zedytować go? Utracisz wszystkie reakcje, udostępnienia i odpowiedzi do tego wpisu." deleteAndEditConfirm: "Czy na pewno chcesz usunąć ten wpis i zedytować go? Utracisz wszystkie reakcje, udostępnienia i odpowiedzi do tego wpisu."
addToList: "Dodaj do listy" addToList: "Dodaj do listy"
addToAntenna: "Dodaj do anteny"
sendMessage: "Wyślij wiadomość" sendMessage: "Wyślij wiadomość"
copyRSS: "Kopiuj RSS" copyRSS: "Kopiuj RSS"
copyUsername: "Kopiuj nazwę użytkownika" copyUsername: "Kopiuj nazwę użytkownika"
copyUserId: "Kopiuj ID użytkownika"
copyNoteId: "Kopiuj ID notatki"
copyFileId: "Kopiuj ID pliku"
copyFolderId: "Kopiuj ID folderu"
copyProfileUrl: "Kopiuj URL profilu"
searchUser: "Wyszukiwanie użytkowników" searchUser: "Wyszukiwanie użytkowników"
reply: "Odpowiedz" reply: "Odpowiedz"
loadMore: "Załaduj więcej" loadMore: "Załaduj więcej"
@ -103,6 +111,8 @@ renoted: "Udostępniono."
cantRenote: "Ten wpis nie może zostać udostępniony." cantRenote: "Ten wpis nie może zostać udostępniony."
cantReRenote: "Udostępnienie nie może zostać udostępnione." cantReRenote: "Udostępnienie nie może zostać udostępnione."
quote: "Cytuj" quote: "Cytuj"
inChannelRenote: "Renote tylko na kanale"
inChannelQuote: "Cytat tylko na kanale"
pinnedNote: "Przypięty wpis" pinnedNote: "Przypięty wpis"
pinned: "Przypnij do profilu" pinned: "Przypnij do profilu"
you: "Ty" you: "Ty"
@ -111,14 +121,23 @@ sensitive: "NSFW"
add: "Dodaj" add: "Dodaj"
reaction: "Reakcja" reaction: "Reakcja"
reactions: "Reakcja" reactions: "Reakcja"
emojiPicker: "Selektor Emoji"
pinnedEmojisForReactionSettingDescription: "Ustaw emotikony które powinny być przypięte i od razu wyświetlone podczas reagowania."
pinnedEmojisSettingDescription: "Ustaw emotikony które powinny być przypięte i wyświetlone podczas przeglądania selektora Emoji"
emojiPickerDisplay: "Wyświetlanie selektora Emoji"
overwriteFromPinnedEmojisForReaction: "Zastąp z ustawień reakcji"
overwriteFromPinnedEmojis: "Zastąp z ogólnych ustawień"
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać" reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać"
rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu" rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu"
attachCancel: "Usuń załącznik" attachCancel: "Usuń załącznik"
deleteFile: "Usuń plik"
markAsSensitive: "Oznacz jako NSFW" markAsSensitive: "Oznacz jako NSFW"
unmarkAsSensitive: "Cofnij NSFW" unmarkAsSensitive: "Cofnij NSFW"
enterFileName: "Wprowadź nazwę pliku" enterFileName: "Wprowadź nazwę pliku"
mute: "Wycisz" mute: "Wycisz"
unmute: "Cofnij wyciszenie" unmute: "Cofnij wyciszenie"
renoteMute: "Wycisz renote'y"
renoteUnmute: "Wyłącz wyciszenie renote'ów"
block: "Zablokuj" block: "Zablokuj"
unblock: "Odblokuj" unblock: "Odblokuj"
suspend: "Zawieś" suspend: "Zawieś"
@ -128,8 +147,10 @@ unblockConfirm: "Czy na pewno chcesz odblokować to konto?"
suspendConfirm: "Czy na pewno chcesz zawiesić to konto?" suspendConfirm: "Czy na pewno chcesz zawiesić to konto?"
unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?" unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?"
selectList: "Wybierz listę" selectList: "Wybierz listę"
editList: "Edytuj listę"
selectChannel: "Wybierz kanał" selectChannel: "Wybierz kanał"
selectAntenna: "Wybierz Antennę" selectAntenna: "Wybierz Antennę"
editAntenna: "Edytuj antenę"
selectWidget: "Wybierz widżet" selectWidget: "Wybierz widżet"
editWidgets: "Edytuj widżety" editWidgets: "Edytuj widżety"
editWidgetsExit: "Gotowe" editWidgetsExit: "Gotowe"
@ -142,11 +163,15 @@ addEmoji: "Dodaj emoji"
settingGuide: "Proponowana konfiguracja" settingGuide: "Proponowana konfiguracja"
cacheRemoteFiles: "Przechowuj zdalne pliki w pamięci podręcznej" cacheRemoteFiles: "Przechowuj zdalne pliki w pamięci podręcznej"
cacheRemoteFilesDescription: "Gdy ta opcja jest wyłączona, zdalne pliki są ładowane bezpośrednio ze zdalnych instancji. Wyłączenie the opcji zmniejszy użycie powierzchni dyskowej, ale zwiększy transfer, ponieważ miniaturki nie będą generowane." cacheRemoteFilesDescription: "Gdy ta opcja jest wyłączona, zdalne pliki są ładowane bezpośrednio ze zdalnych instancji. Wyłączenie the opcji zmniejszy użycie powierzchni dyskowej, ale zwiększy transfer, ponieważ miniaturki nie będą generowane."
youCanCleanRemoteFilesCache: "Możesz wyczyścić cache poprzez kliknięcie przycisku 🗑️ w widoku menedżera plików."
cacheRemoteSensitiveFiles: "Przechowuj wrażliwe zdalne pliki w pamięci podręcznej"
cacheRemoteSensitiveFilesDescription: "Gdy ta opcja jest wyłączona, wrażliwe pliki zdalne są wczytywane bezpośrednio ze zdalnej instancji bez cacheowania."
flagAsBot: "To konto jest botem" flagAsBot: "To konto jest botem"
flagAsBotDescription: "Jeżeli ten kanał jest kontrolowany przez jakiś program, ustaw tę opcję. Jeżeli włączona, będzie działać jako flaga informująca innych programistów, aby zapobiegać nieskończonej interakcji z różnymi botami i dostosowywać wewnętrzne systemy Misskey, traktując konto jako bota." flagAsBotDescription: "Jeżeli ten kanał jest kontrolowany przez jakiś program, ustaw tę opcję. Jeżeli włączona, będzie działać jako flaga informująca innych programistów, aby zapobiegać nieskończonej interakcji z różnymi botami i dostosowywać wewnętrzne systemy Misskey, traktując konto jako bota."
flagAsCat: "To konto jest kotem" flagAsCat: "To konto jest kotem"
flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot." flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot."
flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu" flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu"
flagShowTimelineRepliesDescription: "Gdy włączone, pokazuje odpowiedzi użytkowników na notatki innych użytkowników w osi czasu."
autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz" autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz"
addAccount: "Dodaj konto" addAccount: "Dodaj konto"
reloadAccountsList: "Odśwież listę kont" reloadAccountsList: "Odśwież listę kont"
@ -176,6 +201,7 @@ perHour: "co godzinę"
perDay: "co dzień" perDay: "co dzień"
stopActivityDelivery: "Przestań przesyłać aktywności" stopActivityDelivery: "Przestań przesyłać aktywności"
blockThisInstance: "Zablokuj tę instancję" blockThisInstance: "Zablokuj tę instancję"
silenceThisInstance: "Wycisz tę instancję"
operations: "Działania" operations: "Działania"
software: "Oprogramowanie" software: "Oprogramowanie"
version: "Wersja" version: "Wersja"
@ -195,6 +221,8 @@ clearCachedFiles: "Wyczyść pamięć podręczną"
clearCachedFilesConfirm: "Czy na pewno chcesz usunąć wszystkie zdalne pliki z pamięci podręcznej?" clearCachedFilesConfirm: "Czy na pewno chcesz usunąć wszystkie zdalne pliki z pamięci podręcznej?"
blockedInstances: "Zablokowane instancje" blockedInstances: "Zablokowane instancje"
blockedInstancesDescription: "Wypisz nazwy hostów instancji, które powinny zostać zablokowane. Wypisane instancje nie będą mogły dłużej komunikować się z tą instancją." blockedInstancesDescription: "Wypisz nazwy hostów instancji, które powinny zostać zablokowane. Wypisane instancje nie będą mogły dłużej komunikować się z tą instancją."
silencedInstances: "Wyciszone instancje"
silencedInstancesDescription: "Wypisz nazwy hostów instancji, które chcesz wyciszyć. Wszystkie konta wymienionych instancji będą traktowane jako wyciszone, będą mogły jedynie wysyłać prośby o obserwację i nie będą mogły wspominać kont lokalnych, jeśli nie będą obserwowane. Nie będzie to miało wpływu na zablokowane instancje."
muteAndBlock: "Wycisz / Zablokuj" muteAndBlock: "Wycisz / Zablokuj"
mutedUsers: "Wyciszeni użytkownicy" mutedUsers: "Wyciszeni użytkownicy"
blockedUsers: "Zablokowani użytkownicy" blockedUsers: "Zablokowani użytkownicy"
@ -239,10 +267,12 @@ removed: "Pomyślnie usunięto"
removeAreYouSure: "Czy na pewno chcesz usunąć „{x}”?" removeAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
deleteAreYouSure: "Czy na pewno chcesz usunąć „{x}”?" deleteAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
resetAreYouSure: "Czy na pewno chcesz zresetować?" resetAreYouSure: "Czy na pewno chcesz zresetować?"
areYouSure: "Na pewno?"
saved: "Zapisano" saved: "Zapisano"
messaging: "Wiadomości" messaging: "Wiadomości"
upload: "Wyślij" upload: "Wyślij"
keepOriginalUploading: "Zachowaj oryginalny obraz" keepOriginalUploading: "Zachowaj oryginalny obraz"
keepOriginalUploadingDescription: "Zapisuje oryginalnie przesłany obraz w niezmienionej postaci. Jeśli ta opcja jest wyłączona, po przesłaniu zostanie wygenerowana wersja do wyświetlenia w Internecie."
fromDrive: "Z dysku" fromDrive: "Z dysku"
fromUrl: "Z adresu URL" fromUrl: "Z adresu URL"
uploadFromUrl: "Wyślij z adresu URL" uploadFromUrl: "Wyślij z adresu URL"
@ -255,7 +285,10 @@ noMoreHistory: "Nie ma dalszej historii"
startMessaging: "Rozpocznij czat" startMessaging: "Rozpocznij czat"
nUsersRead: "przeczytano przez {n}" nUsersRead: "przeczytano przez {n}"
agreeTo: "Wyrażam zgodę na {0}" agreeTo: "Wyrażam zgodę na {0}"
agree: "Zatwierdź"
agreeBelow: "Zaakceptuj poniżej" agreeBelow: "Zaakceptuj poniżej"
basicNotesBeforeCreateAccount: "Ważne notatki"
termsOfService: "Warunki usługi"
start: "Rozpocznij" start: "Rozpocznij"
home: "Strona główna" home: "Strona główna"
remoteUserCaution: "Te informacje mogą nie być aktualne, ponieważ użytkownik pochodzi ze zdalnej instancji." remoteUserCaution: "Te informacje mogą nie być aktualne, ponieważ użytkownik pochodzi ze zdalnej instancji."
@ -285,6 +318,7 @@ folderName: "Nazwa katalogu"
createFolder: "Utwórz katalog" createFolder: "Utwórz katalog"
renameFolder: "Zmień nazwę katalogu" renameFolder: "Zmień nazwę katalogu"
deleteFolder: "Usuń ten katalog" deleteFolder: "Usuń ten katalog"
folder: "Folder"
addFile: "Dodaj plik" addFile: "Dodaj plik"
emptyDrive: "Dysk jest pusty" emptyDrive: "Dysk jest pusty"
emptyFolder: "Ten katalog jest pusty" emptyFolder: "Ten katalog jest pusty"
@ -298,6 +332,7 @@ copyUrl: "Skopiuj adres URL"
rename: "Zmień nazwę" rename: "Zmień nazwę"
avatar: "Awatar" avatar: "Awatar"
banner: "Baner" banner: "Baner"
displayOfSensitiveMedia: "Wyświetlanie wrażliwej zawartości"
whenServerDisconnected: "Po utracie połączenia z serwerem" whenServerDisconnected: "Po utracie połączenia z serwerem"
disconnectedFromServer: "Utracono połączenie z serwerem." disconnectedFromServer: "Utracono połączenie z serwerem."
reload: "Odśwież" reload: "Odśwież"
@ -345,6 +380,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Włącz hCaptcha" enableHcaptcha: "Włącz hCaptcha"
hcaptchaSiteKey: "Klucz strony" hcaptchaSiteKey: "Klucz strony"
hcaptchaSecretKey: "Tajny klucz" hcaptchaSecretKey: "Tajny klucz"
mcaptcha: "mCaptcha"
enableMcaptcha: "Włącz mCaptcha"
mcaptchaSiteKey: "Klucz strony"
mcaptchaSecretKey: "Tajny klucz"
mcaptchaInstanceUrl: "URL instancji mCaptcha"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Włącz reCAPTCHA" enableRecaptcha: "Włącz reCAPTCHA"
recaptchaSiteKey: "Klucz strony" recaptchaSiteKey: "Klucz strony"
@ -387,15 +427,19 @@ aboutMisskey: "O Misskey"
administrator: "Admin" administrator: "Admin"
token: "Token" token: "Token"
2fa: "Klucz 2FA " 2fa: "Klucz 2FA "
setupOf2fa: "Skonfiguruj dwuetapową autentykację"
totp: "Klucz aplikacji uwierzytelniającej (totp)" totp: "Klucz aplikacji uwierzytelniającej (totp)"
totpDescription: "Opis klucza czasowego" totpDescription: "Opis klucza czasowego"
moderator: "Moderator" moderator: "Moderator"
moderation: "Moderacja" moderation: "Moderacja"
moderationNote: "Notka moderacyjna"
addModerationNote: "Dodaj notkę moderacyjną"
moderationLogs: "Logi moderacyjne"
nUsersMentioned: "{n} wspomnianych użytkowników" nUsersMentioned: "{n} wspomnianych użytkowników"
securityKeyAndPasskey: "Klucz bezpieczeństwa i klucze Passkey" securityKeyAndPasskey: "Klucz bezpieczeństwa i klucze Passkey"
securityKey: "Klucz bezpieczeństwa" securityKey: "Klucz bezpieczeństwa"
lastUsed: "Ostatnio używane" lastUsed: "Ostatnio używane"
lastUsedAt: "Ostatnio używane w" lastUsedAt: "Ostatnio używane: {t}"
unregister: "Cofnij rejestrację" unregister: "Cofnij rejestrację"
passwordLessLogin: "Skonfiguruj logowanie bez użycia hasła" passwordLessLogin: "Skonfiguruj logowanie bez użycia hasła"
passwordLessLoginDescription: "Opis logowania bez użycia hasła" passwordLessLoginDescription: "Opis logowania bez użycia hasła"
@ -448,9 +492,12 @@ uiLanguage: "Język wyświetlania UI"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Styl emoji" emojiStyle: "Styl emoji"
native: "Natywny" native: "Natywny"
disableDrawer: "Nie używaj menu w stylu szuflady" showNoteActionsOnlyHover: "Pokazuj akcje notatek tylko po najechaniu myszką"
showReactionsCount: "Wyświetl liczbę reakcji na notatkę"
noHistory: "Brak historii" noHistory: "Brak historii"
signinHistory: "Historia logowania" signinHistory: "Historia logowania"
enableAdvancedMfm: "Włącz zaawansowane MFM"
enableAnimatedMfm: "Włącz animowane MFM"
doing: "Przetwarzanie..." doing: "Przetwarzanie..."
category: "Kategoria" category: "Kategoria"
tags: "Tagi" tags: "Tagi"
@ -459,6 +506,8 @@ createAccount: "Utwórz konto"
existingAccount: "Istniejące konto" existingAccount: "Istniejące konto"
regenerate: "Wygeneruj ponownie" regenerate: "Wygeneruj ponownie"
fontSize: "Rozmiar czcionki" fontSize: "Rozmiar czcionki"
mediaListWithOneImageAppearance: "Wysokość list multimediów z tylko jednym obrazem"
limitTo: "Limituj do {x}"
noFollowRequests: "Nie masz żadnych oczekujących próśb o możliwość obserwacji" noFollowRequests: "Nie masz żadnych oczekujących próśb o możliwość obserwacji"
openImageInNewTab: "Otwórz obraz w nowej karcie" openImageInNewTab: "Otwórz obraz w nowej karcie"
dashboard: "Kokpit" dashboard: "Kokpit"
@ -478,6 +527,7 @@ showFeaturedNotesInTimeline: "Pokazuj wyróżnione wpisy w osi czasu"
objectStorage: "Pamięć obiektowa" objectStorage: "Pamięć obiektowa"
useObjectStorage: "Używaj pamięci obiektowej" useObjectStorage: "Używaj pamięci obiektowej"
objectStorageBaseUrl: "Podstawowy URL" objectStorageBaseUrl: "Podstawowy URL"
objectStorageBaseUrlDesc: "Adres URL używany jako odniesienie. Podaj adres URL swojego CDN lub Proxy, gdy używasz któregokolwiek z nich.\nDla S3 użyj 'https://<bucket>.s3.amazonaws.com' a dla GCS lub równej usługi użyj 'https://storage.googleapis.com/<bucket>', itd."
objectStorageBucket: "Bucket" objectStorageBucket: "Bucket"
objectStorageBucketDesc: "Podaj nazwę „wiadra” używaną przez konfigurowaną usługę." objectStorageBucketDesc: "Podaj nazwę „wiadra” używaną przez konfigurowaną usługę."
objectStoragePrefix: "Prefiks" objectStoragePrefix: "Prefiks"
@ -490,9 +540,13 @@ objectStorageUseSSL: "Użyj SSL"
objectStorageUseSSLDesc: "Wyłącz, jeżeli nie zamierzasz używać HTTPS dla połączenia z API" objectStorageUseSSLDesc: "Wyłącz, jeżeli nie zamierzasz używać HTTPS dla połączenia z API"
objectStorageUseProxy: "Połącz przez proxy" objectStorageUseProxy: "Połącz przez proxy"
objectStorageUseProxyDesc: "Wyłącz, jeżeli nie zamierzasz używać proxy dla połączenia z pamięcią blokową" objectStorageUseProxyDesc: "Wyłącz, jeżeli nie zamierzasz używać proxy dla połączenia z pamięcią blokową"
objectStorageSetPublicRead: "Ustaw opcję \"public-read\" przy przesyłaniu"
s3ForcePathStyleDesc: "Jeśli opcja s3ForcePathStyle jest włączona, nazwa Bucket'u musi być zawarta w ścieżce adresu URL, a nie w nazwie hosta adresu URL. Włączenie tego ustawienia może być konieczne w przypadku użycia usług takich jak self-hosted instancja Minio."
serverLogs: "Dziennik zdarzeń" serverLogs: "Dziennik zdarzeń"
deleteAll: "Usuń wszystkie" deleteAll: "Usuń wszystkie"
showFixedPostForm: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu" showFixedPostForm: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
showFixedPostFormInChannel: "Wyświetl formularz postowania w górnej części osi czasu (Kanały)"
withRepliesByDefaultForNewlyFollowed: "Domyślnie uwzględnij odpowiedzi nowo obserwowanych użytkowników w osi czasu"
newNoteRecived: "Masz nowy wpis" newNoteRecived: "Masz nowy wpis"
sounds: "Dźwięk" sounds: "Dźwięk"
sound: "Dźwięki" sound: "Dźwięki"
@ -502,6 +556,8 @@ showInPage: "Pokaż na stronie"
popout: "Popout" popout: "Popout"
volume: "Głośność" volume: "Głośność"
masterVolume: "Głośność główna" masterVolume: "Głośność główna"
notUseSound: "Wyłącz dźwięk"
useSoundOnlyWhenActive: "Puszczaj dźwięki tylko, gdy Misskey jest aktywne."
details: "Szczegóły" details: "Szczegóły"
chooseEmoji: "Wybierz emoji" chooseEmoji: "Wybierz emoji"
unableToProcess: "Nie udało się dokończyć działania." unableToProcess: "Nie udało się dokończyć działania."
@ -522,6 +578,10 @@ output: "Wyjście"
script: "Skrypt" script: "Skrypt"
disablePagesScript: "Wyłącz AiScript na Stronach" disablePagesScript: "Wyłącz AiScript na Stronach"
updateRemoteUser: "Aktualizuj zdalne dane o użytkowniku" updateRemoteUser: "Aktualizuj zdalne dane o użytkowniku"
unsetUserAvatar: "Usuń awatar"
unsetUserAvatarConfirm: "Czy na pewno chcesz usunąć awatar tego użytkownika?"
unsetUserBanner: "Usuń baner"
unsetUserBannerConfirm: "Czy na pewno chcesz usunąć baner?"
deleteAllFiles: "Usuń wszystkie pliki" deleteAllFiles: "Usuń wszystkie pliki"
deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?" deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?"
removeAllFollowing: "Przestań obserwować" removeAllFollowing: "Przestań obserwować"
@ -537,6 +597,7 @@ accountDeletedDescription: "Opis konta usuniętego"
menu: "Menu" menu: "Menu"
divider: "Rozdzielacz" divider: "Rozdzielacz"
addItem: "Dodaj element" addItem: "Dodaj element"
rearrange: "Posortuj"
relays: "Przekaźniki" relays: "Przekaźniki"
addRelay: "Dodaj przekaźnik" addRelay: "Dodaj przekaźnik"
inboxUrl: "Adres URL skrzynki nadawczej" inboxUrl: "Adres URL skrzynki nadawczej"
@ -571,6 +632,7 @@ medium: "Średnie"
small: "Małe" small: "Małe"
generateAccessToken: "Generuj token dostępu" generateAccessToken: "Generuj token dostępu"
permission: "Uprawnienia" permission: "Uprawnienia"
adminPermission: "Uprawnienia administracyjne"
enableAll: "Włącz wszystko" enableAll: "Włącz wszystko"
disableAll: "Wyłącz wszystko" disableAll: "Wyłącz wszystko"
tokenRequested: "Przydziel dostęp do konta" tokenRequested: "Przydziel dostęp do konta"
@ -588,9 +650,12 @@ smtpPort: "Port"
smtpUser: "Nazwa użytkownika" smtpUser: "Nazwa użytkownika"
smtpPass: "Hasło" smtpPass: "Hasło"
emptyToDisableSmtpAuth: "Pozostaw adres e-mail i hasło puste, aby wyłączyć weryfikację SMTP" emptyToDisableSmtpAuth: "Pozostaw adres e-mail i hasło puste, aby wyłączyć weryfikację SMTP"
smtpSecure: "Użyj niejawnego SSL/TLS dla połączeń SMTP"
smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS" smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS"
testEmail: "Przetestuj dostarczanie wiadomości e-mail" testEmail: "Przetestuj dostarczanie wiadomości e-mail"
wordMute: "Wyciszenie słowa" wordMute: "Wyciszenie słowa"
regexpError: "Błąd wyrażenia regularnego"
regexpErrorDescription: "Wystąpił błąd w wyrażeniu regularnym w linii {line} twoich {tab} wyciszeń:"
instanceMute: "Wyciszone instancje" instanceMute: "Wyciszone instancje"
userSaysSomething: "{name} powiedział(-a) coś" userSaysSomething: "{name} powiedział(-a) coś"
makeActive: "Aktywuj" makeActive: "Aktywuj"
@ -610,20 +675,21 @@ useGlobalSettingDesc: "Jeżeli włączone, zostaną wykorzystane ustawienia powi
other: "Inne" other: "Inne"
regenerateLoginToken: "Generuj token logowania ponownie" regenerateLoginToken: "Generuj token logowania ponownie"
regenerateLoginTokenDescription: "Regeneruje token używany wewnętrznie podczas logowania. Zazwyczaj nie jest to konieczne. Po regeneracji wszystkie urządzenia zostaną wylogowane." regenerateLoginTokenDescription: "Regeneruje token używany wewnętrznie podczas logowania. Zazwyczaj nie jest to konieczne. Po regeneracji wszystkie urządzenia zostaną wylogowane."
theKeywordWhenSearchingForCustomEmoji: "To jest słowo kluczowe używane podczas wyszukiwania customowych Emoji."
setMultipleBySeparatingWithSpace: "Możesz ustawić wiele, oddzielając je spacjami." setMultipleBySeparatingWithSpace: "Możesz ustawić wiele, oddzielając je spacjami."
fileIdOrUrl: "ID pliku albo URL" fileIdOrUrl: "ID pliku albo URL"
behavior: "Zachowanie" behavior: "Zachowanie"
sample: "Przykład" sample: "Przykład"
abuseReports: "Zgłoszenia" abuseReports: "Zgłoszenia"
reportAbuse: "Zgłoś" reportAbuse: "Zgłoś"
reportAbuseRenote: "Zgłoś renote"
reportAbuseOf: "Zgłoś {name}" reportAbuseOf: "Zgłoś {name}"
fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy ono określonego wpisu, uwzględnij jego adres URL." fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy ono określonego wpisu, uwzględnij jego adres URL."
abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy." abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy."
reporter: "Zgłaszający"
reporteeOrigin: "Pochodzenie zgłoszonego" reporteeOrigin: "Pochodzenie zgłoszonego"
reporterOrigin: "Pochodzenie zgłaszającego" reporterOrigin: "Pochodzenie zgłaszającego"
forwardReport: "Przekaż zgłoszenie do innej instancji"
send: "Wyślij" send: "Wyślij"
abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
openInNewTab: "Otwórz w nowej karcie" openInNewTab: "Otwórz w nowej karcie"
openInSideView: "Otwórz w bocznym widoku" openInSideView: "Otwórz w bocznym widoku"
defaultNavigationBehaviour: "Domyślne zachowanie nawigacji" defaultNavigationBehaviour: "Domyślne zachowanie nawigacji"
@ -666,6 +732,7 @@ lockedAccountInfo: "Dopóki nie ustawisz widoczności wpisu na \"Obserwujący\",
alwaysMarkSensitive: "Oznacz domyślnie jako NSFW" alwaysMarkSensitive: "Oznacz domyślnie jako NSFW"
loadRawImages: "Wyświetlaj zdjęcia w załącznikach w całości zamiast miniatur" loadRawImages: "Wyświetlaj zdjęcia w załącznikach w całości zamiast miniatur"
disableShowingAnimatedImages: "Nie odtwarzaj animowanych obrazów" disableShowingAnimatedImages: "Nie odtwarzaj animowanych obrazów"
highlightSensitiveMedia: "Podkreśl wrażliwą zawartość"
verificationEmailSent: "Wiadomość weryfikacyjna została wysłana. Odwiedź uwzględniony odnośnik, aby ukończyć weryfikację." verificationEmailSent: "Wiadomość weryfikacyjna została wysłana. Odwiedź uwzględniony odnośnik, aby ukończyć weryfikację."
notSet: "Nie ustawiono" notSet: "Nie ustawiono"
emailVerified: "Adres e-mail został potwierdzony" emailVerified: "Adres e-mail został potwierdzony"
@ -676,6 +743,8 @@ contact: "Kontakt"
useSystemFont: "Używaj domyślnej czcionki systemu" useSystemFont: "Używaj domyślnej czcionki systemu"
clips: "Klipy" clips: "Klipy"
experimentalFeatures: "Eksperymentalne funkcje" experimentalFeatures: "Eksperymentalne funkcje"
experimental: "Eksperymentalne"
thisIsExperimentalFeature: "Ta funkcja jest eksperymentalna. Jej funkcjonalność może ulec zmianie, i może ona nie funkcjonować tak, jak zamierzono."
developer: "Programista" developer: "Programista"
makeExplorable: "Pokazuj konto na stronie „Eksploruj”" makeExplorable: "Pokazuj konto na stronie „Eksploruj”"
makeExplorableDescription: "Jeżeli wyłączysz tę opcję, Twoje konto nie będzie wyświetlać się w sekcji „Eksploruj”." makeExplorableDescription: "Jeżeli wyłączysz tę opcję, Twoje konto nie będzie wyświetlać się w sekcji „Eksploruj”."
@ -693,12 +762,14 @@ onlineUsersCount: "{n} osób jest online"
nUsers: "{n} użytkowników" nUsers: "{n} użytkowników"
nNotes: "{n} wpisów" nNotes: "{n} wpisów"
sendErrorReports: "Wyślij raporty o błędach" sendErrorReports: "Wyślij raporty o błędach"
sendErrorReportsDescription: "Gdy włączone, jeśli wystąpi problem, szczegółowe informacje o błędach będą udostępniane Misskey, pomagając ulepszyć jakość Misskey.\nBędzie to zawierało informacje takie jak wersja twojego systemu operacyjnego, jakiej przeglądarki używasz, twoja aktywność w Misskey, itd."
myTheme: "Mój motyw" myTheme: "Mój motyw"
backgroundColor: "Tło" backgroundColor: "Tło"
accentColor: "Akcent" accentColor: "Akcent"
textColor: "Tekst" textColor: "Tekst"
saveAs: "Zapisz jako…" saveAs: "Zapisz jako…"
advanced: "Zaawansowane" advanced: "Zaawansowane"
advancedSettings: "Zaawansowane ustawienia"
value: "Wartość" value: "Wartość"
createdAt: "Utworzono" createdAt: "Utworzono"
updatedAt: "Zaktualizowano" updatedAt: "Zaktualizowano"
@ -758,12 +829,14 @@ noMaintainerInformationWarning: "Informacje o administratorze nie są skonfiguro
noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane." noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane."
configure: "Skonfiguruj" configure: "Skonfiguruj"
postToGallery: "Opublikuj w galerii" postToGallery: "Opublikuj w galerii"
postToHashtag: "Postuj do tego hashtagu"
gallery: "Galeria" gallery: "Galeria"
recentPosts: "Ostatnie wpisy" recentPosts: "Ostatnie wpisy"
popularPosts: "Popularne wpisy" popularPosts: "Popularne wpisy"
shareWithNote: "Udostępnij z wpisem" shareWithNote: "Udostępnij z wpisem"
ads: "Reklamy" ads: "Reklamy"
expiration: "Ankieta kończy się" expiration: "Ankieta kończy się"
startingperiod: "Początek"
memo: "Notatki" memo: "Notatki"
priority: "Priorytet" priority: "Priorytet"
high: "Wysoki" high: "Wysoki"
@ -790,13 +863,19 @@ translatedFrom: "Przetłumaczone z {x}"
accountDeletionInProgress: "Trwa usuwanie konta" accountDeletionInProgress: "Trwa usuwanie konta"
usernameInfo: "Nazwa, która identyfikuje Twoje konto spośród innych na tym serwerze. Możesz użyć alfabetu (a~z, A~Z), cyfr (0~9) lub podkreślników (_). Nazwy użytkownika nie mogą być później zmieniane." usernameInfo: "Nazwa, która identyfikuje Twoje konto spośród innych na tym serwerze. Możesz użyć alfabetu (a~z, A~Z), cyfr (0~9) lub podkreślników (_). Nazwy użytkownika nie mogą być później zmieniane."
aiChanMode: "Tryb Ai" aiChanMode: "Tryb Ai"
devMode: "Tryb programisty"
keepCw: "Zostaw ostrzeżenia o zawartości" keepCw: "Zostaw ostrzeżenia o zawartości"
pubSub: "Konta Pub/Sub" pubSub: "Konta Pub/Sub"
lastCommunication: "Ostatnia komunikacja"
resolved: "Rozwiązane" resolved: "Rozwiązane"
unresolved: "Nierozwiązane" unresolved: "Nierozwiązane"
breakFollow: "Usuń obserwującego" breakFollow: "Usuń obserwującego"
breakFollowConfirm: "Czy na pewno usunąć tego obserwującego?"
itsOn: "Włączone" itsOn: "Włączone"
itsOff: "Wyłączone" itsOff: "Wyłączone"
on: "Włączone"
off: "Wyłączone"
emailRequiredForSignup: "Wymagaj adresu e-mail do rejestracji"
unread: "Nieodczytane" unread: "Nieodczytane"
filter: "Filtr" filter: "Filtr"
controlPanel: "Panel sterowania" controlPanel: "Panel sterowania"
@ -806,6 +885,8 @@ makeReactionsPublicDescription: "To spowoduje, że lista wszystkich Twoich dotyc
classic: "Klasyczny" classic: "Klasyczny"
muteThread: "Wycisz wątek" muteThread: "Wycisz wątek"
unmuteThread: "Wyłącz wyciszenie wątku" unmuteThread: "Wyłącz wyciszenie wątku"
followingVisibility: "Widoczność obserwacji"
followersVisibility: "Widoczność obserwujących"
continueThread: "Pokaż kontynuację wątku" continueThread: "Pokaż kontynuację wątku"
deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?" deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?"
incorrectPassword: "Nieprawidłowe hasło." incorrectPassword: "Nieprawidłowe hasło."
@ -818,9 +899,14 @@ overridedDeviceKind: "Typ urządzenia"
smartphone: "Smartfon" smartphone: "Smartfon"
tablet: "Tablet" tablet: "Tablet"
auto: "Automatycznie" auto: "Automatycznie"
themeColor: "Motyw kolorystyczny"
size: "Rozmiar" size: "Rozmiar"
numberOfColumn: "Liczba kolumn" numberOfColumn: "Liczba kolumn"
searchByGoogle: "Szukaj" searchByGoogle: "Szukaj"
instanceDefaultLightTheme: "Domyślny motyw dla trybu jasnego"
instanceDefaultDarkTheme: "Domyślny motyw dla trybu ciemnego"
instanceDefaultThemeDescription: "Opis domyślnego motywu instancji"
mutePeriod: "Okres wyciszenia"
period: "Ankieta kończy się" period: "Ankieta kończy się"
indefinitely: "Nigdy" indefinitely: "Nigdy"
tenMinutes: "10 minut" tenMinutes: "10 minut"
@ -829,29 +915,50 @@ oneDay: "1 dzień"
oneWeek: "1 tydzień" oneWeek: "1 tydzień"
oneMonth: "jeden miesiąc" oneMonth: "jeden miesiąc"
failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie" failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie"
rateLimitExceeded: "Limit szybkości przekroczony"
cropImage: "Przytnij obraz"
cropImageAsk: "Czy chcesz przyciąć obrazek?"
cropYes: "Tak, przytnij"
cropNo: "Nie chce przycinać"
file: "Pliki" file: "Pliki"
recentNHours: "W ciągu ostatnich {n} godzin"
recentNDays: "W ciągu ostatnich {n} dni"
noEmailServerWarning: "Serwer Email nie jest skonfigurowany"
recommended: "Zalecane" recommended: "Zalecane"
check: "Zweryfikuj" check: "Zweryfikuj"
driveCapOverrideLabel: "Zmień limit pojemności dysku użytkownika"
requireAdminForView: "Aby to zobaczyć, musisz być administratorem"
isSystemAccount: "To jest konto stworzone i zarządzane przez system"
typeToConfirm: "Wprowadź {x}, aby potwierdzić"
deleteAccount: "Usuń konto" deleteAccount: "Usuń konto"
document: "Dokumentacja" document: "Dokumentacja"
numberOfPageCache: "Ilość stron w cache" numberOfPageCache: "Ilość stron w cache"
numberOfPageCacheDescription: "Zwiększenie tej liczby polepszy wygodę, ale spowoduje większe obciążenie jako użycie pamięci na urządzeniu użytkownika."
logoutConfirm: "Czy na pewno chcesz się wylogować?" logoutConfirm: "Czy na pewno chcesz się wylogować?"
lastActiveDate: "Ostatnio użyte w" lastActiveDate: "Ostatnio użyte w"
statusbar: "Pasek stanu" statusbar: "Pasek stanu"
pleaseSelect: "Wybierz opcję" pleaseSelect: "Wybierz opcję"
reverse: "Odwróć" reverse: "Odwróć"
colored: "Kolorowe" colored: "Kolorowe"
refreshInterval: "Okres aktualizacji"
label: "Etykieta" label: "Etykieta"
type: "Typ" type: "Typ"
speed: "Prędkość" speed: "Prędkość"
slow: "Wolny"
fast: "Szybki"
sensitiveMediaDetection: "Detekcja wrażliwej zawartości"
localOnly: "Lokalne tylko" localOnly: "Lokalne tylko"
remoteOnly: "Tylko zdalne instancje"
failedToUpload: "Przesyłanie nie powiodło się" failedToUpload: "Przesyłanie nie powiodło się"
cannotUploadBecauseInappropriate: "Nie można przesłać tego pliku, ponieważ jego części zostały wykryte jako potencjalnie nieodpowiednie." cannotUploadBecauseInappropriate: "Nie można przesłać tego pliku, ponieważ jego części zostały wykryte jako potencjalnie nieodpowiednie."
cannotUploadBecauseNoFreeSpace: "Przesyłanie nie powiodło się z powodu braku miejsca na dysku." cannotUploadBecauseNoFreeSpace: "Przesyłanie nie powiodło się z powodu braku miejsca na dysku."
cannotUploadBecauseExceedsFileSizeLimit: "Nie można przesłać pliku, ponieważ wykracza on poza limit wielkości pliku."
beta: "Beta" beta: "Beta"
enableAutoSensitive: "Automatyczne oznaczanie NSFW" enableAutoSensitive: "Automatyczne oznaczanie NSFW"
enableAutoSensitiveDescription: "Umożliwia automatyczne wykrywanie i oznaczanie zawartości NSFW za pomocą uczenia maszynowego. Nawet jeśli ta opcja jest wyłączona, może być włączona w całej instancji." enableAutoSensitiveDescription: "Umożliwia automatyczne wykrywanie i oznaczanie zawartości NSFW za pomocą uczenia maszynowego. Nawet jeśli ta opcja jest wyłączona, może być włączona w całej instancji."
activeEmailValidationDescription: "Włącza bardziej restrykcyjną walidację adresów e-mail, co obejmuje sprawdzanie adresów jednorazowych i czy komunikacja z tym adresem jest możliwa. Gdy wyłączone, tylko format adresu e-mail jest sprawdzany."
navbar: "Pasek nawigacyjny" navbar: "Pasek nawigacyjny"
shuffle: "Mieszaj"
account: "Konta" account: "Konta"
move: "Przenieś" move: "Przenieś"
pushNotification: "Powiadomienia" pushNotification: "Powiadomienia"
@ -861,21 +968,74 @@ pushNotificationAlreadySubscribed: "Powiadomienia push są włączone"
pushNotificationNotSupported: "Przeglądarka lub instancja nie obsługuje powiadomień push" pushNotificationNotSupported: "Przeglądarka lub instancja nie obsługuje powiadomień push"
sendPushNotificationReadMessage: "Usuń powiadomienia push po przeczytaniu powiadomień i wiadomości." sendPushNotificationReadMessage: "Usuń powiadomienia push po przeczytaniu powiadomień i wiadomości."
sendPushNotificationReadMessageCaption: "Chwilowo pojawi się powiadomienie \"{emptyPushNotificationMessage}\". Może wzrosnąć zużycie baterii urządzenia." sendPushNotificationReadMessageCaption: "Chwilowo pojawi się powiadomienie \"{emptyPushNotificationMessage}\". Może wzrosnąć zużycie baterii urządzenia."
windowMaximize: "Maksymalizuj"
windowMinimize: "Minimalizuj"
windowRestore: "Przywróć"
caption: "Legenda"
loggedInAsBot: "Jesteś obecnie zalogowany/a jako bot" loggedInAsBot: "Jesteś obecnie zalogowany/a jako bot"
tools: "Narzędzia"
cannotLoad: "Nie można wczytać"
numberOfProfileView: "Wyświetlenia profilu"
like: "Polub" like: "Polub"
unlike: "Usuń polubienie"
numberOfLikes: "Liczba polubień"
show: "Wyświetlanie" show: "Wyświetlanie"
neverShow: "Nie pokazuj ponownie"
remindMeLater: "Przypomnij później"
didYouLikeMisskey: "Czy Misskey się tobie spodobało?"
pleaseDonate: "{host} używa darmowego oprogramowania — Misskey. Bylibyśmy bardzo wdzięczni za datki, które pozwolą na kontynuację rozwoju Misskey!"
correspondingSourceIsAvailable: "Odpowiedni kod źródłowy jest dostępny pod {anchor}."
roles: "Role"
role: "Rola"
noRole: "Rola nie znaleziona"
normalUser: "Normalny użytkownik"
undefined: "Niezdefiniowane"
assign: "Przydziel"
unassign: "Cofnij przydzielenie"
color: "Kolor" color: "Kolor"
manageCustomEmojis: "Zarządzaj niestandardowymi Emoji"
manageAvatarDecorations: "Zarządzaj dekoracjami awatara"
invalidParamError: "Błąd parametrów"
permissionDeniedError: "Odrzucono operacje"
permissionDeniedErrorDescription: "Konto nie posiada uprawnień"
preset: "Konfiguracja"
selectFromPresets: "Wybierz konfiguracje"
achievements: "Osiągnięcia"
thisPostMayBeAnnoyingCancel: "Odrzuć"
internalServerError: "Wewnętrzny błąd serwera"
internalServerErrorDescription: "Niespodziewany błąd po stronie serwera"
copyErrorInfo: "Kopiuj informacje o błędzie"
joinThisServer: "Dołącz do chaty"
disableFederationOk: "Wyłącz federacje"
invitationRequiredToRegister: "Ten serwer wymaga zaproszenia. Tylko osoby z zaproszeniem mogą się zarejestrować"
emailNotSupported: "Wysyłanie wiadomości E-mail nie jest obsługiwane na tym serwerze"
postToTheChannel: "Publikuj na kanale"
youFollowing: "Śledzeni" youFollowing: "Śledzeni"
icon: "Awatar" icon: "Awatar"
replies: "Odpowiedz" replies: "Odpowiedz"
renotes: "Udostępnij" renotes: "Udostępnij"
sourceCode: "Kod źródłowy"
flip: "Odwróć" flip: "Odwróć"
lastNDays: "W ciągu ostatnich {n} dni"
surrender: "Odrzuć"
gameRetry: "Spróbuj ponownie"
_delivery:
stop: "Zawieszono"
_type:
none: "Publikowanie"
_bubbleGame:
_score:
score: "Wynik"
_role: _role:
assignTarget: "Przydziel"
priority: "Priorytet" priority: "Priorytet"
_priority: _priority:
low: "Niski" low: "Niski"
middle: "Średnie" middle: "Średnie"
high: "Wysoki" high: "Wysoki"
_options:
canManageCustomEmojis: "Zarządzaj niestandardowymi Emoji"
canManageAvatarDecorations: "Zarządzaj dekoracjami awatara"
_sensitiveMediaDetection: _sensitiveMediaDetection:
description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera." description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera."
setSensitiveFlagAutomatically: "Oznacz jako NSFW" setSensitiveFlagAutomatically: "Oznacz jako NSFW"
@ -1045,7 +1205,6 @@ _theme:
buttonBg: "Tło przycisku" buttonBg: "Tło przycisku"
buttonHoverBg: "Tło przycisku (po najechaniu)" buttonHoverBg: "Tło przycisku (po najechaniu)"
inputBorder: "Obramowanie pola wejścia" inputBorder: "Obramowanie pola wejścia"
listItemHoverBg: "Tło elementu listy (po najechaniu)"
driveFolderBg: "Tło folderu na dysku" driveFolderBg: "Tło folderu na dysku"
wallpaperOverlay: "Nakładka tapety" wallpaperOverlay: "Nakładka tapety"
badge: "Odznaka" badge: "Odznaka"
@ -1057,8 +1216,6 @@ _sfx:
note: "Wpisy" note: "Wpisy"
noteMy: "Mój wpis" noteMy: "Mój wpis"
notification: "Powiadomienia" notification: "Powiadomienia"
antenna: "Anteny"
channel: "Powiadomienia kanału"
_ago: _ago:
future: "W przyszłości" future: "W przyszłości"
justNow: "Przed chwilą" justNow: "Przed chwilą"
@ -1232,6 +1389,7 @@ _profile:
_exportOrImport: _exportOrImport:
allNotes: "Wszystkie wpisy" allNotes: "Wszystkie wpisy"
favoritedNotes: "Ulubione wpisy" favoritedNotes: "Ulubione wpisy"
clips: "Klip"
followingList: "Obserwowani" followingList: "Obserwowani"
muteList: "Wycisz" muteList: "Wycisz"
blockingList: "Zablokuj" blockingList: "Zablokuj"
@ -1347,6 +1505,7 @@ _notification:
reaction: "Reakcja" reaction: "Reakcja"
receiveFollowRequest: "Otrzymano prośbę o możliwość obserwacji" receiveFollowRequest: "Otrzymano prośbę o możliwość obserwacji"
followRequestAccepted: "Przyjęto prośbę o możliwość obserwacji" followRequestAccepted: "Przyjęto prośbę o możliwość obserwacji"
login: "Zaloguj się"
app: "Powiadomienia z aplikacji" app: "Powiadomienia z aplikacji"
_actions: _actions:
followBack: "zaobserwował cię z powrotem" followBack: "zaobserwował cię z powrotem"
@ -1381,7 +1540,6 @@ _webhookSettings:
createWebhook: "Stwórz Webhook" createWebhook: "Stwórz Webhook"
name: "Nazwa" name: "Nazwa"
secret: "Sekret" secret: "Sekret"
events: "Uruchomienie Webhooka"
active: "Właczono" active: "Właczono"
_events: _events:
follow: "Po zaobserwowaniu użytkownika" follow: "Po zaobserwowaniu użytkownika"
@ -1391,6 +1549,12 @@ _webhookSettings:
renote: "Po udostępnieniu wpisu" renote: "Po udostępnieniu wpisu"
reaction: "Po otrzymaniu reakcji" reaction: "Po otrzymaniu reakcji"
mention: "Po zostaniu wspomnianym" mention: "Po zostaniu wspomnianym"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Adres e-mail"
_moderationLogTypes: _moderationLogTypes:
suspend: "Zawieś" suspend: "Zawieś"
resetPassword: "Zresetuj hasło" resetPassword: "Zresetuj hasło"
_reversi:
total: "Łącznie"

File diff suppressed because it is too large Load diff

View file

@ -359,6 +359,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Activează hCaptcha" enableHcaptcha: "Activează hCaptcha"
hcaptchaSiteKey: "Site key" hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key" hcaptchaSecretKey: "Secret key"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Activează reCAPTCHA" enableRecaptcha: "Activează reCAPTCHA"
recaptchaSiteKey: "Site key" recaptchaSiteKey: "Site key"
@ -451,7 +453,6 @@ or: "Sau"
language: "Limbă" language: "Limbă"
uiLanguage: "Limba interfeței" uiLanguage: "Limba interfeței"
aboutX: "Despre {x}" aboutX: "Despre {x}"
disableDrawer: "Nu folosi meniuri în stil sertar"
noHistory: "Nu există istoric" noHistory: "Nu există istoric"
signinHistory: "Istoric autentificări" signinHistory: "Istoric autentificări"
doing: "Se procesează..." doing: "Se procesează..."
@ -624,10 +625,7 @@ abuseReported: "Raportul tău a fost trimis. Mulțumim."
reporter: "Raportorul" reporter: "Raportorul"
reporteeOrigin: "Originea raportatului" reporteeOrigin: "Originea raportatului"
reporterOrigin: "Originea raportorului" reporterOrigin: "Originea raportorului"
forwardReport: "Redirecționează raportul către instanța externă"
forwardReportIsAnonymous: "În locul contului tău, va fi afișat un cont anonim, de sistem, ca raportor către instanța externă."
send: "Trimite" send: "Trimite"
abuseMarkAsResolved: "Marchează raportul ca rezolvat"
openInNewTab: "Deschide în tab nou" openInNewTab: "Deschide în tab nou"
openInSideView: "Deschide în vedere laterală" openInSideView: "Deschide în vedere laterală"
defaultNavigationBehaviour: "Comportament de navigare implicit" defaultNavigationBehaviour: "Comportament de navigare implicit"
@ -649,6 +647,10 @@ show: "Arată"
icon: "Avatar" icon: "Avatar"
replies: "Răspunde" replies: "Răspunde"
renotes: "Re-notează" renotes: "Re-notează"
_delivery:
stop: "Suspendat"
_type:
none: "Publicare"
_role: _role:
_priority: _priority:
middle: "Mediu" middle: "Mediu"
@ -709,6 +711,7 @@ _notification:
renote: "Re-notează" renote: "Re-notează"
quote: "Citează" quote: "Citează"
reaction: "Reacție" reaction: "Reacție"
login: "Autentifică-te"
_actions: _actions:
reply: "Răspunde" reply: "Răspunde"
renote: "Re-notează" renote: "Re-notează"
@ -722,6 +725,12 @@ _deck:
mentions: "Mențiuni" mentions: "Mențiuni"
_webhookSettings: _webhookSettings:
name: "Nume" name: "Nume"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Email"
_moderationLogTypes: _moderationLogTypes:
suspend: "Suspendă" suspend: "Suspendă"
resetPassword: "Resetează parola" resetPassword: "Resetează parola"
_reversi:
total: "Total"

View file

@ -2,23 +2,26 @@
_lang_: "Русский" _lang_: "Русский"
headlineMisskey: "Сеть, сплетённая из заметок" headlineMisskey: "Сеть, сплетённая из заметок"
introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀" introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
poweredByMisskeyDescription: "{name} сервис на платформе с открытым исходным кодом <b>Misskey</b>, называемый инстансом Misskey." poweredByMisskeyDescription: "{name} сервис на платформе с открытым исходным кодом <b>Misskey</b>, называемый экземпляром Misskey."
monthAndDay: "{day}.{month}" monthAndDay: "{day}.{month}"
search: "Поиск" search: "Поиск"
notifications: "Уведомления" notifications: "Уведомления"
username: "Имя пользователя" username: "Имя пользователя"
password: "Пароль" password: "Пароль"
initialPasswordForSetup: "Пароль для начала настройки"
initialPasswordIsIncorrect: "Пароль для запуска настройки неверен"
initialPasswordForSetupDescription: "Если вы установили Misskey самостоятельно, используйте пароль, который вы указали в файле конфигурации.\nЕсли вы используете что-то вроде хостинга Misskey, используйте предоставленный пароль.\nЕсли вы не установили пароль, оставьте его пустым и продолжайте."
forgotPassword: "Забыли пароль?" forgotPassword: "Забыли пароль?"
fetchingAsApObject: "Приём с других сайтов" fetchingAsApObject: "Приём с других сайтов"
ok: "Окей" ok: "Подтвердить"
gotIt: "Ясно!" gotIt: "Ясно!"
cancel: "Отмена" cancel: "Отмена"
noThankYou: "Нет, спасибо" noThankYou: "Нет, спасибо"
enterUsername: "Введите имя пользователя" enterUsername: "Введите имя пользователя"
renotedBy: "{user} делится" renotedBy: "{user} репостнул(а)"
noNotes: "Нет ни одной заметки" noNotes: "Нет ни одной заметки"
noNotifications: "Нет ни одного уведомления" noNotifications: "Нет уведомлений"
instance: "Инстанс" instance: "Экземпляр"
settings: "Настройки" settings: "Настройки"
notificationSettings: "Настройки уведомлений" notificationSettings: "Настройки уведомлений"
basicSettings: "Основные настройки" basicSettings: "Основные настройки"
@ -45,22 +48,24 @@ pin: "Закрепить в профиле"
unpin: "Открепить от профиля" unpin: "Открепить от профиля"
copyContent: "Скопировать содержимое" copyContent: "Скопировать содержимое"
copyLink: "Скопировать ссылку" copyLink: "Скопировать ссылку"
copyLinkRenote: "Скопировать ссылку на репост"
delete: "Удалить" delete: "Удалить"
deleteAndEdit: "Удалить и отредактировать" deleteAndEdit: "Удалить и отредактировать"
deleteAndEditConfirm: "Удалить эту заметку и создать отредактированную? Все реакции, ссылки и ответы на существующую будут будут потеряны." deleteAndEditConfirm: "Удалить этот пост и отредактировать заново? Все реакции, репосты и ответы на него также будут удалены."
addToList: "Добавить в список" addToList: "Добавить в список"
addToAntenna: "Добавить к антенне" addToAntenna: "Добавить к антенне"
sendMessage: "Отправить сообщение" sendMessage: "Отправить сообщение"
copyRSS: "Скопировать RSS" copyRSS: "Скопировать RSS"
copyUsername: "Скопировать имя пользователя" copyUsername: "Скопировать имя пользователя"
copyUserId: "Скопировать ID пользователя" copyUserId: "Скопировать ID пользователя"
copyNoteId: "Скопировать ID заметки" copyNoteId: "Скопировать ID поста"
copyFileId: "Скопировать ID файла" copyFileId: "Скопировать ID файла"
copyFolderId: "Скопировать ID папки" copyFolderId: "Скопировать ID папки"
copyProfileUrl: "Скопировать URL профиля " copyProfileUrl: "Скопировать ссылку на профиль"
searchUser: "Поиск людей" searchUser: "Поиск людей"
searchThisUsersNotes: "Искать по заметкам пользователя"
reply: "Ответ" reply: "Ответ"
loadMore: "Показать еще" loadMore: "Загрузить ещё"
showMore: "Показать ещё" showMore: "Показать ещё"
showLess: "Закрыть" showLess: "Закрыть"
youGotNewFollower: "Новый подписчик" youGotNewFollower: "Новый подписчик"
@ -107,11 +112,14 @@ enterEmoji: "Введите эмодзи"
renote: "Репост" renote: "Репост"
unrenote: "Отмена репоста" unrenote: "Отмена репоста"
renoted: "Репост совершён." renoted: "Репост совершён."
renotedToX: "Репостнуть в {name}."
cantRenote: "Это нельзя репостить." cantRenote: "Это нельзя репостить."
cantReRenote: "Невозможно репостить репост." cantReRenote: "Невозможно репостить репост."
quote: "Цитата" quote: "Цитата"
inChannelRenote: "В канале" inChannelRenote: "В канале"
inChannelQuote: "Заметки в канале" inChannelQuote: "Заметки в канале"
renoteToChannel: "Репостнуть в канал"
renoteToOtherChannel: "Репостнуть в другой канал"
pinnedNote: "Закреплённая заметка" pinnedNote: "Закреплённая заметка"
pinned: "Закрепить в профиле" pinned: "Закрепить в профиле"
you: "Вы" you: "Вы"
@ -129,13 +137,14 @@ overwriteFromPinnedEmojis: "Заменить на эмодзи из общего
reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»." reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»."
rememberNoteVisibility: "Запоминать видимость заметок" rememberNoteVisibility: "Запоминать видимость заметок"
attachCancel: "Удалить вложение" attachCancel: "Удалить вложение"
deleteFile: "Удалить файл"
markAsSensitive: "Отметить как «не для всех»" markAsSensitive: "Отметить как «не для всех»"
unmarkAsSensitive: "Снять отметку «не для всех»" unmarkAsSensitive: "Снять отметку «не для всех»"
enterFileName: "Введите имя файла" enterFileName: "Введите имя файла"
mute: "Скрыть" mute: "Скрыть"
unmute: "Отменить скрытие" unmute: "Отменить скрытие"
renoteMute: "Заглушить репосты" renoteMute: "Скрыть репосты"
renoteUnmute: "Включить репосты" renoteUnmute: "Открыть репосты"
block: "Заблокировать" block: "Заблокировать"
unblock: "Разблокировать" unblock: "Разблокировать"
suspend: "Заморозить" suspend: "Заморозить"
@ -149,6 +158,7 @@ editList: "Редактировать список"
selectChannel: "Выберите канал" selectChannel: "Выберите канал"
selectAntenna: "Выберите антенну" selectAntenna: "Выберите антенну"
editAntenna: "Редактировать антенну" editAntenna: "Редактировать антенну"
createAntenna: "Создать антенну"
selectWidget: "Выберите виджет" selectWidget: "Выберите виджет"
editWidgets: "Редактировать виджеты" editWidgets: "Редактировать виджеты"
editWidgetsExit: "Готово" editWidgetsExit: "Готово"
@ -156,13 +166,14 @@ customEmojis: "Собственные эмодзи"
emoji: "Эмодзи" emoji: "Эмодзи"
emojis: "Эмодзи" emojis: "Эмодзи"
emojiName: "Название эмодзи" emojiName: "Название эмодзи"
emojiUrl: "URL эмодзи" emojiUrl: "Ссылка на эмодзи"
addEmoji: "Добавить эмодзи" addEmoji: "Добавить эмодзи"
settingGuide: "Рекомендуемые настройки" settingGuide: "Рекомендуемые настройки"
cacheRemoteFiles: "Кешировать внешние файлы" cacheRemoteFiles: "Кешировать внешние файлы"
cacheRemoteFilesDescription: "Когда эта настройка отключена, файлы с других сайтов будут загружаться прямо оттуда. Это сэкономит место на сервере, но увеличит трафик, так как не будут создаваться эскизы." cacheRemoteFilesDescription: "Когда эта настройка отключена, файлы с других сайтов будут загружаться прямо оттуда. Это сэкономит место на сервере, но увеличит трафик, так как не будут создаваться эскизы."
cacheRemoteSensitiveFiles: "Кешировать внешние файлы" youCanCleanRemoteFilesCache: "Вы можете очистить кэш, нажав на кнопку 🗑️ в меню управления файлами."
cacheRemoteSensitiveFilesDescription: "Описание удаленных внешних файлов в кэше" cacheRemoteSensitiveFiles: "Кэшировать внешние файлы «не для всех»"
cacheRemoteSensitiveFilesDescription: "Если отключено, файлы «не для всех» загружаются непосредственно с удалённых серверов, не кэшируясь."
flagAsBot: "Аккаунт бота" flagAsBot: "Аккаунт бота"
flagAsBotDescription: "Включите, если этот аккаунт управляется программой. Это позволит системе Misskey учитывать это, а также поможет разработчикам других ботов предотвратить бесконечные циклы взаимодействия." flagAsBotDescription: "Включите, если этот аккаунт управляется программой. Это позволит системе Misskey учитывать это, а также поможет разработчикам других ботов предотвратить бесконечные циклы взаимодействия."
flagAsCat: "Аккаунт кота" flagAsCat: "Аккаунт кота"
@ -174,6 +185,10 @@ addAccount: "Добавить учётную запись"
reloadAccountsList: "Обновить список учётных записей" reloadAccountsList: "Обновить список учётных записей"
loginFailed: "Неудачная попытка входа" loginFailed: "Неудачная попытка входа"
showOnRemote: "Перейти к оригиналу на сайт" showOnRemote: "Перейти к оригиналу на сайт"
continueOnRemote: "Продолжить на удалённом сервере"
chooseServerOnMisskeyHub: "Выбрать сервер с Misskey Hub"
specifyServerHost: "Укажите сервер напрямую"
inputHostName: "Введите домен"
general: "Общее" general: "Общее"
wallpaper: "Обои" wallpaper: "Обои"
setWallpaper: "Установить обои" setWallpaper: "Установить обои"
@ -184,6 +199,7 @@ followConfirm: "Подписаться на {name}?"
proxyAccount: "Учётная запись прокси" proxyAccount: "Учётная запись прокси"
proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например, если пользователь добавит кого-то с другого сайта а список, деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси." proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например, если пользователь добавит кого-то с другого сайта а список, деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси."
host: "Хост" host: "Хост"
selectSelf: "Выбрать себя"
selectUser: "Выберите пользователя" selectUser: "Выберите пользователя"
recipient: "Кому" recipient: "Кому"
annotation: "Описание" annotation: "Описание"
@ -198,6 +214,7 @@ perHour: "По часам"
perDay: "По дням" perDay: "По дням"
stopActivityDelivery: "Остановить отправку обновлений активности" stopActivityDelivery: "Остановить отправку обновлений активности"
blockThisInstance: "Блокировать этот инстанс" blockThisInstance: "Блокировать этот инстанс"
silenceThisInstance: "Заглушить этот инстанс"
operations: "Операции" operations: "Операции"
software: "Программы" software: "Программы"
version: "Версия" version: "Версия"
@ -217,6 +234,8 @@ clearCachedFiles: "Очистить кэш"
clearCachedFilesConfirm: "Удалить все закэшированные файлы с других сайтов?" clearCachedFilesConfirm: "Удалить все закэшированные файлы с других сайтов?"
blockedInstances: "Заблокированные инстансы" blockedInstances: "Заблокированные инстансы"
blockedInstancesDescription: "Введите список инстансов, которые хотите заблокировать. Они больше не смогут обмениваться с вашим инстансом." blockedInstancesDescription: "Введите список инстансов, которые хотите заблокировать. Они больше не смогут обмениваться с вашим инстансом."
silencedInstances: "Заглушённые инстансы"
federationAllowedHosts: "Серверы, поддерживающие федерацию"
muteAndBlock: "Скрытие и блокировка" muteAndBlock: "Скрытие и блокировка"
mutedUsers: "Скрытые пользователи" mutedUsers: "Скрытые пользователи"
blockedUsers: "Заблокированные пользователи" blockedUsers: "Заблокированные пользователи"
@ -235,7 +254,7 @@ noJobs: "Нет заданий"
federating: "Федерируется" federating: "Федерируется"
blocked: "Заблокировано" blocked: "Заблокировано"
suspended: "Заморожено" suspended: "Заморожено"
all: "Всё" all: "Все"
subscribing: "Подписка" subscribing: "Подписка"
publishing: "Публикация" publishing: "Публикация"
notResponding: "Нет ответа" notResponding: "Нет ответа"
@ -261,12 +280,13 @@ removed: "Удалено"
removeAreYouSure: "Хотите удалить «{x}»?" removeAreYouSure: "Хотите удалить «{x}»?"
deleteAreYouSure: "Хотите удалить «{x}»?" deleteAreYouSure: "Хотите удалить «{x}»?"
resetAreYouSure: "На самом деле сбросить?" resetAreYouSure: "На самом деле сбросить?"
areYouSure: "Вы уверены?"
saved: "Сохранено" saved: "Сохранено"
messaging: "Сообщения" messaging: "Сообщения"
upload: "Загрузить" upload: "Загрузить"
keepOriginalUploading: "Сохранить исходное изображение" keepOriginalUploading: "Сохранить исходное изображение"
keepOriginalUploadingDescription: "Сохраняет исходную версию при загрузке изображений. Если выключить, то при загрузке браузер генерирует изображение для публикации." keepOriginalUploadingDescription: "Сохраняет исходную версию при загрузке изображений. Если выключить, то при загрузке браузер генерирует изображение для публикации."
fromDrive: "С «диска»" fromDrive: "С Диска"
fromUrl: "По ссылке" fromUrl: "По ссылке"
uploadFromUrl: "Загрузить по ссылке" uploadFromUrl: "Загрузить по ссылке"
uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить" uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить"
@ -278,7 +298,7 @@ noMoreHistory: "История закончилась"
startMessaging: "Начать общение" startMessaging: "Начать общение"
nUsersRead: "Прочитали {n}" nUsersRead: "Прочитали {n}"
agreeTo: "Я соглашаюсь с {0}" agreeTo: "Я соглашаюсь с {0}"
agree: "Согласиться" agree: "Согласен"
agreeBelow: "Согласен со следующими" agreeBelow: "Согласен со следующими"
basicNotesBeforeCreateAccount: "Записи, перед созданием аккаунта" basicNotesBeforeCreateAccount: "Записи, перед созданием аккаунта"
termsOfService: "Условия использования" termsOfService: "Условия использования"
@ -306,12 +326,15 @@ selectFile: "Выберите файл"
selectFiles: "Выберите файлы" selectFiles: "Выберите файлы"
selectFolder: "Выберите папку" selectFolder: "Выберите папку"
selectFolders: "Выберите папки" selectFolders: "Выберите папки"
fileNotSelected: "Файл не выбран"
renameFile: "Переименовать файл" renameFile: "Переименовать файл"
folderName: "Имя папки" folderName: "Имя папки"
createFolder: "Создать папку" createFolder: "Создать папку"
renameFolder: "Переименовать папку" renameFolder: "Переименовать папку"
deleteFolder: "Удалить папку" deleteFolder: "Удалить папку"
folder: "Папка"
addFile: "Добавить файл" addFile: "Добавить файл"
showFile: "Посмотреть файл"
emptyDrive: "Диск пуст" emptyDrive: "Диск пуст"
emptyFolder: "Папка пуста" emptyFolder: "Папка пуста"
unableToDelete: "Удаление невозможно" unableToDelete: "Удаление невозможно"
@ -324,7 +347,7 @@ copyUrl: "Копировать ссылку"
rename: "Переименовать" rename: "Переименовать"
avatar: "Аватар" avatar: "Аватар"
banner: "Шапка" banner: "Шапка"
displayOfSensitiveMedia: "Определение деликатного контента" displayOfSensitiveMedia: "Отображение содержимого не для всех"
whenServerDisconnected: "Когда соединение с сервером потеряно" whenServerDisconnected: "Когда соединение с сервером потеряно"
disconnectedFromServer: "Разорвано соединение с сервером" disconnectedFromServer: "Разорвано соединение с сервером"
reload: "Перезагрузить" reload: "Перезагрузить"
@ -356,8 +379,8 @@ disablingTimelinesInfo: "У администраторов и модератор
registration: "Регистрация" registration: "Регистрация"
enableRegistration: "Разрешить регистрацию" enableRegistration: "Разрешить регистрацию"
invite: "Пригласить" invite: "Пригласить"
driveCapacityPerLocalAccount: "Объём диска на одного локального пользователя" driveCapacityPerLocalAccount: "Объём Диска на одного локального пользователя"
driveCapacityPerRemoteAccount: "Объём диска на одного пользователя с другого сайта" driveCapacityPerRemoteAccount: "Объём Диска на одного пользователя с другого экземпляра"
inMb: "В мегабайтах" inMb: "В мегабайтах"
bannerUrl: "Ссылка на изображение в шапке" bannerUrl: "Ссылка на изображение в шапке"
backgroundImageUrl: "Ссылка на фоновое изображение" backgroundImageUrl: "Ссылка на фоновое изображение"
@ -372,6 +395,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Включить hCaptcha" enableHcaptcha: "Включить hCaptcha"
hcaptchaSiteKey: "Ключ сайта" hcaptchaSiteKey: "Ключ сайта"
hcaptchaSecretKey: "Секретный ключ" hcaptchaSecretKey: "Секретный ключ"
mcaptcha: "mCaptcha"
enableMcaptcha: "Включить mCaptcha"
mcaptchaSiteKey: "Ключ сайта"
mcaptchaSecretKey: "Секретный ключ"
mcaptchaInstanceUrl: "Ссылка на сервер mCaptcha"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Включить reCAPTCHA" enableRecaptcha: "Включить reCAPTCHA"
recaptchaSiteKey: "Ключ сайта" recaptchaSiteKey: "Ключ сайта"
@ -386,7 +414,8 @@ manageAntennas: "Настройки антенн"
name: "Название" name: "Название"
antennaSource: "Источник антенны" antennaSource: "Источник антенны"
antennaKeywords: "Ключевые слова" antennaKeywords: "Ключевые слова"
antennaExcludeKeywords: "Исключения" antennaExcludeKeywords: "Чёрный список слов"
antennaExcludeBots: "Исключать ботов"
antennaKeywordsDescription: "Пишите слова через пробел в одной строке, чтобы ловить их появление вместе; на отдельных строках располагайте слова, или группы слов, чтобы ловить любые из них." antennaKeywordsDescription: "Пишите слова через пробел в одной строке, чтобы ловить их появление вместе; на отдельных строках располагайте слова, или группы слов, чтобы ловить любые из них."
notifyAntenna: "Уведомлять о новых заметках" notifyAntenna: "Уведомлять о новых заметках"
withFileAntenna: "Только заметки с вложениями" withFileAntenna: "Только заметки с вложениями"
@ -413,12 +442,14 @@ about: "Описание"
aboutMisskey: "О Misskey" aboutMisskey: "О Misskey"
administrator: "Администратор" administrator: "Администратор"
token: "Токен" token: "Токен"
2fa: "2-х факторная аутентификация" 2fa: "Двухфакторная аутентификация"
setupOf2fa: "Настроить двухфакторную аутентификацию" setupOf2fa: "Настроить двухфакторную аутентификацию"
totp: "Приложение-аутентификатор" totp: "Приложение-аутентификатор"
totpDescription: "Описание приложения-аутентификатора" totpDescription: "Описание приложения-аутентификатора"
moderator: "Модератор" moderator: "Модератор"
moderation: "Модерация" moderation: "Модерация"
moderationNote: "Примечания модератора"
moderationLogs: "Журнал модерации"
nUsersMentioned: "Упомянуло пользователей: {n}" nUsersMentioned: "Упомянуло пользователей: {n}"
securityKeyAndPasskey: "Ключ безопасности и парольная фраза" securityKeyAndPasskey: "Ключ безопасности и парольная фраза"
securityKey: "Ключ безопасности" securityKey: "Ключ безопасности"
@ -451,10 +482,12 @@ retype: "Введите ещё раз"
noteOf: "Что пишет {user}" noteOf: "Что пишет {user}"
quoteAttached: "Цитата" quoteAttached: "Цитата"
quoteQuestion: "Хотите добавить цитату?" quoteQuestion: "Хотите добавить цитату?"
attachAsFileQuestion: "Текста в буфере обмена слишком много. Прикрепить как текстовый файл?"
noMessagesYet: "Пока ни одного сообщения" noMessagesYet: "Пока ни одного сообщения"
newMessageExists: "Новое сообщение" newMessageExists: "Новое сообщение"
onlyOneFileCanBeAttached: "К сообщению можно прикрепить только один файл" onlyOneFileCanBeAttached: "К сообщению можно прикрепить только один файл"
signinRequired: "Пожалуйста, войдите" signinRequired: "Пожалуйста, войдите"
signinOrContinueOnRemote: "Чтобы продолжить, вам необходимо войти в аккаунт на своём сервере или зарегистрироваться / войти в аккаунт на этом."
invitations: "Приглашения" invitations: "Приглашения"
invitationCode: "Код приглашения" invitationCode: "Код приглашения"
checking: "Проверка" checking: "Проверка"
@ -464,7 +497,7 @@ usernameInvalidFormat: "Можно использовать только лат
tooShort: "Слишком короткий" tooShort: "Слишком короткий"
tooLong: "Слишком длинный" tooLong: "Слишком длинный"
weakPassword: "Слабый пароль" weakPassword: "Слабый пароль"
normalPassword: "Годный пароль" normalPassword: "Хороший пароль"
strongPassword: "Надёжный пароль" strongPassword: "Надёжный пароль"
passwordMatched: "Совпали" passwordMatched: "Совпали"
passwordNotMatched: "Не совпадают" passwordNotMatched: "Не совпадают"
@ -476,8 +509,10 @@ uiLanguage: "Язык интерфейса"
aboutX: "Описание {x}" aboutX: "Описание {x}"
emojiStyle: "Стиль эмодзи" emojiStyle: "Стиль эмодзи"
native: "Системные" native: "Системные"
disableDrawer: "Не использовать выдвижные меню" menuStyle: "Стиль меню"
showNoteActionsOnlyHover: "Показывать кнопки управления заметкой только при наведении" style: "Стиль"
showNoteActionsOnlyHover: "Показывать кнопки у заметок только при наведении"
showReactionsCount: "Видеть количество реакций на заметках"
noHistory: "История пока пуста" noHistory: "История пока пуста"
signinHistory: "Журнал посещений" signinHistory: "Журнал посещений"
enableAdvancedMfm: "Включить расширенный MFM" enableAdvancedMfm: "Включить расширенный MFM"
@ -490,8 +525,8 @@ createAccount: "Новая учётная запись"
existingAccount: "Существующая учётная запись" existingAccount: "Существующая учётная запись"
regenerate: "Создать повторно" regenerate: "Создать повторно"
fontSize: "Размер шрифта" fontSize: "Размер шрифта"
mediaListWithOneImageAppearance: "Показывать список медиа только одним изображением" mediaListWithOneImageAppearance: "Вид изображения, если оно единственное в списке"
limitTo: "Обрезать до {x}" limitTo: "Ограничить до {x}"
noFollowRequests: "Нерассмотренные запросы на подписку отсутствуют" noFollowRequests: "Нерассмотренные запросы на подписку отсутствуют"
openImageInNewTab: "Открыть изображение в новой вкладке" openImageInNewTab: "Открыть изображение в новой вкладке"
dashboard: "Панель управления" dashboard: "Панель управления"
@ -525,7 +560,7 @@ objectStorageUseSSLDesc: "Отключите, если не собираетес
objectStorageUseProxy: "Использовать прокси" objectStorageUseProxy: "Использовать прокси"
objectStorageUseProxyDesc: "Отключите, если не будете испоьзовать прокси для соединений по протоколу ObjectStorage." objectStorageUseProxyDesc: "Отключите, если не будете испоьзовать прокси для соединений по протоколу ObjectStorage."
objectStorageSetPublicRead: "Устанавливать public-read при загрузке на сервер" objectStorageSetPublicRead: "Устанавливать public-read при загрузке на сервер"
s3ForcePathStyleDesc: "Включение s3ForcePathStyle принудительно указывает имя корзины как часть пути в URL-адресе вместо имени хоста. Может потребоваться активация при использовании таких вещей, как локальный Minio." s3ForcePathStyleDesc: "Включение s3ForcePathStyle приводит к тому, что имя корзины указывается как часть пути в URL, а не в имени хоста. Может потребоваться включить при использовании локального Minio или чего-то подобного."
serverLogs: "Журнал сервера" serverLogs: "Журнал сервера"
deleteAll: "Удалить всё" deleteAll: "Удалить всё"
showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты" showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты"
@ -539,6 +574,8 @@ showInPage: "Показать страницу"
popout: "Развернуть" popout: "Развернуть"
volume: "Громкость" volume: "Громкость"
masterVolume: "Основная регулировка громкости" masterVolume: "Основная регулировка громкости"
notUseSound: "Выключить звук"
useSoundOnlyWhenActive: "Воспроизводить звук только когда Misskey активен."
details: "Подробнее" details: "Подробнее"
chooseEmoji: "Выберите эмодзи" chooseEmoji: "Выберите эмодзи"
unableToProcess: "Не удаётся завершить операцию" unableToProcess: "Не удаётся завершить операцию"
@ -559,6 +596,10 @@ output: "Выходы"
script: "Скрипт" script: "Скрипт"
disablePagesScript: "Отключить скрипты на «Страницах»" disablePagesScript: "Отключить скрипты на «Страницах»"
updateRemoteUser: "Обновить данные пользователя с его сервера" updateRemoteUser: "Обновить данные пользователя с его сервера"
unsetUserAvatar: "Убрать аватар"
unsetUserAvatarConfirm: "Вы точно хотите убрать аватар?"
unsetUserBanner: "Убрать баннер"
unsetUserBannerConfirm: "Вы точно хотите убрать баннер?"
deleteAllFiles: "Удалить все файлы" deleteAllFiles: "Удалить все файлы"
deleteAllFilesConfirm: "Вы хотите удалить все файлы?" deleteAllFilesConfirm: "Вы хотите удалить все файлы?"
removeAllFollowing: "Удалить всех подписчиков" removeAllFollowing: "Удалить всех подписчиков"
@ -569,7 +610,7 @@ yourAccountSuspendedTitle: "Эта учетная запись заблокир
yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись." yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
tokenRevoked: "Токен недействителен" tokenRevoked: "Токен недействителен"
tokenRevokedDescription: "Срок действия вашего токена входа истек. Пожалуйста, войдите снова." tokenRevokedDescription: "Срок действия вашего токена входа истек. Пожалуйста, войдите снова."
accountDeleted: "Эта учетная запись удалена" accountDeleted: "Учетная запись удалена"
accountDeletedDescription: "Эта учетная запись удалена" accountDeletedDescription: "Эта учетная запись удалена"
menu: "Меню" menu: "Меню"
divider: "Линия-разделитель" divider: "Линия-разделитель"
@ -588,7 +629,7 @@ poll: "Опрос"
useCw: "Скрывать содержимое под предупреждением" useCw: "Скрывать содержимое под предупреждением"
enablePlayer: "Включить проигрыватель" enablePlayer: "Включить проигрыватель"
disablePlayer: "Выключить проигрыватель" disablePlayer: "Выключить проигрыватель"
expandTweet: "Развернуть твит" expandTweet: "Развернуть заметку"
themeEditor: "Редактор темы оформления" themeEditor: "Редактор темы оформления"
description: "Описание" description: "Описание"
describeFile: "Добавить подпись" describeFile: "Добавить подпись"
@ -600,7 +641,7 @@ plugins: "Расширения"
preferencesBackups: "Резервная копия" preferencesBackups: "Резервная копия"
deck: "Пульт" deck: "Пульт"
undeck: "Покинуть пульт" undeck: "Покинуть пульт"
useBlurEffectForModal: "Размывка под формой поверх всего" useBlurEffectForModal: "Размытие за формой ввода заметки"
useFullReactionPicker: "Полнофункциональный выбор реакций" useFullReactionPicker: "Полнофункциональный выбор реакций"
width: "Ширина" width: "Ширина"
height: "Высота" height: "Высота"
@ -609,6 +650,7 @@ medium: "Средне"
small: "Мелко" small: "Мелко"
generateAccessToken: "Создать токен доступа" generateAccessToken: "Создать токен доступа"
permission: "Разрешения" permission: "Разрешения"
adminPermission: "Доступ администратора"
enableAll: "Включить все" enableAll: "Включить все"
disableAll: "Выключить всё" disableAll: "Выключить всё"
tokenRequested: "Открыть доступ к учётной записи" tokenRequested: "Открыть доступ к учётной записи"
@ -630,6 +672,7 @@ smtpSecure: "Использовать SSL/TLS для SMTP-соединений"
smtpSecureInfo: "Выключите при использовании STARTTLS." smtpSecureInfo: "Выключите при использовании STARTTLS."
testEmail: "Проверка доставки электронной почты" testEmail: "Проверка доставки электронной почты"
wordMute: "Скрытие слов" wordMute: "Скрытие слов"
hardWordMute: "Строгое скрытие слов"
regexpError: "Ошибка в регулярном выражении" regexpError: "Ошибка в регулярном выражении"
regexpErrorDescription: "В списке {tab} скрытых слов, в строке {line} обнаружена синтаксическая ошибка:" regexpErrorDescription: "В списке {tab} скрытых слов, в строке {line} обнаружена синтаксическая ошибка:"
instanceMute: "Глушение инстансов" instanceMute: "Глушение инстансов"
@ -651,6 +694,7 @@ useGlobalSettingDesc: "Если включено, будут использов
other: "Другие" other: "Другие"
regenerateLoginToken: "Создать новый токен для входа" regenerateLoginToken: "Создать новый токен для входа"
regenerateLoginTokenDescription: "Создаёт новый токен, используемый внутри программы во время входа. Обычно в этом нет необходимости. При создании все устройства будут отключены." regenerateLoginTokenDescription: "Создаёт новый токен, используемый внутри программы во время входа. Обычно в этом нет необходимости. При создании все устройства будут отключены."
theKeywordWhenSearchingForCustomEmoji: "Это ключевое слово будет использовано при поиске эмодзи."
setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел" setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел"
fileIdOrUrl: "Идентификатор файла или ссылка" fileIdOrUrl: "Идентификатор файла или ссылка"
behavior: "Поведение" behavior: "Поведение"
@ -664,10 +708,7 @@ abuseReported: "Жалоба отправлена. Большое спасибо
reporter: "Сообщивший" reporter: "Сообщивший"
reporteeOrigin: "О ком сообщено" reporteeOrigin: "О ком сообщено"
reporterOrigin: "Кто сообщил" reporterOrigin: "Кто сообщил"
forwardReport: "Отправить жалобу на инстанс автора."
forwardReportIsAnonymous: "Жалоба на удалённый инстанс будет отправлена анонимно. Вместо ваших данных у получателя будет отображена системная учётная запись."
send: "Отправить" send: "Отправить"
abuseMarkAsResolved: "Отметить жалобу как решённую"
openInNewTab: "Открыть в новой вкладке" openInNewTab: "Открыть в новой вкладке"
openInSideView: "Открывать в боковой колонке" openInSideView: "Открывать в боковой колонке"
defaultNavigationBehaviour: "Поведение навигации по умолчанию" defaultNavigationBehaviour: "Поведение навигации по умолчанию"
@ -710,6 +751,7 @@ lockedAccountInfo: "Даже если вы вручную подтверждае
alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию" alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию"
loadRawImages: "Сразу показывать изображения в полном размере" loadRawImages: "Сразу показывать изображения в полном размере"
disableShowingAnimatedImages: "Не проигрывать анимацию" disableShowingAnimatedImages: "Не проигрывать анимацию"
highlightSensitiveMedia: "Выделять содержимое не для всех"
verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста, по ссылке из письма, чтобы завершить проверку." verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста, по ссылке из письма, чтобы завершить проверку."
notSet: "Не настроено" notSet: "Не настроено"
emailVerified: "Адрес электронной почты подтверждён." emailVerified: "Адрес электронной почты подтверждён."
@ -721,13 +763,13 @@ useSystemFont: "Использовать шрифт, предлагаемый с
clips: "Подборки" clips: "Подборки"
experimentalFeatures: "Экспериментальные функции" experimentalFeatures: "Экспериментальные функции"
experimental: "Экспериментальные" experimental: "Экспериментальные"
thisIsExperimentalFeature: "Это экспериментальная функция. Технические характеристики могут измениться или он может работать неправильно." thisIsExperimentalFeature: "Это экспериментальная функция. Её поведение, вероятно, поменяется в следующей версии, а ещё она может работать не так, как задумано."
developer: "Разработчик" developer: "Разработчик"
makeExplorable: "Опубликовать профиль в «Обзоре»." makeExplorable: "Опубликовать профиль в «Обзоре»."
makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе «Обзор»." makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе «Обзор»."
showGapBetweenNotesInTimeline: "Показывать разделитель между заметками в ленте" showGapBetweenNotesInTimeline: "Показывать разделитель между заметками в ленте"
duplicate: "Дубликат" duplicate: "Дубликат"
left: "Влево" left: "Слева"
center: "По центру" center: "По центру"
wide: "Толстый" wide: "Толстый"
narrow: "Тонкий" narrow: "Тонкий"
@ -806,7 +848,7 @@ noMaintainerInformationWarning: "Не заполнены сведения об
noBotProtectionWarning: "Ботозащита не настроена" noBotProtectionWarning: "Ботозащита не настроена"
configure: "Настроить" configure: "Настроить"
postToGallery: "Опубликовать в галерею" postToGallery: "Опубликовать в галерею"
postToHashtag: "Опубликовать пост с этим хештегом" postToHashtag: "Написать заметку с этим хештегом"
gallery: "Галерея" gallery: "Галерея"
recentPosts: "Недавние публикации" recentPosts: "Недавние публикации"
popularPosts: "Популярные публикации" popularPosts: "Популярные публикации"
@ -823,35 +865,35 @@ emailNotConfiguredWarning: "Не указан адрес электронной
ratio: "Соотношение" ratio: "Соотношение"
previewNoteText: "Предварительный просмотр" previewNoteText: "Предварительный просмотр"
customCss: "Индивидуальный CSS" customCss: "Индивидуальный CSS"
customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас." customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что у вас перестанет нормально работать сайт."
global: "Всеобщая" global: "Всеобщая"
squareAvatars: "Квадратные аватарки" squareAvatars: "Квадратные аватарки"
sent: "Отправить" sent: "Отправить"
received: "Получено" received: "Получено"
searchResult: "Результаты поиска" searchResult: "Результаты поиска"
hashtags: "Хэштег" hashtags: "Хештеги"
troubleshooting: "Разрешение проблем" troubleshooting: "Разрешение проблем"
useBlurEffect: "Размытие в интерфейсе" useBlurEffect: "Размытие в интерфейсе"
learnMore: "Подробнее" learnMore: "Подробнее"
misskeyUpdated: "Misskey обновился!" misskeyUpdated: "Misskey обновился!"
whatIsNew: "Что новенького?" whatIsNew: "Что новенького?"
translate: "Перевод" translate: "Перевести"
translatedFrom: "Перевод. Язык оригинала — {x}" translatedFrom: "Перевод. Язык оригинала — {x}"
accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи" accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже." usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
aiChanMode: "Режим Ай" aiChanMode: "Режим Ай"
devMode: "Режим разработчика" devMode: "Режим разработчика"
keepCw: "Сохраняйте Предупреждения о содержимом" keepCw: "Сохраняйте предупреждения о содержимом"
pubSub: "Учётные записи Pub/Sub" pubSub: "Учётные записи Pub/Sub"
lastCommunication: "Последнее сообщение" lastCommunication: "Последнее сообщение"
resolved: "Решено" resolved: "Решено"
unresolved: "Без решения" unresolved: "Без решения"
breakFollow: "Отписка" breakFollow: "Отписка"
breakFollowConfirm: "Удалить из подписок пользователя ?" breakFollowConfirm: "Действительно удалить этого подписчика?"
itsOn: "Включено" itsOn: "Включено"
itsOff: "Выключено" itsOff: "Выключено"
on: "Вкл" on: "Вкл."
off: "Выкл" off: "Выкл."
emailRequiredForSignup: "Для регистрации учётной записи нужен адрес электронной почты" emailRequiredForSignup: "Для регистрации учётной записи нужен адрес электронной почты"
unread: "Непрочитанное" unread: "Непрочитанное"
filter: "Фильтры" filter: "Фильтры"
@ -862,6 +904,8 @@ makeReactionsPublicDescription: "Список сделанных вами реа
classic: "Классика" classic: "Классика"
muteThread: "Скрыть цепочку" muteThread: "Скрыть цепочку"
unmuteThread: "Отменить сокрытие цепочки" unmuteThread: "Отменить сокрытие цепочки"
followingVisibility: "Видимость подписок"
followersVisibility: "Видимость подписчиков"
continueThread: "Показать следующие ответы" continueThread: "Показать следующие ответы"
deleteAccountConfirm: "Учётная запись будет безвозвратно удалена. Подтверждаете?" deleteAccountConfirm: "Учётная запись будет безвозвратно удалена. Подтверждаете?"
incorrectPassword: "Пароль неверен." incorrectPassword: "Пароль неверен."
@ -880,7 +924,7 @@ numberOfColumn: "Количество столбцов"
searchByGoogle: "Поиск" searchByGoogle: "Поиск"
instanceDefaultLightTheme: "Светлая тема по умолчанию" instanceDefaultLightTheme: "Светлая тема по умолчанию"
instanceDefaultDarkTheme: "Темная тема по умолчанию" instanceDefaultDarkTheme: "Темная тема по умолчанию"
instanceDefaultThemeDescription: "Описание темы по умолчанию для инстанса" instanceDefaultThemeDescription: "Введите код темы в формате объекта."
mutePeriod: "Продолжительность скрытия" mutePeriod: "Продолжительность скрытия"
period: "Опрос длится" period: "Опрос длится"
indefinitely: "вечно" indefinitely: "вечно"
@ -904,7 +948,7 @@ thereIsUnresolvedAbuseReportWarning: "Остались нерешённые жа
recommended: "Рекомендуем" recommended: "Рекомендуем"
check: "Проверить" check: "Проверить"
driveCapOverrideLabel: "Изменение лимита дискового пространства для этого пользователя" driveCapOverrideLabel: "Изменение лимита дискового пространства для этого пользователя"
driveCapOverrideCaption: "Укажите меньше или равное нулю для отмены" driveCapOverrideCaption: "Введите нуль или меньше, чтобы использовать значение по умолчанию."
requireAdminForView: "Для просмотра необходимо иметь аккаунт администратора" requireAdminForView: "Для просмотра необходимо иметь аккаунт администратора"
isSystemAccount: "Данная учётная запись создана автоматически и управляется системой" isSystemAccount: "Данная учётная запись создана автоматически и управляется системой"
typeToConfirm: "Введите {x} для продолжения" typeToConfirm: "Введите {x} для продолжения"
@ -924,7 +968,7 @@ type: "Тип"
speed: "Скорость" speed: "Скорость"
slow: "Медленная" slow: "Медленная"
fast: "Быстрая" fast: "Быстрая"
sensitiveMediaDetection: "Определение содержимого деликатного характера" sensitiveMediaDetection: "Распознание содержимого не для всех"
localOnly: "Локально" localOnly: "Локально"
remoteOnly: "Только удалённо" remoteOnly: "Только удалённо"
failedToUpload: "Сбой выгрузки" failedToUpload: "Сбой выгрузки"
@ -971,6 +1015,7 @@ assign: "Назначить"
unassign: "Отменить назначение" unassign: "Отменить назначение"
color: "Цвет" color: "Цвет"
manageCustomEmojis: "Управлять пользовательскими эмодзи" manageCustomEmojis: "Управлять пользовательскими эмодзи"
manageAvatarDecorations: "Управление украшениями аватара"
youCannotCreateAnymore: "Вы достигли лимита создания." youCannotCreateAnymore: "Вы достигли лимита создания."
cannotPerformTemporary: "Временно недоступен" cannotPerformTemporary: "Временно недоступен"
cannotPerformTemporaryDescription: "Это действие временно невозможно выполнить из-за превышения лимита выполнения." cannotPerformTemporaryDescription: "Это действие временно невозможно выполнить из-за превышения лимита выполнения."
@ -987,7 +1032,8 @@ thisPostMayBeAnnoying: "Это сообщение может быть непри
thisPostMayBeAnnoyingHome: "Этот пост может быть отправлен на главную" thisPostMayBeAnnoyingHome: "Этот пост может быть отправлен на главную"
thisPostMayBeAnnoyingCancel: "Этот пост не может быть отменен." thisPostMayBeAnnoyingCancel: "Этот пост не может быть отменен."
thisPostMayBeAnnoyingIgnore: "Этот пост может быть проигнорирован " thisPostMayBeAnnoyingIgnore: "Этот пост может быть проигнорирован "
collapseRenotes: "Свернуть репосты" collapseRenotes: "Сворачивать увиденные репосты"
collapseRenotesDescription: "Сворачивать посты с которыми вы взаимодействовали."
internalServerError: "Внутренняя ошибка сервера" internalServerError: "Внутренняя ошибка сервера"
internalServerErrorDescription: "Внутри сервера произошла непредвиденная ошибка." internalServerErrorDescription: "Внутри сервера произошла непредвиденная ошибка."
copyErrorInfo: "Скопировать код ошибки" copyErrorInfo: "Скопировать код ошибки"
@ -1001,15 +1047,20 @@ invitationRequiredToRegister: "Этот сервер в настоящее вр
emailNotSupported: "Доставка почты не поддерживается на этом сервере" emailNotSupported: "Доставка почты не поддерживается на этом сервере"
postToTheChannel: "Отправить в канал" postToTheChannel: "Отправить в канал"
cannotBeChangedLater: "Это нельзя изменить позже" cannotBeChangedLater: "Это нельзя изменить позже"
reactionAcceptance: "Принятие реакций" reactionAcceptance: "Допустимые реакции"
likeOnly: "Только лайки" likeOnly: "Только «нравится!»"
likeOnlyForRemote: "Только лайки с удалённых серверов" likeOnlyForRemote: "Всё (с других серверов только «нравится!»)"
nonSensitiveOnly: "Безопасный серфинг" nonSensitiveOnly: "Только безопасные"
nonSensitiveOnlyForLocalLikeOnlyForRemote: "Только безопасные (с других серверов только «нравится!»)"
rolesAssignedToMe: "Мои роли" rolesAssignedToMe: "Мои роли"
resetPasswordConfirm: "Сбросить пароль?" resetPasswordConfirm: "Сбросить пароль?"
sensitiveWords: "Чувствительные слова" sensitiveWords: "Чувствительные слова"
sensitiveWordsDescription: "Установите общедоступный диапазон заметки, содержащей заданное слово, на домашний. Можно сделать несколько настроек, разделив их переносами строк." sensitiveWordsDescription: "Установите общедоступный диапазон заметки, содержащей заданное слово, на домашний. Можно сделать несколько настроек, разделив их переносами строк."
sensitiveWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение." sensitiveWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
prohibitedWords: "Запрещённые слова"
prohibitedWordsDescription: "Включает вывод ошибки при попытке опубликовать пост, содержащий указанное слово/набор слов.\nМножество слов может быть указано, разделяемые новой строкой."
prohibitedWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
hiddenTags: "Скрытые хештеги"
notesSearchNotAvailable: "Поиск заметок недоступен" notesSearchNotAvailable: "Поиск заметок недоступен"
license: "Лицензия" license: "Лицензия"
unfavoriteConfirm: "Удалить избранное?" unfavoriteConfirm: "Удалить избранное?"
@ -1020,26 +1071,32 @@ retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?"
retryAllQueuesConfirmText: "Нагрузка на сервер может увеличиться" retryAllQueuesConfirmText: "Нагрузка на сервер может увеличиться"
enableChartsForRemoteUser: "Создание диаграмм для удалённых пользователей" enableChartsForRemoteUser: "Создание диаграмм для удалённых пользователей"
enableChartsForFederatedInstances: "Создание диаграмм для удалённых серверов" enableChartsForFederatedInstances: "Создание диаграмм для удалённых серверов"
showClipButtonInNoteFooter: "Показать кнопку добавления в подборку в меню действий с заметкой"
reactionsDisplaySize: "Размер реакций"
limitWidthOfReaction: "Ограничить максимальную ширину реакций и отображать их в уменьшенном размере."
noteIdOrUrl: "ID или ссылка на заметку" noteIdOrUrl: "ID или ссылка на заметку"
video: "Видео" video: "Видео"
videos: "Видео" videos: "Видео"
audio: "Звук"
audioFiles: "Звуковые файлы"
dataSaver: "Экономия трафика" dataSaver: "Экономия трафика"
accountMigration: "Перенести учётную запись" accountMigration: "Перенос учётной записи"
accountMoved: "Учетная запись перенесена" accountMoved: "Учётная запись перенесена"
accountMovedShort: "Эта учётная запись перемещена" accountMovedShort: "Эта учётная запись перемещена"
operationForbidden: "Эта операция невозможна." operationForbidden: "Это действие запрещено"
forceShowAds: "Всегда отображать рекламу" forceShowAds: "Всегда отображать рекламу"
addMemo: "Добавить заметку" addMemo: "Добавить памятку"
editMemo: "Редактировать заметку" editMemo: "Изменить памятку"
reactionsList: "Реакции" reactionsList: "Список реакций"
renotesList: "Репосты" renotesList: "Репосты"
notificationDisplay: "Отображение уведомления" notificationDisplay: "Отображение уведомлений"
leftTop: "Верхний левый угол" leftTop: "Слева вверху"
rightTop: "Сверху справа" rightTop: "Справа сверху"
leftBottom: "Снизу слева" leftBottom: "Слева внизу"
rightBottom: "Снизу справа" rightBottom: "Справа внизу"
vertical: "Вертикальная" stackAxis: "Положение уведомлений"
horizontal: "Сбоку" vertical: "Вертикально"
horizontal: "Горизонтально"
position: "Позиция" position: "Позиция"
serverRules: "Правила сервера" serverRules: "Правила сервера"
pleaseConfirmBelowBeforeSignup: "Для регистрации на данном сервере, необходимо согласится с нижеследующими положениями." pleaseConfirmBelowBeforeSignup: "Для регистрации на данном сервере, необходимо согласится с нижеследующими положениями."
@ -1051,49 +1108,114 @@ createNoteFromTheFile: "Создать заметку из этого файла
archive: "Архив" archive: "Архив"
channelArchiveConfirmTitle: "Переместить {name} в архив?" channelArchiveConfirmTitle: "Переместить {name} в архив?"
channelArchiveConfirmDescription: "Архивированные каналы перестанут отображаться в списке каналов или результатах поиска. В них также нельзя будет добавлять новые записи." channelArchiveConfirmDescription: "Архивированные каналы перестанут отображаться в списке каналов или результатах поиска. В них также нельзя будет добавлять новые записи."
thisChannelArchived: "Этот канал находится в архиве."
displayOfNote: "Отображение заметок" displayOfNote: "Отображение заметок"
initialAccountSetting: "Настройка профиля" initialAccountSetting: "Настройка профиля"
youFollowing: "Подписки" youFollowing: "Подписки"
preventAiLearning: "Отказаться от использования в машинном обучении (Генеративный ИИ)" preventAiLearning: "Отказаться от использования в машинном обучении (Генеративный ИИ)"
preventAiLearningDescription: "Запросить краулеров не использовать опубликованный текст или изображения и т.д. для машинного обучения (Прогнозирующий / Генеративный ИИ) датасетов. Это достигается путём добавления \"noai\" HTTP-заголовка в ответ на соответствующий контент. Полного предотвращения через этот заголовок не избежать, так как он может быть просто проигнорирован."
options: "Настройки ролей" options: "Настройки ролей"
specifyUser: "Указанный пользователь" specifyUser: "Указанный пользователь"
openTagPageConfirm: "Открыть страницу этого хештега?"
specifyHost: "Указать сайт"
failedToPreviewUrl: "Предварительный просмотр недоступен" failedToPreviewUrl: "Предварительный просмотр недоступен"
update: "Обновить" update: "Обновить"
rolesThatCanBeUsedThisEmojiAsReaction: "Роли тех, кому можно использовать эти эмодзи как реакцию" rolesThatCanBeUsedThisEmojiAsReaction: "Роли тех, кому можно использовать эти эмодзи как реакцию"
rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Если здесь ничего не указать, в качестве реакции эту эмодзи сможет использовать каждый." rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Если здесь ничего не указать, в качестве реакции эту эмодзи сможет использовать каждый."
rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn: "Эти роли должны быть общедоступными."
cancelReactionConfirm: "Вы действительно хотите удалить свою реакцию?"
later: "Позже" later: "Позже"
goToMisskey: "К Misskey" goToMisskey: "К Misskey"
additionalEmojiDictionary: "Дополнительные словари эмодзи" additionalEmojiDictionary: "Дополнительные словари эмодзи"
installed: "Установлено" installed: "Установлено"
branding: "Бренд" branding: "Бренд"
enableServerMachineStats: "Опубликовать характеристики сервера"
enableIdenticonGeneration: "Включить генерацию иконки пользователя" enableIdenticonGeneration: "Включить генерацию иконки пользователя"
turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность." turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность."
createInviteCode: "Создать код приглашения"
createCount: "Количество приглашений"
expirationDate: "Дата истечения" expirationDate: "Дата истечения"
unused: "Неиспользуемый" noExpirationDate: "Бессрочно"
unused: "Неиспользованное"
used: "Использован"
expired: "Срок действия приглашения истёк" expired: "Срок действия приглашения истёк"
doYouAgree: "Согласны?" doYouAgree: "Согласны?"
icon: "Аватар" icon: "Аватар"
replies: "Ответы" replies: "Ответы"
renotes: "Репост" renotes: "Репост"
loadReplies: "Показать ответы" loadReplies: "Показать ответы"
pinnedList: "Закреплённый список"
keepScreenOn: "Держать экран включённым"
showRenotes: "Показывать репосты"
mutualFollow: "Взаимные подписки"
followingOrFollower: "Подписки или подписчики"
fileAttachedOnly: "Только заметки с файлами"
showRepliesToOthersInTimeline: "Показывать ответы в ленте"
showRepliesToOthersInTimelineAll: "Показывать в ленте ответы пользователей, на которых вы подписаны"
hideRepliesToOthersInTimelineAll: "Скрывать в ленте ответы пользователей, на которых вы подписаны"
sourceCode: "Исходный код"
sourceCodeIsNotYetProvided: "Исходный код пока не доступен. Свяжитесь с администратором, чтобы исправить эту проблему."
repositoryUrl: "Ссылка на репозиторий"
repositoryUrlDescription: "Если вы используете Misskey как есть (без изменений в исходном коде), введите https://github.com/misskey-dev/misskey"
privacyPolicy: "Политика Конфиденциальности"
privacyPolicyUrl: "Ссылка на Политику Конфиденциальности"
attach: "Прикрепить"
angle: "Угол"
flip: "Переворот" flip: "Переворот"
disableStreamingTimeline: "Отключить обновление ленты в режиме реального времени"
useGroupedNotifications: "Отображать уведомления сгруппировано"
doReaction: "Добавить реакцию"
code: "Код"
remainingN: "Остаётся: {n}"
seasonalScreenEffect: "Эффект времени года на экране"
decorate: "Украсить"
addMfmFunction: "Добавить MFM"
lastNDays: "Последние {n} сут"
hemisphere: "Место проживания"
enableHorizontalSwipe: "Смахните в сторону, чтобы сменить вкладки"
surrender: "Этот пост не может быть отменен."
useNativeUIForVideoAudioPlayer: "Использовать интерфейс браузера при проигрывании видео и звука"
keepOriginalFilename: "Сохранять исходное имя файла"
keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке."
alwaysConfirmFollow: "Всегда подтверждать подписку"
inquiry: "Связаться"
_delivery:
stop: "Заморожено"
_type:
none: "Публикация"
_announcement:
tooManyActiveAnnouncementDescription: "Большое количество оповещений может ухудшить пользовательский опыт. Рассмотрите архивирование неактуальных оповещений. "
_initialAccountSetting: _initialAccountSetting:
accountCreated: "Аккаунт успешно создан!" accountCreated: "Аккаунт успешно создан!"
letsStartAccountSetup: "Давайте настроим вашу учётную запись." letsStartAccountSetup: "Давайте настроим вашу учётную запись."
profileSetting: "Настройки профиля" profileSetting: "Настройки профиля"
privacySetting: "Настройки конфиденциальности" privacySetting: "Настройки конфиденциальности"
initialAccountSettingCompleted: "Первоначальная настройка успешно завершена!" initialAccountSettingCompleted: "Первоначальная настройка успешно завершена!"
startTutorial: "Пройти Обучение"
skipAreYouSure: "Пропустить настройку?" skipAreYouSure: "Пропустить настройку?"
_initialTutorial: _initialTutorial:
launchTutorial: "Пройти обучение"
_note: _note:
description: "Посты в Misskey называются 'Заметками.' Заметки отсортированы в хронологическом порядке в ленте и обновляются в режиме реального времени." description: "Посты в Misskey называются 'Заметками.' Заметки отсортированы в хронологическом порядке в ленте и обновляются в режиме реального времени."
_reaction:
reactToContinue: "Добавьте реакцию, чтобы продолжить."
_postNote:
_visibility:
public: "Твоя заметка будет видна всем."
doNotSendConfidencialOnDirect2: "Администратор целевого сервера может видеть что вы отправляете. Будьте осторожны с конфиденциальной информацией, когда отправляете личные заметки пользователям с ненадёжных серверов."
_timelineDescription: _timelineDescription:
home: "В персональной ленте располагаются заметки тех, на которых вы подписаны." home: "В персональной ленте располагаются заметки тех, на которых вы подписаны."
local: "Местная лента показывает заметки всех пользователей этого сайта." local: "Местная лента показывает заметки всех пользователей этого экземпляра."
social: "В социальной ленте собирается всё, что есть в персональной и местной лентах." social: "В социальной ленте собирается всё, что есть в персональной и местной лентах."
global: "В глобальную ленту попадает вообще всё со связанных инстансов." global: "В глобальную ленту попадает вообще всё со связанных экземпляров."
_serverSettings: _serverSettings:
iconUrl: "Адрес на иконку роли" iconUrl: "Адрес на иконку роли"
_accountMigration:
moveFrom: "Перенести другую учётную запись сюда"
moveTo: "Перенести учётную запись на другой сервер"
moveAccountDescription: "Это действие перенесёт ваш аккаунт на другой сервер.\n ・Подписчики с этого аккаунта автоматически подпишутся на новый\n ・Этот аккаунт отпишется от всех пользователей, на которых подписан сейчас\n Вы не сможете создавать новые заметки и т.д. на этом аккаунте\n\nТогда как перенос подписчиков происходит автоматически, вы должны будете подготовиться, сделав некоторые шаги, чтобы перенести список пользователей, на которых вы подписаны. Чтобы сделать это, экспортируйте список подписчиков в файл, который затем импортируете на новом аккаунте в меню настроек. То же самое необходимо будет сделать со списками, также как и со скрытыми и заблокированными пользователями.\n\n(Это объяснение применяется к Misskey v13.12.0 и выше. Другое ActivityPub программное обеспечение, такое, как Mastodon, может работать по-другому."
startMigration: "Перенести"
movedAndCannotBeUndone: "Аккаунт был перемещён. Это действие необратимо."
_achievements: _achievements:
earnedAt: "Разблокировано в" earnedAt: "Разблокировано в"
_types: _types:
@ -1369,6 +1491,7 @@ _role:
canPublicNote: "Может публиковать общедоступные заметки" canPublicNote: "Может публиковать общедоступные заметки"
canInvite: "Может создавать пригласительные коды" canInvite: "Может создавать пригласительные коды"
canManageCustomEmojis: "Управлять пользовательскими эмодзи" canManageCustomEmojis: "Управлять пользовательскими эмодзи"
canManageAvatarDecorations: "Управление украшениями аватара"
driveCapacity: "Доступное пространство на «диске»" driveCapacity: "Доступное пространство на «диске»"
alwaysMarkNsfw: "Всегда отмечать файлы как «не для всех»" alwaysMarkNsfw: "Всегда отмечать файлы как «не для всех»"
pinMax: "Доступное количество закреплённых заметок" pinMax: "Доступное количество закреплённых заметок"
@ -1479,6 +1602,11 @@ _aboutMisskey:
donate: "Пожертвование на Misskey" donate: "Пожертвование на Misskey"
morePatrons: "Большое спасибо и многим другим, кто принял участие в этом проекте! 🥰" morePatrons: "Большое спасибо и многим другим, кто принял участие в этом проекте! 🥰"
patrons: "Материальная поддержка" patrons: "Материальная поддержка"
projectMembers: "Участники проекта"
_displayOfSensitiveMedia:
respect: "Скрывать содержимое не для всех"
ignore: "Показывать содержимое не для всех"
force: "Скрывать всё содержимое"
_instanceTicker: _instanceTicker:
none: "Не показывать" none: "Не показывать"
remote: "Только для других сайтов" remote: "Только для других сайтов"
@ -1507,7 +1635,7 @@ _wordMute:
muteWordsDescription: "Пишите слова через пробел в одной строке, чтобы фильтровать их появление вместе; а если хотите фильтровать любое из них, пишите в отдельных строках." muteWordsDescription: "Пишите слова через пробел в одной строке, чтобы фильтровать их появление вместе; а если хотите фильтровать любое из них, пишите в отдельных строках."
muteWordsDescription2: "Здесь можно использовать регулярные выражения — просто заключите их между двумя дробными чертами (/)." muteWordsDescription2: "Здесь можно использовать регулярные выражения — просто заключите их между двумя дробными чертами (/)."
_instanceMute: _instanceMute:
instanceMuteDescription: "Заметки и репосты с указанных здесь инстансов, а также ответы пользователям оттуда же не будут отображаться." instanceMuteDescription: "Любые активности, затрагивающие инстансы из данного списка, будут скрыты."
instanceMuteDescription2: "Пишите каждый инстанс на отдельной строке" instanceMuteDescription2: "Пишите каждый инстанс на отдельной строке"
title: "Скрывает заметки с заданных инстансов." title: "Скрывает заметки с заданных инстансов."
heading: "Список скрытых инстансов" heading: "Список скрытых инстансов"
@ -1556,7 +1684,7 @@ _theme:
navActive: "Текст на боковой панели (активирован)" navActive: "Текст на боковой панели (активирован)"
navIndicator: "Индикатор на боковой панели" navIndicator: "Индикатор на боковой панели"
link: "Ссылка" link: "Ссылка"
hashtag: "Хэштег" hashtag: "Хештег"
mention: "Упоминание" mention: "Упоминание"
mentionMe: "Упоминания вас" mentionMe: "Упоминания вас"
renote: "Репост" renote: "Репост"
@ -1574,7 +1702,6 @@ _theme:
buttonBg: "Фон кнопки" buttonBg: "Фон кнопки"
buttonHoverBg: "Текст кнопки" buttonHoverBg: "Текст кнопки"
inputBorder: "Рамка поля ввода" inputBorder: "Рамка поля ввода"
listItemHoverBg: "Фон пункта списка (под указателем)"
driveFolderBg: "Фон папки «Диска»" driveFolderBg: "Фон папки «Диска»"
wallpaperOverlay: "Слой обоев" wallpaperOverlay: "Слой обоев"
badge: "Значок" badge: "Значок"
@ -1586,8 +1713,10 @@ _sfx:
note: "Заметки" note: "Заметки"
noteMy: "Собственные заметки" noteMy: "Собственные заметки"
notification: "Уведомления" notification: "Уведомления"
antenna: "Антенна" reaction: "При выборе реакции"
channel: "Канал" _soundSettings:
driveFile: "Использовать аудиофайл с Диска."
driveFileWarn: "Выбрать аудиофайл с Диска."
_ago: _ago:
future: "Из будущего" future: "Из будущего"
justNow: "Только что" justNow: "Только что"
@ -1617,7 +1746,6 @@ _2fa:
registerTOTP: "Начните настраивать приложение-аутентификатор" registerTOTP: "Начните настраивать приложение-аутентификатор"
step1: "Прежде всего, установите на устройство приложение для аутентификации, например, {a} или {b}." step1: "Прежде всего, установите на устройство приложение для аутентификации, например, {a} или {b}."
step2: "Далее отсканируйте отображаемый QR-код при помощи приложения." step2: "Далее отсканируйте отображаемый QR-код при помощи приложения."
step2Click: "Нажав на QR-код, вы можете зарегистрироваться с помощью приложения для аутентификации или брелка для ключей, установленного на вашем устройстве."
step3Title: "Введите проверочный код" step3Title: "Введите проверочный код"
step3: "И наконец, введите код, который покажет приложение." step3: "И наконец, введите код, который покажет приложение."
step4: "Теперь при каждом входе на сайт вам нужно будет вводить код из приложения аналогичным образом." step4: "Теперь при каждом входе на сайт вам нужно будет вводить код из приложения аналогичным образом."
@ -1667,6 +1795,7 @@ _permissions:
"write:gallery": "Редактирование галереи" "write:gallery": "Редактирование галереи"
"read:gallery-likes": "Просмотр списка понравившегося в галерее" "read:gallery-likes": "Просмотр списка понравившегося в галерее"
"write:gallery-likes": "Изменение списка понравившегося в галерее" "write:gallery-likes": "Изменение списка понравившегося в галерее"
"write:admin:reset-password": "Сбросить пароль пользователю"
_auth: _auth:
shareAccessTitle: "Разрешения для приложений" shareAccessTitle: "Разрешения для приложений"
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?" shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
@ -1693,7 +1822,7 @@ _weekday:
_widgets: _widgets:
profile: "Профиль" profile: "Профиль"
instanceInfo: "Информация об инстансе" instanceInfo: "Информация об инстансе"
memo: "Напоминания" memo: "Памятки"
notifications: "Уведомления" notifications: "Уведомления"
timeline: "Лента" timeline: "Лента"
calendar: "Календарь" calendar: "Календарь"
@ -1720,6 +1849,7 @@ _widgets:
_userList: _userList:
chooseList: "Выберите список" chooseList: "Выберите список"
clicker: "Счётчик щелчков" clicker: "Счётчик щелчков"
birthdayFollowings: "Пользователи, у которых сегодня день рождения"
_cw: _cw:
hide: "Спрятать" hide: "Спрятать"
show: "Показать" show: "Показать"
@ -1773,7 +1903,7 @@ _profile:
name: "Имя" name: "Имя"
username: "Имя пользователя" username: "Имя пользователя"
description: "О себе" description: "О себе"
youCanIncludeHashtags: "Можете использовать здесь хэштеги" youCanIncludeHashtags: "Можете использовать здесь хештеги."
metadata: "Дополнительные сведения" metadata: "Дополнительные сведения"
metadataEdit: "Редактировать дополнительные сведения" metadataEdit: "Редактировать дополнительные сведения"
metadataDescription: "Можно добавить до четырёх дополнительных граф в профиль." metadataDescription: "Можно добавить до четырёх дополнительных граф в профиль."
@ -1781,9 +1911,12 @@ _profile:
metadataContent: "Содержимое" metadataContent: "Содержимое"
changeAvatar: "Поменять аватар" changeAvatar: "Поменять аватар"
changeBanner: "Поменять изображение в шапке" changeBanner: "Поменять изображение в шапке"
verifiedLinkDescription: "Указывая здесь URL, содержащий ссылку на профиль, иконка владения ресурсом может быть отображена рядом с полем"
avatarDecorationMax: "Вы можете добавить до {max} украшений."
_exportOrImport: _exportOrImport:
allNotes: "Все заметки\n" allNotes: "Все заметки\n"
favoritedNotes: "Избранное" favoritedNotes: "Избранное"
clips: "Подборка"
followingList: "Подписки" followingList: "Подписки"
muteList: "Скрытые" muteList: "Скрытые"
blockingList: "Заблокированные" blockingList: "Заблокированные"
@ -1902,6 +2035,9 @@ _notification:
unreadAntennaNote: "Антенна {name}" unreadAntennaNote: "Антенна {name}"
emptyPushNotificationMessage: "Обновлены push-уведомления" emptyPushNotificationMessage: "Обновлены push-уведомления"
achievementEarned: "Получено достижение" achievementEarned: "Получено достижение"
checkNotificationBehavior: "Проверить внешний вид уведомления"
sendTestNotification: "Отправить тестовое уведомление"
flushNotification: "Очистить уведомления"
_types: _types:
all: "Все" all: "Все"
follow: "Подписки" follow: "Подписки"
@ -1914,6 +2050,7 @@ _notification:
receiveFollowRequest: "Получен запрос на подписку" receiveFollowRequest: "Получен запрос на подписку"
followRequestAccepted: "Запрос на подписку одобрен" followRequestAccepted: "Запрос на подписку одобрен"
achievementEarned: "Получение достижений" achievementEarned: "Получение достижений"
login: "Войти"
app: "Уведомления из приложений" app: "Уведомления из приложений"
_actions: _actions:
followBack: "отвечает взаимной подпиской" followBack: "отвечает взаимной подпиской"
@ -1953,10 +2090,57 @@ _dialog:
_disabledTimeline: _disabledTimeline:
title: "Лента отключена" title: "Лента отключена"
description: "Ваша текущая роль не позволяет пользоваться этой лентой." description: "Ваша текущая роль не позволяет пользоваться этой лентой."
_drivecleaner:
orderBySizeDesc: "Размеры файлов по убыванию"
orderByCreatedAtAsc: "По увеличению даты"
_webhookSettings: _webhookSettings:
createWebhook: "Создать вебхук" createWebhook: "Создать вебхук"
modifyWebhook: "Изменить Вебхук"
name: "Название" name: "Название"
secret: "Секрет"
trigger: "Условие срабатывания"
active: "Вкл." active: "Вкл."
_events:
follow: "Когда подписались на пользователя"
followed: "Когда на вас подписались"
note: "Когда создали заметку"
reply: "Когда получили ответ на заметку"
renote: "Когда вас репостнули"
reaction: "Когда получили реакцию"
mention: "Когда вас упоминают"
_systemEvents:
abuseReport: "Когда приходит жалоба"
abuseReportResolved: "Когда разрешается жалоба"
userCreated: "Когда создан пользователь"
deleteConfirm: "Вы уверены, что хотите удалить этот Вебхук?"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Электронная почта"
webhook: "Вебхук"
_captions:
webhook: "Отправить уведомление Системному Вебхуку при получении или разрешении жалоб."
notifiedWebhook: "Используемый Вебхук"
_moderationLogTypes: _moderationLogTypes:
suspend: "Заморозить" suspend: "Заморозить"
addCustomEmoji: "Добавлено эмодзи"
updateCustomEmoji: "Изменено эмодзи"
deleteCustomEmoji: "Удалено эмодзи"
deleteDriveFile: "Файл удалён"
resetPassword: "Сброс пароля:" resetPassword: "Сброс пароля:"
createInvitation: "Создать код приглашения"
createSystemWebhook: "Создать Системный Вебхук"
updateSystemWebhook: "Обновить Системый Вебхук"
deleteSystemWebhook: "Удалить Системный Вебхук"
_fileViewer:
url: "Ссылка"
attachedNotes: "Закреплённые заметки"
_dataSaver:
_code:
title: "Подсветка кода"
_hemisphere:
N: "Северное полушарие"
S: "Южное полушарие"
caption: "Используется для некоторых настроек клиента для определения сезона."
_reversi:
total: "Всего"

View file

@ -1 +1,22 @@
--- ---
_lang_: "සිංහල"
monthAndDay: "{month}-{day}"
username: "පරිශීලක නාමය"
password: "මුරපදය"
cancel: "අවලංගු කරන්න"
instance: "සර්වර්"
login: "පිවිසෙන්න"
users: "පරිශීලක"
note: "නෝට්"
notes: "නෝට්"
instances: "සර්වර්"
smtpUser: "පරිශීලක නාමය"
smtpPass: "මුරපදය"
user: "පරිශීලක"
_sfx:
note: "නෝට්"
_profile:
username: "පරිශීලක නාමය"
_notification:
_types:
login: "පිවිසෙන්න"

View file

@ -349,6 +349,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Zapnúť hCaptchu" enableHcaptcha: "Zapnúť hCaptchu"
hcaptchaSiteKey: "Site key" hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key" hcaptchaSecretKey: "Secret key"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnúť ReCAPTCHA" enableRecaptcha: "Zapnúť ReCAPTCHA"
recaptchaSiteKey: "Site key" recaptchaSiteKey: "Site key"
@ -452,7 +454,6 @@ uiLanguage: "Jazyk používateľského prostredia"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Štýl emoji" emojiStyle: "Štýl emoji"
native: "Natívne" native: "Natívne"
disableDrawer: "Nepoužívať šuflíkové menu"
showNoteActionsOnlyHover: "Ovládacie prvky poznámky sa zobrazujú len po nabehnutí myši" showNoteActionsOnlyHover: "Ovládacie prvky poznámky sa zobrazujú len po nabehnutí myši"
noHistory: "Žiadna história" noHistory: "Žiadna história"
signinHistory: "História prihlásení" signinHistory: "História prihlásení"
@ -630,10 +631,7 @@ abuseReported: "Vaše nahlásenie je odoslané. Veľmi pekne ďakujeme."
reporter: "Nahlásil" reporter: "Nahlásil"
reporteeOrigin: "Pôvod nahláseného" reporteeOrigin: "Pôvod nahláseného"
reporterOrigin: "Pôvod nahlasovača" reporterOrigin: "Pôvod nahlasovača"
forwardReport: "Preposlať nahlásenie na server"
forwardReportIsAnonymous: "Namiesto vášho účtu bude zobrazený anonymný systémový účet na vzdialenom serveri ako autor nahlásenia."
send: "Poslať" send: "Poslať"
abuseMarkAsResolved: "Označiť nahlásenia ako vyriešené"
openInNewTab: "Otvoriť v novom tabe" openInNewTab: "Otvoriť v novom tabe"
openInSideView: "Otvoriť v bočnom paneli" openInSideView: "Otvoriť v bočnom paneli"
defaultNavigationBehaviour: "Predvolené správanie navigácie" defaultNavigationBehaviour: "Predvolené správanie navigácie"
@ -917,7 +915,13 @@ youFollowing: "Sledované"
icon: "Avatar" icon: "Avatar"
replies: "Odpovedať" replies: "Odpovedať"
renotes: "Preposlať" renotes: "Preposlať"
sourceCode: "Zdrojový kód"
flip: "Preklopiť" flip: "Preklopiť"
lastNDays: "Posledných {n} dní"
_delivery:
stop: "Zmrazené"
_type:
none: "Zverejňovanie"
_role: _role:
priority: "Priorita" priority: "Priorita"
_priority: _priority:
@ -1104,7 +1108,6 @@ _theme:
buttonBg: "Pozadie tlačidla" buttonBg: "Pozadie tlačidla"
buttonHoverBg: "Pozadie tlačidla (pod kurzorom)" buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
inputBorder: "Okraj vstupného poľa" inputBorder: "Okraj vstupného poľa"
listItemHoverBg: "Pozadie položky zoznamu (pod kurzorom)"
driveFolderBg: "Pozadie priečinu disku" driveFolderBg: "Pozadie priečinu disku"
wallpaperOverlay: "Vrstvenie pozadia" wallpaperOverlay: "Vrstvenie pozadia"
badge: "Odznak" badge: "Odznak"
@ -1116,8 +1119,6 @@ _sfx:
note: "Poznámky" note: "Poznámky"
noteMy: "Vlastná poznámka" noteMy: "Vlastná poznámka"
notification: "Oznámenia" notification: "Oznámenia"
antenna: "Antény"
channel: "Upozornenia kanála"
_ago: _ago:
future: "Budúcnosť" future: "Budúcnosť"
justNow: "Teraz" justNow: "Teraz"
@ -1284,6 +1285,7 @@ _profile:
changeBanner: "Zmeniť banner" changeBanner: "Zmeniť banner"
_exportOrImport: _exportOrImport:
allNotes: "Všetky poznámky" allNotes: "Všetky poznámky"
clips: "Klip"
followingList: "Sledujete" followingList: "Sledujete"
muteList: "Vypnúť zvuk" muteList: "Vypnúť zvuk"
blockingList: "Zablokovať" blockingList: "Zablokovať"
@ -1403,6 +1405,7 @@ _notification:
pollEnded: "Hlasovanie skončilo" pollEnded: "Hlasovanie skončilo"
receiveFollowRequest: "Doručené žiadosti o sledovanie" receiveFollowRequest: "Doručené žiadosti o sledovanie"
followRequestAccepted: "Schválené žiadosti o sledovanie" followRequestAccepted: "Schválené žiadosti o sledovanie"
login: "Prihlásiť sa"
app: "Oznámenia z prepojených aplikácií" app: "Oznámenia z prepojených aplikácií"
_actions: _actions:
followBack: "Sledovať späť\n" followBack: "Sledovať späť\n"
@ -1438,6 +1441,12 @@ _deck:
_webhookSettings: _webhookSettings:
name: "Názov" name: "Názov"
active: "Zapnuté" active: "Zapnuté"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Email"
_moderationLogTypes: _moderationLogTypes:
suspend: "Zmraziť" suspend: "Zmraziť"
resetPassword: "Resetovať heslo" resetPassword: "Resetovať heslo"
_reversi:
total: "Celkom"

View file

@ -345,6 +345,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Aktivera hCaptcha" enableHcaptcha: "Aktivera hCaptcha"
hcaptchaSiteKey: "Webbplatsnyckel" hcaptchaSiteKey: "Webbplatsnyckel"
hcaptchaSecretKey: "Hemlig nyckel" hcaptchaSecretKey: "Hemlig nyckel"
mcaptchaSiteKey: "Webbplatsnyckel"
mcaptchaSecretKey: "Hemlig nyckel"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Aktivera reCAPTCHA" enableRecaptcha: "Aktivera reCAPTCHA"
recaptchaSiteKey: "Webbplatsnyckel" recaptchaSiteKey: "Webbplatsnyckel"
@ -486,6 +488,10 @@ dataSaver: "Databesparing"
icon: "Profilbild" icon: "Profilbild"
replies: "Svara" replies: "Svara"
renotes: "Omnotera" renotes: "Omnotera"
_delivery:
stop: "Suspenderad"
_type:
none: "Publiceras"
_achievements: _achievements:
_types: _types:
_open3windows: _open3windows:
@ -506,7 +512,6 @@ _theme:
_sfx: _sfx:
note: "Noter" note: "Noter"
notification: "Notifikationer" notification: "Notifikationer"
antenna: "Antenner"
_2fa: _2fa:
renewTOTPCancel: "Nej tack" renewTOTPCancel: "Nej tack"
_antennaSources: _antennaSources:
@ -557,6 +562,7 @@ _notification:
renote: "Omnotera" renote: "Omnotera"
quote: "Citat" quote: "Citat"
reaction: "Reaktioner" reaction: "Reaktioner"
login: "Logga in"
_actions: _actions:
reply: "Svara" reply: "Svara"
renote: "Omnotera" renote: "Omnotera"
@ -571,6 +577,10 @@ _deck:
_webhookSettings: _webhookSettings:
name: "Namn" name: "Namn"
active: "Aktiverad" active: "Aktiverad"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "E-post"
_moderationLogTypes: _moderationLogTypes:
suspend: "Suspendera" suspend: "Suspendera"
resetPassword: "Återställ Lösenord" resetPassword: "Återställ Lösenord"

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more