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

Compare commits

..

736 Commits

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

* New translations ja-jp.yml (Korean)

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

* Fix iOS touch position offset in image masking feature

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

---------

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

* Fix video audio loss during compression by specifying AAC codec

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

* Fix audio by avoiding transcoding - copy audio stream directly

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

---------

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

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

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

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

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

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

* fix lint

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

* fix

* Update Changelog

* fix lint

---------

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

* enhance: add settings for noBoundingBoxExpansion

* Update Changelog

* fix

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

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

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

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

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

* fix: remove description

* fix

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

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

* Update watermarkPlacement.ts

---------

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

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

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

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

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

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

* chore: remove unnecessary 'DEFAULT NULL's

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

* Update Changelog

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

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

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

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

* fix

* Update Changelog

* fix lint

---------

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

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

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

* run pnpm dedupe

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

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

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

---------

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

* fix CHANGELOG.md

---------

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

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

* add change log

* Update CHANGELOG.md

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

---------

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

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

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

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

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

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

* fix lint

* Update Changelog

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

* fix lint

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

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

* ✌️

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

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

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

* fix lint

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

This reverts commit 3b0ec46990.

* fix

* fix

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

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

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

* lint

* revert unrelated changes

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

* remove inset shadow

---------

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

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

* remove unused imports

* remove unnecessary console.log

* fix 表記揺れ

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Turkish)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Thai)

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

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

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

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

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

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

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

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

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

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

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Catalan)

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

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

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

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

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

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

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

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

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

* chore: update typeorm.patch

* fix: handle socket creation failure in HttpRequestServiceAgent

---------

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

* 🎨

* Update Changelog

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

* Update NoteDraft.ts

* wip

* Update CHANGELOG.md

* wip

* Update PostScheduledNoteProcessorService.ts

* Update PostScheduledNoteProcessorService.ts

* Update Notification.ts

* wip

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* wip

* Create 1758677617888-scheduled-post.js

* Update index.d.ts

* Update stats.ts

* wip

* wip

* wip

* wip

* wip

* Update MkNotification.vue

* wip

* wip

* wip

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* wip

* wip

* Update NoteDraftEntityService.ts

* wip

* Update index.d.ts

* Update MkPostForm.vue

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* wip

* wip

* Update NoteDraftEntityService.ts

* Update NoteCreateService.ts

* Update NoteDraftService.ts

* wip

* Update NoteDraftService.ts

* wip

* wip

* Update MkPostForm.vue

* wip

* Update MkPostForm.vue

* Update os.ts

* wip

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

* Update CHANGELOG.md

* wip

* wip

* wip

* wip

* Update use-uploader.ts

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

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

* try harder

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

---------

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

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

* Implement blur effect for image effector system

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

* Improve blur quality with configurable sample count

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

* Revert to simpler blur implementation with configurable sample count

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

* Fix blur size independence from sample count

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

* Make blur radius resolution-independent

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

* Update blur.ts

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

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

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

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

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

This reverts commit c739e9f55b.

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

This reverts commit ffbc6eeba7.

* wip

* tweak

* ellipse

---------

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

* added to navbar

* qr.show.vue

* fix

* added to navbar

* fix size

* 🎨

* 🎨

* fix div warn

* fix

* use * 0.25

* fix??

* fix lint

* clean up

* ???

* ?

* fix

* 🎨

* 🎨

* refactor

* 🎨

* 🎨

* :ar:t

* 🎨

* iphone flip

* no lazy import

* 🎨

* 🎨

* 🎨

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

* ✌️

* fix

* fix

* fix lint

* 🎨

* fix type

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

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

* chore: use common utility for checking self host

* wip

* 🎨

* 🎨

* fix imports

* fix

* fix

* fix

* 🎨

* fix...

* set spacer-w

* ✌️

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

* fix

* 🎨

* modify navbar.ts

* start/stop on vue activation

* display raw content read from qr

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

* chore

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

* 🎨

* fix 18n

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

* add spdx

* use cqh

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

* use MkUserName

* 🎨

* 🎨

* refactor

* clean up

* refactor

* 🎨

* Update qr.show.vue

* Misskeyロゴにdrop-shadowを追加

* clean up: do not use empty css

* fix os.select usage

* Update qr.vue

* Update qr.show.vue

* Update qr.show.vue

* Update get-user-menu.ts

* ✌️

* Update show.ts

* Update ja-JP.yml

* watermark

* Update CHANGELOG.md

* Update qr.read.vue

* Update qr.read.vue

* wip

* Update MkWatermarkEditorDialog.Layer.vue

---------

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

* wip

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update fillSquare.ts

* Update CHANGELOG.md

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

* fix

* spdx

* fix

* fix os.select

* fix lint

* add comment

* fix

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

* fix

* fix

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

* fix

* fix

* fix

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

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

* fix

* fix types

* fix

* fix

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

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

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

---------

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

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

* remove unused ts-expect-error

* migrate

* remove unrelated changes

* fix lint

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

* lint

* fix

* remove unused imports

* fix

* Update Changelog

* [ci skip] typo

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

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

* fix type error

* run pnpm dedupe

---------

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

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

* Update Changelog

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

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

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

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

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

* Update Changelog

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

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

* simplify check on flush.pug

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

---------

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

Fix misskey-dev#15982

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

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

* fix

---------

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Turkish)

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

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

* New translations ja-jp.yml (Catalan)

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

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (English)

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

* fix build error

---------

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Catalan)

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

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

* Update Changelog

* fix lint

* fix: directionをMkPaginationに移動

* fix

* fix

* fix

---------

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

* fix

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

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

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

* fix

* 🎨

* 🎨

* Update Changelog

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

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

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

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Catalan)

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

* Update cli.ts

* Update cli.ts

* wip

* Update CHANGELOG.md

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

Add Japanese locales to auto-generate other languages.

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

Choose from presets or set it manually.

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

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

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

Users can notice what's changed by this PR.

* refactor(frontend): Manage state by MkSelect

The functions only initialize the values.

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

Clean up the MkInput components.

* chore(locales): Switch to "custom"

A single word is better than sentence on this situation.

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

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

* chore: delete pages on account delete

* fix: notes on the pages are removed by CleanRemoteNotes

* test: add the simplest test for page embedded notes

* fix: section block is not considered

* fix: section block is not considered in migration

* chore: remove comments from columns

* revert unnecessary change

* add pageCount to webhook test

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

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

* suggestions

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

* docs

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

* change initial limit to 100

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

* robustness for transient race conditions

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

* handle cursors in postgres

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

* robustness: transient errors and timeout handling

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

* use '0' as initial cursor

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

---------

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

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Turkish)

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

* Update HttpRequestService.ts

---------

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

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

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

* docs(changelog): update changelog

---------

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

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

* enhance: i18n colorClampAdvanced

* fix: missing translation

* enhance: i18n blockNoise

* fix lint

* fix: narrow down fx defs types

* fix

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

* fix lint

* ImageEffectorをwatermarkに隠蔽

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

* refactor

* fix

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

* refactor: remove unnecessary `as const`

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

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

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

* docs(changelog): update changelog

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

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

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

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

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Korean)

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

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

* test(backend): CleanRemoteNotesProcessorService (basic)

* test(backend): CleanRemoteNotesProcessorService (advanced)

* ✌️

* a

* split initiator query

* no order by

* ???

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

* enable check spdx license id in frontend-builder

* fix eslint config

* run eslint for frontend-builder in ci

* fix eslint

* add license headers

* fix unnecessary comments

* update changelog

* fix generateDts

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

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

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

* chore: concurrent buildで高速化

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

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

* chore: use typescript

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

* chore: inline variable

* fix: build error

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

* chore: ignore export specifier from error

* chore: support i18n.tsx as object

* chore: process literal for all files

* chore: split config and locale

* chore: inline locale name

* chore: remove updating locale in boot common

* chore: use top-level await to load locales

* chore: inline locale

* chore: remove loading locale from boot.js

* chore: remove loading locale from boot.js

* コメント追加

* fix test; fetchに失敗する

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

* fix: watch pug

* chore: use hash for entry files

* chore: remove es-module-lexer from dependencies

* chore: move to frontend-builder

* chore: use inline locale in embed

* chore: refetch json on hot reload

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

* 応急処置を戻す

* fix spex

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

* refactor: use scriptsDir parameter

* chore: remove i18n from depmap

* chore: make build crash if errors

* error -> warn few conditions

* use inline object

* update localstorage keys

* remove accessing locale localstorage

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

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

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

* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update performance.vue

* Update performance.vue

* Update performance.vue

* Update external-services.vue

* wip

* wip

* Update security.vue

* Update settings.vue

* Update CHANGELOG.md

* wip

* Update moderation.vue

* wip

* Update branding.vue

* wip

* Update email-settings.vue

* Update system-webhook.vue

* Update MkSuperMenu.vue

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

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

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

* fix: 変なものが混入

* fix test, lint

---------

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

* reorder family emojis

* reorder harp

* reorder symbols

* correct emoji genders

* add missing emojis to unicode-emoji-indexes

* add Japanese annotations for Sark flag

* correct kana notations

* add square colors

* upgrade @twemoji/parser to 16.0.0

* correct emoji genders

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

* Update Changelog

* Update Changelog

* fix

* fix

* Update Changelog

* Update Changelog

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

* Update ClientServerService.ts

---------

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (Russian)

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

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

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

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

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

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* wip

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update job-queue.job.vue

* wip

* Update CleanRemoteNotesProcessorService.ts

* wip

* wip

* wip

* Update CleanRemoteNotesProcessorService.ts

* wip

* Update CHANGELOG.md

* Revert "wip"

This reverts commit 89d455d302.

* wip

* woip

* Update QueueService.ts

* Update QueueService.ts

* ピン留め考慮

* Update CleanRemoteNotesProcessorService.ts

* Update QueueService.ts

* Update CleanRemoteNotesProcessorService.ts

* add log

* Update CHANGELOG.md

* wip

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

* Update Changelog

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

* Update CHANGELOG.md

* Update QueryService.ts

* Update QueryService.ts

* wip

* Update MkNoteDetailed.vue

* Update NoteEntityService.ts

* wip

* Update antennas.ts

* Update create.ts

* Update NoteEntityService.ts

* wip

* Update CHANGELOG.md

* Update NoteEntityService.ts

* Update NoteCreateService.ts

* Update note.test.ts

* Update note.test.ts

* Update ClientServerService.ts

* Update ClientServerService.ts

* add error handling

* Update NoteDeleteService.ts

* Update CHANGELOG.md

* Update entities.ts

* Update entities.ts

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

* clean up

* skip test about reply

* Fix #16289

* clean up

* cherry pick

* add renote test

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

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

The search index looks like:

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

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

Replacing the `path` makes the search work fine.

* Update Changelog

---------

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

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

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

* migrate router.replace

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Portuguese)

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

* Update min.node-version

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

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

* feat: add final cleanup migration

* dev: add .editorconfig settings for generated migrations

* chore: update dockerfile to build package with patches

* chore: update federation test compose to include patches

* chore: revert few dependency update

* chore: don't check disableRegistration on test env

* test: add test for checking migration script

* chore: set proxyRemoteFiles true in test config

* chore: enter invitation code in signup test

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

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

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

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

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

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* Update Changelog

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

* fix

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

* refactor

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

* Update clip.vue

---------

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

Make it clear who sent emails.

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

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

This reverts commit 04928ba7d1.

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

* 🎨

* use theme fg/bg

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Portuguese)

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

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

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

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

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

* Update Changelog

* remove unused import

---------

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

* fix lint

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

* fix

* +→*

* fix

* use RegExp.test

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

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

---------

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

* fix

* refactor

* fix

* fix

* fix(paginator): remove readonly type

* fix

* typo

* fix: R -> E

* remove any

---------

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

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

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

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

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

* fix(ci): input type

* Fix current date

* Just use Daily cache

* fix condition
2025-06-26 19:08:47 +09:00
syuilo
9a28fa0534 refactor(frontend/pref): refactor preferences manager
Refactored preferences manager to decouple account context and storage provider, improving normalization and loading of profiles. Replaced static profile creation/normalization with instance-based logic, and updated usage in preferences.ts to pass account context explicitly. This enhances maintainability and prepares for better guest account handling.
2025-06-26 16:25:43 +09:00
github-actions[bot]
899273554a Bump version to 2025.6.4-alpha.1 2025-06-26 04:38:12 +00:00
syuilo
bf57557ba3 refactor(frontend): refactor uploader image editing features and menu
Replaces separate 'effect' and 'crop' features with a unified 'imageEditing' feature in the uploader. Groups crop and effect actions under a new parent 'editImage' menu item, adds localization for 'editImage', and updates supported types accordingly.
2025-06-26 12:10:15 +09:00
syuilo
8fda4fefaf refactor 2025-06-26 12:06:53 +09:00
syuilo
f1983d1aa5 Update type from UploaderDialogFeatures to UploaderFeatures
Replaces the UploaderDialogFeatures type with UploaderFeatures in the select function and SelectFileOptions type to ensure consistency and correct type usage.
2025-06-26 12:02:25 +09:00
syuilo
60649f4d66 add note 2025-06-26 12:01:56 +09:00
syuilo
525a330637 tweak eslint config 2025-06-26 10:49:41 +09:00
taichan
b455e63da7 chore(frontend): 開発モード時に言語ファイルの変更を自動で反映するように (#16215)
* chore(frontend): 開発モード時に言語ファイルの変更を自動で反映するように

* fix message

* naming

* SPDX
2025-06-26 08:26:44 +09:00
syuilo
5626677e86 Update CHANGELOG.md 2025-06-25 20:30:49 +09:00
keito
c424554d4a ジョブキューのProgressの値を正しく計算する (#16218)
* fix: ジョブキューのProgressの値の範囲を 0~100 に統一

* fix(backend): ジョブキューのProgressの計算に用いる総数を最初に一度だけ取得する
2025-06-25 20:30:17 +09:00
syuilo
eee9a5f853 enhance(frontend): ページネーションの並び順を逆にできるように 2025-06-25 20:26:20 +09:00
github-actions[bot]
4d72d6caf4 Bump version to 2025.6.4-alpha.0 2025-06-25 08:50:37 +00:00
taichan
b752dc72e5 feat: ノートの下書き(draft of note) (#15298)
* WIp (backend)

* Remove unused

* 下書きbackend 続き

* fix(backedn): visibilityが下書きに反映されない

* Update packages/backend/src/postgres.ts

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

* Fix : import order

* fix(backend) : createでcwが効かない

* FIX FOREGIN KEY

* wip: frontend(既存の下書きを挿入)

まだ:チャンネル表示、下書きの作成、削除

* WIP: ノート選択ダイアログ
投稿時に下書きを削除

* Promiseに変更

* 連合なし、チャンネルも表示

* Hashtagの値抜け漏れ

* hasthagを0文字でも作成可能に

* 下書きの保存機構

* chore(misskey-js): build types

* localOnly抜け漏れ

* チャンネル情報の書き換え

* enhance(frontend): ヘッダ部の表示改善

* fix(frontend): ファイル添付できない

* fix: no file

* fix(frontend): 投票が反映されない

* ハッシュタグの展開(コメントアウト外し忘れ)

* fix: visibleUserIdsが反映されない

* enhance: APIの型を整備

* refactor: 型が整備できたのでasを削除

* Add userhost

* fix

* enhance: paginationを使う

* fix

* fix: 自分のアカウントでの投稿でしか下書きを利用できないように

完全に塞ぐことはできないが一応

* 🎨

* APIのエラーIDを追加

* enhance: スタイル調整

* remove unused code

* 🎨

* fix: ロールポリシーの型

* ロールの編集画面

* ダイアログの挙動改善

* 下書き機能が利用できない場合は表示しないように

* refactor

* fix: ダブルクリックが効かない問題を修正

* add comments

* fix

* fix: 保存時のエラーの種別にかかわらずmodalを閉じないように

* fix()backend: NoteDraftのreply, renoteの型が間違ってたので修正 (migtrationはあってた)

* fix: 投稿フォームを空白にして通常リノートできるやつは下書きとしては弾くように

* fix(backend): テキストが0文字でも下書きは保存できるように

* Fix(backend): replyIdの型定義がミスっているのを修正

* chore(misskey-js): update types

* Add CHANGELOG

* lint

* 常にサーバー下書きに保存し、上限を超えた場合のみ尋ねるように

* NoteDraftServiceにcreate, updateの処理を移譲

* Fix typeerror

* remove tooltip

* Remove Mkbutton:short and use iconOnly

* 不要なコメントの削除

* Remove Short Completely

* wip

* escキーまわりの挙動を改善

* 下書き選択時に下書き可能数と現在の量が分かるように

* cleanUp

* wip

* wi

* wip

* Update MkPostForm.vue

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-06-25 17:09:23 +09:00
syuilo
06d31c0b78 fix(frontend): ファイルがドライブの既定アップロード先に指定したフォルダにアップロードされない問題を修正
Fix #16206
2025-06-25 10:55:30 +09:00
syuilo
32d4c312ef enhance(frontend): ファイルアップロード前にキャプション設定を行えるように
Resolve #16210
2025-06-25 10:49:58 +09:00
syuilo
36fde67992 enhance(frontend): improve theme settings 2025-06-25 10:23:39 +09:00
syuilo
43abbce2af enhance(frontend): 全てのページネーションにおいてコンテキストメニューからリロードできるように 2025-06-25 10:08:44 +09:00
syuilo
684424f26a enhance(frontend): improve useScrollPositionKeeper 2025-06-24 20:30:32 +09:00
syuilo
36989e0cd3 Update about-misskey.vue 2025-06-24 20:24:34 +09:00
syuilo
d518682e73 add note 2025-06-24 11:44:16 +09:00
syuilo
0ada970337 enhance(frontend): 設定の自動バックアップをオンにした直後に自動バックアップするように 2025-06-23 17:12:25 +09:00
github-actions[bot]
a812dfe853 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-16 11:13:27 +00:00
github-actions[bot]
2baec208f5 Release: 2025.6.3 2025-06-16 11:13:22 +00:00
github-actions[bot]
4093616e23 Bump version to 2025.6.3-alpha.0 2025-06-16 10:52:09 +00:00
syuilo
062d5170df fix(frontend): キャッシュを削除しないとクライアントが使用できないことがある問題を修正
Fix #16196
2025-06-16 19:51:26 +09:00
github-actions[bot]
a279bd4d49 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-16 08:58:37 +00:00
github-actions[bot]
978ae706eb Release: 2025.6.2 2025-06-16 08:58:31 +00:00
syuilo
824643a44e [skip ci] Update CHANGELOG.md 2025-06-16 17:57:09 +09:00
github-actions[bot]
213c569242 Bump version to 2025.6.2-alpha.0 2025-06-16 05:08:24 +00:00
syuilo
a1cf2d3074 New Crowdin updates (#16192)
* 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 (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)
2025-06-16 14:07:48 +09:00
syuilo
4ea7c76c02 fix(frontend): キャッシュを削除しないとクライアントが使用できないことがある問題を修正 2025-06-16 13:55:27 +09:00
github-actions[bot]
1782a353d3 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-16 02:33:19 +00:00
github-actions[bot]
c69a13b592 Release: 2025.6.1 2025-06-16 02:33:14 +00:00
syuilo
40e35c051a Update CHANGELOG.md 2025-06-15 11:10:03 +09:00
syuilo
b93717be33 Update CHANGELOG.md
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2025-06-15 11:08:53 +09:00
syuilo
fe805fb7f0 enhance(frontend/image-effector): tweak fxs 2025-06-15 11:06:46 +09:00
syuilo
e9af9d4451 enhance(frontend/image-effector): tweak fxs 2025-06-15 10:57:29 +09:00
syuilo
ce90fee586 enhance(frontend/image-effector): add blockNoise fx 2025-06-15 10:55:11 +09:00
syuilo
5bec8ba6b0 enhance(frontend/image-effector): tweak fxs 2025-06-15 10:19:42 +09:00
syuilo
3dbfd80d65 enhance(frontend/image-effector): tweak colorAdjust fx 2025-06-15 09:25:57 +09:00
syuilo
b33eeb1366 enhance(frontend/image-effector): tweak distort fx 2025-06-15 08:47:59 +09:00
syuilo
420756d744 Update CHANGELOG.md 2025-06-14 19:50:56 +09:00
かっこかり
32d721abf1 refactor(frontend): checkWordMuteの返り値が誤っている問題を修正 (#16188)
* refactor(frontend): checkWordMuteの返り値が誤っている問題を修正

* fix lint
2025-06-14 16:08:14 +09:00
github-actions[bot]
8ea6aa2ef3 Bump version to 2025.6.1-rc.0 2025-06-14 03:16:12 +00:00
syuilo
bc07b79a23 fix(frontend): デッキのタイムラインカラムで新着ノート時のサウンドが再生されない問題を修正
Fix #16164
2025-06-14 11:36:42 +09:00
syuilo
aae7961540 New Crowdin updates (#16187)
* New translations ja-jp.yml (Chinese Simplified)

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

* New translations ja-jp.yml (Chinese Simplified)
2025-06-13 10:31:14 +09:00
github-actions[bot]
1ad32990cb Bump version to 2025.6.1-beta.2 2025-06-12 10:07:07 +00:00
zyoshoka
89db7b3fa8 fix(frontend): display reactions correctly in welcome timeline (#16186) 2025-06-12 19:05:24 +09:00
syuilo
151121a567 New Crowdin updates (#16183)
* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)
2025-06-12 17:34:12 +09:00
mochi33i
966e0812f5 fix(misskey-js) : misskey-jsの drive/file/create でファイルアップロードができない問題を修正 (#16028)
* fix(misskey-js): drive/file/createが動かない問題を修正

* CHANGELOG.mdに修正内容を追加
2025-06-12 16:54:59 +09:00
syuilo
d378156212 Update CHANGELOG.md 2025-06-12 16:08:07 +09:00
renovate[bot]
568021498f fix(deps): update [root] update dependencies (#16142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 14:39:49 +09:00
github-actions[bot]
8f66ffc14d Bump version to 2025.6.1-beta.1 2025-06-11 03:45:02 +00:00
syuilo
63e8935c86 fix(frontend): disable note_view_interruptor temporary to prevent rendering glitch 2025-06-11 12:42:49 +09:00
renovate[bot]
b16a05b9a7 fix(deps): update [backend] update dependencies (#16143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 09:56:29 +09:00
おさむのひと
090262f3c6 fix: pnpm-lock.yamlの再生成 (#16182) 2025-06-11 08:57:42 +09:00
renovate[bot]
bc5a33d87f chore(deps): update [misskey-js] update dependencies (#16140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 16:08:04 +09:00
renovate[bot]
0ffd9e267a fix(deps): update [frontend] update dependencies (#16144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 16:07:34 +09:00
renovate[bot]
81bc27d804 chore(deps): update [tools] update dependencies (#16141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 15:53:04 +09:00
github-actions[bot]
f50abed98d Bump version to 2025.6.1-beta.0 2025-06-10 04:43:58 +00:00
syuilo
8ab574a31a New Crowdin updates (#16163)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

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

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)
2025-06-10 13:42:09 +09:00
syuilo
9a3219f12e fix(frontend): Plugin:register_note_view_interruptor()によるノートの書き換えが機能しない問題を修正
Fix #16180
2025-06-10 09:51:45 +09:00
zyoshoka
b5767c315a fix(backend): correct outbox pagination (#16176) 2025-06-08 09:12:59 +09:00
github-actions[bot]
ac9206f192 Bump version to 2025.6.1-alpha.4 2025-06-07 10:52:03 +00:00
かっこかり
e2b38edb3a deps(misskey-js): Update openapi-typescript to v7 (#15491)
* deps(misskey-js): Update openapi-typescript to v7

* update openapi-typescript to v7.7.3

* generate misskey-js types

* bump openapi-typescript

* enhance: 生成物からnever型を除去するように

* regenerate api types

* refactor: 処理共通化

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-06-07 19:36:00 +09:00
syuilo
c5dc0fd51b Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-06-07 09:26:51 +09:00
syuilo
dda2ad6bcd fix(frontend): support non-image files 2025-06-07 09:26:49 +09:00
github-actions[bot]
a5429ebeee Bump version to 2025.6.1-alpha.3 2025-06-06 23:36:20 +00:00
syuilo
1c3604c7fb 🎨 2025-06-07 08:15:31 +09:00
syuilo
4906f1f45c 🎨 2025-06-07 08:07:23 +09:00
syuilo
6506429f09 enhance(frontend): アップローダー内でセンシティブフラグを設定可能に 2025-06-07 07:57:23 +09:00
syuilo
9bd5f887de enhance(frontend): 投稿フォームにアップローダーを埋め込み (#16173)
* wip

* Update MkPostForm.vue

* wip

* wip

* Update MkPostForm.vue

* wip

* wip

* add tip

* Update tips.ts

* Update MkPostForm.vue
2025-06-07 07:47:43 +09:00
syuilo
be35fe468b refactor(frontend): refactor tips 2025-06-06 21:03:35 +09:00
syuilo
4b9b3ced01 enhance(frontend): improve MkTip usability 2025-06-06 20:59:01 +09:00
syuilo
20b8148ddf chore(frontend): tweak ui 2025-06-06 09:02:47 +09:00
github-actions[bot]
019dfbdc1c Bump version to 2025.6.1-alpha.2 2025-06-05 13:27:28 +00:00
かっこかり
95ea62f222 enhance(frontend): 画像エフェクトの操作でRangeをダブルクリックしたらデフォルトの値に戻るように (#16171)
* enhance(frontend): エフェクトの操作でRangeをダブルクリックしたらデフォルトの値に戻るように

* fix: trackの計算方法を修正

* remove unnecessary async
2025-06-05 22:25:49 +09:00
syuilo
fde67dca74 enhance(frontend): tweak server setup wizard 2025-06-05 21:05:11 +09:00
かっこかり
a603a4970e enhance(frontend): 画像エフェクト「色調補正」を追加 (#16170) 2025-06-05 20:29:02 +09:00
zyoshoka
f37a1e84bd chore: fix failure to publish misskey-js to npm registry (#16169) 2025-06-05 19:21:15 +09:00
syuilo
6c9e055aae add note 2025-06-05 15:05:00 +09:00
syuilo
a971e44cee refactor(frontend): refactor ImageEffector 2025-06-05 15:00:17 +09:00
syuilo
c6808f1eb6 refactor(frontend): refactor ImageEffector 2025-06-05 12:58:32 +09:00
syuilo
2a78360588 refactor(frontend): refactor ImageEffector 2025-06-05 12:25:22 +09:00
zyoshoka
65ba33867b fix(backend): avoid deadlock when deleting account (#16162) 2025-06-04 19:14:11 +09:00
syuilo
b55cc03621 New Crowdin updates (#16155)
* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

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

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)
2025-06-04 18:25:39 +09:00
かっこかり
80f73c6712 enhance(gh): renovateのicons-subsetterをfrontendグループに統合 (#16161) 2025-06-04 16:39:06 +09:00
syuilo
60fc9a5195 🎨 2025-06-04 16:33:55 +09:00
かっこかり
b43dfa260b fix/refactor(frontend): 画像編集機能の修正・型強化 (#16156)
* enhance: refine uploadFile

* fix: missing locale

* refactor: harden types

* refactor: シェーダーファイルをlazy-loadingできるように

* fix(frontend): omit console.log in production environment

* fix: glslのバージョン表記は最初の行になければならない

* fix: シェーダーの読み込みが完了してからレンダリングを行うように

* fix merge failure

* fix: ウォーターマークのプリセットがない場合にdividerが2重に表示される問題を修正

* fix: アップローダーダイアログの機能設定でウォーターマークが無効な場合でもデフォルトのプリセットが適用されてしまう問題を修正

* fix lint

* Revert "fix: シェーダーの読み込みが完了してからレンダリングを行うように"

This reverts commit e06f37a7d4.

* Revert "fix: glslのバージョン表記は最初の行になければならない"

This reverts commit afcc37d886.

* Revert "refactor: シェーダーファイルをlazy-loadingできるように"

This reverts commit a1ab2fa38c.

* fix: ウォーターマークのFX定義を分ける

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

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

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-06-04 16:22:09 +09:00
syuilo
e3b57a118d 🎨 2025-06-04 16:15:06 +09:00
syuilo
fdcb6a09a9 fix(frontend): タッチ操作時にチャートのツールチップが消えなくなる場合がある問題を修正 2025-06-04 16:10:57 +09:00
syuilo
218df19d9c enhance(frontend): スマホでのMkModalWindowの表示を最適化 2025-06-04 12:28:50 +09:00
syuilo
b766589c00 enhance(frontend): ミュートした絵文字をデバイス間で同期できるように
Resolve #16158
2025-06-04 12:01:33 +09:00
かっこかり
d94bdff639 fix(misskey-js): build misskey-js with types (#16159) 2025-06-04 11:49:29 +09:00
github-actions[bot]
3a4288fe24 Bump version to 2025.6.1-alpha.1 2025-06-03 12:13:26 +00:00
syuilo
12c71de4c7 New Crowdin updates (#16153)
* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Korean (Gyeongsang))
2025-06-03 21:07:02 +09:00
syuilo
b7aa013a41 feat: 全てのチャットメッセージを既読にできるように 2025-06-03 21:06:37 +09:00
github-actions[bot]
3ff2e6b299 Bump version to 2025.6.1-alpha.0 2025-06-03 10:19:12 +00:00
syuilo
cd9322a824 feat(frontend): 画像編集機能 (#16121)
* wip

* wip

* wip

* wip

* Update watermarker.ts

* wip

* wip

* Update watermarker.ts

* Update MkUploaderDialog.vue

* wip

* Update ImageEffector.ts

* Update ImageEffector.ts

* wip

* wip

* wip

* wip

* wip

* wip

* Update MkRange.vue

* Update MkRange.vue

* wip

* wip

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.Layer.vue

* wip

* Update zoomLines.ts

* Update zoomLines.ts

* wip

* wip

* Update ImageEffector.ts

* wip

* Update ImageEffector.ts

* wip

* Update ImageEffector.ts

* swip

* wip

* Update ImageEffector.ts

* wop

* Update MkUploaderDialog.vue

* Update ImageEffector.ts

* wip

* wip

* wip

* Update def.ts

* Update def.ts

* test

* test

* Update manager.ts

* Update manager.ts

* Update manager.ts

* Update manager.ts

* Update MkImageEffectorDialog.vue

* wip

* use WEBGL_lose_context

* wip

* Update MkUploaderDialog.vue

* Update drive.vue

* wip

* Update MkUploaderDialog.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2025-06-03 19:18:29 +09:00
syuilo
9fdc3c5def chore(frontend): remove duplicate declarations 2025-06-03 18:44:51 +09:00
かっこかり
4af8c7f8b0 enhance(frontend): リアクションビューワーで使用可能なリアクションを優先して表示するオプション (#16149)
* enhance(frontend): リアクションビューワーで使用可能なリアクションを優先して表示するオプション

* Update Changelog

* tweak

* fix

* enhance: リアクティブじゃなくする

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-06-03 18:44:01 +09:00
syuilo
ed29a3613b fix(frontend): fix user search pagination 2025-06-03 17:57:51 +09:00
かっこかり
810a609df4 fix(frontend): 一部のグリッドのページネーションが正しく表示されない問題を修正 (#16147)
* fix(frontend): 一部のグリッドのページネーションが正しく表示されない問題を修正

* update changelog

* fix
2025-06-03 17:20:11 +09:00
かっこかり
5537558fa7 fix(frontend): ドライブのファイル選択が不安定な問題を修正 (#16148)
* fix(frontend): ドライブのファイル選択が不安定になっているのを修正

* Update Changelog
2025-06-03 15:45:26 +09:00
syuilo
26215b7466 🎨 2025-06-03 10:35:02 +09:00
syuilo
0a0247a678 enhance(frontend): add config button to emoji picker to improve usability 2025-06-03 08:04:15 +09:00
syuilo
93d17aff6c refactor(frontend): ID生成処理を統一 2025-06-03 07:37:08 +09:00
syuilo
3bc81522c6 enhance(frontend): IDにUUIDを使うのをやめる (#16138)
* wip

* Update flash-edit.vue
2025-06-03 07:31:19 +09:00
github-actions[bot]
2a077de148 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-02 00:58:35 +00:00
github-actions[bot]
3eb64ccf7a Release: 2025.6.0 2025-06-02 00:58:25 +00:00
syuilo
47fede5e5c Update CHANGELOG.md 2025-06-02 09:43:27 +09:00
renovate[bot]
b48a25ea77 fix(deps): update [frontend] update dependencies (#16086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 09:13:06 +09:00
github-actions[bot]
51e7081c9d Bump version to 2025.6.0-beta.1 2025-06-01 23:49:28 +00:00
syuilo
982ae9238d New Crowdin updates (#16136)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)
2025-06-02 08:43:56 +09:00
syuilo
d40c083233 enhance(frontend): 非同期的なコンポーネントの読み込み時のハンドリングを強化 2025-06-02 08:43:04 +09:00
syuilo
8f025c447b fix(backend): ログインできなくなるため、ugcVisibilityForVisitorがnoneでもusers/showは許可するように 2025-06-02 08:37:22 +09:00
syuilo
9dc423afd4 fix(frontend): tweak MkFolderPage z-index 2025-06-02 08:32:22 +09:00
github-actions[bot]
5893a95c99 Bump version to 2025.6.0-beta.0 2025-06-01 01:49:22 +00:00
syuilo
f4167ae7f1 enhance(frontend): 非同期的なコンポーネントの読み込み時のハンドリングを強化 2025-06-01 10:44:45 +09:00
syuilo
63db879bcc fix(frontend): remove unused text 2025-06-01 10:22:32 +09:00
syuilo
bd17b465c3 New Crowdin updates (#16129)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)
2025-06-01 09:34:08 +09:00
syuilo
6b1fbf6819 Update about-misskey.vue 2025-06-01 09:24:49 +09:00
github-actions[bot]
021c332097 Bump version to 2025.6.0-alpha.0 2025-06-01 00:22:01 +00:00
syuilo
5bdbff19ae fix(frontend): リアクションの一部の絵文字が重複して表示されることがある問題を修正
Fix #16130
2025-06-01 08:10:49 +09:00
syuilo
070a4516fc 🎨 2025-06-01 07:57:22 +09:00
syuilo
c5d33661b2 chore(frontend): improve type def 2025-06-01 07:57:18 +09:00
github-actions[bot]
777ca15083 [skip ci] Update CHANGELOG.md (prepend template) 2025-05-31 12:37:08 +00:00
github-actions[bot]
21344f7695 Release: 2025.5.1 2025-05-31 12:37:02 +00:00
syuilo
4254f52ced New Crowdin updates (#16126)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (English)
2025-05-31 18:06:59 +09:00
syuilo
f14787bd10 fix(frontend): ベースロールの、「アップロード可能なファイル種別」を変更しても正しく保存されない
Fix #16128
2025-05-31 18:04:00 +09:00
syuilo
14cbc78031 Update packages/frontend/src/pages/admin/custom-emojis-manager.register.vue
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-05-31 17:41:04 +09:00
github-actions[bot]
62e333191d Bump version to 2025.5.1-beta.6 2025-05-31 07:38:56 +00:00
おさむのひと
0c2d799acd fix(backend): ジョブキュー画面のPausedタブをアクティブにすると400エラーが返ってくるのを修正 (#16124)
* fix(backend): ジョブキュー画面のPausedタブをアクティブにすると400エラーが返ってくるのを修正

* fix CHANGELOG.md
2025-05-31 16:34:25 +09:00
syuilo
aa4c7a1313 fix(frontend): アカウント依存かつ初期状態である設定値をサーバー同期しようとした際に正しくコンフリクト検出されない問題を修正 2025-05-31 16:33:03 +09:00
syuilo
743995e469 enhance(frontend): make pref sync more smart 2025-05-31 14:15:40 +09:00
syuilo
0254570fbf enhance(frontend): 設定の同期をオンにするときに競合したときに値をマージできるように 2025-05-31 12:49:10 +09:00
syuilo
9f196bbf75 New Crowdin updates (#16116)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)
2025-05-30 16:28:49 +09:00
github-actions[bot]
4c77f3e597 Bump version to 2025.5.1-beta.5 2025-05-29 08:49:19 +00:00
syuilo
85d339ee91 fix(frontend): チャットに動画ファイルを送付すると、動画の表示が崩れてしまい視聴出来ない問題を修正
Fix #15854
2025-05-29 17:44:30 +09:00
syuilo
0f6b28f970 enhance(backend): tweak default maxFileSizeMb value
ref: #15988
2025-05-29 17:35:10 +09:00
syuilo
75dcebc341 enhance(frontend): デバイスのダークモードと同期するオプションが有効なときにテーマを手動で切り替えようとした際の警告を表示 2025-05-29 17:32:10 +09:00
syuilo
85c28d5cb7 enhance(backend): 外部サイトのOGPのキャッシュ期間を調整 2025-05-29 13:53:33 +09:00
github-actions[bot]
c1ff6feeda Bump version to 2025.5.1-beta.4 2025-05-29 04:24:41 +00:00
anatawa12
1214d1d8fc Export/Import withReplies (#15986)
* feat: export withReplies of UserList

* feat: export withReplies of following

* import following時のwithRepliesがデフォルト値であることを明示する

* changelog

* update index.d.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-05-29 13:15:41 +09:00
anatawa12
367dac4edd Fix: ミュート対象ユーザーが引用されているノートがRNされたときにミュートを貫通してしまう問題 (#16009)
* chore: change 3rd parameter of generateMutedUserQueryForNotes to options

* chore: allow specifying note column for note/block query

* chore: check for mute / block for renote of note with DB query

* chore: check for mute / block for renote of note with FTT

* refactor: ミュート・ブロックのためのクエリ呼び出しを一つの関数にまとめる

* docs(changelog): ミュート対象ユーザーが引用されているノートがRNされたときにミュートを貫通してしまう問題を修正

* fix missing default parameter

* Update is-user-related.ts

* test: add tests for mutes

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-05-29 13:13:07 +09:00
syuilo
e4b7a1f4e1 fix tests
* test

* Update activitypub.ts

* Update activitypub.ts

* Update create.ts

* Update create.ts

* Update endpoints.ts
2025-05-29 12:41:27 +09:00
github-actions[bot]
e786ff4bf1 Bump version to 2025.5.1-beta.3 2025-05-29 02:50:18 +00:00
syuilo
e4a2d1658b New Crowdin updates (#16085)
* 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 (English)

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

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)
2025-05-29 11:43:28 +09:00
Soli
ed8a95f5bc fix(frontend): Twitch クリップの埋め込みが開けない問題を修正 (#16102) 2025-05-29 11:43:08 +09:00
syuilo
825c337cf4 improve log 2025-05-28 19:01:21 +09:00
おさむのひと
9bbc2028ad feat: URLプレビューのリダイレクトを受け入れるかどうかを設定できるようにする (#16112)
* feat: URLプレビューのリダイレクトを受け入れるかどうかを設定できるようにする

* fix CHANGELOG.md

* fix lang
2025-05-27 20:46:22 +09:00
zyoshoka
97e916c912 refactor(frontend): revoke weakening endpoint param type of API caller for type safety (#16100) 2025-05-27 20:45:05 +09:00
anatawa12
e954060f3b chore(dev): update vite configuration (#16110) 2025-05-27 15:18:37 +09:00
anatawa12
e078cd9296 fix: jest.js exits with zero value even if underlying jest exited with non-zero value (#16111) 2025-05-27 15:07:47 +09:00
かっこかり
1276e65049 fix(backend): follow-up of #16105 (#16109) 2025-05-27 14:42:48 +09:00
かっこかり
07c2de3749 fix(backend): typeormのbreaking changeに対応 (#16105)
* fix(backend): typeormのbreaking changeに対応

* attempt to fix test
2025-05-27 13:50:45 +09:00
renovate[bot]
47f4f11e3e fix(deps): update [backend] update dependencies (#16087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 13:18:59 +09:00
zyoshoka
d27075c5f5 fix(backend): correct invalid schema format specifying only required for anyOf (#16089)
* fix(backend): correct invalid schema format specifying only `required` for `anyOf`

* refactor(backend): make types derived from `allOf` or `anyOf` more strong
2025-05-27 08:57:09 +09:00
zyoshoka
ed3a844f5d fix(backend): add response schema for notes/show-partial-bulk endpoint (#16093) 2025-05-25 08:38:45 +09:00
かっこかり
0504d4399c fix(frontend): リアクション削除イベントのコンディションが誤っていたのを修正 (#16097) 2025-05-25 08:38:29 +09:00
かっこかり
fab9db405c fix(frontend): タブ間同期が行われるとテーマが切り替わり続ける問題を修正 (#16094) 2025-05-25 08:37:39 +09:00
github-actions[bot]
02b37b7adf Bump version to 2025.5.1-beta.2 2025-05-24 09:42:21 +00:00
かっこかり
02041344bd fix(frontend); カスタム絵文字のリアクションが二重で表示されることがある問題を修正 (#16092)
* fix(frontend): カスタム絵文字のリアクションが二重で表示されることがある問題を修正

* fix: improve event locking mechanism

* fix: remove unused console log

* fix: unused import

* fix: その場で書き換えることで再レンダリングを最小限に抑える(かも)

* refactor: reactive note data を composable内で生成するように
2025-05-24 18:31:55 +09:00
github-actions[bot]
fe1b2b00f5 Bump version to 2025.5.1-beta.1 2025-05-24 05:32:52 +00:00
syuilo
4fcb80bcf2 enhance(backend): ファイル種別が判定できない場合、拡張子を参照するように 2025-05-24 14:28:49 +09:00
syuilo
836ed98c54 Update CHANGELOG.md 2025-05-24 14:06:54 +09:00
syuilo
64791a7160 fix(frontend): ユーザに表示されるファイル種別と、実際のファイル種別が異なり、ファイルをアップロードすることに失敗することがある問題を修正
Fix #16091
2025-05-24 13:59:26 +09:00
syuilo
90e39d22d2 fix(backend): unallowedFileTypeエラーがハンドリングされていない問題を修正 2025-05-24 13:55:34 +09:00
zyoshoka
9c98c13743 fix(backend): better nullable ref schema representation (#16088)
* fix(backend): better nullable ref schema representation

* refactor
2025-05-23 20:27:16 +09:00
syuilo
bbbc68a772 enhance(frontend): tweak default preferences 2025-05-23 20:26:12 +09:00
syuilo
554623e5a8 🎨 2025-05-23 15:59:41 +09:00
syuilo
6c4b055921 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-05-23 14:02:57 +09:00
syuilo
227ca69704 🎨 2025-05-23 14:02:55 +09:00
github-actions[bot]
a1b5786939 Bump version to 2025.5.1-beta.0 2025-05-23 03:55:52 +00:00
syuilo
2a6bc2154c fix(frontend): エラー画像が横長になる
Fix #15982
2025-05-23 12:33:09 +09:00
syuilo
4ad8b59b49 enhance(frontend): アップロード前のリネームを可能に 2025-05-23 12:28:30 +09:00
かっこかり
b6ade8315a fix(frontend): 一定時間操作がなかったら動画プレイヤーのコントロールを隠すように (#16073)
* fix(frontend): 一定時間操作がなかったら動画プレイヤーのコントロールを隠すように

* Update Changelog
2025-05-23 11:55:48 +09:00
果物リン
2352d50e99 MkTooltipが画面左端を突き抜けないようにする (#15890) 2025-05-23 11:54:34 +09:00
syuilo
2bfbbbf16a enhance(frontend): improve tips 2025-05-23 10:46:42 +09:00
かっこかり
9d36d36fc4 fix(backend): admin側のエンドポイントで作成した招待コードに作成者の情報が記録されない問題を修正 (#16076)
* fix(backend): admin側のエンドポイントで作成した招待コードに作成者の情報が記録されない問題を修正

* Update Changelog
2025-05-23 09:49:21 +09:00
github-actions[bot]
479d7a58a4 Bump version to 2025.5.1-alpha.5 2025-05-22 14:21:07 +00:00
かっこかり
2fb9a16a02 enhance(gh): do lint check on icons-subsetter in github actions 2025-05-22 23:04:30 +09:00
syuilo
20d56ccb89 New Crowdin updates (#16006)
* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Catalan)

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

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

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Catalan)

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

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

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Catalan)

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

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

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

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (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 (Catalan)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)
2025-05-22 23:01:53 +09:00
syuilo
e750c9171e feat: ロールでアップロード可能なファイル種別を設定可能に (#16081)
* wip

* Update RoleService.ts

* wip

* Update RoleService.ts

* Update CHANGELOG.md
2025-05-22 23:01:31 +09:00
かっこかり
aaee0a788d enhance(frontend): シンタックスハイライトのエンジンをJavaScriptベースのものに変更 (#16084)
* refactor(frontend): シンタックスハイライトのエンジンをJavaScriptベースのものに変更

* Update Changelog
2025-05-22 22:57:04 +09:00
かっこかり
e6e8bfa591 feat(frontend): tabler-iconsのサブセット化 (#15340)
* feat(frontend): tabler-iconsの使用されていないアイコンを削除するように

* fix

* fix

* fix

* fix

* fix

* Update Changelog

* enhance: tablerのCSSを使用されているクラスのみに限定

* 使用するアイコンパッケージをそろえる

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* spdx

* typo

* fix: サブセットから除外される書き方をしている部分を修正

* fix: 同じunicodeに複数のアイコンclassが割り当てられている場合に対応

* remove debug code

* Update CHANGELOG.md

* fix merge error

* setup renovate

* fix: woff2ではなくwoffに変換していたのを修正

* update deps

* update changelog
2025-05-22 22:56:38 +09:00
renovate[bot]
c2478e5877 fix(deps): update [backend] update dependencies (#15911)
* fix(deps): update [backend] update dependencies

* run pnpm dedupe to fix type errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-05-22 19:31:38 +09:00
renovate[bot]
fb69efd97c chore(deps): update [misskey-js] update dependencies (#15907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 19:20:54 +09:00
renovate[bot]
d072dfaede fix(deps): update [frontend] update dependencies (#15910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 19:16:10 +09:00
renovate[bot]
4e78c22979 chore(deps): update [tools] update dependencies (#15909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 18:47:33 +09:00
renovate[bot]
f4630589cf fix(deps): update [root] update dependencies (#15908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 18:47:21 +09:00
syuilo
23542530e1 feat(frontend): モバイルデバイスで折りたたまれたUIの展開表示に全画面ページを使用できるように 2025-05-22 14:57:35 +09:00
syuilo
65c2adee36 clean up 2025-05-22 13:06:49 +09:00
syuilo
e4db9b64df refactor(frontend): better type defs 2025-05-22 13:05:28 +09:00
syuilo
74c857e23d refactor(frontend): src -> anchorElement 2025-05-22 12:24:52 +09:00
github-actions[bot]
aa55663ef7 Bump version to 2025.5.1-alpha.4 2025-05-22 03:06:08 +00:00
かっこかり
000ed1f51f fix(frontend): ジョブキューインスペクタの型エラー解消 (#16020)
* fix(frontend): ジョブキューインスペクタの型エラー解消

* fix

* fix

* fix

* fix
2025-05-22 12:06:07 +09:00
かっこかり
c7318f5803 fix(backend): 連合モードが「なし」の場合はactivity jsonへのリンクタグを省略するように (#16074)
* fix(backend): 連合モードが「なし」の場合はactivity jsonへのリンクタグを省略するように

* Update Changelog

* flip condition
2025-05-22 12:02:01 +09:00
syuilo
8ad6ffc2b3 fix(frontend): UIのアニメーションをオフにするとページネーションが表示されない問題を修正
Fix #16078
2025-05-22 09:35:42 +09:00
かっこかり
8c8cea024a enhance(frontend): 通知設定ページにサウンド設定ページへのリンクを追加 (#16072) 2025-05-21 21:13:45 +09:00
かっこかり
ccf5bd337e enhance(frontend): ファイルのアップロードを中止できるように (#16069)
* enhance(frontend): ファイルのアップロードを中止できるように

* Update Changelog

* fix: ダイアログを閉じたり、中断ボタンが押されたりしたときはその後のアップロードをすべて中止するように

* fix
2025-05-21 21:13:19 +09:00
かっこかり
e61b5abb05 fix(frontend): 誤植を修正 (#16075) 2025-05-21 14:20:51 +09:00
かっこかり
2619f69238 enhance(frontend): テーマ切り替えのアニメーションをView Transitionに変更 (#15974)
* enhance(frontend): テーマ切り替えのアニメーションをView Transitionに変更

* fix lint

* fix: 切り替え時間を0.5sに
2025-05-21 14:19:34 +09:00
かっこかり
bd7633c70e enhance(frontend/aiscript): AiScriptからtoastを発行できるように (#16071)
* enhance(frontend/aiscript): AiScriptからtoastを発行できるように

* Update Changelog
2025-05-21 10:23:12 +09:00
かっこかり
95093fc927 🎨 (#16070) 2025-05-21 10:16:30 +09:00
github-actions[bot]
ce4269a50c Bump version to 2025.5.1-alpha.3 2025-05-20 23:25:18 +00:00
syuilo
9480120eba Feat: ドライブ周りのUIの強化 (#16011)
* wip

* wip

* Update MkDrive.vue

* wip

* Update MkDrive.vue

* Update MkDrive.vue

* wip

* Update MkDrive.vue

* Update MkDrive.vue

* wip

* Update MkDrive.vue

* wip

* wip

* wip

* wip

* Update MkDrive.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* feat(frontend): upload dialog (#16032)

* wip

* wip

* Update MkUploadDialog.vue

* wip

* wip

* wip

* wip

* wip

* Update MkUploadDialog.vue

* wip

* wip

* Update MkDrive.vue

* wip

* wip

* Update MkPostForm.vue

* wip

* Update room.form.vue

* Update os.ts

* wiop

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update select-file.ts

* wip

* wip

* Update MkDrive.vue

* Update drag-and-drop.ts

* wip

* wip

* wop

* wip

* wip

* Update MkDrive.vue

* Update CHANGELOG.md

* wipo

* Update MkDrive.folder.vue

* wip

* Update MkUploaderDialog.vue

* wip

* wip

* Update MkUploaderDialog.vue

* wip

* Update MkDrive.vue

* Update MkDrive.vue

* wip

* wip
2025-05-21 07:31:24 +09:00
かっこかり
f74c38f313 enhance(frontend): URLプレビューをユーザーサイドで無効化できるように (#16064)
* enhance(frontend): URLプレビューをユーザーサイドで無効化できるように

* fix lint

* Update Changelog

* fix: 設定項目をデータセーバーに移動
2025-05-20 13:42:30 +09:00
かっこかり
7888f771c3 fix(frontend): ユーザー概要ページのファイルの項目のデザイン改良 (#16063) 2025-05-19 15:03:52 +09:00
zyoshoka
3adcce4a31 chore(deps): fix Renovate package lookup failure
Follow-up to #16055
2025-05-16 18:49:13 +09:00
zyoshoka
5169b1adc0 chore(deps): fix Renovate config for Node.js (#16055) 2025-05-16 18:39:25 +09:00
1058 changed files with 84128 additions and 49488 deletions

View File

@@ -218,3 +218,6 @@ proxyBypassHosts:
allowedPrivateNetworks: [
'127.0.0.1/32'
]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

@@ -234,6 +234,9 @@ proxyBypassHosts:
# '127.0.0.1/32'
#]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000
# Log settings
# logging:
# sql:

View File

@@ -105,6 +105,16 @@ port: 3000
# socket: /path/to/misskey.sock
# chmodSocket: '777'
# Proxy trust settings
#
# Changes how the server interpret the origin IP of the request.
#
# Any format supported by Fastify is accepted.
# Default: trust all proxies (i.e. trustProxy: true)
# See: https://fastify.dev/docs/latest/reference/server/#trustproxy
#
# trustProxy: 1
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
@@ -332,6 +342,9 @@ proxyBypassHosts:
# '127.0.0.1/32'
#]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000
# PID File of master process
#pidFile: /tmp/misskey.pid

View File

@@ -205,3 +205,6 @@ proxyBypassHosts:
allowedPrivateNetworks: [
'127.0.0.1/32'
]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

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

View File

@@ -1 +1 @@
20.10.0
22.15.0

View File

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

View File

@@ -16,10 +16,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Setup Node.js
uses: actions/setup-node@v4.4.0

View File

@@ -12,7 +12,7 @@ jobs:
steps:
- name: Checkout head
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
- name: Setup Node.js
uses: actions/setup-node@v4.4.0
with:

View File

@@ -18,7 +18,7 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
with:
submodules: true
persist-credentials: false
@@ -66,7 +66,7 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
with:
submodules: true
persist-credentials: false

View File

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

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
- name: Check
run: |
counter=0
@@ -50,6 +50,7 @@ jobs:
"packages/backend/test"
"packages/frontend-shared/@types"
"packages/frontend-shared/js"
"packages/frontend-builder"
"packages/frontend/.storybook"
"packages/frontend/@types"
"packages/frontend/lib"
@@ -58,6 +59,7 @@ jobs:
"packages/frontend/test"
"packages/frontend-embed/@types"
"packages/frontend-embed/src"
"packages/icons-subsetter/src"
"packages/misskey-bubble-game/src"
"packages/misskey-reversi/src"
"packages/sw/src"

View File

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

View File

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

View File

@@ -27,7 +27,7 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub

View File

@@ -32,7 +32,7 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta

View File

@@ -15,7 +15,7 @@ jobs:
DOCKER_CONTENT_TRUST: 1
DOCKLE_VERSION: 0.4.14
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
- name: Download and install dockle v${{ env.DOCKLE_VERSION }}
run: |
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb"
@@ -25,7 +25,7 @@ jobs:
cp ./compose_example.yml ./compose.yml
- run: |
docker compose up -d web
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest
docker tag "$(docker compose images --format json web | jq -r '.[] | .ID')" misskey-web:latest
- run: |
cmd="dockle --exit-code 1 misskey-web:latest ${image_name}"
echo "> ${cmd}"

View File

@@ -25,12 +25,12 @@ jobs:
ref: refs/pull/${{ github.event.number }}/merge
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
ref: ${{ matrix.ref }}
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:

View File

@@ -9,7 +9,9 @@ on:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-builder/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/**
- packages/misskey-js/**
- packages/misskey-bubble-game/**
@@ -21,7 +23,9 @@ on:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-builder/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/**
- packages/misskey-js/**
- packages/misskey-bubble-game/**
@@ -32,12 +36,12 @@ jobs:
pnpm_install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- uses: actions/setup-node@v4.4.0
with:
node-version-file: '.node-version'
@@ -54,7 +58,9 @@ jobs:
- backend
- frontend
- frontend-shared
- frontend-builder
- frontend-embed
- icons-subsetter
- sw
- misskey-js
- misskey-bubble-game
@@ -63,19 +69,19 @@ jobs:
eslint-cache-version: v1
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- uses: actions/setup-node@v4.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Restore eslint cache
uses: actions/cache@v4.2.3
uses: actions/cache@v4.3.0
with:
path: ${{ env.eslint-cache-path }}
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
@@ -93,12 +99,12 @@ jobs:
- sw
- misskey-js
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- uses: actions/setup-node@v4.4.0
with:
node-version-file: '.node-version'

View File

@@ -14,12 +14,12 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- uses: actions/setup-node@v4.4.0
with:
node-version-file: '.node-version'

View File

@@ -16,16 +16,18 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
# see https://docs.github.com/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry
registry-url: 'https://registry.npmjs.org'
- name: Publish package
run: |
pnpm i --frozen-lockfile

View File

@@ -16,7 +16,7 @@ jobs:
# api-artifact
steps:
- name: Download artifact
uses: actions/github-script@v7.0.1
uses: actions/github-script@v7.1.0
with:
script: |
const fs = require('fs');

View File

@@ -0,0 +1,51 @@
name: Request release review
on:
issue_comment:
types: [created]
jobs:
reply:
if: github.event.comment.body == '/request-release-review'
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Reply
uses: actions/github-script@v6
with:
script: |
const body = `To dev team (@misskey-dev/dev):
リリースが提案されています :rocket:
GOの場合はapprove、NO GOの場合はその旨コメントをお願いいたします。
判断にあたって考慮すべき観点は、
- やり残したことはないか?
- CHANGELOGは過不足ないか
- バージョンに問題はないか?(月跨いでいるのに更新忘れているなど)
- 再考すべき仕様・実装はないか?
- ベータ版を検証したサーバーから不具合の報告等は上がってないか?
- (セキュリティの修正や重要なバグ修正などのため)リリースを急いだ方が良いか?そうではないか?
- Actionsが落ちていないか
などが挙げられます。
ご協力ありがとうございます :sparkles:
`
const issue_number = context.payload.issue ? context.payload.issue.number : (context.payload.pull_request && context.payload.pull_request.number)
if (!issue_number) {
console.log('No issue or PR number found in payload; skipping')
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number,
body,
})
}

View File

@@ -22,12 +22,12 @@ jobs:
NODE_OPTIONS: "--max_old_space_size=7168"
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
if: github.event_name != 'pull_request_target'
with:
fetch-depth: 0
submodules: true
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
if: github.event_name == 'pull_request_target'
with:
fetch-depth: 0
@@ -37,7 +37,7 @@ jobs:
if: github.event_name == 'pull_request_target'
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:
@@ -90,7 +90,7 @@ jobs:
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes
uses: actions/github-script@v7.0.1
uses: actions/github-script@v7.1.0
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -18,6 +18,14 @@ on:
- packages/misskey-js/**
- .github/workflows/test-backend.yml
- .github/misskey/test.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs:
unit:
name: Unit tests (backend)
@@ -42,12 +50,27 @@ jobs:
- 56312:6379
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v4
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
run: |
for i in {1..3}; do
echo "Attempt $i: Installing FFmpeg..."
@@ -86,6 +109,7 @@ jobs:
name: E2E tests (backend)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version-file:
- .node-version
@@ -105,11 +129,11 @@ jobs:
- 56312:6379
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:
@@ -129,3 +153,47 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json
migration:
name: Migration tests (backend)
runs-on: ubuntu-latest
strategy:
matrix:
node-version-file:
- .node-version
#- .github/min.node-version
services:
postgres:
image: postgres:15
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
steps:
- uses: actions/checkout@v4.3.0
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.2.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/misskey/test.yml .config
- name: Build
run: pnpm build
- name: Run migrations
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend migrate
- name: Check no migrations are remaining
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend check-migrations

View File

@@ -14,6 +14,13 @@ on:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/test-federation.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs:
test:
@@ -29,8 +36,23 @@ jobs:
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v4
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
run: |
for i in {1..3}; do
echo "Attempt $i: Installing FFmpeg..."

View File

@@ -28,11 +28,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:
@@ -76,7 +76,7 @@ jobs:
- 56312:6379
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
submodules: true
# https://github.com/cypress-io/cypress-docker-images/issues/150
@@ -86,7 +86,7 @@ jobs:
#- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }}
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:

View File

@@ -22,10 +22,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.3.0
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Setup Node.js
uses: actions/setup-node@v4.4.0

View File

@@ -16,11 +16,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:

View File

@@ -17,11 +17,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.3.0
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:

View File

@@ -6,8 +6,12 @@
"files.associations": {
"*.test.ts": "typescript"
},
"jest.jestCommandLine": "pnpm run jest",
"jest.runMode": "on-demand",
"jest.virtualFolders": [
{ "name": "backend unit", "jestCommandLine": "pnpm -F backend run test" },
{ "name": "backend e2e", "jestCommandLine": "pnpm -F backend run test:e2e"},
{ "name": "misskey-js", "jestCommandLine": "pnpm -F misskey-js run jest" }
],
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},

View File

@@ -1,3 +1,253 @@
## 2025.10.2
### Client
- Fix: アプリ内からキャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正
- Fix: 期限が無期限のアンケートに投票できない問題を修正
## 2025.10.1
### General
- Enhance: リモートユーザーに付与したロールバッジを表示できるように(オプトイン)
パフォーマンス上の問題からデフォルトで無効化されています。「コントロールパネル > パフォーマンス」から有効化できます。
- 依存関係の更新
### Client
- Enhance: デッキのメインカラムのヘッダをクリックしてページ上部/下部にスクロールできるように
- Enhance: 下書き/予約投稿一覧は投稿フォームのアカウントメニュー内に移動し、下書き保存は「...」メニュー内に移動されました
- Fix: カスタム絵文字画面(beta)のaliasesで使用される区切り文字が一致していないのを修正 #15614
- Fix: バナー画像の幅が表示領域と一致していない問題を修正
- Fix: 一部のブラウザでバナー画像が上下中央に表示されない問題を修正
- Fix: ナビゲーションバーの設定で削除した項目をその場で再追加できない問題を修正
- Fix: ロールポリシーによりダイレクトメッセージが無効化されている際のデッキのダイレクトメッセージカラムの挙動を改善
- Fix: 画像のマスクでタッチ操作が不安定な問題を修正
- Fix: ウォーターマークの各種挙動修正
- ウォーターマークを回転させると歪む問題を修正
- ウォーターマークを敷き詰めると上下左右反転した画像/文字が表示される問題を修正
- ウォーターマークを回転させた際に画面からはみ出た部分を考慮できるように
- Fix: 投票が終了した後に投票結果が正しく表示されない問題を修正
- Fix: ダークモードの同期が機能しない場合がある問題を修正
- Fix: iOSで動画の圧縮を行うと音声トラックが失われる問題を修正
### Server
- Enhance: 管理者/モデレーターはファイルのアップロード制限をバイパスするように
- Enhance: セキュリティの向上
## 2025.10.0
### NOTE
- pnpm 10.16.0 が必要です
- ロールのインポート機能の利用可否ポリシーのデフォルト値が「いいえ」に変わったため、デフォルトから変更していないサーバーでは適宜設定を変更してください。
- ロールのアップロード可能なファイル種別ポリシーのデフォルト値に「text/*」が追加されたため、デフォルトから変更していないサーバーでは適宜設定を変更してください。
### General
- Feat: 予約投稿ができるようになりました
- デフォルトで作成可能数は1になっています。適宜ロールのポリシーで設定を行ってください。
- Enhance: 広告ごとにセンシティブフラグを設定できるようになりました
- Enhance: 依存関係の更新
- Enhance: 翻訳の更新
### Client
- Feat: アカウントのQRコードを表示・読み取りできるようになりました
- Feat: 動画を圧縮してアップロードできるようになりました
- Feat: (実験的) ブラウザ上でノートの翻訳を行えるように
- Enhance: チャットの日本語名称がダイレクトメッセージに戻るとともに、ベータ版機能ではなくなりました
- Enhance: 画像編集にマスクエフェクト(塗りつぶし、ぼかし、モザイク)を追加
- Enhance: 画像編集の集中線エフェクトを強化
- Enhance: ウォーターマークにアカウントのQRコードを追加できるように
- Enhance: テーマをドラッグ&ドロップできるように
- Enhance: 絵文字ピッカーのサイズをより大きくできるように
- Enhance: カスタム絵文字が多い場合にサーバーの絵文字一覧ページがフリーズしないように
- Enhance: 時刻計算のための基準値を一か所で管理するようにし、パフォーマンスを向上
- Enhance: 「お問い合わせ」ページから、バグの調査等に役立つ情報OSやブラウザのバージョン等を取得・コピーできるように
- Fix: iOSで、デバイスがダークモードだと初回読み込み時にエラーになる問題を修正
- Fix: アクティビティウィジェットのグラフモードが動作しない問題を修正
- Fix: ユニコード絵文字の追加辞書をインストールするとユニコード絵文字が絵文字ピッカーで検索できなくなる絵文字があるバグを修正
### Server
- Enhance: ユーザーIPを確実に取得できるために設定ファイルにFastifyOptions.trustProxyを追加しました
## 2025.9.0
### Client
- Enhance: AiScriptAppウィジェットで構文エラーを検知してもダイアログではなくウィジェット内にエラーを表示するように
- Enhance: /flushページでサイトキャッシュをクリアできるようになりました
- Enhance: クリップ/リスト/アンテナ/ロール追加系メニュー項目において、表示件数を拡張
- Enhance: 「キャッシュを削除」ボタンでブラウザの内部キャッシュの削除も行えるように
- Enhance: CtrlキーCommandキーを押下しながらリンクをクリックすると新しいタブで開くように
- Fix: プッシュ通知を有効にできない問題を修正
- Fix: RSSティッカーウィジェットが正しく動作しない問題を修正
- Fix: プロファイルを復元後アカウントの切り替えができない問題を修正
- Fix: エラー画像が横に引き伸ばされてしまう問題に対応
### Server
- Fix: webpなどの画像に対してセンシティブなメディアの検出が適用されていなかった問題を修正
## 2025.8.0
### Note
- サポートされるNode.jsの最小バージョンが**22.15.0**になりました
### General
- ノートを削除した際、関連するノートが同時に削除されないようになりました
- APIで、「replyIdが存在しているのにreplyがnull」や「renoteIdが存在しているのにrenoteがnull」であるという、今までにはなかったパターンが表れることになります
- 定期的に古いリモートの投稿を削除する機能が実装されました
- コントロールパネル→パフォーマンス→Remote Notes Cleaning で有効化できます
- データベースの肥大化を防止することが可能です
- 既存のサーバーで当機能を有効化した場合は、処理量が多くなるため、一時的にストレージ使用量が増加する可能性があります。
- 増加量を抑えるには、最大処理継続時間をデフォルトより短くしてください。
- データベースサイズへの効果が見られない場合はautovacuumが有効になっているか確認してください
- サーバーの初期設定が完了するまでは連合がオンにならないようになりました
- 日本語における公開範囲名称の「ダイレクト」が「指名」に改称されました
- 実際の動作に即した名称になり、馴染みのない人でも理解しやすくなりました
- 他サービスにおける「ダイレクトメッセージ」に相当するMisskeyの機能は「チャット」ですが(過去のバージョンのMisskeyでも、当該機能は「チャット」ではなく「ダイレクトメッセージ」でした)、「ダイレクト投稿」という名称の機能が存在するとそちらがダイレクトメッセージ機能であるような誤解を生んでいました
- 今後、「チャット」の名称を「ダイレクトメッセージ」に戻す可能性があります
- mfm.jsをアップデートしました
- Enhance: Unicode 15.1 および 16.0 に収録されている絵文字に対応
- Enhance: acctに `.` が入っているユーザーのメンションに対応
- Fix: Unicode絵文字に隣接する異体字セレクタ`U+FE0F`)が絵文字として認識される問題を修正
- Enhance: ユーザー検索をロールポリシーで制限できるように
### Client
- Feat: AiScriptが1.1.0に更新されました
- プラグインは1.xに対応したものが必要です
- Playはそのまま動作しますが、新規に作られるプリセットは1.xになります
- 以前のバージョンから無効化されていた note_view_interruptor が有効になりました
- ハンドラは同期的である必要があります
- Feat: セーフモード
- プラグイン・テーマ・カスタムCSSの使用でクライアントの起動に問題が発生した際に、これらを無効にして起動できます
- 以下の方法でセーフモードを起動できます
- `g` キーを連打する
- URLに`?safemode=true`を付ける
- PWAのショートカットで Safemode を選択して起動する
- Feat: 非ログイン時に表示されるトップページのスタイルを選択できるように
- コントロールパネル→ブランディング→エントランスページのスタイル
- Feat: ページのタブバーを下部に表示できるように
- Feat: (実験的)iOSでの触覚フィードバックを有効にできるように
- Feat: コントロールパネルを検索できるように
- Enhance: 「自動でもっと見る」オプションが有効になり、安定性が向上しました
- Enhance: トルコ語 (tr-TR) に対応
- Enhance: 不必要な翻訳データを読み込まなくなり、パフォーマンスが向上しました
- Enhance: 画像エフェクトのパラメータ名の多言語対応
- Enhance: ートを非表示にする相対期間を1ヶ月単位で自由に指定できるように
- Enhance: メールアドレス確認画面のUIを改善
- Enhance: アイコンのスクロール追従を無効化する際の適用範囲を強化
- Enhance: レンダリングパフォーマンスの向上
- Enhance: 依存ソフトウェアの更新
- Fix: 投稿フォームでファイルのアップロードが中止または失敗した際のハンドリングを修正
- Fix: 一部の設定検索結果が存在しないパスになる問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1171)
- Fix: テーマエディタが動作しない問題を修正
- Fix: チャンネルのハイライトページにノートが表示されない問題を修正
- Fix: カラムの名前が正しくリスト/チャンネルの名前にならない問題を修正
- Fix: 複数のメンションを1行に記述した場合に、サジェストが正しく表示されない問題を修正
- Fix: メンションとしての条件を満たしていても、特定の条件(`-`が含まれる場合など)で正しくサジェストされない問題を一部修正
- Fix: ユーザーの前後ノートを閲覧する機能が動作しない問題を修正
- Fix: 照会ダイアログでap/showでローカルユーザーを解決した際@username@nullに飛ばされる問題を修正
- Fix: アイコンのデコレーションを付ける際にデコレーションが表示されなくなる問題を修正
- Fix: タッチ操作時にマウスホバー時のユーザープレビューが開くことがある問題を修正
- Fix: 管理中アカウント一覧で正しい表示が行われない問題を修正
- Fix: lookupページでリモートURLを指定した際に正しく動作しない問題を修正
### Server
- Feat: サーバー管理コマンド
- `pnpm cli foo` の形式で実行可能です
- 現在以下のコマンドが利用可能です
- `reset-captcha` - CAPTCHA設定をリセットします
- Enhance: ノートの削除処理の効率化
- Enhance: 全体的なパフォーマンスの向上
- Enhance: 依存ソフトウェアの更新
- Enhance: `clips/list` APIがページネーションに対応しました
- Fix: `notes/mentions` で場合によっては並び順が正しく返されない問題を修正
- Fix: SystemWebhook設定でsecretを空に出来ない問題を修正
- Fix: 削除されたユーザーがチャットメッセージにリアクションしている場合`chat/history`などでエラーになる問題を修正
- Fix: Pageのアイキャッチ画像をドライブから消してもPageごと消えないように
- Fix: タイムラインAPIの withRenotes: false 時のレスポンスを修正
## 2025.7.0
### Note
- Node.jsの最小バージョンを20.10.0から20.18.1に引き上げました
- なお、特に必要がない限りNode.jsは推奨バージョンであるv22を使用するようにしてください
### General
- Feat: ノートの下書き機能
- Feat: クリップ内でノートを検索できるように
- Feat: Playを検索できるように
- Feat: モデレーションにおいて、特定のドライブファイルを添付しているチャットメッセージを一覧できるように
- Enhance: ウォーターマーク機能をロールで制御可能に
### Client
- Note: 「自動でもっと見る」オプションは無効になっています
- Feat: モデログを検索できるように
- Enhance: 設定の自動バックアップをオンにした直後に自動バックアップするように
- Enhance: ファイルアップロード前にキャプション設定を行えるように
- Enhance: ファイルアップロード時にセンシティブ設定されているか表示するように
- Enhance: 投稿フォームにファイルをペースト/ドロップした際のUXを改善
- Enhance: ページネーション(一覧表示)の並び順を逆にできるように
- Enhance: ページネーション(一覧表示)の基準日時を指定できるように
- Enhance: レンダリングパフォーマンスの向上
- Fix: ファイルがドライブの既定アップロード先に指定したフォルダにアップロードされない問題を修正
- Fix: プラグインをアンインストールしてもセーブデータが残る問題を修正
- Fix: 数時間後Misskeyのタブに戻った際に、タブがスロットリングされている間の更新アニメーションを延々見せ続けられる問題を修正
- Fix: 非ログイン時のハイライトートの画像がCWの有無を考慮せず表示される問題を修正
- Fix: レンジ選択・ドロップダウンにて、操作を無効にすべきところで無効にならない問題を修正
- Fix: Pull to refreshが有効なときに横スクロールができない問題を修正
### Server
- Enhance: sinceId/untilIdが指定可能なエンドポイントにおいて、sinceDate/untilDateも指定可能に
- Enhance: メールの送信者としてサーバー名を表示するように (サーバー名が設定されている場合)
- Fix: ジョブキューのProgressの値を正しく計算する
## 2025.6.3
### Client
- Fix: キャッシュを削除しないとクライアントが使用できないことがある問題を修正
## 2025.6.2
### Client
- Fix: キャッシュを削除しないとクライアントが使用できないことがある問題を修正
- 翻訳の更新
## 2025.6.1
### Note
- AiScript Misskey拡張APIMisskey Webプラグインの[note_view_interruptor](https://misskey-hub.net/ja/docs/for-developers/plugin/plugin-api-reference/#pluginregister_note_view_interruptorfn)は不具合の影響により現在一時的に無効化されています。
- Misskey Web投稿フォームのプレビュー切り替えは「...」メニュー内に配置されました
### Client
- Feat: 画像にウォーターマークを付与できるようになりました
- Feat: 画像の加工ができるようになりました(実験的)
- Enhance: ノートのリアクション一覧で、押せるリアクションを優先して表示できるようにするオプションを追加
- Enhance: 全てのチャットメッセージを既読にできるように(設定→その他)
- Enhance: ミュートした絵文字をデバイス間で同期できるように
- Fix: ドライブファイルの選択が不安定な問題を修正
- Fix: コントロールパネルのファイル欄などのデザインが崩れている問題を修正
- Fix: ユーザーの検索結果を追加で読み込むことができない問題を修正
- Fix: タッチ操作時にチャートのツールチップが消えなくなる場合がある問題を修正
- Fix: ウェルカムタイムラインでリアクションが表示されない問題を修正
- Fix: デッキのタイムラインカラムで新着ノート時のサウンドが再生されない問題を修正
### Server
- Feat: 全てのチャットメッセージを既読にするAPIを追加(chat/read-all)
- Fix: アカウント削除が正常に行われないことがあった問題を修正
- Fix: outboxのページネーションが正しく行われない問題を修正
### Misskey.js
- Fix: misskey-jsの drive/file/create でファイルアップロードができない問題を修正
## 2025.6.0
### Client
- Enhance: 非同期的なコンポーネントの読み込み時のハンドリングを強化
- Fix: リアクションの一部の絵文字が重複して表示されることがある問題を修正
- Fix: 非利用者に対するユーザー作成コンテンツの公開範囲が全て非公開になっている場合にログインできない問題を修正
### Server
- Fix: 非利用者に対するユーザー作成コンテンツの公開範囲が全て非公開になっている場合でもusers/showを許可するように
## 2025.5.1
### Note
@@ -6,16 +256,29 @@
- proxyRemoteFiles
- disallowExternalApRedirect
- 許可しないかどうかではなく、許可するかどうかの設定(allowExternalApRedirect)になりました
- 設定ファイルの maxFileSize が削除されました
- リクエストの最大ペイロードサイズは、nginxやCDNなどのMisskeyの前段で制限をするか、ロール設定で制限してください。
### General
- Feat: 非ログインでサーバーを閲覧された際に、サーバー内のコンテンツを非公開にすることができるようになりました
- モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます
- 「全て公開(今までの挙動)」「ローカルのコンテンツだけ公開(=サーバー内で受信されたリモートのコンテンツは公開しない)」「何も公開しない」から選択できます
- デフォルト値は「ローカルのコンテンツだけ公開」になっています
- Feat: ロールでアップロード可能なファイル種別を設定可能になりました
- デフォルトは**テキスト、JSON、画像、動画、音声ファイル**になっています。zipなど、その他の種別のファイルは含まれていないため、必要に応じて設定を変更してください。
- 場合によってはファイル種別を正しく検出できないことがあります(特にテキストフォーマット)。その場合、ファイル種別は application/octet-stream と見做されます。
- したがって、それらの種別不明ファイルを許可したい場合は application/octet-stream を指定に追加してください。
- Feat: プレビュー先がリダイレクトを伴う場合、リダイレクト先のコンテンツを取得しに行くか否かを設定できるように(#16043)
- Enhance: UIのアイコンデータの読み込みを軽量化
### Client
- Feat: ドライブのUIが強化されました
- 複数のファイルをまとめて移動できるようになりました
- Feat: ファイルのアップロードUIが一新されました
- アップロード前にファイル情報を確認できるようになりました
- 圧縮の品質を選択できるようになりました
- アップロードに失敗したときに再試行できるようになりました
- アップロード前に画像のクロッピングを行えるようになりました
- ファイルサイズのチェックは圧縮後の実際にアップロードされるサイズで行われるようになりました
- ファイルのアップロードを中断できるようになりました
- Feat: サーバー初期設定ウィザードが実装されました
- 簡単なウィザードに従うだけで、サーバーに最適な設定が適用されます
- Feat: Websocket接続を行わずにMisskeyを利用するNo Websocketモードが実装されました(beta)
@@ -25,23 +288,41 @@
- チャットなど、一部の機能は引き続き設定に関わらずWebsocket接続が行われます
- Feat: 絵文字をミュート可能にする機能
- 絵文字(ユニコードの絵文字・カスタム絵文字)毎にミュートし、不可視化することができるようになりました
- Feat: モバイルデバイスで折りたたまれたUIの展開表示に全画面ページを使用できるように(実験的)
- Enhance: 設定の同期をオンにするときに競合したときに値をマージできるように
- Enhance: メモリ使用量を軽減しました
- Enhance: 画像の高品質なプレースホルダを無効化してパフォーマンスを向上させるオプションを追加
- Enhance: 招待されているが参加していないルームを開いたときに、招待を承認するかどうか尋ねるように
- Enhance: リプライ元にアンケートがあることが表示されるように
- Enhance: ノートのサーバー情報のデザインを改善・パフォーマンス向上
(Based on https://github.com/taiyme/misskey/pull/198, https://github.com/taiyme/misskey/pull/211, https://github.com/taiyme/misskey/pull/283)
- Enhance: ユーザー設定でURLプレビューを無効化できるように
- Enhance: ヒントとコツを追加
- Enhance: ヒントとコツを再表示できるように
- Enhance: AiScriptからtoastを表示する関数 `Mk:toast` を追加
- Enhance: シンタックスハイライトのエンジンをJavaScriptベースのものに変更
- フロントエンドの読み込みサイズを軽量化しました
- ほとんどの言語のハイライトは問題なく行えますが、互換性の問題により一部の言語が正常にハイライトできなくなる可能性があります。詳しくは https://shiki.style/references/engine-js-compat をご覧ください。
- Fix: チャットに動画ファイルを送付すると、動画の表示が崩れてしまい視聴出来ない問題を修正
- Fix: アカウント依存かつ初期状態である設定値をサーバー同期しようとした際に正しくコンフリクト検出されない問題を修正
- Fix: "時計"ウィジェット(Clock)において、Transparent設定が有効でも、その背景が透過されない問題を修正
- Fix: 一定時間操作がなかったら動画プレイヤーのコントロールを隠すように
- Fix: Twitchのクリップがプレイヤーで再生できない問題を修正
### Server
- Enhance: リストやフォローをエクスポートする際にリプライを含むかどうかの情報を含むように
- Enhance: チャットルームの最大メンバー数を30人から50人に調整
- Enhance: ノートのレスポンスにアンケートが添付されているかどうかを示すフラグ`hasPoll`を追加
- Enhance: チャットルームのレスポンスに招待されているかどうかを示すフラグ`invitationExists`を追加
- Enhance: レートリミットの計算方法を調整 (#13997)
- Enhance: 外部サイトのOGPのキャッシュ期間を調整
- Fix: チャットルームが削除された場合・チャットルームから抜けた場合に、未読状態が残り続けることがあるのを修正
- Fix: ユーザ除外アンテナをインポートできない問題を修正
- Fix: アンテナのセンシティブなチャンネルのノートを含むかどうかの情報がエクスポートされない問題を修正
- Fix: ミュート対象ユーザーが引用されているートがRNされたときにミュートを貫通してしまう問題を修正 #16009
- Fix: 連合モードが「なし」の場合に、生成されるHTML内のactivity jsonへのリンクタグを省略するように
- Fix: コントロールパネルから招待コードを作成すると作成者の情報が記録されない問題を修正
- Fix: コントロールパネルのジョブキューページからPausedなジョブ一覧を閲覧できない問題を修正
## 2025.5.0

View File

@@ -258,6 +258,12 @@ Misskey uses Vue(v3) as its front-end framework.
- **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.**
- Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
## Tabler Icons
アイコンは、Production Build時に使用されていないものが削除されるようになっています。
**アイコンを動的に設定する際には、 `ti-${someVal}` のような、アイコン名のみを動的に変化させる実装を行わないでください。**
必ず `ti-xxx` のような完全なクラス名を含めるようにしてください。
## nirax
niraxは、Misskeyで使用しているオリジナルのフロントエンドルーティングシステムです。
**vue-routerから影響を多大に受けているので、まずはvue-routerについて学ぶことをお勧めします。**
@@ -575,27 +581,6 @@ pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name>
- 生成後、ファイルをmigration下に移してください
- 作成されたスクリプトは不必要な変更を含むため除去してください
### JSON SchemaのobjectでanyOfを使うとき
JSON Schemaで、objectに対してanyOfを使う場合、anyOfの中でpropertiesを定義しないこと。
バリデーションが効かないため。SchemaTypeもそのように作られており、objectのanyOf内のpropertiesは捨てられます
https://github.com/misskey-dev/misskey/pull/10082
テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
```ts
export const paramDef = {
type: 'object',
properties: {
hoge: { type: 'string', minLength: 1 },
fuga: { type: 'string', minLength: 1 },
},
anyOf: [
{ required: ['hoge'] },
{ required: ['fuga'] },
],
} as const;
```
### コネクションには`markRaw`せよ
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
@@ -633,3 +618,23 @@ color: hsl(from var(--MI_THEME-accent) h s calc(l - 10));
color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
```
## 考え方
### DRYに囚われるな
必要なのは一般化ではなく抽象化と考えます。
盲信せず、誤った・不必要な共通化は避け、それが自然だと感じる場合は重複させる勇気を持ちましょう。
### Misskeyを複雑にしない実装
それがいくら複雑であっても、Misskey固有のコンテキストと関心が分離されている(もしくは事実上分離されていると見做すことができる)実装であれば、それはMisskeyのコードベースに対する複雑性に影響を与えないと考えます。
例えるなら、VueやAiScriptといったMisskeyが使用しているライブラリの内部実装がいくら複雑だったとしても、「それを使用しているからMisskeyの実装は複雑である」ということにはならないのと同じです。
Misskeyのドメイン知識から関心が分離されているということは、Misskeyの実装について考える時にそれらの内部実装を考慮する必要が無く、認知負荷を増やさないからです。
また重要な点は、その実装が、Misskeyリポジトリの外部にあるか・内部にあるかということや、Misskeyがメンテナンスするものか・第三者がメンテナンスするものかといったことは複雑性を考える上ではほとんど無視できるという点です。
もちろんその実装がMisskeyリポジトリにあり、Misskeyがメンテナンスしなければならないものは、保守のコストはかかります。
しかし、Misskeyの本質的な設計・実装という観点で見たときは、その実装は実質的に外部ライブラリのように振る舞います。
換言すれば「たまたまMisskeyの開発者と同じ人たちがメンテナンスしているし、たまたまMisskeyのリポジトリ内に置いてあるだけの外部ライブラリ」です。
そのため、実装をなるべくMisskeyのドメイン知識から独立したものにすれば、Misskeyのコードベースの複雑性を上げることなく機能実装を行うことができ、お得であると言えます。
もちろんそれにこだわって、些細な実装でもそのように分離してしまうとかえって認知負荷が増えたり、実装量が増えてメリットをデメリットが上回る場合もあるので、ケースバイケースではあります。

View File

@@ -18,10 +18,13 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
COPY --link ["packages/frontend-builder/package.json", "./packages/frontend-builder/"]
COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
@@ -52,6 +55,7 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]

View File

@@ -224,3 +224,6 @@ id: "aidx"
#allowedPrivateNetworks: [
# '127.0.0.1/32'
#]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

@@ -34,7 +34,6 @@ describe('Before setup instance', () => {
cy.intercept('POST', '/api/admin/update-meta').as('update-meta');
cy.get('[data-cy-next]').click();
cy.get('[data-cy-next]').click();
cy.get('[data-cy-server-name] input').type('Testskey');
cy.get('[data-cy-server-setup-wizard-apply]').click();
@@ -79,6 +78,8 @@ describe('After setup instance', () => {
cy.get('[data-cy-signup-password] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-invitation-code] input').type('test-invitation-code');
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
cy.get('[data-cy-signup-submit]').click();

View File

@@ -4,8 +4,8 @@
*/
/* eslint-disable @typescript-eslint/explicit-function-return-type */
import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3';
import { action } from 'storybook/actions';
import type { StoryObj } from '@storybook/vue3';
import { HttpResponse, http } from 'msw';
import { abuseUserReport } from '../packages/frontend/.storybook/fakes.js';
import { commonHandlers } from '../packages/frontend/.storybook/mocks.js';

View File

@@ -0,0 +1,232 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
</template>
<script lang="ts" setup>
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
import isChromatic from 'chromatic/isChromatic';
import { initShaderProgram } from '@/utility/webgl.js';
const VERTEX_SHADER = `#version 300 es
in vec2 position;
out vec2 in_uv;
void main() {
in_uv = (position + 1.0) / 2.0;
gl_Position = vec4(position, 0.0, 1.0);
}
`;
const FRAGMENT_SHADER = `#version 300 es
precision mediump float;
const float PI = 3.141592653589793;
const float TWO_PI = 6.283185307179586;
const float HALF_PI = 1.5707963267948966;
in vec2 in_uv;
uniform vec2 in_resolution;
uniform float u_scale;
uniform float u_time;
uniform float u_seed;
uniform float u_angle;
uniform float u_radius;
uniform vec3 u_color;
uniform vec2 u_ripplePositions[16];
uniform float u_rippleRadiuses[16];
out vec4 out_color;
float getRipple(vec2 uv) {
float strength = 0.0;
float thickness = 0.05;
for (int i = 0; i < 16; i++) {
if (u_rippleRadiuses[i] <= 0.0) continue;
float d = distance(uv, u_ripplePositions[i]);
// フチ
if (d < u_rippleRadiuses[i] + thickness && d > u_rippleRadiuses[i] - thickness) {
float gradate = abs(d - u_rippleRadiuses[i] + thickness) / thickness;
strength += (1.0 - u_rippleRadiuses[i]) * gradate;
}
// 内側
if (d < u_rippleRadiuses[i] + thickness) {
strength += 0.25 * (1.0 - u_rippleRadiuses[i]);
}
}
return strength;
}
void main() {
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
float angle = -(u_angle * PI);
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
vec2 rotatedUV = vec2(
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
);
vec2 uv = rotatedUV;
float time = u_time * 0.00025;
float size = 1.0 / u_scale;
float size_half = size / 2.0;
float modX = mod(uv.x, size);
float modY = mod(uv.y, size);
vec2 pixelated_uv = vec2(
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
) + vec2(0.5 + size, 0.5 + size);
float strength = getRipple(pixelated_uv);
float opacity = min(max(strength, 0.0), 1.0);
float threshold = ((u_radius / 2.0) / u_scale);
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
//out_color = vec4(1.0);
return;
}
// debug
//float a = min(max(getRipple(uv), 0.0), 1.0);
//out_color = vec4(u_color.r, u_color.g, u_color.b, (opacity + a) / 2.0);
out_color = vec4(0.0, 0.0, 0.0, 0.0);
}
`;
const canvasEl = useTemplateRef('canvasEl');
const props = withDefaults(defineProps<{
scale?: number;
}>(), {
scale: 48,
});
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
onMounted(() => {
const canvas = canvasEl.value!;
let width = canvas.offsetWidth;
let height = canvas.offsetHeight;
canvas.width = width;
canvas.height = height;
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
if (maybeGl == null) return;
const gl = maybeGl;
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
const vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
//gl.clear(gl.COLOR_BUFFER_BIT);
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
gl.useProgram(shaderProgram);
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray(positionLocation);
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
gl.uniform1f(u_seed, Math.random() * 1000);
gl.uniform1f(u_scale, props.scale);
gl.uniform1f(u_angle, 0.0);
gl.uniform1f(u_radius, 0.15);
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
if (isChromatic()) {
gl.uniform1f(u_time, 0);
gl.drawArrays(gl.TRIANGLES, 0, 6);
} else {
let ripples = [] as { position: [number, number]; startTime: number; }[];
const LIFE_TIME = 1000 * 4;
function render(timeStamp: number) {
let sizeChanged = false;
if (Math.abs(height - canvas.offsetHeight) > 2) {
height = canvas.offsetHeight;
canvas.height = height;
sizeChanged = true;
}
if (Math.abs(width - canvas.offsetWidth) > 2) {
width = canvas.offsetWidth;
canvas.width = width;
sizeChanged = true;
}
if (sizeChanged && gl) {
gl.uniform2fv(in_resolution, [width, height]);
gl.viewport(0, 0, width, height);
}
gl.uniform1f(u_time, timeStamp);
if (Math.random() < 0.01 && ripples.length < 16) {
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
}
for (let i = 0; i < 16; i++) {
const o = gl.getUniformLocation(shaderProgram, `u_ripplePositions[${i.toString()}]`);
const r = gl.getUniformLocation(shaderProgram, `u_rippleRadiuses[${i.toString()}]`);
const ripple = ripples[i];
if (ripple == null) {
gl.uniform2f(o, 0, 0);
gl.uniform1f(r, 0.0);
continue;
}
const delta = timeStamp - ripple.startTime;
gl.uniform2f(o, ripple.position[0], ripple.position[1]);
gl.uniform1f(r, delta / LIFE_TIME);
}
ripples = ripples.filter(r => (timeStamp - r.startTime) < LIFE_TIME);
if (ripples.length === 0) {
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
}
gl.drawArrays(gl.TRIANGLES, 0, 6);
handle = window.requestAnimationFrame(render);
}
handle = window.requestAnimationFrame(render);
}
});
onUnmounted(() => {
if (handle) {
window.cancelAnimationFrame(handle);
}
// TODO: WebGLリソースの解放
});
</script>
<style lang="scss" module>
</style>

View File

@@ -0,0 +1,190 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
</template>
<script lang="ts" setup>
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
import isChromatic from 'chromatic/isChromatic';
import { GLSL_LIB_SNOISE, initShaderProgram } from '@/utility/webgl.js';
const VERTEX_SHADER = `#version 300 es
in vec2 position;
out vec2 in_uv;
void main() {
in_uv = (position + 1.0) / 2.0;
gl_Position = vec4(position, 0.0, 1.0);
}
`;
const FRAGMENT_SHADER = `#version 300 es
precision mediump float;
const float PI = 3.141592653589793;
const float TWO_PI = 6.283185307179586;
const float HALF_PI = 1.5707963267948966;
${GLSL_LIB_SNOISE}
in vec2 in_uv;
uniform vec2 in_resolution;
uniform float u_scale;
uniform float u_time;
uniform float u_seed;
uniform float u_angle;
uniform float u_radius;
uniform vec3 u_color;
out vec4 out_color;
void main() {
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
float size = 1.0 / u_scale;
float size_half = size / 2.0;
float angle = -(u_angle * PI);
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
vec2 rotatedUV = vec2(
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
);
vec2 uv = rotatedUV;
float modX = mod(uv.x, size);
float modY = mod(uv.y, size);
vec2 pixelated_uv = vec2(
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
) + vec2(0.5 + size, 0.5 + size);
float time = u_time * 0.00025;
float noiseAScale = 1.0;
float noiseAX = (pixelated_uv.x + u_seed) * (u_scale / noiseAScale);
float noiseAY = (pixelated_uv.y + u_seed) * (u_scale / noiseAScale);
float noiseA = snoise(vec3(noiseAX, noiseAY, time * 2.0));
float noiseBScale = 32.0;
float noiseBX = (pixelated_uv.x + u_seed) * (u_scale / noiseBScale);
float noiseBY = (pixelated_uv.y + u_seed) * (u_scale / noiseBScale);
float noiseB = snoise(vec3(noiseBX, noiseBY, time));
float strength = 0.0;
strength += noiseA * 0.2;
strength += noiseB * 0.8;
float opacity = min(max(strength, 0.0), 1.0);
float threshold = ((u_radius / 2.0) / u_scale);
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
return;
}
out_color = vec4(0.0, 0.0, 0.0, 0.0);
}
`;
const canvasEl = useTemplateRef('canvasEl');
const props = withDefaults(defineProps<{
scale?: number;
}>(), {
scale: 48,
});
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
onMounted(() => {
const canvas = canvasEl.value!;
let width = canvas.offsetWidth;
let height = canvas.offsetHeight;
canvas.width = width;
canvas.height = height;
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
if (maybeGl == null) return;
const gl = maybeGl;
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
const vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
//gl.clear(gl.COLOR_BUFFER_BIT);
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
gl.useProgram(shaderProgram);
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray(positionLocation);
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
gl.uniform1f(u_seed, Math.random() * 1000);
gl.uniform1f(u_scale, props.scale);
gl.uniform1f(u_angle, 0.0);
gl.uniform1f(u_radius, 0.15);
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
if (isChromatic()) {
gl.uniform1f(u_time, 0);
gl.drawArrays(gl.TRIANGLES, 0, 6);
} else {
function render(timeStamp: number) {
let sizeChanged = false;
if (Math.abs(height - canvas.offsetHeight) > 2) {
height = canvas.offsetHeight;
canvas.height = height;
sizeChanged = true;
}
if (Math.abs(width - canvas.offsetWidth) > 2) {
width = canvas.offsetWidth;
canvas.width = width;
sizeChanged = true;
}
if (sizeChanged && gl) {
gl.uniform2fv(in_resolution, [width, height]);
gl.viewport(0, 0, width, height);
}
gl.uniform1f(u_time, timeStamp);
gl.drawArrays(gl.TRIANGLES, 0, 6);
handle = window.requestAnimationFrame(render);
}
handle = window.requestAnimationFrame(render);
}
});
onUnmounted(() => {
if (handle) {
window.cancelAnimationFrame(handle);
}
// TODO: WebGLリソースの解放
});
</script>
<style lang="scss" module>
</style>

View File

@@ -68,7 +68,7 @@ receiveFollowRequest: "تلقيت طلب متابعة"
followRequestAccepted: "قُبل طلب المتابعة"
mention: "أشر الى"
mentions: "الإشارات"
directNotes: "الملاحظات المباشرة"
directNotes: "رسالة خاصة"
importAndExport: "إستورد / صدر"
import: "استيراد"
export: "تصدير"
@@ -1008,6 +1008,9 @@ lastNDays: "آخر {n} أيام"
surrender: "ألغِ"
postForm: "أنشئ ملاحظة"
information: "عن"
inMinutes: "د"
inDays: "ي"
widgets: "التطبيقات المُصغّرة"
_chat:
invitations: "دعوة"
noHistory: "السجل فارغ"
@@ -1252,7 +1255,6 @@ _theme:
buttonBg: "خلفية الأزرار"
buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)"
inputBorder: "حواف حقل الإدخال"
driveFolderBg: "خلفية مجلد قرص التخزين"
messageBg: "خلفية المحادثة"
_sfx:
note: "الملاحظات"
@@ -1590,3 +1592,21 @@ _search:
searchScopeAll: "الكل"
searchScopeLocal: "المحلي"
searchScopeUser: "مستخدم محدد"
_watermarkEditor:
opacity: "الشفافية"
scale: "الحجم"
text: "نص"
position: "الموضع"
type: "نوع"
image: "صور"
advanced: "متقدم"
_imageEffector:
_fxProps:
scale: "الحجم"
size: "الحجم"
offset: "الموضع"
color: "اللون"
opacity: "الشفافية"
_qr:
showTabTitle: "المظهر"
raw: "نص"

View File

@@ -848,6 +848,9 @@ sourceCode: "সোর্স কোড"
flip: "উল্টান"
postForm: "নোট লিখুন"
information: "আপনার সম্পর্কে"
inMinutes: "মিনিট"
inDays: "দিন"
widgets: "উইজেটগুলি"
_chat:
invitations: "আমন্ত্রণ"
noHistory: "কোনো ইতিহাস নেই"
@@ -1017,7 +1020,6 @@ _theme:
buttonBg: "বাটনের পটভূমি"
buttonHoverBg: "বাটনের পটভূমি (হভার)"
inputBorder: "ইনপুট ফিল্ডের বর্ডার"
driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
badge: "ব্যাজ"
messageBg: "চ্যাটের পটভূমি"
fgHighlighted: "হাইলাইট করা পাঠ্য"
@@ -1350,3 +1352,19 @@ _remoteLookupErrors:
_search:
searchScopeAll: "সবগুলো"
searchScopeLocal: "স্থানীয়"
_watermarkEditor:
opacity: "অস্বচ্ছতা"
scale: "আকার"
text: "লেখা"
image: "ছবি"
advanced: "উন্নত"
_imageEffector:
_fxProps:
scale: "আকার"
size: "আকার"
color: "রং"
opacity: "অস্বচ্ছতা"
lightness: "উজ্জ্বল করুন"
_qr:
showTabTitle: "প্রদর্শন"
raw: "লেখা"

View File

@@ -253,6 +253,7 @@ noteDeleteConfirm: "Segur que voleu eliminar aquesta publicació?"
pinLimitExceeded: "No podeu fixar més publicacions"
done: "Fet"
processing: "S'està processant..."
preprocessing: "Preparant"
preview: "Vista prèvia"
default: "Per defecte"
defaultValueIs: "Per defecte: {value}"
@@ -298,6 +299,7 @@ uploadFromUrl: "Carrega des d'un enllaç"
uploadFromUrlDescription: "Enllaç del fitxer que vols carregar"
uploadFromUrlRequested: "Càrrega sol·licitada"
uploadFromUrlMayTakeTime: "La càrrega des de l'enllaç pot trigar un temps"
uploadNFiles: "Pujar {n} arxius"
explore: "Explora"
messageRead: "Vist"
noMoreHistory: "No hi ha res més per veure"
@@ -326,11 +328,13 @@ dark: "Fosc"
lightThemes: "Temes clars"
darkThemes: "Temes foscos"
syncDeviceDarkMode: "Sincronitza el mode fosc amb la configuració del dispositiu"
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" es troba activat. Vols desactivar la sincronització i canviar de mode manualment?"
drive: "Disc"
fileName: "Nom del Fitxer"
selectFile: "Selecciona un fitxer"
selectFiles: "Selecciona fitxers"
selectFolder: "Selecció de carpeta"
unselectFolder: "Deixa de seleccionar la carpeta"
selectFolders: "Selecció de carpetes"
fileNotSelected: "Cap fitxer seleccionat"
renameFile: "Canvia el nom del fitxer"
@@ -343,6 +347,7 @@ addFile: "Afegeix un fitxer"
showFile: "Mostrar fitxer"
emptyDrive: "El teu Disc és buit"
emptyFolder: "La carpeta està buida"
dropHereToUpload: "Arrossega els arxius fins aquí per pujar-los al servidor"
unableToDelete: "No es pot eliminar"
inputNewFileName: "Introduïu el nom de fitxer nou"
inputNewDescription: "Escriu el peu de foto."
@@ -575,8 +580,10 @@ showFixedPostForm: "Mostrar el formulari per escriure a l'inici de la línia de
showFixedPostFormInChannel: "Mostrar el formulari d'escriptura al principi de la línia de temps (Canals)"
withRepliesByDefaultForNewlyFollowed: "Inclou les respostes d'usuaris nous que segueixes a la línia de temps per defecte."
newNoteRecived: "Hi ha publicacions noves"
newNote: "Notes noves"
sounds: "Sons"
sound: "So"
notificationSoundSettings: "Configuració del so de notificació"
listen: "Escoltar"
none: "Res"
showInPage: "Mostrar a la pàgina "
@@ -644,7 +651,7 @@ disablePlayer: "Tanca el reproductor de vídeo"
expandTweet: "Expandir post"
themeEditor: "Editor de temes"
description: "Descripció"
describeFile: "Afegeix una descripció "
describeFile: "Afegir text alternatiu"
enterFileDescription: "Escriu un peu de foto"
author: "Autor"
leaveConfirm: "Hi ha canvis sense guardar. Els vols descartar?"
@@ -768,6 +775,7 @@ lockedAccountInfo: "Tret que establiu la visibilitat de la nota a \"Només segui
alwaysMarkSensitive: "Marcar com a sensible per defecte"
loadRawImages: "Carregar les imatges originals en comptes de miniatures "
disableShowingAnimatedImages: "No reproduir imatges animades"
disableShowingAnimatedImages_caption: "Si les imatges animades no es reprodueixen, independentment d'aquesta configuració, és possible que la configuració d'accessibilitat del navegador i el sistema operatiu, els modes d'estalvi d'energia i similars estiguin interferint."
highlightSensitiveMedia: "Ressalta els medis marcats com a sensibles"
verificationEmailSent: "S'ha enviat un correu electrònic de verificació. Fes clic a l'enllaç per completar la verificació."
notSet: "Sense definir"
@@ -791,6 +799,7 @@ wide: "Gran"
narrow: "Estret"
reloadToApplySetting: "Aquest ajust només s'aplicarà després de recarregar la pàgina. Vols fer-ho ara?"
needReloadToApply: "Es requereix recarregar per reflectir aquesta opció "
needToRestartServerToApply: "És necessari reiniciar el servidor perquè tinguin efecte els canvis."
showTitlebar: "Mostra la barra del títol "
clearCache: "Esborra la memòria cau"
onlineUsersCount: "{n} Usuaris es troben en línia "
@@ -891,7 +900,7 @@ searchResult: "Resultats de la cerca"
hashtags: "Etiquetes"
troubleshooting: "Solucionar problemes"
useBlurEffect: "Fes servir efectes de desenfocament a la interfície"
learnMore: "Saber més "
learnMore: "Saber-ne més "
misskeyUpdated: "Misskey s'ha actualitzat "
whatIsNew: "Mostra canvis"
translate: "Traduir "
@@ -997,6 +1006,7 @@ failedToUpload: "Ha fallat la pujada"
cannotUploadBecauseInappropriate: "Aquest fitxer no es pot pujar perquè s'ha trobat que algunes parts són inapropiades."
cannotUploadBecauseNoFreeSpace: "Ha fallat la pujada del fitxer perquè no hi ha capacitat al Disc."
cannotUploadBecauseExceedsFileSizeLimit: "Aquest fitxer no es pot pujar perquè supera la mida permesa."
cannotUploadBecauseUnallowedFileType: "Impossible pujar l'arxiu no és un tipus de fitxer autoritzat."
beta: "Proves"
enableAutoSensitive: "Marcar com a sensible automàticament "
enableAutoSensitiveDescription: "Permet la detecció i el marcat automàtic dels mitjans sensibles fent servir aprenentatge automàtic quan sigui possible. Si aquesta opció es troba desactivada potser que estigui activada per a tota la instància. "
@@ -1048,6 +1058,7 @@ permissionDeniedError: "Operació no permesa "
permissionDeniedErrorDescription: "Aquest compte no té suficients permisos per dur a terme aquesta acció "
preset: "Predefinit"
selectFromPresets: "Escull des dels predefinits"
custom: "Personalitzat"
achievements: "Assoliments"
gotInvalidResponseError: "Resposta del servidor invàlida "
gotInvalidResponseErrorDescription: "No es pot contactar amb el servidor o potser es troba fora de línia per manteniment. Provar-ho de nou més tard."
@@ -1086,6 +1097,7 @@ prohibitedWordsDescription2: "Fent servir espais crearà expressions AND si l'ex
hiddenTags: "Etiquetes ocultes"
hiddenTagsDescription: "La visibilitat de totes les notes que continguin qualsevol de les paraules configurades seran, automàticament, afegides a \"Inici\". Pots llistar diferents paraules separant les per línies noves."
notesSearchNotAvailable: "La cerca de notes no es troba disponible."
usersSearchNotAvailable: "La cerca d'usuaris no està disponible."
license: "Llicència"
unfavoriteConfirm: "Esborrar dels favorits?"
myClips: "Els meus retalls"
@@ -1160,6 +1172,7 @@ installed: "Instal·lats "
branding: "Marca"
enableServerMachineStats: "Publicar estadístiques del maquinari del servidor"
enableIdenticonGeneration: "Activar la generació d'icones d'identificació "
showRoleBadgesOfRemoteUsers: "Mostrar insígnies de rols d'instàncies remotes "
turnOffToImprovePerformance: "Desactivant aquesta opció es pot millorar el rendiment."
createInviteCode: "Crear codi d'invitació "
createWithOptions: "Crear invitació amb opcions"
@@ -1237,7 +1250,7 @@ releaseToRefresh: "Deixar anar per actualitzar"
refreshing: "Recarregant..."
pullDownToRefresh: "Llisca cap a baix per recarregar"
useGroupedNotifications: "Mostrar les notificacions agrupades "
signupPendingError: "Hi ha hagut un problema verificant l'adreça de correu electrònic. L'enllaç pot haver caducat."
emailVerificationFailedError: "Hem tingut un problema en verificar la teva adreça de correu electrònic. És probable que l'enllaç estigui caducat."
cwNotationRequired: "Si està activat \"Amagar contingut\" s'ha d'escriure una descripció "
doReaction: "Afegeix una reacció "
code: "Codi"
@@ -1307,6 +1320,8 @@ availableRoles: "Roles disponibles "
acknowledgeNotesAndEnable: "Activa'l després de comprendre els possibles perills."
federationSpecified: "Aquest servidor treballa amb una federació de llistes blanques. No pot interactuar amb altres servidors que no siguin els especificats per l'administrador."
federationDisabled: "La unió es troba deshabilitada en aquest servidor. No es pot interactuar amb usuaris d'altres servidors."
draft: "Esborrany "
draftsAndScheduledNotes: "Esborranys i publicacions programades"
confirmOnReact: "Confirmar en reaccionar"
reactAreYouSure: "Vols reaccionar amb \"{emoji}\"?"
markAsSensitiveConfirm: "Vols marcar aquest contingut com a sensible?"
@@ -1324,6 +1339,7 @@ restore: "Restaurar "
syncBetweenDevices: "Sincronització entre dispositius"
preferenceSyncConflictTitle: "Els valors de la configuració ja existeixen al dispositiu"
preferenceSyncConflictText: "Un element de la configuració amb sincronització activada desa els seus valors al servidor, però s'ha trobat un valor a la configuració desat al servidor per aquest element de la configuració. Quin valor us sobreescriure?"
preferenceSyncConflictChoiceMerge: "Integració "
preferenceSyncConflictChoiceServer: "Valors de configuració del servidor"
preferenceSyncConflictChoiceDevice: "Punts d'ajustos del dispositiu "
preferenceSyncConflictChoiceCancel: "Cancel·lar l'activació de la sincronització "
@@ -1333,6 +1349,8 @@ postForm: "Formulari de publicació"
textCount: "Nombre de caràcters "
information: "Informació"
chat: "Xat"
directMessage: "Xateja amb aquest usuari"
directMessage_short: "Missatge"
migrateOldSettings: "Migrar la configuració anterior"
migrateOldSettings_description: "Normalment això es fa automàticament, però si la transició no es fa, el procés es pot iniciar manualment. S'esborrarà la configuració actual."
compress: "Comprimir "
@@ -1343,10 +1361,55 @@ embed: "Incrustar"
settingsMigrating: "Estem migrant la teva configuració. Si us plau espera un moment... (També pots fer la migració més tard, manualment, anant a Preferències → Altres → Migrar configuració antiga)"
readonly: "Només lectura"
goToDeck: "Tornar al tauler"
federationJobs: "Treballs sindicats "
federationJobs: "Treballs de federació"
driveAboutTip: "Al Disc veure's una llista de tots els arxius que has anat pujant.<br>\nPots tornar-los a fer servir adjuntant-los a notes noves o pots adelantar-te i pujar arxius per publicar-los més tard!<br>\n<b>Tingués en compte que si esborres un arxiu també desapareixerà de tots els llocs on l'has fet servir (notes, pàgines, avatars, imatges de capçalera, etc.)</b><br>\nTambé pots crear carpetes per organitzar les."
scrollToClose: "Desplaçar per tancar"
advice: "Consell"
realtimeMode: "Mode en temps real"
turnItOn: "Activar"
turnItOff: "Desactivar"
emojiMute: "Silenciar emojis"
emojiUnmute: "Deixar de silenciar emojis"
muteX: "Silenciar {x}"
unmuteX: "Deixar de silenciar {x}"
abort: "Cancel·lar"
tip: "Trucs i consells"
redisplayAllTips: "Torna ha mostrat tots els trucs i consells"
hideAllTips: "Amagar tots els trucs i consells"
defaultImageCompressionLevel: "Nivell de comprensió de la imatge per defecte"
defaultImageCompressionLevel_description: "Baixa, conserva la qualitat de la imatge però la mida de l'arxiu és més gran. <br>Alta, redueix la mida de l'arxiu però també la qualitat de la imatge."
defaultCompressionLevel: "Nivell de compressió predeterminat"
defaultCompressionLevel_description: "Si el redueixes augmentaràs la qualitat de la imatge, però la mida de l'arxiu serà més gran. <br>Si augmentes l'opció redueixes la mida de l'arxiu i la qualitat de la imatge és pitjor."
inMinutes: "Minut(s)"
inDays: "Di(a)(es)"
safeModeEnabled: "Mode segur activat"
pluginsAreDisabledBecauseSafeMode: "Els afegits no estan activats perquè el mode segur està activat."
customCssIsDisabledBecauseSafeMode: "El CSS personalitzat no s'aplica perquè el mode segur es troba activat."
themeIsDefaultBecauseSafeMode: "El tema predeterminat es farà servir mentre el mode segur estigui activat. Una vegada es desactivi el mode segur es restablirà el tema escollit."
thankYouForTestingBeta: "Gràcies per ajudar-nos a provar la versió beta!"
createUserSpecifiedNote: "Crear notes especificades per l'usuari "
schedulePost: "Programar una nota"
scheduleToPostOnX: "Programar una nota per {x}"
scheduledToPostOnX: "S'ha programat la nota per {x}"
schedule: "Programa"
scheduled: "Programat"
widgets: "Ginys"
deviceInfo: "Informació del dispositiu"
deviceInfoDescription: "En fer consultes tècniques influir la següent informació pot ajudar a resoldre'l més ràpidament."
_compression:
_quality:
high: "Qualitat alta"
medium: "Qualitat mitjana"
low: "Qualitat baixa"
_size:
large: "Mida gran"
medium: "Mida mitjana"
small: "Mida petita"
_order:
newest: "Més recent"
oldest: "Antigues primer"
_chat:
messages: "Missatge"
noMessagesYet: "Encara no tens missatges "
newMessage: "Missatge nou"
individualChat: "Xat individual "
@@ -1379,6 +1442,8 @@ _chat:
chatNotAvailableInOtherAccount: "La funció de xat es troba desactivada al compte de l'altre usuari."
cannotChatWithTheUser: "No pots xatejar amb aquest usuari"
cannotChatWithTheUser_description: "El xat està desactivat o l'altra part encara no l'ha obert."
youAreNotAMemberOfThisRoomButInvited: "No participes en aquesta sala, però has rebut una invitació. Per participar accepta la invitació."
doYouAcceptInvitation: "Acceptes la invitació?"
chatWithThisUser: "Xateja amb aquest usuari"
thisUserAllowsChatOnlyFromFollowers: "Aquest usuari només accepta xats d'usuaris que el segueixen."
thisUserAllowsChatOnlyFromFollowing: "Aquest usuari només accepta xats d'usuaris que segueix."
@@ -1418,12 +1483,21 @@ _settings:
makeEveryTextElementsSelectable: "Fes que tots els elements del text siguin seleccionables"
makeEveryTextElementsSelectable_description: "L'activació pot reduir la usabilitat en determinades ocasions."
useStickyIcons: "Utilitza icones fixes"
enableHighQualityImagePlaceholders: "Mostrar marcadors de posició per imatges d'alta qualitat"
uiAnimations: "Animacions de la interfície"
showNavbarSubButtons: "Mostrar sub botons a la barra de navegació "
ifOn: "Quan s'activa"
ifOff: "Quan es desactiva"
enableSyncThemesBetweenDevices: "Sincronitzar els temes instal·lats entre dispositius"
enablePullToRefresh: "Lliscar i actualitzar "
enablePullToRefresh_description: "Amb el ratolí, llisca mentre prems la roda."
realtimeMode_description: "Estableix una connexió amb el servidor i actualitza el contingut en temps real. Pot consumir més dades i bateria."
contentsUpdateFrequency: "Freqüència d'adquisició del contingut"
contentsUpdateFrequency_description: "Com més alt sigui l'adquisició de contingut en temps real, més baixa el rendiment i més consum de dades i bateria."
contentsUpdateFrequency_description2: "Quan s'activa el mode en temps real, el contingut s'actualitza en temps real, independentment d'aquesta configuració."
showUrlPreview: "Mostrar vista prèvia d'URL"
showAvailableReactionsFirstInNote: "Mostra les reacciones que pots fer servir al damunt"
showPageTabBarBottom: "Mostrar les pestanyes de les línies de temps a la part inferior"
_chat:
showSenderName: "Mostrar el nom del remitent"
sendOnEnter: "Introdueix per enviar"
@@ -1492,7 +1566,7 @@ _announcement:
needConfirmationToRead: "Es necessita confirmació de lectura de la notificació "
needConfirmationToReadDescription: "Si s'activa es mostrarà un diàleg per confirmar la lectura d'aquesta notificació. A més aquesta notificació serà exclosa de qualsevol funcionalitat com \"Marcar tot com a llegit\"."
end: "Final de la notificació "
tooManyActiveAnnouncementDescription: "Tenir massa notificacions actives pot empitjorar l'experiència de l'usuari. Considera finalitzar els avisos que siguin antics."
tooManyActiveAnnouncementDescription: "Tenir masses notificacions actives pot empitjorar l'experiència de l'usuari. Considera finalitzar els avisos que siguin antics."
readConfirmTitle: "Marcar com llegida?"
readConfirmText: "Això marcarà el contingut de \"{title}\" com llegit."
shouldNotBeUsedToPresentPermanentInfo: "Ja que l'ús de notificacions pot impactar l'experiència dels nous usuaris, és recomanable fer servir les notificacions amb el flux d'informació en comptes de fer-les servir en un únic bloc."
@@ -1597,6 +1671,10 @@ _serverSettings:
fanoutTimelineDbFallback: "Carregar de la base de dades"
fanoutTimelineDbFallbackDescription: "Quan s'activa, la línia de temps fa servir la base de dades per consultes adicionals si la línia de temps no es troba a la memòria cau. Si és desactiva la càrrega del servidor és veure reduïda, però també és reduirà el nombre de línies de temps que és poden obtenir."
reactionsBufferingDescription: "Quan s'activa aquesta opció millora bastant el rendiment en recuperar les línies de temps reduint la càrrega de la base. Com a contrapunt, augmentarà l'ús de memòria de Redís. Desactiva aquesta opció en cas de tenir un servidor amb poca memòria o si tens problemes d'inestabilitat."
remoteNotesCleaning: "Neteja automàtica de notes remotes"
remoteNotesCleaning_description: "Quan activis aquesta opció, periòdicament es netejaran les notes remotes que no es consultin, això evitarà que la base de dades se"
remoteNotesCleaningMaxProcessingDuration: "Duració màxima del temps de funcionament del procés de neteja"
remoteNotesCleaningExpiryDaysForEachNotes: "Duració mínima de conservació de les notes"
inquiryUrl: "URL de consulta "
inquiryUrlDescription: "Escriu adreça URL per al formulari de consulta per al mantenidor del servidor o una pàgina web amb el contacte d'informació."
openRegistration: "Registres oberts"
@@ -1604,6 +1682,26 @@ _serverSettings:
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "Si no es detecta activitat per part del moderador durant un període de temps, aquesta opció es desactiva automàticament per evitar el correu brossa."
deliverSuspendedSoftware: "Programari que ja no es distribueix"
deliverSuspendedSoftwareDescription: "Pots especificar un rang de noms i versions del programari del servidor per detenir l'entrega, per exemple, degut a vulnerabilitats. Aquesta informació la proporciona el servidor i la seva fiabilitat no es garantitzada. Es pot fer servir una especificació de rang sencer per especificar una versió, però es recomana especificar una versió anterior, com >= 2024.3.1-0, perquè especificar >= 2024.3.1 no incloure versions personalitzades com 2024.3.1-custom.0."
singleUserMode: "Mode un usuari"
singleUserMode_description: "Si ets l'únic usuari d'aquesta instància, activant aquest mode optimitzaràs el funcionament."
signToActivityPubGet: "Formar sol·licituds GET"
signToActivityPubGet_description: " Això normalment hauria d'estar activat. Desactivar aquesta opció pot millorar els problemes de comunicació amb algunes de les instàncies federades, però també pot fer impossibles les comunicacions amb altres servidors."
proxyRemoteFiles: "Proxy d'arxius remots"
proxyRemoteFiles_description: "Quan està habilitat, fa de proxy i serveix arxius remots. Això ajuda a generar les miniatures de les imatges i a protegir la privacitat dels usuaris."
allowExternalApRedirect: "Permetre el reencaminament per consultes fent servir ActivityPub."
allowExternalApRedirect_description: "Si aquesta opció s'activa, altres servidors poden consultar continguts de tercers mitjançant aquest servidor, però això pot donar peu a la suplantació de continguts."
userGeneratedContentsVisibilityForVisitor: "L'abast de la publicació del contingut generat per l'usuari"
userGeneratedContentsVisibilityForVisitor_description: "Això ajuda a evitar problemes com que continguts remots inadequats que no hagin estat moderats correctament es publiquin a internet mitjançant el teu servidor."
userGeneratedContentsVisibilityForVisitor_description2: "La publicació incondicional de tots els continguts del servidor a internet, incloent-hi els continguts remots rebuts pel servidor, comporta riscos. Això és extremadament important per els espectadors que desconeixen el caràcter descentralitzat dels continguts, ja que poden percebre erroneament els continguts remots com contingut generat per el propi servidor."
restartServerSetupWizardConfirm_title: "Vols tornar a executar l'assistent de configuració inicial del servidor?"
restartServerSetupWizardConfirm_text: "Algunes configuracions actuals seran restablertes."
entrancePageStyle: "Estil de la pàgina d'inici"
showTimelineForVisitor: "Mostrar la línia de temps"
showActivitiesForVisitor: "Mostrar activitat"
_userGeneratedContentsVisibilityForVisitor:
all: "Tot obert al públic "
localOnly: "Només es publiquen els continguts locals, el contingut remot es manté privat"
none: "Tot privat"
_accountMigration:
moveFrom: "Migrar un altre compte a aquest"
moveFromSub: "Crear un àlies per un altre compte"
@@ -1922,6 +2020,7 @@ _role:
canManageAvatarDecorations: "Gestiona les decoracions dels avatars "
driveCapacity: "Capacitat del disc"
maxFileSize: "Mida màxima de l'arxiu que es pot carregar"
maxFileSize_caption: "Pot haver-hi la possibilitat que existeixin altres opcions de configuració de l'etapa anterior, com podria ser el proxy invers i la CDN."
alwaysMarkNsfw: "Marca sempre els fitxers com a sensibles"
canUpdateBioMedia: "Permet l'edició d'una icona o un bàner"
pinMax: "Nombre màxim de notes fixades"
@@ -1936,6 +2035,7 @@ _role:
descriptionOfRateLimitFactor: "Límits baixos són menys restrictius, límits alts són més restrictius."
canHideAds: "Pot amagar la publicitat"
canSearchNotes: "Pot cercar notes"
canSearchUsers: "Pot cercar usuaris"
canUseTranslator: "Pot fer servir el traductor"
avatarDecorationLimit: "Nombre màxim de decoracions que es poden aplicar els avatars"
canImportAntennas: "Autoritza la importació d'antenes "
@@ -1944,6 +2044,12 @@ _role:
canImportMuting: "Autoritza la importació de silenciats"
canImportUserLists: "Autoritza la importació de llistes d'usuaris "
chatAvailability: "Es permet xatejar"
uploadableFileTypes: "Tipus de fitxers que en podeu pujar"
uploadableFileTypes_caption: "Especifica el tipus MIME. Es poden especificar diferents tipus MIME separats amb una nova línia, i es poden especificar comodins amb asteriscs (*). (Per exemple: image/*)"
uploadableFileTypes_caption2: "Pot que no sigui possible determinar el tipus MIME d'alguns arxius. Per permetre aquests tipus d'arxius afegeix {x} a les especificacions."
noteDraftLimit: "Nombre possible d'esborranys de notes al servidor"
scheduledNoteLimit: "Màxim nombre de notes programades que es poden crear simultàniament"
watermarkAvailable: "Pots fer servir la marca d'aigua"
_condition:
roleAssignedTo: "Assignat a rols manuals"
isLocal: "Usuari local"
@@ -2001,7 +2107,7 @@ _ad:
timezoneinfo: "El dia de la setmana ve determinat del fus horari del servidor."
adsSettings: "Configurar la publicitat"
notesPerOneAd: "Interval d'emplaçament publicitari en temps real (Notes per anuncis)"
setZeroToDisable: "Ajusta aquest valor a 0 per deshabilitar l'actualització d'anuncis en temps real"
setZeroToDisable: "Ajusta aquest valor a 0 per deshabilitar l'actualització de publicitat en temps real"
adsTooClose: "L'interval actual pot fer que l'experiència de l'usuari sigui dolenta perquè l'interval és molt baix."
_forgotPassword:
enterEmail: "Escriu l'adreça de correu electrònic amb la que et vas registrar. S'enviarà un correu electrònic amb un enllaç perquè puguis canviar-la."
@@ -2103,6 +2209,7 @@ _theme:
install: "Instal·lar un tema"
manage: "Gestionar els temes "
code: "Codi del tema"
copyThemeCode: "Copiar el codi del tema"
description: "Descripció"
installed: "{name} Instal·lat "
installedThemes: "Temes instal·lats "
@@ -2161,7 +2268,6 @@ _theme:
buttonBg: "Fons botó "
buttonHoverBg: "Fons botó (en passar-hi per sobre)"
inputBorder: "Contorn del cap d'introducció "
driveFolderBg: "Fons de la carpeta Disc"
badge: "Insígnia "
messageBg: "Fons del xat"
fgHighlighted: "Text ressaltat"
@@ -2203,6 +2309,7 @@ _time:
minute: "Minut(s)"
hour: "Hor(a)(es)"
day: "Di(a)(es)"
month: "Mes(os)"
_2fa:
alreadyRegistered: "J has registrat un dispositiu d'autenticació de doble factor."
registerTOTP: "Registrar una aplicació autenticadora"
@@ -2332,6 +2439,7 @@ _auth:
scopeUser: "Opera com si fossis aquest usuari"
pleaseLogin: "Si us plau, identificat per autoritzar l'aplicació."
byClickingYouWillBeRedirectedToThisUrl: "Si es garanteix l'accés, seràs redirigit automàticament a la següent adreça URL"
alreadyAuthorized: "Aquesta aplicació ja té accés."
_antennaSources:
all: "Totes les publicacions"
homeTimeline: "Publicacions dels usuaris seguits"
@@ -2377,7 +2485,7 @@ _widgets:
chooseList: "Tria una llista"
clicker: "Clicker"
birthdayFollowings: "Usuaris que fan l'aniversari avui"
chat: "Xat"
chat: "Xateja amb aquest usuari"
_cw:
hide: "Amagar"
show: "Carregar més"
@@ -2417,6 +2525,8 @@ _visibility:
disableFederation: "Sense federar"
disableFederationDescription: "No enviar a altres servidors"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "Hi ha arxius que no s'han carregat, vols descartar-los i tancar el formulari?"
uploaderTip: "L'arxiu encara no s'ha carregat. Des del menú arxiu pots canviar el nom, retallar imatges, posar marques d'aigua i comprimir o no l'arxiu. Els arxius es carreguen automàticament quan públiques una nota."
replyPlaceholder: "Contestar..."
quotePlaceholder: "Citar..."
channelPlaceholder: "Publicar a un canal..."
@@ -2565,6 +2675,8 @@ _notification:
youReceivedFollowRequest: "Has rebut una petició de seguiment"
yourFollowRequestAccepted: "La teva petició de seguiment ha sigut acceptada"
pollEnded: "Ja pots veure els resultats de l'enquesta "
scheduledNotePosted: "Una nota programada ha sigut publicada"
scheduledNotePostFailed: "Ha fallat la publicació d'una nota programada"
newNote: "Nota nova"
unreadAntennaNote: "Antena {name}"
roleAssigned: "Rol assignat "
@@ -2594,6 +2706,8 @@ _notification:
quote: "Citar"
reaction: "Reaccions"
pollEnded: "Enquesta terminada"
scheduledNotePosted: "Nota programada amb èxit "
scheduledNotePostFailed: "Ha fallat la programació de la nota"
receiveFollowRequest: "Rebuda una petició de seguiment"
followRequestAccepted: "Petició de seguiment acceptada"
roleAssigned: "Rol donat"
@@ -2644,7 +2758,7 @@ _deck:
mentions: "Mencions"
direct: "Publicacions directes"
roleTimeline: "Línia de temps dels rols"
chat: "Xat"
chat: "Xateja amb aquest usuari"
_dialog:
charactersExceeded: "Has arribat al màxim de caràcters! Actualment és {current} de {max}"
charactersBelow: "Ets per sota del mínim de caràcters! Actualment és {current} de {min}"
@@ -2750,6 +2864,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Pujat el"
attachedNotes: "Notes amb aquest fitxer"
usage: "Ús "
thisPageCanBeSeenFromTheAuthor: "Aquesta pàgina només la pot veure l'usuari que ha pujat aquest fitxer."
_externalResourceInstaller:
title: "Instal·lar des d'un lloc extern"
@@ -2797,9 +2912,12 @@ _dataSaver:
_avatar:
title: "Avatars animats"
description: "Detenir l'animació dels avatars animats. Les imatges animades solen tenir un pes més gran que les imatges normals, reduint el tràfic disponible."
_urlPreview:
title: "Miniatures vista prèvia de l'URL"
description: "Les imatges en miniatura que serveixen com a vista prèvia de les URLs no es tornaran a carregar."
_urlPreviewThumbnail:
title: "Amagar les miniatures de la vista prèvia d'URL"
description: "Les imatges en miniatura de la vista prèvia d'URL ja no es carreguen"
_disableUrlPreview:
title: "Desactivar la vista prèvia d'URL"
description: "Desactiva la funció de previsualització d'URL. A diferència de les imatges en miniatura soles, això redueix la càrrega de la mateixa informació vinculada."
_code:
title: "Ressaltat del codi "
description: "Quan s'utilitza codi MFM, no es llegeix fins que es copiï. En els punts destacats del codi s'han de llegir els fitxers definits per a cada llengua que resulti alt, però no es poden llegir automàticament, per la qual cosa es poden reduir les quantitats de comunicació."
@@ -2857,6 +2975,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "Configuració per a la previsualització de l'URL"
enable: "Activa la previsualització de l'URL"
allowRedirect: "Permet la redirecció de la visualització prèvia "
allowRedirectDescription: "Estableix si es mostra o no la redirecció a la vista prèvia quan l'adreça URL introduïda té una redirecció. Si es desactiva s'estalvien recursos del servidor, però no es mostrarà el contingut de la redirecció."
timeout: "Temps màxim per carregar la previsualització de l'URL (ms)"
timeoutDescription: "Si l'obtenció de la previsualització triga més que el temps establert, no es generarà la vista prèvia."
maximumContentLength: "Longitud màxima del contingut (bytes)"
@@ -2930,10 +3050,6 @@ _customEmojisManager:
uploadSettingDescription: "En aquesta pantalla pots configurar el que s'ha de fer quan es puja un Emoji."
directoryToCategoryLabel: "Escriu el nom del directori al camp de \"categoria\""
directoryToCategoryCaption: "Quan arrossegues un directori, escriu el nom del directori al camp categoria."
emojiInputAreaCaption: "Selecciona els Emojis que vols registrar gent servir un dels mètodes."
emojiInputAreaList1: "Arrossega i deixar anar fitxers o directoris dintre del quadrat."
emojiInputAreaList2: "Clica l'enllaç per seleccionar un fitxer des del teu ordinador."
emojiInputAreaList3: "Clica aquest enllaç per seleccionar del Disc"
confirmRegisterEmojisDescription: "Registrar els Emojis de la llista com a nous Emojis personalitzats. Vols continuar? (Per evitar una sobrecàrrega només {count} Emojis es poden registrar d'una sola vegada)"
confirmClearEmojisDescription: "Descartar els canvis i esborrar els Emojis de la llista. Vols continuar?"
confirmUploadEmojisDescription: "Pujar els {count} fitxers que has arrossegat al disc. Vols continuar?"
@@ -3001,6 +3117,7 @@ _bootErrors:
otherOption1: "Esborrar la configuració i la memòria cau del client"
otherOption2: "Iniciar client senzill"
otherOption3: "Iniciar l'eina de reparació "
otherOption4: "Iniciar Misskey en mode segur"
_search:
searchScopeAll: "Tot"
searchScopeLocal: "Local"
@@ -3009,3 +3126,195 @@ _search:
pleaseEnterServerHost: "Introdueix l'adreça de la instància "
pleaseSelectUser: "Selecciona un usuari"
serverHostPlaceholder: "Ex: misskey.example.com"
_serverSetupWizard:
installCompleted: "La instal·lació de Misskey ha finalitzat!"
firstCreateAccount: "Primer crea un compte d'administrador."
accountCreated: "Compte d'administrador creat."
serverSetting: "Configuració del servidor"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "Aquest assistent t'ajuda a fer una configuració òptima del servidor."
settingsYouMakeHereCanBeChangedLater: "Els canvis que facis ara poden modificar-se més tard."
howWillYouUseMisskey: "Com es fa servir Misskey?"
_use:
single: "Servidor per una sola persona"
single_description: "Fes-ho servir com el teu propi servidor dedicat"
single_youCanCreateMultipleAccounts: "Es poden crear diferents comptes segons siguin les teves necessitats, inclús quan es fa servir com a servidor unipersonal."
group: "Servidor per a grups"
group_description: "Invita altres usuaris de la teva confiança i fes-ho servir amb més d'una persona."
open: "Servidor obert"
open_description: "Operar per donar cabuda a un nombre no determinat d'usuaris."
openServerAdvice: "Acceptar un nombre no determinat d'usuaris comporta alguns riscos. Es recomana operar amb un sistema de moderació fiable per fer front als problemes."
openServerAntiSpamAdvice: "També s'ha de tenir molta cura amb la seguretat, per exemple habilitant funcions anti-bot com reCAPTCHA, per assegurar-te que el teu servidor no es converteix en un trampolí per contingut brossa."
howManyUsersDoYouExpect: "Quantes persones preveus?"
_scale:
small: "Menys de 100 (petita escala)"
medium: "Més de 100 i menys de 1000 (mida mitjana)"
large: "Més de 1000 persones (gran escala)"
largeScaleServerAdvice: "Els grans servidors poden requerir coneixements avançats d'infraestructures, com balanceig de càrregues i replicació de base de dades."
doYouConnectToFediverse: "Desitges connectar-te amb el Fedivers?"
doYouConnectToFediverse_description1: "Quan es connecta amb una xarxa de servidors distribuïts (Fedivers), els continguts poden intercanviar-se amb altres servidors i entre ells."
doYouConnectToFediverse_description2: "La connexió amb el Fedivers també es coneix com a \"federació\"."
youCanConfigureMoreFederationSettingsLater: "Les configuracions avançades, com especificar els servidors amb els quals es pot federar, es poden fer més tard."
remoteContentsCleaning: "Neteja automàtica del contingut rebut"
remoteContentsCleaning_description: "Quan es comença a federar es rep un munt de contingut, quan s'activa la neteja automàtica el contingut antic que no es consulta serà eliminat del servidor, el que permet estalviar espai d'emmagatzematge."
adminInfo: "Informació de l'administrador "
adminInfo_description: "Estableix la informació de l'administrador que es farà servir per rebre consultes."
adminInfo_mustBeFilled: "Aquesta informació ha de ser omplerta si el servidor té els registres oberts o la federació es troba activada."
followingSettingsAreRecommended: "Es recomana la següent configuració "
applyTheseSettings: "Aplicar aquesta configuració "
skipSettings: "Saltar la configuració "
settingsCompleted: "Configuració finalitzada "
settingsCompleted_description: "Gràcies per la teva ajuda. Ara que ja està tot llest, pots començar a fer servir el servidor immediatament."
settingsCompleted_description2: "La configuració avançada del servidor també poden fer-se des del \"Tauler de control\"."
donationRequest: "Una donació, si us plau"
_donationRequest:
text1: "Misskey és un programari gratuït fet per voluntaris."
text2: "Si ho desitges, agrairíem molt la teva donació per poder seguir desenvolupant el projecte."
text3: "També hi ha privilegis especials per als donants!"
_uploader:
editImage: "Edició d'imatges"
compressedToX: "Comprimit a {x}"
savedXPercent: "{x}% d'estalvi "
abortConfirm: "Hi ha un arxiu que no s'ha pujat, vols cancel·lar?"
doneConfirm: "Hi han fitxers no pujats, vols completar-los?"
maxFileSizeIsX: "La mida màxima d'arxiu que es pot pujar és {x}."
allowedTypes: "Tipus de fitxers que en podeu pujar"
tip: "L'arxiu encara no s'ha carregat. En aquest quadre de diàleg, pots comprovar, canviar el nom, comprimir i retallar l'arxiu abans de pujar-lo. Quan estigui llest pots iniciar la càrrega polsant el boto \"Pujar\""
_clientPerformanceIssueTip:
title: "Si creus que el consum de bateria és molt alt"
makeSureDisabledAdBlocker: "Desactiva els bloquejadors de publicitat"
makeSureDisabledAdBlocker_description: "Els bloquejadors d'anuncis pot afectar el rendiment, comprova que no estiguin activats per característiques del sistema operatiu o del navegador."
makeSureDisabledCustomCss: "Desactiva CSS personalitzat"
makeSureDisabledCustomCss_description: "L'anul·lació dels estils pot afectar el rendiment. Comprova que el CSS personalitzat o les extensions que reescriuen estils no estiguin activats."
makeSureDisabledAddons: "Desactiva extensions"
makeSureDisabledAddons_description: "Algunes extensions poden interferir en el comportament del client i afectar el rendiment. Desactiva les extensions del navegador i comprovar-ho."
_clip:
tip: "Clip és una funció que permet organitzar les teves notes."
_userLists:
tip: "Es poden crear llistes amb qualsevol usuari. La llista creada es pot mostrar com una línia de temps."
watermark: "Marca d'aigua "
defaultPreset: "Per defecte"
_watermarkEditor:
tip: "A la imatge es pot afegir una marca d'aigua com informació sobre drets."
quitWithoutSaveConfirm: "Sortir sense desar?"
driveFileTypeWarn: "Aquest arxiu no és compatible"
driveFileTypeWarnDescription: "Selecciona un arxiu d'imatge "
title: "Editar la marca d'aigua "
cover: "Cobrir-ho tot"
repeat: "Repetir"
preserveBoundingRect: "Ajusta'l per evitar que sobresortir en fer la rotació "
opacity: "Opacitat"
scale: "Mida"
text: "Text"
qr: "Codi QR"
position: "Posició "
margin: "Marge"
type: "Tipus"
image: "Imatges"
advanced: "Avançat"
angle: "Angle"
stripe: "Bandes"
stripeWidth: "Amplada de la banda"
stripeFrequency: "Freqüència de la banda"
polkadot: "Lunars"
checker: "Escacs"
polkadotMainDotOpacity: "Opacitat del lunar principal"
polkadotMainDotRadius: "Mida del lunar principal"
polkadotSubDotOpacity: "Opacitat del lunar secundari"
polkadotSubDotRadius: "Mida del lunar secundari"
polkadotSubDotDivisions: "Nombre de punts secundaris"
leaveBlankToAccountUrl: "Si deixes aquest camp buit, es farà servir l'URL del teu compte"
_imageEffector:
title: "Efecte"
addEffect: "Afegeix un efecte"
discardChangesConfirm: "Vols descartar els canvis i sortir?"
nothingToConfigure: "No hi ha opcions de configuració disponibles"
_fxs:
chromaticAberration: "Aberració cromàtica"
glitch: "Glitch"
mirror: "Mirall"
invert: "Inversió cromàtica "
grayscale: "Monocrom "
blur: "Desenfocament"
pixelate: "Mosaic"
colorAdjust: "Correcció de color"
colorClamp: "Compressió cromàtica "
colorClampAdvanced: "Compressió de cromàtica avançada "
distort: "Distorsió "
threshold: "Binarització"
zoomLines: "Saturació de línies "
stripe: "Bandes"
polkadot: "Lunars"
checker: "Escacs"
blockNoise: "Bloqueig de soroll"
tearing: "Trencament d'imatge "
fill: "Omplir"
_fxProps:
angle: "Angle"
scale: "Mida"
size: "Mida"
radius: "Radi"
samples: "Mida de la mostra"
offset: "Posició "
color: "Color"
opacity: "Opacitat"
normalize: "Normalitzar"
amount: "Quantitat"
lightness: "Brillantor"
contrast: "Contrast"
hue: "Tonalitat"
brightness: "Brillantor"
saturation: "Saturació"
max: "Màxim"
min: "Mínim"
direction: "Direcció "
phase: "Fase"
frequency: "Freqüència "
strength: "Intensitat"
glitchChannelShift: "Canvi de canal "
seed: "Llavors"
redComponent: "Component vermell"
greenComponent: "Component verd"
blueComponent: "Component blau"
threshold: "Llindar"
centerX: "Centre de X"
centerY: "Centre de Y"
zoomLinesSmoothing: "Suavitzat"
zoomLinesSmoothingDescription: "Els paràmetres de suavitzat i amplada de línia en augmentar no es poden fer servir junts."
zoomLinesThreshold: "Amplada de línia a l'augmentar "
zoomLinesMaskSize: "Diàmetre del centre"
zoomLinesBlack: "Obscurir"
circle: "Cercle"
drafts: "Esborrany "
_drafts:
select: "Seleccionar esborrany"
cannotCreateDraftAnymore: "S'ha sobrepassat el nombre màxim d'esborranys que es poden crear."
cannotCreateDraft: "Amb aquest contingut no es poden crear esborranys."
delete: "Esborrar esborranys"
deleteAreYouSure: "Vols esborrar els esborranys?"
noDrafts: "No hi ha esborranys"
replyTo: "Respondre a {user}"
quoteOf: "Citar les notes de {user}"
postTo: "Destinat a {channel}"
saveToDraft: "Desar com a esborrany"
restoreFromDraft: "Restaurar des dels esborranys"
restore: "Restaurar esborrany"
listDrafts: "Llistat d'esborranys"
schedule: "Programació esborranys"
listScheduledNotes: "Llista de notes programades"
cancelSchedule: "Cancel·lar la programació"
qr: "Codi QR"
_qr:
showTabTitle: "Veure"
readTabTitle: "Escanejar "
shareTitle: "{name} {acct}"
shareText: "Segueix-me al Fediverse"
chooseCamera: "Seleccionar càmera "
cannotToggleFlash: "No es pot activar el flaix"
turnOnFlash: "Activar el flaix"
turnOffFlash: "Apagar el flaix"
startQr: "Reiniciar el lector de codis QR"
stopQr: "Parar el lector de codis QR"
noQrCodeFound: "No s'ha trobat cap codi QR"
scanFile: "Escanejar la imatge des del dispositiu"
raw: "Text"
mfm: "MFM"

View File

@@ -1,7 +1,7 @@
---
_lang_: "Čeština"
headlineMisskey: "Síť propojená poznámkami"
introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
introMisskey: "Vítejte! Misskey je otevřená a decentralizovaná microblogovací služba.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
poweredByMisskeyDescription: "{name} je jeden ze serverů využívající open source platformu <b>Misskey<b> (nazývaná \"Misskey instance\")."
monthAndDay: "{day}. {month}."
search: "Vyhledávání"
@@ -19,7 +19,7 @@ gotIt: "Rozumím!"
cancel: "Zrušit"
noThankYou: "Ne děkuji"
enterUsername: "Zadej uživatelské jméno"
renotedBy: "{user} přeposla/a"
renotedBy: "{user} přeposlal*a"
noNotes: "Žádné poznámky"
noNotifications: "Žádná oznámení"
instance: "Instance"
@@ -65,6 +65,7 @@ copyFileId: "Kopírovat ID souboru"
copyFolderId: "Kopírovat ID složky"
copyProfileUrl: "Kopírovat URL profilu"
searchUser: "Vyhledat uživatele"
searchThisUsersNotes: "Prohledat poznámky uživatele"
reply: "Odpovědět"
loadMore: "Zobrazit více"
showMore: "Zobrazit více"
@@ -1106,6 +1107,9 @@ lastNDays: "Posledních {n} dnů"
surrender: "Zrušit"
postForm: "Formulář pro odeslání"
information: "Informace"
inMinutes: "Minut"
inDays: "Dnů"
widgets: "Widgety"
_chat:
invitations: "Pozvat"
noHistory: "Žádná historie"
@@ -1645,7 +1649,6 @@ _theme:
buttonBg: "Pozadí tlačítka"
buttonHoverBg: "Pozadí tlačítka (Hover)"
inputBorder: "Ohraničení vstupního pole"
driveFolderBg: "Pozadí složky disku"
badge: "Odznak"
messageBg: "Pozadí chatu"
fgHighlighted: "Zvýrazněný text"
@@ -2002,7 +2005,7 @@ _deck:
list: "Seznamy"
channel: "Kanály"
mentions: "Zmínění"
direct: "Přímý"
direct: "Přímé poznámky"
roleTimeline: "Časová osa role"
_dialog:
charactersExceeded: "Překročili jste maximální počet znaků! V současné době je na hodnotě {current} z {max}."
@@ -2043,3 +2046,22 @@ _search:
searchScopeAll: "Vše"
searchScopeLocal: "Místní"
searchScopeUser: "Upřesnit uživatele"
_watermarkEditor:
opacity: "Průhlednost"
scale: "Velikost"
text: "Text"
position: "Pozice"
type: "Typ"
image: "Obrázky"
advanced: "Pokročilé"
_imageEffector:
_fxProps:
scale: "Velikost"
size: "Velikost"
offset: "Pozice"
color: "Barva"
opacity: "Průhlednost"
lightness: "Zesvětlit"
_qr:
showTabTitle: "Zobrazit"
raw: "Text"

View File

@@ -298,6 +298,7 @@ uploadFromUrl: "Von einer URL hochladen"
uploadFromUrlDescription: "URL der hochzuladenden Datei"
uploadFromUrlRequested: "Upload angefordert"
uploadFromUrlMayTakeTime: "Es kann eine Weile dauern, bis das Hochladen abgeschlossen ist."
uploadNFiles: "Lade {n} Dateien hoch"
explore: "Erkunden"
messageRead: "Gelesen"
noMoreHistory: "Kein weiterer Verlauf vorhanden"
@@ -326,6 +327,7 @@ dark: "Dunkel"
lightThemes: "Helle Farbschemata"
darkThemes: "Dunkle Farbschemata"
syncDeviceDarkMode: "Einstellung deines Geräts übernehmen"
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" ist eingeschaltet. Möchtest du die Synchronisation ausschalten und den Modus manuell wechseln?"
drive: "Drive"
fileName: "Dateiname"
selectFile: "Datei auswählen"
@@ -575,8 +577,10 @@ showFixedPostForm: "Bereich zum Schreiben neuer Notizen am Anfang der Chronik an
showFixedPostFormInChannel: "Bereich zum Schreiben neuer Notizen am Anfang der Chronik anzeigen (Kanäle)"
withRepliesByDefaultForNewlyFollowed: "Standardmäßig Antworten von neu gefolgten Benutzern in der Chronik anzeigen"
newNoteRecived: "Es gibt neue Notizen"
newNote: "Neue Notiz"
sounds: "Töne"
sound: "Töne"
notificationSoundSettings: "Benachrichtigungston festlegen"
listen: "Anhören"
none: "Nichts"
showInPage: "In einer Seite anzeigen"
@@ -791,6 +795,7 @@ wide: "Breit"
narrow: "Schmal"
reloadToApplySetting: "Diese Einstellung tritt nach einer Aktualisierung der Seite in Kraft. Jetzt aktualisieren?"
needReloadToApply: "Diese Einstellung tritt nach einer Aktualisierung der Seite in Kraft."
needToRestartServerToApply: "Diese Einstellung tritt nach einem Neustart des Servers in Kraft."
showTitlebar: "Titelleiste anzeigen"
clearCache: "Cache leeren"
onlineUsersCount: "{n} Benutzer sind online"
@@ -997,6 +1002,7 @@ failedToUpload: "Hochladen fehlgeschlagen"
cannotUploadBecauseInappropriate: "Diese Datei kann nicht hochgeladen werden, da Anteile der Datei als möglicherweise unangebracht festgestellt wurden."
cannotUploadBecauseNoFreeSpace: "Die Datei konnte nicht hochgeladen werden, da dein Drive-Speicherplatz aufgebraucht ist."
cannotUploadBecauseExceedsFileSizeLimit: "Diese Datei kann wegen Überschreitung der Maximalgröße nicht hochgeladen werden."
cannotUploadBecauseUnallowedFileType: "Hochladen nicht möglich wegen unzulässigem Dateityp."
beta: "Beta"
enableAutoSensitive: "Automarkierung sensibler Medien"
enableAutoSensitiveDescription: "Setzt soweit möglich durch Verwendung von Machine Learning automatisch Markierungen für sensible Medien. Auch wenn du diese Option deaktiviert hast, ist sie möglicherweise auf Instanzebene aktiviert."
@@ -1237,7 +1243,6 @@ releaseToRefresh: "Zum Aktualisieren loslassen"
refreshing: "Wird aktualisiert..."
pullDownToRefresh: "Zum Aktualisieren ziehen"
useGroupedNotifications: "Benachrichtigungen gruppieren"
signupPendingError: "Beim Überprüfen der Mailadresse ist etwas schiefgelaufen. Der Link könnte abgelaufen sein."
cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden."
doReaction: "Reagieren"
code: "Code"
@@ -1307,6 +1312,7 @@ availableRoles: "Verfügbare Rollen"
acknowledgeNotesAndEnable: "Schalten Sie dies erst ein, wenn Sie die Vorsichtsmaßnahmen verstanden haben."
federationSpecified: "Dieser Server arbeitet mit Whitelist-Föderation. Er kann nicht mit anderen als den vom Administrator angegebenen Servern interagieren."
federationDisabled: "Föderation ist auf diesem Server deaktiviert. Es ist nicht möglich, mit Benutzern auf anderen Servern zu interagieren."
draft: "Entwurf"
confirmOnReact: "Reagieren bestätigen"
reactAreYouSure: "Willst du eine \"{emoji}\"-Reaktion hinzufügen?"
markAsSensitiveConfirm: "Möchtest du dieses Medium als sensibel kennzeichnen?"
@@ -1324,6 +1330,7 @@ restore: "Wiederherstellen"
syncBetweenDevices: "Zwischen Geräten synchronisieren"
preferenceSyncConflictTitle: "Der konfigurierte Wert ist auf dem Server bereits vorhanden."
preferenceSyncConflictText: "Die Einstellungen mit aktivierter Synchronisierung werden ihre Werte auf dem Server speichern. Es gibt jedoch bereits Werte auf dem Server. Welche Einstellungswerte sollen überschrieben werden?"
preferenceSyncConflictChoiceMerge: "Zusammenführen"
preferenceSyncConflictChoiceServer: "Konfigurierte Werte auf dem Server"
preferenceSyncConflictChoiceDevice: "Konfigurierte Werte auf dem Gerät"
preferenceSyncConflictChoiceCancel: "Einrichten der Synchronisierung abbrechen"
@@ -1333,6 +1340,7 @@ postForm: "Notizfenster"
textCount: "Zeichenanzahl"
information: "Über"
chat: "Chat"
directMessage: "Mit dem Benutzer chatten"
migrateOldSettings: "Alte Client-Einstellungen migrieren"
migrateOldSettings_description: "Dies sollte normalerweise automatisch geschehen, aber wenn die Migration aus irgendeinem Grund nicht erfolgreich war, kannst du den Migrationsprozess selbst manuell auslösen. Die aktuellen Konfigurationsinformationen werden dabei überschrieben."
compress: "Komprimieren"
@@ -1340,12 +1348,32 @@ right: "Rechts"
bottom: "Unten"
top: "Oben"
embed: "Einbetten"
settingsMigrating: "Ihre Einstellungen werden gerade migriert, Bitte warten Sie einen Moment... (Sie können die Einstellungen später auch manuell migrieren, indem Sie zu Einstellungen → Sonstiges → Alte Einstellungen migrieren gehen)"
settingsMigrating: "Deine Einstellungen werden gerade migriert. Bitte warte einen Moment... (Du kannst die Einstellungen später auch manuell migrieren, indem du zu Einstellungen → Anderes → Alte Einstellungen migrieren gehst)"
readonly: "Nur Lesezugriff"
goToDeck: "Zurück zum Deck"
federationJobs: "Föderation Jobs"
driveAboutTip: "In Drive sehen Sie eine Liste der Dateien, die Sie in der Vergangenheit hochgeladen haben. <br>\nSie können diese Dateien wiederverwenden um sie zu beispiel an Notizen anzuhängen, oder sie können Dateien vorab hochzuladen, um sie später zu versenden! <br>\n<b>Wenn Sie eine Datei löschen, verschwindet sie auch von allen Stellen, an denen Sie sie verwendet haben (Notizen, Seiten, Avatare, Banner usw.).</b><br>\nSie können auch Ordner erstellen, um sie zu organisieren."
scrollToClose: "Zum Schließen scrollen"
advice: "Tipps"
realtimeMode: "Echtzeit-Modus"
turnItOn: "Einschalten"
turnItOff: "Ausschalten"
emojiMute: "Emoji stummschalten"
emojiUnmute: "Emoji-Stummschaltung aufheben"
muteX: "{x} stummschalten"
unmuteX: "Stummschaltung von {x} aufheben"
abort: "Abbrechen"
tip: "Tipps und Tricks"
redisplayAllTips: "Alle „Tipps und Tricks“ wieder anzeigen"
hideAllTips: "Alle „Tipps und Tricks“ ausblenden"
defaultImageCompressionLevel: "Standard-Bildkomprimierungsstufe"
defaultImageCompressionLevel_description: "Ein niedrigerer Wert erhält die Bildqualität, erhöht aber die Dateigröße. <br>Höhere Werte reduzieren die Dateigröße, verringern aber die Bildqualität."
inMinutes: "Minute(n)"
inDays: "Tag(en)"
widgets: "Widgets"
_order:
newest: "Neueste zuerst"
oldest: "Älteste zuerst"
_chat:
noMessagesYet: "Noch keine Nachrichten"
newMessage: "Neue Nachricht"
@@ -1379,6 +1407,8 @@ _chat:
chatNotAvailableInOtherAccount: "Die Chatfunktion wurde vom anderen Benutzer deaktiviert."
cannotChatWithTheUser: "Starten eines Chats mit diesem Benutzer nicht möglich"
cannotChatWithTheUser_description: "Der Chat ist entweder nicht verfügbar oder die andere Seite hat den Chat nicht aktiviert."
youAreNotAMemberOfThisRoomButInvited: "Du bist kein Teilnehmer in diesem Raum, aber du hast eine Einladung erhalten. Bitte nimm die Einladung an, um beizutreten."
doYouAcceptInvitation: "Nimmst du die Einladung an?"
chatWithThisUser: "Mit dem Benutzer chatten"
thisUserAllowsChatOnlyFromFollowers: "Dieser Benutzer nimmt nur Chats von Followern an."
thisUserAllowsChatOnlyFromFollowing: "Dieser Benutzer nimmt nur Chats von Benutzern an, denen er folgt."
@@ -1418,12 +1448,20 @@ _settings:
makeEveryTextElementsSelectable: "Alle Textelemente auswählbar machen"
makeEveryTextElementsSelectable_description: "Die Aktivierung kann in manchen Situationen die Benutzerfreundlichkeit beeinträchtigen."
useStickyIcons: "Icons beim Scrollen folgen lassen"
enableHighQualityImagePlaceholders: "Zeige Platzhalter für Bilder in hoher Qualität an"
uiAnimations: "Animationen der Benutzeroberfläche"
showNavbarSubButtons: "Unterschaltflächen in der Navigationsleiste anzeigen"
ifOn: "Wenn eingeschaltet"
ifOff: "Wenn ausgeschaltet"
enableSyncThemesBetweenDevices: "Synchronisierung von installierten Themen auf verschiedenen Endgeräten"
enablePullToRefresh: "Ziehen zum Aktualisieren"
enablePullToRefresh_description: "Bei Benutzung einer Maus, mit gedrücktem Mausrad ziehen"
realtimeMode_description: "Stellt eine Verbindung mit dem Server her und aktualisiert die Inhalte in Echtzeit. Kann zu mehr Datenverkehr einem höheren Akkuverbrauch führen."
contentsUpdateFrequency: "Häufigkeit des Abrufs von Inhalten"
contentsUpdateFrequency_description: "Je höher der Wert, desto häufiger werden die Inhalte aktualisiert, aber die Leistung sinkt und der Datenverkehr und der Akkuverbrauch steigen."
contentsUpdateFrequency_description2: "Wenn der Echtzeitmodus aktiviert ist, werden die Inhalte unabhängig von dieser Einstellung in Echtzeit aktualisiert."
showUrlPreview: "URL-Vorschau anzeigen"
showAvailableReactionsFirstInNote: "Zeige die verfügbaren Reaktionen im oberen Bereich an."
_chat:
showSenderName: "Name des Absenders anzeigen"
sendOnEnter: "Eingabetaste sendet Nachricht"
@@ -1604,6 +1642,21 @@ _serverSettings:
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "Wenn über einen bestimmten Zeitraum keine Moderatorenaktivität festgestellt wird, wird diese Einstellung automatisch deaktiviert, um Spam zu verhindern."
deliverSuspendedSoftware: "Software, die nicht mehr beliefert wird"
deliverSuspendedSoftwareDescription: "Sie können eine Auswahl von Namen und Versionen verschiedener Serversoftware angeben, um die Zustellung zu stoppen, z. B. aufgrund von Sicherheitslücken. Diese Versionsinformationen werden vom Server bereitgestellt und ihre Zuverlässigkeit ist nicht garantiert. Es wird jedoch empfohlen, eine Vorabversion anzugeben, wie z. B. >= 2024.3.1-0, da die Angabe >= 2024.3.1 keine benutzerdefinierten Versionen wie 2024.3.1-custom.0 einschließt."
singleUserMode: "Einzelbenutzermodus"
singleUserMode_description: "Wenn du der einzige Benutzer dieses Servers bist, optimiert die Aktivierung dieses Modus die Leistung des Servers."
signToActivityPubGet: "ActivityPub-GET-Anfragen signieren"
signToActivityPubGet_description: "Normalerweise sollte diese Option aktiviert sein. Die Deaktivierung kann Probleme im Zusammenhang mit der Föderation beheben, aber andererseits könnte sie die Föderation mit einigen anderen Servern deaktivieren."
proxyRemoteFiles: "Proxy für Dateien fremder Instanzen"
proxyRemoteFiles_description: "Wenn diese Einstellung aktiviert ist, werden fremde Dateien über einen Proxyserver übertragen und bereitgestellt. Dies hilft bei der Erstellung von Vorschaubildern und schützt die Privatsphäre der Benutzer."
allowExternalApRedirect: "Weiterleitungen für Anfragen über ActivityPub zulassen"
allowExternalApRedirect_description: "Wenn diese Option aktiviert ist, können andere Server Inhalte von Drittanbietern über diesen Server abfragen, was jedoch zu Content-Spoofing führen kann."
userGeneratedContentsVisibilityForVisitor: "Sichtbarkeit von nutzergenerierten Inhalten für Gäste"
userGeneratedContentsVisibilityForVisitor_description: "Dies ist nützlich, um zu verhindern, dass unangemessene Inhalte, die nicht gut moderiert sind, ungewollt über deinen eigenen Server im Internet veröffentlicht werden."
userGeneratedContentsVisibilityForVisitor_description2: "Die uneingeschränkte Veröffentlichung aller Inhalte des Servers im Internet, einschließlich der vom Server empfangenen Fremdinhalte, birgt Risiken. Dies ist besonders wichtig für Betrachter, die sich des dezentralen Charakters der Inhalte nicht bewusst sind, da sie selbst fremde Inhalte fälschlicherweise als auf dem Server erstellte Inhalte wahrnehmen könnten."
_userGeneratedContentsVisibilityForVisitor:
all: "Alles ist öffentlich"
localOnly: "Nur lokale Inhalte werden veröffentlicht, fremde Inhalte bleiben privat"
none: "Alles ist privat"
_accountMigration:
moveFrom: "Von einem anderen Konto zu diesem migrieren"
moveFromSub: "Alias für ein anderes Konto erstellen"
@@ -1944,6 +1997,11 @@ _role:
canImportMuting: "Importieren von Stummgeschalteten zulassen"
canImportUserLists: "Importieren von Listen erlauben"
chatAvailability: "Chatten erlauben"
uploadableFileTypes: "Hochladbare Dateitypen"
uploadableFileTypes_caption: "Gibt die zulässigen MIME-/Dateitypen an. Mehrere MIME-Typen können durch einen Zeilenumbruch getrennt angegeben werden, und Platzhalter können mit einem Sternchen (*) angegeben werden. (z. B. image/*)"
uploadableFileTypes_caption2: "Bei manchen Dateien ist es nicht möglich, den Typ zu bestimmen. Um solche Dateien zuzulassen, füge {x} der Spezifikation hinzu."
noteDraftLimit: "Anzahl der möglichen Entwürfe für serverseitige Notizen"
watermarkAvailable: "Kann die Wasserzeichenfunktion verwenden"
_condition:
roleAssignedTo: "Manuellen Rollen zugewiesen"
isLocal: "Lokaler Benutzer"
@@ -2103,6 +2161,7 @@ _theme:
install: "Farbschemata installieren"
manage: "Farbschemaverwaltung"
code: "Farbschemencode"
copyThemeCode: "Farbschemencode kopieren"
description: "Beschreibung"
installed: "{name} wurde installiert"
installedThemes: "Installierte Farbschemata"
@@ -2161,7 +2220,6 @@ _theme:
buttonBg: "Hintergrund von Schaltflächen"
buttonHoverBg: "Hintergrund von Schaltflächen (Mouseover)"
inputBorder: "Rahmen von Eingabefeldern"
driveFolderBg: "Hintergrund von Drive-Ordnern"
badge: "Wappen"
messageBg: "Hintergrund von Chats"
fgHighlighted: "Hervorgehobener Text"
@@ -2377,7 +2435,7 @@ _widgets:
chooseList: "Liste auswählen"
clicker: "Klickzähler"
birthdayFollowings: "Nutzer, die heute Geburtstag haben"
chat: "Chat"
chat: "Mit dem Benutzer chatten"
_cw:
hide: "Inhalt verbergen"
show: "Inhalt anzeigen"
@@ -2417,6 +2475,8 @@ _visibility:
disableFederation: "Deföderieren"
disableFederationDescription: "Nicht an andere Instanzen übertragen"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "Es gibt Dateien, die nicht hochgeladen wurden. Möchtest du diese verwerfen und das Formular schließen?"
uploaderTip: "Die Datei wurde noch nicht hochgeladen. Über das Dateimenü kannst du sie umbenennen, das Bild zuschneiden, ein Wasserzeichen hinzufügen, komprimieren usw. Die Datei wird automatisch hochgeladen, wenn du eine Notiz veröffentlichst."
replyPlaceholder: "Dieser Notiz antworten …"
quotePlaceholder: "Diese Notiz zitieren …"
channelPlaceholder: "In einen Kanal senden"
@@ -2644,7 +2704,7 @@ _deck:
mentions: "Erwähnungen"
direct: "Direktnachrichten"
roleTimeline: "Rollenchronik"
chat: "Chat"
chat: "Mit dem Benutzer chatten"
_dialog:
charactersExceeded: "Maximallänge überschritten! Momentan {current} von {max}"
charactersBelow: "Minimallänge unterschritten! Momentan {current} von {min}"
@@ -2797,9 +2857,12 @@ _dataSaver:
_avatar:
title: "Animierte Profilbilder deaktivieren"
description: "Die Animation von Profilbildern wird angehalten. Da animierte Bilder eine größere Dateigröße haben können als normale Bilder, kann dies den Datenverkehr weiter reduzieren."
_urlPreview:
_urlPreviewThumbnail:
title: "URL-Vorschaubilder ausblenden"
description: "URL-Vorschaubilder werden nicht mehr geladen."
_disableUrlPreview:
title: "URL-Vorschau deaktivieren"
description: "Deaktiviert die URL-Vorschaufunktion. Anders als bei reinen Vorschaubildern wird dadurch das Laden der verlinkten Informationen selbst reduziert."
_code:
title: "Code-Hervorhebungen ausblenden"
description: "Wenn Code-Hervorhebungen in MFM usw. verwendet werden, werden sie erst geladen, wenn sie angetippt werden. Die Syntaxhervorhebung erfordert das Herunterladen der Definitionsdateien für jede Programmiersprache. Es ist daher zu erwarten, dass die Deaktivierung des automatischen Ladens dieser Dateien die Menge des Datenverkehrs reduziert."
@@ -2857,6 +2920,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "Einstellungen der URL-Vorschau"
enable: "URL-Vorschau aktivieren"
allowRedirect: "Umleitung von URL-Vorschauen erlauben"
allowRedirectDescription: "Wenn für eine URL eine Umleitung festgelegt ist, kann diese Funktion aktiviert werden, um der Umleitung zu folgen und eine Vorschau des umgeleiteten Inhalts anzuzeigen. Die Deaktivierung spart Serverressourcen, aber der Inhalt des Weiterleitungsziels wird nicht angezeigt."
timeout: "Zeitüberschreitung beim Abrufen der Vorschau (ms)"
timeoutDescription: "Übersteigt die für die Vorschau benötigte Zeit diesen Wert, wird keine Vorschau generiert."
maximumContentLength: "Maximale Content-Length (Bytes)"
@@ -2930,10 +2995,6 @@ _customEmojisManager:
uploadSettingDescription: "Hier kannst du das Verhalten beim Hochladen von Emojis konfigurieren."
directoryToCategoryLabel: "Gib den Namen des Verzeichnisses in das Feld „Kategorie“ ein"
directoryToCategoryCaption: "Wenn du ein Verzeichnis ziehst und ablegst, gib den Verzeichnisnamen in das Feld „Kategorie“ ein."
emojiInputAreaCaption: "Wählen Sie die Emojis aus, die Sie mit einer der folgenden Methoden speichern möchten."
emojiInputAreaList1: "Ziehe Bilddateien oder Verzeichnisse per Drag-and-drop in diesen Rahmen"
emojiInputAreaList2: "Klicke auf diesen Link, um von deinem PC aus zu wählen"
emojiInputAreaList3: "Klicke auf diesen Link, um vom Drive aus zu wählen"
confirmRegisterEmojisDescription: "Füge die in der Liste aufgeführten Emojis als neue benutzerdefinierte Emojis hinzu. Bist du sicher? (Um eine Überlastung zu vermeiden, können nur {count} Emoji(s) in einem Vorgang hinzugefügt werden)"
confirmClearEmojisDescription: "Verwerfe die Bearbeitungen und lösche die Emojis aus der Liste. Bist du sicher, dass du fortfahren möchtest?"
confirmUploadEmojisDescription: "Lade die {count} abgelegte(n) Datei(en) in das Drive hoch. Bist du sicher, dass du fortfahren möchtest?"
@@ -3009,3 +3070,132 @@ _search:
pleaseEnterServerHost: "Gib den Server-Host ein"
pleaseSelectUser: "Benutzer auswählen"
serverHostPlaceholder: "Beispiel: misskey.example.com"
_serverSetupWizard:
installCompleted: "Die Installation von Misskey ist abgeschlossen!"
firstCreateAccount: "Erstelle zunächst ein Administratorkonto."
accountCreated: "Ein Administratorkonto wurde angelegt!"
serverSetting: "Servereinstellungen"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "Mit diesem Assistenten lässt sich die optimale Serverkonfiguration leicht einrichten."
settingsYouMakeHereCanBeChangedLater: "Die Einstellungen hier können später geändert werden."
howWillYouUseMisskey: "Wie wirst du Misskey verwenden?"
_use:
single: "Ein-Personen-Server"
single_description: "Verwende den Server alleine als deinen eigenen."
single_youCanCreateMultipleAccounts: "Bei Bedarf können mehrere Konten eingerichtet werden, auch wenn es sich um einen Ein-Personen-Server handelt."
group: "Gruppenserver"
group_description: "Lade andere vertrauenswürdige Benutzer ein und verwende es mit mehreren Personen."
open: "Offener Server"
open_description: "Registrierung für alle öffnen."
openServerAdvice: "Die Aufnahme einer unbestimmten Anzahl von Nutzern birgt Risiken. Es wird empfohlen, mit einem zuverlässigen Moderationssystem zu arbeiten, um eventuell auftretende Probleme behandeln zu können."
openServerAntiSpamAdvice: "Große Sorgfalt muss auch auf die Sicherheit gelegt werden, z. B. durch die Aktivierung von Anti-Bot-Funktionen wie reCAPTCHA, um sicherzustellen, dass der Server nicht zum Verbreiten von Spam genutzt wird."
howManyUsersDoYouExpect: "Mit wie vielen Benutzern rechnest du?"
_scale:
small: "Weniger als 100 (kleiner Maßstab)"
medium: "Mehr als 100 und weniger als 1000 Benutzer (mittelgroß)"
large: "Mehr als 1000 (großer Maßstab)"
largeScaleServerAdvice: "Für große Server sind unter Umständen fortgeschrittene Kenntnisse erforderlich, z. B. Lastverteilung und Datenbankreplikation."
doYouConnectToFediverse: "Mit dem Fediverse verbinden?"
doYouConnectToFediverse_description1: "Bei Anschluss an ein Netz von verteilten Servern (Fediverse) können Inhalte mit anderen Servern ausgetauscht werden."
doYouConnectToFediverse_description2: "Die Verbindung mit dem Fediverse wird auch als „Föderation“ bezeichnet."
youCanConfigureMoreFederationSettingsLater: "Erweiterte Einstellungen, wie z. B. die Angabe von föderierbaren Servern, können später vorgenommen werden."
adminInfo: "Administrator-Informationen"
adminInfo_description: "Legt die Administrator-Informationen fest, die für den Empfang von Anfragen verwendet werden."
adminInfo_mustBeFilled: "Dies ist auf einem offenen Server oder bei aktivierter Föderation erforderlich."
followingSettingsAreRecommended: "Die folgenden Einstellungen werden empfohlen"
applyTheseSettings: "Diese Einstellungen anwenden"
skipSettings: "Konfiguration überspringen"
settingsCompleted: "Einrichtung abgeschlossen!"
settingsCompleted_description: "Vielen Dank für deine Zeit. Jetzt, wo alles fertig ist, kannst du den Server sofort benutzen."
settingsCompleted_description2: "Detaillierte Servereinstellungen können über die „Systemsteuerung“ vorgenommen werden."
donationRequest: "Spendenaufruf"
_donationRequest:
text1: "Misskey ist eine freie Software, die von Freiwilligen entwickelt wird."
text2: "Wir würden uns über deine Unterstützung freuen, damit wir dieses Projekt auch in Zukunft weiterentwickeln können."
text3: "Für Unterstützer gibt es auch besondere Vorteile!"
_uploader:
editImage: "Bild bearbeiten"
compressedToX: "Komprimiert zu {x}"
savedXPercent: "{x}% gespart"
abortConfirm: "Einige Dateien wurden nicht hochgeladen. Möchtest du den Vorgang abbrechen?"
doneConfirm: "Einige Dateien wurden nicht hochgeladen. Möchtest du den Vorgang fortsetzen?"
maxFileSizeIsX: "Die maximale Dateigröße, die hochgeladen werden kann, beträgt {x}."
allowedTypes: "Hochladbare Dateitypen"
tip: "Die Datei ist noch nicht hochgeladen worden. In diesem Dialog kannst du die Datei vor dem Hochladen anzeigen, umbenennen, komprimieren und zuschneiden. Wenn du fertig bist, klicke auf „Hochladen“, um den Upload zu starten."
_clientPerformanceIssueTip:
makeSureDisabledAdBlocker: "Deaktiviere deinen Adblocker"
makeSureDisabledAdBlocker_description: "Adblocker können die Leistung beeinträchtigen; vergewissere dich, ob in deinem Betriebssystem, Browser oder deinen Add-ons Adblocker aktiviert sind."
makeSureDisabledCustomCss: "Benutzerdefiniertes CSS deaktivieren"
makeSureDisabledCustomCss_description: "Das Überschreiben von Stilen kann die Leistung beeinträchtigen. Stelle daher sicher, dass du kein benutzerdefiniertes CSS oder Erweiterungen aktiviert hast, die Stile überschreiben."
makeSureDisabledAddons: "Erweiterungen deaktivieren"
makeSureDisabledAddons_description: "Einige Erweiterungen können das Verhalten des Clients stören und die Leistung beeinträchtigen. Deaktiviere die Browser-Erweiterungen und prüfe, ob sich die Situation dadurch verbessert."
_clip:
tip: "Clips sind eine Funktion, mit der du Notizen gruppieren kannst."
_userLists:
tip: "Es können Listen mit beliebigen Benutzern erstellt werden. Die erstellte Liste kann als eigene Chronik angezeigt werden."
watermark: "Wasserzeichen"
defaultPreset: "Standard-Voreinstellungen"
_watermarkEditor:
tip: "Dem Bild kann ein Wasserzeichen, z. B. eine Quellenangabe, hinzugefügt werden."
quitWithoutSaveConfirm: "Nicht gespeicherte Änderungen verwerfen?"
driveFileTypeWarn: "Diese Datei wird nicht unterstützt"
driveFileTypeWarnDescription: "Bilddatei auswählen"
title: "Wasserzeichen bearbeiten"
cover: "Alles bedecken"
opacity: "Transparenz"
scale: "Größe"
text: "Text"
position: "Position"
type: "Art"
image: "Bilder"
advanced: "Fortgeschritten"
angle: "Winkel"
stripe: "Streifen"
stripeWidth: "Linienbreite"
stripeFrequency: "Linienanzahl"
polkadot: "Punktmuster"
polkadotMainDotOpacity: "Deckkraft des Hauptpunktes"
polkadotMainDotRadius: "Größe des Hauptpunktes"
polkadotSubDotOpacity: "Deckkraft des Unterpunktes"
polkadotSubDotRadius: "Größe des Unterpunktes"
polkadotSubDotDivisions: "Anzahl der Unterpunkte"
_imageEffector:
title: "Effekte"
addEffect: "Effekte hinzufügen"
discardChangesConfirm: "Änderungen verwerfen und beenden?"
_fxs:
chromaticAberration: "Chromatische Abweichung"
glitch: "Glitch"
mirror: "Spiegeln"
invert: "Farben umkehren"
grayscale: "Schwarzweiß"
colorAdjust: "Farbkorrektur"
colorClamp: "Farbkomprimierung"
colorClampAdvanced: "Farbkomprimierung (erweitert)"
distort: "Verzerrung"
stripe: "Streifen"
polkadot: "Punktmuster"
_fxProps:
angle: "Winkel"
scale: "Größe"
size: "Größe"
offset: "Position"
color: "Farbe"
opacity: "Transparenz"
lightness: "Erhellen"
drafts: "Entwurf"
_drafts:
select: "Entwurf auswählen"
cannotCreateDraftAnymore: "Die Anzahl der Entwürfe, die erstellt werden können, wurde überschritten."
cannotCreateDraft: "Mit diesem Inhalt kann kein Entwurf erstellt werden."
delete: "Entwurf löschen"
deleteAreYouSure: "Entwurf löschen?"
noDrafts: "Keine Entwürfe"
replyTo: "Antwort an {user}"
quoteOf: "Zitat von {user}s Notiz"
saveToDraft: "Als Entwurf speichern"
restoreFromDraft: "Aus Entwurf wiederherstellen"
restore: "Wiederherstellen"
listDrafts: "Liste der Entwürfe"
_qr:
showTabTitle: "Anzeigeart"
raw: "Text"

View File

@@ -288,6 +288,7 @@ replies: "Απάντηση"
renotes: "Κοινοποίηση σημειώματος"
postForm: "Φόρμα δημοσίευσης"
information: "Πληροφορίες"
widgets: "Μαραφέτια"
_chat:
members: "Μέλη"
home: "Κεντρικό"
@@ -353,6 +354,7 @@ _visibility:
home: "Κεντρικό"
homeDescription: "Δημοσίευση στο κεντρικό χρονολόγιο μόνο"
followers: "Ακολουθούν"
specified: "Απευθείας σημειώματα"
_profile:
name: "Όνομα"
username: "Όνομα μέλους"
@@ -395,6 +397,7 @@ _deck:
antenna: "Αντένες"
list: "Λίστα"
mentions: "Επισημάνσεις"
direct: "Απευθείας σημειώματα"
_webhookSettings:
name: "Όνομα"
_moderationLogTypes:
@@ -403,3 +406,5 @@ _reversi:
total: "Σύνολο"
_search:
searchScopeLocal: "Τοπικό"
_watermarkEditor:
image: "Εικόνες"

View File

@@ -81,7 +81,7 @@ import: "Import"
export: "Export"
files: "Files"
download: "Download"
driveFileDeleteConfirm: "Do you want to remove the file \"{name}\"? Some content using this file will also be removed."
driveFileDeleteConfirm: "Are you sure you want to delete \"{name}\"? All notes with this file attached will also be deleted."
unfollowConfirm: "Are you sure you want to unfollow {name}?"
exportRequested: "You've requested an export. This may take a while. It will be added to your Drive once completed."
importRequested: "You've requested an import. This may take a while."
@@ -253,6 +253,7 @@ noteDeleteConfirm: "Are you sure you want to delete this note?"
pinLimitExceeded: "You cannot pin any more notes"
done: "Done"
processing: "Processing..."
preprocessing: "Preparing..."
preview: "Preview"
default: "Default"
defaultValueIs: "Default: {value}"
@@ -298,6 +299,7 @@ uploadFromUrl: "Upload from a URL"
uploadFromUrlDescription: "URL of the file you want to upload"
uploadFromUrlRequested: "Upload requested"
uploadFromUrlMayTakeTime: "It may take some time until the upload is complete."
uploadNFiles: "Upload {n} files"
explore: "Explore"
messageRead: "Read"
noMoreHistory: "There is no further history"
@@ -326,11 +328,13 @@ dark: "Dark"
lightThemes: "Light themes"
darkThemes: "Dark themes"
syncDeviceDarkMode: "Sync Dark Mode with your device settings"
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" is turned on. Would you like to turn off synchronization and switch modes manually?"
drive: "Drive"
fileName: "Filename"
selectFile: "Select a file"
selectFiles: "Select files"
selectFolder: "Select a folder"
unselectFolder: "Deselect folder"
selectFolders: "Select folders"
fileNotSelected: "No file selected"
renameFile: "Rename file"
@@ -343,6 +347,7 @@ addFile: "Add a file"
showFile: "Show files"
emptyDrive: "Your Drive is empty"
emptyFolder: "This folder is empty"
dropHereToUpload: "Drop files here to upload"
unableToDelete: "Unable to delete"
inputNewFileName: "Enter a new filename"
inputNewDescription: "Enter new alt text"
@@ -575,8 +580,10 @@ showFixedPostForm: "Display the posting form at the top of the timeline"
showFixedPostFormInChannel: "Display the posting form at the top of the timeline (Channels)"
withRepliesByDefaultForNewlyFollowed: "Include replies by newly followed users in the timeline by default"
newNoteRecived: "There are new notes"
newNote: "New Note"
sounds: "Sounds"
sound: "Sounds"
notificationSoundSettings: "Notification sound settings"
listen: "Listen"
none: "None"
showInPage: "Show in page"
@@ -768,6 +775,7 @@ lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", yo
alwaysMarkSensitive: "Mark as sensitive by default"
loadRawImages: "Load original images instead of showing thumbnails"
disableShowingAnimatedImages: "Don't play animated images"
disableShowingAnimatedImages_caption: "If animated images do not play even if this setting is disabled, it may be due to browser or OS accessibility settings, power-saving settings, or similar factors."
highlightSensitiveMedia: "Highlight sensitive media"
verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification."
notSet: "Not set"
@@ -791,6 +799,7 @@ wide: "Wide"
narrow: "Narrow"
reloadToApplySetting: "This setting will only apply after a page reload. Reload now?"
needReloadToApply: "A reload is required for this to be reflected."
needToRestartServerToApply: "A Misskey restart is required to reflect the change."
showTitlebar: "Show title bar"
clearCache: "Clear cache"
onlineUsersCount: "{n} users are online"
@@ -997,6 +1006,7 @@ failedToUpload: "Upload failed"
cannotUploadBecauseInappropriate: "This file could not be uploaded because parts of it have been detected as potentially inappropriate."
cannotUploadBecauseNoFreeSpace: "Upload failed due to lack of Drive capacity."
cannotUploadBecauseExceedsFileSizeLimit: "This file cannot be uploaded as it exceeds the file size limit."
cannotUploadBecauseUnallowedFileType: "Unable to upload due to unauthorized file type."
beta: "Beta"
enableAutoSensitive: "Automatic marking as sensitive"
enableAutoSensitiveDescription: "Allows automatic detection and marking of sensitive media through Machine Learning where possible. Even if this option is disabled, it may be enabled instance-wide."
@@ -1048,6 +1058,7 @@ permissionDeniedError: "Operation denied"
permissionDeniedErrorDescription: "This account does not have the permission to perform this action."
preset: "Preset"
selectFromPresets: "Choose from presets"
custom: "Custom"
achievements: "Achievements"
gotInvalidResponseError: "Invalid server response"
gotInvalidResponseErrorDescription: "The server may be unreachable or undergoing maintenance. Please try again later."
@@ -1086,6 +1097,7 @@ prohibitedWordsDescription2: "Using spaces will create AND expressions and surro
hiddenTags: "Hidden hashtags"
hiddenTagsDescription: "Select tags which will not shown on trend list.\nMultiple tags could be registered by lines."
notesSearchNotAvailable: "Note search is unavailable."
usersSearchNotAvailable: "User search is not available."
license: "License"
unfavoriteConfirm: "Really remove from favorites?"
myClips: "My clips"
@@ -1160,6 +1172,7 @@ installed: "Installed"
branding: "Branding"
enableServerMachineStats: "Publish server hardware stats"
enableIdenticonGeneration: "Enable user identicon generation"
showRoleBadgesOfRemoteUsers: "Display the role badges assigned to remote users"
turnOffToImprovePerformance: "Turning this off can increase performance."
createInviteCode: "Generate invite"
createWithOptions: "Generate with options"
@@ -1210,8 +1223,8 @@ showRepliesToOthersInTimeline: "Show replies to others in timeline"
hideRepliesToOthersInTimeline: "Hide replies to others from timeline"
showRepliesToOthersInTimelineAll: "Show replies to others from everyone you follow in timeline"
hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you follow in timeline"
confirmShowRepliesAll: "This operation is irreversible. Would you really like to show replies to others from everyone you follow in your timeline?"
confirmHideRepliesAll: "This operation is irreversible. Would you really like to hide replies to others from everyone you follow in your timeline?"
confirmShowRepliesAll: "Are you sure you want to show replies from everyone you follow in your timeline? This action is irreversible."
confirmHideRepliesAll: "Are you sure you want to hide replies from everyone you follow in your timeline? This action is irreversible."
externalServices: "External Services"
sourceCode: "Source code"
sourceCodeIsNotYetProvided: "Source code is not yet available. Contact the administrator to fix this problem."
@@ -1237,7 +1250,7 @@ releaseToRefresh: "Release to refresh"
refreshing: "Refreshing..."
pullDownToRefresh: "Pull down to refresh"
useGroupedNotifications: "Display grouped notifications"
signupPendingError: "There was a problem verifying the email address. The link may have expired."
emailVerificationFailedError: "A problem occurred while verifying your email address. The link may have expired."
cwNotationRequired: "If \"Hide content\" is enabled, a description must be provided."
doReaction: "Add reaction"
code: "Code"
@@ -1296,7 +1309,7 @@ passkeyVerificationSucceededButPasswordlessLoginDisabled: "Passkey verification
messageToFollower: "Message to followers"
target: "Target"
testCaptchaWarning: "This function is intended for CAPTCHA testing purposes.\n<strong>Do not use in a production environment.</strong>"
prohibitedWordsForNameOfUser: "Prohibited words for user names"
prohibitedWordsForNameOfUser: "Prohibited words for usernames"
prohibitedWordsForNameOfUserDescription: "If any of the strings in this list are included in the user's name, the name will be denied. Users with moderator privileges are not affected by this restriction."
yourNameContainsProhibitedWords: "Your name contains prohibited words"
yourNameContainsProhibitedWordsDescription: "If you wish to use this name, please contact your server administrator."
@@ -1307,6 +1320,8 @@ availableRoles: "Available roles"
acknowledgeNotesAndEnable: "Turn on after understanding the precautions."
federationSpecified: "This server is operated in a whitelist federation. Interacting with servers other than those designated by the administrator is not allowed."
federationDisabled: "Federation is disabled on this server. You cannot interact with users on other servers."
draft: "Drafts"
draftsAndScheduledNotes: "Drafts and scheduled notes"
confirmOnReact: "Confirm when reacting"
reactAreYouSure: "Would you like to add a \"{emoji}\" reaction?"
markAsSensitiveConfirm: "Do you want to set this media as sensitive?"
@@ -1324,6 +1339,7 @@ restore: "Restore"
syncBetweenDevices: "Sync between devices"
preferenceSyncConflictTitle: "The configured value exists on the server."
preferenceSyncConflictText: "The sync enabled settings will save their values to the server. However, there are existing values on the server. Which set of values would you like to overwrite?"
preferenceSyncConflictChoiceMerge: "Merge"
preferenceSyncConflictChoiceServer: "Configured value on server"
preferenceSyncConflictChoiceDevice: "Configured value on device"
preferenceSyncConflictChoiceCancel: "Cancel enabling sync"
@@ -1333,6 +1349,8 @@ postForm: "Posting form"
textCount: "Character count"
information: "About"
chat: "Chat"
directMessage: "Chat with user"
directMessage_short: "Message"
migrateOldSettings: "Migrate old client settings"
migrateOldSettings_description: "This should be done automatically but if for some reason the migration was not successful, you can trigger the migration process yourself manually. The current configuration information will be overwritten."
compress: "Compress"
@@ -1346,7 +1364,52 @@ goToDeck: "Return to Deck"
federationJobs: "Federation Jobs"
driveAboutTip: "In Drive, a list of files you've uploaded in the past will be displayed. <br> \nYou can reuse these files when attaching them to notes, or you can upload files in advance to post later. <br> \n<b>Be careful when deleting a file, as it will not be available in all places where it was used (such as notes, pages, avatars, banners, etc.).</b> <br> \nYou can also create folders to organize your files."
scrollToClose: "Scroll to close"
advice: "Advice"
realtimeMode: "Real-time mode"
turnItOn: "Turn on"
turnItOff: "Turn off"
emojiMute: "Mute emoji"
emojiUnmute: "Unmute emoji"
muteX: "Mute {x}"
unmuteX: "Unmute {x}"
abort: "Abort"
tip: "Tips & Tricks"
redisplayAllTips: "Show all “Tips & Tricks” again"
hideAllTips: "Hide all \"Tips & Tricks\""
defaultImageCompressionLevel: "Default image compression level"
defaultImageCompressionLevel_description: "Lower level preserves image quality but increases file size.<br>Higher level reduce file size, but reduce image quality."
defaultCompressionLevel: "Default compression level"
defaultCompressionLevel_description: "Lower compression preserves quality but increases file size.<br>Higher compression reduces file size but lowers quality."
inMinutes: "Minute(s)"
inDays: "Day(s)"
safeModeEnabled: "Safe mode is enabled"
pluginsAreDisabledBecauseSafeMode: "All plugins are disabled because safe mode is enabled."
customCssIsDisabledBecauseSafeMode: "Custom CSS is not applied because safe mode is enabled."
themeIsDefaultBecauseSafeMode: "While safe mode is active, the default theme is used. Disabling safe mode will revert these changes."
thankYouForTestingBeta: "Thank you for helping us test the beta version!"
createUserSpecifiedNote: "Create a direct note"
schedulePost: "Schedule note"
scheduleToPostOnX: "Scheduled to note on {x}"
scheduledToPostOnX: "Note is scheduled for {x}"
schedule: "Schedule"
scheduled: "Scheduled"
widgets: "Widgets"
deviceInfo: "Device information"
deviceInfoDescription: "When making technical inquiries, including the following information may help resolve the issue."
_compression:
_quality:
high: "High quality"
medium: "Medium quality"
low: "Low quality"
_size:
large: "Large size"
medium: "Medium size"
small: "Small size"
_order:
newest: "Newest First"
oldest: "Oldest First"
_chat:
messages: "Messages"
noMessagesYet: "No messages yet"
newMessage: "New message"
individualChat: "Private Chat"
@@ -1375,10 +1438,12 @@ _chat:
muteThisRoom: "Mute room"
deleteRoom: "Delete room"
chatNotAvailableForThisAccountOrServer: "Chat is not enabled on this server or for this account."
chatIsReadOnlyForThisAccountOrServer: "Chat is read-only on this instance or this account. You cannot write new messages or create/join chat rooms."
chatIsReadOnlyForThisAccountOrServer: "Chat is read-only on this server or this account. You cannot write new messages or create/join chat rooms."
chatNotAvailableInOtherAccount: "The chat function is disabled for the other user."
cannotChatWithTheUser: "Cannot start a chat with this user"
cannotChatWithTheUser_description: "Chat is either unavailable or the other party has not enabled chat."
youAreNotAMemberOfThisRoomButInvited: "You are not a participant in this room, but you have received an invitation. Please accept the invitation to join."
doYouAcceptInvitation: "Do you accept the invitation?"
chatWithThisUser: "Chat with user"
thisUserAllowsChatOnlyFromFollowers: "This user accepts chats from followers only."
thisUserAllowsChatOnlyFromFollowing: "This user accepts chats only from users they follow."
@@ -1418,12 +1483,21 @@ _settings:
makeEveryTextElementsSelectable: "Make all text elements selectable"
makeEveryTextElementsSelectable_description: "Enabling this may reduce usability in some situations."
useStickyIcons: "Make icons follow while scrolling"
enableHighQualityImagePlaceholders: "Display placeholders for high quality images"
uiAnimations: "UI Animations"
showNavbarSubButtons: "Show sub-buttons on the navigation bar"
ifOn: "When turned on"
ifOff: "When turned off"
enableSyncThemesBetweenDevices: "Synchronize installed themes across devices"
enablePullToRefresh: "Pull to Refresh"
enablePullToRefresh_description: "When using a mouse, drag while pressing in the scroll wheel."
realtimeMode_description: "Establishes a connection with the server and updates content in real time. This may increase traffic and memory consumption."
contentsUpdateFrequency: "Frequency of content retrieval"
contentsUpdateFrequency_description: "The higher the value the more the content updates but it lowers the performance and increases the traffic and memory consumption."
contentsUpdateFrequency_description2: "When real-time mode is on, content is updated in real time regardless of this setting."
showUrlPreview: "Show URL preview"
showAvailableReactionsFirstInNote: "Show available reactions at the top."
showPageTabBarBottom: "Show page tab bar at the bottom"
_chat:
showSenderName: "Show sender's name"
sendOnEnter: "Press Enter to send"
@@ -1463,7 +1537,7 @@ _abuseUserReport:
resolveTutorial: "If the report's content is legitimate, select \"Accept\" to mark it as resolved.\nIf the report's content is illegitimate, select \"Reject\" to ignore it."
_delivery:
status: "Delivery status"
stop: "Suspended"
stop: "Suspend"
resume: "Delivery resume"
_type:
none: "Publishing"
@@ -1597,6 +1671,10 @@ _serverSettings:
fanoutTimelineDbFallback: "Fallback to database"
fanoutTimelineDbFallbackDescription: "When enabled, the timeline will fall back to the database for additional queries if the timeline is not cached. Disabling it further reduces the server load by eliminating the fallback process, but limits the range of timelines that can be retrieved."
reactionsBufferingDescription: "When enabled, performance during reaction creation will be greatly improved, reducing the load on the database. However, Redis memory usage will increase."
remoteNotesCleaning: "Automatic cleanup of remote notes"
remoteNotesCleaning_description: "When enabled, unused and outdated remote notes will be periodically cleaned up to prevent database bloat."
remoteNotesCleaningMaxProcessingDuration: "Maximum cleanup processing time"
remoteNotesCleaningExpiryDaysForEachNotes: "Minimum days to retain notes"
inquiryUrl: "Inquiry URL"
inquiryUrlDescription: "Specify a URL for the inquiry form to the server maintainer or a web page for the contact information."
openRegistration: "Make the account creation open"
@@ -1604,6 +1682,26 @@ _serverSettings:
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "If no moderator activity is detected for a while, this setting will be automatically turned off to prevent spam."
deliverSuspendedSoftware: "Suspended Software"
deliverSuspendedSoftwareDescription: "You can specify a range of names and versions of the server's software to stop delivery for vulnerability or other reasons. This version information is provided by the server and is not guaranteed to be reliable. A semver range specification can be used to specify the version, but specifying >= 2024.3.1 will not include custom versions such as 2024.3.1-custom.0, so it is recommended that a prerelease specification be used, such as >= 2024.3.1-0"
singleUserMode: "Single user mode"
singleUserMode_description: "If you are the only user of this server, enabling this mode will optimize its performance."
signToActivityPubGet: "Sign ActivityPub GET requests"
signToActivityPubGet_description: "Normally, this should be enabled. Disabling it may improve issues related to federation, but on the other hand it could disable federation towards some other servers."
proxyRemoteFiles: "Proxy remote files"
proxyRemoteFiles_description: "When enabled, the server will proxy and serve remote files. This is useful for generating image thumbnails and protecting user privacy."
allowExternalApRedirect: "Allow redirects for queries via ActivityPub"
allowExternalApRedirect_description: "If enabled, other servers can query third-party content through this server but this may result in content spoofing."
userGeneratedContentsVisibilityForVisitor: "Visibility of user-generated content to guests"
userGeneratedContentsVisibilityForVisitor_description: "This is useful for preventing problems caused by inappropriate remote content that is not well moderated from being unintentionally published on the Internet via your own server."
userGeneratedContentsVisibilityForVisitor_description2: "Unconditionally publishing all content on the server to the Internet, including remote content received by the server is risky. This is especially important for guests who are unaware of the distributed nature of the content, as they may mistakenly believe that even remote content is content created by users on the server."
restartServerSetupWizardConfirm_title: "Restart server setup wizard?"
restartServerSetupWizardConfirm_text: "Some current settings will be reset."
entrancePageStyle: "Entrance page style"
showTimelineForVisitor: "Show timeline"
showActivitiesForVisitor: "Show activities"
_userGeneratedContentsVisibilityForVisitor:
all: "Everything is public"
localOnly: "Only local content is published, remote content is kept private"
none: "Everything is private"
_accountMigration:
moveFrom: "Migrate another account to this one"
moveFromSub: "Create alias to another account"
@@ -1922,6 +2020,7 @@ _role:
canManageAvatarDecorations: "Manage avatar decorations"
driveCapacity: "Drive capacity"
maxFileSize: "Upload-able max file size"
maxFileSize_caption: "Reverse proxies, CDNs, and other front-end components may have their own configuration settings."
alwaysMarkNsfw: "Always mark files as NSFW"
canUpdateBioMedia: "Can edit an icon or a banner image"
pinMax: "Maximum number of pinned notes"
@@ -1936,14 +2035,21 @@ _role:
descriptionOfRateLimitFactor: "Lower rate limits are less restrictive, higher ones more restrictive. "
canHideAds: "Can hide ads"
canSearchNotes: "Usage of note search"
canSearchUsers: "User search"
canUseTranslator: "Translator usage"
avatarDecorationLimit: "Maximum number of avatar decorations that can be applied"
canImportAntennas: "Allow importing antennas"
canImportBlocking: "Allow importing blocking"
canImportFollowing: "Allow importing following"
canImportMuting: "Allow importing muting"
canImportUserLists: "Allow importing lists"
chatAvailability: "Allow Chat"
avatarDecorationLimit: "Maximum number of avatar decorations"
canImportAntennas: "Can import antennas"
canImportBlocking: "Can import blocking"
canImportFollowing: "Can import following"
canImportMuting: "Can import muting"
canImportUserLists: "Can import lists"
chatAvailability: "Chat"
uploadableFileTypes: "Uploadable file types"
uploadableFileTypes_caption: "Specifies the allowed MIME/file types. Multiple MIME types can be specified by separating them with a new line, and wildcards can be specified with an asterisk (*). (e.g., image/*)"
uploadableFileTypes_caption2: "Some files types might fail to be detected. To allow such files, add {x} to the specification."
noteDraftLimit: "Number of possible drafts of server notes"
scheduledNoteLimit: "Maximum number of simultaneous scheduled notes"
watermarkAvailable: "Watermark function"
_condition:
roleAssignedTo: "Assigned to manual roles"
isLocal: "Local user"
@@ -2103,6 +2209,7 @@ _theme:
install: "Install a theme"
manage: "Manage themes"
code: "Theme code"
copyThemeCode: "Copy theme code"
description: "Description"
installed: "{name} has been installed"
installedThemes: "Installed themes"
@@ -2161,7 +2268,6 @@ _theme:
buttonBg: "Button background"
buttonHoverBg: "Button background (Hover)"
inputBorder: "Input field border"
driveFolderBg: "Drive folder background"
badge: "Badge"
messageBg: "Chat background"
fgHighlighted: "Highlighted Text"
@@ -2203,6 +2309,7 @@ _time:
minute: "Minute(s)"
hour: "Hour(s)"
day: "Day(s)"
month: "Month(s)"
_2fa:
alreadyRegistered: "You have already registered a 2-factor authentication device."
registerTOTP: "Register authenticator app"
@@ -2275,7 +2382,7 @@ _permissions:
"read:admin:index-stats": "View database index stats"
"read:admin:table-stats": "View database table stats"
"read:admin:user-ips": "View user IP addresses"
"read:admin:meta": "View instance metadata"
"read:admin:meta": "View server metadata"
"write:admin:reset-password": "Reset user password"
"write:admin:resolve-abuse-user-report": "Resolve user report"
"write:admin:send-email": "Send email"
@@ -2286,7 +2393,7 @@ _permissions:
"write:admin:unset-user-avatar": "Remove user avatar"
"write:admin:unset-user-banner": "Remove user banner"
"write:admin:unsuspend-user": "Unsuspend user"
"write:admin:meta": "Manage instance metadata"
"write:admin:meta": "Manage server metadata"
"write:admin:user-note": "Manage moderation note"
"write:admin:roles": "Manage roles"
"read:admin:roles": "View roles"
@@ -2332,6 +2439,7 @@ _auth:
scopeUser: "Operate as the following user"
pleaseLogin: "Please log in to authorize applications."
byClickingYouWillBeRedirectedToThisUrl: "When access is granted, you will automatically be redirected to the following URL"
alreadyAuthorized: "This application already has access permission."
_antennaSources:
all: "All notes"
homeTimeline: "Notes from followed users"
@@ -2377,7 +2485,7 @@ _widgets:
chooseList: "Select a list"
clicker: "Clicker"
birthdayFollowings: "Today's Birthdays"
chat: "Chat"
chat: "Chat with user"
_cw:
hide: "Hide"
show: "Show content"
@@ -2417,6 +2525,8 @@ _visibility:
disableFederation: "Defederate"
disableFederationDescription: "Don't transmit to other instances"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "There are files that have not been uploaded, do you want to discard them and close the form?"
uploaderTip: "The file has not yet been uploaded. From the file menu, you can rename, crop images, watermark and compress or uncompress the file. Files are automatically uploaded when you publish a note."
replyPlaceholder: "Reply to this note..."
quotePlaceholder: "Quote this note..."
channelPlaceholder: "Post to a channel..."
@@ -2565,6 +2675,8 @@ _notification:
youReceivedFollowRequest: "You've received a follow request"
yourFollowRequestAccepted: "Your follow request was accepted"
pollEnded: "Poll results have become available"
scheduledNotePosted: "Scheduled note has been posted"
scheduledNotePostFailed: "Failed to post scheduled note"
newNote: "New note"
unreadAntennaNote: "Antenna {name}"
roleAssigned: "Role given"
@@ -2594,6 +2706,8 @@ _notification:
quote: "Quotes"
reaction: "Reactions"
pollEnded: "Polls ending"
scheduledNotePosted: "Scheduled note was successful"
scheduledNotePostFailed: "Scheduled note failed"
receiveFollowRequest: "Received follow requests"
followRequestAccepted: "Accepted follow requests"
roleAssigned: "Role given"
@@ -2644,7 +2758,7 @@ _deck:
mentions: "Mentions"
direct: "Direct notes"
roleTimeline: "Role Timeline"
chat: "Chat"
chat: "Chat with user"
_dialog:
charactersExceeded: "You've exceeded the maximum character limit! Currently at {current} of {max}."
charactersBelow: "You're below the minimum character limit! Currently at {current} of {min}."
@@ -2716,7 +2830,7 @@ _moderationLogTypes:
resetPassword: "Password reset"
suspendRemoteInstance: "Remote instance suspended"
unsuspendRemoteInstance: "Remote instance unsuspended"
updateRemoteInstanceNote: "Moderation note updated for remote instance."
updateRemoteInstanceNote: "Updated moderation note for remote servers"
markSensitiveDriveFile: "File marked as sensitive"
unmarkSensitiveDriveFile: "File unmarked as sensitive"
resolveAbuseReport: "Report resolved"
@@ -2750,6 +2864,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Uploaded at"
attachedNotes: "Attached notes"
usage: "Used"
thisPageCanBeSeenFromTheAuthor: "This page can only be seen by the user who uploaded this file."
_externalResourceInstaller:
title: "Install from external site"
@@ -2797,9 +2912,12 @@ _dataSaver:
_avatar:
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."
_urlPreview:
title: "URL preview thumbnails"
_urlPreviewThumbnail:
title: "Hide URL preview thumbnails"
description: "URL preview thumbnail images will no longer be loaded."
_disableUrlPreview:
title: "Disable URL preview"
description: "Disables the URL preview function. Unlike thumbnail images, this function reduces the loading of the linked information itself."
_code:
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."
@@ -2857,6 +2975,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "URL preview settings"
enable: "Enable URL preview"
allowRedirect: "Allow URL preview redirection"
allowRedirectDescription: "If a URL has a redirection set, you can enable this feature to follow the redirection and display a preview of the redirected content. Disabling this will save server resources, but redirected content will not be displayed."
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)"
@@ -2918,7 +3038,7 @@ _customEmojisManager:
markAsDeleteTargetRanges: "Mark rows in the selection as a target to delete"
alertUpdateEmojisNothingDescription: "There are no updated Emojis."
alertDeleteEmojisNothingDescription: "There are no Emojis to be deleted."
confirmMovePage: ""
confirmMovePage: "Would you like to move pages?"
confirmChangeView: ""
confirmUpdateEmojisDescription: "Update {count} Emoji(s). Are you sure to continue?"
confirmDeleteEmojisDescription: "Delete checked {count} Emoji(s). Are you sure to continue?"
@@ -2930,10 +3050,6 @@ _customEmojisManager:
uploadSettingDescription: "On this screen, you can configure the behavior when uploading Emojis."
directoryToCategoryLabel: "Enter the directory name in the \"category\" field"
directoryToCategoryCaption: "When you drag and drop a directory, enter the directory name in the \"category\" field."
emojiInputAreaCaption: "Select the Emojis you wish to register using one of the methods."
emojiInputAreaList1: "Drag and drop image files or a directory into this frame"
emojiInputAreaList2: "Click this link to select from your computer"
emojiInputAreaList3: "Click this link to select from the drive"
confirmRegisterEmojisDescription: "Register the Emojis from the list as new custom Emojis. Are you sure to continue? (To avoid overload, only {count} Emoji(s) can be registered in a single operation)"
confirmClearEmojisDescription: "Discard the edits and clear the Emojis from the list. Are you sure to continue?"
confirmUploadEmojisDescription: "Upload the dragged and dropped {count} file(s) to the drive. Are you sure to continue?"
@@ -3001,6 +3117,7 @@ _bootErrors:
otherOption1: "Delete client settings and cache"
otherOption2: "Start the simple client"
otherOption3: "Launch the repair tool"
otherOption4: "Launch Misskey in safe mode"
_search:
searchScopeAll: "All"
searchScopeLocal: "Local"
@@ -3009,3 +3126,195 @@ _search:
pleaseEnterServerHost: "Enter the server host"
pleaseSelectUser: "Select user"
serverHostPlaceholder: "Example: misskey.example.com"
_serverSetupWizard:
installCompleted: "Misskey installation is now complete!"
firstCreateAccount: "To begin, create an administrator account."
accountCreated: "Administrator account has been created!"
serverSetting: "Server Settings"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "This wizard makes it easier to configure the server settings."
settingsYouMakeHereCanBeChangedLater: "The settings that were changed via this wizard can be adjusted later."
howWillYouUseMisskey: "How will you use Misskey?"
_use:
single: "Single User server"
single_description: "Use it alone as your own server."
single_youCanCreateMultipleAccounts: "Multiple accounts can be created as needed, even when operated as a single user server."
group: "Group server"
group_description: "Invite other trusted users to use it with more than one user."
open: "Public server"
open_description: "Allow anyone to register."
openServerAdvice: "Accepting a large number of unknown users involves risk. We recommend that you operate with a reliable moderation system to handle any problems."
openServerAntiSpamAdvice: "To prevent your server from becoming a stepping stone for spam, you should also pay close attention to security by enabling anti-bot functions such as reCAPTCHA."
howManyUsersDoYouExpect: "How many users do you expect?"
_scale:
small: "Less than 100 (small scale)"
medium: "More than 100 and less than 1000 users (medium size)"
large: "More than 1000 (Large scale)"
largeScaleServerAdvice: "Large servers may require advanced infrastructure knowledge, such as load balancing and database replication."
doYouConnectToFediverse: "Do you want to connect to the Fediverse?"
doYouConnectToFediverse_description1: "When connected to a network of distributed servers (Fediverse) content can be exchanged with other servers."
doYouConnectToFediverse_description2: "Connecting with the Fediverse is also called \"federation\""
youCanConfigureMoreFederationSettingsLater: "Advanced settings such as specifying federated servers can be configured later."
remoteContentsCleaning: "Automatic cleanup of received contents"
remoteContentsCleaning_description: "Federation may result in a continuous inflow of content. Enabling automatic cleanup will remove outdated and unreferenced content from the server to save storage."
adminInfo: "Administrator information"
adminInfo_description: "Sets the administrator information used to receive inquiries."
adminInfo_mustBeFilled: "Must be entered if public server or federation is on."
followingSettingsAreRecommended: "The following settings are recommended"
applyTheseSettings: "Apply these settings"
skipSettings: "Skip settings"
settingsCompleted: "Setup is now complete!"
settingsCompleted_description: "Thank you for your time. Now that everything is ready, you can start using the server right away."
settingsCompleted_description2: "The server settings can be changed from the “Control Panel”"
donationRequest: "Donation Request"
_donationRequest:
text1: "Misskey is a free software developed by volunteers."
text2: "We would appreciate your support so that we can continue to develop this software further into the future."
text3: "There are also special benefits for supporters!"
_uploader:
editImage: "Edit Image"
compressedToX: "Compressed to {x}"
savedXPercent: "Saving {x}%"
abortConfirm: "Some files have not been uploaded, do you want to abort?"
doneConfirm: "Some files have not been uploaded, do you want to continue anyway?"
maxFileSizeIsX: "The maximum file size that can be uploaded is {x}"
allowedTypes: "Uploadable file types"
tip: "The file has not yet been uploaded so this dialog allows you to confirm, rename, compress, and crop the file before uploading. When ready, you can start uploading by pressing the “Upload” button."
_clientPerformanceIssueTip:
title: "Performance tips"
makeSureDisabledAdBlocker: "Disable your adblocker"
makeSureDisabledAdBlocker_description: "Adblockers can affect performance, please make sure that adblockers are not enabled by your system or browser features/extensions."
makeSureDisabledCustomCss: "Disable custom CSS"
makeSureDisabledCustomCss_description: "Overriding styles can affect performance. Please make sure that custom CSS or extensions that override styles are not enabled."
makeSureDisabledAddons: "Disable extensions"
makeSureDisabledAddons_description: "Some extensions may interfere with client behavior and affect performance. Please disable your browser extensions and see if this improves the situation."
_clip:
tip: "Clip is a feature that allows you to organize your notes."
_userLists:
tip: "Lists can contain any user you specify when creating, the created list can then be displayed as a timeline showing only the specified users."
watermark: "Watermark"
defaultPreset: "Default Preset"
_watermarkEditor:
tip: "A watermark, such as credit information, can be added to the image."
quitWithoutSaveConfirm: "Discard unsaved changes?"
driveFileTypeWarn: "This file is not supported"
driveFileTypeWarnDescription: "Choose an image file"
title: "Edit Watermark"
cover: "Cover everything"
repeat: "spread all over"
preserveBoundingRect: "Adjust to prevent overflow when rotating"
opacity: "Opacity"
scale: "Size"
text: "Text"
qr: "QR Code"
position: "Position"
margin: "Margin"
type: "Type"
image: "Images"
advanced: "Advanced"
angle: "Angle"
stripe: "Stripes"
stripeWidth: "Line width"
stripeFrequency: "Lines count"
polkadot: "Polkadot"
checker: "Checker"
polkadotMainDotOpacity: "Opacity of the main dot"
polkadotMainDotRadius: "Size of the main dot"
polkadotSubDotOpacity: "Opacity of the secondary dot"
polkadotSubDotRadius: "Size of the secondary dot"
polkadotSubDotDivisions: "Number of sub-dots."
leaveBlankToAccountUrl: "Leave blank to use account URL"
_imageEffector:
title: "Effects"
addEffect: "Add Effects"
discardChangesConfirm: "Are you sure you want to leave? You have unsaved changes."
nothingToConfigure: "No configurable options available"
_fxs:
chromaticAberration: "Chromatic Aberration"
glitch: "Glitch"
mirror: "Mirror"
invert: "Invert Colors"
grayscale: "Grayscale"
blur: "Blur"
pixelate: "Pixelate"
colorAdjust: "Color Correction"
colorClamp: "Color Compression"
colorClampAdvanced: "Color Compression (Advanced)"
distort: "Distortion"
threshold: "Binarize"
zoomLines: "Saturated lines"
stripe: "Stripes"
polkadot: "Polkadot"
checker: "Checker"
blockNoise: "Block Noise"
tearing: "Tearing"
fill: "Fill"
_fxProps:
angle: "Angle"
scale: "Size"
size: "Size"
radius: "Radius"
samples: "Sample count"
offset: "Position"
color: "Color"
opacity: "Opacity"
normalize: "Normalize"
amount: "Amount"
lightness: "Lighten"
contrast: "Contrast"
hue: "Hue"
brightness: "Brightness"
saturation: "Saturation"
max: "Maximum"
min: "Minimum"
direction: "Direction"
phase: "Phase"
frequency: "Frequency"
strength: "Strength"
glitchChannelShift: "Channel shift"
seed: "Seed value"
redComponent: "Red component"
greenComponent: "Green component"
blueComponent: "Blue component"
threshold: "Threshold"
centerX: "Center X"
centerY: "Center Y"
zoomLinesSmoothing: "Smoothing"
zoomLinesSmoothingDescription: "Smoothing and zoom line width cannot be used together."
zoomLinesThreshold: "Zoom line width"
zoomLinesMaskSize: "Center diameter"
zoomLinesBlack: "Make black"
circle: "Circular"
drafts: "Drafts"
_drafts:
select: "Select Draft"
cannotCreateDraftAnymore: "The number of drafts that can be created has been exceeded."
cannotCreateDraft: "You cannot create a draft with this content."
delete: "Delete Draft"
deleteAreYouSure: "Delete draft?"
noDrafts: "No drafts"
replyTo: "Reply to {user}"
quoteOf: "Citation to {user}'s note"
postTo: "Posting to {channel}"
saveToDraft: "Save to Draft"
restoreFromDraft: "Restore from Draft"
restore: "Restore"
listDrafts: "List of Drafts"
schedule: "Schedule note"
listScheduledNotes: "Scheduled notes list"
cancelSchedule: "Cancel schedule"
qr: "QR Code"
_qr:
showTabTitle: "Display"
readTabTitle: "Scan"
shareTitle: "{name} {acct}"
shareText: "Follow me on the Fediverse!"
chooseCamera: "Choose camera"
cannotToggleFlash: "Unable to toggle flashlight"
turnOnFlash: "Turn on flashlight"
turnOffFlash: "Turn off flashlight"
startQr: "Resume QR code reader"
stopQr: "Stop QR code reader"
noQrCodeFound: "No QR code found"
scanFile: "Scan image from device"
raw: "Text"
mfm: "MFM"

File diff suppressed because it is too large Load Diff

View File

@@ -1208,7 +1208,6 @@ releaseToRefresh: "Relâcher pour rafraîchir"
refreshing: "Rafraîchissement..."
pullDownToRefresh: "Tirer vers le bas pour rafraîchir"
useGroupedNotifications: "Grouper les notifications"
signupPendingError: "Un problème est survenu lors de la vérification de votre adresse e-mail. Le lien a peut-être expiré."
cwNotationRequired: "Si « Masquer le contenu » est activé, une description doit être fournie."
doReaction: "Réagir"
code: "Code"
@@ -1272,6 +1271,9 @@ pleaseSelectAccount: "Sélectionner un compte"
availableRoles: "Rôles disponibles"
postForm: "Formulaire de publication"
information: "Informations"
inMinutes: "min"
inDays: "j"
widgets: "Widgets"
_chat:
invitations: "Inviter"
noHistory: "Pas d'historique"
@@ -1834,7 +1836,6 @@ _theme:
buttonBg: "Arrière-plan du bouton"
buttonHoverBg: "Arrière-plan du bouton (survolé)"
inputBorder: "Cadre de la zone de texte"
driveFolderBg: "Arrière-plan du dossier de disque"
badge: "Badge"
messageBg: "Arrière plan de la discussion"
fgHighlighted: "Texte mis en évidence"
@@ -2333,9 +2334,6 @@ _dataSaver:
_avatar:
title: "Animation d'avatars"
description: "Arrête l'animation d'avatars. Comme les images animées peuvent être plus volumineuses que les images normales, cela permet de réduire davantage le trafic de données."
_urlPreview:
title: "Vignettes d'aperçu des URL"
description: "Les vignettes d'aperçu des URL ne seront plus chargées."
_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."
@@ -2364,3 +2362,25 @@ _search:
searchScopeAll: "Tous"
searchScopeLocal: "Local"
searchScopeUser: "Spécifier l'utilisateur·rice"
_watermarkEditor:
driveFileTypeWarn: "Ce fichier n'est pas pris en charge"
opacity: "Transparence"
scale: "Taille"
text: "Texte"
position: "Position"
type: "Type"
image: "Images"
advanced: "Avancé"
angle: "Angle"
_imageEffector:
_fxProps:
angle: "Angle"
scale: "Taille"
size: "Taille"
offset: "Position"
color: "Couleur"
opacity: "Transparence"
lightness: "Clair"
_qr:
showTabTitle: "Affichage"
raw: "Texte"

View File

@@ -73,7 +73,7 @@ export default function generateDTS() {
ts.NodeFlags.Const,
),
),
ts.factory.createInterfaceDeclaration(
ts.factory.createTypeAliasDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('ParameterizedString'),
[
@@ -84,20 +84,22 @@ export default function generateDTS() {
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'),
ts.factory.createIntersectionTypeNode([
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
ts.factory.createTypeLiteralNode([
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)],

View File

@@ -5,9 +5,13 @@ introMisskey: "Selamat datang! Misskey adalah perangkat mikroblog tercatu bersif
poweredByMisskeyDescription: "{name} adalah sebuah layanan (instance) yang menggunakan platform sumber terbuka <b>Misskey</b>."
monthAndDay: "{day} {month}"
search: "Penelusuran"
reset: "Reset"
notifications: "Notifikasi"
username: "Nama Pengguna"
password: "Kata sandi"
initialPasswordForSetup: "Kata sandi untuk memulai konfigurasi awal"
initialPasswordIsIncorrect: "Kata sandi untuk memulai konfigurasi awal salah."
initialPasswordForSetupDescription: "Jika Anda menginstal Misskey sendiri, gunakan kata sandi yang Anda masukkan di berkas konfigurasi.\nJika Anda menggunakan layanan hosting Misskey, gunakan kata sandi yang diberikan.\nJika Anda belum mengatur kata sandi, biarkan kosong dan lanjutkan."
forgotPassword: "Lupa Kata Sandi"
fetchingAsApObject: "Mengambil data dari Fediverse..."
ok: "OK"
@@ -45,6 +49,7 @@ pin: "Sematkan ke profil"
unpin: "Lepas sematan dari profil"
copyContent: "Salin konten"
copyLink: "Salin tautan"
copyRemoteLink: "Salin tautan jarak jauh"
copyLinkRenote: "Salin tautan renote"
delete: "Hapus"
deleteAndEdit: "Hapus dan sunting"
@@ -212,8 +217,10 @@ perDay: "per Hari"
stopActivityDelivery: "Berhenti mengirim aktivitas"
blockThisInstance: "Blokir instansi ini"
silenceThisInstance: "Senyapkan instansi ini"
mediaSilenceThisInstance: "Server media senyap"
operations: "Tindakan"
software: "Perangkat lunak"
softwareName: "Nama Perangkat Lunak"
version: "Versi"
metadata: "Metadata"
withNFiles: "{n} berkas"
@@ -291,6 +298,7 @@ uploadFromUrlMayTakeTime: "Membutuhkan beberapa waktu hingga pengunggahan selesa
explore: "Jelajahi"
messageRead: "Telah dibaca"
noMoreHistory: "Tidak ada sejarah lagi"
startChat: "Kirim pesan"
nUsersRead: "Dibaca oleh {n}"
agreeTo: "Saya setuju kepada {0}"
agree: "Setuju"
@@ -503,6 +511,7 @@ emojiStyle: "Gaya emoji"
native: "Native"
menuStyle: "Gaya menu"
style: "Gaya"
popup: "Pemunculan"
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
showReactionsCount: "Lihat jumlah reaksi dalam catatan"
noHistory: "Tidak ada riwayat"
@@ -559,6 +568,7 @@ showFixedPostForm: "Tampilkan form posting di atas lini masa"
showFixedPostFormInChannel: "Tampilkan form posting di atas lini masa (Kanal)"
withRepliesByDefaultForNewlyFollowed: "Termasuk balasan dari pengguna baru yang diikuti pada lini masa secara bawaan"
newNoteRecived: "Kamu mendapat catatan baru"
newNote: "Catatan baru"
sounds: "Bunyi"
sound: "Bunyi"
listen: "Dengarkan"
@@ -1021,6 +1031,7 @@ permissionDeniedError: "Operasi ditolak"
permissionDeniedErrorDescription: "Akun ini tidak memiliki izin untuk melakukan aksi ini."
preset: "Prasetel"
selectFromPresets: "Pilih dari prasetel"
custom: "Penyesuaian"
achievements: "Pencapaian"
gotInvalidResponseError: "Respon peladen tidak valid"
gotInvalidResponseErrorDescription: "Peladen tidak dapat dijangkau atau sedang dalam perawatan. Mohon coba lagi nanti."
@@ -1040,7 +1051,7 @@ disableFederationConfirmWarn: "Mematikan federasi tidak membuat kiriman menjadi
disableFederationOk: "Matikan federasi"
invitationRequiredToRegister: "Instansi ini dalam mode undangan-saja. Kamu harus memasukkan kode undangan yang valid untuk mendaftar."
emailNotSupported: "Instansi ini tidak mendukung mengirim surel"
postToTheChannel: "Catat ke kanal"
postToTheChannel: "Buat Catatan ke Kanal"
cannotBeChangedLater: "Hal ini nantinya tidak dapat diubah lagi."
reactionAcceptance: "Penerimaan reaksi"
likeOnly: "Hanya suka"
@@ -1103,6 +1114,7 @@ preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah de
createNoteFromTheFile: "Buat catatan dari berkas ini"
archive: "Arsipkan"
archived: "Diarsipkan"
unarchive: "Batalkan pengarsipan"
channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?"
channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi."
thisChannelArchived: "Kanal ini telah diarsipkan."
@@ -1205,7 +1217,6 @@ releaseToRefresh: "Lepaskan untuk memuat ulang"
refreshing: "Sedang memuat ulang..."
pullDownToRefresh: "Tarik ke bawah untuk memuat ulang"
useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan"
signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa."
cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan."
doReaction: "Tambahkan reaksi"
code: "Kode"
@@ -1245,6 +1256,7 @@ noDescription: "Tidak ada deskripsi"
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
inquiry: "Hubungi kami"
tryAgain: "Silahkan coba lagi."
sensitiveMediaRevealConfirm: "Media sensitif. Apakah ingin melihat?"
createdLists: "Senarai yang dibuat"
createdAntennas: "Antena yang dibuat"
fromX: "Dari {x}"
@@ -1252,18 +1264,43 @@ noteOfThisUser: "Catatan oleh pengguna ini"
clipNoteLimitExceeded: "Klip ini tak bisa ditambahi lagi catatan."
performance: "Kinerja"
modified: "Diubah"
discard: "Buang"
thereAreNChanges: "Ada {n} perubahan"
signinWithPasskey: "Masuk dengan kunci sandi"
unknownWebAuthnKey: "Kunci sandi tidak terdaftar."
passkeyVerificationFailed: "Verifikasi kunci sandi gagal."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "Verifikasi kunci sandi berhasil, namun pemasukan tanpa sandi dinonaktifkan."
messageToFollower: "Pesan kepada pengikut"
prohibitedWordsForNameOfUser: "Kata yang dilarang untuk nama pengguna"
lockdown: "Kuncitara"
noName: "Tidak ada nama"
skip: "Lewati"
paste: "Tempel"
emojiPalette: "Palet emoji"
postForm: "Buat catatan"
information: "Informasi"
chat: "Obrolan"
directMessage: "Obrolan pengguna"
right: "Kanan"
bottom: "Bawah"
top: "Atas"
advice: "Saran"
inMinutes: "menit"
inDays: "hari"
widgets: "Widget"
_chat:
invitations: "Undang"
history: "Riwayat obrolan"
noHistory: "Tidak ada riwayat"
members: "Anggota"
home: "Beranda"
send: "Kirim"
chatWithThisUser: "Obrolan pengguna"
_settings:
webhook: "Webhook"
contentsUpdateFrequency: "Frekuensi pembaruan konten"
_preferencesProfile:
profileName: "Nama profil"
_abuseUserReport:
accept: "Setuju"
reject: "Tolak"
@@ -1949,7 +1986,6 @@ _theme:
buttonBg: "Latar belakang tombol"
buttonHoverBg: "Latar belakang tombol (Mengambang)"
inputBorder: "Batas bidang masukan"
driveFolderBg: "Latar belakang folder drive"
badge: "Lencana"
messageBg: "Latar belakang obrolan"
fgHighlighted: "Teks yang disorot"
@@ -1958,6 +1994,7 @@ _sfx:
noteMy: "Catatan (Saya)"
notification: "Notifikasi"
reaction: "Ketika memilih reaksi"
chatMessage: "Obrolan pengguna"
_soundSettings:
driveFile: "Menggunakan berkas audio dalam Drive"
driveFileWarn: "Pilih berkas audio dari Drive"
@@ -2160,6 +2197,7 @@ _widgets:
chooseList: "Pilih daftar"
clicker: "Pengeklik"
birthdayFollowings: "Pengguna yang merayakan hari ulang tahunnya hari ini"
chat: "Obrolan pengguna"
_cw:
hide: "Sembunyikan"
show: "Lihat konten"
@@ -2401,13 +2439,14 @@ _deck:
main: "Utama"
widgets: "Widget"
notifications: "Notifikasi"
tl: "Lini masa"
tl: "Beranda"
antenna: "Antena"
list: "Daftar"
channel: "Kanal"
mentions: "Sebutan"
direct: "Langsung"
roleTimeline: "Lini masa peran"
chat: "Obrolan pengguna"
_dialog:
charactersExceeded: "Kamu telah melebihi batas karakter maksimum! Saat ini pada {current} dari {max}."
charactersBelow: "Kamu berada di bawah batas minimum karakter! Saat ini pada {current} dari {min}."
@@ -2530,9 +2569,6 @@ _dataSaver:
_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."
@@ -2612,3 +2648,25 @@ _search:
searchScopeAll: "Semua"
searchScopeLocal: "Lokal"
searchScopeUser: "Pengguna spesifik"
_watermarkEditor:
driveFileTypeWarn: "Berkas ini tidak didukung"
opacity: "Opasitas"
scale: "Ukuran"
text: "Teks"
position: "Posisi"
type: "Tipe"
image: "Gambar"
advanced: "Tingkat lanjut"
angle: "Sudut"
_imageEffector:
_fxProps:
angle: "Sudut"
scale: "Ukuran"
size: "Ukuran"
offset: "Posisi"
color: "Warna"
opacity: "Opasitas"
lightness: "Menerangkan"
_qr:
showTabTitle: "Tampilkan"
raw: "Teks"

1032
locales/index.d.ts vendored

File diff suppressed because it is too large Load Diff

View File

@@ -36,6 +36,7 @@ const languages = [
'ru-RU',
'sk-SK',
'th-TH',
'tr-TR',
'ug-CN',
'uk-UA',
'vi-VN',

View File

@@ -139,7 +139,7 @@ overwriteFromPinnedEmojis: "Sovrascrivi con le impostazioni globali"
reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere."
rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note"
attachCancel: "Rimuovi allegato"
deleteFile: "File da Drive eliminato"
deleteFile: "Elimina un file dal Drive"
markAsSensitive: "Segna come esplicito"
unmarkAsSensitive: "Non segnare come esplicito "
enterFileName: "Nome del file"
@@ -220,6 +220,7 @@ silenceThisInstance: "Silenziare l'istanza"
mediaSilenceThisInstance: "Silenzia i media dell'istanza"
operations: "Operazioni"
software: "Software"
softwareName: "Nome del software"
version: "Versione"
metadata: "Metadato"
withNFiles: "{n} file in allegato"
@@ -252,6 +253,7 @@ noteDeleteConfirm: "Vuoi davvero eliminare questa Nota?"
pinLimitExceeded: "Non puoi fissare altre note "
done: "Fine"
processing: "In elaborazione"
preprocessing: "In preparazione"
preview: "Anteprima"
default: "Predefinito"
defaultValueIs: "Predefinito: {value}"
@@ -297,6 +299,7 @@ uploadFromUrl: "Incolla URL immagine"
uploadFromUrlDescription: "URL del file che vuoi caricare"
uploadFromUrlRequested: "Caricamento richiesto"
uploadFromUrlMayTakeTime: "Il caricamento del file può richiedere tempo."
uploadNFiles: "Caricare {n} file singolarmente"
explore: "Esplora"
messageRead: "Visualizzato"
noMoreHistory: "Non c'è più cronologia da visualizzare"
@@ -325,11 +328,13 @@ dark: "Scuro"
lightThemes: "Tema Chiaro"
darkThemes: "Tema Scuro"
syncDeviceDarkMode: "Sincronizza il tema scuro con le impostazioni del dispositivo"
switchDarkModeManuallyWhenSyncEnabledConfirm: "({x}) è attiva. Vuoi disattivare la sincronizzazione e passare alla modalità manuale?"
drive: "Drive"
fileName: "Nome dell'allegato"
selectFile: "Scelta allegato"
selectFiles: "Scelta allegato"
selectFolder: "Seleziona cartella"
unselectFolder: "Deseleziona la cartella"
selectFolders: "Seleziona cartella"
fileNotSelected: "Nessun file selezionato"
renameFile: "Rinomina file"
@@ -342,6 +347,7 @@ addFile: "Allega"
showFile: "Visualizza file"
emptyDrive: "Il Drive è vuoto"
emptyFolder: "La cartella è vuota"
dropHereToUpload: "Trascina qui il tuo file per caricarlo"
unableToDelete: "Eliminazione impossibile"
inputNewFileName: "Inserisci nome del nuovo file"
inputNewDescription: "Inserisci una nuova descrizione"
@@ -452,7 +458,7 @@ setupOf2fa: "Impostare l'autenticazione a due fattori"
totp: "App di autenticazione a due fattori (2FA/MFA)"
totpDescription: "Puoi autenticarti inserendo un codice OTP tramite la tua App di autenticazione a due fattori (2FA/MFA)"
moderator: "Moderatore"
moderation: "moderazione"
moderation: "Moderazione"
moderationNote: "Promemoria di moderazione"
moderationNoteDescription: "Puoi scrivere promemoria condivisi solo tra moderatori."
addModerationNote: "Aggiungi promemoria di moderazione"
@@ -493,7 +499,7 @@ attachAsFileQuestion: "Il testo copiato eccede le dimensioni, vuoi allegarlo?"
onlyOneFileCanBeAttached: "È possibile allegare al messaggio soltanto uno file"
signinRequired: "Occorre avere un profilo registrato su questa istanza"
signinOrContinueOnRemote: "Per continuare, devi accedere alla tua istanza o registrarti su questa e poi accedere"
invitations: "Invita"
invitations: "Inviti"
invitationCode: "Codice di invito"
checking: "Confermando"
available: "Disponibile"
@@ -574,10 +580,12 @@ showFixedPostForm: "Visualizzare la finestra di pubblicazione in cima alla timel
showFixedPostFormInChannel: "Per i canali, mostra il modulo di pubblicazione in cima alla timeline"
withRepliesByDefaultForNewlyFollowed: "Quando segui nuovi profili, includi le risposte in TL come impostazione predefinita"
newNoteRecived: "Nuove Note da leggere"
newNote: "Nuove Note"
sounds: "Impostazioni suoni"
sound: "Suono"
notificationSoundSettings: "Preferenze di notifica"
listen: "Ascolta"
none: "Nessuno"
none: "Nessuna"
showInPage: "Visualizza in pagina"
popout: "Finestra pop-out"
volume: "Volume"
@@ -767,6 +775,7 @@ lockedAccountInfo: "A meno che non imposti la visibilità delle tue note su \"So
alwaysMarkSensitive: "Segnare automaticamente come espliciti gli allegati"
loadRawImages: "Visualizza le intere immagini allegate invece delle miniature."
disableShowingAnimatedImages: "Disabilitare le immagini animate"
disableShowingAnimatedImages_caption: "L'attivazione delle animazioni immagini potrebbe interferire sull'accessibilità e sul risparmio energetico nel dispositivo."
highlightSensitiveMedia: "Evidenzia i media espliciti"
verificationEmailSent: "Una mail di verifica è stata inviata. Si prega di accedere al collegamento per compiere la verifica."
notSet: "Non impostato"
@@ -790,6 +799,7 @@ wide: "Largo"
narrow: "Stretto"
reloadToApplySetting: "Le tue preferenze verranno impostate dopo il ricaricamento della pagina. Vuoi ricaricare adesso?"
needReloadToApply: "È necessario riavviare per rendere effettive le modifiche."
needToRestartServerToApply: "Per attivare le modifiche, occorre riavviare il server."
showTitlebar: "Visualizza la barra del titolo"
clearCache: "Svuota la cache"
onlineUsersCount: "{n} persone attive adesso"
@@ -893,7 +903,7 @@ useBlurEffect: "Utilizza effetto sfocatura"
learnMore: "Per saperne di più"
misskeyUpdated: "Misskey è stato aggiornato!"
whatIsNew: "Informazioni sull'aggiornamento"
translate: "Traduci"
translate: "Traduzione"
translatedFrom: "Traduzione da {x}"
accountDeletionInProgress: "È in corso l'eliminazione del profilo"
usernameInfo: "Un nome per identificare univocamente il tuo profilo sull'istanza. Puoi utilizzare caratteri alfanumerici maiuscoli, minuscoli e il trattino basso (_). Non potrai cambiare nome utente in seguito."
@@ -904,7 +914,7 @@ pubSub: "Publish/Subscribe del profilo"
lastCommunication: "La comunicazione più recente"
resolved: "Risolto"
unresolved: "Non risolto"
breakFollow: "Rimuovi Follower"
breakFollow: "Rimuovere Follower"
breakFollowConfirm: "Vuoi davvero togliere questo Follower?"
itsOn: "Abilitato"
itsOff: "Disabilitato"
@@ -996,6 +1006,7 @@ failedToUpload: "errore di caricamento"
cannotUploadBecauseInappropriate: "Non è possibile caricarlo perché è stato stabilito che potrebbe contenere contenuti inappropriati."
cannotUploadBecauseNoFreeSpace: "Impossibile caricare a causa della mancanza di spazio libero sul drive."
cannotUploadBecauseExceedsFileSizeLimit: "Il file non può essere caricato perché eccede le dimensioni consentite."
cannotUploadBecauseUnallowedFileType: "Impossibile caricare a causa di un tipo file non autorizzato."
beta: "Versione beta"
enableAutoSensitive: "Determinazione automatica del NSFW"
enableAutoSensitiveDescription: "Se disponibile, il flag NSFW viene impostato automaticamente sui media utilizzando l'apprendimento automatico. Anche se questa funzione è disattivata, in alcuni casi può essere impostata automaticamente."
@@ -1047,6 +1058,7 @@ permissionDeniedError: "Errore, attività non autorizzata"
permissionDeniedErrorDescription: "Non si dispone dell'autorizzazione per eseguire questa operazione."
preset: "Preimpostato"
selectFromPresets: "Seleziona preimpostato"
custom: "Personalizzato"
achievements: "Conquiste"
gotInvalidResponseError: "Risposta del server non valida"
gotInvalidResponseErrorDescription: "Il server potrebbe essere irraggiungibile o in manutenzione. Riprova più tardi."
@@ -1085,6 +1097,7 @@ prohibitedWordsDescription2: "Gli spazi creano la relazione \"E\" tra parole (qu
hiddenTags: "Hashtag nascosti"
hiddenTagsDescription: "Impedire la visualizzazione del tag impostato nei trend. Puoi impostare più valori, uno per riga."
notesSearchNotAvailable: "Non è possibile cercare tra le Note."
usersSearchNotAvailable: "La ricerca profili non è disponibile."
license: "Licenza"
unfavoriteConfirm: "Vuoi davvero rimuovere la preferenza?"
myClips: "Le mie Clip"
@@ -1159,6 +1172,7 @@ installed: "Installazione avvenuta"
branding: "Branding"
enableServerMachineStats: "Pubblicare le informazioni sul server"
enableIdenticonGeneration: "Generazione automatica delle Identicon"
showRoleBadgesOfRemoteUsers: "Visualizza i badge per i ruoli concessi ai profili remoti"
turnOffToImprovePerformance: "Disattiva, per migliorare le prestazioni"
createInviteCode: "Genera codice di invito"
createWithOptions: "Genera con opzioni"
@@ -1191,7 +1205,7 @@ replies: "Risposte"
renotes: "Rinota"
loadReplies: "Leggi le risposte"
loadConversation: "Leggi la conversazione"
pinnedList: "Elenco in primo piano"
pinnedList: "Lista in primo piano"
keepScreenOn: "Mantenere lo schermo acceso"
verifiedLink: "Abbiamo confermato la validità di questo collegamento"
notifyNotes: "Notifica nuove Note"
@@ -1236,7 +1250,7 @@ releaseToRefresh: "Rilascia per aggiornare"
refreshing: "Aggiornamento..."
pullDownToRefresh: "Trascinare per aggiornare"
useGroupedNotifications: "Mostra le notifiche raggruppate"
signupPendingError: "Si è verificato un problema durante la verifica del tuo indirizzo email. Potrebbe essere scaduto il collegamento temporaneo."
emailVerificationFailedError: "La verifica dell'indirizzo e-mail non è andata a buon fine. Il link potrebbe essere scaduto."
cwNotationRequired: "Devi indicare perché il contenuto è indicato come esplicito."
doReaction: "Reagisci"
code: "Codice"
@@ -1281,7 +1295,7 @@ sensitiveMediaRevealConfirm: "Questo allegato è esplicito, vuoi vederlo?"
createdLists: "Liste create"
createdAntennas: "Antenne create"
fromX: "Da {x}"
genEmbedCode: "Ottieni il codice di incorporamento"
genEmbedCode: "Ottieni il codice per incorporare"
noteOfThisUser: "Elenco di Note di questo profilo"
clipNoteLimitExceeded: "Non è possibile aggiungere ulteriori Note a questa Clip."
performance: "Prestazioni"
@@ -1306,13 +1320,15 @@ availableRoles: "Ruoli disponibili"
acknowledgeNotesAndEnable: "Attivare dopo averne compreso il comportamento."
federationSpecified: "Questo server è federato solo con istanze specifiche del Fediverso. Puoi interagire solo con quelle scelte dall'amministrazione."
federationDisabled: "Questo server ha la federazione disabilitata. Non puoi interagire con profili provenienti da altri server."
draft: "Bozza"
draftsAndScheduledNotes: "Bozze e Note pianificate"
confirmOnReact: "Confermare le reazioni"
reactAreYouSure: "Vuoi davvero reagire con {emoji} ?"
markAsSensitiveConfirm: "Vuoi davvero indicare questo contenuto multimediale come esplicito?"
unmarkAsSensitiveConfirm: "Vuoi davvero indicare come non esplicito il contenuto multimediale?"
preferences: "Preferenze"
accessibility: "Accessibilità"
preferencesProfile: "Profilo preferenze"
preferencesProfile: "Preferenze del profilo"
copyPreferenceId: "Copia ID preferenze"
resetToDefaultValue: "Ripristina a predefinito"
overrideByAccount: "Sovrascrivere col profilo"
@@ -1323,6 +1339,7 @@ restore: "Ripristina"
syncBetweenDevices: "Sincronizzazione tra i dispositivi"
preferenceSyncConflictTitle: "Sul server esiste già il valore impostato"
preferenceSyncConflictText: "Le impostazione sincronizzata salverà il valore sul server. Però, bada che esiste già un valore sul server. Quale vorresti sovrascrivere?"
preferenceSyncConflictChoiceMerge: "Integra"
preferenceSyncConflictChoiceServer: "Valore del server"
preferenceSyncConflictChoiceDevice: "Valore del dispositivo"
preferenceSyncConflictChoiceCancel: "Annulla la sincronizzazione"
@@ -1332,9 +1349,11 @@ postForm: "Finestra di pubblicazione"
textCount: "Il numero di caratteri"
information: "Informazioni"
chat: "Chat"
directMessage: "Chattare insieme"
directMessage_short: "Messaggio"
migrateOldSettings: "Migrare le vecchie impostazioni"
migrateOldSettings_description: "Di solito, viene fatto automaticamente. Se per qualche motivo non fossero migrate con successo, è possibile avviare il processo di migrazione manualmente, sovrascrivendo le configurazioni attuali."
compress: "Comprimi"
compress: "Compressione"
right: "Destra"
bottom: "Sotto"
top: "Sopra"
@@ -1342,7 +1361,55 @@ embed: "Incorporare"
settingsMigrating: "Migrazione delle impostazioni. Attendere prego ... (Puoi anche migrare manualmente in un secondo momento, nel menu: Impostazioni → Altro → Migrazione delle impostazioni)"
readonly: "Sola lettura"
goToDeck: "Torna al Deck"
federationJobs: "Coda di federazione"
driveAboutTip: "Il Drive mostra l'elenco di file caricati in passato. Puoi organizzarli in cartelle, riusarli allegandoli ad altre note, o caricarli in anticipo e poi pubblicarli in un secondo momento. Tieni presente che se elimini un file, non sarà più visibile in nessuno degli oggetti a cui è allegato (Note, pagine, avatar, banner, ecc.)"
scrollToClose: "Scorri per chiudere"
advice: "Consiglio"
realtimeMode: "Modalità in tempo reale"
turnItOn: "Attivare"
turnItOff: "Disattivare"
emojiMute: "Silenzia emoji"
emojiUnmute: "De silenzia emoji"
muteX: "Silenzia {x}"
unmuteX: "De silenzia {x}"
abort: "Annulla"
tip: "Suggerimento"
redisplayAllTips: "Mostra tutti i suggerimenti"
hideAllTips: "Nascondi tutti i suggerimenti"
defaultImageCompressionLevel: "Livello predefinito di compressione immagini"
defaultImageCompressionLevel_description: "La compressione diminuisce la qualità dell'immagine, poca compressione mantiene alta qualità delle immagini. Aumentandola, si riducono le dimensioni del file, a discapito della qualità dell'immagine."
defaultCompressionLevel: "Compressione predefinita"
defaultCompressionLevel_description: "Diminuisci per mantenere la qualità aumentando le dimensioni del file.<br> Aumenta per ridurre le dimensioni del file e anche la qualità."
inMinutes: "min"
inDays: "giorni"
safeModeEnabled: "La modalità sicura è attiva"
pluginsAreDisabledBecauseSafeMode: "Tutti i plugin sono disattivati, poiché la modalità sicura è attiva."
customCssIsDisabledBecauseSafeMode: "Il CSS personalizzato non è stato applicato, poiché la modalità sicura è attiva."
themeIsDefaultBecauseSafeMode: "Quando la modalità sicura è attiva, viene utilizzato il tema predefinito. Quando la modalità sicura viene disattivata, il tema torna a essere quello precedente."
thankYouForTestingBeta: "Grazie per la tua collaborazione nella verifica delle versioni beta!"
createUserSpecifiedNote: "Crea Nota privata"
schedulePost: "Pianificare la pubblicazione"
scheduleToPostOnX: "Pianificare la pubblicazione {x}"
scheduledToPostOnX: "Pubblicazione pianificata {x}"
schedule: "Pianificare"
scheduled: "Pianificata"
widgets: "Riquadri"
deviceInfo: "Informazioni sul dispositivo"
deviceInfoDescription: "Se ci contatti per ricevere supporto tecnico, ti preghiamo di includere le seguenti informazioni per aiutarci a risolvere il tuo problema."
_compression:
_quality:
high: "Alta qualità"
medium: "Media qualità"
low: "Bassa qualità"
_size:
large: "Taglia grande"
medium: "Taglia media"
small: "Taglia piccola"
_order:
newest: "Prima i più recenti"
oldest: "Meno recenti prima"
_chat:
messages: "Messaggi"
noMessagesYet: "Ancora nessun messaggio"
newMessage: "Nuovo messaggio"
individualChat: "Chat individuale"
@@ -1353,12 +1420,12 @@ _chat:
inviteUserToChat: "Invita a chattare altre persone"
yourRooms: "Le tue stanze"
joiningRooms: "Stanze a cui partecipi"
invitations: "Invita"
invitations: "Inviti"
noInvitations: "Nessun invito"
history: "Cronologia"
noHistory: "Nessuna cronologia"
noRooms: "Nessuna stanza"
inviteUser: "Invita"
inviteUser: "Invita persona"
sentInvitations: "Inviti spediti"
join: "Entra"
ignore: "Ignora"
@@ -1375,6 +1442,8 @@ _chat:
chatNotAvailableInOtherAccount: "La chat non è disponibile nel profilo dell'altra persona."
cannotChatWithTheUser: "Impossibile chattare con questa persona"
cannotChatWithTheUser_description: "La chat potrebbe non essere disponibile, oppure l'altra persona potrebbe non esserlo."
youAreNotAMemberOfThisRoomButInvited: "Non partecipi a questa stanza di chat, ma hai ricevuto un invito. Per partecipare, accetta l'invito."
doYouAcceptInvitation: "Intendi accettare l'invito?"
chatWithThisUser: "Chatta con questa persona"
thisUserAllowsChatOnlyFromFollowers: "Questa persona permette di chattare soltanto i propri Follower."
thisUserAllowsChatOnlyFromFollowing: "Questa persona permette di chattare soltanto ai suoi Follow."
@@ -1414,10 +1483,21 @@ _settings:
makeEveryTextElementsSelectable: "Imposta ogni elemento come selezionabile"
makeEveryTextElementsSelectable_description: "Potrebbe ridurre l'usabilità in alcune situazioni."
useStickyIcons: "Fissa le icone durante lo scorrimento"
enableHighQualityImagePlaceholders: "Mostra un segnaposto per immagini in alta qualità"
uiAnimations: "Animazione dell'interfaccia"
showNavbarSubButtons: "Mostra i pulsanti secondari nella barra di navigazione"
ifOn: "Quando attivato"
ifOff: "Quando disattivato"
enableSyncThemesBetweenDevices: "Sincronizzare il tema tra i dispositivi"
enablePullToRefresh: "Scorri e aggiorna"
enablePullToRefresh_description: "Clicca col mouse e gira la rotella."
realtimeMode_description: "Connette al server e aggiorna il contenuto in tempo reale. Potrebbe aumentare l'uso dei dati e il consumo della batteria."
contentsUpdateFrequency: "Frequenza di ricezione contenuti"
contentsUpdateFrequency_description: "Se l'impostazione è alta, verranno aggiornati più frequentemente, consumando più dati e più batteria."
contentsUpdateFrequency_description2: "Quando la modalità è in tempo reale, arriveranno a prescindere."
showUrlPreview: "Mostra anteprima dell'URL"
showAvailableReactionsFirstInNote: "Mostra le reazioni disponibili in alto"
showPageTabBarBottom: "Visualizza le schede della pagina nella parte inferiore"
_chat:
showSenderName: "Mostra il nome del mittente"
sendOnEnter: "Invio spedisce"
@@ -1425,6 +1505,7 @@ _preferencesProfile:
profileName: "Nome del profilo"
profileNameDescription: "Impostare il nome che indentifica questo dispositivo."
profileNameDescription2: "Es: \"PC principale\" o \"Cellulare\""
manageProfiles: "Gestione profili"
_preferencesBackup:
autoBackup: "Backup automatico"
restoreFromBackup: "Ripristinare da backup"
@@ -1463,6 +1544,7 @@ _delivery:
manuallySuspended: "Sospesa manualmente"
goneSuspended: "Sospensione server a causa dell'eliminazione"
autoSuspendedForNotResponding: "Sospensione del server a causa di mancata risposta"
softwareSuspended: "Attualmente non disponibile perché il software non è più distribuito"
_bubbleGame:
howToPlay: "Come giocare"
hold: "Tieni"
@@ -1589,11 +1671,37 @@ _serverSettings:
fanoutTimelineDbFallback: "Elaborazione dati alternativa"
fanoutTimelineDbFallbackDescription: "Attivando l'elaborazione alternativa, verrà interrogato ulteriormente il database se la timeline non è nella cache. \nDisattivando, si può ridurre ulteriormente il carico del server, evitando l'elaborazione alternativa, ma limitando l'intervallo recuperabile delle timeline."
reactionsBufferingDescription: "Attivando questa opzione, puoi migliorare significativamente le prestazioni durante la creazione delle reazioni e ridurre il carico sul database. Tuttavia, aumenterà l'impiego di memoria Redis."
remoteNotesCleaning: "Pulizia automatica dei contenuti remoti"
remoteNotesCleaning_description: "Se abilitata, verranno periodicamente rimosse le vecchie Note remote senza relazioni, per ridurre il sovraccarico del sistema."
remoteNotesCleaningMaxProcessingDuration: "Durata massima del processo di pulizia"
remoteNotesCleaningExpiryDaysForEachNotes: "Periodo minimo di conservazione delle note"
inquiryUrl: "URL di contatto"
inquiryUrlDescription: "Specificare l'URL al modulo di contatto, oppure le informazioni con i dati di contatto dell'amministrazione."
openRegistration: "Registrazioni aperte"
openRegistrationWarning: "Lapertura della registrazione comporta dei rischi. Ti consigliamo di attivarla solo se hai predisposto il monitoraggio continuo del tuo server e puoi rispondere immediatamente se si verifica un problema."
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "Per prevenire SPAM, questa impostazione verrà disattivata automaticamente, se non si rileva alcuna attività di moderazione durante un certo periodo di tempo."
deliverSuspendedSoftware: "Software fuori produzione"
deliverSuspendedSoftwareDescription: "A causa di vulnerabilità o altri motivi, puoi interrompere la distribuzione di un software da un server specificandone il nome e la versione. Le informazioni sono fornite dall'altro server e l'autenticità non è garantita. Puoi indicare un intervallo di versione semantica, ma specificando >= 2024.3.1 non verranno incluse le versioni personalizzate come ad esempio 2024.3.1-custom.0, pertanto ti consigliamo di specificare una versione come >= 2024.3.1-0."
singleUserMode: "Modalità utente singolo"
singleUserMode_description: "Se sei l'unica persona a utilizzare questo server, l'abilitazione di questa modalità ottimizzerà le prestazioni."
signToActivityPubGet: "Firma delle richieste GET"
signToActivityPubGet_description: "Normalmente questa opzione dovrebbe essere abilitata. Se si verificano problemi con la comunicazione federata, disabilitarla potrebbe migliorare la situazione, ma d'altro canto potrebbe rendere impossibile la comunicazione, a seconda del server."
proxyRemoteFiles: "Proxy di file remoti"
proxyRemoteFiles_description: "Se abilitato, i file remoti verranno serviti tramite proxy. Utile per generare miniature delle immagini e proteggere la privacy degli utenti."
allowExternalApRedirect: "Consenti reindirizzamenti per le query tramite ActivityPub"
allowExternalApRedirect_description: "Se abilitata, consente ad altri server di interrogare contenuti di terze parti tramite il tuo server, con conseguente potenziale falsificazione dei contenuti."
userGeneratedContentsVisibilityForVisitor: "Visibilità dei contenuti generati dagli utenti ai non utenti"
userGeneratedContentsVisibilityForVisitor_description: "Questa funzionalità è utile per impedire che contenuti remoti inappropriati e difficili da moderare vengano inavvertitamente resi pubblici su Internet tramite il proprio server."
userGeneratedContentsVisibilityForVisitor_description2: "Esistono dei rischi nell'esporre incondizionatamente su internet tutto il contenuto del tuo server, incluso il contenuto remoto ricevuto da altri server. In particolare, occorre prestare attenzione, perché le persone non consapevoli della federazione potrebbero erroneamente credere che il contenuto remoto sia stato invece creato all'interno del proprio server."
restartServerSetupWizardConfirm_title: "Vuoi ripetere la procedura guidata di configurazione iniziale del server?"
restartServerSetupWizardConfirm_text: "Verranno ripristinate alcune tue impostazioni personalizzate."
entrancePageStyle: "Stile della pagina di ingresso"
showTimelineForVisitor: "Mostra la Timeline a visitatori non autenticati"
showActivitiesForVisitor: "Mostrare la propria attività"
_userGeneratedContentsVisibilityForVisitor:
all: "Tutto pubblico"
localOnly: "Pubblica solo contenuti locali, mantieni privati i contenuti remoti"
none: "Tutto privato"
_accountMigration:
moveFrom: "Migra un altro profilo dentro a questo"
moveFromSub: "Crea un alias verso un altro profilo remoto"
@@ -1911,6 +2019,8 @@ _role:
canManageCustomEmojis: "Gestire le emoji personalizzate"
canManageAvatarDecorations: "Gestisce le decorazioni di immagini del profilo"
driveCapacity: "Capienza del Drive"
maxFileSize: "Dimensione massima del file caricabile"
maxFileSize_caption: "Potrebbero esserci altre impostazioni nella fase precedente, come reverse proxy o CDN."
alwaysMarkNsfw: "Impostare sempre come esplicito (NSFW)"
canUpdateBioMedia: "Può aggiornare foto profilo e di testata"
pinMax: "Quantità massima di Note in primo piano"
@@ -1925,6 +2035,7 @@ _role:
descriptionOfRateLimitFactor: "I rapporti più bassi sono meno restrittivi, quelli più alti lo sono di più."
canHideAds: "Nascondere i banner"
canSearchNotes: "Ricercare nelle Note"
canSearchUsers: "Può cercare profili"
canUseTranslator: "Tradurre le Note"
avatarDecorationLimit: "Numero massimo di decorazioni foto profilo installabili"
canImportAntennas: "Può importare Antenne"
@@ -1933,6 +2044,12 @@ _role:
canImportMuting: "Può importare Silenziati"
canImportUserLists: "Può importare liste di Profili"
chatAvailability: "Chat consentita"
uploadableFileTypes: "Tipi di file caricabili"
uploadableFileTypes_caption: "Specifica il tipo MIME. Puoi specificare più valori separandoli andando a capo, oppure indicare caratteri jolly con un asterisco (*). Ad esempio: image/*"
uploadableFileTypes_caption2: "A seconda del file, il tipo potrebbe non essere determinato. Se si desidera consentire tali file, aggiungere {x} alla specifica."
noteDraftLimit: "Numero massimo di Note in bozza, lato server"
scheduledNoteLimit: "Quantità di Note pianificabili contemporaneamente"
watermarkAvailable: "Disponibilità della funzione filigrana"
_condition:
roleAssignedTo: "Assegnato a ruoli manualmente"
isLocal: "Profilo locale"
@@ -2092,6 +2209,7 @@ _theme:
install: "Installa un tema"
manage: "Gestione dei temi"
code: "Codice tema"
copyThemeCode: "Copia il codice del Tema"
description: "Descrizione"
installed: "{name} è installato"
installedThemes: "Temi installati"
@@ -2135,7 +2253,7 @@ _theme:
hashtag: "Hashtag"
mention: "Menzioni"
mentionMe: "Menzioni (di me)"
renote: "Renota"
renote: "Rinota"
modalBg: "Sfondo modale."
divider: "Interruzione di linea"
scrollbarHandle: "Maniglie della barra di scorrimento"
@@ -2150,7 +2268,6 @@ _theme:
buttonBg: "Sfondo del pulsante"
buttonHoverBg: "Sfondo del pulsante (sorvolato)"
inputBorder: "Inquadra casella di testo"
driveFolderBg: "Sfondo della cartella di disco"
badge: "Distintivo"
messageBg: "Sfondo della chat"
fgHighlighted: "Testo in evidenza."
@@ -2192,6 +2309,7 @@ _time:
minute: "min"
hour: "ore"
day: "giorni"
month: "Mese"
_2fa:
alreadyRegistered: "La configurazione è stata già completata."
registerTOTP: "Registra una App di autenticazione a due fattori (2FA/MFA)"
@@ -2321,6 +2439,7 @@ _auth:
scopeUser: "Sto funzionando per il seguente profilo"
pleaseLogin: "Per favore accedi al tuo account per cambiare i permessi dell'applicazione"
byClickingYouWillBeRedirectedToThisUrl: "Consentendo l'accesso, si verrà reindirizzati presso questo indirizzo URL"
alreadyAuthorized: "Questa applicazione è già autorizzata ad accedere."
_antennaSources:
all: "Tutte le note"
homeTimeline: "Note dai tuoi Following"
@@ -2366,7 +2485,7 @@ _widgets:
chooseList: "Seleziona una lista"
clicker: "Cliccheria"
birthdayFollowings: "Compleanni del giorno"
chat: "Chat"
chat: "Chatta con questa persona"
_cw:
hide: "Nascondere"
show: "Continua la lettura..."
@@ -2406,6 +2525,8 @@ _visibility:
disableFederation: "Senza federazione"
disableFederationDescription: "Non spedire attività alle altre istanze remote"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "Alcuni file non sono stati caricati. Vuoi annullare l'operazione?"
uploaderTip: "Il file non è ancora stato caricato. Nel menu file (tre puntini), puoi ritagliare l'immagine, mettere la filigrana, decidere la presenza o l'assenza di compressione... Il file verrà caricato automaticamente quando pubblichi la Nota."
replyPlaceholder: "Rispondi a questa nota..."
quotePlaceholder: "Cita questa nota..."
channelPlaceholder: "Pubblica sul canale..."
@@ -2554,6 +2675,8 @@ _notification:
youReceivedFollowRequest: "Hai ricevuto una richiesta di follow"
yourFollowRequestAccepted: "La tua richiesta di follow è stata accettata"
pollEnded: "Risultati del sondaggio."
scheduledNotePosted: "Pubblicazione Nota pianificata"
scheduledNotePostFailed: "Impossibile pubblicare la Nota pianificata"
newNote: "Nuove Note"
unreadAntennaNote: "Antenna {name}"
roleAssigned: "Ruolo assegnato"
@@ -2574,7 +2697,7 @@ _notification:
createToken: "È stato creato un token di accesso"
createTokenDescription: "In caso contrario, eliminare il token di accesso tramite ({text})."
_types:
all: "Tutto"
all: "Tutte"
note: "Nuove Note"
follow: "Follower"
mention: "Menzioni"
@@ -2582,7 +2705,9 @@ _notification:
renote: "Rinota"
quote: "Cita"
reaction: "Reazioni"
pollEnded: "Sondaggio chiuso."
pollEnded: "Sondaggio terminato"
scheduledNotePosted: "Nota pianificata correttamente"
scheduledNotePostFailed: "La pianificazione della Nota è fallita"
receiveFollowRequest: "Richieste di follow in arrivo"
followRequestAccepted: "Richieste di follow accettate"
roleAssigned: "Ruolo concesso"
@@ -2590,7 +2715,7 @@ _notification:
achievementEarned: "Risultato raggiunto"
exportCompleted: "Esportazione completata"
login: "Accessi"
createToken: "Creare un token di accesso"
createToken: "Aggiunto un token di accesso"
test: "Notifiche di test"
app: "Notifiche da applicazioni"
_actions:
@@ -2598,7 +2723,7 @@ _notification:
reply: "Rispondi"
renote: "Rinota"
_deck:
alwaysShowMainColumn: "Mostra sempre la colonna principale"
alwaysShowMainColumn: "Mostrare sempre la colonna Principale"
columnAlign: "Allineamento delle colonne"
columnGap: "Spessore del margine tra colonne"
deckMenuPosition: "Posizione del menu Deck"
@@ -2615,8 +2740,8 @@ _deck:
profile: "Profilo"
newProfile: "Nuovo profilo"
deleteProfile: "Cancellare il profilo."
introduction: "Combinate le colonne per creare la vostra interfaccia!"
introduction2: "È possibile aggiungere colonne in qualsiasi momento premendo + sulla destra dello schermo."
introduction: "Crea la tua interfaccia combinando le colonne!"
introduction2: "Per aggiungere una colonna, cliccare il bottone + (più) visibile al margine dello schermo."
widgetsIntroduction: "Dal menu della colonna, selezionare \"Modifica i riquadri\" per aggiungere un un riquadro con funzionalità"
useSimpleUiForNonRootPages: "Visualizza sotto pagine con interfaccia web semplice"
usedAsMinWidthWhenFlexible: "Se \"larghezza flessibile\" è abilitato, questa diventa la larghezza minima"
@@ -2633,7 +2758,7 @@ _deck:
mentions: "Menzioni"
direct: "Note Dirette"
roleTimeline: "Timeline Ruolo"
chat: "Chat"
chat: "Chatta con questa persona"
_dialog:
charactersExceeded: "Hai superato il limite di {max} caratteri! ({current})"
charactersBelow: "Sei al di sotto del minimo di {min} caratteri! ({current})"
@@ -2682,56 +2807,56 @@ _abuseReport:
notifiedWebhook: "Webhook da usare"
deleteConfirm: "Vuoi davvero rimuovere il destinatario della notifica?"
_moderationLogTypes:
createRole: "Ruolo creato"
deleteRole: "Ruolo eliminato"
updateRole: "Ruolo aggiornato"
assignRole: "Ruolo assegnato"
unassignRole: "Ruolo disassegnato"
suspend: "Sospensione"
unsuspend: "Sospensione rimossa"
addCustomEmoji: "Emoji personalizzata aggiunta"
updateCustomEmoji: "Emoji personalizzata aggiornata"
deleteCustomEmoji: "Emoji personalizzata eliminata"
updateServerSettings: "Impostazioni del server aggiornate"
updateUserNote: "Promemoria di moderazione aggiornato"
deleteDriveFile: "File da Drive eliminato"
deleteNote: "Nota eliminata"
createGlobalAnnouncement: "Annuncio globale creato"
createUserAnnouncement: "Annuncio ai profili iscritti creato"
updateGlobalAnnouncement: "Annuncio globale aggiornato"
updateUserAnnouncement: "Annuncio ai profili iscritti aggiornato"
deleteGlobalAnnouncement: "Annuncio globale eliminato"
deleteUserAnnouncement: "Annuncio ai profili iscritti eliminato"
resetPassword: "Password azzerata"
suspendRemoteInstance: "Istanza remota sospesa"
unsuspendRemoteInstance: "Istanza remota riattivata"
updateRemoteInstanceNote: "Aggiornamento del promemoria di moderazione per il server remoto"
markSensitiveDriveFile: "File nel Drive segnato come esplicito"
unmarkSensitiveDriveFile: "File nel Drive segnato come non esplicito"
resolveAbuseReport: "Segnalazione risolta"
forwardAbuseReport: "Segnalazione inoltrata"
updateAbuseReportNote: "Ha aggiornato la segnalazione"
createInvitation: "Genera codice di invito"
createAd: "Banner creato"
deleteAd: "Banner eliminato"
updateAd: "Banner aggiornato"
createAvatarDecoration: "Creazione decorazione della foto profilo"
updateAvatarDecoration: "Aggiornamento decorazione foto profilo"
deleteAvatarDecoration: "Eliminazione decorazione della foto profilo"
unsetUserAvatar: "Rimossa foto profilo"
unsetUserBanner: "Rimossa intestazione profilo"
createSystemWebhook: "Crea un SystemWebhook"
updateSystemWebhook: "Modifica SystemWebhook"
deleteSystemWebhook: "Elimina SystemWebhook"
createRole: "Crea un Ruolo"
deleteRole: "Elimina un Ruolo"
updateRole: "Modifica un ruolo"
assignRole: "Assegna un Ruolo"
unassignRole: "Toglie un Ruolo al Profilo"
suspend: "Sospende"
unsuspend: "Solleva la sospensione"
addCustomEmoji: "Aggiunge Emoji personalizzata"
updateCustomEmoji: "Modifica Emoji personalizzata"
deleteCustomEmoji: "Elimina Emoji personalizzata"
updateServerSettings: "Modifica le impostazioni del server"
updateUserNote: "Modifica un promemoria di moderazione"
deleteDriveFile: "Elimina un file dal Drive"
deleteNote: "Elimina una Nota"
createGlobalAnnouncement: "Crea un annuncio globale"
createUserAnnouncement: "Crea un annuncio ai profili già iscritti"
updateGlobalAnnouncement: "Modifica un annuncio globale"
updateUserAnnouncement: "Modifica un annuncio ai profili già iscritti"
deleteGlobalAnnouncement: "Elimina un annuncio globale"
deleteUserAnnouncement: "Elimina un annuncio ai profili già iscritti"
resetPassword: "Azzera la password"
suspendRemoteInstance: "Sospende una istanza remota"
unsuspendRemoteInstance: "Riattiva una istanza remota"
updateRemoteInstanceNote: "Modifica il promemoria di moderazione per il server remoto"
markSensitiveDriveFile: "Aggiunge NSFW a un file nel Drive"
unmarkSensitiveDriveFile: "Toglie NSFW da un file nel Drive"
resolveAbuseReport: "Risolve una segnalazione"
forwardAbuseReport: "Inoltra una segnalazione"
updateAbuseReportNote: "Modifica una segnalazione"
createInvitation: "Genera un codice di invito"
createAd: "Aggiunge un Banner"
deleteAd: "Elimina un Banner"
updateAd: "Modifica un Banner"
createAvatarDecoration: "Crea una decorazione della foto profilo"
updateAvatarDecoration: "Modifica una decorazione della foto profilo"
deleteAvatarDecoration: "Elimina una decorazione della foto profilo"
unsetUserAvatar: "Toglie una foto profilo"
unsetUserBanner: "Toglie una immagine di intestazione profilo"
createSystemWebhook: "Aggiunge un System Webhook"
updateSystemWebhook: "Modifica un System Webhook"
deleteSystemWebhook: "Elimina un System Webhook"
createAbuseReportNotificationRecipient: "Crea destinatario per le notifiche di segnalazioni"
updateAbuseReportNotificationRecipient: "Aggiorna destinatario notifiche di segnalazioni"
deleteAbuseReportNotificationRecipient: "Elimina destinatario notifiche di segnalazioni"
deleteAccount: "Quando viene eliminato un profilo"
deletePage: "Pagina eliminata"
deleteFlash: "Play eliminato"
deleteGalleryPost: "Eliminazione pubblicazione nella Galleria"
deleteChatRoom: "Elimina chat"
updateProxyAccountDescription: "Aggiornata la descrizione del profilo proxy"
updateAbuseReportNotificationRecipient: "Modifica un destinatario per le notifiche di segnalazioni"
deleteAbuseReportNotificationRecipient: "Elimina un destinatario per le notifiche di segnalazioni"
deleteAccount: "Elimina un profilo"
deletePage: "Elimina una Pagina"
deleteFlash: "Elimina un Play"
deleteGalleryPost: "Elimina pubblicazione nella Galleria"
deleteChatRoom: "Elimina una Chat"
updateProxyAccountDescription: "Aggiorna la descrizione del profilo proxy"
_fileViewer:
title: "Dettagli del file"
type: "Tipo di file"
@@ -2739,6 +2864,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Caricato il"
attachedNotes: "Note a cui è allegato"
usage: "In uso"
thisPageCanBeSeenFromTheAuthor: "Questa pagina può essere vista solo da chi ha caricato il file."
_externalResourceInstaller:
title: "Installa da sito esterno"
@@ -2786,9 +2912,12 @@ _dataSaver:
_avatar:
title: "Immagine del profilo"
description: "Impedire l'animazione per l'immagine del profilo. Le immagini animate possono avere dimensioni file maggiori rispetto a quelle normali, puoi ridurre ulteriormente l'utilizzo dei dati."
_urlPreview:
title: "Anteprime delle URL"
description: "Impedire il caricamento delle anteprime URL."
_urlPreviewThumbnail:
title: "Nascondi le miniature nell'anteprima URL"
description: "Le immagini in miniatura nell'anteprima URL non verranno più caricate."
_disableUrlPreview:
title: "Disabilita l'anteprima URL"
description: "Disabilita la funzione di anteprima URL. A differenza di una semplice immagine in miniatura, questo riduce il tempo necessario per caricare le informazioni collegate."
_code:
title: "Codice evidenziato"
description: "Impedire che il codice sorgente sia automaticamente evidenziato. Evidenziare il codice richiede il caricamento di un file per ogni linguaggio. Puoi evidenziare soltanto il codice che intendi leggere e ridurre il traffico inutilizzato."
@@ -2846,6 +2975,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "Impostazioni per l'anteprima delle URL"
enable: "Attiva l'anteprima delle URL"
allowRedirect: "Segui i reindirizzamenti per visualizzare le anteprime"
allowRedirectDescription: "Se la URL inserita contiene un reindirizzamento, decidi di seguire il reindirizzamento fino alla destinazione, visualizzandone l'anteprima. Disabilitando questa opzione si risparmiano risorse del server, ma il contenuto effettivo dal reindirizzamento, non verrà visualizzato."
timeout: "Timeout dell'anteprima in millisecondi"
timeoutDescription: "Impegna al massimo il tempo indicato, altrimenti ignora l'anteprima"
maximumContentLength: "Grandezza del contenuto (Content-Length in byte)"
@@ -2919,15 +3050,11 @@ _customEmojisManager:
uploadSettingDescription: "Questa schermata ti permette di scegliere il comportamento durante il caricamento delle emoji."
directoryToCategoryLabel: "Inseriscile in una cartella omonima alla categoria"
directoryToCategoryCaption: "Crea il campo categoria in base alla cartella."
emojiInputAreaCaption: "Seleziona l'emoji da registrare utilizzando uno dei metodi."
emojiInputAreaList1: "Trascinare una immagine o una cartella in quest'area"
emojiInputAreaList2: "Clicca per scegliere file dal tuo dispositivo"
emojiInputAreaList3: "Clicca per selezionare dal Drive"
confirmRegisterEmojisDescription: "Registrazione delle emoji elencate come nuove emoji personalizzate. Vuoi davvero procedere? (Per evitare sovraccarichi, puoi registrare al massimo {count} emoji per volta)"
confirmClearEmojisDescription: "Annullare le modifiche e cancella le emoji nell'elenco. Confermi?"
confirmUploadEmojisDescription: "Caricamento sul Drive di {count} file locali. Vuoi davvero procedere?"
_embedCodeGen:
title: "Personalizza il codice di incorporamento"
title: "Personalizza il codice per incorporare"
header: "Mostra la testata"
autoload: "Carica automaticamente di più (sconsigliato)"
maxHeight: "Altezza massima"
@@ -2936,8 +3063,8 @@ _embedCodeGen:
previewIsNotActual: "Poiché supera l'intervallo che può essere visualizzato in anteprima, la visualizzazione vera e propria sarà diversa quando effettivamente incorporata."
rounded: "Bordo arrotondato"
border: "Aggiungi un bordo al contenitore"
applyToPreview: "Applica all'anteprima"
generateCode: "Crea il codice di incorporamento"
applyToPreview: "Aggiorna l'anteprima"
generateCode: "Crea il codice per incorporare"
codeGenerated: "Codice generato"
codeGeneratedDescription: "Incolla il codice appena generato sul tuo sito web."
_selfXssPrevention:
@@ -2990,6 +3117,7 @@ _bootErrors:
otherOption1: "Nelle impostazioni, cancellare le impostazioni del client e svuotare la cache"
otherOption2: "Avviare il client predefinito"
otherOption3: "Avviare lo strumento di riparazione"
otherOption4: "Avvia Misskey in modalità sicura"
_search:
searchScopeAll: "Tutte"
searchScopeLocal: "Locale"
@@ -2998,3 +3126,194 @@ _search:
pleaseEnterServerHost: "Inserire il nome host"
pleaseSelectUser: "Per favore, seleziona un profilo"
serverHostPlaceholder: "Es: misskey.example.com"
_serverSetupWizard:
installCompleted: "L'installazione di Misskey è completata!"
firstCreateAccount: "Per prima cosa, crea un account amministratore."
accountCreated: "Il tuo account amministratore è stato creato!"
serverSetting: "Configurazione del server"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "Questa procedura guidata ti aiuterà a configurare facilmente il tuo server in modo ottimale."
settingsYouMakeHereCanBeChangedLater: "Potrai anche modificare le impostazioni in seguito."
howWillYouUseMisskey: "Come si usa Misskey?"
_use:
single: "Modalità utenza singola"
single_description: "Se intendi usarlo come tuo server personale"
single_youCanCreateMultipleAccounts: "Anche se lo utilizzi come server per una sola persona, puoi creare più account in base alle tue esigenze."
group: "Modalità multi utentza"
group_description: "Invita altre persone fidate ad usare il server insieme a te"
open: "Server aperto"
open_description: "Per ospitare un numero imprecisato di persone"
openServerAdvice: "Ospitare un numero imprecisato di persone comporta dei rischi. Ti consigliamo di adottare un solido sistema di moderazione, in modo da poter gestire eventuali problemi che potrebbero presentarsi pubblicando contenuti proposti da altre persone, che potrebbero essere sconosciute."
openServerAntiSpamAdvice: "Presta molta attenzione alla sicurezza, ad esempio attivando funzionalità anti-bot (iscrizioni automatiche) come reCAPTCHA. Questo può evitare che il tuo server diventi un trampolino di lancio per lo spam di altri."
howManyUsersDoYouExpect: "Quante persone pensi che parteciperanno?"
_scale:
small: "100 persone o meno (piccolo)"
medium: "Da 100 a 1000 persone (medio)"
large: "Oltre 1000 persone (grande)"
largeScaleServerAdvice: "Configurare grandi server potrebbe richiedere conoscenze infrastrutturali avanzate, ad esempio, il bilanciamento del carico e la replicazione del database."
doYouConnectToFediverse: "Vuoi connetterti al Fediverso?"
doYouConnectToFediverse_description1: "Collegandosi a una rete di server distribuiti, denominata Fediverso, potrai scambiare contenuti con altri server, tramite il protocollo di comunicazione ActivityPub."
doYouConnectToFediverse_description2: "Connettersi al Fediverso è anche detto \"federazione\"."
youCanConfigureMoreFederationSettingsLater: "Puoi svolgere la configurazione avanzata anche dopo. Ad esempio specificando quali server possono federarsi."
remoteContentsCleaning: "Pulizia automatica dei contenuti in arrivo"
remoteContentsCleaning_description: "Con la federazione funzionante, riceverai sempre più contenuti. Abilitando la pulizia automatica, i contenuti non referenziati e obsoleti verranno rimossi automaticamente dai tuoi server, risparmiando spazio di archiviazione."
adminInfo: "Informazioni sull'amministratore"
adminInfo_description: "Imposta le informazioni dell'amministratore utilizzate per accettare le richieste."
adminInfo_mustBeFilled: "Questa operazione è necessaria su un server aperto o se è attiva la federazione."
followingSettingsAreRecommended: "Si consigliano le seguenti impostazioni:"
applyTheseSettings: "Applica questa impostazione"
skipSettings: "Salta l'installazione"
settingsCompleted: "Installazione completata!"
settingsCompleted_description: "Grazie per il tuo impegno. Adesso che hai completato la configurazione, puoi iniziare a utilizzare il tuo server."
settingsCompleted_description2: "Le impostazioni dettagliate del server possono essere effettuate tramite il Pannello di controllo."
donationRequest: "Per favore Fai una donazione"
_donationRequest:
text1: "Misskey è un software libero sviluppato da volontari."
text2: "Se puoi, ti preghiamo di prendere in considerazione l'idea di fare una donazione, così potremo continuare a sviluppare."
text3: "Sono previsti anche dei vantaggi speciali per i sostenitori!"
_uploader:
editImage: "Modifica immagine"
compressedToX: "Compresso in {x}"
savedXPercent: "{x}% risparmiati"
abortConfirm: "Alcuni file non sono stati caricati. Vuoi annullare l'operazione?"
doneConfirm: "Alcuni file non sono stati caricati. Vuoi completarli?"
maxFileSizeIsX: "La dimensione massima del file che puoi caricare è {x}."
allowedTypes: "Tipi di file caricabili"
tip: "Il file non è ancora stato caricato. Puoi controllare, rinominare, comprimere, ritagliare, prima del caricamento. Quando hai finito, premi il bottone \"Carica\" per completare."
_clientPerformanceIssueTip:
title: "Se ritieni che la batteria si stia scaricando troppo"
makeSureDisabledAdBlocker: "Disattiva il tuo AdBlocker"
makeSureDisabledAdBlocker_description: "Gli AdBlocker possono influire sulle prestazioni. Controlla se nel tuo sistema operativo, nel browser o nei componenti aggiuntivi è abilitato un AdBlocker."
makeSureDisabledCustomCss: "Disabilita CSS personalizzato"
makeSureDisabledCustomCss_description: "La riscrittura degli stili CSS può influire sulle prestazioni. Assicurati di non avere CSS personalizzati o estensioni abilitate che sovrascrivano i tuoi stili."
makeSureDisabledAddons: "Disabilitare le estensioni"
makeSureDisabledAddons_description: "Alcune estensioni potrebbero interferire con il funzionamento del client e comprometterne le prestazioni. Prova a disattivare le estensioni del browser e vedi se il problema persiste."
_clip:
tip: "Le clip sono una funzionalità che consente di raggruppare le Note."
_userLists:
tip: "Puoi creare un elenco di Note create da qualsiasi profilo. L'elenco è visualizzato come una sequenza temporale."
watermark: "Filigrana"
defaultPreset: "Impostazioni predefinite"
_watermarkEditor:
tip: "Puoi aggiungere una filigrana, ad esempio con i crediti alle tue immagini."
quitWithoutSaveConfirm: "Uscire senza salvare?"
driveFileTypeWarn: "Formato file non supportato"
driveFileTypeWarnDescription: "Per favore seleziona un file immagine"
title: "Modifica la filigrana"
cover: "Coprire tutto"
repeat: "Disposizione"
opacity: "Opacità"
scale: "Dimensioni"
text: "Testo"
qr: "QR Code"
position: "Posizione"
margin: "Margine"
type: "Tipo"
image: "Immagini"
advanced: "Avanzato"
angle: "Angolo"
stripe: "Strisce"
stripeWidth: "Larghezza della linea"
stripeFrequency: "Il numero di linee"
polkadot: "A pallini"
checker: "revisore"
polkadotMainDotOpacity: "Opacità del punto principale"
polkadotMainDotRadius: "Dimensione del punto principale"
polkadotSubDotOpacity: "Opacità del punto secondario"
polkadotSubDotRadius: "Dimensione del punto secondario"
polkadotSubDotDivisions: "Quantità di punti secondari"
leaveBlankToAccountUrl: "Il valore vuoto indica la URL dell'account"
_imageEffector:
title: "Effetto"
addEffect: "Aggiungi effetto"
discardChangesConfirm: "Scarta le modifiche ed esci?"
nothingToConfigure: "Nessuna impostazione configurabile."
_fxs:
chromaticAberration: "Aberrazione cromatica"
glitch: "Glitch"
mirror: "Specchio"
invert: "Inversione colore"
grayscale: "Bianco e nero"
blur: "Sfocatura"
pixelate: "Mosaico"
colorAdjust: "Correzione Colore"
colorClamp: "Compressione del colore"
colorClampAdvanced: "Compressione del colore (avanzata)"
distort: "Distorsione"
threshold: "Soglia"
zoomLines: "Linea di saturazione"
stripe: "Strisce"
polkadot: "A pallini"
checker: "revisore"
blockNoise: "Attenua rumore"
tearing: "Strappa immagine"
fill: "Riempimento"
_fxProps:
angle: "Angolo"
scale: "Dimensioni"
size: "Dimensioni"
radius: "Raggio"
samples: "Quantità di campioni"
offset: "Posizione"
color: "Colore"
opacity: "Opacità"
normalize: "Normalizza"
amount: "Quantità"
lightness: "Chiaro"
contrast: "Contrasto"
hue: "Tinta"
brightness: "Luminosità"
saturation: "Saturazione"
max: "Valore massimo"
min: "Valore minimo"
direction: "Orientamento"
phase: "Fasare"
frequency: "Frequenza"
strength: "Forza"
glitchChannelShift: "Glitch cambio canale"
seed: "Seme"
redComponent: "Rosso composito"
greenComponent: "Verde composito"
blueComponent: "Blu composito"
threshold: "Soglia"
centerX: "Centro orizzontale"
centerY: "Centro verticale"
zoomLinesSmoothing: "Levigatura"
zoomLinesSmoothingDescription: "Non si possono usare insieme la levigatura e la larghezza della linea centrale."
zoomLinesThreshold: "Limite delle linee zoom"
zoomLinesMaskSize: "Ampiezza del diametro"
zoomLinesBlack: "Bande nere"
circle: "Circolare"
drafts: "Bozze"
_drafts:
select: "Selezionare bozza"
cannotCreateDraftAnymore: "Hai superato il numero massimo di bozze ammissibili."
cannotCreateDraft: "Impossibile creare una bozza di questo contenuto."
delete: "Elimina bozza"
deleteAreYouSure: "Vuoi davvero eliminare la bozza?"
noDrafts: "Non c'è nessuna bozza."
replyTo: "Rispondere a {user}"
quoteOf: "Citare la nota di {user}"
postTo: "Inserire in {channel}"
saveToDraft: "Salva come bozza"
restoreFromDraft: "Recuperare dalle bozze"
restore: "Ripristina"
listDrafts: "Elenco bozze"
schedule: "Pianifica pubblicazione"
listScheduledNotes: "Elenca Note pianificate"
cancelSchedule: "Annulla pianificazione"
qr: "QR Code"
_qr:
showTabTitle: "Visualizza"
readTabTitle: "Leggere"
shareTitle: "{name} {acct}"
shareText: "Seguimi nel Fediverso!"
chooseCamera: "Seleziona fotocamera"
cannotToggleFlash: "Flash non controllabile"
turnOnFlash: "Accendi il flash"
turnOffFlash: "Spegni il flash"
startQr: "Inizia lettura QR Code"
stopQr: "Interrompi lettura QR Code"
noQrCodeFound: "Non trovo alcun QR Code"
scanFile: "Scansiona immagine nel dispositivo"
raw: "Testo"
mfm: "MFM"

View File

@@ -74,8 +74,8 @@ youGotNewFollower: "フォローされました"
receiveFollowRequest: "フォローリクエストされました"
followRequestAccepted: "フォローが承認されました"
mention: "メンション"
mentions: "あなた宛て"
directNotes: "ダイレクト投稿"
mentions: "メンション"
directNotes: "指名"
importAndExport: "インポートとエクスポート"
import: "インポート"
export: "エクスポート"
@@ -253,6 +253,7 @@ noteDeleteConfirm: "このノートを削除しますか?"
pinLimitExceeded: "これ以上ピン留めできません"
done: "完了"
processing: "処理中"
preprocessing: "準備中"
preview: "プレビュー"
default: "デフォルト"
defaultValueIs: "デフォルト: {value}"
@@ -298,10 +299,11 @@ uploadFromUrl: "URLアップロード"
uploadFromUrlDescription: "アップロードしたいファイルのURL"
uploadFromUrlRequested: "アップロードをリクエストしました"
uploadFromUrlMayTakeTime: "アップロードが完了するまで時間がかかる場合があります。"
uploadNFiles: "{n}個のファイルをアップロード"
explore: "みつける"
messageRead: "既読"
noMoreHistory: "これより過去の履歴はありません"
startChat: "チャットを始める"
startChat: "メッセージを送る"
nUsersRead: "{n}人が読みました"
agreeTo: "{0}に同意"
agree: "同意する"
@@ -326,11 +328,13 @@ dark: "ダーク"
lightThemes: "明るいテーマ"
darkThemes: "暗いテーマ"
syncDeviceDarkMode: "デバイスのダークモードと同期する"
switchDarkModeManuallyWhenSyncEnabledConfirm: "「{x}」がオンになっています。同期をオフにして手動でモードを切り替えますか?"
drive: "ドライブ"
fileName: "ファイル名"
selectFile: "ファイルを選択"
selectFiles: "ファイルを選択"
selectFolder: "フォルダーを選択"
unselectFolder: "フォルダーの選択を解除"
selectFolders: "フォルダーを選択"
fileNotSelected: "ファイルが選択されていません"
renameFile: "ファイル名を変更"
@@ -343,6 +347,7 @@ addFile: "ファイルを追加"
showFile: "ファイルを表示"
emptyDrive: "ドライブは空です"
emptyFolder: "フォルダーは空です"
dropHereToUpload: "ここにファイルをドロップしてアップロード"
unableToDelete: "削除できません"
inputNewFileName: "新しいファイル名を入力してください"
inputNewDescription: "新しいキャプションを入力してください"
@@ -475,7 +480,7 @@ notFoundDescription: "指定されたURLに該当するページはありませ
uploadFolder: "既定アップロード先"
markAsReadAllNotifications: "すべての通知を既読にする"
markAsReadAllUnreadNotes: "すべての投稿を既読にする"
markAsReadAllTalkMessages: "すべてのチャットを既読にする"
markAsReadAllTalkMessages: "すべてのダイレクトメッセージを既読にする"
help: "ヘルプ"
inputMessageHere: "ここにメッセージを入力"
close: "閉じる"
@@ -578,6 +583,7 @@ newNoteRecived: "新しいノートがあります"
newNote: "新しいノート"
sounds: "サウンド"
sound: "サウンド"
notificationSoundSettings: "通知音の設定"
listen: "聴く"
none: "なし"
showInPage: "ページで表示"
@@ -634,8 +640,8 @@ addRelay: "リレーの追加"
inboxUrl: "inboxのURL"
addedRelays: "追加済みのリレー"
serviceworkerInfo: "プッシュ通知を行うには有効にする必要があります。"
deletedNote: "削除された投稿"
invisibleNote: "非公開の投稿"
deletedNote: "削除されたノート"
invisibleNote: "非公開のノート"
enableInfiniteScroll: "自動でもっと見る"
visibility: "公開範囲"
poll: "アンケート"
@@ -769,6 +775,7 @@ lockedAccountInfo: "フォローを承認制にしても、ノートの公開範
alwaysMarkSensitive: "デフォルトでメディアをセンシティブ設定にする"
loadRawImages: "添付画像のサムネイルをオリジナル画質にする"
disableShowingAnimatedImages: "アニメーション画像を再生しない"
disableShowingAnimatedImages_caption: "この設定に関わらずアニメーション画像が再生されないときは、ブラウザ・OSのアクセシビリティ設定や省電力設定等が干渉している場合があります。"
highlightSensitiveMedia: "メディアがセンシティブであることを分かりやすく表示"
verificationEmailSent: "確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。"
notSet: "未設定"
@@ -999,6 +1006,7 @@ failedToUpload: "アップロード失敗"
cannotUploadBecauseInappropriate: "不適切な内容を含む可能性があると判定されたためアップロードできません。"
cannotUploadBecauseNoFreeSpace: "ドライブの空き容量が無いためアップロードできません。"
cannotUploadBecauseExceedsFileSizeLimit: "ファイルサイズの制限を超えているためアップロードできません。"
cannotUploadBecauseUnallowedFileType: "許可されていないファイル種別のためアップロードできません。"
beta: "ベータ"
enableAutoSensitive: "自動センシティブ判定"
enableAutoSensitiveDescription: "利用可能な場合は、機械学習を利用して自動でメディアにセンシティブフラグを設定します。この機能をオフにしても、サーバーによっては自動で設定されることがあります。"
@@ -1050,6 +1058,7 @@ permissionDeniedError: "操作が拒否されました"
permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。"
preset: "プリセット"
selectFromPresets: "プリセットから選択"
custom: "カスタム"
achievements: "実績"
gotInvalidResponseError: "サーバーの応答が無効です"
gotInvalidResponseErrorDescription: "サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから再度お試しください。"
@@ -1088,6 +1097,7 @@ prohibitedWordsDescription2: "スペースで区切るとAND指定になり、
hiddenTags: "非表示ハッシュタグ"
hiddenTagsDescription: "設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。"
notesSearchNotAvailable: "ノート検索は利用できません。"
usersSearchNotAvailable: "ユーザー検索は利用できません。"
license: "ライセンス"
unfavoriteConfirm: "お気に入り解除しますか?"
myClips: "自分のクリップ"
@@ -1162,6 +1172,7 @@ installed: "インストール済み"
branding: "ブランディング"
enableServerMachineStats: "サーバーのマシン情報を公開する"
enableIdenticonGeneration: "ユーザーごとのIdenticon生成を有効にする"
showRoleBadgesOfRemoteUsers: "リモートユーザーに付与したロールバッジを表示する"
turnOffToImprovePerformance: "オフにするとパフォーマンスが向上します。"
createInviteCode: "招待コードを作成"
createWithOptions: "オプションを指定して作成"
@@ -1239,7 +1250,7 @@ releaseToRefresh: "離してリロード"
refreshing: "リロード中"
pullDownToRefresh: "引っ張ってリロード"
useGroupedNotifications: "通知をグルーピング"
signupPendingError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
emailVerificationFailedError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
cwNotationRequired: "「内容を隠す」がオンの場合は注釈の記述が必要です。"
doReaction: "リアクションする"
code: "コード"
@@ -1299,7 +1310,7 @@ messageToFollower: "フォロワーへのメッセージ"
target: "対象"
testCaptchaWarning: "CAPTCHAのテストを目的とした機能です。<strong>本番環境で使用しないでください。</strong>"
prohibitedWordsForNameOfUser: "禁止ワード(ユーザーの名前)"
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。"
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。ユーザー名(username)に対しても全て小文字に置き換えて検査します。"
yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています"
yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者により、表示にはログインが必要と設定されています"
@@ -1309,6 +1320,8 @@ availableRoles: "利用可能なロール"
acknowledgeNotesAndEnable: "注意事項を理解した上でオンにします。"
federationSpecified: "このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。"
federationDisabled: "このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。"
draft: "下書き"
draftsAndScheduledNotes: "下書きと予約投稿"
confirmOnReact: "リアクションする際に確認する"
reactAreYouSure: "\" {emoji} \" をリアクションしますか?"
markAsSensitiveConfirm: "このメディアをセンシティブとして設定しますか?"
@@ -1325,9 +1338,10 @@ skip: "スキップ"
restore: "復元"
syncBetweenDevices: "デバイス間で同期"
preferenceSyncConflictTitle: "サーバーに設定値が存在します"
preferenceSyncConflictText: "同期が有効にされた設定項目は設定値をサーバーに保存しますが、この設定項目のサーバーに保存された設定値が見つかりました。どちらの設定値で上書きしますか?"
preferenceSyncConflictChoiceServer: "サーバーの設定値"
preferenceSyncConflictChoiceDevice: "デバイスの設定値"
preferenceSyncConflictText: "同期が有効にされた設定項目は設定値をサーバーに保存しますが、この設定項目のサーバーに保存された設定値が見つかりました。どしますか?"
preferenceSyncConflictChoiceMerge: "統合する"
preferenceSyncConflictChoiceServer: "サーバーの設定値で上書き"
preferenceSyncConflictChoiceDevice: "デバイスの設定値で上書き"
preferenceSyncConflictChoiceCancel: "同期の有効化をキャンセル"
paste: "ペースト"
emojiPalette: "絵文字パレット"
@@ -1335,6 +1349,8 @@ postForm: "投稿フォーム"
textCount: "文字数"
information: "情報"
chat: "チャット"
directMessage: "ダイレクトメッセージ"
directMessage_short: "メッセージ"
migrateOldSettings: "旧設定情報を移行"
migrateOldSettings_description: "通常これは自動で行われていますが、何らかの理由により上手く移行されなかった場合は手動で移行処理をトリガーできます。現在の設定情報は上書きされます。"
compress: "圧縮"
@@ -1356,49 +1372,88 @@ emojiMute: "絵文字ミュート"
emojiUnmute: "絵文字ミュート解除"
muteX: "{x}をミュート"
unmuteX: "{x}のミュートを解除"
abort: "中止"
tip: "ヒントとコツ"
redisplayAllTips: "全ての「ヒントとコツ」を再表示"
hideAllTips: "全ての「ヒントとコツ」を非表示"
defaultImageCompressionLevel: "デフォルトの画像圧縮度"
defaultImageCompressionLevel_description: "低くすると画質を保てますが、ファイルサイズは増加します。<br>高くするとファイルサイズを減らせますが、画質は低下します。"
defaultCompressionLevel: "デフォルトの圧縮度"
defaultCompressionLevel_description: "低くすると品質を保てますが、ファイルサイズは増加します。<br>高くするとファイルサイズを減らせますが、品質は低下します。"
inMinutes: "分"
inDays: "日"
safeModeEnabled: "セーフモードが有効です"
pluginsAreDisabledBecauseSafeMode: "セーフモードが有効なため、プラグインはすべて無効化されています。"
customCssIsDisabledBecauseSafeMode: "セーフモードが有効なため、カスタムCSSは適用されていません。"
themeIsDefaultBecauseSafeMode: "セーフモードが有効な間はデフォルトのテーマが使用されます。セーフモードをオフにすると元に戻ります。"
thankYouForTestingBeta: "ベータ版の検証にご協力いただきありがとうございます!"
createUserSpecifiedNote: "ユーザー指定ノートを作成"
schedulePost: "投稿を予約"
scheduleToPostOnX: "{x}に投稿を予約します"
scheduledToPostOnX: "{x}に投稿が予約されています"
schedule: "予約"
scheduled: "予約"
widgets: "ウィジェット"
deviceInfo: "デバイス情報"
deviceInfoDescription: "技術的なお問い合わせの際に、以下の情報を併記すると問題の解決に役立つことがあります。"
_compression:
_quality:
high: "高品質"
medium: "中品質"
low: "低品質"
_size:
large: "サイズ大"
medium: "サイズ中"
small: "サイズ小"
_order:
newest: "新しい順"
oldest: "古い順"
_chat:
messages: "メッセージ"
noMessagesYet: "まだメッセージはありません"
newMessage: "新しいメッセージ"
individualChat: "個人チャット"
individualChat_description: "特定ユーザーとの一対一のチャットができます。"
roomChat: "ルームチャット"
roomChat_description: "複数人でのチャットができます。\nまた、個人チャットを許可していないユーザーとでも、相手が受け入れればチャットができます。"
createRoom: "ルーを作成"
inviteUserToChat: "ユーザーを招待してチャットを始めましょう"
yourRooms: "作成したルー"
joiningRooms: "参加中のルー"
individualChat: "個"
individualChat_description: "特定ユーザーと個別にメッセージのやりとりができます。"
roomChat: "ルー"
roomChat_description: "複数人でメッセージのやりとりができます。\nまた、個別のメッセージを許可していないユーザーとでも、相手が受け入れればやりとりできます。"
createRoom: "ルーを作成"
inviteUserToChat: "ユーザーを招待してメッセージを送信しましょう"
yourRooms: "作成したルー"
joiningRooms: "参加中のルー"
invitations: "招待"
noInvitations: "招待はありません"
history: "履歴"
noHistory: "履歴はありません"
noRooms: "ルーはありません"
noRooms: "ルーはありません"
inviteUser: "ユーザーを招待"
sentInvitations: "送信した招待"
join: "参加"
ignore: "無視"
leave: "ルーから退出"
leave: "ルーから退出"
members: "メンバー"
searchMessages: "メッセージを検索"
home: "ホーム"
send: "送信"
newline: "改行"
muteThisRoom: "このルーをミュート"
deleteRoom: "ルーを削除"
chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは有効化されていません。"
chatIsReadOnlyForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは読み取り専用となっています。新たに書き込んだり、チャットルーを作成・参加したりすることはできません。"
chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えない状態になっています。"
cannotChatWithTheUser: "このユーザーとのチャットを開始できません"
cannotChatWithTheUser_description: "チャットが使えない状態になっているか、相手がチャットを開放していません。"
youAreNotAMemberOfThisRoomButInvited: "あなたはこのルーの参加者ではありませんが、招待が届いています。参加するには、招待を承認してください。"
muteThisRoom: "このルーをミュート"
deleteRoom: "ルーを削除"
chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでダイレクトメッセージは有効化されていません。"
chatIsReadOnlyForThisAccountOrServer: "このサーバー、またはこのアカウントでダイレクトメッセージは読み取り専用となっています。新たに書き込んだり、ルーを作成・参加したりすることはできません。"
chatNotAvailableInOtherAccount: "相手のアカウントでダイレクトメッセージが使えない状態になっています。"
cannotChatWithTheUser: "このユーザーとのダイレクトメッセージを開始できません"
cannotChatWithTheUser_description: "ダイレクトメッセージが使えない状態になっているか、相手がダイレクトメッセージを開放していません。"
youAreNotAMemberOfThisRoomButInvited: "あなたはこのルーの参加者ではありませんが、招待が届いています。参加するには、招待を承認してください。"
doYouAcceptInvitation: "招待を承認しますか?"
chatWithThisUser: "チャットする"
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのみチャットを受け付けています。"
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしているユーザーからのみチャットを受け付けています。"
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのみチャットを受け付けています。"
thisUserNotAllowedChatAnyone: "このユーザーは誰からもチャットを受け付けていません。"
chatAllowedUsers: "チャットを許可する相手"
chatAllowedUsers_note: "自分からチャットメッセージを送った相手とはこの設定に関わらずチャットが可能です。"
chatWithThisUser: "ダイレクトメッセージ"
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのみメッセージを受け付けています。"
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしているユーザーからのみメッセージを受け付けています。"
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのみメッセージを受け付けています。"
thisUserNotAllowedChatAnyone: "このユーザーは誰からもメッセージを受け付けていません。"
chatAllowedUsers: "メッセージを許可する相手"
chatAllowedUsers_note: "自分からメッセージを送った相手とはこの設定に関わらずメッセージの送受信が可能です。"
_chatAllowedUsers:
everyone: "誰でも"
followers: "自分のフォロワーのみ"
@@ -1445,6 +1500,9 @@ _settings:
contentsUpdateFrequency: "コンテンツの取得頻度"
contentsUpdateFrequency_description: "高いほどリアルタイムにコンテンツが更新されますが、パフォーマンスが低下し、通信量とバッテリーの消費が多くなります。"
contentsUpdateFrequency_description2: "リアルタイムモードがオンのときは、この設定に関わらずリアルタイムでコンテンツが更新されます。"
showUrlPreview: "URLプレビューを表示する"
showAvailableReactionsFirstInNote: "利用できるリアクションを先頭に表示"
showPageTabBarBottom: "ページのタブバーを下部に表示"
_chat:
showSenderName: "送信者の名前を表示"
@@ -1585,9 +1643,9 @@ _initialTutorial:
public: "すべてのユーザーに公開。"
home: "ホームタイムラインのみに公開。フォロワー・プロフィールを見に来た人・リノートから、他のユーザーも見ることができます。"
followers: "フォロワーにのみ公開。本人以外がリノートすることはできず、またフォロワー以外は閲覧できません。"
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。ダイレクトメッセージのかわりにお使いいただけます。"
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。"
doNotSendConfidencialOnDirect1: "機密情報は送信する際は注意してください。"
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーにダイレクト投稿を送信する場合は、機密情報の扱いに注意が必要です。"
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーが含まれる限定公開のノートを作成する際は、機密情報の扱いに注意が必要です。"
localOnly: "他のサーバーに投稿を連合しません。上記の公開範囲に関わらず、他のサーバーのユーザーは、この設定がついたノートを直接閲覧することができなくなります。"
_cw:
title: "内容を隠すCW"
@@ -1631,6 +1689,10 @@ _serverSettings:
fanoutTimelineDbFallback: "データベースへのフォールバック"
fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。"
reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。"
remoteNotesCleaning: "リモート投稿の自動クリーニング"
remoteNotesCleaning_description: "有効にすると、一定期間経過したリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑制します。"
remoteNotesCleaningMaxProcessingDuration: "最大クリーニング処理継続時間"
remoteNotesCleaningExpiryDaysForEachNotes: "最低ノート保持日数"
inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。"
openRegistration: "アカウントの作成をオープンにする"
@@ -1649,6 +1711,11 @@ _serverSettings:
userGeneratedContentsVisibilityForVisitor: "非利用者に対するユーザー作成コンテンツの公開範囲"
userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます。"
userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受信したリモートのコンテンツを含め、サーバー内の全てのコンテンツを無条件でインターネットに公開することはリスクが伴います。特に、分散型の特性を知らない閲覧者にとっては、リモートのコンテンツであってもサーバー内で作成されたコンテンツであると誤って認識してしまう可能性があるため、注意が必要です。"
restartServerSetupWizardConfirm_title: "サーバーの初期設定ウィザードをやり直しますか?"
restartServerSetupWizardConfirm_text: "現在の一部の設定はリセットされます。"
entrancePageStyle: "エントランスページのスタイル"
showTimelineForVisitor: "タイムラインを表示する"
showActivitiesForVisitor: "アクティビティを表示する"
_userGeneratedContentsVisibilityForVisitor:
all: "全て公開"
@@ -1975,6 +2042,7 @@ _role:
canManageAvatarDecorations: "アバターデコレーションの管理"
driveCapacity: "ドライブ容量"
maxFileSize: "アップロード可能な最大ファイルサイズ"
maxFileSize_caption: "リバースプロキシやCDNなど、前段で別の設定値が存在する場合があります。"
alwaysMarkNsfw: "ファイルにNSFWを常に付与"
canUpdateBioMedia: "アイコンとバナーの更新を許可"
pinMax: "ノートのピン留めの最大数"
@@ -1989,6 +2057,7 @@ _role:
descriptionOfRateLimitFactor: "小さいほど制限が緩和され、大きいほど制限が強化されます。"
canHideAds: "広告の非表示"
canSearchNotes: "ノート検索の利用"
canSearchUsers: "ユーザー検索の利用"
canUseTranslator: "翻訳機能の利用"
avatarDecorationLimit: "アイコンデコレーションの最大取付個数"
canImportAntennas: "アンテナのインポートを許可"
@@ -1996,7 +2065,13 @@ _role:
canImportFollowing: "フォローのインポートを許可"
canImportMuting: "ミュートのインポートを許可"
canImportUserLists: "リストのインポートを許可"
chatAvailability: "チャットを許可"
chatAvailability: "ダイレクトメッセージを許可"
uploadableFileTypes: "アップロード可能なファイル種別"
uploadableFileTypes_caption: "MIMEタイプを指定します。改行で区切って複数指定できるほか、アスタリスク(*)でワイルドカード指定できます。(例: image/*)"
uploadableFileTypes_caption2: "ファイルによっては種別を判定できないことがあります。そのようなファイルを許可する場合は {x} を指定に追加してください。"
noteDraftLimit: "サーバーサイドのノートの下書きの作成可能数"
scheduledNoteLimit: "予約投稿の同時作成可能数"
watermarkAvailable: "ウォーターマーク機能の使用可否"
_condition:
roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー"
@@ -2177,6 +2252,7 @@ _theme:
install: "テーマのインストール"
manage: "テーマの管理"
code: "テーマコード"
copyThemeCode: "テーマコードをコピー"
description: "説明"
installed: "{name}をインストールしました"
installedThemes: "インストールされたテーマ"
@@ -2236,9 +2312,8 @@ _theme:
buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り"
driveFolderBg: "ドライブフォルダーの背景"
badge: "バッジ"
messageBg: "チャットの背景"
messageBg: "メッセージの背景"
fgHighlighted: "強調された文字"
_sfx:
@@ -2246,7 +2321,7 @@ _sfx:
noteMy: "ノート(自分)"
notification: "通知"
reaction: "リアクション選択時"
chatMessage: "チャットのメッセージ"
chatMessage: "ダイレクトメッセージ"
_soundSettings:
driveFile: "ドライブの音声を使用"
@@ -2283,6 +2358,7 @@ _time:
minute: "分"
hour: "時間"
day: "日"
month: "ヶ月"
_2fa:
alreadyRegistered: "既に設定は完了しています。"
@@ -2325,8 +2401,8 @@ _permissions:
"write:favorites": "お気に入りを操作する"
"read:following": "フォローの情報を見る"
"write:following": "フォロー・フォロー解除する"
"read:messaging": "チャットを見る"
"write:messaging": "チャットを操作する"
"read:messaging": "ダイレクトメッセージを見る"
"write:messaging": "ダイレクトメッセージを操作する"
"read:mutes": "ミュートを見る"
"write:mutes": "ミュートを操作する"
"write:notes": "ノートを作成・削除する"
@@ -2399,8 +2475,8 @@ _permissions:
"read:clip-favorite": "クリップのいいねを見る"
"read:federation": "連合に関する情報を取得する"
"write:report-abuse": "違反を報告する"
"write:chat": "チャットを操作する"
"read:chat": "チャットを閲覧する"
"write:chat": "ダイレクトメッセージを操作する"
"read:chat": "ダイレクトメッセージを閲覧する"
_auth:
shareAccessTitle: "アプリへのアクセス許可"
@@ -2415,6 +2491,7 @@ _auth:
scopeUser: "以下のユーザーとして操作しています"
pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。"
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許可すると、自動で以下のURLに遷移します"
alreadyAuthorized: "このアプリケーションは既にアクセスが許可されています。"
_antennaSources:
all: "全てのノート"
@@ -2463,7 +2540,7 @@ _widgets:
chooseList: "リストを選択"
clicker: "クリッカー"
birthdayFollowings: "今日誕生日のユーザー"
chat: "チャット"
chat: "ダイレクトメッセージ"
_cw:
hide: "隠す"
@@ -2501,12 +2578,14 @@ _visibility:
homeDescription: "ホームタイムラインのみに公開"
followers: "フォロワー"
followersDescription: "自分のフォロワーのみに公開"
specified: "ダイレクト"
specified: "指名"
specifiedDescription: "指定したユーザーのみに公開"
disableFederation: "連合なし"
disableFederationDescription: "他サーバーへの配信を行いません"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "アップロードされていないファイルがありますが、破棄してフォームを閉じますか?"
uploaderTip: "ファイルはまだアップロードされていません。ファイルのメニューから、リネームや画像のクロップ、ウォーターマークの付与、圧縮の有無などを設定できます。ファイルはノート投稿時に自動でアップロードされます。"
replyPlaceholder: "このノートに返信..."
quotePlaceholder: "このノートを引用..."
channelPlaceholder: "チャンネルに投稿..."
@@ -2546,7 +2625,7 @@ _exportOrImport:
userLists: "リスト"
excludeMutingUsers: "ミュートしているユーザーを除外"
excludeInactiveUsers: "使われていないアカウントを除外"
withReplies: "インポートした人による返信をTLに含むようにする"
withReplies: "返信をTLに含むかの情報がファイルにない場合に、インポートした人による返信をTLに含むようにする"
_charts:
federation: "連合"
@@ -2665,10 +2744,12 @@ _notification:
youReceivedFollowRequest: "フォローリクエストが来ました"
yourFollowRequestAccepted: "フォローリクエストが承認されました"
pollEnded: "アンケートの結果が出ました"
scheduledNotePosted: "予約ノートが投稿されました"
scheduledNotePostFailed: "予約ノートの投稿に失敗しました"
newNote: "新しい投稿"
unreadAntennaNote: "アンテナ {name}"
roleAssigned: "ロールが付与されました"
chatRoomInvitationReceived: "チャットルーへ招待されました"
chatRoomInvitationReceived: "ダイレクトメッセージのグルーへ招待されました"
emptyPushNotificationMessage: "プッシュ通知の更新をしました"
achievementEarned: "実績を獲得"
testNotification: "通知テスト"
@@ -2695,10 +2776,12 @@ _notification:
quote: "引用"
reaction: "リアクション"
pollEnded: "アンケートが終了"
scheduledNotePosted: "予約投稿が成功した"
scheduledNotePostFailed: "予約投稿が失敗した"
receiveFollowRequest: "フォロー申請を受け取った"
followRequestAccepted: "フォローが受理された"
roleAssigned: "ロールが付与された"
chatRoomInvitationReceived: "チャットルーへ招待された"
chatRoomInvitationReceived: "ダイレクトメッセージのグルーへ招待された"
achievementEarned: "実績の獲得"
exportCompleted: "エクスポートが完了した"
login: "ログイン"
@@ -2745,10 +2828,10 @@ _deck:
antenna: "アンテナ"
list: "リスト"
channel: "チャンネル"
mentions: "あなた宛て"
direct: "ダイレクト"
mentions: "メンション"
direct: "指名"
roleTimeline: "ロールタイムライン"
chat: "チャット"
chat: "ダイレクトメッセージ"
_dialog:
charactersExceeded: "最大文字数を超えています! 現在 {current} / 制限 {max}"
@@ -2851,7 +2934,7 @@ _moderationLogTypes:
deletePage: "ページを削除"
deleteFlash: "Playを削除"
deleteGalleryPost: "ギャラリーの投稿を削除"
deleteChatRoom: "チャットルーを削除"
deleteChatRoom: "ダイレクトメッセージのグルーを削除"
updateProxyAccountDescription: "プロキシアカウントの説明を更新"
_fileViewer:
@@ -2861,6 +2944,7 @@ _fileViewer:
url: "URL"
uploadedAt: "追加日"
attachedNotes: "添付されているノート"
usage: "利用"
thisPageCanBeSeenFromTheAuthor: "このページは、このファイルをアップロードしたユーザーしか閲覧できません。"
_externalResourceInstaller:
@@ -2910,9 +2994,12 @@ _dataSaver:
_avatar:
title: "アイコン画像のアニメーションを無効化"
description: "アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。"
_urlPreview:
_urlPreviewThumbnail:
title: "URLプレビューのサムネイルを非表示"
description: "URLプレビューのサムネイル画像が読み込まれなくなります。"
_disableUrlPreview:
title: "URLプレビューを無効化"
description: "URLプレビュー機能を無効化します。サムネイル画像だけと違い、リンク先の情報の読み込み自体を削減できます。"
_code:
title: "コードハイライトを非表示"
description: "MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。"
@@ -2974,6 +3061,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "URLプレビューの設定"
enable: "URLプレビューを有効にする"
allowRedirect: "プレビュー先のリダイレクトを許可"
allowRedirectDescription: "入力されたURLがリダイレクトされる場合に、そのリダイレクト先をたどってプレビューを表示するかどうかを設定します。無効にするとサーバーリソースの節約になりますが、リダイレクト先の内容は表示されなくなります。"
timeout: "プレビュー取得時のタイムアウト(ms)"
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されません。"
maximumContentLength: "Content-Lengthの最大値(byte)"
@@ -3052,10 +3141,6 @@ _customEmojisManager:
uploadSettingDescription: "この画面で絵文字アップロードを行う際の動作を設定できます。"
directoryToCategoryLabel: "ディレクトリ名を\"category\"に入力する"
directoryToCategoryCaption: "ディレクトリをドラッグ・ドロップした時に、ディレクトリ名を\"category\"に入力します。"
emojiInputAreaCaption: "いずれかの方法で登録する絵文字を選択してください。"
emojiInputAreaList1: "この枠に画像ファイルまたはディレクトリをドラッグ&ドロップ"
emojiInputAreaList2: "このリンクをクリックしてPCから選択する"
emojiInputAreaList3: "このリンクをクリックしてドライブから選択する"
confirmRegisterEmojisDescription: "リストに表示されている絵文字を新たなカスタム絵文字として登録します。よろしいですか?(負荷を避けるため、一度の操作で登録可能な絵文字は{count}件までです)"
confirmClearEmojisDescription: "編集内容を破棄し、リストに表示されている絵文字をクリアします。よろしいですか?"
confirmUploadEmojisDescription: "ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードします。実行しますか?"
@@ -3129,6 +3214,7 @@ _bootErrors:
otherOption1: "クライアント設定とキャッシュを削除"
otherOption2: "簡易クライアントを起動"
otherOption3: "修復ツールを起動"
otherOption4: "Misskeyをセーフモードで起動"
_search:
searchScopeAll: "全て"
@@ -3167,6 +3253,8 @@ _serverSetupWizard:
doYouConnectToFediverse_description1: "分散型サーバーで構成されるネットワーク(Fediverse)に接続すると、他のサーバーと相互にコンテンツのやり取りが可能です。"
doYouConnectToFediverse_description2: "Fediverseと接続することは「連合」とも呼ばれます。"
youCanConfigureMoreFederationSettingsLater: "連合可能なサーバーの指定など、高度な設定も後ほど可能です。"
remoteContentsCleaning: "リモートコンテンツの自動クリーニング"
remoteContentsCleaning_description: "連合を行うと、継続して多くのコンテンツを受信します。自動クリーニングを有効にすると、一定期間経過したリモートコンテンツを自動でサーバーから削除し、ストレージを節約できます。"
adminInfo: "管理者情報"
adminInfo_description: "問い合わせを受け付けるために使用される管理者情報を設定します。"
adminInfo_mustBeFilled: "オープンサーバー、または連合がオンの場合は必ず入力が必要です。"
@@ -3182,6 +3270,16 @@ _serverSetupWizard:
text2: "今後も開発を続けられるように、よろしければぜひカンパをお願いいたします。"
text3: "支援者向け特典もあります!"
_uploader:
editImage: "画像の編集"
compressedToX: "{x}に圧縮"
savedXPercent: "{x}%節約"
abortConfirm: "アップロードされていないファイルがありますが、中止しますか?"
doneConfirm: "アップロードされていないファイルがありますが、完了しますか?"
maxFileSizeIsX: "アップロード可能な最大ファイルサイズは{x}です。"
allowedTypes: "アップロード可能なファイル種別"
tip: "ファイルはまだアップロードされていません。このダイアログで、アップロード前の確認・リネーム・圧縮・クロッピングなどが行えます。準備が出来たら、「アップロード」ボタンを押してアップロードを開始できます。"
_clientPerformanceIssueTip:
title: "バッテリー消費が多いと感じたら"
makeSureDisabledAdBlocker: "アドブロッカーを無効にしてください"
@@ -3190,3 +3288,142 @@ _clientPerformanceIssueTip:
makeSureDisabledCustomCss_description: "スタイルを上書きするとパフォーマンスに影響を及ぼすことがあります。カスタムCSSや、スタイルを上書きする拡張機能が有効になっていないか確認してください。"
makeSureDisabledAddons: "拡張機能を無効にしてください"
makeSureDisabledAddons_description: "一部の拡張機能はクライアントの動作に干渉しパフォーマンスに影響を及ぼすことがあります。ブラウザの拡張機能を無効にして改善するか確認してください。"
_clip:
tip: "クリップは、ノートをまとめることができる機能です。"
_userLists:
tip: "任意のユーザーが含まれるリストを作成できます。作成したリストはタイムラインとして表示可能です。"
watermark: "ウォーターマーク"
defaultPreset: "デフォルトのプリセット"
_watermarkEditor:
tip: "画像にクレジット情報などのウォーターマークを追加することができます。"
quitWithoutSaveConfirm: "保存せずに終了しますか?"
driveFileTypeWarn: "このファイルは対応していません"
driveFileTypeWarnDescription: "画像ファイルを選択してください"
title: "ウォーターマークの編集"
cover: "全体に被せる"
repeat: "敷き詰める"
preserveBoundingRect: "回転時はみ出ないように調整する"
opacity: "不透明度"
scale: "サイズ"
text: "テキスト"
qr: "二次元コード"
position: "位置"
margin: "マージン"
type: "タイプ"
image: "画像"
advanced: "高度"
angle: "角度"
stripe: "ストライプ"
stripeWidth: "ラインの幅"
stripeFrequency: "ラインの数"
polkadot: "ポルカドット"
checker: "チェッカー"
polkadotMainDotOpacity: "メインドットの不透明度"
polkadotMainDotRadius: "メインドットの大きさ"
polkadotSubDotOpacity: "サブドットの不透明度"
polkadotSubDotRadius: "サブドットの大きさ"
polkadotSubDotDivisions: "サブドットの数"
leaveBlankToAccountUrl: "空欄にするとアカウントのURLになります"
_imageEffector:
title: "エフェクト"
addEffect: "エフェクトを追加"
discardChangesConfirm: "変更を破棄して終了しますか?"
nothingToConfigure: "設定項目はありません"
_fxs:
chromaticAberration: "色収差"
glitch: "グリッチ"
mirror: "ミラー"
invert: "色の反転"
grayscale: "白黒"
blur: "ぼかし"
pixelate: "モザイク"
colorAdjust: "色調補正"
colorClamp: "色の圧縮"
colorClampAdvanced: "色の圧縮(高度)"
distort: "歪み"
threshold: "二値化"
zoomLines: "集中線"
stripe: "ストライプ"
polkadot: "ポルカドット"
checker: "チェッカー"
blockNoise: "ブロックノイズ"
tearing: "ティアリング"
fill: "塗りつぶし"
_fxProps:
angle: "角度"
scale: "サイズ"
size: "サイズ"
radius: "半径"
samples: "サンプル数"
offset: "位置"
color: "色"
opacity: "不透明度"
normalize: "正規化"
amount: "量"
lightness: "明るさ"
contrast: "コントラスト"
hue: "色相"
brightness: "輝度"
saturation: "彩度"
max: "最大値"
min: "最小値"
direction: "方向"
phase: "位相"
frequency: "頻度"
strength: "強さ"
glitchChannelShift: "ズレ"
seed: "シード値"
redComponent: "赤色成分"
greenComponent: "緑色成分"
blueComponent: "青色成分"
threshold: "しきい値"
centerX: "中心X"
centerY: "中心Y"
zoomLinesSmoothing: "スムージング"
zoomLinesSmoothingDescription: "スムージングと集中線の幅の設定は併用できません。"
zoomLinesThreshold: "集中線の幅"
zoomLinesMaskSize: "中心径"
zoomLinesBlack: "黒色にする"
circle: "円形"
drafts: "下書き"
_drafts:
select: "下書きを選択"
cannotCreateDraftAnymore: "下書きの作成可能数を超えています。"
cannotCreateDraft: "この内容では下書きを作成できません。"
delete: "下書きを削除"
deleteAreYouSure: "下書きを削除しますか?"
noDrafts: "下書きはありません"
replyTo: "{user}への返信"
quoteOf: "{user}のノートへの引用"
postTo: "{channel}への投稿"
saveToDraft: "下書きへ保存"
restoreFromDraft: "下書きから復元"
restore: "復元"
listDrafts: "下書き一覧"
schedule: "投稿予約"
listScheduledNotes: "予約投稿一覧"
cancelSchedule: "予約解除"
qr: "二次元コード"
_qr:
showTabTitle: "表示"
readTabTitle: "読み取る"
shareTitle: "{name} {acct}"
shareText: "Fediverseで私をフォローしてください"
chooseCamera: "カメラを選択"
cannotToggleFlash: "ライト選択不可"
turnOnFlash: "ライトをオンにする"
turnOffFlash: "ライトをオフにする"
startQr: "コードリーダーを再開"
stopQr: "コードリーダーを停止"
noQrCodeFound: "QRコードが見つかりません"
scanFile: "端末の画像をスキャン"
raw: "テキスト"
mfm: "MFM"

View File

@@ -234,7 +234,7 @@ clearQueue: "キューをほかす"
clearQueueConfirmTitle: "キューをほかしとこか?"
clearQueueConfirmText: "未配達の投稿は配送されんなるで。ふつうこの操作を行う必要は無いんやけどな。"
clearCachedFiles: "キャッシュをほかす"
clearCachedFilesConfirm: "キャッシュされとるリモートファイルをみんなほかしてええか?"
clearCachedFilesConfirm: "キャッシュされとるリモートファイルを全部ほかしてええか?"
blockedInstances: "ブロックしたサーバー"
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定してな。ブロックされてもうたサーバーとはもう金輪際やり取りできひんくなるで。"
silencedInstances: "サーバーサイレンスされてんねん"
@@ -300,6 +300,7 @@ uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間か
explore: "みつける"
messageRead: "もう読んだ"
noMoreHistory: "これより昔のんはあらへんで"
startChat: "チャットを始めよか"
nUsersRead: "{n}人が読んでもうた"
agreeTo: "{0}に同意したで"
agree: "せやな"
@@ -324,6 +325,7 @@ dark: "ダーク"
lightThemes: "デイゲーム"
darkThemes: "ナイトゲーム"
syncDeviceDarkMode: "デバイスのダークモードと一緒にする"
switchDarkModeManuallyWhenSyncEnabledConfirm: "「{x}」がオンになってるで。同期をオフにして手動でモードを切り替えることにします?"
drive: "ドライブ"
fileName: "ファイル名"
selectFile: "ファイル選んでや"
@@ -422,6 +424,7 @@ antennaExcludeBots: "Botアカウントを除外"
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
notifyAntenna: "新しいノートを通知すんで"
withFileAntenna: "なんか添付されたノートだけ"
excludeNotesInSensitiveChannel: "センシティブなチャンネルのノートは入れんとくわ"
enableServiceworker: "ブラウザにプッシュ通知が行くようにする"
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
caseSensitive: "大文字と小文字は別もんや"
@@ -693,6 +696,7 @@ userSaysSomethingAbout: "{name}が「{word}」についてなんか言うてた
makeActive: "使うで"
display: "表示"
copy: "コピー"
copiedToClipboard: "クリップボードにコピーされたで"
metrics: "メトリクス"
overview: "概要"
logs: "ログ"
@@ -787,6 +791,7 @@ wide: "広い"
narrow: "狭い"
reloadToApplySetting: "設定はページリロード後に反映されるで。今リロードしとくか?"
needReloadToApply: "反映には再起動せなあかんで"
needToRestartServerToApply: "反映にはサーバーを再起動せなあかんのよ。"
showTitlebar: "タイトルバーを見せる"
clearCache: "キャッシュをほかす"
onlineUsersCount: "{n}人が起きとるで"
@@ -974,6 +979,7 @@ document: "ドキュメント"
numberOfPageCache: "ページ、どんだけキャッシュすんの?"
numberOfPageCacheDescription: "増やすと使いやすくなるけど、負荷とメモリ使用量が増えてくで。一長一短やな。"
logoutConfirm: "ログアウトしまっか?"
logoutWillClearClientData: "ログアウトするとクライアントの設定情報がブラウザから消されてまうで。再ログイン時に設定情報を復元できるようにするためには、設定の自動バックアップを有効にするとええで。"
lastActiveDate: "最後に使った日時"
statusbar: "ステータスバー"
pleaseSelect: "選んだってやー"
@@ -992,6 +998,7 @@ failedToUpload: "アップロードに失敗してもうたわ…"
cannotUploadBecauseInappropriate: "きわどい内容を含むかもしれへんって言われたからアップロードできへんわ。"
cannotUploadBecauseNoFreeSpace: "ドライブがもうパンパンやからアップロードできへんわ。"
cannotUploadBecauseExceedsFileSizeLimit: "ファイルが思うたよりも大きいさかいアップロードできへんでこれ。"
cannotUploadBecauseUnallowedFileType: "許可されてへんファイル種別やからアップロードできへんっぽい。"
beta: "ベータ"
enableAutoSensitive: "自動できわどいか判断する"
enableAutoSensitiveDescription: "使える時は、機械学習を使って自動でメディアにNSFWフラグを設定するで。この機能をオフにしても、サーバーによっては自動で設定されることがあるで。"
@@ -1232,7 +1239,6 @@ releaseToRefresh: "離したらリロード"
refreshing: "リロードしとる"
pullDownToRefresh: "引っ張ってリロードするで"
useGroupedNotifications: "通知をグループ分けして出すで"
signupPendingError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。"
cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカンで。"
doReaction: "ツッコむで"
code: "コード"
@@ -1304,16 +1310,99 @@ federationSpecified: "このサーバーはホワイトリスト連合で運用
federationDisabled: "このサーバーは連合が無効化されてるで。他のサーバーのユーザーとやり取りすることはできひんで。"
confirmOnReact: "ツッコむときに確認とる"
reactAreYouSure: "\" {emoji} \" でツッコむ?"
markAsSensitiveConfirm: "このメディアをきわどい扱いしときますか?"
unmarkAsSensitiveConfirm: "このメディアはやっぱきわどくなかったってことでええんか?"
noName: "名前はあらへんで"
preferenceSyncConflictTitle: "サーバーに設定値があるみたいやわ"
preferenceSyncConflictText: "同期が有効にされた設定項目は設定値をサーバーに保存するねんけど、この設定項目はサーバーに保存されたやつがあるみたいやわ。どないするん?"
preferenceSyncConflictChoiceMerge: "ガッチャンコしよか"
preferenceSyncConflictChoiceCancel: "同期の有効化はやめとくわ"
postForm: "投稿フォーム"
information: "情報"
directMessage: "チャットしよか"
migrateOldSettings: "旧設定情報をお引っ越し"
migrateOldSettings_description: "通常これは自動で行われるはずなんやけど、なんかの理由で上手く移行できへんかったときは手動で移行処理をポチっとできるで。今の設定情報は上書きされるで。"
settingsMigrating: "設定を移行しとるで。ちょっと待っとってな... (後で、設定→その他→旧設定情報を移行 で手動で移行することもできるで)"
driveAboutTip: "ドライブでは、今までアップロードしたファイルがずらーっと表示されるで。<br>\nートにファイルをもっかいのっけたり、あとで投稿するファイルをその辺に置いとくこともできるねん。<br>\n<b>ファイルをほかすと、前にそのファイルをのっけた全部の場所(ノート、ページ、アバター、バナー等)からも見えんくなるから気いつけてな。</b><br>\nフォルダを作って整理することもできるで。"
turnItOn: "オンにしとこ"
turnItOff: "オフでええわ"
emojiUnmute: "絵文字ミュートやめたる"
unmuteX: "{x}のミュートやめたる"
redisplayAllTips: "全部の「ヒントとコツ」をもっかい見して"
hideAllTips: "「ヒントとコツ」は全部表示せんでええ"
defaultImageCompressionLevel_description: "低くすると画質は保てるんやけど、ファイルサイズが増えるで。<br>高くするとファイルサイズは減らせるんやけど、画質が落ちるで。"
inMinutes: "分"
inDays: "日"
safeModeEnabled: "セーフモードがオンになってるで"
pluginsAreDisabledBecauseSafeMode: "セーフモードがオンやから、プラグインは全部無効化されてるで。"
customCssIsDisabledBecauseSafeMode: "セーフモードがオンやから、カスタムCSSは適用されてへんで。"
themeIsDefaultBecauseSafeMode: "セーフモードがオンの間はデフォルトのテーマを使うで。セーフモードをオフにれば元に戻るで。"
widgets: "ウィジェット"
_chat:
noMessagesYet: "まだメッセージはあらへんで"
individualChat_description: "特定のユーザーと一対一でチャットができるで。"
roomChat_description: "複数人でチャットできるで。\nあと、個人チャットを許可してへんユーザーとでも、相手がええって言うならチャットできるで。"
inviteUserToChat: "ユーザーを招待してチャットを始めてみ"
invitations: "来てや"
noInvitations: "招待はあらへんで"
noHistory: "履歴はないわ。"
noRooms: "ルームはあらへんで"
members: "メンバーはん"
home: "ホーム"
send: "送信"
deleteRoom: "ルームをほかす"
chatNotAvailableForThisAccountOrServer: "このサーバー、もしくはこのアカウントでチャットが有効にされてへんで。"
chatIsReadOnlyForThisAccountOrServer: "このサーバー、もしくはこのアカウントでチャットが読み取り専用になっとるわ。新しく書き込んだり、チャットルームを作ったり参加したりはできへんで。"
chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えんくなっとるみたいやわ。"
cannotChatWithTheUser: "このユーザーとのチャットを開始できへんみたいやわ"
cannotChatWithTheUser_description: "チャットが使えん状態になっとるか、相手がチャットを開放してへんみたいやわ。"
youAreNotAMemberOfThisRoomButInvited: "あんたはこのルームの参加者ちゃうけど、招待が届いとるで。参加するんやったら、招待を承認してな。"
doYouAcceptInvitation: "招待を承認してもええんか?"
chatWithThisUser: "チャットしよか"
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのチャットしか受け付けとらんみたいやわ。"
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしとるユーザーからのチャットしか受け付けとらんみたいやわ。"
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのチャットしか受け付けとらんみたいやわ。"
thisUserNotAllowedChatAnyone: "このユーザーは誰からのチャットも受け付けとらんみたいやわ。"
chatAllowedUsers: "チャットしてもええ相手"
chatAllowedUsers_note: "自分からチャットメッセージを送った相手やったらこの設定に関わらずチャットできるで。"
_chatAllowedUsers:
followers: "自分のフォロワーだけ"
following: "自分がフォローしとるユーザーだけ"
mutual: "相互フォローのユーザーだけ"
none: "誰もかもあかん"
_emojiPalette:
enableSyncBetweenDevicesForPalettes: "パレットのデバイス間同期をつけとく"
paletteForMain: "メインで使うパレット"
paletteForReaction: "リアクションで使うパレット"
_settings:
driveBanner: "ドライブの管理と設定、使用量の確認、ファイルをアップロードするときの設定ができるで。"
pluginBanner: "プラグインを使うとクライアントの機能を拡張できるねん。プラグインのインストール、個別の設定と管理ができるで。"
notificationsBanner: "サーバーから受け取る通知の種類とか範囲、プッシュ通知の設定ができるで。"
webhook: "Webhook"
serviceConnectionBanner: "外部のアプリ・サービスと連携するのに使うとるアクセストークンとかWebhookの管理と設定ができるで。"
accountDataBanner: "アカウントデータのアーカイブをエクスポート/インポートして管理できるで。"
muteAndBlockBanner: "見せんでええコンテンツの設定とか、特定のユーザーからのアクションを制限する設定と管理ができるで。"
accessibilityBanner: "クライアントの視覚や動作に関わるパーソナライズをして、よりええ感じに使えるように設定できるで。"
privacyBanner: "コンテンツの公開範囲、見つけやすさ、フォローの承認制とかアカウントのプライバシーに関わる設定ができるで。"
securityBanner: "パスワード、ログイン方法、認証アプリ、パスキーとかアカウントのセキュリティに関わる設定ができるで。"
preferencesBanner: "好みに応じた、クライアントの全体的な動作の設定ができるで。"
appearanceBanner: "好みに応じた、クライアントの見た目・表示方法に関わる設定ができるで。"
soundsBanner: "クライアントで流すサウンドの設定ができるで。"
makeEveryTextElementsSelectable: "全部のテキスト要素を選択できるようにする"
makeEveryTextElementsSelectable_description: "これをつけると、一部のシチュエーションでユーザビリティが低下するかもしれん。"
enablePullToRefresh_description: "マウスやったら、ホイールを押し込みながらドラッグしてな。"
realtimeMode_description: "サーバーと接続を確立して、リアルタイムでコンテンツを更新するで。通信量とバッテリーの消費が多くなるかもしれへん。"
contentsUpdateFrequency_description: "高いほどリアルタイムにコンテンツが更新されるんやけど、そのぶんパフォーマンスが低くなるし、通信量とバッテリーの消費も増えるねん。"
contentsUpdateFrequency_description2: "リアルタイムモードをつけてるんやったら、この設定がどうであれリアルタイムでコンテンツが更新されるで。"
_preferencesProfile:
profileNameDescription: "このデバイスはなんて呼んだらええんや?"
_preferencesBackup:
noBackupsFoundTitle: "バックアップが見つからへんね"
noBackupsFoundDescription: "自動で作られたバックアップは見つからんかったけど、バックアップファイルを手動で保存してるんやったら、それをインポートして復元できるで。"
selectBackupToRestore: "復元するバックアップを選んでや"
youNeedToNameYourProfileToEnableAutoBackup: "自動バックアップを有効するんやったらプロファイル名の設定が必要やな。"
autoPreferencesBackupIsNotEnabledForThisDevice: "このデバイスで設定の自動バックアップは有効になってへんで。"
backupFound: "設定のバックアップがあるみたいやわ"
_accountSettings:
requireSigninToViewContents: "ログインしてもらってからコンテンツ見てもらう"
requireSigninToViewContentsDescription1: "あなたが作成した全部のノートとかのコンテンツを見れるようにするのにログインがいるようにするで。クローラーにいろいろ収集されるんを防げるかもしれん。"
@@ -1322,8 +1411,9 @@ _accountSettings:
makeNotesFollowersOnlyBefore: "昔のノートをフォロワーだけに見てもらう"
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
makeNotesHiddenBefore: "昔のノートを見れんようにする"
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがあんただけ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばんかもしれん。"
mayNotEffectSomeSituations: "これらの制限は簡易的なものやで。リモートサーバーでの閲覧とかモデレーション時とか、一部のシチュエーションでは適用されへんかもしれん。"
notesHavePassedSpecifiedPeriod: "決めた時間が経ったノート"
notesOlderThanSpecifiedDateAndTime: "決めた日時より前のノート"
_abuseUserReport:
@@ -1342,6 +1432,7 @@ _delivery:
manuallySuspended: "手動停止中"
goneSuspended: "サーバー削除のため停止中"
autoSuspendedForNotResponding: "サーバー応答せえへんから停止中"
softwareSuspended: "配信停止中のソフトウェアやから停止中"
_bubbleGame:
howToPlay: "遊び方"
hold: "ホールド"
@@ -1468,11 +1559,21 @@ _serverSettings:
fanoutTimelineDbFallback: "データベースにフォールバックする"
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
reactionsBufferingDescription: "有効にしたら、リアクション作るときのパフォーマンスがすっごい上がって、データベースへの負荷が減るで。代わりに、Redisのメモリ使用は増えるで。"
remoteNotesCleaning_description: "つけると、参照されてへん古いリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑えてくれるで。"
inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
openRegistration: "アカウントの作成をオープンにする"
openRegistrationWarning: "登録を解放するのはリスクが伴うで。サーバーをいっつも監視して、なんか起きたらすぐに対応できるんやったら、オンにしてもええと思う。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターがおらんかったら、スパムを防ぐためにこの設定は勝手に切られるで。"
deliverSuspendedSoftwareDescription: "脆弱性とかの理由で、サーバーのソフトウェアの名前とバージョンの範囲を決めて配信を止められるで。このバージョン情報はサーバーが提供したものやから、信頼性は保証されへん。バージョン指定には semver の範囲指定が使えるねんけど、>= 2024.3.1と指定すると 2024.3.1-custom.0 みたいなカスタムバージョンが含まれへんから、>= 2024.3.1-0 みたいに prerelease を指定するとええかもしれへんな。"
singleUserMode_description: "このサーバーを使うとるんが自分だけなんやったら、このモードを有効にすると動作がええ感じになるで。"
signToActivityPubGet_description: "通常はつけといてな。連合の通信に関わる問題があるんやったら、無効にすると改善するかもしれへんけど、逆にサーバーによっては通信ができんくなることがあるで。"
proxyRemoteFiles_description: "つけると、リモートのファイルをプロキシして提供するで。画像のサムネイル生成とかユーザーのプライバシー保護にええな。"
allowExternalApRedirect_description: "つけると、他のサーバーがうちのサーバーを通して第三者のコンテンツを照会できるようになるんやけど、コンテンツのなりすましが発生するかもしれへん。"
userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツとかが、うちのサーバー経由で図らずもインターネットに公開されてまうことによるトラブルを防止できたりするで。"
userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受け取ったリモートのコンテンツを含め、サーバー内の全部のコンテンツを何でもかんでもインターネットに公開するのはリスクを伴うねん。特に、分散型の特性を知らん閲覧者にとっては、リモートのコンテンツやったとしてもサーバー内で作られたコンテンツやと誤認してまうかもしれへんから、注意が必要やな。"
restartServerSetupWizardConfirm_title: "サーバーの初期設定ウィザードをやり直すん?"
restartServerSetupWizardConfirm_text: "現在の一部の設定はリセットされるで。"
_accountMigration:
moveFrom: "別のアカウントからこのアカウントに引っ越す"
moveFromSub: "別のアカウントへエイリアスを作る"
@@ -1769,6 +1870,7 @@ _role:
descriptionOfIsExplorable: "オンにしたらロールの面子一覧が「みつける」で公開されるし、ロールのタイムラインが使えるようになるで。"
displayOrder: "表示順"
descriptionOfDisplayOrder: "数がでかいほど、UI上で先に表示されるで。"
preserveAssignmentOnMoveAccount_description: "つけると、このロールがのっかったアカウントが引っ越したときに、引っ越し先アカウントにもこのロールがのっかるようになるで。"
canEditMembersByModerator: "モデレーターがメンバーいじるのを許す"
descriptionOfCanEditMembersByModerator: "オンにすると、管理者だけやなくてモデレーターもこのロールにユーザーを入れたり抜いたりできるで。オフにすると管理者だけしかやれへんくなるで。"
priority: "優先度"
@@ -1809,6 +1911,8 @@ _role:
canImportFollowing: "フォローのインポートを許す"
canImportMuting: "ミュートのインポートを許す"
canImportUserLists: "リストのインポートを許す"
uploadableFileTypes_caption: "MIMEタイプを指定してや。改行で区切って複数指定もできるし、アスタリスク(*)でワイルドカード指定もできるで。(例: image/*)"
uploadableFileTypes_caption2: "ファイルによっては種別がわからんこともあるで。そないなファイルを許可するんやったら {x} を指定に追加してな。"
_condition:
roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー"
@@ -2008,7 +2112,7 @@ _theme:
navIndicator: "サイドバーのインジケーター"
link: "リンク"
hashtag: "ハッシュタグ"
mention: "メンション"
mention: "あんた宛て"
mentionMe: "うち宛てのメンション"
renote: "Renote"
modalBg: "モーダルの背景"
@@ -2025,7 +2129,6 @@ _theme:
buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り"
driveFolderBg: "ドライブフォルダーの背景"
badge: "バッジ"
messageBg: "チャットの背景"
fgHighlighted: "強調されとる文字"
@@ -2034,6 +2137,7 @@ _sfx:
noteMy: "ノート(自分)"
notification: "通知"
reaction: "ツッコミ選んどるとき"
chatMessage: "チャットしよか"
_soundSettings:
driveFile: "ドライブん中の音使う"
driveFileWarn: "ドライブん中のファイル選びや"
@@ -2239,6 +2343,7 @@ _widgets:
chooseList: "リストを選ぶ"
clicker: "クリッカー"
birthdayFollowings: "今日誕生日のツレ"
chat: "チャットしよか"
_cw:
hide: "隠す"
show: "続き見して!"
@@ -2278,6 +2383,8 @@ _visibility:
disableFederation: "連合なし"
disableFederationDescription: "他サーバーへは送らんとくわ"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "アップロードされてへんファイルがあるんやけど、ほかしてフォームを閉じてもええんか?"
uploaderTip: "ファイルはまだアップロードされてへんで。ファイルのメニューから、リネームとか画像のクロップ、ウォーターマークをのっける、圧縮するかどうかなんかを設定できるで。ファイルはノートを投稿するときに自動でアップロードされるで。"
replyPlaceholder: "このノートに返信..."
quotePlaceholder: "このノートを引用..."
channelPlaceholder: "チャンネルに投稿..."
@@ -2429,6 +2536,7 @@ _notification:
newNote: "さらの投稿"
unreadAntennaNote: "アンテナ {name}"
roleAssigned: "ロールが付与されたで"
chatRoomInvitationReceived: "チャットルームへ招待されたで"
emptyPushNotificationMessage: "プッシュ通知の更新をしといたで"
achievementEarned: "実績を獲得しとるで"
testNotification: "通知テスト"
@@ -2448,7 +2556,7 @@ _notification:
all: "すべて"
note: "あんたらの新規投稿"
follow: "フォロー"
mention: "メンション"
mention: "あんた宛て"
reply: "リプライ"
renote: "リノート"
quote: "引用"
@@ -2498,6 +2606,7 @@ _deck:
mentions: "あんた宛て"
direct: "ダイレクト"
roleTimeline: "ロールタイムライン"
chat: "チャットしよか"
_dialog:
charactersExceeded: "最大の文字数を上回っとるで!今は {current} / 最大でも {max}"
charactersBelow: "最小の文字数を下回っとるで!今は {current} / 最低でも {min}"
@@ -2618,7 +2727,7 @@ _externalResourceInstaller:
_errors:
_invalidParams:
title: ""
description: ""
description: "外部サイトからデータを持ってくるのに欲しい情報が足らへんみたいやわ。URLは合っとる"
_resourceTypeNotSupported:
title: ""
description: ""
@@ -2648,11 +2757,12 @@ _dataSaver:
_avatar:
title: "アイコンの絵"
description: "アイコン画像のアニメが止まるで。普通の画像よりもデータ量がでかいから、もっと通信量を節約できるねん。"
_urlPreview:
title: "URLプレビューのサムネイル画像"
description: "URLプレビューのサムネイル画像が読み込まへんなるで。"
_urlPreviewThumbnail:
description: "URLプレビューのサムネイル画像が読み込まれへんくなるで。"
_disableUrlPreview:
description: "URLプレビュー機能を切るで。サムネイル画像だけと違って、リンク先の情報の読み込み自体を削減できるで。"
_code:
title: "コードハイライト"
title: "コードハイライトは表示せんでええ"
description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。"
_hemisphere:
N: "北半球"
@@ -2708,6 +2818,7 @@ _offlineScreen:
_urlPreviewSetting:
title: "URLプレビューの設定"
enable: "URLプレビューを有効にする"
allowRedirectDescription: "入力されたURLがリダイレクトされるとき、そのリダイレクト先をたどってプレビューを表示するかどうかを設定できるで。無効にするとサーバーリソースを節約できるんやけど、リダイレクト先の内容は表示されへんくなるで。"
timeout: "プレビュー取得時のタイムアウト(ms)"
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されへんで。"
maximumContentLength: "Content-Lengthの最大値(byte)"
@@ -2781,10 +2892,6 @@ _customEmojisManager:
uploadSettingDescription: "この画面で絵文字アップロードするときの動きを設定できるで。"
directoryToCategoryLabel: "ディレクトリ名を\"category\"に入力する"
directoryToCategoryCaption: "ディレクトリをドラッグ・ドロップした時に、ディレクトリ名を\"category\"に入力します。"
emojiInputAreaCaption: "どれかの方法で登録する絵文字を選択して。"
emojiInputAreaList1: "この枠に画像ファイルかディレクトリをドラッグ&ドロップ"
emojiInputAreaList2: "このリンクをクリックしてPCから選択する"
emojiInputAreaList3: "このリンクをクリックしてドライブから選択する"
confirmRegisterEmojisDescription: "リストに表示されてる絵文字を新たなカスタム絵文字として登録するで。ほんまにええか? (サーバーがしんどくなるから、一回で登録できる絵文字は{count}件までやで)"
confirmClearEmojisDescription: "編集内容をほかして、リストに表示されている絵文字をクリアするで。ほんまにええか?"
confirmUploadEmojisDescription: "ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードするで。ほんまにええか?"
@@ -2856,3 +2963,81 @@ _search:
searchScopeAll: "みんな"
searchScopeLocal: "ローカル"
searchScopeUser: "ユーザー指定"
pleaseEnterServerHost: "サーバーのホストはどないするん?"
pleaseSelectUser: "ユーザーを選んでや"
_serverSetupWizard:
installCompleted: "Misskeyのインストールが終わったで"
firstCreateAccount: "最初は、管理者アカウントを作成しよか。"
accountCreated: "管理者アカウントができたで!"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "このウィザードで簡単にええ感じのサーバーの設定ができるで。"
settingsYouMakeHereCanBeChangedLater: "ここでの設定は、あとからでも変えられるで。"
howWillYouUseMisskey: "Misskeyをどんな感じに使うん"
_use:
single_youCanCreateMultipleAccounts: "お一人様サーバーとして運用するとしても、アカウントは必要に応じて複数作れるで。"
openServerAdvice: "不特定多数の利用者を受け入れるには相応のリスクがあるで。トラブルに対処できるよう、ちゃんとしたモデレーション体制で運営しいや。"
openServerAntiSpamAdvice: "うちのサーバーがスパムの踏み台にならへんように、reCAPTCHAとかのアンチボット機能を使う、みたいなセキュリティ対策もしっかり考えてな。"
howManyUsersDoYouExpect: "どれくらいの人数を考えとるん?"
largeScaleServerAdvice: "大規模なサーバーやったら、ロードバランシングとかデータベースのレプリケーションみたいな、高度なインフラストラクチャーの知識が必要になるかもしれへんわ。"
doYouConnectToFediverse: "Fediverseと接続するんやっけ"
doYouConnectToFediverse_description1: "分散型サーバーでできたネットワーク(Fediverse)に繋げると、他のサーバーと相互にコンテンツのやり取りができるようになるで。"
doYouConnectToFediverse_description2: "Fediverseと接続することは「連合」とも呼ばれるな。"
youCanConfigureMoreFederationSettingsLater: "連合してもええサーバーの指定とか、高度な設定も後でできるで。"
remoteContentsCleaning_description: "連合すると、ぎょうさんコンテンツを受け取り続けることになるねん。自動クリーニングをつけると、参照されてない古いコンテンツを自動でサーバーからほかして、ストレージを節約できるで。"
adminInfo_description: "問い合わせを受け付けるのに使う管理者情報を設定しよか。"
adminInfo_mustBeFilled: "オープンサーバー、もしくは連合を入れとるんやったら必ず入力せなあかんで。"
followingSettingsAreRecommended: "こういう設定がええかもな"
settingsCompleted: "設定が終わったで!"
settingsCompleted_description: "お疲れさん。準備ができたから、さっそくサーバーを使い始められるで。"
settingsCompleted_description2: "細かいサーバー設定は、「コントロールパネル」を見てみてな。"
_donationRequest:
text1: "Misskeyは有志で開発されとる無料のソフトウェアやで。"
text2: "今後も開発を続けられるように、よかったらぜひカンパをお願いするわ。"
text3: "支援者向け特典もあるで!"
_uploader:
abortConfirm: "アップロードされてへんファイルがあるんやけど、やめてもええんか?"
doneConfirm: "アップロードされてへんファイルがあるんやけど、完了してもええんか?"
maxFileSizeIsX: "アップロードできるファイルサイズは{x}までやで。"
tip: "ファイルはまだアップロードされてへんで。このダイアログで、アップロードする前に確認・リネーム・圧縮・クロッピングとかをできるで。準備が出来たら、「アップロード」ボタンを押してアップロードしてな。"
_clientPerformanceIssueTip:
makeSureDisabledAdBlocker: "アドブロッカーを切ってみてや"
makeSureDisabledAdBlocker_description: "アドブロッカーはパフォーマンスに影響があるかもしれへん。OSの機能とかブラウザの機能・アドオンとかでアドブロッカーが有効になってないか確認してや。"
makeSureDisabledCustomCss: "カスタムCSSを無効にしてみてや"
makeSureDisabledCustomCss_description: "スタイルを上書きするとパフォーマンスに影響があるかもしれへん。カスタムCSSとか、スタイルを上書きする拡張機能が有効になってないか確認してや。"
makeSureDisabledAddons: "拡張機能を無効にしてみてや"
makeSureDisabledAddons_description: "なんかの拡張機能がクライアントの動作にちょっかいをかけてパフォーマンスに影響を与えてるかもしれへん。ブラウザの拡張機能を無効にして良くなるか確認してや。"
_clip:
tip: "クリップは、ノートをまとめられる機能やで。"
_userLists:
tip: "好きなユーザーを含むリストを作れるねん。作ったリストはタイムラインとして表示できるで。"
_watermarkEditor:
tip: "画像にクレジット情報とかのウォーターマークをのっけられるで。"
quitWithoutSaveConfirm: "保存せずに終わってもええんか?"
driveFileTypeWarn: "このファイルは対応しとらへん"
driveFileTypeWarnDescription: "画像ファイルを選んでや"
opacity: "不透明度"
scale: "大きさ"
text: "テキスト"
position: "位置"
type: "タイプ"
image: "画像"
advanced: "高度"
angle: "角度"
_imageEffector:
discardChangesConfirm: "変更をせんで終わるか?"
_fxProps:
angle: "角度"
scale: "大きさ"
size: "大きさ"
offset: "位置"
color: "色"
opacity: "不透明度"
lightness: "明るさ"
_drafts:
cannotCreateDraftAnymore: "下書きはこれ以上は作れへんな。"
cannotCreateDraft: "この内容で下書きは作れへんな。"
delete: "下書きをほかす"
deleteAreYouSure: "下書きをほかしてもええか?"
noDrafts: "下書きはあらへん"
_qr:
showTabTitle: "表示"
raw: "テキスト"

View File

@@ -44,6 +44,7 @@ showMore: "ಇನ್ನಷ್ಟು ನೋಡು"
youGotNewFollower: "ಹಿಂಬಾಲಿಸಿದರು"
receiveFollowRequest: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಬಂದಿದೆ"
followRequestAccepted: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಸ್ವೀಕರಿಸಲಾಯಿತು"
mention: "ಹೆಸರಿಸಿದ"
mentions: "ಹೆಸರಿಸಿದ"
directNotes: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
importAndExport: "ಆಮದು/ರಫ್ತು"
@@ -65,6 +66,9 @@ replies: "ಉತ್ತರಿಸು"
_email:
_follow:
title: "ಹಿಂಬಾಲಿಸಿದರು"
_theme:
keys:
mention: "ಹೆಸರಿಸಿದ"
_sfx:
notification: "ಅಧಿಸೂಚನೆಗಳು"
_widgets:
@@ -73,11 +77,14 @@ _widgets:
timeline: "ಸಮಯಸಾಲು"
_cw:
show: "ಇನ್ನಷ್ಟು ನೋಡು"
_visibility:
specified: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
_profile:
username: "ಬಳಕೆಹೆಸರು"
_notification:
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
_types:
mention: "ಹೆಸರಿಸಿದ"
login: "ಪ್ರವೇಶ"
_actions:
reply: "ಉತ್ತರಿಸು"
@@ -86,3 +93,4 @@ _deck:
notifications: "ಅಧಿಸೂಚನೆಗಳು"
tl: "ಸಮಯಸಾಲು"
mentions: "ಹೆಸರಿಸಿದ"
direct: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"

View File

@@ -745,7 +745,7 @@ _menuDisplay:
_theme:
description: "설멩"
keys:
mention: "멘션"
mention: "받언 멘션"
renote: "리노트"
_sfx:
note: "새 노트"
@@ -775,6 +775,7 @@ _cw:
_visibility:
home: "덜머리"
followers: "팔로워"
specified: "쪽지 서기"
_postForm:
_placeholders:
e: "옇다 서 주이소"
@@ -809,7 +810,7 @@ _notification:
newNote: "새 걸"
_types:
follow: "팔로잉"
mention: "멘션"
mention: "받언 멘션"
renote: "리노트"
quote: "따오기"
reaction: "반엉"
@@ -824,6 +825,7 @@ _deck:
antenna: "안테나"
list: "리스트"
mentions: "받언 멘션"
direct: "쪽지 서기"
_webhookSettings:
name: "이럼"
_abuseReport:
@@ -848,3 +850,7 @@ _remoteLookupErrors:
_search:
searchScopeAll: "말캉"
searchScopeUser: "사용자 지정"
_watermarkEditor:
image: "이미지"
_qr:
showTabTitle: "보기"

View File

@@ -253,6 +253,7 @@ noteDeleteConfirm: "이 노트를 삭제하시겠습니까?"
pinLimitExceeded: "더 이상 고정할 수 없습니다."
done: "완료"
processing: "처리중"
preprocessing: "준비중"
preview: "미리보기"
default: "기본값"
defaultValueIs: "기본값: {value}"
@@ -298,6 +299,7 @@ uploadFromUrl: "URL 업로드"
uploadFromUrlDescription: "업로드하려는 파일의 URL"
uploadFromUrlRequested: "업로드를 요청했습니다"
uploadFromUrlMayTakeTime: "업로드가 완료될 때까지 시간이 소요될 수 있습니다."
uploadNFiles: "{n}개의 파일을 업로"
explore: "둘러보기"
messageRead: "읽음"
noMoreHistory: "이것보다 과거의 기록이 없습니다"
@@ -326,11 +328,13 @@ dark: "다크"
lightThemes: "밝은 테마"
darkThemes: "어두운 테마"
syncDeviceDarkMode: "디바이스의 다크 모드 설정과 동기화"
switchDarkModeManuallyWhenSyncEnabledConfirm: "'{x}'가 켜져 있습니다. 동기화를 끄고 수동으로 모드를 변경하겠습니까?"
drive: "드라이브"
fileName: "파일명"
selectFile: "파일 선택"
selectFiles: "파일 선택"
selectFolder: "폴더 선택"
unselectFolder: "폴더 선택 해제"
selectFolders: "폴더 선택"
fileNotSelected: "파일을 선택하지 않았습니다"
renameFile: "파일 이름 변경"
@@ -343,6 +347,7 @@ addFile: "파일 추가"
showFile: "파일 표시하기"
emptyDrive: "드라이브가 비어 있습니다"
emptyFolder: "폴더가 비어 있습니다"
dropHereToUpload: "업로드할 파일을 여기로 드롭하십시오"
unableToDelete: "삭제할 수 없습니다"
inputNewFileName: "바꿀 파일명을 입력해 주세요"
inputNewDescription: "새 캡션을 입력해 주세요"
@@ -575,8 +580,10 @@ showFixedPostForm: "타임라인 상단에 글 입력란을 표시"
showFixedPostFormInChannel: "채널 타임라인 상단에 글 입력란을 표시"
withRepliesByDefaultForNewlyFollowed: "팔로우 할 때 기본적으로 답글을 타임라인에 나오게 하기"
newNoteRecived: "새 노트가 있습니다"
newNote: "새로운 노트"
sounds: "소리"
sound: "소리"
notificationSoundSettings: "알림 설정"
listen: "듣기"
none: "없음"
showInPage: "페이지로 보기"
@@ -768,6 +775,7 @@ lockedAccountInfo: "팔로우를 승인으로 승인받더라도 노트의 공
alwaysMarkSensitive: "미디어를 항상 열람 주의로 설정"
loadRawImages: "첨부한 이미지의 썸네일을 원본화질로 표시"
disableShowingAnimatedImages: "움직이는 이미지를 자동으로 재생하지 않음"
disableShowingAnimatedImages_caption: "이 설정에 상관없이 애니메이션 이미지가 재생되지 않을 때는 브라우저·OS의 액티비티 설정이나 절전 모드 설정 등이 간섭하고 있는 경우가 있습니다."
highlightSensitiveMedia: "미디어가 민감한 내용이라는 것을 알기 쉽게 표시"
verificationEmailSent: "확인 메일을 발송하였습니다. 설정을 완료하려면 메일에 첨부된 링크를 확인해 주세요."
notSet: "설정되지 않음"
@@ -791,6 +799,7 @@ wide: "넓게"
narrow: "좁게"
reloadToApplySetting: "이 설정을 적용하려면 페이지를 새로고침해야 합니다. 바로 새로고침하시겠습니까?"
needReloadToApply: "변경 사항은 새로고침하면 적용됩니다."
needToRestartServerToApply: "변경 사항은 새로고침이 필요합니다."
showTitlebar: "타이틀 바를 표시하기"
clearCache: "캐시 비우기"
onlineUsersCount: "{n}명이 접속 중"
@@ -997,6 +1006,7 @@ failedToUpload: "업로드 실패"
cannotUploadBecauseInappropriate: "이 파일은 부적절한 내용을 포함한다고 판단되어 업로드할 수 없습니다."
cannotUploadBecauseNoFreeSpace: "드라이브 용량이 부족하여 업로드할 수 없습니다."
cannotUploadBecauseExceedsFileSizeLimit: "파일 크기가 너무 크기 때문에 업로드할 수 없습니다."
cannotUploadBecauseUnallowedFileType: "허가되지 않은 유형의 파일이기에 업로드할 수 없습니다."
beta: "베타"
enableAutoSensitive: "자동 NSFW 탐지"
enableAutoSensitiveDescription: "이용 가능할 경우 기계학습을 통해 자동으로 미디어 NSFW를 설정합니다. 이 기능을 해제하더라도, 서버 정책에 따라 자동으로 설정될 수 있습니다."
@@ -1048,6 +1058,7 @@ permissionDeniedError: "작업이 거부되었습니다"
permissionDeniedErrorDescription: "이 작업을 수행할 권한이 없습니다."
preset: "프리셋"
selectFromPresets: "프리셋에서 선택"
custom: "커스텀"
achievements: "도전 과제"
gotInvalidResponseError: "서버의 응답이 올바르지 않습니다"
gotInvalidResponseErrorDescription: " 서버가 다운되었거나 점검중일 가능성이 있습니다. 잠시후에 다시 시도해 주십시오."
@@ -1086,6 +1097,7 @@ prohibitedWordsDescription2: "공백으로 구분하면 AND 지정이 되며,
hiddenTags: "숨긴 해시태그"
hiddenTagsDescription: "설정한 태그를 트렌드에 표시하지 않도록 합니다. 줄 바꿈으로 하나씩 나눠서 설정할 수 있습니다."
notesSearchNotAvailable: "노트 검색을 이용하실 수 없습니다."
usersSearchNotAvailable: "유저 검색을 이용하실 수 없습니다."
license: "라이선스"
unfavoriteConfirm: "즐겨찾기를 해제하시겠습니까?"
myClips: "내 클립"
@@ -1160,6 +1172,7 @@ installed: "설치됨"
branding: "브랜딩"
enableServerMachineStats: "서버의 머신 사양을 공개하기"
enableIdenticonGeneration: "유저마다의 Identicon 생성 유효화"
showRoleBadgesOfRemoteUsers: "리모트 유저의 역할 배지 표시"
turnOffToImprovePerformance: "이 기능을 끄면 성능이 향상될 수 있습니다."
createInviteCode: "초대 코드 생성"
createWithOptions: "옵션을 지정하여 생성"
@@ -1237,7 +1250,7 @@ releaseToRefresh: "놓아서 새로고침"
refreshing: "새로고침 중"
pullDownToRefresh: "아래로 내려서 새로고침"
useGroupedNotifications: "알림을 그룹화하고 표시"
signupPendingError: "메일 주소 확인문제가 발생했습니다. 링크의 유효기간이 지났을 가능성이 있습니다."
emailVerificationFailedError: "메일 주소 확인에 실패했습니다. 확인에 필요한 URL의 유효기간이 지났을 가능성이 있습니다."
cwNotationRequired: "'내용을 숨기기'를 체크한 경우 주석을 써야 합니다."
doReaction: "리액션 추가"
code: "문자열"
@@ -1307,6 +1320,8 @@ availableRoles: "사용 가능한 역할"
acknowledgeNotesAndEnable: "활성화 하기 전에 주의 사항을 확인했습니다."
federationSpecified: "이 서버는 화이트 리스트 제도로 운영 중 입니다. 정해진 리모트 서버가 아닌 경우 연합되지 않습니다."
federationDisabled: "이 서버는 연합을 하지 않고 있습니다. 리모트 서버 유저와 통신을 할 수 없습니다."
draft: "초안"
draftsAndScheduledNotes: "초안과 예약 게시물"
confirmOnReact: "리액션할 때 확인"
reactAreYouSure: "\" {emoji} \"로 리액션하시겠습니까?"
markAsSensitiveConfirm: "이 미디어를 민감한 미디어로 설정하시겠습니까?"
@@ -1324,6 +1339,7 @@ restore: "복원"
syncBetweenDevices: "장치간 동기화"
preferenceSyncConflictTitle: "서버에 설정값이 존재합니다."
preferenceSyncConflictText: "동기화를 활성화 한 항목의 설정 값은 서버에 저장되지만, 해당 항목은 이미 서버에 설정 값이 저장되어져 있습니다. 어느 쪽의 설정 값을 덮어씌울까요?"
preferenceSyncConflictChoiceMerge: "병합"
preferenceSyncConflictChoiceServer: "서버 설정값"
preferenceSyncConflictChoiceDevice: "장치 설정값"
preferenceSyncConflictChoiceCancel: "동기화 취소"
@@ -1333,6 +1349,8 @@ postForm: "글 입력란"
textCount: "문자 수"
information: "정보"
chat: "채팅"
directMessage: "채팅하기"
directMessage_short: "메시지"
migrateOldSettings: "기존 설정 정보를 이전"
migrateOldSettings_description: "보통은 자동으로 이루어지지만, 어떤 이유로 인해 성공적으로 이전이 이루어지지 않는 경우 수동으로 이전을 실행할 수 있습니다. 현재 설정 정보는 덮어쓰게 됩니다."
compress: "압축"
@@ -1346,7 +1364,52 @@ goToDeck: "덱으로 돌아가기"
federationJobs: "연합 작업"
driveAboutTip: "드라이브는 이전에 업로드한 파일 목록을 표시해요. <br>\n노트에 첨부할 때 다시 사용하거나 나중에 게시할 파일을 미리 업로드할 수 있어요. <br>\n<b>파일을 삭제하면, 지금까지 그 파일을 사용한 모든 장소(노트, 페이지, 아바타, 배너 등)에서도 보이지 않게 되므로 주의해 주세요. 폴더를 만들고 정리할 수도 있어요.</b><br>"
scrollToClose: "스크롤하여 닫기"
advice: "참고"
realtimeMode: "실시간 모드"
turnItOn: "켜기"
turnItOff: "끄기"
emojiMute: "이모티콘 뮤트"
emojiUnmute: "이모티콘 뮤트 해제"
muteX: "{x}를 뮤트"
unmuteX: "{x}의 뮤트를 해제"
abort: "중지"
tip: "팁과 유용한 정보"
redisplayAllTips: "모든 '팁과 유용한 정보'를 재표시"
hideAllTips: "모든 '팁과 유용한 정보'를 비표시"
defaultImageCompressionLevel: "기본 이미지 압축 정도"
defaultImageCompressionLevel_description: "낮추면 화질을 유지합니다만 파일 크기는 증가합니다. <br>높이면 파일 크기를 줄일 수 있습니다만 화질은 저하됩니다."
defaultCompressionLevel: "기본 압축 정도 "
defaultCompressionLevel_description: "낮추면 품질을 유지합니다만 파일 크기는 증가합니다. <br>높이면 파일 크기를 줄일 수 있습니다만 품질은 저하됩니다."
inMinutes: "분"
inDays: "일"
safeModeEnabled: "세이프 모드가 활성화돼있습니다"
pluginsAreDisabledBecauseSafeMode: "세이프 모드가 활성화돼있기에 플러그인은 전부 비활성화됩니다."
customCssIsDisabledBecauseSafeMode: "세이프 모드가 활성화돼있기에 커스텀 CSS는 적용되지 않습니다."
themeIsDefaultBecauseSafeMode: "세이프 모드가 활성화돼있는 동안에는 기본 테마가 사용됩니다. 세이프 모드를 끄면 원래대로 돌아옵니다."
thankYouForTestingBeta: "베타 버전의 검증에 협력해 주셔서 감사합니다!"
createUserSpecifiedNote: "사용자 지정 노트를 작성"
schedulePost: "게시 예약"
scheduleToPostOnX: "{x}에 게시를 예약합니다."
scheduledToPostOnX: "{x}에 게시가 예약돼있습니다."
schedule: "예약"
scheduled: "예약"
widgets: "위젯"
deviceInfo: "장치 정보"
deviceInfoDescription: "기술적 문의의 경우 아래의 정보를 병기하면 문제의 해결에 도움이 됩니다."
_compression:
_quality:
high: "고품질"
medium: "중간 품질"
low: "저품질"
_size:
large: "대형"
medium: "중형"
small: "소형"
_order:
newest: "최신 순"
oldest: "오래된 순"
_chat:
messages: "메시지"
noMessagesYet: "아직 메시지가 없습니다"
newMessage: "새로운 메시지"
individualChat: "개인 대화"
@@ -1379,6 +1442,8 @@ _chat:
chatNotAvailableInOtherAccount: "상대방 계정에서 채팅 기능을 사용할 수 없는 상태입니다."
cannotChatWithTheUser: "이 유저와 채팅을 시작할 수 없습니다"
cannotChatWithTheUser_description: "채팅을 사용할 수 없는 상태이거나 상대방이 채팅을 열지 않은 상태입니다."
youAreNotAMemberOfThisRoomButInvited: "당신은 이 룸의 참가자가 아닙니다만 초대 신청을 받으셨습니다. 참가하려면 초대를 수락해주십시오."
doYouAcceptInvitation: "초대를 수락하시겠습니까?"
chatWithThisUser: "채팅하기"
thisUserAllowsChatOnlyFromFollowers: "이 유저는 팔로워만 채팅을 할 수 있습니다."
thisUserAllowsChatOnlyFromFollowing: "이 유저는 이 유저가 팔로우하는 유저만 채팅을 허용합니다."
@@ -1418,12 +1483,21 @@ _settings:
makeEveryTextElementsSelectable: "모든 텍스트 요소를 선택할 수 있도록 함"
makeEveryTextElementsSelectable_description: "활성화 시, 일부 동작에서 유저의 접근성이 나빠질 수도 있습니다."
useStickyIcons: "아이콘이 스크롤을 따라가도록 하기"
enableHighQualityImagePlaceholders: "고화질 이미지의 플레이스홀더를 표시"
uiAnimations: "UI 애니메이션"
showNavbarSubButtons: "내비게이션 바에 보조 버튼 표시"
ifOn: "켜져 있을 때"
ifOff: "꺼져 있을 때"
enableSyncThemesBetweenDevices: "기기 간 설치한 테마 동기화"
enablePullToRefresh: "계속해서 갱신"
enablePullToRefresh_description: "마우스에서 휠을 누르면서 드래그해요."
realtimeMode_description: "서버에 접속하고 실시간으로 콘텐츠를 업데이트합니다. 데이터 사용량과 배터리의 소비가 증가할 수 있습니다."
contentsUpdateFrequency: "콘텐츠의 업데이트 빈도"
contentsUpdateFrequency_description: "높을수록 실시간으로 콘텐츠가 업데이트됩니다만, 성능이 저하되고 데이터 사용량과 배터리의 소비가 증가합니다."
contentsUpdateFrequency_description2: "실시간 모드가 켜져 있을 때는 이 설정과 상관없이 실시간으로 콘텐츠가 업데이트됩니다."
showUrlPreview: "URL 미리보기 표시"
showAvailableReactionsFirstInNote: "이용 가능한 리액션을 선두로 표시"
showPageTabBarBottom: "페이지의 탭 바를 아래쪽에 표시"
_chat:
showSenderName: "발신자 이름 표시"
sendOnEnter: "엔터로 보내기"
@@ -1597,6 +1671,10 @@ _serverSettings:
fanoutTimelineDbFallback: "데이터베이스를 예비로 사용하기"
fanoutTimelineDbFallbackDescription: "활성화하면 타임라인의 캐시되어 있지 않은 부분에 대해 DB에 질의하여 정보를 가져옵니다. 비활성화하면 이를 실행하지 않음으로써 서버의 부하를 줄일 수 있지만, 타임라인에서 가져올 수 있는 게시물 범위가 한정됩니다."
reactionsBufferingDescription: "활성화 한 경우, 리액션 작성 퍼포먼스가 대폭 향상되어 DB의 부하를 줄일 수 있으나, Redis의 메모리 사용량이 많아집니다."
remoteNotesCleaning: "리모트 서버 노트 자동 정리 "
remoteNotesCleaning_description: "더 이상 사용되지 않는 오래된 리모트 노트를 정기적으로 정리하여, 데이터 베이스의 사용량을 절약할 수 있습니다."
remoteNotesCleaningMaxProcessingDuration: "리모트 노트 자동 정리 최대 실행 시간"
remoteNotesCleaningExpiryDaysForEachNotes: "리모트 노트 저장 최소 일수"
inquiryUrl: "문의처 URL"
inquiryUrlDescription: "서버 운영자에게 보내는 문의 양식의 URL이나 운영자의 연락처 등이 적힌 웹 페이지의 URL을 설정합니다."
openRegistration: "회원 가입을 활성화 하기"
@@ -1604,6 +1682,26 @@ _serverSettings:
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "일정 기간동안 모더레이터의 활동이 감지되지 않는 경우, 스팸 방지를 위해 이 설정은 자동으로 꺼집니다."
deliverSuspendedSoftware: "전달 정지 중인 소프트웨어"
deliverSuspendedSoftwareDescription: "취약성 등의 이유로 서버의 소프트웨어 이름 및 버전 범위를 지정하여 전달을 정지할 수 있어요. 이 버전 정보는 서버가 제공한 것이며 신뢰성은 보장되지 않아요. 버전 지정에는 semver의 범위 지정을 사용할 수 있지만, >= 2024.3.1로 지정하면 2024.3.1-custom.0과 같은 custom.0과 같은 custom 버전이 포함되지 않기 때문에 >= 2024.3.1-0과 같이 prerelease를 지정하는 것이 좋아요."
singleUserMode: "1인 모드"
singleUserMode_description: "이 서버의 이용자가 자신 뿐인 경우, 이 모드를 활성화하면 동작이 최적화됩니다."
signToActivityPubGet: "GET 요청에 사인"
signToActivityPubGet_description: "보통의 경우 활성화해 주십시오. 연합의 통신에 관한 문제가 있는 경우, 비활성화하면 개선되는 경우도 있습니다만, 서버에 따라서는 통신이 불가능해지는 경우도 있습니다."
proxyRemoteFiles: "리모트 파일 프록시"
proxyRemoteFiles_description: "활성화하면 리모트 파일을 프록시로 제공합니다. 이미지의 섬네일 생성이나 유저의 개인정보 보호에 도움을 줍니다."
allowExternalApRedirect: "ActivityPub 경유 조회에 리디렉션 허가"
allowExternalApRedirect_description: "활성화하면 다른 서버가 이 서버를 통해 제3자의 콘텐츠를 조회할 수 있습니다만, 콘텐츠의 사칭 문제가 생길 수 있습니다."
userGeneratedContentsVisibilityForVisitor: "비이용자에 대한 유저 작성 콘텐츠의 공개 범위"
userGeneratedContentsVisibilityForVisitor_description: "조정을 하기 힘든 부적절한 리모트 콘텐츠 등이 자신의 서버 경유로 의도치 않게 인터넷에 공개되는 문제의 방지 등에 도움을 줍니다."
userGeneratedContentsVisibilityForVisitor_description2: "서버에서 받은 리모트 콘텐츠를 포함해 서버 내의 모든 콘텐츠를 무조건 인터넷에 공개하는 것에는 위험이 따릅니다. 특히, 분산형 특성에 대해 모르는 열람자에게는 리모트 콘텐츠여도 서버 내에서 작성된 콘텐츠라고 잘못 인식할 수 있기에 주의가 필요합니다."
restartServerSetupWizardConfirm_title: "서버의 초기 설정 위자드를 재시도하시겠습니까?"
restartServerSetupWizardConfirm_text: "현재 일부 설정은 리셋됩니다."
entrancePageStyle: "입구 페이지의 스타일"
showTimelineForVisitor: "타임라인 표시"
showActivitiesForVisitor: "액티비티 표시하기"
_userGeneratedContentsVisibilityForVisitor:
all: "모두 공개"
localOnly: "로컬 콘텐츠만 공개하고 리모트 콘텐츠는 비공개"
none: "모두 비공개"
_accountMigration:
moveFrom: "다른 계정에서 이 계정으로 이사"
moveFromSub: "다른 계정에 대한 별칭을 생성"
@@ -1922,6 +2020,7 @@ _role:
canManageAvatarDecorations: "아바타 꾸미기 관리"
driveCapacity: "드라이브 용량"
maxFileSize: "업로드 가능한 최대 파일 크기"
maxFileSize_caption: "리버스 프록시나 CDN 등 전단에서 다른 설정값이 존재하는 경우가 있습니다."
alwaysMarkNsfw: "파일을 항상 NSFW로 지정"
canUpdateBioMedia: "아바타 및 배너 이미지 변경 허용"
pinMax: "고정할 수 있는 노트 수"
@@ -1936,6 +2035,7 @@ _role:
descriptionOfRateLimitFactor: "작을수록 제한이 완화되고, 클수록 제한이 강화됩니다."
canHideAds: "광고 숨기기"
canSearchNotes: "노트 검색 이용 가능 여부"
canSearchUsers: "유저 검색 이용"
canUseTranslator: "번역 기능의 사용"
avatarDecorationLimit: "아바타 장식의 최대 붙임 개수"
canImportAntennas: "안테나 가져오기 허용"
@@ -1944,6 +2044,12 @@ _role:
canImportMuting: "뮤트 목록 가져오기 허용"
canImportUserLists: "리스트 목록 가져오기 허용"
chatAvailability: "채팅을 허락"
uploadableFileTypes: "업로드 가능한 파일 유형"
uploadableFileTypes_caption: "MIME 유형을 "
uploadableFileTypes_caption2: "파일에 따라서는 유형을 검사하지 못하는 경우가 있습니다. 그러한 파일을 허가하는 경우에는 {x}를 지정으로 추가해주십시오."
noteDraftLimit: "서버측 노트 초안 작성 가능 수"
scheduledNoteLimit: "예약 게시물의 동시 작성 가능 수"
watermarkAvailable: "워터마크 기능의 사용 여부"
_condition:
roleAssignedTo: "수동 역할에 이미 할당됨"
isLocal: "로컬 유저"
@@ -2103,6 +2209,7 @@ _theme:
install: "테마 설치"
manage: "테마 관리"
code: "테마 코드"
copyThemeCode: "테마 코드 복사"
description: "설명"
installed: "{name} 테마가 설치되었습니다"
installedThemes: "설치된 테마"
@@ -2161,7 +2268,6 @@ _theme:
buttonBg: "버튼 배경"
buttonHoverBg: "버튼 배경 (호버)"
inputBorder: "입력 필드 테두리"
driveFolderBg: "드라이브 폴더 배경"
badge: "배지"
messageBg: "대화 배경"
fgHighlighted: "강조된 텍스트"
@@ -2203,6 +2309,7 @@ _time:
minute: "분"
hour: "시간"
day: "일"
month: "개월"
_2fa:
alreadyRegistered: "이미 설정이 완료되었습니다."
registerTOTP: "인증 앱 설정 시작"
@@ -2332,6 +2439,7 @@ _auth:
scopeUser: "다음 유저로 활동하고 있습니다."
pleaseLogin: "어플리케이션의 접근을 허가하려면 로그인하십시오."
byClickingYouWillBeRedirectedToThisUrl: "접근을 허용하면 자동으로 다음 URL로 이동합니다."
alreadyAuthorized: "이 애플리케이션은 이미 접근이 허가돼있습니다."
_antennaSources:
all: "모든 노트"
homeTimeline: "팔로우중인 유저의 노트"
@@ -2377,7 +2485,7 @@ _widgets:
chooseList: "리스트 선택"
clicker: "클리커"
birthdayFollowings: "오늘이 생일인 유저"
chat: "채팅"
chat: "채팅하기"
_cw:
hide: "숨기기"
show: "더 보기"
@@ -2417,6 +2525,8 @@ _visibility:
disableFederation: "연합에 보내지 않기"
disableFederationDescription: "다른 서버로 보내지 않습니다"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "업로드되지 않은 파일이 있습니다만, 없애고 폼을 닫겠습니까?"
uploaderTip: "파일이 아직 업로드돼있지 않습니다. 파일 메뉴에서 이름 바꾸기나 이미지의 자르기, 워터마크 넣기, 압축의 유무 등을 설정할 수 있습니다. 파일은 노트 게시 시 자동으로 업로드됩니다."
replyPlaceholder: "이 노트에 답글..."
quotePlaceholder: "이 노트를 인용..."
channelPlaceholder: "채널에 게시하기..."
@@ -2565,6 +2675,8 @@ _notification:
youReceivedFollowRequest: "새로운 팔로우 요청이 있습니다"
yourFollowRequestAccepted: "팔로우 요청이 수락되었습니다"
pollEnded: "투표 결과가 발표되었습니다"
scheduledNotePosted: "예약 노트가 게시됐습니다."
scheduledNotePostFailed: "예약 노트의 게시에 실패했습니다."
newNote: "새 게시물"
unreadAntennaNote: "안테나 {name}"
roleAssigned: "역할이 부여 되었습니다."
@@ -2594,6 +2706,8 @@ _notification:
quote: "인용"
reaction: "리액션"
pollEnded: "투표가 종료됨"
scheduledNotePosted: "예약 게시에 성공했습니다"
scheduledNotePostFailed: "예약 게시에 실패했습니다"
receiveFollowRequest: "팔로우 요청을 받았을 때"
followRequestAccepted: "팔로우 요청이 승인되었을 때"
roleAssigned: "역할이 부여됨"
@@ -2644,7 +2758,7 @@ _deck:
mentions: "받은 멘션"
direct: "다이렉트"
roleTimeline: "역할 타임라인"
chat: "채팅"
chat: "채팅하기"
_dialog:
charactersExceeded: "최대 글자수를 초과하였습니다! 현재 {current} / 최대 {max}"
charactersBelow: "최소 글자수 미만입니다! 현재 {current} / 최소 {min}"
@@ -2750,6 +2864,7 @@ _fileViewer:
url: "URL"
uploadedAt: "업로드 날짜"
attachedNotes: "첨부된 노트"
usage: "이용"
thisPageCanBeSeenFromTheAuthor: "이 페이지는 파일 소유자만 열람할 수 있습니다"
_externalResourceInstaller:
title: "외부 사이트로부터 설치"
@@ -2797,9 +2912,12 @@ _dataSaver:
_avatar:
title: "아이콘 이미지"
description: "아이콘 이미지의 애니메이션을 멈춥니다. 애니메이션 이미지는 일반 이미지보다 파일 크기가 클 수 있으므로 데이터 사용량을 더 줄일 수 있습니다."
_urlPreview:
title: "URL 미리보기의 섬네일"
description: "URL 미리보기의 섬네일 이미지를 불러오지 않게 됩니다."
_urlPreviewThumbnail:
title: "URL 미리보기의 섬네일을 비표시"
description: "URL 미리보기의 섬네일 이미지를 불러올 수 없게 됩니다."
_disableUrlPreview:
title: "URL 미리보기 비활성화"
description: "URL 미리보기 기능을 비활성화합니다. 섬네일 이미지와 달리 링크 정보 불러오기 자체를 줄일 수 있습니다."
_code:
title: "문자열 강조"
description: "MFM 등으로 문자열 강조 기법을 사용할 때 누르기 전에는 불러오지 않습니다. 문자열 강조에서는 강조할 언어마다 그 정의 파일을 불러와야 하지만 이를 자동으로 불러오지 않으므로 데이터 사용량을 줄일 수 있습니다."
@@ -2857,6 +2975,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "URL 미리보기 설정"
enable: "URL 미리보기 활성화"
allowRedirect: "미리보기 위치의 리디렉션 허가"
allowRedirectDescription: "입력된 URL이 리디렉션될 경우, 그 리디렉션 위치를 따라 미리보기를 표시할 것인지 설정합니다. 비활성화하면 서버 리소스를 절약할 수 있습니다만, 리디렉션 위치의 내용은 표시되지 않습니다."
timeout: "미리보기를 불러올 때의 타임아웃 (ms)"
timeoutDescription: "미리보기를 로딩하는데 걸리는 시간이 정한 시간보다 오래 걸리는 경우, 미리보기를 생성하지 않습니다."
maximumContentLength: "Content-Length의 최대치 (byte)"
@@ -2930,10 +3050,6 @@ _customEmojisManager:
uploadSettingDescription: "여기서 이모지를 업로드 할 때의 동작을 설정할 수 있습니다."
directoryToCategoryLabel: "디렉토리 이름을 \"category\"로 입력하기"
directoryToCategoryCaption: "디렉토리를 드래그 앤 드롭한 경우, 디렉토리 이름을 \"category\"로 입력합니다."
emojiInputAreaCaption: "이모지를 등록할 방법을 선택해주세요."
emojiInputAreaList1: "이 틀 안에 이미지 파일 또는 디렉토리를 끌어서 가져오기"
emojiInputAreaList2: "이 링크를 클릭해서 PC에서 선택하기"
emojiInputAreaList3: "이 링크를 클릭해서 드라이브에서 선택하기"
confirmRegisterEmojisDescription: "리스트에 표시되어진 이모지를 새로운 커스텀 이모지로 등록합니다. 실행할까요? (부하를 피하기 위해, 한 번에 등록할 수 있는 이모지는 {count}건까지 입니다.)"
confirmClearEmojisDescription: "편집 내용을 지우고, 목록에 표시되어진 이모지를 지웁니다. 실행할까요?"
confirmUploadEmojisDescription: "드래그 앤 드롭한 {count}개의 파일을 드라이브에 업로드 합니다. 실행할까요?"
@@ -3001,6 +3117,7 @@ _bootErrors:
otherOption1: "클라이언트 설정 및 캐시 삭제"
otherOption2: "간편 클라이언트 실행"
otherOption3: "복구 툴 실행"
otherOption4: "Misskey를 세이프 모드로 열기"
_search:
searchScopeAll: "전체"
searchScopeLocal: "로컬"
@@ -3009,3 +3126,195 @@ _search:
pleaseEnterServerHost: "서버의 호스트를 입력해 주세요."
pleaseSelectUser: "유저를 선택해주세요"
serverHostPlaceholder: "예: misskey.example.com"
_serverSetupWizard:
installCompleted: "Misskey의 설치가 완료됐습니다!"
firstCreateAccount: "먼저 관리자 계정을 만듭시다."
accountCreated: "관리자 계정이 만들어졌습니다!"
serverSetting: "서버 설정"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "이 위자드로 쉽게 최적화된 서버의 설정을 할 수 있습니다."
settingsYouMakeHereCanBeChangedLater: "이 설정은 나중에 변경 가능합니다."
howWillYouUseMisskey: "Misskey를 어떻게 사용하십니까?"
_use:
single: "1인 서버"
single_description: "자신 전용 서버로 혼자서 사용"
single_youCanCreateMultipleAccounts: "1인 서버로 운영하는 경우에도 계정은 필요에 따라 여러 개 만들 수 있습니다."
group: "그룹 서버"
group_description: "신뢰 가능한 다른 유저를 초대해 여러 명이 사용"
open: "오픈 서버"
open_description: "불특정 다수의 유저를 받아들이는 운영을 함"
openServerAdvice: "불특정 다수의 유저를 받아들이는 것에는 위험이 따릅니다. 문제에 대처할 수 있도록 확실한 조정 체제로 운영하는 것을 권장합니다."
openServerAntiSpamAdvice: "자신의 서버가 스팸으로 사용되지 않게끔 reCAPTCHA라는 안티 봇 기능을 활성화하는 등 보안에 대해서도 세심한 주의가 필요합니다."
howManyUsersDoYouExpect: "어느 정도의 인원으로 생각 중이십니까?"
_scale:
small: "100명 이하(소규모)"
medium: "100명 이상 1000명 이하(중간 규모)"
large: "1000명 이상(대규모)"
largeScaleServerAdvice: "대규모 서버에서는 부하분산이나 데이터베이스의 복제 등 높은 인프라스트럭처 지식이 필요할 수 있습니다."
doYouConnectToFediverse: "Fediverse에 접속하시겠습니까?"
doYouConnectToFediverse_description1: "분산형 서버로 구성된 네트워크(Fediverse)에 접속하면 다른 서버와 서로 콘텐츠의 주고받기를 할 수 있습니다."
doYouConnectToFediverse_description2: "Fediverse에 접속하는 것을 '연합'이라고도 부릅니다."
youCanConfigureMoreFederationSettingsLater: "나중에 연합 가능한 서버의 지정 등 고급 설정을 할 수 있습니다."
remoteContentsCleaning: "리모트 콘텐츠 자동 정리"
remoteContentsCleaning_description: "연합 중인 서버가 있는 경우, 리모트 서버에서 대단히 많은 콘텐츠를 받아오게 됩니다. 자동 정리 기능을 활성화하면, 오래되고 서버에서 더 이상 조회되지 않는 콘텐츠를 자동으로 서버에서 삭제하여, 스토리지를 절약할 수 있습니다."
adminInfo: "관리자 정보"
adminInfo_description: "문의 접수를 위해 사용되는 관리자 정보를 설정합니다."
adminInfo_mustBeFilled: "오픈 서버 혹은 연합이 켜져 있는 경우 반드시 입력해야 합니다."
followingSettingsAreRecommended: "아래의 설정이 권장됩니다."
applyTheseSettings: "이 설정을 적용"
skipSettings: "설정 건너뛰기"
settingsCompleted: "설정이 완료됐습니다!"
settingsCompleted_description: "수고하셨습니다. 준비를 마쳤으므로 바로 서버의 이용을 시작하실 수 있습니다."
settingsCompleted_description2: "상세한 서버 설정은 '제어판'에서 하실 수 있습니다."
donationRequest: "기부 요청"
_donationRequest:
text1: "Misskey는 자원봉사자들에 의해 개발되는 무료 소프트웨어입니다."
text2: "앞으로도 계속해서 개발을 할 수 있도록 괜찮으시다면 부디 기부를 부탁드립니다."
text3: "지원자 대상 특전도 있습니다!"
_uploader:
editImage: "이미지 편집"
compressedToX: "{x}로 압축"
savedXPercent: "{x}% 절약"
abortConfirm: "업로드되지 않은 파일이 있습니다만, 그만 두시겠습니까?"
doneConfirm: "업로드되지 않은 파일이 있습니다만, 완료하시겠습니까?"
maxFileSizeIsX: "업로드 가능한 최대 파일 크기는 {x}입니다."
allowedTypes: "업로드 가능한 파일 유형"
tip: "파일은 아직 업로드되지 않았습니다. 이 다이얼로그에서 업로드 전의 확인, 이름 바꾸기, 압축, 자르기 등을 하실 수 있습니다. 준비가 되셨다면 '업로드' 버튼을 클릭해 업로드를 시작하실 수 있습니다."
_clientPerformanceIssueTip:
title: "배터리 소비가 심하다고 생각되시면"
makeSureDisabledAdBlocker: "광고 차단을 비활성화해 주십시오."
makeSureDisabledAdBlocker_description: "광고 차단은 성능에 영향을 미칠 수 있습니다. OS의 기능이나 브라우저의 기능, 애드온 등으로 광고 차단이 활성화돼있지 않은지 확인해 주십시오."
makeSureDisabledCustomCss: "커스텀 CSS를 무효로 해주십시오."
makeSureDisabledCustomCss_description: "스타일을 덮어쓰기하면 성능에 영향을 미칠 수 있습니다. 커스텀 CSS나 스타일을 덮어쓰기하는 확장 기능이 유효로 돼있는지 확인해주십시오."
makeSureDisabledAddons: "확장 기능을 비활성화해 주십시오."
makeSureDisabledAddons_description: "일부 확장 기능은 클라이언트의 동작에 간섭해 성능에 영향을 미칠 수 있습니다. 브라우저의 확장 기능을 비활성화해 개선할지 확인해주십시오."
_clip:
tip: "클립은 노트를 정리할 수 있는 기능입니다."
_userLists:
tip: "임의의 유저가 포함된 리스트를 작성할 수 있습니다. 작성한 리스트는 타임라인으로 표시가 가능합니다."
watermark: "워터마크"
defaultPreset: "기본 프리셋"
_watermarkEditor:
tip: "이미지에 크레딧 정보 등의 워터마크를 추가할 수 있습니다."
quitWithoutSaveConfirm: "보존하지 않고 종료하시겠습니까?"
driveFileTypeWarn: "이 파이"
driveFileTypeWarnDescription: "이미지 파일을 선택해주십시오."
title: "워터마크 편집"
cover: "전체에 붙이기"
repeat: "전면에 깔기"
preserveBoundingRect: "회전 시 빠져나오지 않도록 조정"
opacity: "불투명도"
scale: "크기"
text: "텍스트"
qr: "QR 코드"
position: "위치"
margin: "여백"
type: "종류"
image: "이미지"
advanced: "고급"
angle: "각도"
stripe: "줄무늬"
stripeWidth: "라인의 폭"
stripeFrequency: "라인의 수"
polkadot: "물방울 무늬"
checker: "체크 무늬"
polkadotMainDotOpacity: "주요 물방울의 불투명도"
polkadotMainDotRadius: "주요 물방울의 크기"
polkadotSubDotOpacity: "서브 물방울의 불투명도"
polkadotSubDotRadius: "서브 물방울의 크기"
polkadotSubDotDivisions: "서브 물방울의 수"
leaveBlankToAccountUrl: "빈칸일 경우 계정의 URL로 됩니다."
_imageEffector:
title: "이펙트"
addEffect: "이펙트를 추가"
discardChangesConfirm: "변경을 취소하고 종료하시겠습니까?"
nothingToConfigure: "설정 항목이 없습니다."
_fxs:
chromaticAberration: "색수차"
glitch: "글리치"
mirror: "미러"
invert: "색 반전"
grayscale: "흑백"
blur: "흐림 효과"
pixelate: "모자이크"
colorAdjust: "색조 보정"
colorClamp: "색 압축"
colorClampAdvanced: "색 압축(고급)"
distort: "뒤틀림"
threshold: "이진화"
zoomLines: "집중선"
stripe: "줄무늬"
polkadot: "물방울 무늬"
checker: "체크 무늬"
blockNoise: "노이즈 방지"
tearing: "티어링"
fill: "채우기"
_fxProps:
angle: "각도"
scale: "크기"
size: "크기"
radius: "반지름"
samples: "샘플 수"
offset: "위치"
color: "색"
opacity: "불투명도"
normalize: "노멀라이즈"
amount: "양"
lightness: "밝음"
contrast: "대비"
hue: "색조"
brightness: "밝기"
saturation: "채도"
max: "최대 값"
min: "최소 값"
direction: "방향"
phase: "위상"
frequency: "빈도"
strength: "강도"
glitchChannelShift: "글리치"
seed: "시드 값"
redComponent: "빨간색 요소"
greenComponent: "녹색 요소"
blueComponent: "파란색 요소"
threshold: "한계 값"
centerX: "X축 중심"
centerY: "Y축 중심"
zoomLinesSmoothing: "다듬기"
zoomLinesSmoothingDescription: "다듬기와 집중선 폭 설정은 같이 쓸 수 없습니다."
zoomLinesThreshold: "집중선 폭"
zoomLinesMaskSize: "중앙 값"
zoomLinesBlack: "검은색으로 하기"
circle: "원형"
drafts: "초안"
_drafts:
select: "초안 선택"
cannotCreateDraftAnymore: "초안 작성 가능 수를 초과했습니다."
cannotCreateDraft: "이 내용으로는 초안을 작성할 수 없습니다. "
delete: "초안 삭제\n"
deleteAreYouSure: "초안을 삭제하시겠습니까?"
noDrafts: "초안 없음\n"
replyTo: "{user}에 회신"
quoteOf: "{user} 노트에 인용"
postTo: "{channel}에 게시"
saveToDraft: "초안에 저장"
restoreFromDraft: "초안에서 복원\n"
restore: "복원"
listDrafts: "초안 목록"
schedule: "게시 예약"
listScheduledNotes: "예약 게시물 목록"
cancelSchedule: "예약 해제"
qr: "QR 코드"
_qr:
showTabTitle: "보기"
readTabTitle: "읽어들이기"
shareTitle: "{name} {acct}"
shareText: "Fediverse로 저를 팔로우해 주세요!"
chooseCamera: "카메라 선택"
cannotToggleFlash: "플래시 선택 불가"
turnOnFlash: "플래시 켜기"
turnOffFlash: "플래시 끄기"
startQr: "코드 리더 재개"
stopQr: "코드 리더 정지"
noQrCodeFound: "QR 코드를 찾을 수 없습니다."
scanFile: "단말기의 이미지 스캔"
raw: "텍스트"
mfm: "MFM"

View File

@@ -433,6 +433,7 @@ _cw:
_visibility:
home: "ໜ້າຫຼັກ"
followers: "ຜູ້ຕິດຕາມ"
specified: "ໂພສ Direct note"
_profile:
name: "ຊື່"
username: "ຊື່ຜູ້ໃຊ້"
@@ -470,6 +471,7 @@ _deck:
list: "ລາຍການ"
channel: "ຊ່ອງ"
mentions: "ກ່າວເຖິງເຈົ້າ"
direct: "ໂພສ Direct note"
_webhookSettings:
name: "ຊື່"
_abuseReport:
@@ -483,3 +485,5 @@ _remoteLookupErrors:
title: "ບໍ່ພົບ"
_search:
searchScopeAll: "ທັງໝົດ"
_watermarkEditor:
image: "ຮູບພາບ"

View File

@@ -1019,6 +1019,7 @@ _cw:
_visibility:
home: "Startpagina"
followers: "Volgers"
specified: "Directe notities"
_profile:
name: "Naam"
username: "Gebruikersnaam"
@@ -1061,6 +1062,7 @@ _deck:
list: "Lijsten"
channel: "Kanalen"
mentions: "Vermeldingen"
direct: "Directe notities"
_webhookSettings:
name: "Naam"
active: "Ingeschakeld"
@@ -1078,3 +1080,8 @@ _remoteLookupErrors:
title: "Niet gevonden"
_search:
searchScopeAll: "Alle"
_watermarkEditor:
image: "Afbeeldingen"
advanced: "Geavanceerd"
_qr:
showTabTitle: "Weergave"

View File

@@ -461,6 +461,8 @@ replies: "Svar"
renotes: "Renote"
surrender: "Avbryt"
information: "Informasjon"
inMinutes: "Minutter"
inDays: "Dager"
_chat:
invitations: "Inviter"
members: "Medlemmer"
@@ -735,3 +737,15 @@ _remoteLookupErrors:
title: "Ikke funnet"
_search:
searchScopeAll: "Alle"
_watermarkEditor:
scale: "Størrelse"
text: "Tekst"
type: "Type"
image: "Bilder"
_imageEffector:
_fxProps:
scale: "Størrelse"
size: "Størrelse"
color: "Farge"
_qr:
raw: "Tekst"

View File

@@ -1040,6 +1040,9 @@ surrender: "Odrzuć"
gameRetry: "Spróbuj ponownie"
postForm: "Formularz tworzenia wpisu"
information: "Informacje"
inMinutes: "minuta"
inDays: "dzień"
widgets: "Widżety"
_chat:
invitations: "Zaproś"
noHistory: "Brak historii"
@@ -1231,7 +1234,6 @@ _theme:
buttonBg: "Tło przycisku"
buttonHoverBg: "Tło przycisku (po najechaniu)"
inputBorder: "Obramowanie pola wejścia"
driveFolderBg: "Tło folderu na dysku"
badge: "Odznaka"
messageBg: "Tło czatu"
fgHighlighted: "Wyróżniony tekst"
@@ -1585,3 +1587,20 @@ _remoteLookupErrors:
_search:
searchScopeAll: "Wszystkie"
searchScopeLocal: "Lokalne"
_watermarkEditor:
opacity: "Przezroczystość"
scale: "Rozmiar"
text: "Tekst"
type: "Typ"
image: "Zdjęcia"
advanced: "Zaawansowane"
_imageEffector:
_fxProps:
scale: "Rozmiar"
size: "Rozmiar"
color: "Kolor"
opacity: "Przezroczystość"
lightness: "Rozjaśnij"
_qr:
showTabTitle: "Wyświetlanie"
raw: "Tekst"

View File

@@ -143,9 +143,9 @@ deleteFile: "Excluir arquivo"
markAsSensitive: "Marcar como sensível"
unmarkAsSensitive: "Desmarcar como sensível"
enterFileName: "Digite o nome do arquivo"
mute: "Mutar"
mute: "Silenciar"
unmute: "Desmutar"
renoteMute: "Mutar repostagens"
renoteMute: "Silenciar repostagens"
renoteUnmute: "Reativar repostagens"
block: "Bloquear"
unblock: "Desbloquear"
@@ -220,6 +220,7 @@ silenceThisInstance: "Silenciar essa instância"
mediaSilenceThisInstance: "Silenciar a mídia dessa instância"
operations: "Operações"
software: "Software"
softwareName: "Software"
version: "Versão"
metadata: "Metadados"
withNFiles: "{n} arquivo(s)"
@@ -252,6 +253,7 @@ noteDeleteConfirm: "Deseja excluir esta nota?"
pinLimitExceeded: "Não é possível fixar novas notas"
done: "Concluído"
processing: "Em Progresso"
preprocessing: "Preparando..."
preview: "Pré-visualizar"
default: "Predefinição"
defaultValueIs: "Predefinição: {value}"
@@ -297,6 +299,7 @@ uploadFromUrl: "Enviar por URL"
uploadFromUrlDescription: "URL do arquivo que você deseja enviar"
uploadFromUrlRequested: "Upload solicitado"
uploadFromUrlMayTakeTime: "Pode levar algum tempo para que o upload seja concluído."
uploadNFiles: "Enviar {n} arquivos"
explore: "Explorar"
messageRead: "Lida"
noMoreHistory: "Não existe histórico anterior"
@@ -325,6 +328,7 @@ dark: "Escuro"
lightThemes: "Tema claro"
darkThemes: "Tema escuro"
syncDeviceDarkMode: "Sincronize com o modo escuro do dispositivo"
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" está ativado. Você gostaria de desligar a sincronização e alterar manualmente?"
drive: "Drive"
fileName: "Nome do Ficheiro"
selectFile: "Selecione os arquivos"
@@ -443,7 +447,7 @@ exploreUsersCount: "Há um utilizador de {count}"
exploreFediverse: "Explorar Fediverse"
popularTags: "Tags populares"
userList: "Listas"
about: "Informações"
about: "Sobre"
aboutMisskey: "Sobre Misskey"
administrator: "Administrador"
token: "Símbolo"
@@ -574,8 +578,10 @@ showFixedPostForm: "Exibir o formulário de postagem na parte superior da linha
showFixedPostFormInChannel: "Exibir o campo de postagem na parte superior da linha do tempo (canais)"
withRepliesByDefaultForNewlyFollowed: "Incluir respostas por usuários recém-seguidos na linha do tempo por padrão"
newNoteRecived: "Nova nota recebida"
newNote: "Nova Nota"
sounds: "Sons"
sound: "Sons"
notificationSoundSettings: "Configurações de som de notificações"
listen: "Ouvir"
none: "Nenhum"
showInPage: "Ver na página"
@@ -790,6 +796,7 @@ wide: "Largo"
narrow: "Estreito"
reloadToApplySetting: "As configurações serão refletidas após recarregar a página. Deseja recarregar agora?"
needReloadToApply: "É necessário recarregar a página para refletir as alterações."
needToRestartServerToApply: "É necessário reiniciar o servidor para aplicar as mudanças."
showTitlebar: "Exibir barra de título"
clearCache: "Limpar o cache"
onlineUsersCount: "{n} Pessoas Online"
@@ -996,6 +1003,7 @@ failedToUpload: "Falha ao enviar"
cannotUploadBecauseInappropriate: "Esse arquivo não pôde ser enviado porque partes dele foram detectadas como potencialmente inapropriadas."
cannotUploadBecauseNoFreeSpace: "Envio falhou devido à falta de capacidade no Drive."
cannotUploadBecauseExceedsFileSizeLimit: "Não é possível realizar o upload deste arquivo porque ele excede o tamanho máximo permitido."
cannotUploadBecauseUnallowedFileType: "Não foi possível fazer o envio, pois o formato do arquivo não foi autorizado."
beta: "Beta"
enableAutoSensitive: "Marcar automaticamente como conteúdo sensível"
enableAutoSensitiveDescription: "Quando disponível, a marcação de mídia sensível será automaticamente atribuído ao conteúdo de mídia usando aprendizado de máquina. Mesmo que você desative essa função, em alguns servidores, isso pode ser configurado automaticamente."
@@ -1047,6 +1055,7 @@ permissionDeniedError: "Operação recusada"
permissionDeniedErrorDescription: "Esta conta não tem permissão para executar esta ação."
preset: "Predefinições"
selectFromPresets: "Escolher de predefinições"
custom: "Personalizado"
achievements: "Conquistas"
gotInvalidResponseError: "Resposta do servidor inválida"
gotInvalidResponseErrorDescription: "Servidor fora do ar ou em manutenção. Favor tentar mais tarde."
@@ -1085,6 +1094,7 @@ prohibitedWordsDescription2: "Utilizar espaços irá criar expressões aditivas
hiddenTags: "Hashtags escondidas"
hiddenTagsDescription: "Selecione tags que não serão exibidas na lista de destaques. Várias tags podem ser escolhidas, separadas por linha."
notesSearchNotAvailable: "A pesquisa de notas está indisponível."
usersSearchNotAvailable: "Pesquisa de usuário está indisponível."
license: "Licença"
unfavoriteConfirm: "Deseja realmente remover dos favoritos?"
myClips: "Meus clipes"
@@ -1236,7 +1246,7 @@ releaseToRefresh: "Solte para atualizar"
refreshing: "Atualizando..."
pullDownToRefresh: "Puxe para baixo para atualizar"
useGroupedNotifications: "Agrupar notificações"
signupPendingError: "Houve um problema ao verificar o endereço de email. O link pode ter expirado."
emailVerificationFailedError: "Houve um problema ao verificar seu endereço de email. O link pode ter expirado."
cwNotationRequired: "Se \"Esconder conteúdo\" está habilitado, uma descrição deve ser adicionada."
doReaction: "Adicionar reação"
code: "Código"
@@ -1306,6 +1316,8 @@ availableRoles: "Cargos disponíveis"
acknowledgeNotesAndEnable: "Ative após compreender as precauções."
federationSpecified: "Esse servidor opera com uma lista branca de federação. Interagir com servidores diferentes daqueles designados pela administração não é permitido."
federationDisabled: "Federação está desabilitada nesse servidor. Você não pode interagir com usuários de outros servidores."
draft: "Rascunhos"
draftsAndScheduledNotes: "Rascunhos e notas agendadas."
confirmOnReact: "Confirmar ao reagir"
reactAreYouSure: "Você deseja adicionar uma reação \"{emoji}\"?"
markAsSensitiveConfirm: "Você deseja definir essa mídia como sensível?"
@@ -1323,6 +1335,7 @@ restore: "Redefinir"
syncBetweenDevices: "Sincronizar entre dispositivos"
preferenceSyncConflictTitle: "O valor configurado já existe no servidor."
preferenceSyncConflictText: "As preferências com a sincronização ativada irão salvar os seus valores no servidor. Porém, já existem valores no servidor. Qual conjunto de valores você deseja sobrescrever?"
preferenceSyncConflictChoiceMerge: "Combinar"
preferenceSyncConflictChoiceServer: "Valor configurado no servidor"
preferenceSyncConflictChoiceDevice: "Valor configurado no dispositivo"
preferenceSyncConflictChoiceCancel: "Cancelar a habilitação de sincronização"
@@ -1330,8 +1343,10 @@ paste: "Colar"
emojiPalette: "Paleta de emojis"
postForm: "Campo de postagem"
textCount: "Contagem de caracteres"
information: "Informações"
information: "Sobre"
chat: "Conversas"
directMessage: "Conversar com usuário"
directMessage_short: "Mensagem"
migrateOldSettings: "Migrar configurações antigas de cliente"
migrateOldSettings_description: "Isso deve ser feito automaticamente. Caso o processo de migração tenha falhado, você pode acioná-lo manualmente. As informações atuais de migração serão substituídas."
compress: "Comprimir"
@@ -1343,7 +1358,52 @@ settingsMigrating: "Configurações estão sendo migradas, aguarde... (Você pod
readonly: "Ler apenas"
goToDeck: "Voltar ao Deck"
federationJobs: "Tarefas de Federação"
driveAboutTip: "No Drive, uma lista de arquivos enviados no passado será exibida. <br>\nVocê pode reutilizar esses arquivos anexando-os às notas, ou você pode enviar arquivos para publicar posteriormente. <br>\n<b>Cuidado ao excluir um arquivo, pois ele será removido de quaisquer outros lugares onde está sendo utilizado (notas, páginas, avatares, banners, etc.)</b><br>\nVocê também pode criar pastas para organizar seus arquivos."
scrollToClose: "Role a página para fechar"
advice: "Dica"
realtimeMode: "Modo tempo-real"
turnItOn: "Ativar"
turnItOff: "Desativar"
emojiMute: "Silenciar emoji"
emojiUnmute: "Reativar emoji"
muteX: "Silenciar {x}"
unmuteX: "Reativar {x}"
abort: "Abortar"
tip: "Dicas e Truques"
redisplayAllTips: "Mostrar todas as \"Dicas e Truques\" novamente"
hideAllTips: "Ocultas todas as \"Dicas e Truques\""
defaultImageCompressionLevel: "Nível de compressão de imagem padrão"
defaultImageCompressionLevel_description: "Alto, reduz o tamanho do arquivo mas, também, a qualidade da imagem.<br>Alto, reduz o tamanho do arquivo mas, também, a qualidade da imagem."
defaultCompressionLevel: "Nível padrão de compressão"
defaultCompressionLevel_description: "Menor compressão preserva a qualidade mas aumenta o tamanho do arquivo.<br>Maior compressão reduz o tamanho do arquivo mas diminui a qualidade."
inMinutes: "Minuto(s)"
inDays: "Dia(s)"
safeModeEnabled: "Modo seguro está habilitado"
pluginsAreDisabledBecauseSafeMode: "Todos os plugins estão desabilitados porque o modo seguro está habilitado."
customCssIsDisabledBecauseSafeMode: "CSS personalizado não está aplicado porque o modo seguro está habilitado."
themeIsDefaultBecauseSafeMode: "Enquanto o modo seguro estiver ativo, o tema padrão é utilizado. Desabilitar o modo seguro reverterá essas mudanças."
thankYouForTestingBeta: "Obrigado por nos ajudar a testar a versão beta!"
createUserSpecifiedNote: "Criar uma nota direta"
schedulePost: "Agendar publicação"
scheduleToPostOnX: "Agendar nota para {x}"
scheduledToPostOnX: "A nota está agendada para {x}"
schedule: "Agendar"
scheduled: "Agendado"
widgets: "Widgets"
_compression:
_quality:
high: "Qualidade alta"
medium: "Qualidade média"
low: "Qualidade baixa"
_size:
large: "Tamanho grande"
medium: "Tamanho médio"
small: "Tamanho pequeno"
_order:
newest: "Priorizar Mais Novos"
oldest: "Priorizar Mais Antigos"
_chat:
messages: "Mensagem"
noMessagesYet: "Ainda não há mensagens"
newMessage: "Nova mensagem"
individualChat: "Conversa Particular"
@@ -1376,6 +1436,8 @@ _chat:
chatNotAvailableInOtherAccount: "A função de conversas está desabilitadas para o outro usuário."
cannotChatWithTheUser: "Não é possível conversar com esse usuário."
cannotChatWithTheUser_description: "Conversas estão indisponíveis ou o outro usuário não as habilitou."
youAreNotAMemberOfThisRoomButInvited: "Você não é um participante da sala, mas recebeu um convite. Por favor, aceite o convite para entrar."
doYouAcceptInvitation: "Aceita o convite?"
chatWithThisUser: "Conversar com usuário"
thisUserAllowsChatOnlyFromFollowers: "Esse usuário aceita conversar apenas com seguidores."
thisUserAllowsChatOnlyFromFollowing: "Esse usuário aceita conversar apenas com quem segue."
@@ -1415,10 +1477,21 @@ _settings:
makeEveryTextElementsSelectable: "Tornar todos os elementos de texto selecionáveis"
makeEveryTextElementsSelectable_description: "Habilitar isso pode reduzir a usabilidade em algumas situações"
useStickyIcons: "Fazer ícones acompanharem a rolagem da tela"
enableHighQualityImagePlaceholders: "Exibir prévias para imagens de alta qualidade"
uiAnimations: "Animações de UI"
showNavbarSubButtons: "Mostrar sub-botões na barra de navegação"
ifOn: "Quando ligado"
ifOff: "Quando desligado"
enableSyncThemesBetweenDevices: "Sincronizar temas instalados entre dispositivos"
enablePullToRefresh: "Puxe para atualizar"
enablePullToRefresh_description: "Quando estiver utilizando um mouse, arraste enquanto aperta a roda de rolagem."
realtimeMode_description: "Estabelece uma conexão com o servidor e atualiza o conteúdo em tempo real. Isso pode aumentar o tráfego e uso de memória."
contentsUpdateFrequency: "Frequência da obtenção de conteúdo"
contentsUpdateFrequency_description: "Quanto maior o valor, mais o conteúdo atualiza. Porém, há uma diminuição do desempenho e aumento do tráfego e consumo de memória."
contentsUpdateFrequency_description2: "Quando o modo tempo-real está ativado, o conteúdo é atualizado em tempo real, ignorando essa opção."
showUrlPreview: "Exibir prévia de URL"
showAvailableReactionsFirstInNote: "Exibir reações disponíveis no topo."
showPageTabBarBottom: "Mostrar barra de aba da página inferiormente"
_chat:
showSenderName: "Exibir nome de usuário do remetente"
sendOnEnter: "Pressionar Enter para enviar"
@@ -1426,6 +1499,7 @@ _preferencesProfile:
profileName: "Nome do perfil"
profileNameDescription: "Defina o nome que identifica esse dispositivo."
profileNameDescription2: "Exemplo: \"Computador Principal\", \"Celular\""
manageProfiles: "Gerenciar Perfis"
_preferencesBackup:
autoBackup: "Backup automático"
restoreFromBackup: "Restaurar backup"
@@ -1464,6 +1538,7 @@ _delivery:
manuallySuspended: "Suspenso manualmente"
goneSuspended: "Servidor foi suspenso devido ao seu apagamento"
autoSuspendedForNotResponding: "Servidor foi suspenso por não responder"
softwareSuspended: "Suspenso, pois esse software não está recebendo conteúdo"
_bubbleGame:
howToPlay: "Como jogar"
hold: "Próximos"
@@ -1590,11 +1665,37 @@ _serverSettings:
fanoutTimelineDbFallback: "\"Fallback\" ao banco de dados"
fanoutTimelineDbFallbackDescription: "Quando habilitado, a linha do tempo irá recuar ao banco de dados caso consultas adicionais sejam feitas e ela não estiver em cache. Quando desabilitado, o impacto no servidor será reduzido ao eliminar o recuo, mas limita a quantidade de linhas do tempo que podem ser recebidas."
reactionsBufferingDescription: "Quando ativado, o desempenho durante a criação de uma reação será melhorado substancialmente, reduzindo a carga do banco de dados. Porém, a o uso de memória do Redis irá aumentar."
remoteNotesCleaning: "Limpeza automática de notas remotas"
remoteNotesCleaning_description: "Quando habilitado, notas remotas obsoletas e não utilizadas serão periodicamente limpadas para previnir sobrecarga no banco de dados."
remoteNotesCleaningMaxProcessingDuration: "Maximizar tempo de processamento da limpeza"
remoteNotesCleaningExpiryDaysForEachNotes: "Mínimo de dias para retenção de notas"
inquiryUrl: "URL de inquérito"
inquiryUrlDescription: "Especifique um URL para um formulário de inquérito para a administração ou uma página web com informações de contato."
openRegistration: "Abrir a criação de contas"
openRegistrationWarning: "Abrir cadastros contém riscos. É recomendado apenas habilitá-los se houver um sistema de monitoramento contínuo e resolução imediata de problemas."
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "Se nenhuma atividade da moderação for detectada por um tempo, essa configuração será desativada para prevenir spam."
deliverSuspendedSoftware: "Software Suspenso"
deliverSuspendedSoftwareDescription: "Você pode especificar uma faixa de nomes e versões do software de servidores para cancelar o envio de conteúdo por motivos como vulnerabilidades. Essa informação da versão é providenciada pelo servidor e pode não ser confiável. Uma faixa semver pode ser utilizada para especificar a versão, mas colocar '>= 2024.3.1' não incluirá versões personalizadas como '2024.3.1-custom.0'. Logo, é recomendado inserir uma especificação como '>= 2024.3.1-0'"
singleUserMode: "Modo de usuário único"
singleUserMode_description: "Se você é o único usuário desse servidor, habilitar esse modo irá otimizar a performance."
signToActivityPubGet: "Assinar solicitações GET do ActivityPub"
signToActivityPubGet_description: "Normalmente, isso deve ser habilitado. Desabilitar pode melhorar o desempenho na federação, mas também pode cortar a federação com alguns servidores."
proxyRemoteFiles: "Passar arquivos remotos por proxy"
proxyRemoteFiles_description: "Se habilitado, o servidor irá servir arquivos remotos através de um proxy. Isso é útil para gerar prévias de imagens e proteger a privacidade do usuário."
allowExternalApRedirect: "Permitir redirecionamento de conteúdo pelo ActivityPub"
allowExternalApRedirect_description: "Se habilitado, outros servidores podem solicitar conteúdo de terceiros através desse servidor, o que pode resultar em falsificação de conteúdo (spoofing)."
userGeneratedContentsVisibilityForVisitor: "Visibilidade de conteúdo dos usuários para visitantes"
userGeneratedContentsVisibilityForVisitor_description: "Isso é útil para prevenir problemas causados por conteúdo inapropriado de usuários remotos de servidores com pouca ou nenhuma moderação, que pode ser hospedado na internet a partir desse servidor."
userGeneratedContentsVisibilityForVisitor_description2: "Publicar todo o conteúdo do servidor para a internet pode ser arriscado. Isso é especialmente importante para visitantes que desconhecem a natureza distribuída do conteúdo na internet, pois eles podem acreditar que o conteúdo remoto é criado por usuários desse servidor."
restartServerSetupWizardConfirm_title: "Reiniciar o assistente de configuração?"
restartServerSetupWizardConfirm_text: "Algumas configurações atuais serão reiniciadas."
entrancePageStyle: "Estilo da página de entrada"
showTimelineForVisitor: "Mostrar linha do tempo"
showActivitiesForVisitor: "Mostrar atividades"
_userGeneratedContentsVisibilityForVisitor:
all: "Tudo é público"
localOnly: "Conteúdo local é publicado, conteúdo remoto é privado"
none: "Tudo é privado"
_accountMigration:
moveFrom: "Migrar outra conta para essa"
moveFromSub: "Criar um 'alias' a outra conta"
@@ -1912,6 +2013,7 @@ _role:
canManageCustomEmojis: "Permitir gerenciar emojis personalizados"
canManageAvatarDecorations: "Gerenciar decorações de avatar"
driveCapacity: "Capacidade do drive"
maxFileSize: "Tamanho máximo de envio de arquivos"
alwaysMarkNsfw: "Sempre marcar arquivos como NSFW"
canUpdateBioMedia: "Permitir a edição de ícone ou imagem do banner."
pinMax: "Número máximo de notas fixadas"
@@ -1926,6 +2028,7 @@ _role:
descriptionOfRateLimitFactor: "Valores menores são menos restritivos, valores maiores são mais restritivos."
canHideAds: "Permitir ocultar anúncios"
canSearchNotes: "Permitir a busca de notas"
canSearchUsers: "Busca de usuário"
canUseTranslator: "Uso do tradutor"
avatarDecorationLimit: "Número máximo de decorações de avatar que podem ser aplicadas"
canImportAntennas: "Permitir importação de antenas"
@@ -1934,6 +2037,12 @@ _role:
canImportMuting: "Permitir importação de silenciamentos"
canImportUserLists: "Permitir importação de listas"
chatAvailability: "Permitir Conversas"
uploadableFileTypes: "Tipos de arquivo enviáveis"
uploadableFileTypes_caption: "Especifica tipos MIME permitidos. Múltiplos tipos MIME podem ser especificados separando-os por linha. Curingas podem ser especificados com um asterisco (*). (exemplo, image/*)"
uploadableFileTypes_caption2: "Alguns tipos de arquivos podem não ser detectados. Para permiti-los, adicione {x} à especificação."
noteDraftLimit: "Limite de rascunhos possíveis"
scheduledNoteLimit: "Número máximo de notas agendadas simultâneas"
watermarkAvailable: "Disponibilidade da função de marca d'água"
_condition:
roleAssignedTo: "Atribuído a cargos manuais"
isLocal: "Usuário local"
@@ -2093,6 +2202,7 @@ _theme:
install: "Instalar um tema"
manage: "Gerenciar temas"
code: "Código do tema"
copyThemeCode: "Copiar código do tema"
description: "Descrição"
installed: "{name} foi instalado"
installedThemes: "Temas instalados"
@@ -2151,7 +2261,6 @@ _theme:
buttonBg: "Plano de fundo de botão"
buttonHoverBg: "Plano de fundo de botão (Selecionado)"
inputBorder: "Borda de campo digitável"
driveFolderBg: "Plano de fundo da pasta no Drive"
badge: "Emblema"
messageBg: "Plano de fundo do chat"
fgHighlighted: "Texto Destacado"
@@ -2193,6 +2302,7 @@ _time:
minute: "Minuto(s)"
hour: "Hora(s)"
day: "Dia(s)"
month: "Mês(es)"
_2fa:
alreadyRegistered: "Você já cadastrou um dispositivo de autenticação de dois fatores."
registerTOTP: "Cadastrar aplicativo autenticador"
@@ -2367,7 +2477,7 @@ _widgets:
chooseList: "Selecione uma lista"
clicker: "Clicker"
birthdayFollowings: "Usuários de aniversário hoje"
chat: "Conversas"
chat: "Conversar com usuário"
_cw:
hide: "Esconder"
show: "Carregar mais"
@@ -2407,6 +2517,8 @@ _visibility:
disableFederation: "Defederar"
disableFederationDescription: "Não transmitir às outras instâncias"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "Há arquivos que não foram enviados, gostaria de descartá-los e fechar o editor?"
uploaderTip: "O arquivo ainda não foi enviado. No menu do arquivo, você pode renomear, cortar, adicionar uma marca d'água, comprimir ou descomprimir um arquivo. Arquivos serão enviados automaticamente ao publicar a nota."
replyPlaceholder: "Responder a essa nota..."
quotePlaceholder: "Citar essa nota..."
channelPlaceholder: "Postar em canal..."
@@ -2555,6 +2667,8 @@ _notification:
youReceivedFollowRequest: "Você recebeu um pedido de seguidor"
yourFollowRequestAccepted: "Seu pedido de seguidor foi aceito"
pollEnded: "Os resultados da enquete agora estão disponíveis"
scheduledNotePosted: "Nota agendada foi publicada"
scheduledNotePostFailed: "Não foi possível publicar nota agendada"
newNote: "Nova nota"
unreadAntennaNote: "Antena {name}"
roleAssigned: "Cargo dado"
@@ -2634,7 +2748,7 @@ _deck:
mentions: "Menções"
direct: "Notas diretas"
roleTimeline: "Linha do tempo do cargo"
chat: "Conversas"
chat: "Conversar com usuário"
_dialog:
charactersExceeded: "Você excedeu o limite de caracteres! Atualmente em {current} de {max}."
charactersBelow: "Você está abaixo do limite mínimo de caracteres! Atualmente em {current} of {min}."
@@ -2740,6 +2854,7 @@ _fileViewer:
url: "URL"
uploadedAt: "Adicionado em"
attachedNotes: "Notas anexadas"
usage: "Usado"
thisPageCanBeSeenFromTheAuthor: "Essa página só pode ser vista pelo usuário que enviou esse arquivo."
_externalResourceInstaller:
title: "Instalar de site externo"
@@ -2787,9 +2902,12 @@ _dataSaver:
_avatar:
title: "Imagem do avatar"
description: "Parar animação de avatares. Imagens animadas podem ter um arquivo mais pesado do que imagens normais, potencialmente levando a reduções no tráfego de dados."
_urlPreview:
title: "Miniaturas na prévia de URLs"
description: "Miniaturas na prévia de URLs não serão mais carregadas."
_urlPreviewThumbnail:
title: "Esconder miniaturas em prévias de URL"
description: "Miniaturas em prévias de URL não serão carregadas."
_disableUrlPreview:
title: "Desabilitar prévias de URL"
description: "Desabilita a função de prévias de URL. Diferente das miniaturas, essa função impede o carregamento de toda informação do link."
_code:
title: "Destaque de código"
description: "Se as notações de formatação de código forem utilizadas em MFM, elas não irão carregar até serem selecionadas. Destaque de código exige baixar arquivos de alta definição para cada linguagem de programação. Logo, desabilitar o carregamento automático desses arquivos diminui a quantidade de informação comunicada."
@@ -2847,6 +2965,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "Configurações da prévia de URL"
enable: "Habilitar prévia de URL"
allowRedirect: "Permitir redirecionamentos de URL em prévias."
allowRedirectDescription: "Se um URL tem um redirecionamento, você pode habilitar essa função para segui-lo e exibir a prévia do conteúdo redirecionado. Desabilitar isso irá economizar recursos, mas o conteúdo não será exibido."
timeout: "Tempo máximo para obter a prévia (ms)"
timeoutDescription: "Se demorar mais que esse valor para obter uma prévia, ela não será gerada."
maximumContentLength: "Content-Length máximo (em bytes)"
@@ -2920,10 +3040,6 @@ _customEmojisManager:
uploadSettingDescription: "Nessa tela, você pode configurar o comportamento ao enviar Emojis."
directoryToCategoryLabel: "Transformar as pastas em categorias"
directoryToCategoryCaption: "Quando você arrastar um diretório, converter o caminho das pastas no campo \"categoria\"."
emojiInputAreaCaption: "Selecione Emojis que você deseja registrar utilizando um dos métodos."
emojiInputAreaList1: "Arraste arquivos de imagem ou diretórios dentro desse quadro"
emojiInputAreaList2: "Clique nesse link para abrir a seleção de arquivos"
emojiInputAreaList3: "Clique nesse link para selecionar do drive"
confirmRegisterEmojisDescription: "Registrando os Emojis da lista como novos Emojis personalizados. Deseja continuar? (Para evitar sobrecarga, apenas {count} Emoji(s) podem ser registrados em uma única operação)"
confirmClearEmojisDescription: "Descartando edições e limpando Emojis da lista. Deseja continuar?"
confirmUploadEmojisDescription: "Enviando {count} arquivo(s) arrastados ao drive. Deseja continuar?"
@@ -2991,6 +3107,7 @@ _bootErrors:
otherOption1: "Excluir ajustes de cliente e cache"
otherOption2: "Iniciar o cliente simples"
otherOption3: "Iniciar ferramenta de reparo"
otherOption4: "Abrir Misskey no modo seguro"
_search:
searchScopeAll: "Todos"
searchScopeLocal: "Local"
@@ -2999,3 +3116,194 @@ _search:
pleaseEnterServerHost: "Insira o endereço do servidor"
pleaseSelectUser: "Selecione um usuário"
serverHostPlaceholder: "Exemplo: misskey.example.com"
_serverSetupWizard:
installCompleted: "Instalação do Misskey concluída!"
firstCreateAccount: "Para iniciar, crie uma conta de administrador."
accountCreated: "Conta de administrador foi criada!"
serverSetting: "Configurações de Servidor"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "O assistente facilita a configuração do servidor."
settingsYouMakeHereCanBeChangedLater: "Configurações alteradas pelo assistente podem ser ajustadas posteriormente."
howWillYouUseMisskey: "Como você usará o Misskey?"
_use:
single: "Servidor de Usuário Único"
single_description: "Utilizar servidor sozinho."
single_youCanCreateMultipleAccounts: "Múltiplas contas podem ser criadas se necessário, mesmo operando como servidor de usuário único."
group: "Servidor de Grupo"
group_description: "Convide outros usuários confiáveis para utilizar com mais de um usuário"
open: "Servidor Público"
open_description: "Permitir registro de todos."
openServerAdvice: "Aceitar um número alto de pessoas desconhecidas pode envolve um risco. Recomendamos que você opere com um sistema de moderação confiável para resolver quaisquer problemas."
openServerAntiSpamAdvice: "Para prevenir que o seu servidor se torne alvo de spam, é essencial cuidar da segurança habilitando recursos antibot como o reCAPTCHA."
howManyUsersDoYouExpect: "Quantos usuários você espera?"
_scale:
small: "Menos que 100 (pequeno porte)"
medium: "Entre 100 e 1000 usuários (médio porte)"
large: "Mais que 1000 usuários (larga escala)"
largeScaleServerAdvice: "Servidores de larga escala podem precisar de conhecimento avançado de infraestrutura, como balanceamento de carga e replicação de banco de dados."
doYouConnectToFediverse: "Você deseja conectar-se com o Fediverso?"
doYouConnectToFediverse_description1: "Quando conectado com uma rede distribuída de servidores (Fediverso), o conteúdo pode ser trocado com outros servidores."
doYouConnectToFediverse_description2: "Conectar com o Fediverso também é chamado de \"federação\""
youCanConfigureMoreFederationSettingsLater: "Configurações adicionais como especificar servidores para conectar-se com podem ser feitas posteriormente"
remoteContentsCleaning: "Limpeza automática de conteúdos recebidos"
remoteContentsCleaning_description: "A federação pode resultar em uma entrada contínua de conteúdo. Habilitar a limpeza automática removerá conteúdo obsoleto e não referenciado do servidor para economizar armazenamento."
adminInfo: "Informações da administração"
adminInfo_description: "Define as informações do administrador usadas para receber consultas."
adminInfo_mustBeFilled: "Deve ser preenchido se o servidor é público ou se a federação está ativa."
followingSettingsAreRecommended: "As configurações a seguir são recomendadas"
applyTheseSettings: "Aplicar essas configurações"
skipSettings: "Pular configuração"
settingsCompleted: "Instalação concluída!"
settingsCompleted_description: "Obrigado pelo seu tempo. Agora que tudo está pronto, você pode começar a utilizar o servidor."
settingsCompleted_description2: "As configurações do servidor podem ser alteradas no \"Painel de Controle\""
donationRequest: "Solicitação de Doação"
_donationRequest:
text1: "Misskey é software aberto desenvolvido por voluntários."
text2: "Nós apreciaríamos o seu apoio para podermos continuar o desenvolvimento desse software no futuro."
text3: "Também há benefícios especiais para apoiadores!"
_uploader:
editImage: "Editar Imagem"
compressedToX: "Comprimido para {x}"
savedXPercent: "Salvando {x}%"
abortConfirm: "Alguns arquivos não foram enviados, deseja abortar?"
doneConfirm: "Alguns arquivos não foram enviados, deseja continuar mesmo assim?"
maxFileSizeIsX: "O tamanho máximo de arquivos enviados é {x}"
allowedTypes: "Tipos de arquivo enviáveis"
tip: "O arquivo não foi enviado. Então, esse diálogo permite que você confirme, renomeie, comprima e recorte o arquivo antes de enviar. Quando estiver pronto, você pode enviar apertando o botão \"Enviar\"."
_clientPerformanceIssueTip:
title: "Dicas de desempenho"
makeSureDisabledAdBlocker: "Desative o seu bloqueador de anúncios"
makeSureDisabledAdBlocker_description: "Bloqueadores de anúncios podem afetar o desempenho. Certifique-se que eles não estão habilitados no seu sistema ou nos recursos/extensões do navegador. "
makeSureDisabledCustomCss: "Desabilite CSS personalizado"
makeSureDisabledCustomCss_description: "Substituir o estilo da página pode afetar o desempenho. Certifique-se que o CSS personalizado ou extensões que modifiquem o estilo da página estejam desabilitados."
makeSureDisabledAddons: "Desabilite extensões"
makeSureDisabledAddons_description: "Algumas extensões podem afetar comportamentos do cliente e afetar o desempenho. Por favor, desative as extensões do seu navegador e veja se isso melhora a situação."
_clip:
tip: "Clip é uma função que permite organização das suas notas."
_userLists:
tip: "Listas podem conter qualquer usuário que você especificar em sua criação. A lista criada aparece como uma linha do tempo exibindo usuários selecionados."
watermark: "Marca d'água"
defaultPreset: "Predefinição Padrão"
_watermarkEditor:
tip: "Uma marca d'água, como informação de autoria, pode ser adicionada à imagem."
quitWithoutSaveConfirm: "Descartar mudanças?"
driveFileTypeWarn: "Esse arquivo não é compatível"
driveFileTypeWarnDescription: "Escolha um arquivo de imagem"
title: "Editar marca d'água"
cover: "Cobrir tudo"
repeat: "Espalhar pelo conteúdo"
opacity: "Opacidade"
scale: "Tamanho"
text: "Texto"
qr: "Código QR"
position: "Posição"
margin: "Margem"
type: "Tipo"
image: "imagem"
advanced: "Avançado"
angle: "Ângulo"
stripe: "Listras"
stripeWidth: "Largura da linha"
stripeFrequency: "Número de linhas"
polkadot: "Bolinhas"
checker: "Xadrez"
polkadotMainDotOpacity: "Opacidade da bolinha principal"
polkadotMainDotRadius: "Raio da bolinha principal"
polkadotSubDotOpacity: "Opacidade da bolinha secundária"
polkadotSubDotRadius: "Raio das bolinhas adicionais"
polkadotSubDotDivisions: "Número de bolinhas adicionais"
leaveBlankToAccountUrl: "Deixe em branco para utilizar URL da conta"
_imageEffector:
title: "Efeitos"
addEffect: "Adicionar efeitos"
discardChangesConfirm: "Tem certeza que deseja sair? Há mudanças não salvas."
nothingToConfigure: "Não há nada para configurar"
_fxs:
chromaticAberration: "Aberração cromática"
glitch: "Glitch"
mirror: "Espelho"
invert: "Inverter Cores"
grayscale: "Tons de Cinza"
blur: "Desfoque"
pixelate: "Pixelizar"
colorAdjust: "Correção de Cores"
colorClamp: "Compressão de Cores"
colorClampAdvanced: "Compressão Avançada de Cores"
distort: "Distorção"
threshold: "Limiarização Binária"
zoomLines: "Linhas de Ação"
stripe: "Listras"
polkadot: "Bolinhas"
checker: "Xadrez"
blockNoise: "Bloquear Ruído"
tearing: "Descontinuidade"
fill: "Preencher"
_fxProps:
angle: "Ângulo"
scale: "Tamanho"
size: "Tamanho"
radius: "Raio"
samples: "Número de amostras"
offset: "Posição"
color: "Cor"
opacity: "Opacidade"
normalize: "Normalizar"
amount: "Quantidade"
lightness: "Esclarecer"
contrast: "Contraste"
hue: "Matiz"
brightness: "Brilho"
saturation: "Saturação"
max: "Máximo"
min: "Mínimo"
direction: "Direção"
phase: "Fase"
frequency: "Frequência"
strength: "Força"
glitchChannelShift: "Mudança de canal"
seed: "Valor da semente"
redComponent: "Componente vermelho"
greenComponent: "Componente verde"
blueComponent: "Componente azul"
threshold: "Limiar"
centerX: "Centralizar X"
centerY: "Centralizar Y"
zoomLinesSmoothing: "Suavização"
zoomLinesSmoothingDescription: "Suavização e largura das linhas de zoom não podem ser utilizados simultaneamente."
zoomLinesThreshold: "Largura das linhas de zoom"
zoomLinesMaskSize: "Diâmetro do centro"
zoomLinesBlack: "Linhas pretas"
circle: "Circular"
drafts: "Rascunhos"
_drafts:
select: "Selecionar Rascunho"
cannotCreateDraftAnymore: "O número máximo de rascunhos foi excedido."
cannotCreateDraft: "Você não pode criar um rascunho com esse conteúdo."
delete: "Excluir Rascunho"
deleteAreYouSure: "Excluir rascunho?"
noDrafts: "Sem rascunhos"
replyTo: "Resposta a {user}"
quoteOf: "Citação à nota de {user}"
postTo: "Publicando em {channel}"
saveToDraft: "Salvar como Rascunho"
restoreFromDraft: "Restaurar de Rascunho"
restore: "Redefinir"
listDrafts: "Lista de Rascunhos"
schedule: "Agendar nota"
listScheduledNotes: "Lista de notas agendadas"
cancelSchedule: "Cancelar agendamento"
qr: "Código QR"
_qr:
showTabTitle: "Visualizar"
readTabTitle: "Escanear"
shareTitle: "{name} {acct}"
shareText: "Siga-me no Fediverso!"
chooseCamera: "Escolher câmera"
cannotToggleFlash: "Não foi possível ligar a lanterna"
turnOnFlash: "Ligar a lanterna"
turnOffFlash: "Desligar a lanterna"
startQr: "Retornar ao leitor de códigos QR"
stopQr: "Deixar o leitor de códigos QR"
noQrCodeFound: "Nenhum código QR encontrado"
scanFile: "Escanear imagem de dispositivo"
raw: "Texto"
mfm: "MFM"

View File

@@ -1302,6 +1302,7 @@ _cw:
_visibility:
home: "Acasă"
followers: "Urmăritori"
specified: "Note directe"
_postForm:
replyPlaceholder: "Răspunde la această notă..."
quotePlaceholder: "Citează aceasta nota..."
@@ -1356,6 +1357,7 @@ _deck:
list: "Liste"
channel: "Canale"
mentions: "Mențiuni"
direct: "Note directe"
roleTimeline: "Cronologia rolului"
_webhookSettings:
name: "Nume"
@@ -1391,3 +1393,18 @@ _search:
searchScopeLocal: "Local"
searchScopeUser: "Utilizator specific"
serverHostPlaceholder: "Exemplu: misskey.example.com"
_watermarkEditor:
scale: "Dimensiune"
text: "Text"
position: "Poziție"
type: "Tip"
image: "Imagini"
advanced: "Avansat"
_imageEffector:
_fxProps:
scale: "Dimensiune"
size: "Dimensiune"
offset: "Poziție"
_qr:
showTabTitle: "Arată"
raw: "Text"

View File

@@ -2,7 +2,7 @@
_lang_: "Русский"
headlineMisskey: "Сеть, сплетённая из заметок"
introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
poweredByMisskeyDescription: "{name} сервис на платформе с открытым исходным кодом <b>Misskey</b>, называемый экземпляром Misskey."
poweredByMisskeyDescription: "{name} один из инстансов (также называемый экземпляром Misskey), использующий платформу с открытым исходным кодом <b>Misskey</b>."
monthAndDay: "{day}.{month}"
search: "Поиск"
reset: "Сброс"
@@ -82,7 +82,7 @@ export: "Экспорт"
files: "Файлы"
download: "Скачать"
driveFileDeleteConfirm: "Удалить файл «{name}»? Заметки с ним также будут удалены."
unfollowConfirm: "Удалить из подписок пользователя {name}?"
unfollowConfirm: "Отписаться от {name} ?"
exportRequested: "Вы запросили экспорт. Это может занять некоторое время. Результат будет добавлен на «Диск»."
importRequested: "Вы запросили импорт. Это может занять некоторое время."
lists: "Списки"
@@ -298,6 +298,7 @@ uploadFromUrl: "Загрузить по ссылке"
uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить"
uploadFromUrlRequested: "Загрузка выбранного"
uploadFromUrlMayTakeTime: "Загрузка может занять некоторое время."
uploadNFiles: "Загрузить {n} файл"
explore: "Обзор"
messageRead: "Прочитали"
noMoreHistory: "История закончилась"
@@ -575,8 +576,10 @@ showFixedPostForm: "Показывать поле для ввода новой
showFixedPostFormInChannel: "Показывать поле для ввода новой заметки наверху ленты (каналы)"
withRepliesByDefaultForNewlyFollowed: "По умолчанию включайте ответы новых пользователей, на которых вы подписались, во временную шкалу"
newNoteRecived: "Появилась новая заметка"
newNote: "Новая заметка"
sounds: "Звуки"
sound: "Звуки"
notificationSoundSettings: "Настройки звука уведомлений"
listen: "Слушать"
none: "Ничего"
showInPage: "Показать страницу"
@@ -791,6 +794,7 @@ wide: "Толстый"
narrow: "Тонкий"
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
needReloadToApply: "Изменения вступят в силу после перезагрузки страницы."
needToRestartServerToApply: "Для вступления изменений в силу необходимо перезапустить сервер."
showTitlebar: "Показать заголовок"
clearCache: "Очистить кэш"
onlineUsersCount: "Пользователей сейчас в сети: {n}"
@@ -1176,13 +1180,25 @@ unused: "Неиспользованное"
used: "Использован"
expired: "Срок действия приглашения истёк"
doYouAgree: "Согласны?"
beSureToReadThisAsItIsImportant: "Это важно, поэтому, пожалуйста, прочтите это."
iHaveReadXCarefullyAndAgree: "Я прочитал(а) и согласен(сна) с условиями \"{x}"
dialog: "Диалог"
icon: "Аватар"
currentAnnouncements: "Текущие новости"
pastAnnouncements: "Предыдущие новости"
youHaveUnreadAnnouncements: "У вас есть непрочитанные уведомления"
replies: "Ответы"
renotes: "Репост"
loadReplies: "Показать ответы"
loadConversation: "Загрузить беседу"
pinnedList: "Закреплённый список"
keepScreenOn: "Держать экран включённым"
unnotifyNotes: "Отписаться от сообщений"
authentication: "Аутентификация"
authenticationRequiredToContinue: "Пожалуйста, пройдите аутентификацию, чтобы продолжить"
dateAndTime: "Дата и время"
showRenotes: "Показывать репосты"
edited: "Изменено"
mutualFollow: "Взаимные подписки"
followingOrFollower: "Подписки или подписчики"
fileAttachedOnly: "Только заметки с файлами"
@@ -1193,30 +1209,75 @@ sourceCode: "Исходный код"
sourceCodeIsNotYetProvided: "Исходный код пока не доступен. Свяжитесь с администратором, чтобы исправить эту проблему."
repositoryUrl: "Ссылка на репозиторий"
repositoryUrlDescription: "Если вы используете Misskey как есть (без изменений в исходном коде), введите https://github.com/misskey-dev/misskey"
feedback: "Обратная связь"
privacyPolicy: "Политика Конфиденциальности"
privacyPolicyUrl: "Ссылка на Политику Конфиденциальности"
tosAndPrivacyPolicy: "Условия использования и политика конфиденциальности"
avatarDecorations: "Украшения для аватара"
attach: "Прикрепить"
detachAll: "Убрать всё"
angle: "Угол"
flip: "Переворот"
showAvatarDecorations: "Показать украшения для аватара"
pullDownToRefresh: "Опустите что бы обновить"
useGroupedNotifications: "Отображать уведомления сгруппировано"
cwNotationRequired: "Если включена опция «Скрыть содержимое», необходимо написать аннотацию."
doReaction: "Добавить реакцию"
code: "Код"
reloadRequiredToApplySettings: "Для применения настроек необходима обновить страницу."
remainingN: "Остаётся: {n}"
overwriteContentConfirm: "Текущее содержимое будет перезаписано. Вы уверены?"
seasonalScreenEffect: "Эффект времени года на экране"
decorate: "Украсить"
addMfmFunction: "Добавить MFM"
bubbleGame: "BubbleGame"
sfx: "Звуковые эффекты"
soundWillBePlayed: "Будет воспроизведен звук"
showReplay: "Показать повтор"
endReplay: "Конец повтора"
lastNDays: "Последние {n} сут"
hemisphere: "Место проживания"
userSaysSomethingSensitive: "Сообщение, содержит конфиденциальные файлы от {name}"
enableHorizontalSwipe: "Смахните в сторону, чтобы сменить вкладки"
surrender: "Этот пост не может быть отменен."
gameRetry: "Повторить попытку"
notUsePleaseLeaveBlank: "Если не используется, оставьте пустым"
useNativeUIForVideoAudioPlayer: "Использовать интерфейс браузера при проигрывании видео и звука"
keepOriginalFilename: "Сохранять исходное имя файла"
keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке."
alwaysConfirmFollow: "Всегда подтверждать подписку"
inquiry: "Связаться"
fromX: "Из {x}"
genEmbedCode: "Сгенерировать код для "
noteOfThisUser: "Список заметок этого пользователя"
clipNoteLimitExceeded: "К этому клипу больше нельзя добавить заметки"
performance: "Производительность"
modified: "Изменено"
signinWithPasskey: "Войдите в систему, используя свой пароль"
unknownWebAuthnKey: "Неизвестный ключ"
passkeyVerificationFailed: "Ошибка проверка ключа доступа "
messageToFollower: "Сообщение подписчикам"
testCaptchaWarning: "Эта функция предназначена для тестирования CAPTCHA. <strong>Не использовать это в рабочей среде</strong>"
prohibitedWordsForNameOfUser: "Запрещенные слова (имя пользователя)"
prohibitedWordsForNameOfUserDescription: "Если имя пользователя содержит строку из этого списка, изменение имени пользователя будет запрещено. На пользователей с правами модератора это ограничение не распространяется. Имена пользователей также проверяются путём замены всех букв в нижнем регистре"
yourNameContainsProhibitedWords: "Имя, которое вы пытаетесь изменить, содержит запрещенную строку символов"
yourNameContainsProhibitedWordsDescription: "Имя содержит запрещённую строку символов. Если вы хотите использовать это имя, обратитесь к администратору сервера"
thisContentsAreMarkedAsSigninRequiredByAuthor: "Автор сообщения установил требование в виде авторизации для просмотра"
lockdown: "Доступ ограничен"
pleaseSelectAccount: "Выберите свой аккаунт"
availableRoles: "Доступные роли"
federationDisabled: "Федерация отключена для этого сервера. Вы не можете взаимодействовать с пользователями на других серверах."
draft: "Черновик"
markAsSensitiveConfirm: "Отметить контент как чувствительный?"
preferences: "Основное"
resetToDefaultValue: "Сбросить настройки до стандартных"
syncBetweenDevices: "Синхронизировать между устройствами"
postForm: "Форма отправки"
textCount: "Количество символов"
information: "Описание"
inMinutes: "мин"
inDays: "сут"
widgets: "Виджеты"
_chat:
invitations: "Пригласить"
noHistory: "История пока пуста"
@@ -1225,6 +1286,11 @@ _chat:
send: "Отправить"
_settings:
webhook: "Вебхук"
preferencesBanner: "Вы можете настроить общее поведение клиента по вашим предпочтениям"
timelineAndNote: "Лента и заметки"
_chat:
showSenderName: "Показывать имя отправителя"
sendOnEnter: "Использовать Enter для отправки"
_delivery:
stop: "Заморожено"
_type:
@@ -1473,7 +1539,7 @@ _achievements:
description: "Нажато здесь"
_justPlainLucky:
title: "Чистая удача"
description: "Может достаться с вероятностью 0,01% каждые 10 секунд."
description: "Может достаться с вероятностью 0,005% каждые 10 секунд."
_setNameToSyuilo:
title: "Комплекс бога"
description: "Установлено «syuilo» в качестве имени"
@@ -1501,6 +1567,12 @@ _achievements:
title: "Brain Diver"
description: "Опубликована ссылка на песню «Brain Diver»"
flavor: "Мисски-Мисски Ла-Ту-Ма"
_bubbleGameExplodingHead:
title: "🤯"
description: "Самый большой объект в Bubble game"
_bubbleGameDoubleExplodingHead:
title: "Двойной🤯"
description: "Два самых больших объекта в Bubble game одновременно!"
_role:
new: "Новая роль"
edit: "Изменить роль"
@@ -1748,7 +1820,6 @@ _theme:
buttonBg: "Фон кнопки"
buttonHoverBg: "Текст кнопки"
inputBorder: "Рамка поля ввода"
driveFolderBg: "Фон папки «Диска»"
badge: "Значок"
messageBg: "Фон беседы"
fgHighlighted: "Подсвеченный текст"
@@ -2192,3 +2263,25 @@ _search:
searchScopeAll: "Все"
searchScopeLocal: "Местная"
searchScopeUser: "Указанный пользователь"
_watermarkEditor:
opacity: "Непрозрачность"
scale: "Размер"
text: "Текст"
position: "Позиция"
type: "Тип"
image: "Изображения"
advanced: "Для продвинутых"
angle: "Угол"
_imageEffector:
_fxProps:
angle: "Угол"
scale: "Размер"
size: "Размер"
offset: "Позиция"
color: "Цвет"
opacity: "Непрозрачность"
lightness: "Осветление"
drafts: "Черновик"
_qr:
showTabTitle: "Отображение"
raw: "Текст"

View File

@@ -1,10 +1,18 @@
---
_lang_: "සිංහල"
monthAndDay: "{month}-{day}"
search: "සොයන්න"
reset: "යළි සකසන්න"
notifications: "දැනුම්දීම්"
username: "පරිශීලක නාමය"
password: "මුරපදය"
ok: "හරි"
gotIt: "තේරුණා"
cancel: "අවලංගු කරන්න"
noThankYou: "එපා, ස්තුතියි"
noNotifications: "දැනුම්දීම් නැත"
instance: "සර්වර්"
settings: "සැකසුම්"
login: "පිවිසෙන්න"
users: "පරිශීලක"
note: "නෝට්"
@@ -13,10 +21,19 @@ instances: "සර්වර්"
smtpUser: "පරිශීලක නාමය"
smtpPass: "මුරපදය"
user: "පරිශීලක"
searchByGoogle: "සොයන්න"
_sfx:
note: "නෝට්"
notification: "දැනුම්දීම්"
_2fa:
renewTOTPCancel: "එපා, ස්තුතියි"
_widgets:
notifications: "දැනුම්දීම්"
_profile:
username: "පරිශීලක නාමය"
_notification:
_types:
login: "පිවිසෙන්න"
_deck:
_columns:
notifications: "දැනුම්දීම්"

View File

@@ -913,6 +913,9 @@ flip: "Preklopiť"
lastNDays: "Posledných {n} dní"
postForm: "Napísať poznámku"
information: "Informácie"
inMinutes: "min"
inDays: "dní"
widgets: "Widgety"
_chat:
invitations: "Pozvať"
noHistory: "Žiadna história"
@@ -1108,7 +1111,6 @@ _theme:
buttonBg: "Pozadie tlačidla"
buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
inputBorder: "Okraj vstupného poľa"
driveFolderBg: "Pozadie priečinu disku"
badge: "Odznak"
messageBg: "Pozadie chatu"
fgHighlighted: "Zvýraznený text"
@@ -1451,3 +1453,20 @@ _remoteLookupErrors:
_search:
searchScopeAll: "Všetko"
searchScopeLocal: "Lokálne"
_watermarkEditor:
opacity: "Priehľadnosť"
scale: "Veľkosť"
text: "Text"
type: "Typ"
image: "Obrázky"
advanced: "Rozšírené"
_imageEffector:
_fxProps:
scale: "Veľkosť"
size: "Veľkosť"
color: "Farba"
opacity: "Priehľadnosť"
lightness: "Zosvetliť"
_qr:
showTabTitle: "Zobraziť"
raw: "Text"

View File

@@ -646,6 +646,7 @@ _poll:
_visibility:
home: "Hem"
followers: "Följare"
specified: "Direktnoter"
_profile:
name: "Namn"
username: "Användarnamn"
@@ -692,6 +693,7 @@ _deck:
list: "Listor"
channel: "kanal"
mentions: "Omnämningar"
direct: "Direktnoter"
_webhookSettings:
name: "Namn"
active: "Aktiverad"
@@ -711,3 +713,11 @@ _selfXssPrevention:
warning: "VARNING"
_search:
searchScopeAll: "Allt"
_watermarkEditor:
scale: "Storlek"
image: "Bilder"
_imageEffector:
_fxProps:
scale: "Storlek"
size: "Storlek"
color: "Färg"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,6 +8,9 @@ search: "Пошук"
notifications: "Сповіщення"
username: "Ім'я користувача"
password: "Пароль"
initialPasswordForSetup: "Початковий пароль для налаштування"
initialPasswordIsIncorrect: "Початковий пароль для налаштування неправильний"
initialPasswordForSetupDescription: "Використайте пароль, вказаний у конфігураційному файлі, якщо ви встановлювали Misskey власноруч.\nЯкщо використовуєте сервіси хостингу Misskey, використайте наданий пароль.\nЯкщо ви не маєте паролю, лишіть порожнім щоб продовжити. "
forgotPassword: "Я забув пароль"
fetchingAsApObject: "Отримуємо з федіверсу..."
ok: "OK"
@@ -45,6 +48,7 @@ pin: "Закріпити"
unpin: "Відкріпити"
copyContent: "Скопіювати контент"
copyLink: "Скопіювати посилання"
copyRemoteLink: "Копіювати віддалене посилання"
delete: "Видалити"
deleteAndEdit: "Видалити й редагувати"
deleteAndEditConfirm: "Ви впевнені, що хочете видалити цю нотатку та відредагувати її? Ви втратите всі реакції, поширення та відповіді на неї."
@@ -57,6 +61,7 @@ copyUserId: "Копіювати ID користувача"
copyNoteId: "блокнот ID користувача"
copyFileId: "Скопіювати ідентифікатор файлу."
searchUser: "Пошук користувачів"
searchThisUsersNotes: "Пошук нотаток користувача"
reply: "Відповісти"
loadMore: "Показати більше"
showMore: "Показати більше"
@@ -105,9 +110,11 @@ enterEmoji: "Введіть емодзі"
renote: "Поширити"
unrenote: "Відміна поширення"
renoted: "Поширити запис."
renotedToX: "Поширено до {name}"
cantRenote: "Неможливо поширити."
cantReRenote: "Поширення не можливо поширити."
quote: "Цитата"
inChannelRenote: "Поширено у канал"
pinnedNote: "Закріплений запис"
pinned: "Закріпити"
you: "Ви"
@@ -116,6 +123,7 @@ sensitive: "NSFW"
add: "Додати"
reaction: "Реакції"
reactions: "Реакції"
emojiPicker: "Вибір реакції"
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
rememberNoteVisibility: "Пам’ятати параметри видимісті"
attachCancel: "Видалити вкладення"
@@ -289,7 +297,9 @@ folderName: "Ім'я теки"
createFolder: "Створити теку"
renameFolder: "Перейменувати теку"
deleteFolder: "Видалити теку"
folder: "Тека"
addFile: "Додати файл"
showFile: "Показати файл"
emptyDrive: "Диск порожній"
emptyFolder: "Тека порожня"
unableToDelete: "Видалення неможливе"
@@ -302,6 +312,7 @@ copyUrl: "Копіювати URL"
rename: "Перейменувати"
avatar: "Аватар"
banner: "Банер"
displayOfSensitiveMedia: "Показ чутливого медіа"
whenServerDisconnected: "Коли зв’язок із сервером втрачено"
disconnectedFromServer: "Зв’язок із сервером було перервано"
reload: "Оновити"
@@ -348,8 +359,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Увімкнути hCaptcha"
hcaptchaSiteKey: "Ключ сайту"
hcaptchaSecretKey: "Секретний ключ"
mcaptcha: "MCaptcha"
enableMcaptcha: "Увімкнути MCaptcha"
mcaptchaSiteKey: "Ключ сайту"
mcaptchaSecretKey: "Секретний ключ"
mcaptchaInstanceUrl: "Посилання на сервер MCaptcha"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Увімкнути reCAPTCHA"
recaptchaSiteKey: "Ключ сайту"
@@ -905,6 +919,9 @@ flip: "Перевернути"
lastNDays: "Останні {n} днів"
postForm: "Створення нотатки"
information: "Інформація"
inMinutes: "х"
inDays: "д"
widgets: "Віджети"
_chat:
invitations: "Запросити"
noHistory: "Історія порожня"
@@ -1302,7 +1319,6 @@ _theme:
buttonBg: "Фон кнопки"
buttonHoverBg: "Фон кнопки (при наведенні)"
inputBorder: "Край поля вводу"
driveFolderBg: "Фон папки на диску"
badge: "Значок"
messageBg: "Фон переписки"
fgHighlighted: "Виділений текст"
@@ -1626,3 +1642,20 @@ _remoteLookupErrors:
_search:
searchScopeAll: "Всі"
searchScopeLocal: "Локальна"
_watermarkEditor:
opacity: "Непрозорість"
scale: "Розмір"
text: "Текст"
type: "Тип"
image: "Зображення"
advanced: "Розширені"
_imageEffector:
_fxProps:
scale: "Розмір"
size: "Розмір"
color: "Колір"
opacity: "Непрозорість"
lightness: "Яскравість"
_qr:
showTabTitle: "Відображення"
raw: "Текст"

View File

@@ -903,7 +903,7 @@ _theme:
header: "Sarlavha"
navBg: "Yon panel foni"
navFg: "Yon panel matni"
mention: "Murojat"
mention: "Eslatib o'tish"
renote: "Qayta qayd etish"
divider: "Ajratrmoq"
fgHighlighted: "Belgilangan matn"
@@ -1045,7 +1045,7 @@ _notification:
_types:
all: "Barchasi"
follow: "Obuna bolish"
mention: "Murojat"
mention: "Eslatib o'tish"
renote: "Qayta qayd etish"
quote: "Iqtibos keltirish"
reaction: "Reaktsiyalar"
@@ -1097,3 +1097,15 @@ _remoteLookupErrors:
_search:
searchScopeAll: "Barcha"
searchScopeLocal: "Mahalliy"
_watermarkEditor:
text: "Matn"
type: "turi"
image: "Rasmlar"
advanced: "Murakkab"
_imageEffector:
_fxProps:
color: "Rang"
lightness: "Yoritish"
_qr:
showTabTitle: "Displey"
raw: "Matn"

View File

@@ -102,7 +102,7 @@ pageLoadErrorDescription: "Có thể là do bộ nhớ đệm của trình duy
serverIsDead: "Máy chủ không phản hồi. Vui lòng thử lại sau giây lát."
youShouldUpgradeClient: "Để xem trang này, hãy làm tươi để cập nhật ứng dụng."
enterListName: "Đặt tên cho danh sách"
privacy: "Bảo mật"
privacy: "Riêng tư"
makeFollowManuallyApprove: "Yêu cầu theo dõi cần được duyệt"
defaultNoteVisibility: "Kiểu tút mặc định"
follow: "Theo dõi"
@@ -220,6 +220,7 @@ silenceThisInstance: "Máy chủ im lặng"
mediaSilenceThisInstance: "Tắt nội dung đa phương tiện từ máy chủ này"
operations: "Vận hành"
software: "Phần mềm"
softwareName: "Tên phần mềm"
version: "Phiên bản"
metadata: "Metadata"
withNFiles: "{n} tập tin"
@@ -297,6 +298,7 @@ uploadFromUrl: "Tải lên bằng một URL"
uploadFromUrlDescription: "URL của tập tin bạn muốn tải lên"
uploadFromUrlRequested: "Đã yêu cầu tải lên"
uploadFromUrlMayTakeTime: "Sẽ mất một khoảng thời gian để tải lên xong."
uploadNFiles: "Tải lên {n} tập tin"
explore: "Khám phá"
messageRead: "Đã đọc"
noMoreHistory: "Không còn gì để đọc"
@@ -576,6 +578,7 @@ withRepliesByDefaultForNewlyFollowed: "Mặc định hiển thị trả lời t
newNoteRecived: "Đã nhận tút mới"
sounds: "Âm thanh"
sound: "Âm thanh"
notificationSoundSettings: "Cài đặt âm thanh thông báo"
listen: "Nghe"
none: "Không"
showInPage: "Hiện trong trang"
@@ -1174,9 +1177,12 @@ mutualFollow: "Theo dõi lẫn nhau"
followingOrFollower: "Đang theo dõi hoặc người theo dõi"
externalServices: "Các dịch vụ bên ngoài"
sourceCode: "Mã nguồn"
sourceCodeIsNotYetProvided: "Mã nguồn hiện chưa có sẵn, vui lòng liên hệ với quản trị viên để khắc phục sự cố này."
repositoryUrlDescription: "Nếu bạn có kho lưu trữ mã nguồn có thể truy cập công khai, hãy nhập URL. Nếu bạn đang sử dụng Misskey theo mặc định (không thực hiện bất kỳ thay đổi nào đối với mã nguồn), hãy nhập https://github.com/misskey-dev/misskey."
feedback: "Phản hồi"
feedbackUrl: "URL phản hồi"
impressum: "Thông tin nhà điều hành"
impressumUrl: "URL thông tin nhà điều hành"
privacyPolicy: "Chính sách bảo mật"
privacyPolicyUrl: "URL Chính sách bảo mật"
tosAndPrivacyPolicy: "Điều khoản sử dụng và Chính sách bảo mật"
@@ -1200,17 +1206,31 @@ passkeyVerificationFailed: "Xác minh mật khẩu không thành công."
messageToFollower: "Tin nhắn cho người theo dõi"
yourNameContainsProhibitedWords: "Tên bạn đang cố gắng đổi có chứa chuỗi ký tự bị cấm."
yourNameContainsProhibitedWordsDescription: "Tên có chứa chuỗi ký tự bị cấm. Nếu bạn muốn sử dụng tên này, hãy liên hệ với quản trị viên máy chủ của bạn."
pleaseSelectAccount: "Chọn tài khoản của bạn"
federationDisabled: "Liên kết bị vô hiệu hóa trên máy chủ này. Bạn không thể tương tác với người dùng trên các máy chủ khác."
reactAreYouSure: "Bạn có muốn phản hồi với \" {emoji} \" không?"
preferences: "Thiết lập môi trường"
accessibility: "Khả năng tiếp cận"
preferencesProfile: "Hồ sơ sở thích"
preferenceSyncConflictTitle: "Cài đặt tồn tại trên máy chủ"
preferenceSyncConflictText: "Các thiết lập đồng bộ hóa được bật sẽ lưu các giá trị của chúng vào máy chủ. Tuy nhiên, có những giá trị hiện có trên máy chủ. Bạn muốn ghi đè lên bộ giá trị nào?"
paste: "dán"
postForm: "Mẫu đăng"
information: "Giới thiệu"
chat: "Trò chuyện"
migrateOldSettings: "Di chuyển cài đặt cũ"
migrateOldSettings_description: "Thông thường, quá trình này diễn ra tự động, nhưng nếu vì lý do nào đó mà quá trình di chuyển không thành công, bạn có thể kích hoạt thủ công quy trình di chuyển, quá trình này sẽ ghi đè lên thông tin cấu hình hiện tại của bạn."
inMinutes: "phút"
inDays: "ngày"
widgets: "Tiện ích"
_chat:
invitations: "Mời"
noHistory: "Không có dữ liệu"
members: "Thành viên"
home: "Trang chính"
send: "Gửi"
_settings:
preferencesBanner: "Bạn có thể cấu hình hành vi chung của máy khách theo sở thích của mình."
_accountSettings:
requireSigninToViewContents: "Yêu cầu đăng nhập để xem nội dung"
requireSigninToViewContentsDescription1: "Yêu cầu đăng nhập để xem tất cả ghi chú và nội dung khác mà bạn tạo. Điều này được kỳ vọng sẽ có hiệu quả trong việc ngăn chặn thông tin bị thu thập bởi các trình thu thập thông tin."
@@ -1667,7 +1687,6 @@ _theme:
buttonBg: "Nền nút"
buttonHoverBg: "Nền nút (Chạm)"
inputBorder: "Đường viền khung soạn thảo"
driveFolderBg: "Nền thư mục Ổ đĩa"
badge: "Huy hiệu"
messageBg: "Nền chat"
fgHighlighted: "Chữ nổi bật"
@@ -2061,3 +2080,24 @@ _search:
searchScopeAll: "Tất cả"
searchScopeLocal: "Máy chủ này"
searchScopeUser: "Người dùng chỉ định"
_watermarkEditor:
opacity: "Độ trong suốt"
scale: "Kích thước"
text: "Văn bản"
position: "Vị trí"
type: "Loại"
image: "Hình ảnh"
advanced: "Nâng cao"
angle: "Góc"
_imageEffector:
_fxProps:
angle: "Góc"
scale: "Kích thước"
size: "Kích thước"
offset: "Vị trí"
color: "Màu sắc"
opacity: "Độ trong suốt"
lightness: "Độ sáng"
_qr:
showTabTitle: "Hiển thị"
raw: "Văn bản"

File diff suppressed because it is too large Load Diff

View File

@@ -75,7 +75,7 @@ receiveFollowRequest: "您有新的追隨請求"
followRequestAccepted: "追隨請求已被接受"
mention: "提及"
mentions: "提及"
directNotes: "私訊"
directNotes: "指定使用者"
importAndExport: "匯入與匯出"
import: "匯入"
export: "匯出"
@@ -253,6 +253,7 @@ noteDeleteConfirm: "確定刪除此貼文嗎?"
pinLimitExceeded: "不能置頂更多貼文了"
done: "完成"
processing: "處理中"
preprocessing: "準備中"
preview: "預覽"
default: "預設"
defaultValueIs: "預設值:{value}"
@@ -298,6 +299,7 @@ uploadFromUrl: "從網址上傳"
uploadFromUrlDescription: "您要上傳的檔案網址"
uploadFromUrlRequested: "已請求上傳"
uploadFromUrlMayTakeTime: "還需要一些時間才能完成上傳。"
uploadNFiles: "上傳了 {n} 個檔案"
explore: "探索"
messageRead: "已讀"
noMoreHistory: "沒有更多歷史紀錄"
@@ -326,11 +328,13 @@ dark: "深色"
lightThemes: "淺色佈景主題"
darkThemes: "深色佈景主題"
syncDeviceDarkMode: "與裝置的深色模式同步"
switchDarkModeManuallyWhenSyncEnabledConfirm: "「{x}」已開啟。要關閉同步並手動切換模式嗎?\n"
drive: "雲端硬碟"
fileName: "檔案名稱"
selectFile: "選擇檔案"
selectFiles: "選擇檔案"
selectFolder: "選擇資料夾"
unselectFolder: "取消選擇資料夾"
selectFolders: "選擇資料夾"
fileNotSelected: "尚未選擇檔案"
renameFile: "重新命名檔案"
@@ -343,6 +347,7 @@ addFile: "加入附件"
showFile: "瀏覽文件"
emptyDrive: "雲端硬碟為空"
emptyFolder: "資料夾為空"
dropHereToUpload: "將檔案拖放至此處即可上傳"
unableToDelete: "無法刪除"
inputNewFileName: "輸入檔案名稱"
inputNewDescription: "請輸入新標題 "
@@ -575,8 +580,10 @@ showFixedPostForm: "於時間軸頁頂顯示「發送貼文」方框"
showFixedPostFormInChannel: "於時間軸頁頂顯示「發送貼文」方框(頻道)"
withRepliesByDefaultForNewlyFollowed: "在追隨其他人後,預設在時間軸納入回覆的貼文"
newNoteRecived: "發現新貼文"
newNote: "新的貼文"
sounds: "音效"
sound: "音效"
notificationSoundSettings: "設定通知音效"
listen: "聆聽"
none: "無"
showInPage: "在頁面中顯示"
@@ -634,7 +641,7 @@ inboxUrl: "收件夾 URL"
addedRelays: "已加入的中繼器"
serviceworkerInfo: "如要使用推播通知,需要啟用此選項並設定金鑰。"
deletedNote: "已刪除的貼文"
invisibleNote: "私貼文"
invisibleNote: "私密的貼文"
enableInfiniteScroll: "啟用自動滾動頁面模式"
visibility: "可見性"
poll: "票選活動"
@@ -768,6 +775,7 @@ lockedAccountInfo: "即使追隨需要核准,除非你將貼文的可見性設
alwaysMarkSensitive: "預設標記檔案為敏感內容"
loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
disableShowingAnimatedImages: "不播放動態圖檔"
disableShowingAnimatedImages_caption: "無論這個設定如何,如果動畫圖片無法播放,可能是因為瀏覽器或作業系統的無障礙設定、省電設定等產生了干擾。"
highlightSensitiveMedia: "強調敏感標記"
verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的連結以完成驗證。"
notSet: "未設定"
@@ -791,6 +799,7 @@ wide: "寬"
narrow: "窄"
reloadToApplySetting: "設定將會在頁面重新載入之後生效。要現在就重載頁面嗎?"
needReloadToApply: "必須重新載入才會生效。"
needToRestartServerToApply: "必須重新啟動伺服器才會使變更生效。"
showTitlebar: "顯示標題列"
clearCache: "清除快取資料"
onlineUsersCount: "{n} 人上線"
@@ -997,6 +1006,7 @@ failedToUpload: "上傳失敗"
cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上傳。"
cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上傳。"
cannotUploadBecauseExceedsFileSizeLimit: "由於超過了檔案大小的限制,無法上傳。"
cannotUploadBecauseUnallowedFileType: "由於檔案類型不被允許,無法上傳。\n"
beta: "測試版"
enableAutoSensitive: "自動 NSFW 判定"
enableAutoSensitiveDescription: "如果可行,它將使用機器學習技術判斷檔案是否需要標記為敏感。即使關閉此功能,也可能會依伺服器規則而自動啟用。"
@@ -1048,6 +1058,7 @@ permissionDeniedError: "操作被拒絕"
permissionDeniedErrorDescription: "此帳戶沒有執行這個操作的權限。"
preset: "預設值"
selectFromPresets: "從預設值中選擇"
custom: "自訂"
achievements: "成就"
gotInvalidResponseError: "伺服器的回應無效"
gotInvalidResponseErrorDescription: "伺服器可能已關閉或者在維護中,請稍後再試。"
@@ -1086,6 +1097,7 @@ prohibitedWordsDescription2: "空格代表「以及」AND斜線包圍
hiddenTags: "隱藏標籤"
hiddenTagsDescription: "設定的標籤不會在趨勢中顯示,換行可以設定多個標籤。"
notesSearchNotAvailable: "無法使用搜尋貼文功能。"
usersSearchNotAvailable: "無法使用使用者搜尋功能。"
license: "授權"
unfavoriteConfirm: "要取消收錄我的最愛嗎?"
myClips: "我的摘錄"
@@ -1237,7 +1249,7 @@ releaseToRefresh: "放開以更新內容"
refreshing: "載入更新中"
pullDownToRefresh: "往下拉來更新內容"
useGroupedNotifications: "分組顯示通知訊息"
signupPendingError: "驗證您的電子郵件地址時出現問題。連結可能已過期。"
emailVerificationFailedError: "驗證您的電子郵件地址時出現問題。連結可能已過期。"
cwNotationRequired: "如果開啟「隱藏內容」,則需要註解說明。"
doReaction: "做出反應"
code: "程式碼"
@@ -1307,6 +1319,8 @@ availableRoles: "可用角色"
acknowledgeNotesAndEnable: "了解注意事項後再開啟。"
federationSpecified: "此伺服器以白名單聯邦的方式運作。除了管理員指定的伺服器外,它無法與其他伺服器互動。"
federationDisabled: "此伺服器未開啟站台聯邦。無法與其他伺服器上的使用者互動。"
draft: "草稿\n"
draftsAndScheduledNotes: "草稿與排定發布"
confirmOnReact: "在做出反應前先確認"
reactAreYouSure: "用「 {emoji} 」反應嗎?"
markAsSensitiveConfirm: "要將這個媒體設定為敏感嗎?"
@@ -1324,6 +1338,7 @@ restore: "還原"
syncBetweenDevices: "裝置之間的同步化"
preferenceSyncConflictTitle: "伺服器上存在設定值"
preferenceSyncConflictText: "已啟用同步的設定項目會將設定值儲存至伺服器,並已找到該設定項目在伺服器上儲存的設定值。請選擇要使用哪個設定值進行覆寫。"
preferenceSyncConflictChoiceMerge: "合併至"
preferenceSyncConflictChoiceServer: "伺服器設定值"
preferenceSyncConflictChoiceDevice: "裝置的設定值"
preferenceSyncConflictChoiceCancel: "取消啟用同步"
@@ -1333,6 +1348,8 @@ postForm: "發文視窗"
textCount: "字數"
information: "關於"
chat: "聊天"
directMessage: "直接訊息"
directMessage_short: "訊息"
migrateOldSettings: "遷移舊設定資訊"
migrateOldSettings_description: "通常情況下,這會自動進行,但若因某些原因未能順利遷移,您可以手動觸發遷移處理。請注意,當前的設定資訊將會被覆寫。"
compress: "壓縮"
@@ -1346,7 +1363,52 @@ goToDeck: "回去甲板"
federationJobs: "聯邦通訊作業"
driveAboutTip: "在「雲端硬碟」中,會顯示過去上傳的檔案列表。<br>\n可以在附加到貼文時重新利用或者事先上傳之後再用於發布。<br>\n<b>請注意,刪除檔案後,之前使用過該檔案的所有地方(貼文、頁面、大頭貼、橫幅等)也會一併無法顯示。</b><br>\n也可以建立資料夾來整理檔案。"
scrollToClose: "用滾輪關閉"
advice: "建議"
realtimeMode: "即時模式"
turnItOn: "開啟"
turnItOff: "關閉"
emojiMute: "表情符號靜音"
emojiUnmute: "表情符號解除靜音"
muteX: "將 {x} 靜音"
unmuteX: "將 {x} 解除靜音"
abort: "取消"
tip: "提示與技巧"
redisplayAllTips: "重新顯示所有「提示與技巧」"
hideAllTips: "隱藏所有「提示與技巧」"
defaultImageCompressionLevel: "預設的影像壓縮程度"
defaultImageCompressionLevel_description: "低的話可以保留畫質,但是會增加檔案的大小。<br>高的話可以減少檔案大小,但是會降低畫質。"
defaultCompressionLevel: "預設的壓縮程度"
defaultCompressionLevel_description: "低的話可以保留品質,但是會增加檔案的大小。<br>高的話可以減少檔案大小,但是會降低品質。"
inMinutes: "分鐘"
inDays: "日"
safeModeEnabled: "啟用安全模式"
pluginsAreDisabledBecauseSafeMode: "由於啟用安全模式,所有的外掛都被停用。"
customCssIsDisabledBecauseSafeMode: "由於啟用安全模式,所有的客製 CSS 都被停用。"
themeIsDefaultBecauseSafeMode: "在安全模式啟用期間將使用預設主題。關閉安全模式後會恢復原本的設定。"
thankYouForTestingBeta: "感謝您協助驗證 beta 版!"
createUserSpecifiedNote: "建立使用者指定的筆記"
schedulePost: "排定發布"
scheduleToPostOnX: "排定在 {x} 發布"
scheduledToPostOnX: "已排定在 {x} 發布貼文"
schedule: "排定"
scheduled: "排定"
widgets: "小工具"
deviceInfo: "硬體資訊"
deviceInfoDescription: "在提出技術性諮詢時,若能同時提供以下資訊,將有助於解決問題。"
_compression:
_quality:
high: "高品質"
medium: "中品質"
low: "低品質"
_size:
large: "大"
medium: "中"
small: "小"
_order:
newest: "最新的在前"
oldest: "最舊的在前"
_chat:
messages: "訊息"
noMessagesYet: "尚無訊息"
newMessage: "新訊息"
individualChat: "ㄧ對一聊天室"
@@ -1379,6 +1441,8 @@ _chat:
chatNotAvailableInOtherAccount: "對方的帳號無法使用聊天功能。"
cannotChatWithTheUser: "無法與此使用者聊天"
cannotChatWithTheUser_description: "聊天功能目前無法使用,或對方尚未開放聊天功能。"
youAreNotAMemberOfThisRoomButInvited: "您不是此聊天室的參與者,但已收到邀請。若要加入,請先接受邀請。\n"
doYouAcceptInvitation: "您要接受這個邀請嗎?\n"
chatWithThisUser: "聊天"
thisUserAllowsChatOnlyFromFollowers: "此使用者僅接受來自追隨者的聊天訊息。"
thisUserAllowsChatOnlyFromFollowing: "此使用者僅接受自己追隨的使用者傳送聊天訊息。"
@@ -1418,12 +1482,21 @@ _settings:
makeEveryTextElementsSelectable: "允許選取所有文字"
makeEveryTextElementsSelectable_description: "啟用此功能後,可能會在某些情境下降低可用性。"
useStickyIcons: "使大頭貼跟隨捲動"
enableHighQualityImagePlaceholders: "顯示高品質的圖片預覽圖"
uiAnimations: "使用者介面的動畫效果\n"
showNavbarSubButtons: "在導覽列顯示輔助按鈕"
ifOn: "開啟時"
ifOff: "關閉時"
enableSyncThemesBetweenDevices: "在裝置之間同步已安裝的主題"
enablePullToRefresh: "下拉更新"
enablePullToRefresh_description: "使用滑鼠,按下並拖曳滾輪。"
realtimeMode_description: "已與伺服器建立連線,將即時更新內容。這可能會增加資料傳輸量與電池消耗。\n"
contentsUpdateFrequency: "內容取得頻率"
contentsUpdateFrequency_description: "頻率越高,內容更新越即時,但可能會降低效能,並增加資料傳輸量與電池消耗。\n"
contentsUpdateFrequency_description2: "當即時模式開啟時,不論此設定為何,內容都會即時更新。"
showUrlPreview: "顯示網址預覽"
showAvailableReactionsFirstInNote: "將可用的反應顯示在頂部"
showPageTabBarBottom: "在底部顯示頁面的標籤列"
_chat:
showSenderName: "顯示發送者的名稱"
sendOnEnter: "按下 Enter 發送訊息"
@@ -1508,7 +1581,7 @@ _initialAccountSetting:
theseSettingsCanEditLater: "這裡的設定可以在之後變更。"
youCanEditMoreSettingsInSettingsPageLater: "除此之外,還可以在「設定」頁面進行各種設定。之後請確認看看。"
followUsers: "為了構築時間軸,試著追隨您感興趣的使用者吧。"
pushNotificationDescription: "啟用推送通知後,就可以在裝置上接收來自{name}的通知了。"
pushNotificationDescription: "啟用推送通知後,就可以在裝置上接收來自 {name} 的通知了。"
initialAccountSettingCompleted: "初始設定完成了!"
haveFun: "盡情享受{name}吧!"
youCanContinueTutorial: "您可以繼續學習如何使用{name}(Misskey),也可以就此打住,立即開始使用。"
@@ -1597,6 +1670,10 @@ _serverSettings:
fanoutTimelineDbFallback: "資料庫的回退"
fanoutTimelineDbFallbackDescription: "若啟用,在時間軸沒有快取的情況下將執行回退處理以額外查詢資料庫。若停用,可以透過不執行回退處理來進一步減少伺服器的負荷,但會限制可取得的時間軸範圍。"
reactionsBufferingDescription: "啟用時,可以顯著提高建立反應時的效能並減少資料庫的負載。 但是Redis 記憶體使用量會增加。"
remoteNotesCleaning: "自動清除遠端發佈內容"
remoteNotesCleaning_description: "啟用後,系統會定期清理未被參照的舊遠端貼文,以抑制資料庫的膨脹。"
remoteNotesCleaningMaxProcessingDuration: "清理作業的最長持續時間"
remoteNotesCleaningExpiryDaysForEachNotes: "貼文最短保留天數"
inquiryUrl: "聯絡表單網址"
inquiryUrlDescription: "指定伺服器運營者的聯絡表單網址,或包含運營者聯絡資訊網頁的網址。"
openRegistration: "允許建立帳戶"
@@ -1604,6 +1681,26 @@ _serverSettings:
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "如果在一段期間內沒有偵測到任何審查員活動,此設定將自動關閉,以防止垃圾內容。"
deliverSuspendedSoftware: "已停止發佈的軟體"
deliverSuspendedSoftwareDescription: "由於脆弱性等原因,可以指定伺服器軟體的名稱與版本範圍來停止其發佈。這些版本資訊是由伺服器所提供,其可靠性無法保證。版本的指定可以使用 semver語意化版本控制 的範圍語法,但如果指定為 >= 2024.3.1,則像 2024.3.1-custom.0 這樣的自訂版本將不會被包含在內,因此建議使用 >= 2024.3.1-0 的方式來同時包含預發佈版本。"
singleUserMode: "單人模式"
singleUserMode_description: "如果只有自己使用此伺服器的話,啟用此模式將使效能最佳化。"
signToActivityPubGet: "簽署 GET 請求"
signToActivityPubGet_description: "通常應該啟用此功能。停用可能會改善聯邦通訊的問題,但反過來也可能會使某些伺服器無法通訊。"
proxyRemoteFiles: "代理提供遠端檔案"
proxyRemoteFiles_description: "啟用時,它會代理並提供遠端檔案。 這有助於產生影像縮圖和保護使用者隱私。"
allowExternalApRedirect: "允許透過 ActivityPub 查詢時進行重新導向"
allowExternalApRedirect_description: "啟用後,其他伺服器可以透過此伺服器查詢第三方的內容,但也可能導致內容遭到冒充的風險。"
userGeneratedContentsVisibilityForVisitor: "使用者建立的內容對訪客的公開範圍"
userGeneratedContentsVisibilityForVisitor_description: "這有助於防止一些問題的發生,例如未經適當審核的不適當遠端內容無意中透過您自己的伺服器發佈到網際網路上。"
userGeneratedContentsVisibilityForVisitor_description2: "包括伺服器接收到的遠端內容在內,無條件地將伺服器內所有內容公開到網際網路上是具有風險的。特別是對於不了解分散式架構特性的瀏覽者來說,他們可能會誤以為這些遠端內容是由該伺服器所創建的,因此需要特別留意。"
restartServerSetupWizardConfirm_title: "要重新執行伺服器的初始設定精靈嗎?"
restartServerSetupWizardConfirm_text: "當前的部分設定將會被重設。"
entrancePageStyle: "入口頁面的樣式"
showTimelineForVisitor: "顯示時間軸"
showActivitiesForVisitor: "顯示活動"
_userGeneratedContentsVisibilityForVisitor:
all: "全部公開\n"
localOnly: "僅公開本地內容,遠端內容則不公開\n"
none: "全部不公開"
_accountMigration:
moveFrom: "從其他帳戶遷移到這個帳戶"
moveFromSub: "為另一個帳戶建立別名"
@@ -1922,6 +2019,7 @@ _role:
canManageAvatarDecorations: "管理頭像裝飾"
driveCapacity: "雲端硬碟容量"
maxFileSize: "可上傳的最大檔案大小"
maxFileSize_caption: "前端可能還有其他設定值,例如反向代理或 CDN。"
alwaysMarkNsfw: "總是將檔案標記為NSFW"
canUpdateBioMedia: "允許更新大頭貼和橫幅"
pinMax: "置頂貼文的最大數量"
@@ -1936,6 +2034,7 @@ _role:
descriptionOfRateLimitFactor: "值越小限制越少,值越大限制越多。"
canHideAds: "不顯示廣告"
canSearchNotes: "可否搜尋貼文"
canSearchUsers: "可使用使用者搜尋功能"
canUseTranslator: "使用翻譯功能"
avatarDecorationLimit: "頭像可掛上的最大裝飾數量"
canImportAntennas: "允許匯入天線"
@@ -1944,6 +2043,12 @@ _role:
canImportMuting: "允許匯入靜音名單"
canImportUserLists: "允許匯入清單"
chatAvailability: "允許聊天"
uploadableFileTypes: "可上傳的檔案類型"
uploadableFileTypes_caption: "請指定 MIME 類型。可以用換行區隔多個類型,也可以使用星號(*作為萬用字元進行指定。例如image/*\n"
uploadableFileTypes_caption2: "有些檔案可能無法判斷其類型。若要允許這類檔案,請在指定中加入 {x}。"
noteDraftLimit: "伺服器端可建立的貼文草稿數量上限\n"
scheduledNoteLimit: "同時建立的排定發布數量"
watermarkAvailable: "浮水印功能是否可用"
_condition:
roleAssignedTo: "手動指派角色完成"
isLocal: "本地使用者"
@@ -2103,6 +2208,7 @@ _theme:
install: "安裝佈景主題"
manage: "管理佈景主題"
code: "佈景主題代碼"
copyThemeCode: "複製主題代碼"
description: "描述"
installed: "{name}已安裝"
installedThemes: "已經安裝的佈景主題"
@@ -2161,9 +2267,8 @@ _theme:
buttonBg: "按鈕背景"
buttonHoverBg: "按鈕背景 (漂浮)"
inputBorder: "輸入框邊框"
driveFolderBg: "雲端硬碟文件夾背景"
badge: "徽章"
messageBg: "私訊背景"
messageBg: "聊天的背景"
fgHighlighted: "突顯文字"
_sfx:
note: "貼文"
@@ -2203,6 +2308,7 @@ _time:
minute: "分鐘"
hour: "小時"
day: "日"
month: "個月"
_2fa:
alreadyRegistered: "此裝置已被註冊過了"
registerTOTP: "開始設定驗證應用程式"
@@ -2332,6 +2438,7 @@ _auth:
scopeUser: "以下列使用者身分操作"
pleaseLogin: "必須登入以提供應用程式的存取權限。"
byClickingYouWillBeRedirectedToThisUrl: "如果授予存取權限,就會自動導向到以下的網址"
alreadyAuthorized: "此應用程式已被授予存取權限。"
_antennaSources:
all: "全部貼文"
homeTimeline: "來自已追隨使用者的貼文"
@@ -2417,6 +2524,8 @@ _visibility:
disableFederation: "停用聯邦"
disableFederationDescription: "不發送到其他伺服器"
_postForm:
quitInspiteOfThereAreUnuploadedFilesConfirm: "尚有未上傳的檔案,確定要放棄並關閉表單嗎?"
uploaderTip: "檔案尚未上傳。您可以從檔案選單中設定重新命名、裁切圖片、加上浮水印、是否壓縮等選項。檔案會在發布貼文時自動上傳。\n"
replyPlaceholder: "回覆此貼文..."
quotePlaceholder: "引用此貼文..."
channelPlaceholder: "發佈到頻道"
@@ -2565,6 +2674,8 @@ _notification:
youReceivedFollowRequest: "您有新的追隨請求"
yourFollowRequestAccepted: "您的追隨請求已被核准"
pollEnded: "問卷調查已產生結果"
scheduledNotePosted: "已排定發布貼文"
scheduledNotePostFailed: "排定發布貼文失敗了"
newNote: "新的貼文"
unreadAntennaNote: "天線 {name}"
roleAssigned: "已授予角色"
@@ -2594,6 +2705,8 @@ _notification:
quote: "引用"
reaction: "反應"
pollEnded: "問卷調查結束"
scheduledNotePosted: "預約發佈成功"
scheduledNotePostFailed: "預約發佈失敗"
receiveFollowRequest: "已收到追隨請求"
followRequestAccepted: "追隨請求已接受"
roleAssigned: "已授予角色"
@@ -2750,6 +2863,7 @@ _fileViewer:
url: "URL"
uploadedAt: "加入日期"
attachedNotes: "含有附件的貼文"
usage: "使用情況"
thisPageCanBeSeenFromTheAuthor: "本頁面僅限上傳了這個檔案的使用者可以檢視。"
_externalResourceInstaller:
title: "從外部網站安裝"
@@ -2797,9 +2911,12 @@ _dataSaver:
_avatar:
title: "大頭貼"
description: "停止顯示大頭貼的動畫。由於動畫圖片的檔案大小可能比普通圖片大,這可以進一步減少資料流量。"
_urlPreview:
title: "網址預覽縮圖"
_urlPreviewThumbnail:
title: "不顯示網址預覽縮圖"
description: "將不再自動載入網址預覽縮圖。"
_disableUrlPreview:
title: "停用網址預覽"
description: "停用網址預覽功能。與單獨使用縮圖不同,這樣可以減少載入連結資訊本身。"
_code:
title: "程式碼突出顯示"
description: "如果使用了程式碼突顯語法(如 MFM則在點擊之前不會被載入。由於需要為對應的程式語言下載突顯定義檔案因此關閉自動載入有助於減少資料流量。"
@@ -2857,6 +2974,8 @@ _offlineScreen:
_urlPreviewSetting:
title: "URL 預覽設定"
enable: "啟用 URL 預覽"
allowRedirect: "允許預覽目標的重新導向"
allowRedirectDescription: "設定當輸入的 URL 發生重新導向時,是否追蹤該重新導向並顯示預覽。若停用此功能,雖可節省伺服器資源,但將無法顯示重新導向後的內容。\n"
timeout: "取得預覽的逾時時間 (ms)"
timeoutDescription: "若取得預覽所需的時間超過這個值,則不會產生預覽。"
maximumContentLength: "Content-Length 的最大値 (byte)"
@@ -2930,10 +3049,6 @@ _customEmojisManager:
uploadSettingDescription: "您可以在此畫面設定表情符號上傳時的操作。"
directoryToCategoryLabel: "在「類別」欄位中輸入目錄名稱"
directoryToCategoryCaption: "拖放目錄時,請在「類別」欄位中輸入目錄名稱。"
emojiInputAreaCaption: "以下列其中一種方式選擇您想要註冊的表情符號"
emojiInputAreaList1: "將圖片檔案或目錄拖放到此框中"
emojiInputAreaList2: "點擊此連結從電腦中選擇"
emojiInputAreaList3: "點擊此連結從雲端硬碟中選擇"
confirmRegisterEmojisDescription: "將列表中顯示的表情符號登錄為新的自定表情符號。是否確定?(為避免過高負荷,每次操作最多可登錄{count}個表情符號)"
confirmClearEmojisDescription: "放棄編輯內容並清除列表中顯示的表情符號。是否確定?"
confirmUploadEmojisDescription: "將拖放的{count}個檔案上傳到雲端硬碟。是否執行此操作?"
@@ -3001,6 +3116,7 @@ _bootErrors:
otherOption1: "刪除用戶端設定和快取"
otherOption2: "啟動簡易用戶端"
otherOption3: "啟動修復工具"
otherOption4: "以安全模式啟動 Misskey"
_search:
searchScopeAll: "全部"
searchScopeLocal: "本地"
@@ -3009,3 +3125,195 @@ _search:
pleaseEnterServerHost: "請輸入伺服器的主機名稱"
pleaseSelectUser: "請選擇使用者"
serverHostPlaceholder: "例misskey.example.com"
_serverSetupWizard:
installCompleted: "Misskey 的安裝已經完成了!"
firstCreateAccount: "首先,請建立管理者帳戶。"
accountCreated: "已建立管理者帳戶!"
serverSetting: "伺服器設定"
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "利用這個精靈,可以簡單地最佳化伺服器的設定。"
settingsYouMakeHereCanBeChangedLater: "這裡的設定之後也可以進行更改。\n"
howWillYouUseMisskey: "您打算如何使用 Misskey\n"
_use:
single: "單人伺服器"
single_description: "作為自己專用的伺服器,單獨使用。\n"
single_youCanCreateMultipleAccounts: "即使作為單人伺服器運行,根據需要也可以創建多個帳戶。\n"
group: "群組伺服器\n"
group_description: "邀請可信賴的其他使用者,共同使用伺服器。\n"
open: "開放式伺服器"
open_description: "運營時接納不特定多數的使用者。"
openServerAdvice: "接納不特定多數使用者會帶來風險。為了能夠有效處理問題,建議建立完善的審查機制來進行運營。\n"
openServerAntiSpamAdvice: "為了防止自家伺服器成為垃圾郵件的跳板,必須啟用如 reCAPTCHA 等反機器人功能,並對安全性保持高度警覺。\n"
howManyUsersDoYouExpect: "您預計有多少人使用呢?\n"
_scale:
small: "100人以下小規模\n"
medium: "100人以上1000人以下中規模\n"
large: "1000人以上大規模\n"
largeScaleServerAdvice: "在大規模伺服器中,可能需要具備高階基礎設施知識,如負載平衡和資料庫複寫等。\n"
doYouConnectToFediverse: "您要連接到聯邦宇宙Fediverse\n"
doYouConnectToFediverse_description1: "連接到由分散型伺服器構成的網絡(聯邦宇宙)後,您可以與其他伺服器進行內容的互相交流。\n"
doYouConnectToFediverse_description2: "連接到聯邦宇宙被稱為「聯邦」。\n"
youCanConfigureMoreFederationSettingsLater: "您可以在稍後進行更高級的設定,例如指定可以聯繫的伺服器等。\n"
remoteContentsCleaning: "自動清理接收的內容"
remoteContentsCleaning_description: "進行聯邦後,會持續接收大量內容。啟用自動清理功能後,系統會自動從伺服器中刪除未被參照的過時內容,以節省儲存空間。"
adminInfo: "管理員資訊"
adminInfo_description: "設定用於接收查詢的管理者資訊。\n"
adminInfo_mustBeFilled: "當設置為開放伺服器或啟用聯邦時,必須填寫此資訊。\n"
followingSettingsAreRecommended: "建議使用下列設定"
applyTheseSettings: "套用此設定"
skipSettings: "跳過設定"
settingsCompleted: "設定完成!"
settingsCompleted_description: "辛苦了!準備已經完成,您可以立即開始使用伺服器了。\n"
settingsCompleted_description2: "詳細的伺服器設定可透過「控制臺」進行。"
donationRequest: "請求捐款"
_donationRequest:
text1: "Misskey 是由志願者開發的免費軟體。"
text2: "為了能夠繼續開發,若您願意的話,請考慮進行捐款。\n"
text3: "也有提供支援者專屬的特典!\n"
_uploader:
editImage: "編輯圖片"
compressedToX: "壓縮為 {x}"
savedXPercent: "節省了 {x}%"
abortConfirm: "有些檔案尚未上傳,您要中止嗎?"
doneConfirm: "有些檔案尚未上傳,是否要完成上傳?"
maxFileSizeIsX: "可上傳的最大檔案大小為 {x}。"
allowedTypes: "可上傳的檔案類型。"
tip: "檔案尚未上傳。您可以在此對話框中進行上傳前的確認、重新命名、壓縮、裁切等操作。準備完成後,請點選「上傳」按鈕開始上傳。\n"
_clientPerformanceIssueTip:
title: "如果覺得電池消耗過快的話"
makeSureDisabledAdBlocker: "請將廣告阻擋器停用"
makeSureDisabledAdBlocker_description: "廣告阻擋器可能會影響效能。請確認作業系統功能、瀏覽器設定或擴充功能中是否啟用了廣告阻擋器。\n"
makeSureDisabledCustomCss: "請停用自訂 CSS"
makeSureDisabledCustomCss_description: "覆蓋樣式可能會影響效能。請確認是否啟用了自訂 CSS 或其他會覆蓋樣式的擴充功能。\n"
makeSureDisabledAddons: "請停用擴充功能"
makeSureDisabledAddons_description: "部分擴充功能可能會干擾用戶端的運作並影響效能。請嘗試停用瀏覽器的擴充功能,以確認是否能改善情況"
_clip:
tip: "摘錄是一項可以用來整理貼文的功能。"
_userLists:
tip: "您可以建立包含任意使用者的清單。建立後的清單可以作為時間軸顯示。\n"
watermark: "浮水印"
defaultPreset: "預設值"
_watermarkEditor:
tip: "可以在圖片中以浮水印加上出處等資訊。"
quitWithoutSaveConfirm: "不儲存就退出嗎?"
driveFileTypeWarn: "不支援此檔案"
driveFileTypeWarnDescription: "請選擇圖片檔案"
title: "編輯浮水印"
cover: "覆蓋整體"
repeat: "佈局"
preserveBoundingRect: "調整使其在旋轉時不會突出"
opacity: "透明度"
scale: "大小"
text: "文字"
qr: "二維條碼"
position: "位置"
margin: "邊界"
type: "類型"
image: "圖片"
advanced: "進階"
angle: "角度"
stripe: "條紋"
stripeWidth: "線條寬度"
stripeFrequency: "線條數量"
polkadot: "波卡圓點"
checker: "棋盤格"
polkadotMainDotOpacity: "主圓點的不透明度"
polkadotMainDotRadius: "主圓點的尺寸"
polkadotSubDotOpacity: "子圓點的不透明度"
polkadotSubDotRadius: "子圓點的尺寸"
polkadotSubDotDivisions: "子圓點的數量"
leaveBlankToAccountUrl: "若留空則使用帳戶的 URL"
_imageEffector:
title: "特效"
addEffect: "新增特效"
discardChangesConfirm: "捨棄更改並退出嗎?"
nothingToConfigure: "無可設定的項目"
_fxs:
chromaticAberration: "色差"
glitch: "異常雜訊效果"
mirror: "鏡像"
invert: "反轉色彩"
grayscale: "黑白"
blur: "模糊"
pixelate: "馬賽克"
colorAdjust: "色彩校正"
colorClamp: "壓縮色彩"
colorClampAdvanced: "壓縮色彩(進階)"
distort: "變形"
threshold: "閾值"
zoomLines: "速度線"
stripe: "條紋"
polkadot: "波卡圓點"
checker: "棋盤格"
blockNoise: "阻擋雜訊"
tearing: "撕裂"
fill: "填充"
_fxProps:
angle: "角度"
scale: "大小"
size: "大小"
radius: "半徑"
samples: "取樣數"
offset: "位置"
color: "顏色"
opacity: "透明度"
normalize: "正規化"
amount: "數量"
lightness: "亮度"
contrast: "對比度"
hue: "色相"
brightness: "亮度"
saturation: "彩度"
max: "最大值"
min: "最小值"
direction: "方向"
phase: "相位"
frequency: "頻率"
strength: "強度"
glitchChannelShift: "偏移"
seed: "種子值"
redComponent: "紅色成分"
greenComponent: "綠色成分"
blueComponent: "青色成分"
threshold: "閾值"
centerX: "X中心座標"
centerY: "Y中心座標"
zoomLinesSmoothing: "平滑化"
zoomLinesSmoothingDescription: "平滑化與集中線寬度設定不能同時使用。"
zoomLinesThreshold: "集中線的寬度"
zoomLinesMaskSize: "中心直徑"
zoomLinesBlack: "變成黑色"
circle: "圓形"
drafts: "草稿\n"
_drafts:
select: "選擇草槁"
cannotCreateDraftAnymore: "已超出可建立的草稿數量上限。\n"
cannotCreateDraft: "無法以此內容建立草稿。\n"
delete: "刪除草稿"
deleteAreYouSure: "確定要刪除草稿嗎?\n"
noDrafts: "沒有草稿。\n"
replyTo: "回覆給 {user}\n"
quoteOf: "引用自 {user} 的貼文\n"
postTo: "發佈到 {channel}\n"
saveToDraft: "儲存為草稿"
restoreFromDraft: "從草稿復原\n"
restore: "還原"
listDrafts: "草稿清單"
schedule: "排定發布"
listScheduledNotes: "排定發布列表"
cancelSchedule: "解除排定"
qr: "二維條碼"
_qr:
showTabTitle: "檢視"
readTabTitle: "讀取"
shareTitle: "{name} {acct}"
shareText: "請在聯邦宇宙追隨我吧!"
chooseCamera: "選擇相機"
cannotToggleFlash: "無法切換閃光燈"
turnOnFlash: "開啟閃光燈"
turnOffFlash: "關閉閃光燈"
startQr: "啟動條碼掃描器"
stopQr: "停止條碼掃描器"
noQrCodeFound: "找不到 QR code"
scanFile: "掃描在裝置上的影像"
raw: "文字"
mfm: "MFM"

View File

@@ -1,16 +1,17 @@
{
"name": "misskey",
"version": "2025.5.1-alpha.2",
"version": "2025.10.2",
"codename": "nasubi",
"repository": {
"type": "git",
"url": "https://github.com/misskey-dev/misskey.git"
},
"packageManager": "pnpm@10.10.0",
"packageManager": "pnpm@10.18.2",
"workspaces": [
"packages/frontend-shared",
"packages/frontend",
"packages/frontend-embed",
"packages/icons-subsetter",
"packages/backend",
"packages/sw",
"packages/misskey-js",
@@ -26,6 +27,7 @@
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --no-build && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
"cli": "cd packages/backend && pnpm cli",
"init": "pnpm migrate",
"migrate": "cd packages/backend && pnpm migrate",
"revert": "cd packages/backend && pnpm revert",
@@ -51,30 +53,31 @@
"lodash": "4.17.21"
},
"dependencies": {
"cssnano": "7.0.6",
"esbuild": "0.25.3",
"execa": "9.5.2",
"cssnano": "7.1.1",
"esbuild": "0.25.10",
"execa": "9.6.0",
"fast-glob": "3.3.3",
"glob": "11.0.2",
"ignore-walk": "7.0.0",
"glob": "11.0.3",
"ignore-walk": "8.0.0",
"js-yaml": "4.1.0",
"postcss": "8.5.3",
"tar": "7.4.3",
"terser": "5.39.0",
"typescript": "5.8.3"
"postcss": "8.5.6",
"tar": "7.5.1",
"terser": "5.44.0",
"typescript": "5.9.3"
},
"devDependencies": {
"@misskey-dev/eslint-plugin": "2.1.0",
"@types/node": "22.15.2",
"@typescript-eslint/eslint-plugin": "8.31.0",
"@typescript-eslint/parser": "8.31.0",
"cross-env": "7.0.3",
"cypress": "14.3.2",
"eslint": "9.25.1",
"globals": "16.0.0",
"@types/js-yaml": "4.0.9",
"@types/node": "22.18.10",
"@typescript-eslint/eslint-plugin": "8.46.1",
"@typescript-eslint/parser": "8.46.1",
"cross-env": "10.1.0",
"cypress": "15.4.0",
"eslint": "9.37.0",
"globals": "16.4.0",
"ncp": "2.0.0",
"pnpm": "10.10.0",
"start-server-and-test": "2.0.11"
"pnpm": "10.18.2",
"start-server-and-test": "2.1.2"
},
"optionalDependencies": {
"@tensorflow/tfjs-core": "4.22.0"

View File

@@ -25,6 +25,7 @@ export default [
},
},
rules: {
'@typescript-eslint/no-unused-vars': 'off',
'import/order': ['warn', {
groups: [
'builtin',

View File

@@ -17,4 +17,15 @@ args.push(...[
...process.argv.slice(2),
]);
child_process.spawn(process.execPath, args, { stdio: 'inherit' });
const child = child_process.spawn(process.execPath, args, { stdio: 'inherit' });
child.on('error', (err) => {
console.error('Failed to start Jest:', err);
process.exit(1);
});
child.on('exit', (code, signal) => {
if (code === null) {
process.exit(128 + signal);
} else {
process.exit(code);
}
});

View File

@@ -0,0 +1,91 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class CreateNoteDraft1736686850345 {
name = 'CreateNoteDraft1736686850345'
async up(queryRunner) {
await queryRunner.query(`
CREATE TABLE "note_draft" (
"id" varchar NOT NULL,
"replyId" varchar NULL,
"renoteId" varchar NULL,
"text" text NULL,
"cw" varchar(512) NULL,
"userId" varchar NOT NULL,
"localOnly" boolean DEFAULT false,
"reactionAcceptance" varchar(64) NULL,
"visibility" varchar NOT NULL,
"fileIds" varchar[] DEFAULT '{}',
"visibleUserIds" varchar[] DEFAULT '{}',
"hashtag" varchar(128) NULL,
"channelId" varchar NULL,
"hasPoll" boolean DEFAULT false,
"pollChoices" varchar(256)[] DEFAULT '{}',
"pollMultiple" boolean NULL,
"pollExpiresAt" TIMESTAMP WITH TIME ZONE NULL,
"pollExpiredAfter" bigint NULL,
PRIMARY KEY ("id")
)`);
await queryRunner.query(`
CREATE INDEX "IDX_NOTE_DRAFT_REPLY_ID" ON "note_draft" ("replyId")
`);
await queryRunner.query(`
CREATE INDEX "IDX_NOTE_DRAFT_RENOTE_ID" ON "note_draft" ("renoteId")
`);
await queryRunner.query(`
CREATE INDEX "IDX_NOTE_DRAFT_USER_ID" ON "note_draft" ("userId")
`);
await queryRunner.query(`
CREATE INDEX "IDX_NOTE_DRAFT_FILE_IDS" ON "note_draft" USING GIN ("fileIds")
`);
await queryRunner.query(`
CREATE INDEX "IDX_NOTE_DRAFT_VISIBLE_USER_IDS" ON "note_draft" USING GIN ("visibleUserIds")
`);
await queryRunner.query(`
CREATE INDEX "IDX_NOTE_DRAFT_CHANNEL_ID" ON "note_draft" ("channelId")
`);
await queryRunner.query(`
ALTER TABLE "note_draft"
ADD CONSTRAINT "FK_NOTE_DRAFT_REPLY_ID" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE
`);
await queryRunner.query(`
ALTER TABLE "note_draft"
ADD CONSTRAINT "FK_NOTE_DRAFT_RENOTE_ID" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE
`);
await queryRunner.query(`
ALTER TABLE "note_draft"
ADD CONSTRAINT "FK_NOTE_DRAFT_USER_ID" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE
`);
await queryRunner.query(`
ALTER TABLE "note_draft"
ADD CONSTRAINT "FK_NOTE_DRAFT_CHANNEL_ID" FOREIGN KEY ("channelId") REFERENCES "channel"("id") ON DELETE CASCADE
`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_CHANNEL_ID"`);
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_USER_ID"`);
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_RENOTE_ID"`);
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_REPLY_ID"`);
await queryRunner.query(`DROP INDEX "IDX_NOTE_DRAFT_CHANNEL_ID"`);
await queryRunner.query(`DROP INDEX "IDX_NOTE_DRAFT_VISIBLE_USER_IDS"`);
await queryRunner.query(`DROP INDEX "IDX_NOTE_DRAFT_FILE_IDS"`);
await queryRunner.query(`DROP INDEX "IDX_NOTE_DRAFT_USER_ID"`);
await queryRunner.query(`DROP INDEX "IDX_NOTE_DRAFT_RENOTE_ID"`);
await queryRunner.query(`DROP INDEX "IDX_NOTE_DRAFT_REPLY_ID"`);
await queryRunner.query(`DROP TABLE "note_draft"`);
}
}

View File

@@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class AddUrlPreviewAllowRedirect1748310233000 {
name = 'AddUrlPreviewAllowRedirect1748310233000'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "urlPreviewAllowRedirect" boolean NOT NULL DEFAULT true`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "urlPreviewAllowRedirect"`);
}
}

View File

@@ -0,0 +1,15 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class FixAvatarUrl1750729939704 {
name = 'FixAvatarUrl1750729939704'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" ALTER COLUMN "avatarUrl" TYPE character varying(1024)`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" ALTER COLUMN "avatarUrl" TYPE character varying(512)`);
}
}

View File

@@ -0,0 +1,24 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class NoActionOnDraftRelation1752502434151 {
name = 'NoActionOnDraftRelation1752502434151'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_CHANNEL_ID"`);
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_USER_ID"`);
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_RENOTE_ID"`);
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_NOTE_DRAFT_REPLY_ID"`);
await queryRunner.query(`ALTER TABLE "note_draft" ADD CONSTRAINT "FK_e4983f28b4b18b03491536052f5" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "note_draft" DROP CONSTRAINT "FK_e4983f28b4b18b03491536052f5"`);
await queryRunner.query(`ALTER TABLE "note_draft" ADD CONSTRAINT "FK_NOTE_DRAFT_REPLY_ID" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_draft" ADD CONSTRAINT "FK_NOTE_DRAFT_RENOTE_ID" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_draft" ADD CONSTRAINT "FK_NOTE_DRAFT_USER_ID" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_draft" ADD CONSTRAINT "FK_NOTE_DRAFT_CHANNEL_ID" FOREIGN KEY ("channelId") REFERENCES "channel"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
}

View File

@@ -0,0 +1,79 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class MigrationCleanup1752509043847 {
name = 'MigrationCleanup1752509043847'
async up(queryRunner) {
// 1745378064470-composite-note-index.js created a index ON "note" ("userId", "id" DESC) as IDX_724b311e6f883751f261ebe378 but should be named IDX_a6f649630f55af3888e5a42919
await queryRunner.query(`ALTER INDEX "IDX_724b311e6f883751f261ebe378" RENAME TO "IDX_a6f649630f55af3888e5a42919"`);
// 1713656541000-abuse-report-notification.js generated system_webhook with hand-written SQL with CURRENT_TIMESTAMP as the default value, but its representation in TypeORM is `now()`
// see https://github.com/typeorm/typeorm/blob/f351757a15b9d2bd9d4222c69dcfd2316f46b5d1/src/driver/postgres/PostgresDriver.ts#L1575
await queryRunner.query(`ALTER TABLE "system_webhook" ALTER COLUMN "updatedAt" SET DEFAULT now()`);
// 1702718871541-ffVisibility.js defined a enum type "user_profile_followersVisibility_enum" but it should be "user_profile_followersvisibility_enum" (lowercase 'v') in typeorm
await queryRunner.query(`ALTER TYPE "public"."user_profile_followersVisibility_enum" RENAME TO "user_profile_followersvisibility_enum"`);
// 1713656541000-abuse-report-notification.js generated abuse_report_notification_recipient with hand-written SQL with CURRENT_TIMESTAMP as the default value, but its representation in TypeORM is `now()`
await queryRunner.query(`ALTER TABLE "abuse_report_notification_recipient" ALTER COLUMN "updatedAt" SET DEFAULT now()`);
// 1690796169261-play-visibility.js added visibility column to flash table but it forgot to set NOT NULL constraint
await queryRunner.query(`ALTER TABLE "flash" ALTER COLUMN "visibility" SET NOT NULL`);
// 1736686850345-createNoteDraft.js created note_draft with hand-written SQL but several types and comments are not correctly defined
await queryRunner.query(`CREATE TYPE "public"."note_draft_visibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "id" SET DATA TYPE character varying(32)`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "replyId" SET DATA TYPE character varying(32)`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "renoteId" SET DATA TYPE character varying(32)`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "userId" SET DATA TYPE character varying(32)`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "channelId" SET DATA TYPE character varying(32)`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "fileIds" SET DATA TYPE character varying(32) array`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "visibleUserIds" SET DATA TYPE character varying(32) array`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "visibility" SET DATA TYPE "public"."note_draft_visibility_enum" USING visibility::note_draft_visibility_enum`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."replyId" IS 'The ID of reply target.'`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."renoteId" IS 'The ID of renote target.'`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."userId" IS 'The ID of author.'`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."channelId" IS 'The ID of source channel.'`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "fileIds" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "hasPoll" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "pollChoices" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "pollMultiple" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "localOnly" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "visibleUserIds" SET NOT NULL`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "visibleUserIds" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "localOnly" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "pollMultiple" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "pollChoices" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "hasPoll" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "fileIds" DROP NOT NULL`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."channelId" IS NULL`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."userId" IS 'The ID of author.'`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."renoteId" IS NULL`);
await queryRunner.query(`COMMENT ON COLUMN "note_draft"."replyId" IS NULL`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "visibility" SET DATA TYPE varchar`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "visibleUserIds" SET DATA TYPE varchar[]`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "fileIds" SET DATA TYPE varchar[]`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "channelId" SET DATA TYPE varchar`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "userId" SET DATA TYPE varchar`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "renoteId" SET DATA TYPE varchar`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "replyId" SET DATA TYPE varchar`);
await queryRunner.query(`ALTER TABLE "note_draft" ALTER COLUMN "id" SET DATA TYPE varchar`);
await queryRunner.query(`DROP TYPE "public"."note_draft_visibility_enum"`);
await queryRunner.query(`ALTER TABLE "flash" ALTER COLUMN "visibility" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "abuse_report_notification_recipient" ALTER COLUMN "updatedAt" SET DEFAULT CURRENT_TIMESTAMP`);
await queryRunner.query(`ALTER TYPE "public"."user_profile_followersvisibility_enum" RENAME TO "user_profile_followersVisibility_enum"`);
await queryRunner.query(`ALTER TABLE "system_webhook" ALTER COLUMN "updatedAt" SET DEFAULT CURRENT_TIMESTAMP`);
await queryRunner.query(`ALTER INDEX "IDX_a6f649630f55af3888e5a42919" RENAME TO "IDX_724b311e6f883751f261ebe378"`);
}
}

View File

@@ -0,0 +1,20 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class RemoteNotesCleaning1753863104203 {
name = 'RemoteNotesCleaning1753863104203'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "enableRemoteNotesCleaning" boolean NOT NULL DEFAULT false`);
await queryRunner.query('ALTER TABLE "meta" ADD "remoteNotesCleaningMaxProcessingDurationInMinutes" integer NOT NULL DEFAULT \'60\'');
await queryRunner.query('ALTER TABLE "meta" ADD "remoteNotesCleaningExpiryDaysForEachNotes" integer NOT NULL DEFAULT \'90\'');
}
async down(queryRunner) {
await queryRunner.query('ALTER TABLE "meta" DROP COLUMN "remoteNotesCleaningExpiryDaysForEachNotes"');
await queryRunner.query('ALTER TABLE "meta" DROP COLUMN "remoteNotesCleaningMaxProcessingDurationInMinutes"');
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableRemoteNotesCleaning"`);
}
}

View File

@@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class RemoveNoteConstraints1753868431598 {
name = 'RemoveNoteConstraints1753868431598'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_52ccc804d7c69037d558bac4c96"`);
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5"`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_52ccc804d7c69037d558bac4c96" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
}

View File

@@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class TweakDefaultFederationSettings1754019326356 {
name = 'TweakDefaultFederationSettings1754019326356'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "federation" SET DEFAULT 'none'`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "federation" SET DEFAULT 'all'`);
}
}

View File

@@ -0,0 +1,58 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class PageCountInNote1755168347001 {
name = 'PageCountInNote1755168347001'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "note" ADD "pageCount" smallint NOT NULL DEFAULT '0'`);
// Update existing notes
// block_list CTE collects all page blocks on the pages including child blocks in the section blocks.
// The clipped_notes CTE counts how many distinct pages each note block is referenced in.
// Finally, we update the note table with the count of pages for each referenced note.
await queryRunner.query(`
WITH RECURSIVE block_list AS (
(
SELECT
page.id as page_id,
block as block
FROM page
CROSS JOIN LATERAL jsonb_array_elements(page.content) block
WHERE block->>'type' = 'note' OR block->>'type' = 'section'
)
UNION ALL
(
SELECT
block_list.page_id,
child_block AS block
FROM LATERAL (
SELECT page_id, block
FROM block_list
WHERE block_list.block->>'type' = 'section'
) block_list
CROSS JOIN LATERAL jsonb_array_elements(block_list.block->'children') child_block
WHERE child_block->>'type' = 'note' OR child_block->>'type' = 'section'
)
),
clipped_notes AS (
SELECT
(block->>'note') AS note_id,
COUNT(distinct block_list.page_id) AS count
FROM block_list
WHERE block_list.block->>'type' = 'note'
GROUP BY block->>'note'
)
UPDATE note
SET "pageCount" = clipped_notes.count
FROM clipped_notes
WHERE note.id = clipped_notes.note_id;
`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "pageCount"`);
}
}

View File

@@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class EntrancePageStyle1755574887486 {
name = 'EntrancePageStyle1755574887486'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "clientOptions" jsonb NOT NULL DEFAULT '{}'`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "clientOptions"`);
}
}

View File

@@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class NonCascadingPageEyeCatching1756062689648 {
name = 'NonCascadingPageEyeCatching1756062689648'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_a9ca79ad939bf06066b81c9d3aa"`);
await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_a9ca79ad939bf06066b81c9d3aa" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_a9ca79ad939bf06066b81c9d3aa"`);
await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_a9ca79ad939bf06066b81c9d3aa" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
}

View File

@@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class SensitiveAd1757823175259 {
name = 'SensitiveAd1757823175259'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "ad" ADD "isSensitive" boolean NOT NULL DEFAULT false`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "ad" DROP COLUMN "isSensitive"`);
}
}

View File

@@ -0,0 +1,24 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class ScheduledPost1758677617888 {
name = 'ScheduledPost1758677617888'
/**
* @param {QueryRunner} queryRunner
*/
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "note_draft" ADD "scheduledAt" TIMESTAMP WITH TIME ZONE`);
await queryRunner.query(`ALTER TABLE "note_draft" ADD "isActuallyScheduled" boolean NOT NULL DEFAULT false`);
}
/**
* @param {QueryRunner} queryRunner
*/
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "note_draft" DROP COLUMN "isActuallyScheduled"`);
await queryRunner.query(`ALTER TABLE "note_draft" DROP COLUMN "scheduledAt"`);
}
}

View File

@@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class RoleBadgesRemoteUsers1760607435831 {
name = 'RoleBadgesRemoteUsers1760607435831'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "showRoleBadgesOfRemoteUsers" boolean NOT NULL DEFAULT false`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "showRoleBadgesOfRemoteUsers"`);
}
}

View File

@@ -0,0 +1,26 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class UnnecessaryNullDefault1760790899857 {
name = 'UnnecessaryNullDefault1760790899857'
/**
* @param {QueryRunner} queryRunner
*/
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "abuse_report_notification_recipient" ALTER COLUMN "userId" DROP DEFAULT`);
await queryRunner.query(`ALTER TABLE "abuse_report_notification_recipient" ALTER COLUMN "systemWebhookId" DROP DEFAULT`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "urlPreviewUserAgent" DROP DEFAULT`);
}
/**
* @param {QueryRunner} queryRunner
*/
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "urlPreviewUserAgent" SET DEFAULT NULL`);
await queryRunner.query(`ALTER TABLE "abuse_report_notification_recipient" ALTER COLUMN "systemWebhookId" SET DEFAULT NULL`);
await queryRunner.query(`ALTER TABLE "abuse_report_notification_recipient" ALTER COLUMN "userId" SET DEFAULT NULL`);
}
}

View File

@@ -4,13 +4,14 @@
"private": true,
"type": "module",
"engines": {
"node": "^20.10.0 || ^22.0.0"
"node": "^22.15.0"
},
"scripts": {
"start": "node ./built/boot/entry.js",
"start:test": "cross-env NODE_ENV=test node ./built/boot/entry.js",
"migrate": "pnpm typeorm migration:run -d ormconfig.js",
"revert": "pnpm typeorm migration:revert -d ormconfig.js",
"cli": "node ./built/boot/cli.js",
"check:connect": "node ./scripts/check_connect.js",
"build": "swc src -d built -D --strip-leading-paths",
"build:test": "swc test-server -d built-test -D --config-file test-server/.swcrc --strip-leading-paths",
@@ -33,21 +34,22 @@
"test:fed": "pnpm jest:fed",
"test-and-coverage": "pnpm jest-and-coverage",
"test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e",
"check-migrations": "node scripts/check_migrations_clean.js",
"generate-api-json": "node ./scripts/generate_api_json.js"
},
"optionalDependencies": {
"@swc/core-android-arm64": "1.3.11",
"@swc/core-darwin-arm64": "1.11.22",
"@swc/core-darwin-x64": "1.11.22",
"@swc/core-darwin-arm64": "1.13.20",
"@swc/core-darwin-x64": "1.13.20",
"@swc/core-freebsd-x64": "1.3.11",
"@swc/core-linux-arm-gnueabihf": "1.11.22",
"@swc/core-linux-arm64-gnu": "1.11.22",
"@swc/core-linux-arm64-musl": "1.11.22",
"@swc/core-linux-x64-gnu": "1.11.22",
"@swc/core-linux-x64-musl": "1.11.22",
"@swc/core-win32-arm64-msvc": "1.11.22",
"@swc/core-win32-ia32-msvc": "1.11.22",
"@swc/core-win32-x64-msvc": "1.11.22",
"@swc/core-linux-arm-gnueabihf": "1.13.20",
"@swc/core-linux-arm64-gnu": "1.13.20",
"@swc/core-linux-arm64-musl": "1.13.20",
"@swc/core-linux-x64-gnu": "1.13.20",
"@swc/core-linux-x64-musl": "1.13.20",
"@swc/core-win32-arm64-msvc": "1.13.20",
"@swc/core-win32-ia32-msvc": "1.13.20",
"@swc/core-win32-x64-msvc": "1.13.20",
"@tensorflow/tfjs": "4.22.0",
"@tensorflow/tfjs-node": "4.22.0",
"bufferutil": "4.0.9",
@@ -67,32 +69,32 @@
"utf-8-validate": "6.0.5"
},
"dependencies": {
"@aws-sdk/client-s3": "3.797.0",
"@aws-sdk/lib-storage": "3.797.0",
"@discordapp/twemoji": "15.1.0",
"@fastify/accepts": "5.0.2",
"@aws-sdk/client-s3": "3.908.0",
"@aws-sdk/lib-storage": "3.908.0",
"@discordapp/twemoji": "16.0.1",
"@fastify/accepts": "5.0.3",
"@fastify/cookie": "11.0.2",
"@fastify/cors": "10.1.0",
"@fastify/express": "4.0.2",
"@fastify/http-proxy": "10.0.2",
"@fastify/multipart": "9.0.3",
"@fastify/static": "8.1.1",
"@fastify/multipart": "9.2.1",
"@fastify/static": "8.2.0",
"@fastify/view": "10.0.2",
"@misskey-dev/sharp-read-bmp": "1.2.0",
"@misskey-dev/summaly": "5.2.1",
"@napi-rs/canvas": "0.1.69",
"@nestjs/common": "11.1.0",
"@nestjs/core": "11.1.0",
"@nestjs/testing": "11.1.0",
"@misskey-dev/summaly": "5.2.4",
"@napi-rs/canvas": "0.1.80",
"@nestjs/common": "11.1.6",
"@nestjs/core": "11.1.6",
"@nestjs/testing": "11.1.6",
"@peertube/http-signature": "1.7.0",
"@sentry/node": "8.55.0",
"@sentry/profiling-node": "8.55.0",
"@simplewebauthn/server": "12.0.0",
"@sinonjs/fake-timers": "11.3.1",
"@smithy/node-http-handler": "2.5.0",
"@swc/cli": "0.7.3",
"@swc/core": "1.11.22",
"@twemoji/parser": "15.1.1",
"@swc/cli": "0.7.8",
"@swc/core": "1.13.5",
"@twemoji/parser": "16.0.0",
"@types/redis-info": "3.0.3",
"accepts": "1.3.8",
"ajv": "8.17.1",
@@ -101,29 +103,29 @@
"bcryptjs": "2.4.3",
"blurhash": "2.0.5",
"body-parser": "1.20.3",
"bullmq": "5.51.1",
"bullmq": "5.61.0",
"cacheable-lookup": "7.0.0",
"cbor": "9.0.2",
"chalk": "5.4.1",
"chalk-template": "1.1.0",
"chokidar": "3.6.0",
"chalk": "5.6.2",
"chalk-template": "1.1.2",
"chokidar": "4.0.3",
"cli-highlight": "2.1.11",
"color-convert": "2.0.1",
"content-disposition": "0.5.4",
"date-fns": "2.30.0",
"deep-email-validator": "0.1.21",
"fastify": "5.3.2",
"fastify": "5.6.1",
"fastify-raw-body": "5.0.0",
"feed": "4.2.2",
"file-type": "19.6.0",
"fluent-ffmpeg": "2.1.3",
"form-data": "4.0.2",
"got": "14.4.7",
"happy-dom": "16.8.1",
"form-data": "4.0.4",
"got": "14.5.0",
"happy-dom": "20.0.7",
"hpagent": "1.2.0",
"htmlescape": "1.1.1",
"http-link-header": "1.1.3",
"ioredis": "5.6.1",
"ioredis": "5.8.1",
"ip-cidr": "4.0.2",
"ipaddr.js": "2.2.0",
"is-svg": "5.1.0",
@@ -132,26 +134,26 @@
"json5": "2.2.3",
"jsonld": "8.3.3",
"jsrsasign": "11.1.0",
"juice": "11.0.1",
"meilisearch": "0.50.0",
"mfm-js": "0.24.0",
"microformats-parser": "2.0.2",
"juice": "11.0.3",
"meilisearch": "0.53.0",
"mfm-js": "0.25.0",
"microformats-parser": "2.0.4",
"mime-types": "2.1.35",
"misskey-js": "workspace:*",
"misskey-reversi": "workspace:*",
"ms": "3.0.0-canary.1",
"nanoid": "5.1.5",
"ms": "3.0.0-canary.202508261828",
"nanoid": "5.1.6",
"nested-property": "4.0.0",
"node-fetch": "3.3.2",
"nodemailer": "6.10.1",
"nodemailer": "7.0.9",
"nsfwjs": "4.2.0",
"oauth": "0.10.2",
"oauth2orize": "1.12.0",
"oauth2orize-pkce": "0.1.2",
"os-utils": "0.0.14",
"otpauth": "9.4.0",
"otpauth": "9.4.1",
"parse5": "7.3.0",
"pg": "8.15.6",
"pg": "8.16.3",
"pkce-challenge": "4.1.0",
"probe-image-size": "7.2.3",
"promise-limit": "2.7.0",
@@ -159,45 +161,45 @@
"qrcode": "1.5.4",
"random-seed": "0.3.0",
"ratelimiter": "3.4.1",
"re2": "1.21.4",
"re2": "1.22.1",
"redis-info": "3.1.0",
"redis-lock": "0.1.4",
"reflect-metadata": "0.2.2",
"rename": "1.0.4",
"rss-parser": "3.13.0",
"rxjs": "7.8.2",
"sanitize-html": "2.16.0",
"sanitize-html": "2.17.0",
"secure-json-parse": "3.0.2",
"sharp": "0.33.5",
"semver": "7.7.1",
"semver": "7.7.3",
"slacc": "0.0.10",
"strict-event-emitter-types": "2.0.0",
"stringz": "2.1.0",
"systeminformation": "5.25.11",
"systeminformation": "5.27.11",
"tinycolor2": "1.6.0",
"tmp": "0.2.3",
"tsc-alias": "1.8.15",
"tmp": "0.2.5",
"tsc-alias": "1.8.16",
"tsconfig-paths": "4.2.0",
"typeorm": "0.3.22",
"typescript": "5.8.3",
"typeorm": "0.3.27",
"typescript": "5.9.3",
"ulid": "2.4.0",
"vary": "1.1.2",
"web-push": "3.6.7",
"ws": "8.18.1",
"ws": "8.18.3",
"xev": "3.0.2"
},
"devDependencies": {
"@jest/globals": "29.7.0",
"@nestjs/platform-express": "10.4.17",
"@sentry/vue": "9.14.0",
"@nestjs/platform-express": "10.4.20",
"@sentry/vue": "9.46.0",
"@simplewebauthn/types": "12.0.0",
"@swc/jest": "0.2.38",
"@swc/jest": "0.2.39",
"@types/accepts": "1.3.7",
"@types/archiver": "6.0.3",
"@types/bcryptjs": "2.4.6",
"@types/body-parser": "1.19.5",
"@types/body-parser": "1.19.6",
"@types/color-convert": "2.0.4",
"@types/content-disposition": "0.5.8",
"@types/content-disposition": "0.5.9",
"@types/fluent-ffmpeg": "2.1.27",
"@types/htmlescape": "1.1.3",
"@types/http-link-header": "1.0.7",
@@ -208,19 +210,19 @@
"@types/jsrsasign": "10.5.15",
"@types/mime-types": "2.1.4",
"@types/ms": "0.7.34",
"@types/node": "22.15.2",
"@types/nodemailer": "6.4.17",
"@types/node": "22.18.10",
"@types/nodemailer": "6.4.20",
"@types/oauth": "0.9.6",
"@types/oauth2orize": "1.11.5",
"@types/oauth2orize-pkce": "0.1.2",
"@types/pg": "8.11.14",
"@types/pg": "8.15.5",
"@types/pug": "2.0.10",
"@types/qrcode": "1.5.5",
"@types/random-seed": "0.3.5",
"@types/ratelimiter": "3.4.6",
"@types/rename": "1.0.7",
"@types/sanitize-html": "2.15.0",
"@types/semver": "7.7.0",
"@types/sanitize-html": "2.16.0",
"@types/semver": "7.7.1",
"@types/simple-oauth2": "5.0.7",
"@types/sinonjs__fake-timers": "8.1.5",
"@types/supertest": "6.0.3",
@@ -229,11 +231,11 @@
"@types/vary": "1.1.3",
"@types/web-push": "3.6.4",
"@types/ws": "8.18.1",
"@typescript-eslint/eslint-plugin": "8.31.0",
"@typescript-eslint/parser": "8.31.0",
"@typescript-eslint/eslint-plugin": "8.46.1",
"@typescript-eslint/parser": "8.46.1",
"aws-sdk-client-mock": "4.1.0",
"cross-env": "7.0.3",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-import": "2.32.0",
"execa": "8.0.1",
"fkill": "9.0.0",
"jest": "29.7.0",
@@ -241,6 +243,6 @@
"nodemon": "3.1.10",
"pid-port": "1.0.2",
"simple-oauth2": "5.1.0",
"supertest": "7.1.0"
"supertest": "7.1.4"
}
}

View File

@@ -0,0 +1,26 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
// This script checks if the database migrations has been generated correctly.
import dataSource from '../ormconfig.js';
await dataSource.initialize();
const sqlInMemory = await dataSource.driver.createSchemaBuilder().log();
if (sqlInMemory.upQueries.length > 0 || sqlInMemory.downQueries.length > 0) {
console.error('There are several pending migrations. Please make sure you have generated the migrations correctly, or configured entities class correctly.');
for (const query of sqlInMemory.upQueries) {
console.error(`- ${query.query}`);
}
for (const query of sqlInMemory.downQueries) {
console.error(`- ${query.query}`);
}
process.exit(1);
} else {
console.log('All migrations are clean.');
process.exit(0);
}

View File

@@ -42,7 +42,7 @@ async function killProc() {
'./node_modules/nodemon/bin/nodemon.js',
[
'-w', 'src',
'-e', 'ts,js,mjs,cjs,json',
'-e', 'ts,js,mjs,cjs,json,pug',
'--exec', 'pnpm', 'run', 'build',
],
{

View File

@@ -0,0 +1,49 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
import 'reflect-metadata';
import { EventEmitter } from 'node:events';
import { NestFactory } from '@nestjs/core';
import { CommandModule } from '@/cli/CommandModule.js';
import { NestLogger } from '@/NestLogger.js';
import { CommandService } from '@/cli/CommandService.js';
process.title = 'Misskey Cli';
Error.stackTraceLimit = Infinity;
EventEmitter.defaultMaxListeners = 128;
const app = await NestFactory.createApplicationContext(CommandModule, {
logger: new NestLogger(),
});
const commandService = app.get(CommandService);
const command = process.argv[2] ?? 'help';
switch (command) {
case 'help': {
console.log('Available commands:');
console.log(' help - Displays this help message');
console.log(' reset-captcha - Resets the captcha');
break;
}
case 'ping': {
await commandService.ping();
break;
}
case 'reset-captcha': {
await commandService.resetCaptcha();
console.log('Captcha has been reset.');
break;
}
default: {
console.error(`Unrecognized command: ${command}`);
console.error('Use "help" to see available commands.');
process.exit(1);
}
}
process.exit(0);

View File

@@ -0,0 +1,23 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { Module } from '@nestjs/common';
import { CoreModule } from '@/core/CoreModule.js';
import { GlobalModule } from '@/GlobalModule.js';
import { CommandService } from './CommandService.js';
@Module({
imports: [
GlobalModule,
CoreModule,
],
providers: [
CommandService,
],
exports: [
CommandService,
],
})
export class CommandModule {}

View File

@@ -0,0 +1,49 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { Inject, Injectable } from '@nestjs/common';
import type { Config } from '@/config.js';
import { DI } from '@/di-symbols.js';
import type Logger from '@/logger.js';
import { bindThis } from '@/decorators.js';
import { MetaService } from '@/core/MetaService.js';
@Injectable()
export class CommandService {
private logger: Logger;
constructor(
@Inject(DI.config)
private config: Config,
private metaService: MetaService,
) {
}
@bindThis
public async ping() {
console.log('pong');
}
@bindThis
public async resetCaptcha() {
await this.metaService.update({
enableHcaptcha: false,
hcaptchaSiteKey: null,
hcaptchaSecretKey: null,
enableMcaptcha: false,
mcaptchaSitekey: null,
mcaptchaSecretKey: null,
mcaptchaInstanceUrl: null,
enableRecaptcha: false,
recaptchaSiteKey: null,
recaptchaSecretKey: null,
enableTurnstile: false,
turnstileSiteKey: null,
turnstileSecretKey: null,
enableTestcaptcha: false,
});
}
}

View File

@@ -7,6 +7,7 @@ import * as fs from 'node:fs';
import { fileURLToPath } from 'node:url';
import { dirname, resolve } from 'node:path';
import * as yaml from 'js-yaml';
import { type FastifyServerOptions } from 'fastify';
import type * as Sentry from '@sentry/node';
import type * as SentryVue from '@sentry/vue';
import type { RedisOptions } from 'ioredis';
@@ -27,6 +28,7 @@ type Source = {
url?: string;
port?: number;
socket?: string;
trustProxy?: FastifyServerOptions['trustProxy'];
chmodSocket?: string;
disableHsts?: boolean;
db: {
@@ -80,6 +82,8 @@ type Source = {
allowedPrivateNetworks?: string[];
maxFileSize?: number;
clusterLimit?: number;
id: string;
@@ -116,6 +120,7 @@ export type Config = {
url: string;
port: number;
socket: string | undefined;
trustProxy: FastifyServerOptions['trustProxy'];
chmodSocket: string | undefined;
disableHsts: boolean | undefined;
db: {
@@ -150,6 +155,7 @@ export type Config = {
proxySmtp: string | undefined;
proxyBypassHosts: string[] | undefined;
allowedPrivateNetworks: string[] | undefined;
maxFileSize: number;
clusterLimit: number | undefined;
id: string;
outgoingAddress: string | undefined;
@@ -181,9 +187,9 @@ export type Config = {
authUrl: string;
driveUrl: string;
userAgent: string;
frontendEntry: string;
frontendEntry: { file: string | null };
frontendManifestExists: boolean;
frontendEmbedEntry: string;
frontendEmbedEntry: { file: string | null };
frontendEmbedManifestExists: boolean;
mediaProxy: string;
externalMediaProxyEnabled: boolean;
@@ -232,10 +238,10 @@ export function loadConfig(): Config {
const frontendEmbedManifestExists = fs.existsSync(_dirname + '/../../../built/_frontend_embed_vite_/manifest.json');
const frontendManifest = frontendManifestExists ?
JSON.parse(fs.readFileSync(`${_dirname}/../../../built/_frontend_vite_/manifest.json`, 'utf-8'))
: { 'src/_boot_.ts': { file: 'src/_boot_.ts' } };
: { 'src/_boot_.ts': { file: null } };
const frontendEmbedManifest = frontendEmbedManifestExists ?
JSON.parse(fs.readFileSync(`${_dirname}/../../../built/_frontend_embed_vite_/manifest.json`, 'utf-8'))
: { 'src/boot.ts': { file: 'src/boot.ts' } };
: { 'src/boot.ts': { file: null } };
const config = yaml.load(fs.readFileSync(path, 'utf-8')) as Source;
@@ -263,6 +269,7 @@ export function loadConfig(): Config {
url: url.origin,
port: config.port ?? parseInt(process.env.PORT ?? '', 10),
socket: config.socket,
trustProxy: config.trustProxy,
chmodSocket: config.chmodSocket,
disableHsts: config.disableHsts,
host,
@@ -290,6 +297,7 @@ export function loadConfig(): Config {
proxySmtp: config.proxySmtp,
proxyBypassHosts: config.proxyBypassHosts,
allowedPrivateNetworks: config.allowedPrivateNetworks,
maxFileSize: config.maxFileSize ?? 262144000,
clusterLimit: config.clusterLimit,
outgoingAddress: config.outgoingAddress,
outgoingAddressFamily: config.outgoingAddressFamily,

Some files were not shown because too many files have changed in this diff Show More