Compare commits

...

361 Commits

Author SHA1 Message Date
a0c6ae2cba 12.97.0 2021-11-19 20:39:43 +09:00
9a51ae5def New Crowdin updates (#7984)
* New translations ja-JP.yml (Czech)

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

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

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (Ukrainian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

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

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)
2021-11-19 20:38:12 +09:00
f7c21868fe Update .eslintrc.js 2021-11-19 19:44:27 +09:00
5d968afa74 update linr 2021-11-19 19:36:12 +09:00
b6e3f1c490 Update .eslintrc.js 2021-11-19 19:05:03 +09:00
cb4d65b5c9 feat(client): keep line breaks of translated text to improve readability 2021-11-19 19:03:25 +09:00
a902576334 fix(client): better error handling of file upload 2021-11-19 18:57:34 +09:00
1c6463e66f feat(client): collapse sub note automatically 2021-11-19 18:56:30 +09:00
1cf5198372 Update CONTRIBUTING.md 2021-11-19 14:57:07 +09:00
a9a5673069 implement dev command 2021-11-19 14:48:59 +09:00
9d67857a34 fix(client): fix plugin activate and uninstall (#7991)
* fix(client): fix plugin activate and uninstall

* Fix(client): fix package activates
2021-11-19 00:38:20 +09:00
25fde3b5eb lint: add missing semicolon 2021-11-18 23:52:51 +09:00
0e3ca41b3c improve ide support 2021-11-18 23:52:41 +09:00
318759cfa4 fix 2021-11-18 23:36:04 +09:00
73b5c12927 introduce lint for client
Resolve #7998
2021-11-18 23:32:43 +09:00
c850cef711 Update CHANGELOG.md 2021-11-18 22:12:17 +09:00
12fad68f58 limit depth of reply posts (#7979)
* limit depth of reply posts

* some tweaks

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2021-11-18 22:11:44 +09:00
037db7c5ef lint: warn non-null-assertion to reduce unexpected behaviour 2021-11-18 20:12:50 +09:00
ea9aeef9d8 refactor(client): refactor dialog functions to improve type inference 2021-11-18 18:45:58 +09:00
63415f1074 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-11-18 17:41:21 +09:00
dded3912f8 ci: cache node_modules 2021-11-18 17:41:19 +09:00
d35f0247a2 Update CHANGELOG.md 2021-11-18 17:40:20 +09:00
76a7b5f067 fix(client):fix search all users (#7993) 2021-11-18 17:38:58 +09:00
c864d700d2 feat(client): アカウント削除に確認ダイアログを出すように 2021-11-14 13:27:46 +09:00
50e1040f1e fix(client): fix tooltip style 2021-11-14 13:13:22 +09:00
8a40026c5c fix(client): improve error handling 2021-11-14 13:13:05 +09:00
974250da6c Fix v12.96.x Docker (#7982) 2021-11-14 10:43:19 +09:00
7042933b3b Update build.js 2021-11-14 00:07:07 +09:00
8b7f5be878 fix for lint 2021-11-13 19:10:14 +09:00
01afdc410e Update .eslintrc.js 2021-11-13 19:10:08 +09:00
7f5299cf46 12.96.1 2021-11-13 17:08:04 +09:00
ac7f04e669 add alias to improve compatibility 2021-11-13 17:02:22 +09:00
65740da979 npm scriptの互換性を修正 2021-11-13 13:01:22 +09:00
4ab773eb92 12.96.0 2021-11-13 12:23:19 +09:00
66b512af5d Update CHANGELOG.md 2021-11-13 11:51:11 +09:00
0f9a6417b0 fix(client): reaction viewer layout (#7942)
The profile picture and name should be grouped together as they belong, and
it should be clear which picture belongs to which name.
2021-11-13 11:38:26 +09:00
6a9e52d83c New Crowdin updates (#7977)
* 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 (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Indonesian)

* New translations ja-JP.yml (Indonesian)

* New translations ja-JP.yml (Indonesian)
2021-11-13 00:31:35 +09:00
1161d6cae2 Update CHANGELOG.md 2021-11-12 23:54:45 +09:00
187696c973 refactor(client): improve readability 2021-11-12 23:54:02 +09:00
4b7b51d5cc refactor(client): use composition api for tooltip logic 2021-11-12 23:53:10 +09:00
0e3213ff6d enhance: show renoters (#7954)
* refactor: deduplicate renote button into component

For now the renoters tooltip just uses the reaction viewer component
with a fixed emoji symbol instead.

* chore: remove unnecessary CSS

* fix: forgot to rename variable

* enhance: use own tooltip instead of reaction viewer

* clean up style

* fix additional renoters number

* rename file to better represent content
2021-11-12 23:15:14 +09:00
9b092e918a refactoring 2021-11-12 21:29:59 +09:00
cfa38e875c refactor 2021-11-12 21:11:21 +09:00
9ea7d75aa4 feat: 通報があったときに管理者へEメールで通知されるように
Resolve #7025
2021-11-12 21:11:15 +09:00
165d272552 Update CHANGELOG.md 2021-11-12 19:54:49 +09:00
9b876b30b2 update ms to 3.0.0 2021-11-12 19:47:04 +09:00
5e82064a7d clean up 2021-11-12 19:39:46 +09:00
90fade8e72 Update CHANGELOG.md 2021-11-12 19:33:49 +09:00
c038892795 fix: mention local users in replies (#7975)
* mention local users in replies

* fix merge
2021-11-12 19:31:56 +09:00
926eb34680 fix errors 2021-11-12 19:07:59 +09:00
e6e33faefb fix errors 2021-11-12 18:54:42 +09:00
0a2e046b28 refactoring: グローバルコンポーネントを認識するように 2021-11-12 18:41:56 +09:00
36a632dc02 clean up 2021-11-12 18:20:06 +09:00
c9ce150fe8 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-11-12 15:11:29 +09:00
6496835515 viaMobileフラグ廃止
Close #7965
2021-11-12 15:11:20 +09:00
b404ce463f refactor 2021-11-12 15:08:36 +09:00
b875b0faa2 Bump cypress from 8.5.0 to 9.0.0 (#7972)
Bumps [cypress](https://github.com/cypress-io/cypress) from 8.5.0 to 9.0.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v8.5.0...v9.0.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-12 14:45:01 +09:00
4786214e2a fix bug 2021-11-12 13:39:57 +09:00
0484976afa fix e2e test 2021-11-12 12:58:11 +09:00
19cc9f7fb0 test 2021-11-12 12:43:55 +09:00
7706c38d3d fix test 2021-11-12 12:07:37 +09:00
9acc36185b Update Dockerfile 2021-11-12 11:46:17 +09:00
be89516707 add clean script 2021-11-12 11:42:47 +09:00
e5acd1afb9 typo 2021-11-12 11:03:28 +09:00
f6e7f389d6 improve lint 2021-11-12 10:58:13 +09:00
b9eaf906e7 fix lint errors 2021-11-12 10:52:10 +09:00
84df0714d8 use eslint 2021-11-12 10:35:41 +09:00
c7650846a2 add install/build scripts 2021-11-12 10:24:19 +09:00
ea97d6a028 Update CONTRIBUTING.md 2021-11-12 02:03:28 +09:00
0e4a111f81 refactoring
Resolve #7779
2021-11-12 02:02:25 +09:00
037837b551 update deps 2021-11-11 19:41:33 +09:00
c5eb3021c0 🎨 2021-11-08 03:43:14 +09:00
3b8b03d8b4 feat(client): 通知のリアクションアイコンをホバーで拡大できるように 2021-11-08 03:38:48 +09:00
1afe46b19a 🎨 2021-11-07 23:17:51 +09:00
fe281f1786 fix 2021-11-07 21:10:41 +09:00
24ef4d3da2 feat: インスタンスプロフィールレンダリング
Resolve #7788
2021-11-07 21:01:06 +09:00
68192126e6 feat: improve email validation 2021-11-07 20:16:01 +09:00
a28c515ef6 feat: make possible to configure following/followers visibility (#7959)
* feat: make possible to configure following/followers visibility

* add test

* ap

* add ap test

* set Cache-Control

* hide following/followers count
2021-11-07 18:04:32 +09:00
07526ada45 perf: delete-account処理を軽くする (#7958)
* Revert "#7892"

This reverts commit 71d9c2a53d.

* アカウント削除処理でノート削除を重複して行なわないようにする

* ドライブファイル削除時に参照しているノートを削除しないようにする

* 不要となったコードを削除する
2021-11-06 18:57:49 +09:00
71d9c2a53d #7892 2021-11-05 17:59:46 +09:00
c0144db75c Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-11-05 16:19:01 +09:00
5e8c95bde8 🎨 2021-11-05 16:18:59 +09:00
8630542146 ドキュメントをmisskey-hubに移行 2021-11-05 16:18:52 +09:00
a674657bcb fix(client): Add missing localization string (#7944)
* 欠けるi18nストリングの追加

* Update ja-JP.yml

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2021-11-05 12:32:47 +09:00
c625a3fa5b Update abuses.vue 2021-11-05 12:32:35 +09:00
ae6f0d49c2 Update CHANGELOG.md 2021-11-05 12:22:52 +09:00
575a8bd9c8 コントロールパネルのジョブキューに個々のジョブが表示されないのを修正 (#7941) 2021-11-05 11:55:00 +09:00
3db7551ad3 fix html conversion issue with code blocks (#7943) 2021-11-05 11:54:26 +09:00
37b535df30 fix missing i18n string (#7945) 2021-11-05 10:49:50 +09:00
f30df92597 Update CHANGELOG.md 2021-11-05 10:49:30 +09:00
9b18104343 limit menu list size (#7950)
This can be an issue for example when adding an object to the room.
2021-11-05 10:48:37 +09:00
e2862ed097 enhane: 完全ログアウト時にすべてのタブがウェルカムページへ移動するように (#7928)
* enhane: unison-reloadに指定したパスに移動できるように

* null

* null

* null

* add comments
2021-11-05 00:09:13 +09:00
1c38c7010d refactor: Introduce list of MFM Functions (#7882)
* introduce list of MFM Functions

* add note
2021-11-01 23:47:13 +09:00
34ea3cf226 add some locales
Resolve #7940
2021-10-31 23:18:55 +09:00
944250f7fd 12.95.0 2021-10-31 20:21:42 +09:00
ab0253ab07 Update CHANGELOG.md 2021-10-31 20:21:04 +09:00
758e054c92 🎨 2021-10-31 20:19:49 +09:00
187b44c7f3 New Crowdin updates (#7913)
* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations stream.md (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations links.md (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations timeline.md (English)

* New translations pages.md (English)

* New translations timeline.md (English)

* New translations keyboard-shortcut.md (English)

* New translations theme.md (English)

* New translations theme.md (English)

* New translations ja-JP.yml (Arabic)

* New translations glossary.md (Arabic)

* New translations note.md (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations note.md (Arabic)

* New translations share-page.md (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Esperanto)

* New translations share-page.md (Esperanto)

* New translations share-page.md (Esperanto)

* New translations share-page.md (Esperanto)

* New translations share-page.md (Esperanto)

* New translations share-page.md (Esperanto)

* New translations share-page.md (Esperanto)

* New translations share-page.md (Esperanto)

* New translations custom-emoji.md (Portuguese)

* New translations theme.md (Portuguese)

* New translations widgets.md (Portuguese)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)
2021-10-31 20:17:39 +09:00
587ea5b424 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-10-31 19:37:21 +09:00
1a883f4f05 fix(client): コントロールパネルのカスタム絵文字タブが切り替わらないように見える問題を修正 2021-10-31 19:37:18 +09:00
540e6e4f99 fix(client): ページ編集時のドロップダウンメニューなどが動作しない問題を修正 2021-10-31 19:35:35 +09:00
baf3d8f3ee Update emojis.vue (#7915) 2021-10-31 19:22:19 +09:00
7a66c9b5f3 chore(client): Fix #7923
Close #7924
2021-10-31 19:19:28 +09:00
15cd563612 stop context menu handling for videos (#7927) 2021-10-31 19:12:19 +09:00
e2556189de fix: 削除したノートやユーザーがリモートから参照されると復活することがあるのを修正 (#7918)
* Fix #7557

* CHANGELOG

* Fix user

* CHANGELOG

* Tune CHANGELOG

* Tune CHANGELOG

* resolver

* Remove check

* Remove import

* CHANGELOG

* Tune

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2021-10-31 18:01:16 +09:00
9236a8fd6c ユーザー情報のhasUnreadChannelが常にfalseになってしまっているのを修正 (#7938) 2021-10-31 16:55:25 +09:00
303c5abfb4 feat: クライアントでログインするアカウントidを指定するクエリ(loginId=:userId) (#7929)
* feat: ログインするアカウントのIDをクエリ文字列で指定する機能

* await?

* rename
2021-10-31 16:01:50 +09:00
fc65190ef7 feat: thread mute (#7930)
* feat: thread mute

* chore: fix comment

* fix test

* fix

* refactor
2021-10-31 15:30:22 +09:00
f47a564819 fix: Fix #7895 (#7937)
* Fix #7895

* CHANGELOG
2021-10-31 15:18:46 +09:00
fa0814f939 fix e2e test 2021-10-28 22:00:38 +09:00
ddd931a0a3 fix e2e test 2021-10-28 17:12:57 +09:00
46010187c3 fix e2e test 2021-10-28 16:06:06 +09:00
877bd52ed7 Update test.yml 2021-10-28 01:34:31 +09:00
d964c5f27f remove circleci configuration 2021-10-28 01:24:55 +09:00
d35b02fa23 Improve CI 2021-10-28 01:16:13 +09:00
21ece52a9f fix test 2021-10-28 00:57:49 +09:00
c2ae160d23 refactor 2021-10-27 23:42:09 +09:00
9c74c5c5dc 要らなさそう 2021-10-26 01:11:07 +09:00
2e80cebc11 Remove CircleCI configuration 2021-10-26 01:10:27 +09:00
f418eaecf9 12.94.1 2021-10-25 03:57:00 +09:00
901436a095 fix(client): ユーザーページのナビゲーションが失敗する問題を修正 2021-10-25 03:56:20 +09:00
a905188e95 12.94.0 2021-10-25 02:34:46 +09:00
a21070c01b New Crowdin updates (#7912)
* New translations ja-JP.yml (Chinese Simplified)

* New translations stream.md (Chinese Simplified)

* New translations stream.md (Chinese Simplified)
2021-10-25 02:34:29 +09:00
5d0ee544f4 chore: clean up 2021-10-25 02:30:31 +09:00
e52a9e0a65 feat(client): Improve image viewer
Resolve #7545
Resolve #6811
Close #7808
2021-10-25 02:28:18 +09:00
67bf6ff3ce 🎨 2021-10-25 00:13:54 +09:00
000bee6327 update deps 2021-10-24 21:17:20 +09:00
19a232cad7 New Crowdin updates (#7904)
* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Indonesian)

* New translations ja-JP.yml (Esperanto)
2021-10-24 21:12:32 +09:00
a744f75eb9 Update CHANGELOG.md 2021-10-24 21:11:33 +09:00
5cf07fc50f enhance: Provide Twemoji SVGs from Misskey server (#2) (#7897)
* Selfhosting Twemoji

* ちっ

* うざっ

* あ

* add test

Co-authored-by: mei23 <m@m544.net>
2021-10-24 21:10:45 +09:00
1143606bc8 Update CHANGELOG.md 2021-10-24 21:09:24 +09:00
09f4885f89 feat(client): メンションにユーザーのアバターを表示するように
Resolve #350
2021-10-24 21:02:50 +09:00
dfd92efa89 🎨 2021-10-24 20:16:55 +09:00
c3fcfad910 🎨 2021-10-24 15:05:37 +09:00
652588abed refactor client 2021-10-24 14:50:00 +09:00
2b4d5b73b9 Update tooltip.vue 2021-10-24 14:39:24 +09:00
c08d959b59 🎨 2021-10-24 14:39:08 +09:00
7783c1e0e1 🎨 2021-10-24 13:54:31 +09:00
6afa67089a Update reactions-viewer.reaction.vue (#7909) 2021-10-24 13:28:23 +09:00
26928ab407 Remove apexcharts
Resolve #7907
2021-10-24 12:32:41 +09:00
4f04421cb3 refactor clinet 2021-10-24 04:03:07 +09:00
4d1c723496 refactor clinet 2021-10-23 23:22:20 +09:00
ae5d537197 🎨 2021-10-23 22:43:42 +09:00
2d21685d22 🎨 2021-10-23 22:41:34 +09:00
d4c0d85cbc 🎨 2021-10-23 22:09:48 +09:00
781b57585b 12.93.2 2021-10-23 11:36:39 +09:00
a0b036a119 🎨 2021-10-23 11:34:41 +09:00
c6afc61c94 fix(client): ウィジェットを追加できない問題を修正
Fix #7905
2021-10-23 11:17:41 +09:00
4168addbb2 12.93.1 2021-10-23 02:46:34 +09:00
600394458c 🎨 2021-10-23 02:45:25 +09:00
f33785a09c Fix #7902 (#7903)
* Fix #7902

* Update notification.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2021-10-23 02:44:52 +09:00
d70b8275b4 12.93.0 2021-10-23 01:08:34 +09:00
7253f83ca3 New Crowdin updates (#7872)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations glossary.md (French)

* New translations glossary.md (English)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (English)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations mfm.md (Esperanto)

* New translations mfm.md (Esperanto)

* New translations ja-JP.yml (French)

* New translations aiscript.md (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* New translations share-page.md (French)

* New translations share-page.md (Spanish)

* New translations share-page.md (Arabic)

* New translations share-page.md (Czech)

* New translations share-page.md (Danish)

* New translations share-page.md (German)

* New translations share-page.md (Italian)

* New translations share-page.md (Korean)

* New translations share-page.md (English)

* New translations share-page.md (Indonesian)

* New translations share-page.md (Thai)

* New translations share-page.md (Esperanto)

* New translations share-page.md (Uyghur)

* New translations share-page.md (Lojban)

* New translations share-page.md (Kannada)

* New translations share-page.md (Chinese Traditional)

* New translations share-page.md (Dutch)

* New translations share-page.md (Norwegian)

* New translations share-page.md (Polish)

* New translations share-page.md (Portuguese)

* New translations share-page.md (Russian)

* New translations share-page.md (Ukrainian)

* New translations share-page.md (Chinese Simplified)

* New translations share-page.md (Haitian Creole)

* New translations share-page.md (Kabyle)

* New translations share-page.md (Japanese, Kansai)

* New translations timeline.md (Arabic)

* New translations share-page.md (Chinese Simplified)

* New translations share-page.md (Chinese Simplified)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations faq.md (Esperanto)

* New translations troubleshooting.md (Esperanto)

* New translations mute-and-block.md (Esperanto)

* New translations mute-and-block.md (Esperanto)

* New translations mute-and-block.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations mute-and-block.md (Esperanto)
2021-10-23 01:08:17 +09:00
6171f27f8d 🎨 2021-10-23 01:04:29 +09:00
96b5684fa0 12.93.0-beta.1 2021-10-23 00:04:30 +09:00
4df409f77b improve dashboard 2021-10-23 00:04:19 +09:00
0f122884cc fix chart rendering 2021-10-22 23:46:47 +09:00
f29c9fe22c Update CHANGELOG.md 2021-10-22 21:51:48 +09:00
93230815f5 モデレーターをブロックできない仕様を廃止
Resolve #7898
2021-10-22 21:01:36 +09:00
632af91878 データベースにログを保存するのを廃止
Close #7878
2021-10-22 20:41:15 +09:00
81a0ee4b2d client: change url /instance -> /admin 2021-10-22 17:37:51 +09:00
967c655de0 tweak ui 2021-10-22 17:15:12 +09:00
4bb19b9596 fix typo 2021-10-22 15:34:02 +09:00
d43b17519e Update number-diff.vue 2021-10-22 15:33:56 +09:00
76a881df39 🎨 2021-10-22 14:03:08 +09:00
f84ad3e1ea 🎨 2021-10-22 06:28:01 +09:00
9d11c29c3b 🎨 2021-10-22 06:23:23 +09:00
90b62a3e95 Update CHANGELOG.md 2021-10-22 06:17:29 +09:00
4e4c559db6 Migrate to Chart.js v3 (#7896)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* 定期的にresync

* Update overview.vue

* wip

* wip
2021-10-22 05:36:48 +09:00
e7660bc8db リモートノートで意図せずローカルカスタム絵文字が使われてしまうことがあるのを修正 (#7889)
* 意図せずローカルカスタム絵文字が使われてしまうのを修正

* CHANGELOG

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2021-10-21 23:57:11 +09:00
cfcc626de2 ドキュメントをmisskey-hubに移管 2021-10-21 23:24:23 +09:00
b7a5602003 chore: delete unnecessary twemoji submodule dir 2021-10-21 20:39:18 +09:00
b3a4d1795b improve usability 2021-10-21 20:12:24 +09:00
23de94785d doc: recursive (#7893) 2021-10-21 19:56:30 +09:00
69b56f6658 refactor: publishHogeStreamとStreamのEventEmitterに型定義する (#7769)
* wip

* wip

* wip

* ✌️

* add main stream

* packedNotificationSchemaを更新

* read:gallery, write:gallery, read:gallery-likes, write:gallery-likesに翻訳を追加

* fix

* ok

* add header, choice, invitation

* add header, choice, invitation

* test

* fix

* fix

* yatta

* remove no longer needed "as PackedUser/PackedNote"

* clean up

* add simple-schema

* fix lint

* fix lint

* wip

* wip!

* wip

* fix

* wip

* wip

* ✌️

* 送信側に型エラーがないことを3回確認した

* ✌️

* wip

* update typescript

* define items in full Schema

* edit comment

* edit comment

* edit comment

* Update src/prelude/types.ts

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* https://github.com/misskey-dev/misskey/pull/7769#discussion_r703058458

* user packとnote packの型不整合を修正

* revert https://github.com/misskey-dev/misskey/pull/7772#discussion_r706627736

* revert https://github.com/misskey-dev/misskey/pull/7772#discussion_r706627736

* user packとnote packの型不整合を修正

* add prelude/types.ts

* emoji

* signin

* game

* matching

* clean up

* ev => data

* refactor

* clean up

* add type

* antenna

* channel

* fix

* add Packed type

* add PackedRef

* fix lint

* add emoji schema

* add reversiGame

* add reversiMatching

* remove signin schema (use Signin entity)

* add schemas refs, fix Packed type

* wip PackedHoge => Packed<'Hoge'>

* add Packed type

* note-reaction

* user

* user-group

* user-list

* note

* app, messaging-message

* notification

* drive-file

* drive-folder

* following

* muting

* blocking

* hashtag

* page

* app (with modifying schema)

* import user?

* channel

* antenna

* clip

* gallery-post

* emoji

* Packed

* reversi-matching

* update stream.ts

* https://github.com/misskey-dev/misskey/pull/7769#issuecomment-917542339

* fix lint

* clean up?

* add changelog

* add changelog

* add changelog

* fix: アンテナが既読にならないのを修正

* revert fix

* https://github.com/misskey-dev/misskey/pull/7769#discussion_r711474875

* spec => payload

* edit commetn

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2021-10-21 01:04:10 +09:00
5ca6e6b5df Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-10-21 00:28:30 +09:00
98c26dfff8 fix(activitypub): not reacted な Undo.Like がinboxに滞留するのを修正
https: //github.com/mei23/misskey/commit/1cfb5e09a44819b82333df26409ec9d9657bdcfc
Co-Authored-By: MeiMei <30769358+mei23@users.noreply.github.com>
2021-10-21 00:28:27 +09:00
a4e3136611 Update CHANGELOG.md 2021-10-20 03:12:20 +09:00
ea8e6d88ab enhance: shareページでより多くの情報を渡せるように (#7606)
* shareでより多くの情報を渡せるように

* from chat ui post-form, remove instant and add share

* fix await eating array, make document

* add changelog

* 3581bf9a06 (r692265037)

* reply, renoteにも型定義

* 🎨

* 閉じなければ100ms後タイムラインに
2021-10-20 03:10:36 +09:00
202cb38c40 lint 2021-10-20 01:15:14 +09:00
d3c7ddd2f4 typo 2021-10-20 01:12:19 +09:00
bc19cd77ad feat: ミュートとブロックのインポート
Resolve #7885
2021-10-20 01:11:13 +09:00
0005de6a98 refactor: use insert 2021-10-20 01:02:04 +09:00
386d3cd997 fix bug
#7874
2021-10-20 00:55:38 +09:00
2d196b6779 Update search-by-username-and-host.ts 2021-10-20 00:53:38 +09:00
0cc055de3a 🎨 2021-10-19 20:35:29 +09:00
a96e5277db fix(api): アプリケーション通知が取得できない問題を修正
Fix #6702
2021-10-19 20:25:47 +09:00
7413634734 リアクション一覧の公開をオプトインに 2021-10-18 01:16:59 +09:00
1bfb176667 🎨 2021-10-18 00:55:26 +09:00
4a90c7aef8 fix(client): テーマの管理が行えない問題を修正 2021-10-17 21:23:15 +09:00
b0992de59d 🎨 2021-10-17 21:04:34 +09:00
37e666817f 🎨 2021-10-17 18:47:33 +09:00
a607149b19 Update explore.vue 2021-10-17 18:39:58 +09:00
3a11dba24f #7880 2021-10-17 18:38:38 +09:00
c76a384b41 🎨 2021-10-17 18:15:50 +09:00
dec69cc67b enhance: ユーザー検索の精度を強化 2021-10-17 16:26:35 +09:00
0c21ae226b Update CONTRIBUTING.md 2021-10-17 05:21:36 +09:00
835aad44bb feat: ユーザーのリアクション一覧を見れるように 2021-10-17 01:33:15 +09:00
8b646822fc 12.92.0 2021-10-16 19:55:26 +09:00
6d3e2b9386 Update docker-develop.yml 2021-10-16 19:49:37 +09:00
73cdf5ca81 Update docker-develop.yml 2021-10-16 19:44:32 +09:00
133936652d 🎨 2021-10-16 19:38:51 +09:00
66470b4937 update deps 2021-10-16 19:38:47 +09:00
3f688a728b 🎨 2021-10-16 19:30:31 +09:00
0d306e9d41 New Crowdin updates (#7824)
* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Korean)

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

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

* New translations create-plugin.md (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations faq.md (Esperanto)

* New translations misskey.md (Esperanto)

* New translations stream.md (Esperanto)

* New translations favorite.md (Esperanto)

* New translations faq.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

* New translations api.md (English)

* New translations aiscript.md (English)

* New translations create-plugin.md (English)

* New translations stream.md (English)

* New translations create-plugin.md (English)

* New translations develop-bot.md (English)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations troubleshooting.md (Spanish)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations mfm.md (Esperanto)

* New translations mfm.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Russian)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Russian)

* New translations note.md (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

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

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Indonesian)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations glossary.md (French)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (French)

* New translations ja-JP.yml (French)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (English)

* New translations ja-JP.yml (Italian)

* New translations note.md (Esperanto)

* New translations glossary.md (French)

* New translations apps.md (French)

* New translations ja-JP.yml (French)

* New translations note.md (Esperanto)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations ja-JP.yml (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (English)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations glossary.md (French)

* New translations ja-JP.yml (French)

* New translations glossary.md (French)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Esperanto)

* New translations api.md (English)

* New translations create-plugin.md (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

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

* New translations stream.md (Chinese Simplified)

* New translations follow.md (Chinese Simplified)

* New translations mfm.md (Chinese Simplified)

* New translations mfm.md (Chinese Simplified)
2021-10-16 19:27:06 +09:00
1e8132e610 🎨 2021-10-16 19:25:40 +09:00
d672fccef4 refactor 2021-10-16 19:20:49 +09:00
c194eddb1b chore: fix spacer component 2021-10-16 19:18:46 +09:00
4ba4062519 🎨 2021-10-16 18:18:41 +09:00
23753ec75a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-10-16 17:42:21 +09:00
d184f73160 feat(api): add users/groups/leave
Resolve #7775
2021-10-16 17:42:17 +09:00
482081c41b Refactor request (#7814)
* status code

* Test ap-request.ts

4397fc5e70/test/ap-request.ts

* tune
2021-10-16 17:16:24 +09:00
03b04acb16 テスト用コンテナの調整 (#7838)
* Tune test container

* docs

* fix cp config

* doc

* a
2021-10-16 17:12:20 +09:00
345a9d3525 remove unnecessary imports (#7871) 2021-10-16 17:10:19 +09:00
aee816ced9 🎨 2021-10-16 15:00:55 +09:00
1e28081aa3 🎨 2021-10-16 13:02:21 +09:00
ff0521e3aa enhance(client): アニメーションを減らす設定の適用範囲を拡充 2021-10-16 13:02:14 +09:00
8cabc5953e Update CHANGELOG.md 2021-10-16 01:54:28 +09:00
4a766a19cf Update CHANGELOG.md 2021-10-16 01:35:16 +09:00
bd8052fedb refactor(client): ダミーコンポーネントを使ってノートプレビューするように 2021-10-16 01:34:23 +09:00
5fb4538315 refactor(client): コンポーネント名が紛らわしくなるのでpreview->simpleにリネーム 2021-10-16 01:28:34 +09:00
e78f16bcc4 feat: ノートプレビューを追加 (#7596)
* add note preview

* use if

* add draftedNote property

* custom emojis work

* Only show CW on preview when enabled

* move button to top

* fix css style
2021-10-16 01:19:49 +09:00
fe62f3508b 🎨 2021-10-16 01:15:22 +09:00
c11c22fc73 🎨 2021-10-15 23:35:28 +09:00
056ab675cf Revert "🎨"
This reverts commit b77167a4a1.
2021-10-15 23:33:27 +09:00
f00d543447 fix(client): Deck UIにおいて、重ねたカラムの片方を畳んだ状態で右に出すと表示が壊れる問題を修正
Fix #7867
2021-10-15 02:42:10 +09:00
72b616a990 🎨 2021-10-14 23:14:14 +09:00
8ee4b180f9 🎨 2021-10-14 22:40:43 +09:00
46e4b07a87 🎨 2021-10-14 21:21:10 +09:00
3ec6101b16 🎨 2021-10-14 20:55:59 +09:00
955b3e313b 🎨 2021-10-14 18:51:15 +09:00
3dc70f9878 🎨 2021-10-14 02:00:34 +09:00
8e2be5e9a7 chore: ba6959b8c1 のリモート対応 2021-10-14 01:55:39 +09:00
46f3736f44 🎨 2021-10-14 01:27:45 +09:00
dc12b189de Update CHANGELOG.md 2021-10-14 01:26:44 +09:00
3f95bd53cd feat(client): add some theme functions 2021-10-14 01:25:50 +09:00
23de45cea5 feat(client): add new theme 2021-10-14 01:25:19 +09:00
ba6959b8c1 fix(api): 管理者およびモデレーターをブロックできてしまう問題を修正 2021-10-14 01:24:54 +09:00
91c9a6390c 🎨 2021-10-12 21:46:18 +09:00
a99478e2ea fix title 2021-10-12 21:41:27 +09:00
12635da473 🎨 2021-10-12 02:15:31 +09:00
36170c816a tweak ui 2021-10-12 01:04:50 +09:00
50bad84747 chore: fix bug 2021-10-12 00:44:52 +09:00
abd3efa318 chore: fix error 2021-10-11 02:47:23 +09:00
816493e01f 🎨 2021-10-11 00:36:47 +09:00
a0c9fd75d7 fix ui 2021-10-10 19:54:15 +09:00
94bf7101f8 🎨 2021-10-10 17:48:07 +09:00
46424f63f2 fix(client): ピン留めユーザーの設定項目がない問題を修正 2021-10-10 17:47:57 +09:00
c33e93c662 improve ui 2021-10-10 15:19:16 +09:00
49b43eb3c8 🎨 2021-10-09 14:47:52 +09:00
6b22b7a31f 🎨 2021-10-09 14:43:40 +09:00
b77167a4a1 🎨 2021-10-09 14:29:57 +09:00
79a591d72d Update ja-JP.yml 2021-10-09 14:29:49 +09:00
8006e7a34d feat(client): 通知ページで通知の種類によるフィルタ 2021-10-09 13:12:41 +09:00
abc45ded9b refactor: use path alias 2021-10-09 12:47:40 +09:00
ec05c07321 feat: 未読の通知のみ表示する機能 2021-10-09 12:44:19 +09:00
27c056cbbf tweak ui 2021-10-09 12:33:08 +09:00
b3779875d0 🎨 2021-10-09 00:46:52 +09:00
748a451e23 🎨 2021-10-08 22:03:06 +09:00
8b1999dc5b fix(api): (0 , ms_1.default) is not a function 2021-10-08 21:24:53 +09:00
a38e4b0b14 server: コマンドラインオプション廃止
Resolve #7863
Resolve #6337
2021-10-08 21:24:05 +09:00
129f652dc2 use commander 4.1.1 2021-10-08 19:34:31 +09:00
5bf69476f6 enhance(api): ap系のエンドポイントをログイン必須化+レートリミット追加
他のサーバーにリクエストを送信するという性質上、攻撃の踏み台にされることがあるため
2021-10-08 14:05:07 +09:00
597c9761cb Revert "Revert "Fix idb"" (#7860)
This reverts commit 67875e2afa.
2021-10-08 13:37:55 +09:00
b875cc9949 feat: アカウント作成にメールアドレス必須にするオプション (#7856)
* feat: アカウント作成にメールアドレス必須にするオプション

* ui

* fix bug

* fix bug

* fix bug

* 🎨
2021-10-08 13:37:02 +09:00
e568c3888f update dependencies 2021-10-08 13:34:57 +09:00
67875e2afa Revert "Fix idb"
This reverts commit dd17065129.
2021-10-07 14:28:22 +09:00
dd17065129 Fix idb 2021-10-07 14:26:16 +09:00
8d05ef3058 fix(api): fix file type regex 2021-10-05 20:28:07 +09:00
66369b4b1d 🎨 2021-10-03 23:51:54 +09:00
9a33495694 🎨 2021-10-03 15:39:39 +09:00
f0b2eaf70d fix bug 2021-10-03 12:27:29 +09:00
ef67f3eee6 fix bug 2021-10-03 12:25:59 +09:00
9cab659392 🎨 2021-10-03 02:46:58 +09:00
dcd216daff 🎨 2021-10-03 00:33:29 +09:00
8f673d80d4 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-10-02 23:11:23 +09:00
3e81ebf8e9 🎨 2021-10-02 23:11:21 +09:00
19d531922d enhance: ページロードエラーページにリロードボタンを追加 (#7835)
* wip

* modify page load error page

* add changelog

* サーバーが死んでるエラーを追加

* add MkLoading
2021-10-02 16:36:25 +09:00
9109ae02a7 chore: fix bug 2021-10-02 01:08:04 +09:00
8d3fe0c5c2 🎨 2021-10-02 00:51:37 +09:00
f9185f201a fix bug 2021-10-01 19:34:24 +09:00
027380c013 fix bug 2021-10-01 19:32:16 +09:00
a73a787753 Fix prelude/url (#7855) 2021-10-01 02:25:57 +09:00
bd9df789d1 refactor: prelude/urlでquerystringを使用しないように
Resolve #7854
2021-10-01 00:31:43 +09:00
4fd4132f5e Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-09-30 23:09:21 +09:00
68aa1312f5 dev: developブランチをDocker Hubにpushするように
Resolve #7845
2021-09-30 23:09:12 +09:00
7974dbf477 insert space for unknown MFM functions (#7851) 2021-09-30 22:47:07 +09:00
834fb3bebd fix(client): ユーザーページのタブが機能していない問題を修正
Fix #7853
2021-09-30 22:45:20 +09:00
18fa317ee7 fix bug 2021-09-30 03:07:47 +09:00
414f1d1158 fix: truncate image descriptions (#7699)
* move truncate function to separate file to reuse it

* truncate image descriptions

* show image description limit in UI

* correctly treat null

Co-authored-by: nullobsi <me@nullob.si>

* make truncate Unicode-aware

The strings that truncate returns should now be valid Unicode.

PostgreSQL also counts Unicode Code Points instead of bytes so this
should be correct.

* move truncate to internal, validate in API

Truncating could also be done in src/services/drive/add-file.ts or
src/services/drive/upload-from-url.ts but those would also affect
local images. But local images should result in a hard error if the
image comment is too long.

* avoid overwriting

Co-authored-by: nullobsi <me@nullob.si>
2021-09-30 01:44:22 +09:00
c5e5a9b8ef 🎨 2021-09-30 01:13:54 +09:00
1ac1a968b9 refactor components 2021-09-30 00:50:45 +09:00
0d3a36e519 add todo 2021-09-28 01:50:02 +09:00
ebce02c253 chore: clean up 2021-09-26 03:25:52 +09:00
78b400e8b0 fix(client): MFM関数構文のサジェストで括弧を無視するように 2021-09-26 03:25:00 +09:00
8d93f148be 重いというか邪魔 2021-09-26 03:17:16 +09:00
4b8a2d2a6b fix(client): 絵文字一覧ページのタグ一覧をとりあえず無効に
重いため
2021-09-26 03:16:30 +09:00
5fd549656b chore: clean up 2021-09-26 02:56:02 +09:00
a70dbb7e74 feat(client): MFM関数構文のサジェストを実装 2021-09-26 02:55:11 +09:00
a75f3fb87c refactor: fix types 2021-09-26 02:10:07 +09:00
67e2768c3e Update CHANGELOG.md 2021-09-26 01:58:20 +09:00
ece3ac967d Tune mfmToHtml (#7841)
* Tune mfmToHtml

* typo

* add
2021-09-26 01:57:38 +09:00
da71d8f4af fix(client): fix tabs of page header behaviour 2021-09-26 01:53:56 +09:00
ac93af8eb5 Update extensions.json 2021-09-25 10:53:55 +09:00
76cdbe74ba Update CHANGELOG.md 2021-09-24 22:28:17 +09:00
ce4ea5071f enhance(client): アニメーションを減らす設定をメニューのアニメーションにも適用するように
Resolve #7826
2021-09-23 23:01:32 +09:00
8a558eed36 Update index.ts (#7830) 2021-09-23 22:41:02 +09:00
ce32cd576b fix inboxQueue import (#7829) 2021-09-23 22:32:16 +09:00
78ac41a613 12.91.0 2021-09-22 22:53:20 +09:00
be23ccf23b New Crowdin updates (#7823)
* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Esperanto)

* New translations create-plugin.md (Esperanto)
2021-09-22 22:53:01 +09:00
1ba5e433e5 New Crowdin updates (#7822)
* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)
2021-09-22 22:46:45 +09:00
5bf4f569e4 enhance(client): アップデートが利用可能な場合エラー表示およびダイアログ表示しないように 2021-09-22 22:45:10 +09:00
5a11844eff Update CHANGELOG.md 2021-09-22 22:36:20 +09:00
14795b68f2 refactor: PackedHoge型をPacked<'Hoge'>型に書き換える (#7792)
* packedNotificationSchemaを更新

* read:gallery, write:gallery, read:gallery-likes, write:gallery-likesに翻訳を追加

* fix

* add header, choice, invitation

* test

* fix

* yatta

* remove no longer needed "as PackedUser/PackedNote"

* clean up

* add simple-schema

* fix lint

* define items in full Schema

* revert https://github.com/misskey-dev/misskey/pull/7772#discussion_r706627736

* user packとnote packの型不整合を修正

* add prelude/types.ts

* emoji

* signin

* game

* matching

* fix

* add emoji schema

* add reversiGame

* add reversiMatching

* remove signin schema (use Signin entity)

* add Packed type

* note-reaction

* user

* user-group

* user-list

* note

* app, messaging-message

* notification

* drive-file

* drive-folder

* following

* muting

* blocking

* hashtag

* page

* app (with modifying schema)

* import user?

* channel

* antenna

* clip

* gallery-post

* emoji

* Packed

* reversi-matching

* add changelog

* add changelog

* revert fix
2021-09-22 22:35:55 +09:00
bea42f5804 New Crowdin updates (#7764)
* New translations ja-JP.yml (Korean)

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

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

* New translations apps.md (Chinese Simplified)

* New translations links.md (Chinese Simplified)

* New translations changelog.md (Chinese Simplified)

* New translations ja-JP.yml (Esperanto)

* New translations report-issue.md (Chinese Simplified)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations mfm.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Esperanto)

* New translations timeline.md (Chinese Simplified)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations mfm.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations mfm.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations aiscript.md (English)

* New translations ja-JP.yml (Esperanto)

* New translations aiscript.md (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations links.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

* New translations faq.md (Korean)

* New translations faq.md (Korean)

* New translations misskey.md (Korean)

* New translations faq.md (Korean)

* New translations disable-timelines.md (Korean)

* New translations disable-timelines.md (Korean)

* New translations disable-timelines.md (Korean)

* New translations aiscript.md (Korean)

* New translations misskey.md (Korean)

* New translations aiscript.md (Korean)

* New translations changelog.md (Korean)

* New translations misskey.md (Korean)

* New translations misskey.md (Korean)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations misskey.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations faq.md (Korean)

* New translations misskey.md (Korean)

* New translations apps.md (Korean)

* New translations faq.md (Korean)

* New translations misskey.md (Korean)

* New translations faq.md (Korean)

* New translations glossary.md (Korean)

* New translations faq.md (Korean)

* New translations glossary.md (Korean)

* New translations glossary.md (Korean)

* New translations glossary.md (Korean)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations create-plugin.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations keyboard-shortcut.md (Esperanto)

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

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

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

* New translations create-plugin.md (Chinese Simplified)

* New translations develop-bot.md (Chinese Simplified)

* New translations reversi-bot.md (Chinese Simplified)

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

* New translations reversi-bot.md (Chinese Simplified)

* New translations stream.md (Chinese Simplified)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations reversi-bot.md (Chinese Simplified)

* New translations develop-bot.md (Chinese Simplified)

* New translations reversi-bot.md (Chinese Simplified)

* New translations reversi-bot.md (Chinese Simplified)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations troubleshooting.md (Esperanto)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations timeline.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations timeline.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations note.md (Esperanto)

* New translations glossary.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations reversi-bot.md (Chinese Simplified)

* New translations reversi-bot.md (Chinese Simplified)

* New translations reversi-bot.md (Chinese Simplified)

* New translations stream.md (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations glossary.md (Korean)

* New translations glossary.md (Korean)

* New translations glossary.md (Korean)

* New translations glossary.md (Korean)

* New translations links.md (Korean)

* New translations links.md (Korean)

* New translations ja-JP.yml (Korean)
2021-09-22 22:31:22 +09:00
fbbce302bc enhance(client): 非ログイン自は更新ダイアログを出さないように
Resolve #7756
2021-09-22 22:18:08 +09:00
4b9c605477 #7813の修正 2021-09-22 22:12:10 +09:00
a499ad6879 feat: MFM Sparkle animation (#7813)
* Add sparkle mfm animation 

* Cleanup sparkle effect

+ spaces -> tabs and other codestyle
+ use proper image
+ listen for resizes
+ use font-size to determine particle size (for fun with x2/3/4 stacking)
2021-09-22 22:09:23 +09:00
76c5dc8999 fix(client): fix #7774 2021-09-22 21:58:08 +09:00
b985e14b13 update deps 2021-09-22 21:51:24 +09:00
61de9cdbd4 🎨 2021-09-22 21:42:07 +09:00
9208825975 feat(server): 管理者用アカウント削除API実装
動作確認済み
Resolve #7735
2021-09-22 17:34:48 +09:00
72a49f334a enhance(client): リスト、アンテナタイムラインを個別ページとして分割 2021-09-21 21:04:59 +09:00
b35ca3b739 🎨 2021-09-21 04:13:54 +09:00
85950f17fa 🎨 2021-09-21 04:09:28 +09:00
78f95b5910 🎨 2021-09-21 02:01:25 +09:00
909a09a0c0 Update CONTRIBUTING.md 2021-09-20 23:26:43 +09:00
bb9fc56cc1 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-09-20 23:24:10 +09:00
9f3b4ccd14 update contribution guide 2021-09-20 23:24:07 +09:00
90bf976fe2 enhance: ノートヘッダーにflex-shrinkを設定し、Acctを優先的に縮小して見栄えをよくするように (#7752)
* MAKE NOTE HEADER FLEX AGAIN

* span => div

* remove submodules
2021-09-20 22:14:49 +09:00
388de9dc96 chore, perf: Reduce redis memory (#7816)
* Reduce redis memory

* CHANGELOG

* a
2021-09-20 21:55:19 +09:00
8a0a46b1c9 test: improve e2e test 2021-09-19 14:27:16 +09:00
186163ec3f refactor 2021-09-19 02:58:25 +09:00
91171c559a Update .gitignore 2021-09-19 02:58:17 +09:00
36b483d04d Update .gitignore 2021-09-19 02:43:39 +09:00
54e0a7f8a8 feat: 凍結された場合のダイアログを実装 (#7811)
* feat: 凍結された場合のダイアログを実装

* Update CHANGELOG.md

* Update basic.js

* improve error handling

* cypressなんもわからん

* Update basic.js
2021-09-19 02:23:12 +09:00
6d4e96dea2 fix style 2021-09-18 21:26:31 +09:00
a6958da091 enhance(server): アカウントが凍結されたときのエラーを判定しやすく 2021-09-18 17:58:37 +09:00
502bde5567 Update CHANGELOG.md 2021-09-18 15:45:45 +09:00
d5702f9d51 add resolver check for blocked instance (#7777)
* add resolver check for blocked instance

* lint

* Update note.ts
2021-09-18 15:45:02 +09:00
5141afe476 fix(client): タイムラインでリストとかなかったの修正 2021-09-18 15:39:01 +09:00
4422219be7 fix: アンテナが既読にならないのを修正 (#7809) 2021-09-18 15:31:32 +09:00
4b2afec108 Update CHANGELOG.md 2021-09-18 13:31:09 +09:00
07bb8067ae fix: アンテナの既読 (#7803)
from: a89742319c
2021-09-18 13:30:28 +09:00
4f63eb0c7e add sponsors section 2021-09-18 03:26:52 +09:00
4ea7b2dd63 fix(server): fix #7786 2021-09-18 03:26:36 +09:00
e8189f7c69 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2021-09-17 22:58:29 +09:00
23c054caec fix: add vanilla-tilt 2021-09-17 22:58:26 +09:00
a084c8b344 Update CHANGELOG.md 2021-09-17 22:39:55 +09:00
361069314f Refine UI (#7806)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update default.vue

* wip
2021-09-17 22:39:15 +09:00
d252514a39 popupで設定ページを表示すると、アカウントの削除ページにアクセスすることができない問題を修正 (#7797) 2021-09-17 20:00:31 +09:00
31d1edc0fb update deps 2021-09-16 22:04:47 +09:00
987474726c chore: .configをdockerイメージに入れないように (#7625)
* .configをdockerイメージに入れないように

* Update docker-compose.yml

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

Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2021-09-13 20:07:39 +09:00
4beea63d3f GitHub Actionsを使用してDocker Hubへpushする方法 の説明 (#7790)
* Create push-docker-hub.ja.md

* remove space
2021-09-12 22:43:54 +09:00
53f3b779bf refactor: Expand schema (#7772)
* packedNotificationSchemaを更新

* read:gallery, write:gallery, read:gallery-likes, write:gallery-likesに翻訳を追加

* fix

* add header, choice, invitation

* test

* fix

* yatta

* remove no longer needed "as PackedUser/PackedNote"

* clean up

* add simple-schema

* fix lint

* define items in full Schema

* revert https://github.com/misskey-dev/misskey/pull/7772#discussion_r706627736

* user packとnote packの型不整合を修正
2021-09-12 01:12:23 +09:00
f59f424795 Revert "fix: use master branch when build docker image"
This reverts commit c63ba5470a.
2021-09-11 11:37:35 +09:00
c63ba5470a fix: use master branch when build docker image 2021-09-11 11:32:47 +09:00
935d6473ed chore: APIドキュメントの修正 (#7771)
* packedNotificationSchemaを更新

* read:gallery, write:gallery, read:gallery-likes, write:gallery-likesに翻訳を追加

* fix

* add header, choice, invitation
2021-09-09 20:23:31 +09:00
0faa4470fb GitHub ActionsでDocker Hubへのpushを行うように (#7782)
* Create docker.yml

* Update .github/workflows/docker.yml

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

* add workflow_dispatch

* Multi-platform image

* Revert "Multi-platform image"

This reverts commit e5bac6632909a5020b0708227ebe248b443c2c2b.

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2021-09-09 19:28:02 +09:00
0281bdd90c Update CHANGELOG.md 2021-09-05 23:36:20 +09:00
608ff73907 feat: リモートからユーザー削除が飛んできたら削除するように (#7768)
* Delete Actor

* Update src/remote/activitypub/kernel/delete/actor.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2021-09-05 23:35:48 +09:00
3172 changed files with 39072 additions and 82812 deletions

View File

@ -1,49 +0,0 @@
version: 2.1
executors:
docker:
working_directory: /tmp/workspace
docker:
- image: docker:latest
jobs:
docker:
parameters:
with_deploy:
type: boolean
default: false
executor: docker
steps:
- checkout
- setup_remote_docker:
version: 19.03.13
- run:
name: Build
command: |
docker build -t misskey/misskey .
- when:
condition: <<parameters.with_deploy>>
steps:
- run:
name: Deploy
command: |
if [ "$DOCKERHUB_USERNAME$DOCKERHUB_PASSWORD" ]
then
apk update && apk add jq
docker tag misskey/misskey misskey/misskey:$(cat package.json | jq -r .version)
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
docker push -a misskey/misskey
else
echo -e '\033[0;33mAborted deploying to Docker Hub\033[0;39m'
fi
workflows:
version: 2
docker:
jobs:
- docker:
name: auto-build
with_deploy: true
filters:
branches:
only: master

View File

@ -1,12 +0,0 @@
url: 'http://misskey.local'
port: 8080
db:
host: localhost
port: 5432
db: test-misskey
user: postgres
pass: ''
redis:
host: localhost
port: 6379
id: aid

View File

@ -1,12 +0,0 @@
url: 'http://misskey.local'
port: 8080
db:
host: localhost
port: 5432
db: test-misskey
user: postgres
pass: ''
redis:
host: localhost
port: 6379
id: aid

View File

@ -2,6 +2,7 @@
.github
.travis
.vscode
.config
Dockerfile
build/
built/

View File

@ -1,13 +0,0 @@
{
"parserOptions": {
"parser": "@typescript-eslint/parser"
},
"extends": [
"eslint:recommended"
],
"rules": {
"no-console": 0,
"no-unused-vars": 0,
"no-empty": 0
}
}

38
.github/CODEOWNERS vendored
View File

@ -1,38 +0,0 @@
# PATH OWNERS
/.autogen/ @acid-chicken
/.circleci/ @syuilo @acid-chicken
/.config/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
# /.config/mongo_initdb_example.js @khws4v1
/.github/ @syuilo @AyaMorisawa @acid-chicken
/.vscode/ @acid-chicken
/assets/ @syuilo # @tamaina
/docs/ @syuilo
/docs/*.en.md @AyaMorisawa # @skid9000
# /docs/*.fr.md @BoFFire
# /docs/docker.*.md @khws4v1
/locales/ @syuilo
/src/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
# /src/crypto_key.cc @akihikodaki
# /src/crypto_key.d.ts @akihikodaki
/.dockerignore @syuilo # @khws4v1
/.editorconfig @syuilo @AyaMorisawa
/.eslintrc @syuilo
/.gitattributes @syuilo
/.gitignore @syuilo
/.npmrc @syuilo
/.vsls.json @AyaMorisawa
/CHANGELOG.md @syuilo
/CODE_OF_CONDUCT.md @syuilo
/CONTRIBUTING.md @syuilo
/Dockerfile @syuilo @AyaMorisawa @acid-chicken # @khws4v1
/LICENSE @syuilo
/README.md @syuilo @AyaMorisawa @acid-chicken # @nikhiljha
# /binding.gyp @akihikodaki
/crowdin.yml @syuilo
# /docker-compose.yml @khws4v1
/gulpfile.ts @syuilo @AyaMorisawa
/jsconfig.json @syuilo @AyaMorisawa
/package.json @syuilo @AyaMorisawa
/tsconfig.json @syuilo @AyaMorisawa
/tslint.json @syuilo @AyaMorisawa
/webpack.config.ts @syuilo @AyaMorisawa

15
.github/misskey/test.yml vendored Normal file
View File

@ -0,0 +1,15 @@
url: 'http://misskey.local'
# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
port: 61812
db:
host: localhost
port: 54312
db: test-misskey
user: postgres
pass: ''
redis:
host: localhost
port: 56312
id: aid

33
.github/workflows/docker-develop.yml vendored Normal file
View File

@ -0,0 +1,33 @@
name: Publish Docker image (develop)
on:
push:
branches:
- develop
workflow_dispatch:
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: misskey/misskey
- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: misskey/misskey:develop
labels: develop

32
.github/workflows/docker.yml vendored Normal file
View File

@ -0,0 +1,32 @@
name: Publish Docker image
on:
release:
types: [published]
workflow_dispatch:
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: misskey/misskey
- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

25
.github/workflows/lint.yml vendored Normal file
View File

@ -0,0 +1,25 @@
name: Lint
on:
push:
branches:
- master
- develop
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/setup-node@v1
with:
node-version: 12.x
- uses: actions/cache@v2
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- run: yarn install
- run: yarn lint

View File

@ -1,59 +0,0 @@
name: Node.js CI
on:
push:
branches:
- master
- develop
pull_request:
jobs:
build_and_test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 16.x]
services:
postgres:
image: postgres:10-alpine
ports:
- 5432:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:alpine
ports:
- 6379:6379
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: yarn install
- name: Check yarn.lock
run: git diff --exit-code yarn.lock
- name: Copy Configure
run: cp .circleci/misskey/*.yml .config
- name: Build
run: yarn build
- name: Test
run: yarn test
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/setup-node@v1
with:
node-version: 12.x
- run: yarn install
- run: yarn lint

91
.github/workflows/test.yml vendored Normal file
View File

@ -0,0 +1,91 @@
name: Test
on:
push:
branches:
- master
- develop
pull_request:
jobs:
mocha:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
services:
postgres:
image: postgres:12.2-alpine
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:4.0-alpine
ports:
- 56312:6379
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: yarn install
- name: Check yarn.lock
run: git diff --exit-code yarn.lock
- name: Copy Configure
run: cp .github/misskey/test.yml .config
- name: Build
run: yarn build
- name: Test
run: yarn mocha
e2e:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
services:
postgres:
image: postgres:12.2-alpine
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:4.0-alpine
ports:
- 56312:6379
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- uses: actions/cache@v2
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install
- name: Check yarn.lock
run: git diff --exit-code yarn.lock
- name: Copy Configure
run: cp .github/misskey/test.yml .config
- name: Build
run: yarn build
- name: Test
run: yarn e2e

8
.gitignore vendored
View File

@ -6,9 +6,13 @@
/.idea
# Node.js
/node_modules
node_modules
report.*.json
# Cypress
cypress/screenshots
cypress/videos
# config
/.config/*
!/.config/example.yml
@ -16,7 +20,7 @@ report.*.json
# misskey
/build
/built
built
/data
/.cache-loader
/db

View File

@ -1,5 +0,0 @@
{
"ignoredFiles": [
"test/resources/*"
]
}

View File

@ -1,12 +1,10 @@
{
"recommendations": [
"ducksoupdev.vue2",
"editorconfig.editorconfig",
"eg2.vscode-npm-script",
"hollowtree.vue-snippets",
"ms-vscode.typescript-javascript-grammar",
"ms-vscode.vscode-typescript-tslint-plugin",
"octref.vetur",
"dbaeumer.vscode-eslint",
"johnsoncodehk.volar",
"sysoev.language-stylus"
]
}

View File

@ -7,6 +7,171 @@
-->
## 12.97.0 (2021/11/19)
### Improvements
- クライアント: 返信先やRenoteに対しても自動折りたたみされるように
- クライアント: 長いスレッドの表示を改善
- クライアント: 翻訳にもMFMを適用し、元の文章の改行などを保持するように
- クライアント: アカウント削除に確認ダイアログを出すように
### Bugfixes
- クライアント: ユーザー検索の「全て」が動作しない問題を修正
- クライアント: リアクション一覧、Renote一覧ツールチップのスタイルを修正
## 12.96.1 (2021/11/13)
### Improvements
- npm scriptの互換性を向上
## 12.96.0 (2021/11/13)
### Improvements
- フォロー/フォロワーを非公開にできるように
- インスタンスプロフィールレンダリング ready
- 通知のリアクションアイコンをホバーで拡大できるように
- RenoteボタンをホバーでRenoteしたユーザー一覧を表示するように
- 返信の際にメンションを含めるように
- 通報があったときに管理者へEメールで通知されるように
- メールアドレスのバリデーションを強化
### Bugfixes
- アカウント削除処理があると高負荷になる問題を修正
- クライアント: 長いメニューが画面からはみ出す問題を修正
- クライアント: コントロールパネルのジョブキューに個々のジョブが表示されないのを修正
- クライアント: fix missing i18n string
- fix html conversion issue with code blocks
### Changes
- ノートにモバイルからの投稿か否かの情報を含めないように
## 12.95.0 (2021/10/31)
### Improvements
- スレッドミュート機能
### Bugfixes
- リレー向けのActivityが一部実装で除外されてしまうことがあるのを修正
- 削除したノートやユーザーがリモートから参照されると復活することがあるのを修正
- クライアント: ページ編集時のドロップダウンメニューなどが動作しない問題を修正
- クライアント: コントロールパネルのカスタム絵文字タブが切り替わらないように見える問題を修正
- API: ユーザー情報の hasUnreadChannel が常に false になっている問題を修正
## 12.94.1 (2021/10/25)
### Improvements
### Bugfixes
- クライアント: ユーザーページのナビゲーションが失敗する問題を修正
## 12.94.0 (2021/10/25)
### Improvements
- クライアント: 画像ビューアを強化
- クライアント: メンションにユーザーのアバターを表示するように
- クライアント: デザインの調整
- クライアント: twemojiをセルフホスティングするように
### Bugfixes
- クライアント: CWで画像が隠されたとき、画像の高さがおかしいことになる問題を修正
### NOTE
- このバージョンから、iOS 15未満のサポートがされなくなります。対象のバージョンをお使いの方は、iOSのバージョンアップを行ってください。
## 12.93.2 (2021/10/23)
### Bugfixes
- クライアント: ウィジェットを追加できない問題を修正
## 12.93.1 (2021/10/23)
### Bugfixes
- クライアント: 通知上でローカルのリアクションが表示されないのを修正
## 12.93.0 (2021/10/23)
### Improvements
- クライアント: コントロールパネルのパフォーマンスを改善
- クライアント: 自分のリアクション一覧を見れるように
- 設定により、リアクション一覧を全員に公開することも可能
- クライアント: ユーザー検索の精度を強化
- クライアント: 新しいライトテーマを追加
- クライアント: 新しいダークテーマを追加
- API: ユーザーのリアクション一覧を取得する users/reactions を追加
- API: users/search および users/search-by-username-and-host を強化
- ミュート及びブロックのインポートを行えるように
- クライアント: /share のクエリでリプライやファイル等の情報を渡せるように
- チャートのsyncを毎日0時に自動で行うように
### Bugfixes
- クライアント: テーマの管理が行えない問題を修正
- API: アプリケーション通知が取得できない問題を修正
- クライアント: リモートノートで意図せずローカルカスタム絵文字が使われてしまうことがあるのを修正
- ActivityPub: not reacted な Undo.Like がinboxに滞留するのを修正
### Changes
- 連合の考慮に問題があることなどが分かったため、モデレーターをブロックできない仕様を廃止しました
- データベースにログを保存しないようになりました
- ログを永続化したい場合はsyslogを利用してください
## 12.92.0 (2021/10/16)
### Improvements
- アカウント登録にメールアドレスの設定を必須にするオプション
- クライアント: 全体的なUIのブラッシュアップ
- クライアント: MFM関数構文のサジェストを実装
- クライアント: ノート本文を投稿フォーム内でプレビューできるように
- クライアント: 未読の通知のみ表示する機能
- クライアント: 通知ページで通知の種類によるフィルタ
- クライアント: アニメーションを減らす設定の適用範囲を拡充
- クライアント: 新しいダークテーマを追加
- クライアント: テーマコンパイラに hue と saturate 関数を追加
- ActivityPub: HTML -> MFMの変換を強化
- API: グループから抜ける users/groups/leave エンドポイントを実装
- API: i/notifications に unreadOnly オプションを追加
- API: ap系のエンドポイントをログイン必須化+レートリミット追加
- MFM: Add tag syntaxes of bold <b></b> and strikethrough <s></s>
### Bugfixes
- Fix createDeleteAccountJob
- admin inbox queue does not show individual jobs
- クライアント: ヘッダーのタブが折り返される問題を修正
- クライアント: ヘッダーにタブが表示されている状態でタイトルをクリックしたときにタブ選択が表示されるのを修正
- クライアント: ユーザーページのタブが機能していない問題を修正
- クライアント: ピン留めユーザーの設定項目がない問題を修正
- クライアント: Deck UIにおいて、重ねたカラムの片方を畳んだ状態で右に出すと表示が壊れる問題を修正
- API: 管理者およびモデレーターをブロックできてしまう問題を修正
- MFM: Mentions in the link label are parsed as text
- MFM: Add a property to the URL node indicating whether it was enclosed in <>
- MFM: Disallows < and > in hashtags
### Changes
- 保守性やユーザビリティの観点から、Misskeyのコマンドラインオプションが削除されました。
- 必要であれば、代わりに環境変数で設定することができます
- MFM: パフォーマンス、保守性、構文誤認識抑制の観点から、旧関数構文のサポートが削除されました。
- 旧構文(`[foo bar]`)を使用せず、現行の構文(`$[foo bar]`)を使用してください。
## 12.91.0 (2021/09/22)
### Improvements
- ActivityPub: リモートユーザーのDeleteアクティビティに対応
- ActivityPub: add resolver check for blocked instance
- ActivityPub: deliverキューのメモリ使用量を削減
- API: 管理者用アカウント削除APIを実装(/admin/accounts/delete)
- リモートユーザーの削除も可能に
- アカウントが凍結された場合に、凍結された旨を表示してからログアウトするように
- 凍結されたアカウントにログインしようとしたときに、凍結されている旨を表示するように
- リスト、アンテナタイムラインを個別ページとして分割
- UIの改善
- MFMにsparklesエフェクトを追加
- 非ログイン自は更新ダイアログを出さないように
- クライアント起動時、アップデートが利用可能な場合エラー表示およびダイアログ表示しないように
### Bugfixes
- アカウントデータのエクスポート/インポート処理ができない問題を修正
- アンテナの既読が付かない問題を修正
- popupで設定ページを表示すると、アカウントの削除ページにアクセスすることができない問題を修正
- "問題が発生しました"ウィンドウを開くと☓ボタンがなくて閉じれない問題を修正
## 12.90.1 (2021/09/05)
### Bugfixes

View File

@ -1,42 +1,44 @@
# Contribution guide
**[✨ English version available](/docs/CONTRIBUTING.en.md)**
We're glad you're interested in contributing Misskey! In this document you will find the information you need to contribute to the project.
プロジェクトに興味を持っていただきありがとうございます! このドキュメントでは、プロジェクトに貢献する際に必要な情報をまとめています。
** Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
The accuracy of translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
It will also allow the reader to use the translation tool of their preference if necessary.
## Issues
Issueを作成する前に、以下をご確認ください:
- 重複を防ぐため、既に同様の内容のIssueが作成されていないか検索してから新しいIssueを作ってください。
- Issueを質問に使わないでください。
- Issueは、要望、提案、問題の報告にのみ使用してください。
- 質問は、[Misskey Forum](https://forum.misskey.io/)[Discord](https://discord.gg/Wp8gVStHW3)でお願いします。
Before creating an issue, please check the following:
- To avoid duplication, please search for similar issues before creating a new issue.
- Do not use Issues to ask questions or troubleshooting.
- Issues should only be used to feature requests, suggestions, and bug tracking.
- Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
## 実装をする前に
機能追加やバグ修正をしたいときは、まずIssueで設計、方針をレビューしてもらいましょう(無い場合は作ってください)。このステップがないと、せっかく実装してもPRがマージされない可能性が高くなります。
## Before implementation
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
また、実装に取り掛かるときは当該Issueに自分をアサインしてください(自分でできない場合は他メンバーに自分をアサインしてもらうようお願いしてください)。
自分が実装するという意思表示をすることで、作業がバッティングするのを防ぎます。
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
## PRの作成
PRありがとうございます PRを作成する前に、以下をご確認ください:
- 可能であればタイトルに、以下で示すようなPRの種類が分かるキーワードをプリフィクスしてください。
- `fix` / `refactor` / `feat` / `enhance` / `perf` / `chore` など
- また、PRの粒度が適切であることを確認してください。ひとつのPRに複数の種類の変更や関心を含めることは避けてください。
- このPRによって解決されるIssueがある場合は、そのIssueへの参照を本文内に含めてください。
- [`CHANGELOG.md`](/CHANGELOG.md)に変更点を追記してください。リファクタリングなど、利用者に影響を与えない変更についてはこの限りではありません。
- この変更により新たに作成、もしくは更新すべきドキュメントがないか確認してください。
- 機能追加やバグ修正をした場合は、可能であればテストケースを追加してください。
- テスト、Lintが通っていることを予め確認してください。
- `npm run test``npm run lint`でぞれぞれ実施可能です。[詳細](#testing)
- UIに変更がある場合はスクリーンショットを本文内に添付してください。
ご協力ありがとうございます🤗
## ブランチ
## Well-known branches
- **`master`** branch is tracking the latest release and used for production purposes.
- **`develop`** branch is where we work for the next release.
- PRを作成するときは、基本的にこのブランチに向けてください。
- When you create a PR, basically target it to this branch.
- **`l10n_develop`** branch is reserved for localization management.
## Creating a PR
Thank you for your PR! Before creating a PR, please check the following:
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
- `fix` / `refactor` / `feat` / `enhance` / `perf` / `chore` etc
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
- Check if there are any documents that need to be created or updated due to this change.
- If you have added a feature or fixed a bug, please add a test case if possible.
- Please make sure that tests and Lint are passed in advance.
- You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
- If this PR includes UI changes, please attach a screenshot in the text.
Thanks for your cooperation 🤗
## Localization (l10n)
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
You can improve our translations with your Crowdin account.
@ -47,14 +49,26 @@ If your language is not listed in Crowdin, please open an issue.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
## Documentation
* Documents for instance admins are located in [`/docs`](/docs).
* Documents for end users are located in [`/src/docs`](/src/docs).
## Development
During development, it is useful to use the `npm run dev` command.
This command monitors the server-side and client-side source files and automatically builds them if they are modified.
In addition, it will also automatically start the Misskey server process.
## Testing
- Test codes are located in [`/test`](/test).
### Run test
Create a config file.
```
cp test/test.yml .config/
```
Prepare DB/Redis for testing.
```
docker-compose -f test/docker-compose.yml up
```
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
Run all test.
```
npm run test
```
@ -158,13 +172,16 @@ const users = userIds.length > 0 ? await Users.find({
SQLでは配列のインデックスは**1始まり**。
`[a, b, c]`の `a`にアクセスしたいなら`[0]`ではなく`[1]`と書く
### null IN
nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。
### `undefined`にご用心
MongoDBの時とは違い、findOneでレコードを取得する時に対象レコードが存在しない場合 **`undefined`** が返ってくるので注意。
MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`とか書くとバグる。代わりに`if (x == null)`と書いてください
### Migration作成方法
```
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 -o
```
作成されたスクリプトは不必要な変更を含むため除去してください。
@ -175,6 +192,10 @@ npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前
### JSONのimportに気を付けよう
TypeScriptでjsonをimportすると、tscでコンパイルするときにそのjsonファイルも一緒にdistディレクトリに吐き出されてしまう。この挙動により、意図せずファイルの書き換えが発生することがあるので、jsonをimportするときは書き換えられても良いものかどうか確認すること。書き換えされて欲しくない場合は、importで読み込むのではなく、`fs.readFileSync`などの関数を使って読み込むようにすればよい。
### コンポーネントのスタイル定義でmarginを持たせない
コンポーネント自身がmarginを設定するのは問題の元となることはよく知られている
marginはそのコンポーネントを使う側が設定する
## その他
### HTMLのクラス名で follow という単語は使わない
広告ブロッカーで誤ってブロックされる

View File

@ -26,6 +26,9 @@ ENTRYPOINT ["/sbin/tini", "--"]
COPY --from=builder /misskey/node_modules ./node_modules
COPY --from=builder /misskey/built ./built
COPY --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
COPY --from=builder /misskey/packages/backend/built ./packages/backend/built
COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node_modules
COPY . ./
CMD ["npm", "run", "migrateandstart"]

View File

@ -4,7 +4,6 @@
<div align="center">
[![CircleCI](https://img.shields.io/circleci/project/github/misskey-dev/misskey.svg?style=for-the-badge&logo=circleci)](https://circleci.com/gh/misskey-dev/misskey)
[![Dependencies](https://img.shields.io/david/misskey-dev/misskey.svg?style=for-the-badge&logo=npm)](https://david-dm.org/misskey-dev/misskey)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge&logo=github)](http://makeapullrequest.com)
[![Awesome Humane Tech](https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true)](https://github.com/humanetech-community/awesome-humane-tech)
@ -65,7 +64,7 @@ Organize and store your files! Want to post a picture you have already uploaded?
:package: Create your own instance
----------------------------------------------------------------
Please see the [Setup and Installation Guide](./docs/setup.en.md).
Please see the [Setup and Installation Guide](https://misskey-hub.net/docs/install/install.html).
:wrench: Contribution
----------------------------------------------------------------
@ -104,6 +103,12 @@ Related projects
- [misskey.js](https://github.com/misskey-dev/misskey.js) - Misskey SDK for JavaScript
- [mfm.js](https://github.com/misskey-dev/mfm.js) - MFM parser
Sponsors
----------------------------------------------------------------
<div align="center">
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank" style="display: inline-block;"><img src="https://rss3.io/assets/images/Logo.svg" alt="RSS3" style="display: inline-block; height: 60px;"></a>
</div>
:heart: Backers
----------------------------------------------------------------
<!-- PATREON_START -->

View File

@ -2,6 +2,3 @@ files:
- source: /locales/ja-JP.yml
translation: /locales/%locale%.yml
update_option: update_as_unapproved
- source: /src/docs/ja-JP/**/*.md
translation: /src/docs/%locale%/**/%original_file_name%
update_option: update_as_unapproved

View File

@ -1,3 +1,3 @@
{
"baseUrl": "http://localhost"
"baseUrl": "http://localhost:61812"
}

View File

@ -1,10 +1,14 @@
describe('Basic', () => {
before(() => {
cy.request('POST', '/api/reset-db');
describe('Before setup instance', () => {
beforeEach(() => {
cy.request('POST', '/api/reset-db').as('reset');
cy.get('@reset').its('status').should('equal', 204);
cy.reload(true);
});
beforeEach(() => {
cy.reload(true);
afterEach(() => {
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
// waitを入れることでそれを防止できる
cy.wait(1000);
});
it('successfully loads', () => {
@ -14,56 +18,173 @@ describe('Basic', () => {
it('setup instance', () => {
cy.visit('/');
cy.intercept('POST', '/api/admin/accounts/create').as('signup');
cy.get('[data-cy-admin-username] input').type('admin');
cy.get('[data-cy-admin-password] input').type('admin1234');
cy.get('[data-cy-admin-ok]').click();
// なぜか動かない
//cy.wait('@signup').should('have.property', 'response.statusCode');
cy.wait('@signup');
});
});
describe('After setup instance', () => {
beforeEach(() => {
cy.request('POST', '/api/reset-db').as('reset');
cy.get('@reset').its('status').should('equal', 204);
cy.reload(true);
// インスタンス初期セットアップ
cy.request('POST', '/api/admin/accounts/create', {
username: 'admin',
password: 'pass',
}).its('body').as('admin');
cy.get('@admin');
});
afterEach(() => {
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
// waitを入れることでそれを防止できる
cy.wait(1000);
});
it('successfully loads', () => {
cy.visit('/');
});
it('signup', () => {
cy.visit('/');
cy.visit('/');
cy.intercept('POST', '/api/signup').as('signup');
cy.get('[data-cy-signup]').click();
cy.get('[data-cy-signup-username] input').type('alice');
cy.get('[data-cy-signup-password] input').type('alice1234');
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
cy.get('[data-cy-signup-submit]').click();
cy.wait('@signup');
});
});
describe('After user signup', () => {
beforeEach(() => {
cy.request('POST', '/api/reset-db').as('reset');
cy.get('@reset').its('status').should('equal', 204);
cy.reload(true);
// インスタンス初期セットアップ
cy.request('POST', '/api/admin/accounts/create', {
username: 'admin',
password: 'pass',
}).its('body').as('admin');
cy.get('@admin').then(() => {
// ユーザー作成
cy.request('POST', '/api/signup', {
username: 'alice',
password: 'alice1234',
}).its('body').as('alice');
});
cy.get('@alice');
});
afterEach(() => {
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
// waitを入れることでそれを防止できる
cy.wait(1000);
});
it('successfully loads', () => {
cy.visit('/');
});
it('signin', () => {
cy.visit('/');
cy.visit('/');
cy.intercept('POST', '/api/signin').as('signin');
cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
// Enterキーでサインインできるかの確認も兼ねる
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
cy.wait('@signin');
});
it('suspend', function() {
cy.request('POST', '/api/admin/suspend-user', {
i: this.admin.token,
userId: this.alice.id,
});
cy.visit('/');
cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
});
});
describe('After user singed in', () => {
beforeEach(() => {
cy.request('POST', '/api/reset-db').as('reset');
cy.get('@reset').its('status').should('equal', 204);
cy.reload(true);
// インスタンス初期セットアップ
cy.request('POST', '/api/admin/accounts/create', {
username: 'admin',
password: 'pass',
}).its('body').as('admin');
cy.get('@admin').then(() => {
// ユーザー作成
cy.request('POST', '/api/signup', {
username: 'alice',
password: 'alice1234',
}).its('body').as('alice');
});
cy.get('@alice').then(() => {
cy.visit('/');
cy.intercept('POST', '/api/signin').as('signin');
cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
cy.wait('@signin').as('signedIn');
});
cy.get('@signedIn');
});
afterEach(() => {
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
// waitを入れることでそれを防止できる
cy.wait(1000);
});
it('successfully loads', () => {
cy.visit('/');
});
it('note', () => {
cy.visit('/');
//#region TODO: この辺はUI操作ではなくAPI操作でログインする
cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
// Enterキーでサインインできるかの確認も兼ねる
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
//#endregion
cy.get('[data-cy-open-post-form]').click();
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
cy.get('[data-cy-open-post-form-submit]').click();
// TODO: 投稿した文字列が画面内にあるか(=タイムラインに流れてきたか)のテスト
cy.contains('Hello, Misskey!');
});
});

View File

@ -15,6 +15,7 @@ services:
- external_network
volumes:
- ./files:/misskey/files
- ./.config:/misskey/.config:ro
redis:
restart: always

View File

@ -1,66 +0,0 @@
# Contribution guide
:v: Thanks for your contributions :v:
** Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
The accuracy of translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
It will also allow the reader to use the translation tool of their preference if necessary.
## Issues
Before creating an issue, please check the following:
- To avoid duplication, please search for similar issues before creating a new issue.
- Do not use Issues as a question.
- Issues should only be used to feature requests, suggestions, and report problems.
- Please ask questions in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
## Before implementation
When you want to add a feature or fix a bug, first have the design and policy reviewed in an Issue (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
## Well-known branches
- **`master`** branch is tracking the latest release and used for production purposes.
- **`develop`** branch is where we work for the next release.
- When you create a PR, basically target it to this branch.
- **`l10n_develop`** branch is reserved for localization management.
## Creating a PR
Thank you for your PR! Before creating a PR, please check the following:
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
- `fix` / `refactor` / `feat` / `enhance` / `perf` / `chore` etc
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
- Check if there are any documents that need to be created or updated due to this change.
- If you have added a feature or fixed a bug, please add a test case if possible.
- Please make sure that tests and Lint are passed in advance.
- You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
- If this PR includes UI changes, please attach a screenshot in the text.
Thanks for your cooperation 🤗
## Localization (l10n)
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
You can improve our translations with your Crowdin account.
Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository.
The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release.
If your language is not listed in Crowdin, please open an issue.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
## Testing
- Test codes are located in [`/test`](/test).
### Run test
```
npm run test
```
#### Run specify test
```
npx cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT="./test/tsconfig.json" npx mocha test/foo.ts --require ts-node/register
```
### e2e tests
TODO

View File

@ -1,33 +0,0 @@
# Docs
These docs are for contributors of Misskey or admins of instance of Misskey.
Docs for users are located in `src/docs`.
これらのドキュメントはMisskeyの開発者またはMisskeyインスタンス運営者向けです。
利用者向けのドキュメントは`src/docs`にあります。
这些文档是为 Misskey 的贡献者,或是 Misskey 实例的管理者准备的。
为用户准备的文档放置在 `src/docs` 文件夹中。
## 日本語版
- [Misskey構築の手引き](./setup.ja.md)
- [運営ガイド](./manage.ja.md)
- [Dockerを使ったMisskey構築方法](./docker.ja.md)
## English Version
- [Misskey Setup and Installation Guide](./setup.en.md)
- [Management guide](./manage.en.md)
- [Docker Guide](./docker.en.md)
## Française Version
- [Guide d'installation et de configuration de Misskey](./setup.fr.md)
- [Guide d'administration](./manage.fr.md)
- [Guide Docker](./docker.fr.md)
## 简体中文版
- [Misskey 设置和安装指南](./setup.zh.md)
- [运营指南](./manage.zh.md)
- [Docker 部署指南](./docker.zh.md)

View File

@ -1,97 +0,0 @@
Docker Guide
================================================================
This guide describes how to install and setup Misskey with Docker.
- [Japanese version also available - 日本語版もあります](./docker.ja.md)
- [Simplified Chinese version also available - 简体中文版同样可用](./docker.zh.md)
----------------------------------------------------------------
*1.* Download Misskey
----------------------------------------------------------------
1. Clone Misskey repository's master branch.
`git clone -b master git://github.com/misskey-dev/misskey.git`
2. Move to misskey directory.
`cd misskey`
3. Checkout to the [latest release](https://github.com/misskey-dev/misskey/releases/latest) tag.
`git checkout master`
*2.* Configure Misskey
----------------------------------------------------------------
Create configuration files with following:
```bash
cd .config
cp example.yml default.yml
cp docker_example.env docker.env
```
### `default.yml`
Edit this file the same as non-Docker environment.
However hostname of Postgresql, Redis and Elasticsearch are not `localhost`, they are set in `docker-compose.yml`.
The following is default hostname:
| Service | Hostname |
|---------------|----------|
| Postgresql | `db` |
| Redis | `redis` |
| Elasticsearch | `es` |
### `docker.env`
Configure Postgresql in this file.
The minimum required settings are:
| name | Description |
|---------------------|---------------|
| `POSTGRES_PASSWORD` | Password |
| `POSTGRES_USER` | Username |
| `POSTGRES_DB` | Database name |
*3.* Configure Docker
----------------------------------------------------------------
Edit `docker-compose.yml`.
*4.* Build Misskey
----------------------------------------------------------------
Build misskey with the following:
`docker-compose build`
*5.* Init DB
----------------------------------------------------------------
``` shell
docker-compose run --rm web yarn run init
```
*6.* That is it.
----------------------------------------------------------------
Well done! Now you have an environment to run Misskey.
### Launch normally
Just `docker-compose up -d`. GLHF!
### How to update your Misskey server to the latest version
1. `git stash`
2. `git checkout master`
3. `git pull`
4. `git submodule update --init`
5. `git stash pop`
6. `docker-compose build`
7. Check [ChangeLog](../CHANGELOG.md) for migration information
8. `docker-compose stop && docker-compose up -d`
### How to execute [cli commands](manage.en.md):
`docker-compose run --rm web node built/tools/mark-admin @example`
----------------------------------------------------------------
If you have any questions or trouble, feel free to contact us!

View File

@ -1,91 +0,0 @@
Guide Docker
================================================================
Ce guide explique comment installer et configurer Misskey avec Docker.
- [Version japonaise également disponible - Japanese version also available - 日本語版もあります](./docker.ja.md)
- [Version anglaise également disponible - English version also available - 英語版もあります](./docker.en.md)
- [Version Chinois simplifié également disponible - Simplified Chinese version also available - 简体中文版同样可用](./docker.zh.md)
----------------------------------------------------------------
*1.* Télécharger Misskey
----------------------------------------------------------------
1. Clone le dépôt de Misskey sur la branche master.
`git clone -b master git://github.com/misskey-dev/misskey.git`
2. Naviguez dans le dossier du dépôt.
`cd misskey`
3. Checkout sur le tag de la [dernière version](https://github.com/misskey-dev/misskey/releases/latest).
`git checkout master`
*2.* Configuration de Misskey
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le `default.yml`.
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copie le fichier `.config/mongo_initdb_example.js` et le renomme en `mongo_initdb.js`.
3. Editez `default.yml` et `mongo_initdb.js`.
*3.* Configurer Docker
----------------------------------------------------------------
Editez `docker-compose.yml`.
*4.* Contruire Misskey
----------------------------------------------------------------
Contruire l'image Docker avec:
`docker-compose build`
*5.* C'est tout !
----------------------------------------------------------------
Parfait, Vous avez un environnement prêt pour démarrer Misskey.
### Lancer normalement
Utilisez la commande `docker-compose up -d`. GLHF!
### How to update your Misskey server to the latest version
1. `git stash`
2. `git checkout master`
3. `git pull`
4. `git submodule update --init`
5. `git stash pop`
6. `docker-compose build`
7. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration
8. `docker-compose stop && docker-compose up -d`
### Comment exécuter des [commandes](manage.fr.md)
`docker-compose run --rm web node built/tools/mark-admin @example`
### Configuration d'ElasticSearch (pour la fonction de recherche)
*1.* Préparation de l'environnement
----------------------------------------------------------------
1. Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits
`mkdir elasticsearch && chown 1000:1000 elasticsearch`
2. Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES)
`sysctl -w vm.max_map_count=262144`
*2.* Après lancement du docker-compose, initialisation de la base ElasticSearch
----------------------------------------------------------------
1. Connexion dans le conteneur web
`docker-compose -it web /bin/sh`
2. Ajout du paquet curl
`apk add curl`
3. Création de la base ES
`curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'`
4. `exit`
----------------------------------------------------------------
Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !

View File

@ -1,98 +0,0 @@
Dockerを使ったMisskey構築方法
================================================================
このガイドはDockerを使ったMisskeyセットアップ方法について解説します。
- [英語版もあります - English version also available](./docker.en.md)
- [简体中文版同样可用 - Simplified Chinese version also available](./docker.zh.md)
----------------------------------------------------------------
*1.* Misskeyのダウンロード
----------------------------------------------------------------
1. masterブランチからMisskeyレポジトリをクローン
`git clone -b master git://github.com/misskey-dev/misskey.git`
2. misskeyディレクトリに移動
`cd misskey`
3. [最新のリリース](https://github.com/misskey-dev/misskey/releases/latest)を確認
`git checkout master`
*2.* 設定ファイルの作成と編集
----------------------------------------------------------------
下記コマンドで設定ファイルを作成してください。
```bash
cd .config
cp example.yml default.yml
cp docker_example.env docker.env
```
### `default.yml`の編集
非Docker環境と同じ様に編集してください。
ただし、Postgresql、RedisとElasticsearchのホストは`localhost`ではなく、`docker-compose.yml`で設定されたサービス名になっています。
標準設定では次の通りです。
| サービス | ホスト名 |
|---------------|---------|
| Postgresql |`db` |
| Redis |`redis` |
| Elasticsearch |`es` |
### `docker.env`の編集
このファイルはPostgresqlの設定を記述します。
最低限記述する必要がある設定は次の通りです。
| 設定 | 内容 |
|---------------------|--------------|
| `POSTGRES_PASSWORD` | パスワード |
| `POSTGRES_USER` | ユーザー名 |
| `POSTGRES_DB` | データベース名 |
*3.* Dockerの設定
----------------------------------------------------------------
`docker-compose.yml`を編集してください。
*4.* Misskeyのビルド
----------------------------------------------------------------
次のコマンドでMisskeyをビルドしてください:
`docker-compose build`
*5.* データベースを初期化
----------------------------------------------------------------
``` shell
docker-compose run --rm web yarn run init
```
*6.* 以上です!
----------------------------------------------------------------
お疲れ様でした。これでMisskeyを動かす準備は整いました。
### 通常起動
`docker-compose up -d`するだけです。GLHF!
### Misskeyを最新バージョンにアップデートする方法:
1. `git stash`
2. `git checkout master`
3. `git pull`
4. `git submodule update --init`
5. `git stash pop`
6. `docker-compose build`
7. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
8. `docker-compose stop && docker-compose up -d`
### cliコマンドを実行する方法:
`docker-compose run --rm web node built/tools/mark-admin @example`
----------------------------------------------------------------
なにかお困りのことがありましたらお気軽にご連絡ください。

View File

@ -1,97 +0,0 @@
Docker 部署指南
================================================================
这份指南描述了如何使用Docker安装并设置 Misskey 。
- [日本語版もあります - Japanese version also available](./docker.ja.md)
- [英語版もあります - English version also available](./docker.en.md)
----------------------------------------------------------------
*1.* 下载 Misskey
----------------------------------------------------------------
1. 克隆 Misskey 项目的 master 分支。
`git clone -b master git://github.com/misskey-dev/misskey.git`
2. 进入 misskey 文件夹。
`cd misskey`
3. 检查 [最新发布版](https://github.com/misskey-dev/misskey/releases/latest) 标签。
`git checkout master`
*2.* 配置 Misskey
----------------------------------------------------------------
可以按照如下方式创建配置文件:
``` bash
cd .config
cp example.yml default.yml
cp docker_example.env docker.env
```
### `default.yml`
这个文件的编辑工作基本与非 Docker 环境的版本相同。
但请注意, Postgresql、 Redis 和 Elasticsearch 的 **主机名(hostname)** 配置不应该是 `localhost` ,它们被设置在 `docker-compose.yml` 文件中。
以下是默认的主机名:
| 服务 | 主机名 |
|---------------|----------|
| Postgresql | `db` |
| Redis | `redis` |
| Elasticsearch | `es` |
### `docker.env`
在这个文件中配置 Postgresql 。
至少需要如下这些配置:
| 名称 | 描述 |
|---------------------|---------------|
| `POSTGRES_PASSWORD` | 数据库密码 |
| `POSTGRES_USER` | 数据库用户名 |
| `POSTGRES_DB` | 数据库名 |
*3.* 配置 Docker
----------------------------------------------------------------
编辑 `docker-compose.yml` 文件。
*4.* 构建 Misskey
----------------------------------------------------------------
使用如下的方式构建Misskey
`docker-compose build`
*5.* 初始化数据库
----------------------------------------------------------------
``` bash
docker-compose run --rm web yarn run init
```
*6.* 完成了!
----------------------------------------------------------------
干得不错现在您拥有了一个可以运行Misskey的环境啦。
### 正常启动
只需要 `docker-compose up -d` 即可。玩得愉快!
### 如何将您的 Misskey 服务器升级至最新版本
1. `git stash`
2. `git checkout master`
3. `git pull`
4. `git submodule update --init`
5. `git stash pop`
6. `docker-compose build`
7. 检查 [更新日志](../CHANGELOG.md) 以获取升级迁移信息。
8. `docker-compose stop && docker-compose up -d`
### 如何执行 [控制台指令](manage.zh.md):
`docker-compose run --rm web node built/tools/mark-admin @example`
----------------------------------------------------------------
如果您有任何疑问或是困惑,欢迎与我们联系!

View File

@ -1,71 +0,0 @@
# Sample nginx configuration for Misskey
#
# 1. Replace example.tld to your domain
# 2. Copy to /etc/nginx/sites-available/ and then symlink from /etc/nginx/sites-enabled/
# or copy to /etc/nginx/conf.d/
# For WebSocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_temp_path=off;
server {
listen 80;
listen [::]:80;
server_name example.tld;
# For SSL domain validation
root /var/www/html;
location /.well-known/acme-challenge/ { allow all; }
location /.well-known/pki-validation/ { allow all; }
location / { return 301 https://$server_name$request_uri; }
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.tld;
ssl_session_cache shared:ssl_session_cache:10m;
# To use Let's Encrypt certificate
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
# To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate)
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
# SSL protocol settings
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA;
ssl_prefer_server_ciphers on;
# Change to your upload limit
client_max_body_size 80m;
# Proxy to Node
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_redirect off;
# If it's behind another reverse proxy or CDN, remove the following.
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
# For WebSocket
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# Cache settings
proxy_cache cache1;
proxy_cache_lock on;
proxy_cache_use_stale updating;
add_header X-Cache $upstream_cache_status;
}
}

View File

@ -1,14 +0,0 @@
# Management guide
## Check the status of the job queue
coming soon
## Mark as 'admin' user
``` shell
node built/tools/mark-admin (Username)
```
e.g.
``` shell
node built/tools/mark-admin @syuilo
```

View File

@ -1,14 +0,0 @@
# Guide d'administration
## Vérifier le status de la file d'attente des taches
coming soon
## Marquer un utilisateur en tant que 'admin'
``` shell
node built/tools/mark-admin (nom d'utilisateur)
```
Exemple :
``` shell
node built/tools/mark-admin @syuilo
```

View File

@ -1,14 +0,0 @@
# 運営ガイド
## ジョブキューの状態を調べる
coming soon
## 管理者ユーザーを設定する
``` shell
node built/tools/mark-admin (ユーザー名)
```
例:
``` shell
node built/tools/mark-admin @syuilo
```

View File

@ -1,14 +0,0 @@
# 运营指南
## 检查任务队列的状态
即将到来……
## 设置用户为管理员
``` shell
node built/tools/mark-admin (用户名)
```
样例
``` shell
node built/tools/mark-admin @syuilo
```

View File

@ -1,147 +0,0 @@
Misskey Setup and Installation Guide
================================================================
We thank you for your interest in setting up your Misskey server!
This guide describes how to install and setup Misskey.
- [Japanese version also available - 日本語版もあります](./setup.ja.md)
- [Simplified Chinese version also available - 简体中文版同样可用](./setup.zh.md)
----------------------------------------------------------------
*1.* Create Misskey user
----------------------------------------------------------------
Running misskey as root is not a good idea so we create a user for that.
In debian for exemple :
```
adduser --disabled-password --disabled-login misskey
```
*2.* Install dependencies
----------------------------------------------------------------
Please install and setup these softwares:
#### Dependencies :package:
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
* **[PostgreSQL](https://www.postgresql.org/)** (12.x / 13.x is preferred)
* **[Redis](https://redis.io/)**
##### Optional
* [Yarn](https://yarnpkg.com/) *Optional but recommended for security reason. If you won't install it, use `npx yarn` instead of `yarn`.*
* [Elasticsearch](https://www.elastic.co/) - required to enable the search feature
* [FFmpeg](https://www.ffmpeg.org/)
*3.* Install Misskey
----------------------------------------------------------------
1. Connect to misskey user.
`su - misskey`
2. Clone the misskey repo from master branch.
`git clone -b master git://github.com/misskey-dev/misskey.git`
3. Navigate to misskey directory
`cd misskey`
4. Checkout to the [latest release](https://github.com/misskey-dev/misskey/releases/latest)
`git checkout master`
5. Install misskey dependencies.
`yarn`
*4.* Configure Misskey
----------------------------------------------------------------
1. Copy the `.config/example.yml` and rename it to `default.yml`.
`cp .config/example.yml .config/default.yml`
2. Edit `default.yml`
*5.* Build Misskey
----------------------------------------------------------------
Build misskey with the following:
`NODE_ENV=production yarn build`
If you're on Debian, you will need to install the `build-essential`, `python` package.
If you're still encountering errors about some modules, use node-gyp:
1. `npx node-gyp configure`
2. `npx node-gyp build`
3. `NODE_ENV=production yarn build`
*6.* Init DB
----------------------------------------------------------------
``` shell
yarn run init
```
*7.* That is it.
----------------------------------------------------------------
Well done! Now, you have an environment that run to Misskey.
### Launch normally
Just `NODE_ENV=production npm start`. GLHF!
### Launch with systemd
1. Create a systemd service here
`/etc/systemd/system/misskey.service`
2. Edit it, and paste this and save:
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
```
3. Reload systemd and enable the misskey service.
`systemctl daemon-reload ; systemctl enable misskey`
4. Start the misskey service.
`systemctl start misskey`
You can check if the service is running with `systemctl status misskey`.
### How to update your Misskey server to the latest version
1. `git checkout master`
2. `git pull`
3. `git submodule update --init`
4. `yarn install`
5. `NODE_ENV=production yarn build`
6. `yarn migrate`
7. Restart your Misskey process to apply changes
8. Enjoy
If you encounter any problems with updating, please try the following:
1. `yarn clean` or `yarn cleanall`
2. Retry update (Don't forget `yarn install`
----------------------------------------------------------------
If you have any questions or troubles, feel free to contact us!

View File

@ -1,136 +0,0 @@
Guide d'installation et de configuration de Misskey
================================================================
Nous vous remerçions de l'intrêt que vous manifestez pour l'installation de votre propre instance Misskey !
Ce guide décrit les étapes à suivre afin d'installer et de configurer une instance Misskey.
- [La version en japonnais est également disponible sur - 日本語版もあります](./setup.ja.md)
- [Version anglaise également disponible - English version also available - 英語版もあります](./setup.en.md)
- [Version Chinois simplifié également disponible - Simplified Chinese version also available - 简体中文版同样可用](./setup.zh.md)
----------------------------------------------------------------
*1.* Création de l'utilisateur Misskey
----------------------------------------------------------------
Executer misskey en tant que super-utilisateur étant une mauvaise idée, nous allons créer un utilisateur dédié.
Sous Debian, par exemple :
```
adduser --disabled-password --disabled-login misskey
```
*2.* Installation des dépendances
----------------------------------------------------------------
Installez les paquets suivants :
#### Dépendences :package:
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
* **[Redis](https://redis.io/)**
##### Optionnels
* [Yarn](https://yarnpkg.com/) - *recommander pour des raisons de sécurité. Si vous ne l'installez pas, utilisez `npx yarn` au lieu de` yarn`.*
* [Elasticsearch](https://www.elastic.co/) - *requis pour pouvoir activer la fonctionnalité de recherche.*
* [FFmpeg](https://www.ffmpeg.org/)
*3.* Installation de Misskey
----------------------------------------------------------------
1. Basculez vers l'utilisateur misskey.
`su - misskey`
2. Clonez la branche master du dépôt misskey.
`git clone -b master git://github.com/misskey-dev/misskey.git`
3. Accédez au dossier misskey.
`cd misskey`
4. Checkout sur le tag de la [version la plus récente](https://github.com/misskey-dev/misskey/releases/latest)
`git checkout master`
5. Installez les dépendances de misskey.
`yarn install`
*4.* Création du fichier de configuration
----------------------------------------------------------------
1. Copiez le fichier `.config/example.yml` et renommez-le`default.yml`.
`cp .config/example.yml .config/default.yml`
2. Editez le fichier `default.yml`
*5.* Construction de Misskey
----------------------------------------------------------------
Construisez Misskey comme ceci :
`NODE_ENV=production yarn build`
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp:
1. `npx node-gyp configure`
2. `npx node-gyp build`
3. `NODE_ENV=production yarn build`
*6.* C'est tout.
----------------------------------------------------------------
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
### Lancement conventionnel
Lancez tout simplement `NODE_ENV=production yarn start`. Bonne chance et amusez-vous bien !
### Démarrage avec systemd
1. Créez un service systemd sur
`/etc/systemd/system/misskey.service`
2. Editez-le puis copiez et coller ceci dans le fichier :
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
```
3. Redémarre systemd et active le service misskey.
`systemctl daemon-reload ; systemctl enable misskey`
4. Démarre le service misskey.
`systemctl start misskey`
Vous pouvez vérifier si le service a démarré en utilisant la commande `systemctl status misskey`.
### Méthode de mise à jour vers la plus récente version de Misskey
1. `git checkout master`
2. `git pull`
3. `git submodule update --init`
4. `yarn install`
5. `NODE_ENV=production yarn build`
6. `yarn migrate`
----------------------------------------------------------------
Si vous rencontrez des difficultés ou avez d'autres questions, n'hésitez pas à nous contacter !

View File

@ -1,145 +0,0 @@
Misskey構築の手引き
================================================================
Misskeyサーバーの構築にご関心をお寄せいただきありがとうございます
このガイドではMisskeyのインストール・セットアップ方法について解説します。
- [英語版もあります - English version also available](./setup.en.md)
- [简体中文版同样可用 - Simplified Chinese version also available](./setup.zh.md)
----------------------------------------------------------------
*1.* Misskeyユーザーの作成
----------------------------------------------------------------
Misskeyはrootユーザーで実行しない方がよいため、代わりにユーザーを作成します。
Debianの例:
```
adduser --disabled-password --disabled-login misskey
```
*2.* 依存関係をインストールする
----------------------------------------------------------------
これらのソフトウェアをインストール・設定してください:
#### 依存関係 :package:
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
* **[PostgreSQL](https://www.postgresql.org/)** (10以上)
* **[Redis](https://redis.io/)**
##### オプション
* [Yarn](https://yarnpkg.com/)
* セキュリティの観点から推奨されます。 yarn をインストールしない方針の場合は、文章中の `yarn` を適宜 `npx yarn` と読み替えてください。
* [Elasticsearch](https://www.elastic.co/)
* 検索機能を有効にするためにはインストールが必要です。
* [FFmpeg](https://www.ffmpeg.org/)
*3.* Misskeyのインストール
----------------------------------------------------------------
1. misskeyユーザーを使用
`su - misskey`
2. masterブランチからMisskeyレポジトリをクローン
`git clone -b master git://github.com/misskey-dev/misskey.git`
3. misskeyディレクトリに移動
`cd misskey`
4. [最新のリリース](https://github.com/misskey-dev/misskey/releases/latest)を確認
`git checkout master`
5. Misskeyの依存パッケージをインストール
`yarn install`
*4.* 設定ファイルを作成する
----------------------------------------------------------------
1. `.config/example.yml`をコピーし名前を`default.yml`にする。
`cp .config/example.yml .config/default.yml`
2. `default.yml` を編集する。
*5.* Misskeyのビルド
----------------------------------------------------------------
次のコマンドでMisskeyをビルドしてください:
`NODE_ENV=production yarn build`
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
何らかのモジュールでエラーが発生する場合はnode-gypを使ってください:
1. `npx node-gyp configure`
2. `npx node-gyp build`
3. `NODE_ENV=production yarn build`
*6.* データベースを初期化
----------------------------------------------------------------
``` shell
yarn run init
```
*7.* 以上です!
----------------------------------------------------------------
お疲れ様でした。これでMisskeyを動かす準備は整いました。
### 通常起動
`NODE_ENV=production yarn start`するだけです。GLHF!
### systemdを用いた起動
1. systemdサービスのファイルを作成
`/etc/systemd/system/misskey.service`
2. エディタで開き、以下のコードを貼り付けて保存:
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
```
CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。
3. systemdを再読み込みしmisskeyサービスを有効化
`systemctl daemon-reload; systemctl enable misskey`
4. misskeyサービスの起動
`systemctl start misskey`
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
### Misskeyを最新バージョンにアップデートする方法:
1. `git checkout master`
2. `git pull`
3. `git submodule update --init`
4. `yarn install`
5. `NODE_ENV=production yarn build`
6. `yarn migrate`
なにか問題が発生した場合は、`yarn clean`または`yarn cleanall`すると直る場合があります。
----------------------------------------------------------------
なにかお困りのことがありましたらお気軽にご連絡ください。

View File

@ -1,147 +0,0 @@
Misskey 设置和安装指南
================================================================
非常感谢您对构建 Misskey 服务器的关注!
这份指南描述了 Misskey 的安装与设置流程。
- [日本語版もあります - Japanese version also available](./setup.ja.md)
- [英語版もあります - English version also available](./setup.en.md)
----------------------------------------------------------------
*1.* 创建 Misskey 用户
----------------------------------------------------------------
直接使用 root 用户来运行 misskey 也许并不是一个好主意,因此我们有必要创建一个专用的用户。
以 Debian 为例:
``` bash
adduser --disabled-password --disabled-login misskey
```
*2.* 安装依赖
----------------------------------------------------------------
请安装并设置如下这些软件:
#### Dependencies :package:
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
* **[Redis](https://redis.io/)**
##### Optional
* [Yarn](https://yarnpkg.com/) *可选,但出于安全因素考虑还是推荐安装。如果您没有安装, 您需要使用 `npx yarn` 来代替 `yarn`.*
* [Elasticsearch](https://www.elastic.co/) - 为了启用搜索功能,这个搜索引擎是有必要的。
* [FFmpeg](https://www.ffmpeg.org/)
*3.* 安装 Misskey
----------------------------------------------------------------
1. 连接至 misskey 用户.
`su - misskey`
2. 克隆 Misskey 项目的 master 分支。
`git clone -b master git://github.com/misskey-dev/misskey.git`
3. 进入 misskey 文件夹。
`cd misskey`
4. 检查 [最新发布版](https://github.com/misskey-dev/misskey/releases/latest) 标签。
`git checkout master`
5. 安装 Misskey 的依赖。
`yarn`
*4.* 配置 Misskey
----------------------------------------------------------------
1. 复制 `.config/example.yml` 并重命名为 `default.yml`。
`cp .config/example.yml .config/default.yml`
2. 编辑 `default.yml`
*5.* 构建 Misskey
----------------------------------------------------------------
使用如下的指令构建 Misskey
`NODE_ENV=production yarn build`
如果您使用的是 Debian 您需要安装 `build-essential`, `python` 环境包。
如果您仍然遇到有关某些模块的错误,您可以使用 node-gyp:
1. `npx node-gyp configure`
2. `npx node-gyp build`
3. `NODE_ENV=production yarn build`
*6.* 初始化数据库
----------------------------------------------------------------
``` bash
yarn run init
```
*7.* 完成了!
----------------------------------------------------------------
干得不错现在您拥有了一个可以运行Misskey的环境啦。
### 正常启动
只需要 `NODE_ENV=production npm start` 即可。玩得愉快!
### 使用 systemd 来启动
1. 在此处创建一个 systemd 服务:
`/etc/systemd/system/misskey.service`
2. 编辑它,粘贴如下内容并保存:
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
```
3. 重启 systemd 并设置 misskey 服务自动启动:
`systemctl daemon-reload ; systemctl enable misskey`
4. 启动 misskey 服务:
`systemctl start misskey`
您可以使用 `systemctl status misskey` 来检查服务是否正在运行。
### 如何将您的 Misskey 服务器升级至最新版本
1. `git checkout master`
2. `git pull`
3. `git submodule update --init`
4. `yarn install`
5. `NODE_ENV=production yarn build`
6. `yarn migrate`
7. 重启您的 Misskey 进程来应用改变。
8. 尽情享受吧!
如果您在更新时遇到任何问题,请尝试以下操作:
1. `yarn clean` 或是 `yarn cleanall`
2. 重试升级 (请不要忘记 `yarn install`
----------------------------------------------------------------
如果您有任何疑问或是困惑,欢迎与我们联系!

62
gulpfile.js Normal file
View File

@ -0,0 +1,62 @@
/**
* Gulp tasks
*/
const fs = require('fs');
const gulp = require('gulp');
const replace = require('gulp-replace');
const terser = require('gulp-terser');
const cssnano = require('gulp-cssnano');
const locales = require('./locales');
const meta = require('./package.json');
gulp.task('copy:backend:views', () =>
gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views'))
);
gulp.task('copy:client:fonts', () =>
gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
);
gulp.task('copy:client:locales', cb => {
fs.mkdirSync('./built/_client_dist_/locales', { recursive: true });
const v = { '_version_': meta.version };
for (const [lang, locale] of Object.entries(locales)) {
fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
}
cb();
});
gulp.task('build:backend:script', () => {
return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js'])
.pipe(replace('VERSION', JSON.stringify(meta.version)))
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
.pipe(terser({
toplevel: true
}))
.pipe(gulp.dest('./packages/backend/built/server/web/'));
});
gulp.task('build:backend:style', () => {
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css'])
.pipe(cssnano({
zindex: false
}))
.pipe(gulp.dest('./packages/backend/built/server/web/'));
});
gulp.task('build', gulp.parallel(
'copy:client:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:client:fonts'
));
gulp.task('default', gulp.task('build'));
gulp.task('watch', () => {
gulp.watch([
'./packages/*/src/**/*',
], { ignoreInitial: false }, gulp.task('build'));
});

View File

@ -1,80 +0,0 @@
/**
* Gulp tasks
*/
import * as fs from 'fs';
import * as gulp from 'gulp';
import rimraf from 'rimraf';
const replace = require('gulp-replace');
const terser = require('gulp-terser');
const cssnano = require('gulp-cssnano');
const locales: { [x: string]: any } = require('./locales');
const meta = require('./package.json');
gulp.task('build:copy:views', () =>
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
);
gulp.task('build:copy:fonts', () =>
gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/assets/fonts/'))
);
gulp.task('build:copy:locales', cb => {
fs.mkdirSync('./built/assets/locales', { recursive: true });
const v = { '_version_': meta.version };
for (const [lang, locale] of Object.entries(locales)) {
fs.writeFileSync(`./built/assets/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
}
cb();
});
gulp.task('build:client:script', () => {
return gulp.src(['./src/server/web/boot.js', './src/server/web/bios.js', './src/server/web/cli.js'])
.pipe(replace('VERSION', JSON.stringify(meta.version)))
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
.pipe(terser({
toplevel: true
}))
.pipe(gulp.dest('./built/server/web/'));
});
gulp.task('build:client:style', () => {
return gulp.src(['./src/server/web/style.css', './src/server/web/bios.css', './src/server/web/cli.css'])
.pipe(cssnano({
zindex: false
}))
.pipe(gulp.dest('./built/server/web/'));
});
gulp.task('build:copy', gulp.parallel('build:copy:locales', 'build:copy:views', 'build:client:script', 'build:client:style', 'build:copy:fonts', () =>
gulp.src([
'./src/emojilist.json',
'./src/**/assets/**/*',
'!./src/client/assets/**/*'
]).pipe(gulp.dest('./built/'))
));
gulp.task('clean', cb =>
rimraf('./built', cb)
);
gulp.task('cleanall', gulp.parallel('clean', cb =>
rimraf('./node_modules', cb)
));
gulp.task('build', gulp.parallel(
'build:copy',
));
gulp.task('default', gulp.task('build'));
gulp.task('watch', () => {
gulp.watch([
'./src/**/*',
'!./src/client/**/*'
], { ignoreInitial: false }, gulp.task('build'));
});

View File

@ -1,17 +0,0 @@
/*
import * as fs from 'fs';
if (fs.existsSync('./built')) {
import('./built/index.js').then(built => built());
} else {
console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.');
}
*/
const fs = require('fs');
if (fs.existsSync('./built')) {
require('./built').default();
} else {
console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.');
}

File diff suppressed because it is too large Load Diff

View File

@ -52,6 +52,7 @@ searchUser: "Vyhledat uživatele"
reply: "Odpovědět"
loadMore: "Zobrazit více"
showMore: "Zobrazit více"
youGotNewFollower: "Máte nového následovníka"
mention: "Zmínění"
mentions: "Zmínění"
importAndExport: "Import a export"
@ -163,6 +164,7 @@ clearQueue: "Vyčistit frontu"
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
clearCachedFiles: "Vyprázdnit mezipaměť"
blockedInstances: "Blokované instance"
noUsers: "Žádní uživatelé"
editProfile: "Upravit můj profil"
pinLimitExceeded: "Nemůžete připnout další poznámky."
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
@ -170,6 +172,7 @@ done: "Hotovo"
processing: "Zpracovávám"
preview: "Náhled"
default: "Výchozí"
noCustomEmojis: "Bez Emoji"
blocked: "Blokováno"
suspended: "Suspendováno"
all: "Vše"
@ -402,6 +405,9 @@ smtpPass: "Heslo"
clearCache: "Vyprázdnit mezipaměť"
info: "Informace"
user: "Uživatelé"
_email:
_follow:
title: "Máte nového následovníka"
_mfm:
mention: "Zmínění"
quote: "Citovat"
@ -464,6 +470,7 @@ _pages:
types:
array: "Seznamy"
_notification:
youWereFollowed: "Máte nového následovníka"
youWereInvitedToGroup: "Pozvat do skupiny"
_types:
follow: "Sledovaní"

View File

@ -81,6 +81,8 @@ somethingHappened: "Ein Fehler ist aufgetreten"
retry: "Wiederholen"
pageLoadError: "Laden der Seite fehlgeschlagen."
pageLoadErrorDescription: "Dieser Fehler wird meist durch Netzwerkfehler oder den Browser-Cache verursacht. Bitte leere den Cache oder versuche es nach einiger Zeit erneut."
serverIsDead: "Dieser Server antwortet nicht. Bitte warte einen Moment und versuche es dann erneut."
youShouldUpgradeClient: "Bitte aktualisiere diese Seite, um eine neuere Version deines Clients zu verwenden."
enterListName: "Name der Liste eingeben"
privacy: "Privatsphäre"
makeFollowManuallyApprove: "Follow-Anfragen benötigen Bestätigung"
@ -529,6 +531,8 @@ removeAllFollowing: "Allen gefolgten Benutzern entfolgen"
removeAllFollowingDescription: "Dies entfolgt allen Benutzerkonten von {host}. Bitte führe dies durch, falls diese Instanz z.B. nicht mehr existiert."
userSuspended: "Dieser Benutzer wurde gesperrt."
userSilenced: "Dieser Benutzer wurde instanzweit stummgeschaltet."
yourAccountSuspendedTitle: "Dieses Benutzerkonto ist gesperrt"
yourAccountSuspendedDescription: "Dieses Benutzerkonto wurde gesperrt, da es gegen die Nutzungsbedingungen dieses Servers verstoßen hat. Trete mit dem Betreiber in Kontakt, falls du weitere Details erfahren möchtest. Bitte erstelle kein neues Benutzerkonto."
menu: "Menü"
divider: "Trenner"
addItem: "Element hinzufügen"
@ -543,7 +547,7 @@ invisibleNote: "Private Notiz"
enableInfiniteScroll: "Automatisch mehr Notizen laden"
visibility: "Sichtbarkeit"
poll: "Umfrage"
useCw: "Inhalt verbergen"
useCw: "Inhaltswarnung verwenden"
enablePlayer: "Video-Player öffnen"
disablePlayer: "Video-Player schließen"
expandTweet: "Tweet ausklappen"
@ -616,6 +620,8 @@ reportAbuse: "Melden"
reportAbuseOf: "{name} melden"
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Meldung an. Falls es sich um eine spezielle Notiz handelt, bitte gib dessen URL an."
abuseReported: "Die Meldung wurde versendet. Vielen Dank."
reporteeOrigin: "Herkunft des Gemeldeten"
reporterOrigin: "Herkunft des Meldenden"
send: "Senden"
abuseMarkAsResolved: "Meldung als gelöst markieren"
openInNewTab: "In neuem Tab öffnen"
@ -748,7 +754,7 @@ switch: "Wechseln"
noMaintainerInformationWarning: "Betreiberinformationen sind nicht konfiguriert."
noBotProtectionWarning: "Bot-Schutz ist nicht konfiguriert."
configure: "Konfigurieren"
postToGallery: "Beitrag zu Galerie hinzufügen"
postToGallery: "Neuen Galerie-Beitrag erstellen"
gallery: "Galerie"
recentPosts: "Neue Beiträge"
popularPosts: "Beliebte Beiträge"
@ -762,6 +768,7 @@ middle: "Mittel"
low: "Niedrig"
emailNotConfiguredWarning: "Keine Email-Adresse hinterlegt"
ratio: "Verhältnis"
previewNoteText: "Vorschau anzeigen"
customCss: "Benutzerdefiniertes CSS"
customCssWarn: "Verwende diese Einstellung nur, wenn du weißt, was sie tut. Ungültige Eingaben können dazu führen, dass der Client nicht mehr normal funktioniert."
global: "Global"
@ -780,11 +787,41 @@ translatedFrom: "Aus {x} übersetzt"
accountDeletionInProgress: "Löschung des Benutzerkontos momentan in Bearbeitung"
usernameInfo: "Ein Name, durch den dein Benutzerkonto auf diesem Server identifiziert werden kann. Du kannst das Alphabet (a~z, A~Z), Ziffern (0~9) oder Unterstriche (_) verwenden. Benutzernamen können später nicht geändert werden."
aiChanMode: "Ai Modus"
keepCw: "Inhaltswarnung beibehalten"
keepCw: "Inhaltswarnungen beibehalten"
pubSub: "Pub/Sub Benutzerkonten"
lastCommunication: "Letzte Kommunikation"
resolved: "Gelöst"
unresolved: "Ungelöst"
itsOn: "Eingeschaltet"
itsOff: "Ausgeschaltet"
emailRequiredForSignup: "Angaben einer Email-Adresse als benötigt markieren"
unread: "Ungelesen"
filter: "Filter"
controlPanel: "Systemsteuerung"
manageAccounts: "Benutzerkonten verwalten"
makeReactionsPublic: "Reaktionsverlauf veröffentlichen"
makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktionen einsehen können."
classic: "Classic"
muteThread: "Thread stummschalten"
unmuteThread: "Threadstummschaltung aufheben"
ffVisibility: "Sichtbarkeit von Gefolgten/Followern"
ffVisibilityDescription: "Konfiguriere wer sehen kann, wem du folgst sowie wer dir folgt."
continueThread: "Weiteren Threadverlauf anzeigen"
deleteAccountConfirm: "Dein Benutzerkonto wird unwiderruflich gelöscht. Trotzdem fortfahren?"
_emailUnavailable:
used: "Diese Email-Adresse wird bereits verwendet"
format: "Das Format dieser Email-Adresse ist ungültig"
disposable: "Wegwerf-Email-Adressen können nicht verwendet werden"
mx: "Dieser Email-Server ist ungültig"
smtp: "Dieser Email-Server antwortet nicht"
_ffVisibility:
public: "Öffentlich"
followers: "Nur für Follower sichtbar"
private: "Privat"
_signup:
almostThere: "Fast geschafft"
emailAddressInfo: "Bitte gib deine Email-Adresse ein."
emailSent: "An deine Email-Adresse ({email}) wurde soeben eine Bestätigungsmail geschickt. Bitte klicke auf den enthaltenen Link, um die Erstellung deines Benutzerkontos abzuschließen."
_accountDelete:
accountDelete: "Benutzerkonto löschen"
mayTakeTime: "Da die Löschung eines Benutzerkontos ein aufwendiger Prozess ist, kann dessen Dauer davon abhängen, wie viel Inhalt in diesem erstellt wurde oder wie viele Dateien hochgeladen wurden."
@ -792,13 +829,6 @@ _accountDelete:
requestAccountDelete: "Löschung des Benutzerkontos anfordern"
started: "Löschung wurde eingeleitet."
inProgress: "Löschung in Bearbeitung"
_docs:
continueReading: "Mehr lesen"
features: "Funktionen"
generalTopics: "Allgemeine Themen"
advancedTopics: "Erweiterte Themen"
admin: "Administration"
translateWarn: "Dies ist ein übersetztes Dokument. Es kann zu Unterschieden mit dem Original kommen."
_ad:
back: "Zurück"
reduceFrequencyOfThisAd: "Diese Werbung weniger anzeigen"
@ -874,19 +904,19 @@ _mfm:
flip: "Spiegelung"
flipDescription: "Inhalt horizontal oder vertikal gespiegelt anzeigen."
jelly: "Animation (Dehnen)"
jellyDescription: "Verleiht eine sich dehnende Animation."
jellyDescription: "Verleiht dem Inhalt eine sich dehnende Animation."
tada: "Animation (Tada)"
tadaDescription: "Verleiht eine Animation mit \"Tada!\"-Gefühl"
jump: "Animation (Sprung)"
jumpDescription: "Verleiht eine springende Animation."
jumpDescription: "Verleiht dem Inhalt eine springende Animation."
bounce: "Animation (Federn)"
bounceDescription: "Verleiht eine federnde Animation."
bounceDescription: "Verleiht dem Inhalt eine federnde Animation."
shake: "Animation (Zittern)"
shakeDescription: "Verleiht eine zitternde Animation."
shakeDescription: "Verleiht dem Inhalt eine zitternde Animation."
twitch: "Animation (Zucken)"
twitchDescription: "Verleiht eine sehr stark zuckende Animation."
twitchDescription: "Verleiht dem Inhalt eine sehr stark zuckende Animation."
spin: "Animation (Rotieren)"
spinDescription: "Verleiht eine rotierende Animation."
spinDescription: "Verleiht dem Inhalt eine rotierende Animation."
x2: "Groß"
x2Description: "Inhalte größer anzeigen."
x3: "Sehr groß"
@ -899,6 +929,8 @@ _mfm:
fontDescription: "Setzt die Schriftart des Inhaltes fest."
rainbow: "Regenbogen"
rainbowDescription: "Lässt den Inhalt in Regenbogenfarben erscheinen."
sparkle: "Glitzer"
sparkleDescription: "Verleiht Inhalt einen glitzernden Partikeleffekt."
_reversi:
reversi: "Reversi"
gameSettings: "Spieleinstellungen"
@ -1022,9 +1054,9 @@ _theme:
infoFg: "Text von Informationen"
infoWarnBg: "Hintergrund von Warnungen"
infoWarnFg: "Text von Warnungen"
cwBg: "Hintergrund von verborgenen Inhalten"
cwFg: "Text von verborgenen Inhalten"
cwHoverBg: "Hintergrund von verborgenen Inhalten (Mouseover)"
cwBg: "Hintergrund des Inhaltswarnungsknopfs"
cwFg: "Text des Inhaltswarnungsknopfs"
cwHoverBg: "Hintergrund des Inhaltswarnungsknopfs (Mouseover)"
toastBg: "Hintergrund von Benachrichtigungen"
toastFg: "Text von Benachrichtigungen"
buttonBg: "Hintergrund von Schaltflächen"
@ -1125,6 +1157,10 @@ _permissions:
"write:user-groups": "Benutzergruppen bearbeiten oder löschen"
"read:channels": "Kanäle lesen"
"write:channels": "Kanäle bedienen"
"read:gallery": "Beiträge deiner Galerie lesen"
"write:gallery": "Deine Galerie bearbeiten"
"read:gallery-likes": "Liste deiner mit \"Gefällt mir\" markierten Galerie-Beiträge lesen"
"write:gallery-likes": "Liste deiner mit \"Gefällt mir\" markierten Galerie-Beiträge bearbeiten"
_auth:
shareAccess: "Möchtest du \"{name}\" authorisieren, auf dieses Benuzerkonto zugreifen zu können?"
shareAccessAsk: "Bist du dir sicher, dass du diese Anwendung authorisieren möchtest, auf dein Benutzerkonto zugreifen zu können?"
@ -1167,7 +1203,7 @@ _widgets:
aiscript: "AiScript-Konsole"
aichan: "Ai"
_cw:
hide: "Verbergen"
hide: "Inhalt verbergen"
show: "Inhalt anzeigen"
chars: "{count} Zeichen"
files: "{count} Datei(en)"

View File

@ -1,7 +1,7 @@
---
_lang_: "English"
headlineMisskey: "A network connected by notes"
introMisskey: "Welcome! Misskey is an open source, decentralized microblogging service.\nCreate \"notes\" to share what is happening now, or to share it with everyone around you. 📡\nWith \"reactions\", you can also quickly express your feelings about everyone's notes. 👍\nLet's explore a new world! 🚀"
introMisskey: "Welcome! Misskey is an open source, decentralized microblogging service.\nCreate \"notes\" to share your thoughts with everyone around you. 📡\nWith \"reactions\", you can also quickly express your feelings about everyone's notes. 👍\nLet's explore a new world! 🚀"
monthAndDay: "{month}/{day}"
search: "Search"
notifications: "Notifications"
@ -81,6 +81,8 @@ somethingHappened: "An error occurred"
retry: "Retry"
pageLoadError: "Failed to load page."
pageLoadErrorDescription: "This is normally caused by network errors or the browser's cache. Try clearing the cache and then try again after waiting a little while."
serverIsDead: "This server is not responding. Please wait for a while and try again."
youShouldUpgradeClient: "To view this page, please refresh to update your client."
enterListName: "Enter a list name"
privacy: "Privacy"
makeFollowManuallyApprove: "Follow requests require approval"
@ -92,7 +94,7 @@ unfollow: "Unfollow"
followRequestPending: "Pending follow request"
enterEmoji: "Enter an emoji"
renote: "Renote"
unrenote: "Take back Renote"
unrenote: "Take back renote"
renoted: "Renoted."
cantRenote: "This post can't be renoted."
cantReRenote: "A renote can't be renoted."
@ -136,7 +138,7 @@ settingGuide: "Recommended settings"
cacheRemoteFiles: "Cache remote files"
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote instance. Disabling this will decrease storage usage, but increase traffic, as thumbnails will not be generated."
flagAsBot: "Mark this account as as bot"
flagAsBotDescription: "Enable this option if this account is controlled by a program. If enabled, it will act as flag for other developers to prevent endless interaction chains with other bots and adjust Misskey's internal systems to treat this account as a bot."
flagAsBotDescription: "Enable this option if this account is controlled by a program. If enabled, it will act as a flag for other developers to prevent endless interaction chains with other bots and adjust Misskey's internal systems to treat this account as a bot."
flagAsCat: "Mark this account as a cat"
flagAsCatDescription: "Enable this option to mark this account as a cat."
autoAcceptFollowed: "Automatically approve follow requests from users you're following"
@ -199,7 +201,7 @@ done: "Done"
processing: "Processing..."
preview: "Preview"
default: "Default"
noCustomEmojis: "There are no emojis"
noCustomEmojis: "There are no emoji"
noJobs: "There are no jobs"
federating: "Federating"
blocked: "Blocked"
@ -213,7 +215,7 @@ instanceFollowers: "Followers of instance"
instanceUsers: "Users of this instance"
changePassword: "Change password"
security: "Security"
retypedNotMatch: "The inputs does not match."
retypedNotMatch: "The inputs do not match."
currentPassword: "Current password"
newPassword: "New password"
newPasswordRetype: "Retype new password"
@ -429,7 +431,7 @@ invitationCode: "Invitation code"
checking: "Checking..."
available: "Available"
unavailable: "Not available"
usernameInvalidFormat: "You can use upper- and lowercase letters, numbers as well as underscores."
usernameInvalidFormat: "You can use upper- and lowercase letters, numbers, and underscores."
tooShort: "Too short"
tooLong: "Too long"
weakPassword: "Weak password"
@ -445,7 +447,7 @@ language: "Language"
uiLanguage: "User interface language"
groupInvited: "You've been invited to a group"
aboutX: "About {x}"
useOsNativeEmojis: "Use OS native Emojis"
useOsNativeEmojis: "Use OS native Emoji"
youHaveNoGroups: "You have no groups"
joinOrCreateGroup: "Get invited to a group or create your own."
noHistory: "No history available"
@ -482,7 +484,7 @@ objectStorageBaseUrlDesc: "URL used as reference. Specify the URL of your CDN or
objectStorageBucket: "Bucket"
objectStorageBucketDesc: "Please specify the bucket name used at your provider."
objectStoragePrefix: "Prefix"
objectStoragePrefixDesc: "Files will stored under directories with this prefix."
objectStoragePrefixDesc: "Files will be stored under directories with this prefix."
objectStorageEndpoint: "Endpoint"
objectStorageEndpointDesc: "Leave this empty if you are using AWS S3, otherwise specify the endpoint as '<host>' or '<host>:<port>', depending on the service you are using."
objectStorageRegion: "Region"
@ -529,6 +531,8 @@ removeAllFollowing: "Unfollow all followed users"
removeAllFollowingDescription: "Executing this unfollows all accounts from {host}. Please run this if the instance e.g. no longer exists."
userSuspended: "This user has been suspended."
userSilenced: "This user has been silenced."
yourAccountSuspendedTitle: "This account is suspended"
yourAccountSuspendedDescription: "This account has been suspended due to breaking the server's terms of services or similar. Contact the administrator if you would like to know a more detailed reason. Please do not create a new account."
menu: "Menu"
divider: "Divider"
addItem: "Add Item"
@ -606,7 +610,7 @@ useGlobalSettingDesc: "If turned on, your account's notification settings will b
other: "Other"
regenerateLoginToken: "Regenerate login token"
regenerateLoginTokenDescription: "Regenerate the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out."
setMultipleBySeparatingWithSpace: "You can set multiple by separating them with spaces."
setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces."
fileIdOrUrl: "File-ID or URL"
chatOpenBehavior: "Behavior of the chat window when opened"
behavior: "Behavior"
@ -616,6 +620,8 @@ reportAbuse: "Report"
reportAbuseOf: "Report {name}"
fillAbuseReportDescription: "Please fill in details regarding this report. If it is about a specific note, please include its URL."
abuseReported: "Your report has been sent. Thank you very much."
reporteeOrigin: "Reportee Origin"
reporterOrigin: "Reporter Origin"
send: "Send"
abuseMarkAsResolved: "Mark report as resolved"
openInNewTab: "Open in new tab"
@ -649,7 +655,7 @@ pollVotesCount: "Number of sent poll votes"
pollVotedCount: "Number of received poll votes"
yes: "Yes"
no: "No"
driveFilesCount: "Number of drive files"
driveFilesCount: "Number of Drive files"
driveUsage: "Drive space usage"
noCrawle: "Reject crawler indexing"
noCrawleDescription: "Ask search engines to not index your profile page, notes, Pages, etc."
@ -657,7 +663,7 @@ lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", yo
alwaysMarkSensitive: "Mark as NSFW by default"
loadRawImages: "Load original images instead of showing thumbnails"
disableShowingAnimatedImages: "Don't play animated images"
verificationEmailSent: "A verification email has been sent. Please access the included link to complete verification."
verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification."
notSet: "Not set"
emailVerified: "Email has been verified"
noteFavoritesCount: "Number of favorite notes"
@ -688,7 +694,7 @@ sendErrorReportsDescription: "When turned on, detailed error information will be
myTheme: "My theme"
backgroundColor: "Background color"
accentColor: "Accent color"
textColor: "Textfarbe"
textColor: "Text color"
saveAs: "Save as..."
advanced: "Advanced"
value: "Value"
@ -724,7 +730,7 @@ fullView: "Full view"
quitFullView: "Exit full view"
addDescription: "Add description"
userPagePinTip: "You can display notes here by selecting \"Pin to profile\" from the menu of individual notes."
notSpecifiedMentionWarning: "This note contains mentions of users not included as recipient"
notSpecifiedMentionWarning: "This note contains mentions of users not included as recipients"
info: "About"
userInfo: "User information"
unknown: "Unknown"
@ -748,7 +754,7 @@ switch: "Switch"
noMaintainerInformationWarning: "Maintainer information is not configured."
noBotProtectionWarning: "Bot protection is not configured."
configure: "Configure"
postToGallery: "Post to Gallery"
postToGallery: "Create new gallery post"
gallery: "Gallery"
recentPosts: "Recent posts"
popularPosts: "Popular posts"
@ -762,6 +768,7 @@ middle: "Medium"
low: "Low"
emailNotConfiguredWarning: "Email address not set."
ratio: "Ratio"
previewNoteText: "Show preview"
customCss: "Custom CSS"
customCssWarn: "This setting should only be used if you know what it does. Entering improper values may cause the client to stop functioning normally."
global: "Global"
@ -778,13 +785,43 @@ whatIsNew: "Show changes"
translate: "Translate"
translatedFrom: "Translated from {x}"
accountDeletionInProgress: "Account deletion is currently in progress"
usernameInfo: "A name that identifies your account from others on this server. You can use the alphabet (a~z, A~Z), digits (0~9) or underscores (_). Usernames can not be changed later."
usernameInfo: "A name that identifies your account from others on this server. You can use the alphabet (a~z, A~Z), digits (0~9) or underscores (_). Usernames cannot be changed later."
aiChanMode: "Ai Mode"
keepCw: "Keep Content Warning"
keepCw: "Keep Content Warnings"
pubSub: "Pub/Sub Accounts"
lastCommunication: "Last communication"
resolved: "Resolved"
unresolved: "Unresolved"
itsOn: "Enabled"
itsOff: "Disabled"
emailRequiredForSignup: "Require email address for sign-up"
unread: "Unread"
filter: "Filter"
controlPanel: "Control Panel"
manageAccounts: "Manage Accounts"
makeReactionsPublic: "Set reaction history to public"
makeReactionsPublicDescription: "This will make the list of all your past reactions publicly visible."
classic: "Classic"
muteThread: "Mute thread"
unmuteThread: "Unmute thread"
ffVisibility: "Follows/Followers Visibility"
ffVisibilityDescription: "Allows you to configure who can see who you follow and who follows you."
continueThread: "View thread continuation"
deleteAccountConfirm: "This will irreversibly delete your account. Proceed?"
_emailUnavailable:
used: "This email address is already being used"
format: "The format of this email address is invalid"
disposable: "Disposable email addresses may not be used"
mx: "This email server is invalid"
smtp: "This email server is not responding"
_ffVisibility:
public: "Public"
followers: "Visible to followers only"
private: "Private"
_signup:
almostThere: "Almost there"
emailAddressInfo: "Please enter your email address."
emailSent: "A confirmation email has been sent to your email address ({email}). Please click the included link to complete account creation."
_accountDelete:
accountDelete: "Delete Account"
mayTakeTime: "As account deletion is a resource-heavy process, it may take some time to complete depending on how much content you have created and how many files you have uploaded."
@ -792,13 +829,6 @@ _accountDelete:
requestAccountDelete: "Request account deletion"
started: "Deletion has been started."
inProgress: "Deletion is currently in progress"
_docs:
continueReading: "Read more"
features: "Features"
generalTopics: "General topics"
advancedTopics: "Advanced Topics"
admin: "Administration"
translateWarn: "This is a translated document. Its contents may differ from the original."
_ad:
back: "Back"
reduceFrequencyOfThisAd: "Show this ad less"
@ -810,7 +840,7 @@ _gallery:
my: "My Gallery"
liked: "Liked Posts"
like: "Like"
unlike: "Undo like"
unlike: "Remove like"
_email:
_follow:
title: "You've got a new follower"
@ -850,11 +880,11 @@ _mfm:
url: "URL"
urlDescription: "URLs can be displayed."
link: "Link"
linkDescription: "Specific parts of text can be displayed as an URL."
linkDescription: "Specific parts of text can be displayed as a URL."
bold: "Bold"
boldDescription: "Highlights letters by making them thicker."
small: "Small"
smallDescription: "Displays contents small and thin."
smallDescription: "Displays content small and thin."
center: "Center"
centerDescription: "Displays content centered."
inlineCode: "Code (In-line)"
@ -866,7 +896,7 @@ _mfm:
blockMath: "Math (Block)"
blockMathDescription: "Display multi-line Math formulas (KaTeX) in a block"
quote: "Quote"
quoteDescription: "Displays content as quote."
quoteDescription: "Displays content as a quote."
emoji: "Custom Emoji"
emojiDescription: "By surrounding a custom emoji name with colons, custom emoji can be displayed."
search: "Search"
@ -896,9 +926,11 @@ _mfm:
blur: "Blur"
blurDescription: "Content can be blurred via this effect. It will be displayed clearly when hovered over."
font: "Font"
fontDescription: "Sets the font to display contents in."
fontDescription: "Sets the font to display content in."
rainbow: "Rainbow"
rainbowDescription: "Makes the content appear in rainbow colors."
sparkle: "Sparkle"
sparkleDescription: "Gives content a sparkling particle effect."
_reversi:
reversi: "Reversi"
gameSettings: "Game settings"
@ -958,8 +990,8 @@ _menuDisplay:
_wordMute:
muteWords: "Muted words"
muteWordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
muteWordsDescription2: "Surround keywords by slashes to use regular expressions."
softDescription: "Hides notes fulfilling the set conditions from the timeline."
muteWordsDescription2: "Surround keywords with slashes to use regular expressions."
softDescription: "Hide notes that fulfil the set conditions from the timeline."
hardDescription: "Prevents notes fulfilling the set conditions from being added to the timeline. In addition, these notes will not be added to the timeline even if the conditions are changed."
soft: "Soft"
hard: "Hard"
@ -1017,7 +1049,7 @@ _theme:
divider: "Divider"
scrollbarHandle: "Scrollbar handle"
scrollbarHandleHover: "Scrollbar handle (Hover)"
dateLabelFg: "Text of date labels"
dateLabelFg: "Date label text"
infoBg: "Information background"
infoFg: "Information text"
infoWarnBg: "Warning background"
@ -1090,19 +1122,19 @@ _tutorial:
_2fa:
alreadyRegistered: "You have already registered a 2-factor authentication device."
registerDevice: "Register a new device"
registerKey: "Register a new Security Key"
registerKey: "Register a security key"
step1: "First, install an authentication app (such as {a} or {b}) on your device."
step2: "Then, scan the QR code displayed on this screen."
step3: "Enter the token provided by your app to finish setup."
step4: "From now, any future login attempts will ask for such a login token."
securityKeyInfo: "Besides fingerprint or PIN authentication, you can also setup authentication via hardware security keys that support FIDO2 to further secure your login process."
step4: "From now on, any future login attempts will ask for such a login token."
securityKeyInfo: "Besides fingerprint or PIN authentication, you can also setup authentication via hardware security keys that support FIDO2 to further secure your account."
_permissions:
"read:account": "View your account information"
"write:account": "Edit your account information"
"read:blocks": "View your list of blocked users"
"write:blocks": "Edit your list of blocked users"
"read:drive": "Access your drive files and folders"
"write:drive": "Edit or delete your drive files and folders"
"read:drive": "Access your Drive files and folders"
"write:drive": "Edit or delete your Drive files and folders"
"read:favorites": "View your list of favorites"
"write:favorites": "Edit your list of favorites"
"read:following": "View information on who you follow"
@ -1125,6 +1157,10 @@ _permissions:
"write:user-groups": "Edit or delete your user groups"
"read:channels": "Read your channels"
"write:channels": "Modify your channels"
"read:gallery": "View your gallery"
"write:gallery": "Edit your gallery"
"read:gallery-likes": "View list of liked gallery posts"
"write:gallery-likes": "Edit list of liked gallery posts"
_auth:
shareAccess: "Would you like to authorize \"{name}\" to access this account?"
shareAccessAsk: "Are you sure you want to authorize this application to access your account?"
@ -1327,23 +1363,23 @@ _rooms:
doll-ai: "Ai doll"
banknote: "Pile of money"
_pages:
newPage: "Create a page"
editPage: "Edit this page"
newPage: "Create a new Page"
editPage: "Edit this Page"
readPage: "Source view activated"
created: "Page successfully created"
updated: "Page successfully edited"
deleted: "Page successfully deleted"
pageSetting: "Page settings"
nameAlreadyExists: "The specified page URL already exists"
invalidNameTitle: "The specified page URL is invalid"
invalidNameText: "Make sure the page title is not empty"
editThisPage: "Edit this page"
nameAlreadyExists: "The specified Page URL already exists"
invalidNameTitle: "The specified Page URL is invalid"
invalidNameText: "Make sure the Page title is not empty"
editThisPage: "Edit this Page"
viewSource: "View source"
viewPage: "View your pages"
viewPage: "View your Pages"
like: "Like"
unlike: "Undo like"
my: "My pages"
liked: "Liked pages"
unlike: "Remove like"
my: "My Pages"
liked: "Liked Pages"
featured: "Featured"
inspector: "Inspector"
contents: "Contents"
@ -1353,10 +1389,10 @@ _pages:
url: "Page URL"
summary: "Page summary"
alignCenter: "Center elements"
hideTitleWhenPinned: "Hide page title when pinned to profile"
hideTitleWhenPinned: "Hide Page title when pinned to profile"
font: "Font"
fontSerif: "Serif"
fontSansSerif: "Sans serif"
fontSansSerif: "Sans Serif"
eyeCatchingImageSet: "Set thumbnail"
eyeCatchingImageRemove: "Delete thumbnail"
chooseBlock: "Add a block"
@ -1571,7 +1607,7 @@ _pages:
seedRandomPick: "Randomly choose from list (with seed)"
_seedRandomPick:
arg1: "Seed"
arg2: "Liste"
arg2: "List"
DRPWPM: "Randomly choose from weighted list (Changes once a day for each user)"
_DRPWPM:
arg1: "Text list"
@ -1651,8 +1687,8 @@ _deck:
columnMargin: "Margin between columns"
columnHeaderHeight: "Column header height"
addColumn: "Add column"
swapLeft: "Swap to left"
swapRight: "Swap to right"
swapLeft: "Swap left"
swapRight: "Swap right"
swapUp: "Swap with above"
swapDown: "Swap with below"
stackLeft: "Stack on left column"

View File

@ -1,49 +1,50 @@
---
_lang_: "Esperanto"
headlineMisskey: "Reto ligata per notoj"
introMisskey: "Bonvenon! Misskey estas malfermitkoda malcentraliza mikrobloga servo.\nKreu \"noto\"n por diskonigu ke nun okazas, aŭ por dissendu pri vi. 📡\nPer la funkcio \"reago\", vi ankaŭ povas rapide esprimi vian senton pri ĉies noto. 👍\nEsploru novan mondon. 🚀"
monthAndDay: "{day}a/{month}"
headlineMisskey: "Jen la reto konektata de notoj"
introMisskey: "Bonvenon! Misskey estas malfermitkoda malcentraliza etbloga servo.\nKreu \"noto\"n por paroli vian penson al iuj ĉirkaŭ vi. 📡\nLa funkcion \"reago\" ebligas esprimi rapide vian senton pri ies noto en Fediverso. 👍\nBonvole esploru novan mondon. 🚀"
monthAndDay: "La {day}a de la {month}a"
search: "Serĉi"
notifications: "Sciigoj"
username: "Uzantnomo"
password: "Pasvorto"
forgotPassword: "Ĉu vi forgesis pasvorton?"
fetchingAsApObject: "Informpetado de Fediverso..."
fetchingAsApObject: "Informpetado de kunfederaĵo…"
ok: "Akcepteble"
gotIt: "Mi komprenas"
cancel: "Nuligi"
enterUsername: "Entajpu uzantnomon"
renotedBy: "Renoto farita de {user}"
renotedBy: "Noto plusendita de {user}"
noNotes: "Neniu noto!"
noNotifications: "Vi ne havas sciigojn."
instance: "Nodo"
settings: "Agordoj"
basicSettings: "Ĝeneralaj agordoj"
otherSettings: "Aliaj agordoj"
openInWindow: "Malfermi en nova fenestro"
openInWindow: "Malfermi en fenestro"
profile: "Profilo"
timeline: "Templinio"
noAccountDescription: "Tiu uzanto ne skribis biografieton"
noAccountDescription: "Neniu sinprezento"
login: "Ensaluti"
loggingIn: "Ensalutado..."
loggingIn: "Ensalutado"
logout: "Elsaluti"
signup: "Krei konton"
uploading: "Alŝutado..."
signup: "Registriĝi"
uploading: "Alŝutado"
save: "Konservi"
users: "Uzantoj"
addUser: "Aldoni uzanton"
favorite: "Preferi"
favorites: "Preferataĵoj"
favorites: "Preferaĵoj"
unfavorite: "Malpreferi"
favorited: "Aldonita al preferataĵoj"
cantFavorite: "Ne aldonita al preferataĵoj"
pin: "Alpingli al la profilo"
favorited: "Aldonita al via listo de preferaĵoj."
alreadyFavorited: "Jam aldonita al via listo de preferaĵoj."
cantFavorite: "Ĝi ne povis esti aldonita al via listo de preferaĵoj."
pin: "Alpingli"
unpin: "Depingli"
copyContent: "Kopii enhavon"
copyLink: "Kopii ligilon"
delete: "Forviŝi"
deleteAndEdit: "Forviŝi kaj redakti"
deleteAndEditConfirm: "Ĉu vi certas, ke vi volas forigi kaj redakti la noton? Ankaŭ ĉiuj reagoj, renotoj, kaj respondoj al ĝi foriĝos."
deleteAndEditConfirm: "Ĉu vi certas ke vi volas redakti forviŝinte la noton? Tio forviŝos ankaŭ ĉiujn reagojn, plusendojn, kaj respondojn apartenantajn al ĝi."
addToList: "Aldoni al listo"
sendMessage: "Sendi mesaĝon"
copyUsername: "Kopii uzantnomon"
@ -51,56 +52,60 @@ searchUser: "Serĉi uzanton"
reply: "Respondi"
loadMore: "Vidu pli"
showMore: "Vidi pli"
youGotNewFollower: "sksekvis vin"
youGotNewFollower: "eksekvis vin"
receiveFollowRequest: "Peto de sekvado estas ricevita"
followRequestAccepted: "La peto de sekvado akceptita"
mention: "Mencioj"
mentions: "Al vi"
directNotes: "Notoj rektaj"
mentions: "Mencioj"
directNotes: "Rekte senditaj"
importAndExport: "Importi/eksporti"
import: "Importi"
export: "Eksporti"
files: "Dosieroj"
download: "Elŝuti"
driveFileDeleteConfirm: "Ĉu vi certas, ke vi volas forviŝi la dosieron \"{name}\"? Ankaŭ notoj kiuj enhavas ĝin forviŝiĝos."
unfollowConfirm: "Ĉu vi certas, ke vi volas ne plu sekvi {name}'(o)n?"
driveFileDeleteConfirm: "Ĉu vi certas, ke vi volas forviŝi la dosieron \"{name}\"? Pro tio forviŝiĝos ankaŭ la notoj kiuj enhavas ĝin."
unfollowConfirm: "Ĉu vi certas, ke vi volas ĉesi sekvi {name}'(o)n?"
lists: "Listoj"
noLists: "Neniu listo"
note: "Elsendi noto"
note: "Sendi"
notes: "Notoj"
following: "Sekvatoj"
followers: "Sekvantoj"
followsYou: "Sekvas vin"
createList: "Kreii liston"
createList: "Krei liston"
manageLists: "Administri liston"
error: "Eraro"
somethingHappened: "Problemo okazis."
retry: "Reprovi"
somethingHappened: "Problemo okazis"
retry: "Provi denove"
enterListName: "Entajpu nomon de la listo"
privacy: "Privateco"
makeFollowManuallyApprove: "Eksekvi vin devas peti al vi"
defaultNoteVisibility: "Implicitaĵo de videbleco"
follow: "Sekvi"
followRequest: "Peti de sekvado"
followRequests: "Petoj de sekvado"
unfollow: "Malsekvi"
unfollow: "Ne plu sekvi"
followRequestPending: "Atendado akcepti vian peton de eksekvado"
enterEmoji: "Entajpu emoĵion"
renote: "Fari renoton"
unrenote: "Malfari renoton"
renoted: "Renoto fariĝis."
cantRenote: "Tiu noto ne estas resendebla."
cantReRenote: "Renotoj ne estas renotebla."
renote: "Plusendi la noton"
unrenote: "Malfari plusendadon"
renoted: "Sukcese plusendita"
cantRenote: "Oni ne povas plusendi la noton."
cantReRenote: "Plusendo de noto ne estas plusendebla."
quote: "Citi"
pinnedNote: "Alpinglita noto"
pinned: "Alpingli al la profilo"
pinned: "Alpingli"
you: "Vi"
clickToShow: "Klaku por malkaŝu"
sensitive: "Enhavo ne estas deca por laborejo (NSFW)"
add: "Aldoni"
reaction: "Reagoj"
rememberNoteVisibility: "Rememori la videblecon de la noto laste sendita"
reactionSettingDescription: "Agordi la reagojn kiujn vi volas prefere montrigi ĉe la elektilo de reagoj"
rememberNoteVisibility: "Rememori la agordon de videbleco de la noto laste sendita "
attachCancel: "Deigi aldonaĵon"
markAsSensitive: "Troviĝi NSFW"
unmarkAsSensitive: "Ne troviĝi NSFW"
enterFileName: "Entajpu nomon de dosiero"
enterFileName: "Entajpu nomon de la dosiero"
mute: "Silentigi"
unmute: "Malsilentigi"
block: "Bloki"
@ -123,11 +128,11 @@ emojiName: "Nomo de emoĵio"
emojiUrl: "URL de la emoĵio"
addEmoji: "Aldoni emoĵion"
settingGuide: "Agordaj rekomendoj"
cacheRemoteFiles: "Havi staplon de transaj dosieroj"
cacheRemoteFiles: "Stapli transajn dosierojn"
flagAsBot: "Agordo por robota uzanto"
flagAsCat: "Agordo de katiĝa uzanto"
flagAsCat: "Agi kat-iĝon"
addAccount: "Aldoni konton"
showOnRemote: "Vidi sur la fora nodo"
showOnRemote: "Vidi ĉe la surloka nodo"
general: "Ĝenerala"
wallpaper: "Ekranfonoj"
setWallpaper: "Apliki ekranfonon"
@ -135,41 +140,57 @@ removeWallpaper: "Forviŝi ekranfonon. "
searchWith: "Serĉi: {q}"
youHaveNoLists: "Vi ne havas listojn."
followConfirm: "Ĉu vi certas ke vi volas sekvi {name}'(o)n?"
host: "Gastigo"
selectUser: "Elekti uzanton"
recipient: "Ricevonto"
annotation: "Komentarioj"
federation: "Kunfederaĵo"
instances: "Nodo"
perHour: "Po horo"
perDay: "Po tago"
blockThisInstance: "Bloki tiun nodon"
federation: "Federaĵo"
instances: "Nodoj"
latestRequestSentAt: "Lastatempa sendo"
latestRequestReceivedAt: "Lastatempa ricevo"
latestStatus: "Laŭstato"
charts: "Diagramoj"
perHour: "por horo"
perDay: "por tago"
blockThisInstance: "Bloki la nodon"
operations: "Agoj"
software: "Programaro"
version: "Versio"
metadata: "Metadatumoj"
withNFiles: "{n} dosiero(j)"
disk: "Diskilo"
monitor: "Monitoro"
network: "Reto"
disk: "Disko"
instanceInfo: "Informoj pri la nodo"
statistics: "Statistikoj"
clearCachedFiles: "Malplenigi la staplon"
clearCachedFilesConfirm: "Ĉu vi certas, ke vi volas forviŝi ĉiujn transajn dosierojn en la staplo?"
blockedInstances: "Blokitaj nodoj"
muteAndBlock: "Silentigitoj kaj blokitoj"
mutedUsers: "Silentigitaj uzantoj"
blockedUsers: "Blokitaj uzantoj"
noUsers: "Sen uzantoj"
noUsers: "Neniu uzanto"
editProfile: "Redakti profilon"
noteDeleteConfirm: "Ĉu vi certas ke vi volas forviŝi la noton?"
pinLimitExceeded: "Vi povas alpingli ne pli noton."
processing: "Prilaborado..."
pinLimitExceeded: "Vi ne povas alpingli pli"
done: "Fini"
processing: "Prilaborado…"
preview: "Antaŭmontro"
default: "Defaŭlta"
noCustomEmojis: "Neniu emoĵio"
federating: "Nun kunfederanta"
blocked: "Blokita"
suspended: "Suspendita"
noJobs: "Neniu laboro"
federating: "Federantaj"
blocked: "Blokitaj"
suspended: "Suspenditaj"
all: "Ĉiuj"
subscribing: "Abonata"
publishing: "Al kiu dissendas"
subscribing: "Abonitaj"
publishing: "Abonintaj"
notResponding: "Alvokato ne disponeblas"
instanceFollowing: "Sekvatoj el la nodo"
instanceFollowing: "Sekvatoj en la nodo"
instanceFollowers: "Sekvantoj el la nodo"
instanceUsers: "Uzantoj de ĉi tiu nodo"
instanceUsers: "Uzantoj de la nodo"
changePassword: "Ŝanĝi pasvorton"
security: "Sekureco"
retypedNotMatch: "La enigitoj ne estas konformaj."
currentPassword: "Aktuala pasvorto"
newPassword: "Nova pasvorto"
newPasswordRetype: "Reentajpu la novan pasvorton"
@ -177,14 +198,15 @@ attachFile: "Aldoni dosieron"
more: "Plu!"
featured: "Maksimumi"
usernameOrUserId: "Uzantnomo aŭ identigilo de uzanto"
noSuchUser: "Neniuj uzantoj trovitaj."
noSuchUser: "Neniuj uzantoj trovitaj"
lookup: "Informpeti"
announcements: "Novaĵoj"
imageUrl: "URL de bildo"
imageUrl: "URL de la bildo"
remove: "Forigi"
removed: "Forviŝis"
removed: "Forigita"
removeAreYouSure: "Ĉu vi certas ke vi volas forigi \"{x}\"'(o)n?"
deleteAreYouSure: "Ĉu vi certas ke vi volas forviŝi \"{x}\"'(o)n?"
resetAreYouSure: "Ĉu vi certas restarigi?"
saved: "Konservita"
messaging: "Retbabili"
upload: "Alŝuti"
@ -192,23 +214,31 @@ fromDrive: "De la disko"
fromUrl: "De URL"
uploadFromUrl: "Alŝuti de URL"
uploadFromUrlDescription: "URL de la dosiero kiun vi volas alŝuti"
uploadFromUrlRequested: "La alŝutado estis patita"
explore: "Esplori"
games: "Miskiaj Ludoj"
messageRead: "Legita"
noMoreHistory: "Ne plu de la historio"
startMessaging: "Komenci babiladon"
nUsersRead: "Legita de {n} homoj"
agreeTo: "Mi akceptas {0}'(o)n"
tos: "Kondiĉoj de uzado"
start: "Komenciĝi"
home: "Hejma"
remoteUserCaution: "Tiu infomoj estas ne tute ekzakta pro distanca uzanto."
remoteUserCaution: "Ĉi tiuj infomoj estas ne tute ekzaktaj pro transa uzanto."
activity: "Aktiveco"
images: "Bildoj"
birthday: "Naskiĝdato"
registeredDate: "Registriĝdato"
yearsOld: "{age} jaroj aĝa"
registeredDate: "Dato de registriĝo"
location: "Loko"
theme: "Koloraro"
themeForLightMode: "Luma kolararo en la luma modo"
themeForDarkMode: "Malluma kolararo en la malluma modo"
light: "Luma"
dark: "Malluma"
lightThemes: "Luma koloraro"
darkThemes: "Malluma koloraro"
drive: "Disko"
fileName: "Dosiernomo"
selectFile: "Elekti dosieron"
@ -224,20 +254,24 @@ addFile: "Aldoni dosieron"
emptyDrive: "La disko malplenas"
emptyFolder: "La dosierujo malplenas"
unableToDelete: "Ne forigebla"
inputNewFileName: "Entajpu nova nomon de la dosiero"
inputNewFolderName: "Entajpu nova nomon de la dosierujo"
inputNewFileName: "Entajpu novan nomon de la dosiero"
inputNewDescription: "Entajpu novan priskribon"
inputNewFolderName: "Entajpu novan nomon de la dosierujo"
hasChildFilesOrFolders: "La dosierujo ne estas forviŝebla, ĉar ĝi ne malplenas."
copyUrl: "Kopii URL"
rename: "Alinomi"
avatar: "Ikono"
banner: "Standardo"
nsfw: "Enhavo ne estas deca por laborejo (NSFW)"
disconnectedFromServer: "Malkonektita de servilo"
reload: "Reŝargi"
doNothing: "Ignori"
watch: "Observi"
unwatch: "Malobservi"
accept: "Permesi"
normal: "Normala"
instanceName: "Nomo de la nodo"
instanceDescription: "Priskribo de la nodo "
maintainerName: "Nomo de la administranto"
maintainerEmail: "Retpoŝto de la administranto"
tosUrl: "URL de kondiĉoj de uzado"
@ -245,14 +279,17 @@ thisYear: "Ĉi-jare"
thisMonth: "Ĉi-monate"
today: "Hodiaŭ"
dayX: "{day}a"
monthX: "{month}"
monthX: "La {month}a monato"
yearX: "La jaro {year}"
pages: "Paĝoj"
integration: "Integri"
connectService: "Konekti"
disconnectService: "Farkonektiĝi"
enableLocalTimeline: "Ebligi lokan templinion"
enableGlobalTimeline: "Ebligi mallokan templinion"
registration: "Registri"
enableRegistration: "Ebligi novan uzanton registriĝon"
invite: "Inviti"
driveCapacityPerLocalAccount: "Volumo de disko po unu loka uzanto"
driveCapacityPerRemoteAccount: "Volumo de disko po unu transa uzanto"
iconUrl: "URL de la ikono (retpaĝsimbolo, ktp)"
@ -262,9 +299,18 @@ basicInfo: "Baza informo"
pinnedUsers: "Alpinglita uzanto"
pinnedPages: "Alpinglitaj paĝoj"
pinnedNotes: "Alpinglita noto"
hcaptcha: "hCaptcha"
enableHcaptcha: "Ebligi hCaptcha"
hcaptchaSiteKey: "Reteja ŝlosilo"
hcaptchaSecretKey: "Sekreta ŝlosilo"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Ebligi reCAPTCHA'on"
recaptchaSiteKey: "Reteja ŝlosilo"
recaptchaSecretKey: "Sekreta ŝlosilo"
antennas: "Antenoj"
manageAntennas: "Administri antenojn"
name: "Nomo"
antennaSource: "Fonto de la anteno"
notifyAntenna: "Oni sciigos novajn notojn"
withFileAntenna: "Nur kun aldonaĵo"
withReplies: "Inkluzive respondoj"
@ -278,30 +324,38 @@ unsilenceConfirm: "Ĉu vi certas ke vi volas malmutigi la uzanton?"
popularUsers: "Popularaj uzantoj"
recentlyUpdatedUsers: "Uzantoj kiuj lastatempe sendis noton"
recentlyRegisteredUsers: "Novaliĝintaj uzantoj"
exploreUsersCount: "Tiuj estas {count} uzantoj"
recentlyDiscoveredUsers: "Lastatempe trovitaj uzantoj"
exploreUsersCount: "Tio estas {count} uzantoj"
exploreFediverse: "Esplori la Fediverson"
popularTags: "Popularaj kradvortoj"
userList: "Listoj"
about: "Informoj"
aboutMisskey: "Pri Misskey"
administrator: "Administranto"
token: "Ĵetono"
twoStepAuthentication: "Dua-faktora aŭtentiko"
moderator: "Kontrolisto"
nUsersMentioned: "{n} uzanto(j) menciis"
securityKey: "Sekureca ŝlosilo"
securityKeyName: "Nomo de la ŝlosilo"
lastUsed: "Plej malnove uzita"
unregister: "Malregistriĝi"
passwordLessLogin: "Ensaluti sen pasvorto"
resetPassword: "Restarigi pasvorton"
newPasswordIs: "La nova pasvorto estas {password}."
share: "Diskonigi"
notFound: "Ne trovita"
cacheClear: "Malplenigi staplon"
markAsReadAllNotifications: "Marki ĉiujn sciigojn kiel legito"
help: "Manlibro de uzado"
inputMessageHere: "Entajpu masaĝo tie ĉi"
close: "Fermi"
group: "Grupo"
groups: "Grupoj"
createGroup: "Krei grupon"
ownedGroups: "Administrataj grupoj"
joinedGroups: "La grupoj kiujn la uzanto aliĝis"
invites: "Inviti"
groupName: "Grupa nomo"
members: "Membroj"
messagingWithUser: "Babili private"
@ -310,21 +364,31 @@ title: "Titolo"
text: "Teksto"
enable: "Ebligi"
next: "Sekve"
retype: "Retajpu"
noteOf: "Noto de {user}"
quoteAttached: "Kun citaĵo"
quoteQuestion: "Ĉu vi aldonas citaĵon?"
noMessagesYet: "Ankoraŭ neniu mesaĝo"
newMessageExists: "Vi ricevis novan mesaĝon."
onlyOneFileCanBeAttached: "Vi povas aldoni nur unu dosieron po unu mesaĝo."
invitationCode: "Kodo de invito"
onlyOneFileCanBeAttached: "Oni povas aldoni nur unu dosieron po mesaĝo."
signinRequired: "Bonvolu ensaluti"
invitations: "Inviti"
invitationCode: "Invita kodo"
unavailable: "Ne disponebla"
passwordMatched: "Konforma"
passwordNotMatched: "Nekonforma"
or: "Aŭ"
language: "Lingvo"
uiLanguage: "Lingvo de la fasado"
uiLanguage: "Lingvo de fasado"
aboutX: "Pri {x}"
useOsNativeEmojis: "Oni uzas la emoĵioj de la denaska sistemo"
youHaveNoGroups: "Neniuj grupoj"
doing: "Traktado..."
category: "Kategorio"
tags: "Etikedoj"
createAccount: "Krei konton"
existingAccount: "Ekzista konto"
regenerate: "Regeneri"
fontSize: "Tipara grando"
noFollowRequests: "Vi ne havas peto de sekvado"
openImageInNewTab: "Fermi la bildon en nova tablo"
@ -332,10 +396,11 @@ dashboard: "Stirpanelo"
local: "Loka"
remote: "Transa"
total: "Entute"
appearance: "Eksteraĵo"
clientSettings: "Agordoj de kliento"
accountSettings: "Agordoj de Konto"
accountSettings: "Agordoj de konto"
numberOfDays: "Nombro de tagoj"
hideThisNote: "Kaŝi tiun noton"
hideThisNote: "Kaŝi la noton"
objectStorageBaseUrl: "Baza URL"
objectStorageRegion: "Regiono"
objectStorageUseSSL: "Oni uzas SSL"
@ -346,11 +411,32 @@ sounds: "Sonoj"
listen: "Aŭdi"
none: "Neniu"
showInPage: "Vidi en paĝo"
popout: "Superigi"
volume: "Laŭteco"
masterVolume: "Baza laŭteco"
details: "Detaloj"
chooseEmoji: "Elekti emoĵion"
recentUsed: "Lastatempaj uzitaj"
install: "Instali"
uninstall: "Malinstali"
installedApps: "Instalita programo"
nothing: "Neniu"
installedDate: "Dato de instalado"
lastUsedDate: "Lastfoje uzita je"
state: "Stato"
sort: "Ordigado"
scratchpad: "Malneta redaktilo"
output: "Elmeto"
script: "Skripto"
disablePagesScript: "Malebligi AiScripto en la paĝoj"
deleteAllFiles: "Forviŝi ĉiujn dosierojn"
deleteAllFilesConfirm: "Ĉu vi certas, ke vi volas forviŝi ĉiujn viajn dosierojn?"
deleteAllFilesConfirm: "Ĉu vi certas, ke vi volas forviŝi ĉiujn dosierojn?"
removeAllFollowing: "Ĉesi sekvi ĉiujn sekvatojn"
userSuspended: "Ĉi tiu uzanto estas flostigita."
userSilenced: "Ĉi tiu uzanto estas mutigita."
menu: "Menuo"
addItem: "Aldoni novaĵon"
rooms: "Ĉambro"
deletedNote: "Forviŝita noto"
invisibleNote: "Malpublika noto"
visibility: "Videbleco"
@ -358,20 +444,25 @@ poll: "Balotujo"
useCw: "Kaŝi enhavo"
enablePlayer: "Vidi videon"
disablePlayer: "Fermi videon"
expandTweet: "Disvolvi pepon"
themeEditor: "Redaktilo de koloraroj"
description: "Priskribe"
description: "Priskribo"
describeFile: "Priskribi la bildon"
enterFileDescription: "Priskribu"
author: "Aŭtoro"
manage: "Administro"
plugins: "Kromaĵoj"
deck: "Kartaro"
width: "Larĝeco"
height: "Alteco"
medium: "Meza"
small: "Malgranda"
edit: "Redakti"
emailServer: "Retpoŝta servilo"
email: "Retpoŝto"
emailAddress: "Retpoŝta adreso"
smtpConfig: "Agordoj de la servilo SMTP"
smtpConfig: "Agordoj de SMTP servilo"
smtpHost: "Gastigo"
smtpPort: "Pordo"
smtpUser: "Uzantnomo"
smtpPass: "Pasvorto"
@ -380,35 +471,46 @@ userSaysSomething: "{name} parolis ion"
makeActive: "Aktivigi"
display: "Vidi"
copy: "Kopii"
overview: "Resumo"
database: "Datumbazo"
channel: "Kanalo"
create: "Krei"
notificationSetting: "Agordoj de sciigoj"
useGlobalSetting: "Oni uzas malloka agordo"
fileIdOrUrl: "Dosiera identigilo aŭ URL"
sample: "Ekzemplo"
abuseReports: "Signaloj"
reportAbuse: "Signalo"
reportAbuseOf: "Signali kontraŭ {name}'(o)"
send: "Sendi"
openInNewTab: "Malfermi en nova langeto"
editTheseSettingsMayBreakAccount: "Redakti tiujn agordojn estas eble damaĝi konton."
editTheseSettingsMayBreakAccount: "Redakti ĉi tiujn agordojn povas damaĝi vian konton."
instanceTicker: "Informoj pri la nodo kiu dissendas la noton"
random: "Hazarde"
system: "Sistemo"
desktop: "Labortablo"
createNew: "Krei novan"
optional: "Opciaj"
public: "Publika"
i18nInfo: "Misskey estas tradukata en diversaj lingvoj far volontuloj. Oni povas kontribui por la tradukado ĉe {link}."
accountInfo: "Kontaj Informoj"
notesCount: "Numero de notoj"
repliesCount: "Numero de respondoj senditaj"
renotesCount: "Numero de renotoj kiun vi sendis"
repliedCount: "Numero de respondoj ricevitaj"
renotedCount: "Numero de renotoj kiun vi ricevis"
followingCount: "Numero de sekvatoj"
followersCount: "Numero de sekvantoj"
sentReactionsCount: "Numero de sentitaj reagoj"
receivedReactionsCount: "Numero de ricevitaj reagoj"
notesCount: "La nombro de notoj"
repliesCount: "La nombro de respondoj senditaj"
renotesCount: "La nombro de notoj kiujn la uzanto plusendis"
repliedCount: "La nombro de respondoj ricevitaj"
renotedCount: "La nombro de uzantulaj notoj plusenditaj"
followingCount: "La nombro de sekvatoj"
followersCount: "La nombro de sekvantoj"
sentReactionsCount: "La nombro de la reagoj senditaj"
receivedReactionsCount: "La nombro de la reagoj ricevitaj"
yes: "Jes"
no: "Ne"
driveFilesCount: "Numero de dosieroj sur la disko"
driveFilesCount: "La nombro de la dosieroj ĉe la disko"
notSet: "Ne elektita"
noteFavoritesCount: "Numero de la preferataj notoj"
emailVerified: "Via retpoŝto estis kontrolita."
noteFavoritesCount: "La nombro de notoj preferataj"
pageLikesCount: "La nombro de paĝoj kiun la uzanto preferas"
pageLikedCount: "La nombro de uzantoj, kiuj preferas paĝon de ĉi tiu uzanto"
contact: "Kontakto"
makeExplorable: "Videbligi konton sur la paĝo \"Esplori\""
duplicate: "Duobligi"
@ -435,21 +537,25 @@ newVersionOfClientAvailable: "Nova versio de via kliento estas disponebla."
inUse: "Uzata"
editCode: "Redakti kodon"
emailNotification: "Sciigoj per retpoŝto"
publish: "Publikigi"
inChannelSearch: "Serĉi en kanalo"
useReactionPickerForContextMenu: "Oni malfermas reago-elektilon per dekstro-kliki"
typingUsers: "{users} estas entajpanta(j)..."
useReactionPickerForContextMenu: "Malfermi reago-elektilon per dekstro-klaki"
typingUsers: "{users} nun skribas…"
clear: "Vakigi"
goBack: "Reiri antaŭ"
addDescription: "Priskribi"
info: "Informoj"
userInfo: "Informoj de uzanto"
unknown: "Nekonata"
online: "Surkonektita"
offline: "Forkonektita"
instanceBlocking: "Blokado de nodoj"
instanceBlocking: "Bloki specifajn nodojn"
selectAccount: "Elekti konton"
user: "Uzantoj"
administration: "Administro"
accounts: "Kontoj"
shareWithNote: "Kundividi en noto"
ads: "Reklamaĵo"
memo: "Memorigilo"
high: "Alta"
middle: "Meza"
low: "Malalta"
@ -459,13 +565,18 @@ sent: "Sendi"
received: "Ricevita"
searchResult: "Serĉorezultoj"
hashtags: "Kradvorto"
troubleshooting: "Problemsolvi"
learnMore: "Lernu pli"
translate: "Traduki"
translatedFrom: "Tradukita el {x}"
_docs:
continueReading: "Legi plu"
features: "Funkcioj"
admin: "Administro"
controlPanel: "Ŝaltpodio"
classic: "Klasika"
_signup:
emailAddressInfo: "Entajpu vian retpoŝton"
_ad:
back: "Nuligi"
_forgotPassword:
enterEmail: "Entajpu la retpoŝton kiun vi registrigis al via konto. Ligilo por restarigi pasvorton estos sendita al la retpoŝto."
_gallery:
liked: "Ŝatitaj notoj"
like: "Ŝati"
@ -485,7 +596,7 @@ _registry:
_aboutMisskey:
about: "Misskey estas malfermitkoda programo evoluigata de syuilo ekde la 2014."
contributors: "Precipaj kontribuantoj"
allContributors: "Ĉiuj kontribuintoj"
allContributors: "Ĉiuj kontribuantoj"
source: "Fontkodo"
translation: "Traduki Misskey'on"
patrons: "Mecenatoj"
@ -509,6 +620,7 @@ _mfm:
x2: "Granda"
x3: "Grandega"
x4: "Pli grandega"
font: "Presliteraro"
_reversi:
total: "Entute"
_instanceTicker:
@ -518,26 +630,34 @@ _instanceTicker:
_channel:
create: "Krei kanalon"
edit: "Redakti kanalon"
setBanner: "Apliki standardan bildon"
removeBanner: "Forviŝi la standardan bildon"
owned: "Posedaĵo"
following: "Sekvante"
usersCount: "{n} partoprenanto(j)"
_menuDisplay:
top: "Supro"
hide: "Kaŝi"
_wordMute:
muteWords: "Silentigitaj vortoj"
soft: "En kliento"
hard: "En servilo"
mutedNotes: "Silentigitaj notoj"
_theme:
manage: "Administri kolorarojn"
code: "Kodo de koloraro"
description: "Priskribe"
code: "Kolorara kodo"
description: "Priskribo"
color: "Koloro"
darken: "Malbrileco"
lighten: "Brileco"
keys:
bg: "Fono"
navBg: "Fono de flanka stango"
link: "Ligilo"
hashtag: "Kradvorto"
mention: "Mencioj"
renote: "Renoto"
mentionMe: "Mencio al vi"
renote: "Noto plusendita"
buttonBg: "Fono de butono"
driveFolderBg: "Fono de dosierujo de la disko"
messageBg: "Fono de retbabilejo"
@ -555,7 +675,7 @@ _ago:
secondsAgo: "Antaŭ {n} sekundo(j)"
minutesAgo: "Antaŭ {n} minutoj"
hoursAgo: "Antaŭ {n} horo(j)"
daysAgo: "Antaŭ {n} tagoj"
daysAgo: "Antaŭ {n} tago(j)"
weeksAgo: "Antaŭ {n} semajnoj"
monthsAgo: "Antaŭ {n} monatoj"
yearsAgo: "Antaŭ {n} jaroj"
@ -569,43 +689,47 @@ _tutorial:
step1_1: "Bonvenon."
step7_2: "Se vi volas scii pli pri Misskey, rigardu la fakon {help}."
step7_3: "Do, bonvolu amuziĝi Misskey'on🚀"
_2fa:
registerKey: "Nove registri ŝlosilon"
_permissions:
"write:account": "Redakti Informojn de via konto"
"read:account": "Legado de la informoj pri via konto"
"write:account": "Redatado de la informoj de via konto"
"read:blocks": "Vidi vian liston de uzantoj blokitaj"
"write:blocks": "Redakti vian liston de uzantoj blokitaj"
"read:drive": "Operacio por legi la informon de dosiero en via disko de Misskey"
"write:blocks": "Redakti vian liston de blokitoj"
"read:drive": "Legi vian diskon"
"write:drive": "Ĉia operacio por skribi, forviŝi, aŭ alimaniere ŝanĝi la informon de dosiero en via disko de Misskey"
"read:favorites": "Vidi vian liston de preferataĵoj"
"write:favorites": "Redakti vian liston de preferataĵoj."
"read:following": "Vidi tiun kiun vi sekvas"
"read:favorites": "Vidi vian liston de preferaĵoj"
"write:favorites": "Redakti vian liston de preferaĵoj"
"read:following": "Vidi la infomaciojn pri tio, kion vi sekvas"
"write:following": "Sekvi aŭ malsekvi alian uzanton"
"read:messaging": "Vidi vian retbabiladon"
"read:mutes": "Vidi vian liston de silentigoj"
"write:mutes": "Redakti vian liston de silentigoj"
"write:messaging": "Retbabilejo"
"read:mutes": "Vidi vian liston de silentigitoj"
"write:mutes": "Redakti vian liston de silentigitoj"
"write:notes": "Krei / Forviŝi noton"
"read:notifications": "Vidi sciigojn"
"write:notifications": "Manipulado por viaj sciigoj"
"read:reactions": "Vidi reagojn"
"write:reactions": "Redakti viajn reagojn"
"read:pages": "Vidi via paĝojn"
"read:page-likes": "Vidi ŝatojn de paĝo"
"read:channels": "Vidi kanalojn"
_antennaSources:
all: "Ĉiuj notoj"
homeTimeline: "Notoj far uzantoj, kiujn vi sekvas"
homeTimeline: "Notoj far uzantoj kiujn vi sekvas"
_weekday:
sunday: "dimanĉo"
monday: "lundo"
tuesday: "mardo"
wednesday: "merkredo"
thursday: "ĵaŭdo"
friday: "vendredo"
saturday: "sabato"
sunday: "Dimanĉo"
monday: "Lundo"
tuesday: "Mardo"
wednesday: "Merkredo"
thursday: "Ĵaŭdo"
friday: "Vendredo"
saturday: "Sabato"
_widgets:
notifications: "Sciigoj"
timeline: "Templinio"
clock: "Horloĝo"
activity: "Aktiveco"
federation: "Kunfederaĵo"
federation: "Federaĵo"
slideshow: "Bildoprezento"
button: "Butono"
onlineUsers: "Surkonektita uzanto"
@ -622,21 +746,25 @@ _poll:
vote: "Baloti"
closed: "Oni jam balotis ĝin"
_visibility:
publicDescription: "Via noto aperiĝos sur la templinio Malloka"
public: "Publika"
publicDescription: "Via noto estos videbla de ĉiuj uzantoj"
home: "Hejma"
homeDescription: "Elsendi nur sur la templinio Hejmo"
followers: "Sekvantoj"
followersDescription: "Nur al sekvantoj al mi"
specified: "Rekta"
homeDescription: "Dissendi nur sur hejma templinio"
followers: "Nur al sekvantoj"
followersDescription: "Publiki nur al viaj sekvantoj"
specified: "Rekte"
specifiedDescription: "Montri nur al specifaj uzantoj"
localOnly: "Nur loka"
localOnlyDescription: "Ne montri al transaj uzantoj"
_postForm:
replyPlaceholder: "Respondi al tiu noto..."
quotePlaceholder: "Citado tiun noton..."
channelPlaceholder: "Sendi sur la kanalo"
replyPlaceholder: "Respondi la noton…"
quotePlaceholder: "Citi la noton"
channelPlaceholder: "Mencii en kanalo"
_profile:
name: "Nomo"
username: "Uzantnomo"
description: "Sinprezento"
metadata: "Kromaj informoj"
metadataEdit: "Redakti kromaj informoj"
changeAvatar: "Ŝanĝi profilbildon"
changeBanner: "Ŝanĝi standardon"
@ -644,14 +772,14 @@ _exportOrImport:
allNotes: "Ĉiuj notoj"
followingList: "Sekvataj uzantoj"
muteList: "Silentigoj"
blockingList: "Blokitaj uzantoj"
blockingList: "Blokitoj"
userLists: "Listoj"
_charts:
federationInstancesTotal: "Tuta numero de nodoj kunfederantaj"
usersTotal: "Tuta numero de uzantoj"
activeUsers: "Numero de aktivaj uzantoj"
notesTotal: "Tuta numero de notoj"
filesTotal: "Tuta numero de dosieroj"
federationInstancesTotal: "La totala nombro de nodoj kunfederantaj"
usersTotal: "La totala nombro de la uzantoj"
activeUsers: "La nombro de la uzantoj aktivaj"
notesTotal: "La totala nombro de notoj"
filesTotal: "La totala nombro de la dosieroj"
_timelines:
home: "Hejma"
local: "Loka"
@ -660,22 +788,43 @@ _timelines:
_rooms:
translate: "Movi"
chooseImage: "Elekti bildon"
_roomType:
default: "Defaŭlta"
_furnitures:
bed: "Lito"
low-table: "Malaltotablo"
desk: "Skribotablo"
chair: "Seĝo"
chair2: "Seĝo 2"
pc: "Komputilo"
eraser: "Skrapileto"
pencil: "Krajono"
pudding: "Flaŭno"
book: "Libro"
book2: "Libro 2"
piano: "Piano"
facial-tissue: "Tualetpaperejo"
server: "Servilo"
moon: "La luno"
moon: "Luno"
monitor: "Monitoro"
keyboard: "Klavaro"
doll-ai: "Pupa Ai"
_pages:
newPage: "Krei novan paĝon"
editPage: "Redakti paĝon"
deleted: "La paĝo estas forigita."
deleted: "Oni forviŝis la paĝon."
editThisPage: "Redakti la paĝon"
viewPage: "Vidi via paĝojn"
viewPage: "Vidi viajn paĝojn"
my: "Miaj paĝoj"
featured: "Ravaĵoj"
contents: "Enhavo"
content: "Blokado de paĝo"
content: "Paĝo en bloko"
title: "Temlinio"
url: "URL de paĝo"
alignCenter: "Centrigi"
chooseBlock: "Aldoni blokon"
contentBlocks: "Enhavo"
inputBlocks: "Enigo"
blocks:
text: "Teksto"
textarea: "Areo de teksto"
@ -683,14 +832,21 @@ _pages:
button: "Butono"
_post:
canvasId: "Kanvasa identigilo"
textInput: "Enigo el teksto"
textareaInput: "Enigo el teksto en multaj linioj"
textInput: "Enmeto el teksto"
_textInput:
text: "Titolo"
textareaInput: "Enmeto el teksto en multaj linioj"
_textareaInput:
text: "Titolo"
numberInput: "Nombra enmeto"
_numberInput:
text: "Titolo"
_canvas:
id: "Kanvasa identigilo"
_note:
id: "Identigilo de noto"
_switch:
text: "Titolo"
_counter:
text: "Titolo"
_button:
@ -698,6 +854,8 @@ _pages:
_action:
_pushEvent:
event: "Nomo de la evento"
_radioButton:
title: "Titolo"
script:
categories:
text: "Manipulo de teksto"
@ -733,23 +891,37 @@ _pages:
arg1: "Teksto"
_splitStrByLine:
arg1: "Teksto"
_fn:
slots: "Juntoj"
arg1: "Elmeto"
thereIsEmptySlot: "La junto {slot} estas malplena!"
types:
string: "Teksto"
array: "Listoj"
stringArray: "List de teksto"
emptySlot: "Malplena junto"
argVariables: "Eniga junto"
_relayStatus:
requesting: "Atendado de aprobon"
accepted: "Konfirmita"
_notification:
fileUploaded: "La dosiero sukcese alŝutiĝis."
youRenoted: "Renoto farita de {name}"
youGotMention: "{name} mencis"
youGotReply: "{name} respondis"
youGotQuote: "{name} citis"
youRenoted: "{name} plusendis"
youGotPoll: "{name} balotis"
youGotMessagingMessageFromUser: "{name} sentis mesaĝon al vi."
youGotMessagingMessageFromGroup: "Retbabilan mesaĝon oni sendis al la grupo {name}"
youWereFollowed: "sksekvis vin"
youWereFollowed: "eksekvis vin"
youReceivedFollowRequest: "Vi ricevis peton de sekvado"
yourFollowRequestAccepted: "Via peto por sekvado estis akceptita."
yourFollowRequestAccepted: "Via peto de sekvado estis akceptita."
_types:
follow: "Sekvatoj"
all: "Ĉio"
follow: "Nova sekvatoj"
mention: "Mencioj"
renote: "Fari renoton"
reply: "Respondoj"
renote: "Notoj plusenditaj"
quote: "Citi"
reaction: "Reagoj"
receiveFollowRequest: "Ricevita peton de sekvado"
@ -761,5 +933,5 @@ _deck:
tl: "Templinio"
antenna: "Antenoj"
list: "Listoj"
mentions: "Al vi"
direct: "Notoj rektaj"
mentions: "Mencioj"
direct: "Rekte"

View File

@ -7,6 +7,7 @@ search: "Buscar"
notifications: "Notificaciones"
username: "Nombre de usuario"
password: "Contraseña"
forgotPassword: "Olvidé mi Contraseña"
fetchingAsApObject: "Buscando en el fediverso"
ok: "OK"
gotIt: "Entendido"
@ -279,6 +280,7 @@ emptyDrive: "El drive está vacío"
emptyFolder: "La carpeta está vacía"
unableToDelete: "No se puede borrar"
inputNewFileName: "Ingrese un nuevo nombre de archivo"
inputNewDescription: "Ingrese nueva descripción"
inputNewFolderName: "Ingrese un nuevo nombre de la carpeta"
circularReferenceFolder: "La carpeta de destino es una sub-carpeta de la carpeta que quieres mover."
hasChildFilesOrFolders: "No se puede borrar esta carpeta. No está vacía."
@ -310,6 +312,8 @@ monthX: "Mes {month}"
yearX: "Año {year}"
pages: "Páginas"
integration: "Integración"
connectService: "Conectar"
disconnectService: "Desconectar"
enableLocalTimeline: "Habilitar linea de tiempo local"
enableGlobalTimeline: "Habilitar linea de tiempo global"
disablingTimelinesInfo: "Aunque se desactiven estas lineas de tiempo, por conveniencia el administrador y los moderadores pueden seguir usándolos"
@ -323,6 +327,7 @@ driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto"
inMb: "En megabytes"
iconUrl: "URL de la imagen del avatar"
bannerUrl: "URL de la imagen del banner"
backgroundImageUrl: "URL de la imagen de fondo"
basicInfo: "Información básica"
pinnedUsers: "Usuarios fijados"
pinnedUsersDescription: "Describir los usuarios que quiere fijar en la página \"Descubrir\" separados por una linea nueva"
@ -524,6 +529,9 @@ removeAllFollowing: "Retener todos los siguientes"
removeAllFollowingDescription: "Cancelar todos los siguientes del servidor {host}. Ejecutar en caso de que esta instancia haya dejado de existir"
userSuspended: "Este usuario ha sido suspendido."
userSilenced: "Este usuario ha sido silenciado."
yourAccountSuspendedTitle: "Esta cuenta ha sido suspendida"
yourAccountSuspendedDescription: "Esta cuenta ha sido suspendida debido a violaciones de los términos de servicio del servidor y otras razones. Para más información, póngase en contacto con el administrador. Por favor, no cree una nueva cuenta."
menu: "Menú"
divider: "Divisor"
addItem: "Agregar elemento"
rooms: "Cuartos"
@ -543,6 +551,8 @@ disablePlayer: "Cerrar reproductor"
expandTweet: "Expandir tweet"
themeEditor: "Editor de temas"
description: "Descripción"
describeFile: "Añade una descripción"
enterFileDescription: "Introducir un título"
author: "Autor"
leaveConfirm: "Hay modificaciones sin guardar. ¿Desea descartarlas?"
manage: "Administrar"
@ -645,31 +655,90 @@ driveFilesCount: "Cantidad de archivos en el drive"
driveUsage: "Uso del drive"
noCrawle: "Rechazar indexación del crawler"
noCrawleDescription: "Pedir a los motores de búsqueda que no indexen tu perfil, notas, páginas, etc."
lockedAccountInfo: "A menos que configures la visibilidad de tus notas como \"Sólo seguidores\", tus notas serán visibles para cualquiera, incluso si requieres que los seguidores sean aprobados manualmente."
alwaysMarkSensitive: "Marcar los medios de comunicación como contenido sensible por defecto"
loadRawImages: "Cargar las imágenes originales en lugar de mostrar las miniaturas"
disableShowingAnimatedImages: "No reproducir imágenes animadas"
verificationEmailSent: "Se le ha enviado un correo electrónico de confirmación. Por favor, acceda al enlace proporcionado en el correo electrónico para completar la configuración."
notSet: "Sin especificar"
emailVerified: "Su dirección de correo electrónico ha sido verificada."
noteFavoritesCount: "Número de notas favoritas"
pageLikesCount: "Número de favoritos en la página"
pageLikedCount: "Número de favoritos de su página"
reversiCount: "Numero de partidas Reversi"
contact: "Contacto"
useSystemFont: "Utilizar la tipografía por defecto del sistema"
clips: "Clip"
experimentalFeatures: "Características experimentales"
developer: "Desarrolladores"
makeExplorable: "Hacer visible la cuenta en \"Explorar\""
makeExplorableDescription: "Si desactiva esta opción, su cuenta no aparecerá en la sección \"Explorar\"."
showGapBetweenNotesInTimeline: "Mostrar un intervalo entre notas en la línea de tiempo"
duplicate: "Duplicar"
left: "Izquierda"
center: "Centrar"
wide: "Ancho"
narrow: "Estrecho"
reloadToApplySetting: "Esta configuración sólo se aplicará después de recargar la página. ¿Recargar ahora?"
showTitlebar: "Mostrar la barra de título"
clearCache: "Limpiar caché"
onlineUsersCount: "{n} usuarios en línea"
nUsers: "{n} Usuarios"
nNotes: "{n} Notas"
sendErrorReports: "Envíar informe de errores"
sendErrorReportsDescription: "Si habilita esta opción, ayudará a mejorar la calidad de Misskey compartiendo información detallada sobre los errores cuando se produzca un problema.\nEsto incluye información como la versión de su sistema operativo, el tipo de navegador que utiliza, su historial de actividad, etc."
myTheme: "Mi Tema"
backgroundColor: "Fondo"
accentColor: "Acento"
textColor: "Texto"
saveAs: "Guardar como…"
advanced: "Avanzado"
value: "Valores"
createdAt: "Fecha de creación"
updatedAt: "Actualizado"
saveConfirm: "¿Guardar cambios?"
deleteConfirm: "¿Desea eliminarlo?"
invalidValue: "Este no es un valor válido."
registry: "Registro"
closeAccount: "Cerrar cuenta"
currentVersion: "Versión actual"
latestVersion: "Última versión"
youAreRunningUpToDateClient: "Está utilizando la versión más reciente de su cliente."
newVersionOfClientAvailable: "Hay una versión más nueva de su cliente disponible."
usageAmount: "Uso"
capacity: "Capacidad"
inUse: "Usado"
editCode: "Editar código"
goBack: "Deseleccionar"
info: "Información"
user: "Usuarios"
administration: "Administrar"
expiration: "Termina el"
middle: "Mediano"
customCssWarn: "Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir valores inadecuados puede hacer que el cliente deje de funcionar con normalidad."
global: "Global"
squareAvatars: "Mostrar iconos cuadrados"
sent: "Enviar"
received: "Recibido"
searchResult: "Resultados de búsqueda"
hashtags: "Hashtag"
_docs:
admin: "Administrar"
troubleshooting: "Solución de problemas"
useBlurEffect: "Utilizar efecto de desenfoque en la interfaz de usuario"
learnMore: "Ver más"
misskeyUpdated: "¡Misskey ha sido actualizado!"
whatIsNew: "Mostrar cambios"
translate: "Traducir"
translatedFrom: "Traducido de {x}"
accountDeletionInProgress: "La eliminación de la cuenta está en curso"
usernameInfo: "Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente."
aiChanMode: "Modo Ai"
keepCw: "Mantener la advertencia de contenido"
pubSub: "Cuentas Pub/Sub"
lastCommunication: "Última comunicación"
resolved: "Resuelto"
unresolved: "Sin resolver"
_accountDelete:
accountDelete: "Eliminar Cuenta"
_ad:
back: "Deseleccionar"
_gallery:

View File

@ -81,6 +81,8 @@ somethingHappened: "Une erreur est survenue"
retry: "Réessayer"
pageLoadError: "Le chargement de la page a échoué"
pageLoadErrorDescription: "Cela est généralement causé par le cache du navigateur ou par un problème réseau. Veuillez vider votre cache ou attendre un peu et réessayer."
serverIsDead: "Le serveur ne répond pas. Patientez quelques instants puis essayez à nouveau."
youShouldUpgradeClient: "Si la page ne s'affiche pas correctement, rechargez-la pour mettre votre client à jour."
enterListName: "Nom de la liste"
privacy: "Confidentialité"
makeFollowManuallyApprove: "Accepter manuellement les demandes dabonnement"
@ -136,7 +138,7 @@ settingGuide: "Configuration proposée"
cacheRemoteFiles: "Mise en cache des fichiers distants"
cacheRemoteFilesDescription: "Lorsque cette option est désactivée, les fichiers distants sont chargés directement depuis linstance distante. La désactiver diminuera certes lutilisation de lespace de stockage local mais augmentera le trafic réseau puisque les miniatures ne seront plus générées."
flagAsBot: "Ce compte est un robot"
flagAsBotDescription: "Si ce compte est géré de manière automatisée , définissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot."
flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot."
flagAsCat: "Ce compte est un chat"
flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte."
autoAcceptFollowed: "Accepter automatiquement les demandes dabonnement venant dutilisateur·rice·s que vous suivez"
@ -363,7 +365,7 @@ withFiles: "Avec fichiers joints"
silence: "Mettre en sourdine"
silenceConfirm: "Êtes-vous sûr·e de vouloir mettre lutilisateur·rice en sourdine ?"
unsilence: "Annuler la sourdine"
unsilenceConfirm: "Êtes-vous sûr·e de vouloir annuler la mise en sourdine de cette utilisateur·rice ?"
unsilenceConfirm: "Êtes-vous sûr·e de vouloir annuler la mise en sourdine de cet·te utilisateur·rice ?"
popularUsers: "Utilisateur·rice·s populaires"
recentlyUpdatedUsers: "Utilisateur·rice·s actif·ve·s récemment"
recentlyRegisteredUsers: "Utilisateur·rice·s récemment inscrit·e·s"
@ -377,7 +379,7 @@ aboutMisskey: "À propos de Misskey"
administrator: "Administrateur"
token: "Jeton"
twoStepAuthentication: "Authentification à deux facteurs"
moderator: "Modérateurs"
moderator: "Modérateur·rice·s"
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
securityKey: "Clé de sécurité"
securityKeyName: "Nom de la clé"
@ -495,7 +497,7 @@ objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi"
serverLogs: "Journal du serveur"
deleteAll: "Supprimer tout"
showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité"
newNoteRecived: "Vous avez reçu une nouvelle note"
newNoteRecived: "Voir les nouvelles notes"
sounds: "Sons"
listen: "Écouter"
none: "Rien"
@ -529,6 +531,8 @@ removeAllFollowing: "Retenir tous les abonnements"
removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez lancer cette action uniquement si linstance nexiste plus."
userSuspended: "Cet·te utilisateur·rice a été suspendu·e."
userSilenced: "Cette utilisateur·trice a été mis·e en sourdine."
yourAccountSuspendedTitle: "Ce compte est suspendu"
yourAccountSuspendedDescription: "Ce compte est suspendu car vous avez enfreint les conditions d'utilisation de l'instance, ou pour un motif similaire. Si vous souhaitez connaître en détail les raisons de cette suspension, renseignez-vous auprès de l'administrateur·rice de votre instance. Merci de ne pas créer de nouveau compte."
menu: "Menu"
divider: "Séparateur"
addItem: "Ajouter un élément"
@ -762,11 +766,13 @@ middle: "Moyen"
low: "Basse"
emailNotConfiguredWarning: "Vous n'avez pas configuré d'adresse e-mail."
ratio: "Ratio"
previewNoteText: "Voir l'aperçu"
customCss: "CSS personnalisé"
customCssWarn: "Utilisez cette fonctionnalité uniquement si vous savez exactement ce que vous faites. Une configuration inadaptée peut empêcher le client de s'exécuter normalement."
global: "Global"
squareAvatars: "Avatars carrés"
sent: "Envoyer"
received: "Reçu"
searchResult: "Résultats de la recherche"
hashtags: "Hashtags"
troubleshooting: "Résolution de problèmes"
@ -778,7 +784,32 @@ translate: "Traduire"
translatedFrom: "Traduit depuis {x}"
accountDeletionInProgress: "La suppression de votre compte est en cours"
usernameInfo: "C'est un nom qui identifie votre compte sur l'instance de manière unique. Vous pouvez utiliser des lettres de l'alphabet (minuscules et majuscules), des chiffres (de 0 à 9), ou bien le tiret « _ ». Vous ne pourrez pas modifier votre nom d'utilisateur·rice par la suite."
aiChanMode: "Mode Ai"
keepCw: "Garder le CW"
pubSub: "Comptes Pub/Sub"
lastCommunication: "Dernière communication"
resolved: "Résolu"
unresolved: "En attente"
itsOn: "Activé"
itsOff: "Désactivé"
emailRequiredForSignup: "Une adresse e-mail est nécessaire pour créer un compte"
unread: "Non lu"
filter: "Filtre"
controlPanel: "Panneau de contrôle"
manageAccounts: "Gérer les comptes"
classic: "Classique"
_emailUnavailable:
format: "Le format de cette adresse de courriel est invalide"
mx: "Ce serveur de courriels est invalide"
smtp: "Ce serveur de courriels ne répond pas"
_ffVisibility:
public: "Public"
followers: "Visible uniquement pour les abonné·e·s"
private: "Privé"
_signup:
almostThere: "Bientôt fini"
emailAddressInfo: "Insérez votre adresse e-mail."
emailSent: "Un courriel de confirmation vient d'être envoyé à l'adresse que vous avez renseignée ({email}). Cliquez sur le lien contenu dans le message pour terminer la création de votre compte."
_accountDelete:
accountDelete: "Supprimer le compte"
mayTakeTime: "La suppression de compte nécessitant beaucoup de ressources, l'exécution du processus peut prendre du temps, en fonction de la quantité de contenus que vous avez créés et du nombre de fichiers que vous avez téléversés."
@ -786,13 +817,6 @@ _accountDelete:
requestAccountDelete: "Demander la suppression de votre compte"
started: "La procédure de suppression a commencé."
inProgress: "Suppression en cours"
_docs:
continueReading: "Lire plus"
features: "Fonctionnalités"
generalTopics: "Sujets généraux"
advancedTopics: "Sujets avancés"
admin: "Gestion"
translateWarn: "Ceci est une traduction dont le contenu peut différer du texte original."
_ad:
back: "Retour"
reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
@ -893,6 +917,8 @@ _mfm:
fontDescription: "Il est possible de choisir la police."
rainbow: "Arc-en-ciel"
rainbowDescription: "Permet d'afficher le contenu en couleurs arc-en-ciel."
sparkle: "Paillettes"
sparkleDescription: "Ajoute un effet scintillant au contenu."
_reversi:
reversi: "Reversi"
gameSettings: "Réglages de la partie"
@ -1119,6 +1145,10 @@ _permissions:
"write:user-groups": "Éditer les groupes des utilisateur·rice·s"
"read:channels": "Lire les canaux"
"write:channels": "Gérer les canaux"
"read:gallery": "Voir la galerie"
"write:gallery": "Éditer la galerie"
"read:gallery-likes": "Voir les mentions « J'aime » dans la galerie"
"write:gallery-likes": "Gérer les mentions « J'aime » dans la galerie"
_auth:
shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?"
shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre compte?"
@ -1159,6 +1189,7 @@ _widgets:
jobQueue: "File dattente"
serverMetric: "Statistiques du serveur"
aiscript: "Console AiScript"
aichan: "Ai"
_cw:
hide: "Masquer"
show: "Afficher plus …"
@ -1231,7 +1262,7 @@ _charts:
federationInstancesTotal: "Nombre total d'instances fédérées"
usersIncDec: "Variation du nombre d'utilisateur·rice·s"
usersTotal: "Nombre des utilisateur·rice·s au total"
activeUsers: "Utilisateur·rice·s actif·ve·s"
activeUsers: "Nombre d'utilisateurices actif·ve·s"
notesIncDec: "Variation du nombre des notes"
localNotesIncDec: "Variation du nombre de notes locales"
remoteNotesIncDec: "Variation du nombre de notes distantes"

View File

@ -81,6 +81,8 @@ somethingHappened: "Terjadi kesalahan"
retry: "Coba lagi"
pageLoadError: "Gagal memuat halaman."
pageLoadErrorDescription: "Umumnya disebabkan jaringan atau tembolok perambah. Cobalah bersihkan tembolok peramban lalu tunggu sesaat sebelum mencoba kembali."
serverIsDead: "Tidak ada respon dari server. Mohon tunggu dan coba beberapa saat lagi."
youShouldUpgradeClient: "Untuk melihat halaman ini, mohon muat ulang untuk memutakhirkan klienmu."
enterListName: "Masukkan nama daftar"
privacy: "Privasi"
makeFollowManuallyApprove: "Permintaan mengikuti membutuhkan persetujuan"
@ -529,6 +531,8 @@ removeAllFollowing: "Tahan semua mengikuti"
removeAllFollowingDescription: "Batal mengikuti semua akun dari {host}. Mohon jalankan ini ketika instansi sudah tidak ada lagi."
userSuspended: "Pengguna ini telah dibekukan."
userSilenced: "Pengguna ini telah dibungkam."
yourAccountSuspendedTitle: "Akun ini dibekukan"
yourAccountSuspendedDescription: "Akun ini dibekukan karena melanggar ketentuan penggunaan layanan server atau semacamnya. Hubungi admin apabila ingin tahu alasan lebih lanjut. Mohon untuk tidak membuat akun baru."
menu: "Menu"
divider: "Pembagi"
addItem: "Tambahkan item"
@ -616,6 +620,8 @@ reportAbuse: "Laporkan"
reportAbuseOf: "Laporkan {name}"
fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut."
abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
reporteeOrigin: "Yang dilaporkan"
reporterOrigin: "Pelapor"
send: "Kirim"
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
openInNewTab: "Buka di tab baru"
@ -762,6 +768,7 @@ middle: "Sedang"
low: "Rendah"
emailNotConfiguredWarning: "Alamat surel tidak disetel."
ratio: "Rasio"
previewNoteText: "Tampilkan pratinjau"
customCss: "Custom CSS"
customCssWarn: "Pengaturan ini seharusnya digunakan jika kamu tahu cara kerjanya. Memasukkan nilai yang tidak tepat dapat menyebabkan klien tidak berfungsi semestinya."
global: "Global"
@ -779,7 +786,40 @@ translate: "Terjemahkan"
translatedFrom: "Terjemahkan dari {x}"
accountDeletionInProgress: "Penghapusan akun sedang dalam proses"
usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada server ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya."
aiChanMode: "Mode Ai"
keepCw: "Biarkan Peringatan Konten"
pubSub: "Akun Pub/Sub"
lastCommunication: "Komunikasi terakhir"
resolved: "Selesai"
unresolved: "Belum selesai"
itsOn: "Aktif"
itsOff: "Nonaktif"
emailRequiredForSignup: "Membutuhkan alamat surel untuk mendaftar"
unread: "Belum dibaca"
filter: "Saring"
controlPanel: "Panel kontrol"
manageAccounts: "Kelola Akun"
makeReactionsPublic: "Tampilkan riwayat reaksi ke publik"
makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua reaksi masa lalu kamu ditampilkan secara publik."
classic: "Klasik"
muteThread: "Bisukan thread"
unmuteThread: "Suarakan thread"
ffVisibility: "Visibilitas Mengikuti/Pengikut"
ffVisibilityDescription: "Mengatur siapa yang dapat melihat pengikutmu dan yang kamu ikuti."
_emailUnavailable:
used: "Alamat surel ini telah digunakan"
format: "Format tidak valid."
disposable: "Alamat surel temporer tidak dapat digunakan"
mx: "Server alamat surel ini tidak valid"
smtp: "Server alamat surel ini tidak merespon"
_ffVisibility:
public: "Terbitkan"
followers: "Tampil untuk pengikut saja"
private: "Tersembunyi"
_signup:
almostThere: "Hampir selesai"
emailAddressInfo: "Mohon masukkan alamat surel kamu."
emailSent: "Konfirmasi surel telah dikirimkan ke alamat surel kamu ({email}). Mohon klik tautan yang tercantum di dalamnya untuk menyelesaikan pembuatan akun."
_accountDelete:
accountDelete: "Hapus akun"
mayTakeTime: "Karena penghapusan akun merupakan proses yang berat dan intensif, kemungkinan dapat membutuhkan waktu untuk menyelesaikan tergantung daripada berapa banyak konten yang kamu buat dan berapa banyak berkas yang telah kamu unggah."
@ -787,13 +827,6 @@ _accountDelete:
requestAccountDelete: "Minta penghapusan akun"
started: "Penghapusan telah dimulai"
inProgress: "Penghapusan sedang dalam proses"
_docs:
continueReading: "Baca lebih lanjut"
features: "Fitur"
generalTopics: "Topik umum"
advancedTopics: "Topik tingkat lanjut"
admin: "Manajemen"
translateWarn: "Ini merupakan dokumen terjemahan. Konten di dalamnya kemungkinan dapat berbeda dari yang aslinya."
_ad:
back: "Kembali"
reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
@ -894,6 +927,8 @@ _mfm:
fontDescription: "Setel font yang ditampilkan untuk konten."
rainbow: "Pelangi"
rainbowDescription: "Membuat konten muncul dalam warna pelangi."
sparkle: "Kelap-kelip"
sparkleDescription: "Memberikan konten efek partikel kelap-kelip."
_reversi:
reversi: "Reversi"
gameSettings: "Pengaturan permainan"
@ -1120,6 +1155,10 @@ _permissions:
"write:user-groups": "Sunting atau hapus grup pengguna"
"read:channels": "Lihat saluran"
"write:channels": "Sunting saluran"
"read:gallery": "Lihat galeri"
"write:gallery": "Sunting galeri"
"read:gallery-likes": "Lihat daftar postingan galeri yang disukai"
"write:gallery-likes": "Sunting daftar postingan galeri yang disukai"
_auth:
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
shareAccessAsk: "Apakah kamu ingin mengijinkan aplikasi ini untuk mengakses akun kamu?"

View File

@ -19,9 +19,11 @@ const languages = [
'da-DK',
'de-DE',
'en-US',
'eo-UY',
'es-ES',
'fr-FR',
'id-ID',
'it-IT',
'ja-JP',
'ja-KS',
'kab-KAB',

View File

@ -482,7 +482,7 @@ objectStorageSetPublicRead: "Imposta \"visibilità pubblica\" al momento di cari
serverLogs: "Log del server"
deleteAll: "Cancella cronologia"
showFixedPostForm: "Visualizzare la finestra di pubblicazione in cima alla timeline"
newNoteRecived: "Nuova nota ricevuta"
newNoteRecived: "Vedi le nuove note"
sounds: "Impostazioni suoni"
listen: "Ascolta"
none: "Niente"
@ -745,10 +745,8 @@ global: "Federata"
sent: "Inviare"
hashtags: "Hashtag"
troubleshooting: "Risoluzione problemi"
_docs:
continueReading: "Leggi di più"
features: "Funzionalità"
admin: "Gestione"
_ffVisibility:
public: "Pubblico"
_ad:
back: "Indietro"
reduceFrequencyOfThisAd: "Visualizza questa pubblicità meno spesso"

View File

@ -81,6 +81,8 @@ somethingHappened: "問題が発生しました"
retry: "再試行"
pageLoadError: "ページの読み込みに失敗しました。"
pageLoadErrorDescription: "これは通常、ネットワークまたはブラウザキャッシュが原因です。キャッシュをクリアするか、しばらく待ってから再度試してください。"
serverIsDead: "サーバーの応答がありません。しばらく待ってから再度試してください。"
youShouldUpgradeClient: "このページを表示するためには、リロードして新しいバージョンのクライアントをご利用ください。"
enterListName: "リスト名を入力"
privacy: "プライバシー"
makeFollowManuallyApprove: "フォローを承認制にする"
@ -529,6 +531,8 @@ removeAllFollowing: "フォローを全解除"
removeAllFollowingDescription: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
userSuspended: "このユーザーは凍結されています。"
userSilenced: "このユーザーはサイレンスされています。"
yourAccountSuspendedTitle: "アカウントが凍結されています"
yourAccountSuspendedDescription: "このアカウントは、サーバーの利用規約に違反したなどの理由により、凍結されています。詳細については管理者までお問い合わせください。新しいアカウントを作らないでください。"
menu: "メニュー"
divider: "分割線"
addItem: "項目を追加"
@ -616,6 +620,8 @@ reportAbuse: "通報"
reportAbuseOf: "{name}を通報する"
fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のートがある場合はそのURLも記入してください。"
abuseReported: "内容が送信されました。ご報告ありがとうございました。"
reporteeOrigin: "通報先"
reporterOrigin: "通報元"
send: "送信"
abuseMarkAsResolved: "対応済みにする"
openInNewTab: "新しいタブで開く"
@ -762,6 +768,7 @@ middle: "中"
low: "低"
emailNotConfiguredWarning: "メールアドレスの設定がされていません。"
ratio: "比率"
previewNoteText: "本文をプレビュー"
customCss: "カスタムCSS"
customCssWarn: "この設定は必ず知識のある方が行ってください。不適切な設定を行うとクライアントが正常に使用できなくなる恐れがあります。"
global: "グローバル"
@ -785,6 +792,39 @@ pubSub: "Pub/Subのアカウント"
lastCommunication: "直近の通信"
resolved: "解決済み"
unresolved: "未解決"
itsOn: "オンになっています"
itsOff: "オフになっています"
emailRequiredForSignup: "アカウント登録にメールアドレスを必須にする"
unread: "未読"
filter: "フィルタ"
controlPanel: "コントロールパネル"
manageAccounts: "アカウントを管理"
makeReactionsPublic: "リアクション一覧を公開する"
makeReactionsPublicDescription: "あなたがしたリアクション一覧を誰でも見れるようにします。"
classic: "クラシック"
muteThread: "スレッドをミュート"
unmuteThread: "スレッドのミュートを解除"
ffVisibility: "つながりの公開範囲"
ffVisibilityDescription: "自分のフォロー/フォロワー情報の公開範囲を設定できます。"
continueThread: "さらにスレッドを見る"
deleteAccountConfirm: "アカウントが削除されます。よろしいですか?"
_emailUnavailable:
used: "既に使用されています"
format: "形式が正しくありません"
disposable: "恒久的に使用可能なアドレスではありません"
mx: "正しいメールサーバーではありません"
smtp: "メールサーバーが応答しません"
_ffVisibility:
public: "公開"
followers: "フォロワーだけに公開"
private: "非公開"
_signup:
almostThere: "ほとんど完了です"
emailAddressInfo: "あなたが使っているメールアドレスを入力してください。"
emailSent: "入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。"
_accountDelete:
accountDelete: "アカウントの削除"
@ -794,14 +834,6 @@ _accountDelete:
started: "削除処理が開始されました。"
inProgress: "削除が進行中"
_docs:
continueReading: "続きを読む"
features: "機能"
generalTopics: "一般的なトピック"
advancedTopics: "高度なトピック"
admin: "管理"
translateWarn: "このドキュメントは翻訳されたものです。オリジナルとは内容が異なる場合があります。"
_ad:
back: "戻る"
reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
@ -910,6 +942,8 @@ _mfm:
fontDescription: "内容のフォントを指定することができます。"
rainbow: "レインボー"
rainbowDescription: "内容をレインボーにします。"
sparkle: "キラキラ"
sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
_reversi:
reversi: "リバーシ"
@ -1150,6 +1184,10 @@ _permissions:
"write:user-groups": "ユーザーグループを操作する"
"read:channels": "チャンネルを見る"
"write:channels": "チャンネルを操作する"
"read:gallery": "ギャラリーを見る"
"write:gallery": "ギャラリーを操作する"
"read:gallery-likes": "ギャラリーのいいねを見る"
"write:gallery-likes": "ギャラリーのいいねを操作する"
_auth:
shareAccess: "「{name}」がアカウントにアクセスすることを許可しますか?"

View File

@ -245,7 +245,7 @@ messageRead: "もう読んだ"
noMoreHistory: "これより過去の履歴はあらへんで"
startMessaging: "チャットやるで"
nUsersRead: "{n}人が読んでもうた"
agreeTo: "{0}はええで"
agreeTo: "{0}に同意したで"
tos: "利用規約"
start: "始める"
home: "ホーム"
@ -346,7 +346,7 @@ antennaSource: "受信ソース(このソースは食われへん)"
antennaKeywords: "受信キーワード"
antennaExcludeKeywords: "除外キーワード"
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
notifyAntenna: "新しいノートを追加すんで"
notifyAntenna: "新しいノートを通知すんで"
withFileAntenna: "なんか添付されたノートだけ"
enableServiceworker: "ServiceWorkerをつこて"
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
@ -653,8 +653,6 @@ low: "低い"
global: "グローバル"
sent: "送信"
hashtags: "ハッシュタグ"
_docs:
admin: "管理"
_ad:
back: "戻る"
_gallery:

View File

@ -529,6 +529,8 @@ removeAllFollowing: "모든 팔로잉 해제"
removeAllFollowingDescription: "{host}(으)로부터 모든 팔로잉을 해제합니다. 해당 인스턴스가 더 이상 존재하지 않게 된 경우 등에 실행해 주세요."
userSuspended: "이 계정은 정지된 상태입니다."
userSilenced: "이 계정은 사일런스된 상태입니다."
yourAccountSuspendedTitle: "계정이 정지되었습니다"
yourAccountSuspendedDescription: "이 계정은 서버의 이용 약관을 위반하거나, 기타 다른 이유로 인해 정지되었습니다. 자세한 사항은 관리자에게 문의해 주십시오. 계정을 새로 생성하지 마십시오."
menu: "메뉴"
divider: "구분선"
addItem: "항목 추가"
@ -779,6 +781,15 @@ translate: "번역"
translatedFrom: "{x}에서 번역"
accountDeletionInProgress: "계정 삭제 작업을 진행하고 있습니다"
usernameInfo: "서버상에서 계정을 식별하기 위한 이름. 알파벳(a~z, A~Z), 숫자(0~9) 및 언더바(_)를 사용할 수 있습니다. 사용자명은 나중에 변경할 수 없습니다."
aiChanMode: "아이 모드"
keepCw: "CW 유지하기"
pubSub: "Pub/Sub 계정"
lastCommunication: "마지막 통신"
resolved: "해결됨"
unresolved: "해결되지 않음"
controlPanel: "제어판"
_ffVisibility:
public: "게시"
_accountDelete:
accountDelete: "계정 삭제"
mayTakeTime: "계정 삭제는 서버에 부하를 가하기 때문에, 작성한 콘텐츠나 업로드한 파일의 수가 많으면 완료까지 시간이 걸릴 수 있습니다."
@ -786,13 +797,6 @@ _accountDelete:
requestAccountDelete: "계정 삭제 요청"
started: "삭제 작업이 시작되었습니다."
inProgress: "삭제 진행 중"
_docs:
continueReading: "계속 읽기"
features: "기능"
generalTopics: "일반 주제"
advancedTopics: "심화 주제"
admin: "관리"
translateWarn: "이 문서는 번역되었기 때문에 원본과는 내용이 다를 수 있습니다."
_ad:
back: "뒤로"
reduceFrequencyOfThisAd: "이 광고의 표시 빈도 낮추기"
@ -893,6 +897,8 @@ _mfm:
fontDescription: "내용의 글꼴을 지정할 수 있습니다."
rainbow: "무지개"
rainbowDescription: "내용을 무지개로 표시합니다."
sparkle: "반짝반짝"
sparkleDescription: "반짝이는 파티클 효과를 추가합니다."
_reversi:
reversi: "리버시"
gameSettings: "대국 설정"
@ -1114,11 +1120,15 @@ _permissions:
"read:pages": "페이지를 봅니다"
"write:pages": "페이지를 수정합니다"
"read:page-likes": "페이지의 좋아요를 확인합니다"
"write:page-likes": "페이지 좋아요를 추가하거나 삭제합니다"
"write:page-likes": "페이지 좋아요를 추가하거나 취소합니다"
"read:user-groups": "유저 그룹을 조회합니다"
"write:user-groups": "유저 그룹을 만들거나, 초대하거나, 이름을 변경하거나, 양도하거나, 삭제합니다"
"read:channels": "채널을 보기"
"write:channels": "채널을 변경하기"
"write:channels": "채널을 추가하거나 삭제합니다"
"read:gallery": "갤러리를 봅니다"
"write:gallery": "갤러리를 추가하거나 삭제합니다"
"read:gallery-likes": "갤러리의 좋아요를 확인합니다"
"write:gallery-likes": "갤러리에 좋아요를 추가하거나 취소합니다"
_auth:
shareAccess: "\"{name}\" 이 계정에 접근하는 것을 허용하시겠습니까?"
shareAccessAsk: "이 애플리케이션이 계정에 접근하는 것을 허용하시겠습니까?"
@ -1159,6 +1169,7 @@ _widgets:
jobQueue: "작업 대기열"
serverMetric: "서버 통계"
aiscript: "AiScript 콘솔"
aichan: "아이"
_cw:
hide: "숨기기"
show: "더 보기"

View File

@ -1,3 +1,5 @@
---
_lang_: "Nederlands"
headlineMisskey: "Netwerk verbonden door notities"
muteThread: "Discussies dempen "
unmuteThread: "Dempen van discussie ongedaan maken"

View File

@ -738,8 +738,8 @@ ratio: "Stosunek"
global: "Globalna"
sent: "Wyślij"
hashtags: "Hashtag"
_docs:
admin: "Zarządzanie"
_ffVisibility:
public: "Publikuj"
_ad:
back: "Wróć"
reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"

View File

@ -81,6 +81,8 @@ somethingHappened: "Что-то пошло не так"
retry: "Повторить попытку"
pageLoadError: "Не удалось загрузить страницу"
pageLoadErrorDescription: "Обычно это случается из-за сбоев в сети или кэша браузера. Попробуйте очистить кэш, или подождать пару минут, а потом попытаться загрузить страницу снова."
serverIsDead: "Ответа от сервера нет. Пожалуйста, подождите немного и повторите попытку."
youShouldUpgradeClient: "Чтобы просмотреть эту страницу, пожалуйста, обновите ее."
enterListName: "Название списка"
privacy: "Конфиденциальность"
makeFollowManuallyApprove: "Принимать подписчиков вручную"
@ -529,6 +531,8 @@ removeAllFollowing: "Удалить всех подписчиков"
removeAllFollowingDescription: "Отменить все подписки с домена {host}? Пожалуйста, применяйте это действие, если инстанс больше не существует."
userSuspended: "Эта учётная запись заморожена"
userSilenced: "Этот пользователь был заглушен"
yourAccountSuspendedTitle: "Эта учетная запись заблокирована"
yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
menu: "Меню"
divider: "Линия-разделитель"
addItem: "Добавить элемент"
@ -616,6 +620,8 @@ reportAbuse: "Жалоба"
reportAbuseOf: "Пожаловаться на пользователя {name}"
fillAbuseReportDescription: "Опишите, пожалуйста, причину жалобы подробнее. Если речь о конкретной заметке, будьте добры приложить ссылку на неё."
abuseReported: "Жалоба отправлена. Большое спасибо за информацию."
reporteeOrigin: "Куда сообщать"
reporterOrigin: "Сообщено"
send: "Отправить"
abuseMarkAsResolved: "Отметить жалобу как решённую"
openInNewTab: "Открыть в новой вкладке"
@ -762,6 +768,7 @@ middle: "Средне"
low: "Низкий"
emailNotConfiguredWarning: "Не указан адрес электронной почты"
ratio: "Соотношение"
previewNoteText: "Предварительный просмотр текста"
customCss: "Индивидуальный CSS"
customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас."
global: "Всеобщая"
@ -775,13 +782,44 @@ useBlurEffect: "Размытие в интерфейсе"
learnMore: "Подробнее"
misskeyUpdated: "Misskey обновился!"
whatIsNew: "Что новенького?"
_docs:
continueReading: "Читать подробнее"
features: "Возможности"
generalTopics: "Основные темы"
advancedTopics: "Дополнительные темы"
admin: "Управление"
translateWarn: "Это перевод документа. Он может неточно отражать содержимое оригинала."
translate: "Перевод"
translatedFrom: "{x}Перевод с английского"
accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
aiChanMode: "ИИ режим"
keepCw: "Сохраняйте Предупреждения о содержимом"
lastCommunication: "Последнее сообщение"
resolved: "Решен"
unresolved: "Неразрешенные"
itsOff: "Он выключен!"
emailRequiredForSignup: "Требуется адрес электронной почты для регистрации аккаунта"
unread: "Непрочитанное"
filter: "Фильтры"
controlPanel: "Панель управления"
manageAccounts: "Управление аккаунтом"
makeReactionsPublic: "Опубликовать список реакций"
makeReactionsPublicDescription: "Список сделанных вами реакций доступен для просмотра всем желающим."
classic: "Классика"
unmuteThread: "Отключить звук"
ffVisibilityDescription: "Вы можете установить объем вашей следующей/последней информации."
_emailUnavailable:
used: "Уже используется"
format: "Неправильный формат"
smtp: "Почтовый сервер не отвечает"
_ffVisibility:
public: "Опубликовать"
private: "Частный"
_signup:
almostThere: "Почти готово!"
emailAddressInfo: "Пожалуйста, введите адрес электронной почты, который вы используете."
emailSent: "На указанный вами адрес электронной почты ({email}) было отправлено письмо с подтверждением. Перейдите по ссылке в электронном письме, чтобы завершить создание учетной записи."
_accountDelete:
accountDelete: "Удалить свой аккаунт"
mayTakeTime: "Удаление учетной записи - это тяжелый процесс, который может занять много времени, если у вас создано много контента или загружено много файлов."
sendEmail: "Мы отправим уведомление на зарегистрированный вами адрес электронной почты, когда ваша учетная запись будет удалена."
requestAccountDelete: "Запросить удаление вашей учетной записи"
started: "Процесс удаления начался."
inProgress: "Удаление в процессе"
_ad:
back: "Выход"
reduceFrequencyOfThisAd: "Реже показывать эту рекламу"
@ -882,6 +920,8 @@ _mfm:
fontDescription: "Так можно писать произвольным шрифтом."
rainbow: "Радуга"
rainbowDescription: "Заставлять содержимое отображаться в цветах радуги."
sparkle: "Блеск"
sparkleDescription: "Добавьте эффект искрящихся частиц."
_reversi:
reversi: "Реверси"
gameSettings: "Настройки игры"
@ -1108,6 +1148,10 @@ _permissions:
"write:user-groups": "Изменять и удалять группы пользователей"
"read:channels": "Смотреть каналы"
"write:channels": "Изменять каналы"
"read:gallery": "Смотреть галерею"
"write:gallery": "Работа с галереей"
"read:gallery-likes": "Посмотреть галерею лайков"
"write:gallery-likes": "Манипулируйте понравившейся галереей"
_auth:
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
shareAccessAsk: "Уверены, что хотите дать приложению доступ к своей учётной записи?"

62
locales/tr-TR.yml Normal file
View File

@ -0,0 +1,62 @@
---
_lang_: "Türkçe"
introMisskey: "Açık kaynaklı bir dağıtılmış mikroblog hizmeti olan Misskey'e hoş geldiniz.\nMisskey, neler olup bittiğini paylaşmak ve herkese sizden bahsetmek için \"notlar\" oluşturmanıza olanak tanıyan, açık kaynaklı, dağıtılmış bir mikroblog hizmetidir.\nHerkesin notlarına kendi tepkilerinizi hızlıca eklemek için \"Tepkiler\" özelliğini de kullanabilirsiniz👍.\nYeni bir dünyayı keşfedin🚀."
monthAndDay: "{month}Ay {day}Gün"
search: "Arama"
notifications: "Bildirim"
username: "Kullanıcı Adı"
password: "Şifre"
forgotPassword: "şifremi unuttum"
ok: "TAMAM"
gotIt: "Anladım"
cancel: "İptal"
enterUsername: "Kullanıcı adınızı giriniz"
noNotes: "Notlar mevcut değil."
noNotifications: "Bildirim bulunmuyor"
settings: "Ayarlar"
basicSettings: "Temel Ayarlar"
otherSettings: "Diğer Ayarlar"
openInWindow: "Bir pencere ile aç"
profile: "Profil"
timeline: "Zaman çizelgesi"
noAccountDescription: "Bu kullanıcı henüz biyografisini yazmadı"
login: "Giriş Yap "
logout: ıkış Yap"
signup: "Kayıt Ol"
uploading: "Yükleniyor"
users: "Kullanıcı"
addUser: "Kullanıcı Ekle"
favorite: "Favoriler"
favorites: "Favoriler"
unfavorite: "Favorilerden Kaldır"
favorited: "Favorilerime eklendi."
alreadyFavorited: "Zaten favorilerinizde kayıtlı."
pin: "Sabitlenmiş"
unpin: "Sabitlemeyi kaldır"
copyContent: "İçeriği kopyala"
copyLink: "Bağlantıyı Kopyala"
delete: "Sil"
deleteAndEdit: "Sil ve yeniden düzenle"
deleteAndEditConfirm: "Bu notu silip yeniden düzenlemek istiyor musunuz? Bu nota ilişkin tüm Tepkiler, Yeniden Notlar ve Yanıtlar da silinecektir."
addToList: "Listeye ekle"
sendMessage: "Mesaj Gönder"
copyUsername: "Kullanıcı Adını Kopyala"
searchUser: "Kullanıcıları ara"
pinned: "Sabitlenmiş"
remove: "Sil"
smtpUser: "Kullanıcı Adı"
smtpPass: "Şifre"
user: "Kullanıcı"
_mfm:
search: "Arama"
_sfx:
notification: "Bildirim"
_widgets:
notifications: "Bildirim"
timeline: "Zaman çizelgesi"
_profile:
username: "Kullanıcı Adı"
_deck:
_columns:
notifications: "Bildirim"
tl: "Zaman çizelgesi"

View File

@ -692,8 +692,6 @@ middle: "Середній"
global: "Глобальна"
sent: "Відправити"
hashtags: "Хештеґ"
_docs:
admin: "Управління"
_ad:
back: "Назад"
_gallery:

View File

@ -1,20 +1,20 @@
---
_lang_: "中文(简体)"
headlineMisskey: "通过帖子连接在一起的网络"
introMisskey: "欢迎Misskey是一个开源的、去中心化的“微博客”服务。\n通过编写「帖」来和大家分享你的以及你周围的事情吧!📡\n通过「回应」功能可以让你快速地对大家的帖表达反馈👍\n来探索新的世界吧🚀"
introMisskey: "欢迎Misskey是一个开源的、去中心化的“微博客”服务。\n通过编写「帖」来和大家分享你的以及你周围的事情吧!📡\n通过「回应」功能可以让你快速地对大家的帖表达反馈👍\n来探索新的世界吧🚀"
monthAndDay: "{month}月 {day}日"
search: "搜索"
notifications: "通知"
username: "用户名"
password: "密码"
forgotPassword: "重置密码"
fetchingAsApObject: "联合查询"
forgotPassword: "忘记密码"
fetchingAsApObject: "联合查询"
ok: "OK"
gotIt: "我明白了"
cancel: "取消"
enterUsername: "输入用户名"
renotedBy: "{user} 转发了"
noNotes: "没有帖"
renotedBy: "{user} 转"
noNotes: "没有帖"
noNotifications: "无通知"
instance: "实例"
settings: "设置"
@ -81,6 +81,8 @@ somethingHappened: "出现了一些问题!"
retry: "重试"
pageLoadError: "页面加载失败。"
pageLoadErrorDescription: "这通常是由于网络或浏览器缓存的原因。请清除缓存或等待片刻后重试。"
serverIsDead: "服务器没有响应。 请稍等片刻,然后重试。"
youShouldUpgradeClient: "请重新加载并使用新版本的客户端查看此页面。"
enterListName: "输入列表名称"
privacy: "隐私"
makeFollowManuallyApprove: "关注者的关注请求需要批准"
@ -122,9 +124,9 @@ unblockConfirm: "确定要解除拉黑吗?"
suspendConfirm: "要冻结吗?"
unsuspendConfirm: "要解除冻结吗?"
selectList: "选择列表"
selectAntenna: "天线选择"
selectAntenna: "选择天线"
selectWidget: "选择小工具"
editWidgets: "编辑小工具"
editWidgets: "编辑部件"
editWidgetsExit: "完成编辑"
customEmojis: "自定义表情符号"
emoji: "表情符号"
@ -137,9 +139,9 @@ cacheRemoteFiles: "远程文件缓存"
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
flagAsBot: "这是一个机器人账号"
flagAsBotDescription: "如果此帐户由程序控制请启用此项。启用后此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为并让Misskey的内部系统将此帐户识别为机器人。"
flagAsCat: "这个账户一只猫"
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后会在您的头像上出现猫耳朵并将你的帖子中的「na」替换为「nya」日文同理。"
autoAcceptFollowed: "自动允许关注者的关注"
flagAsCat: "这个账户设定为一只猫"
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。"
autoAcceptFollowed: "自动允许关注"
addAccount: "添加账户"
loginFailed: "登录失败"
showOnRemote: "转到所在实例显示"
@ -529,6 +531,8 @@ removeAllFollowing: "取消所有关注"
removeAllFollowingDescription: "取消{host}的所有关注者。当实例不存在时执行。"
userSuspended: "该用户已被冻结。"
userSilenced: "该用户已被禁言。"
yourAccountSuspendedTitle: "账户已被冻结"
yourAccountSuspendedDescription: "由于违反了服务器的服务条款或其他原因,该账户已被冻结。 您可以与管理员联系以了解更多信息。 请不要创建一个新的帐户。"
menu: "菜单"
divider: "分割线"
addItem: "添加项目"
@ -616,6 +620,8 @@ reportAbuse: "举报"
reportAbuseOf: "举报{name}"
fillAbuseReportDescription: "请填写举报的详细原因。如果有对方发的帖子请同时填写URL地址。"
abuseReported: "内容已发送。感谢您的报告。"
reporteeOrigin: "举报来源"
reporterOrigin: "举报者来源"
send: "发送"
abuseMarkAsResolved: "处理完毕"
openInNewTab: "在新标签页中打开"
@ -762,6 +768,7 @@ middle: "中"
low: "低"
emailNotConfiguredWarning: "电子邮件地址未设置。"
ratio: "比率"
previewNoteText: "预览文本"
customCss: "自定义 CSS"
customCssWarn: "这些设置必须有相关的基础知识,不当的配置可能导致客户端无法正常使用!"
global: "全局"
@ -779,10 +786,42 @@ translate: "翻译"
translatedFrom: "从 {x} 翻译"
accountDeletionInProgress: "正在删除账户"
usernameInfo: "在服务器上唯一标识您的帐户的名称。您可以使用字母 (a ~ z, A ~ Z)、数字 (0 ~ 9) 和下划线 (_)。用户名以后不能更改。"
aiChanMode: "小蓝模式"
keepCw: "保留CW"
pubSub: "Pub/Sub账户"
lastCommunication: "最近通信"
resolved: "已解决"
unresolved: "未解决"
itsOn: "已开启"
itsOff: "已关闭"
emailRequiredForSignup: "注册账户需要电子邮件地址"
unread: "未读"
filter: "筛选"
controlPanel: "控制面板"
manageAccounts: "管理账户"
makeReactionsPublic: "将回应设置为公开"
makeReactionsPublicDescription: "将您发表过的回应设置成公开可见。"
classic: "经典"
muteThread: "屏蔽帖子列表"
unmuteThread: "取消屏蔽帖子列表"
ffVisibility: "连接的可见范围"
ffVisibilityDescription: "您可以设置您的关注/关注者信息的公开范围"
continueThread: "查看更多帖子"
deleteAccountConfirm: "将要删除账户。是否确认?"
_emailUnavailable:
used: "已经被使用过"
format: "无效的格式"
disposable: "不是永久可用的地址"
mx: "邮件服务器不正确"
smtp: "邮件服务器没有响应"
_ffVisibility:
public: "发布"
followers: "只有关注你的用户能看到"
private: "私密"
_signup:
almostThere: "即将完成"
emailAddressInfo: "请输入您所使用的电子邮件地址"
emailSent: "已将确认邮件发送至您输入的电子邮件地址 ({email})。请访问电子邮件中的链接以完成帐户创建。"
_accountDelete:
accountDelete: "删除帐户"
mayTakeTime: "删除账号是一个性能损耗较大的处理,如果账号持有的内容数量和上传的文件数量较多的话,完成需要花费一段时间。"
@ -790,13 +829,6 @@ _accountDelete:
requestAccountDelete: "请求删除账户"
started: "账户删除过程已开始。"
inProgress: "正在删除"
_docs:
continueReading: "继续阅读"
features: "特性"
generalTopics: "通常提示"
advancedTopics: "进阶提示"
admin: "管理"
translateWarn: "本文档是翻译后的文档。内容可能与原文有所不同。"
_ad:
back: "返回"
reduceFrequencyOfThisAd: "减少此广告的频率"
@ -897,6 +929,8 @@ _mfm:
fontDescription: "可以设置内容所使用的字体。"
rainbow: "彩虹"
rainbowDescription: "用彩虹色来显示内容。"
sparkle: "闪光"
sparkleDescription: "添加发光粒子效果。"
_reversi:
reversi: "黑白棋"
gameSettings: "对局设置"
@ -1123,6 +1157,10 @@ _permissions:
"write:user-groups": "操作用户组"
"read:channels": "查看频道"
"write:channels": "管理频道"
"read:gallery": "浏览图库"
"write:gallery": "操作图库"
"read:gallery-likes": "读取喜欢的图片"
"write:gallery-likes": "操作喜欢的图片"
_auth:
shareAccess: "您要授权允许“{name}”访问您的帐户吗?"
shareAccessAsk: "您确定要授权此应用程序访问您的帐户吗?"
@ -1163,7 +1201,7 @@ _widgets:
jobQueue: "作业队列"
serverMetric: "服务器监控"
aiscript: "AiScript控制台"
aichan: "蓝"
aichan: "蓝"
_cw:
hide: "隐藏"
show: "查看更多"

View File

@ -754,8 +754,8 @@ ratio: "%"
global: "公開"
sent: "發送"
hashtags: "#tag"
_docs:
admin: "管理"
_ffVisibility:
public: "發佈"
_ad:
back: "返回"
reduceFrequencyOfThisAd: "降低此廣告的頻率 "

View File

@ -1,13 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class PinnedUsers1557476068003 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`);
}
}

View File

@ -1,13 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class UserListJoining1558266512381 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_90f7da835e4c10aca6853621e1" ON "user_list_joining" ("userId", "userListId") `);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`DROP INDEX "IDX_90f7da835e4c10aca6853621e1"`);
}
}

View File

@ -1,13 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class PasswordLessLogin1562422242907 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "usePasswordLessLogin" boolean DEFAULT false NOT NULL`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "usePasswordLessLogin"`);
}
}

View File

@ -1,13 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class PageTitleHideOption1562448332510 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "page" ADD "hideTitleWhenPinned" boolean NOT NULL DEFAULT false`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "hideTitleWhenPinned"`);
}
}

View File

@ -1,13 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class room1565634203341 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "room" jsonb NOT NULL DEFAULT '{}'`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "room"`);
}
}

View File

@ -1,13 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class CustomEmojiCategory1571220798684 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "emoji" ADD "category" character varying(128)`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "emoji" DROP COLUMN "category"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class TalkFederationId1576269851876 implements MigrationInterface {
name = 'TalkFederationId1576269851876'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "messaging_message" ADD "uri" character varying(512)`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "uri"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class ProxyRemoteFiles1576869585998 implements MigrationInterface {
name = 'ProxyRemoteFiles1576869585998'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" ADD "proxyRemoteFiles" boolean NOT NULL DEFAULT false`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyRemoteFiles"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class v1221579270193251 implements MigrationInterface {
name = 'v1221579270193251'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "announcement_read" ADD "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "announcement_read" DROP COLUMN "createdAt"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class v1231579282808087 implements MigrationInterface {
name = 'v1231579282808087'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "announcement" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "announcement" DROP COLUMN "updatedAt"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class v1291580154400017 implements MigrationInterface {
name = 'v1291580154400017'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "antenna" ADD "withReplies" boolean NOT NULL DEFAULT false`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "withReplies"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class v12131580543501339 implements MigrationInterface {
name = 'v12131580543501339'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE INDEX "IDX_NOTE_TAGS" ON "note" USING gin ("tags")`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`DROP INDEX "IDX_NOTE_TAGS"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class driveUserFolderIdIndex1581708415836 implements MigrationInterface {
name = 'driveUserFolderIdIndex1581708415836'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE INDEX "IDX_55720b33a61a7c806a8215b825" ON "drive_file" ("userId", "folderId", "id") `, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`DROP INDEX "IDX_55720b33a61a7c806a8215b825"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class featuredInjecttion1582019042083 implements MigrationInterface {
name = 'featuredInjecttion1582019042083'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "injectFeaturedNote" boolean NOT NULL DEFAULT true`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "injectFeaturedNote"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class antennaExclude1582210532752 implements MigrationInterface {
name = 'antennaExclude1582210532752'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "antenna" ADD "excludeKeywords" jsonb NOT NULL DEFAULT '[]'`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "excludeKeywords"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class noteReactionLength1582875306439 implements MigrationInterface {
name = 'noteReactionLength1582875306439'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(128)`, undefined);
}
}

View File

@ -1,15 +0,0 @@
/* tslint:disable:quotemark class-name indent */
import {MigrationInterface, QueryRunner} from "typeorm";
export class apUrl1585772678853 implements MigrationInterface {
name = 'apUrl1585772678853'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "note" ADD "url" character varying(512)`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "url"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from 'typeorm';
export class AddObjectStorageUseProxy1586624197029 implements MigrationInterface {
name = 'AddObjectStorageUseProxy1586624197029'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseProxy" boolean NOT NULL DEFAULT true`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseProxy"`, undefined);
}
}

View File

@ -1,12 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class remoteReaction1586641139527 implements MigrationInterface {
name = 'remoteReaction1586641139527'
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(260)`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class pageAiScript1586708940386 implements MigrationInterface {
name = 'pageAiScript1586708940386'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "page" ADD "script" character varying(16384) NOT NULL DEFAULT ''`, undefined);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "script"`, undefined);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class blurhash1595075960584 implements MigrationInterface {
name = 'blurhash1595075960584'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "drive_file" ADD "blurhash" character varying(128)`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "drive_file" DROP COLUMN "blurhash"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class instanceIconUrl1595676934834 implements MigrationInterface {
name = 'instanceIconUrl1595676934834'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" ADD "iconUrl" character varying(256) DEFAULT null`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "iconUrl"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class channel21596786425167 implements MigrationInterface {
name = 'channel21596786425167'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "channel_following" ADD "readCursor" TIMESTAMP WITH TIME ZONE NOT NULL`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "channel_following" DROP COLUMN "readCursor"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class objectStorageSetPublicRead1597230137744 implements MigrationInterface {
name = 'objectStorageSetPublicRead1597230137744'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSetPublicRead" boolean NOT NULL DEFAULT false`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSetPublicRead"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class addSensitiveIndex1597385880794 implements MigrationInterface {
name = 'addSensitiveIndex1597385880794'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE INDEX "IDX_a7eba67f8b3fa27271e85d2e26" ON "drive_file" ("isSensitive") `);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "IDX_a7eba67f8b3fa27271e85d2e26"`);
}
}

View File

@ -1,16 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class ChannelNoteIdDescIndex1597893996136 implements MigrationInterface {
name = 'ChannelNoteIdDescIndex1597893996136'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "IDX_f22169eb10657bded6d875ac8f"`);
await queryRunner.query(`CREATE INDEX "IDX_note_on_channelId_and_id_desc" ON "note" ("channelId", "id" desc)`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "IDX_note_on_channelId_and_id_desc"`);
await queryRunner.query(`CREATE INDEX "IDX_f22169eb10657bded6d875ac8f" ON "note" ("channelId") `);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class instanceThemeColor1603776877564 implements MigrationInterface {
name = 'instanceThemeColor1603776877564'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" ADD "themeColor" character varying(64) DEFAULT null`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "themeColor"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class instanceFavicon1603781553011 implements MigrationInterface {
name = 'instanceFavicon1603781553011'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" ADD "faviconUrl" character varying(256) DEFAULT null`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "faviconUrl"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class deleteAutoWatch1604821689616 implements MigrationInterface {
name = 'deleteAutoWatch1604821689616'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "autoWatch"`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "autoWatch" boolean NOT NULL DEFAULT false`);
}
}

View File

@ -1,15 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class clipDescription1605408848373 implements MigrationInterface {
name = 'clipDescription1605408848373'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "clip" ADD "description" character varying(2048) DEFAULT null`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "clip" DROP COLUMN "description"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class instancePinnedPages1605585339718 implements MigrationInterface {
name = 'instancePinnedPages1605585339718'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{"/featured", "/channels", "/explore", "/pages", "/about-misskey"}'::varchar[]`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedPages"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class instancePinnedClip1607151207216 implements MigrationInterface {
name = 'instancePinnedClip1607151207216'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedClipId" character varying(32)`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedClipId"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class registry31610283021566 implements MigrationInterface {
name = 'registry31610283021566'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" DROP NOT NULL`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" SET NOT NULL`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class objectStorageS3ForcePathStyle1611547387175 implements MigrationInterface {
name = 'objectStorageS3ForcePathStyle1611547387175'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageS3ForcePathStyle" boolean NOT NULL DEFAULT true`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageS3ForcePathStyle"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class announcementEmail1612619156584 implements MigrationInterface {
name = 'announcementEmail1612619156584'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "receiveAnnouncementEmail" boolean NOT NULL DEFAULT true`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "receiveAnnouncementEmail"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class emailNotificationTypes1613155914446 implements MigrationInterface {
name = 'emailNotificationTypes1613155914446'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "emailNotificationTypes" jsonb NOT NULL DEFAULT '["follow","receiveFollowRequest","groupInvited"]'`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "emailNotificationTypes"`);
}
}

View File

@ -1,14 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class userLang1613181457597 implements MigrationInterface {
name = 'userLang1613181457597'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "lang" character varying(32)`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "lang"`);
}
}

View File

@ -1,15 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class useBigintForDriveUsage1613503367223 implements MigrationInterface {
name = 'useBigintForDriveUsage1613503367223'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" ALTER COLUMN "driveUsage" TYPE bigint`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "driveUsage"`);
await queryRunner.query(`ALTER TABLE "instance" ADD "driveUsage" integer NOT NULL DEFAULT 0`);
}
}

View File

@ -1,218 +0,0 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class chartV21615965918224 implements MigrationInterface {
name = 'chartV21615965918224'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DELETE FROM "__chart__active_users" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__drive" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__federation" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__hashtag" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__instance" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__network" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__notes" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__per_user_drive" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__per_user_following" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__per_user_notes" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__per_user_reaction" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__test" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__test_grouped" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__test_unique" WHERE "span" = 'day'`);
await queryRunner.query(`DELETE FROM "__chart__users" WHERE "span" = 'day'`);
await queryRunner.query(`DROP INDEX "IDX_15e91a03aeeac9dbccdf43fc06"`);
await queryRunner.query(`DROP INDEX "IDX_20f57cc8f142c131340ee16742"`);
await queryRunner.query(`DROP INDEX "IDX_c26e2c1cbb6e911e0554b27416"`);
await queryRunner.query(`DROP INDEX "IDX_3fa0d0f17ca72e3dc80999a032"`);
await queryRunner.query(`DROP INDEX "IDX_6e1df243476e20cbf86572ecc0"`);
await queryRunner.query(`DROP INDEX "IDX_06690fc959f1c9fdaf21928222"`);
await queryRunner.query(`DROP INDEX "IDX_e447064455928cf627590ef527"`);
await queryRunner.query(`DROP INDEX "IDX_2d416e6af791a82e338c79d480"`);
await queryRunner.query(`DROP INDEX "IDX_e9cd07672b37d8966cf3709283"`);
await queryRunner.query(`DROP INDEX "IDX_fcc181fb8283009c61cc4083ef"`);
await queryRunner.query(`DROP INDEX "IDX_49975586f50ed7b800fdd88fbd"`);
await queryRunner.query(`DROP INDEX "IDX_6d6f156ceefc6bc5f273a0e370"`);
await queryRunner.query(`DROP INDEX "IDX_c12f0af4a66cdd30c2287ce8aa"`);
await queryRunner.query(`DROP INDEX "IDX_d0a4f79af5a97b08f37b547197"`);
await queryRunner.query(`DROP INDEX "IDX_f5448d9633cff74208d850aabe"`);
await queryRunner.query(`DROP INDEX "IDX_f8dd01baeded2ffa833e0a610a"`);
await queryRunner.query(`DROP INDEX "IDX_08fac0eb3b11f04c200c0b40dd"`);
await queryRunner.query(`DROP INDEX "IDX_9ff6944f01acb756fdc92d7563"`);
await queryRunner.query(`DROP INDEX "IDX_e69096589f11e3baa98ddd64d0"`);
await queryRunner.query(`DROP INDEX "IDX_0c9a159c5082cbeef3ca6706b5"`);
await queryRunner.query(`DROP INDEX "IDX_924fc196c80ca24bae01dd37e4"`);
await queryRunner.query(`DROP INDEX "IDX_328f259961e60c4fa0bfcf55ca"`);
await queryRunner.query(`DROP INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53"`);
await queryRunner.query(`DROP INDEX "IDX_f2aeafde2ae6fbad38e857631b"`);
await queryRunner.query(`DROP INDEX "IDX_f92dd6d03f8d994f29987f6214"`);
await queryRunner.query(`DROP INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f"`);
await queryRunner.query(`DROP INDEX "IDX_4db3b84c7be0d3464714f3e0b1"`);
await queryRunner.query(`DROP INDEX "IDX_8d2cbbc8114d90d19b44d626b6"`);
await queryRunner.query(`DROP INDEX "IDX_046feeb12e9ef5f783f409866a"`);
await queryRunner.query(`DROP INDEX "IDX_f68a5ab958f9f5fa17a32ac23b"`);
await queryRunner.query(`DROP INDEX "IDX_65633a106bce43fc7c5c30a5c7"`);
await queryRunner.query(`DROP INDEX "IDX_edeb73c09c3143a81bcb34d569"`);
await queryRunner.query(`DROP INDEX "IDX_e316f01a6d24eb31db27f88262"`);
await queryRunner.query(`DROP INDEX "IDX_2be7ec6cebddc14dc11e206686"`);
await queryRunner.query(`DROP INDEX "IDX_a5133470f4825902e170328ca5"`);
await queryRunner.query(`DROP INDEX "IDX_84e661abb7bd1e51b690d4b017"`);
await queryRunner.query(`DROP INDEX "IDX_5c73bf61da4f6e6f15bae88ed1"`);
await queryRunner.query(`DROP INDEX "IDX_d70c86baedc68326be11f9c0ce"`);
await queryRunner.query(`DROP INDEX "IDX_66e1e1ecd2f29e57778af35b59"`);
await queryRunner.query(`DROP INDEX "IDX_92255988735563f0fe4aba1f05"`);
await queryRunner.query(`DROP INDEX "IDX_c5870993e25c3d5771f91f5003"`);
await queryRunner.query(`DROP INDEX "IDX_f170de677ea75ad4533de2723e"`);
await queryRunner.query(`DROP INDEX "IDX_7c184198ecf66a8d3ecb253ab3"`);
await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`);
await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__active_users_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___local_count"`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___remote_count"`);
await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__drive_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__federation_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__hashtag_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___local_count"`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___remote_count"`);
await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__instance_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__network_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__notes_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_drive_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_following_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_notes_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_reaction_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__test_grouped_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__test_unique_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "___foo"`);
await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__test_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "unique"`);
await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "span"`);
await queryRunner.query(`DROP TYPE "public"."__chart__users_span_enum"`);
await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "unique"`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "__chart__users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__users_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__users" ADD "span" "__chart__users_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__test" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__test_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__test" ADD "span" "__chart__test_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "___foo" bigint NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__test_unique_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "span" "__chart__test_unique_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "span" "__chart__test_grouped_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "span" "__chart__per_user_reaction_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "span" "__chart__per_user_notes_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "span" "__chart__per_user_following_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "span" "__chart__per_user_drive_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__notes_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "span" "__chart__notes_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__network" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__network_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__network" ADD "span" "__chart__network_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__instance_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "span" "__chart__instance_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___remote_count" bigint NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___local_count" bigint NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__hashtag_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "span" "__chart__hashtag_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__federation_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "span" "__chart__federation_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__drive_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "span" "__chart__drive_span_enum" NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___remote_count" bigint NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___local_count" bigint NOT NULL`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
await queryRunner.query(`CREATE TYPE "public"."__chart__active_users_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "span" "__chart__active_users_span_enum" NOT NULL`);
await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_f091abb24193d50c653c6b77fc" ON "__chart__users" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_7c184198ecf66a8d3ecb253ab3" ON "__chart__users" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_f170de677ea75ad4533de2723e" ON "__chart__test" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_c5870993e25c3d5771f91f5003" ON "__chart__test" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_92255988735563f0fe4aba1f05" ON "__chart__test" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_66e1e1ecd2f29e57778af35b59" ON "__chart__test_unique" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_d70c86baedc68326be11f9c0ce" ON "__chart__test_unique" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_5c73bf61da4f6e6f15bae88ed1" ON "__chart__test_unique" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_84e661abb7bd1e51b690d4b017" ON "__chart__test_grouped" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_a5133470f4825902e170328ca5" ON "__chart__test_grouped" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_2be7ec6cebddc14dc11e206686" ON "__chart__test_grouped" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_e316f01a6d24eb31db27f88262" ON "__chart__per_user_reaction" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_edeb73c09c3143a81bcb34d569" ON "__chart__per_user_reaction" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_65633a106bce43fc7c5c30a5c7" ON "__chart__per_user_reaction" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_f68a5ab958f9f5fa17a32ac23b" ON "__chart__per_user_notes" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_046feeb12e9ef5f783f409866a" ON "__chart__per_user_notes" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_8d2cbbc8114d90d19b44d626b6" ON "__chart__per_user_notes" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_4db3b84c7be0d3464714f3e0b1" ON "__chart__per_user_following" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f" ON "__chart__per_user_following" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_f92dd6d03f8d994f29987f6214" ON "__chart__per_user_following" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_f2aeafde2ae6fbad38e857631b" ON "__chart__per_user_drive" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53" ON "__chart__per_user_drive" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_328f259961e60c4fa0bfcf55ca" ON "__chart__per_user_drive" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_924fc196c80ca24bae01dd37e4" ON "__chart__notes" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_0c9a159c5082cbeef3ca6706b5" ON "__chart__notes" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_e69096589f11e3baa98ddd64d0" ON "__chart__notes" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_9ff6944f01acb756fdc92d7563" ON "__chart__network" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_08fac0eb3b11f04c200c0b40dd" ON "__chart__network" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_f8dd01baeded2ffa833e0a610a" ON "__chart__network" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_f5448d9633cff74208d850aabe" ON "__chart__instance" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_d0a4f79af5a97b08f37b547197" ON "__chart__instance" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_c12f0af4a66cdd30c2287ce8aa" ON "__chart__instance" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_6d6f156ceefc6bc5f273a0e370" ON "__chart__hashtag" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_49975586f50ed7b800fdd88fbd" ON "__chart__hashtag" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_fcc181fb8283009c61cc4083ef" ON "__chart__hashtag" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_e9cd07672b37d8966cf3709283" ON "__chart__federation" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_2d416e6af791a82e338c79d480" ON "__chart__federation" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_e447064455928cf627590ef527" ON "__chart__federation" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_06690fc959f1c9fdaf21928222" ON "__chart__drive" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_6e1df243476e20cbf86572ecc0" ON "__chart__drive" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_3fa0d0f17ca72e3dc80999a032" ON "__chart__drive" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_c26e2c1cbb6e911e0554b27416" ON "__chart__active_users" ("date", "group", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_20f57cc8f142c131340ee16742" ON "__chart__active_users" ("date", "span") `);
await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `);
}
}

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