Compare commits

...

1361 Commits

Author SHA1 Message Date
syuilo
60e0b19372 10.93.0 2019-03-12 17:24:42 +09:00
syuilo
922eb937ff 🎨 2019-03-12 17:20:40 +09:00
syuilo
87573284f1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-12 17:11:33 +09:00
syuilo
a91c585f55 Add queue chart 2019-03-12 17:11:06 +09:00
syuilo
953ea21d5e New Crowdin translations (#4479)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)
2019-03-12 16:43:13 +09:00
syuilo
ecb00968bc Fix bug 2019-03-12 16:42:56 +09:00
syuilo
50ad8adb2d Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-12 13:26:33 +09:00
syuilo
16878caf09 Update doc 2019-03-12 13:26:26 +09:00
syuilo
5bc30c5493 Add log 2019-03-12 13:12:49 +09:00
MeiMei
85d89cf4c4 embedプレイヤーを閉じれるように (#4402) 2019-03-12 13:12:34 +09:00
syuilo
db693f598b シェアページを統合 2019-03-12 13:02:16 +09:00
syuilo
0494c770a1 Better share template 2019-03-12 12:59:26 +09:00
syuilo
c473b62aed Follow latest Web Share Target specification 2019-03-12 12:55:43 +09:00
syuilo
f19ac5320e Remove unnecessary checking 2019-03-12 12:46:01 +09:00
syuilo
612e3aafbc activeなジョブ数のカウント方法を分けた
https://github.com/syuilo/misskey/issues/4470#issuecomment-471827030
2019-03-12 12:31:01 +09:00
syuilo
0e97fec451 Fix typo 2019-03-12 10:46:25 +09:00
syuilo
e8c8626ee4 New Crowdin translations (#4469)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Czech)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)
2019-03-12 10:41:05 +09:00
syuilo
d89e0f07f8 Update issue templates 2019-03-12 10:38:30 +09:00
syuilo
e7f81a42ce Resolve #4470 2019-03-12 10:35:17 +09:00
Acid Chicken (硫酸鶏)
ac614148b8 Update README.md [AUTOGEN] (#4477) 2019-03-12 09:50:42 +09:00
MeiMei
5eb02b4901 Resolve #4458 (#4476) 2019-03-12 09:50:20 +09:00
Acid Chicken (硫酸鶏)
65631525f6 Update README.md [AUTOGEN] (#4474) 2019-03-12 09:49:58 +09:00
syuilo
969435cfe9 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-12 00:34:30 +09:00
syuilo
c932f7a25b Resolve #1736 2019-03-12 00:34:19 +09:00
MeiMei
42d164dc57 log failed job (#4472) 2019-03-11 22:45:07 +09:00
syuilo
a7e60f80bd Refactor: Extract downloadTextFile function 2019-03-11 20:23:29 +09:00
syuilo
3dd5f313b7 Add icons 🎨 2019-03-11 20:12:44 +09:00
syuilo
883962c393 Add icon 🎨 2019-03-11 20:07:27 +09:00
syuilo
8a30ff1c76 🌎 A federated blogging platform 🚀 2019-03-11 20:03:02 +09:00
syuilo
e47c354916 Refactor 2019-03-11 19:57:50 +09:00
syuilo
496f42805d リストをインポートしたときにプロキシアカウントがフォローするように修正 2019-03-11 19:51:58 +09:00
syuilo
c3d34bda37 Resolve #4259 2019-03-11 19:43:58 +09:00
syuilo
bb6ede2b8f 10.92.4 2019-03-11 13:59:27 +09:00
syuilo
822400a1ba New Crowdin translations (#4461)
* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Czech)
2019-03-11 13:57:21 +09:00
syuilo
e3e08843f1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-11 09:59:14 +09:00
syuilo
ce0d4f77fa リストのエクスポートをできるように
#4259
2019-03-11 09:59:07 +09:00
Acid Chicken (硫酸鶏)
94fdb4e974 Update README.md [AUTOGEN] (#4467) 2019-03-11 08:13:02 +09:00
MeiMei
4d425fc8a4 Use proxy instead of weserv for url-preview images (#4466) 2019-03-11 01:03:09 +09:00
MeiMei
c6cdfa2f5a Ignore 4xx references in AP (#4463)
* Ignore 4xx references

* remove unnecessary comment
2019-03-10 22:27:25 +09:00
syuilo
0fff2e4f16 Remove debug code 2019-03-10 19:20:25 +09:00
syuilo
80a2172715 Resolve #4462 2019-03-10 19:16:33 +09:00
syuilo
5a0a297634 Improve redis config 2019-03-09 23:44:54 +09:00
syuilo
948a133b7b Fix log 2019-03-09 18:15:44 +09:00
syuilo
2ee826c958 10.92.3 2019-03-09 10:21:45 +09:00
syuilo
539409faf8 Better logs 2019-03-09 10:18:59 +09:00
syuilo
606e46e4d7 Make info 2019-03-09 10:10:24 +09:00
syuilo
a179cfd69a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-09 10:09:12 +09:00
syuilo
d8379253d4 Rename 2019-03-09 10:09:04 +09:00
MeiMei
c3344fbd68 To retry AP deliver queue (#4457) 2019-03-09 08:57:55 +09:00
syuilo
4cebd6e84a Increase job attempts limit a little 2019-03-08 21:43:17 +09:00
syuilo
90fbf9dbb0 Add missing semicolon 2019-03-08 21:38:23 +09:00
syuilo
d365b9f634 Fix bug 2019-03-08 21:30:12 +09:00
syuilo
a2f06acaa4 10.92.2 2019-03-08 21:00:35 +09:00
syuilo
8c90cbcbfb Disable lifo 2019-03-08 20:58:01 +09:00
syuilo
a4a47772dc New Crowdin translations (#4447)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

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

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

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

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)
2019-03-08 20:55:36 +09:00
syuilo
5dde1f4602 Update README.md 2019-03-08 20:52:09 +09:00
syuilo
9dc0909eeb Add index 2019-03-08 20:36:42 +09:00
syuilo
0ed2592e41 Resolve #4453 2019-03-08 20:07:29 +09:00
syuilo
76cff98220 Fix bug 2019-03-08 19:45:01 +09:00
syuilo
60604b6f51 🎨 2019-03-08 15:34:34 +09:00
syuilo
f410b7aecb 🎨 2019-03-08 15:27:06 +09:00
syuilo
1a61f2cee9 自動更新 2019-03-08 13:10:38 +09:00
syuilo
78a8293520 ジョブの数を一覧できるように 2019-03-08 13:03:38 +09:00
syuilo
03cfb4fc8d 🎨 2019-03-08 13:03:17 +09:00
syuilo
144345a359 Enable lifo job 2019-03-08 05:39:59 +09:00
syuilo
fd2c01515e Increase job concurrency 2019-03-08 05:23:13 +09:00
syuilo
219570e08b Update job handlers 2019-03-08 05:22:14 +09:00
syuilo
69df556ff5 Resolve #4448 2019-03-08 04:55:55 +09:00
syuilo
5f4a52574f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-07 23:43:56 +09:00
syuilo
5a1f6c5839 10.92.1 2019-03-07 23:43:42 +09:00
syuilo
91d0342fe8 New Crowdin translations (#4445)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)
2019-03-07 23:41:13 +09:00
syuilo
8cc236daf8 Clean jobs 2019-03-07 23:36:08 +09:00
syuilo
d283ec69f7 Refactor 2019-03-07 23:27:38 +09:00
syuilo
d1aea7596c Fix import 2019-03-07 23:14:01 +09:00
syuilo
c934987b14 Resolve #4444 2019-03-07 23:07:21 +09:00
syuilo
00c9f4a2e5 Update issue templates 2019-03-07 21:41:39 +09:00
syuilo
6605c1d07f New Crowdin translations (#4431)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-03-07 21:19:53 +09:00
MeiMei
7325d66c52 Implement Update Question (#4435)
* Update remote votes count

* save updatedAt

* deliver Update

* use renderNote

* use id

* fix typeof
2019-03-07 21:19:32 +09:00
Acid Chicken (硫酸鶏)
a485061e22 Update README.md [AUTOGEN] (#4441) 2019-03-07 20:30:41 +09:00
Acid Chicken (硫酸鶏)
1f63f50343 Create robots.txt (#4439)
* Create robots.txt

* Update index.ts
2019-03-07 20:11:04 +09:00
syuilo
cd3170dabd Update PULL_REQUEST_TEMPLATE.md 2019-03-07 20:06:36 +09:00
syuilo
841cedc5f8 Update issue templates 2019-03-07 19:56:02 +09:00
dependabot[bot]
7f4882734d Update @types/speakeasy requirement from 2.0.3 to 2.0.4 (#4369)
Updates the requirements on [@types/speakeasy](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/speakeasy) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/speakeasy)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:41:08 +09:00
dependabot[bot]
e7d647d412 Update eslint requirement from 5.12.0 to 5.15.0 (#4394)
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v5.12.0...v5.15.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:55 +09:00
dependabot[bot]
913d14a58a Update @types/node requirement from 10.12.24 to 11.10.4 (#4396)
Updates the requirements on [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:41 +09:00
dependabot[bot]
909272ec3d Update @types/koa-router requirement from 7.0.39 to 7.0.40 (#4418)
Updates the requirements on [@types/koa-router](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/koa-router) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/koa-router)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:22 +09:00
dependabot[bot]
7af40ffbbe Update webpack-cli requirement from 3.2.1 to 3.2.3 (#4422)
Updates the requirements on [webpack-cli](https://github.com/webpack/webpack-cli) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v.3.2.1...V.3.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:09 +09:00
dependabot[bot]
9df79a3ec9 Update file-type requirement from 10.7.1 to 10.9.0 (#4423)
Updates the requirements on [file-type](https://github.com/sindresorhus/file-type) to permit the latest version.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v10.7.1...v10.9.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:39:52 +09:00
dependabot[bot]
4f2eee06aa Update bootstrap-vue requirement from 2.0.0-rc.11 to 2.0.0-rc.13 (#4353)
Updates the requirements on [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) to permit the latest version.
- [Release notes](https://github.com/bootstrap-vue/bootstrap-vue/releases)
- [Changelog](https://github.com/bootstrap-vue/bootstrap-vue/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.11...v2.0.0-rc.13)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:39:39 +09:00
syuilo
1b9cf76008 Update issue templates 2019-03-07 18:16:49 +09:00
syuilo
d035a43ed6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-07 16:50:41 +09:00
syuilo
95ee9a6e09 Update issue templates 2019-03-07 16:50:05 +09:00
Acid Chicken (硫酸鶏)
02a63cdcb3 Update index.js 2019-03-07 16:43:16 +09:00
syuilo
f02125dd47 Resolve #4437 2019-03-07 13:03:46 +09:00
syuilo
c11e813146 Fix 2019-03-07 09:35:23 +09:00
syuilo
a365849048 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-07 09:31:07 +09:00
syuilo
a493c9f769 🎨 2019-03-07 09:30:44 +09:00
Acid Chicken (硫酸鶏)
a13f522b2a Update README.md [AUTOGEN] (#4436) 2019-03-07 09:18:57 +09:00
syuilo
1ed70b2e2c 10.92.0 2019-03-06 23:37:53 +09:00
syuilo
86d5a599b7 New Crowdin translations (#4414)
* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Czech)
2019-03-06 23:30:39 +09:00
Acid Chicken (硫酸鶏)
c226fc8d63 Make building locales better (#4427) 2019-03-06 23:28:50 +09:00
syuilo
bbf4e1c413 Add fallback for broken db 2019-03-06 23:23:50 +09:00
syuilo
a24a20a83d Clean up 2019-03-06 23:19:15 +09:00
Acid Chicken (硫酸鶏)
725600da8f Enhance poll (#4409)
* Start working

* WIP: Enhance poll

* Fix bug

* Use `name` in voting note
refs: https://github.com/syuilo/misskey/issues/4407#issuecomment-469057296

* Fix style

* Refactor
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>

* WIP: Update poll editor

* Fix bug

* Fix bug
refs: https://github.com/syuilo/misskey/pull/4409#discussion_r

* Fix typo

* Better design

* Beautify poll editor

* Fix UI

* Fix bug
refs: https://github.com/syuilo/misskey/pull/4409#discussion_r262217524

* Add debug logging

* Fix bug

* Log deliver

* fix vote

* Update ap/show
refs: https://github.com/syuilo/misskey/pull/4409#issuecomment-469652386

* Update poll view

* Maybe done

* Add tests

* Fix path

* Fix test

* Fix test

* Fix test

* Fix expired check on AP

* Update note.ts

* Squashed commit of the following:

commit d9a4beabf851893b8992a0f4568265eb9d4f0b8e
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:16:14 2019 +0900

    tune

commit 83ff421a6e978243f80ba9ec820189bc897e6e3b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:01:14 2019 +0900

    fallback

commit 0b566af973b115ade9e75ea4b8094ee2b329dabc
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:40:12 2019 +0900

    Note

commit cc0296dd6127580ac584c40398db3f762a311f8b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:33:58 2019 +0900

    createで送る

* Squashed commit of the following:

commit ae696b1ed12568b27c27367ac5a77035c97c9a1f
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 06:11:17 2019 +0900

    fix

commit b735e354e7a9e64534c4f17d04ecbc65fb735c21
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 06:08:33 2019 +0900

    messge

commit d9a4beabf851893b8992a0f4568265eb9d4f0b8e
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:16:14 2019 +0900

    tune

commit 83ff421a6e978243f80ba9ec820189bc897e6e3b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:01:14 2019 +0900

    fallback

commit 0b566af973b115ade9e75ea4b8094ee2b329dabc
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:40:12 2019 +0900

    Note

commit cc0296dd6127580ac584c40398db3f762a311f8b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:33:58 2019 +0900

    createで送る

* Fix typo

* Update vote.ts

* Update vote.ts

* Update poll-editor.vue

* Update tslint.json

* Fix layout

* Add note

* Fix bug

* Rename text key

* 投票するときに投稿として扱わないように (#4425)

* wip

* 形式をMastodonと合わせた

* Bye something

* Use - instead of ~

* Redundancy

* Yes!

* Refactor

* Use moment instead of Date

* Fix indent

* Refactor

if (votes.length)
は必要なさそう

* Clean up

* Bye Date

* Clean

* Fix timer is not displayed

* Fix リモートから無期限pollにvoteできない

* Fix vote actor
2019-03-06 22:55:47 +09:00
syuilo
f74a32ed9b [Client] Fix bug 2019-03-06 20:17:59 +09:00
Acid Chicken (硫酸鶏)
e08e72dd10 Use meta url instead of constant url 2019-03-06 12:31:58 +09:00
Acid Chicken (硫酸鶏)
ce02e1e528 Bye on-build-webpack (#4404)
* Update webpack.config.ts

* Update package.json
2019-03-06 09:26:22 +09:00
syuilo
0b27d8a717 Fix #4421 2019-03-06 09:24:16 +09:00
syuilo
2782e7d26f [MFM] Improve hashtag parsing 2019-03-05 22:18:29 +09:00
syuilo
2c83a05e80 [Client] Better transition 2019-03-05 20:45:19 +09:00
syuilo
467f68502a Refactor 2019-03-05 20:32:39 +09:00
syuilo
d95b0dee6b Fix #4416 2019-03-05 08:27:50 +09:00
syuilo
a1f3323fa5 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-05 08:24:26 +09:00
syuilo
494796a7f0 Fix #4415 2019-03-05 08:24:19 +09:00
MeiMei
94f2c20d35 Fix #4413 (#4417) 2019-03-05 07:56:23 +09:00
Acid Chicken (硫酸鶏)
c1deb9438d Update README.md [AUTOGEN] (#4411) 2019-03-04 19:27:53 +09:00
syuilo
ea86527c66 Add indexes 2019-03-04 19:26:05 +09:00
syuilo
d1a18fe266 Resolve #3220 2019-03-04 14:32:36 +09:00
syuilo
737064da82 Better log 2019-03-04 14:02:42 +09:00
syuilo
606cc85ff5 10.91.2 2019-03-04 09:25:28 +09:00
syuilo
dcfc8f1b30 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-04 09:23:49 +09:00
syuilo
ebe4b84f14 Fix bug 2019-03-04 09:23:45 +09:00
syuilo
699d4897db New Crowdin translations (#4403)
* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)
2019-03-04 09:17:46 +09:00
syuilo
fcdfd8d323 Use vue-json-pretty 2019-03-04 09:16:24 +09:00
MeiMei
db8625c31a Revert "Improve log view" (#4406)
This reverts commit e8ef8f0004.
2019-03-04 08:55:35 +09:00
syuilo
b65f265c55 Update logs 2019-03-03 10:57:17 +09:00
syuilo
c55237d09c 10.91.1 2019-03-03 08:49:53 +09:00
syuilo
ed698b7b82 New Crowdin translations (#4398)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-03-03 08:48:17 +09:00
MeiMei
d4ff19f013 Fix SVG detection (#4401)
* Fix SVG detection

* remove unnecessary import
2019-03-03 08:48:02 +09:00
syuilo
972fb8eb40 Hide some components 2019-03-03 08:46:42 +09:00
syuilo
4de75448b6 テーマの切り替えをなめらかに 2019-03-03 08:43:51 +09:00
syuilo
e8ef8f0004 Improve log view 2019-03-03 08:35:30 +09:00
syuilo
a319b30382 Increase log limit 2019-03-03 08:28:35 +09:00
syuilo
8278616eeb Fix log order 2019-03-03 08:28:12 +09:00
syuilo
771f011506 Better log 2019-03-03 08:27:30 +09:00
syuilo
826865869a Improve usability 2019-03-03 08:23:06 +09:00
syuilo
3c77ae7b62 Improve log api 2019-03-03 08:13:49 +09:00
syuilo
60c30ece10 Better logs 2019-03-03 08:00:39 +09:00
syuilo
76a0d0fee9 Use dot 2019-03-03 07:48:25 +09:00
syuilo
d50624f0a0 Better logs 2019-03-03 07:47:58 +09:00
syuilo
4f9b015d1c 10.91.0 2019-03-02 18:56:38 +09:00
syuilo
4f10bd038d Update ja-JP.yml 2019-03-02 18:53:12 +09:00
syuilo
977af0a24d ログをデータベースに保存して管理画面で見れるように 2019-03-02 18:51:59 +09:00
syuilo
f3ceb32a7c Change queue db name 2019-03-02 14:32:32 +09:00
syuilo
15da2de256 Add animaition 2019-03-02 14:27:30 +09:00
syuilo
41ae0ccd6f Update dependencies 🚀 2019-03-02 14:25:44 +09:00
Acid Chicken (硫酸鶏)
344532662e Update README.md [AUTOGEN] (#4393) 2019-03-02 08:59:53 +09:00
Acid Chicken (硫酸鶏)
99b365030e Update README.md [AUTOGEN] (#4391) 2019-03-02 08:58:35 +09:00
syuilo
5cc940c08a Fix bug
Fix #4390
2019-03-02 08:13:09 +09:00
syuilo
1d02d9e0fe モバイルのデッキで返信が表示されない問題を修正 2019-03-02 08:06:03 +09:00
syuilo
139523b763 Refactor 2019-03-02 07:57:18 +09:00
syuilo
e7c83db9c7 New Crowdin translations (#4381)
* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

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

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

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

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)
2019-03-01 18:10:00 +09:00
Acid Chicken (硫酸鶏)
da47782b77 Update README.md [AUTOGEN] (#4389) 2019-03-01 14:46:48 +09:00
syuilo
4685de88a7 Better log 2019-03-01 14:40:29 +09:00
syuilo
0c28ac4907 Add animation 2019-03-01 14:24:12 +09:00
Acid Chicken (硫酸鶏)
ae2d707c68 Update README.md [AUTOGEN] (#4387) 2019-03-01 11:13:07 +09:00
syuilo
00a28193a0 ダークモードの設定をテーマに移動 2019-03-01 11:03:45 +09:00
syuilo
ea1818284b クライアントの設定コンポーネントを整理
* デスクトップとモバイルで統一
* いくつかの設定を廃止
2019-03-01 10:42:28 +09:00
syuilo
d83efecc94 文字サイズを設定できるように 2019-03-01 08:08:08 +09:00
syuilo
9a9fb37a78 Update compose-notification.ts 2019-02-28 20:57:38 +09:00
syuilo
b6dc6c6984 10.90.4 2019-02-28 15:57:02 +09:00
syuilo
517084b1fc Fix error 2019-02-28 14:17:39 +09:00
syuilo
27763e6898 🎨 2019-02-28 14:14:05 +09:00
syuilo
57dde1da38 Fix error 2019-02-28 14:13:18 +09:00
syuilo
0bb961767c Fix i18n 2019-02-28 14:10:56 +09:00
syuilo
88515ce677 Use internal dialog 2019-02-28 14:07:03 +09:00
syuilo
00562e840c Improve usability 2019-02-28 12:53:31 +09:00
syuilo
b7927ba386 Refactor 2019-02-28 12:49:13 +09:00
syuilo
9c363ff045 Improve usability 2019-02-28 12:29:04 +09:00
syuilo
1dbce5e3e2 Improve performance 2019-02-28 12:14:24 +09:00
syuilo
361a9ca1be url-previewでembedプレイヤー展開をオプトインにする (#4382)
* url-previewでembedプレイヤー展開をオプトインにする

* remove tabs
2019-02-28 12:05:47 +09:00
syuilo
cde6514839 Add log 2019-02-28 12:00:57 +09:00
syuilo
507e2f727e 読み込む通知数を増やした 2019-02-28 11:44:16 +09:00
syuilo
8028499d2b 🎨 2019-02-28 11:42:41 +09:00
syuilo
c2c79c4a87 [Client] Use class selector to improve performance 2019-02-28 11:39:34 +09:00
mei23
d56f7f3390 remove tabs 2019-02-28 03:57:35 +09:00
mei23
ef70d17194 url-previewでembedプレイヤー展開をオプトインにする 2019-02-28 03:46:37 +09:00
syuilo
9789b9a083 🎨 2019-02-27 16:47:13 +09:00
syuilo
e6311fdb13 🎨 2019-02-27 09:27:19 +09:00
syuilo
2231c54dee 10.90.3 2019-02-27 05:33:05 +09:00
syuilo
20de9a5e35 Resolve #4374 2019-02-27 05:31:16 +09:00
syuilo
ec3a6d7097 🎨 2019-02-27 05:20:29 +09:00
syuilo
9d99bf5af8 🎨 2019-02-27 05:16:32 +09:00
syuilo
52911cc9fd 🎨 2019-02-27 05:13:11 +09:00
syuilo
6f71ba376d Improve doc 2019-02-27 05:08:42 +09:00
syuilo
9f439aabba Fix schema 2019-02-27 05:02:46 +09:00
syuilo
33ad60b1f3 Improve doc 2019-02-27 05:02:36 +09:00
Big Buddha
010d3f8281 Update translations of CONTRIBUTING.md (#4371)
* Update translationa about Nyaize

* Update translation about description of source code

* Fix translation
2019-02-26 18:00:47 +09:00
syuilo
e27c4bf1b9 10.90.2 2019-02-26 15:27:34 +09:00
syuilo
11cfc58ffc New Crowdin translations (#4370)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)
2019-02-26 15:25:34 +09:00
syuilo
91f38a8ddd 🎨 2019-02-26 14:44:26 +09:00
syuilo
b56fed8ed5 Update notes/featured 2019-02-26 14:42:24 +09:00
syuilo
4a93dadc1c 🎨 2019-02-26 14:37:17 +09:00
syuilo
3a5f55c471 Chage default settings 2019-02-26 14:28:38 +09:00
syuilo
2919e37586 Fix 2019-02-26 14:25:09 +09:00
syuilo
077bdbfdef Improve doc 2019-02-26 14:21:28 +09:00
syuilo
61ac024127 i18n整理 2019-02-26 14:13:02 +09:00
syuilo
8db8d3f39e 🎨 2019-02-26 14:02:23 +09:00
syuilo
e7032363d7 🎨 2019-02-26 12:14:24 +09:00
syuilo
8a9dc26419 アカウントが削除できない問題を修正 2019-02-26 11:42:21 +09:00
syuilo
022f5a18c8 10.90.1 2019-02-26 07:01:04 +09:00
syuilo
eae4b2f2e9 Improve usability 2019-02-26 06:56:15 +09:00
syuilo
d285452dec Fix bug 2019-02-26 06:54:49 +09:00
syuilo
aced183a66 10.90.0 2019-02-26 05:34:58 +09:00
dependabot[bot]
77b150c53b Update apexcharts requirement from 3.4.1 to 3.5.0 (#4368)
Updates the requirements on [apexcharts](https://github.com/apexcharts/apexcharts.js) to permit the latest version.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/compare/v3.4.1...v3.5.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-26 05:23:43 +09:00
syuilo
9b2ddfea5f New Crowdin translations (#4367)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Chinese Simplified)
2019-02-26 05:23:06 +09:00
syuilo
bf2bdaa6ff 🎨 2019-02-26 05:22:21 +09:00
syuilo
42525bb12a Improve usability 2019-02-25 20:18:15 +09:00
syuilo
bc243c1ea3 i18n 2019-02-25 20:17:33 +09:00
syuilo
a2517d1a1d 🎨 2019-02-25 20:08:56 +09:00
syuilo
c0a60260c2 モバイル版でもデッキを使えるように (#4366)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Fix bug

* wip

* Update notifications.vue

* Update user-menu.vue

* deck settings

* indicate
2019-02-25 19:45:00 +09:00
syuilo
3654f247c4 Fix error 2019-02-25 15:22:56 +09:00
syuilo
c4ddfef2ed Improve doc 2019-02-25 09:37:22 +09:00
syuilo
28086111e1 Resolve #4325 2019-02-25 04:20:42 +09:00
syuilo
60c9a6528f Improve doc 2019-02-25 04:18:09 +09:00
syuilo
47d4dcfdf5 Improve doc 2019-02-25 04:02:18 +09:00
syuilo
eb8d1211ba Improve doc 2019-02-25 03:43:19 +09:00
syuilo
495aad6a2d Improve doc 2019-02-25 03:35:45 +09:00
syuilo
77676d18c8 Improve doc 2019-02-25 03:30:22 +09:00
syuilo
68d90caab7 Fix doc 2019-02-25 03:23:19 +09:00
syuilo
31fc43ed16 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-25 03:22:01 +09:00
syuilo
31802c9749 Improve doc 2019-02-25 03:21:54 +09:00
syuilo
192aa89f95 New Crowdin translations (#4364)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (Chinese Simplified)
2019-02-25 02:45:07 +09:00
Acid Chicken (硫酸鶏)
b0a0faff7e Update README.md [AUTOGEN] (#4365) 2019-02-25 02:44:55 +09:00
syuilo
b67f3438e9 Improve doc 2019-02-24 19:42:26 +09:00
syuilo
02e4929a97 Improve doc 2019-02-24 19:27:32 +09:00
syuilo
fcc6a65e08 Improve doc 2019-02-24 18:13:11 +09:00
syuilo
f4ae939124 ハイフンに統一 2019-02-24 17:57:49 +09:00
syuilo
664acb2d0e Refactor 2019-02-24 17:48:54 +09:00
syuilo
e6e7cecdb6 Refactor 2019-02-24 17:35:19 +09:00
syuilo
563d604812 Refactor 2019-02-24 17:28:51 +09:00
syuilo
012d744f4c Fix doc 2019-02-24 17:28:15 +09:00
syuilo
d4c7ca76ac 10.89.1 2019-02-24 13:30:05 +09:00
syuilo
1a6aae944f 🎨 2019-02-24 13:29:08 +09:00
syuilo
71e0241c94 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-24 12:58:55 +09:00
syuilo
d838ef5b76 Resolve #4362 2019-02-24 12:58:45 +09:00
syuilo
d90a5c9154 New Crowdin translations (#4350)
* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-02-24 12:54:57 +09:00
syuilo
9b79a411e0 Use camelCase 2019-02-24 12:53:22 +09:00
syuilo
b8e0ec9edc Improve doc 2019-02-24 12:40:17 +09:00
syuilo
57009057ae Update typescript to 3.3.3333 🚀 2019-02-24 12:25:12 +09:00
syuilo
5db7b2e193 Improve doc 2019-02-24 12:23:31 +09:00
MeiMei
d994c84901 Resolve audioTag undefined error (#4363) 2019-02-24 10:50:45 +09:00
MeiMei
febfb97bb4 Remember container state on user page (#4361)
* Remember container state on user page

* remove unnecessary code
2019-02-24 10:38:53 +09:00
MeiMei
a6c5e62923 assetsのjs要求時にsaltを付けないように (#4358)
* No assets salt

* remove related code
2019-02-24 10:38:00 +09:00
syuilo
ac0390fec3 Improve doc 2019-02-24 10:08:09 +09:00
syuilo
97b99867f2 Improve doc 2019-02-24 10:04:27 +09:00
syuilo
a55d5516a6 Improve doc 2019-02-24 10:00:24 +09:00
syuilo
b679163d01 Improve type definitions 2019-02-24 09:45:27 +09:00
syuilo
76edcdbe45 Update schemas.ts 2019-02-24 04:27:09 +09:00
syuilo
d8d51519c4 Update description.ts 2019-02-24 04:11:54 +09:00
syuilo
3446969121 Refator: separate files 2019-02-24 04:08:08 +09:00
syuilo
0e0c35a701 Fix bug 2019-02-24 03:56:15 +09:00
syuilo
c9a6c9e20a テキストをまとめた 2019-02-24 03:54:04 +09:00
syuilo
3d2b982a94 Use internal alert function 2019-02-24 03:52:12 +09:00
syuilo
6157d8331b Update drive.vue 2019-02-24 03:50:24 +09:00
YuzuRyo61
3d0fc09fae Implement mobile version folder deletion (#4355) 2019-02-24 03:49:07 +09:00
syuilo
b975751710 Use global translation 2019-02-24 03:39:45 +09:00
MeiMei
4530d40537 Add missing translation - ホームのカスタマイズ (#4360) 2019-02-24 03:34:40 +09:00
MeiMei
94e3ac9b72 デッキからホームに行くメニューをホームと表記する (#4359) 2019-02-24 03:34:09 +09:00
Acid Chicken (硫酸鶏)
e13fe97ebb Update update.ts (#4357)
* Update update.ts

* Update update.ts

* Update update.ts

* Update update.ts
2019-02-24 03:32:30 +09:00
Acid Chicken (硫酸鶏)
4ad7632113 Fix bool-param-default 2019-02-23 17:21:59 +09:00
Acid Chicken (硫酸鶏)
0709cac97f Fix indent 2019-02-23 16:23:15 +09:00
syuilo
7dd4180fba Better error handling 2019-02-23 15:45:03 +09:00
syuilo
558213490a Remove space 2019-02-23 15:42:52 +09:00
syuilo
78a69e3da8 Update doc 2019-02-23 15:35:26 +09:00
syuilo
140c78e5a7 Add operationId to more convinience 2019-02-23 14:59:37 +09:00
syuilo
a8e18e0e22 Add source code link 2019-02-23 14:57:05 +09:00
syuilo
2a8bb23625 Fix type 2019-02-23 14:56:48 +09:00
Acid Chicken (硫酸鶏)
936a4d1bc4 Add reaction count (#4283) 2019-02-23 13:44:37 +09:00
imgbot[bot]
69c34e8d00 [ImgBot] Optimize images (#4352)
/assets/api-doc.png -- 5.85kb -> 5.41kb (7.54%)
2019-02-23 13:34:35 +09:00
syuilo
1a2a190828 10.89.0 2019-02-23 11:29:29 +09:00
syuilo
251cf1d76f Update dependencies 🚀 2019-02-23 11:29:17 +09:00
syuilo
52774bbe64 Introduce OpenAPI specs (#4351)
* wip

* wip

* wip

* Update index.ts

* Update gen-openapi-spec.ts

* Update api.ja-JP.md

* Fix

* Improve doc

* Update gen-openapi-spec.ts

* Update redoc.html

* Improve doc

* Update gen-openapi-spec.ts

* Improve doc

* Update CHANGELOG.md
2019-02-23 11:20:58 +09:00
syuilo
68a6758302 投稿を削除したときにお気に入りからも削除するように 2019-02-22 14:54:52 +09:00
syuilo
13e43a4f74 Refactor 2019-02-22 14:53:03 +09:00
syuilo
b7d62d09ec Refactor 2019-02-22 14:46:49 +09:00
syuilo
321ec18173 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-22 14:22:54 +09:00
syuilo
a44ac3306e Fix error response format 2019-02-22 14:22:40 +09:00
MeiMei
951288ecf0 docs to run in production mode (#4347)
* run in production mode from systemd

* NODE_ENV=production npm run build

* npm start
2019-02-22 14:18:05 +09:00
syuilo
cc8a7dd588 Fix bug 2019-02-22 14:09:24 +09:00
syuilo
813c52f51e Remove unused imports 2019-02-22 14:06:17 +09:00
syuilo
be3298639d Refactor 2019-02-22 14:02:56 +09:00
syuilo
e8d2959717 New Crowdin translations (#4337)
* New translations ja-JP.yml (Chinese Simplified)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)
2019-02-22 13:46:51 +09:00
Acid Chicken (硫酸鶏)
e7680e08eb Update README.md [AUTOGEN] (#4344) 2019-02-22 13:46:26 +09:00
syuilo
bd792d7661 Fix type annotation 2019-02-22 13:39:06 +09:00
syuilo
4920983f23 Refactoring 2019-02-22 13:38:12 +09:00
syuilo
2756f553c6 Improve error handling of API (#4345)
* wip

* wip

* wip

* Update attached_notes.ts

* wip

* Refactor

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update call.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* ✌️

* Fix
2019-02-22 11:46:58 +09:00
syuilo
fc52e95ad0 Update CHANGELOG.md 2019-02-22 02:10:32 +09:00
syuilo
5d1d6bc028 Fix i18n 2019-02-22 02:08:45 +09:00
syuilo
b106acac91 Fix #4340 2019-02-22 01:56:07 +09:00
Acid Chicken (硫酸鶏)
a5071db864 Update note-detail.vue (#4342) 2019-02-21 23:20:55 +09:00
MeiMei
bae874eb45 /api/v1/instance/peers 復活 (#4339)
* /api/v1/instance/peers 復活

* use Instance
2019-02-21 23:20:25 +09:00
syuilo
60da17940d 10.88.0 2019-02-21 06:06:12 +09:00
syuilo
385eeed732 New Crowdin translations (#4332)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-02-21 06:05:35 +09:00
syuilo
2e908758d8 🎨 2019-02-21 06:04:42 +09:00
syuilo
a164f8ad95 Fix bug 2019-02-21 05:53:10 +09:00
syuilo
372138dfea アカウント削除時にサインイン履歴も削除するように 2019-02-21 01:49:00 +09:00
syuilo
922a657c7e アカウント削除時にメッセージも削除するように 2019-02-21 01:47:10 +09:00
syuilo
3409a51cca Resolve #2017 2019-02-21 01:30:21 +09:00
syuilo
7174a55846 🎨 2019-02-21 00:37:58 +09:00
syuilo
6656a59402 Fix error 2019-02-21 00:32:49 +09:00
syuilo
7612ead551 Fix #4331 2019-02-21 00:30:53 +09:00
syuilo
fa78fe665d メディアビュー機能を削除 2019-02-21 00:13:46 +09:00
syuilo
c89aa7eb95 デッキでメディア投稿のみ表示するオプションが機能していない問題を修正 2019-02-21 00:12:09 +09:00
syuilo
43f4c5b7cd Fix #1537 2019-02-21 00:04:23 +09:00
syuilo
2b6c566386 Fix template styling 2019-02-21 00:02:23 +09:00
syuilo
91ef328b6b 「みつける」でミュートしているユーザーが含まれる問題を修正 2019-02-20 22:34:52 +09:00
syuilo
5a9d9dc41d Fix indent 2019-02-20 22:33:22 +09:00
syuilo
a48e503caa Fix indent 2019-02-20 22:33:13 +09:00
syuilo
fe00cb9ad5 ハイライトでミュートしているユーザーの投稿が含まれる問題を修正 2019-02-20 22:31:21 +09:00
syuilo
ed0fdaddbd Fix #4333 2019-02-20 22:21:12 +09:00
syuilo
893795a31d Update some logs 2019-02-20 22:05:34 +09:00
syuilo
f1047f1ce5 10.87.5 2019-02-20 16:35:36 +09:00
syuilo
9beddc941a 返信が遷移後も残り続ける問題を修正 2019-02-20 16:35:00 +09:00
syuilo
3a6a01d2d6 New Crowdin translations (#4328)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Chinese Simplified)
2019-02-20 16:27:04 +09:00
syuilo
e0e4bdbdbc Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-20 16:14:39 +09:00
syuilo
b3daf79b6a Update CHANGELOG.md 2019-02-20 16:14:31 +09:00
Acid Chicken (硫酸鶏)
81aa21915b Fix #4329 (#4330)
* Create xml.ts

* Update well-known.ts

* Update well-known.ts

* Fix typo

* Update well-known.ts

* Update well-known.ts
2019-02-20 16:13:43 +09:00
syuilo
5aadd80243 Update CHANGELOG.md 2019-02-20 13:41:55 +09:00
syuilo
23350b1cbc 🎨 2019-02-20 13:41:31 +09:00
syuilo
daff0977cb Resolve #747 2019-02-20 13:38:48 +09:00
syuilo
c1e7d56ff8 Fix bug 2019-02-20 10:15:06 +09:00
syuilo
61aef56f83 🎨 2019-02-20 10:14:11 +09:00
syuilo
249f591403 10.87.4 2019-02-20 07:21:58 +09:00
syuilo
36599c82d1 New translations ja-JP.yml (Chinese Simplified) (#4323) 2019-02-20 07:21:12 +09:00
syuilo
7615b1ea0a Improve usability 2019-02-20 07:19:05 +09:00
syuilo
d8de9f8eba 🎨 2019-02-20 07:15:08 +09:00
syuilo
8c0e65ce6f Fix error 2019-02-20 07:09:57 +09:00
syuilo
9aa24c0552 🎨 2019-02-20 07:08:54 +09:00
MeiMei
47bf06f432 人気のタグは常に上 (#4314) 2019-02-20 06:46:35 +09:00
syuilo
99d291c71b Update CHANGELOG.md 2019-02-20 06:45:16 +09:00
syuilo
d51cafca74 Fix #4326 2019-02-20 06:44:40 +09:00
syuilo
7921f8cd43 🎨 2019-02-20 01:00:59 +09:00
imgbot[bot]
1b8467d5e5 [ImgBot] Optimize images (#4322)
*Total -- 482.97kb -> 427.88kb (11.41%)

/src/client/assets/misskey-php-like-logo.png -- 48.77kb -> 41.66kb (14.59%)
/assets/ss/explore.jpg -- 272.68kb -> 238.07kb (12.69%)
/assets/ss/user.jpg -- 161.52kb -> 148.15kb (8.27%)
2019-02-19 20:47:11 +09:00
syuilo
e13b2689b5 New Crowdin translations (#4318)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)
2019-02-19 20:12:52 +09:00
MeiMei
9c167acbd9 Supports scrollbar width in Firefox (#4319)
* Supports scrollbar width in Firefox

* fix style
2019-02-19 20:12:19 +09:00
syuilo
1bc531edbd Update README.md 2019-02-19 20:09:33 +09:00
syuilo
b4d0db9202 Create user.jpg 2019-02-19 20:07:52 +09:00
syuilo
bd2b681367 Create explore.jpg 2019-02-19 20:01:38 +09:00
syuilo
f0edf81cc4 Remove unused import 2019-02-19 08:48:25 +09:00
syuilo
e81ac05ba6 Fix bug 2019-02-19 05:17:36 +09:00
Acid Chicken (硫酸鶏)
6279ce8f22 Add fallback for locales (#4109)
* Update index.js

* Update index.js
2019-02-19 04:04:05 +09:00
syuilo
0fd20cf588 New Crowdin translations (#4254)
* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

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

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

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

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

* New translations ja-JP.yml (English)

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

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)
2019-02-19 04:01:22 +09:00
MeiMei
f2d55e7f60 Fix #4308 (#4310) 2019-02-19 03:48:21 +09:00
syuilo
963b0db3d3 コンポーネント整理 2019-02-19 03:38:34 +09:00
MeiMei
aeca115a37 developにキャッシュFlushリンクを追加 (#4313) 2019-02-18 20:55:52 +09:00
syuilo
6f97142b59 10.87.3 2019-02-18 20:54:14 +09:00
syuilo
b31d1ce61d フォローリクエスト数がおかしい場合の応急処置APIを追加 2019-02-18 20:52:41 +09:00
syuilo
b07cd37a16 🎨 2019-02-18 20:48:39 +09:00
syuilo
69b74a46b9 Split cropperjs to reduce bundle size 2019-02-18 19:26:53 +09:00
syuilo
882d829558 Fix #4063 2019-02-18 19:22:10 +09:00
syuilo
532821d503 Fix #4309
Close #4311
2019-02-18 18:50:45 +09:00
syuilo
522ce67498 10.87.2 2019-02-18 11:49:32 +09:00
syuilo
0e046faf4a みつけるの人気のタグを第2ソートで連合含めたユーザー数にしたりユーザーのタグ以外は除外するように 2019-02-18 11:47:25 +09:00
syuilo
d9092dc81f ユーザーが存在しない場合の表示を追加 2019-02-18 11:27:15 +09:00
syuilo
92a4e90026 Remove duplicated route name 2019-02-18 11:21:50 +09:00
syuilo
07dccad5b1 Avoid dupulicated route name 2019-02-18 11:20:20 +09:00
syuilo
146b0d2889 Improve usability 2019-02-18 11:16:52 +09:00
syuilo
388565fb10 Use # instead of v-slot: 2019-02-18 11:13:56 +09:00
syuilo
da4ba51a74 Fix bug 2019-02-18 10:05:58 +09:00
syuilo
1edcd136a4 Revert "🎨"
This reverts commit 9883c751da.
2019-02-18 10:02:32 +09:00
syuilo
9883c751da 🎨 2019-02-18 09:57:19 +09:00
syuilo
f78b28b995 🎨 2019-02-18 09:51:22 +09:00
syuilo
54d40420ad Use v-slot instead of slot 2019-02-18 09:48:00 +09:00
syuilo
ba1492f977 Refactor client (#4307)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Fix bug

* 🎨

* 🎨

* 🎨
2019-02-18 09:17:55 +09:00
syuilo
efd0368e56 Resolve #4305 2019-02-18 04:52:40 +09:00
syuilo
a766a57af9 誰もフォローしていない状態でホームTLを表示したときにexploreページへ誘導するように 2019-02-18 04:45:16 +09:00
Acid Chicken (硫酸鶏)
3bdd8a2d90 Update CircleCI configuration (#4297)
* Update config.yml

* Fix typo

* Add name
2019-02-18 02:44:46 +09:00
syuilo
7ef1205f8b 10.87.1 2019-02-18 01:11:28 +09:00
syuilo
e8db63e788 Fix bug 2019-02-18 01:11:14 +09:00
syuilo
0bcef2453c 10.87.0 2019-02-18 00:51:39 +09:00
syuilo
b9f549135c Fix bug 2019-02-18 00:49:34 +09:00
syuilo
87b0017386 Fix bug 2019-02-18 00:47:45 +09:00
syuilo
cc8ff556d4 Fix bug 2019-02-18 00:45:43 +09:00
syuilo
021f74da54 🎨 2019-02-18 00:41:05 +09:00
syuilo
f9389802d7 Update CHANGELOG.md 2019-02-18 00:39:31 +09:00
syuilo
18dd172c97 Chore: Fix type definition 2019-02-18 00:20:14 +09:00
syuilo
1d5a54ff6f ハッシュタグでユーザー検索できるように (#4298)
* ハッシュタグでユーザー検索できるように

* 🎨

* Increase limit

* リモートユーザーも表示

* Fix bug

* Fix bug

* Improve performance
2019-02-17 23:41:47 +09:00
MeiMei
03e2c7eec6 Fix #4300 (#4304)
* Fix #4300

* sidebar
2019-02-17 23:40:00 +09:00
dependabot[bot]
0902727d1c Update @types/node requirement from 10.12.21 to 10.12.24 (#4231)
Updates the requirements on [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-17 21:42:40 +09:00
dependabot[bot]
496895634d Update @types/sharp requirement from 0.21.1 to 0.21.2 (#4263)
Updates the requirements on [@types/sharp](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-17 21:42:03 +09:00
dependabot[bot]
9414e9e258 Update cssnano requirement from 4.1.8 to 4.1.10 (#4265)
Updates the requirements on [cssnano](https://github.com/cssnano/cssnano) to permit the latest version.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/commits/v4.1.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-17 21:41:36 +09:00
Acid Chicken (硫酸鶏)
357528d139 Use object instead of if chain (#4212) 2019-02-17 21:40:53 +09:00
MeiMei
c4efbdf4c7 Fix #4292 (#4294)
* Fix #4292

* use commit
2019-02-17 21:28:20 +09:00
かひわし4(バージョン1)
fb4a921cd9 Docker: Add support for service worker (#4296)
Service worker requires web-push package.
2019-02-17 21:26:00 +09:00
Acid Chicken (硫酸鶏)
683b242215 Use Record<string, number> instead of any (#4293) 2019-02-17 19:38:46 +09:00
syuilo
a5660d6c82 Exploreページに新規ユーザー一覧を追加 (#4295) 2019-02-17 17:53:51 +09:00
syuilo
f632ec50c1 10.86.2 2019-02-17 03:29:17 +09:00
syuilo
a55d15214b Update ja-JP.yml 2019-02-17 03:28:36 +09:00
syuilo
f1709a2cc2 Update CHANGELOG.md 2019-02-17 03:23:43 +09:00
syuilo
effa542958 Improve user page 2019-02-17 03:23:34 +09:00
MeiMei
e8bf742c87 別タブでルートより下を開いたときにはデッキにしないように (#4291) 2019-02-17 02:26:17 +09:00
syuilo
2e6652edce Resolve #4272 2019-02-17 01:50:17 +09:00
syuilo
230c204b48 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-17 01:12:08 +09:00
syuilo
3755c600b1 Update CHANGELOG.md 2019-02-17 01:11:59 +09:00
Acid Chicken (硫酸鶏)
24513fc0a3 Update media-banner.vue (#4287) 2019-02-17 01:09:49 +09:00
syuilo
0a79a6564a Add support for disabled timeline to deck
Close #4286
Resolve #4275
2019-02-17 01:04:21 +09:00
syuilo
562bb5842b [Client] Improve featured notes page 2019-02-17 00:28:41 +09:00
syuilo
ec3ca3032e ミュートワードで正規表現を使えるように 2019-02-16 19:37:05 +09:00
syuilo
890770c275 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-16 17:42:01 +09:00
syuilo
9ed58a1b4e 🎨 2019-02-16 17:41:54 +09:00
Acid Chicken (硫酸鶏)
08984be2fe Update config.yml 2019-02-16 17:05:56 +09:00
syuilo
e3ade148ca 10.86.1 2019-02-16 16:59:56 +09:00
syuilo
34c0eff89f 🎨 2019-02-16 16:46:06 +09:00
syuilo
40aba47a47 Fix bug 2019-02-16 16:43:17 +09:00
syuilo
6736f51134 Use home icon 2019-02-16 16:40:17 +09:00
syuilo
9d826d6e52 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-16 16:39:42 +09:00
syuilo
902d9bc7a5 Fix bug 2019-02-16 16:39:34 +09:00
MeiMei
b6c86e2845 Change home button to timeline (#4282)
* Home to Timeline

* remove home from locales
2019-02-16 16:27:24 +09:00
Acid Chicken (硫酸鶏)
34dffdfc8f Update config.yml 2019-02-16 11:10:06 +09:00
syuilo
a56f3f1d89 10.86.0 2019-02-16 11:06:45 +09:00
syuilo
88dc4c83cb Improve UI 2019-02-16 10:58:44 +09:00
syuilo
5a28dc0198 Improve user-list component 2019-02-16 09:27:53 +09:00
syuilo
40d2650d49 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-16 08:51:38 +09:00
syuilo
545e83efb1 🎨 2019-02-16 08:51:35 +09:00
Acid Chicken (硫酸鶏)
d4b00a5482 Update README.md [AUTOGEN] (#4280) 2019-02-16 06:58:51 +09:00
syuilo
c2b1bbeec5 Exploreページを実装 2019-02-16 06:50:58 +09:00
syuilo
8c8f165a6e Add missing comma 2019-02-16 04:51:57 +09:00
MeiMei
04553de230 Fix #4276 (#4278) 2019-02-15 23:43:49 +09:00
Acid Chicken (硫酸鶏)
2776934728 Update is-objectid.ts (#4277)
* Update is-objectid.ts

* Update is-objectid.ts
2019-02-15 23:42:44 +09:00
syuilo
0064dbb010 🎨 2019-02-15 19:40:11 +09:00
Acid Chicken (硫酸鶏)
d52e671adf Update README.md [AUTOGEN] (#4274) 2019-02-15 17:20:17 +09:00
syuilo
6017dc2dff 10.85.2 2019-02-15 15:38:10 +09:00
syuilo
937f7cbd60 🎨 2019-02-15 15:35:52 +09:00
syuilo
f8b3f66904 Refactor 2019-02-15 15:12:23 +09:00
syuilo
9d5701f35a Update deck.vue 2019-02-15 15:06:15 +09:00
syuilo
dff65810c6 Increase featured limit 2019-02-15 15:01:05 +09:00
syuilo
6752cf1d64 🎨 2019-02-15 15:00:20 +09:00
syuilo
8336910a59 🎨 2019-02-15 14:58:15 +09:00
syuilo
957a1149e0 検索結果を内部コンポーネントに 2019-02-15 14:52:21 +09:00
syuilo
e8719ff6e6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 14:29:59 +09:00
syuilo
28b63298e5 Increase featured limit 2019-02-15 14:29:42 +09:00
MeiMei
dd4dee8095 デッキから フォロー/フォロワー ページに行けるように (#4271) 2019-02-15 14:27:16 +09:00
syuilo
c47818fed4 🎨 2019-02-15 08:52:09 +09:00
syuilo
e53c383908 10.85.1 2019-02-15 08:42:48 +09:00
syuilo
55c9c0436b 🎨 2019-02-15 08:42:41 +09:00
syuilo
66b79e5e24 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 08:40:25 +09:00
syuilo
514b830910 Fix bug 2019-02-15 08:40:16 +09:00
MeiMei
e4f799bf1d Hide localOnly from welcome TL (#4257) 2019-02-15 08:38:59 +09:00
syuilo
b383427d3d 🎨 2019-02-15 08:37:46 +09:00
syuilo
e969518139 Fix bug 2019-02-15 08:34:54 +09:00
syuilo
113fe294bd Fix #4267
Close #4269
2019-02-15 08:32:18 +09:00
syuilo
a4d92f781f 10.85.0 2019-02-15 06:34:45 +09:00
syuilo
414cac49c3 Improve featured api 2019-02-15 06:31:22 +09:00
syuilo
95b157ac3e Add featured page 2019-02-15 06:31:03 +09:00
syuilo
8e3d884081 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 06:06:24 +09:00
syuilo
9def6fcadd 🎨 2019-02-15 06:06:13 +09:00
Lynx Kotoura
7837bd44fc Add i18n when timelines are empty (#4261) 2019-02-15 05:59:07 +09:00
syuilo
a6c3663155 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 05:58:18 +09:00
syuilo
0b5afadbb8 Update setup.ja.md 2019-02-15 05:58:09 +09:00
syuilo
43864f0da4 既にフォローされている場合はフォローリクエストを生成しないように (#4266) 2019-02-15 05:56:28 +09:00
syuilo
6a0d9d70ed 非ログイン時にお知らせを表示 2019-02-15 05:55:59 +09:00
syuilo
63c6dce68e 🎨 2019-02-15 05:51:22 +09:00
syuilo
53422ffcb2 Improve desktop UX (#4262)
* wip

* wip

* wip

* wip

* wip

* wip

* Merge

* wip

* wip

* wip

* wip

* wip

* wip
2019-02-15 05:08:59 +09:00
Acid Chicken (硫酸鶏)
38ca514f53 Update README.md [AUTOGEN] (#4253) 2019-02-15 00:58:57 +09:00
MeiMei
caea0f0376 Change minimum allowed maxNoteTextLength to 0 (#4256) 2019-02-14 16:30:20 +09:00
Lynx Kotoura
25a8b26977 Emojify user.friends of desktop view (#4249) 2019-02-14 13:42:14 +09:00
Lynx Kotoura
bcaefe8d62 Fix huge close icon of friends-maker (#4245) 2019-02-14 13:41:48 +09:00
MeiMei
46f1e8c599 Restore web max-age to 5 minutes (#4246) 2019-02-14 13:41:28 +09:00
Lynx Kotoura
16230f320e Unify translations of frequently replied users (#4248) 2019-02-14 13:40:48 +09:00
Acid Chicken (硫酸鶏)
ace6419aef 無効化されているタイムラインのフォールバック (#4242)
* Update timeline.vue

* Update home.vue
2019-02-14 13:39:42 +09:00
Lynx Kotoura
77fb9eb2be Fix title of robot icon in user.header of desktop view (#4243) 2019-02-14 03:01:42 +09:00
syuilo
aa7fc7c893 10.84.2 2019-02-14 01:27:22 +09:00
syuilo
8fc170109f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-14 01:13:28 +09:00
syuilo
ad12d00d7e ハッシュタグの集計期間を短くした
Resolve #4238 ?
2019-02-14 01:13:19 +09:00
Acid Chicken (硫酸鶏)
fa5ea45726 Docker: Remove unnecessary workaround for BusyBox's "free" (#4199) (#4213)
systeminformation gets incorrect memory information due to BusyBox's
"free" issue.(#3409)
A workaround for avoiding it was made.

But it never works because the runner container has no effect.
It should be deleted.
2019-02-13 23:45:58 +09:00
Acid Chicken (硫酸鶏)
4b6c113251 Add prelude function for URL Query (#4135)
* Update string.ts

* Refactor

* Update string.ts

* Update wrap-url.ts

* Update string.ts

* Update get-static-image-url.ts

* Use querystring.stringify

* Update outbox.ts

* Back to the urlQuery

* Update followers.ts

* Update following.ts

* Update outbox.ts

* Update string.ts

* Update get-static-image-url.ts

* Update string.ts

* Update string.ts

* Separate prelude files
2019-02-13 23:45:35 +09:00
Acid Chicken (硫酸鶏)
3548290ff2 Fix tslint.json styles (#4219) 2019-02-13 23:43:55 +09:00
syuilo
b165b90c40 Update dependencies 2019-02-13 21:57:00 +09:00
syuilo
4ffe9c908b Make ignore pointer events 2019-02-13 21:48:20 +09:00
syuilo
a135f75e71 🎨 2019-02-13 21:47:53 +09:00
Acid Chicken (硫酸鶏)
cbc61ba03d Add GIF badge (#4241) 2019-02-13 21:43:58 +09:00
syuilo
5aa58da918 Migrate cafy to 14.0 (#4240) 2019-02-13 16:33:07 +09:00
MeiMei
b083430011 Sort ISSUE_TEMPLATE (#4236) 2019-02-13 15:59:51 +09:00
Acid Chicken (硫酸鶏)
a8946b0404 Update nodeinfo.ts (#4239)
* Update nodeinfo.ts

* Update nodeinfo.ts

* Update nodeinfo.ts

* Update nodeinfo.ts

* Update nodeinfo.ts
2019-02-13 15:56:45 +09:00
dependabot[bot]
0303bccc61 Update vue-i18n requirement from 8.8.0 to 8.8.1 (#4235)
Updates the requirements on [vue-i18n](https://github.com/kazupon/vue-i18n) to permit the latest version.
- [Release notes](https://github.com/kazupon/vue-i18n/releases)
- [Changelog](https://github.com/kazupon/vue-i18n/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/kazupon/vue-i18n/commits/v8.8.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-13 14:46:41 +09:00
MeiMei
f3ce8564ea よく話すユーザーからサスペンドされたユーザーを隠すなど (#4228)
* Resolve #4226

* fix

* Fix: anonymousでアクセスするとサスペンドユーザーが隠れない

* fix
2019-02-12 17:19:15 +09:00
syuilo
52c3f9e98c 10.84.1 2019-02-11 23:42:39 +09:00
syuilo
6c8b4184fe Update CHANGELOG.md 2019-02-11 23:41:00 +09:00
syuilo
a0979f8435 Update dependencies 🚀 2019-02-11 23:40:10 +09:00
syuilo
faba21d003 Remove unused import 2019-02-11 23:39:05 +09:00
syuilo
d82c5dff71 Fix bug 2019-02-11 23:37:15 +09:00
syuilo
59fbc5b054 New translations ja-JP.yml (English) (#4221) 2019-02-11 22:37:28 +09:00
MeiMei
2c1a7f4392 Fix #4152 (#4224)
* Fix #4152

* fix

* remove unused code
2019-02-11 22:37:20 +09:00
syuilo
769e6182d8 New Crowdin translations (#4220)
* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-02-11 01:39:46 +09:00
syuilo
88176a17a3 New Crowdin translations (#4218)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)
2019-02-10 23:17:49 +09:00
syuilo
fc660e869f [Client] Make default sort lastCommunicatedAt in instances list of admin panel 2019-02-10 19:46:47 +09:00
syuilo
dc04869650 [Client] Make default origin local in user list of admin panel 2019-02-10 19:44:57 +09:00
syuilo
93c3f34813 管理画面でサイレンスされているユーザーを一覧できるように 2019-02-10 19:43:46 +09:00
syuilo
1282eed192 Update CHANGELOG.md 2019-02-10 19:39:42 +09:00
syuilo
962b3ca78e [Client] Fix bug 2019-02-10 19:38:17 +09:00
MeiMei
62d17c9266 Optimize url-preview image (#4216) 2019-02-10 19:19:26 +09:00
syuilo
f5b928a537 New translations ja-JP.yml (English) (#4210) 2019-02-10 19:19:10 +09:00
Acid Chicken (硫酸鶏)
c8811894b5 Update package.json 2019-02-10 17:58:03 +09:00
Acid Chicken (硫酸鶏)
e579b49228 Update package.json 2019-02-10 17:55:42 +09:00
Acid Chicken (硫酸鶏)
9561908ad3 Update user.followers-you-know.vue (#4215) 2019-02-10 17:15:41 +09:00
Acid Chicken (硫酸鶏)
fac7ebf4f6 Fix Dockerfile (#4214)
* Update Dockerfile

* Update Dockerfile
2019-02-10 16:14:48 +09:00
Acid Chicken (硫酸鶏)
a0769d65e3 Update package.json 2019-02-10 15:08:13 +09:00
syuilo
d17aa4b24e New translations ja-JP.yml (Korean) (#4209) 2019-02-10 11:45:00 +09:00
syuilo
310371658b 重いのでジョブキュー無効化 2019-02-10 11:44:08 +09:00
MeiMei
7ca073aafd Hide unusable follow buttons (#4208) 2019-02-10 05:56:11 +09:00
syuilo
7216d0fb1f New Crowdin translations (#4201)
* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)
2019-02-10 05:34:23 +09:00
MeiMei
22a9e950c7 deckにフォローされていますマークを追加 (#4207)
* deckにフォローされていますを追加

* opacity
2019-02-10 05:26:49 +09:00
Acid Chicken (硫酸鶏)
6683d50bae Update CircleCI configuration (#4204)
* Update config.yml

* Update config.yml

* Update config.yml

* Update config.yml

* Update config.yml
2019-02-10 02:17:43 +09:00
Acid Chicken (硫酸鶏)
8f26176273 Update README.md (#4198) 2019-02-09 13:35:04 +09:00
syuilo
9ea7d446e8 10.84.0 2019-02-09 13:04:58 +09:00
MeiMei
757312ba52 Limit the parallelism of AP object processing (#4193) 2019-02-09 13:01:21 +09:00
syuilo
1675c473d4 🎨 2019-02-09 12:43:26 +09:00
syuilo
3a3a5d4bfb Update vue 2019-02-09 12:35:52 +09:00
syuilo
4a41499c95 🎨 2019-02-09 12:34:42 +09:00
syuilo
a1d1cb58e0 New Crowdin translations (#4184)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

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

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-02-09 12:29:44 +09:00
syuilo
acb82fe7b6 フォロー処理のリファクタリング (#4196)
* Fix #4185

* Fix bug
2019-02-09 12:04:03 +09:00
dependabot[bot]
b25df24cea Merge pull request #4197 from syuilo/dependabot/npm_and_yarn/@fortawesome/free-solid-svg-icons-5.7.1 2019-02-08 20:37:00 +00:00
dependabot[bot]
39284eb9b2 Update @fortawesome/free-solid-svg-icons requirement from 5.6.3 to 5.7.1
Updates the requirements on [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.7.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-08 20:27:31 +00:00
syuilo
31b0e552a2 Improve usability 2019-02-09 01:53:46 +09:00
fangzheng
c4a2a31cf3 Update ja-JP.yml (#4195)
Fix incorrect strings
2019-02-08 23:10:42 +09:00
かひわし4(バージョン1)
4497ddb3f3 Doc: Add bug details to CHANGELOG (#4191)
Bug in Misskey 10.82.3 (#4179) is critical to server administrators,
and they need more detail about it.
2019-02-08 21:04:04 +09:00
syuilo
5e0eda9526 Improve instances manegement
Resolve #4187
2019-02-08 20:56:16 +09:00
syuilo
72b85fc09f 10.83.0 2019-02-08 17:06:07 +09:00
syuilo
6c27412c9c Fix theme 2019-02-08 17:05:50 +09:00
syuilo
46bddfc9c2 New Crowdin translations (#4178)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

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

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

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

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

* New translations ja-JP.yml (Chinese Simplified)
2019-02-08 17:01:43 +09:00
syuilo
56275bcfcb Introduce per-instance chart (#4183)
* Introduce per-instance chart

* Implement chart view in client

* Handle note deleting

* More chart srcs

* Add drive stats

* Improve drive stats

* Fix bug

* Add icon
2019-02-08 16:58:57 +09:00
syuilo
f35688bab8 Supress logs during test 2019-02-08 16:56:23 +09:00
syuilo
93541f83c8 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-08 04:40:55 +09:00
syuilo
ea0d114833 🎨 2019-02-08 04:40:47 +09:00
syuilo
7f6a3ec828 🎨 2019-02-08 04:36:23 +09:00
syuilo
732804b6fa Update CONTRIBUTING.md 2019-02-08 04:33:15 +09:00
syuilo
aba85b977d Refactoring: Move chart dir into services dir 2019-02-08 04:31:33 +09:00
syuilo
e6612f610c Implement instance blocking (#4182)
* Implement instance blocking

* Add missing text

* Delete unnecessary file

* Covert Punycode to Unicode
2019-02-08 04:26:43 +09:00
syuilo
5a28632af7 Update CONTRIBUTING.md 2019-02-08 04:08:25 +09:00
syuilo
4099db0d42 [Client] Add icon 🎨 2019-02-07 23:42:56 +09:00
syuilo
9d50a06d9c Fix bug 2019-02-07 23:37:39 +09:00
syuilo
dd7bf9b2a3 Remove unused import 2019-02-07 23:32:39 +09:00
syuilo
c463284c2f Fix bug 2019-02-07 23:27:42 +09:00
syuilo
c1d728a616 インスタンス一覧の表示数を増やした 2019-02-07 22:00:55 +09:00
syuilo
e43c9c0e21 特定インスタンスからのフォローを全解除できるように 2019-02-07 21:59:18 +09:00
syuilo
15cac10d7b 10.82.4 2019-02-07 21:30:38 +09:00
syuilo
49958ca03f Make instance information more detail 2019-02-07 21:23:12 +09:00
syuilo
280dbe9853 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 21:07:58 +09:00
Acid Chicken (硫酸鶏)
bf964ee969 Update load.ts 2019-02-07 21:03:24 +09:00
syuilo
61dcd51888 Revert "Fix bug"
This reverts commit 2ef795aba8.
2019-02-07 21:02:57 +09:00
syuilo
5448c22031 Revert 96bc17aa10 2019-02-07 21:02:33 +09:00
Acid Chicken (硫酸鶏)
27768081e2 Fix #4179 2019-02-07 20:14:15 +09:00
syuilo
c3140f57b9 連合しているインスタンスを一覧できるように 2019-02-07 18:11:20 +09:00
syuilo
7275bc6d3b Improve instance stats 2019-02-07 16:05:29 +09:00
syuilo
485f2f460e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 15:00:52 +09:00
syuilo
336912e442 Improve instance stats 2019-02-07 15:00:44 +09:00
syuilo
dd9c94e47e Update CONTRIBUTING.md 2019-02-07 14:54:14 +09:00
Acid Chicken (硫酸鶏)
055863144d Update issue templates (#4038)
* WIP: Update issue templates

* Update client-side-feature-request.md

* Update bug_report.md

* Update feature_request.md

* Update server-side-bug-report.md

* Update server-side-feature-request.md

* Update bug_report.md
2019-02-07 14:46:17 +09:00
syuilo
0bf602bae6 10.82.3 2019-02-07 10:55:52 +09:00
syuilo
6fc28d1df7 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 10:52:07 +09:00
syuilo
2ef795aba8 Fix bug 2019-02-07 10:51:55 +09:00
syuilo
1d2c50fc26 デフォルトでログのタイムスタンプ非表示 2019-02-07 10:51:50 +09:00
syuilo
cef8aa5e7a APのジョブキュー無効化 2019-02-07 10:51:24 +09:00
syuilo
edf3e75344 New Crowdin translations (#4166)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)
2019-02-07 10:37:36 +09:00
syuilo
62835c6011 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 10:36:09 +09:00
syuilo
60fb22cb3c Update dependencies 🚀 2019-02-07 10:35:59 +09:00
dependabot[bot]
20dea3a793 Merge pull request #4174 from syuilo/dependabot/npm_and_yarn/@fortawesome/free-brands-svg-icons-5.7.1 2019-02-06 20:35:37 +00:00
dependabot[bot]
aba37ae701 Merge pull request #4173 from syuilo/dependabot/npm_and_yarn/tslint-5.12.1 2019-02-06 20:26:06 +00:00
dependabot[bot]
2c6e6275aa Update @fortawesome/free-brands-svg-icons requirement
Updates the requirements on [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.7.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-06 20:24:43 +00:00
dependabot[bot]
20ef362854 Update tslint requirement from 5.12.0 to 5.12.1
Updates the requirements on [tslint](https://github.com/palantir/tslint) to permit the latest version.
- [Release notes](https://github.com/palantir/tslint/releases)
- [Changelog](https://github.com/palantir/tslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/palantir/tslint/commits/5.12.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-06 20:15:49 +00:00
Acid Chicken (硫酸鶏)
4692aa8d9b Update README.md [AUTOGEN] (#4172) 2019-02-07 03:29:10 +09:00
syuilo
f7b6dc08f7 😢 2019-02-07 02:50:03 +09:00
syuilo
7dfe7005e0 Update builtin themes 2019-02-07 02:36:02 +09:00
syuilo
b91de4ac12 🎨 2019-02-07 02:28:08 +09:00
MeiMei
d5205d7328 Refactor reaction-viewer (#4171)
* Refactor reaction-viewer

* code style

* fix
2019-02-07 02:05:49 +09:00
MeiMei
f44ce535fa リアクションマージン再調整 (#4169)
* リアクションマージン再調整

* fix size
2019-02-06 22:57:08 +09:00
syuilo
7177fd27c8 Fix bug 2019-02-06 22:56:20 +09:00
syuilo
cf304f88d4 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-06 22:49:42 +09:00
syuilo
dff1d84031 Fix cofig for ci 2019-02-06 22:46:21 +09:00
Aya Morisawa
96bc17aa10 Check config on load (#4170)
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2019-02-06 22:44:55 +09:00
syuilo
41ba06a5e6 Fix bug 2019-02-06 22:27:23 +09:00
syuilo
d7ac0418d7 Revert "余計なマージンを削除 (#4168)"
This reverts commit 77bcb58f12.
2019-02-06 21:51:01 +09:00
syuilo
f4319a9c01 Revert "[Client] リアクション一覧のマージンを調整"
This reverts commit 80ea747db6.
2019-02-06 21:50:37 +09:00
syuilo
f4c4d53bbb Fix bug 2019-02-06 21:21:49 +09:00
syuilo
0ed43e1bdf Fix file name 2019-02-06 21:10:37 +09:00
syuilo
d25bd876cb Better file names 2019-02-06 21:10:12 +09:00
syuilo
b9782397c2 Fix file ext 2019-02-06 21:07:36 +09:00
syuilo
ea0abc9f71 Clean up 2019-02-06 20:57:15 +09:00
syuilo
27d16c6a12 Resolve #4151 2019-02-06 20:56:48 +09:00
syuilo
ede70d354e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-06 19:36:52 +09:00
syuilo
66fa583f6e Update example.yml 2019-02-06 19:36:44 +09:00
MeiMei
77bcb58f12 余計なマージンを削除 (#4168) 2019-02-06 18:29:39 +09:00
Aya Morisawa
61036e3a70 Rename clusterLog to clusterLogger (#4167) 2019-02-06 18:01:35 +09:00
syuilo
bcd886c4f5 🎨 2019-02-06 17:51:33 +09:00
syuilo
4d868aaf1f 🎨 2019-02-06 17:10:40 +09:00
syuilo
80ea747db6 [Client] リアクション一覧のマージンを調整
Close #4160
2019-02-06 17:03:43 +09:00
syuilo
960f29ce81 10.82.2 2019-02-06 15:25:47 +09:00
syuilo
20ee57931f Resolve #4165 2019-02-06 15:24:59 +09:00
syuilo
71ba72e796 Better logs 2019-02-06 15:06:23 +09:00
syuilo
9835945ee1 Improve queue option 2019-02-06 15:01:43 +09:00
syuilo
4f2d52697d Update queue setting 2019-02-06 14:53:02 +09:00
syuilo
46c258d77a 10.82.1 2019-02-06 14:01:52 +09:00
syuilo
3b5b3cf521 Merge branches 'develop' and 'develop' of https://github.com/syuilo/misskey into develop 2019-02-06 13:56:21 +09:00
syuilo
5e0bdd8a78 New Crowdin translations (#4147)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

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

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

* New translations ja-JP.yml (English)
2019-02-06 13:56:00 +09:00
Aya Morisawa
b299988bb5 Simplify comment (#4164) 2019-02-06 13:52:32 +09:00
syuilo
e26bec6ab4 Improve queue configuration
Resolve #4157
Resolve #4158
2019-02-06 13:51:02 +09:00
Aya Morisawa
e9955e01d6 Introduce option type (#4150)
* Introduce option type

* Improve test naming
2019-02-06 13:42:35 +09:00
Acid Chicken (硫酸鶏)
1974d8f58b Add URL validation (#4148) 2019-02-06 13:37:20 +09:00
dependabot[bot]
08c0be11b2 Merge pull request #4163 from syuilo/dependabot/npm_and_yarn/jsdom-13.2.0 2019-02-05 20:36:15 +00:00
dependabot[bot]
87c7058494 Merge pull request #4162 from syuilo/dependabot/npm_and_yarn/@types/node-10.12.21 2019-02-05 20:31:01 +00:00
dependabot[bot]
b92addffa9 Update jsdom requirement from 13.1.0 to 13.2.0
Updates the requirements on [jsdom](https://github.com/jsdom/jsdom) to permit the latest version.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/commits/13.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-05 20:26:19 +00:00
dependabot[bot]
e8b49df842 Update @types/node requirement from 10.12.18 to 10.12.21
Updates the requirements on [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-05 20:22:20 +00:00
MeiMei
18fd39b335 proxyで400番台はそのステータスを返す (#4154) 2019-02-06 00:20:00 +09:00
syuilo
8a11322802 Update README.md 2019-02-06 00:13:31 +09:00
syuilo
31929dad61 [MFM] Better hashtag parsing: Ignore slash 2019-02-06 00:05:26 +09:00
syuilo
4a41d2fddc Add logs 2019-02-06 00:01:37 +09:00
syuilo
4c65b0cd6f 🎨 2019-02-05 23:45:27 +09:00
Aya Morisawa
3e89dc603d Bye 'is-url' (#4113) 2019-02-05 19:54:41 +09:00
syuilo
2a1def3cce 10.82.0 2019-02-05 19:53:31 +09:00
syuilo
938fe05fef Update CHANGELOG.md 2019-02-05 19:52:22 +09:00
syuilo
5db5bbd1cd 自分の投稿情報をエクスポートできるように (#4144)
* wip

* 正しいJSONを生成するように

* データを整形
2019-02-05 19:50:14 +09:00
かひわし4(バージョン1)
ba7e05837c Add ffmpeg package for the runner container (#4145)
* Revert "Update Dockerfile (#4090)"

This reverts commit 6758b0f133.

* Docker: Add ffmpeg package for the runner container

Misskey 10.81.0 added thumbnail generation support.
However it did not work with Docker bacause ffmpeg has not been
installed in the runner container.
2019-02-05 19:32:53 +09:00
Acid Chicken (硫酸鶏)
9dd06a7621 /.well-known 周りをいい感じに (#4141)
* Enhance /.well-known and their friends

* Fix bug
2019-02-05 17:42:55 +09:00
syuilo
2f4434b0d8 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-05 17:30:25 +09:00
syuilo
350328770b Improve readability 2019-02-05 17:30:17 +09:00
syuilo
17e1b49bff New translations ja-JP.yml (Chinese Simplified) (#4140) 2019-02-05 15:16:53 +09:00
Acid Chicken (硫酸鶏)
266c31981d Fix typo 2019-02-05 15:09:37 +09:00
syuilo
803fb0898a Fix bug 2019-02-05 14:56:33 +09:00
syuilo
01983da514 [Client] Use localStorage instead of window 2019-02-05 14:42:18 +09:00
syuilo
6f473aa64a Update setup.ja.md 2019-02-05 14:25:03 +09:00
syuilo
574747b9d4 Improve doc 2019-02-05 14:24:10 +09:00
syuilo
dff1122bd5 Enable service worker 2019-02-05 14:22:52 +09:00
syuilo
43cb12930a Remove unused declare 2019-02-05 14:22:35 +09:00
syuilo
8129d4dc23 Refactoring 2019-02-05 14:14:23 +09:00
syuilo
9b780dff04 Fix log 2019-02-05 14:04:40 +09:00
syuilo
11a0ef485b Resolve #4139 2019-02-05 13:56:50 +09:00
syuilo
83b2aa72b1 [Client] Clip note content 2019-02-05 13:54:40 +09:00
syuilo
c71b24987d Make index.js for more convinience 2019-02-05 13:46:06 +09:00
syuilo
78d22dbd22 Update vue to 2.6.2 🚀 2019-02-05 13:35:47 +09:00
Acid Chicken (硫酸鶏)
8961dab137 Fix comment 2019-02-05 11:49:03 +09:00
Acid Chicken (硫酸鶏)
bcc549fd8e Fix style 2019-02-05 11:48:08 +09:00
syuilo
5a6c3fc11c Update css-loader to 2.1.0 🚀
Close #3961
2019-02-05 07:06:57 +09:00
syuilo
7d730f676d Refactoring: Extract showMachineInfo function 2019-02-05 06:49:00 +09:00
syuilo
6bda571660 Make some error logs important 2019-02-05 06:46:01 +09:00
syuilo
d3c7129e1f Refactoring: Extract checkMongoDB function 2019-02-05 06:43:36 +09:00
syuilo
3709ba95cd Improve doc 2019-02-05 06:29:56 +09:00
MeiMei
4162981081 アニメーション停止箇所の追加 (#4138) 2019-02-05 06:22:39 +09:00
syuilo
7b7359fbdc [Client] Fix bug 2019-02-05 06:12:41 +09:00
syuilo
70c01c52a8 Update Vue to 2.6 🚀 2019-02-05 06:07:23 +09:00
dependabot[bot]
443006c868 Update terser-webpack-plugin requirement from 1.2.1 to 1.2.2 (#4137)
Updates the requirements on [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) to permit the latest version.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/commits/v1.2.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-05 05:20:10 +09:00
syuilo
7c1db1fea5 New Crowdin translations (#4130)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)
2019-02-05 04:58:07 +09:00
syuilo
7c2b704bef Fix CHANGELOG 2019-02-05 04:23:28 +09:00
syuilo
368c3f1e29 Update CHANGELOG.md 2019-02-05 04:22:24 +09:00
syuilo
dd39d6ea37 Better key name 2019-02-05 04:09:44 +09:00
syuilo
ef618b2431 [Client] Increase font size a little in the Deck view
Resolve #1821
2019-02-05 04:01:50 +09:00
syuilo
861302f0fd アニメーション画像を無効にする際、サーバーサイドではなくクライアントサイドでURLを変更するように 2019-02-05 03:51:54 +09:00
MeiMei
f014b7ae0e アニメーションを自動再生しないオプション (#4131)
* Refactor

* settings

* Media Proxy

* Replace API response
2019-02-05 03:01:36 +09:00
syuilo
00b2d89f1a Refactor: Better type definition 2019-02-05 01:52:09 +09:00
syuilo
5410efe9ca Refactoring 2019-02-05 01:31:02 +09:00
syuilo
1d814ba0e1 個別に投稿のウォッチ/ウォッチ解除をできるように
Resolve #161
2019-02-05 01:24:44 +09:00
syuilo
c107333f56 [API] お気に入り状態は投稿情報に含めないように統一 2019-02-05 01:11:06 +09:00
Acid Chicken (硫酸鶏)
9595a56346 Revert "Update load.ts"
This reverts commit cf9e8ed39e, commit 67792fcb5e, and commit c7e8c27ce6.
2019-02-04 22:30:24 +09:00
syuilo
06707705bf Add dummy option for some libraries 2019-02-04 19:41:31 +09:00
Acid Chicken (硫酸鶏)
68ee9a008e Resolve #4121 (#4122)
* Resolve #4121

* Update tslint.json
2019-02-04 18:27:45 +09:00
Acid Chicken (硫酸鶏)
3a035c481e Fix fusion 2019-02-04 16:50:14 +09:00
Acid Chicken (硫酸鶏)
23a0aead9f Update config.yml
Redis なしが帰ってきたぞっ!
2019-02-04 16:41:57 +09:00
Aya Morisawa
6cd41f9860 Initialize queue only if queue is enabled (#4125) 2019-02-04 16:41:53 +09:00
Acid Chicken (硫酸鶏)
baf861ac79 Update __MISSKEY_HEAD 2019-02-04 16:41:11 +09:00
syuilo
0ae1190c08 Add --disable-queue option 2019-02-04 13:37:50 +09:00
syuilo
d3b3426ebe Enable job queue
Resolve #3216
2019-02-04 13:35:58 +09:00
syuilo
4982ea8f14 Add --verbose option 2019-02-04 12:14:07 +09:00
syuilo
3be89e9702 Better logging 2019-02-04 12:09:59 +09:00
syuilo
4275af2324 Make Logger#log method private 2019-02-04 11:51:23 +09:00
syuilo
84d42be090 Fix MongoDB connectivity checking 2019-02-04 11:48:59 +09:00
syuilo
c4c7783691 [Server] Enable slow option 2019-02-04 10:03:49 +09:00
syuilo
d6dba7fd71 Update dependencies 🚀 2019-02-04 09:56:48 +09:00
syuilo
30b1b1a5ed Fix imports 2019-02-04 09:37:15 +09:00
dependabot[bot]
90b6688057 Update apexcharts requirement from 2.5.1 to 3.2.1 (#4124)
Updates the requirements on [apexcharts](https://github.com/apexcharts/apexcharts.js) to permit the latest version.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/commits/v3.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-04 09:29:47 +09:00
syuilo
b536ee4dcd Add collaborators credit 2019-02-04 09:09:45 +09:00
syuilo
11101a6aca Better error log of WebFinger 2019-02-04 09:06:13 +09:00
syuilo
b4a3e5aa4f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-04 09:02:27 +09:00
syuilo
874c0eae6a Better error log of WebFinger 2019-02-04 09:02:23 +09:00
dependabot[bot]
9950b6fbc6 Update tslint-sonarts requirement from 1.8.0 to 1.9.0 (#3978)
Updates the requirements on [tslint-sonarts](https://github.com/SonarSource/SonarTS) to permit the latest version.
- [Release notes](https://github.com/SonarSource/SonarTS/releases)
- [Commits](https://github.com/SonarSource/SonarTS/commits/v1.9.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-04 07:16:01 +09:00
syuilo
42d6ed62f6 New translations ja-JP.yml (English) (#4120) 2019-02-04 07:01:19 +09:00
Acid Chicken (硫酸鶏)
c7e8c27ce6 Fix bug
C#っぽく使ってしまっていた。
2019-02-04 02:14:18 +09:00
Acid Chicken (硫酸鶏)
67792fcb5e Update load.ts 2019-02-04 02:09:41 +09:00
Acid Chicken (硫酸鶏)
353fc18f19 Merge branch 'develop' into acid-chicken-patch-10 2019-02-04 02:06:46 +09:00
Acid Chicken (硫酸鶏)
cf9e8ed39e Update load.ts 2019-02-04 02:06:08 +09:00
syuilo
beb1b570d4 New translations ja-JP.yml (Polish) (#4119) 2019-02-04 01:52:39 +09:00
syuilo
ba1b5a8ede Update README.md 2019-02-04 01:51:01 +09:00
Acid Chicken (硫酸鶏)
99d8d0a484 Create type definition for '*/const.json' (#4118) 2019-02-04 01:47:12 +09:00
Acid Chicken (硫酸鶏)
5891135ac1 Create type definition for ./locales (#4117) 2019-02-04 01:46:59 +09:00
Acid Chicken (硫酸鶏)
c4f7491322 Revert "Create new type definition for 'is-url' (#4013)"
This reverts commit 014b58cb40.
2019-02-04 01:30:33 +09:00
syuilo
206b57b962 New translations ja-JP.yml (Polish) (#4116) 2019-02-04 01:22:37 +09:00
syuilo
1b0e03704e New translations ja-JP.yml (Polish) (#4115) 2019-02-04 01:13:39 +09:00
Acid Chicken (硫酸鶏)
8b71006fbe Bye 'is-url' 2019-02-04 00:09:24 +09:00
Aya Morisawa
8f2f4b6d2d Add missing semicolons 2019-02-03 23:52:46 +09:00
Acid Chicken (硫酸鶏)
6e0c055faf Module 'jsdom' as import syntax (#4016) 2019-02-03 23:49:00 +09:00
Acid Chicken (硫酸鶏)
893a3b527d Create type definition for 'os-utils' (#4050) 2019-02-03 23:41:27 +09:00
Acid Chicken (硫酸鶏)
fe13c17fcb Create type definition for 'langmap' (#4059)
* Create type definition for 'langmap'

* Follow lint
2019-02-03 23:41:05 +09:00
Acid Chicken (硫酸鶏)
5049870b6e Create type definition for 'koa-slow' (#4072) 2019-02-03 23:01:03 +09:00
Acid Chicken (硫酸鶏)
ce576dea8f Create type definition for 'recaptcha-promise' (#4068) 2019-02-03 22:21:55 +09:00
Acid Chicken (硫酸鶏)
ceda3dd72a Create new type definition for 'escape-regexp' (#4058) 2019-02-03 22:21:47 +09:00
Acid Chicken (硫酸鶏)
014b58cb40 Create new type definition for 'is-url' (#4013)
* Create new type definition for 'is-url'

* [Client] Resolve #3638

* 10.79.1

* New translations ja-JP.yml (Korean)

* Add missing semicolon

* Remove file-loader from dependencies (#4025)

* Update README.md [AUTOGEN] (#4028)

* Update README.md [AUTOGEN] (#4030)

* Add visibility test (#4029)

* Update ws requirement from 6.1.2 to 6.1.3 (#4027)

Updates the requirements on [ws](https://github.com/websockets/ws) to permit the latest version.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits/6.1.3)

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

* Module 'web-push' as import syntax (#4017)

* Fix visibility test (#4031)

* Upgrade gulp version to 4.0.0

* Prevent typescript errors from crashing

* Remove duplicated dependencies

* Use parallel and task to specify dependencies

* Sort tasks by topological ordering

* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)

* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に

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

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

* Fix #4034 (#4037)

* Fix #4034

* improve

* Module 'crypto' as import syntax (#4011)

* Extract MFM normalize function

* Extract MFM types

* Rename html to toHtml

* Rename html-to-mfm to fromHtml

* Merge plainParser into mfm

* Extract parsePlain function

* Rename analyze to parse in MFM tests

* Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)

Updates the requirements on [@types/mongodb](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)

Updates the requirements on [vue-svg-inline-loader](https://github.com/oliverfindl/vue-svg-inline-loader) to permit the latest version.
- [Release notes](https://github.com/oliverfindl/vue-svg-inline-loader/releases)
- [Commits](https://github.com/oliverfindl/vue-svg-inline-loader/commits/v1.2.10)

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

* Avoid export default

* Rename parser to language

* Fix import

* Introduce silence (#4043)

* Introduce silence

* Fix icon

* delete unnecessary key (#4045)

* delete unnecessary key

* Add note

* Update CHANGELOG.md

* [ActivityPub] Use microformats on mentions

To avoid pointless link previews.
see: https://misskey.xyz/notes/5c51ab5c2d85f2003248eddc

* Create type definition for '*/package.json' (#4014)

* Create type definition for '*/package.json'

* Update tsconfig.json

* Update index.ts

* Create type definition for 'is-root' (#4001)

* Update @types/sharp requirement from 0.21.0 to 0.21.1

Updates the requirements on [@types/sharp](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Add multiline math syntax

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* Create type definition for 'is-root'

* [MFM] Add spin syntax

Resolve #4003

* [MFM] Add flip syntax

Resolve #4002

* Fix test

* Update CHANGELOG.md

* 10.79.0

* Update @fortawesome/free-regular-svg-icons requirement (#3963)

Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.6.3)

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

* Update @types/webpack requirement from 4.4.21 to 4.4.24 (#3976)

Updates the requirements on [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Update @types/js-yaml requirement from 3.11.4 to 3.12.0 (#3977)

Updates the requirements on [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Update debug requirement from 4.1.0 to 4.1.1 (#3964)

Updates the requirements on [debug](https://github.com/visionmedia/debug) to permit the latest version.
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Commits](https://github.com/visionmedia/debug/commits/4.1.1)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (French)

* [MFM] spinの中でflipを使えるように

* Add jump syntax (#4007)

* Add jump syntax

* Fix typo: spin -> jump

* Fix typo

* [MFM] Resolve #4009

* Module 'nprogress' as import syntax (#4012)

* 🎨

* [Client] Fix #4008

* Use yarn instead of npm on CircleCI

* touch yarn.lock

* [Client] Resolve #3638

* 10.79.1

* New translations ja-JP.yml (Korean)

* Add missing semicolon

* Remove file-loader from dependencies (#4025)

* Update README.md [AUTOGEN] (#4028)

* Update README.md [AUTOGEN] (#4030)

* Add visibility test (#4029)

* Update ws requirement from 6.1.2 to 6.1.3 (#4027)

Updates the requirements on [ws](https://github.com/websockets/ws) to permit the latest version.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits/6.1.3)

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

* Module 'web-push' as import syntax (#4017)

* Fix visibility test (#4031)

* Upgrade gulp version to 4.0.0

* Prevent typescript errors from crashing

* Remove duplicated dependencies

* Use parallel and task to specify dependencies

* Sort tasks by topological ordering

* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)

* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に

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

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

* Fix #4034 (#4037)

* Fix #4034

* improve

* Module 'crypto' as import syntax (#4011)

* Extract MFM normalize function

* Extract MFM types

* Rename html to toHtml

* Rename html-to-mfm to fromHtml

* Merge plainParser into mfm

* Extract parsePlain function

* Rename analyze to parse in MFM tests

* Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)

Updates the requirements on [@types/mongodb](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)

Updates the requirements on [vue-svg-inline-loader](https://github.com/oliverfindl/vue-svg-inline-loader) to permit the latest version.
- [Release notes](https://github.com/oliverfindl/vue-svg-inline-loader/releases)
- [Commits](https://github.com/oliverfindl/vue-svg-inline-loader/commits/v1.2.10)

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

* Avoid export default

* Rename parser to language

* Fix import

* Introduce silence (#4043)

* Introduce silence

* Fix icon

* Update is-root.d.ts

* Update index.ts

* Create type definition for 'is-root'

* Update is-root.d.ts

* Update index.ts

* Fix path

refs: 7e3a8d56e6

* Re-fix path

refs: 4bb4903ee5, 7e3a8d56e6

*  Do not import as pack from AP renderer  (#4048)

* Do not import as pack from AP renderer

* rename

* Simplify MFM (#4046)

* [MFM] Make some syntax block

Resolve #3508

* [MFM] Better syntax parsing

Allow nesting by same tag

* [Client] MFMの制限を緩和

* 🎨

* Update CHANGELOG.md

* 10.80.0

* Update is-url.d.ts
2019-02-03 22:21:36 +09:00
syuilo
b4859be098 Improve log readability 2019-02-03 21:42:52 +09:00
syuilo
df54da9510 Fix type declaretion 2019-02-03 20:32:46 +09:00
syuilo
b97f788d71 Display version in logo 2019-02-03 20:31:35 +09:00
syuilo
edd1baa9f4 🎨 2019-02-03 20:23:53 +09:00
syuilo
4a23ebe534 Refactoring 2019-02-03 20:10:20 +09:00
MeiMei
64c1075b06 Remember the media playback volume (#4089)
* Remember the media playback volume

* fix
2019-02-03 19:33:23 +09:00
syuilo
217e4ee39c New translations ja-JP.yml (Korean) (#4110) 2019-02-03 19:13:56 +09:00
Acid Chicken (硫酸鶏)
7e2a7cdff8 Update README.md [AUTOGEN] (#4111) 2019-02-03 19:13:41 +09:00
syuilo
e1fb4f23f0 10.81.0 2019-02-03 18:41:41 +09:00
syuilo
452fb8e496 Improve usability 2019-02-03 18:40:50 +09:00
Acid Chicken (硫酸鶏)
6758b0f133 Update Dockerfile (#4090)
* Update Dockerfile

* Fix indent
2019-02-03 18:30:47 +09:00
syuilo
35e509850f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 18:17:05 +09:00
syuilo
0868c3517f Use internal logger instead of debug/console for logging
Resolve #4104
Resolve #1966
Resolve #1937
2019-02-03 18:16:57 +09:00
Acid Chicken (硫酸鶏)
1cd839215b Fix typo 2019-02-03 18:03:58 +09:00
Acid Chicken (硫酸鶏)
42be09ad33 Fix typo 2019-02-03 18:01:09 +09:00
Acid Chicken (硫酸鶏)
bcb7ee8d2a Hotfix build fails
refs: https://github.com/vuejs/vue-cli/issues/3407#issuecomment-459985313
2019-02-03 18:00:56 +09:00
syuilo
3a5867b324 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 17:14:02 +09:00
syuilo
efe2a6be14 Better logging 2019-02-03 17:09:16 +09:00
Acid Chicken (硫酸鶏)
11f30b0444 Use yarn instead of npm 2019-02-03 16:57:36 +09:00
syuilo
75558add17 Better logging 2019-02-03 16:45:13 +09:00
syuilo
ca91709801 Revert "Revert "Merge pull request #4098 from syuilo/dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.14""
This reverts commit 45b905df6a.
2019-02-03 14:55:58 +09:00
syuilo
45b905df6a Revert "Merge pull request #4098 from syuilo/dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.14"
This reverts commit 7f6bb75f95, reversing
changes made to cefecd7903.
2019-02-03 14:49:41 +09:00
syuilo
32a0cd4b13 Display Misskey logo when misskey launched 🎨 2019-02-03 14:05:01 +09:00
syuilo
0b2571858f More logs 2019-02-03 13:52:21 +09:00
syuilo
08eb3851da Merge branches 'develop' and 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 13:51:32 +09:00
syuilo
0bd0fb9fbf Include worker information for each logs 2019-02-03 13:51:24 +09:00
syuilo
9beab05a30 Make more importance for env log 2019-02-03 13:51:00 +09:00
syuilo
3b3ef20e0a New Crowdin translations (#4105)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

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

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

* New translations ja-JP.yml (Chinese Simplified)
2019-02-03 13:22:39 +09:00
syuilo
3441acf56c Improve usability 2019-02-03 05:06:23 +09:00
syuilo
189f9f6592 Close #4093 2019-02-03 04:50:40 +09:00
syuilo
6071fc7077 Better log 2019-02-03 04:43:43 +09:00
Acid Chicken (硫酸鶏)
2f215ea34c Use is syntax (#4079) 2019-02-03 04:31:03 +09:00
syuilo
c44c777976 Update CHANGELOG.md 2019-02-03 04:27:45 +09:00
MeiMei
7d2f0a1f31 Fix: URLプレビューのthumbnailで()を含むURLを提示されると表示できない (#4103)
* Fix: URLプレビューのthumbnailで()を含むURLを提示されると表示できない

* remove debug
2019-02-03 04:26:58 +09:00
syuilo
15eca04bc4 🎨 2019-02-03 04:20:35 +09:00
syuilo
238c6a428b [Server] Use logger for logging 2019-02-03 04:18:27 +09:00
syuilo
110eeb89f1 Clean up 2019-02-03 04:18:09 +09:00
syuilo
278e43e9ba [Server] Use logger for logging 2019-02-03 04:04:57 +09:00
syuilo
d55277e57e Better logging 2019-02-03 02:01:06 +09:00
syuilo
f53a93ea13 Better logger 2019-02-03 01:39:42 +09:00
syuilo
a3e37294e5 Better logs 2019-02-03 01:33:34 +09:00
syuilo
05baa89508 Refactoring of logger 2019-02-03 01:24:59 +09:00
syuilo
80aa45372a Better logger 2019-02-03 01:20:21 +09:00
syuilo
a91f95451a Fix logger 2019-02-03 01:07:14 +09:00
syuilo
122ef23e0f Remove unnecessary log 2019-02-03 01:04:38 +09:00
syuilo
cd9d67389a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 01:01:54 +09:00
syuilo
52d6ec2138 Refatoring of logger 2019-02-03 01:01:40 +09:00
dependabot[bot]
a5725c1d04 Merge pull request #4102 from syuilo/dependabot/npm_and_yarn/gulp-imagemin-5.0.3 2019-02-02 15:59:21 +00:00
dependabot[bot]
db8ad3c035 Merge pull request #4101 from syuilo/dependabot/npm_and_yarn/vue-i18n-8.8.0 2019-02-02 15:56:02 +00:00
dependabot[bot]
a0957f2e50 Merge pull request #4100 from syuilo/dependabot/npm_and_yarn/systeminformation-3.54.0 2019-02-02 15:47:56 +00:00
dependabot[bot]
301b8f5e13 Update elasticsearch requirement from 15.3.0 to 15.3.1 (#4085)
Updates the requirements on [elasticsearch](https://github.com/elastic/elasticsearch-js) to permit the latest version.
- [Release notes](https://github.com/elastic/elasticsearch-js/releases)
- [Changelog](https://github.com/elastic/elasticsearch-js/blob/v15.3.1/docs/changelog.asciidoc)
- [Commits](https://github.com/elastic/elasticsearch-js/commits/v15.3.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-03 00:45:18 +09:00
dependabot[bot]
7f6bb75f95 Merge pull request #4098 from syuilo/dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.14 2019-02-02 15:44:00 +00:00
dependabot[bot]
9be47df10e Update gulp-imagemin requirement from 4.1.0 to 5.0.3
Updates the requirements on [gulp-imagemin](https://github.com/sindresorhus/gulp-imagemin) to permit the latest version.
- [Release notes](https://github.com/sindresorhus/gulp-imagemin/releases)
- [Commits](https://github.com/sindresorhus/gulp-imagemin/commits/v5.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-02 15:40:08 +00:00
dependabot[bot]
bec014da4a Update vue-i18n requirement from 8.7.0 to 8.8.0
Updates the requirements on [vue-i18n](https://github.com/kazupon/vue-i18n) to permit the latest version.
- [Release notes](https://github.com/kazupon/vue-i18n/releases)
- [Changelog](https://github.com/kazupon/vue-i18n/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/kazupon/vue-i18n/commits/v8.8.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-02 15:39:47 +00:00
dependabot[bot]
cefecd7903 Update cafy requirement from 12.0.0 to 12.1.0 (#4099)
Updates the requirements on [cafy](https://github.com/syuilo/cafy) to permit the latest version.
- [Release notes](https://github.com/syuilo/cafy/releases)
- [Changelog](https://github.com/syuilo/cafy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/syuilo/cafy/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-03 00:35:30 +09:00
dependabot[bot]
52cb043185 Update sharp requirement from 0.21.1 to 0.21.3 (#4097)
Updates the requirements on [sharp](https://github.com/lovell/sharp) to permit the latest version.
- [Release notes](https://github.com/lovell/sharp/releases)
- [Changelog](https://github.com/lovell/sharp/blob/master/docs/changelog.md)
- [Commits](https://github.com/lovell/sharp/commits/v0.21.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-03 00:35:03 +09:00
dependabot[bot]
3a440dd116 Update systeminformation requirement from 3.52.2 to 3.54.0
Updates the requirements on [systeminformation](https://github.com/sebhildebrandt/systeminformation) to permit the latest version.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-02 15:33:49 +00:00
dependabot[bot]
8ae1039c77 Update @fortawesome/fontawesome-svg-core requirement
Updates the requirements on [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-02 15:30:23 +00:00
syuilo
190eb0601f New Crowdin translations (#4096)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)
2019-02-03 00:15:50 +09:00
MeiMei
84931003ea Fix video thumbnails (#4095)
* Fix video thumbnails

* Fix import
2019-02-02 23:30:34 +09:00
syuilo
2b0cb6d728 [Client] Resolve #3226 2019-02-02 23:20:40 +09:00
syuilo
4ea7e711ce [Client] Improve usability
Resolve #4094
2019-02-02 22:59:11 +09:00
syuilo
2a50997a75 Fallback en-US 2019-02-02 16:16:31 +09:00
syuilo
d692d531d1 Fix indent 2019-02-02 13:57:26 +09:00
syuilo
e325410649 [Server] Remove unnecessarily property 2019-02-02 13:50:41 +09:00
syuilo
eea2b97ae5 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-02 13:47:26 +09:00
syuilo
6b53e9ed29 [Client] Fix #4086 2019-02-02 13:47:12 +09:00
syuilo
9ae3e7bdab New translations ja-JP.yml (Chinese Simplified) (#4087) 2019-02-02 13:42:34 +09:00
syuilo
3905129eae New Crowdin translations (#4044)
* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Polish)

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

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

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

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

* New translations ja-JP.yml (Korean)

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

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

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

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

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

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

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

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

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

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

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

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

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

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

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

* New translations ja-JP.yml (Chinese Simplified)
2019-02-02 13:39:48 +09:00
syuilo
6b4e417cc7 Update CHANGELOG.md 2019-02-02 13:24:41 +09:00
MeiMei
3040700005 Generate video thumbnails (#4084)
* Generate video thumbnails

* import order
2019-02-02 13:22:09 +09:00
syuilo
170b1bb4cc Downgrade webpack to avoid build error
See https://github.com/webpack/webpack/issues/8656
2019-02-02 02:00:00 +09:00
Acid Chicken (硫酸鶏)
da1a238be3 Create new type definition for 'ms' (#4057)
* Create new type definition for 'ms'

* Follow lint
2019-02-02 00:16:27 +09:00
MeiMei
9c106022ae Fix #3871 (#4082) 2019-02-01 21:37:34 +09:00
Acid Chicken (硫酸鶏)
bab1dc1d97 Create type definition for 'koa-json-body' (#4056)
* Create type definition for 'koa-json-body'

* Follow lint
2019-02-01 21:08:58 +09:00
Acid Chicken (硫酸鶏)
3b30ad5404 Create type definition for 'nested-property' (#4004)
* Create type definition for 'nested-property'

* Follow lint
2019-02-01 21:08:49 +09:00
dependabot[bot]
27268fd6b7 Update @fortawesome/free-regular-svg-icons requirement (#4076)
Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-01 20:03:11 +09:00
Acid Chicken (硫酸鶏)
00f9c824d1 リモートの外部サービス認証情報を表示する (#4047)
* Update user.vue

* Update ja-JP.yml

* Fix path

refs: 7e3a8d56e6

* Update user.vue

* Update ja-JP.yml

* Re-fix path

refs: 4bb4903ee5, 7e3a8d56e6

* Update user.vue

* Update ja-JP.yml

* Update ja-JP.yml

* Fix sentence a little
2019-02-01 20:02:10 +09:00
Acid Chicken (硫酸鶏)
40e177fa96 Create type definition for 'http-signature' (#4049)
* Create type definition for 'http-signature'

* Follow lint
2019-02-01 19:59:12 +09:00
Acid Chicken (硫酸鶏)
2f72c38516 Create type definition for 'deepcopy' (#4000) 2019-02-01 19:56:16 +09:00
Acid Chicken (硫酸鶏)
2dc4696b0a Module '@koa/cors' as import syntax (#4060) 2019-02-01 19:46:18 +09:00
Acid Chicken (硫酸鶏)
723d5baed5 Module 'parse5' as import syntax (#4015) 2019-02-01 19:41:13 +09:00
dependabot[bot]
341838b502 Update webpack requirement from 4.28.4 to 4.29.0 (#4077)
Updates the requirements on [webpack](https://github.com/webpack/webpack) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/commits/v4.29.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-01 12:17:15 +09:00
syuilo
72efa278b3 Update CHANGELOG.md 2019-02-01 10:02:02 +09:00
syuilo
5fe9f2baee Improve performance 2019-02-01 10:00:36 +09:00
MeiMei
c7ebf6f990 Hide suspended users (#4075) 2019-02-01 09:57:51 +09:00
syuilo
9bf9519b8f Fix path 2019-02-01 00:17:15 +09:00
syuilo
6c57690359 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-01 00:09:36 +09:00
syuilo
3a03010ee2 Refactoring 2019-02-01 00:09:28 +09:00
Acid Chicken (硫酸鶏)
ba4dcc40da Create type definition for '*/meta.json' (#4073) 2019-02-01 00:00:54 +09:00
syuilo
1b0601b421 Update CHANGELOG.md 2019-01-31 23:53:20 +09:00
Acid Chicken (硫酸鶏)
e2bf0067b2 Module 'request-stats' as import syntax (#4071) 2019-01-31 23:46:15 +09:00
Acid Chicken (硫酸鶏)
6d004fde7c Module 'uuid' as import syntax (#4070) 2019-01-31 23:45:12 +09:00
Acid Chicken (硫酸鶏)
f35547f3b8 API modules as import syntax (#4069) 2019-01-31 23:32:58 +09:00
MeiMei
c34a278533 おすすめのアンケートでミュートユーザーのものは表示しない (#4067) 2019-01-31 23:14:45 +09:00
syuilo
6d3408ae73 [Client] Add information 2019-01-31 20:55:40 +09:00
MeiMei
a6e7bbc306 send/receive user hashtags via AP (#4064) 2019-01-31 20:42:45 +09:00
dependabot[bot]
d140548784 Update @types/koa-router requirement from 7.0.38 to 7.0.39 (#4052)
Updates the requirements on [@types/koa-router](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-31 17:54:19 +09:00
Acid Chicken (硫酸鶏)
76569bfb08 Create type definition for 'lookup-dns-cache' (#4051) 2019-01-31 17:53:49 +09:00
Acid Chicken (硫酸鶏)
bbcdf1bb8a Create type definition for 'promise-any' (#4055) 2019-01-31 17:52:27 +09:00
Acid Chicken (硫酸鶏)
6439a6c63f Create type definition for 'webfinger.js' (#4054) 2019-01-31 17:52:17 +09:00
dependabot[bot]
76fe1c21c3 Update gulp-yaml requirement from 2.0.2 to 2.0.3 (#4053)
Updates the requirements on [gulp-yaml](https://github.com/crissdev/gulp-yaml) to permit the latest version.
- [Release notes](https://github.com/crissdev/gulp-yaml/releases)
- [Changelog](https://github.com/crissdev/gulp-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crissdev/gulp-yaml/commits/2.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-31 17:46:42 +09:00
syuilo
4f99b98ed8 Revert b515cc90e9 2019-01-31 17:42:36 +09:00
syuilo
7cb38f5525 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-31 17:38:24 +09:00
syuilo
734277d9f6 [Server] Resolve #4062 2019-01-31 17:37:57 +09:00
Acid Chicken (硫酸鶏)
960d4e2e7b Close #3380 (#4061)
* Delete index.ts

* Delete emoji.ts

* Update index.ts
2019-01-31 17:30:56 +09:00
syuilo
33eb91c0f0 [Test] Disable some tests temporary 2019-01-31 17:15:14 +09:00
syuilo
6f1e47f0b3 [Test] Better tests 2019-01-31 15:19:59 +09:00
syuilo
0a8488a78c Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-31 15:10:33 +09:00
syuilo
57ab640221 Fix typo 2019-01-31 15:10:27 +09:00
Acid Chicken (硫酸鶏)
3c4682782c Add 'src/@types' to typeRoots 2019-01-31 14:40:06 +09:00
syuilo
dc820ffba6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-31 14:31:31 +09:00
syuilo
e4c745bccd [Test] Add MFM test 2019-01-31 14:31:25 +09:00
Acid Chicken (硫酸鶏)
a05c94437c Make type definition for 'is-root' better 2019-01-31 13:42:13 +09:00
syuilo
fdcc994291 10.80.0 2019-01-31 12:27:44 +09:00
syuilo
f54363076c Update CHANGELOG.md 2019-01-31 12:26:56 +09:00
syuilo
ec016e5a95 🎨 2019-01-31 12:24:21 +09:00
syuilo
bbdb2496a4 [Client] MFMの制限を緩和 2019-01-31 12:24:14 +09:00
syuilo
b515cc90e9 [MFM] Better syntax parsing
Allow nesting by same tag
2019-01-31 12:23:45 +09:00
syuilo
bb92158dff [MFM] Make some syntax block
Resolve #3508
2019-01-31 12:10:48 +09:00
Aya Morisawa
c652add16a Simplify MFM (#4046) 2019-01-31 12:06:13 +09:00
MeiMei
b8a7468c4a Do not import as pack from AP renderer (#4048)
* Do not import as pack from AP renderer

* rename
2019-01-31 02:29:35 +09:00
Acid Chicken (硫酸鶏)
e220ef3e75 Re-fix path
refs: 4bb4903ee5, 7e3a8d56e6
2019-01-31 01:38:52 +09:00
Acid Chicken (硫酸鶏)
4bb4903ee5 Fix path
refs: 7e3a8d56e6
2019-01-31 01:26:11 +09:00
Acid Chicken (硫酸鶏)
9487840ae3 Create type definition for 'is-root' (#4001)
* Update @types/sharp requirement from 0.21.0 to 0.21.1

Updates the requirements on [@types/sharp](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Add multiline math syntax

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

* New translations ja-JP.yml (Catalan)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* Create type definition for 'is-root'

* [MFM] Add spin syntax

Resolve #4003

* [MFM] Add flip syntax

Resolve #4002

* Fix test

* Update CHANGELOG.md

* 10.79.0

* Update @fortawesome/free-regular-svg-icons requirement (#3963)

Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.6.3)

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

* Update @types/webpack requirement from 4.4.21 to 4.4.24 (#3976)

Updates the requirements on [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Update @types/js-yaml requirement from 3.11.4 to 3.12.0 (#3977)

Updates the requirements on [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Update debug requirement from 4.1.0 to 4.1.1 (#3964)

Updates the requirements on [debug](https://github.com/visionmedia/debug) to permit the latest version.
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Commits](https://github.com/visionmedia/debug/commits/4.1.1)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (French)

* [MFM] spinの中でflipを使えるように

* Add jump syntax (#4007)

* Add jump syntax

* Fix typo: spin -> jump

* Fix typo

* [MFM] Resolve #4009

* Module 'nprogress' as import syntax (#4012)

* 🎨

* [Client] Fix #4008

* Use yarn instead of npm on CircleCI

* touch yarn.lock

* [Client] Resolve #3638

* 10.79.1

* New translations ja-JP.yml (Korean)

* Add missing semicolon

* Remove file-loader from dependencies (#4025)

* Update README.md [AUTOGEN] (#4028)

* Update README.md [AUTOGEN] (#4030)

* Add visibility test (#4029)

* Update ws requirement from 6.1.2 to 6.1.3 (#4027)

Updates the requirements on [ws](https://github.com/websockets/ws) to permit the latest version.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits/6.1.3)

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

* Module 'web-push' as import syntax (#4017)

* Fix visibility test (#4031)

* Upgrade gulp version to 4.0.0

* Prevent typescript errors from crashing

* Remove duplicated dependencies

* Use parallel and task to specify dependencies

* Sort tasks by topological ordering

* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)

* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に

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

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

* Fix #4034 (#4037)

* Fix #4034

* improve

* Module 'crypto' as import syntax (#4011)

* Extract MFM normalize function

* Extract MFM types

* Rename html to toHtml

* Rename html-to-mfm to fromHtml

* Merge plainParser into mfm

* Extract parsePlain function

* Rename analyze to parse in MFM tests

* Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)

Updates the requirements on [@types/mongodb](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

* Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)

Updates the requirements on [vue-svg-inline-loader](https://github.com/oliverfindl/vue-svg-inline-loader) to permit the latest version.
- [Release notes](https://github.com/oliverfindl/vue-svg-inline-loader/releases)
- [Commits](https://github.com/oliverfindl/vue-svg-inline-loader/commits/v1.2.10)

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

* Avoid export default

* Rename parser to language

* Fix import

* Introduce silence (#4043)

* Introduce silence

* Fix icon

* Update is-root.d.ts

* Update index.ts

* Create type definition for 'is-root'

* Update is-root.d.ts

* Update index.ts
2019-01-31 01:09:52 +09:00
Acid Chicken (硫酸鶏)
7e3a8d56e6 Update index.ts 2019-01-31 01:09:36 +09:00
Acid Chicken (硫酸鶏)
e909eac296 Create type definition for '*/package.json' (#4014)
* Create type definition for '*/package.json'

* Update tsconfig.json
2019-01-31 01:08:43 +09:00
syuilo
8dc7f28744 [ActivityPub] Use microformats on mentions
To avoid pointless link previews.
see: https://misskey.xyz/notes/5c51ab5c2d85f2003248eddc
2019-01-30 22:57:32 +09:00
syuilo
a4b1e8ca26 Update CHANGELOG.md 2019-01-30 22:44:36 +09:00
MeiMei
79b0cc6785 delete unnecessary key (#4045)
* delete unnecessary key

* Add note
2019-01-30 21:31:45 +09:00
syuilo
00b134ce1e Introduce silence (#4043)
* Introduce silence

* Fix icon
2019-01-30 17:25:56 +09:00
Aya Morisawa
b3fc4dc00f Fix import 2019-01-30 17:15:12 +09:00
Aya Morisawa
d06fbbe3ea Rename parser to language 2019-01-30 17:04:49 +09:00
Aya Morisawa
28bfb45426 Avoid export default 2019-01-30 16:56:27 +09:00
dependabot[bot]
1c60a49c96 Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)
Updates the requirements on [vue-svg-inline-loader](https://github.com/oliverfindl/vue-svg-inline-loader) to permit the latest version.
- [Release notes](https://github.com/oliverfindl/vue-svg-inline-loader/releases)
- [Commits](https://github.com/oliverfindl/vue-svg-inline-loader/commits/v1.2.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-30 16:06:45 +09:00
dependabot[bot]
3ae8ff083b Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)
Updates the requirements on [@types/mongodb](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-30 16:06:28 +09:00
Aya Morisawa
c12ccb2a15 Rename analyze to parse in MFM tests 2019-01-30 15:30:05 +09:00
Aya Morisawa
e3b1d00e4c Extract parsePlain function 2019-01-30 15:27:54 +09:00
Aya Morisawa
98795aad9a Merge plainParser into mfm 2019-01-30 15:12:48 +09:00
Aya Morisawa
ca26edbfce Rename html-to-mfm to fromHtml 2019-01-30 15:00:05 +09:00
Aya Morisawa
3058e8f354 Rename html to toHtml 2019-01-30 14:57:13 +09:00
Aya Morisawa
4c9b66b0f0 Extract MFM types 2019-01-30 14:51:30 +09:00
Aya Morisawa
6eb9ba31bf Extract MFM normalize function 2019-01-30 14:21:36 +09:00
Acid Chicken (硫酸鶏)
5bbf4187e6 Module 'crypto' as import syntax (#4011) 2019-01-30 11:51:29 +09:00
syuilo
f2425f71c2 Merge pull request #4020 from syuilo/l10n_develop
New Crowdin translations
2019-01-30 11:50:55 +09:00
MeiMei
b0e00da2f7 Fix #4034 (#4037)
* Fix #4034

* improve
2019-01-29 20:33:28 +09:00
syuilo
215472cd17 New translations ja-JP.yml (Chinese Simplified) 2019-01-29 18:33:13 +09:00
syuilo
072fd4455e New translations ja-JP.yml (Chinese Simplified) 2019-01-29 18:22:34 +09:00
MeiMei
2ed9e26a4f リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)
* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に
2019-01-29 17:34:43 +09:00
Aya Morisawa
8a3e26cdb8 Sort tasks by topological ordering 2019-01-29 17:10:16 +09:00
Aya Morisawa
7301671962 Use parallel and task to specify dependencies 2019-01-29 17:10:16 +09:00
Aya Morisawa
0d0f25818e Remove duplicated dependencies 2019-01-29 17:10:16 +09:00
Aya Morisawa
7850d68dc2 Prevent typescript errors from crashing 2019-01-29 17:10:16 +09:00
Aya Morisawa
f0f5b32300 Upgrade gulp version to 4.0.0 2019-01-29 17:10:16 +09:00
MeiMei
1ca0976e85 Fix visibility test (#4031) 2019-01-29 15:16:11 +09:00
Acid Chicken (硫酸鶏)
7fbfd17896 Module 'web-push' as import syntax (#4017) 2019-01-29 14:36:24 +09:00
dependabot[bot]
3d04f7db62 Update ws requirement from 6.1.2 to 6.1.3 (#4027)
Updates the requirements on [ws](https://github.com/websockets/ws) to permit the latest version.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits/6.1.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-29 14:35:34 +09:00
MeiMei
e301630c9d Add visibility test (#4029) 2019-01-29 13:46:24 +09:00
Acid Chicken (硫酸鶏)
afbccaae41 Update README.md [AUTOGEN] (#4030) 2019-01-29 13:42:28 +09:00
Acid Chicken (硫酸鶏)
893c01c207 Update README.md [AUTOGEN] (#4028) 2019-01-29 05:55:21 +09:00
Aya Morisawa
41c80097ce Remove file-loader from dependencies (#4025) 2019-01-28 18:04:30 +09:00
Aya Morisawa
250933fff3 Add missing semicolon 2019-01-28 17:49:20 +09:00
syuilo
bc9454f67c New translations ja-JP.yml (Korean) 2019-01-28 00:51:55 +09:00
syuilo
377a7fdf3e 10.79.1 2019-01-27 23:25:20 +09:00
syuilo
645f661911 [Client] Resolve #3638 2019-01-27 22:04:50 +09:00
Acid Chicken (硫酸鶏)
db7c83c8ff touch yarn.lock 2019-01-27 20:19:24 +09:00
Acid Chicken (硫酸鶏)
97385db5b5 Use yarn instead of npm on CircleCI 2019-01-27 20:13:06 +09:00
syuilo
c69d57a064 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-27 20:09:03 +09:00
syuilo
a488d6e2d6 [Client] Fix #4008 2019-01-27 20:05:03 +09:00
syuilo
85e8b1fbf4 🎨 2019-01-27 20:03:58 +09:00
Acid Chicken (硫酸鶏)
78763116c3 Module 'nprogress' as import syntax (#4012) 2019-01-27 19:41:41 +09:00
syuilo
103fe8b91d [MFM] Resolve #4009 2019-01-27 19:32:35 +09:00
syuilo
311e67047d Merge pull request #3998 from syuilo/l10n_develop
New Crowdin translations
2019-01-27 19:14:49 +09:00
Aya Morisawa
62d41023e1 Add jump syntax (#4007)
* Add jump syntax

* Fix typo: spin -> jump

* Fix typo
2019-01-27 19:12:45 +09:00
syuilo
5fac7c1718 [MFM] spinの中でflipを使えるように 2019-01-27 19:12:08 +09:00
syuilo
ade01139ca New translations ja-JP.yml (French) 2019-01-27 17:54:13 +09:00
syuilo
5ea8e9c787 New translations ja-JP.yml (Korean) 2019-01-27 17:01:41 +09:00
syuilo
e5cfdbf372 New translations ja-JP.yml (Korean) 2019-01-27 16:51:42 +09:00
dependabot[bot]
d2cc5c3b63 Update debug requirement from 4.1.0 to 4.1.1 (#3964)
Updates the requirements on [debug](https://github.com/visionmedia/debug) to permit the latest version.
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Commits](https://github.com/visionmedia/debug/commits/4.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 16:46:41 +09:00
Aya Morisawa
7cdd90db09 Update @types/sharp requirement from 0.21.0 to 0.21.1 (#3982)
Updates the requirements on [@types/sharp](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 16:46:11 +09:00
dependabot[bot]
aad1b8c12e Update @types/js-yaml requirement from 3.11.4 to 3.12.0 (#3977)
Updates the requirements on [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 16:45:55 +09:00
dependabot[bot]
2519abdd39 Update @types/webpack requirement from 4.4.21 to 4.4.24 (#3976)
Updates the requirements on [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 16:45:48 +09:00
dependabot[bot]
e8d0568a11 Update @fortawesome/free-regular-svg-icons requirement (#3963)
Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 16:45:36 +09:00
syuilo
031287aebd 10.79.0 2019-01-27 16:43:50 +09:00
syuilo
b24de13a37 Update CHANGELOG.md 2019-01-27 16:43:06 +09:00
Aya Morisawa
c113fdc20e Merge pull request #3987 from syuilo/math-block
複数行用の数式構文を追加
2019-01-27 16:41:49 +09:00
Aya Morisawa
1af1638e2b Merge branch 'develop' into math-block 2019-01-27 16:41:30 +09:00
syuilo
8c62aafa97 Fix test 2019-01-27 16:36:01 +09:00
syuilo
4de62220e3 [MFM] Add flip syntax
Resolve #4002
2019-01-27 16:31:00 +09:00
syuilo
e5d9381503 [MFM] Add spin syntax
Resolve #4003
2019-01-27 16:18:04 +09:00
syuilo
5621113d1f New translations ja-JP.yml (English) 2019-01-27 15:02:03 +09:00
syuilo
d906d90010 [Server] Introduce admin stream channel 2019-01-27 14:55:02 +09:00
syuilo
b836528b51 Celan up 2019-01-27 14:44:39 +09:00
syuilo
4b191c7f68 [Client] Improve syntax highlighting
Resolve #3926
Resolve #3390
2019-01-27 14:34:52 +09:00
syuilo
f9f70d5df4 Clean up 2019-01-27 14:30:57 +09:00
syuilo
50b809784f Improve readability and some cleanups 2019-01-27 13:55:11 +09:00
Acid Chicken (硫酸鶏)
54ce19bd56 Update parser.ts (#3999)
* Update parser.ts

* Update parser.ts

* Update parser.ts
2019-01-27 13:50:47 +09:00
syuilo
71210595d2 [Test] Add a MFM test 2019-01-27 13:48:56 +09:00
syuilo
085325e65f [MFM] Improve title syntax detection 2019-01-27 13:40:38 +09:00
syuilo
e4c0c8869e New translations ja-JP.yml (Norwegian) 2019-01-27 13:33:03 +09:00
syuilo
405f98d6d1 New translations ja-JP.yml (Dutch) 2019-01-27 13:32:58 +09:00
syuilo
870ab3d3b6 New translations ja-JP.yml (Japanese, Kansai) 2019-01-27 13:32:54 +09:00
syuilo
9ac2913afc New translations ja-JP.yml (Spanish) 2019-01-27 13:32:50 +09:00
syuilo
171651484a New translations ja-JP.yml (Russian) 2019-01-27 13:32:45 +09:00
syuilo
bfadb4026d New translations ja-JP.yml (Portuguese) 2019-01-27 13:32:40 +09:00
syuilo
3940a9a447 New translations ja-JP.yml (Polish) 2019-01-27 13:32:34 +09:00
syuilo
714446fb46 New translations ja-JP.yml (Korean) 2019-01-27 13:32:27 +09:00
syuilo
e806f33f9f New translations ja-JP.yml (Italian) 2019-01-27 13:32:23 +09:00
syuilo
65ee1711e5 New translations ja-JP.yml (German) 2019-01-27 13:32:16 +09:00
syuilo
ef92578555 New translations ja-JP.yml (French) 2019-01-27 13:32:11 +09:00
syuilo
0352fd0acd New translations ja-JP.yml (English) 2019-01-27 13:32:07 +09:00
syuilo
fffce73d3e New translations ja-JP.yml (Chinese Simplified) 2019-01-27 13:32:03 +09:00
syuilo
717f66b4a6 New translations ja-JP.yml (Catalan) 2019-01-27 13:31:58 +09:00
syuilo
7dcea49be7 Refactoring 2019-01-27 13:29:53 +09:00
syuilo
7c91915e50 Merge pull request #3997 from syuilo/l10n_develop
New Crowdin translations
2019-01-27 13:12:00 +09:00
syuilo
895e80d794 New translations ja-JP.yml (French) 2019-01-27 13:11:47 +09:00
dependabot[bot]
be5714a9f1 Update qrcode requirement from 1.3.2 to 1.3.3 (#3988)
Updates the requirements on [qrcode](https://github.com/soldair/node-qrcode) to permit the latest version.
- [Release notes](https://github.com/soldair/node-qrcode/releases)
- [Changelog](https://github.com/soldair/node-qrcode/blob/master/CHANGELOG.md)
- [Commits](https://github.com/soldair/node-qrcode/commits/v1.3.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 12:36:47 +09:00
syuilo
1ba8374292 Merge pull request #3983 from syuilo/l10n_develop
New Crowdin translations
2019-01-27 10:59:28 +09:00
MeiMei
94154a1aa2 テーマによってコードが見づらいのを少し改善 (#3993) 2019-01-26 21:10:25 +09:00
syuilo
5ae576bad1 🎨 2019-01-26 20:59:14 +09:00
syuilo
f9e6c84d00 New translations ja-JP.yml (English) 2019-01-26 19:22:23 +09:00
syuilo
3ab5d2e0e1 New translations ja-JP.yml (Norwegian) 2019-01-26 18:04:03 +09:00
syuilo
b8f60527f6 New translations ja-JP.yml (Dutch) 2019-01-26 18:03:57 +09:00
syuilo
a83c3557fc New translations ja-JP.yml (Japanese, Kansai) 2019-01-26 18:03:50 +09:00
syuilo
a45abf858f New translations ja-JP.yml (Spanish) 2019-01-26 18:03:45 +09:00
syuilo
a82eeb7e92 New translations ja-JP.yml (Russian) 2019-01-26 18:03:39 +09:00
syuilo
3781f07c49 New translations ja-JP.yml (Portuguese) 2019-01-26 18:03:35 +09:00
syuilo
990bc976de New translations ja-JP.yml (Polish) 2019-01-26 18:03:30 +09:00
syuilo
ff2fc2267d New translations ja-JP.yml (Korean) 2019-01-26 18:03:26 +09:00
syuilo
ec50240a03 New translations ja-JP.yml (Italian) 2019-01-26 18:03:21 +09:00
syuilo
bf00b59339 New translations ja-JP.yml (German) 2019-01-26 18:03:17 +09:00
syuilo
456b01590b New translations ja-JP.yml (French) 2019-01-26 18:03:13 +09:00
syuilo
5eeec0becb New translations ja-JP.yml (English) 2019-01-26 18:03:08 +09:00
syuilo
e5fcb2aea0 New translations ja-JP.yml (Chinese Simplified) 2019-01-26 18:03:03 +09:00
syuilo
d717b1d404 New translations ja-JP.yml (Catalan) 2019-01-26 18:02:59 +09:00
syuilo
2334b41375 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-26 17:54:09 +09:00
syuilo
6f6974a6ae Update CHANGELOG.md 2019-01-26 17:54:00 +09:00
MeiMei
0854f2e180 管理画面からリモートユーザー情報を更新できるように (#3992) 2019-01-26 17:53:35 +09:00
syuilo
a0f8c7e94e Resolve #2253 2019-01-26 17:47:56 +09:00
syuilo
1f5e3040ed New translations ja-JP.yml (Norwegian) 2019-01-26 17:23:40 +09:00
syuilo
6128e62751 New translations ja-JP.yml (Dutch) 2019-01-26 17:23:36 +09:00
syuilo
7c6088b2b4 New translations ja-JP.yml (Japanese, Kansai) 2019-01-26 17:23:32 +09:00
syuilo
9450e567c6 New translations ja-JP.yml (Spanish) 2019-01-26 17:23:27 +09:00
syuilo
c9c2e36540 New translations ja-JP.yml (Russian) 2019-01-26 17:23:22 +09:00
syuilo
fbfd3a60ed New translations ja-JP.yml (Portuguese) 2019-01-26 17:23:18 +09:00
syuilo
9b386fd50e New translations ja-JP.yml (Polish) 2019-01-26 17:23:14 +09:00
syuilo
db5a404081 New translations ja-JP.yml (Korean) 2019-01-26 17:23:09 +09:00
syuilo
3bffe605f7 New translations ja-JP.yml (Italian) 2019-01-26 17:23:02 +09:00
syuilo
4e92eb55cd New translations ja-JP.yml (German) 2019-01-26 17:22:57 +09:00
syuilo
6667ddbc26 New translations ja-JP.yml (French) 2019-01-26 17:22:50 +09:00
syuilo
16e4bb7f79 New translations ja-JP.yml (English) 2019-01-26 17:22:45 +09:00
syuilo
821182cad5 New translations ja-JP.yml (Chinese Simplified) 2019-01-26 17:22:41 +09:00
syuilo
b3730e3373 New translations ja-JP.yml (Catalan) 2019-01-26 17:22:36 +09:00
syuilo
741efa1a9a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-26 17:14:53 +09:00
syuilo
de1a7b4364 Update CHANGELOG.md 2019-01-26 17:14:43 +09:00
MeiMei
85cd647946 Improve moderation UI (#3989)
* admin users UI

* tune
2019-01-26 17:14:10 +09:00
syuilo
da7d1938c9 [Server] Fix #3991 2019-01-26 17:11:02 +09:00
MeiMei
5a795c4ab2 tools/resync-remote-user で exit しないように (#3990) 2019-01-26 16:56:05 +09:00
Aya Morisawa
95d4937e16 Remove whiteP and blackP from Reversi (#3736) 2019-01-26 11:30:30 +09:00
Acid Chicken (硫酸鶏)
6bbc6a80b2 Update style.styl (#3986) 2019-01-26 11:26:32 +09:00
Aya Morisawa
79d2374d8e Add multiline math syntax
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2019-01-25 23:08:06 +09:00
syuilo
e4601962d0 New translations ja-JP.yml (English) 2019-01-25 19:53:11 +09:00
syuilo
4398651841 Refactor 2019-01-25 19:37:45 +09:00
syuilo
42cd7c8a75 [MFM] Improve italic syntax detection 2019-01-25 16:41:51 +09:00
syuilo
501379c82c [Test] Add sone streaming tests 2019-01-25 16:14:09 +09:00
syuilo
92b45d1a9d Refactoring 2019-01-25 15:56:49 +09:00
syuilo
3330c3f548 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-25 11:05:34 +09:00
syuilo
3552b1c900 Update CHANGELOG.md 2019-01-25 11:05:24 +09:00
syuilo
428d27a27b New translations ja-JP.yml (Spanish) 2019-01-25 11:01:47 +09:00
dependabot[bot]
4f6e387d49 Update koa-views requirement from 6.1.4 to 6.1.5 (#3979)
Updates the requirements on [koa-views](https://github.com/queckezz/koa-views) to permit the latest version.
- [Release notes](https://github.com/queckezz/koa-views/releases)
- [Changelog](https://github.com/queckezz/koa-views/blob/master/history.md)
- [Commits](https://github.com/queckezz/koa-views/commits/v6.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-25 11:00:02 +09:00
syuilo
01c0253c89 Merge pull request #3972 from syuilo/l10n_develop
New Crowdin translations
2019-01-25 10:59:34 +09:00
syuilo
76fcf122f9 [Test] Add notes/timeline test 2019-01-25 10:58:39 +09:00
syuilo
926ad23033 [Test] Add API test 2019-01-25 10:52:04 +09:00
syuilo
b956d63c46 New translations ja-JP.yml (Spanish) 2019-01-25 10:11:46 +09:00
syuilo
1970927b5e New translations ja-JP.yml (Spanish) 2019-01-25 08:52:43 +09:00
syuilo
3995ae0957 New translations ja-JP.yml (Spanish) 2019-01-25 08:21:24 +09:00
syuilo
c2a840fa19 New translations ja-JP.yml (English) 2019-01-25 08:21:20 +09:00
syuilo
c7a6321a08 New translations ja-JP.yml (Spanish) 2019-01-25 08:12:04 +09:00
syuilo
0c42c54b7a New translations ja-JP.yml (Spanish) 2019-01-25 08:01:47 +09:00
syuilo
8b775c85f6 New translations ja-JP.yml (Spanish) 2019-01-25 07:52:46 +09:00
syuilo
5c14ff661f New translations ja-JP.yml (Spanish) 2019-01-25 07:42:51 +09:00
syuilo
160c1a3022 New translations ja-JP.yml (Spanish) 2019-01-25 07:22:31 +09:00
dependabot[bot]
7017d3ae07 Update @types/sharp requirement from 0.21.0 to 0.21.1
Updates the requirements on [@types/sharp](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-24 20:28:05 +00:00
MeiMei
5eca0a31f7 Filter hidden replies / mentions (#3981)
* Fix: 非公開投稿が返信一覧に出てくる

* Fix: 非公開投稿がメンション一覧に出てくる

* 非公開投稿は通知/メンション通知しない

* repliesにフォロワー限定がかからなかったのを修正

* Fix: ホームにフォロワー限定投稿が表示されない

* 認証必須エンドポイントで user == null にはならない

* mentionsにフォロワー限定がかからなかったのを修正
2019-01-25 00:06:20 +09:00
syuilo
44d53488e0 New translations ja-JP.yml (English) 2019-01-24 21:05:22 +09:00
syuilo
d731c7da13 Update CONTRIBUTING.md 2019-01-24 19:52:00 +09:00
MeiMei
225544e985 Reapply the theme first (#3971)
* Reapply the theme first

* Cannot
2019-01-24 18:06:20 +09:00
Acid Chicken (硫酸鶏)
e2f7e82cac 外部サービス認証情報の配信 (#3975)
* Update person.ts

* Update person.ts

* Update person.ts

* Update person.ts

* Create original model

* Make type formal

* Update person.ts

* Follow @mei23's review

refs: https://github.com/syuilo/misskey/pull/3975#pullrequestreview-195770172
2019-01-24 17:33:39 +09:00
syuilo
0be7bf93d9 New translations ja-JP.yml (Chinese Simplified) 2019-01-24 11:52:03 +09:00
syuilo
75f9e6bdf5 New translations ja-JP.yml (Chinese Simplified) 2019-01-24 11:26:44 +09:00
syuilo
8f6ea13696 New translations ja-JP.yml (English) 2019-01-24 09:21:48 +09:00
syuilo
f434b3a875 New translations ja-JP.yml (English) 2019-01-24 09:12:19 +09:00
syuilo
70b980d463 New translations ja-JP.yml (Norwegian) 2019-01-23 20:54:03 +09:00
syuilo
a59cf87374 New translations ja-JP.yml (Dutch) 2019-01-23 20:53:56 +09:00
syuilo
c9a9d5dbfd New translations ja-JP.yml (Japanese, Kansai) 2019-01-23 20:53:51 +09:00
syuilo
e0480f4e01 New translations ja-JP.yml (Spanish) 2019-01-23 20:53:45 +09:00
syuilo
d8cfd8f56d New translations ja-JP.yml (Russian) 2019-01-23 20:53:38 +09:00
syuilo
593d3e2d55 New translations ja-JP.yml (Portuguese) 2019-01-23 20:53:33 +09:00
syuilo
a79901b441 New translations ja-JP.yml (Polish) 2019-01-23 20:53:29 +09:00
syuilo
4c526f2837 New translations ja-JP.yml (Korean) 2019-01-23 20:53:24 +09:00
syuilo
3c28dd92ec New translations ja-JP.yml (Italian) 2019-01-23 20:53:19 +09:00
syuilo
d09af4754a New translations ja-JP.yml (German) 2019-01-23 20:53:13 +09:00
syuilo
44ab6cbc39 New translations ja-JP.yml (French) 2019-01-23 20:53:09 +09:00
syuilo
6c42db7589 New translations ja-JP.yml (English) 2019-01-23 20:53:04 +09:00
syuilo
20dfd2faca New translations ja-JP.yml (Chinese Simplified) 2019-01-23 20:52:59 +09:00
syuilo
13696a85ee New translations ja-JP.yml (Catalan) 2019-01-23 20:52:53 +09:00
Acid Chicken (硫酸鶏)
4632eecb76 Back to the #3813 (#3949)
* Revert "Revert "Resolve #3813 (#3814)""

This reverts commit f433182c4c.

* Keep CW is back

* New Wave

https://github.com/syuilo/misskey/pull/3949#pullrequestreview-194787210
2019-01-23 20:43:06 +09:00
syuilo
44a3df0acf Merge pull request #3965 from syuilo/l10n_develop
New Crowdin translations
2019-01-23 19:47:22 +09:00
syuilo
4ab96251f5 [Client] Resolve #3967 2019-01-23 19:45:14 +09:00
syuilo
b795379417 Clean up 2019-01-23 19:43:45 +09:00
syuilo
aa9ba31675 Squash multiple space 2019-01-23 19:42:47 +09:00
syuilo
ad66c8478a Refactoring 2019-01-23 19:33:29 +09:00
syuilo
4ec64b4c57 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-23 19:25:52 +09:00
syuilo
2f0b75a882 Refactoring 2019-01-23 19:25:36 +09:00
Acid Chicken (硫酸鶏)
912ee60781 Update index.ts
refs: 67dacb7725
2019-01-23 16:53:07 +09:00
syuilo
67dacb7725 Supress log when test 2019-01-23 14:19:03 +09:00
syuilo
82f1fc6cda Fix test 2019-01-23 13:50:36 +09:00
syuilo
4d24741d48 Fix test 2019-01-23 13:35:22 +09:00
syuilo
931f17c589 Refactor: Separate some test files 2019-01-23 12:15:27 +09:00
syuilo
ff898b4c20 Update tslint.json 2019-01-23 11:55:47 +09:00
syuilo
7b507c8480 New translations ja-JP.yml (English) 2019-01-23 11:51:44 +09:00
syuilo
bb688f78fc New translations ja-JP.yml (English) 2019-01-23 10:47:34 +09:00
syuilo
a2a31236f6 10.78.5 2019-01-23 05:37:37 +09:00
syuilo
0b191b4d0e Merge pull request #3959 from syuilo/l10n_develop
New Crowdin translations
2019-01-23 05:33:51 +09:00
syuilo
2e97f29411 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-23 05:30:12 +09:00
syuilo
eb1ad54427 Clean up 2019-01-23 05:30:02 +09:00
syuilo
e4974392e5 🎨 2019-01-23 05:25:46 +09:00
dependabot[bot]
4e0d43b45a Update progress-bar-webpack-plugin requirement from 1.11.0 to 1.12.0 (#3962)
Updates the requirements on [progress-bar-webpack-plugin](https://github.com/clessg/progress-bar-webpack-plugin) to permit the latest version.
- [Release notes](https://github.com/clessg/progress-bar-webpack-plugin/releases)
- [Commits](https://github.com/clessg/progress-bar-webpack-plugin/commits/v1.12.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-23 05:24:23 +09:00
syuilo
78c185a05a [Client] Improve usability 2019-01-23 05:20:28 +09:00
MeiMei
fa124abbe2 Supports Twemoji / CustomEmoji in poll (#3960)
* Supports Twemoji / CustomEmoji in poll

* extract emojis in polls
2019-01-23 04:49:16 +09:00
syuilo
f4fa3f031e New translations ja-JP.yml (Korean) 2019-01-22 22:43:09 +09:00
syuilo
3cc7a99d0f New translations ja-JP.yml (Korean) 2019-01-22 22:34:27 +09:00
syuilo
8bf9e87117 Fix types 2019-01-22 21:42:05 +09:00
syuilo
97e8ac1d27 [Client] Fix bug 2019-01-22 21:32:51 +09:00
syuilo
45fb2ecb3a [Client] Fix UI 2019-01-22 21:25:37 +09:00
syuilo
d5e80caac8 [Server] Fix #3958 2019-01-22 21:21:47 +09:00
Acid Chicken (硫酸鶏)
7ceea61170 Create CODEOWNERS (#3882)
* Create CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS
2019-01-22 20:56:55 +09:00
syuilo
a3ce65ee28 Merge pull request #3956 from syuilo/l10n_develop
New Crowdin translations
2019-01-22 20:56:10 +09:00
syuilo
d6b7a048e4 Merge branches 'develop', 'develop', 'develop' and 'develop' of https://github.com/syuilo/misskey into develop 2019-01-22 18:31:16 +09:00
syuilo
f7c8e31b36 Update mfm.ts 2019-01-22 18:30:58 +09:00
syuilo
26c327145f [Test] Add streaming test
#3955
2019-01-22 18:30:49 +09:00
syuilo
b7afd07d6a New translations ja-JP.yml (Chinese Simplified) 2019-01-22 18:11:53 +09:00
syuilo
eaff52548f New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:52:48 +09:00
syuilo
76828adc54 New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:42:35 +09:00
syuilo
198b0b3de3 New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:34:17 +09:00
syuilo
3cdee2732a New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:22:13 +09:00
syuilo
27a7bb7229 New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:15:40 +09:00
Stanislas
cf38a6d0a0 Little english improvements (#3931)
* Little english improvements

* Revert incorrect fix
2019-01-22 16:04:37 +09:00
syuilo
02c88f9b3b Merge pull request #3954 from syuilo/l10n_develop
New Crowdin translations
2019-01-22 15:35:47 +09:00
syuilo
3ac1077b36 New translations ja-JP.yml (French) 2019-01-22 15:32:15 +09:00
syuilo
2b4f6abc15 New translations ja-JP.yml (French) 2019-01-22 15:22:17 +09:00
syuilo
7bd24348d2 New translations ja-JP.yml (French) 2019-01-22 15:11:55 +09:00
dependabot[bot]
c49ae672f2 Update @types/koa-router requirement from 7.0.35 to 7.0.38 (#3951)
Updates the requirements on [@types/koa-router](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-22 08:08:29 +09:00
dependabot[bot]
2eb2cc7880 Update nodemailer requirement from 5.0.0 to 5.1.1 (#3950)
Updates the requirements on [nodemailer](https://github.com/nodemailer/nodemailer) to permit the latest version.
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/commits/v5.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-22 08:08:21 +09:00
dependabot[bot]
f2f3d4beec Update typescript requirement from 3.2.2 to 3.2.4 (#3953)
Updates the requirements on [typescript](https://github.com/Microsoft/TypeScript) to permit the latest version.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits/v3.2.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-22 08:08:02 +09:00
dependabot[bot]
3fd1ea900a Update vue-loader requirement from 15.4.2 to 15.5.1 (#3952)
Updates the requirements on [vue-loader](https://github.com/vuejs/vue-loader) to permit the latest version.
- [Release notes](https://github.com/vuejs/vue-loader/releases)
- [Changelog](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-loader/commits/v15.5.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-22 08:07:37 +09:00
syuilo
c815d11ed2 10.78.4 2019-01-21 21:55:18 +09:00
syuilo
350151ca5b Merge pull request #3945 from syuilo/l10n_develop
New Crowdin translations
2019-01-21 21:52:34 +09:00
syuilo
4339f9af29 [Server] Fix #3947 2019-01-21 21:51:58 +09:00
syuilo
b44227948d Add unique index
#3946
2019-01-21 21:45:11 +09:00
syuilo
5dc8c8846d New translations ja-JP.yml (Norwegian) 2019-01-21 21:05:29 +09:00
syuilo
e1bee8adf3 New translations ja-JP.yml (Dutch) 2019-01-21 21:05:23 +09:00
syuilo
b9ef750321 New translations ja-JP.yml (Japanese, Kansai) 2019-01-21 21:05:17 +09:00
syuilo
e05c0e7d37 New translations ja-JP.yml (Spanish) 2019-01-21 21:05:11 +09:00
syuilo
a3eb0ddc4f New translations ja-JP.yml (Russian) 2019-01-21 21:05:04 +09:00
syuilo
da6e71f2e0 New translations ja-JP.yml (Portuguese) 2019-01-21 21:04:59 +09:00
syuilo
09e08e829d New translations ja-JP.yml (Polish) 2019-01-21 21:04:54 +09:00
syuilo
1b78ae6290 New translations ja-JP.yml (Korean) 2019-01-21 21:04:48 +09:00
syuilo
97f5ba0bc5 New translations ja-JP.yml (Italian) 2019-01-21 21:04:41 +09:00
syuilo
8e29ccdc7f New translations ja-JP.yml (German) 2019-01-21 21:04:34 +09:00
syuilo
4e48214068 New translations ja-JP.yml (French) 2019-01-21 21:04:28 +09:00
syuilo
1bd128d507 New translations ja-JP.yml (English) 2019-01-21 21:04:24 +09:00
syuilo
bfc1f8a25d New translations ja-JP.yml (Chinese Simplified) 2019-01-21 21:04:17 +09:00
syuilo
6369d79aaf New translations ja-JP.yml (Catalan) 2019-01-21 21:04:12 +09:00
syuilo
2df2cf0983 [Client] Fix #3321 2019-01-21 21:03:55 +09:00
syuilo
c93fe423ea [API] Fix bug 2019-01-21 21:01:04 +09:00
syuilo
ecac2990eb [Client] Fix bug 2019-01-21 20:56:10 +09:00
syuilo
a483af1b08 10.78.3 2019-01-21 17:28:53 +09:00
syuilo
01584a6bf9 Fix 404 2019-01-21 17:25:36 +09:00
syuilo
443f967611 Update reversi.vue 2019-01-21 17:20:41 +09:00
syuilo
bf931f2c82 🎨 2019-01-21 17:19:00 +09:00
MeiMei
5b32b900e4 投票未対応インスタンス向けメッセージをわかりやすくする (#3944)
* Poll message

* fix

* fix

* とりあえず日本語にしちゃう

* TODO

* fix
2019-01-21 16:34:17 +09:00
Acid Chicken (硫酸鶏)
0bdcb15b3b Re: Fix routing
本当に申し訳ありませんでした。
2019-01-21 15:52:25 +09:00
Acid Chicken (硫酸鶏)
1b316ab98b Update README.md [AUTOGEN] (#3943) 2019-01-21 15:46:59 +09:00
syuilo
4cd79dd530 Update README.md 2019-01-21 15:40:58 +09:00
syuilo
c204e0518f 10.78.2 2019-01-21 15:32:01 +09:00
syuilo
129d74b463 [Server] ストリームで流れてくる投稿とAPIでタイムラインを取得したときとの不一致を修正 2019-01-21 15:31:19 +09:00
Acid Chicken (硫酸鶏)
533540031b Fix comment URL 2019-01-21 15:20:44 +09:00
Acid Chicken (硫酸鶏)
5ea0ccea22 Fix routing 2019-01-21 15:19:43 +09:00
Acid Chicken (硫酸鶏)
d2c12af085 Fix routing 2019-01-21 15:18:42 +09:00
syuilo
55368c2c38 10.78.1 2019-01-21 14:47:20 +09:00
syuilo
aa020eedc3 [Client] Fix bug 2019-01-21 14:45:57 +09:00
syuilo
e0874069bd [Server] リプライをタイムラインに流す以前の仕様に差し戻し
Resolve #3941
2019-01-21 14:44:49 +09:00
syuilo
90c8568a3f Remove unused import 2019-01-21 13:45:58 +09:00
syuilo
d7cd3a05dd 10.78.0 2019-01-21 13:33:46 +09:00
syuilo
882c60ef10 Update mfm.ts 2019-01-21 13:30:30 +09:00
syuilo
59c4c9a0b8 Update CHANGELOG.md 2019-01-21 13:28:44 +09:00
MeiMei
4a57482216 リモートで投票を見たりしたりできるように (#3940)
* fix type

* expose Question

* Note refs Question

* rename

* wip

* リモート投票の場合リプライ送信

* voteの実装をservicesに移動

* 投票受信

* debug

* つくる

* Revert "つくる"

This reverts commit 0c92458866.

* APIの実装はもどし

* Send Update

* AP type

* Recv Update

* Revert "Recv Update"

This reverts commit ffda39c093.

* Revert "AP type"

This reverts commit 63d8bbe29d.

* Revert "Send Update"

This reverts commit 171b046de5.

* リモートで投票を見る

* 投票はDM

* Provides choices as text for AP

* 絵文字

* fix error

* revert

* APからには不要な処理を削除

* Revert "APからには不要な処理を削除"

This reverts commit 8b5d8af9b0.

* てぬき

* めんどい

* ちっ

* remove unused code
2019-01-21 13:27:19 +09:00
syuilo
6bbccedb2d [Server] Fix #3528 2019-01-21 12:19:20 +09:00
syuilo
fee629849e [Client] Fix bug
ドライブのファイルメニューからアバターやバナーに設定することができない問題を修正
2019-01-21 12:04:31 +09:00
syuilo
e9ebc5151d [Server] Fix bug: リモートユーザーのアイコンが消えることがある問題を修正 2019-01-21 11:23:32 +09:00
syuilo
8a5c8e8e2e Update CHANGELOG.md 2019-01-21 11:17:36 +09:00
syuilo
4000da6be8 [Server] Fix bug 2019-01-21 11:15:36 +09:00
syuilo
977a4373c5 [Server] Fix #2745 2019-01-21 00:32:54 +09:00
syuilo
e559417cab ソーシャルタイムラインにフォロワー限定投稿が含まれていない問題を修正 2019-01-20 23:55:32 +09:00
Aya Morisawa
f793478709 Update setup.en.md 2019-01-20 20:13:08 +09:00
syuilo
15c9d15b8d Update setup.en.md 2019-01-20 20:11:44 +09:00
syuilo
3c194142a8 [Server] Fix #3928 2019-01-20 19:22:13 +09:00
Acid Chicken (硫酸鶏)
81dbf64eb7 Update reversi routing (#3937) 2019-01-20 19:10:19 +09:00
syuilo
7e646f109c Create .node-version 2019-01-20 19:09:23 +09:00
syuilo
d94c060998 Update CHANGELOG.md 2019-01-20 18:21:34 +09:00
syuilo
3d29b052ea Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-20 18:20:46 +09:00
syuilo
875d793512 常にメディアを閲覧注意として投稿するオプションが機能してなかった問題を修正 2019-01-20 18:20:25 +09:00
dependabot[bot]
5cdd6521a2 Update rimraf requirement from 2.6.2 to 2.6.3 (#3923)
Updates the requirements on [rimraf](https://github.com/isaacs/rimraf) to permit the latest version.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Commits](https://github.com/isaacs/rimraf/commits/v2.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-20 18:09:44 +09:00
syuilo
1df9c1005f [MFM] __ 構文はアルファベットのみに 2019-01-20 18:06:04 +09:00
ibrokemypie
53481accf1 Add double underscore syntax for bold markdown (#3733)
* Add double underscore syntax for bold markdown
see https://github.com/syuilo/misskey/pull/3732
this allows bold text through either **text** or __text__

* Add tests for underscore bold mfm syntax
2019-01-20 18:00:55 +09:00
syuilo
8fcf75f77c Update CHANGELOG.md 2019-01-20 17:55:50 +09:00
syuilo
b1385de758 Update mfm.ts 2019-01-20 17:53:08 +09:00
syuilo
f8ba73bebf [MFM] Add <i> syntax 2019-01-20 17:52:11 +09:00
syuilo
ff4cb3555b Remove unused import 2019-01-20 17:49:52 +09:00
ibrokemypie
361af34956 Change italic syntax to fit with other markdown implementations (#3916)
currently italics require an html <i> syntax, unlike every other formatter. this is very confusing, especially as there doesnt seem to be any documentation.
this change makes both _text_ and *text* work, both things that users would expect from other implementations of markdown such as pleroma, discord and github.

Add test
2019-01-20 17:44:52 +09:00
Acid Chicken (硫酸鶏)
11689e6d18 Better version format 2019-01-20 13:40:41 +09:00
syuilo
6ea0028e0e Merge pull request #3924 from syuilo/l10n_develop
New Crowdin translations
2019-01-20 13:40:22 +09:00
syuilo
b39d12f01a 関係のない返信がタイムラインに流れる問題を修正
Resolve #1910
2019-01-20 13:14:31 +09:00
syuilo
f97c1276fe New translations ja-JP.yml (English) 2019-01-20 12:41:57 +09:00
syuilo
73375a2f43 New translations ja-JP.yml (Norwegian) 2019-01-20 12:33:13 +09:00
syuilo
b87a35b71c New translations ja-JP.yml (Dutch) 2019-01-20 12:33:07 +09:00
syuilo
9db9067647 New translations ja-JP.yml (Japanese, Kansai) 2019-01-20 12:33:02 +09:00
syuilo
7053c3125e New translations ja-JP.yml (Spanish) 2019-01-20 12:32:55 +09:00
syuilo
e89a63e88c New translations ja-JP.yml (Russian) 2019-01-20 12:32:48 +09:00
syuilo
1b13700ae2 New translations ja-JP.yml (Portuguese) 2019-01-20 12:32:44 +09:00
syuilo
b7c2fa0c0c New translations ja-JP.yml (Polish) 2019-01-20 12:32:40 +09:00
syuilo
df847ebd86 New translations ja-JP.yml (Korean) 2019-01-20 12:32:33 +09:00
syuilo
fa72856272 New translations ja-JP.yml (Italian) 2019-01-20 12:32:29 +09:00
syuilo
20921e91bf New translations ja-JP.yml (German) 2019-01-20 12:32:24 +09:00
syuilo
f597e7c4ae New translations ja-JP.yml (French) 2019-01-20 12:32:20 +09:00
syuilo
380651ba62 New translations ja-JP.yml (English) 2019-01-20 12:32:14 +09:00
syuilo
45f852b832 New translations ja-JP.yml (Chinese Simplified) 2019-01-20 12:32:09 +09:00
syuilo
80bf1d4b38 New translations ja-JP.yml (Catalan) 2019-01-20 12:32:03 +09:00
syuilo
6909add1ec Drop stalk feature
Resolve #3935
Closes #2226
Closes #1946
2019-01-20 12:25:00 +09:00
syuilo
d53d059480 Update CHANGELOG.md 2019-01-20 03:10:06 +09:00
MeiMei
22830965e3 AP Undo Like (#3933)
* AP Undo Like

* rename
2019-01-20 03:07:12 +09:00
syuilo
fa07b3023c Refactor 2019-01-19 23:00:15 +09:00
syuilo
02568df664 New translations ja-JP.yml (Norwegian) 2019-01-19 19:23:24 +09:00
syuilo
57acfae786 New translations ja-JP.yml (Dutch) 2019-01-19 19:23:19 +09:00
syuilo
949c113c7f New translations ja-JP.yml (Japanese, Kansai) 2019-01-19 19:23:15 +09:00
syuilo
6656c87024 New translations ja-JP.yml (Spanish) 2019-01-19 19:23:11 +09:00
syuilo
16d7f4ff92 New translations ja-JP.yml (Russian) 2019-01-19 19:23:06 +09:00
syuilo
2145d928df New translations ja-JP.yml (Portuguese) 2019-01-19 19:23:02 +09:00
syuilo
463aa3f56b New translations ja-JP.yml (Polish) 2019-01-19 19:22:58 +09:00
syuilo
38b4265bce New translations ja-JP.yml (Korean) 2019-01-19 19:22:53 +09:00
syuilo
85c4fdfdb1 New translations ja-JP.yml (Italian) 2019-01-19 19:22:49 +09:00
syuilo
4edb2d9587 New translations ja-JP.yml (German) 2019-01-19 19:22:45 +09:00
syuilo
58be3393c3 New translations ja-JP.yml (French) 2019-01-19 19:22:40 +09:00
syuilo
c64d8aa90a New translations ja-JP.yml (English) 2019-01-19 19:22:36 +09:00
syuilo
0457cd0afc New translations ja-JP.yml (Chinese Simplified) 2019-01-19 19:22:29 +09:00
syuilo
ee8abb3abb New translations ja-JP.yml (Catalan) 2019-01-19 19:22:24 +09:00
syuilo
48516c2eb4 Update CHANGELOG.md 2019-01-19 19:18:43 +09:00
syuilo
8a88c896da Update .eslintrc 2019-01-19 19:16:57 +09:00
syuilo
048b9c295e スパム報告機能
Resolve #1970
2019-01-19 19:16:48 +09:00
syuilo
6b3e3eb129 New translations ja-JP.yml (Norwegian) 2019-01-19 09:53:43 +09:00
syuilo
46ecabc7cb New translations ja-JP.yml (Dutch) 2019-01-19 09:53:38 +09:00
syuilo
cc7af0b331 New translations ja-JP.yml (Japanese, Kansai) 2019-01-19 09:53:33 +09:00
syuilo
af654ee92b New translations ja-JP.yml (Spanish) 2019-01-19 09:53:28 +09:00
syuilo
5c8adb3935 New translations ja-JP.yml (Russian) 2019-01-19 09:53:22 +09:00
syuilo
794821a847 New translations ja-JP.yml (Portuguese) 2019-01-19 09:53:15 +09:00
syuilo
4afbdaa3ce New translations ja-JP.yml (Polish) 2019-01-19 09:53:09 +09:00
syuilo
4d98f4d022 New translations ja-JP.yml (Korean) 2019-01-19 09:53:05 +09:00
syuilo
bec63f1454 New translations ja-JP.yml (Italian) 2019-01-19 09:53:00 +09:00
syuilo
4e7b1537d7 New translations ja-JP.yml (German) 2019-01-19 09:52:56 +09:00
syuilo
8010ad53ba New translations ja-JP.yml (French) 2019-01-19 09:52:49 +09:00
syuilo
6acbde05c2 New translations ja-JP.yml (English) 2019-01-19 09:52:43 +09:00
syuilo
beaecd54ee New translations ja-JP.yml (Chinese Simplified) 2019-01-19 09:52:39 +09:00
syuilo
f0af941cef New translations ja-JP.yml (Catalan) 2019-01-19 09:52:32 +09:00
syuilo
ac5d798cde Fix typo 2019-01-19 09:52:27 +09:00
syuilo
d2a7c56149 Improve drive file operation
Resolve #3789
Resolve #3790
2019-01-19 09:50:38 +09:00
syuilo
fc0d339c9d New translations ja-JP.yml (English) 2019-01-19 09:42:33 +09:00
syuilo
11303b5bec Update .eslintrc 2019-01-19 08:49:57 +09:00
syuilo
b5bcc23d5f Update CHANGELOG.md 2019-01-19 08:47:59 +09:00
syuilo
7c92eb2a14 Update .eslintrc 2019-01-19 08:47:06 +09:00
syuilo
466cae524e Refactor: Rename misskey-flavored-markdown --> mfm 2019-01-19 08:45:12 +09:00
syuilo
620722cb55 Fix camelCase in HTML 2019-01-19 08:30:53 +09:00
MeiMei
160f424466 Fix missing username conversions (#3922) 2019-01-19 08:28:46 +09:00
Acid Chicken (硫酸鶏)
fa051df381 node-gypの警告を直す (#3906)
* Update crypto_key.cc

* Update crypto_key.cc

* Update crypto_key.cc
2019-01-18 21:01:31 +09:00
Acid Chicken (硫酸鶏)
5bd0695b0e Update README.md [AUTOGEN] (#3918) 2019-01-18 20:59:25 +09:00
syuilo
831adfd22e Update CHANGELOG.md 2019-01-18 20:45:47 +09:00
Acid Chicken (硫酸鶏)
9b5031dc4f Update README.md [AUTOGEN] (#3917) 2019-01-18 20:44:58 +09:00
Acid Chicken (硫酸鶏)
150c1340a7 Update README.md [AUTOGEN] (#3915) 2019-01-18 20:34:58 +09:00
syuilo
82190d18c8 Merge pull request #3846 from syuilo/l10n_develop
New Crowdin translations
2019-01-18 20:13:27 +09:00
syuilo
0887580132 Improve readability 2019-01-18 19:48:16 +09:00
syuilo
48f50bb811 New translations ja-JP.yml (French) 2019-01-18 18:12:26 +09:00
syuilo
5d4c63edb3 New translations ja-JP.yml (Norwegian) 2019-01-18 16:54:26 +09:00
syuilo
df6456c80a New translations ja-JP.yml (Dutch) 2019-01-18 16:54:21 +09:00
syuilo
81d5e8c301 New translations ja-JP.yml (Japanese, Kansai) 2019-01-18 16:54:16 +09:00
syuilo
c221bf585c New translations ja-JP.yml (Spanish) 2019-01-18 16:54:11 +09:00
syuilo
cdac704836 New translations ja-JP.yml (Russian) 2019-01-18 16:54:06 +09:00
syuilo
c0e0efa050 New translations ja-JP.yml (Portuguese) 2019-01-18 16:53:59 +09:00
syuilo
2711f86a95 New translations ja-JP.yml (Polish) 2019-01-18 16:53:54 +09:00
syuilo
c21119bb09 New translations ja-JP.yml (Korean) 2019-01-18 16:53:48 +09:00
syuilo
7b172d0b33 New translations ja-JP.yml (Italian) 2019-01-18 16:53:42 +09:00
syuilo
b102b1b0e8 New translations ja-JP.yml (German) 2019-01-18 16:53:36 +09:00
syuilo
df4afb32e7 New translations ja-JP.yml (French) 2019-01-18 16:53:31 +09:00
syuilo
ed21254497 New translations ja-JP.yml (English) 2019-01-18 16:53:26 +09:00
syuilo
5505b2e7af New translations ja-JP.yml (Chinese Simplified) 2019-01-18 16:53:21 +09:00
syuilo
5d93748ff5 New translations ja-JP.yml (Catalan) 2019-01-18 16:53:16 +09:00
syuilo
abddea0443 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-18 16:47:03 +09:00
syuilo
9fc1cc5255 [Client] Drop apiViaStream option
Resolve #3911
2019-01-18 16:46:56 +09:00
Acid Chicken (硫酸鶏)
1aa274e10d Update .gitignore 2019-01-18 16:04:06 +09:00
syuilo
deeb536613 Update CHANGELOG.md 2019-01-18 15:42:12 +09:00
Aya Morisawa
66b64320f1 Update elasticsearch requirement from 15.2.0 to 15.3.0 (#3891)
Updates the requirements on [elasticsearch](https://github.com/elastic/elasticsearch-js) to permit the latest version.
- [Release notes](https://github.com/elastic/elasticsearch-js/releases)
- [Changelog](https://github.com/elastic/elasticsearch-js/blob/master/docs/changelog.asciidoc)
- [Commits](https://github.com/elastic/elasticsearch-js/commits/v15.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:41:30 +09:00
dependabot[bot]
9df620a520 Update js-yaml requirement from 3.12.0 to 3.12.1 (#3902)
Updates the requirements on [js-yaml](https://github.com/nodeca/js-yaml) to permit the latest version.
- [Release notes](https://github.com/nodeca/js-yaml/releases)
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/commits/3.12.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:41:23 +09:00
dependabot[bot]
9851612acf Update eslint-plugin-vue requirement from 5.0.0 to 5.1.0 (#3887)
Updates the requirements on [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) to permit the latest version.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/commits/v5.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:41:13 +09:00
Aya Morisawa
075934eac2 Merge pull request #3893 from syuilo/dependabot/npm_and_yarn/webpack-4.28.4
Update webpack requirement from 4.28.3 to 4.28.4
2019-01-18 14:41:04 +09:00
Aya Morisawa
7fe0fa22c3 Update @fortawesome/vue-fontawesome requirement from 0.1.2 to 0.1.5 (#3903)
Updates the requirements on [@fortawesome/vue-fontawesome](https://github.com/FortAwesome/vue-fontawesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/vue-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/vue-fontawesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/vue-fontawesome/commits/0.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:40:55 +09:00
dependabot[bot]
41dc729d95 Update @types/showdown requirement from 1.9.1 to 1.9.2 (#3912)
Updates the requirements on [@types/showdown](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:40:34 +09:00
syuilo
e2cb34f109 New translations ja-JP.yml (Norwegian) 2019-01-18 13:23:12 +09:00
syuilo
ed7b619634 New translations ja-JP.yml (Dutch) 2019-01-18 13:23:08 +09:00
syuilo
d09050f13f New translations ja-JP.yml (Japanese, Kansai) 2019-01-18 13:23:02 +09:00
syuilo
dcc76ab4f2 New translations ja-JP.yml (Spanish) 2019-01-18 13:22:57 +09:00
syuilo
e035d942b3 New translations ja-JP.yml (Russian) 2019-01-18 13:22:51 +09:00
syuilo
9eada028b8 New translations ja-JP.yml (Portuguese) 2019-01-18 13:22:46 +09:00
syuilo
1cac95ce8a New translations ja-JP.yml (Polish) 2019-01-18 13:22:40 +09:00
syuilo
b707a574d1 New translations ja-JP.yml (Korean) 2019-01-18 13:22:35 +09:00
syuilo
df40121e4c New translations ja-JP.yml (Italian) 2019-01-18 13:22:31 +09:00
syuilo
0f2c3dfd79 New translations ja-JP.yml (German) 2019-01-18 13:22:24 +09:00
syuilo
2c187460a0 New translations ja-JP.yml (French) 2019-01-18 13:22:20 +09:00
syuilo
a32a78b5ef New translations ja-JP.yml (English) 2019-01-18 13:22:15 +09:00
syuilo
80d7c9bdef New translations ja-JP.yml (Chinese Simplified) 2019-01-18 13:22:11 +09:00
syuilo
bc6439a339 New translations ja-JP.yml (Catalan) 2019-01-18 13:22:04 +09:00
Acid Chicken (硫酸鶏)
d93e60d4dd Better 2FA input on sign in form (#3910)
* Update signin.vue

* Update ja-JP.yml

* Update settings.vue

* Update signin.vue

* Update init.ts
2019-01-18 13:20:32 +09:00
syuilo
4ba43b69b6 animejs 3.xに対応 2019-01-18 13:06:11 +09:00
dependabot[bot]
02b9032587 Update webpack requirement from 4.28.3 to 4.28.4
Updates the requirements on [webpack](https://github.com/webpack/webpack) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/commits/v4.28.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 03:53:42 +00:00
dependabot[bot]
8b6649b41f Update animejs requirement from 2.2.0 to 3.0.1 (#3913)
Updates the requirements on [animejs](https://github.com/juliangarnier/anime) to permit the latest version.
- [Release notes](https://github.com/juliangarnier/anime/releases)
- [Commits](https://github.com/juliangarnier/anime/commits/v3.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 12:50:58 +09:00
syuilo
a5a25813d8 New translations ja-JP.yml (English) 2019-01-18 08:02:20 +09:00
Acid Chicken (硫酸鶏)
27ceae7406 Better configuration of CircleCI (#3908) 2019-01-17 21:15:37 +09:00
syuilo
5d75746681 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-17 17:54:32 +09:00
syuilo
51a6bc4fe1 [Client] Fix chart rendering 2019-01-17 17:54:25 +09:00
syuilo
94f866b7c8 Update CHANGELOG.md 2019-01-17 17:42:38 +09:00
syuilo
95be55135e New translations ja-JP.yml (Norwegian) 2019-01-17 17:24:42 +09:00
syuilo
7c50d9f1e9 New translations ja-JP.yml (Dutch) 2019-01-17 17:24:36 +09:00
syuilo
5d9bb44f1b New translations ja-JP.yml (Japanese, Kansai) 2019-01-17 17:24:30 +09:00
syuilo
b832323508 New translations ja-JP.yml (Spanish) 2019-01-17 17:24:25 +09:00
syuilo
48ce86d633 New translations ja-JP.yml (Russian) 2019-01-17 17:24:20 +09:00
syuilo
b1e377dab0 New translations ja-JP.yml (Portuguese) 2019-01-17 17:24:14 +09:00
syuilo
4c17d488d3 New translations ja-JP.yml (Polish) 2019-01-17 17:24:08 +09:00
syuilo
73c585b9a2 New translations ja-JP.yml (Korean) 2019-01-17 17:24:03 +09:00
syuilo
a3377ff0ba New translations ja-JP.yml (Italian) 2019-01-17 17:23:57 +09:00
syuilo
0a17033551 New translations ja-JP.yml (German) 2019-01-17 17:23:52 +09:00
syuilo
12c13660ca New translations ja-JP.yml (French) 2019-01-17 17:23:47 +09:00
syuilo
3f1b85452b New translations ja-JP.yml (English) 2019-01-17 17:23:41 +09:00
syuilo
5776c52205 New translations ja-JP.yml (Chinese Simplified) 2019-01-17 17:23:35 +09:00
syuilo
e7a36d6176 New translations ja-JP.yml (Catalan) 2019-01-17 17:23:31 +09:00
syuilo
8d42e94e57 Implement active users chart
Resolve #3904
2019-01-17 17:16:08 +09:00
syuilo
20386acf4e New translations ja-JP.yml (Norwegian) 2019-01-17 09:56:43 +09:00
syuilo
c92e25ce16 New translations ja-JP.yml (Dutch) 2019-01-17 09:56:36 +09:00
syuilo
08599c887e New translations ja-JP.yml (Japanese, Kansai) 2019-01-17 09:56:30 +09:00
syuilo
90ccbd3834 New translations ja-JP.yml (Spanish) 2019-01-17 09:56:24 +09:00
syuilo
0931681e8f New translations ja-JP.yml (Russian) 2019-01-17 09:56:19 +09:00
syuilo
0a0da355b9 New translations ja-JP.yml (Portuguese) 2019-01-17 09:56:14 +09:00
syuilo
b2ec82fba5 New translations ja-JP.yml (Polish) 2019-01-17 09:56:08 +09:00
syuilo
d62597c265 New translations ja-JP.yml (Korean) 2019-01-17 09:56:03 +09:00
syuilo
23d311b6ef New translations ja-JP.yml (Italian) 2019-01-17 09:55:57 +09:00
syuilo
7efdee9145 New translations ja-JP.yml (German) 2019-01-17 09:55:52 +09:00
syuilo
45429c9d6b New translations ja-JP.yml (French) 2019-01-17 09:55:47 +09:00
syuilo
45adea23b4 New translations ja-JP.yml (English) 2019-01-17 09:55:41 +09:00
syuilo
aaa8331733 New translations ja-JP.yml (Chinese Simplified) 2019-01-17 09:55:32 +09:00
syuilo
501922ed9c New translations ja-JP.yml (Catalan) 2019-01-17 09:55:23 +09:00
syuilo
652bb03087 [Client] Add information 2019-01-17 09:46:40 +09:00
syuilo
f1e769e74d Add footer 2019-01-17 09:42:21 +09:00
syuilo
b2e4957bb8 Update CHANGELOG.md 2019-01-17 09:35:22 +09:00
syuilo
cb6a4037f2 [MFM] Better hashtag parsing: Ignore single quotation 2019-01-17 09:33:08 +09:00
syuilo
9740db8685 [MFM] Better hashtag parsing: Ignore double quotation
Resolve #3886
2019-01-17 09:24:20 +09:00
syuilo
41784de9be 🎨 2019-01-17 09:19:47 +09:00
MeiMei
208493ba13 Fix: time tooltip overlaps with others (#3901) 2019-01-17 06:40:11 +09:00
dependabot[bot]
9798a9bf15 Update @fortawesome/vue-fontawesome requirement from 0.1.2 to 0.1.5
Updates the requirements on [@fortawesome/vue-fontawesome](https://github.com/FortAwesome/vue-fontawesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/vue-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/vue-fontawesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/vue-fontawesome/commits/0.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-16 20:22:52 +00:00
Acid Chicken (硫酸鶏)
1df8487d20 Update README.md [AUTOGEN] (#3900) 2019-01-17 00:25:49 +09:00
Acid Chicken (硫酸鶏)
dbfbdfa3f3 Update README.md [AUTOGEN] (#3898) 2019-01-17 00:24:44 +09:00
syuilo
27853e9d51 New translations ja-JP.yml (Korean) 2019-01-17 00:17:40 +09:00
syuilo
03b4fe18f3 New translations ja-JP.yml (Korean) 2019-01-17 00:04:25 +09:00
syuilo
1f32531e07 New translations ja-JP.yml (Chinese Simplified) 2019-01-16 23:33:47 +09:00
syuilo
a1397bfdbc New translations ja-JP.yml (Chinese Simplified) 2019-01-16 23:23:27 +09:00
syuilo
bcdb70f407 New translations ja-JP.yml (Japanese, Kansai) 2019-01-16 15:03:53 +09:00
syuilo
ef81a66cf0 New translations ja-JP.yml (Spanish) 2019-01-16 15:03:48 +09:00
syuilo
186b0ea560 New translations ja-JP.yml (Russian) 2019-01-16 15:03:42 +09:00
syuilo
ff53b04f4c New translations ja-JP.yml (Portuguese) 2019-01-16 15:03:37 +09:00
syuilo
1ac9730c7d New translations ja-JP.yml (Norwegian) 2019-01-16 15:03:31 +09:00
syuilo
d66e2947de New translations ja-JP.yml (Dutch) 2019-01-16 15:03:25 +09:00
syuilo
92ca9b1444 New translations ja-JP.yml (Polish) 2019-01-16 15:03:19 +09:00
syuilo
f34ae64ff5 New translations ja-JP.yml (Korean) 2019-01-16 15:03:13 +09:00
syuilo
9ca8383f39 New translations ja-JP.yml (Italian) 2019-01-16 15:03:08 +09:00
syuilo
9fdc884e51 New translations ja-JP.yml (German) 2019-01-16 15:03:02 +09:00
syuilo
eeb4772a3c New translations ja-JP.yml (French) 2019-01-16 15:02:56 +09:00
syuilo
769e1ed45b New translations ja-JP.yml (English) 2019-01-16 15:02:50 +09:00
syuilo
78207c8a4d New translations ja-JP.yml (Chinese Simplified) 2019-01-16 15:02:45 +09:00
syuilo
7837949b1a New translations ja-JP.yml (Catalan) 2019-01-16 15:02:38 +09:00
syuilo
14b16b4733 10.77.0 2019-01-16 14:58:05 +09:00
syuilo
256c216dfb インスタンス情報ページに各種タイムラインの有効/無効を表示 2019-01-16 14:57:01 +09:00
syuilo
13cee2b4f5 Resolve #3896 2019-01-16 14:54:14 +09:00
syuilo
eb45eeb1ae [Client] Resolve #3895 2019-01-16 14:46:54 +09:00
syuilo
3154350b64 10.76.0 2019-01-16 11:41:40 +09:00
syuilo
519c9c4499 インスタンス情報ページにユーザー数と投稿数を追加 2019-01-16 03:36:25 +09:00
syuilo
c2f6b09969 disableLocalTimeline機能を強化
* ストリームだけではなくAPIも無効に
* モデレーターは無効の場合でも見れるように
* グローバルタイムラインも無効に(連合数が少ないインスタンスではグローバルタイムラインは実質的にローカルタイムラインと同一なので)
2019-01-16 02:30:55 +09:00
syuilo
c8e2b22942 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-15 18:28:31 +09:00
syuilo
f433182c4c Revert "Resolve #3813 (#3814)"
This reverts commit 96515c4544.
2019-01-15 18:28:11 +09:00
dependabot[bot]
957392aaae Update minio requirement from 7.0.2 to 7.0.3 (#3888)
Updates the requirements on [minio](https://github.com/minio/minio-js) to permit the latest version.
- [Release notes](https://github.com/minio/minio-js/releases)
- [Commits](https://github.com/minio/minio-js/commits/7.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-15 10:41:16 +09:00
dependabot[bot]
bd8d06e133 Update vue-i18n requirement from 8.6.0 to 8.7.0 (#3889)
Updates the requirements on [vue-i18n](https://github.com/kazupon/vue-i18n) to permit the latest version.
- [Release notes](https://github.com/kazupon/vue-i18n/releases)
- [Changelog](https://github.com/kazupon/vue-i18n/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/kazupon/vue-i18n/commits/v8.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-15 10:40:04 +09:00
dependabot[bot]
dce347a117 Update elasticsearch requirement from 15.2.0 to 15.3.0
Updates the requirements on [elasticsearch](https://github.com/elastic/elasticsearch-js) to permit the latest version.
- [Release notes](https://github.com/elastic/elasticsearch-js/releases)
- [Changelog](https://github.com/elastic/elasticsearch-js/blob/master/docs/changelog.asciidoc)
- [Commits](https://github.com/elastic/elasticsearch-js/commits/v15.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-14 20:30:05 +00:00
syuilo
ef37e20555 New translations ja-JP.yml (French) 2019-01-15 04:20:36 +09:00
Skid
c617b60f70 Correct some weird french translations in the docs. (#3884)
* Correct some weird french translations

* Update docker.fr.md

* Update setup.fr.md

* Update setup.fr.md

* Update docker.fr.md

* Update setup.fr.md
2019-01-14 06:08:33 +09:00
syuilo
fe6243b7a0 New translations ja-JP.yml (English) 2019-01-13 23:48:29 +09:00
syuilo
f5e31de81d New translations ja-JP.yml (Polish) 2019-01-13 22:31:44 +09:00
syuilo
5c495ebf7c New translations ja-JP.yml (Polish) 2019-01-13 22:21:44 +09:00
syuilo
9dd64c67a3 New translations ja-JP.yml (French) 2019-01-13 20:02:06 +09:00
Acid Chicken (硫酸鶏)
018837db0b Support SVG (#3883)
* Update add-file.ts

* Update package.json

* Revert "Update add-file.ts"

This reverts commit ba0fe83b54.

* Update add-file.ts

* Update package.json

* Update add-file.ts

* Update add-file.ts

* Create image.svg

* Update api.ts
2019-01-13 18:21:10 +09:00
syuilo
00d5fdfc13 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-12 19:31:03 +09:00
syuilo
2debb0c2ca Provide instance description in info page 2019-01-12 19:30:56 +09:00
Nikhil Jha
148d6737cc Grammatical Fixes (#3844)
Updated the README to read more naturally for English speakers.
2019-01-12 14:34:00 +09:00
dependabot[bot]
c15cb8d28c Update chalk requirement from 2.4.1 to 2.4.2 (#3855)
Updates the requirements on [chalk](https://github.com/chalk/chalk) to permit the latest version.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](https://github.com/chalk/chalk/commits/v2.4.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:33:23 +09:00
dependabot[bot]
1d5471db70 Update webpack-cli requirement from 3.1.2 to 3.2.1 (#3850)
Updates the requirements on [webpack-cli](https://github.com/webpack/webpack-cli) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:42 +09:00
Aya Morisawa
086b83c1fe Merge pull request #3851 from syuilo/dependabot/npm_and_yarn/eslint-5.12.0
Update eslint requirement from 5.11.1 to 5.12.0
2019-01-12 14:32:29 +09:00
Aya Morisawa
c509e0b86c Update ts-loader requirement from 5.3.1 to 5.3.3 (#3854)
Updates the requirements on [ts-loader](https://github.com/TypeStrong/ts-loader) to permit the latest version.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/commits/v5.3.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:20 +09:00
dependabot[bot]
e8a1ad9823 Update chai-http requirement from 4.2.0 to 4.2.1 (#3856)
Updates the requirements on [chai-http](https://github.com/chaijs/chai-http) to permit the latest version.
- [Release notes](https://github.com/chaijs/chai-http/releases)
- [Changelog](https://github.com/chaijs/chai-http/blob/master/History.md)
- [Commits](https://github.com/chaijs/chai-http/commits/4.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:11 +09:00
dependabot[bot]
6446b1cfb1 Update cssnano requirement from 4.1.7 to 4.1.8 (#3880)
Updates the requirements on [cssnano](https://github.com/cssnano/cssnano) to permit the latest version.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/commits/v4.1.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:03 +09:00
Aya Morisawa
2b9216c441 Merge pull request #3866 from syuilo/dependabot/npm_and_yarn/@types/mongodb-3.1.18
Update @types/mongodb requirement from 3.1.14 to 3.1.18
2019-01-12 14:31:52 +09:00
Aya Morisawa
28656a701f Merge pull request #3857 from syuilo/dependabot/npm_and_yarn/@types/showdown-1.9.1
Update @types/showdown requirement from 1.9.0 to 1.9.1
2019-01-12 14:31:43 +09:00
syuilo
cd628eaf54 [MFM] Better hashtag parsing: Ignore trailing colon 2019-01-12 14:10:16 +09:00
syuilo
5b9918538a New translations ja-JP.yml (Norwegian) 2019-01-11 08:13:12 +09:00
syuilo
b05ba5bd68 New translations ja-JP.yml (Dutch) 2019-01-11 08:13:06 +09:00
syuilo
0afc7483f6 New translations ja-JP.yml (Japanese, Kansai) 2019-01-11 08:13:01 +09:00
syuilo
c069d01e4b New translations ja-JP.yml (Spanish) 2019-01-11 08:12:54 +09:00
syuilo
070e5a3314 New translations ja-JP.yml (Russian) 2019-01-11 08:12:49 +09:00
syuilo
43b5a1e469 New translations ja-JP.yml (Portuguese) 2019-01-11 08:12:42 +09:00
syuilo
81bbf887e4 New translations ja-JP.yml (Polish) 2019-01-11 08:12:38 +09:00
syuilo
e0aa2ab2b6 New translations ja-JP.yml (Korean) 2019-01-11 08:12:34 +09:00
syuilo
f5000a0364 New translations ja-JP.yml (Italian) 2019-01-11 08:12:29 +09:00
syuilo
694ea9b5a0 New translations ja-JP.yml (German) 2019-01-11 08:12:23 +09:00
syuilo
d70bd44db7 New translations ja-JP.yml (French) 2019-01-11 08:12:18 +09:00
syuilo
c3cd499e8e New translations ja-JP.yml (English) 2019-01-11 08:12:14 +09:00
syuilo
64c89a6d52 New translations ja-JP.yml (Chinese Simplified) 2019-01-11 08:12:09 +09:00
syuilo
0a4a7bf64c New translations ja-JP.yml (Catalan) 2019-01-11 08:12:04 +09:00
syuilo
f879ea760a New translations ja-JP.yml (Polish) 2019-01-11 06:02:30 +09:00
syuilo
08d6269f90 New translations ja-JP.yml (Polish) 2019-01-11 05:52:30 +09:00
syuilo
f454473d6c New translations ja-JP.yml (Polish) 2019-01-11 05:41:55 +09:00
syuilo
2c347d7213 New translations ja-JP.yml (Polish) 2019-01-11 05:37:23 +09:00
syuilo
e6158838e0 New translations ja-JP.yml (Polish) 2019-01-11 05:27:59 +09:00
syuilo
974fe80245 New translations ja-JP.yml (English) 2019-01-10 21:33:31 +09:00
syuilo
9676723c85 New translations ja-JP.yml (Norwegian) 2019-01-10 10:33:12 +09:00
syuilo
9115629424 New translations ja-JP.yml (Dutch) 2019-01-10 10:33:06 +09:00
syuilo
8f02716774 New translations ja-JP.yml (Japanese, Kansai) 2019-01-10 10:33:01 +09:00
syuilo
8feb5bd9a4 New translations ja-JP.yml (Spanish) 2019-01-10 10:32:56 +09:00
syuilo
826542201e New translations ja-JP.yml (Russian) 2019-01-10 10:32:51 +09:00
syuilo
7ab1315008 New translations ja-JP.yml (Portuguese) 2019-01-10 10:32:46 +09:00
syuilo
662407f1ba New translations ja-JP.yml (Polish) 2019-01-10 10:32:41 +09:00
syuilo
679de41d8d New translations ja-JP.yml (Korean) 2019-01-10 10:32:34 +09:00
syuilo
89a97142c2 New translations ja-JP.yml (Italian) 2019-01-10 10:32:30 +09:00
syuilo
0a175fddba New translations ja-JP.yml (German) 2019-01-10 10:32:26 +09:00
syuilo
64d40b7e49 New translations ja-JP.yml (French) 2019-01-10 10:32:21 +09:00
syuilo
ac7e0d5973 New translations ja-JP.yml (English) 2019-01-10 10:32:15 +09:00
syuilo
f095951193 New translations ja-JP.yml (Chinese Simplified) 2019-01-10 10:32:10 +09:00
syuilo
b93eab9cf7 New translations ja-JP.yml (Catalan) 2019-01-10 10:32:05 +09:00
dependabot[bot]
53298933e4 Update @types/mongodb requirement from 3.1.14 to 3.1.18
Updates the requirements on [@types/mongodb](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-09 20:16:29 +00:00
dependabot[bot]
e7cfae3ccb Update @types/showdown requirement from 1.9.0 to 1.9.1
Updates the requirements on [@types/showdown](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-08 20:29:07 +00:00
dependabot[bot]
ebb03113ab Update ts-loader requirement from 5.3.1 to 5.3.3
Updates the requirements on [ts-loader](https://github.com/TypeStrong/ts-loader) to permit the latest version.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/commits/v5.3.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-08 20:19:39 +00:00
dependabot[bot]
b3a0fe823e Update eslint requirement from 5.11.1 to 5.12.0
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v5.12.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-08 10:15:52 +00:00
syuilo
bd8897bcc8 New translations ja-JP.yml (Polish) 2019-01-08 15:41:38 +09:00
syuilo
e3896122df New translations ja-JP.yml (English) 2019-01-07 21:13:22 +09:00
789 changed files with 27117 additions and 27228 deletions

View File

@@ -2,7 +2,7 @@
# __MISSKEY_BEARER_TOKEN=
# __MISSKEY_CAMPAIGN_ID=
# __MISSKEY_GITHUB_TOKEN=
# __MISSKEY_HEAD=acid-chicken:patch-autogen
# __MISSKEY_HEAD=syuilo:patch-autogen
# __MISSKEY_REPO=syuilo/misskey
# __MISSKEY_BRANCH=develop
test "$(curl -LSs -w '\n' -- "https://api.github.com/repos/$REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN" | jq -r -f check_pr.jq | grep $__MISSKEY_HEAD)" && exit 1

View File

@@ -2,6 +2,11 @@ version: 2.1
executors:
default:
working_directory: /tmp/workspace
docker:
- image: misskey/ci:latest
- image: circleci/mongo:latest
with-redis:
working_directory: /tmp/workspace
docker:
- image: misskey/ci:latest
@@ -11,41 +16,28 @@ executors:
working_directory: /tmp/workspace
docker:
- image: docker:latest
alpine:
working_directory: /tmp/workspace
docker:
- image: alpine:latest
jobs:
ok:
executor: alpine
steps:
- run:
name: OK
command: |
echo -e '\033[0;32mOK\033[0;39m'
build:
executor: default
steps:
- checkout
- run:
name: Ensure package-lock.json
name: Ensure yarn.lock
command: |
[ ! -e package-lock.json ] && echo '{}' > package-lock.json
touch yarn.lock
- restore_cache:
name: Restore npm package caches
keys:
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-
- npm-v1-arch-{{ arch }}-
- npm-v1-
- yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
- yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-
- yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-
- yarn-v1-arch-{{ arch }}-
- yarn-v1-
- run:
name: Install Dependencies
command: |
npm install
npm prune
yarn install
- run:
name: Configure
command: |
@@ -54,25 +46,26 @@ jobs:
- run:
name: Build
command: |
npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build)
ls -1ARl node_modules > ls
yarn build
touch yarn.lock
- save_cache:
name: Cache npm packages
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }}
key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
paths:
- node_modules
# - store_artifacts:
# path: built
- persist_to_workspace:
root: .
paths:
- .
test:
parameters:
without_redis:
executor:
type: string
default: ""
executor: default
default: "default"
without_redis:
type: boolean
default: false
executor: <<parameters.executor>>
steps:
- attach_workspace:
at: /tmp/workspace
@@ -88,19 +81,18 @@ jobs:
- run:
name: Test
command: |
npm run test || (npm rebuild && npm run test) || ((node-gyp configure && node-gyp build && npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build)) && npm run test)
ls -1ARl node_modules > ls
yarn test
touch yarn.lock
- save_cache:
name: Cache npm packages
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }}
key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
paths:
- node_modules
docker:
parameters:
with_deploy:
type: string
default: ""
type: boolean
default: false
executor: docker
steps:
- checkout
@@ -127,42 +119,76 @@ jobs:
workflows:
version: 2
build-and-test:
nodejs:
jobs:
- ok:
- hold:
name: manual-build-trigger
type: approval
filters:
branches:
only:
- l10n_develop
- imgbot
ignore: master
- build:
name: manual-build
requires:
- manual-build-trigger
filters:
branches:
ignore:
- l10n_develop
- imgbot
- test:
requires:
- build
filters:
branches:
ignore:
# - master
- l10n_develop
- imgbot
- test:
without_redis: "true"
requires:
- build
ignore: master
- build:
name: auto-build
filters:
branches:
only: master
# - docker:
# filters:
# branches:
# ignore: master
- test:
name: manual-test-with-redis
executor: with-redis
requires:
- manual-build
filters:
branches:
ignore: master
- test:
name: auto-test-without-redis
executor: with-redis
requires:
- auto-build
filters:
branches:
only: master
- test:
name: manual-test-with-redis
without_redis: true
requires:
- manual-build
filters:
branches:
ignore: master
- test:
name: auto-test-without-redis
without_redis: true
requires:
- auto-build
filters:
branches:
only: master
docker:
jobs:
- hold:
name: manual-build-trigger
type: approval
filters:
branches:
ignore: master
- docker:
with_deploy: "true"
name: manual-build
requires:
- manual-build-trigger
filters:
branches:
ignore: master
- docker:
name: auto-build
with_deploy: true
filters:
branches:
only: master

View File

@@ -6,6 +6,8 @@ mongodb:
db: misskey
user: syuilo
pass: ''
drive:
storage: 'db'
redis:
host: localhost
port: 6379

View File

@@ -6,6 +6,8 @@ mongodb:
db: test-misskey
user: admin
pass: ''
drive:
storage: 'db'
# __REDIS__
redis:
host: localhost

View File

@@ -108,5 +108,8 @@ autoAdmin: true
# port: 9200
# pass: null
# Whether disable HSTS
#disableHsts: true
# Clustering
#clusterLimit: 1

View File

@@ -15,6 +15,9 @@
"vue/attributes-order": false,
"vue/require-prop-types": false,
"vue/require-default-prop": false,
"vue/html-closing-bracket-spacing": false,
"vue/singleline-html-element-content-newline": false,
"vue/no-v-html": false,
"no-console": 0,
"no-unused-vars": 0,
"no-empty": 0

39
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,39 @@
# PATH OWNERS
/.autogen/ @acid-chicken
/.circleci/ @syuilo @acid-chicken
/.config/ @syuilo @AyaMorisawa @mei23 @acid-chicken
# /.config/mongo_initdb_example.js @khws4v1
/.github/ @syuilo @AyaMorisawa @acid-chicken
/.vscode/ @acid-chicken
/assets/ @syuilo # @tamaina
/cli/ @syuilo
/docs/ @syuilo
/docs/*.en.md @AyaMorisawa # @skid9000
# /docs/*.fr.md @BoFFire
# /docs/docker.*.md @khws4v1
/locales/ @syuilo
/src/ @syuilo @AyaMorisawa @mei23 @acid-chicken
# /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

View File

@@ -1,22 +1,30 @@
---
name: Bug Report
name: 🐛 Bug Report
about: Create a report to help us improve
title: ''
labels: ⚠bug?
assignees: ''
---
# Summary
## Summary
<!-- Tell us what the bug is -->
# Expected Behavior
## Expected Behavior
<!--- Tell us what should happen -->
# Actual Behavior
## Actual Behavior
<!--- Tell us what happens instead of the expected behavior -->
# Steps to Reproduce
## Steps to Reproduce
1.
2.
3.
# Environment
## Environment
<!-- Tell us where on the platform it happens -->
<!-- e.g. desktop or mobile version, your browser, your OS -->

View File

@@ -0,0 +1,12 @@
---
name: ✨ Feature Request
about: Suggest an idea for this project
title: ''
labels: ✨Feature
assignees: ''
---
## Summary
<!-- Tell us what the suggestion is -->

View File

@@ -1,11 +0,0 @@
---
name: Feature Request
about: Suggest an idea for this project
---
# Summary
<!-- Tell us what the suggestion is -->
# Environment
<!-- Tell us where on the platform it related -->
<!-- e.g. desktop or mobile version, your browser, your OS -->

View File

@@ -1,4 +1,4 @@
# Summary
## Summary
<!--
-

1
.gitignore vendored
View File

@@ -18,3 +18,4 @@ api-docs.json
/elasticsearch
*.code-workspace
yarn.lock
.DS_Store

1
.node-version Normal file
View File

@@ -0,0 +1 @@
v11.7.0

View File

@@ -1,6 +1,383 @@
ChangeLog
=========
If you encounter any problems with updating, please try the following:
1. `npm run clean` or `npm run cleanall`
2. Retry update (Don't forget `npm i`)
10.93.0
----------
* フォローリストをインポートできるように
* embedプレイヤーを閉じれるように
* リストをインポートしたときにプロキシアカウントがフォローするように修正
* Web Share Targetの動作を修正
* おすすめアンケートのチョイスを修正
* デザインの調整
10.92.4
----------
* リストのエクスポートをできるように
* ジョブキューウィジェットを追加
* URLプレビューのサムネイルが表示されないことがある問題を修正
10.92.3
----------
* 管理画面の各種ジョブ数がおかしい問題を修正
* ジョブキューの動作を調整
10.92.2
----------
* 管理画面で各種ジョブ数を一覧できるように
* ジョブキューの動作を修正
* notes/children が遅い問題を修正
10.92.1
----------
* アンケートの結果をリモートと同期するように
* ジョブキューを有効に
* 投稿の返信一覧に引用Renoteも含めるように
* robots.txt追加
* デザインの調整
10.92.0
----------
* Mastodonのアンケートに対応
* 複数回答できるアンケートを作成できるように
* アンケートに期限を設定できるように
* 絵文字ピッカーを改良
* ハッシュタグの判定を改善
* デッキのタグTLで別のタグをクリックしてもTLが変わらない問題を修正
* ユーザーサジェストで表示名が変わらない問題を修正
* UIのバグ修正
* デザインの調整
* など
10.91.2
----------
* 10.91.1 で追加した依存関係にXSS脆弱性があったので他のパッケージに差し替え
* 初期アクセスでテーマが正しく設定されない問題を修正
10.91.1
----------
* ログビューを強化
* テーマの切り替えをなめらかに
* SVGの判定を修正
10.91.0
----------
* ログを管理画面で見れるように
* 文字サイズを設定できるように
* 返信が表示されない問題を修正
* ユーザーページでユーザーを切り替えても前の人の情報が残る問題を修正
* デザインの調整
10.90.4
----------
* url-previewでembedプレイヤー展開をオプトインにするように
* デザインの調整
* ユーザビリティの強化
10.90.3
----------
* モバイルのデッキで投稿フォームウィジェットが設置できなかった問題を修正
* ドキュメントの強化
* デザインの調整
* ユーザビリティの強化
10.90.2
----------
* アカウントが削除できない問題を修正
* ドキュメントの強化
* デザインの調整
10.90.1
----------
* アカウントを作成したときに自動でホームに遷移しない問題を修正
* ユーザビリティの強化
10.90.0
----------
* モバイル版でもデッキを使えるように
* 公開範囲がホームの投稿はハイライトに載せないように
* ドキュメントの強化
* ユーザーをリストに追加できない問題を修正
* UIの修正
10.89.1
----------
* リアクション数を表示するように
* モバイル版でドライブのフォルダを削除できるように
* ドキュメントの強化
* プロフィールが更新できない場合がある問題を修正
* UIの修正
10.89.0
----------
* APIのエラーの形式を統一
* APIドキュメント刷新
* /api/v1/instance/peers 復活
* 「返信が遷移後も残り続ける問題を修正」([9beddc9](https://github.com/syuilo/misskey/commit/9beddc941a716f1322ae0b7d71d159edd642a399)) によって遷移前に返信が表示されなくなった問題を修正
* デッキモードにてユーザーのプロフィールを連続で見たとき、アクティビティや画像が前のユーザーのもののまま表示される問題を修正
10.88.0
----------
* アカウントの削除を試験的に実装
* デッキでメディア投稿のみ表示するオプションが機能していない問題を修正
* デッキでユーザーを表示したときにタイムラインが残存する問題を修正
* モバイルのユーザーページで、ユーザーAのタイムラインから他のユーザーBを選択してユーザーBのタイムラインに移動したとき、ユーザーAのタイムラインが残る問題を修正
* ハイライトでミュートしているユーザーの投稿が含まれる問題を修正
* 「みつける」でミュートしているユーザーが含まれる問題を修正
* デザインの調整
10.87.5
----------
* モバイル版でも連携サービスを表示するように
* webfingerのacceptが反映されない問題を修正
* 返信が遷移後も残り続ける問題を修正
* デザインの調整
10.87.4
----------
* フォローリクエストを許可するときにエラーになる問題を修正
* デザインの調整
10.87.3
----------
* 開発モードでビルドしてもスクリプトが404になる問題を修正
* 拡張子判別だとアイコンやバナー設定で対応していないと表示される問題を修正
* フォローリクエスト数がおかしい場合の応急処置APIを追加
* デザインの調整
10.87.2
----------
* みつけるの人気のタグを第2ソートで連合含めたユーザー数にしたりユーザーのタグ以外は除外するように
* デザインの調整
10.87.1
----------
* ハッシュタグ検索で大文字小文字が区別されてしまう問題を修正
10.87.0
----------
* ハッシュタグでユーザー検索できるように
* Exploreページに新規ユーザー一覧を追加
* デッキ使用中にホーム扱いで開かれた時にタイムラインボタン等がない問題を修正
* デッキ使用中に / 以外でリロードした際にホームモードになる問題を修正
10.86.2
----------
* 別タブでルートより下を開いたときにはデッキにしないように
* 横のナビゲーションバーの改善
* MIDIファイルがオーディオ扱いになる問題を修正
* ミュートワードで正規表現を使えるように
* デッキで無効になったタイムラインに警告を表示するように
* デザインの調整
* その他細かな修正
10.86.1
----------
* ナビゲーションバーの「ホーム」を「タイムライン」に改称
* モバイル版でユーザーページが二重に描画される問題を修正
* ユーザー一覧の「もっと読み込む」の動作がおかしい問題を修正
* デザインの調整
10.86.0
----------
* Exploreページを実装
* UIを改良
* その他細かな修正
10.85.2
----------
* デッキから フォロー/フォロワー ページに行けるように
* ナビゲーションが発生したときに最上部までスクロールように
* 検索結果でページ遷移が発生する問題を修正
* デザインの調整
10.85.1
----------
* ローカルのみ投稿をログイン画面のタイムラインに表示しないように
* ナビゲーションバーを横にしてるとデッキに行けない問題を修正
10.85.0
----------
* デスクトップ版のUIを改良
* 投稿ハイライトページを実装
* 無効化されているタイムラインのフォールバック
* 既にフォローされている場合はフォローリクエストを生成しないように
* その他細かな修正
10.84.2
----------
* GIF画像にGIFバッジを表示
* よく話すユーザーからサスペンドされたユーザーを隠すなど
* nodeinfoが重い問題を修正
* ハッシュタグクラウド取得が重い問題を軽減
10.84.1
----------
* deckにフォローされていますマークを追加
* URLプレビューのサムネイルの調整
* 管理画面でサイレンスされているユーザーを一覧できるように
* ドキュメントにアクセスできない問題を修正
* ジョブキューを無効化
* 軽微なバグ修正
10.84.0
----------
* インスタンス管理の強化
* パフォーマンスの問題の修正
* バグ修正
10.83.0
----------
* 特定のインスタンスをブロックをできるように
* 特定のインスタンスからのフォローを全解除できるように
* インスタンスごとのチャートを追加
10.82.4
----------
* 10.82.3でオブジェクトストレージの設定をしていると起動しなくなるバグを修正
10.82.3
----------
* フォロー/ミュート/ブロックデータをエクスポート可能に
* バグ修正
* デザインの調整
* ジョブキューの動作を修正
10.82.2
----------
* ジョブキューの動作を修正
10.82.1
----------
* クラスタリング環境でのジョブキューの動作を修正
* その他の軽微な改善
10.82.0
----------
* 自分の投稿情報をエクスポートできるように
* アニメーションする画像を再生しないで表示するオプションを実装
* 個別に投稿のウォッチ/ウォッチ解除をできるように
10.81.0
----------
* 動画のサムネイルを作成するように
* リモートの外部サービス認証情報を表示するように
* public の Renote/Reply/Quote先 が public以外 だったら、public => homeに
* ユーザーページから管理者/モデレーターがアカウントのサイレンス/凍結をできるように
* 凍結されたユーザーをタイムライン等に表示しないように
* おすすめのアンケートでミュートユーザーのものは表示しないように
* おすすめのアンケートで凍結済みユーザーのものは表示しないように
* 画像でないファイルのサムネイルとしてオリジナルファイルを返してしまうのを修正
* URLプレビューのサムネイルが表示されない場合がある問題を修正
* ダークモードで読みにくいボタンがあるのを修正
10.80.0
----------
* サイレンス機能の追加
* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に
* MFMの解析を強化
* Misskey以外のインスタンスからMisskeyの投稿を見たときに改行が多い問題を修正
* Misskey以外のインスタンスからMisskeyの投稿を見たときにメンションのURLが展開されるのを修正
10.79.1
----------
* jump構文の追加
* MFMで左回転、往復回転を行えるように
* MFMに関する制限を若干緩和
* シンタックスハイライトに関するバグ修正
10.79.0
----------
* 返信するときにCWを維持するかどうか設定できるように
* 外部サービス認証情報の配信
* 管理画面のモデレーションのUIを強化
* 管理画面からリモートユーザーの情報を更新できるように
* 回転構文の追加
* 左右反転構文の追加
* 複数行の数式構文を追加
* シンタックスハイライトの強化
* 引用投稿を削除したとき単なるRenoteとしてタイムラインに残る問題を修正
* イタリック構文の判定の改善
* タイトル構文の判定の改善
* テーマが反映されないことがある問題を修正
* ホームにフォロワー限定投稿が表示されない問題を修正
* 返信一覧を取得すると非公開投稿も取得されてしまう問題を修正
* メンション一覧を取得すると非公開投稿も取得されてしまう問題を修正
* 通知に非公開投稿が表示される問題を修正
* ダイレクトで投稿すると100の確率で表示が二重になる問題を修正
* ウィジットの投稿フォームで投稿するとデフォルトの公開範囲が適用されない問題を修正
10.78.5
----------
* アンケートの選択肢にカスタム絵文字を使えるように
* 投稿の返信を取得したときにミュートが適用されていない問題を修正
* ユーザビリティの強化
10.78.4
----------
* フォロワー限定投稿がユーザータイムラインに含まれていない問題を修正
* データベースのインデックス設定を修正
* UIの修正
* など
10.78.3
----------
* 投票未対応インスタンス向けメッセージをわかりやすく
* リバーシが404になる問題を修正
* デザインの修正
10.78.2
----------
* リバーシが404になる問題を修正
* ストリームで流れてくる投稿とAPIでタイムラインを取得したときとの不一致を修正
10.78.1
----------
* 「関係のない返信がタイムラインに流れる問題を修正」を取り消し
* デザインの修正
10.78.0
----------
* 他のインスタンスからアンケートに投票できるように
* スパムアカウントを報告できるように
* アクティブユーザー数のチャートを追加
* 管理画面でドライブのファイルをURLやIDから操作できるように
* リアクション解除を他のサーバーと送受信するように
* ログイン時に二段階認証が分かりにくいのを改善
* 投稿のツールチップを出すのは時間の上だけに変更
* `*``_`でもイタリック構文を使えるように(アルファベットのみ)
* `__`でも太字構文を使えるように(アルファベットのみ)
* ハッシュタグ判定の強化
* ストーク機能の廃止
* ソーシャルタイムラインにフォロワー限定投稿が含まれていない問題を修正
* リストタイムラインでフォロワー限定投稿が含まれていない問題を修正
* リストタイムラインに自分宛てでないダイレクト投稿が非公開扱いで表示される問題を修正
* 自分宛てのダイレクト投稿がホーム/ソーシャルタイムラインにストリームで流れない問題を修正
* ストリームで投稿が流れてきたとき、返信先が「この投稿は非公開です」となる問題を修正
* 関係のない返信がタイムラインに流れる問題を修正
* 常にメディアを閲覧注意として投稿するオプションが機能していなかった問題を修正
* リモートユーザーのアイコンが消えることがある問題を修正
* ドライブのファイルメニューからアバターやバナーに設定することができない問題を修正
* クライアントのAPIリクエストをストリーム経由で行うオプションを廃止
* 一部箇所でカスタム絵文字が適用されていないのを修正
10.77.0
----------
* ローカルタイムライン無効オプションをグローバルタイムライン無効オプションと分離
* モデレータはLTL無効時でもUIからLTLを消さない
* インスタンス情報ページに各種タイムラインの有効/無効を表示
10.76.0
----------
* disableLocalTimeline機能を強化
* インスタンス情報ページの強化
* ハッシュタグ判定の強化
* SVGサムネイルを表示するように
* CWの引き継ぎ機能を無効化
10.75.0
----------
* ダイレクトを非公開のように使えるように

View File

@@ -38,3 +38,37 @@ Stands for _**M**iss**k**ey_.
### SW
Stands for _**S**ervice**W**orker_.
### Nyaize
Convert な(na) to にゃ(nya)
#### Denyaize
Revert Nyaize
## Code style
### Don't use `export default`
Bad:
``` ts
export default function(foo: string): string {
```
Good:
``` ts
export function something(foo: string): string {
```
## Directory structure
```
src ... Source code
@types ... Type definitions
prelude ... Independence utils for coding JavaScript without side effects
misc ... Independence utils for Misskey without side effects
service ... Common functions with side effects
queue ... Job queues and Jobs
server ... Web Server
client ... Client
mfm ... MFM
test ... Test code
```

View File

@@ -8,7 +8,6 @@ WORKDIR /misskey
FROM base AS builder
RUN unlink /usr/bin/free
RUN apk add --no-cache \
autoconf \
automake \
@@ -20,22 +19,20 @@ RUN apk add --no-cache \
make \
nasm \
pkgconfig \
procps \
python \
zlib-dev
RUN npm i -g node-gyp
COPY ./package.json ./
RUN npm i
RUN npm i -g yarn
COPY . ./
RUN node-gyp configure \
&& node-gyp build \
&& npm run build
RUN yarn install
RUN yarn build
FROM base AS runner
RUN apk add --no-cache tini
RUN apk add --no-cache \
ffmpeg \
tini
RUN npm i -g web-push
ENTRYPOINT ["/sbin/tini", "--"]
COPY --from=builder /misskey/node_modules ./node_modules

View File

@@ -1,19 +1,19 @@
<img src="https://github.com/syuilo/misskey/blob/develop/assets/ai-orig.png?raw=true" align="right" height="320px"/>
<a href="https://ai.misskey.xyz/"><img src="https://github.com/syuilo/misskey/blob/develop/assets/ai-orig.png?raw=true" align="right" height="320px"/></a>
[![Misskey](/assets/title.png)](https://misskey.xyz/)
================================================================
[![CircleCI](https://img.shields.io/circleci/project/github/syuilo/misskey.svg?style=for-the-badge)](https://circleci.com/gh/syuilo/misskey)
[![Dependencies](https://img.shields.io/david/syuilo/misskey.svg?style=for-the-badge)](https://david-dm.org/syuilo/misskey)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](http://makeapullrequest.com)
[![CircleCI](https://img.shields.io/circleci/project/github/syuilo/misskey.svg?style=for-the-badge&logo=circleci)](https://circleci.com/gh/syuilo/misskey)
[![Dependencies](https://img.shields.io/david/syuilo/misskey.svg?style=for-the-badge&logo=npm)](https://david-dm.org/syuilo/misskey)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge&logo=github)](http://makeapullrequest.com)
**Sophisticated microblogging platform, evolving forever.**
**A forever evolving, sophisticated microblogging platform.**
<p align="justify">
<a href="https://misskey.xyz">Misskey</a> is a decentralized microblogging platform born on Earth.
Since it exists within the Fediverse (a universe where various social media platforms are organized),
it is mutually linked with other social media platforms.
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <a href="https://joinmisskey.github.io/">Find instance!</a>
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <a href="https://joinmisskey.github.io/">Find an instance!</a>
</p>
<a href="https://www.patreon.com/syuilo"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160" /></a>
@@ -27,7 +27,7 @@ Why don't you take a short break from the hustle and bustle of the city, and div
<h3 align="left">Posting</h3>
<p align="justify">
Just post your idea, hot topics and anything you want to share. You may decorate your words, attach your favorite pictures or movies, and create a poll - those are all supported in Misskey!
Post your ideas, discussion topics, fun moments, or anything else you want to share! Misskey supports text, emoji, pictures, videos, and polls!
</p>
---
@@ -36,7 +36,7 @@ Just post your idea, hot topics and anything you want to share. You may decorate
<h3 align="right">Reactions</h3>
<p align="justify">
The simplest way to tell your emotions to the posts. You can choose the best reaction from various reactions. Reactions on Misskey has much more expressive than other social media which only allows pushing “likes”.
Reactions are the simplest way to respond to others' posts. Simply pick a reaction emote from the list! Reactions on Misskey are much more expressive than other social media services which only allow “liking”.
</p>
---
@@ -45,7 +45,7 @@ The simplest way to tell your emotions to the posts. You can choose the best rea
<h3 align="left">Interface</h3>
<p align="justify">
Highly customizable UI for your taste. We understand no UI fits for everyone. Make your graceful home by editing, adjusting layouts of timeline, and placing widgets.
Customize the UI to your own tastes! No UI will work for everyone, so Misskey is completely customizable. Make Misskey *yours* by editing the style, adjusting timeline layouts, and placing widgets.
</p>
---
@@ -54,76 +54,114 @@ Highly customizable UI for your taste. We understand no UI fits for everyone. Ma
<h3 align="right">Misskey Drive</h3>
<p align="justify">
Organized uploaded files. Wanna post a picture you have already uploaded? Wish to create a folder for your files? Misskey Drive is the best solution for you.
Organize and store your files! Want to post a picture you have already uploaded? Wish you could organize your files into folders? Misskey Drive is a solution!
</p>
---
and more! Now it's time to experience the world with your own eyes at [misskey.xyz](https://misskey.xyz) or [other instances](https://joinmisskey.github.io/).
...and more! Experience Misskey with your own eyes at [misskey.xyz](https://misskey.xyz) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
Screen shots
----------------------------------------------------------------
### Profile page
<img src="/assets/ss/user.jpg" width="500px"/>
### Explore users
<img src="/assets/ss/explore.jpg" width="500px"/>
:new: What's new
----------------------------------------------------------------
Please see the [Release notes](./CHANGELOG.md).
:package: Create your own instance
----------------------------------------------------------------
Please see [Setup and installation guide](./docs/setup.en.md).
Please see the [Setup and Installation Guide](./docs/setup.en.md).
:wrench: Contribution
----------------------------------------------------------------
Please see [Contribution guide](./CONTRIBUTING.md).
Please see the [Contribution Guide](./CONTRIBUTING.md).
:heart: Backers & Sponsors
### Collaborators
<table>
<tr>
<td><img src="https://avatars3.githubusercontent.com/u/4439005?s=460&v=4" alt="syuilo" width="100"></td>
<td><img src="https://avatars0.githubusercontent.com/u/10798641?s=460&v=4" alt="AyaMorisawa" width="100"></td>
<td><img src="https://avatars1.githubusercontent.com/u/30769358?s=460&v=4" alt="mei23" width="100"></td>
<td><img src="https://avatars2.githubusercontent.com/u/20679825?s=460&v=4" alt="acid-chicken" width="100"></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/syuilo">@syuilo</a></td>
<td align="center"><a href="https://github.com/AyaMorisawa">@AyaMorisawa</a></td>
<td align="center"><a href="https://github.com/mei23">@mei23</a></td>
<td align="center"><a href="https://github.com/acid-chicken">@acid-chicken</a></td>
</tr>
</table>
:heart: Backers
----------------------------------------------------------------
<!-- PATREON_START -->
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/1?token-time=2145916800&token-hash=WeuDzzz24cRXJogyIkU-mxARqkdyms-rcZKbO-GpGjw%3D" alt="weep" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=prtYqPOiSHBulhM7NU0VzMaWx39-9ntdq25b6kafDNA%3D" alt="negao" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/2?token-time=2145916800&token-hash=djaJ9cwy9uwTiF9UFtxYQdS8Nw7BhyfaREzZUbErN-0%3D" alt="Melilot" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/12059069" alt="naga_rus" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/4?token-time=2145916800&token-hash=vZdDTTF-ahiKBjjgppS2ev4rkD8H7TTKkXXoxsucs6Y%3D" alt="Melilot" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=LtV2lRi3L2jOWMLwccr9qWYfPrFlzIo2jYZHKzHEb6k%3D" alt="Xeltica" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=Ch3iF81ZGP0LMo894Y9ajpLisgtE91SnxtZE7fxsgrM%3D" alt="べすれい" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=1FlxS9MEgmNGH_RHUVHbO5hIXB5I1z0lvA33CTvYvjA%3D" alt="gutfuckllc" width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
<td><a href="https://www.patreon.com/negao">negao</a></td>
<td><a href="https://www.patreon.com/user?u=12059069">naga_rus</a></td>
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
<td><a href="https://www.patreon.com/Xeltica">Xeltica</a></td>
<td><a href="https://www.patreon.com/user?u=3384329">べすれい</a></td>
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1?token-time=2145916800&token-hash=0xgcpqvFDqRcV_YIEhcPNVH7gs9sLg_BBnTJXCkN4ao%3D" alt="mydarkstar" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/12718187" alt="Peter G." width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=2PsbFNw0tnubZzgSXD01R6hIgncfiElG7H7HX2Y3dyo%3D" alt="nemu" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/17866454" alt="sikyosyounin" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=9JtETp0X8gI280Ne1E8bxn6j4Lw5o2k4mJkICx97V_k%3D" alt="YUKIMOCHI" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/2?token-time=2145916800&token-hash=zrInDotuEIFslKphuSiCqr3M-r-rveTXjVKWr-VK6M0%3D" alt="Acid Chicken" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=5T8XcaAf9Zyzfg3QubR06s_kJZkArVEM2dwObrBVAU4%3D" alt="Hiratake" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=ubVARikVOg3v7NW6LDhtG-ClE1LTU3I2TJ3js2-5xDs%3D" alt="Naoki Hirayama" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/17463605" alt="Sampot" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17880724/311738c8a48f4a6b9443c2445a75adde/1?token-time=2145916800&token-hash=95p8VdGX45E8BitZR_eOcDlqCjumjzNLBPQJrJdeCpI%3D" alt="takimura" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17195955/be45e5e14c3e48b2bee0456c84e19df4/4?token-time=2145916800&token-hash=SbdZeN5SmsuT9stD6v0jN1z0hftg0FmRiCTxysU0Ihw%3D" alt="Damillora" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/16900731/935a10339daa4ede8e555903a0707060/1?token-time=2145916800&token-hash=3CrpqH-XtKs_NoIlSsTyVs8wCzP1WFCsG2xwps1IJq0%3D" alt="Atsuko Tominaga" width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td>
<td><a href="https://www.patreon.com/user?u=12718187">Peter G.</a></td>
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
<td><a href="https://www.patreon.com/user?u=17866454">sikyosyounin</a></td>
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
<td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td>
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
<td><a href="https://www.patreon.com/spinlock">Naoki Hirayama</a></td>
<td><a href="https://www.patreon.com/user?u=17463605">Sampot</a></td>
<td><a href="https://www.patreon.com/takimura">takimura</a></td>
<td><a href="https://www.patreon.com/damillora">Damillora</a></td>
<td><a href="https://www.patreon.com/user?u=16900731">Atsuko Tominaga</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/3?token-time=2145916800&token-hash=-iJszBqgYBhsM5qMdA1knf9wvprhEfESzKfR2oh7mIA%3D" alt="natalie" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=5T8XcaAf9Zyzfg3QubR06s_kJZkArVEM2dwObrBVAU4%3D" alt="Hiratake" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18072312/98e894d960314fa7bc236a72a39488fe/1?token-time=2145916800&token-hash=D6QK3fPyqiYKJfOzc-QqaSSairUrWdjld-ewp2waj6s%3D" alt="Hekovic" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1?token-time=2145916800&token-hash=Ksk_2l3gjPDbnzMUOCSW1E-hdPJsNs2tSR4_RAakRK8%3D" alt="dansup" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1?token-time=2145916800&token-hash=CXe9AqlZy9AsYfiWd3OBYVOzvODoN47Litz0Tu4BFpU%3D" alt="Gargron" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1?token-time=2145916800&token-hash=xhR1n6NAAyEb-IUXLD6_dshkFa3mefU5ZZuk1L8qKTs%3D" alt="Nokotaro Takeda" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1?token-time=2145916800&token-hash=uR-48MQ0A4j0irQSrCAQZJ-sJUSs_Fkihlg3-l59b7c%3D" alt="Takashi Shibuya" width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
<td><a href="https://www.patreon.com/hekovic">Hekovic</a></td>
<td><a href="https://www.patreon.com/dansup">dansup</a></td>
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
</tr></table>
**Last updated:** Sun, 06 Jan 2019 21:53:06 UTC
**Last updated:** Tue, 12 Mar 2019 00:50:06 UTC
<!-- PATREON_END -->
:four_leaf_clover: Copyright
----------------------------------------------------------------
> Copyright (c) 2014-2019 syuilo
Misskey is an open-source software licensed under the [GNU AGPLv3](LICENSE).
Misskey is open-source software licensed under the [GNU AGPLv3](LICENSE).
[![][agpl-3.0-badge]][AGPL-3.0]

BIN
assets/api-doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

4
assets/robots.txt Normal file
View File

@@ -0,0 +1,4 @@
user-agent: *
allow: /
# todo: sitemap

BIN
assets/ss/explore.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

BIN
assets/ss/user.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

@@ -11,14 +11,14 @@ Ce guide explique comment installer et configurer Misskey avec Docker.
*1.* Télécharger Misskey
----------------------------------------------------------------
1. `git clone -b master git://github.com/syuilo/misskey.git` Clone le dépôt de Misskey sur la branche master.
2. `cd misskey` Permet de se déplacer dans le dossier du dépôt.
2. `cd misskey` Naviguez dans le dossier du dépôt.
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest).
*2.* Configuration de Misskey
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copie le fichier `.config/example.yml` et le renommer en `default.yml`.
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. Editer `default.yml` et `mongo_initdb.js`.
3. Editez `default.yml` et `mongo_initdb.js`.
*3.* Configurer Docker
----------------------------------------------------------------
@@ -64,4 +64,4 @@ Utilisez la commande `docker-compose up -d`. GLHF!
----------------------------------------------------------------
Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !
Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !

View File

@@ -29,15 +29,15 @@ Please install and setup these softwares:
* [Redis](https://redis.io/)
* Redis is optional, but we strongly recommended to install it
* [Elasticsearch](https://www.elastic.co/) - required to enable the search feature
* [FFmpeg](https://www.ffmpeg.org/)
*3.* Setup MongoDB
----------------------------------------------------------------
As root:
1. `mongo` Go to the mongo shell
2. `use misskey` Use the misskey database
3. `db.users.save( {dummy:"dummy"} )` Write dummy data to initialize the db.
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Create the misskey user.
5. `exit` You're done !
3. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Create the misskey user.
4. `exit` You're done!
*4.* Install Misskey
----------------------------------------------------------------
@@ -57,7 +57,7 @@ As root:
Build misskey with the following:
`npm run build`
`NODE_ENV=production npm run build`
If you're on Debian, you will need to install the `build-essential`, `python` package.
@@ -66,14 +66,14 @@ If you're still encountering errors about some modules, use node-gyp:
1. `npm install -g node-gyp`
2. `node-gyp configure`
3. `node-gyp build`
4. `npm run build`
4. `NODE_ENV=production npm run build`
*7.* That is it.
----------------------------------------------------------------
Well done! Now, you have an environment that run to Misskey.
### Launch normally
Just `npm start`. GLHF!
Just `NODE_ENV=production npm start`. GLHF!
### Launch with systemd
@@ -89,6 +89,7 @@ Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
@@ -108,8 +109,10 @@ You can check if the service is running with `systemctl status misskey`.
1. `git fetch`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
3. `npm install`
4. `npm run build`
4. `NODE_ENV=production npm run build`
5. Check [ChangeLog](../CHANGELOG.md) for migration information
6. Restart your Misskey process to apply changes
7. Enjoy
----------------------------------------------------------------

View File

@@ -10,8 +10,8 @@ Ce guide décrit les étapes à suivre afin d'installer et de configurer une ins
*1.* Création de l'utilisateur Misskey
----------------------------------------------------------------
Lancer misskey en tant qu'utilisateur est une mauvaise idée, nous avons besoin de créer un utilisateur dédié.
Sur Debian, à titre d'exemple :
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
@@ -29,27 +29,27 @@ Installez les paquets suivants :
* [Redis](https://redis.io/)
* Redis est optionnel mais nous vous recommandons vivement de l'installer
* [Elasticsearch](https://www.elastic.co/) - requis pour pouvoir activer la fonctionnalité de recherche
* [FFmpeg](https://www.ffmpeg.org/)
*3.* Paramètrage de MongoDB
----------------------------------------------------------------
En mode root :
1. `mongo` Accédez au shell de mango
En root :
1. `mongo` Ouvrez le shell mongo
2. `use misskey` Utilisez la base de données misskey
3. `db.users.save( {dummy:"dummy"} )` Write dummy data to initialize the db.
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Créez l'utilisateur misskey.
5. `exit` Vous avez terminé !
3. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Créez l'utilisateur misskey.
4. `exit` Vous avez terminé !
*4.* Installation de Misskey
----------------------------------------------------------------
1. `su - misskey` Basculez vers l'utilisateur misskey.
2. `git clone -b master git://github.com/syuilo/misskey.git` Clonez la branche master du dépôt misskey.
3. `cd misskey` Accédez au dossier misskey.
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Télécharge la [version la plus récente](https://github.com/syuilo/misskey/releases/latest)
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout sur le tag de la [version la plus récente](https://github.com/syuilo/misskey/releases/latest)
5. `npm install` Installez les dépendances de misskey.
*5.* Création du fichier de configuration
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le `default.yml`.
1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le`default.yml`.
2. Editez le fichier `default.yml`
*6.* Construction de Misskey
@@ -57,27 +57,27 @@ En mode root :
Construisez Misskey comme ceci :
`npm run build`
`NODE_ENV=production npm run build`
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential`, `python`.
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. `npm install -g node-gyp`
2. `node-gyp configure`
3. `node-gyp build`
4. `npm run build`
4. `NODE_ENV=production npm run build`
*7.* C'est tout.
----------------------------------------------------------------
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
### Lancement conventionnel
Lancez tout simplement `npm start`. Bonne chance et amusez-vous bien !
Lancez tout simplement `NODE_ENV=production npm start`. Bonne chance et amusez-vous bien !
### Démarrage avec systemd
1. Créez une service systemd sur : `/etc/systemd/system/misskey.service`
1. Créez un service systemd sur : `/etc/systemd/system/misskey.service`
2. Editez-le puis copiez et coller ceci dans le fichier :
```
@@ -89,6 +89,7 @@ Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
@@ -108,7 +109,7 @@ Vous pouvez vérifier si le service a démarré en utilisant la commande `system
1. `git fetch`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
3. `npm install`
4. `npm run build`
4. `NODE_ENV=production npm run build`
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
----------------------------------------------------------------

View File

@@ -32,18 +32,19 @@ adduser --disabled-password --disabled-login misskey
* 具体的には、Redisをインストールしないと、次の事が出来なくなります:
* Misskeyプロセスを複数起動しての負荷分散
* レートリミット
* ジョブキュー
* Twitter連携
* [Elasticsearch](https://www.elastic.co/)
* 検索機能を有効にするためにはインストールが必要です。
* [FFmpeg](https://www.ffmpeg.org/)
*3.* MongoDBの設定
----------------------------------------------------------------
ルートで:
1. `mongo` mongoシェルを起動
2. `use misskey` misskeyデータベースを使用
3. `db.users.save( {dummy:"dummy"} )` ダミーデータを書き込みDBを初期化
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` misskeyユーザーを作成
5. `exit` mongoシェルを終了
3. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` misskeyユーザーを作成
4. `exit` mongoシェルを終了
*4.* Misskeyのインストール
----------------------------------------------------------------
@@ -63,7 +64,7 @@ adduser --disabled-password --disabled-login misskey
次のコマンドでMisskeyをビルドしてください:
`npm run build`
`NODE_ENV=production npm run build`
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
@@ -71,14 +72,14 @@ Debianをお使いであれば、`build-essential`パッケージをインスト
1. `npm install -g node-gyp`
2. `node-gyp configure`
3. `node-gyp build`
4. `npm run build`
4. `NODE_ENV=production npm run build`
*7.* 以上です!
----------------------------------------------------------------
お疲れ様でした。これでMisskeyを動かす準備は整いました。
### 通常起動
`npm start`するだけです。GLHF!
`NODE_ENV=production npm start`するだけです。GLHF!
### systemdを用いた起動
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
@@ -93,6 +94,7 @@ Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
@@ -113,9 +115,11 @@ CentOSで1024以下のポートを使用してMisskeyを使用する場合は`Ex
1. `git fetch`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
3. `npm install`
4. `npm run build`
4. `NODE_ENV=production npm run build`
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
なにか問題が発生した場合は、`npm run clean`または`npm run cleanall`すると直る場合があります。
----------------------------------------------------------------
なにかお困りのことがありましたらお気軽にご連絡ください。

View File

@@ -5,7 +5,6 @@
import * as gulp from 'gulp';
import * as gutil from 'gulp-util';
import * as ts from 'gulp-typescript';
const yaml = require('gulp-yaml');
const sourcemaps = require('gulp-sourcemaps');
import tslint from 'gulp-tslint';
const cssnano = require('gulp-cssnano');
@@ -32,14 +31,6 @@ if (isDebug) {
console.warn(chalk.yellow.bold(' built script will not be compressed.'));
}
gulp.task('build', [
'build:ts',
'build:copy',
'build:client',
'locales',
'doc'
]);
gulp.task('build:ts', () => {
const tsProject = ts.createProject('./tsconfig.json');
@@ -47,6 +38,7 @@ gulp.task('build:ts', () => {
.src()
.pipe(sourcemaps.init())
.pipe(tsProject())
.on('error', () => {})
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../built' }))
.pipe(gulp.dest('./built/'));
});
@@ -55,7 +47,7 @@ gulp.task('build:copy:views', () =>
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
);
gulp.task('build:copy', ['build:copy:views'], () =>
gulp.task('build:copy', gulp.parallel('build:copy:views', () =>
gulp.src([
'./build/Release/crypto_key.node',
'./src/const.json',
@@ -63,9 +55,7 @@ gulp.task('build:copy', ['build:copy:views'], () =>
'./src/**/assets/**/*',
'!./src/client/app/**/assets/**/*'
]).pipe(gulp.dest('./built/'))
);
gulp.task('test', ['mocha']);
));
gulp.task('lint', () =>
gulp.src('./src/**/*.ts')
@@ -92,22 +82,15 @@ gulp.task('mocha', () =>
} as any))
);
gulp.task('test', gulp.task('mocha'));
gulp.task('clean', cb =>
rimraf('./built', cb)
);
gulp.task('cleanall', ['clean'], cb =>
gulp.task('cleanall', gulp.parallel('clean', cb =>
rimraf('./node_modules', cb)
);
gulp.task('default', ['build']);
gulp.task('build:client', [
'build:ts',
'build:client:script',
'build:client:styles',
'copy:client'
]);
));
gulp.task('build:client:script', () => {
const client = require('./built/client/meta.json');
@@ -129,9 +112,7 @@ gulp.task('build:client:styles', () =>
.pipe(gulp.dest('./built/client/assets/'))
);
gulp.task('copy:client', [
'build:client:script'
], () =>
gulp.task('copy:client', () =>
gulp.src([
'./assets/**/*',
'./src/client/assets/**/*',
@@ -144,15 +125,24 @@ gulp.task('copy:client', [
.pipe(gulp.dest('./built/client/assets/'))
);
gulp.task('locales', () =>
gulp.src('./locales/*.yml')
.pipe(yaml({ schema: 'DEFAULT_SAFE_SCHEMA' }))
.pipe(gulp.dest('./built/client/assets/locales/'))
);
gulp.task('doc', () =>
gulp.src('./src/docs/**/*.styl')
.pipe(stylus())
.pipe((cssnano as any)())
.pipe(gulp.dest('./built/docs/assets/'))
);
gulp.task('build:client', gulp.parallel(
'build:client:script',
'build:client:styles',
'copy:client'
));
gulp.task('build', gulp.parallel(
'build:ts',
'build:copy',
'build:client',
'doc'
));
gulp.task('default', gulp.task('build'));

1
index.js Normal file
View File

@@ -0,0 +1 @@
require('./built');

File diff suppressed because it is too large Load Diff

1193
locales/cs-CZ.yml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,21 +1,20 @@
---
meta:
lang: "English"
divider: ""
common:
misskey: "A ⭐ of the fediverse"
about-title: "A ⭐ of the fediverse."
about: "Thank you for finding Misskey. Misskey is a <b>decentralized microblogging platform</b> born on Earth. Since it exists within the Fediverse (a universe where various social media platforms are organized), it is mutually linked with other social media platforms. Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet?"
intro:
title: "What is Misskey?"
about: "Misskey is an open-source <b>decentralized microblogging service</b>. Sophisticated fully customizable UI, varieties of reactions for posts, free file storage providing an integrated management system and other advanced functions are available. In addition, Misskey connects to a network system called the “Fediverse” enables us to communicate with users on other SNSs. For example, when you post something it will be sent not only to Misskey but also Mastodon and Pleroma. Just imagine that the planet is sending a radio transmission to other planet to communicate."
about: "Misskey is an open-source, <b>decentralized microblogging software</b>. It has a sophisticated, fully customizable user interface, a variety of ways for expressing a reaction to posts, free file storage providing an integrated management system, and other advanced features are available. In addition, Misskey connects to a network system called the “Fediverse”, which enables us to communicate with users on other SNSs. For example, when you post something, it will be sent not only to Misskey users, but also those on Mastodon and Pleroma. Just imagine that the planet is sending a radio transmission to another planet, in order to communicate."
features: "Features"
rich-contents: "Post"
rich-contents-desc: "Just post your idea, hot topics and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files including movies and create a poll - those are the things you can do on Misskey!"
rich-contents-desc: "Just post your idea, hot topics, and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files, including videos, or create a poll - those are some of the things you can do with Misskey!"
reaction: "Reactions"
reaction-desc: "Easiest way to tell your emotions. Misskey allows you to add various type of reactions to others post. The emotional experience on Misskey will never be on other SNSs which only able to push “likes”."
reaction-desc: "The easiest way to express your emotions. Misskey allows you to add various kinds of reactions to other's posts. The emotional experience on Misskey will never be on other SNSs, which are only able to push “likes”."
ui: "Interface"
ui-desc: "No UI fits for everyone. Therefore, Misskey has a highly customizable UI for your taste. Make your original home by editing, adjusting layouts of timeline and placing selectable widgets you can easily customize."
ui-desc: "No single UI can suit everyone. Therefore, Misskey has a highly customizable UI for your tastes. You can make your home original by editing the layout of your timeline, and moving around selectable widgets that you can easily adjust to make this place your own."
drive: "Drive"
drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online."
outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!"
@@ -25,8 +24,16 @@ common:
application-authorization: "Application authorizations"
close: "Close"
do-not-copy-paste: "Please do not enter or paste the code here. Account may be compromised."
load-more: "Load more"
enter-password: "Please enter the Password"
load-more: "Read more"
enter-password: "Enter your password"
2fa: "Two-factor authentication"
customize-home: "Customize home layout"
featured-notes: "Featured notes"
dark-mode: "Dark Mode"
signin: "Log In"
signup: "Sign up"
signout: "Logout"
reload-to-apply-the-setting: "You'll need to reload the page to reflect this setting. Do you want to reload it now?"
got-it: "Got it!"
customization-tips:
title: "Customization tips"
@@ -55,6 +62,16 @@ common:
trash: "Trash"
drive: "Drive"
messaging: "Talk"
home: "Home"
deck: "Deck"
timeline: "Timeline"
explore: "Explore"
following: "Following"
followers: "Followers"
favorites: "Favorites"
empty-timeline-info:
follow-users-to-make-your-timeline: "Following users will show their posts in your timeline."
explore: "Find users"
weekday-short:
sunday: "S"
monday: "M"
@@ -97,39 +114,132 @@ common:
a: "What are you doing?"
b: "What's happening?"
c: "Whats on your mind?"
d: "Would you post any words?"
d: "What do you want to say?"
e: "Write here"
f: "Waiting for your writing."
settings: "Settings"
_settings:
profile: "Profile"
notification: "Notification"
apps: "Apps"
tags: "Hashtag"
mute-and-block: "Mute / Block"
blocking: "Block"
security: "Security"
signin: "Login History"
password: "Password"
other: "Other"
appearance: "Appearance"
behavior: "Behavior"
fetch-on-scroll: "Endless loading on scroll"
fetch-on-scroll-desc: "When you scroll down the page, it automatically fetches additional content."
note-visibility: "Post visibility"
default-note-visibility: "Default visibility"
remember-note-visibility: "Remember post visibility"
web-search-engine: "Web search engine"
web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}"
keep-cw: "Preserve content warning"
keep-cw-desc: "When replying to a post, the same content warning is set by default to the reply, as has been set by the original post."
i-like-sushi: "I prefer sushi rather than pudding"
show-reversi-board-labels: "Show row and column labels in Reversi"
use-avatar-reversi-stones: "Use avatar as a stone in reversi"
disable-animated-mfm: "Disable animated texts in a post"
disable-showing-animated-images: "Do not play animated images"
suggest-recent-hashtags: "Show recent popular hashtags on the post form"
always-show-nsfw: "Always show NSFW contents"
always-mark-nsfw: "Always mark posts with media attachments as NSFW"
show-full-acct: "Do not omit the hostname from the username"
show-via: "Show via"
reduce-motion: "Reduce motion in UI"
this-setting-is-this-device-only: "Only for this device"
use-os-default-emojis: "Use the OS default Emojis"
line-width: "Line thickness"
line-width-thin: "Thin"
line-width-normal: "Regular"
line-width-thick: "Thick"
font-size: "Text size"
font-size-x-small: "Very small"
font-size-small: "Small"
font-size-medium: "Medium"
font-size-large: "Big"
font-size-x-large: "Very big"
deck-column-align: "Deck column alignment"
deck-column-align-center: "Center"
deck-column-align-left: "Left"
deck-column-align-flexible: "Flexible"
deck-column-width: "Deck column width"
deck-column-width-narrow: "Narrow"
deck-column-width-narrower: "Somewhat narrow"
deck-column-width-normal: "Regular"
deck-column-width-wider: "Somewhat wide"
deck-column-width-wide: "Wide"
use-shadow: "Use shadows in the UI"
rounded-corners: "Round the corners of the UI"
circle-icons: "Use circular icons"
contrasted-acct: "Add contrast to user account"
wallpaper: "Background image"
choose-wallpaper: "Choose a background"
delete-wallpaper: "Remove background"
post-form-on-timeline: "Display the posting form at the top of the timeline"
show-clock-on-header: "Show clock on the upper-right"
show-reply-target: "Show reply target"
timeline: "Timeline"
show-my-renotes: "Show my renotes in the timeline"
show-renoted-my-notes: "Show renotes of your own posts in the timeline"
show-local-renotes: "Show renotes of local posts on the timeline"
remain-deleted-note: "Continue to show deleted notes"
sound: "Sound"
enable-sounds: "Enable sounds"
enable-sounds-desc: "Play a sound when you receive a post/message. This setting is stored in the browser."
volume: "Volume"
test: "Test"
update: "Misskey Update"
version: "Current version:"
latest-version: "Latest version:"
update-checking: "Checking for updates"
do-update: "Check for updates"
update-settings: "Advanced settings"
no-updates: "No updates are available"
no-updates-desc: "Your Misskey is up to date."
update-available: "A new version is available"
update-available-desc: "Updates will be applied after reloading the page."
advanced-settings: "Advanced Settings"
debug-mode: "Enable debug mode"
debug-mode-desc: "This setting is stored in the browser."
navbar-position: "Navbar position"
navbar-position-top: "Top"
navbar-position-left: "Left"
navbar-position-right: "Right"
i-am-under-limited-internet: "I have limited bandwidth"
post-style: "Note display style"
post-style-standard: "Standard"
post-style-smart: "Smart"
notification-position: "Show notifications"
notification-position-bottom: "Bottom"
notification-position-top: "Top"
disable-via-mobile: "Don't mark the post as 'from mobile'"
load-raw-images: "Show attached images in original quality"
load-remote-media: "Show media from a remote server"
search: "Search"
delete: "Delete"
loading: "Loading"
ok: "OK"
ok: "Confirm"
cancel: "Exit"
update-available-title: "Update available"
update-available: "A new version of Misskey is now available({newer}, the current version is {current}). Reload the page to apply updates."
my-token-regenerated: "Your token has been regenerated, so you will be signed out."
i-like-sushi: "I prefer sushi rather than pudding"
show-reversi-board-labels: "Show row and column labels in Reversi"
use-avatar-reversi-stones: "Use avatar as a stone in reversi"
verified-user: "Verified account"
disable-animated-mfm: "Disable animated texts in a post"
suggest-recent-hashtags: "Suggest recently used hashtags within the post composition area"
always-show-nsfw: "Always show NSFW contents"
always-mark-nsfw: "Always mark posts with media attachments as NSFW"
show-full-acct: "Do not omit the hostname from the username"
show-via: "Show via"
reduce-motion: "Reduce motion in UI"
this-setting-is-this-device-only: "Only for this device"
use-os-default-emojis: "Use the OS default Emojis"
line-width: "Line thickness"
line-width-thin: "Thin"
line-width-normal: "Regular"
line-width-thick: "Thick"
hide-password: "Hide Password"
show-password: "Show Password"
do-not-use-in-production: "This is a development build. Do not use in production."
user-suspended: "This user has been suspended."
is-remote-user: "This user's information is mirrored."
is-remote-user: "The information about this user may not be entirely complete."
is-remote-post: "These post contents are mirrored."
view-on-remote: "For completion, view it remotely."
renoted-by: "Renoted by {user}"
no-notes: "Without any notes"
turn-on-darkmode: "Switch to Dark mode"
turn-off-darkmode: "Light mode"
error:
title: "Something happened :("
retry: "Retry"
@@ -175,7 +285,7 @@ auth/views/form.vue:
account-read: "View account information."
account-write: "Modify account information."
note-write: "Post."
like-write: "React to posts."
like-write: "Express yourself about this post."
following-write: "Follow and unfollow."
drive-read: "Read your drive."
drive-write: "Upload/delete files in your drive."
@@ -193,6 +303,20 @@ auth/views/index.vue:
please-go-back: "Please go back to the application."
error: "Session does not exist."
sign-in: "Please sign in."
common/views/pages/explore.vue:
verified-users: "Official accounts"
popular-users: "Popular users"
recently-updated-users: "Recently active users"
recently-registered-users: "Users who joined recently"
popular-tags: "Popular Tags"
federated: "From the fediverse"
explore: "Explore {host}"
users-info: "Currently, {users} users are registered here"
common/views/components/url-preview.vue:
enable-player: "Enable playback"
disable-player: "Close the player"
common/views/components/user-list.vue:
no-users: "There are no users."
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "Waiting for {}"
@@ -265,7 +389,7 @@ common/views/components/media-banner.vue:
click-to-show: "Click to show"
common/views/components/theme.vue:
theme: "Theme"
light-theme: "Theme"
light-theme: "Theme to use in Light mode"
dark-theme: "Theme during dark mode"
light-themes: "Light theme"
dark-themes: "Dark theme"
@@ -341,24 +465,60 @@ common/views/components/note-menu.vue:
copy-link: "Copy link"
favorite: "Favorite this note"
unfavorite: "Unfavorite"
watch: "Watch"
unwatch: "Unwatch"
pin: "Pin to your profile"
unpin: "Unpin"
delete: "Delete"
delete-confirm: "Are you sure you want to delete this post?"
remote: "Show original note"
common/views/components/user-menu.vue:
mention: "Mention"
mute: "Mute"
unmute: "Unmute"
block: "Block"
unblock: "Unblock"
push-to-list: "Add to list"
select-list: "Select a list"
report-abuse: "Report abuse"
report-abuse-detail: "What kind of nuisance did you encounter?"
report-abuse-reported: "The issue has been reported to the administrator. Your cooperation is much appreciated."
silence: "Mute"
unsilence: "Unmute"
suspend: "Suspend"
unsuspend: "Unsuspend"
common/views/components/poll.vue:
vote-to: "Vote for '{}'"
vote-count: "{} votes"
total-users: "{} users voted"
total-votes: "{} votes in total"
vote: "Vote"
show-result: "Show results"
voted: "Voted"
closed: "Ended"
remaining-days: "{d} days, {h} hours remain"
remaining-hours: "{h} hours, and {m} minutes remain"
remaining-minutes: "{m} minutes, and {s} seconds remaining"
remaining-seconds: "{s} seconds remaining"
common/views/components/poll-editor.vue:
no-only-one-choice: "At least two choices are required"
choice-n: "Choice {}"
remove: "Delete the choice"
add: "+ Add a choice"
destroy: "Discard the poll"
multiple: "More than one answer is allowed"
expiration: "Valid until"
infinite: "Indefinitely"
at: "Date and time pick"
after: "Progression specifics"
no-more: "You cannot add any more"
deadline-date: "Finish date"
deadline-time: "Time duration"
interval: "Duration"
unit: "Unit"
second: "Seconds"
minute: "Minutes"
hour: "Hours"
day: "S"
common/views/components/reaction-picker.vue:
choose-reaction: "Send a reaction"
common/views/components/emoji-picker.vue:
@@ -376,12 +536,11 @@ common/views/components/signin.vue:
password: "Password"
token: "Token"
signing-in: "Signing in..."
signin: "Sign in"
or: "Or"
signin-with-twitter: "Log in with Twitter"
signin-with-github: "Sign in with GitHub"
signin-with-discord: "Sign in with Discord"
login-failed: "Log in failed. Make sure you have entered your correct username and password."
login-failed: "Logging in has failed. Make sure you have entered the correct username and password."
common/views/components/signup.vue:
invitation-code: "Invitation code"
invitation-info: "If you do not have an invitation code, please contact an <a href=\"{}\">administrator</a>."
@@ -468,6 +627,7 @@ common/views/components/profile-editor.vue:
account: "Account"
location: "Location"
description: "About me"
you-can-include-hashtags: "You can also include hashtags in your profile description."
language: "Language"
birthday: "Birthday"
avatar: "Icon"
@@ -487,6 +647,21 @@ common/views/components/profile-editor.vue:
email-address: "Email Address"
email-verified: "Your email has been verified."
email-not-verified: "Email address is not confirmed. Please check your inbox."
export: "Export"
import: "Import"
export-and-import: "Export and Import"
export-targets:
all-notes: "All posted Notes"
following-list: "List of followers"
mute-list: "List of muted accounts"
blocking-list: "List of blocked accounts"
user-lists: "Lists"
export-requested: "You have requested an export. This may take a while. After the export is complete, the resulting file will be added to the drive."
import-requested: "You have initiated an import. This may take quite some time."
enter-password: "Please enter your password"
danger-zone: "Cautious options"
delete-account: "Remove the account"
account-deleted: "The account has been deleted. It may take some time until all of the data disappears."
common/views/components/user-list-editor.vue:
users: "User"
rename: "Rename list"
@@ -522,7 +697,7 @@ common/views/widgets/memo.vue:
memo: "Write here!"
save: "Save"
common/views/widgets/slideshow.vue:
folder-customize-mode: "To specify a folder, please exit customize mode"
folder-customize-mode: "To specify a folder, please exit customization mode"
folder: "Please click and specify a folder"
no-image: "There is no image in this folder"
common/views/widgets/tips.vue:
@@ -533,7 +708,7 @@ common/views/widgets/tips.vue:
tips-line5: "You can upload files by dragging and dropping them to Drive."
tips-line6: "You can move a folder by dragging it within the Drive."
tips-line7: "You can move folders by dragging them within the Drive."
tips-line8: "Home can be customized from the settings."
tips-line8: "The Home layout can be customized from the settings."
tips-line9: "Misskey is licensed under AGPLv3."
tips-line10: "Using the Time Machine widget makes it easy to trace back to the past timeline."
tips-line11: "You can pin posts to user page by clicking on \"...\""
@@ -607,8 +782,8 @@ desktop/views/components/drive.file.vue:
copy-url: "Copy URL"
download: "Download"
else-files: "Others"
set-as-avatar: "Set as avatar"
set-as-banner: "Set as banner"
set-as-avatar: "Set as an avatar"
set-as-banner: "Set as a banner"
open-in-app: "Open in app"
add-app: "Add app"
rename-file: "Rename file"
@@ -644,9 +819,6 @@ desktop/views/components/drive.vue:
create-folder: "Create a folder"
upload: "Upload a file"
url-upload: "Upload from a URL"
desktop/views/components/media-image.vue:
sensitive: "NSFW"
click-to-show: "Click to show"
desktop/views/components/media-video.vue:
sensitive: "The content is NSFW"
click-to-show: "Click to show"
@@ -658,12 +830,6 @@ desktop/views/components/following-window.vue:
following: "Following {}"
desktop/views/components/following.vue:
empty: "It seems you don't have any following users…"
desktop/views/components/friends-maker.vue:
title: "Recommended users:"
empty: "Couldn't find any recommended users."
fetching: "Loading"
refresh: "More"
close: "Close"
desktop/views/components/game-window.vue:
game: "Reversi"
desktop/views/components/home.vue:
@@ -711,7 +877,7 @@ desktop/views/components/post-form.vue:
reposted: "Reposted!"
note-failed: "Failed to post"
reply-failed: "Failed to reply"
renote-failed: "Failed to repost"
renote-failed: "Failed to Renote"
posting: "Posting"
attach-media-from-local: "Attach media from your device"
attach-media-from-drive: "Attach media from your Drive"
@@ -739,111 +905,14 @@ desktop/views/components/renote-form.vue:
cancel: "Cancel"
renote: "Repost"
renote-home: "Renote (Home)"
reposting: "Reposting..."
reposting: "Renoting..."
success: "Reposted!"
failure: "Failed to Repost"
desktop/views/components/renote-form-window.vue:
title: "Do you want to Repost it?"
title: "Do you want to Renote it?"
desktop/views/pages/user-following-or-followers.vue:
following: "{user}'s following"
followers: "{user}'s follower"
desktop/views/components/settings-window.vue:
settings: "Settings"
desktop/views/components/settings.vue:
profile: "Profile"
notification: "Notification"
apps: "Apps"
tags: "Hashtags"
mute-and-block: "Mute / Block"
blocking: "Blocking"
security: "Security"
signin: "Sign in history"
password: "Password"
2fa: "Two-factor authentication"
other: "Other"
license: "License"
theme: "Theme"
behaviour: "Behavior"
fetch-on-scroll: "Endless loading on scroll"
fetch-on-scroll-desc: "When you scroll down the page, it automatically fetches additional content."
note-visibility: "Post visibility"
default-note-visibility: "Default visibility"
remember-note-visibility: "Remember post visibility"
web-search-engine: "Web search engine"
web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}"
auto-popout: "Auto pop-out window"
auto-popout-desc: "If it's possible, pop-out display will be used instead of opening a new window. This setting is stored in your browser."
advanced: "Advanced settings"
api-via-stream: "API request via stream"
api-via-stream-desc: "API request is performed via the WebSocket connection instead of native fetch API (for better performance). This setting is stored in the browser."
deck-nav: "Transitionless deck navigation"
deck-nav-desc: "You get a temporary column without page transitions during navigation when using the deck."
deck-default: "Use Deck as default UI"
display: "Design and display"
customize: "Customize home layout"
wallpaper: "Wallpaper"
choose-wallpaper: "Choose a background"
delete-wallpaper: "Remove background"
dark-mode: "Dark Mode"
use-shadow: "Use shadows in the UI"
rounded-corners: "Round corners of UI"
circle-icons: "Use circle icons"
contrasted-acct: "Add contrast to username"
post-form-on-timeline: "Display post form at the top of the timeline"
show-clock-on-header: "Show clock on upper-right"
show-reply-target: "Display reply target"
timeline: "Timeline"
show-my-renotes: "Show my renotes in the timeline"
show-renoted-my-notes: "Show renoted posts of mine in timelines"
show-local-renotes: "Show renoted local posts in timelines"
show-maps: "Display a map to show the location"
remain-deleted-note: "Continue to show deleted posts"
deck-column-align: "Deck column alignment"
deck-column-align-center: "Center"
deck-column-align-left: "Left"
deck-column-align-flexible: "Flexible"
deck-column-width: "Column width of the deck"
deck-column-width-narrow: "narrow"
deck-column-width-narrower: "somewhat narrow"
deck-column-width-normal: "Normal"
deck-column-width-wider: "somewhat wide"
deck-column-width-wide: "wide"
sound: "Sound"
enable-sounds: "Enable sound"
enable-sounds-desc: "Play a sound when you receive a post/message. This setting is stored in the browser."
volume: "Volume"
test: "Test"
cache: "Cache"
clean-cache: "Clear cache"
cache-warn: "The cache of account info/posts/replies/messages/settings stored in the browser will be deleted. You need to reload the page after cleaning up."
cache-cleared: "Cache cleared"
cache-cleared-desc: "Please reload the page."
about: "About Misskey"
operator: "The admin of this instance"
update: "Misskey Update"
version: "Version:"
latest-version: "Latest version:"
update-checking: "Checking for updates"
do-update: "Check for updates"
update-settings: "Advanced settings"
prevent-update: "Postpone updates (not recommended)"
prevent-update-desc: "Even if you turn this setting on, updates may apply. This setting is enabled only for this device."
no-updates: "No updates available"
no-updates-desc: "Your Misskey is up to date."
update-available: "A new version is available"
update-available-desc: "The updates will apply if you reload the page again."
advanced-settings: "Advanced"
debug-mode: "Enable the debug mode"
debug-mode-desc: "This setting is stored in the browser."
experimental: "Enable experimental features"
experimental-desc: "Activating this might make the Misskey client unstable. This setting is stored in the browser."
tools: "Tools"
task-manager: "Task Manager"
third-parties: "Third-parties"
navbar-position: "Navigation bar position"
navbar-position-top: "Top"
navbar-position-left: "Left"
navbar-position-right: "Right"
desktop/views/components/settings.2fa.vue:
intro: "If you set up 2-step verification, you will not only need a password at sign-in, but also a pre-registered physical device (such as your smartphone), which will improve security."
detail: "Details…"
@@ -863,6 +932,9 @@ desktop/views/components/settings.2fa.vue:
success: "Settings saved!"
failed: "Failed to setup. Please ensure that the token is correct."
info: "From the next time you sign in to Misskey, the token displayed on your device will be necessary too, as well as the password."
common/views/components/media-image.vue:
sensitive: "NSFW"
click-to-show: "Click to show"
common/views/components/api-settings.vue:
intro: "To access the API, set this token as the key 'i' of request parameters."
caution: "Do not enter this token to any apps nor tell this token to others otherwise your account may get compromised."
@@ -923,7 +995,7 @@ desktop/views/components/timeline.vue:
messages: "Messages"
list: "Lists"
hashtag: "Hashtag"
add-tag-timeline: "Add hashtag tl"
add-tag-timeline: "Add hashtag cloud"
add-list: "Add list"
list-name: "List name"
desktop/views/components/ui.header.vue:
@@ -931,17 +1003,10 @@ desktop/views/components/ui.header.vue:
adjective: "-san"
desktop/views/components/ui.header.account.vue:
profile: "Your profile"
favorites: "Favorites"
lists: "Lists"
follow-requests: "Follow requests"
customize: "Customize home layout"
admin: "Admin"
settings: "Settings"
signout: "Sign out"
dark: "Toggle dark mode"
desktop/views/components/ui.header.nav.vue:
home: "Home"
deck: "Deck"
game: "Games"
desktop/views/components/ui.header.notifications.vue:
title: "Notifications"
@@ -955,7 +1020,7 @@ desktop/views/components/received-follow-requests-window.vue:
reject: "Reject"
desktop/views/components/user-lists-window.vue:
title: "User lists"
create-list: "Create list"
create-list: "Create a list"
list-name: "List name"
desktop/views/components/user-preview.vue:
notes: "Posts"
@@ -979,6 +1044,9 @@ admin/views/index.vue:
federation: "Federation"
announcements: "Announcements"
hashtags: "Hashtags"
abuse: "Abuse"
queue: "Job Queue"
logs: "Logs"
back-to-misskey: "Back to Misskey"
admin/views/dashboard.vue:
dashboard: "Dashboard"
@@ -988,12 +1056,20 @@ admin/views/dashboard.vue:
instances: "Instances"
this-instance: "This instance"
federated: "Federated"
admin/views/queue.vue:
operation: "Action(s)"
remove-all-jobs: "Clear all queued jobs"
admin/views/abuse.vue:
title: "Abuse"
target: "Target"
reporter: "Reporter"
details: "Details"
remove-report: "Remove"
admin/views/instance.vue:
instance: "Instance"
instance-name: "Instance name"
instance-description: "Instance description"
host: "Host"
logo-url: "Logo image URL"
banner-url: "Banner image URL"
error-image-url: "Error image URL"
languages: "Language of this instance"
@@ -1035,6 +1111,8 @@ admin/views/instance.vue:
max-note-text-length: "Maximum numbers of post characters"
disable-registration: "Disable new user registration"
disable-local-timeline: "Disable the Local Timeline"
disable-global-timeline: "Disable global timeline"
disabling-timelines-info: "Even if you disable these timelines, the administrator as well as moderators can use them continually."
invite: "Invite"
save: "Save"
saved: "Saved"
@@ -1052,6 +1130,7 @@ admin/views/instance.vue:
smtp-secure-info: "Turn off STARTTLS when used that."
smtp-host: "SMTP Host"
smtp-port: "SMTP Port"
smtp-auth: "Perform SMTP authentication"
smtp-user: "SMTP User"
smtp-pass: "SMTP Password"
serviceworker-config: "ServiceWorker"
@@ -1078,7 +1157,8 @@ admin/views/charts.vue:
notes-total: "Total posts"
users: "The number of users: increase/decrease"
users-total: "Total users"
drive: "Capacity used as the storage: increase/decrease"
active-users: "Active users"
drive: "Increase and decrease in storage capacity use"
drive-total: "Total usage of Drive"
drive-files: "The number of files on the storage: increase/decrease"
drive-files-total: "Total number of files on Drive"
@@ -1086,6 +1166,10 @@ admin/views/charts.vue:
network-time: "Response time"
network-usage: "Traffic"
admin/views/drive.vue:
operation: "Operations"
fileid-or-url: "File ID or URL"
file-not-found: "File not found"
lookup: "Look up"
sort:
title: "Sort"
createdAtAsc: "Age - Oldest First"
@@ -1101,21 +1185,32 @@ admin/views/drive.vue:
deleted: "Deleted successfully"
mark-as-sensitive: "Mark as 'sensitive'"
unmark-as-sensitive: "Unmark as 'sensitive'"
marked-as-sensitive: "Set a sensitive content notice"
unmarked-as-sensitive: "Remove the sensitive content notice"
admin/views/users.vue:
operation: "Operations"
username-or-userid: "Username or user ID"
user-not-found: "User not found"
lookup: "Look up"
reset-password: "Reset password"
reset-password-confirm: "Do you want to reset your password?"
password-updated: "The password is now \"{password}\""
suspend: "Suspend"
suspend-confirm: "Do you want to suspend this account?"
suspended: "Successfully suspended."
unsuspend: "Unsuspend"
unsuspend-confirm: "Are you sure you want to unsuspend this account?"
unsuspended: "The user has successfully unsuspended."
make-silence: "Mute"
unmake-silence: "Unmute"
verify: "Verify account"
verify-confirm: "Do you want this to be a verified account?"
verified: "The account is now being verified"
unverify: "Unverify account"
unverify-confirm: "Do you want to remove the 'verified account' designation?"
unverified: "The account is now being unverified"
update-remote-user: "Update information about remote user"
remote-user-updated: "The information regarding the remote user has been updated."
users:
title: "Users"
sort:
@@ -1124,6 +1219,15 @@ admin/views/users.vue:
createdAtDesc: "Date Registered (Descending)"
updatedAtAsc: "Last Updated (Ascending)"
updatedAtDesc: "Last Updated (Descending)"
state:
title: "Sort"
all: "All"
admin: "Administrator"
moderator: "Moderator"
adminOrModerator: "Admin/Moderator"
verified: "Verified account"
silenced: "Already silenced"
suspended: "Suspended"
origin:
title: "Origin"
combined: "Local + Remote"
@@ -1136,6 +1240,8 @@ admin/views/moderators.vue:
title: "Register Moderator"
add: "Register"
added: "Registered a Moderator."
remove: "Discharge"
removed: "The moderator has been discharged"
admin/views/emoji.vue:
add-emoji:
title: "Add emoji"
@@ -1168,13 +1274,66 @@ admin/views/announcements.vue:
removed: "Deleted"
admin/views/hashtags.vue:
hided-tags: "Hidden Tags"
admin/views/federation.vue:
federation: "Federation"
host: "Host"
notes: "Notes"
users: "Users"
following: "Following"
followers: "Followers"
status: "Statuses"
latest-request-sent-at: "Time of last request sent"
latest-request-received-at: "Last request received at"
remove-all-following: "Withold all followers"
remove-all-following-info: "Unfollow all accounts from {host}. Please run this if the instance no longer exists."
block: "Block"
marked-as-closed: "Marked as closed"
lookup: "Look up"
instances: "Instances"
instance-not-registered: "The instance has not been discovered"
sort: "Sort by"
sorts:
caughtAtAsc: "Date of discovery (Ascending)"
caughtAtDesc: "Date of discovery (Descending)"
lastCommunicatedAtAsc: "The date and time of the older interactions"
lastCommunicatedAtDesc: "The date and time of the newer interactions"
notesAsc: "Least Notes posted"
notesDesc: "Most Notes posted"
usersAsc: "Less followers"
usersDesc: "More followers"
followingAsc: "Least followed"
followingDesc: "Most followed"
followersAsc: "Having less followers"
followersDesc: "The largest number of followers"
driveUsageAsc: "Least storage used"
driveUsageDesc: "Most storage used"
driveFilesAsc: "Least files stored on Drive"
driveFilesDesc: "The largest number of files stored on Drive"
state: "Sort"
states:
all: "All"
blocked: "Blocked"
not-responding: "Without response"
marked-as-closed: "Marked as closed"
result-is-truncated: "Displaying the top {n} items."
charts: "Charts"
chart-srcs:
requests: "Requests"
users: "Increase, or decrease in the number of users"
users-total: "Total number of users"
notes: "Increase, or decrease in the number of notes"
notes-total: "Total number of notes"
ff: "Increase of followers"
ff-total: "Total number of follows accumulated"
drive-usage: "Increase and decrease in storage use"
drive-usage-total: "Total usage of the Drive"
drive-files: "Increase, or decrease in the number of files stored on Drive"
drive-files-total: "The number of files accumulated on Drive"
chart-spans:
hour: "Hourly"
day: "Daily"
desktop/views/pages/welcome.vue:
about: "More details..."
gotit: "Got it!"
signin: "Log In"
signup: "Sign up"
signin-button: "Logging in..."
signup-button: "Sign up"
timeline: "Timeline"
announcements: "Announcements"
photos: "Recent Images"
@@ -1182,8 +1341,6 @@ desktop/views/pages/welcome.vue:
info: "Information"
desktop/views/pages/drive.vue:
title: "Misskey storage"
desktop/views/pages/home-customize.vue:
title: "Customize home layout"
desktop/views/pages/note.vue:
prev: "Previous post"
next: "Next post"
@@ -1195,8 +1352,6 @@ desktop/views/pages/selectdrive.vue:
desktop/views/pages/search.vue:
not-available: "Search feature is turned off in the settings for this instance."
not-found: "No posts were found for '{q}'"
desktop/views/pages/share.vue:
share-with: "Share on {name}"
desktop/views/pages/tag.vue:
no-posts-found: "No posts contains \"{q}\" found."
desktop/views/pages/user-list.users.vue:
@@ -1215,40 +1370,26 @@ desktop/views/pages/user/user.photos.vue:
title: "Photos"
loading: "Loading"
no-photos: "No photos"
desktop/views/pages/user/user.profile.vue:
follows-you: "Follows you"
stalk: "Stalk"
stalking: "Stalking"
unstalk: "Unstalk"
mute: "Mute"
muted: "Muting"
unmute: "Unmute"
block: "Block"
unblock: "Unblock"
block-confirm: "Are you sure block this user?"
push-to-a-list: "Add to list"
list-pushed: "Successfully added {user} to {list}."
desktop/views/pages/user/user.header.vue:
posts: "Notes"
following: "Following"
followers: "Followers"
mention: "Mentions"
is-bot: "This account is a Bot"
no-description: "This user has not written their profile introduction"
years-old: "{age} years old"
year: "/"
month: "/"
day: "-"
follows-you: "Follows you"
desktop/views/pages/user/user.timeline.vue:
default: "Posts"
with-replies: "Posts and replies"
with-media: "Media"
my-posts: "My posts"
empty: "This user doesn't seem to have posted anything yet."
desktop/views/widgets/messaging.vue:
title: "Message"
title: "Messaging"
desktop/views/widgets/notifications.vue:
title: "Notifications"
settings: "Settings"
desktop/views/widgets/polls.vue:
title: "Polls"
refresh: "refresh"
@@ -1277,8 +1418,7 @@ mobile/views/components/drive.vue:
prompt: "What do you want to do? (Please enter a number): <1 → Upload a file | 2 → Upload a file from a URL | 3 → Create a folder | 4 → Change this folder's name | 5 → Move this folder | 6 → Delete this folder>"
deletion-alert: "Sorry! Deleting a folder is not yet implemented."
folder-name: "Folder name"
root-rename-alert: "You're in the root; it can't be renamed because it's not a folder. Navigate to a folder you want to rename and try again."
root-move-alert: "You're in the root; it can't be moved because it's not a folder. Navigate to a folder you want to move and try again."
here-is-root: "Currently, you are on the root, not inside of any folder."
url-prompt: "URL of the file you want to upload"
uploading: "Upload requested. It may take a while for the upload to finish."
mobile/views/components/drive-file-chooser.vue:
@@ -1296,9 +1436,6 @@ mobile/views/components/drive.file-detail.vue:
nsfw: "NSFW"
mark-as-sensitive: "Mark as 'sensitive'"
unmark-as-sensitive: "Unmark as 'sensitive'"
mobile/views/components/media-image.vue:
sensitive: "NSFW"
click-to-show: "Click to show"
mobile/views/components/media-video.vue:
sensitive: "The content is NSFW"
click-to-show: "Click to show"
@@ -1308,12 +1445,6 @@ common/views/components/follow-button.vue:
request-pending: "Pending"
follow-processing: "Processing"
follow-request: "Follow request"
mobile/views/components/friends-maker.vue:
title: "Let's follow them"
empty: "Featured user was not found."
fetching: "Loading"
refresh: "See more"
close: "Close"
mobile/views/components/note.vue:
private: "This post is private"
deleted: "This post has been deleted"
@@ -1350,8 +1481,6 @@ mobile/views/components/sub-note-content.vue:
deleted: "This post has been deleted"
media-count: "{} media attached"
poll: "Poll"
mobile/views/components/timeline.vue:
empty: "No notes"
mobile/views/components/ui.header.vue:
welcome-back: "Welcome back, "
adjective: "Sir"
@@ -1360,22 +1489,11 @@ mobile/views/components/ui.nav.vue:
notifications: "Notifications"
follow-requests: "Follow requests"
search: "Search"
favorites: "Favorites"
user-lists: "Lists"
widgets: "Widgets"
game: "Games"
darkmode: "Dark theme"
settings: "Settings"
admin: "Admin"
about: "About Misskey"
mobile/views/components/user-timeline.vue:
no-notes: "It seems this user hasn't posted anything yet."
no-notes-with-media: "There are no notes with media attachments"
mobile/views/components/users-list.vue:
all: "All"
known: "In common"
mobile/views/pages/favorites.vue:
title: "Favorites"
mobile/views/pages/user-lists.vue:
title: "Lists"
enter-list-name: "Enter a name of the list to make"
@@ -1394,8 +1512,6 @@ mobile/views/pages/home.vue:
messages: "Messages"
mobile/views/pages/tag.vue:
no-posts-found: "No posts contains \"{q}\" found."
mobile/views/pages/welcome.vue:
signup: "Sign up"
mobile/views/pages/widgets.vue:
dashboard: "Dashboard"
widgets-hints: "You can add/delete/rearrange widgets. To move the widget, drag \"三\". Tap \"x\" to delete the widget. Some widgets can change display by tapping."
@@ -1413,9 +1529,6 @@ mobile/views/pages/note.vue:
title: "Post"
prev: "Previous note"
next: "Next note"
mobile/views/pages/notifications.vue:
notifications: "Notifications"
read-all: "Do you wish to mark all notifications as read?"
mobile/views/pages/games/reversi.vue:
reversi: "Reversi"
mobile/views/pages/search.vue:
@@ -1425,46 +1538,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "Choose files"
mobile/views/pages/settings.vue:
signed-in-as: "Signed in as {}"
design: "Design and display"
dark-mode: "Dark Mode"
i-am-under-limited-internet: "I'm in limited bandwidth"
circle-icons: "Use circle icons"
contrasted-acct: "Add contrast to username"
timeline: "Timeline"
show-reply-target: "Show reply target"
show-my-renotes: "Show my reposts"
show-renoted-my-notes: "Show renoted posts of mine"
show-local-renotes: "Show renoted local posts"
post-style: "Post design"
post-style-standard: "Standard"
post-style-smart: "Smart"
notification-position: "Notification style"
notification-position-bottom: "Bottom"
notification-position-top: "Top"
behavior: "Behavior"
fetch-on-scroll: "Endless loading on scroll"
note-visibility: "Post visibility"
default-note-visibility: "Default visibility"
remember-note-visibility: "Remember post visibility"
web-search-engine: "Web search engine"
web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}"
disable-via-mobile: "Don't mark the post as 'from mobile'"
load-raw-images: "Show attached images in original quality"
load-remote-media: "Show media from a remote server"
update: "Misskey Update"
version: "Current version:"
latest-version: "Latest version:"
update-checking: "Checking for updates"
check-for-updates: "Check for updates"
no-updates: "No updates available"
no-updates-desc: "Your Misskey is up to date."
update-available: "A new version is available"
update-available-desc: "Updates will be applied after reloading the page"
settings: "Settings"
signout: "Sign out"
sound: "Sounds"
enable-sounds: "Enable sounds"
password: "Password"
mobile/views/pages/user.vue:
follows-you: "Follows you"
following: "Following"
@@ -1473,29 +1546,16 @@ mobile/views/pages/user.vue:
overview: "Overview"
timeline: "Timeline"
media: "Media"
mute: "Mute"
unmute: "Unmute"
block: "Block"
unblock: "Unblock"
years-old: "{age} years old"
push-to-list: "Add to list"
select-list: "Select a list"
list-pushed: "Successfully added {user} to {list}."
mobile/views/pages/user/home.vue:
recent-notes: "Recent notes"
images: "Images"
activity: "Activity"
keywords: "Keywords"
domains: "Domains"
frequently-replied-users: "Frequently mentioned users"
frequently-replied-users: "Frequent mentions"
followers-you-know: "Followers you know"
last-used-at: "Last active:"
mobile/views/pages/user/home.followers-you-know.vue:
no-users: "No users you know"
mobile/views/pages/user/home.friends.vue:
no-users: "There are no users that you know"
mobile/views/pages/user/home.notes.vue:
no-notes: "No notes"
mobile/views/pages/user/home.photos.vue:
no-photos: "No photos"
deck:
@@ -1509,6 +1569,7 @@ deck:
direct: "Direct posts"
notifications: "Notifications"
list: "List"
select-list: "Select a list"
swap-left: "Move left"
swap-right: "Move right"
swap-up: "Move up"
@@ -1518,20 +1579,21 @@ deck:
rename: "Rename"
stack-left: "Stack to the left"
pop-right: "Dock on the right"
disabled-timeline:
title: "The timeline has been disabled"
description: "This timeline has been disabled by the server's administrator."
deck/deck.tl-column.vue:
is-media-only: "Only media posts"
is-media-view: "Media view"
edit: "Options"
deck/deck.user-column.vue:
follows-you: "Follows you"
posts: "Posts"
following: "Following"
followers: "Followers"
mention: "Mentions"
images: "Images"
activity: "Activity"
timeline: "Timeline"
pinned-notes: "Pinned posts"
push-to-a-list: "Add to list"
docs:
edit-this-page-on-github: "Found an error, or do you want to contribute to the documentation?"
edit-this-page-on-github-link: "Edit this page at GitHub!"

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
---
meta:
lang: "Français"
divider: ""
common:
misskey: "Une ⭐ du fédiverse"
about-title: "Une ⭐ du fédiverse."
@@ -15,9 +14,9 @@ common:
reaction: "Réactions"
reaction-desc: "Une manière simple d'exprimer vos émotions. Misskey peut attacher diverses réactions aux publications des autres utilisateurs. Si vous essayez les réactions sur Misskey, vous ne pourrez plus retourner sur une autre plateforme de réseaux sociaux n'offrant que des « J'aime »."
ui: "Interface utilisateur"
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
ui-desc: "Aucune interface graphique ne peut plaire à tout le monde. Par conséquent, Misskey possède une interface utilisateur hautement personnalisable selon vos goûts. Vous pouvez rendre votre page d'accueil originale en modifiant la mise en page de votre fil et en déplaçant les widgets que vous pouvez facilement ajuster pour vous approprier cet espace."
drive: "Drive"
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんかもしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんかMisskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。"
drive-desc: "Vous voulez poster une photo que vous avez déjà transférée ? Vous souhaitez organiser, nommer et créer un dossier pour vos fichiers téléversés ? Misskey Drive est la meilleure solution pour vous. Très facile de partager vos fichiers en ligne."
outro: "Découvrez vous-même les fonctionnalités de Misskey. Étant donné que Misskey est un réseau social fédéré, vous pouvez essayer dautres instances afin de trouver vos amis si la présente instance ne vous correspond pas. Bonne chance et amusez-vous bien!"
adblock:
detected: "Veuillez désactiver votre bloqueur de publicités"
@@ -27,10 +26,12 @@ common:
do-not-copy-paste: "Veuillez ne pas entrer ou coller le code ici. Le compte pourrait être compromis."
load-more: "Charger plus"
enter-password: "Veuillez entrer le mot de passe"
2fa: "Authentification à deux facteurs"
customize-home: "Personnaliser la disposition de votre accueil"
featured-notes: "Les notes mises en avant"
got-it: "Jai compris !"
customization-tips:
title: "Conseils de personnalisation"
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
gotit: "Compris !"
notification:
file-uploaded: "Le fichier a été téléversé !"
@@ -55,6 +56,16 @@ common:
trash: "Corbeille"
drive: "Drive"
messaging: "Conversations"
home: "Principal"
deck: "Deck"
timeline: "Fil"
explore: "Découvrir"
following: "Suit"
followers: "Abonné·e·s"
favorites: "Mettre cette note en favoris"
empty-timeline-info:
follow-users-to-make-your-timeline: "Les utilisateurs suivants afficheront leurs publications sur votre fil."
explore: "Trouver des utilisateurs"
weekday-short:
sunday: "D"
monday: "L"
@@ -100,36 +111,32 @@ common:
d: "Désirez-vous publier quelques mots ?"
e: "Écrivez ici"
f: "En attente de vos écrits"
_settings:
profile: "Votre profil"
notification: "Notifications"
tags: "Hashtags"
blocking: "En cours blocage"
password: "Mot de passe"
other: "Avancé"
timeline: "Fil dactualité"
search: "Recherche"
delete: "Supprimer"
loading: "Chargement en cours…"
ok: "OK"
update-available-title: "Mise à jour disponible"
update-available: "Une nouvelle version de Misskey est disponible ({newer}, version actuelle: {current}). Veuillez recharger la page pour appliquer la mise à jour."
my-token-regenerated: "Votre jeton vient dêtre généré, vous allez maintenant être déconnecté."
i-like-sushi: "Je préfère les sushis plutôt que le pudding"
show-reversi-board-labels: "Afficher les étiquettes des lignes et colonnes dans Reversi"
use-avatar-reversi-stones: "Utiliser lavatar comme pion dans Reversi"
verified-user: "Compte vérifié"
disable-animated-mfm: "Désactiver les textes animés dans les publications"
suggest-recent-hashtags: "Suggérer les hashtags récemment utilisés dans le champs de saisie"
always-show-nsfw: "Toujours afficher les contenus sensibles"
always-mark-nsfw: "Toujours marquer les notes ayant des attachements comme sensibles"
show-full-acct: "Afficher ladresse complète de lutilisateur"
show-via: "Visualiser via"
reduce-motion: "Réduire les animations dans linterface utilisateur"
this-setting-is-this-device-only: "Uniquement sur cet appareil"
use-os-default-emojis: "Utiliser les émojis standards du système"
line-width: "Epaisseur du trait"
line-width-thin: "Fine"
line-width-normal: "Normale"
line-width-thick: "Épaisse"
hide-password: "Masquer le mot de passe"
show-password: "Afficher le mot de passe"
do-not-use-in-production: "Il sagit dune version de développement. Ne pas utiliser dans un environnement de production."
user-suspended: "Cet·te utilisateur·trice a été suspendu·e"
is-remote-user: "Ces informations appartiennent à un utilisateur distant."
is-remote-user: "Les informations à propos de ce compte peuvent être incomplètes."
is-remote-post: "Ceci est une publication distante."
view-on-remote: " Consulter le profil complet"
renoted-by: "Renoté par {user}"
no-notes: "Sans aucune note"
turn-on-darkmode: "Basculer vers le mode nuit"
turn-off-darkmode: "Mode jour"
error:
title: "Une erreur est survenue"
retry: "Réessayer"
@@ -193,6 +200,17 @@ auth/views/index.vue:
please-go-back: "Veillez retourner à l'application."
error: "La session nexiste pas."
sign-in: "Veuillez vous connecter"
common/views/pages/explore.vue:
verified-users: "Comptes vérifiés"
popular-users: "Utilisateurs populaires"
recently-updated-users: "Utilisateurs actifs récemment"
recently-registered-users: "Les nouveaux inscrits"
popular-tags: "Mots-clés populaires"
federated: "Du Fédiverse"
explore: "Explorer {host}"
users-info: "Actuellement, {users} utilisateurs se sont inscrit ici"
common/views/components/user-list.vue:
no-users: "Il n'y a aucun utilisateur"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "En attente de {}"
@@ -225,7 +243,6 @@ common/views/components/games/reversi/reversi.room.vue:
black-or-white: "Noirs/Blancs"
black-is: "{} Noirs"
rules: "Règles"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "Carte en boucle"
can-put-everywhere: "Peut poser partout"
settings-of-the-bot: "Configuration du bot"
@@ -330,7 +347,7 @@ common/views/components/nav.vue:
stats: "Statistiques"
status: "Statut"
wiki: "Wiki"
donors: "Donateurs"
donors: "Donateur·rice·s"
repository: "Dépôt"
develop: "Développeurs"
feedback: "Suggestions"
@@ -341,15 +358,31 @@ common/views/components/note-menu.vue:
copy-link: "Copier le lien"
favorite: "Mettre cette note en favoris"
unfavorite: "Retirer des favoris"
watch: "Surveiller"
unwatch: "Ne plus surveiller"
pin: "Épingler sur votre profil"
unpin: "Désépingler"
delete: "Supprimer"
delete-confirm: "Supprimer cette publication ?"
remote: "Afficher la note originale"
common/views/components/user-menu.vue:
mention: "Mention"
mute: "Silencier"
unmute: "Enlever la sourdine"
block: "Bloquer"
unblock: "Débloquer"
push-to-list: "Ajouter à une liste"
select-list: "Sélectionnez une liste"
report-abuse: "Signaler un abus"
report-abuse-detail: "Détail du signalement"
report-abuse-reported: "Transmit à ladministrateur. Merci de votre collaboration."
silence: "Mettre en sourdine"
unsilence: "Enlever la sourdine"
suspend: "Suspendre"
unsuspend: "Ne plus suspendre"
common/views/components/poll.vue:
vote-to: "Voter pour '{}'"
vote-count: "{} votes"
total-users: "{} utilisateurs ont voté"
vote: "Vote"
show-result: "Montrer les résultats"
voted: "Voté"
@@ -359,6 +392,7 @@ common/views/components/poll-editor.vue:
remove: "Supprimer ce choix"
add: "+ Ajouter un choix"
destroy: "Annuler ce sondage"
day: "D"
common/views/components/reaction-picker.vue:
choose-reaction: "Choisissez votre réaction"
common/views/components/emoji-picker.vue:
@@ -372,11 +406,10 @@ common/views/components/emoji-picker.vue:
symbols: "Symboles"
flags: "Drapeaux"
common/views/components/signin.vue:
username: "Nom d'utilisateur"
username: "Nom d'utilisateur·rice"
password: "Mot de passe"
token: "Jeton"
signing-in: "Connexion…"
signin: "Se connecter"
or: "Ou"
signin-with-twitter: "Se connecter via Twitter"
signin-with-github: "Se connecter avec GitHub"
@@ -385,7 +418,7 @@ common/views/components/signin.vue:
common/views/components/signup.vue:
invitation-code: "Code dinvitation"
invitation-info: "Si vous navez pas de code dinvitation, contactez un <a href=\"{}\">administrateur</a>."
username: "Nom d'utilisateur"
username: "Nom d'utilisateur·rice"
checking: "Vérification…"
available: "Disponible"
unavailable: "Non disponible"
@@ -417,8 +450,8 @@ common/views/components/notification-settings.vue:
mark-as-read-all-notifications: "Marquer toutes les notifications comme lues"
mark-as-read-all-unread-notes: "Marquer toutes les notes comme lues"
mark-as-read-all-talk-messages: "Marquer toutes les conversations comme lues"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
auto-watch: "Surveiller automatiquement les publications"
auto-watch-desc: "Recevoir automatiquement des notifications à propos des publications auxquelles vous avez réagi ou répondu"
common/views/components/integration-settings.vue:
title: "Intégrations"
connect: "Connecter"
@@ -444,8 +477,8 @@ common/views/components/visibility-chooser.vue:
public: "Public"
home: "Accueil"
home-desc: "Publier sur le fil dAccueil uniquement"
followers: "Abonnés"
followers-desc: "Publier à vos abonnés uniquement"
followers: "Abonné·e·s"
followers-desc: "Publier à vos abonné·e·s uniquement"
specified: "Direct"
specified-desc: "Publier uniquement aux utilisateurs mentionnés"
local-public: "Local (Public)"
@@ -468,6 +501,7 @@ common/views/components/profile-editor.vue:
account: "Compte"
location: "Lieu"
description: "À propos de moi"
you-can-include-hashtags: "Vous pouvez également inclure un hashtag sur votre description de profile."
language: "Langue"
birthday: "Date de naissance"
avatar: "Avatar"
@@ -476,7 +510,7 @@ common/views/components/profile-editor.vue:
is-bot: "Ce compte est un Bot"
is-locked: "Demandes dabonnements requièrent lapprobation"
careful-bot: "Les demandes dabonnements venant de Bots requièrent lapprobation"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
auto-accept-followed: "Accepter automatiquement les demandes dabonnement venant des gens que vous suivez"
advanced: "Avancé"
privacy: "Vie privée"
save: "Mettre à jour le profil"
@@ -487,8 +521,21 @@ common/views/components/profile-editor.vue:
email-address: "Adresse de courrier électronique"
email-verified: "Ladresse du courrier électronique a été vérifiée."
email-not-verified: "Adresse de courriel nest pas confirmée. Veuillez vérifier votre boite de réception."
export: "Exporter"
import: "Importer"
export-targets:
all-notes: "Toutes les notes publiées"
following-list: "Liste des abonnements"
mute-list: "Liste des comptes mis en sourdine"
blocking-list: "Liste des comptes bloqués"
user-lists: "Listes"
export-requested: "Vous avez demandé une exportation. Cela peut prendre un certain temps. Une fois l'exportation terminée, le fichier résultant sera ajouté dans le Drive."
enter-password: "Veuillez saisir votre mot de passe"
danger-zone: "Zone de danger"
delete-account: "Supprimer le compte"
account-deleted: "Le compte a été supprimé. Cela peut prendre un certain temps avant que toutes les données disparaissent."
common/views/components/user-list-editor.vue:
users: "Utilisateur"
users: "Utilisateur·rice"
rename: "Renommer la liste"
delete: "Supprimer la liste"
remove-user: "Retirer de cette liste"
@@ -526,7 +573,7 @@ common/views/widgets/slideshow.vue:
folder: "Veuillez cliquer pour spécifier le dossier"
no-image: "Il n'y a aucune image dans ce dossier"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line1: "Vous pouvez vous concentrer sur le fil avec <kbd>t</kbd>"
tips-line2: "Ouvre la fenêtre de publication en appuyant sur <kbd>p</kbd> ou <kbd>n</kbd>."
tips-line3: "Vous pouvez glisser et déposer des fichiers sur la fenêtre de la note"
tips-line4: "Vous pouvez coller des images à partir du presse-papier sur la fenêtre de la note"
@@ -535,7 +582,7 @@ common/views/widgets/tips.vue:
tips-line7: "Vous pouvez déplacer des dossiers en les glissant dans le Drive"
tips-line8: "Vous pouvez personnaliser l'Accueil via les paramètres"
tips-line9: "Misskey est sous licence AGPLv3"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line10: "L'utilisation du widget Time Machine permet de remonter facilement dans le passé du fil."
tips-line11: "Vous pouvez épingler des notes sur votre page en cliquant sur « … »"
tips-line13: "Tous les fichiers attachés à cette publication sont sauvegardés dans le Drive"
tips-line14: "Lorsque vous personnalisez la disposition de votre page daccueil, vous pouvez effectuer un clique droit sur un widget pour changer son apparence."
@@ -543,7 +590,6 @@ common/views/widgets/tips.vue:
tips-line19: "Plusieurs fenêtres peuvent être détachées en dehors du navigateur."
tips-line20: "Pourcentage sur le widget calendrier qui indique le pourcentage de temps passé"
tips-line21: "Vous pouvez aussi utiliser l'API pour développer des Bots."
tips-line23: "藍かわいいよ藍"
tips-line24: "Misskey est fonctionnel depuis 2014"
tips-line25: "Vous pouvez recevoir les notifications de Misskey dans un navigateur web compatible"
common/views/pages/not-found.vue:
@@ -644,26 +690,17 @@ desktop/views/components/drive.vue:
create-folder: "Créer un dossier"
upload: "Téléverser un fichier"
url-upload: "Téléverser à partir dune URL"
desktop/views/components/media-image.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
desktop/views/components/media-video.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
desktop/views/components/followers-window.vue:
followers: "{} abonnés"
followers: "{} abonné·e·s"
desktop/views/components/followers.vue:
empty: "Il semble que vous n'avez pas encore d'abonnés."
empty: "Il semble que vous navez pas encore dabonné·e·s."
desktop/views/components/following-window.vue:
following: "Suit {}"
desktop/views/components/following.vue:
empty: "Vous ne suivez aucun compte."
desktop/views/components/friends-maker.vue:
title: "Utilisateurs recommandés :"
empty: "Impossible de trouver des utilisateurs à recommander."
fetching: "Chargement"
refresh: "Plus"
close: "Fermer"
desktop/views/components/game-window.vue:
game: "Reversi"
desktop/views/components/home.vue:
@@ -698,11 +735,11 @@ desktop/views/components/notes.vue:
desktop/views/components/notifications.vue:
empty: "Aucune de notification !"
desktop/views/components/post-form.vue:
add-visible-user: "+Ajouter un utilisateur"
add-visible-user: "+Ajouter un·e utilisateur·rice"
attach-location-information: "Attacher des informations de localisation"
hide-contents: "Masquer les contenus"
reply-placeholder: "Répondre à cette note…"
quote-placeholder: "Citer cette note…"
reply-placeholder: "Répondre à cette note …"
quote-placeholder: "Citer cette note …"
submit: "Publier"
reply: "Répondre"
renote: "Republier"
@@ -712,7 +749,7 @@ desktop/views/components/post-form.vue:
note-failed: "La note à échoué"
reply-failed: "La réponse a échoué"
renote-failed: "Échec lors de la republication"
posting: "Publication…"
posting: "Publication …"
attach-media-from-local: "Joindre un média depuis votre appareil"
attach-media-from-drive: "Joindre un média depuis votre Drive"
attach-cancel: "Annuler le fichier attaché"
@@ -725,8 +762,8 @@ desktop/views/components/post-form.vue:
visibility: "Visibilité"
geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation"
error: "Erreur"
enter-username: "Saisir un nom d'utilisateur…"
annotations: "内容への注釈 (オプション)"
enter-username: "Saisir un nom d'utilisateur …"
annotations: "Commenter le contenu (optionnel)"
desktop/views/components/post-form-window.vue:
note: "Nouvelle note"
reply: "Répondre"
@@ -747,103 +784,6 @@ desktop/views/components/renote-form-window.vue:
desktop/views/pages/user-following-or-followers.vue:
following: "{user} suit"
followers: "Abonné·e·s de {user}"
desktop/views/components/settings-window.vue:
settings: "Paramètres"
desktop/views/components/settings.vue:
profile: "Profil"
notification: "Notification"
apps: "Applications"
tags: "Hashtags"
mute-and-block: "Silencé·e·s / Bloqué·e·s"
blocking: "En cours de blocage"
security: "Sécurité"
signin: "Historique de connexion"
password: "Mot de Passe"
2fa: "Vérification en deux étapes"
other: "Autres"
license: "Licence"
theme: "Thèmes"
behaviour: "Comportement"
fetch-on-scroll: "Chargement lors du défilement"
fetch-on-scroll-desc: "Chargement automatique du contenu lors du défilement de la page."
note-visibility: "Visibilité de la publication"
default-note-visibility: "Visibilité par défaut"
remember-note-visibility: "Se souvenir du mode de visibilité de la publication"
web-search-engine: "Moteur de recherche Web"
web-search-engine-desc: "Exemple: https://www.google.com/?#q={{query}}"
auto-popout: "Fenêtre contextuelle automatique"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "Paramètres avancés"
api-via-stream: "Requête API via le flux"
api-via-stream-desc: "Lorsque ce paramètre est activé, une demande d'API est effectuée via une connexion WebSocket (pour une meilleure performance). Lorsqu'il est désactivé, l'API de récupération native est utilisée. Ce paramètre n'est valide que sur cet appareil."
deck-nav: "Deck sans tansitions"
deck-nav-desc: "Vous obtenez une colonne temporaire sans transitions dans la page pendant la navigation, lors de lutilisation du Deck."
deck-default: "Utiliser le Deck comme IU par défaut"
display: "Affichage et design"
customize: "Personnaliser l'Accueil"
wallpaper: "Arrière plan"
choose-wallpaper: "Sélectionner un fond d'écran"
delete-wallpaper: "Supprimer le fond d'écran"
dark-mode: "Mode nuit"
use-shadow: "Utiliser les ombres dans l'interface utilisateur"
rounded-corners: "Coins arrondis"
circle-icons: "Utiliser des icônes circulaires"
contrasted-acct: "Nom dutilisateur contrasté"
post-form-on-timeline: "Afficher le formulaire en haut du fil"
show-clock-on-header: "Afficher l'horloge à droite sur le coté supérieur"
show-reply-target: "Afficher les réponses"
timeline: "Chronologie"
show-my-renotes: "Afficher mes republications dans le fil"
show-renoted-my-notes: "Afficher mes republications dans les fils"
show-local-renotes: "Afficher les partages locaux sur les fils"
show-maps: "Afficher la carte"
remain-deleted-note: "Continuer à afficher les messages supprimés"
deck-column-align: "Alignement des colonnes du Deck"
deck-column-align-center: "Centrer"
deck-column-align-left: "À gauche"
deck-column-align-flexible: "Flexibles"
deck-column-width: "Largeur des colonnes du Deck"
deck-column-width-narrow: "Étroite"
deck-column-width-narrower: "Légèrement étroite"
deck-column-width-normal: "Normale"
deck-column-width-wider: "Légèrement large"
deck-column-width-wide: "Large"
sound: "Son"
enable-sounds: "Activer le son"
enable-sounds-desc: "Jouer un son lorsque vous recevez un message. Ce paramètre est sauvegardé dans le navigateur."
volume: "Volume"
test: "Test"
cache: "Cache"
clean-cache: "Nettoyage"
cache-warn: "Le nettoyage du cache du compte supprime les informations stockées dans le navigateur comme les messages, les réponses ainsi que dautres données (y compris les paramètres de configuration). Après le nettoyage, vous devez recharger la page."
cache-cleared: "Cache nettoyé"
cache-cleared-desc: "Veuillez recharger la page."
about: "À propose de Misskey"
operator: "L'admin de cette instance"
update: "Mise à jour de Misskey"
version: "Version :"
latest-version: "Dernière version :"
update-checking: "Vérification des mises à jour en cours…"
do-update: "Rechercher des mises à jour"
update-settings: "Paramètres avancés"
prevent-update: "Reporter les mises à jour (non recommandé)"
prevent-update-desc: "Même si ce paramètre est activé, la mise à jour pourrait être appliquée. Ce paramètre n'est valide que sur cet appareil."
no-updates: "Aucune mise à jour disponible"
no-updates-desc: "Votre client Misskey est à jour."
update-available: "Nouvelle version disponible !"
update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée."
advanced-settings: "Réglages avancés"
debug-mode: "Activer le mode débogage"
debug-mode-desc: "Ce paramètre est stocké dans le navigateur."
experimental: "Activer les fonctionnalités expérimentales"
experimental-desc: "Lactivation des fonctionnalités expérimentales peuvent rendre le client Misskey instable. Ce paramètre est stocké dans le navigateur."
tools: "Outils"
task-manager: "Gestionnaire de tâches"
third-parties: "Services tiers"
navbar-position: "Position de la barre de navigation"
navbar-position-top: "En haut"
navbar-position-left: "à gauche"
navbar-position-right: "à droite"
desktop/views/components/settings.2fa.vue:
intro: "Si vous configurez la vérication en deux étapes vous aurez non seulement besoin de votre mot de passe mais aussi un appareil déjà pré-enregistré(tel que votre smartphone) ce qui ameliora grandement la sécurité de votre compte."
detail: "Voir les détails..."
@@ -863,6 +803,9 @@ desktop/views/components/settings.2fa.vue:
success: "Sauvegarde des paramètres avec succès !"
failed: "Lopération a échoué. Veuillez vous assurer que le jeton a été saisi correctement."
info: "À partir de maintenant, à chaque fois que vous vous connectez entrez votre mot de passe ainsi que le jeton généré sur votre appareil."
common/views/components/media-image.vue:
sensitive: "Contenu sensible"
click-to-show: "Cliquer pour afficher"
common/views/components/api-settings.vue:
intro: "Pour accéder à l'API, définissez ce jeton comme la clé de « i » dans les paramètres de requête."
caution: "Merci de ne pas introduire ce jeton dans aucune application ou le divulguer à quiconque. Ceci risque de compromettre votre compte."
@@ -931,17 +874,10 @@ desktop/views/components/ui.header.vue:
adjective: "M."
desktop/views/components/ui.header.account.vue:
profile: "Votre profil"
favorites: "Favorites"
lists: "Listes"
follow-requests: "Demandes de suivi"
customize: "Personnaliser l'Accueil"
follow-requests: "Demandes dabonnement"
admin: "Admin"
settings: "Réglages"
signout: "Déconnexion"
dark: "Fall in dark"
desktop/views/components/ui.header.nav.vue:
home: "Accueil"
deck: "Deck"
game: "Jeux"
desktop/views/components/ui.header.notifications.vue:
title: "Notifications"
@@ -950,7 +886,7 @@ desktop/views/components/ui.header.post.vue:
desktop/views/components/ui.header.search.vue:
placeholder: "Chercher"
desktop/views/components/received-follow-requests-window.vue:
title: "Demandes de suivi"
title: "Demandes dabonnement"
accept: "Accepter"
reject: "Refuser"
desktop/views/components/user-lists-window.vue:
@@ -960,7 +896,7 @@ desktop/views/components/user-lists-window.vue:
desktop/views/components/user-preview.vue:
notes: "Publications"
following: "Abonné à"
followers: "Abonnés"
followers: "Abonné·e·s"
desktop/views/components/users-list.vue:
all: "Tout"
iknow: "Vous connaissez"
@@ -979,6 +915,8 @@ admin/views/index.vue:
federation: "Fédération"
announcements: "Annonces"
hashtags: "Hashtags"
abuse: "Abus"
queue: "File dattente"
back-to-misskey: "Retour vers Misskey"
admin/views/dashboard.vue:
dashboard: "Tableau de bord"
@@ -988,6 +926,15 @@ admin/views/dashboard.vue:
instances: "Instances"
this-instance: "Cette instance"
federated: "Fédérées"
admin/views/queue.vue:
operation: "Action(s)"
remove-all-jobs: "Enlever toutes les tâches en attente"
admin/views/abuse.vue:
title: "Abus"
target: "Cible"
reporter: "Signalé par"
details: "Détails"
remove-report: "Supprimer"
admin/views/instance.vue:
instance: "Instance"
instance-name: "Nom de linstance"
@@ -1002,7 +949,6 @@ admin/views/instance.vue:
maintainer-email: "Contact administratif"
drive-config: "Paramètres du lecteur"
cache-remote-files: "Mettre en cache des fichiers distants"
cache-remote-files-desc: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクするようになります。そのためサーバーのストレージを節約できますが、プライバシー設定で直リンクを無効にしているユーザーにはファイルが見えなくなったり、サムネイルが生成されないので通信量が増加します。通常はこの設定をオンにしておくことをおすすめします。"
local-drive-capacity-mb: "Volume du lecteur par utilisateur"
remote-drive-capacity-mb: "Volume du lecteur par utilisateur distant"
mb: "en mégaoctets"
@@ -1027,13 +973,14 @@ admin/views/instance.vue:
discord-integration-client-id: "ID client"
discord-integration-client-secret: "Secret client"
proxy-account-config: "Compte proxy"
proxy-account-info: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。"
proxy-account-username: "Nom dutilisateur du compte proxy"
proxy-account-username-desc: "Spécifiez le nom dutilisateur du compte utilisé comme proxy."
proxy-account-warn: "Avant dentamer cette action, vous devez au préalable avoir créé un compte avec ce nom dutilisateur."
max-note-text-length: "Nombre maximal de caractères pour les messages"
disable-registration: "Désactiver les inscriptions"
disable-local-timeline: "Désactiver le fil local"
disable-global-timeline: "Désactiver le fil global"
disabling-timelines-info: "Même si vous désactivez ces fils, l'administrateur et les modérateurs peuvent continuer à les utiliser."
invite: "Inviter"
save: "Sauvegarder"
saved: "Enregistré"
@@ -1051,6 +998,7 @@ admin/views/instance.vue:
smtp-secure-info: "Désactiver STARTTLS lorsque celui-ci est utilisé."
smtp-host: "Hôte SMTP"
smtp-port: "Port SMTP"
smtp-auth: "Effectuer une authentification SMTP"
smtp-user: "Utilisateur SMTP"
smtp-pass: "Mot de passe SMTP"
serviceworker-config: "ServiceWorker"
@@ -1077,6 +1025,7 @@ admin/views/charts.vue:
notes-total: "Total des notes"
users: "Nombre dutilisateurs : augmentation/diminution"
users-total: "Nombre total des utilisateurs"
active-users: "Utilisateur·rice·s actif·ve·s"
drive: "Capacité utilisée comme stockage : augmentation/diminution"
drive-total: "Utilisation totale du lecteur"
drive-files: "Le nombre de fichiers sur l'espace de stockage : augmentation/diminution"
@@ -1085,6 +1034,10 @@ admin/views/charts.vue:
network-time: "Temps de réponse"
network-usage: "Traffic"
admin/views/drive.vue:
operation: "Actions"
fileid-or-url: "ID du fichier ou URL"
file-not-found: "Fichier non trouvé"
lookup: "Recherche"
sort:
title: "Tri"
createdAtAsc: "Âge - Du plus ancien"
@@ -1100,21 +1053,32 @@ admin/views/drive.vue:
deleted: "Supprimé"
mark-as-sensitive: "Marquer comme sensible"
unmark-as-sensitive: "Ne pas marquer comme sensible"
marked-as-sensitive: "Marqué comme sensible"
unmarked-as-sensitive: "Marqué comme non sensible"
admin/views/users.vue:
operation: "Actions"
username-or-userid: "Nom dutilisateur·rice ou ID utilisateur"
user-not-found: "Utilisateur non trouvé"
lookup: "Recherche"
reset-password: "Réinitialiser mot de passe"
reset-password-confirm: "Souhaitez-vous réinitialiser votre mot de passe ?"
password-updated: "Le mot de passe est « {password} »"
suspend: "Suspendre"
suspend-confirm: "Désirez-vous suspendre ce compte ?"
suspended: "Suspendu avec succès."
unsuspend: "Suspension levée"
unsuspend-confirm: "Souhaiteriez-vous ne plus suspendre ce compte ?"
unsuspended: "La suspension de lutilisateur a été levée avec succès"
make-silence: "Mettre en sourdine"
unmake-silence: "Enlever la sourdine"
verify: "Vérification du compte"
verify-confirm: "Souhaiteriez-vous rendre votre compte comme étant un compte vérifié ?"
verified: "Le compte a été vérifié"
unverify: "Enlever la vérification du compte"
unverify-confirm: "Désirez-vous considérer ce compte comme étant non-vérifié ?"
unverified: "Ce compte n'est plus vérifié"
update-remote-user: "Mettre à jour les informations de lutilisateur·rice distant·e"
remote-user-updated: "Les informations de lutilisateur·rice distant·e ont étés mis à jour"
users:
title: "Utilisateurs"
sort:
@@ -1123,6 +1087,15 @@ admin/views/users.vue:
createdAtDesc: "Date dinscription (Descendant)"
updatedAtAsc: "Mis à jour récemment (Ascendant)"
updatedAtDesc: "Mis à jour récemment (descendant)"
state:
title: "État"
all: "Tout"
admin: "Admin"
moderator: "Modérateur"
adminOrModerator: "Administrateur/Modérateur"
verified: "Compte vérifié"
silenced: "Déjà mis en sourdine"
suspended: "Suspendu"
origin:
title: "Origine"
combined: "Locaux + distants"
@@ -1135,6 +1108,8 @@ admin/views/moderators.vue:
title: "Ajout dun modérateur"
add: "Ajouter"
added: "Ajouté en tant que modérateur"
remove: "Révoquer"
removed: "Le modérateur a été révoqué"
admin/views/emoji.vue:
add-emoji:
title: "Ajouter un émoji"
@@ -1167,13 +1142,55 @@ admin/views/announcements.vue:
removed: "Supprimé"
admin/views/hashtags.vue:
hided-tags: "Tags cachés"
admin/views/federation.vue:
federation: "Fédération"
host: "Hôte"
notes: "Notes"
users: "Utilisateur·rice·s"
following: "Abonnements"
followers: "Abonné·e·s"
status: "Statuts"
latest-request-sent-at: "Dernière requête envoyée"
latest-request-received-at: "Dernière requête reçue"
remove-all-following-info: "Se désabonner de tous les comptes de {host}. Exécutez cette commande si l'instance n'existe plus."
block: "Bloquer"
marked-as-closed: "Marquées comme fermées"
lookup: "Recherche"
instances: "Instances"
sort: "Trier par"
sorts:
caughtAtAsc: "Date dinscription (Ascendant)"
caughtAtDesc: "Date dinscription (Descendant)"
lastCommunicatedAtAsc: "La date et l'heure des interactions plus anciennes"
lastCommunicatedAtDesc: "La date et l'heure des nouvelles interactions"
notesDesc: "Description des notes"
followingAsc: "Les moins suivies"
followingDesc: "Ayant le plus d'abonné·e·s"
followersAsc: "Ayant le moins d'abonné·e·s"
followersDesc: "Ayant le plus d'abonné·e·s"
driveUsageAsc: "Moins d'espace de stockage utilisé"
state: "État"
states:
all: "Tout"
blocked: "Bloquées"
not-responding: "Sans réponse"
marked-as-closed: "Marquée comme fermée"
charts: "Graphs"
chart-srcs:
requests: "Requêtes"
users: "Nombre dutilisateurs·trices : augmentation/diminution"
users-total: "Nombre total des utilisateur·rice·s"
notes: "Augmentation/diminution du nombre des notes"
notes-total: "Nombre total des notes"
ff: "Augmentation des abonné·e·s"
drive-usage: "Augmentation et diminution de la capacité stockage"
drive-usage-total: "Utilisation totale du stockage"
drive-files-total: "Nombre total des fichiers sur le Drive"
chart-spans:
hour: "Par heure"
day: "Par jour"
desktop/views/pages/welcome.vue:
about: "à propos"
gotit: "J'ai compris !"
signin: "Connexion"
signup: "S'enregistrer"
signin-button: "Se connecter"
signup-button: "S'inscrire"
timeline: "Fil dactualité"
announcements: "Notices"
photos: "Images récentes"
@@ -1181,8 +1198,6 @@ desktop/views/pages/welcome.vue:
info: "Informations"
desktop/views/pages/drive.vue:
title: "Lecteur de Misskey"
desktop/views/pages/home-customize.vue:
title: "Personnaliser l'Accueil"
desktop/views/pages/note.vue:
prev: "Note précédente"
next: "Note suivante"
@@ -1194,16 +1209,14 @@ desktop/views/pages/selectdrive.vue:
desktop/views/pages/search.vue:
not-available: "La fonction de recherche est désactivée dans les paramètres de linstance."
not-found: "Aucune publication trouvée pour « {q} »."
desktop/views/pages/share.vue:
share-with: "Partager avec {name}"
desktop/views/pages/tag.vue:
no-posts-found: "Aucune publication contenant « {q} » na été trouvée."
desktop/views/pages/user-list.users.vue:
users: "Utilisateurs"
users: "Utilisateur·rice·s"
add-user: "Ajouter un utilisateur"
username: "Nom d'utilisateur"
desktop/views/pages/user/user.followers-you-know.vue:
title: "Abonnés que vous connaissez"
title: "Abonné·e·s que vous connaissez"
loading: "Chargement en cours"
no-users: "Aucun abonné connu"
desktop/views/pages/user/user.friends.vue:
@@ -1214,40 +1227,26 @@ desktop/views/pages/user/user.photos.vue:
title: "Photos"
loading: "Chargement en cours"
no-photos: "Pas de photos"
desktop/views/pages/user/user.profile.vue:
follows-you: "Vous suit"
stalk: "Traquer"
stalking: "Entrain de poursuivre"
unstalk: "Cesser la poursuite"
mute: "Mettre en sourdine"
muted: "Muting"
unmute: "Enlever la sourdine"
block: "Bloquer"
unblock: "Débloquer"
block-confirm: "Bloquer cet utilisateur ?"
push-to-a-list: "Ajouter à la liste"
list-pushed: "Vous avez ajouté {user} à la liste {list}."
desktop/views/pages/user/user.header.vue:
posts: "Notes"
following: "Suit"
followers: "Abonnés"
mention: "Mentions"
followers: "Abonné·e·s"
is-bot: "Ce compte est un Bot"
no-description: "L'utilisateur n'a pas renseigné d'introduction sur son profile"
years-old: "{age} ans"
year: "/"
month: "/"
day: "-"
follows-you: "Vous suit"
desktop/views/pages/user/user.timeline.vue:
default: "Publications"
with-replies: "Publications et réponses"
with-media: "Média"
my-posts: "Mes Messages"
empty: "Cet utilisateur n'a rien posté encore."
desktop/views/widgets/messaging.vue:
title: "Messagerie"
desktop/views/widgets/notifications.vue:
title: "Notifications"
settings: "Réglages"
desktop/views/widgets/polls.vue:
title: "Sondages"
refresh: "Afficher d'autres"
@@ -1263,7 +1262,7 @@ desktop/views/widgets/trends.vue:
refresh: "Afficher d'autres"
nothing: "Rien"
desktop/views/widgets/users.vue:
title: "Utilisateurs"
title: "Utilisateurs·rices"
refresh: "Afficher d'autres"
no-one: "Personne"
mobile/views/components/drive.vue:
@@ -1276,8 +1275,6 @@ mobile/views/components/drive.vue:
prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
deletion-alert: "Désolé ! La suppression dun dossier nest pas encore implémentée."
folder-name: "Nom du dossier"
root-rename-alert: "L'emplacement actuel est la racine, pas le dossier, vous ne pouvez donc pas le renommer. Veuillez vous déplacer dans le dossier dont vous souhaitez modifier le nom."
root-move-alert: "L'emplacement actuel est la racine, ce n'est pas un dossier et il ne peut pas être déplacé. Veuillez vous déplacer dans le dossier que vous souhaitez déplacer."
url-prompt: "URL du fichier que vous souhaitez téléverser"
uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever."
mobile/views/components/drive-file-chooser.vue:
@@ -1295,9 +1292,6 @@ mobile/views/components/drive.file-detail.vue:
nsfw: "CW"
mark-as-sensitive: "Marquer comme sensible"
unmark-as-sensitive: "Ne pas marquer comme sensible"
mobile/views/components/media-image.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
mobile/views/components/media-video.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
@@ -1307,12 +1301,6 @@ common/views/components/follow-button.vue:
request-pending: "Demande en attente"
follow-processing: "En cours dabonnement"
follow-request: "Demande dabonnement"
mobile/views/components/friends-maker.vue:
title: "Abonnez-vous à"
empty: "Impossible de trouver des utilisateurs à recommander."
fetching: "Chargement"
refresh: "Voir plus"
close: "Fermer"
mobile/views/components/note.vue:
private: "cette publication est privée"
deleted: "cette publication a été supprimée"
@@ -1334,11 +1322,11 @@ mobile/views/components/note-sub.vue:
mobile/views/components/notifications.vue:
empty: "Aucune de notification !"
mobile/views/components/post-form.vue:
add-visible-user: "Ajouter un utilisateur"
add-visible-user: "Ajouter un·e utilisateur·rice"
submit: "Publier"
reply: "Répondre"
renote: "Republier"
quote-placeholder: "Citer ce billet... (Facultatif)"
quote-placeholder: "Citer ce billet ... (Facultatif)"
reply-placeholder: "Répondre à cette note"
cw-placeholder: "Commenter le contenu (optionnel)"
location-alert: "Votre appareil ne prend pas en charge les services de localisation"
@@ -1349,8 +1337,6 @@ mobile/views/components/sub-note-content.vue:
deleted: "cette publication a été supprimée"
media-count: "{} médias attachés"
poll: "Sondage"
mobile/views/components/timeline.vue:
empty: "Pas de notes"
mobile/views/components/ui.header.vue:
welcome-back: "Content de vous revoir ! "
adjective: "M."
@@ -1359,22 +1345,11 @@ mobile/views/components/ui.nav.vue:
notifications: "Notifications"
follow-requests: "Demandes dabonnement"
search: "Rechercher"
favorites: "Favoris"
user-lists: "Listes"
widgets: "Modules"
game: "Jeux"
darkmode: "Mode nuit"
settings: "Réglages"
admin: "Admin"
about: "À propos de Misskey"
mobile/views/components/user-timeline.vue:
no-notes: "Il semble que cet utilisateur na rien publié pour le moment."
no-notes-with-media: "Aucune note comprenant des médias"
mobile/views/components/users-list.vue:
all: "Tout"
known: "Vous connaissez"
mobile/views/pages/favorites.vue:
title: "Favoris"
mobile/views/pages/user-lists.vue:
title: "Listes"
enter-list-name: "Nom de la liste"
@@ -1393,11 +1368,8 @@ mobile/views/pages/home.vue:
messages: "Messages"
mobile/views/pages/tag.vue:
no-posts-found: "Aucune publication ayant pour hashtag « {q} » na été trouvée."
mobile/views/pages/welcome.vue:
signup: "S'enregistrer"
mobile/views/pages/widgets.vue:
dashboard: "Tableau de bord"
widgets-hints: "Vous pouvez ajouter, supprimer et réarranger les widgets. Faites glisser « 三 » pour déplacer le widget. Appuyez sur « x » pour supprimer le widget. Certains widgets peuvent changer dapparence en cliquant dessus."
add-widget: "Ajouter"
customization-tips: "Conseils de personnalisation"
mobile/views/pages/widgets/activity.vue:
@@ -1409,12 +1381,9 @@ mobile/views/pages/received-follow-requests.vue:
accept: "Accepter"
reject: "Refuser"
mobile/views/pages/note.vue:
title: "Post"
title: "Publication"
prev: "Note précédente"
next: "Note suivante"
mobile/views/pages/notifications.vue:
notifications: "Notifications"
read-all: "Êtes-vous sûr de vouloir marquer lensemble des notifications comme étant lues ?"
mobile/views/pages/games/reversi.vue:
reversi: "Reversi"
mobile/views/pages/search.vue:
@@ -1423,78 +1392,25 @@ mobile/views/pages/search.vue:
mobile/views/pages/selectdrive.vue:
select-file: "Choisissez un fichier"
mobile/views/pages/settings.vue:
signed-in-as: "Connecté en tant que {}"
design: "Affichage et design"
dark-mode: "Mode nuit"
i-am-under-limited-internet: "J'ai un accès Internet limité"
circle-icons: "Utiliser des icônes circulaires"
contrasted-acct: "Nom dutilisateur contrasté"
timeline: "Fil dactualité"
show-reply-target: "Afficher les réponses"
show-my-renotes: "Afficher mes partages"
show-renoted-my-notes: "Afficher mes notes partagées"
show-local-renotes: "Afficher les notes partagées localement"
post-style: "Style de la publication"
post-style-standard: "Standard"
post-style-smart: "Intelligent"
notification-position: "Style de notification"
notification-position-bottom: "en bas"
notification-position-top: "en haut"
behavior: "Comportement"
fetch-on-scroll: "Chargement lors du défilement"
note-visibility: "Visibilité de la publication"
default-note-visibility: "Visibilité par défaut"
remember-note-visibility: "Se souvenir du mode de visibilité de la publication"
web-search-engine: "Moteur de recherche Web"
web-search-engine-desc: "Exemple: https://www.google.com/?#q={{query}}"
disable-via-mobile: "Ne pas mentionner que ma publication provient d'un « périphérique mobile »"
load-raw-images: "Afficher les photos jointes en haute qualité"
load-remote-media: "Afficher les médias sur le serveur distant"
update: "Mise à jour de Misskey"
version: "Version :"
latest-version: "Dernière version :"
update-checking: "Recherche de mises à jour"
check-for-updates: "Fréquence de vérification"
no-updates: "Aucune mise à jour disponible"
no-updates-desc: "Votre Misskey est à jour."
update-available: "Nouvelle version disponible !"
update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée."
settings: "Réglages"
signout: "Déconnexion"
sound: "Sons"
enable-sounds: "Activer les sons"
password: "Mot de Passe"
signed-in-as: "Connecté·e en tant que {}"
mobile/views/pages/user.vue:
follows-you: "Vous suit"
following: "Abonnements"
followers: "Abonnés"
followers: "Abonné·e·s"
notes: "Notes"
overview: "Aperçu"
timeline: "Fil dactualité"
media: "Média"
mute: "Mettre en sourdine"
unmute: "Enlever la sourdine"
block: "Bloquer"
unblock: "Débloquer"
years-old: "{age} ans"
push-to-list: "Ajouter à la liste"
select-list: "Sélectionnez une liste"
list-pushed: "Vous avez ajouté {user} à la liste {list} avec succès."
mobile/views/pages/user/home.vue:
recent-notes: "Notes récentes"
images: "Images"
activity: "Activité"
keywords: "Mot clés"
domains: "Domaines"
frequently-replied-users: "Utilisateurs mentionnés souvent"
followers-you-know: "Abonnés que vous connaissez"
frequently-replied-users: "Mentions fréquentes"
followers-you-know: "Abonné·e·s que vous connaissez"
last-used-at: "Dernière connexion il y a"
mobile/views/pages/user/home.followers-you-know.vue:
no-users: "Aucun utilisateur connu"
mobile/views/pages/user/home.friends.vue:
no-users: "Aucun utilisateur connu"
mobile/views/pages/user/home.notes.vue:
no-notes: "Pas de notes"
mobile/views/pages/user/home.photos.vue:
no-photos: "Pas de photos"
deck:
@@ -1508,6 +1424,7 @@ deck:
direct: "Messages directs"
notifications: "Notifications"
list: "Listes"
select-list: "Sélectionnez une liste"
swap-left: "Déplacer à gauche"
swap-right: "Déplacer à droite"
swap-up: "Déplacer vers le haut"
@@ -1517,20 +1434,21 @@ deck:
rename: "Renommer"
stack-left: "Vers la gauche"
pop-right: "Vers la droite"
disabled-timeline:
title: "Le fil été désactivé"
description: "Ce fil a été désactivé par l'administrateur du serveur."
deck/deck.tl-column.vue:
is-media-only: "Les publications médias uniquement"
is-media-view: "Vue média"
edit: "Option"
deck/deck.user-column.vue:
follows-you: "Vous suit"
posts: "Notes"
following: "Suit"
followers: "Abonnés"
mention: "Mentions"
images: "Images"
activity: "Activité"
timeline: "Fil dactualité"
pinned-notes: "Notes épinglées"
push-to-a-list: "Ajouter à une liste"
docs:
edit-this-page-on-github: "Vous avez trouvé une erreur ou vous voulez contribuer à la documentation ?"
edit-this-page-on-github-link: "Éditez cette page sur GitHub !"

3
locales/index.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
declare const locales: { [lang: string]: any };
export = locales;

View File

@@ -5,9 +5,46 @@
const fs = require('fs');
const yaml = require('js-yaml');
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN', 'ko-KR'];
const merge = (...args) => args.reduce((a, c) => ({
...a,
...c,
...Object.entries(a)
.filter(([k]) => c && typeof c[k] === 'object')
.reduce((a, [k, v]) => (a[k] = merge(v, c[k]), a), {})
}), {});
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
const locales = langs.map(lang => ({ [lang]: loadLocale(lang) }));
const languages = [
'de-DE',
'en-US',
'es-ES',
'fr-FR',
'ja-JP',
'ja-KS',
'ko-KR',
'nl-NL',
'pl-PL',
'zh-CN',
];
module.exports = locales.reduce((a, b) => ({ ...a, ...b }));
const primaries = {
'ja': 'JP',
'zh': 'CN',
};
const locales = languages.reduce((a, c) => (a[c] = yaml.safeLoad(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8')) || {}, a), {});
module.exports = Object.entries(locales)
.reduce((a, [k ,v]) => (a[k] = (() => {
const [lang] = k.split('-');
switch (k) {
case 'ja-JP': return v;
case 'ja-KS':
case 'en-US': return merge(locales['ja-JP'], v);
default: return merge(
locales['ja-JP'],
locales['en-US'],
locales[`${lang}-${primaries[lang]}`] || {},
v
);
}
})(), a), {});

File diff suppressed because it is too large Load Diff

View File

@@ -27,6 +27,14 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
customize-home: "ホームをカスタマイズ"
featured-notes: "ハイライト"
dark-mode: "ダークモード"
signin: "ログイン"
signup: "新規登録"
signout: "ログアウト"
reload-to-apply-the-setting: "この設定を反映するにはページをリロードする必要があります。今すぐリロードしますか?"
got-it: "わかった"
customization-tips:
@@ -57,6 +65,17 @@ common:
trash: "ゴミ箱"
drive: "ドライブ"
messaging: "トーク"
home: "ホーム"
deck: "デッキ"
timeline: "タイムライン"
explore: "みつける"
following: "フォロー中"
followers: "フォロワー"
favorites: "お気に入り"
empty-timeline-info:
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
explore: "ユーザーを探索する"
weekday-short:
sunday: "日"
@@ -108,39 +127,131 @@ common:
e: "ここに書いてください"
f: "あなたが書くのを待っています..."
settings: "設定"
_settings:
profile: "プロフィール"
notification: "通知"
apps: "アプリ"
tags: "ハッシュタグ"
mute-and-block: "ミュート/ブロック"
blocking: "ブロック"
security: "セキュリティ"
signin: "ログイン履歴"
password: "パスワード"
other: "その他"
appearance: "デザイン"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
fetch-on-scroll-desc: "ページを下までスクロールしたときに自動で追加のコンテンツを読み込みます。"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
disable-showing-animated-images: "アニメーション画像を再生しない"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
show-via: "viaを表示する"
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
font-size: "文字の大きさ"
font-size-x-small: "小さい"
font-size-small: "少し小さい"
font-size-medium: "普通"
font-size-large: "少し大きい"
font-size-x-large: "大きい"
deck-column-align: "デッキのカラムの配置"
deck-column-align-center: "中央"
deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める"
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
wallpaper: "壁紙"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
show-my-renotes: "自分の行ったRenoteをタイムラインに表示する"
show-renoted-my-notes: "自分の投稿のRenoteをタイムラインに表示する"
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
remain-deleted-note: "削除された投稿を表示し続ける"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム"
test: "テスト"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
update-checking: "アップデートを確認中"
do-update: "アップデートを確認"
update-settings: "詳細設定"
no-updates: "利用可能な更新はありません"
no-updates-desc: "お使いのMisskeyは最新です。"
update-available: "新しいバージョンが利用可能です"
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
advanced-settings: "高度な設定"
debug-mode: "デバッグモードを有効にする"
debug-mode-desc: "この設定はブラウザに記憶されます。"
navbar-position: "ナビゲーションバーの位置"
navbar-position-top: "上"
navbar-position-left: "左"
navbar-position-right: "右"
i-am-under-limited-internet: "私は通信を制限されている"
post-style: "投稿の表示スタイル"
post-style-standard: "標準"
post-style-smart: "スマート"
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
search: "検索"
delete: "削除"
loading: "読み込み中"
ok: "わかった"
ok: "おk"
cancel: "やめる"
update-available-title: "更新があります"
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
show-via: "viaを表示する"
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
hide-password: "パスワードを隠す"
show-password: "パスワードを表示する"
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。"
is-remote-user: "このユーザー情報は不正確な可能性があります。"
is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
no-notes: "投稿がありません"
turn-on-darkmode: "闇に飲まれる"
turn-off-darkmode: "光あれ"
error:
title: "問題が発生しました"
@@ -211,6 +322,23 @@ auth/views/index.vue:
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/pages/explore.vue:
verified-users: "公式アカウント"
popular-users: "人気のユーザー"
recently-updated-users: "最近投稿したユーザー"
recently-registered-users: "新規ユーザー"
popular-tags: "人気のタグ"
federated: "連合"
explore: "{host}を探索"
users-info: "現在{users}ユーザーが登録されています"
common/views/components/url-preview.vue:
enable-player: "プレイヤーを開く"
disable-player: "プレイヤーを閉じる"
common/views/components/user-list.vue:
no-users: "ユーザーがいません"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
@@ -373,19 +501,42 @@ common/views/components/note-menu.vue:
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入り解除"
watch: "ウォッチ"
unwatch: "ウォッチ解除"
pin: "ピン留め"
unpin: "ピン留め解除"
delete: "削除"
delete-confirm: "この投稿を削除しますか?"
remote: "投稿元で見る"
common/views/components/user-menu.vue:
mention: "メンション"
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
report-abuse: "スパムを報告"
report-abuse-detail: "どのような迷惑行為を行っていますか?"
report-abuse-reported: "管理者に報告されました。ご協力ありがとうございました。"
silence: "サイレンス"
unsilence: "サイレンス解除"
suspend: "凍結"
unsuspend: "凍結解除"
common/views/components/poll.vue:
vote-to: "「{}」に投票する"
vote-count: "{}票"
total-users: "{}人が投票"
total-votes: "{}票"
vote: "投票する"
show-result: "結果を見る"
voted: "投票済み"
closed: "終了済み"
remaining-days: "終了まであと{d}日{h}時間"
remaining-hours: "終了まであと{h}時間{m}分"
remaining-minutes: "終了まであと{m}分{s}秒"
remaining-seconds: "終了まであと{s}秒"
common/views/components/poll-editor.vue:
no-only-one-choice: "アンケートには、選択肢が最低2つ必要です"
@@ -393,6 +544,20 @@ common/views/components/poll-editor.vue:
remove: "この選択肢を削除"
add: "+選択肢を追加"
destroy: "アンケートを破棄"
multiple: "複数回答可"
expiration: "期限"
infinite: "無期限"
at: "日時指定"
after: "経過指定"
no-more: "これ以上追加できません"
deadline-date: "期日"
deadline-time: "時間"
interval: "期間"
unit: "単位"
second: "秒"
minute: "分"
hour: "時間"
day: "日"
common/views/components/reaction-picker.vue:
choose-reaction: "リアクションを選択"
@@ -413,7 +578,6 @@ common/views/components/signin.vue:
password: "パスワード"
token: "トークン"
signing-in: "やってます..."
signin: "サインイン"
or: "または"
signin-with-twitter: "Twitterでログイン"
signin-with-github: "GitHubでログイン"
@@ -517,6 +681,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
you-can-include-hashtags: "ハッシュタグを含めることができます。"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
@@ -536,6 +701,21 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
export: "エクスポート"
import: "インポート"
export-and-import: "エクスポートとインポート"
export-targets:
all-notes: "すべての投稿データ"
following-list: "フォロー"
mute-list: "ミュート"
blocking-list: "ブロック"
user-lists: "リスト"
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
import-requested: "インポートをリクエストしました。これには時間がかかる場合があります。"
enter-password: "パスワードを入力してください"
danger-zone: "危険な設定"
delete-account: "アカウントを削除"
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
common/views/components/user-list-editor.vue:
users: "ユーザー"
@@ -717,10 +897,6 @@ desktop/views/components/drive.vue:
upload: "ファイルをアップロード"
url-upload: "URLからアップロード"
desktop/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
@@ -737,13 +913,6 @@ desktop/views/components/following-window.vue:
desktop/views/components/following.vue:
empty: "フォロー中のユーザーはいないようです。"
desktop/views/components/friends-maker.vue:
title: "気になるユーザーをフォロー:"
empty: "おすすめのユーザーは見つかりませんでした。"
fetching: "読み込んでいます"
refresh: "もっと見る"
close: "閉じる"
desktop/views/components/game-window.vue:
game: "リバーシ"
@@ -842,113 +1011,6 @@ desktop/views/pages/user-following-or-followers.vue:
following: "{user}のフォロー"
followers: "{user}のフォロワー"
desktop/views/components/settings-window.vue:
settings: "設定"
desktop/views/components/settings.vue:
profile: "プロフィール"
notification: "通知"
apps: "アプリ"
tags: "ハッシュタグ"
mute-and-block: "ミュート/ブロック"
blocking: "ブロック"
security: "セキュリティ"
signin: "サインイン履歴"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
behaviour: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
fetch-on-scroll-desc: "ページを下までスクロールしたときに自動で追加のコンテンツを読み込みます。"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "詳細設定"
api-via-stream: "ストリームを経由したAPIリクエスト"
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
deck-nav: "デッキ内ナビゲーション"
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
wallpaper: "壁紙"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "ダークモード"
use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める"
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
show-my-renotes: "自分の行ったRenoteをタイムラインに表示する"
show-renoted-my-notes: "自分の投稿のRenoteをタイムラインに表示する"
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの配置"
deck-column-align-center: "中央"
deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム"
test: "テスト"
cache: "キャッシュ"
clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
update-checking: "アップデートを確認中"
do-update: "アップデートを確認"
update-settings: "詳細設定"
prevent-update: "アップデートを延期する(非推奨)"
prevent-update-desc: "この設定をオンにしてもアップデートが反映される場合があります。この設定はこのデバイスのみ有効です。"
no-updates: "利用可能な更新はありません"
no-updates-desc: "お使いのMisskeyは最新です。"
update-available: "新しいバージョンが利用可能です"
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
advanced-settings: "高度な設定"
debug-mode: "デバッグモードを有効にする"
debug-mode-desc: "この設定はブラウザに記憶されます。"
experimental: "実験的機能を有効にする"
experimental-desc: "実験的機能を有効にするとMisskeyの動作が不安定になる可能性があります。この設定はブラウザに記憶されます。"
tools: "ツール"
task-manager: "タスクマネージャ"
third-parties: "サードパーティ"
navbar-position: "ナビゲーションバーの位置"
navbar-position-top: "上"
navbar-position-left: "左"
navbar-position-right: "右"
desktop/views/components/settings.2fa.vue:
intro: "二段階認証を設定すると、サインイン時にパスワードだけでなく、予め登録しておいた物理的なデバイス(例えばあなたのスマートフォンなど)も必要になり、よりセキュリティが向上します。"
detail: "詳細..."
@@ -969,6 +1031,10 @@ desktop/views/components/settings.2fa.vue:
failed: "設定に失敗しました。トークンに誤りがないかご確認ください。"
info: "次回サインインからは、同様にパスワードに加えてデバイスに表示されているトークンを入力します。"
common/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
common/views/components/api-settings.vue:
intro: "APIを利用するには、上記のトークンを「i」というキーでパラメータに付加してリクエストします。"
caution: "アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。"
@@ -1047,18 +1113,11 @@ desktop/views/components/ui.header.vue:
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー申請"
customize: "ホームのカスタマイズ"
admin: "管理"
settings: "設定"
signout: "サインアウト"
dark: "闇に飲まれる"
desktop/views/components/ui.header.nav.vue:
home: "ホーム"
deck: "デッキ"
game: "ゲーム"
desktop/views/components/ui.header.notifications.vue:
@@ -1106,6 +1165,9 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
queue: "ジョブキュー"
logs: "ログ"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
@@ -1117,6 +1179,17 @@ admin/views/dashboard.vue:
this-instance: "このインスタンス"
federated: "連合"
admin/views/queue.vue:
title: "キュー"
remove-all-jobs: "すべてのジョブをクリア"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
details: "詳細"
remove-report: "削除"
admin/views/instance.vue:
instance: "インスタンス"
instance-name: "インスタンス名"
@@ -1163,6 +1236,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@@ -1180,6 +1255,7 @@ admin/views/instance.vue:
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-auth: "SMTP認証を行う"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
serviceworker-config: "ServiceWorker"
@@ -1207,6 +1283,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@@ -1216,6 +1293,10 @@ admin/views/charts.vue:
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
@@ -1231,6 +1312,8 @@ admin/views/drive.vue:
deleted: "削除しました"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
marked-as-sensitive: "閲覧注意に設定しました"
unmarked-as-sensitive: "閲覧注意を解除しました"
admin/views/users.vue:
operation: "操作"
@@ -1238,15 +1321,24 @@ admin/views/users.vue:
user-not-found: "ユーザーが見つかりません"
lookup: "照会"
reset-password: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
make-silence: "サイレンス"
unmake-silence: "サイレンスの解除"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@@ -1262,6 +1354,7 @@ admin/views/users.vue:
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
silenced: "サイレンス済み"
suspended: "凍結済み"
origin:
title: "オリジン"
@@ -1314,13 +1407,67 @@ admin/views/announcements.vue:
admin/views/hashtags.vue:
hided-tags: "Hidden Tags"
admin/views/federation.vue:
federation: "連合"
host: "ホスト"
notes: "投稿"
users: "ユーザー"
following: "フォロー中"
followers: "フォロワー"
status: "ステータス"
latest-request-sent-at: "直近のリクエスト送信"
latest-request-received-at: "直近のリクエスト受信"
remove-all-following: "フォローを全解除"
remove-all-following-info: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
block: "ブロック"
marked-as-closed: "閉鎖されているとマーク"
lookup: "照会"
instances: "インスタンス"
instance-not-registered: "そのインスタンスは登録されていません"
sort: "ソート"
sorts:
caughtAtAsc: "登録日時が古い順"
caughtAtDesc: "登録日時が新しい順"
lastCommunicatedAtAsc: "最後にやり取りした日時が古い順"
lastCommunicatedAtDesc: "最後にやり取りした日時が新しい順"
notesAsc: "投稿が少ない順"
notesDesc: "投稿が多い順"
usersAsc: "ユーザーが少ない順"
usersDesc: "ユーザーが多い順"
followingAsc: "フォローが少ない順"
followingDesc: "フォローが多い順"
followersAsc: "フォロワーが少ない順"
followersDesc: "フォロワーが多い順"
driveUsageAsc: "ドライブ使用量が少ない順"
driveUsageDesc: "ドライブ使用量が多い順"
driveFilesAsc: "ドライブのファイル数が少ない順"
driveFilesDesc: "ドライブのファイル数が多い順"
state: "状態"
states:
all: "すべて"
blocked: "ブロック"
not-responding: "応答なし"
marked-as-closed: "閉鎖とマーク済み"
result-is-truncated: "上位{n}件を表示しています。"
charts: "チャート"
chart-srcs:
requests: "リクエスト"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
notes: "投稿の増減"
notes-total: "投稿の積算"
ff: "フォロー/フォロワーの増減"
ff-total: "フォロー/フォロワーの積算"
drive-usage: "ドライブ使用量の増減"
drive-usage-total: "ドライブ使用量の積算"
drive-files: "ドライブファイル数の増減"
drive-files-total: "ドライブファイル数の積算"
chart-spans:
hour: "1時間ごと"
day: "1日ごと"
desktop/views/pages/welcome.vue:
about: "詳しく..."
gotit: "わかった"
signin: "ログイン"
signup: "新規登録"
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
announcements: "お知らせ"
photos: "最近の画像"
@@ -1330,9 +1477,6 @@ desktop/views/pages/welcome.vue:
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/home-customize.vue:
title: "ホームのカスタマイズ"
desktop/views/pages/note.vue:
prev: "前の投稿"
next: "次の投稿"
@@ -1347,9 +1491,6 @@ desktop/views/pages/search.vue:
not-available: "検索機能はインスタンスの設定で無効になっています。"
not-found: "「{q}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{name}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
@@ -1373,44 +1514,29 @@ desktop/views/pages/user/user.photos.vue:
loading: "読み込み中"
no-photos: "写真はありません"
desktop/views/pages/user/user.profile.vue:
follows-you: "フォローされています"
stalk: "ストークする"
stalking: "ストーキングしています"
unstalk: "ストーク解除"
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
block: "ブロックする"
unblock: "ブロック解除"
block-confirm: "このユーザーをブロックしますか?"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです"
no-description: "自己紹介はありません"
years-old: "{age}歳"
year: "年"
month: "月"
day: "日"
follows-you: "フォローされています"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
desktop/views/widgets/notifications.vue:
title: "通知"
settings: "通知の設定"
desktop/views/widgets/polls.vue:
title: "アンケート"
@@ -1445,8 +1571,7 @@ mobile/views/components/drive.vue:
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
folder-name: "フォルダー名"
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
here-is-root: "現在いる場所はルートで、フォルダではありません。"
url-prompt: "アップロードしたいファイルのURL"
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
@@ -1469,10 +1594,6 @@ mobile/views/components/drive.file-detail.vue:
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
@@ -1484,13 +1605,6 @@ common/views/components/follow-button.vue:
follow-processing: "フォロー処理中"
follow-request: "フォロー申請"
mobile/views/components/friends-maker.vue:
title: "気になるユーザーをフォロー"
empty: "おすすめのユーザーは見つかりませんでした。"
fetching: "読み込んでいます"
refresh: "もっと見る"
close: "閉じる"
mobile/views/components/note.vue:
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@@ -1534,9 +1648,6 @@ mobile/views/components/sub-note-content.vue:
media-count: "{}つのメディア"
poll: "アンケート"
mobile/views/components/timeline.vue:
empty: "投稿がありません"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
@@ -1546,26 +1657,12 @@ mobile/views/components/ui.nav.vue:
notifications: "通知"
follow-requests: "フォロー申請"
search: "検索"
favorites: "お気に入り"
user-lists: "リスト"
widgets: "ウィジェット"
game: "ゲーム"
darkmode: "ダークモード"
settings: "設定"
admin: "管理"
about: "Misskeyについて"
mobile/views/components/user-timeline.vue:
no-notes: "このユーザーは投稿していないようです。"
no-notes-with-media: "メディア付き投稿はありません。"
mobile/views/components/users-list.vue:
all: "すべて"
known: "知り合い"
mobile/views/pages/favorites.vue:
title: "お気に入り"
mobile/views/pages/user-lists.vue:
title: "リスト"
enter-list-name: "リスト名を入力してください"
@@ -1590,9 +1687,6 @@ mobile/views/pages/home.vue:
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
@@ -1615,10 +1709,6 @@ mobile/views/pages/note.vue:
prev: "前の投稿"
next: "次の投稿"
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
@@ -1631,46 +1721,6 @@ mobile/views/pages/selectdrive.vue:
mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中"
design: "デザインと表示"
dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている"
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
timeline: "タイムライン"
show-reply-target: "リプライ先を表示する"
show-my-renotes: "自分の行ったRenoteを表示する"
show-renoted-my-notes: "自分の投稿のRenoteを表示する"
show-local-renotes: "ローカルの投稿のRenoteを表示する"
post-style: "投稿の表示スタイル"
post-style-standard: "標準"
post-style-smart: "スマート"
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
update-checking: "アップデートを確認中"
check-for-updates: "アップデートを確認"
no-updates: "利用可能な更新はありません"
no-updates-desc: "お使いのMisskeyは最新です。"
update-available: "新しいバージョンが利用可能です"
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
settings: "設定"
signout: "サインアウト"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされています"
@@ -1680,14 +1730,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "タイムライン"
media: "メディア"
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿"
@@ -1695,19 +1738,10 @@ mobile/views/pages/user/home.vue:
activity: "アクティビティ"
keywords: "キーワード"
domains: "頻出ドメイン"
frequently-replied-users: "よく話すユーザー"
frequently-replied-users: "よく話すユーザー"
followers-you-know: "知り合いのフォロワー"
last-used-at: "最終ログイン"
mobile/views/pages/user/home.followers-you-know.vue:
no-users: "知り合いのユーザーはいません"
mobile/views/pages/user/home.friends.vue:
no-users: "よく会話するユーザーはいません"
mobile/views/pages/user/home.notes.vue:
no-notes: "投稿はありません"
mobile/views/pages/user/home.photos.vue:
no-photos: "写真はありません"
@@ -1722,6 +1756,7 @@ deck:
direct: "ダイレクト投稿"
notifications: "通知"
list: "リスト"
select-list: "リストを選択してください"
swap-left: "左に移動"
swap-right: "右に移動"
swap-up: "上に移動"
@@ -1731,22 +1766,23 @@ deck:
rename: "名前を変更"
stack-left: "左に重ねる"
pop-right: "右に出す"
disabled-timeline:
title: "無効化されたタイムライン"
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
deck/deck.user-column.vue:
follows-you: "フォローされています"
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
mention: "メンション"
images: "画像"
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"

View File

@@ -1,7 +1,6 @@
---
meta:
lang: "日本語 (関西弁)"
divider: ""
common:
misskey: "A ⭐ of fediverse"
about-title: "A ⭐ of fediverse."
@@ -27,6 +26,7 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりせんといてください。アカウントが不正利用されるかも分からん。知らんけど。"
load-more: "もっとあらへんのか!"
enter-password: "パスワードを入れてや"
2fa: "二段階認証"
got-it: "ほい"
customization-tips:
title: "カスタマイズのヒント"
@@ -55,6 +55,11 @@ common:
trash: "ゴミ箱"
drive: "ドライブ"
messaging: "トーク"
home: "ホーム"
timeline: "タイムライン"
following: "フォローしとる"
followers: "フォロワー"
favorites: "お気に入り"
weekday-short:
sunday: "日"
monday: "月"
@@ -100,33 +105,22 @@ common:
d: "言うときたいことは?"
e: "ここに書いてや"
f: "あんさんが書くんを待っちょります..."
_settings:
profile: "プロフィール"
notification: "通知"
tags: "ハッシュタグ"
blocking: "ブロック"
password: "パスワード"
other: "その他"
timeline: "タイムライン"
search: "検索"
delete: "削除"
loading: "読み込み中"
ok: "ほい"
update-available-title: "更新があんで"
update-available: "Misskeyの新しいバージョンがあんで({newer}。現在{current}をつこてるわ)。ページを再度読み込みしたると更新が適用されるわ。"
my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。"
i-like-sushi: "寿司(のほうがプリンよりむしろ)ウマい、タコ焼きはあらへんけど。"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示や!"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "アメちゃん付きアカウント"
disable-animated-mfm: "投稿内のちょろちょろ動いてんのを止める"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "閲覧注意?見せたらあかん?そんなん知らんわ、見せろや!"
always-mark-nsfw: "わからんからとりあえずメディアは見せたらあかん"
show-full-acct: "ユーザー名のホストも出したる"
show-via: "viaを見せる"
reduce-motion: "UI、動き過ぎや、静かにしてや"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OSにもとから入っとる絵文字使う"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
do-not-use-in-production: "開発ビルドや。本番環境で使わんといて!知らんで!"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "ちゃんとした情報見せてや!"
renoted-by: "{user}がRenote"
@@ -168,7 +162,7 @@ common:
hashtags: "ハッシュタグ"
dev: "アプリの作成あかんかったわ。もっぺんやってみて。"
ai-chan-kawaii: "藍ちゃめっさべっぴんさんや"
you: "あなた"
you: "あんさん"
auth/views/form.vue:
share-access: "あんたのアカウントに<i>{name}</i>がアクセスしようとしてるで?ええか?"
permission-ask: "このアプリは次の権限を要求してんで:"
@@ -193,6 +187,9 @@ auth/views/index.vue:
please-go-back: "アプリケーションに戻って、気張ってってな。"
error: "セッションが存在してへん。"
sign-in: "サインインしてや"
common/views/pages/explore.vue:
verified-users: "アメちゃん付きアカウント"
federated: "連合"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っとります"
@@ -264,7 +261,6 @@ common/views/components/media-banner.vue:
sensitive: "見せたらあかん"
click-to-show: "押してみ、見せたるわ"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "ナイトゲームちゃう時のテーマどないする?"
dark-theme: "ナイトゲームの時のテーマどないする?"
light-themes: "デイゲーム"
@@ -281,7 +277,6 @@ common/views/components/theme.vue:
base-theme: "この色が背景や!"
base-theme-light: "Light"
base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名"
preview-created-theme: "試してみる"
invalid-theme: "このテーマあかんわ、なんか間違うとる"
@@ -303,8 +298,6 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue:
hide: "もうええわ"
show: "見たいやろ?"
chars: "{count}文字"
files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue:
search-user: "ユーザーを探す"
@@ -335,9 +328,7 @@ common/views/components/nav.vue:
develop: "開発者"
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "もっと"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入りやめる"
@@ -346,10 +337,13 @@ common/views/components/note-menu.vue:
delete: "ほかす"
delete-confirm: "この投稿を削除してもええか?"
remote: "投稿元に行ってみよか"
common/views/components/user-menu.vue:
mute: "ミュート"
block: "ブロック"
suspend: "凍結"
common/views/components/poll.vue:
vote-to: "「{}」に投票や!"
vote-count: "{}票"
total-users: "{}人が投票"
vote: "投票するで"
show-result: "結果を見よか"
voted: "投票済みや"
@@ -359,6 +353,7 @@ common/views/components/poll-editor.vue:
remove: "この選択肢を消すで"
add: "+選択肢を追加"
destroy: "アンケートをほかそ"
day: "日"
common/views/components/reaction-picker.vue:
choose-reaction: "リアクション、どれにするんや?"
common/views/components/emoji-picker.vue:
@@ -376,7 +371,6 @@ common/views/components/signin.vue:
password: "パスワード"
token: "トークン"
signing-in: "サインイン中や..."
signin: "サインイン"
or: "それか"
signin-with-twitter: "Twitterでサインイン"
signin-with-github: "GitHubでログイン"
@@ -414,11 +408,6 @@ common/views/components/stream-indicator.vue:
connected: "つないだわ"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue:
title: "サービス連携"
connect: "つなげる"
@@ -476,7 +465,6 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotやで"
is-locked: "他人のフォローは許可してからや!"
careful-bot: "Botからのフォローだけは許可制や"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシーってなんや?オカンの年齢か?"
save: "保存"
@@ -487,13 +475,16 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "このメールアドレスOKや"
email-not-verified: "メールアドレスが確認されとらん。メールボックスもっぺん見てくれへん?"
export: "エクスポート"
import: "インポート"
export-targets:
following-list: "フォロー"
mute-list: "ミュート"
blocking-list: "ブロック"
user-lists: "リスト"
enter-password: "パスワードを入れてや"
common/views/components/user-list-editor.vue:
users: "ユーザー"
rename: "リスト名を変更"
delete: "リストを削除"
remove-user: "このリストから削除"
delete-are-you-sure: "リスト「$1」を削除しますか"
deleted: "削除しました"
common/views/widgets/broadcast.vue:
fetching: "見てみるわ…"
no-broadcasts: "お知らせはあらへんで"
@@ -543,11 +534,8 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができんで"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示してんねん"
tips-line21: "APIをつこてbotの開発なども行えるで"
tips-line23: "藍かわいいよ藍"
tips-line24: "Misskeyは2014年にサービスを開始したんよ"
tips-line25: "対応ブラウザやったらMisskeyを開いとらんでも通知を受け取れんで"
common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォローしとる"
@@ -644,9 +632,6 @@ desktop/views/components/drive.vue:
create-folder: "フォルダー作る"
upload: "ファイル上げる"
url-upload: "URLつこうて上げる"
desktop/views/components/media-image.vue:
sensitive: "ちょっと見せられへんわ"
click-to-show: "クリックして見せるで"
desktop/views/components/media-video.vue:
sensitive: "ちょっと見せられへんわ"
click-to-show: "クリックして見せるで"
@@ -658,12 +643,6 @@ desktop/views/components/following-window.vue:
following: "{} のフォロー"
desktop/views/components/following.vue:
empty: "フォロー中のユーザーはおらんっぽいで、知らんけど。"
desktop/views/components/friends-maker.vue:
title: "おもろそうやな:"
empty: "おもろいユーザー居らんかったわ"
fetching: "読み込んどります"
refresh: "もっとあるやろ!"
close: "さいなら"
desktop/views/components/game-window.vue:
game: "ゲーム"
desktop/views/components/home.vue:
@@ -683,12 +662,10 @@ desktop/views/components/note-detail.vue:
location: "ここおるで:"
renote: "Renote"
add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue:
reply: "返す"
renote: "Renote"
add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "もっと"
private: "この投稿は見せられへんわ"
deleted: "この投稿なんか無くなってもうたわ"
@@ -716,7 +693,6 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "PCからメディア持ってくる"
attach-media-from-drive: "ドライブからメディア持ってくる"
attach-cancel: "くっつけるのやめよか"
insert-a-kao: "v('ω')v"
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近のタグ"
@@ -747,103 +723,6 @@ desktop/views/components/renote-form-window.vue:
desktop/views/pages/user-following-or-followers.vue:
following: "{user}のフォロー"
followers: "{user}のフォロワー"
desktop/views/components/settings-window.vue:
settings: "設定"
desktop/views/components/settings.vue:
profile: "プロフィール"
notification: "通知"
apps: "アプリ"
tags: "ハッシュタグ"
mute-and-block: "ミュート/ブロック"
blocking: "ブロック"
security: "セキュリティ"
signin: "こんな感じでサインインしたらしいで"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
behaviour: "動き"
fetch-on-scroll: "スクロールしたらもっと見せてや"
fetch-on-scroll-desc: "ページを下までスクロールしたときに自動でもっとコンテンツを読み込むで。"
note-visibility: "投稿の公開範囲"
default-note-visibility: "もとからの公開範囲"
remember-note-visibility: "投稿の公開範囲おぼえといて"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q?{{query}}"
auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトすんで。この設定はブラウザに記憶されんで。"
advanced: "もっと設定"
api-via-stream: "ストリームを経由したAPIリクエスト"
api-via-stream-desc: "この設定をオンにすると、WebSocket接続を経由してAPIリクエストが行われんで(パフォーマンス向上するかも、知らんけど)。オフにすると、ネイティブの fetch API が利用されるで。この設定はこのデバイスのみ有効やで。"
deck-nav: "デッキ内ナビゲーション"
deck-nav-desc: "デッキを使うとるとき、ナビゲーションが発生するときにページ移動せんで、一時的なカラムで受けれるようにするで"
deck-default: "デッキをデフォルトのUIにする"
display: "見た感じ"
customize: "ホームをカスタマイズ"
wallpaper: "壁紙"
choose-wallpaper: "壁紙選ぶ"
delete-wallpaper: "壁紙ほかす"
dark-mode: "夜にすんで"
use-shadow: "UIに影付けたる"
rounded-corners: "みんなまぁるくUI変更"
circle-icons: "アイコンもタコ焼きも丸いやんな?"
contrasted-acct: "ユーザー名ようわからんし見やすしといて"
post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?"
show-clock-on-header: "右上をカリヨン広場にする(時計表示)"
show-reply-target: "どこにリプライするんや見せて"
timeline: "タイムライン"
show-my-renotes: "わしのRenoteもタイムライン載せてくれや"
show-renoted-my-notes: "わしのRenoteもタイムライン載せてくれや"
show-local-renotes: "ローカル投稿のRenoteも見たいんや"
show-maps: "地図勝手にバァーって開いてくれ"
remain-deleted-note: "削除された投稿も表示しっぱなしにする"
deck-column-align: "デッキのカラムの配置"
deck-column-align-center: "真ん中"
deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド"
enable-sounds: "サウンド鳴らす"
enable-sounds-desc: "投稿やメッセージもろたとき、音鳴らしたるわ。大丈夫や、この設定はブラウザが覚えてくれとる。"
volume: "ボリューム"
test: "テスト"
cache: "キャッシュ"
clean-cache: "お掃除"
cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。"
cache-cleared: "キャッシュお掃除したで"
cache-cleared-desc: "もっぺんページ読みこみ直してくれや"
about: "Misskeyってなんや"
operator: "このサーバー誰のや"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
update-checking: "アップデートはあらへんか……"
do-update: "アップデートあるか見てみる"
update-settings: "もっと設定"
prevent-update: "アップデートしたないわ、また今度や(やめときや)"
prevent-update-desc: "この設定をオンにしとってもアップデートが反映される場合があるかも分からん、知らんけど気ぃつけてや。この設定はこのデバイスのみ有効やで。"
no-updates: "使える更新はあらへん"
no-updates-desc: "つこてるMisskeyは最新や"
update-available: "新しいバージョンが利用可能や"
update-available-desc: "ページを再度読み込みすると更新が適用されるで。"
advanced-settings: "ワイにはわからん設定"
debug-mode: "デバッグモードにしてみる"
debug-mode-desc: "この設定はブラウザに記憶されんで。"
experimental: "お試し機能使うてみる"
experimental-desc: "実験的機能を有効にするとMisskeyの動作が不安定になるかも分からん、知らんけど気ぃつけてや。この設定はブラウザに記憶されんで。"
tools: "ツール"
task-manager: "タスクマネージャ"
third-parties: "サードパーティ"
navbar-position: "ナビゲーションバーの位置"
navbar-position-top: "上"
navbar-position-left: "左"
navbar-position-right: "右"
desktop/views/components/settings.2fa.vue:
intro: "二段階認証を設定すると、サインイン時にパスワードだけとちゃうくて、予め登録しておいた物理的なデバイス(例えばあんさんのスマートフォンなど)も必要になり、よりセキュリティが向上すんで。"
detail: "詳細..."
@@ -863,6 +742,9 @@ desktop/views/components/settings.2fa.vue:
success: "設定が完了したで!"
failed: "なんか設定に失敗したで。トークンを間違えとらんか確認してや。"
info: "次のサインインからは、パスワードに加えてデバイスに出とるトークンを入力してな。"
common/views/components/media-image.vue:
sensitive: "ちょっと見せられへんわ"
click-to-show: "クリックして見せるで"
common/views/components/api-settings.vue:
intro: "API使うんやったらこのトークンを「i」っちゅうパラメータにくっつけてリクエストできるで。"
caution: "アカウント勝手にいじられるかも知れんから、このトークンは教えたらあかんし、アプリにも書いたらあかんで(これはフリちゃうで)"
@@ -901,16 +783,13 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もっぺん入れてや"
not-match: "パスワードがおうとらん"
changed: "パスワード変えたわ"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は見せられへんわ"
deleted: "この投稿なんか無くなってもうたわ"
media-count: "{}つのメディア"
poll: "アンケート"
desktop/views/components/settings.tags.vue:
title: "タグ"
query: "クエリ (省略可)"
add: "追加"
add: "増やす"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
@@ -931,17 +810,10 @@ desktop/views/components/ui.header.vue:
adjective: "はん"
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー許してくれや!言うてみる"
customize: "ホームをカスタマイズ"
admin: "管理"
settings: "設定"
signout: "さいなら"
dark: "ナイトゲームじゃ!"
desktop/views/components/ui.header.nav.vue:
home: "ホーム"
deck: "デッキ"
game: "ゲーム"
desktop/views/components/ui.header.notifications.vue:
title: "通知"
@@ -988,13 +860,17 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "ワイのインスタンス"
federated: "連合"
admin/views/queue.vue:
operation: "操作"
admin/views/abuse.vue:
details: "もっと"
remove-report: "削除"
admin/views/instance.vue:
instance: "インスタンス"
instance-name: "インスタンス名"
instance-description: "インスタンスの紹介"
host: "ホスト"
banner-url: "バナー画像URL"
error-image-url: "エラー画像URL"
languages: "インスタンスの対象言語"
languages-desc: "スペースで区切って複数設定できるで。"
maintainer-config: "管理者情報"
@@ -1053,12 +929,6 @@ admin/views/instance.vue:
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
serviceworker-config: "ServiceWorker"
enable-serviceworker: "ServiceWorkerを有効にする"
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
vapid-publickey: "VAPID公開鍵"
vapid-privatekey: "VAPID秘密鍵"
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
admin/views/charts.vue:
title: "チャート"
per-day: "1日ごと"
@@ -1085,21 +955,13 @@ admin/views/charts.vue:
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
operation: "操作"
lookup: "照会"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
deleted: "削除しました"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
mark-as-sensitive: "見たらあかん感じにしとく"
unmark-as-sensitive: "やっぱ見せたるわ"
admin/views/users.vue:
operation: "操作"
username-or-userid: "ユーザー名またはユーザーID"
@@ -1108,72 +970,52 @@ admin/views/users.vue:
reset-password: "パスワードをリセット"
password-updated: "パスワードは現在「{password} 」やで"
suspend: "凍結"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverified: "公式アカウントを解除しました"
users:
title: "ユーザー"
sort:
title: "ソート"
createdAtAsc: "登録日時が古い順"
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
all: "すべて"
moderator: "モデレーター"
verified: "アメちゃん付きアカウント"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
createdAt: "登録日時"
updatedAt: "更新日時"
admin/views/moderators.vue:
add-moderator:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
name: "絵文字名"
name-desc: "a~z 0~9 _ の文字が使えます。"
aliases: "エイリアス"
aliases-desc: "スペースで区切って複数設定できます。"
url: "絵文字画像URL"
add: "追加"
info: "50KB以下のPNG画像をおすすめします。"
added: "絵文字を登録しました"
add: "増やす"
emojis:
title: "絵文字一覧"
update: "更新"
remove: "削除"
updated: "更新しました"
remove-emoji:
are-you-sure: "「$1」を削除しますか"
removed: "削除しました"
admin/views/announcements.vue:
announcements: "お知らせ"
announcements: "知っときや"
save: "保存"
remove: "削除"
add: "追加"
title: "タイトル"
text: "内容"
saved: "保存しました"
_remove:
are-you-sure: "「$1」を削除しますか"
removed: "削除しました"
admin/views/hashtags.vue:
hided-tags: "Hidden Tags"
add: "増やす"
saved: "保存したで!"
admin/views/federation.vue:
federation: "連合"
host: "ホスト"
notes: "投稿"
users: "ユーザー"
following: "フォローしとる"
followers: "フォロワー"
status: "ステータス"
block: "ブロック"
lookup: "照会"
instances: "インスタンス"
states:
all: "すべて"
blocked: "ブロック"
charts: "チャート"
chart-srcs:
requests: "リクエスト"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
notes-total: "投稿の積算"
drive-usage: "ドライブ使用量の増減"
drive-usage-total: "ドライブ使用量の積算"
chart-spans:
hour: "1時間ごと"
day: "1日ごと"
desktop/views/pages/welcome.vue:
about: "もうちょい……"
gotit: "ほい"
signin: "サインイン"
signup: "サインアップ"
signin-button: "やっとる"
signup-button: "サインアップ"
timeline: "タイムライン"
announcements: "知っときや"
photos: "最近の画像"
@@ -1181,8 +1023,6 @@ desktop/views/pages/welcome.vue:
info: "情報"
desktop/views/pages/drive.vue:
title: "ドライブ"
desktop/views/pages/home-customize.vue:
title: "ホームをカスタマイズ"
desktop/views/pages/note.vue:
prev: "前のやつ"
next: "次のやつ"
@@ -1193,11 +1033,6 @@ desktop/views/pages/selectdrive.vue:
upload: "PCからドライブにファイル上げる"
desktop/views/pages/search.vue:
not-available: "検索機能は使えへんわ。管理者がそう言うとる。"
not-found: "「{q}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{name}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザー増やす"
@@ -1214,40 +1049,24 @@ desktop/views/pages/user/user.photos.vue:
title: "写真"
loading: "読み込んどります"
no-photos: "写真はあらへんで"
desktop/views/pages/user/user.profile.vue:
follows-you: "フォローされとるで"
stalk: "ストークする"
stalking: "ストーキングしとるで"
unstalk: "ストーク解除"
mute: "ミュートする"
muted: "ミュートしとるで"
unmute: "ミュート解除"
block: "ブロックする"
unblock: "ブロックやめたる"
block-confirm: "このユーザーをブロックしてええか?"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加したで。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotや"
years-old: "{age}歳"
year: "年"
month: "月"
day: "日"
follows-you: "フォローされとるで"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿しとらんようや。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
desktop/views/widgets/notifications.vue:
title: "通知"
settings: "通知の設定"
desktop/views/widgets/polls.vue:
title: "アンケート"
refresh: "他を見る"
@@ -1276,8 +1095,6 @@ mobile/views/components/drive.vue:
prompt: "何すんの?(数字を入れてや): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
deletion-alert: "フォルダの削除は未実装やねん...。堪忍な!"
folder-name: "フォルダー名"
root-rename-alert: "現在おる場所はルートで、フォルダとちゃうから名前の変更はできへん。名前を変更したいフォルダに移動してからやってな。"
root-move-alert: "現在おる場所はルートで、フォルダとちゃうから移動はできへん。移動したいフォルダに移動してからやってな。"
url-prompt: "このURLのファイルをアップロードしたいねん"
uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。"
mobile/views/components/drive-file-chooser.vue:
@@ -1295,9 +1112,6 @@ mobile/views/components/drive.file-detail.vue:
nsfw: "ちょっと見せられへんわ"
mark-as-sensitive: "見たらあかん感じにしとく"
unmark-as-sensitive: "やっぱ見せたるわ"
mobile/views/components/media-image.vue:
sensitive: "見たらあかんで"
click-to-show: "押してみ、見せたるわ"
mobile/views/components/media-video.vue:
sensitive: "ちょっと見せられへんわ"
click-to-show: "押してみ、見せたるわ"
@@ -1307,12 +1121,6 @@ common/views/components/follow-button.vue:
request-pending: "フォロー許してくれるん待っとる"
follow-processing: "今フォロー処理やっとる‥"
follow-request: "フォローさせてや!言うてみる"
mobile/views/components/friends-maker.vue:
title: "おもろそうやな"
empty: "おすすめのユーザーはおらん。"
fetching: "読み込んどります"
refresh: "もっとあるやろ!"
close: "さいなら"
mobile/views/components/note.vue:
private: "この投稿は見せられへんわ"
deleted: "この投稿なんか無くなってもうたわ"
@@ -1349,8 +1157,6 @@ mobile/views/components/sub-note-content.vue:
deleted: "この投稿なんか無くなってもうたわ"
media-count: "{}つのメディア"
poll: "アンケート"
mobile/views/components/timeline.vue:
empty: "投稿はあらへん"
mobile/views/components/ui.header.vue:
welcome-back: "おかえり、"
adjective: "はん"
@@ -1359,22 +1165,11 @@ mobile/views/components/ui.nav.vue:
notifications: "通知"
follow-requests: "フォロー許してくれや!言うてみる"
search: "検索"
favorites: "お気に入り"
user-lists: "リスト"
widgets: "ウィジェット"
game: "ゲーム"
darkmode: "ナイトゲームや"
settings: "設定"
admin: "管理"
about: "Misskeyってなんや"
mobile/views/components/user-timeline.vue:
no-notes: "このユーザーは投稿しとらんようや。"
no-notes-with-media: "メディア付き投稿はあらへん。"
mobile/views/components/users-list.vue:
all: "すべて"
known: "知っとる"
mobile/views/pages/favorites.vue:
title: "お気に入り"
mobile/views/pages/user-lists.vue:
title: "リスト"
enter-list-name: "リスト名を入力してや"
@@ -1393,11 +1188,8 @@ mobile/views/pages/home.vue:
messages: "メッセージ"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできんで。ウィジェットを移動するんやったら「三」をドラッグしてや。ウィジェットを削除するんやったら「x」をタップしてや。いくつかのウィジェットはタップしたったら表示を変更できるかも分からん、知らんけど。"
add-widget: "増やす"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
@@ -1412,9 +1204,6 @@ mobile/views/pages/note.vue:
title: "投稿"
prev: "前のやつ"
next: "次のやつ"
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "通知全部読んだか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/search.vue:
@@ -1424,46 +1213,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイル選んでや"
mobile/views/pages/settings.vue:
signed-in-as: "あんたは橋の下で拾った{}や!"
design: "見た感じ"
dark-mode: "ナイトゲームや!"
i-am-under-limited-internet: "電波と阪神がザコいんや"
circle-icons: "アイコンもタコ焼きも丸いやんな?"
contrasted-acct: "ユーザー名ようわからんし見やすしといて"
timeline: "タイムライン"
show-reply-target: "どこにリプライするんや見せて"
show-my-renotes: "あんたのしたRenoteも出すで"
show-renoted-my-notes: "あんたの言うたことのRenoteも出すで"
show-local-renotes: "ローカル投稿のRenoteも出すで"
post-style: "投稿の表示スタイル"
post-style-standard: "標準"
post-style-smart: "べっぴんさん"
notification-position: "通知どこ見せる?"
notification-position-bottom: "ミナミの方"
notification-position-top: "キタの方"
behavior: "動き"
fetch-on-scroll: "スクロールしたらもっと見せてや"
note-visibility: "投稿の公開範囲"
default-note-visibility: "もとからの公開範囲"
remember-note-visibility: "投稿の公開範囲おぼえといて"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q?{{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグなんて要らんわ"
load-raw-images: "添付された画像もべっぴんさんのままにしといてな"
load-remote-media: "東京とか、リモートサーバーのメディアも見せてや"
update: "あんたのMisskeyいつのや"
version: "バージョン:"
latest-version: "いっちゃん新しいやつ:"
update-checking: "アップデートあるか見とるで"
check-for-updates: "アップデートあるんかな?"
no-updates: "アップデートあらへんわ"
no-updates-desc: "つこてるMisskeyは最新や"
update-available: "もっとええバージョンがあるで"
update-available-desc: "もっぺんページ読み込んだら新しなるで"
settings: "設定"
signout: "さいなら"
sound: "サウンド"
enable-sounds: "サウンド鳴らす"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされとるで"
following: "フォロー"
@@ -1472,29 +1221,16 @@ mobile/views/pages/user.vue:
overview: "こんなやつ"
timeline: "タイムライン"
media: "メディア"
mute: "ミュート"
unmute: "ミュートやめたる"
block: "ブロック"
unblock: "ブロックやめたる"
years-old: "{age}歳"
push-to-list: "リストに入れたる"
select-list: "リスト選んでや"
list-pushed: "{user}を{list}に追加したで"
mobile/views/pages/user/home.vue:
recent-notes: "最近儲かりまっか?"
images: "画像"
activity: "やっとること"
keywords: "キーワード"
domains: "よく出るドメイン"
frequently-replied-users: "よう話しとるユーザー"
frequently-replied-users: "よう話すツレ"
followers-you-know: "知っとるフォロワー"
last-used-at: "最後いつ来た?"
mobile/views/pages/user/home.followers-you-know.vue:
no-users: "知っとるユーザーは居らん"
mobile/views/pages/user/home.friends.vue:
no-users: "よう話すユーザーは居らん"
mobile/views/pages/user/home.notes.vue:
no-notes: "投稿はあらへん"
mobile/views/pages/user/home.photos.vue:
no-photos: "写真はあらへんで"
deck:
@@ -1519,18 +1255,16 @@ deck:
pop-right: "右に出すで!"
deck/deck.tl-column.vue:
is-media-only: "メディア投稿だけや"
is-media-view: "メディアビュー"
edit: "オプション"
deck/deck.user-column.vue:
follows-you: "フォローされとるで"
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
mention: "メンション"
images: "画像"
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めしはった投稿"
push-to-a-list: "リストに入れたる"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集"

View File

@@ -1,7 +1,6 @@
---
meta:
lang: "한국어"
divider: ""
common:
misskey: "연합우주의 ⭐"
about-title: "연합우주의 ⭐."
@@ -27,6 +26,14 @@ common:
do-not-copy-paste: "여기에 코드를 입력하거나 붙여넣지 마십시오. 계정이 무단으로 사용될 수 있습니다."
load-more: "더보기"
enter-password: "비밀번호를 입력하여 주십시오"
2fa: "2단계 인증"
customize-home: "홈 커스터마이징"
featured-notes: "하이라이트"
dark-mode: "다크 모드"
signin: "로그인"
signup: "신규 등록"
signout: "로그아웃"
reload-to-apply-the-setting: "이 설정을 적용하려면 페이지를 새로고침해야 합니다. 바로 새로고침하시겠습니까?"
got-it: "알겠습니다"
customization-tips:
title: "커스터마이징 도움말"
@@ -55,6 +62,16 @@ common:
trash: "휴지통"
drive: "드라이브"
messaging: "대화"
home: "홈"
deck: "덱"
timeline: "타임라인"
explore: "발견"
following: "팔로우 중"
followers: "팔로워"
favorites: "즐겨찾기"
empty-timeline-info:
follow-users-to-make-your-timeline: "사용자를 팔로우하면 글이 타임라인에 표시됩니다."
explore: "사용자 탐색"
weekday-short:
sunday: "일"
monday: "월"
@@ -100,36 +117,129 @@ common:
d: "말하고 싶은 게 있나요?"
e: "여기에 적어주세요"
f: "작성해주시길 기다리고 있어요..."
settings: "설정"
_settings:
profile: "프로필"
notification: "알림"
apps: "앱"
tags: "해시태그"
mute-and-block: "뮤트/차단"
blocking: "차단"
security: "보안"
signin: "로그인 기록"
password: "비밀번호"
other: "기타"
appearance: "디자인"
behavior: "동작"
fetch-on-scroll: "스크롤하여 자동으로 불러오기"
fetch-on-scroll-desc: "페이지를 아래로 스크롤하였을 때 자동으로 추가 콘텐츠를 불러옵니다."
note-visibility: "게시물의 공개 범위"
default-note-visibility: "기본 공개 범위"
remember-note-visibility: "글의 공개 범위를 기억하기"
web-search-engine: "웹 검색엔진"
web-search-engine-desc: "예: https://www.google.com/?#q={{query}}"
keep-cw: "CW 유지"
keep-cw-desc: "글에 답글을 달 때, 답글할 글에 CW가 설정되어 있는 경우 기본값으로 동일한 CW를 설정하도록 합니다."
i-like-sushi: "저는 (푸딩보다 차라리) 초밥이 좋아요"
show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시"
use-avatar-reversi-stones: "리버시의 돌로 아바타를 사용"
disable-animated-mfm: "글의 문자 애니메이션을 비활성화"
disable-showing-animated-images: "움직이는 이미지를 자동으로 재생하지 않음"
suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시"
always-show-nsfw: "항상 열람주의 미디어를 표시"
always-mark-nsfw: "항상 미디어를 열람주의로 설정하여 게시"
show-full-acct: "사용자명의 호스트를 표시하지 않기"
show-via: "via 표시하기"
reduce-motion: "UI의 애니메이션 줄이기"
this-setting-is-this-device-only: "이 장치만"
use-os-default-emojis: "운영체제의 기본 이모지 사용"
line-width: "선 두께"
line-width-thin: "얇음"
line-width-normal: "보통"
line-width-thick: "두꺼움"
font-size: "글씨 크기"
font-size-x-small: "작음"
font-size-small: "조금 작음"
font-size-medium: "보통"
font-size-large: "조금 큼"
font-size-x-large: "큼"
deck-column-align: "덱의 칼럼 위치"
deck-column-align-center: "가운데"
deck-column-align-left: "왼쪽"
deck-column-align-flexible: "플렉서블"
deck-column-width: "덱의 칼럼 폭"
deck-column-width-narrow: "좁음"
deck-column-width-narrower: "조금 좁음"
deck-column-width-normal: "보통"
deck-column-width-wider: "조금 넓음"
deck-column-width-wide: "넓음"
use-shadow: "UI에 그림자 효과 적용"
rounded-corners: "UI의 모서리를 둥글게 설정"
circle-icons: "원형 아이콘 사용"
contrasted-acct: "사용자명에 대비 추가"
wallpaper: "배경"
choose-wallpaper: "배경 설정"
delete-wallpaper: "배경 제거"
post-form-on-timeline: "타임라인 상단에 글 작성란을 표시"
show-clock-on-header: "오른쪽 상단에 시계 표시"
show-reply-target: "답글 대상 표시"
timeline: "타임라인"
show-my-renotes: "내 리노트를 타임라인에 보이기"
show-renoted-my-notes: "내 글이 리노트될 경우 타임라인에 보이기"
show-local-renotes: "로컬 글의 리노트를 타임라인에 보이기"
remain-deleted-note: "삭제된 글을 계속 표시"
sound: "소리"
enable-sounds: "소리 사용"
enable-sounds-desc: "글이나 메시지를 송수신하였을 때 소리를 재생합니다. 이 설정은 브라우저에 저장됩니다."
volume: "음량"
test: "테스트"
update: "Misskey Update"
version: "버전:"
latest-version: "최신 버전:"
update-checking: "업데이트 확인 중"
do-update: "업데이트 확인"
update-settings: "고급 설정"
no-updates: "사용 가능한 업데이트가 없습니다"
no-updates-desc: "사용중인 Misskey는 최신 버전입니다."
update-available: "새 버전을 사용할 수 있습니다"
update-available-desc: "페이지를 다시 로드하면 업데이트가 적용됩니다."
advanced-settings: "고급 설정"
debug-mode: "디버그 모드를 사용하도록 설정"
debug-mode-desc: "이 설정은 브라우저에 저장됩니다."
navbar-position: "내비게이션 막대 위치"
navbar-position-top: "위"
navbar-position-left: "왼쪽"
navbar-position-right: "오른쪽"
i-am-under-limited-internet: "저는 통신 대역폭이 제한되어 있습니다"
post-style: "글 표시 스타일"
post-style-standard: "표준"
post-style-smart: "스마트"
notification-position: "알림 표시"
notification-position-bottom: "아래"
notification-position-top: "위"
disable-via-mobile: "작성하는 글에 \"모바일에서 작성함\" 을 붙이지 않음"
load-raw-images: "첨부 이미지를 고품질로 표시"
load-remote-media: "원격 서버의 미디어를 표시"
search: "검색"
delete: "삭제"
loading: "로드 중"
ok: "확인"
ok: "ㅇㅇ"
cancel: "그만두기"
update-available-title: "업데이트가 있습니다"
update-available: "Misskey의 새로운 버전이 있습니다 ({newer}. 현재 {current}을 사용 중). 페이지를 다시 로드하면 업데이트가 적용됩니다."
my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다."
i-like-sushi: "저는 (푸딩보다 차라리) 초밥이 좋아요"
show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시"
use-avatar-reversi-stones: "리버시의 돌로 아바타를 사용"
verified-user: "공식 계정"
disable-animated-mfm: "글의 문자 애니메이션을 비활성화"
suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시"
always-show-nsfw: "항상 열람주의 미디어를 표시"
always-mark-nsfw: "항상 미디어를 열람주의로 설정하여 게시"
show-full-acct: "사용자명의 호스트를 표시하지 않기"
show-via: "via 표시하기"
reduce-motion: "UI의 애니메이션 줄이기"
this-setting-is-this-device-only: "이 장치만"
use-os-default-emojis: "운영체제의 기본 이모지 사용"
line-width: "선 두께"
line-width-thin: "얇음"
line-width-normal: "보통"
line-width-thick: "두꺼움"
hide-password: "비밀번호 숨기기"
show-password: "비밀번호 표시"
do-not-use-in-production: "이것은 개발 빌드입니다. 프로덕션 환경에서 사용하지 마십시오."
user-suspended: "이 사용자는 정지된 상태입니다."
is-remote-user: "이 유저 정보는 복사본입니다."
is-remote-user: "이 사용자 정보는 정확하지 않을 수 있습니다."
is-remote-post: "이 글 정보는 복사본입니다."
view-on-remote: "정확한 정보 보기"
renoted-by: "{user}이(가) 리노트"
no-notes: "글이 없습니다"
turn-on-darkmode: "어둠에 삼켜져라"
turn-off-darkmode: "빛이 있으라"
error:
title: "오류가 발생했습니다"
retry: "다시 시도"
@@ -193,6 +303,19 @@ auth/views/index.vue:
please-go-back: "어플리케이션으로 돌아가여 시도하여 주십시오."
error: "세션이 존재하지 않습니다."
sign-in: "로그인 해주시기 바랍니다"
common/views/pages/explore.vue:
verified-users: "공식 계정"
popular-users: "인기 사용자"
recently-updated-users: "최근 게시한 사용자"
recently-registered-users: "신규 사용자"
popular-tags: "인기 태그"
federated: "연합"
explore: "{host}을(를) 탐색"
users-info: "현재 {users} 사용자가 등록되어 있습니다"
common/views/components/url-preview.vue:
enable-player: "플레이어 열기"
common/views/components/user-list.vue:
no-users: "사용자가 없습니다"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}을(를) 기다리고 있습니다"
@@ -205,7 +328,7 @@ common/views/components/games/reversi/reversi.game.vue:
can-put-everywhere: "어디에도 둘 수 있는 모드"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "다른 Misskey 유저와 리버시로 대결하자"
sub-title: "다른 Misskey 사용자와 리버시로 대결하자"
invite: "초대"
rule: "게임 방법"
rule-desc: "리버시는 상대와 번갈아가며 돌을 판에 두고, 상대의 돌을 자신의 돌 사이에 두어 자신의 색으로 바꿔나가며, 최종적으로 남아있는 돌이 많은 쪽이 승리하는 보드게임입니다."
@@ -341,24 +464,60 @@ common/views/components/note-menu.vue:
copy-link: "링크 복사"
favorite: "이 노트 즐겨찾기"
unfavorite: "즐겨찾기에서 제거"
watch: "지켜보기"
unwatch: "지켜보기 해제"
pin: "프로필에 고정"
unpin: "프로필에서 고정 해제"
delete: "삭제"
delete-confirm: "이 글을 삭제하시겠습니까?"
remote: "글 원본 보기"
common/views/components/user-menu.vue:
mention: "멘션"
mute: "뮤트"
unmute: "뮤트 해제"
block: "차단"
unblock: "차단 해제"
push-to-list: "리스트에 추가"
select-list: "리스트를 선택하여 주십시오"
report-abuse: "스팸 신고"
report-abuse-detail: "어떤 스팸 행위를 하고 있습니까?"
report-abuse-reported: "관리자에게 보고되었습니다. 협조해주셔서 감사합니다."
silence: "침묵"
unsilence: "침묵 해제"
suspend: "정지"
unsuspend: "정지 해제"
common/views/components/poll.vue:
vote-to: "\"{}\"에 투표하기"
vote-count: "{}표"
total-users: "{}명이 투표"
total-votes: "{}표"
vote: "투표하기"
show-result: "결과 보기"
voted: "투표함"
closed: "종료됨"
remaining-days: "종료까지 앞으로 {d}일 {h}시간"
remaining-hours: "종료까지 앞으로 {h}시간 {m}분"
remaining-minutes: "종료까지 앞으로 {m}분 {s}초"
remaining-seconds: "종료까지 앞으로 {s}초"
common/views/components/poll-editor.vue:
no-only-one-choice: "투표에는 선택지가 최소한 두 개 필요합니다"
choice-n: "선택지 {}"
remove: "이 선택지를 제거"
add: "+선택지 추가"
destroy: "투표 제거"
multiple: "복수 응답 가능"
expiration: "기한"
infinite: "무기한"
at: "일시 지정"
after: "기간 지정"
no-more: "더 이상 추가할 수 없습니다"
deadline-date: "기한"
deadline-time: "시간"
interval: "기간"
unit: "단위"
second: "초"
minute: "분"
hour: "시간"
day: "일"
common/views/components/reaction-picker.vue:
choose-reaction: "반응 선택"
common/views/components/emoji-picker.vue:
@@ -376,7 +535,6 @@ common/views/components/signin.vue:
password: "비밀번호"
token: "토큰"
signing-in: "로그인 중입니다..."
signin: "로그인"
or: "또는"
signin-with-twitter: "Twitter로 로그인"
signin-with-github: "GitHub으로 로그인"
@@ -468,6 +626,7 @@ common/views/components/profile-editor.vue:
account: "계정"
location: "장소"
description: "자기소개"
you-can-include-hashtags: "해시 태그를 포함할 수 있습니다."
language: "언어"
birthday: "생일"
avatar: "아바타"
@@ -487,6 +646,21 @@ common/views/components/profile-editor.vue:
email-address: "메일 주소"
email-verified: "매일 주소가 확인되었습니다"
email-not-verified: "메일 주소가 확인되지 않았습니다. 받은 편지함을 확인하여 주시기 바랍니다."
export: "내보내기"
import: "가져오기"
export-and-import: "내보내기와 가져오기"
export-targets:
all-notes: "모든 글 데이터"
following-list: "팔로잉"
mute-list: "뮤트"
blocking-list: "차단"
user-lists: "리스트"
export-requested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 드라이브에 파일이 추가됩니다."
import-requested: "가져오기를 요청하였습니다. 이 작업에는 시간이 걸릴 수 있습니다."
enter-password: "비밀번호를 입력하여 주십시오"
danger-zone: "위험한 설정"
delete-account: "계정 삭제"
account-deleted: "계정이 삭제되었습니다. 데이터가 사라질 때까지 시간이 걸릴 수 있습니다."
common/views/components/user-list-editor.vue:
users: "사용자"
rename: "리스트 이름 바꾸기"
@@ -579,7 +753,7 @@ desktop/views/components/calendar.vue:
title: "{year}년 {month}월"
prev: "이전 달"
next: "다음 달"
go: "클릭여 시간 회귀"
go: "클릭여 시간역행"
desktop/views/components/choose-file-from-drive-window.vue:
chosen-files: "{count} 파일 선택중"
upload: "PC에서 드라이브에 파일을 업로드"
@@ -644,9 +818,6 @@ desktop/views/components/drive.vue:
create-folder: "폴더 만들기"
upload: "파일 업로드"
url-upload: "URL에서 업로드"
desktop/views/components/media-image.vue:
sensitive: "열람주의"
click-to-show: "클릭하여 표시"
desktop/views/components/media-video.vue:
sensitive: "열람주의"
click-to-show: "클릭하여 표시"
@@ -658,12 +829,6 @@ desktop/views/components/following-window.vue:
following: "{} 의 팔로우"
desktop/views/components/following.vue:
empty: "팔로우중인 사용자가 없는 것 같습니다."
desktop/views/components/friends-maker.vue:
title: "마음에 드는 사용자를 팔로우:"
empty: "추천 사용자를 찾을 수 없습니다."
fetching: "불러오는 중입니다"
refresh: "더 보기"
close: "닫기"
desktop/views/components/game-window.vue:
game: "리버시"
desktop/views/components/home.vue:
@@ -747,103 +912,6 @@ desktop/views/components/renote-form-window.vue:
desktop/views/pages/user-following-or-followers.vue:
following: "{user}의 팔로잉"
followers: "{user}의 팔로워"
desktop/views/components/settings-window.vue:
settings: "설정"
desktop/views/components/settings.vue:
profile: "프로필"
notification: "알림"
apps: "앱"
tags: "해시태그"
mute-and-block: "뮤트/차단"
blocking: "차단중"
security: "보안"
signin: "로그인 기록"
password: "비밀번호"
2fa: "2단계 인증"
other: "기타"
license: "라이선스"
theme: "테마"
behaviour: "동작"
fetch-on-scroll: "스크롤하여 자동으로 불러오기"
fetch-on-scroll-desc: "페이지를 아래로 스크롤하였을 때 자동으로 추가 콘텐츠를 불러옵니다."
note-visibility: "게시물의 공개 범위"
default-note-visibility: "기본 공개 범위"
remember-note-visibility: "글의 공개 범위를 기억하기"
web-search-engine: "웹 검색엔진"
web-search-engine-desc: "예: https://www.google.com/?#q={{query}}"
auto-popout: "창 자동 팝아웃"
auto-popout-desc: "창이 열릴 때 팝아웃 (브라우저 밖으로 분리) 이 가능한 경우 자동으로 팝아웃합니다. 이 설정은 브라우저에 저장됩니다."
advanced: "고급 설정"
api-via-stream: "스트리밍을 사용한 API 요청"
api-via-stream-desc: "이 설정을 ON으로 하면 websocket 연결을 통하여 API 요청을 합니다 (성능 향상을 기대할 수 있습니다). OFF로 두는 경우 네이티브 fetch API가 사용됩니다. 이 설정은 이 장치에만 유효합니다."
deck-nav: "덱 내 탐색"
deck-nav-desc: "덱을 사용중일 때, 내비게이션이 발생하였을 경우 페이지를 이동하지 않고 일시적으로 임시 칼럼을 생성하도록 합니다."
deck-default: "덱을 기본 UI로 설정"
display: "디자인 및 표시"
customize: "홈 커스터마이징"
wallpaper: "배경"
choose-wallpaper: "배경 설정"
delete-wallpaper: "배경 제거"
dark-mode: "다크 모드"
use-shadow: "UI에 그림자 효과 적용"
rounded-corners: "UI의 모서리를 둥글게 설정"
circle-icons: "원형 아이콘 사용"
contrasted-acct: "사용자명에 대비 추가"
post-form-on-timeline: "타임라인 상단에 글 작성란을 표시"
show-clock-on-header: "오른쪽 상단에 시계 표시"
show-reply-target: "답글 대상 표시"
timeline: "타임라인"
show-my-renotes: "내 리노트를 타임라인에 보이기"
show-renoted-my-notes: "내 글이 리노트될 경우 타임라인에 보이기"
show-local-renotes: "로컬 글의 리노트를 타임라인에 보이기"
show-maps: "지도 자동 표시"
remain-deleted-note: "삭제된 글을 계속 표시"
deck-column-align: "덱의 칼럼 위치"
deck-column-align-center: "가운데"
deck-column-align-left: "왼쪽"
deck-column-align-flexible: "플렉서블"
deck-column-width: "덱의 칼럼 폭"
deck-column-width-narrow: "좁음"
deck-column-width-narrower: "조금 좁음"
deck-column-width-normal: "보통"
deck-column-width-wider: "조금 넓음"
deck-column-width-wide: "넓음"
sound: "소리"
enable-sounds: "소리 사용"
enable-sounds-desc: "글이나 메시지를 송수신하였을 때 소리를 재생합니다. 이 설정은 브라우저에 저장됩니다."
volume: "음량"
test: "테스트"
cache: "캐시"
clean-cache: "지우기"
cache-warn: "지우기를 실행하면 브라우저에 저장된 계정 정보 캐시, 글이나 답글 및 메시지의 임시 저장, 그 외 데이터 (설정 정보 포함) 가 삭제 됩니다. 지우기 작업을 수행한 후 페이지를 다시 로드해야 합니다."
cache-cleared: "캐시를 삭제하였습니다"
cache-cleared-desc: "페이지를 새로고침해 주십시오."
about: "Misskey에 대하여"
operator: "이 서버의 운영자"
update: "Misskey Update"
version: "버전:"
latest-version: "최신 버전:"
update-checking: "업데이트 확인 중"
do-update: "업데이트 확인"
update-settings: "고급 설정"
prevent-update: "업데이트를 미루기 (비권장)"
prevent-update-desc: "이 설정을 ON으로 하더라도 업데이트가 반영될 가능성이 있습니다. 이 설정은 이 장치에서만 유효합니다."
no-updates: "사용 가능한 업데이트가 없습니다"
no-updates-desc: "사용중인 Misskey는 최신 버전입니다."
update-available: "새 버전을 사용할 수 있습니다"
update-available-desc: "페이지를 다시 로드하면 업데이트가 적용됩니다."
advanced-settings: "고급 설정"
debug-mode: "디버그 모드를 사용하도록 설정"
debug-mode-desc: "이 설정은 브라우저에 저장됩니다."
experimental: "실험적 기능 사용"
experimental-desc: "실험적 기능을 활성화하면 Misskey 프로그램이 불안정해질 수 있습니다. 이 설정은 브라우저에 저장됩니다."
tools: "도구"
task-manager: "작업 관리자"
third-parties: "서드 파티"
navbar-position: "내비게이션 막대 위치"
navbar-position-top: "위"
navbar-position-left: "왼쪽"
navbar-position-right: "오른쪽"
desktop/views/components/settings.2fa.vue:
intro: "2단계 인증을 설정하면 로그인 하려면 비밀번호 외에도 미리 등록 해놓은 물리적 장치 (예를 들면 당신의 스마트 폰 등) 도 필요하게 되어 보안 수준을 보다 향상시킵니다."
detail: "자세히..."
@@ -863,6 +931,9 @@ desktop/views/components/settings.2fa.vue:
success: "설정이 완료되었습니다!"
failed: "설정에 실패했습니다. 토큰이 잘못되었는지 확인해주십시오."
info: "다음 로그인부터는 이와 동일하게 비밀번호에 더해 장치에 표시된 토큰을 입력합니다."
common/views/components/media-image.vue:
sensitive: "열람주의"
click-to-show: "클릭하여 보기"
common/views/components/api-settings.vue:
intro: "API를 사용하려면 위의 토큰을 \"i\" 라는 키의 값으로 매개변수를 추가하여 요청합니다."
caution: "계정을 부정 사용할 가능성이 있으므로, 이 토큰은 제 3자에게 알려주지 마십시오 (앱 등에 붙여넣지 마십시오)."
@@ -931,17 +1002,10 @@ desktop/views/components/ui.header.vue:
adjective: "님"
desktop/views/components/ui.header.account.vue:
profile: "프로필"
favorites: "즐겨찾기"
lists: "리스트"
follow-requests: "팔로우 요청"
customize: "홈 커스터마이징"
admin: "관리"
settings: "설정"
signout: "로그아웃"
dark: "어둠에 삼켜져라"
desktop/views/components/ui.header.nav.vue:
home: "홈"
deck: "덱"
game: "게임"
desktop/views/components/ui.header.notifications.vue:
title: "알림"
@@ -979,6 +1043,9 @@ admin/views/index.vue:
federation: "연합"
announcements: "공지사항"
hashtags: "해시태그"
abuse: "스팸 신고"
queue: "작업 대기열"
logs: "로그"
back-to-misskey: "Misskey로 돌아가기"
admin/views/dashboard.vue:
dashboard: "대시보드"
@@ -988,6 +1055,15 @@ admin/views/dashboard.vue:
instances: "인스턴스"
this-instance: "이 인스턴스"
federated: "연합"
admin/views/queue.vue:
operation: "동작"
remove-all-jobs: "모든 작업 제거"
admin/views/abuse.vue:
title: "스팸 신고"
target: "대상"
reporter: "신고자"
details: "상세"
remove-report: "삭제"
admin/views/instance.vue:
instance: "인스턴스"
instance-name: "인스턴스 이름"
@@ -1002,7 +1078,7 @@ admin/views/instance.vue:
maintainer-email: "관리자 연락처"
drive-config: "드라이브 설정"
cache-remote-files: "원격 파일을 캐시"
cache-remote-files-desc: "이 설정을 해지하면 원격 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 프라이버시 설정에서 직접 링크를 무효로 설정한 유저에게는 파일이 보이지 않거나, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다. 일반적으로 이 설정을 ON으로 두는 것을 추천합니다."
cache-remote-files-desc: "이 설정을 해지하면 원격 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 프라이버시 설정에서 직접 링크를 무효로 설정한 사용자에게는 파일이 보이지 않거나, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다. 일반적으로 이 설정을 ON으로 두는 것을 추천합니다."
local-drive-capacity-mb: "로컬 사용자 한 명당 드라이브 용량"
remote-drive-capacity-mb: "원격 사용자 한 명당 드라이브 용량"
mb: "메가바이트 단위"
@@ -1034,6 +1110,8 @@ admin/views/instance.vue:
max-note-text-length: "글의 최대 문자수"
disable-registration: "사용자 등록 비활성화"
disable-local-timeline: "로컬 타임라인 비활성화"
disable-global-timeline: "글로벌 타임라인 비활성화"
disabling-timelines-info: "이 타임라인들을 비활성화해도 관리자 및 모더레이터는 계속 사용할 수 있습니다."
invite: "초대"
save: "저장"
saved: "저장하였습니다"
@@ -1044,13 +1122,14 @@ admin/views/instance.vue:
external-user-recommendation-timeout: "타임 아웃"
external-user-recommendation-timeout-desc: "밀리초 (예: 300000)"
email-config: "메일 서버 설정"
email-config-info: "메일 주소 확인 혹은 호 재설정에 사용 됩니다."
email-config-info: "메일 주소 확인 혹은 비밀번호 재설정에 사용 됩니다."
enable-email: "메일 발신 활성화"
email: "메일 주소"
smtp-secure: "SMTP 연결에 암시적으로 SSL/TLS를 사용"
smtp-secure-info: "STARTTLS를 사용 시 ON으로 합니다."
smtp-host: "SMTP 호스트"
smtp-port: "SMTP 포트"
smtp-auth: "SMTP 인증 수행"
smtp-user: "SMTP 사용자"
smtp-pass: "SMTP 비밀번호"
serviceworker-config: "ServiceWorker"
@@ -1074,9 +1153,10 @@ admin/views/charts.vue:
notes: "글 증감 (통합)"
local-notes: "글 증감 (로컬)"
remote-notes: "글 증감 (원격)"
notes-total: "글 누적"
notes-total: "글 누적"
users: "사용자 증감"
users-total: "사용자 누적"
active-users: "활성 사용자 수"
drive: "드라이브 사용량 증감"
drive-total: "드라이브 사용량 누적"
drive-files: "드라이브 파일 수 증감"
@@ -1085,6 +1165,10 @@ admin/views/charts.vue:
network-time: "응답시간"
network-usage: "통신량"
admin/views/drive.vue:
operation: "작업"
fileid-or-url: "파일 ID 또는 파일 URL"
file-not-found: "파일을 찾을 수 없습니다"
lookup: "조회"
sort:
title: "정렬"
createdAtAsc: "업로드 날짜 오랜 순"
@@ -1100,21 +1184,32 @@ admin/views/drive.vue:
deleted: "삭제하였습니다"
mark-as-sensitive: "열람주의로 설정"
unmark-as-sensitive: "열람주의 해제"
marked-as-sensitive: "열람주의로 설정하였습니다"
unmarked-as-sensitive: "열람주의를 제거하였습니다"
admin/views/users.vue:
operation: "작업"
username-or-userid: "사용자명 혹은 사용자 ID"
user-not-found: "사용자를 찾을 수 없습니다"
lookup: "조회"
reset-password: "호 재설정"
password-updated: "암호는 현재 \"{password}\" 입니다"
reset-password: "비밀번호 재설정"
reset-password-confirm: "비밀번호를 재설정하시겠습니까?"
password-updated: "비밀번호는 현재 \"{password}\" 입니다"
suspend: "정지"
suspend-confirm: "정지하시겠습니까?"
suspended: "정지하였습니다"
unsuspend: "정지 해제"
unsuspend-confirm: "정지를 해제하시겠습니까?"
unsuspended: "정지를 해제하였습니다"
make-silence: "침묵"
unmake-silence: "침묵 해제"
verify: "공식 계정으로 설정"
verify-confirm: "공식 계정으로 설정하시겠습니까?"
verified: "공식 계정으로 설정하였습니다"
unverify: "공식 계정 해제"
unverify-confirm: "공식 계정을 해제하시겠습니까?"
unverified: "공식 계정을 해제하였습니다"
update-remote-user: "원격 사용자 정보 갱신"
remote-user-updated: "원격 사용자 정보를 갱신하였습니다"
users:
title: "사용자"
sort:
@@ -1123,6 +1218,15 @@ admin/views/users.vue:
createdAtDesc: "등록일이 최신인 순"
updatedAtAsc: "수정일이 오래된 순"
updatedAtDesc: "수정일이 최신인 순"
state:
title: "상태"
all: "모두"
admin: "관리자"
moderator: "모더레이터"
adminOrModerator: "관리자+모더레이터"
verified: "공식 계정"
silenced: "침묵됨"
suspended: "정지됨"
origin:
title: "위치 (오리진)"
combined: "로컬 + 원격"
@@ -1135,6 +1239,8 @@ admin/views/moderators.vue:
title: "모더레이터 등록"
add: "등록"
added: "모더레이터를 등록하였습니다"
remove: "해제"
removed: "모더레이터 등록을 해제했습니다"
admin/views/emoji.vue:
add-emoji:
title: "이모지 등록"
@@ -1167,13 +1273,66 @@ admin/views/announcements.vue:
removed: "삭제하였습니다"
admin/views/hashtags.vue:
hided-tags: "Hidden Tags"
admin/views/federation.vue:
federation: "연합"
host: "호스트"
notes: "글"
users: "사용자"
following: "팔로우 중"
followers: "팔로워"
status: "상태"
latest-request-sent-at: "마지막으로 요청을 전송한 시간"
latest-request-received-at: "마지막으로 요청을 받은 시간"
remove-all-following: "모든 팔로잉 해제"
remove-all-following-info: "{host}(으)로부터 모든 팔로잉을 해제합니다. 해당 인스턴스가 더 이상 존재하지 않게 된 경우 등에 실행하십시오."
block: "차단"
marked-as-closed: "폐쇄된 것으로 표시"
lookup: "조회"
instances: "인스턴스"
instance-not-registered: "해당 인스턴스가 등록되어 있지 않습니다"
sort: "정렬"
sorts:
caughtAtAsc: "등록일이 오래된 순"
caughtAtDesc: "등록일이 최신인 순"
lastCommunicatedAtAsc: "마지막으로 요청을 주고받은 일시가 오래된 순"
lastCommunicatedAtDesc: "마지막으로 요청을 주고받은 일시가 빠른 순"
notesAsc: "글이 적은 순"
notesDesc: "글이 많은 순"
usersAsc: "사용자가 적은 순"
usersDesc: "사용자가 많은 순"
followingAsc: "팔로잉이 적은 순"
followingDesc: "팔로잉이 많은 순"
followersAsc: "팔로워가 적은 순"
followersDesc: "팔로워가 많은 순"
driveUsageAsc: "드라이브 사용량이 적은 순"
driveUsageDesc: "드라이브 사용량이 많은 순"
driveFilesAsc: "드라이브 파일 수가 적은 순"
driveFilesDesc: "드라이브 파일 수가 많은 순"
state: "상태"
states:
all: "모두"
blocked: "차단됨"
not-responding: "응답 없음"
marked-as-closed: "폐쇄된 것으로 표시됨"
result-is-truncated: "상위 {n}개를 표시하고 있습니다."
charts: "차트"
chart-srcs:
requests: "요청"
users: "사용자 증감"
users-total: "사용자 누적"
notes: "글 증감"
notes-total: "글 누적"
ff: "팔로잉/팔로워 증감"
ff-total: "팔로잉/팔로워 누적"
drive-usage: "드라이브 사용량 증감"
drive-usage-total: "드라이브 사용량 누적"
drive-files: "드라이브 파일 수 증감"
drive-files-total: "드라이브 파일 수 누적"
chart-spans:
hour: "1시간마다"
day: "1일마다"
desktop/views/pages/welcome.vue:
about: "자세히..."
gotit: "알겠습니다"
signin: "로그인"
signup: "신규 등록"
signin-button: "로그인 중"
signup-button: "등록"
timeline: "타임라인"
announcements: "공지사항"
photos: "최근 이미지"
@@ -1181,8 +1340,6 @@ desktop/views/pages/welcome.vue:
info: "정보"
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/home-customize.vue:
title: "홈 커스터마이징"
desktop/views/pages/note.vue:
prev: "이전 글"
next: "다음 글"
@@ -1194,8 +1351,6 @@ desktop/views/pages/selectdrive.vue:
desktop/views/pages/search.vue:
not-available: "검색 기능은 인스턴스 설정에서 비활성화되어 있습니다."
not-found: "\"{q}\" 와 일치하는 글을 찾을 수 없습니다."
desktop/views/pages/share.vue:
share-with: "{name}(으)로 공유"
desktop/views/pages/tag.vue:
no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다."
desktop/views/pages/user-list.users.vue:
@@ -1214,40 +1369,26 @@ desktop/views/pages/user/user.photos.vue:
title: "사진"
loading: "로드 중"
no-photos: "사진이 없습니다"
desktop/views/pages/user/user.profile.vue:
follows-you: "당신을 팔로우합니다"
stalk: "스토킹"
stalking: "스토킹하고 있습니다"
unstalk: "스토킹 중단"
mute: "뮤트"
muted: "뮤트하였습니다"
unmute: "뮤트 해제"
block: "차단"
unblock: "차단 해제"
block-confirm: "이 사용자를 차단하시겠습니까?"
push-to-a-list: "리스트에 추가"
list-pushed: "{user}을(를) {list}에 추가하였습니다."
desktop/views/pages/user/user.header.vue:
posts: "글"
following: "팔로잉"
followers: "팔로워"
mention: "멘션"
is-bot: "이 계정은 Bot입니다"
no-description: "자기소개가 없습니다"
years-old: "{age}세"
year: "년"
month: "월"
day: "일"
follows-you: "당신을 팔로우합니다"
desktop/views/pages/user/user.timeline.vue:
default: "글"
with-replies: "글과 답글"
with-media: "미디어"
my-posts: "내 글"
empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다."
desktop/views/widgets/messaging.vue:
title: "메시지"
desktop/views/widgets/notifications.vue:
title: "알림"
settings: "알림 설정"
desktop/views/widgets/polls.vue:
title: "투표"
refresh: "새로고침"
@@ -1276,8 +1417,7 @@ mobile/views/components/drive.vue:
prompt: "무엇을 하시겠습니까? (숫자를 입력하여 주십시오): <1 → 파일 업로드 | 2 → 파일을 URL에서 업로드 | 3 → 폴더 만들기 | 4 → 이 폴더의 이름을 변경 | 5 → 현재 폴더 이동| 6 → 현재 폴더 삭제>"
deletion-alert: "죄송합니다! 폴더 삭제는 아직 구현되지 않았습니다..."
folder-name: "폴더 이름"
root-rename-alert: "현재 위치가 루트이고, 폴더가 아니므로 이름을 변경할 수 없습니다. 이름을 바꾸고 싶은 폴더로 이동하여 주십시오."
root-move-alert: "현재 위치가 루트이므로, 폴더가 아니므로 이동할 수 없습니다. 이동하고 싶은 폴더로 이동하여 주십시오."
here-is-root: "현재 경로는 루트 경로로 폴더가 아닙니다."
url-prompt: "업로드 하려는 파일의 URL"
uploading: "업로드를 요청하였습니다. 업로드가 완료될 때까지 시간이 소요될 수 있습니다."
mobile/views/components/drive-file-chooser.vue:
@@ -1295,9 +1435,6 @@ mobile/views/components/drive.file-detail.vue:
nsfw: "열람주의"
mark-as-sensitive: "열람주의로 설정"
unmark-as-sensitive: "열람주의 해제"
mobile/views/components/media-image.vue:
sensitive: "열람주의"
click-to-show: "클릭하여 표시"
mobile/views/components/media-video.vue:
sensitive: "열람주의"
click-to-show: "클릭하여 표시"
@@ -1307,12 +1444,6 @@ common/views/components/follow-button.vue:
request-pending: "팔로우 허가 대기중"
follow-processing: "팔로우 처리중"
follow-request: "팔로우 요청"
mobile/views/components/friends-maker.vue:
title: "마음에 드는 사용자를 팔로우"
empty: "추천 사용자를 찾을 수 없습니다."
fetching: "불러오는 중입니다"
refresh: "더 보기"
close: "닫기"
mobile/views/components/note.vue:
private: "이 글은 비공개입니다"
deleted: "이 글은 삭제되었습니다"
@@ -1349,8 +1480,6 @@ mobile/views/components/sub-note-content.vue:
deleted: "이 글은 삭제되었습니다"
media-count: "{}개의 미디어"
poll: "투표"
mobile/views/components/timeline.vue:
empty: "글이 없습니다"
mobile/views/components/ui.header.vue:
welcome-back: "돌아오신 걸 환영합니다."
adjective: "님"
@@ -1359,22 +1488,11 @@ mobile/views/components/ui.nav.vue:
notifications: "알림"
follow-requests: "팔로우 요청"
search: "검색"
favorites: "즐겨찾기"
user-lists: "리스트"
widgets: "위젯"
game: "게임"
darkmode: "다크 모드"
settings: "설정"
admin: "관리"
about: "Misskey에 대하여"
mobile/views/components/user-timeline.vue:
no-notes: "이 사용자는 작성한 글이 없는 것 같습니다."
no-notes-with-media: "미디어가 첨부된 글이 없습니다."
mobile/views/components/users-list.vue:
all: "모두"
known: "아는 사람"
mobile/views/pages/favorites.vue:
title: "즐겨찾기"
mobile/views/pages/user-lists.vue:
title: "리스트"
enter-list-name: "리스트명을 입력하십시오"
@@ -1393,8 +1511,6 @@ mobile/views/pages/home.vue:
messages: "메시지"
mobile/views/pages/tag.vue:
no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다."
mobile/views/pages/welcome.vue:
signup: "신규 등록"
mobile/views/pages/widgets.vue:
dashboard: "대시보드"
widgets-hints: "위젯을 추가 / 제거하거나 정렬할 수 있습니다. 위젯을 이동하려면 창틀의 \"☰\" 아이콘을 드래그합니다. 위젯을 삭제하려면 \"X\" 아이콘을 탭 합니다. 몇몇 위젯은 탭하면 표시형식을 바꿀 수 있습니다."
@@ -1412,9 +1528,6 @@ mobile/views/pages/note.vue:
title: "글"
prev: "이전 글"
next: "다음 글"
mobile/views/pages/notifications.vue:
notifications: "알림"
read-all: "모든 알림을 읽은 상태로 표시하시겠습니까?"
mobile/views/pages/games/reversi.vue:
reversi: "리버시"
mobile/views/pages/search.vue:
@@ -1424,46 +1537,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "파일 선택"
mobile/views/pages/settings.vue:
signed-in-as: "{}(으)로 로그인"
design: "디자인 및 표시"
dark-mode: "다크 모드"
i-am-under-limited-internet: "저는 통신 대역폭이 제한되어 있습니다"
circle-icons: "원형 아이콘 사용"
contrasted-acct: "사용자명에 대비 추가"
timeline: "타임라인"
show-reply-target: "답글 대상 표시"
show-my-renotes: "자신이 한 리노트 표시"
show-renoted-my-notes: "자신의 글이 리노트된 것을 표시"
show-local-renotes: "로컬 글의 리노트 표시"
post-style: "글 표시 스타일"
post-style-standard: "표준"
post-style-smart: "스마트"
notification-position: "알림 표시"
notification-position-bottom: "아래"
notification-position-top: "위"
behavior: "동작"
fetch-on-scroll: "스크롤하여 자동으로 불러오기"
note-visibility: "게시물의 공개 범위"
default-note-visibility: "기본 공개 범위"
remember-note-visibility: "글의 공개 범위를 기억하기"
web-search-engine: "웹 검색엔진"
web-search-engine-desc: "예: https://www.google.com/?#q={{query}}"
disable-via-mobile: "작성하는 글에 \"모바일에서 작성함\" 을 붙이지 않음"
load-raw-images: "첨부 이미지를 고품질로 표시"
load-remote-media: "원격 서버의 미디어를 표시"
update: "Misskey Update"
version: "버전:"
latest-version: "최신 버전:"
update-checking: "업데이트 확인 중"
check-for-updates: "업데이트 확인"
no-updates: "사용 가능한 업데이트가 없습니다"
no-updates-desc: "사용중인 Misskey는 최신 버전입니다."
update-available: "새 버전을 사용할 수 있습니다"
update-available-desc: "페이지를 다시 로드하면 업데이트가 적용됩니다."
settings: "설정"
signout: "로그아웃"
sound: "소리"
enable-sounds: "소리 사용"
password: "비밀번호"
mobile/views/pages/user.vue:
follows-you: "당신을 팔로우합니다"
following: "팔로잉"
@@ -1472,29 +1545,16 @@ mobile/views/pages/user.vue:
overview: "요약"
timeline: "타임라인"
media: "미디어"
mute: "뮤트"
unmute: "뮤트 해제"
block: "차단"
unblock: "차단 해제"
years-old: "{age}세"
push-to-list: "리스트에 추가"
select-list: "목록을 선택하여 주십시오"
list-pushed: "{user}을(를) {list}에 추가하였습니다"
mobile/views/pages/user/home.vue:
recent-notes: "최근 글"
images: "이미지"
activity: "활동"
keywords: "키워드"
domains: "자주 보이는 도메인"
frequently-replied-users: "자주 대화하는 사용자"
frequently-replied-users: "자주 언급되는 사용자"
followers-you-know: "아는 사람의 팔로워"
last-used-at: "마지막 로그인"
mobile/views/pages/user/home.followers-you-know.vue:
no-users: "아는 사용자가 없습니다"
mobile/views/pages/user/home.friends.vue:
no-users: "자주 대화하는 사용자가 없습니다"
mobile/views/pages/user/home.notes.vue:
no-notes: "글이 없습니다"
mobile/views/pages/user/home.photos.vue:
no-photos: "사진이 없습니다"
deck:
@@ -1508,6 +1568,7 @@ deck:
direct: "다이렉트 게시글"
notifications: "알림"
list: "리스트"
select-list: "리스트를 선택하여 주십시오"
swap-left: "왼쪽으로 이동"
swap-right: "오른쪽으로 이동"
swap-up: "위로 이동"
@@ -1517,20 +1578,21 @@ deck:
rename: "이름 변경"
stack-left: "왼쪽에 쌓기"
pop-right: "오른쪽으로 빼기"
disabled-timeline:
title: "비활성화된 타임라인"
description: "서버 운영자에 의해 이 타임라인이 사용할 수 없도록 설정되어 있습니다."
deck/deck.tl-column.vue:
is-media-only: "미디어가 달린 글만"
is-media-view: "미디어 보기"
edit: "옵션"
deck/deck.user-column.vue:
follows-you: "당신을 팔로우합니다"
posts: "글"
following: "팔로잉"
followers: "팔로워"
mention: "멘션"
images: "이미지"
activity: "활동"
timeline: "타임라인"
pinned-notes: "고정해놓은 글"
push-to-a-list: "리스트에 추가"
docs:
edit-this-page-on-github: "틀린 점이나 개선할 점을 찾으셨나요?"
edit-this-page-on-github-link: "이 페이지를 GitHub에서 편집"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

88
locales/zh-TW.yml Normal file
View File

@@ -0,0 +1,88 @@
---
meta:
lang: "中文(繁体)"
common:
intro:
title: "什麽是 Misskey 呢?"
rich-contents: "發佈"
reaction: "回應"
drive: "雲端硬碟"
adblock:
detected: "請禁用廣告封鎖器"
close: "關閉"
enter-password: "請輸入密碼"
2fa: "雙重身份驗證"
dark-mode: "夜間模式"
signup: "註冊"
signout: "登出"
notification:
reversi-invited: "您已被邀請加入壹場遊戲"
reversi-invited-by: "來自{}的邀請"
notified-by: "來自{}的邀請"
time:
future: "未來"
just_now: "剛剛"
drive: "雲端硬碟"
weekday:
sunday: "週日"
monday: "週一"
tuesday: "週二"
wednesday: "週三"
thursday: "週四"
friday: "週五"
saturday: "週六"
reactions:
like: "贊"
love: "喜歡"
congrats: "恭喜"
_settings:
password: "密碼"
font-size: "字體大小"
font-size-x-small: "小"
font-size-small: "較小"
deck-column-width-wide: "寬"
timeline: "時間軸"
common/views/components/connect-failed.troubleshooter.vue:
flush: "清除快取"
common/views/components/theme.vue:
light-themes: "淺色主題"
dark-themes: "深色主題"
install-a-theme: "安裝主題"
save-created-theme: "保存主題"
common/views/components/signin.vue:
signin-with-twitter: "用 Twitter 帳號登入"
signin-with-github: "用 GitHub 帳號登入"
signin-with-discord: "用 Discord 帳號登入"
login-failed: "登錄失敗。 請檢查用戶名和密碼。"
common/views/components/signup.vue:
invitation-code: "邀請碼"
username: "用戶名"
available: "可用"
too-long: "請不要超過20個字元"
password: "密碼"
password-placeholder: "建議至少8個字元"
common/views/components/stream-indicator.vue:
connecting: "正在連線"
reconnecting: "正在重新連線"
connected: "已建立連線"
common/views/components/integration-settings.vue:
disconnect: "中斷連線"
common/views/components/github-setting.vue:
reconnect: "重新連線"
disconnect: "中斷連線"
common/views/components/discord-setting.vue:
reconnect: "重新連線"
disconnect: "中斷連線"
common/views/components/language-settings.vue:
recommended: "推薦"
auto: "自動"
specify-language: "指定語言"
common/views/components/profile-editor.vue:
title: "個人資料"
name: "名稱"
birthday: "生日:"
privacy: "隱私"
admin/views/dashboard.vue:
drive: "雲端硬碟"
admin/views/charts.vue:
drive: "雲端硬碟"

View File

@@ -1,14 +1,17 @@
{
"name": "misskey",
"author": "syuilo <i@syuilo.com>",
"version": "10.75.0",
"clientVersion": "2.0.13368",
"version": "10.93.0",
"codename": "nighthike",
"main": "./built/index.js",
"repository": {
"type": "git",
"url": "https://github.com/syuilo/misskey.git"
},
"main": "./index.js",
"private": true,
"scripts": {
"start": "node ./built",
"debug": "DEBUG=misskey:* node ./built",
"start": "node ./index.js",
"debug": "DEBUG=misskey:* node ./index.js",
"build": "webpack && gulp build",
"webpack": "webpack",
"watch": "webpack --watch",
@@ -20,51 +23,55 @@
"format": "gulp format"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "1.2.12",
"@fortawesome/free-brands-svg-icons": "5.6.3",
"@fortawesome/free-regular-svg-icons": "5.5.0",
"@fortawesome/free-solid-svg-icons": "5.6.3",
"@fortawesome/vue-fontawesome": "0.1.2",
"@fortawesome/fontawesome-svg-core": "1.2.15",
"@fortawesome/free-brands-svg-icons": "5.7.2",
"@fortawesome/free-regular-svg-icons": "5.7.2",
"@fortawesome/free-solid-svg-icons": "5.7.2",
"@fortawesome/vue-fontawesome": "0.1.5",
"@koa/cors": "2.2.3",
"@prezzemolo/rap": "0.1.2",
"@prezzemolo/zip": "0.0.3",
"@types/bcryptjs": "2.4.2",
"@types/bull": "3.5.8",
"@types/chai-http": "3.0.5",
"@types/dateformat": "3.0.0",
"@types/debug": "0.0.31",
"@types/deep-equal": "1.0.1",
"@types/double-ended-queue": "2.1.0",
"@types/elasticsearch": "5.0.30",
"@types/file-type": "10.6.0",
"@types/gulp": "3.8.36",
"@types/gulp": "4.0.5",
"@types/gulp-mocha": "0.0.32",
"@types/gulp-rename": "0.0.33",
"@types/gulp-replace": "0.0.31",
"@types/gulp-uglify": "3.0.6",
"@types/gulp-util": "3.0.34",
"@types/is-root": "1.0.0",
"@types/is-svg": "3.0.0",
"@types/is-url": "1.2.28",
"@types/js-yaml": "3.11.4",
"@types/katex": "0.5.0",
"@types/js-yaml": "3.12.0",
"@types/jsdom": "12.2.3",
"@types/katex": "0.10.1",
"@types/koa": "2.0.48",
"@types/koa-bodyparser": "5.0.2",
"@types/koa-compress": "2.0.8",
"@types/koa-cors": "0.0.0",
"@types/koa-favicon": "2.0.19",
"@types/koa-logger": "3.1.1",
"@types/koa-mount": "3.0.1",
"@types/koa-multer": "1.0.0",
"@types/koa-router": "7.0.35",
"@types/koa-router": "7.0.40",
"@types/koa-send": "4.1.1",
"@types/koa-views": "2.0.3",
"@types/koa__cors": "2.2.3",
"@types/minio": "7.0.1",
"@types/mkdirp": "0.5.2",
"@types/mocha": "5.2.5",
"@types/mongodb": "3.1.14",
"@types/ms": "0.7.30",
"@types/node": "10.12.18",
"@types/nodemailer": "4.6.5",
"@types/mongodb": "3.1.20",
"@types/node": "11.10.4",
"@types/nodemailer": "4.6.6",
"@types/nprogress": "0.0.29",
"@types/oauth": "0.9.1",
"@types/parse5": "5.0.0",
"@types/parsimmon": "1.10.0",
"@types/portscanner": "2.1.0",
"@types/pug": "2.0.4",
@@ -73,54 +80,54 @@
"@types/redis": "2.8.10",
"@types/request": "2.48.1",
"@types/request-promise-native": "1.0.15",
"@types/request-stats": "3.0.0",
"@types/rimraf": "2.0.2",
"@types/seedrandom": "2.4.27",
"@types/sharp": "0.21.0",
"@types/showdown": "1.9.0",
"@types/speakeasy": "2.0.3",
"@types/sharp": "0.21.2",
"@types/showdown": "1.9.2",
"@types/speakeasy": "2.0.4",
"@types/systeminformation": "3.23.1",
"@types/tinycolor2": "1.4.1",
"@types/tmp": "0.0.33",
"@types/uuid": "3.4.4",
"@types/webpack": "4.4.21",
"@types/web-push": "3.3.0",
"@types/webpack": "4.4.24",
"@types/webpack-stream": "3.2.10",
"@types/websocket": "0.0.40",
"@types/ws": "6.0.1",
"animejs": "2.2.0",
"apexcharts": "2.5.1",
"animejs": "3.0.1",
"apexcharts": "3.5.0",
"autobind-decorator": "2.4.0",
"autosize": "4.0.2",
"autwh": "0.1.0",
"bcryptjs": "2.4.3",
"bee-queue": "1.2.2",
"bootstrap-vue": "2.0.0-rc.11",
"cafy": "12.0.0",
"bootstrap-vue": "2.0.0-rc.13",
"bull": "3.7.0",
"cafy": "15.1.0",
"chai": "4.2.0",
"chai-http": "4.2.0",
"chalk": "2.4.1",
"chai-http": "4.2.1",
"chalk": "2.4.2",
"commander": "2.19.0",
"crc-32": "1.2.0",
"css-loader": "1.0.1",
"cssnano": "4.1.7",
"css-loader": "2.1.0",
"cssnano": "4.1.10",
"dateformat": "3.0.3",
"debug": "4.1.0",
"deep-equal": "1.0.1",
"deepcopy": "0.6.3",
"diskusage": "1.0.0",
"double-ended-queue": "2.1.0-0",
"elasticsearch": "15.2.0",
"elasticsearch": "15.3.1",
"emojilib": "2.4.0",
"escape-regexp": "0.0.1",
"eslint": "5.11.1",
"eslint-plugin-vue": "5.0.0",
"eslint": "5.15.0",
"eslint-plugin-vue": "5.2.2",
"eventemitter3": "3.1.0",
"feed": "2.0.2",
"file-loader": "2.0.0",
"file-type": "10.7.0",
"file-type": "10.9.0",
"fuckadblock": "3.2.1",
"gulp": "3.9.1",
"gulp": "4.0.0",
"gulp-cssnano": "2.1.3",
"gulp-imagemin": "4.1.0",
"gulp-imagemin": "5.0.3",
"gulp-mocha": "6.0.0",
"gulp-rename": "1.4.0",
"gulp-replace": "1.0.0",
@@ -130,19 +137,18 @@
"gulp-typescript": "5.0.0",
"gulp-uglify": "3.0.1",
"gulp-util": "3.0.8",
"gulp-yaml": "2.0.2",
"hard-source-webpack-plugin": "0.13.1",
"html-minifier": "3.5.21",
"http-signature": "1.2.0",
"insert-text-at-cursor": "0.1.1",
"insert-text-at-cursor": "0.1.2",
"is-root": "2.0.0",
"is-url": "1.2.4",
"js-yaml": "3.12.0",
"jsdom": "13.1.0",
"is-svg": "3.0.0",
"js-yaml": "3.12.1",
"jsdom": "13.2.0",
"json5": "2.1.0",
"json5-loader": "1.0.1",
"katex": "0.10.0",
"koa": "2.6.2",
"katex": "0.10.1",
"koa": "2.7.0",
"koa-bodyparser": "4.2.1",
"koa-compress": "3.0.0",
"koa-favicon": "2.0.1",
@@ -153,36 +159,36 @@
"koa-router": "7.4.0",
"koa-send": "5.0.0",
"koa-slow": "2.1.0",
"koa-views": "6.1.4",
"koa-views": "6.1.5",
"langmap": "0.0.16",
"loader-utils": "1.2.3",
"lookup-dns-cache": "2.1.0",
"minio": "7.0.2",
"minio": "7.0.5",
"mkdirp": "0.5.1",
"mocha": "5.2.0",
"moji": "0.5.1",
"moment": "2.23.0",
"mongodb": "3.1.10",
"moment": "2.24.0",
"mongodb": "3.1.13",
"monk": "6.0.6",
"ms": "2.1.1",
"nan": "2.12.1",
"nested-property": "0.0.7",
"nodemailer": "5.0.0",
"nodemailer": "5.1.1",
"nprogress": "0.2.0",
"object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0",
"os-utils": "0.0.14",
"parse5": "5.1.0",
"parsimmon": "1.12.0",
"portscanner": "2.2.0",
"postcss-loader": "3.0.0",
"progress-bar-webpack-plugin": "1.11.0",
"prismjs": "1.15.0",
"progress-bar-webpack-plugin": "1.12.1",
"promise-any": "0.2.0",
"promise-limit": "2.7.0",
"promise-sequential": "1.1.1",
"pug": "2.0.3",
"punycode": "2.1.1",
"qrcode": "1.3.2",
"qrcode": "1.3.3",
"randomcolor": "0.5.3",
"ratelimiter": "3.2.0",
"recaptcha-promise": "0.1.3",
@@ -191,11 +197,11 @@
"request": "2.88.0",
"request-promise-native": "1.0.5",
"request-stats": "3.0.0",
"rimraf": "2.6.2",
"rimraf": "2.6.3",
"rndstr": "1.0.0",
"s-age": "1.1.2",
"seedrandom": "2.4.4",
"sharp": "0.21.1",
"sharp": "0.21.3",
"showdown": "1.9.0",
"showdown-highlightjs-extension": "0.1.2",
"speakeasy": "2.0.0",
@@ -204,45 +210,49 @@
"stylus": "0.54.5",
"stylus-loader": "3.0.2",
"summaly": "2.2.0",
"systeminformation": "3.52.2",
"systeminformation": "4.0.14",
"syuilo-password-strength": "0.0.1",
"terser-webpack-plugin": "1.2.1",
"terser-webpack-plugin": "1.2.3",
"textarea-caret": "3.1.0",
"tinycolor2": "1.4.1",
"tmp": "0.0.33",
"ts-loader": "5.3.1",
"ts-node": "7.0.1",
"tslint": "5.12.0",
"tslint-sonarts": "1.8.0",
"typescript": "3.2.2",
"typescript-eslint-parser": "21.0.2",
"ts-loader": "5.3.3",
"ts-node": "8.0.2",
"tslint": "5.13.1",
"tslint-sonarts": "1.9.0",
"typescript": "3.3.3333",
"typescript-eslint-parser": "22.0.0",
"uglify-es": "3.3.9",
"url-loader": "1.1.2",
"uuid": "3.3.2",
"v-animate-css": "0.0.3",
"vue": "2.5.17",
"v-debounce": "0.1.2",
"video-thumbnail-generator": "1.1.3",
"vue": "2.6.8",
"vue-color": "2.7.0",
"vue-content-loading": "1.5.3",
"vue-cropperjs": "3.0.0",
"vue-i18n": "8.6.0",
"vue-i18n": "8.8.2",
"vue-js-modal": "1.3.28",
"vue-loader": "15.4.2",
"vue-json-pretty": "1.4.1",
"vue-loader": "15.7.0",
"vue-marquee-text-component": "1.1.1",
"vue-prism-component": "1.1.1",
"vue-router": "3.0.2",
"vue-sequential-entrance": "1.1.3",
"vue-style-loader": "4.1.2",
"vue-svg-inline-loader": "1.2.7",
"vue-template-compiler": "2.5.17",
"vuedraggable": "2.17.0",
"vue-svg-inline-loader": "1.2.12",
"vue-template-compiler": "2.6.8",
"vuedraggable": "2.18.1",
"vuewordcloud": "18.7.11",
"vuex": "3.0.1",
"vuex": "3.1.0",
"vuex-persistedstate": "2.5.4",
"web-push": "3.3.3",
"webfinger.js": "2.7.0",
"webpack": "4.28.3",
"webpack-cli": "3.1.2",
"webpack": "4.28.4",
"webpack-cli": "3.2.3",
"websocket": "1.0.28",
"ws": "6.1.2",
"ws": "6.1.4",
"xev": "2.0.1"
}
}

3
src/@types/const.json.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
declare module '*/const.json' {
const copyright: string;
}

17
src/@types/deepcopy.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
declare module 'deepcopy';
declare namespace deepcopy {
type DeepcopyCustomizerValueType = 'Object';
type DeepcopyCustomizer<T> = (
value: T,
valueType: DeepcopyCustomizerValueType) => T;
interface DeepcopyOptions<T> {
customizer: DeepcopyCustomizer<T>;
}
export function deepcopy<T>(
value: T,
options?: DeepcopyOptions<T> | DeepcopyCustomizer<T>): T;
}

7
src/@types/escape-regexp.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
declare module 'escape-regexp' {
function escapeRegExp(str: string): string;
namespace escapeRegExp {} // Hack
export = escapeRegExp;
}

75
src/@types/http-signature.d.ts vendored Normal file
View File

@@ -0,0 +1,75 @@
declare module 'http-signature' {
import { IncomingMessage, ClientRequest } from 'http';
interface ISignature {
keyId: string;
algorithm: string;
headers: string[];
signature: string;
}
interface IOptions {
headers?: string[];
algorithm?: string;
strict?: boolean;
authorizationHeaderName?: string;
}
interface IParseRequestOptions extends IOptions {
clockSkew?: number;
}
interface IParsedSignature {
scheme: string;
params: ISignature;
signingString: string;
}
type RequestSignerConstructorOptions =
IRequestSignerConstructorOptionsFromProperties |
IRequestSignerConstructorOptionsFromFunction;
interface IRequestSignerConstructorOptionsFromProperties {
keyId: string;
key: string | Buffer;
algorithm?: string;
}
interface IRequestSignerConstructorOptionsFromFunction {
sign?: (data: string, cb: (err: any, sig: ISignature) => void) => void;
}
class RequestSigner {
constructor(options: RequestSignerConstructorOptions);
public writeHeader(header: string, value: string): string;
public writeDateHeader(): string;
public writeTarget(method: string, path: string): void;
public sign(cb: (err: any, authz: string) => void): void;
}
interface ISignRequestOptions extends IOptions {
keyId: string;
key: string;
httpVersion?: string;
}
export function parse(request: IncomingMessage, options?: IParseRequestOptions): IParsedSignature;
export function parseRequest(request: IncomingMessage, options?: IParseRequestOptions): IParsedSignature;
export function sign(request: ClientRequest, options: ISignRequestOptions): boolean;
export function signRequest(request: ClientRequest, options: ISignRequestOptions): boolean;
export function createSigner(): RequestSigner;
export function isSigner(obj: any): obj is RequestSigner;
export function sshKeyToPEM(key: string): string;
export function sshKeyFingerprint(key: string): string;
export function pemToRsaSSHKey(pem: string, comment: string): string;
export function verify(parsedSignature: IParsedSignature, pubkey: string | Buffer): boolean;
export function verifySignature(parsedSignature: IParsedSignature, pubkey: string | Buffer): boolean;
export function verifyHMAC(parsedSignature: IParsedSignature, secret: string): boolean;
}

7
src/@types/is-root.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
declare module 'is-root' {
function isRoot(): boolean;
namespace isRoot {} // Hack
export = isRoot;
}

15
src/@types/koa-json-body.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
declare module 'koa-json-body' {
import { Middleware } from 'koa';
interface IKoaJsonBodyOptions {
strict: boolean;
limit: string;
fallback: boolean;
}
function koaJsonBody(opt?: IKoaJsonBodyOptions): Middleware;
namespace koaJsonBody {} // Hack
export = koaJsonBody;
}

14
src/@types/koa-slow.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
declare module 'koa-slow' {
import { Middleware } from 'koa';
interface ISlowOptions {
url?: RegExp;
delay?: number;
}
function slow(options?: ISlowOptions): Middleware;
namespace slow { } // Hack
export = slow;
}

10
src/@types/langmap.d.ts vendored Normal file
View File

@@ -0,0 +1,10 @@
declare module 'langmap' {
type Lang = {
nativeName: string;
englishName: string;
};
const langmap: { [lang: string]: Lang };
export = langmap;
}

17
src/@types/lookup-dns-cache.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
declare module 'lookup-dns-cache' {
type IPv4 = 4;
type IPv6 = 6;
type Family = IPv4 | IPv6 | undefined;
interface IRunOptions {
family?: Family;
all?: boolean;
}
type RunCallback = (error: Error | null, address?: string | string[], family?: Family) => void;
export function lookup(hostname: string, options: IRunOptions | Family, callback: RunCallback): {} | undefined;
export function lookup(hostname: string, callback: RunCallback): {} | undefined;
}

3
src/@types/meta.json.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
declare module '*/meta.json' {
const version: string;
}

12
src/@types/ms.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
declare module 'ms' {
interface IMSOptions {
long: boolean;
}
function ms(value: string): number;
function ms(value: number, options?: IMSOptions): string;
namespace ms {} // Hack
export = ms;
}

21
src/@types/nested-property.d.ts vendored Normal file
View File

@@ -0,0 +1,21 @@
type Obj = { [key: string]: any };
declare module 'nested-property' {
interface IHasNestedPropertyOptions {
own?: boolean;
}
interface IIsInNestedPropertyOptions {
validPath?: boolean;
}
export function set<T>(object: T, property: string, value: any): T;
export function get(object: Obj, property: string): any;
export function has(object: Obj, property: string, options?: IHasNestedPropertyOptions): boolean;
export function hasOwn(object: Obj, property: string, options?: IHasNestedPropertyOptions): boolean;
export function isIn(object: Obj, property: string, objectInPath: Obj, options?: IIsInNestedPropertyOptions): boolean;
}

30
src/@types/os-utils.d.ts vendored Normal file
View File

@@ -0,0 +1,30 @@
declare module 'os-utils' {
type FreeCommandCallback = (usedmem: number) => void;
type HarddriveCallback = (total: number, free: number, used: number) => void;
type GetProcessesCallback = (result: string) => void;
type CPUCallback = (perc: number) => void;
export function platform(): NodeJS.Platform;
export function cpuCount(): number;
export function sysUptime(): number;
export function processUptime(): number;
export function freemem(): number;
export function totalmem(): number;
export function freememPercentage(): number;
export function freeCommand(callback: FreeCommandCallback): void;
export function harddrive(callback: HarddriveCallback): void;
export function getProcesses(callback: GetProcessesCallback): void;
export function getProcesses(nProcess: number, callback: GetProcessesCallback): void;
export function allLoadavg(): string;
export function loadavg(_time?: number): number;
export function cpuFree(callback: CPUCallback): void;
export function cpuUsage(callback: CPUCallback): void;
}

10
src/@types/package.json.d.ts vendored Normal file
View File

@@ -0,0 +1,10 @@
declare module '*/package.json' {
interface IRepository {
type: string;
url: string;
}
export const name: string;
export const version: string;
export const repository: IRepository;
}

7
src/@types/promise-any.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
declare module 'promise-any' {
function promiseAny<T>(iterable: Iterable<T | PromiseLike<T>>): Promise<T>;
namespace promiseAny {} // Hack
export = promiseAny;
}

16
src/@types/recaptcha-promise.d.ts vendored Normal file
View File

@@ -0,0 +1,16 @@
declare module 'recaptcha-promise' {
interface IVerifyOptions {
secret_key?: string;
}
interface IVerify {
(response: string, remoteAddress?: string): Promise<boolean>;
init(options: IVerifyOptions): IVerify;
}
namespace recaptchaPromise {} // Hack
const verify: IVerify;
export = verify;
}

65
src/@types/webfinger.js.d.ts vendored Normal file
View File

@@ -0,0 +1,65 @@
declare module 'webfinger.js' {
interface IWebFingerConstructorConfig {
tls_only?: boolean;
webfist_fallback?: boolean;
uri_fallback?: boolean;
request_timeout?: number;
}
type JRDProperties = { [type: string]: string };
interface IJRDLink {
rel: string;
type?: string;
href?: string;
template?: string;
titles?: { [lang: string]: string };
properties?: JRDProperties;
}
interface IJRD {
subject?: string;
expires?: Date;
aliases?: string[];
properties?: JRDProperties;
links?: IJRDLink[];
}
interface IIDXLinks {
'avatar': IJRDLink[];
'remotestorage': IJRDLink[];
'blog': IJRDLink[];
'vcard': IJRDLink[];
'updates': IJRDLink[];
'share': IJRDLink[];
'profile': IJRDLink[];
'webfist': IJRDLink[];
'camlistore': IJRDLink[];
[type: string]: IJRDLink[];
}
interface IIDXProperties {
'name': string;
[type: string]: string;
}
interface IIDX {
links: IIDXLinks;
properties: IIDXProperties;
}
interface ILookupCallbackResult {
object: IJRD;
json: string;
idx: IIDX;
}
type LookupCallback = (err: Error | string, result?: ILookupCallbackResult) => void;
export class WebFinger {
constructor(config?: IWebFingerConstructorConfig);
public lookup(address: string, cb: LookupCallback): NodeJS.Timeout;
public lookupLink(address: string, rel: string, cb: IJRDLink): void;
}
}

19
src/argv.ts Normal file
View File

@@ -0,0 +1,19 @@
import * as program from 'commander';
import * as pkg from '../package.json';
program
.version(pkg.version)
.option('--no-daemons', 'Disable daemon processes (for debbuging)')
.option('--disable-clustering', 'Disable clustering')
.option('--only-server', 'Run server only (without job queue processing)')
.option('--only-queue', 'Pocessing job queue only (without server)')
.option('--quiet', 'Suppress all logs')
.option('--verbose', 'Enable all logs')
.option('--with-log-time', 'Include timestamp for each logs')
.option('--slow', 'Delay all requests (for debbuging)')
.option('--color', 'This option is a dummy for some external program\'s (e.g. forever) issue.')
.parse(process.argv);
if (process.env.MK_ONLY_QUEUE) program.onlyQueue = true;
export { program };

View File

@@ -0,0 +1,83 @@
<template>
<div>
<ui-card>
<template #title><fa :icon="faExclamationCircle"/> {{ $t('title') }}</template>
<section class="fit-top">
<sequential-entrance animation="entranceFromTop" delay="25">
<div v-for="report in userReports" :key="report.id" class="haexwsjc">
<ui-horizon-group inputs>
<ui-input :value="report.user | acct" type="text" readonly>
<span>{{ $t('target') }}</span>
</ui-input>
<ui-input :value="report.reporter | acct" type="text" readonly>
<span>{{ $t('reporter') }}</span>
</ui-input>
</ui-horizon-group>
<ui-textarea :value="report.comment" readonly>
<span>{{ $t('details') }}</span>
</ui-textarea>
<ui-button @click="removeReport(report)">{{ $t('remove-report') }}</ui-button>
</div>
</sequential-entrance>
<ui-button v-if="existMore" @click="fetchUserReports">{{ $t('@.load-more') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/abuse.vue'),
data() {
return {
limit: 10,
untilId: undefined,
userReports: [],
existMore: false,
faExclamationCircle
};
},
mounted() {
this.fetchUserReports();
},
methods: {
fetchUserReports() {
this.$root.api('admin/abuse-user-reports', {
untilId: this.untilId,
limit: this.limit + 1
}).then(reports => {
if (reports.length == this.limit + 1) {
reports.pop();
this.existMore = true;
} else {
this.existMore = false;
}
this.userReports = this.userReports.concat(reports);
this.untilId = this.userReports[this.userReports.length - 1].id;
});
},
removeReport(report) {
this.$root.api('admin/remove-abuse-user-report', {
reportId: report.id
}).then(() => {
this.userReports = this.userReports.filter(r => r.id != report.id);
});
}
}
});
</script>
<style lang="stylus" scoped>
.haexwsjc
padding-bottom 16px
border-bottom solid 1px var(--faceDivider)
</style>

View File

@@ -1,7 +1,7 @@
<template>
<div class="cdeuzmsthagexbkpofbmatmugjuvogfb">
<div>
<ui-card>
<div slot="title"><fa icon="broadcast-tower"/> {{ $t('announcements') }}</div>
<template #title><fa icon="broadcast-tower"/> {{ $t('announcements') }}</template>
<section v-for="(announcement, i) in announcements" class="fit-top">
<ui-input v-model="announcement.title" @change="save">
<span>{{ $t('title') }}</span>
@@ -35,7 +35,7 @@ export default Vue.extend({
created() {
this.$root.getMeta().then(meta => {
this.announcements = meta.broadcasts;
this.announcements = meta.announcements;
});
},
@@ -65,7 +65,7 @@ export default Vue.extend({
save(silent) {
this.$root.api('admin/update-meta', {
broadcasts: this.announcements
announcements: this.announcements
}).then(() => {
if (!silent) {
this.$root.dialog({
@@ -83,10 +83,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.cdeuzmsthagexbkpofbmatmugjuvogfb
@media (min-width 500px)
padding 16px
</style>

View File

@@ -10,6 +10,7 @@
<optgroup :label="$t('users')">
<option value="users">{{ $t('charts.users') }}</option>
<option value="users-total">{{ $t('charts.users-total') }}</option>
<option value="active-users">{{ $t('charts.active-users') }}</option>
</optgroup>
<optgroup :label="$t('notes')">
<option value="notes">{{ $t('charts.notes') }}</option>
@@ -41,7 +42,7 @@
import Vue from 'vue';
import i18n from '../../i18n';
import * as tinycolor from 'tinycolor2';
import * as ApexCharts from 'apexcharts';
import ApexCharts from 'apexcharts';
const limit = 90;
@@ -67,6 +68,7 @@ export default Vue.extend({
case 'federation-instances-total': return this.federationInstancesChart(true);
case 'users': return this.usersChart(false);
case 'users-total': return this.usersChart(true);
case 'active-users': return this.activeUsersChart();
case 'notes': return this.notesChart('combined');
case 'local-notes': return this.notesChart('local');
case 'remote-notes': return this.notesChart('remote');
@@ -107,12 +109,14 @@ export default Vue.extend({
const [perHour, perDay] = await Promise.all([Promise.all([
this.$root.api('charts/federation', { limit: limit, span: 'hour' }),
this.$root.api('charts/users', { limit: limit, span: 'hour' }),
this.$root.api('charts/active-users', { limit: limit, span: 'hour' }),
this.$root.api('charts/notes', { limit: limit, span: 'hour' }),
this.$root.api('charts/drive', { limit: limit, span: 'hour' }),
this.$root.api('charts/network', { limit: limit, span: 'hour' })
]), Promise.all([
this.$root.api('charts/federation', { limit: limit, span: 'day' }),
this.$root.api('charts/users', { limit: limit, span: 'day' }),
this.$root.api('charts/active-users', { limit: limit, span: 'day' }),
this.$root.api('charts/notes', { limit: limit, span: 'day' }),
this.$root.api('charts/drive', { limit: limit, span: 'day' }),
this.$root.api('charts/network', { limit: limit, span: 'day' })
@@ -122,16 +126,18 @@ export default Vue.extend({
perHour: {
federation: perHour[0],
users: perHour[1],
notes: perHour[2],
drive: perHour[3],
network: perHour[4]
activeUsers: perHour[2],
notes: perHour[3],
drive: perHour[4],
network: perHour[5]
},
perDay: {
federation: perDay[0],
users: perDay[1],
notes: perDay[2],
drive: perDay[3],
network: perDay[4]
activeUsers: perDay[2],
notes: perDay[3],
drive: perDay[4],
network: perDay[5]
}
};
@@ -183,7 +189,7 @@ export default Vue.extend({
},
legend: {
labels: {
color: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
colors: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
},
},
xaxis: {
@@ -321,6 +327,24 @@ export default Vue.extend({
};
},
activeUsersChart(): any {
return {
series: [{
name: 'Combined',
type: 'line',
data: this.format(sum(this.stats.activeUsers.local.count, this.stats.activeUsers.remote.count))
}, {
name: 'Local',
type: 'area',
data: this.format(this.stats.activeUsers.local.count)
}, {
name: 'Remote',
type: 'area',
data: this.format(this.stats.activeUsers.remote.count)
}]
};
},
driveChart(): any {
return {
bytes: true,

View File

@@ -19,7 +19,7 @@
<script lang="ts">
import Vue from 'vue';
import * as ApexCharts from 'apexcharts';
import ApexCharts from 'apexcharts';
export default Vue.extend({
props: ['connection'],

View File

@@ -124,7 +124,7 @@ export default Vue.extend({
this.meta = meta;
});
this.$root.api('instances', {
this.$root.api('federation/instances', {
sort: '+notes'
}).then(instances => {
for (const i of instances) {
@@ -148,7 +148,7 @@ export default Vue.extend({
},
updateStats() {
this.$root.api('stats', {}, false, true).then(stats => {
this.$root.api('stats', {}, true).then(stats => {
this.stats = stats;
});
}
@@ -161,7 +161,7 @@ export default Vue.extend({
padding 16px
@media (min-width 500px)
padding 32px
padding 16px
> header
display flex

View File

@@ -1,18 +1,34 @@
<template>
<div class="pwnqwyet">
<div>
<ui-card>
<div slot="title"><fa :icon="faCloud"/> {{ $t('@.drive') }}</div>
<template #title><fa :icon="faTerminal"/> {{ $t('operation') }}</template>
<section class="fit-top">
<ui-input v-model="target" type="text">
<span>{{ $t('fileid-or-url') }}</span>
</ui-input>
<ui-horizon-group>
<ui-button @click="findAndToggleSensitive(true)"><fa :icon="faEyeSlash"/> {{ $t('mark-as-sensitive') }}</ui-button>
<ui-button @click="findAndToggleSensitive(false)"><fa :icon="faEye"/> {{ $t('unmark-as-sensitive') }}</ui-button>
</ui-horizon-group>
<ui-button @click="findAndDel()"><fa :icon="faTrashAlt"/> {{ $t('delete') }}</ui-button>
<ui-button @click="show()"><fa :icon="faSearch"/> {{ $t('lookup') }}</ui-button>
<ui-textarea v-if="file" :value="file | json5" readonly tall style="margin-top:16px;"></ui-textarea>
</section>
</ui-card>
<ui-card>
<template #title><fa :icon="faCloud"/> {{ $t('@.drive') }}</template>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-select v-model="sort">
<span slot="label">{{ $t('sort.title') }}</span>
<template #label>{{ $t('sort.title') }}</template>
<option value="-createdAt">{{ $t('sort.createdAtAsc') }}</option>
<option value="+createdAt">{{ $t('sort.createdAtDesc') }}</option>
<option value="-size">{{ $t('sort.sizeAsc') }}</option>
<option value="+size">{{ $t('sort.sizeDesc') }}</option>
</ui-select>
<ui-select v-model="origin">
<span slot="label">{{ $t('origin.title') }}</span>
<template #label>{{ $t('origin.title') }}</template>
<option value="combined">{{ $t('origin.combined') }}</option>
<option value="local">{{ $t('origin.local') }}</option>
<option value="remote">{{ $t('origin.remote') }}</option>
@@ -57,7 +73,7 @@
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { faCloud } from '@fortawesome/free-solid-svg-icons';
import { faCloud, faTerminal, faSearch } from '@fortawesome/free-solid-svg-icons';
import { faTrashAlt, faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
@@ -65,13 +81,15 @@ export default Vue.extend({
data() {
return {
file: null,
target: null,
sort: '+createdAt',
origin: 'combined',
limit: 10,
offset: 0,
files: [],
existMore: false,
faCloud, faTrashAlt, faEye, faEyeSlash
faCloud, faTrashAlt, faEye, faEyeSlash, faTerminal, faSearch
};
},
@@ -94,6 +112,24 @@ export default Vue.extend({
},
methods: {
async fetchFile() {
try {
return await this.$root.api('drive/files/show', this.target.startsWith('http') ? { url: this.target } : { fileId: this.target });
} catch (e) {
if (e == 'file-not-found') {
this.$root.dialog({
type: 'error',
text: this.$t('file-not-found')
});
} else {
this.$root.dialog({
type: 'error',
text: e.toString()
});
}
}
},
fetch() {
this.$root.api('admin/drive/files', {
origin: this.origin,
@@ -147,43 +183,85 @@ export default Vue.extend({
file.isSensitive = !file.isSensitive;
},
async show() {
const file = await this.fetchFile();
this.$root.api('admin/drive/show-file', { fileId: file.id }).then(info => {
this.file = info;
});
},
async findAndToggleSensitive(sensitive) {
const process = async () => {
const file = await this.fetchFile();
await this.$root.api('drive/files/update', {
fileId: file.id,
isSensitive: sensitive
});
this.$root.dialog({
type: 'success',
text: sensitive ? this.$t('marked-as-sensitive') : this.$t('unmarked-as-sensitive')
});
};
await process().catch(e => {
this.$root.dialog({
type: 'error',
text: e.toString()
});
});
},
async findAndDel() {
const process = async () => {
const file = await this.fetchFile();
await this.$root.api('drive/files/delete', { fileId: file.id });
this.$root.dialog({
type: 'success',
text: this.$t('deleted')
});
};
await process().catch(e => {
this.$root.dialog({
type: 'error',
text: e.toString()
});
});
},
}
});
</script>
<style lang="stylus" scoped>
.pwnqwyet
@media (min-width 500px)
padding 16px
.kidvdlkg
padding 16px 0
border-top solid 1px var(--faceDivider)
.kidvdlkg
padding 16px 0
border-top solid 1px var(--faceDivider)
> div:first-child
display flex
cursor pointer
> div:first-child
display flex
cursor pointer
> div:nth-child(1)
> .thumbnail
display block
width 64px
height 64px
background-size cover
background-position center center
> div:nth-child(1)
> .thumbnail
display block
width 64px
height 64px
background-size cover
background-position center center
> div:nth-child(2)
flex 1
padding-left 16px
> div:nth-child(2)
flex 1
padding-left 16px
@media (max-width 500px)
font-size 14px
@media (max-width 500px)
font-size 14px
> header
word-break break-word
> header
word-break break-word
> .username
margin-left 8px
opacity 0.7
> .username
margin-left 8px
opacity 0.7
</style>

View File

@@ -1,20 +1,20 @@
<template>
<div class="tumhkfkmgtvzljezfvmgkeurkfncshbe">
<div>
<ui-card>
<div slot="title"><fa icon="plus"/> {{ $t('add-emoji.title') }}</div>
<template #title><fa icon="plus"/> {{ $t('add-emoji.title') }}</template>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-input v-model="name">
<span>{{ $t('add-emoji.name') }}</span>
<span slot="desc">{{ $t('add-emoji.name-desc') }}</span>
<template #desc>{{ $t('add-emoji.name-desc') }}</template>
</ui-input>
<ui-input v-model="aliases">
<span>{{ $t('add-emoji.aliases') }}</span>
<span slot="desc">{{ $t('add-emoji.aliases-desc') }}</span>
<template #desc>{{ $t('add-emoji.aliases-desc') }}</template>
</ui-input>
</ui-horizon-group>
<ui-input v-model="url">
<i slot="icon"><fa icon="link"/></i>
<template #icon><fa icon="link"/></template>
<span>{{ $t('add-emoji.url') }}</span>
</ui-input>
<ui-info>{{ $t('add-emoji.info') }}</ui-info>
@@ -23,7 +23,7 @@
</ui-card>
<ui-card>
<div slot="title"><fa :icon="faGrin"/> {{ $t('emojis.title') }}</div>
<template #title><fa :icon="faGrin"/> {{ $t('emojis.title') }}</template>
<section v-for="emoji in emojis" class="oryfrbft">
<div>
<img :src="emoji.url" :alt="emoji.name" style="width: 64px;"/>
@@ -38,7 +38,7 @@
</ui-input>
</ui-horizon-group>
<ui-input v-model="emoji.url">
<i slot="icon"><fa icon="link"/></i>
<template #icon><fa icon="link"/></template>
<span>{{ $t('add-emoji.url') }}</span>
</ui-input>
<ui-horizon-group class="fit-bottom">
@@ -150,25 +150,21 @@ export default Vue.extend({
</script>
<style lang="stylus" scoped>
.tumhkfkmgtvzljezfvmgkeurkfncshbe
.oryfrbft
@media (min-width 500px)
padding 16px
display flex
> div:first-child
@media (max-width 500px)
padding-bottom 16px
> img
vertical-align bottom
> div:last-child
flex 1
.oryfrbft
@media (min-width 500px)
display flex
> div:first-child
@media (max-width 500px)
padding-bottom 16px
> img
vertical-align bottom
> div:last-child
flex 1
@media (min-width 500px)
padding-left 16px
padding-left 16px
</style>

View File

@@ -0,0 +1,488 @@
<template>
<div>
<ui-card>
<template #title><fa :icon="faTerminal"/> {{ $t('federation') }}</template>
<section class="fit-top">
<ui-input class="target" v-model="target" type="text" @enter="showInstance()">
<span>{{ $t('host') }}</span>
</ui-input>
<ui-button @click="showInstance()"><fa :icon="faSearch"/> {{ $t('lookup') }}</ui-button>
<div class="instance" v-if="instance">
<ui-input :value="instance.host" type="text" readonly>
<span>{{ $t('host') }}</span>
</ui-input>
<ui-horizon-group inputs>
<ui-input :value="instance.notesCount | number" type="text" readonly>
<span>{{ $t('notes') }}</span>
</ui-input>
<ui-input :value="instance.usersCount | number" type="text" readonly>
<span>{{ $t('users') }}</span>
</ui-input>
</ui-horizon-group>
<ui-horizon-group inputs>
<ui-input :value="instance.followingCount | number" type="text" readonly>
<span>{{ $t('following') }}</span>
</ui-input>
<ui-input :value="instance.followersCount | number" type="text" readonly>
<span>{{ $t('followers') }}</span>
</ui-input>
</ui-horizon-group>
<ui-horizon-group inputs>
<ui-input :value="instance.latestRequestSentAt" type="text" readonly>
<span>{{ $t('latest-request-sent-at') }}</span>
</ui-input>
<ui-input :value="instance.latestStatus" type="text" readonly>
<span>{{ $t('status') }}</span>
</ui-input>
</ui-horizon-group>
<ui-input :value="instance.latestRequestReceivedAt" type="text" readonly>
<span>{{ $t('latest-request-received-at') }}</span>
</ui-input>
<ui-switch v-model="instance.isBlocked" @change="updateInstance()">{{ $t('block') }}</ui-switch>
<ui-switch v-model="instance.isMarkedAsClosed" @change="updateInstance()">{{ $t('marked-as-closed') }}</ui-switch>
<details>
<summary>{{ $t('charts') }}</summary>
<ui-horizon-group inputs>
<ui-select v-model="chartSrc">
<option value="requests">{{ $t('chart-srcs.requests') }}</option>
<option value="users">{{ $t('chart-srcs.users') }}</option>
<option value="users-total">{{ $t('chart-srcs.users-total') }}</option>
<option value="notes">{{ $t('chart-srcs.notes') }}</option>
<option value="notes-total">{{ $t('chart-srcs.notes-total') }}</option>
<option value="ff">{{ $t('chart-srcs.ff') }}</option>
<option value="ff-total">{{ $t('chart-srcs.ff-total') }}</option>
<option value="drive-usage">{{ $t('chart-srcs.drive-usage') }}</option>
<option value="drive-usage-total">{{ $t('chart-srcs.drive-usage-total') }}</option>
<option value="drive-files">{{ $t('chart-srcs.drive-files') }}</option>
<option value="drive-files-total">{{ $t('chart-srcs.drive-files-total') }}</option>
</ui-select>
<ui-select v-model="chartSpan">
<option value="hour">{{ $t('chart-spans.hour') }}</option>
<option value="day">{{ $t('chart-spans.day') }}</option>
</ui-select>
</ui-horizon-group>
<div ref="chart"></div>
</details>
<details>
<summary>{{ $t('remove-all-following') }}</summary>
<ui-button @click="removeAllFollowing()" style="margin-top: 16px;"><fa :icon="faMinusCircle"/> {{ $t('remove-all-following') }}</ui-button>
<ui-info warn>{{ $t('remove-all-following-info', { host: instance.host }) }}</ui-info>
</details>
</div>
</section>
</ui-card>
<ui-card>
<template #title><fa :icon="faServer"/> {{ $t('instances') }}</template>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-select v-model="sort">
<template #label>{{ $t('sort') }}</template>
<option value="-caughtAt">{{ $t('sorts.caughtAtAsc') }}</option>
<option value="+caughtAt">{{ $t('sorts.caughtAtDesc') }}</option>
<option value="-lastCommunicatedAt">{{ $t('sorts.lastCommunicatedAtAsc') }}</option>
<option value="+lastCommunicatedAt">{{ $t('sorts.lastCommunicatedAtDesc') }}</option>
<option value="-notes">{{ $t('sorts.notesAsc') }}</option>
<option value="+notes">{{ $t('sorts.notesDesc') }}</option>
<option value="-users">{{ $t('sorts.usersAsc') }}</option>
<option value="+users">{{ $t('sorts.usersDesc') }}</option>
<option value="-following">{{ $t('sorts.followingAsc') }}</option>
<option value="+following">{{ $t('sorts.followingDesc') }}</option>
<option value="-followers">{{ $t('sorts.followersAsc') }}</option>
<option value="+followers">{{ $t('sorts.followersDesc') }}</option>
<option value="-driveUsage">{{ $t('sorts.driveUsageAsc') }}</option>
<option value="+driveUsage">{{ $t('sorts.driveUsageDesc') }}</option>
<option value="-driveFiles">{{ $t('sorts.driveFilesAsc') }}</option>
<option value="+driveFiles">{{ $t('sorts.driveFilesDesc') }}</option>
</ui-select>
<ui-select v-model="state">
<template #label>{{ $t('state') }}</template>
<option value="all">{{ $t('states.all') }}</option>
<option value="blocked">{{ $t('states.blocked') }}</option>
<option value="notResponding">{{ $t('states.not-responding') }}</option>
<option value="markedAsClosed">{{ $t('states.marked-as-closed') }}</option>
</ui-select>
</ui-horizon-group>
<div class="instances">
<header>
<span>{{ $t('host') }}</span>
<span>{{ $t('notes') }}</span>
<span>{{ $t('users') }}</span>
<span>{{ $t('following') }}</span>
<span>{{ $t('followers') }}</span>
<span>{{ $t('status') }}</span>
</header>
<div v-for="instance in instances" :style="{ opacity: instance.isNotResponding ? 0.5 : 1 }">
<a @click.prevent="showInstance(instance.host)" target="_blank" :href="`https://${instance.host}`" :style="{ textDecoration: instance.isMarkedAsClosed ? 'line-through' : 'none' }">{{ instance.host }}</a>
<span>{{ instance.notesCount | number }}</span>
<span>{{ instance.usersCount | number }}</span>
<span>{{ instance.followingCount | number }}</span>
<span>{{ instance.followersCount | number }}</span>
<span>{{ instance.latestStatus }}</span>
</div>
</div>
<ui-info v-if="instances.length == limit">{{ $t('result-is-truncated', { n: limit }) }}</ui-info>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { faGlobe, faTerminal, faSearch, faMinusCircle, faServer } from '@fortawesome/free-solid-svg-icons';
import ApexCharts from 'apexcharts';
import * as tinycolor from 'tinycolor2';
const chartLimit = 90;
const sum = (...arr) => arr.reduce((r, a) => r.map((b, i) => a[i] + b));
const negate = arr => arr.map(x => -x);
export default Vue.extend({
i18n: i18n('admin/views/federation.vue'),
data() {
return {
instance: null,
target: null,
sort: '+lastCommunicatedAt',
state: 'all',
limit: 50,
instances: [],
chart: null,
chartSrc: 'requests',
chartSpan: 'hour',
chartInstance: null,
faGlobe, faTerminal, faSearch, faMinusCircle, faServer
};
},
computed: {
data(): any {
if (this.chart == null) return null;
switch (this.chartSrc) {
case 'requests': return this.requestsChart();
case 'users': return this.usersChart(false);
case 'users-total': return this.usersChart(true);
case 'notes': return this.notesChart(false);
case 'notes-total': return this.notesChart(true);
case 'ff': return this.ffChart(false);
case 'ff-total': return this.ffChart(true);
case 'drive-usage': return this.driveUsageChart(false);
case 'drive-usage-total': return this.driveUsageChart(true);
case 'drive-files': return this.driveFilesChart(false);
case 'drive-files-total': return this.driveFilesChart(true);
}
},
stats(): any[] {
const stats =
this.chartSpan == 'day' ? this.chart.perDay :
this.chartSpan == 'hour' ? this.chart.perHour :
null;
return stats;
}
},
watch: {
sort() {
this.fetchInstances();
},
state() {
this.fetchInstances();
},
async instance() {
this.now = new Date();
const [perHour, perDay] = await Promise.all([
this.$root.api('charts/instance', { host: this.instance.host, limit: chartLimit, span: 'hour' }),
this.$root.api('charts/instance', { host: this.instance.host, limit: chartLimit, span: 'day' }),
]);
const chart = {
perHour: perHour,
perDay: perDay
};
this.chart = chart;
this.renderChart();
},
chartSrc() {
this.renderChart();
},
chartSpan() {
this.renderChart();
}
},
mounted() {
this.fetchInstances();
},
beforeDestroy() {
this.chartInstance.destroy();
},
methods: {
showInstance(target?: string) {
this.$root.api('federation/show-instance', {
host: target || this.target
}).then(instance => {
if (instance == null) {
this.$root.dialog({
type: 'error',
text: this.$t('instance-not-registered')
});
} else {
this.instance = instance;
this.target = '';
}
});
},
fetchInstances() {
this.instances = [];
this.$root.api('federation/instances', {
blocked: this.state === 'blocked' ? true : null,
notResponding: this.state === 'notResponding' ? true : null,
markedAsClosed: this.state === 'markedAsClosed' ? true : null,
sort: this.sort,
limit: this.limit
}).then(instances => {
this.instances = instances;
});
},
removeAllFollowing() {
this.$root.api('admin/federation/remove-all-following', {
host: this.instance.host
}).then(() => {
this.$root.dialog({
type: 'success',
splash: true
});
});
},
updateInstance() {
this.$root.api('admin/federation/update-instance', {
host: this.instance.host,
isBlocked: this.instance.isBlocked || false,
isClosed: this.instance.isMarkedAsClosed || false
});
},
setSrc(src) {
this.chartSrc = src;
},
renderChart() {
if (this.chartInstance) {
this.chartInstance.destroy();
}
this.chartInstance = new ApexCharts(this.$refs.chart, {
chart: {
type: 'area',
height: 300,
animations: {
dynamicAnimation: {
enabled: false
}
},
toolbar: {
show: false
},
zoom: {
enabled: false
}
},
dataLabels: {
enabled: false
},
grid: {
clipMarkers: false,
borderColor: 'rgba(0, 0, 0, 0.1)'
},
stroke: {
curve: 'straight',
width: 2
},
tooltip: {
theme: this.$store.state.device.darkmode ? 'dark' : 'light'
},
legend: {
labels: {
colors: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
},
},
xaxis: {
type: 'datetime',
labels: {
style: {
colors: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
}
},
axisBorder: {
color: 'rgba(0, 0, 0, 0.1)'
},
axisTicks: {
color: 'rgba(0, 0, 0, 0.1)'
},
},
yaxis: {
labels: {
formatter: this.data.bytes ? v => Vue.filter('bytes')(v, 0) : v => Vue.filter('number')(v),
style: {
color: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
}
}
},
series: this.data.series
});
this.chartInstance.render();
},
getDate(i: number) {
const y = this.now.getFullYear();
const m = this.now.getMonth();
const d = this.now.getDate();
const h = this.now.getHours();
return (
this.chartSpan == 'day' ? new Date(y, m, d - i) :
this.chartSpan == 'hour' ? new Date(y, m, d, h - i) :
null
);
},
format(arr) {
return arr.map((v, i) => ({ x: this.getDate(i).getTime(), y: v }));
},
requestsChart(): any {
return {
series: [{
name: 'Incoming',
data: this.format(this.stats.requests.received)
}, {
name: 'Outgoing (succeeded)',
data: this.format(this.stats.requests.succeeded)
}, {
name: 'Outgoing (failed)',
data: this.format(this.stats.requests.failed)
}]
};
},
usersChart(total: boolean): any {
return {
series: [{
name: 'Users',
type: 'area',
data: this.format(total
? this.stats.users.total
: sum(this.stats.users.inc, negate(this.stats.users.dec))
)
}]
};
},
notesChart(total: boolean): any {
return {
series: [{
name: 'Notes',
type: 'area',
data: this.format(total
? this.stats.notes.total
: sum(this.stats.notes.inc, negate(this.stats.notes.dec))
)
}]
};
},
ffChart(total: boolean): any {
return {
series: [{
name: 'Following',
type: 'area',
data: this.format(total
? this.stats.following.total
: sum(this.stats.following.inc, negate(this.stats.following.dec))
)
}, {
name: 'Followers',
type: 'area',
data: this.format(total
? this.stats.followers.total
: sum(this.stats.followers.inc, negate(this.stats.followers.dec))
)
}]
};
},
driveUsageChart(total: boolean): any {
return {
bytes: true,
series: [{
name: 'Drive usage',
type: 'area',
data: this.format(total
? this.stats.drive.totalUsage
: sum(this.stats.drive.incUsage, negate(this.stats.drive.decUsage))
)
}]
};
},
driveFilesChart(total: boolean): any {
return {
series: [{
name: 'Drive files',
type: 'area',
data: this.format(total
? this.stats.drive.totalFiles
: sum(this.stats.drive.incFiles, negate(this.stats.drive.decFiles))
)
}]
};
},
}
});
</script>
<style lang="stylus" scoped>
.target
margin-bottom 16px !important
.instances
width 100%
> header
display flex
> *
color var(--text)
font-weight bold
> div
display flex
> * > *
flex 1
overflow auto
&:first-child
min-width 200px
</style>

View File

@@ -1,7 +1,7 @@
<template>
<div>
<ui-card>
<div slot="title">{{ $t('hided-tags') }}</div>
<template #title>{{ $t('hided-tags') }}</template>
<section>
<textarea class="jdnqwkzlnxcfftthoybjxrebyolvoucw" v-model="hidedTags"></textarea>
<ui-button @click="save">{{ $t('save') }}</ui-button>
@@ -39,10 +39,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.jdnqwkzlnxcfftthoybjxrebyolvoucw
width 100%
min-height 300px
</style>

View File

@@ -20,13 +20,16 @@
<ul>
<li @click="nav('dashboard')" :class="{ active: page == 'dashboard' }"><fa icon="home" fixed-width/>{{ $t('dashboard') }}</li>
<li @click="nav('instance')" :class="{ active: page == 'instance' }"><fa icon="cog" fixed-width/>{{ $t('instance') }}</li>
<li @click="nav('queue')" :class="{ active: page == 'queue' }"><fa :icon="faTasks" fixed-width/>{{ $t('queue') }}</li>
<li @click="nav('logs')" :class="{ active: page == 'logs' }"><fa :icon="faStream" fixed-width/>{{ $t('logs') }}</li>
<li @click="nav('moderators')" :class="{ active: page == 'moderators' }"><fa :icon="faHeadset" fixed-width/>{{ $t('moderators') }}</li>
<li @click="nav('users')" :class="{ active: page == 'users' }"><fa icon="users" fixed-width/>{{ $t('users') }}</li>
<li @click="nav('drive')" :class="{ active: page == 'drive' }"><fa icon="cloud" fixed-width/>{{ $t('@.drive') }}</li>
<!-- <li @click="nav('federation')" :class="{ active: page == 'federation' }"><fa :icon="faShareAlt" fixed-width/>{{ $t('federation') }}</li> -->
<li @click="nav('federation')" :class="{ active: page == 'federation' }"><fa :icon="faGlobe" fixed-width/>{{ $t('federation') }}</li>
<li @click="nav('emoji')" :class="{ active: page == 'emoji' }"><fa :icon="faGrin" fixed-width/>{{ $t('emoji') }}</li>
<li @click="nav('announcements')" :class="{ active: page == 'announcements' }"><fa icon="broadcast-tower" fixed-width/>{{ $t('announcements') }}</li>
<li @click="nav('hashtags')" :class="{ active: page == 'hashtags' }"><fa icon="hashtag" fixed-width/>{{ $t('hashtags') }}</li>
<li @click="nav('abuse')" :class="{ active: page == 'abuse' }"><fa :icon="faExclamationCircle" fixed-width/>{{ $t('abuse') }}</li>
</ul>
<div class="back-to-misskey">
<a href="/"><fa :icon="faArrowLeft"/> {{ $t('back-to-misskey') }}</a>
@@ -39,13 +42,16 @@
<div class="page">
<div v-if="page == 'dashboard'"><x-dashboard/></div>
<div v-if="page == 'instance'"><x-instance/></div>
<div v-if="page == 'queue'"><x-queue/></div>
<div v-if="page == 'logs'"><x-logs/></div>
<div v-if="page == 'moderators'"><x-moderators/></div>
<div v-if="page == 'users'"><x-users/></div>
<div v-if="page == 'emoji'"><x-emoji/></div>
<div v-if="page == 'announcements'"><x-announcements/></div>
<div v-if="page == 'hashtags'"><x-hashtags/></div>
<div v-if="page == 'drive'"><x-drive/></div>
<div v-if="page == 'update'"></div>
<div v-if="page == 'federation'"><x-federation/></div>
<div v-if="page == 'abuse'"><x-abuse/></div>
</div>
</main>
</div>
@@ -57,13 +63,18 @@ import i18n from '../../i18n';
import { version } from '../../config';
import XDashboard from "./dashboard.vue";
import XInstance from "./instance.vue";
import XQueue from "./queue.vue";
import XLogs from "./logs.vue";
import XModerators from "./moderators.vue";
import XEmoji from "./emoji.vue";
import XAnnouncements from "./announcements.vue";
import XHashtags from "./hashtags.vue";
import XUsers from "./users.vue";
import XDrive from "./drive.vue";
import { faHeadset, faArrowLeft, faShareAlt } from '@fortawesome/free-solid-svg-icons';
import XAbuse from "./abuse.vue";
import XFederation from "./federation.vue";
import { faHeadset, faArrowLeft, faGlobe, faExclamationCircle, faTasks, faStream } from '@fortawesome/free-solid-svg-icons';
import { faGrin } from '@fortawesome/free-regular-svg-icons';
// Detect the user agent
@@ -75,12 +86,16 @@ export default Vue.extend({
components: {
XDashboard,
XInstance,
XQueue,
XLogs,
XModerators,
XEmoji,
XAnnouncements,
XHashtags,
XUsers,
XDrive,
XAbuse,
XFederation,
},
provide: {
isMobile
@@ -94,7 +109,10 @@ export default Vue.extend({
faGrin,
faArrowLeft,
faHeadset,
faShareAlt
faGlobe,
faExclamationCircle,
faTasks,
faStream
};
},
methods: {
@@ -270,6 +288,9 @@ export default Vue.extend({
> .page
max-width 1150px
@media (min-width 500px)
padding 16px
&.isMobile
> main
padding $headerHeight 0 0 0

View File

@@ -1,20 +1,20 @@
<template>
<div class="axbwjelsbymowqjyywpirzhdlszoncqs">
<div>
<ui-card>
<div slot="title"><fa icon="cog"/> {{ $t('instance') }}</div>
<template #title><fa icon="cog"/> {{ $t('instance') }}</template>
<section class="fit-top fit-bottom">
<ui-input :value="host" readonly>{{ $t('host') }}</ui-input>
<ui-input v-model="name">{{ $t('instance-name') }}</ui-input>
<ui-textarea v-model="description">{{ $t('instance-description') }}</ui-textarea>
<ui-input v-model="mascotImageUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('logo-url') }}</ui-input>
<ui-input v-model="bannerUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('banner-url') }}</ui-input>
<ui-input v-model="errorImageUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('error-image-url') }}</ui-input>
<ui-input v-model="languages"><i slot="icon"><fa icon="language"/></i>{{ $t('languages') }}<span slot="desc">{{ $t('languages-desc') }}</span></ui-input>
<ui-input v-model="mascotImageUrl"><template #icon><fa icon="link"/></template>{{ $t('logo-url') }}</ui-input>
<ui-input v-model="bannerUrl"><template #icon><fa icon="link"/></template>{{ $t('banner-url') }}</ui-input>
<ui-input v-model="errorImageUrl"><template #icon><fa icon="link"/></template>{{ $t('error-image-url') }}</ui-input>
<ui-input v-model="languages"><template #icon><fa icon="language"/></template>{{ $t('languages') }}<template #desc>{{ $t('languages-desc') }}</template></ui-input>
</section>
<section class="fit-bottom">
<header><fa :icon="faHeadset"/> {{ $t('maintainer-config') }}</header>
<ui-input v-model="maintainerName">{{ $t('maintainer-name') }}</ui-input>
<ui-input v-model="maintainerEmail" type="email"><i slot="icon"><fa :icon="farEnvelope"/></i>{{ $t('maintainer-email') }}</ui-input>
<ui-input v-model="maintainerEmail" type="email"><template #icon><fa :icon="farEnvelope"/></template>{{ $t('maintainer-email') }}</ui-input>
</section>
<section class="fit-top fit-bottom">
<ui-input v-model="maxNoteTextLength">{{ $t('max-note-text-length') }}</ui-input>
@@ -22,49 +22,52 @@
<section>
<ui-switch v-model="disableRegistration">{{ $t('disable-registration') }}</ui-switch>
<ui-switch v-model="disableLocalTimeline">{{ $t('disable-local-timeline') }}</ui-switch>
<ui-switch v-model="disableGlobalTimeline">{{ $t('disable-global-timeline') }}</ui-switch>
<ui-info>{{ $t('disabling-timelines-info') }}</ui-info>
</section>
<section class="fit-bottom">
<header><fa icon="cloud"/> {{ $t('drive-config') }}</header>
<ui-switch v-model="cacheRemoteFiles">{{ $t('cache-remote-files') }}<span slot="desc">{{ $t('cache-remote-files-desc') }}</span></ui-switch>
<ui-input v-model="localDriveCapacityMb" type="number">{{ $t('local-drive-capacity-mb') }}<span slot="suffix">MB</span><span slot="desc">{{ $t('mb') }}</span></ui-input>
<ui-input v-model="remoteDriveCapacityMb" type="number" :disabled="!cacheRemoteFiles">{{ $t('remote-drive-capacity-mb') }}<span slot="suffix">MB</span><span slot="desc">{{ $t('mb') }}</span></ui-input>
<ui-switch v-model="cacheRemoteFiles">{{ $t('cache-remote-files') }}<template #desc>{{ $t('cache-remote-files-desc') }}</template></ui-switch>
<ui-input v-model="localDriveCapacityMb" type="number">{{ $t('local-drive-capacity-mb') }}<template #suffix>MB</template><template #desc>{{ $t('mb') }}</template></ui-input>
<ui-input v-model="remoteDriveCapacityMb" type="number" :disabled="!cacheRemoteFiles">{{ $t('remote-drive-capacity-mb') }}<template #suffix>MB</template><template #desc>{{ $t('mb') }}</template></ui-input>
</section>
<section class="fit-bottom">
<header><fa :icon="faShieldAlt"/> {{ $t('recaptcha-config') }}</header>
<ui-switch v-model="enableRecaptcha">{{ $t('enable-recaptcha') }}</ui-switch>
<ui-info>{{ $t('recaptcha-info') }}</ui-info>
<ui-horizon-group inputs>
<ui-input v-model="recaptchaSiteKey" :disabled="!enableRecaptcha"><i slot="icon"><fa icon="key"/></i>{{ $t('recaptcha-site-key') }}</ui-input>
<ui-input v-model="recaptchaSecretKey" :disabled="!enableRecaptcha"><i slot="icon"><fa icon="key"/></i>{{ $t('recaptcha-secret-key') }}</ui-input>
<ui-input v-model="recaptchaSiteKey" :disabled="!enableRecaptcha"><template #icon><fa icon="key"/></template>{{ $t('recaptcha-site-key') }}</ui-input>
<ui-input v-model="recaptchaSecretKey" :disabled="!enableRecaptcha"><template #icon><fa icon="key"/></template>{{ $t('recaptcha-secret-key') }}</ui-input>
</ui-horizon-group>
</section>
<section>
<header><fa :icon="faGhost"/> {{ $t('proxy-account-config') }}</header>
<ui-info>{{ $t('proxy-account-info') }}</ui-info>
<ui-input v-model="proxyAccount"><span slot="prefix">@</span>{{ $t('proxy-account-username') }}<span slot="desc">{{ $t('proxy-account-username-desc') }}</span></ui-input>
<ui-input v-model="proxyAccount"><template #prefix>@</template>{{ $t('proxy-account-username') }}<template #desc>{{ $t('proxy-account-username-desc') }}</template></ui-input>
<ui-info warn>{{ $t('proxy-account-warn') }}</ui-info>
</section>
<section>
<header><fa :icon="farEnvelope"/> {{ $t('email-config') }}</header>
<ui-switch v-model="enableEmail">{{ $t('enable-email') }}<span slot="desc">{{ $t('email-config-info') }}</span></ui-switch>
<ui-switch v-model="enableEmail">{{ $t('enable-email') }}<template #desc>{{ $t('email-config-info') }}</template></ui-switch>
<ui-input v-model="email" type="email" :disabled="!enableEmail">{{ $t('email') }}</ui-input>
<ui-horizon-group inputs>
<ui-input v-model="smtpHost" :disabled="!enableEmail">{{ $t('smtp-host') }}</ui-input>
<ui-input v-model="smtpPort" type="number" :disabled="!enableEmail">{{ $t('smtp-port') }}</ui-input>
</ui-horizon-group>
<ui-switch v-model="smtpAuth">{{ $t('smtp-auth') }}</ui-switch>
<ui-horizon-group inputs>
<ui-input v-model="smtpUser" :disabled="!enableEmail">{{ $t('smtp-user') }}</ui-input>
<ui-input v-model="smtpPass" type="password" :withPasswordToggle="true" :disabled="!enableEmail">{{ $t('smtp-pass') }}</ui-input>
<ui-input v-model="smtpUser" :disabled="!enableEmail || !smtpAuth">{{ $t('smtp-user') }}</ui-input>
<ui-input v-model="smtpPass" type="password" :withPasswordToggle="true" :disabled="!enableEmail || !smtpAuth">{{ $t('smtp-pass') }}</ui-input>
</ui-horizon-group>
<ui-switch v-model="smtpSecure" :disabled="!enableEmail">{{ $t('smtp-secure') }}<span slot="desc">{{ $t('smtp-secure-info') }}</span></ui-switch>
<ui-switch v-model="smtpSecure" :disabled="!enableEmail">{{ $t('smtp-secure') }}<template #desc>{{ $t('smtp-secure-info') }}</template></ui-switch>
</section>
<section>
<header><fa :icon="faBolt"/> {{ $t('serviceworker-config') }}</header>
<ui-switch v-model="enableServiceWorker">{{ $t('enable-serviceworker') }}<span slot="desc">{{ $t('serviceworker-info') }}</span></ui-switch>
<ui-switch v-model="enableServiceWorker">{{ $t('enable-serviceworker') }}<template #desc>{{ $t('serviceworker-info') }}</template></ui-switch>
<ui-info>{{ $t('vapid-info') }}<br><code>npm i web-push -g<br>web-push generate-vapid-keys</code></ui-info>
<ui-horizon-group inputs class="fit-bottom">
<ui-input v-model="swPublicKey" :disabled="!enableServiceWorker"><i slot="icon"><fa icon="key"/></i>{{ $t('vapid-publickey') }}</ui-input>
<ui-input v-model="swPrivateKey" :disabled="!enableServiceWorker"><i slot="icon"><fa icon="key"/></i>{{ $t('vapid-privatekey') }}</ui-input>
<ui-input v-model="swPublicKey" :disabled="!enableServiceWorker"><template #icon><fa icon="key"/></template>{{ $t('vapid-publickey') }}</ui-input>
<ui-input v-model="swPrivateKey" :disabled="!enableServiceWorker"><template #icon><fa icon="key"/></template>{{ $t('vapid-privatekey') }}</ui-input>
</ui-horizon-group>
</section>
<section>
@@ -74,8 +77,8 @@
<section>
<header><fa :icon="faUserPlus"/> {{ $t('user-recommendation-config') }}</header>
<ui-switch v-model="enableExternalUserRecommendation">{{ $t('enable-external-user-recommendation') }}</ui-switch>
<ui-input v-model="externalUserRecommendationEngine" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-engine') }}<span slot="desc">{{ $t('external-user-recommendation-engine-desc') }}</span></ui-input>
<ui-input v-model="externalUserRecommendationTimeout" type="number" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-timeout') }}<span slot="suffix">ms</span><span slot="desc">{{ $t('external-user-recommendation-timeout-desc') }}</span></ui-input>
<ui-input v-model="externalUserRecommendationEngine" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-engine') }}<template #desc>{{ $t('external-user-recommendation-engine-desc') }}</template></ui-input>
<ui-input v-model="externalUserRecommendationTimeout" type="number" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-timeout') }}<template #suffix>ms</template><template #desc>{{ $t('external-user-recommendation-timeout-desc') }}</template></ui-input>
</section>
<section>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
@@ -83,7 +86,7 @@
</ui-card>
<ui-card>
<div slot="title">{{ $t('invite') }}</div>
<template #title>{{ $t('invite') }}</template>
<section>
<ui-button @click="invite">{{ $t('invite') }}</ui-button>
<p v-if="inviteCode">Code: <code>{{ inviteCode }}</code></p>
@@ -91,12 +94,12 @@
</ui-card>
<ui-card>
<div slot="title"><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</div>
<template #title><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</template>
<section>
<ui-switch v-model="enableTwitterIntegration">{{ $t('enable-twitter-integration') }}</ui-switch>
<ui-horizon-group>
<ui-input v-model="twitterConsumerKey" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-key') }}</ui-input>
<ui-input v-model="twitterConsumerSecret" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-secret') }}</ui-input>
<ui-input v-model="twitterConsumerKey" :disabled="!enableTwitterIntegration"><template #icon><fa icon="key"/></template>{{ $t('twitter-integration-consumer-key') }}</ui-input>
<ui-input v-model="twitterConsumerSecret" :disabled="!enableTwitterIntegration"><template #icon><fa icon="key"/></template>{{ $t('twitter-integration-consumer-secret') }}</ui-input>
</ui-horizon-group>
<ui-info>{{ $t('twitter-integration-info', { url: `${url}/api/tw/cb` }) }}</ui-info>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
@@ -104,12 +107,12 @@
</ui-card>
<ui-card>
<div slot="title"><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</div>
<template #title><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</template>
<section>
<ui-switch v-model="enableGithubIntegration">{{ $t('enable-github-integration') }}</ui-switch>
<ui-horizon-group>
<ui-input v-model="githubClientId" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-id') }}</ui-input>
<ui-input v-model="githubClientSecret" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-secret') }}</ui-input>
<ui-input v-model="githubClientId" :disabled="!enableGithubIntegration"><template #icon><fa icon="key"/></template>{{ $t('github-integration-client-id') }}</ui-input>
<ui-input v-model="githubClientSecret" :disabled="!enableGithubIntegration"><template #icon><fa icon="key"/></template>{{ $t('github-integration-client-secret') }}</ui-input>
</ui-horizon-group>
<ui-info>{{ $t('github-integration-info', { url: `${url}/api/gh/cb` }) }}</ui-info>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
@@ -117,12 +120,12 @@
</ui-card>
<ui-card>
<div slot="title"><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</div>
<template #title><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</template>
<section>
<ui-switch v-model="enableDiscordIntegration">{{ $t('enable-discord-integration') }}</ui-switch>
<ui-horizon-group>
<ui-input v-model="discordClientId" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-id') }}</ui-input>
<ui-input v-model="discordClientSecret" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-secret') }}</ui-input>
<ui-input v-model="discordClientId" :disabled="!enableDiscordIntegration"><template #icon><fa icon="key"/></template>{{ $t('discord-integration-client-id') }}</ui-input>
<ui-input v-model="discordClientSecret" :disabled="!enableDiscordIntegration"><template #icon><fa icon="key"/></template>{{ $t('discord-integration-client-secret') }}</ui-input>
</ui-horizon-group>
<ui-info>{{ $t('discord-integration-info', { url: `${url}/api/dc/cb` }) }}</ui-info>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
@@ -150,6 +153,7 @@ export default Vue.extend({
maintainerEmail: null,
disableRegistration: false,
disableLocalTimeline: false,
disableGlobalTimeline: false,
mascotImageUrl: null,
bannerUrl: null,
errorImageUrl: null,
@@ -185,6 +189,7 @@ export default Vue.extend({
smtpPort: null,
smtpUser: null,
smtpPass: null,
smtpAuth: false,
enableServiceWorker: false,
swPublicKey: null,
swPrivateKey: null,
@@ -198,6 +203,7 @@ export default Vue.extend({
this.maintainerEmail = meta.maintainer.email;
this.disableRegistration = meta.disableRegistration;
this.disableLocalTimeline = meta.disableLocalTimeline;
this.disableGlobalTimeline = meta.disableGlobalTimeline;
this.mascotImageUrl = meta.mascotImageUrl;
this.bannerUrl = meta.bannerUrl;
this.errorImageUrl = meta.errorImageUrl;
@@ -232,6 +238,7 @@ export default Vue.extend({
this.smtpPort = meta.smtpPort;
this.smtpUser = meta.smtpUser;
this.smtpPass = meta.smtpPass;
this.smtpAuth = meta.smtpUser != null && meta.smtpUser !== '';
this.enableServiceWorker = meta.enableServiceWorker;
this.swPublicKey = meta.swPublickey;
this.swPrivateKey = meta.swPrivateKey;
@@ -256,6 +263,7 @@ export default Vue.extend({
maintainerEmail: this.maintainerEmail,
disableRegistration: this.disableRegistration,
disableLocalTimeline: this.disableLocalTimeline,
disableGlobalTimeline: this.disableGlobalTimeline,
mascotImageUrl: this.mascotImageUrl,
bannerUrl: this.bannerUrl,
errorImageUrl: this.errorImageUrl,
@@ -288,8 +296,8 @@ export default Vue.extend({
smtpSecure: this.smtpSecure,
smtpHost: this.smtpHost,
smtpPort: parseInt(this.smtpPort, 10),
smtpUser: this.smtpUser,
smtpPass: this.smtpPass,
smtpUser: this.smtpAuth ? this.smtpUser : '',
smtpPass: this.smtpAuth ? this.smtpPass : '',
enableServiceWorker: this.enableServiceWorker,
swPublicKey: this.swPublicKey,
swPrivateKey: this.swPrivateKey
@@ -308,10 +316,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.axbwjelsbymowqjyywpirzhdlszoncqs
@media (min-width 500px)
padding 16px
</style>

View File

@@ -0,0 +1,108 @@
<template>
<div>
<ui-card>
<template #title><fa :icon="faStream"/> {{ $t('logs') }}</template>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-input v-model="domain" debounce>
<span>{{ $t('domain') }}</span>
</ui-input>
<ui-select v-model="level">
<template #label>{{ $t('level') }}</template>
<option value="all">{{ $t('levels.all') }}</option>
<option value="info">{{ $t('levels.info') }}</option>
<option value="success">{{ $t('levels.success') }}</option>
<option value="warning">{{ $t('levels.warning') }}</option>
<option value="error">{{ $t('levels.error') }}</option>
<option value="debug">{{ $t('levels.debug') }}</option>
</ui-select>
</ui-horizon-group>
<div class="nqjzuvev">
<code v-for="log in logs" :key="log._id" :class="log.level">
<details>
<summary><mk-time :time="log.createdAt"/> [{{ log.domain.join('.') }}] {{ log.message }}</summary>
<vue-json-pretty v-if="log.data" :data="log.data"></vue-json-pretty>
</details>
</code>
</div>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { faStream } from '@fortawesome/free-solid-svg-icons';
import VueJsonPretty from 'vue-json-pretty';
export default Vue.extend({
i18n: i18n('admin/views/logs.vue'),
components: {
VueJsonPretty
},
data() {
return {
logs: [],
level: 'all',
domain: '',
faStream
};
},
watch: {
level() {
this.logs = [];
this.fetch();
},
domain() {
this.logs = [];
this.fetch();
}
},
mounted() {
this.fetch();
},
methods: {
fetch() {
this.$root.api('admin/logs', {
level: this.level === 'all' ? null : this.level,
domain: this.domain === '' ? null : this.domain,
limit: 100
}).then(logs => {
this.logs = logs.reverse();
});
}
}
});
</script>
<style lang="stylus" scoped>
.nqjzuvev
padding 8px
background #000
color #fff
font-size 14px
> code
display block
&.error
color #f00
&.warning
color #ff0
&.success
color #0f0
&.debug
opacity 0.7
</style>

View File

@@ -1,13 +1,15 @@
<template>
<div class="jnhmugbb">
<div>
<ui-card>
<div slot="title"><fa icon="plus"/> {{ $t('add-moderator.title') }}</div>
<template #title><fa icon="plus"/> {{ $t('add-moderator.title') }}</template>
<section class="fit-top">
<ui-input v-model="username" type="text">
<span slot="prefix">@</span>
<template #prefix>@</template>
</ui-input>
<ui-button @click="add" :disabled="changing">{{ $t('add-moderator.add') }}</ui-button>
<ui-button @click="remove" :disabled="changing">{{ $t('add-moderator.remove') }}</ui-button>
<ui-horizon-group>
<ui-button @click="add" :disabled="changing">{{ $t('add-moderator.add') }}</ui-button>
<ui-button @click="remove" :disabled="changing">{{ $t('add-moderator.remove') }}</ui-button>
</ui-horizon-group>
</section>
</ui-card>
</div>
@@ -75,10 +77,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.jnhmugbb
@media (min-width 500px)
padding 16px
</style>

View File

@@ -0,0 +1,204 @@
<template>
<div>
<ui-card>
<template #title><fa :icon="faTasks"/> {{ $t('title') }}</template>
<section class="wptihjuy">
<header><fa :icon="faPaperPlane"/> Deliver</header>
<ui-horizon-group inputs v-if="latestStats" class="fit-bottom">
<ui-input :value="latestStats.deliver.waiting | number" type="text" readonly>
<span>Waiting</span>
</ui-input>
<ui-input :value="latestStats.deliver.delayed | number" type="text" readonly>
<span>Delayed</span>
</ui-input>
<ui-input :value="latestStats.deliver.active | number" type="text" readonly>
<span>Active</span>
</ui-input>
</ui-horizon-group>
<div ref="deliverChart" class="chart"></div>
</section>
<section class="wptihjuy">
<header><fa :icon="faInbox"/> Inbox</header>
<ui-horizon-group inputs v-if="latestStats" class="fit-bottom">
<ui-input :value="latestStats.inbox.waiting | number" type="text" readonly>
<span>Waiting</span>
</ui-input>
<ui-input :value="latestStats.inbox.delayed | number" type="text" readonly>
<span>Delayed</span>
</ui-input>
<ui-input :value="latestStats.inbox.active | number" type="text" readonly>
<span>Active</span>
</ui-input>
</ui-horizon-group>
<div ref="inboxChart" class="chart"></div>
</section>
<section>
<ui-button @click="removeAllJobs">{{ $t('remove-all-jobs') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import ApexCharts from 'apexcharts';
import * as tinycolor from 'tinycolor2';
import { faTasks, faInbox } from '@fortawesome/free-solid-svg-icons';
import { faPaperPlane } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/queue.vue'),
data() {
return {
stats: [],
deliverChart: null,
inboxChart: null,
faTasks, faPaperPlane, faInbox
};
},
computed: {
latestStats(): any {
return this.stats[this.stats.length - 1];
}
},
watch: {
stats(stats) {
this.inboxChart.updateSeries([{
name: 'Active',
data: stats.map((x, i) => ({ x: i, y: x.inbox.activeSincePrevTick }))
}, {
name: 'Waiting',
data: stats.map((x, i) => ({ x: i, y: x.inbox.waiting }))
}, {
name: 'Delayed',
data: stats.map((x, i) => ({ x: i, y: x.inbox.delayed }))
}]);
this.deliverChart.updateSeries([{
name: 'Active',
data: stats.map((x, i) => ({ x: i, y: x.deliver.activeSincePrevTick }))
}, {
name: 'Waiting',
data: stats.map((x, i) => ({ x: i, y: x.deliver.waiting }))
}, {
name: 'Delayed',
data: stats.map((x, i) => ({ x: i, y: x.deliver.delayed }))
}]);
}
},
mounted() {
const chartOpts = {
chart: {
type: 'area',
height: 200,
animations: {
dynamicAnimation: {
enabled: false
}
},
toolbar: {
show: false
},
zoom: {
enabled: false
}
},
dataLabels: {
enabled: false
},
grid: {
clipMarkers: false,
borderColor: 'rgba(0, 0, 0, 0.1)'
},
stroke: {
curve: 'straight',
width: 2
},
tooltip: {
enabled: false
},
legend: {
labels: {
colors: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
},
},
series: [] as any,
colors: ['#00BCD4', '#FFEB3B', '#e53935'],
xaxis: {
type: 'numeric',
labels: {
show: false
},
tooltip: {
enabled: false
}
},
yaxis: {
show: false,
min: 0,
}
};
this.inboxChart = new ApexCharts(this.$refs.inboxChart, chartOpts);
this.deliverChart = new ApexCharts(this.$refs.deliverChart, chartOpts);
this.inboxChart.render();
this.deliverChart.render();
const connection = this.$root.stream.useSharedConnection('queueStats');
connection.on('stats', this.onStats);
connection.on('statsLog', this.onStatsLog);
connection.send('requestLog', {
id: Math.random().toString().substr(2, 8),
length: 100
});
this.$once('hook:beforeDestroy', () => {
connection.dispose();
this.inboxChart.destroy();
this.deliverChart.destroy();
});
},
methods: {
async removeAllJobs() {
const process = async () => {
await this.$root.api('admin/queue/clear');
this.$root.dialog({
type: 'success',
splash: true
});
};
await process().catch(e => {
this.$root.dialog({
type: 'error',
text: e.toString()
});
});
},
onStats(stats) {
this.stats.push(stats);
if (this.stats.length > 100) this.stats.shift();
},
onStatsLog(statsLog) {
for (const stats of statsLog.reverse()) {
this.onStats(stats);
}
}
}
});
</script>
<style lang="stylus" scoped>
.wptihjuy
> .chart
min-height 200px !important
</style>

View File

@@ -0,0 +1,85 @@
<template>
<div class="kofvwchc">
<div>
<a :href="user | userPage(null, true)">
<mk-avatar class="avatar" :user="user" :disable-link="true"/>
</a>
</div>
<div>
<header>
<b><mk-user-name :user="user"/></b>
<span class="username">@{{ user | acct }}</span>
<span class="is-admin" v-if="user.isAdmin">admin</span>
<span class="is-moderator" v-if="user.isModerator">moderator</span>
<span class="is-verified" v-if="user.isVerified" :title="$t('@.verified-user')"><fa icon="star"/></span>
<span class="is-silenced" v-if="user.isSilenced" :title="$t('@.silenced-user')"><fa :icon="faMicrophoneSlash"/></span>
<span class="is-suspended" v-if="user.isSuspended" :title="$t('@.suspended-user')"><fa :icon="faSnowflake"/></span>
</header>
<div>
<span>{{ $t('users.updatedAt') }}: <mk-time :time="user.updatedAt" mode="detail"/></span>
</div>
<div>
<span>{{ $t('users.createdAt') }}: <mk-time :time="user.createdAt" mode="detail"/></span>
</div>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { faMicrophoneSlash } from '@fortawesome/free-solid-svg-icons';
import { faSnowflake } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/users.vue'),
props: ['user'],
data() {
return {
faSnowflake, faMicrophoneSlash
};
},
});
</script>
<style lang="stylus" scoped>
.kofvwchc
display flex
padding 16px 0
border-top solid 1px var(--faceDivider)
> div:first-child
> a
> .avatar
width 64px
height 64px
> div:last-child
flex 1
padding-left 16px
@media (max-width 500px)
font-size 14px
> header
> .username
margin-left 8px
opacity 0.7
> .is-admin
> .is-moderator
flex-shrink 0
align-self center
margin 0 0 0 .5em
padding 1px 6px
font-size 80%
border-radius 3px
background var(--noteHeaderAdminBg)
color var(--noteHeaderAdminFg)
> .is-verified
> .is-silenced
> .is-suspended
margin 0 0 0 .5em
color #4dabf7
</style>

View File

@@ -1,75 +1,65 @@
<template>
<div class="ucnffhbtogqgscfmqcymwmmupoknpfsw">
<div>
<ui-card>
<div slot="title"><fa :icon="faTerminal"/> {{ $t('operation') }}</div>
<template #title><fa :icon="faTerminal"/> {{ $t('operation') }}</template>
<section class="fit-top">
<ui-input v-model="target" type="text">
<ui-input class="target" v-model="target" type="text" @enter="showUser">
<span>{{ $t('username-or-userid') }}</span>
</ui-input>
<ui-button @click="resetPassword"><fa :icon="faKey"/> {{ $t('reset-password') }}</ui-button>
<ui-horizon-group>
<ui-button @click="verifyUser" :disabled="verifying"><fa :icon="faCertificate"/> {{ $t('verify') }}</ui-button>
<ui-button @click="unverifyUser" :disabled="unverifying">{{ $t('unverify') }}</ui-button>
</ui-horizon-group>
<ui-horizon-group>
<ui-button @click="suspendUser" :disabled="suspending"><fa :icon="faSnowflake"/> {{ $t('suspend') }}</ui-button>
<ui-button @click="unsuspendUser" :disabled="unsuspending">{{ $t('unsuspend') }}</ui-button>
</ui-horizon-group>
<ui-button @click="showUser"><fa :icon="faSearch"/> {{ $t('lookup') }}</ui-button>
<ui-textarea v-if="user" :value="user | json5" readonly tall style="margin-top:16px;"></ui-textarea>
<div class="user" v-if="user">
<x-user :user='user'/>
<div class="actions">
<ui-button @click="resetPassword"><fa :icon="faKey"/> {{ $t('reset-password') }}</ui-button>
<ui-horizon-group>
<ui-button @click="verifyUser" :disabled="verifying"><fa :icon="faCertificate"/> {{ $t('verify') }}</ui-button>
<ui-button @click="unverifyUser" :disabled="unverifying">{{ $t('unverify') }}</ui-button>
</ui-horizon-group>
<ui-horizon-group>
<ui-button @click="silenceUser"><fa :icon="faMicrophoneSlash"/> {{ $t('make-silence') }}</ui-button>
<ui-button @click="unsilenceUser">{{ $t('unmake-silence') }}</ui-button>
</ui-horizon-group>
<ui-horizon-group>
<ui-button @click="suspendUser" :disabled="suspending"><fa :icon="faSnowflake"/> {{ $t('suspend') }}</ui-button>
<ui-button @click="unsuspendUser" :disabled="unsuspending">{{ $t('unsuspend') }}</ui-button>
</ui-horizon-group>
<ui-button v-if="user.host != null" @click="updateRemoteUser"><fa :icon="faSync"/> {{ $t('update-remote-user') }}</ui-button>
<ui-textarea v-if="user" :value="user | json5" readonly tall style="margin-top:16px;"></ui-textarea>
</div>
</div>
</section>
</ui-card>
<ui-card>
<div slot="title"><fa :icon="faUsers"/> {{ $t('users.title') }}</div>
<template #title><fa :icon="faUsers"/> {{ $t('users.title') }}</template>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-select v-model="sort">
<span slot="label">{{ $t('users.sort.title') }}</span>
<template #label>{{ $t('users.sort.title') }}</template>
<option value="-createdAt">{{ $t('users.sort.createdAtAsc') }}</option>
<option value="+createdAt">{{ $t('users.sort.createdAtDesc') }}</option>
<option value="-updatedAt">{{ $t('users.sort.updatedAtAsc') }}</option>
<option value="+updatedAt">{{ $t('users.sort.updatedAtDesc') }}</option>
</ui-select>
<ui-select v-model="state">
<span slot="label">{{ $t('users.state.title') }}</span>
<template #label>{{ $t('users.state.title') }}</template>
<option value="all">{{ $t('users.state.all') }}</option>
<option value="admin">{{ $t('users.state.admin') }}</option>
<option value="moderator">{{ $t('users.state.moderator') }}</option>
<option value="verified">{{ $t('users.state.verified') }}</option>
<option value="silenced">{{ $t('users.state.silenced') }}</option>
<option value="suspended">{{ $t('users.state.suspended') }}</option>
</ui-select>
<ui-select v-model="origin">
<span slot="label">{{ $t('users.origin.title') }}</span>
<template #label>{{ $t('users.origin.title') }}</template>
<option value="combined">{{ $t('users.origin.combined') }}</option>
<option value="local">{{ $t('users.origin.local') }}</option>
<option value="remote">{{ $t('users.origin.remote') }}</option>
</ui-select>
</ui-horizon-group>
<sequential-entrance animation="entranceFromTop" delay="25">
<div class="kofvwchc" v-for="user in users" :key="user.id">
<div>
<a :href="user | userPage(null, true)">
<mk-avatar class="avatar" :user="user" :disable-link="true"/>
</a>
</div>
<div>
<header>
<b><mk-user-name :user="user"/></b>
<span class="username">@{{ user | acct }}</span>
<span class="is-admin" v-if="user.isAdmin">admin</span>
<span class="is-moderator" v-if="user.isModerator">moderator</span>
<span class="is-verified" v-if="user.isVerified" :title="$t('@.verified-user')"><fa icon="star"/></span>
<span class="is-suspended" v-if="user.isSuspended" :title="$t('@.suspended-user')"><fa :icon="faSnowflake"/></span>
</header>
<div>
<span>{{ $t('users.updatedAt') }}: <mk-time :time="user.updatedAt" mode="detail"/></span>
</div>
<div>
<span>{{ $t('users.createdAt') }}: <mk-time :time="user.createdAt" mode="detail"/></span>
</div>
</div>
</div>
<x-user v-for="user in users" :user='user' :key="user.id"/>
</sequential-entrance>
<ui-button v-if="existMore" @click="fetchUsers">{{ $t('@.load-more') }}</ui-button>
</section>
@@ -81,12 +71,15 @@
import Vue from 'vue';
import i18n from '../../i18n';
import parseAcct from "../../../../misc/acct/parse";
import { faCertificate, faUsers, faTerminal, faSearch, faKey } from '@fortawesome/free-solid-svg-icons';
import { faCertificate, faUsers, faTerminal, faSearch, faKey, faSync, faMicrophoneSlash } from '@fortawesome/free-solid-svg-icons';
import { faSnowflake } from '@fortawesome/free-regular-svg-icons';
import XUser from './users.user.vue';
export default Vue.extend({
i18n: i18n('admin/views/users.vue'),
components: {
XUser
},
data() {
return {
user: null,
@@ -97,12 +90,12 @@ export default Vue.extend({
unsuspending: false,
sort: '+createdAt',
state: 'all',
origin: 'combined',
origin: 'local',
limit: 10,
offset: 0,
users: [],
existMore: false,
faTerminal, faCertificate, faUsers, faSnowflake, faSearch, faKey
faTerminal, faCertificate, faUsers, faSnowflake, faSearch, faKey, faSync, faMicrophoneSlash
};
},
@@ -131,34 +124,56 @@ export default Vue.extend({
},
methods: {
async fetchUser() {
try {
return await this.$root.api('users/show', this.target.startsWith('@') ? parseAcct(this.target) : { userId: this.target });
} catch (e) {
if (e == 'user not found') {
this.$root.dialog({
type: 'error',
text: this.$t('user-not-found')
});
} else {
this.$root.dialog({
type: 'error',
text: e.toString()
});
}
}
/** テキストエリアのユーザーを解決する */
fetchUser() {
return new Promise((res) => {
const usernamePromise = this.$root.api('users/show', parseAcct(this.target));
const idPromise = this.$root.api('users/show', { userId: this.target });
let _notFound = false;
const notFound = () => {
if (_notFound) {
this.$root.dialog({
type: 'error',
text: this.$t('user-not-found')
});
} else {
_notFound = true;
}
};
usernamePromise.then(res).catch(e => {
if (e == 'user not found') {
notFound();
}
});
idPromise.then(res).catch(e => {
notFound();
});
});
},
/** テキストエリアから処理対象ユーザーを設定する */
async showUser() {
this.user = null;
const user = await this.fetchUser();
this.$root.api('admin/show-user', { userId: user.id }).then(info => {
this.user = info;
});
this.target = '';
},
/** 処理対象ユーザーの情報を更新する */
async refreshUser() {
this.$root.api('admin/show-user', { userId: this.user._id }).then(info => {
this.user = info;
});
},
async resetPassword() {
const user = await this.fetchUser();
this.$root.api('admin/reset-password', { userId: user.id }).then(res => {
if (!await this.getConfirmed(this.$t('reset-password-confirm'))) return;
this.$root.api('admin/reset-password', { userId: this.user._id }).then(res => {
this.$root.dialog({
type: 'success',
text: this.$t('password-updated', { password: res.password })
@@ -167,11 +182,12 @@ export default Vue.extend({
},
async verifyUser() {
if (!await this.getConfirmed(this.$t('verify-confirm'))) return;
this.verifying = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/verify-user', { userId: user.id });
await this.$root.api('admin/verify-user', { userId: this.user._id });
this.$root.dialog({
type: 'success',
text: this.$t('verified')
@@ -186,14 +202,17 @@ export default Vue.extend({
});
this.verifying = false;
this.refreshUser();
},
async unverifyUser() {
if (!await this.getConfirmed(this.$t('unverify-confirm'))) return;
this.unverifying = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/unverify-user', { userId: user.id });
await this.$root.api('admin/unverify-user', { userId: this.user._id });
this.$root.dialog({
type: 'success',
text: this.$t('unverified')
@@ -208,14 +227,55 @@ export default Vue.extend({
});
this.unverifying = false;
this.refreshUser();
},
async silenceUser() {
const process = async () => {
await this.$root.api('admin/silence-user', { userId: this.user._id });
this.$root.dialog({
type: 'success',
splash: true
});
};
await process().catch(e => {
this.$root.dialog({
type: 'error',
text: e.toString()
});
});
this.refreshUser();
},
async unsilenceUser() {
const process = async () => {
await this.$root.api('admin/unsilence-user', { userId: this.user._id });
this.$root.dialog({
type: 'success',
splash: true
});
};
await process().catch(e => {
this.$root.dialog({
type: 'error',
text: e.toString()
});
});
this.refreshUser();
},
async suspendUser() {
if (!await this.getConfirmed(this.$t('suspend-confirm'))) return;
this.suspending = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/suspend-user', { userId: user.id });
await this.$root.api('admin/suspend-user', { userId: this.user._id });
this.$root.dialog({
type: 'success',
text: this.$t('suspended')
@@ -230,14 +290,17 @@ export default Vue.extend({
});
this.suspending = false;
this.refreshUser();
},
async unsuspendUser() {
if (!await this.getConfirmed(this.$t('unsuspend-confirm'))) return;
this.unsuspending = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/unsuspend-user', { userId: user.id });
await this.$root.api('admin/unsuspend-user', { userId: this.user._id });
this.$root.dialog({
type: 'success',
text: this.$t('unsuspended')
@@ -252,6 +315,30 @@ export default Vue.extend({
});
this.unsuspending = false;
this.refreshUser();
},
async updateRemoteUser() {
this.$root.api('admin/update-remote-user', { userId: this.user._id }).then(res => {
this.$root.dialog({
type: 'success',
text: this.$t('remote-user-updated')
});
});
this.refreshUser();
},
async getConfirmed(text: string): Promise<Boolean> {
const confirm = await this.$root.dialog({
type: 'warning',
showCancelButton: true,
title: 'confirm',
text,
});
return !confirm.canceled;
},
fetchUsers() {
@@ -277,46 +364,12 @@ export default Vue.extend({
</script>
<style lang="stylus" scoped>
.ucnffhbtogqgscfmqcymwmmupoknpfsw
@media (min-width 500px)
padding 16px
.target
margin-bottom 16px !important
.kofvwchc
display flex
padding 16px 0
border-top solid 1px var(--faceDivider)
.user
margin-top 32px
> div:first-child
> a
> .avatar
width 64px
height 64px
> div:last-child
flex 1
padding-left 16px
@media (max-width 500px)
font-size 14px
> header
> .username
margin-left 8px
opacity 0.7
> .is-admin
> .is-moderator
flex-shrink 0
align-self center
margin 0 0 0 .5em
padding 1px 6px
font-size 80%
border-radius 3px
background var(--noteHeaderAdminBg)
color var(--noteHeaderAdminFg)
> .is-verified
> .is-suspended
margin 0 0 0 .5em
color #4dabf7
> .actions
margin-left 80px
</style>

View File

@@ -26,3 +26,22 @@
transform: translateY(0);
}
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@keyframes jump {
0% { transform: translateY(0); }
25% { transform: translateY(-16px); }
50% { transform: translateY(0); }
75% { transform: translateY(-8px); }
100% { transform: translateY(0); }
}
@keyframes blink {
0% { opacity: 1; }
30% { opacity: 1; }
90% { opacity: 0; }
}

View File

@@ -72,47 +72,6 @@ body
code
font-family Consolas, 'Courier New', Courier, Monaco, monospace
.comment
opacity 0.5
.string
color #e96900
.regexp
color #e9003f
.keyword
color #2973b7
&.true
&.false
&.null
&.nil
&.undefined
color #ae81ff
.symbol
color #42b983
.number
.nan
color #ae81ff
.var:not(.keyword)
font-weight bold
font-style italic
//text-decoration underline
.method
font-style italic
color #8964c1
.property
color #a71d5d
.label
color #e9003f
pre
display block

View File

@@ -62,23 +62,26 @@
}
if (settings && settings.device.lang &&
langs.includes(settings.device.lang)) {
langs.includes(settings.device.lang))
{
lang = settings.device.lang;
}
window.lang = lang;
localStorage.setItem('lang', lang);
//#endregion
let locale = localStorage.getItem('locale');
//#region Fetch locale data
const cachedLocale = localStorage.getItem('locale');
const localeKey = localStorage.getItem('localeKey');
if (locale == null || localeKey != `${ver}.${lang}`) {
if (cachedLocale == null || localeKey != `${ver}.${lang}`) {
const locale = await fetch(`/assets/locales/${lang}.json?ver=${ver}`)
.then(response => response.json());
localStorage.setItem('locale', JSON.stringify(locale));
localStorage.setItem('localeKey', `${ver}.${lang}`);
localStorage.setItem('locale', JSON.stringify(locale));
localStorage.setItem('localeKey', `${ver}.${lang}`);
}
//#endregion
// Detect the user agent
const ua = navigator.userAgent.toLowerCase();
@@ -105,16 +108,11 @@
app = isMobile ? 'mobile' : 'desktop';
}
// Get salt query
const salt = localStorage.getItem('salt')
? `?salt=${localStorage.getItem('salt')}`
: '';
// Load an app script
// Note: 'async' make it possible to load the script asyncly.
// 'defer' make it possible to run the script when the dom loaded.
const script = document.createElement('script');
script.setAttribute('src', `/assets/${app}.${ver}.js${salt}`);
script.setAttribute('src', `/assets/${app}.${ver}.js`);
script.setAttribute('async', 'true');
script.setAttribute('defer', 'true');
head.appendChild(script);
@@ -135,8 +133,8 @@
const meta = await res.json();
// Compare versions
if (meta.clientVersion != ver) {
localStorage.setItem('v', meta.clientVersion);
if (meta.version != ver) {
localStorage.setItem('v', meta.version);
alert(
'Misskeyの新しいバージョンがあります。ページを再度読み込みします。' +
@@ -152,9 +150,6 @@
localStorage.removeItem('locale');
// Random
localStorage.setItem('salt', Math.random().toString().substr(2, 8));
// Clear cache (service worker)
try {
navigator.serviceWorker.controller.postMessage('clear');

View File

@@ -9,6 +9,10 @@ export default function <T extends object>(data: {
widget: {
type: Object
},
column: {
type: Object,
default: null
},
platform: {
type: String,
required: true
@@ -65,10 +69,14 @@ export default function <T extends object>(data: {
this.bakeProps();
this.$root.api('i/update_widget', {
id: this.id,
data: this.props
});
if (this.platform == 'deck') {
this.$store.commit('device/updateDeckColumn', this.column);
} else {
this.$root.api('i/update_widget', {
id: this.id,
data: this.props
});
}
}
}
});

View File

@@ -1,8 +1,8 @@
import { clientVersion as current } from '../../config';
import { version as current } from '../../config';
export default async function($root: any, force = false, silent = false) {
const meta = await $root.getMeta(force);
const newer = meta.clientVersion;
const newer = meta.version;
if (newer != current) {
localStorage.setItem('should-refresh', 'true');

View File

@@ -15,22 +15,22 @@ export default function(type, data): Notification {
switch (type) {
case 'driveFileCreated':
return {
title: '%i18n:common.notification.file-uploaded%',
title: 'File uploaded',
body: data.name,
icon: data.url
};
case 'unreadMessagingMessage':
return {
title: '%i18n:common.notification.message-from%'.split('{}')[0] + `${getUserName(data.user)}` + '%i18n:common.notification.message-from%'.split('{}')[1] ,
title: `New message from ${getUserName(data.user)}`,
body: data.text, // TODO: getMessagingMessageSummary(data),
icon: data.user.avatarUrl
};
case 'reversiInvited':
return {
title: '%i18n:common.notification.reversi-invited%',
body: '%i18n:common.notification.reversi-invited-by%'.split('{}')[0] + `${getUserName(data.parent)}` + '%i18n:common.notification.reversi-invited-by%'.split('{}')[1],
title: 'Play reversi with me',
body: `You got reversi invitation from ${getUserName(data.parent)}`,
icon: data.parent.avatarUrl
};
@@ -38,21 +38,21 @@ export default function(type, data): Notification {
switch (data.type) {
case 'mention':
return {
title: '%i18n:common.notification.notified-by%'.split('{}')[0] + `${getUserName(data.user)}:` + '%i18n:common.notification.notified-by%'.split('{}')[1],
title: `${getUserName(data.user)}:`,
body: getNoteSummary(data),
icon: data.user.avatarUrl
};
case 'reply':
return {
title: '%i18n:common.notification.reply-from%'.split('{}')[0] + `${getUserName(data.user)}` + '%i18n:common.notification.reply-from%'.split('{}')[1],
title: `You got reply from ${getUserName(data.user)}:`,
body: getNoteSummary(data),
icon: data.user.avatarUrl
};
case 'quote':
return {
title: '%i18n:common.notification.quoted-by%'.split('{}')[0] + `${getUserName(data.user)}` + '%i18n:common.notification.quoted-by%'.split('{}')[1],
title: `${getUserName(data.user)}:`,
body: getNoteSummary(data),
icon: data.user.avatarUrl
};

View File

@@ -2,12 +2,32 @@
* Clipboardに値をコピー(TODO: 文字列以外も対応)
*/
export default val => {
const form = document.createElement('textarea');
form.textContent = val;
document.body.appendChild(form);
form.select();
// 空div 生成
const tmp = document.createElement('div');
// 選択用のタグ生成
const pre = document.createElement('pre');
// 親要素のCSSで user-select: none だとコピーできないので書き換える
pre.style.webkitUserSelect = 'auto';
pre.style.userSelect = 'auto';
tmp.appendChild(pre).textContent = val;
// 要素を画面外へ
const s = tmp.style;
s.position = 'fixed';
s.right = '200%';
// body に追加
document.body.appendChild(tmp);
// 要素を選択
document.getSelection().selectAllChildren(tmp);
// クリップボードにコピー
const result = document.execCommand('copy');
document.body.removeChild(form);
// 要素削除
document.body.removeChild(tmp);
return result;
};

View File

@@ -1,5 +1,5 @@
// スクリプトサイズがデカい
//const crypto = require('crypto');
//import * as crypto from 'crypto';
export default (data: ArrayBuffer) => {
//const buf = new Buffer(data);

View File

@@ -0,0 +1,11 @@
import { url as instanceUrl } from '../../config';
import * as url from '../../../../prelude/url';
export function getStaticImageUrl(baseUrl: string): string {
const u = new URL(baseUrl);
const dummy = `${u.host}${u.pathname}`; // 拡張子がないとキャッシュしてくれないCDNがあるので
return `${instanceUrl}/proxy/${dummy}?${url.query({
url: u.href,
static: '1'
})}`;
}

View File

@@ -1,4 +1,4 @@
const NProgress = require('nprogress');
import * as NProgress from 'nprogress';
NProgress.configure({
trickleSpeed: 500,
showSpinner: false

View File

@@ -1,4 +1,4 @@
import parse from '../../../../mfm/parse';
import { parse } from '../../../../mfm/parse';
import { sum, unique } from '../../../../prelude/array';
import shouldMuteNote from './should-mute-note';
import MkNoteMenu from '../views/components/note-menu.vue';
@@ -76,7 +76,7 @@ export default (opts: Opts = {}) => ({
},
title(): string {
return new Date(this.appearNote.createdAt).toLocaleString();
return '';
},
urls(): string[] {

View File

@@ -133,6 +133,7 @@ export default prop => ({
case 'deleted': {
Vue.set(this.$_ns_target, 'deletedAt', body.deletedAt);
Vue.set(this.$_ns_target, 'renote', null);
this.$_ns_target.text = null;
this.$_ns_target.tags = [];
this.$_ns_target.fileIds = [];

View File

@@ -1,10 +1,11 @@
export default function(me, settings, note) {
const isMyNote = note.userId == me.id;
const isMyNote = me && (note.userId == me.id);
const isPureRenote = note.renoteId != null && note.text == null && note.fileIds.length == 0 && note.poll == null;
const includesMutedWords = (text: string) =>
text
? settings.mutedWords.some(q => q.length > 0 && !q.some(word => !text.includes(word)))
? settings.mutedWords.some(q => q.length > 0 && !q.some(word =>
word.startsWith('/') && word.endsWith('/') ? !(new RegExp(word.substr(1, word.length - 2)).test(text)) : !text.includes(word)))
: false;
return (

View File

@@ -0,0 +1,18 @@
export default {
install(Vue) {
Vue.directive('size', {
inserted(el, binding) {
const query = binding.value;
const width = el.clientWidth;
for (const q of query) {
if (q.lt && (width <= q.lt)) {
el.classList.add(q.class);
}
if (q.gt && (width >= q.gt)) {
el.classList.add(q.class);
}
}
}
});
}
};

View File

@@ -1,5 +1,5 @@
<template>
<span class="mk-acct">
<span class="mk-acct" v-once>
<span class="name">@{{ user.username }}</span>
<span class="host" :class="{ fade: $store.state.settings.contrastedAcct }" v-if="user.host || detail || $store.state.settings.showFullAcct">@{{ user.host || host }}</span>
<fa v-if="user.isLocked == true" class="locked" icon="lock" fixed-width/>

View File

@@ -1,15 +1,25 @@
<template>
<div class="mk-activity">
<div>
<div ref="chart"></div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import * as ApexCharts from 'apexcharts';
import ApexCharts from 'apexcharts';
export default Vue.extend({
props: ['user'],
props: {
user: {
type: Object,
required: true
},
limit: {
type: Number,
required: false,
default: 21
}
},
data() {
return {
fetching: true,
@@ -21,7 +31,7 @@ export default Vue.extend({
this.$root.api('charts/user/notes', {
userId: this.user.id,
span: 'day',
limit: 21
limit: this.limit
}).then(stats => {
const normal = [];
const reply = [];
@@ -32,7 +42,7 @@ export default Vue.extend({
const m = now.getMonth();
const d = now.getDate();
for (let i = 0; i < 21; i++) {
for (let i = 0; i < this.limit; i++) {
const x = new Date(y, m, d - i);
normal.push([
x,
@@ -59,8 +69,7 @@ export default Vue.extend({
},
plotOptions: {
bar: {
columnWidth: '90%',
endingShape: 'rounded'
columnWidth: '90%'
}
},
grid: {
@@ -100,10 +109,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.mk-activity
max-width 600px
margin 0 auto
</style>

View File

@@ -4,7 +4,7 @@
<li v-for="user in users" @click="complete(type, user)" @keydown="onKeydown" tabindex="-1">
<img class="avatar" :src="user.avatarUrl" alt=""/>
<span class="name">
<mk-user-name :user="user"/>
<mk-user-name :user="user" :key="user.id"/>
</span>
<span class="username">@{{ user | acct }}</span>
</li>

View File

@@ -1,20 +1,21 @@
<template>
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-if="disableLink && !disablePreview" v-user-preview="user.id" @click="onClick">
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-if="disableLink && !disablePreview" v-user-preview="user.id" @click="onClick" v-once>
<span class="inner" :style="icon"></span>
</span>
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-else-if="disableLink && disablePreview" @click="onClick">
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-else-if="disableLink && disablePreview" @click="onClick" v-once>
<span class="inner" :style="icon"></span>
</span>
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && !disablePreview" v-user-preview="user.id">
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && !disablePreview" v-user-preview="user.id" v-once>
<span class="inner" :style="icon"></span>
</router-link>
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && disablePreview">
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && disablePreview" v-once>
<span class="inner" :style="icon"></span>
</router-link>
</template>
<script lang="ts">
import Vue from 'vue';
import { getStaticImageUrl } from '../../../common/scripts/get-static-image-url';
export default Vue.extend({
props: {
@@ -47,6 +48,11 @@ export default Vue.extend({
borderRadius: this.$store.state.settings.circleIcons ? '100%' : null
};
},
url(): string {
return this.$store.state.device.disableShowingAnimatedImages
? getStaticImageUrl(this.user.avatarUrl)
: this.user.avatarUrl;
},
icon(): any {
return {
backgroundColor: this.lightmode
@@ -54,7 +60,7 @@ export default Vue.extend({
: this.user.avatarColor && this.user.avatarColor.length == 3
? `rgb(${this.user.avatarColor.join(',')})`
: null,
backgroundImage: this.lightmode ? null : `url(${this.user.avatarUrl})`,
backgroundImage: this.lightmode ? null : `url(${this.url})`,
borderRadius: this.$store.state.settings.circleIcons ? '100%' : null
};
}

View File

@@ -0,0 +1,30 @@
<template>
<prism :inline="inline" :language="lang || 'js'">{{ code }}</prism>
</template>
<script lang="ts">
import Vue from 'vue';
import 'prismjs';
import 'prismjs/themes/prism-okaidia.css';
import Prism from 'vue-prism-component';
export default Vue.extend({
components: {
Prism
},
props: {
code: {
type: String,
required: true
},
lang: {
type: String,
required: false
},
inline: {
type: Boolean,
required: false
}
}
});
</script>

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