Compare commits

...

1404 Commits

Author SHA1 Message Date
031287aebd 10.79.0 2019-01-27 16:43:50 +09:00
b24de13a37 Update CHANGELOG.md 2019-01-27 16:43:06 +09:00
c113fdc20e Merge pull request #3987 from syuilo/math-block
複数行用の数式構文を追加
2019-01-27 16:41:49 +09:00
1af1638e2b Merge branch 'develop' into math-block 2019-01-27 16:41:30 +09:00
8c62aafa97 Fix test 2019-01-27 16:36:01 +09:00
4de62220e3 [MFM] Add flip syntax
Resolve #4002
2019-01-27 16:31:00 +09:00
e5d9381503 [MFM] Add spin syntax
Resolve #4003
2019-01-27 16:18:04 +09:00
d906d90010 [Server] Introduce admin stream channel 2019-01-27 14:55:02 +09:00
b836528b51 Celan up 2019-01-27 14:44:39 +09:00
4b191c7f68 [Client] Improve syntax highlighting
Resolve #3926
Resolve #3390
2019-01-27 14:34:52 +09:00
f9f70d5df4 Clean up 2019-01-27 14:30:57 +09:00
50b809784f Improve readability and some cleanups 2019-01-27 13:55:11 +09:00
54ce19bd56 Update parser.ts (#3999)
* Update parser.ts

* Update parser.ts

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

* tune
2019-01-26 17:14:10 +09:00
da7d1938c9 [Server] Fix #3991 2019-01-26 17:11:02 +09:00
5a795c4ab2 tools/resync-remote-user で exit しないように (#3990) 2019-01-26 16:56:05 +09:00
95d4937e16 Remove whiteP and blackP from Reversi (#3736) 2019-01-26 11:30:30 +09:00
6bbc6a80b2 Update style.styl (#3986) 2019-01-26 11:26:32 +09:00
79d2374d8e Add multiline math syntax
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2019-01-25 23:08:06 +09:00
e4601962d0 New translations ja-JP.yml (English) 2019-01-25 19:53:11 +09:00
4398651841 Refactor 2019-01-25 19:37:45 +09:00
42cd7c8a75 [MFM] Improve italic syntax detection 2019-01-25 16:41:51 +09:00
501379c82c [Test] Add sone streaming tests 2019-01-25 16:14:09 +09:00
92b45d1a9d Refactoring 2019-01-25 15:56:49 +09:00
3330c3f548 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-25 11:05:34 +09:00
3552b1c900 Update CHANGELOG.md 2019-01-25 11:05:24 +09:00
428d27a27b New translations ja-JP.yml (Spanish) 2019-01-25 11:01:47 +09:00
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
01c0253c89 Merge pull request #3972 from syuilo/l10n_develop
New Crowdin translations
2019-01-25 10:59:34 +09:00
76fcf122f9 [Test] Add notes/timeline test 2019-01-25 10:58:39 +09:00
926ad23033 [Test] Add API test 2019-01-25 10:52:04 +09:00
b956d63c46 New translations ja-JP.yml (Spanish) 2019-01-25 10:11:46 +09:00
1970927b5e New translations ja-JP.yml (Spanish) 2019-01-25 08:52:43 +09:00
3995ae0957 New translations ja-JP.yml (Spanish) 2019-01-25 08:21:24 +09:00
c2a840fa19 New translations ja-JP.yml (English) 2019-01-25 08:21:20 +09:00
c7a6321a08 New translations ja-JP.yml (Spanish) 2019-01-25 08:12:04 +09:00
0c42c54b7a New translations ja-JP.yml (Spanish) 2019-01-25 08:01:47 +09:00
8b775c85f6 New translations ja-JP.yml (Spanish) 2019-01-25 07:52:46 +09:00
5c14ff661f New translations ja-JP.yml (Spanish) 2019-01-25 07:42:51 +09:00
160c1a3022 New translations ja-JP.yml (Spanish) 2019-01-25 07:22:31 +09:00
5eca0a31f7 Filter hidden replies / mentions (#3981)
* Fix: 非公開投稿が返信一覧に出てくる

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

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

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

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

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

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

* Cannot
2019-01-24 18:06:20 +09:00
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
0be7bf93d9 New translations ja-JP.yml (Chinese Simplified) 2019-01-24 11:52:03 +09:00
75f9e6bdf5 New translations ja-JP.yml (Chinese Simplified) 2019-01-24 11:26:44 +09:00
8f6ea13696 New translations ja-JP.yml (English) 2019-01-24 09:21:48 +09:00
f434b3a875 New translations ja-JP.yml (English) 2019-01-24 09:12:19 +09:00
70b980d463 New translations ja-JP.yml (Norwegian) 2019-01-23 20:54:03 +09:00
a59cf87374 New translations ja-JP.yml (Dutch) 2019-01-23 20:53:56 +09:00
c9a9d5dbfd New translations ja-JP.yml (Japanese, Kansai) 2019-01-23 20:53:51 +09:00
e0480f4e01 New translations ja-JP.yml (Spanish) 2019-01-23 20:53:45 +09:00
d8cfd8f56d New translations ja-JP.yml (Russian) 2019-01-23 20:53:38 +09:00
593d3e2d55 New translations ja-JP.yml (Portuguese) 2019-01-23 20:53:33 +09:00
a79901b441 New translations ja-JP.yml (Polish) 2019-01-23 20:53:29 +09:00
4c526f2837 New translations ja-JP.yml (Korean) 2019-01-23 20:53:24 +09:00
3c28dd92ec New translations ja-JP.yml (Italian) 2019-01-23 20:53:19 +09:00
d09af4754a New translations ja-JP.yml (German) 2019-01-23 20:53:13 +09:00
44ab6cbc39 New translations ja-JP.yml (French) 2019-01-23 20:53:09 +09:00
6c42db7589 New translations ja-JP.yml (English) 2019-01-23 20:53:04 +09:00
20dfd2faca New translations ja-JP.yml (Chinese Simplified) 2019-01-23 20:52:59 +09:00
13696a85ee New translations ja-JP.yml (Catalan) 2019-01-23 20:52:53 +09:00
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
44a3df0acf Merge pull request #3965 from syuilo/l10n_develop
New Crowdin translations
2019-01-23 19:47:22 +09:00
4ab96251f5 [Client] Resolve #3967 2019-01-23 19:45:14 +09:00
b795379417 Clean up 2019-01-23 19:43:45 +09:00
aa9ba31675 Squash multiple space 2019-01-23 19:42:47 +09:00
ad66c8478a Refactoring 2019-01-23 19:33:29 +09:00
4ec64b4c57 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-23 19:25:52 +09:00
2f0b75a882 Refactoring 2019-01-23 19:25:36 +09:00
912ee60781 Update index.ts
refs: 67dacb7725
2019-01-23 16:53:07 +09:00
67dacb7725 Supress log when test 2019-01-23 14:19:03 +09:00
82f1fc6cda Fix test 2019-01-23 13:50:36 +09:00
4d24741d48 Fix test 2019-01-23 13:35:22 +09:00
931f17c589 Refactor: Separate some test files 2019-01-23 12:15:27 +09:00
ff898b4c20 Update tslint.json 2019-01-23 11:55:47 +09:00
7b507c8480 New translations ja-JP.yml (English) 2019-01-23 11:51:44 +09:00
bb688f78fc New translations ja-JP.yml (English) 2019-01-23 10:47:34 +09:00
a2a31236f6 10.78.5 2019-01-23 05:37:37 +09:00
0b191b4d0e Merge pull request #3959 from syuilo/l10n_develop
New Crowdin translations
2019-01-23 05:33:51 +09:00
2e97f29411 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-23 05:30:12 +09:00
eb1ad54427 Clean up 2019-01-23 05:30:02 +09:00
e4974392e5 🎨 2019-01-23 05:25:46 +09:00
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
78c185a05a [Client] Improve usability 2019-01-23 05:20:28 +09:00
fa124abbe2 Supports Twemoji / CustomEmoji in poll (#3960)
* Supports Twemoji / CustomEmoji in poll

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

* Update CODEOWNERS

* Update CODEOWNERS

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

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

* fix

* fix

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

* TODO

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

* expose Question

* Note refs Question

* rename

* wip

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

* voteの実装をservicesに移動

* 投票受信

* debug

* つくる

* Revert "つくる"

This reverts commit 0c9245886680b7d3b93a0278642f4cf6a43b5cb2.

* APIの実装はもどし

* Send Update

* AP type

* Recv Update

* Revert "Recv Update"

This reverts commit ffda39c0936d8e023f64603edabeb8e0eb9fc370.

* Revert "AP type"

This reverts commit 63d8bbe29dd6f326773214346350607cc4381996.

* Revert "Send Update"

This reverts commit 171b046de549f1478e928dee3177eeefab341fcf.

* リモートで投票を見る

* 投票はDM

* Provides choices as text for AP

* 絵文字

* fix error

* revert

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

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

This reverts commit 8b5d8af9b0cc4d4ad0cf21de59827ff21df99560.

* てぬき

* めんどい

* ちっ

* remove unused code
2019-01-21 13:27:19 +09:00
6bbccedb2d [Server] Fix #3528 2019-01-21 12:19:20 +09:00
fee629849e [Client] Fix bug
ドライブのファイルメニューからアバターやバナーに設定することができない問題を修正
2019-01-21 12:04:31 +09:00
e9ebc5151d [Server] Fix bug: リモートユーザーのアイコンが消えることがある問題を修正 2019-01-21 11:23:32 +09:00
8a5c8e8e2e Update CHANGELOG.md 2019-01-21 11:17:36 +09:00
4000da6be8 [Server] Fix bug 2019-01-21 11:15:36 +09:00
977a4373c5 [Server] Fix #2745 2019-01-21 00:32:54 +09:00
e559417cab ソーシャルタイムラインにフォロワー限定投稿が含まれていない問題を修正 2019-01-20 23:55:32 +09:00
f793478709 Update setup.en.md 2019-01-20 20:13:08 +09:00
15c9d15b8d Update setup.en.md 2019-01-20 20:11:44 +09:00
3c194142a8 [Server] Fix #3928 2019-01-20 19:22:13 +09:00
81dbf64eb7 Update reversi routing (#3937) 2019-01-20 19:10:19 +09:00
7e646f109c Create .node-version 2019-01-20 19:09:23 +09:00
d94c060998 Update CHANGELOG.md 2019-01-20 18:21:34 +09:00
3d29b052ea Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-20 18:20:46 +09:00
875d793512 常にメディアを閲覧注意として投稿するオプションが機能してなかった問題を修正 2019-01-20 18:20:25 +09:00
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
1df9c1005f [MFM] __ 構文はアルファベットのみに 2019-01-20 18:06:04 +09:00
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
8fcf75f77c Update CHANGELOG.md 2019-01-20 17:55:50 +09:00
b1385de758 Update mfm.ts 2019-01-20 17:53:08 +09:00
f8ba73bebf [MFM] Add <i> syntax 2019-01-20 17:52:11 +09:00
ff4cb3555b Remove unused import 2019-01-20 17:49:52 +09:00
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
11689e6d18 Better version format 2019-01-20 13:40:41 +09:00
6ea0028e0e Merge pull request #3924 from syuilo/l10n_develop
New Crowdin translations
2019-01-20 13:40:22 +09:00
b39d12f01a 関係のない返信がタイムラインに流れる問題を修正
Resolve #1910
2019-01-20 13:14:31 +09:00
f97c1276fe New translations ja-JP.yml (English) 2019-01-20 12:41:57 +09:00
73375a2f43 New translations ja-JP.yml (Norwegian) 2019-01-20 12:33:13 +09:00
b87a35b71c New translations ja-JP.yml (Dutch) 2019-01-20 12:33:07 +09:00
9db9067647 New translations ja-JP.yml (Japanese, Kansai) 2019-01-20 12:33:02 +09:00
7053c3125e New translations ja-JP.yml (Spanish) 2019-01-20 12:32:55 +09:00
e89a63e88c New translations ja-JP.yml (Russian) 2019-01-20 12:32:48 +09:00
1b13700ae2 New translations ja-JP.yml (Portuguese) 2019-01-20 12:32:44 +09:00
b7c2fa0c0c New translations ja-JP.yml (Polish) 2019-01-20 12:32:40 +09:00
df847ebd86 New translations ja-JP.yml (Korean) 2019-01-20 12:32:33 +09:00
fa72856272 New translations ja-JP.yml (Italian) 2019-01-20 12:32:29 +09:00
20921e91bf New translations ja-JP.yml (German) 2019-01-20 12:32:24 +09:00
f597e7c4ae New translations ja-JP.yml (French) 2019-01-20 12:32:20 +09:00
380651ba62 New translations ja-JP.yml (English) 2019-01-20 12:32:14 +09:00
45f852b832 New translations ja-JP.yml (Chinese Simplified) 2019-01-20 12:32:09 +09:00
80bf1d4b38 New translations ja-JP.yml (Catalan) 2019-01-20 12:32:03 +09:00
6909add1ec Drop stalk feature
Resolve #3935
Closes #2226
Closes #1946
2019-01-20 12:25:00 +09:00
d53d059480 Update CHANGELOG.md 2019-01-20 03:10:06 +09:00
22830965e3 AP Undo Like (#3933)
* AP Undo Like

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

* Update crypto_key.cc

* Update crypto_key.cc
2019-01-18 21:01:31 +09:00
5bd0695b0e Update README.md [AUTOGEN] (#3918) 2019-01-18 20:59:25 +09:00
831adfd22e Update CHANGELOG.md 2019-01-18 20:45:47 +09:00
9b5031dc4f Update README.md [AUTOGEN] (#3917) 2019-01-18 20:44:58 +09:00
150c1340a7 Update README.md [AUTOGEN] (#3915) 2019-01-18 20:34:58 +09:00
82190d18c8 Merge pull request #3846 from syuilo/l10n_develop
New Crowdin translations
2019-01-18 20:13:27 +09:00
0887580132 Improve readability 2019-01-18 19:48:16 +09:00
48f50bb811 New translations ja-JP.yml (French) 2019-01-18 18:12:26 +09:00
5d4c63edb3 New translations ja-JP.yml (Norwegian) 2019-01-18 16:54:26 +09:00
df6456c80a New translations ja-JP.yml (Dutch) 2019-01-18 16:54:21 +09:00
81d5e8c301 New translations ja-JP.yml (Japanese, Kansai) 2019-01-18 16:54:16 +09:00
c221bf585c New translations ja-JP.yml (Spanish) 2019-01-18 16:54:11 +09:00
cdac704836 New translations ja-JP.yml (Russian) 2019-01-18 16:54:06 +09:00
c0e0efa050 New translations ja-JP.yml (Portuguese) 2019-01-18 16:53:59 +09:00
2711f86a95 New translations ja-JP.yml (Polish) 2019-01-18 16:53:54 +09:00
c21119bb09 New translations ja-JP.yml (Korean) 2019-01-18 16:53:48 +09:00
7b172d0b33 New translations ja-JP.yml (Italian) 2019-01-18 16:53:42 +09:00
b102b1b0e8 New translations ja-JP.yml (German) 2019-01-18 16:53:36 +09:00
df4afb32e7 New translations ja-JP.yml (French) 2019-01-18 16:53:31 +09:00
ed21254497 New translations ja-JP.yml (English) 2019-01-18 16:53:26 +09:00
5505b2e7af New translations ja-JP.yml (Chinese Simplified) 2019-01-18 16:53:21 +09:00
5d93748ff5 New translations ja-JP.yml (Catalan) 2019-01-18 16:53:16 +09:00
abddea0443 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-18 16:47:03 +09:00
9fc1cc5255 [Client] Drop apiViaStream option
Resolve #3911
2019-01-18 16:46:56 +09:00
1aa274e10d Update .gitignore 2019-01-18 16:04:06 +09:00
deeb536613 Update CHANGELOG.md 2019-01-18 15:42:12 +09:00
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
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
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
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
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
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
e2cb34f109 New translations ja-JP.yml (Norwegian) 2019-01-18 13:23:12 +09:00
ed7b619634 New translations ja-JP.yml (Dutch) 2019-01-18 13:23:08 +09:00
d09050f13f New translations ja-JP.yml (Japanese, Kansai) 2019-01-18 13:23:02 +09:00
dcc76ab4f2 New translations ja-JP.yml (Spanish) 2019-01-18 13:22:57 +09:00
e035d942b3 New translations ja-JP.yml (Russian) 2019-01-18 13:22:51 +09:00
9eada028b8 New translations ja-JP.yml (Portuguese) 2019-01-18 13:22:46 +09:00
1cac95ce8a New translations ja-JP.yml (Polish) 2019-01-18 13:22:40 +09:00
b707a574d1 New translations ja-JP.yml (Korean) 2019-01-18 13:22:35 +09:00
df40121e4c New translations ja-JP.yml (Italian) 2019-01-18 13:22:31 +09:00
0f2c3dfd79 New translations ja-JP.yml (German) 2019-01-18 13:22:24 +09:00
2c187460a0 New translations ja-JP.yml (French) 2019-01-18 13:22:20 +09:00
a32a78b5ef New translations ja-JP.yml (English) 2019-01-18 13:22:15 +09:00
80d7c9bdef New translations ja-JP.yml (Chinese Simplified) 2019-01-18 13:22:11 +09:00
bc6439a339 New translations ja-JP.yml (Catalan) 2019-01-18 13:22:04 +09:00
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
4ba43b69b6 animejs 3.xに対応 2019-01-18 13:06:11 +09:00
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
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
a5a25813d8 New translations ja-JP.yml (English) 2019-01-18 08:02:20 +09:00
27ceae7406 Better configuration of CircleCI (#3908) 2019-01-17 21:15:37 +09:00
5d75746681 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-17 17:54:32 +09:00
51a6bc4fe1 [Client] Fix chart rendering 2019-01-17 17:54:25 +09:00
94f866b7c8 Update CHANGELOG.md 2019-01-17 17:42:38 +09:00
95be55135e New translations ja-JP.yml (Norwegian) 2019-01-17 17:24:42 +09:00
7c50d9f1e9 New translations ja-JP.yml (Dutch) 2019-01-17 17:24:36 +09:00
5d9bb44f1b New translations ja-JP.yml (Japanese, Kansai) 2019-01-17 17:24:30 +09:00
b832323508 New translations ja-JP.yml (Spanish) 2019-01-17 17:24:25 +09:00
48ce86d633 New translations ja-JP.yml (Russian) 2019-01-17 17:24:20 +09:00
b1e377dab0 New translations ja-JP.yml (Portuguese) 2019-01-17 17:24:14 +09:00
4c17d488d3 New translations ja-JP.yml (Polish) 2019-01-17 17:24:08 +09:00
73c585b9a2 New translations ja-JP.yml (Korean) 2019-01-17 17:24:03 +09:00
a3377ff0ba New translations ja-JP.yml (Italian) 2019-01-17 17:23:57 +09:00
0a17033551 New translations ja-JP.yml (German) 2019-01-17 17:23:52 +09:00
12c13660ca New translations ja-JP.yml (French) 2019-01-17 17:23:47 +09:00
3f1b85452b New translations ja-JP.yml (English) 2019-01-17 17:23:41 +09:00
5776c52205 New translations ja-JP.yml (Chinese Simplified) 2019-01-17 17:23:35 +09:00
e7a36d6176 New translations ja-JP.yml (Catalan) 2019-01-17 17:23:31 +09:00
8d42e94e57 Implement active users chart
Resolve #3904
2019-01-17 17:16:08 +09:00
20386acf4e New translations ja-JP.yml (Norwegian) 2019-01-17 09:56:43 +09:00
c92e25ce16 New translations ja-JP.yml (Dutch) 2019-01-17 09:56:36 +09:00
08599c887e New translations ja-JP.yml (Japanese, Kansai) 2019-01-17 09:56:30 +09:00
90ccbd3834 New translations ja-JP.yml (Spanish) 2019-01-17 09:56:24 +09:00
0931681e8f New translations ja-JP.yml (Russian) 2019-01-17 09:56:19 +09:00
0a0da355b9 New translations ja-JP.yml (Portuguese) 2019-01-17 09:56:14 +09:00
b2ec82fba5 New translations ja-JP.yml (Polish) 2019-01-17 09:56:08 +09:00
d62597c265 New translations ja-JP.yml (Korean) 2019-01-17 09:56:03 +09:00
23d311b6ef New translations ja-JP.yml (Italian) 2019-01-17 09:55:57 +09:00
7efdee9145 New translations ja-JP.yml (German) 2019-01-17 09:55:52 +09:00
45429c9d6b New translations ja-JP.yml (French) 2019-01-17 09:55:47 +09:00
45adea23b4 New translations ja-JP.yml (English) 2019-01-17 09:55:41 +09:00
aaa8331733 New translations ja-JP.yml (Chinese Simplified) 2019-01-17 09:55:32 +09:00
501922ed9c New translations ja-JP.yml (Catalan) 2019-01-17 09:55:23 +09:00
652bb03087 [Client] Add information 2019-01-17 09:46:40 +09:00
f1e769e74d Add footer 2019-01-17 09:42:21 +09:00
b2e4957bb8 Update CHANGELOG.md 2019-01-17 09:35:22 +09:00
cb6a4037f2 [MFM] Better hashtag parsing: Ignore single quotation 2019-01-17 09:33:08 +09:00
9740db8685 [MFM] Better hashtag parsing: Ignore double quotation
Resolve #3886
2019-01-17 09:24:20 +09:00
41784de9be 🎨 2019-01-17 09:19:47 +09:00
208493ba13 Fix: time tooltip overlaps with others (#3901) 2019-01-17 06:40:11 +09:00
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
1df8487d20 Update README.md [AUTOGEN] (#3900) 2019-01-17 00:25:49 +09:00
dbfbdfa3f3 Update README.md [AUTOGEN] (#3898) 2019-01-17 00:24:44 +09:00
27853e9d51 New translations ja-JP.yml (Korean) 2019-01-17 00:17:40 +09:00
03b4fe18f3 New translations ja-JP.yml (Korean) 2019-01-17 00:04:25 +09:00
1f32531e07 New translations ja-JP.yml (Chinese Simplified) 2019-01-16 23:33:47 +09:00
a1397bfdbc New translations ja-JP.yml (Chinese Simplified) 2019-01-16 23:23:27 +09:00
bcdb70f407 New translations ja-JP.yml (Japanese, Kansai) 2019-01-16 15:03:53 +09:00
ef81a66cf0 New translations ja-JP.yml (Spanish) 2019-01-16 15:03:48 +09:00
186b0ea560 New translations ja-JP.yml (Russian) 2019-01-16 15:03:42 +09:00
ff53b04f4c New translations ja-JP.yml (Portuguese) 2019-01-16 15:03:37 +09:00
1ac9730c7d New translations ja-JP.yml (Norwegian) 2019-01-16 15:03:31 +09:00
d66e2947de New translations ja-JP.yml (Dutch) 2019-01-16 15:03:25 +09:00
92ca9b1444 New translations ja-JP.yml (Polish) 2019-01-16 15:03:19 +09:00
f34ae64ff5 New translations ja-JP.yml (Korean) 2019-01-16 15:03:13 +09:00
9ca8383f39 New translations ja-JP.yml (Italian) 2019-01-16 15:03:08 +09:00
9fdc884e51 New translations ja-JP.yml (German) 2019-01-16 15:03:02 +09:00
eeb4772a3c New translations ja-JP.yml (French) 2019-01-16 15:02:56 +09:00
769e1ed45b New translations ja-JP.yml (English) 2019-01-16 15:02:50 +09:00
78207c8a4d New translations ja-JP.yml (Chinese Simplified) 2019-01-16 15:02:45 +09:00
7837949b1a New translations ja-JP.yml (Catalan) 2019-01-16 15:02:38 +09:00
14b16b4733 10.77.0 2019-01-16 14:58:05 +09:00
256c216dfb インスタンス情報ページに各種タイムラインの有効/無効を表示 2019-01-16 14:57:01 +09:00
13cee2b4f5 Resolve #3896 2019-01-16 14:54:14 +09:00
eb45eeb1ae [Client] Resolve #3895 2019-01-16 14:46:54 +09:00
3154350b64 10.76.0 2019-01-16 11:41:40 +09:00
519c9c4499 インスタンス情報ページにユーザー数と投稿数を追加 2019-01-16 03:36:25 +09:00
c2f6b09969 disableLocalTimeline機能を強化
* ストリームだけではなくAPIも無効に
* モデレーターは無効の場合でも見れるように
* グローバルタイムラインも無効に(連合数が少ないインスタンスではグローバルタイムラインは実質的にローカルタイムラインと同一なので)
2019-01-16 02:30:55 +09:00
c8e2b22942 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-15 18:28:31 +09:00
f433182c4c Revert "Resolve #3813 (#3814)"
This reverts commit 96515c4544.
2019-01-15 18:28:11 +09:00
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
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
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
ef37e20555 New translations ja-JP.yml (French) 2019-01-15 04:20:36 +09:00
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
fe6243b7a0 New translations ja-JP.yml (English) 2019-01-13 23:48:29 +09:00
f5e31de81d New translations ja-JP.yml (Polish) 2019-01-13 22:31:44 +09:00
5c495ebf7c New translations ja-JP.yml (Polish) 2019-01-13 22:21:44 +09:00
9dd64c67a3 New translations ja-JP.yml (French) 2019-01-13 20:02:06 +09:00
018837db0b Support SVG (#3883)
* Update add-file.ts

* Update package.json

* Revert "Update add-file.ts"

This reverts commit ba0fe83b54a44493447208dfb3cc304a60df6fdd.

* 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
00d5fdfc13 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-12 19:31:03 +09:00
2debb0c2ca Provide instance description in info page 2019-01-12 19:30:56 +09:00
148d6737cc Grammatical Fixes (#3844)
Updated the README to read more naturally for English speakers.
2019-01-12 14:34:00 +09:00
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
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
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
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
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
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
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
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
cd628eaf54 [MFM] Better hashtag parsing: Ignore trailing colon 2019-01-12 14:10:16 +09:00
3d62bd8007 10.75.0 2019-01-12 13:27:14 +09:00
7ad9560f53 Implement instance info page 2019-01-12 11:27:23 +09:00
c135d02895 Update CHANGELOG.md 2019-01-12 09:42:49 +09:00
0757f67bde [Client] specifiedのアイコンを戻した 2019-01-12 09:40:53 +09:00
c5dc25cb9e Revert "[Client] Renote数の表示を廃止"
This reverts commit d7af18efbd.
2019-01-12 09:38:44 +09:00
0fcf422dec [Client] Improve UI 2019-01-12 09:34:02 +09:00
21e801a325 🎨 2019-01-12 09:17:23 +09:00
183faf3b2a [Client] Resolve #3881 2019-01-12 09:13:35 +09:00
9fc66a2d1e Update terser-webpack-plugin requirement from 1.1.0 to 1.2.1 (#3867)
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.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-11 19:58:16 +09:00
12cf598e6b Fix bug (for return) (#3878) 2019-01-11 17:53:53 +09:00
dd6cd6332c Update CHANGELOG.md 2019-01-11 16:00:09 +09:00
5b9918538a New translations ja-JP.yml (Norwegian) 2019-01-11 08:13:12 +09:00
b05ba5bd68 New translations ja-JP.yml (Dutch) 2019-01-11 08:13:06 +09:00
0afc7483f6 New translations ja-JP.yml (Japanese, Kansai) 2019-01-11 08:13:01 +09:00
c069d01e4b New translations ja-JP.yml (Spanish) 2019-01-11 08:12:54 +09:00
070e5a3314 New translations ja-JP.yml (Russian) 2019-01-11 08:12:49 +09:00
43b5a1e469 New translations ja-JP.yml (Portuguese) 2019-01-11 08:12:42 +09:00
81bbf887e4 New translations ja-JP.yml (Polish) 2019-01-11 08:12:38 +09:00
e0aa2ab2b6 New translations ja-JP.yml (Korean) 2019-01-11 08:12:34 +09:00
f5000a0364 New translations ja-JP.yml (Italian) 2019-01-11 08:12:29 +09:00
694ea9b5a0 New translations ja-JP.yml (German) 2019-01-11 08:12:23 +09:00
d70bd44db7 New translations ja-JP.yml (French) 2019-01-11 08:12:18 +09:00
c3cd499e8e New translations ja-JP.yml (English) 2019-01-11 08:12:14 +09:00
20ee2118ee モデレーターを凍結できないようにする (#3877) 2019-01-11 08:12:10 +09:00
64c89a6d52 New translations ja-JP.yml (Chinese Simplified) 2019-01-11 08:12:09 +09:00
0a4a7bf64c New translations ja-JP.yml (Catalan) 2019-01-11 08:12:04 +09:00
1546160f6a モデレーター登録を解除できるように (#3876) 2019-01-11 08:11:24 +09:00
dd77a6194e Hide NSFW in Photos (#3875) 2019-01-11 08:10:39 +09:00
203fba0216 管理画面でユーザーを状態でフィルタできるように (#3873) 2019-01-11 08:09:44 +09:00
826a2466b7 管理者がサインイン履歴を参照できるツール (#3870)
* 管理者がサインイン履歴を参照できるツール

* remove debug code
2019-01-11 08:07:09 +09:00
273bc6507a ダイレクトを非公開のように使えるようにする (#3869) 2019-01-11 08:06:05 +09:00
2b13969b26 Supports toggle password in SMTP settings (#3868) 2019-01-11 08:05:36 +09:00
f879ea760a New translations ja-JP.yml (Polish) 2019-01-11 06:02:30 +09:00
08d6269f90 New translations ja-JP.yml (Polish) 2019-01-11 05:52:30 +09:00
f454473d6c New translations ja-JP.yml (Polish) 2019-01-11 05:41:55 +09:00
2c347d7213 New translations ja-JP.yml (Polish) 2019-01-11 05:37:23 +09:00
e6158838e0 New translations ja-JP.yml (Polish) 2019-01-11 05:27:59 +09:00
974fe80245 New translations ja-JP.yml (English) 2019-01-10 21:33:31 +09:00
2f10ff1a2e Fix style 2019-01-10 19:23:22 +09:00
1f52aea193 Update CHANGELOG.md 2019-01-10 17:53:56 +09:00
9676723c85 New translations ja-JP.yml (Norwegian) 2019-01-10 10:33:12 +09:00
9115629424 New translations ja-JP.yml (Dutch) 2019-01-10 10:33:06 +09:00
8f02716774 New translations ja-JP.yml (Japanese, Kansai) 2019-01-10 10:33:01 +09:00
8feb5bd9a4 New translations ja-JP.yml (Spanish) 2019-01-10 10:32:56 +09:00
826542201e New translations ja-JP.yml (Russian) 2019-01-10 10:32:51 +09:00
7ab1315008 New translations ja-JP.yml (Portuguese) 2019-01-10 10:32:46 +09:00
662407f1ba New translations ja-JP.yml (Polish) 2019-01-10 10:32:41 +09:00
679de41d8d New translations ja-JP.yml (Korean) 2019-01-10 10:32:34 +09:00
89a97142c2 New translations ja-JP.yml (Italian) 2019-01-10 10:32:30 +09:00
0a175fddba New translations ja-JP.yml (German) 2019-01-10 10:32:26 +09:00
64d40b7e49 New translations ja-JP.yml (French) 2019-01-10 10:32:21 +09:00
ac7e0d5973 New translations ja-JP.yml (English) 2019-01-10 10:32:15 +09:00
f095951193 New translations ja-JP.yml (Chinese Simplified) 2019-01-10 10:32:10 +09:00
b93eab9cf7 New translations ja-JP.yml (Catalan) 2019-01-10 10:32:05 +09:00
0a0e76679e Add manage and docker docs in french and correct mistake in english (#3863) 2019-01-10 10:24:04 +09:00
845f3436cc Change SMTP password field to have password type (#3861) 2019-01-10 10:23:13 +09:00
f6a8c8cf76 Toggle show/hide password (#3865)
* Toggle show/hide password

* hoverでアンダーラインが中途半端に出てダサいので出さないように

* Update signin.vue
2019-01-10 10:22:45 +09:00
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
af61a7a17f 10.74.0 2019-01-09 15:32:36 +09:00
667ad8fe96 Update CHANGELOG.md 2019-01-09 15:19:00 +09:00
e1cc2394fa Use cached and asynchronous DNS resolver for AP delivery (#3859) 2019-01-09 15:17:54 +09:00
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
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
04e1e48f17 Hide invisible notes from timeline (#3852) 2019-01-08 21:02:00 +09:00
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
c417e2f4a1 🎨 2019-01-08 18:00:05 +09:00
02a27a8b12 ドライブの管理画面でファイルのオリジナルURLを表示するように 2019-01-08 17:45:16 +09:00
bd8897bcc8 New translations ja-JP.yml (Polish) 2019-01-08 15:41:38 +09:00
d775e19059 Update CHANGELOG.md 2019-01-08 13:33:50 +09:00
35e7dca2bb Resolve #3847 (#3849)
* Update notifications.ts

* Update notifications.ts

* Update notifications.ts

* Update notifications.ts

* Add missing semicolon

* Improve readability

* Fix typo
2019-01-08 13:32:28 +09:00
e3896122df New translations ja-JP.yml (English) 2019-01-07 21:13:22 +09:00
6c4ea5e087 Merge pull request #3842 from syuilo/l10n_develop
New Crowdin translations
2019-01-07 18:23:24 +09:00
54a1e500e2 New translations ja-JP.yml (French) 2019-01-07 14:12:02 +09:00
450ed2c471 New translations ja-JP.yml (English) 2019-01-07 07:02:09 +09:00
bf97fcb2fd Update README.md [AUTOGEN] (#3845) 2019-01-07 06:53:25 +09:00
4edeae07a0 Update README.md [AUTOGEN] (#3843) 2019-01-07 06:52:56 +09:00
8e19e4d33b New translations ja-JP.yml (Korean) 2019-01-06 22:22:34 +09:00
2a774c9414 Update update_readme_patreon.sh
Patreon API updates
2019-01-06 18:20:47 +09:00
6f50ed327d New translations ja-JP.yml (Norwegian) 2019-01-06 17:52:52 +09:00
a51d384f19 New translations ja-JP.yml (Dutch) 2019-01-06 17:52:48 +09:00
e2b2e4633a New translations ja-JP.yml (Japanese, Kansai) 2019-01-06 17:52:43 +09:00
46ec773128 New translations ja-JP.yml (Spanish) 2019-01-06 17:52:37 +09:00
1827a65874 New translations ja-JP.yml (Russian) 2019-01-06 17:52:32 +09:00
1b4dd64cbe New translations ja-JP.yml (Portuguese) 2019-01-06 17:52:28 +09:00
95b7d84025 New translations ja-JP.yml (Polish) 2019-01-06 17:52:22 +09:00
137b081b8a New translations ja-JP.yml (Korean) 2019-01-06 17:52:18 +09:00
76af9bbda7 New translations ja-JP.yml (Italian) 2019-01-06 17:52:14 +09:00
17ab07ae9c New translations ja-JP.yml (German) 2019-01-06 17:52:09 +09:00
4c4d06e49b New translations ja-JP.yml (French) 2019-01-06 17:52:05 +09:00
5d9ef68f14 New translations ja-JP.yml (English) 2019-01-06 17:51:59 +09:00
4689cf5591 New translations ja-JP.yml (Chinese Simplified) 2019-01-06 17:51:54 +09:00
58e7edf08a New translations ja-JP.yml (Catalan) 2019-01-06 17:51:50 +09:00
9c6c281ac3 Update CHANGELOG.md 2019-01-06 17:47:05 +09:00
2326d6208b Merge pull request #3811 from syuilo/l10n_develop
New Crowdin translations
2019-01-06 17:46:09 +09:00
cd4be4116b Fix sharedInbox recovery code (#3840) 2019-01-06 17:45:53 +09:00
6697ca243c Update README.md [AUTOGEN] (#3841) 2019-01-06 17:45:34 +09:00
15ce89a88d Resolve #3078 (#3838) 2019-01-06 17:45:14 +09:00
4b13278a41 Update README.md [AUTOGEN] (#3834) 2019-01-06 17:44:36 +09:00
e01167fcab Merge pull request #3816 from syuilo/dependabot/npm_and_yarn/nodemailer-5.0.0
Update nodemailer requirement from 4.7.0 to 5.0.0
2019-01-06 13:29:05 +09:00
719ff26e79 Merge pull request #3830 from syuilo/dependabot/npm_and_yarn/moment-2.23.0
Update moment requirement from 2.22.2 to 2.23.0
2019-01-06 13:28:57 +09:00
2657328ac1 Merge pull request #3831 from syuilo/dependabot/npm_and_yarn/vue-marquee-text-component-1.1.1
Update vue-marquee-text-component requirement from 1.1.0 to 1.1.1
2019-01-06 13:28:49 +09:00
4b7cef239e Merge pull request #3817 from syuilo/dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.12
Update @fortawesome/fontawesome-svg-core requirement from 1.2.8 to 1.2.12
2019-01-06 13:28:39 +09:00
49d9e51f72 Merge branch 'develop' into dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.12 2019-01-06 13:28:33 +09:00
40a5f79d76 Merge pull request #3819 from syuilo/dependabot/npm_and_yarn/@fortawesome/free-brands-svg-icons-5.6.3
Update @fortawesome/free-brands-svg-icons requirement from 5.6.0 to 5.6.3
2019-01-06 13:27:56 +09:00
9cfd0b7351 Merge pull request #3818 from syuilo/dependabot/npm_and_yarn/@types/elasticsearch-5.0.30
Update @types/elasticsearch requirement from 5.0.29 to 5.0.30
2019-01-06 13:27:44 +09:00
2223ecf890 Merge pull request #3832 from syuilo/dependabot/npm_and_yarn/@types/koa-2.0.48
Update @types/koa requirement from 2.0.47 to 2.0.48
2019-01-06 13:27:36 +09:00
06bad9c501 Merge pull request #3833 from syuilo/dependabot/npm_and_yarn/@types/redis-2.8.10
Update @types/redis requirement from 2.8.8 to 2.8.10
2019-01-06 13:27:25 +09:00
a479e65f3e Compact URL preview (#3835)
* Compact url-preview

* fix header

* increase limit

* better limit

* Revert "better limit"

This reverts commit ef396f773394068b0b7e37fccff31c70661b3978.

ハードリミットかけるならサーバー上でかけたほうが良さそう

* Revert "increase limit"

This reverts commit 72c10a456ba37151a4d88d11544b0ff9daabd284.
2019-01-06 12:56:13 +09:00
a2e99e46b9 New translations ja-JP.yml (Polish) 2019-01-06 08:22:03 +09:00
07a27cfb9a New translations ja-JP.yml (Polish) 2019-01-06 08:11:40 +09:00
77f3a0d3a9 New translations ja-JP.yml (Polish) 2019-01-06 08:01:48 +09:00
f9065943c5 Fix #3827 (#3837) 2019-01-06 04:00:30 +09:00
d0aff4409d Locked mark (#3836) 2019-01-05 19:59:10 +09:00
84ea1fbd4d Fix typo: not -> note
1344ffa67d (commitcomment-31817792)
2019-01-05 10:29:46 +09:00
d1d92be09a New translations ja-JP.yml (English) 2019-01-05 02:11:58 +09:00
52b23af97e Update @types/redis requirement from 2.8.8 to 2.8.10
Updates the requirements on [@types/redis](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-03 20:22:40 +00:00
b76cd18dea Update @types/koa requirement from 2.0.47 to 2.0.48
Updates the requirements on [@types/koa](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-03 20:20:43 +00:00
cd3b30bf5c Update vue-marquee-text-component requirement from 1.1.0 to 1.1.1
Updates the requirements on [vue-marquee-text-component](https://github.com/EvodiaAut/vue-marquee-text-component) to permit the latest version.
- [Release notes](https://github.com/EvodiaAut/vue-marquee-text-component/releases)
- [Commits](https://github.com/EvodiaAut/vue-marquee-text-component/commits/v1.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-03 20:18:49 +00:00
b87ebc6f9d Update moment requirement from 2.22.2 to 2.23.0
Updates the requirements on [moment](https://github.com/moment/moment) to permit the latest version.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/commits/2.23.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-03 20:17:22 +00:00
4d7d119524 Update CHANGELOG.md 2019-01-04 04:54:28 +09:00
b4b6e9548d Rename 2019-01-04 03:52:50 +09:00
ebf9cd18c8 Make instance logo customisable (#3829) 2019-01-04 03:02:40 +09:00
b1ccbb2deb New translations ja-JP.yml (English) 2019-01-04 00:43:55 +09:00
562cd6ad0b Improve readability 2019-01-03 12:34:08 +09:00
a832672b59 Update file-type requirement from 10.6.0 to 10.7.0 (#3815)
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/commits/v10.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-03 11:47:32 +09:00
309058f209 Update webpack requirement from 4.26.1 to 4.28.3 (#3822)
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.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-03 08:39:17 +09:00
2a344dfbd8 adds ko-KR な to にゃ (#3820)
* adds ko-KR な to にゃ
- this only take considers pre-composed "Hangul Syllables",
not composable area "Hangul Jamo" which are not used commonly
- 56 is '냐' - '나'

* replace magic number as suggested
2019-01-03 08:38:26 +09:00
866d4cd59a Update vue-i18n requirement from 8.3.2 to 8.6.0 (#3821)
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.6.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-03 08:37:44 +09:00
165350cca6 Update apexcharts requirement from 2.4.2 to 2.5.1 (#3826)
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/v2.5.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-03 08:36:00 +09:00
8c21b8a9a6 Update CHANGELOG.md 2019-01-02 18:10:23 +09:00
41e3a9a004 Tune AP URL negotiating with Accept (#3824) 2019-01-02 18:07:32 +09:00
4dc6ec5387 New translations ja-JP.yml (French) 2019-01-02 14:41:41 +09:00
96515c4544 Resolve #3813 (#3814) 2019-01-02 03:35:42 +09:00
b3637b5e8a New translations ja-JP.yml (Korean) 2019-01-02 00:22:17 +09:00
43bcdf397e 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.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-31 20:27:42 +00:00
22c5db7121 Update @types/elasticsearch requirement from 5.0.29 to 5.0.30
Updates the requirements on [@types/elasticsearch](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>
2018-12-31 20:25:44 +00:00
1c6a8f8691 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>
2018-12-31 20:21:31 +00:00
31b5175bb0 Update nodemailer requirement from 4.7.0 to 5.0.0
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.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-31 20:17:17 +00:00
9add59aca9 2019 🎉 2019-01-01 00:11:07 +09:00
16c65173c1 New translations ja-JP.yml (French) 2018-12-31 06:12:15 +09:00
4f6ae4633f New translations ja-JP.yml (French) 2018-12-31 06:01:44 +09:00
8aa1577713 New translations ja-JP.yml (French) 2018-12-31 05:52:42 +09:00
5bd41704ae 10.73.0 2018-12-31 02:38:13 +09:00
4d0b335748 [Client] Improve theme 🎨 2018-12-31 02:33:03 +09:00
5692ae59a1 [Client] Improve theming 🎨 2018-12-31 01:15:32 +09:00
84f1ce866b [Client] line thiknessの設定はデバイスに保存するように 2018-12-31 00:59:13 +09:00
e68c6175ce Fix bug 2018-12-31 00:50:56 +09:00
0de11c3636 🎨 2018-12-31 00:50:14 +09:00
1f70657d4a Merge pull request #3798 from syuilo/l10n_develop
New Crowdin translations
2018-12-31 00:45:51 +09:00
73646aac9b New translations ja-JP.yml (English) 2018-12-30 19:11:39 +09:00
e72c590c6b 10.72.0 2018-12-30 14:52:41 +09:00
06e026b346 New translations ja-JP.yml (English) 2018-12-30 14:51:40 +09:00
5621d5725c [Client] Fix bug 2018-12-30 14:43:03 +09:00
14d0a07b29 New translations ja-JP.yml (English) 2018-12-30 14:21:40 +09:00
105fefd114 Clean up 2018-12-30 14:19:22 +09:00
f81c10fe62 New translations ja-JP.yml (Norwegian) 2018-12-30 14:13:06 +09:00
86a2aa42a4 New translations ja-JP.yml (Dutch) 2018-12-30 14:13:00 +09:00
42f5c3fe22 New translations ja-JP.yml (Japanese, Kansai) 2018-12-30 14:12:54 +09:00
975740464c New translations ja-JP.yml (Spanish) 2018-12-30 14:12:49 +09:00
c57bffb142 モバイル版にも設定を追加 2018-12-30 14:12:46 +09:00
d92a2cdb55 New translations ja-JP.yml (Russian) 2018-12-30 14:12:43 +09:00
5b91463233 New translations ja-JP.yml (Portuguese) 2018-12-30 14:12:38 +09:00
39eed3378f New translations ja-JP.yml (Polish) 2018-12-30 14:12:33 +09:00
cf98d40a44 New translations ja-JP.yml (Korean) 2018-12-30 14:12:28 +09:00
7d6436c90e New translations ja-JP.yml (Italian) 2018-12-30 14:12:24 +09:00
0acf3a8f6d New translations ja-JP.yml (German) 2018-12-30 14:12:19 +09:00
8b7324c8d3 New translations ja-JP.yml (French) 2018-12-30 14:12:13 +09:00
a0b0d5dff7 New translations ja-JP.yml (English) 2018-12-30 14:12:07 +09:00
bef0e36665 New translations ja-JP.yml (Chinese Simplified) 2018-12-30 14:12:02 +09:00
766e721ff3 New translations ja-JP.yml (Catalan) 2018-12-30 14:11:57 +09:00
93ad4b359e 🎨 2018-12-30 14:08:40 +09:00
b3032ad84d Better setting 2018-12-30 14:05:13 +09:00
4f76acd249 🎨 2018-12-30 14:00:57 +09:00
fcc4b2c704 New translations ja-JP.yml (English) 2018-12-30 13:21:45 +09:00
12286f4915 🎨 2018-12-30 13:19:06 +09:00
193abfdbac New translations ja-JP.yml (Norwegian) 2018-12-30 13:13:01 +09:00
0e13481eb4 New translations ja-JP.yml (Dutch) 2018-12-30 13:12:56 +09:00
b713cac4f1 New translations ja-JP.yml (Japanese, Kansai) 2018-12-30 13:12:51 +09:00
2137c894ef New translations ja-JP.yml (Spanish) 2018-12-30 13:12:47 +09:00
f0d2ce4f19 New translations ja-JP.yml (Russian) 2018-12-30 13:12:42 +09:00
e3a89d302f New translations ja-JP.yml (Portuguese) 2018-12-30 13:12:38 +09:00
d01d2ef65e New translations ja-JP.yml (Polish) 2018-12-30 13:12:32 +09:00
23c550acba New translations ja-JP.yml (Korean) 2018-12-30 13:12:26 +09:00
b9db88f616 New translations ja-JP.yml (Italian) 2018-12-30 13:12:21 +09:00
dee4a18d48 New translations ja-JP.yml (German) 2018-12-30 13:12:16 +09:00
fa5073b042 New translations ja-JP.yml (French) 2018-12-30 13:12:11 +09:00
9dda698dc8 New translations ja-JP.yml (English) 2018-12-30 13:12:06 +09:00
99d0930fba New translations ja-JP.yml (Chinese Simplified) 2018-12-30 13:12:01 +09:00
a599524b5f New translations ja-JP.yml (Catalan) 2018-12-30 13:11:57 +09:00
5f34758e87 [Client] Fix i18n 2018-12-30 13:02:17 +09:00
cdb8e41176 [Client] Update theme setting 2018-12-30 13:02:06 +09:00
d8f3e9d4a3 🎨 2018-12-30 12:45:31 +09:00
da900439a3 Update gruvbox-dark.json5 2018-12-30 11:58:26 +09:00
ad0273ab99 10.71.0 2018-12-30 09:24:03 +09:00
8bbff90aca [Client] Add Monokai theme 🎨 2018-12-30 09:21:23 +09:00
fcb3ba9947 [Client] Separate theme property 2018-12-30 09:21:07 +09:00
23b3e33df6 [Client] Fix bug 2018-12-30 09:15:56 +09:00
9edac2cd74 oops 2018-12-30 09:04:19 +09:00
fbe0d70661 New translations ja-JP.yml (English) 2018-12-30 08:41:38 +09:00
8782a64b18 [Client] Add some themes 🎨 2018-12-30 06:40:48 +09:00
d3b81c3e00 10.70.1 2018-12-30 01:52:28 +09:00
fd816afcd0 Add id to return of users/relation (#3795) 2018-12-30 01:44:26 +09:00
ac423f1ef4 [API] notes/mentions にミュートを適用するように 2018-12-30 01:40:24 +09:00
f11ebafe47 🎨 2018-12-30 01:32:58 +09:00
7947036af9 Make one import per line 2018-12-29 22:26:15 +09:00
b722431720 New translations ja-JP.yml (Norwegian) 2018-12-29 22:13:17 +09:00
295563caad New translations ja-JP.yml (Dutch) 2018-12-29 22:13:13 +09:00
26735815f1 New translations ja-JP.yml (Japanese, Kansai) 2018-12-29 22:13:08 +09:00
c06a52c237 New translations ja-JP.yml (Spanish) 2018-12-29 22:13:04 +09:00
5678adf3b5 New translations ja-JP.yml (Russian) 2018-12-29 22:12:58 +09:00
ac772dd389 New translations ja-JP.yml (Portuguese) 2018-12-29 22:12:53 +09:00
2c4de8475f New translations ja-JP.yml (Polish) 2018-12-29 22:12:49 +09:00
46facaf176 New translations ja-JP.yml (Korean) 2018-12-29 22:12:45 +09:00
eea1b7fc63 New translations ja-JP.yml (Italian) 2018-12-29 22:12:39 +09:00
f0e9386cd0 New translations ja-JP.yml (German) 2018-12-29 22:12:34 +09:00
e4a4238b57 New translations ja-JP.yml (French) 2018-12-29 22:12:28 +09:00
55e126998a New translations ja-JP.yml (English) 2018-12-29 22:12:24 +09:00
608a30d37b New translations ja-JP.yml (Chinese Simplified) 2018-12-29 22:12:19 +09:00
7d22d6255d New translations ja-JP.yml (Catalan) 2018-12-29 22:12:14 +09:00
4e55436339 [Client] Improve 2fa settings 2018-12-29 22:10:54 +09:00
3adadc8a52 Merge pull request #3776 from syuilo/dependabot/npm_and_yarn/@koa/cors-2.2.3
Update @koa/cors requirement from 2.2.2 to 2.2.3
2018-12-29 19:11:09 +09:00
b525af822c Merge pull request #3777 from syuilo/dependabot/npm_and_yarn/@types/dateformat-3.0.0
Update @types/dateformat requirement from 1.0.1 to 3.0.0
2018-12-29 19:11:01 +09:00
bee8a5b065 Merge pull request #3775 from syuilo/dependabot/npm_and_yarn/@types/showdown-1.9.0
Update @types/showdown requirement from 1.7.5 to 1.9.0
2018-12-29 19:10:53 +09:00
f4d80122b3 Merge pull request #3794 from syuilo/dependabot/npm_and_yarn/eslint-5.11.1
Update eslint requirement from 5.8.0 to 5.11.1
2018-12-29 19:09:52 +09:00
2e8ea34413 Merge branch 'develop' into dependabot/npm_and_yarn/eslint-5.11.1 2018-12-29 19:09:42 +09:00
7341d97a00 Update loader-utils requirement from 1.1.0 to 1.2.3 (#3793)
Updates the requirements on [loader-utils](https://github.com/webpack/loader-utils) to permit the latest version.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/commits/v1.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-29 19:07:25 +09:00
964b34bd3b Update eslint-plugin-vue requirement from 4.7.1 to 5.0.0 (#3792)
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.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-29 19:07:20 +09:00
38e8d4bbea 10.70.0 2018-12-29 06:03:21 +09:00
cb106e6fe4 🎨 2018-12-29 05:55:09 +09:00
61411605b8 Merge pull request #3750 from syuilo/l10n_develop
New Crowdin translations
2018-12-29 05:52:34 +09:00
0ac7682188 Better note filtering 2018-12-29 05:51:17 +09:00
d7af18efbd [Client] Renote数の表示を廃止 2018-12-29 05:43:31 +09:00
64bb6daa43 Update eslint requirement from 5.8.0 to 5.11.1
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.11.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-28 20:24:50 +00:00
0a1951f24c Update loader-utils requirement from 1.1.0 to 1.2.3
Updates the requirements on [loader-utils](https://github.com/webpack/loader-utils) to permit the latest version.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/commits/v1.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-28 20:21:50 +00:00
8bb388f62a New translations ja-JP.yml (English) 2018-12-29 04:52:33 +09:00
ee36956451 New translations ja-JP.yml (English) 2018-12-29 04:21:50 +09:00
f1a0e95489 Improve usability 2018-12-29 03:12:22 +09:00
de5d9470af New translations ja-JP.yml (Norwegian) 2018-12-29 03:02:56 +09:00
a9838495ce New translations ja-JP.yml (Dutch) 2018-12-29 03:02:51 +09:00
d34c080822 New translations ja-JP.yml (Japanese, Kansai) 2018-12-29 03:02:46 +09:00
59f55a8291 New translations ja-JP.yml (Spanish) 2018-12-29 03:02:42 +09:00
79ace6238a New translations ja-JP.yml (Russian) 2018-12-29 03:02:35 +09:00
89e88802b9 New translations ja-JP.yml (Portuguese) 2018-12-29 03:02:31 +09:00
c7f969a002 New translations ja-JP.yml (Polish) 2018-12-29 03:02:26 +09:00
18b186068d New translations ja-JP.yml (Korean) 2018-12-29 03:02:22 +09:00
037c67cbfb New translations ja-JP.yml (Italian) 2018-12-29 03:02:17 +09:00
c3ccee9097 New translations ja-JP.yml (German) 2018-12-29 03:02:13 +09:00
2449183f44 New translations ja-JP.yml (French) 2018-12-29 03:02:09 +09:00
1c98226621 New translations ja-JP.yml (English) 2018-12-29 03:02:03 +09:00
b405669672 New translations ja-JP.yml (Chinese Simplified) 2018-12-29 03:01:58 +09:00
53fbe675a7 New translations ja-JP.yml (Catalan) 2018-12-29 03:01:53 +09:00
6bcc174456 Clean up 2018-12-29 02:58:04 +09:00
a3493c4f07 Privateの公開範囲を廃止 2018-12-29 02:55:46 +09:00
545ced7826 Make autoAcceptFollowed default 2018-12-29 02:46:57 +09:00
a9a476a0d5 Resolve #3786 (#3788) 2018-12-29 02:04:29 +09:00
8dfd35303c New translations ja-JP.yml (Norwegian) 2018-12-28 21:43:24 +09:00
498ca306e4 New translations ja-JP.yml (Dutch) 2018-12-28 21:43:18 +09:00
5a46e08165 New translations ja-JP.yml (Japanese, Kansai) 2018-12-28 21:43:14 +09:00
c0c57044cc New translations ja-JP.yml (Spanish) 2018-12-28 21:43:09 +09:00
42d00b96c6 New translations ja-JP.yml (Russian) 2018-12-28 21:43:04 +09:00
072360947b New translations ja-JP.yml (Portuguese) 2018-12-28 21:43:00 +09:00
d60ba8e37d New translations ja-JP.yml (Polish) 2018-12-28 21:42:53 +09:00
c10cf60059 New translations ja-JP.yml (Korean) 2018-12-28 21:42:47 +09:00
880689e28a New translations ja-JP.yml (Italian) 2018-12-28 21:42:42 +09:00
ade7050996 New translations ja-JP.yml (German) 2018-12-28 21:42:35 +09:00
71b5fae4d9 New translations ja-JP.yml (French) 2018-12-28 21:42:30 +09:00
d398e87ea1 New translations ja-JP.yml (English) 2018-12-28 21:42:25 +09:00
6256d021e6 New translations ja-JP.yml (Chinese Simplified) 2018-12-28 21:42:20 +09:00
405f242ff9 New translations ja-JP.yml (Catalan) 2018-12-28 21:42:15 +09:00
8823a6c1a1 フォローしているユーザーからのフォローを自動承認するオプション (#3780) 2018-12-28 21:36:58 +09:00
65a82f32be Supports CSS Scrollbars (#3783)
* Supports CSS Scrollbars

* fix
2018-12-28 21:34:35 +09:00
fd593458a6 New translations ja-JP.yml (Korean) 2018-12-28 07:42:07 +09:00
3985fe6b09 Update @types/dateformat requirement from 1.0.1 to 3.0.0
Updates the requirements on [@types/dateformat](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>
2018-12-27 20:28:49 +00:00
db71a5da62 Update @koa/cors requirement from 2.2.2 to 2.2.3
Updates the requirements on [@koa/cors](https://github.com/koajs/cors) to permit the latest version.
- [Release notes](https://github.com/koajs/cors/releases)
- [Changelog](https://github.com/koajs/cors/blob/master/History.md)
- [Commits](https://github.com/koajs/cors/commits/2.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 20:27:27 +00:00
d76e3e4853 Update @types/showdown requirement from 1.7.5 to 1.9.0
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>
2018-12-27 20:25:12 +00:00
eead9fad03 10.69.0 2018-12-28 05:16:24 +09:00
b498072f9d 🎨 2018-12-28 05:14:04 +09:00
f56a961db2 New translations ja-JP.yml (Norwegian) 2018-12-28 05:13:16 +09:00
5d224f4eac New translations ja-JP.yml (Dutch) 2018-12-28 05:13:11 +09:00
5b5edae11c New translations ja-JP.yml (Japanese, Kansai) 2018-12-28 05:13:07 +09:00
bd51154c46 New translations ja-JP.yml (Spanish) 2018-12-28 05:13:03 +09:00
749a1ff8b6 New translations ja-JP.yml (Russian) 2018-12-28 05:12:58 +09:00
b06d46f46f New translations ja-JP.yml (Portuguese) 2018-12-28 05:12:54 +09:00
7146a534df New translations ja-JP.yml (Polish) 2018-12-28 05:12:48 +09:00
ef51e591ee New translations ja-JP.yml (Korean) 2018-12-28 05:12:41 +09:00
9d2f4d3ffb New translations ja-JP.yml (Italian) 2018-12-28 05:12:34 +09:00
f7e0b196eb New translations ja-JP.yml (German) 2018-12-28 05:12:29 +09:00
feb7e58912 New translations ja-JP.yml (French) 2018-12-28 05:12:23 +09:00
fbf04392c9 New translations ja-JP.yml (English) 2018-12-28 05:12:19 +09:00
e650818952 New translations ja-JP.yml (Chinese Simplified) 2018-12-28 05:12:15 +09:00
76fcb1af87 New translations ja-JP.yml (Catalan) 2018-12-28 05:12:09 +09:00
cce3e52642 通知の管理を強化
Resolve #3772
2018-12-28 05:06:25 +09:00
8c762e7b8e 🎵 2018-12-28 04:36:24 +09:00
f0dafa04a5 🎨 2018-12-28 04:30:37 +09:00
81f39b3b36 🎨 2018-12-28 04:28:16 +09:00
b162471d3e 🎨 2018-12-28 04:26:32 +09:00
2736e8d6fa New translations ja-JP.yml (English) 2018-12-28 03:42:36 +09:00
182f6f8faa New translations ja-JP.yml (Norwegian) 2018-12-28 01:03:26 +09:00
ff34655221 New translations ja-JP.yml (Dutch) 2018-12-28 01:03:20 +09:00
f6ce6109f9 New translations ja-JP.yml (Japanese, Kansai) 2018-12-28 01:03:15 +09:00
899ac15d88 New translations ja-JP.yml (Spanish) 2018-12-28 01:03:09 +09:00
7132f2062c New translations ja-JP.yml (Russian) 2018-12-28 01:03:04 +09:00
96b354c7f2 New translations ja-JP.yml (Portuguese) 2018-12-28 01:02:59 +09:00
715664a523 New translations ja-JP.yml (Polish) 2018-12-28 01:02:54 +09:00
e8ddfb4bfe New translations ja-JP.yml (Korean) 2018-12-28 01:02:49 +09:00
2a1229978e New translations ja-JP.yml (Italian) 2018-12-28 01:02:44 +09:00
b8af3515cd New translations ja-JP.yml (German) 2018-12-28 01:02:39 +09:00
f99e3f3d42 New translations ja-JP.yml (French) 2018-12-28 01:02:35 +09:00
d6057bd830 New translations ja-JP.yml (English) 2018-12-28 01:02:30 +09:00
975e57ec48 New translations ja-JP.yml (Chinese Simplified) 2018-12-28 01:02:26 +09:00
bd35965c99 New translations ja-JP.yml (Catalan) 2018-12-28 01:02:20 +09:00
1029bff5ff Undo reaction with clicking minus (#3773)
* Undo reaction with clicking minus

* fix isMyNote
2018-12-28 01:01:58 +09:00
6c1893f869 10.68.0 2018-12-27 23:38:53 +09:00
0a89ba60bd New translations ja-JP.yml (English) 2018-12-27 23:32:01 +09:00
c6e418a242 New translations ja-JP.yml (Norwegian) 2018-12-27 23:23:35 +09:00
d9a6666ba8 New translations ja-JP.yml (Dutch) 2018-12-27 23:23:29 +09:00
ab849fbbef New translations ja-JP.yml (Japanese, Kansai) 2018-12-27 23:23:24 +09:00
9d6b6053a6 New translations ja-JP.yml (Spanish) 2018-12-27 23:23:19 +09:00
ddfd64944d New translations ja-JP.yml (Russian) 2018-12-27 23:23:12 +09:00
51153ed287 New translations ja-JP.yml (Portuguese) 2018-12-27 23:23:07 +09:00
0e7bbd1b32 New translations ja-JP.yml (Polish) 2018-12-27 23:23:03 +09:00
5049791d7f New translations ja-JP.yml (Korean) 2018-12-27 23:22:57 +09:00
1ebcf8d915 New translations ja-JP.yml (Italian) 2018-12-27 23:22:51 +09:00
e01873811a New translations ja-JP.yml (German) 2018-12-27 23:22:45 +09:00
d078b871e1 New translations ja-JP.yml (French) 2018-12-27 23:22:39 +09:00
c6375ae864 New translations ja-JP.yml (English) 2018-12-27 23:22:34 +09:00
483467e32f New translations ja-JP.yml (Chinese Simplified) 2018-12-27 23:22:29 +09:00
c84d43bc5f New translations ja-JP.yml (Catalan) 2018-12-27 23:22:23 +09:00
fdd42fc2d7 user mention (#3771) 2018-12-27 23:14:30 +09:00
8573e258f8 Set cursor default on hover the own reaction
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-27 23:02:32 +09:00
6943c7d2d8 Resolve #3770
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-27 22:54:50 +09:00
4a42bf7b19 New translations ja-JP.yml (Norwegian) 2018-12-27 21:13:13 +09:00
b982f97c05 New translations ja-JP.yml (Dutch) 2018-12-27 21:13:06 +09:00
d9207788d3 New translations ja-JP.yml (Japanese, Kansai) 2018-12-27 21:13:01 +09:00
0ad48cc896 New translations ja-JP.yml (Spanish) 2018-12-27 21:12:57 +09:00
5e191a1f5b New translations ja-JP.yml (Russian) 2018-12-27 21:12:52 +09:00
8069e44d0a New translations ja-JP.yml (Portuguese) 2018-12-27 21:12:48 +09:00
0a83f0fd67 New translations ja-JP.yml (Polish) 2018-12-27 21:12:42 +09:00
83c54fb6b9 New translations ja-JP.yml (Korean) 2018-12-27 21:12:38 +09:00
5f6b0f689f New translations ja-JP.yml (Italian) 2018-12-27 21:12:32 +09:00
1b0b96526b New translations ja-JP.yml (German) 2018-12-27 21:12:27 +09:00
edb0469787 New translations ja-JP.yml (French) 2018-12-27 21:12:23 +09:00
3256a0914e New translations ja-JP.yml (English) 2018-12-27 21:12:18 +09:00
3c15182f24 New translations ja-JP.yml (Chinese Simplified) 2018-12-27 21:12:12 +09:00
f7bc5e3c0b New translations ja-JP.yml (Catalan) 2018-12-27 21:12:07 +09:00
19f327701d Fix kao 2018-12-27 21:10:40 +09:00
6b30e371a2 Remove needless code 2018-12-27 21:09:03 +09:00
98fd6de5a1 Resolve #3524 2018-12-27 21:07:44 +09:00
6635f25abe New translations ja-JP.yml (Norwegian) 2018-12-27 21:03:38 +09:00
5f93106eab New translations ja-JP.yml (Dutch) 2018-12-27 21:03:31 +09:00
84f2994d47 New translations ja-JP.yml (Japanese, Kansai) 2018-12-27 21:03:27 +09:00
96f5c6d616 New translations ja-JP.yml (Spanish) 2018-12-27 21:03:22 +09:00
b67923abb9 New translations ja-JP.yml (Russian) 2018-12-27 21:03:15 +09:00
310f7b3359 New translations ja-JP.yml (Portuguese) 2018-12-27 21:03:11 +09:00
c743c45989 New translations ja-JP.yml (Polish) 2018-12-27 21:03:04 +09:00
0322c51913 New translations ja-JP.yml (Korean) 2018-12-27 21:03:00 +09:00
b85e27c7e5 New translations ja-JP.yml (Italian) 2018-12-27 21:02:55 +09:00
aa351d1f7f New translations ja-JP.yml (German) 2018-12-27 21:02:50 +09:00
6b48b79758 New translations ja-JP.yml (French) 2018-12-27 21:02:45 +09:00
104ea7e277 New translations ja-JP.yml (English) 2018-12-27 21:02:41 +09:00
97de1ed3a8 New translations ja-JP.yml (Chinese Simplified) 2018-12-27 21:02:36 +09:00
d69e9741da New translations ja-JP.yml (Catalan) 2018-12-27 21:02:30 +09:00
0f5c737c1a Use double quotation 2018-12-27 21:00:08 +09:00
cb9960b0ac Fix i18n: is-suspended
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-27 20:59:49 +09:00
1404539895 Resolve #3287, resolve #3107
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-27 20:46:23 +09:00
2f901da58c [Client] Fix bug 2018-12-27 20:34:30 +09:00
3637c1bfbc New translations ja-JP.yml (Norwegian) 2018-12-27 20:33:23 +09:00
28c3edc844 New translations ja-JP.yml (Dutch) 2018-12-27 20:33:16 +09:00
9271a8c066 New translations ja-JP.yml (Japanese, Kansai) 2018-12-27 20:33:12 +09:00
7b16bfc736 New translations ja-JP.yml (Spanish) 2018-12-27 20:33:05 +09:00
54450033e4 New translations ja-JP.yml (Russian) 2018-12-27 20:32:59 +09:00
fbf676d518 New translations ja-JP.yml (Portuguese) 2018-12-27 20:32:54 +09:00
47df0bbec1 New translations ja-JP.yml (Polish) 2018-12-27 20:32:50 +09:00
708f8b3cc3 New translations ja-JP.yml (Korean) 2018-12-27 20:32:44 +09:00
9de163ab09 New translations ja-JP.yml (Italian) 2018-12-27 20:32:40 +09:00
e21be29131 New translations ja-JP.yml (German) 2018-12-27 20:32:35 +09:00
1aabb725d0 New translations ja-JP.yml (French) 2018-12-27 20:32:31 +09:00
3e17c34187 New translations ja-JP.yml (English) 2018-12-27 20:32:27 +09:00
d57de01d37 New translations ja-JP.yml (Chinese Simplified) 2018-12-27 20:32:22 +09:00
71918fdbf0 New translations ja-JP.yml (Catalan) 2018-12-27 20:32:17 +09:00
cb8663873d Rename: 404 --> not-found 2018-12-27 20:22:54 +09:00
0f204eebe1 Remove unused code 2018-12-27 20:10:29 +09:00
dec572a6b7 New translations ja-JP.yml (Norwegian) 2018-12-27 20:03:29 +09:00
28848ba969 New translations ja-JP.yml (Dutch) 2018-12-27 20:03:24 +09:00
4cfcd37a2b New translations ja-JP.yml (Japanese, Kansai) 2018-12-27 20:03:19 +09:00
2b0d5516d1 New translations ja-JP.yml (Spanish) 2018-12-27 20:03:13 +09:00
3e3c3c10ab New translations ja-JP.yml (Russian) 2018-12-27 20:03:08 +09:00
3cc282db14 New translations ja-JP.yml (Portuguese) 2018-12-27 20:03:03 +09:00
4c1c865ba9 New translations ja-JP.yml (Polish) 2018-12-27 20:02:59 +09:00
9423c99427 New translations ja-JP.yml (Korean) 2018-12-27 20:02:54 +09:00
d1512c90f1 New translations ja-JP.yml (Italian) 2018-12-27 20:02:48 +09:00
85c9993106 New translations ja-JP.yml (German) 2018-12-27 20:02:43 +09:00
1d580009e4 New translations ja-JP.yml (French) 2018-12-27 20:02:38 +09:00
22ad21597a New translations ja-JP.yml (English) 2018-12-27 20:02:32 +09:00
76d8f66eff New translations ja-JP.yml (Chinese Simplified) 2018-12-27 20:02:28 +09:00
febdf0cbee New translations ja-JP.yml (Catalan) 2018-12-27 20:02:23 +09:00
ba05606074 Show on the CW button that there is a poll (#3769) 2018-12-27 19:58:57 +09:00
030fe8bec7 New translations ja-JP.yml (English) 2018-12-27 19:23:07 +09:00
4587c5a512 Update @fortawesome/free-solid-svg-icons requirement from 5.6.1 to 5.6.3 (#3754)
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.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 18:50:19 +09:00
96646e584b Update vue-svg-inline-loader requirement from 1.2.4 to 1.2.7 (#3764)
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.7)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 18:50:01 +09:00
fb2879df9c Update @types/js-yaml requirement from 3.11.2 to 3.11.4 (#3763)
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>
2018-12-27 18:49:51 +09:00
26ea338e8e Update vue-js-modal requirement from 1.3.27 to 1.3.28 (#3766)
Updates the requirements on [vue-js-modal](https://github.com/euvl/vue-js-modal) to permit the latest version.
- [Release notes](https://github.com/euvl/vue-js-modal/releases)
- [Commits](https://github.com/euvl/vue-js-modal/commits/1.3.28)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 18:49:44 +09:00
1fad5ed6f3 Update nan requirement from 2.11.1 to 2.12.1 (#3767)
Updates the requirements on [nan](https://github.com/nodejs/nan) to permit the latest version.
- [Release notes](https://github.com/nodejs/nan/releases)
- [Changelog](https://github.com/nodejs/nan/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodejs/nan/commits/v2.12.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 18:49:33 +09:00
20db10516c New translations ja-JP.yml (English) 2018-12-27 18:42:12 +09:00
00631f58ec New translations ja-JP.yml (French) 2018-12-27 18:22:13 +09:00
35273e53bc 10.67.0 2018-12-27 07:49:48 +09:00
bfc458e935 Resolve #3758 2018-12-27 07:07:26 +09:00
bb819d42f1 Update mongodb requirement from 3.1.9 to 3.1.10 (#3762)
Updates the requirements on [mongodb](https://github.com/mongodb/node-mongodb-native) to permit the latest version.
- [Release notes](https://github.com/mongodb/node-mongodb-native/releases)
- [Changelog](https://github.com/mongodb/node-mongodb-native/blob/master/HISTORY.md)
- [Commits](https://github.com/mongodb/node-mongodb-native/commits/v3.1.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 05:46:42 +09:00
5d76439224 Update sharp requirement from 0.21.0 to 0.21.1 (#3761)
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.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 05:46:00 +09:00
3d0b704af8 Add URI parameter to /api/meta (#3748)
* Add URI parameter to /api/meta
closes #3747

* Update fetch-meta.ts

* Update meta.ts
2018-12-27 04:50:35 +09:00
05539ffc7b Update README.md [AUTOGEN] (#3743) 2018-12-27 01:33:19 +09:00
c86deab69c Introduce SonarTS (#3756) 2018-12-27 01:32:31 +09:00
21f8dbf2de Resolve #3248
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-27 01:26:03 +09:00
6731f904f2 New translations ja-JP.yml (Norwegian) 2018-12-26 23:14:31 +09:00
f6e74f529e New translations ja-JP.yml (Dutch) 2018-12-26 23:14:22 +09:00
c860a2f7f3 New translations ja-JP.yml (Japanese, Kansai) 2018-12-26 23:14:17 +09:00
7b141722ae New translations ja-JP.yml (Spanish) 2018-12-26 23:14:13 +09:00
fc516ffb7f New translations ja-JP.yml (Russian) 2018-12-26 23:14:08 +09:00
11604593a6 New translations ja-JP.yml (Portuguese) 2018-12-26 23:14:03 +09:00
6f3468ccd2 New translations ja-JP.yml (Polish) 2018-12-26 23:13:56 +09:00
e3be90503c New translations ja-JP.yml (Korean) 2018-12-26 23:13:50 +09:00
22d38e0d24 New translations ja-JP.yml (Italian) 2018-12-26 23:13:46 +09:00
8b654fb40a New translations ja-JP.yml (German) 2018-12-26 23:13:39 +09:00
91cd9831bc New translations ja-JP.yml (French) 2018-12-26 23:13:33 +09:00
805d72d42f New translations ja-JP.yml (English) 2018-12-26 23:13:29 +09:00
0d4a1719a6 New translations ja-JP.yml (Chinese Simplified) 2018-12-26 23:13:23 +09:00
32ab57e11b New translations ja-JP.yml (Catalan) 2018-12-26 23:13:16 +09:00
5174e16f7b Feature to show only my posts in the user page (#3753)
* Fix #3681

* Feature to show only my posts in the user page
2018-12-26 23:11:50 +09:00
9b746f3eb5 Make reactions removable
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>

Resolve #367, resolve #2260, close #3503
2018-12-26 23:05:47 +09:00
becd038660 New translations ja-JP.yml (Russian) 2018-12-26 22:31:58 +09:00
2a6cfec0e6 New translations ja-JP.yml (Russian) 2018-12-26 22:28:10 +09:00
dfc6ef4be6 Remove trailing whitespaces 2018-12-26 19:58:04 +09:00
c8b45f4f42 Fix #3346
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-26 19:39:51 +09:00
09c57e6d03 Fix #3345
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-26 19:24:38 +09:00
5edb1da097 Update gulp-typescript requirement from 4.0.2 to 5.0.0 (#3496)
Updates the requirements on [gulp-typescript](https://github.com/ivogabe/gulp-typescript) to permit the latest version.
- [Release notes](https://github.com/ivogabe/gulp-typescript/releases)
- [Commits](https://github.com/ivogabe/gulp-typescript/commits/v5.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-26 18:34:28 +09:00
b3ad3a6535 Update jsdom requirement from 13.0.0 to 13.1.0 (#3649)
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.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-26 18:33:50 +09:00
3709bb23bc Update systeminformation requirement from 3.51.3 to 3.52.2 (#3669)
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>
2018-12-26 18:33:42 +09:00
28be5c0b81 Update tslint requirement from 5.10.0 to 5.12.0 (#3670)
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.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-26 18:33:34 +09:00
60ef74047a Update @types/file-type requirement from 5.2.2 to 10.6.0 (#3671)
Updates the requirements on [@types/file-type](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>
2018-12-26 18:33:28 +09:00
f81596c8d5 Update @types/webpack requirement from 4.4.20 to 4.4.21 (#3650)
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>
2018-12-26 18:33:20 +09:00
075b7e3060 Update vue-cropperjs requirement from 2.2.2 to 3.0.0 (#3617)
Updates the requirements on [vue-cropperjs](https://github.com/Agontuk/vue-cropperjs) to permit the latest version.
- [Release notes](https://github.com/Agontuk/vue-cropperjs/releases)
- [Changelog](https://github.com/Agontuk/vue-cropperjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Agontuk/vue-cropperjs/commits/v3.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-26 18:33:08 +09:00
cc7d6198ec Update hard-source-webpack-plugin requirement from 0.12.0 to 0.13.1 (#3611)
Updates the requirements on [hard-source-webpack-plugin](https://github.com/mzgoddard/hard-source-webpack-plugin) to permit the latest version.
- [Release notes](https://github.com/mzgoddard/hard-source-webpack-plugin/releases)
- [Changelog](https://github.com/mzgoddard/hard-source-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mzgoddard/hard-source-webpack-plugin/commits/v0.13.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-26 18:32:58 +09:00
5766c2ce1b Update @fortawesome/free-solid-svg-icons requirement from 5.5.0 to 5.6.1 (#3610)
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.6.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-26 18:32:50 +09:00
03fed08c03 Update @fortawesome/free-brands-svg-icons requirement (#3598)
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.6.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-26 18:32:43 +09:00
4662641feb Fix #3745 (#3746) 2018-12-26 18:32:16 +09:00
00e2ce9489 Fix #3715 (#3752) 2018-12-26 06:21:09 +09:00
c2ec81f93a New translations ja-JP.yml (French) 2018-12-26 05:31:49 +09:00
47561a6f8b New translations ja-JP.yml (French) 2018-12-26 05:21:51 +09:00
c81eb49f9e Supports emoji in notifications (#3751) 2018-12-26 05:15:02 +09:00
205c0d44d5 New translations ja-JP.yml (French) 2018-12-26 05:11:57 +09:00
dc1bdbaaa5 New translations ja-JP.yml (French) 2018-12-26 05:01:48 +09:00
d619a92a37 New translations ja-JP.yml (French) 2018-12-26 04:52:05 +09:00
59ad529162 New translations ja-JP.yml (French) 2018-12-26 04:41:54 +09:00
c4c44e04fd New translations ja-JP.yml (French) 2018-12-26 04:32:01 +09:00
fae58a9ab0 New translations ja-JP.yml (French) 2018-12-26 04:21:58 +09:00
fa03c172f2 Fix typo 2018-12-25 20:02:37 +09:00
89ac15b4de Fix typo
split は不規則動詞
2018-12-25 16:49:35 +09:00
10d3b81251 Fix build fails 2018-12-25 13:39:55 +09:00
71dceca225 Merge pull request #3648 from syuilo/l10n_develop
New Crowdin translations
2018-12-25 12:24:26 +09:00
40de631d95 New translations ja-JP.yml (English) 2018-12-25 12:22:01 +09:00
6985c39874 Make activity view in admin scrollable (#3741)
I can't think of any reason why this isnt currently the case as the extra lines are still there, just not displayed, meaning theres no difference in performance/memory usage
Also means that sometimes entries are cut off which is weird
Also, sometimes there is reason to wish to view older entries that may have scrolled off the page/keep reading something which was pushed too far down.
2018-12-25 12:13:50 +09:00
0938ea3964 Use join instead of reduce 2018-12-24 17:02:15 +09:00
4b4c19b242 New translations ja-JP.yml (Korean) 2018-12-24 08:11:46 +09:00
d8620187ec 10.66.2 2018-12-24 05:40:33 +09:00
520849d070 Update translation placeholder (#3735) 2018-12-24 05:36:02 +09:00
b6a028a8ed [API] Fix #3737 2018-12-24 05:31:20 +09:00
7db799a0ac New translations ja-JP.yml (Norwegian) 2018-12-24 01:33:08 +09:00
1ab776c867 New translations ja-JP.yml (Dutch) 2018-12-24 01:33:04 +09:00
f4c9f63548 New translations ja-JP.yml (Japanese, Kansai) 2018-12-24 01:32:57 +09:00
08da9d70cd New translations ja-JP.yml (Spanish) 2018-12-24 01:32:53 +09:00
96173e5c0b New translations ja-JP.yml (Russian) 2018-12-24 01:32:48 +09:00
b37cc70742 New translations ja-JP.yml (Portuguese) 2018-12-24 01:32:43 +09:00
96ee4299c7 New translations ja-JP.yml (Polish) 2018-12-24 01:32:38 +09:00
6072b02f12 New translations ja-JP.yml (Korean) 2018-12-24 01:32:33 +09:00
6ccbca0741 New translations ja-JP.yml (Italian) 2018-12-24 01:32:29 +09:00
360394fd5c New translations ja-JP.yml (German) 2018-12-24 01:32:24 +09:00
dcb45aa953 New translations ja-JP.yml (French) 2018-12-24 01:32:20 +09:00
a8fcc1aad9 New translations ja-JP.yml (English) 2018-12-24 01:32:15 +09:00
4d69cd86f1 New translations ja-JP.yml (Chinese Simplified) 2018-12-24 01:32:11 +09:00
6e14e58b89 New translations ja-JP.yml (Catalan) 2018-12-24 01:32:06 +09:00
af5839bb59 Fix translation location (#3734) 2018-12-24 01:25:28 +09:00
a53e0d9f73 Fix error in featuredNotes (#3730) 2018-12-23 23:23:56 +09:00
49921f2dcf Fix: can not update remote Misskey user (#3731) 2018-12-23 23:23:17 +09:00
70d2d61b9a New translations ja-JP.yml (French) 2018-12-23 18:11:51 +09:00
9abaf80f6b New translations ja-JP.yml (Chinese Simplified) 2018-12-23 17:51:56 +09:00
25948fc3c9 New translations ja-JP.yml (Chinese Simplified) 2018-12-23 17:42:42 +09:00
6b947c2139 Fix mention links (#3728)
canonical already starts with @, so remove the extra @.
2018-12-23 14:35:18 +09:00
98acf919f1 ダイレクト投稿でユーザーが指定されていなかったらrejectする (#3724) 2018-12-23 04:17:42 +09:00
c9c2853150 ダイレクトでメンションでもユーザーを指定できるように (#3722) 2018-12-23 03:44:18 +09:00
2bc708f8e6 Fix #3717 (#3723) 2018-12-23 03:41:28 +09:00
874b8fc3c2 Fix indent 2018-12-23 03:31:11 +09:00
7d6aac3431 Fix space 2018-12-23 03:27:26 +09:00
e2fc7decad 本文からメンション等を展開しないオプション (#3721) 2018-12-23 03:25:33 +09:00
21bed71f5e Rename PULL_REQUEST_TEMPLATE.md to .github/PULL_REQUEST_TEMPLATE.md 2018-12-22 20:43:44 +09:00
747a5694f8 New translations ja-JP.yml (French) 2018-12-22 13:02:00 +09:00
479a0a2deb New translations ja-JP.yml (French) 2018-12-22 12:52:26 +09:00
14aef6ec89 New translations ja-JP.yml (English) 2018-12-22 01:16:40 +09:00
f0d2b3f449 New translations ja-JP.yml (English) 2018-12-22 01:02:28 +09:00
3b974428fc 10.66.1 2018-12-22 00:59:40 +09:00
580191fb17 Improve MFM bracket matching
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-12-22 00:44:38 +09:00
be0cb88b6c Fix sharedInbox location (#3711)
* Fix sharedInbox location

* Perform update Following

* Fix comment
2018-12-22 00:12:34 +09:00
95c4e4497e Fix tag not found (#3710) 2018-12-21 21:46:50 +09:00
2ec445f83e 10.66.0 2018-12-21 16:26:46 +09:00
51b915428e [Client] Fix #3693 2018-12-21 16:22:34 +09:00
1395cf89ce Feed (#3698)
* wip

* Implement feed

* Update feed.ts

* Update index.ts

* Update feed.ts
2018-12-21 11:54:39 +09:00
2a8f984db7 Fix comment 2018-12-21 11:28:30 +09:00
decf2d396f Fix processing icon (#3705) 2018-12-21 02:30:49 +09:00
f7964da899 Fix: ap/show does not return on error (#3704) 2018-12-21 00:09:02 +09:00
c8607ff7b6 Tune polls/recommendation (#3703) 2018-12-20 22:56:12 +09:00
e9f8897fe2 Refactor MFM
Co-authored-by: syuilo syuilotan@yahoo.co.jp
2018-12-20 19:42:10 +09:00
e0b107a3a0 Fix overlap of birthday label on datepicker (#3697) 2018-12-20 17:01:29 +09:00
abf2c89931 New translations ja-JP.yml (Korean) 2018-12-20 07:51:43 +09:00
1d3e6a7197 10.65.0 2018-12-20 04:37:47 +09:00
288bf195e9 New translations ja-JP.yml (English) 2018-12-20 04:22:50 +09:00
7e3cc11cc4 New translations ja-JP.yml (Norwegian) 2018-12-20 04:13:09 +09:00
4e07e94af0 New translations ja-JP.yml (Dutch) 2018-12-20 04:13:03 +09:00
9cb49c9204 New translations ja-JP.yml (Japanese, Kansai) 2018-12-20 04:12:59 +09:00
580dd729e5 New translations ja-JP.yml (Spanish) 2018-12-20 04:12:54 +09:00
49ab77c86e New translations ja-JP.yml (Russian) 2018-12-20 04:12:49 +09:00
f98914b9f1 New translations ja-JP.yml (Portuguese) 2018-12-20 04:12:43 +09:00
f3f3599b28 New translations ja-JP.yml (Polish) 2018-12-20 04:12:38 +09:00
f67b1beee4 New translations ja-JP.yml (Korean) 2018-12-20 04:12:32 +09:00
8395d0f1ba New translations ja-JP.yml (Italian) 2018-12-20 04:12:27 +09:00
af203bee93 New translations ja-JP.yml (German) 2018-12-20 04:12:23 +09:00
760fb79dad New translations ja-JP.yml (French) 2018-12-20 04:12:18 +09:00
ee9d4119c2 New translations ja-JP.yml (English) 2018-12-20 04:12:13 +09:00
90027efcbf New translations ja-JP.yml (Chinese Simplified) 2018-12-20 04:12:07 +09:00
1848de1dc4 New translations ja-JP.yml (Catalan) 2018-12-20 04:11:58 +09:00
1c93fcb1c4 Fix #3683 2018-12-20 04:11:10 +09:00
e3389e7899 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-20 04:08:22 +09:00
454632d785 Resolve #3687 2018-12-20 04:08:13 +09:00
c9bca7dc85 Update CONTRIBUTING.md 2018-12-20 03:44:19 +09:00
710ba526fa Better cw detection 2018-12-20 03:22:27 +09:00
aa47b6732d [Doc] Clean up 2018-12-20 03:19:44 +09:00
20f83420ca Update CONTRIBUTING.md 2018-12-20 03:02:19 +09:00
d09a68ef11 Update CONTRIBUTING.md 2018-12-20 03:01:02 +09:00
b545be5799 Fix wrong comment 2018-12-20 02:47:24 +09:00
4fc377584f Fix tag length limit from AP (#3688) 2018-12-20 02:20:56 +09:00
a5f09c90dd [Client] Resolve #3686 2018-12-20 01:09:35 +09:00
ba407c3eb0 New translations ja-JP.yml (French) 2018-12-20 01:03:08 +09:00
d059d7f972 open処理中はopenの処理をしないように (#3661)
* autocomplettimeout

* fix

* fix

* Update autocomplete.ts

* Update autocomplete.ts
2018-12-20 00:02:28 +09:00
c03e2dfbc0 Change naming (#3678)
* Change naming

* x to a
2018-12-19 22:38:27 +09:00
45c5e7b967 Hide hidden contents in welcome timeline (#3682) 2018-12-19 22:18:58 +09:00
c81a94ff75 Resolve #3676 (#3677) 2018-12-19 21:20:25 +09:00
acc6f54557 Update remote Emoji (#3680) 2018-12-19 21:19:43 +09:00
8025b121af Add Predicate type 2018-12-19 17:08:09 +09:00
78ec06bda3 Add relation types 2018-12-19 17:00:07 +09:00
6ef83d9c59 Update deck.notes.vue 2018-12-19 11:23:46 +09:00
fca4ceef21 [Client] デッキのTLにUIの動きを減らすオプションが適用されていなかったのを修正 2018-12-19 11:22:27 +09:00
00f979f0e6 Fix bug 2018-12-19 11:16:29 +09:00
556677be7a Refactor 2018-12-19 10:23:57 +09:00
624fd093f2 Fix comment 2018-12-19 10:02:58 +09:00
2ee438dece Add comments for prelude/array.ts 2018-12-19 09:54:45 +09:00
534de24406 Use consistent naming convention 2018-12-19 09:14:05 +09:00
014edce1b9 New translations ja-JP.yml (Korean) 2018-12-19 08:52:01 +09:00
ac1f3de4c6 New translations ja-JP.yml (Norwegian) 2018-12-19 07:33:01 +09:00
dced228cb0 New translations ja-JP.yml (Dutch) 2018-12-19 07:32:55 +09:00
a92244cc12 New translations ja-JP.yml (Japanese, Kansai) 2018-12-19 07:32:50 +09:00
0717688933 New translations ja-JP.yml (Spanish) 2018-12-19 07:32:43 +09:00
87d54b7d40 New translations ja-JP.yml (Russian) 2018-12-19 07:32:36 +09:00
ed51f5c7de New translations ja-JP.yml (Portuguese) 2018-12-19 07:32:31 +09:00
66e2db0d52 New translations ja-JP.yml (Polish) 2018-12-19 07:32:26 +09:00
03be4826df New translations ja-JP.yml (Korean) 2018-12-19 07:32:22 +09:00
c9d5aef04f New translations ja-JP.yml (Italian) 2018-12-19 07:32:18 +09:00
106cb3fe3e New translations ja-JP.yml (German) 2018-12-19 07:32:12 +09:00
48320f8536 New translations ja-JP.yml (French) 2018-12-19 07:32:08 +09:00
1a0845dc0a New translations ja-JP.yml (English) 2018-12-19 07:32:04 +09:00
185d09f3ed New translations ja-JP.yml (Chinese Simplified) 2018-12-19 07:32:00 +09:00
8e25fb6cb7 New translations ja-JP.yml (Catalan) 2018-12-19 07:31:55 +09:00
e88ce1746d リスト関連の操作を強化
Resolve #2069
Resolve #2051
Resolve #2807
Resolve #3647
2018-12-19 07:22:01 +09:00
b8aad35009 Fix error 2018-12-19 06:47:47 +09:00
47bd485a39 Clean up 2018-12-19 06:09:31 +09:00
ad869d7469 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-19 06:05:47 +09:00
d15cce5337 [Client] Show more images 2018-12-19 06:05:44 +09:00
37daff6d61 [Client] Fix #2764 2018-12-19 06:04:59 +09:00
5417e40f59 Send original URL for quote (#3668) 2018-12-19 05:07:54 +09:00
0fed33bfdb Create PULL_REQUEST_TEMPLATE.md (#3552)
* Create PULL_REQUEST_TEMPLATE.md

* Update PULL_REQUEST_TEMPLATE.md
2018-12-19 04:48:49 +09:00
5dddc75d09 Add AP emojis endpoint (#3667) 2018-12-19 04:23:08 +09:00
081578c604 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-19 01:11:08 +09:00
6c47bf5b76 [Client] Resolve #3662 2018-12-19 01:10:53 +09:00
936bb1bcd0 New translations ja-JP.yml (Norwegian) 2018-12-19 01:04:21 +09:00
d5241d9a3e New translations ja-JP.yml (Dutch) 2018-12-19 01:04:15 +09:00
05b4430c92 New translations ja-JP.yml (Japanese, Kansai) 2018-12-19 01:04:09 +09:00
292e911de2 New translations ja-JP.yml (Spanish) 2018-12-19 01:04:04 +09:00
1c4ba2c037 New translations ja-JP.yml (Russian) 2018-12-19 01:03:59 +09:00
452db13d0c New translations ja-JP.yml (Portuguese) 2018-12-19 01:03:54 +09:00
c3f64b395b New translations ja-JP.yml (Polish) 2018-12-19 01:03:49 +09:00
3fa6bf93a4 New translations ja-JP.yml (Korean) 2018-12-19 01:03:44 +09:00
a13d76bec5 New translations ja-JP.yml (Italian) 2018-12-19 01:03:39 +09:00
05cee078d0 New translations ja-JP.yml (German) 2018-12-19 01:03:33 +09:00
706d3f3f95 New translations ja-JP.yml (French) 2018-12-19 01:03:27 +09:00
c5cf034b5d New translations ja-JP.yml (English) 2018-12-19 01:03:22 +09:00
3a04aa93f9 New translations ja-JP.yml (Chinese Simplified) 2018-12-19 01:03:16 +09:00
838cdbedbd New translations ja-JP.yml (Catalan) 2018-12-19 01:03:09 +09:00
9e85291cd3 Add example nginx configuration (#3659)
* Sample Nginx configuration

* nginxによせる

* 非Debian系ではsites-enabledがない
2018-12-19 01:00:57 +09:00
7f77517fc8 [Client] Resolve #3658 2018-12-19 00:57:28 +09:00
b2f288dcac [Client] Fix #3657 2018-12-19 00:45:00 +09:00
52b59e9d7b [Client] Fix #3655 2018-12-19 00:41:53 +09:00
80c74b1fa7 Improve readability 2018-12-19 00:40:29 +09:00
91811ea500 Clean up 2018-12-19 00:40:13 +09:00
57150fd910 Improve readability 2018-12-19 00:39:28 +09:00
cddbbdf5d0 clean up 2018-12-19 00:39:04 +09:00
423dc2349b [Client] Improve performance 2018-12-19 00:25:35 +09:00
5229bbd55d New translations ja-JP.yml (Korean) 2018-12-18 07:55:13 +09:00
28311b9a2b New translations ja-JP.yml (French) 2018-12-17 23:02:47 +09:00
663d17a485 New translations ja-JP.yml (French) 2018-12-17 22:54:39 +09:00
08d005dfd9 New translations ja-JP.yml (French) 2018-12-17 22:44:05 +09:00
02edbc131b New translations ja-JP.yml (French) 2018-12-17 22:33:42 +09:00
0556a2a2da Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-17 20:18:09 +09:00
65d943e42a Fix #3646 2018-12-17 20:17:21 +09:00
3bcb344ecb Re: #3457 (#3614)
* Update parser.ts

* Update user.ts

* Update search.ts

* Update parser.ts

* Update parser.ts

* Update parser.ts

* Update parser.ts

* Update parser.ts

* Update parser.ts

* Update mfm.ts

* Update parser.ts

* Merge branch 'develop' into 3440-mk2

* Fix typo

* Update parser.ts

* Update mfm.ts

* Update mfm.ts
2018-12-17 19:11:38 +09:00
82d721d60b Refactor Reversi (#3584)
* Update core.ts

* Update core.ts

* Create functional-syntax.ts

* Update core.ts

* Update functional-syntax.ts

* Update core.ts

* Delete functional-syntax.ts
2018-12-17 19:10:38 +09:00
48dc56e834 10.64.2 2018-12-17 17:27:07 +09:00
2c33bd6e31 Update README.md [AUTOGEN] (#3641) 2018-12-17 17:26:02 +09:00
b6524616bc Clean up 2018-12-17 17:21:45 +09:00
7e2b70f912 [Client] UIの動きを減らすオプションが一部のアニメーションに適用されなかったのを修正
Resolve #3632
2018-12-17 17:21:36 +09:00
4f071a66b6 10.64.1 2018-12-17 03:33:22 +09:00
39f2303429 Merge pull request #3631 from syuilo/l10n_develop
New Crowdin translations
2018-12-17 03:31:49 +09:00
cacf072027 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-17 03:31:31 +09:00
6ab1fdfe1a Update README.md [AUTOGEN] (#3639) 2018-12-17 03:31:19 +09:00
6e5c93f926 [Client] Add animation 🎨 2018-12-17 03:29:57 +09:00
1670737075 [API] Resolve #3637 2018-12-17 01:43:34 +09:00
fee235c4e4 Update README.md 2018-12-16 17:24:52 +09:00
7a39d489f2 New translations ja-JP.yml (Norwegian) 2018-12-16 16:23:07 +09:00
7c634218d1 New translations ja-JP.yml (Dutch) 2018-12-16 16:23:02 +09:00
2704c5be73 New translations ja-JP.yml (Japanese, Kansai) 2018-12-16 16:22:58 +09:00
489b51ba9f New translations ja-JP.yml (Spanish) 2018-12-16 16:22:52 +09:00
21807c29f1 New translations ja-JP.yml (Russian) 2018-12-16 16:22:48 +09:00
3bc62fe3eb New translations ja-JP.yml (Portuguese) 2018-12-16 16:22:43 +09:00
ba0e3c4a5f New translations ja-JP.yml (Polish) 2018-12-16 16:22:38 +09:00
9ec1fb5e37 New translations ja-JP.yml (Korean) 2018-12-16 16:22:33 +09:00
d708409462 New translations ja-JP.yml (Italian) 2018-12-16 16:22:29 +09:00
07d05d4f86 New translations ja-JP.yml (German) 2018-12-16 16:22:24 +09:00
bbdb2ebb40 New translations ja-JP.yml (French) 2018-12-16 16:22:20 +09:00
f7908ba098 New translations ja-JP.yml (English) 2018-12-16 16:22:15 +09:00
f2fda3075e New translations ja-JP.yml (Chinese Simplified) 2018-12-16 16:22:11 +09:00
1338a68979 New translations ja-JP.yml (Catalan) 2018-12-16 16:22:05 +09:00
e7da505fb3 [Client] Bug fix and clean up 2018-12-16 16:12:41 +09:00
5a9228372f New translations ja-JP.yml (Korean) 2018-12-16 13:31:39 +09:00
c4a6ba9097 New translations ja-JP.yml (Korean) 2018-12-16 12:13:35 +09:00
d5871b408b 10.64.0 2018-12-16 11:36:44 +09:00
7b3338e373 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-16 11:32:30 +09:00
d18ee12d2f [Client] Add some animations 🎨 2018-12-16 11:32:20 +09:00
ca9cc97940 Update minio requirement from 7.0.1 to 7.0.2 (#3606)
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.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-16 10:30:33 +09:00
a70070ac7d Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-16 10:30:06 +09:00
069d99b320 Update dependency 🚀 2018-12-16 10:29:55 +09:00
37d350dcad Merge pull request #3601 from syuilo/l10n_develop
New Crowdin translations
2018-12-16 10:24:04 +09:00
8653e09b59 [Client] Add particle effect 2018-12-16 10:20:46 +09:00
7cd2d59576 [Client] Fix bug 2018-12-16 09:03:07 +09:00
a0839de38f Add 'twitter:creator' meta data in user pages (#3618)
* Update user.pug

* Update user.pug

* Update note.pug

* Update user.pug

* Update note.pug

* Update note.pug
2018-12-16 08:49:38 +09:00
b7c5c71c6f [Client] Resolve #2951
あと検索フォームでサジェストを有効に
2018-12-16 08:45:10 +09:00
adab0adbdd New translations ja-JP.yml (English) 2018-12-16 07:31:43 +09:00
2faa58928f Format uptimes (#3629)
* Format uptime

* 逆だわ

* ザ

* 1個多い

* Fix comment
2018-12-16 07:06:43 +09:00
ffb80efe21 Return 404 for invalid Object ID (#3627)
* Update activitypub.ts

* Update activitypub.ts

* Update featured.ts

* Update followers.ts

* Update following.ts

* Update outbox.ts

* Fix following, outbox
2018-12-16 01:44:59 +09:00
6f959218ef Update analog-clock.vue 2018-12-15 23:34:46 +09:00
be1125dcb9 OGP向けにインスタンスのバナー画像を提供するように 2018-12-15 23:19:04 +09:00
9ab34c2301 Update index.ts (#3624) 2018-12-15 20:54:34 +09:00
0166d81d9e New translations ja-JP.yml (Polish) 2018-12-15 18:31:49 +09:00
0b26efbd2f New translations ja-JP.yml (French) 2018-12-15 18:01:50 +09:00
2cbaedf946 New translations ja-JP.yml (Norwegian) 2018-12-15 17:13:24 +09:00
b66924fbe8 New translations ja-JP.yml (Dutch) 2018-12-15 17:13:19 +09:00
8c91148954 New translations ja-JP.yml (Japanese, Kansai) 2018-12-15 17:13:13 +09:00
be0eff3dda New translations ja-JP.yml (Spanish) 2018-12-15 17:13:08 +09:00
85903ac9c6 New translations ja-JP.yml (Russian) 2018-12-15 17:13:04 +09:00
dbdd778dc7 New translations ja-JP.yml (Portuguese) 2018-12-15 17:12:59 +09:00
fc50dfd8d5 New translations ja-JP.yml (Polish) 2018-12-15 17:12:54 +09:00
f444e132ee New translations ja-JP.yml (Korean) 2018-12-15 17:12:50 +09:00
68f562c323 New translations ja-JP.yml (Italian) 2018-12-15 17:12:44 +09:00
820ea69613 New translations ja-JP.yml (German) 2018-12-15 17:12:40 +09:00
6f4b3853a1 New translations ja-JP.yml (French) 2018-12-15 17:12:33 +09:00
a706ad0e80 New translations ja-JP.yml (English) 2018-12-15 17:12:26 +09:00
820116affc New translations ja-JP.yml (Chinese Simplified) 2018-12-15 17:12:22 +09:00
52650342be New translations ja-JP.yml (Catalan) 2018-12-15 17:12:16 +09:00
85ddabdc65 Update ja-JP.yml 2018-12-15 17:09:05 +09:00
0730cc4fa4 🎨 2018-12-15 17:01:19 +09:00
17b6ab0ef0 🎨 2018-12-15 16:48:28 +09:00
4e208b85bb New translations ja-JP.yml (Polish) 2018-12-15 08:51:47 +09:00
00f8b29f6d New translations ja-JP.yml (Polish) 2018-12-15 08:41:45 +09:00
9cf0fcadb1 New translations ja-JP.yml (Polish) 2018-12-15 08:31:50 +09:00
c595efeead New translations ja-JP.yml (Polish) 2018-12-15 08:21:59 +09:00
b56c6793a1 New translations ja-JP.yml (Polish) 2018-12-15 08:12:15 +09:00
ebceffba1e Resolve #2165 2018-12-15 00:09:04 +09:00
3ae42d9b85 🎨 2018-12-14 23:35:07 +09:00
796237b3c6 Implement admin drive page 2018-12-14 19:09:11 +09:00
cb7a97ee4c New translations ja-JP.yml (Korean) 2018-12-14 07:32:03 +09:00
0cf758b6d1 New translations ja-JP.yml (French) 2018-12-14 02:03:02 +09:00
d28fca320e New translations ja-JP.yml (French) 2018-12-14 01:42:26 +09:00
8bd17703c3 Fix reversi settings bot switch (#3609) 2018-12-13 13:40:10 +09:00
a78eebc43f ていねい (#3608)
「古い」という表現でキレる方もいるので、丁寧な言葉づかいに変更
2018-12-13 09:42:14 +09:00
79fb5246df New translations ja-JP.yml (English) 2018-12-13 08:01:55 +09:00
458b8c78dc New translations ja-JP.yml (French) 2018-12-13 04:12:31 +09:00
64e0cbd6fc New translations ja-JP.yml (French) 2018-12-13 04:04:32 +09:00
7fe937026b Update html.ts (#3603) 2018-12-13 01:33:18 +09:00
656cec65b9 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-13 01:18:29 +09:00
8045bbff1c 🎨 2018-12-13 01:18:17 +09:00
c1a7a21746 Hide unavailable integration settings (#3604) 2018-12-12 23:21:02 +09:00
f3ee63fcbe Update url-preview.vue (#3602) 2018-12-12 21:19:52 +09:00
7645c212a3 No @ for account name (#3586)
* No @ for account name

* Use @ for GitHub
2018-12-12 17:33:08 +09:00
8b38e2ea58 New translations ja-JP.yml (Norwegian) 2018-12-12 13:12:57 +09:00
c9eb6a8919 New translations ja-JP.yml (Dutch) 2018-12-12 13:12:53 +09:00
9a41fd4734 New translations ja-JP.yml (Japanese, Kansai) 2018-12-12 13:12:47 +09:00
70d96ee076 New translations ja-JP.yml (Spanish) 2018-12-12 13:12:43 +09:00
3b6fb3959b New translations ja-JP.yml (Russian) 2018-12-12 13:12:36 +09:00
484d705320 New translations ja-JP.yml (Portuguese) 2018-12-12 13:12:30 +09:00
786031be66 New translations ja-JP.yml (Polish) 2018-12-12 13:12:25 +09:00
bc0027ce43 New translations ja-JP.yml (Korean) 2018-12-12 13:12:21 +09:00
3e7c6d9bdc New translations ja-JP.yml (Italian) 2018-12-12 13:12:15 +09:00
5463e3e55e New translations ja-JP.yml (German) 2018-12-12 13:12:11 +09:00
84a880086e New translations ja-JP.yml (French) 2018-12-12 13:12:06 +09:00
89419b7136 New translations ja-JP.yml (English) 2018-12-12 13:12:01 +09:00
9106ec74f7 New translations ja-JP.yml (Chinese Simplified) 2018-12-12 13:11:57 +09:00
ebf9a0921d New translations ja-JP.yml (Catalan) 2018-12-12 13:11:53 +09:00
c237f49016 10.63.1 2018-12-12 13:07:16 +09:00
709290d2da Improve mention display 2018-12-12 13:06:05 +09:00
eb3180f3b6 Fix bug 2018-12-12 13:05:37 +09:00
681997509c Merge pull request #3599 from syuilo/l10n_develop
New Crowdin translations
2018-12-12 12:22:59 +09:00
79ff5888fd Fix htmlToMfm (#3600) 2018-12-12 11:47:07 +09:00
9ee9cf8d81 Fix URL after deleting remote file (#3597)
* Fix URL after deleting remote file

* expired only

* delete space
2018-12-12 11:46:35 +09:00
ee3c0f6f18 Update settings.2fa.vue (#3593) 2018-12-12 10:07:30 +09:00
9dd463bff4 New translations ja-JP.yml (Korean) 2018-12-12 07:53:00 +09:00
df297d0031 Fix fields (#3596) 2018-12-12 02:46:40 +09:00
d18d1cb958 Update settings.2fa.vue (#3595) 2018-12-11 23:41:27 +09:00
5bc0570888 Update CHANGELOG.md 2018-12-11 21:31:58 +09:00
8b43d75eaf 10.63.0 2018-12-11 21:20:26 +09:00
89b37bd73d Merge pull request #3571 from syuilo/l10n_develop
New Crowdin translations
2018-12-11 21:19:57 +09:00
69f246ce7f Fix bug 2018-12-11 21:17:57 +09:00
6a97f0b7f6 [Client] Fix bug 2018-12-11 20:59:25 +09:00
d885b872f3 Fix bug 2018-12-11 20:47:07 +09:00
125849673a Use for-of instead of forEach (#3583)
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2018-12-11 20:36:55 +09:00
30c53e9ee0 Fix error 2018-12-11 20:33:52 +09:00
981fb9e8f3 New translations ja-JP.yml (English) 2018-12-11 20:32:25 +09:00
9fac22d880 New translations ja-JP.yml (Norwegian) 2018-12-11 20:23:11 +09:00
b8f034064a New translations ja-JP.yml (Dutch) 2018-12-11 20:23:07 +09:00
6068227434 New translations ja-JP.yml (Japanese, Kansai) 2018-12-11 20:23:02 +09:00
69cda49c88 New translations ja-JP.yml (Spanish) 2018-12-11 20:22:58 +09:00
039d821d20 New translations ja-JP.yml (Russian) 2018-12-11 20:22:53 +09:00
44d93bc408 New translations ja-JP.yml (Portuguese) 2018-12-11 20:22:48 +09:00
cfa76ac6f9 New translations ja-JP.yml (Polish) 2018-12-11 20:22:44 +09:00
0ec2d16522 New translations ja-JP.yml (Korean) 2018-12-11 20:22:39 +09:00
6bcac1fe14 New translations ja-JP.yml (Italian) 2018-12-11 20:22:35 +09:00
bc9427d000 New translations ja-JP.yml (German) 2018-12-11 20:22:30 +09:00
07c043361e New translations ja-JP.yml (French) 2018-12-11 20:22:26 +09:00
e676a9a501 New translations ja-JP.yml (English) 2018-12-11 20:22:22 +09:00
09e654c6d2 New translations ja-JP.yml (Chinese Simplified) 2018-12-11 20:22:17 +09:00
549cb1ba87 New translations ja-JP.yml (Catalan) 2018-12-11 20:22:13 +09:00
c633827e5e Update typescript requirement from 3.1.6 to 3.2.2 (#3585)
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.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-11 20:21:03 +09:00
08142ead67 Resolve #3581 (#3589)
* Update ja-JP.yml

* Create 404.vue

* Update script.ts

* Update script.ts

* Update script.ts

* Update script.ts

* Update script.ts

* Update script.ts

* Update 404.vue

* Update meta.ts

* Update instance.vue

* Update update-meta.ts
2018-12-11 20:19:13 +09:00
638d81b66e Show user fields (#3590) 2018-12-11 20:18:12 +09:00
4c83c2f64d New translations ja-JP.yml (Norwegian) 2018-12-11 18:25:19 +09:00
bf56f90fdc New translations ja-JP.yml (Dutch) 2018-12-11 18:25:14 +09:00
d8412aad7a New translations ja-JP.yml (Japanese, Kansai) 2018-12-11 18:25:09 +09:00
c136741710 New translations ja-JP.yml (Spanish) 2018-12-11 18:25:05 +09:00
4fe8454da0 New translations ja-JP.yml (Russian) 2018-12-11 18:25:00 +09:00
3f2161dadd New translations ja-JP.yml (Portuguese) 2018-12-11 18:24:55 +09:00
3db516aa1a New translations ja-JP.yml (Polish) 2018-12-11 18:24:50 +09:00
367bbbe605 New translations ja-JP.yml (Korean) 2018-12-11 18:24:45 +09:00
5b70ff561c New translations ja-JP.yml (Italian) 2018-12-11 18:24:40 +09:00
4486527e5d New translations ja-JP.yml (German) 2018-12-11 18:24:36 +09:00
147e23d332 New translations ja-JP.yml (French) 2018-12-11 18:24:31 +09:00
ee20e6950e New translations ja-JP.yml (English) 2018-12-11 18:24:26 +09:00
1d217154ef New translations ja-JP.yml (Chinese Simplified) 2018-12-11 18:24:22 +09:00
27d304a1ab New translations ja-JP.yml (Catalan) 2018-12-11 18:24:17 +09:00
1d1a373ca8 Update ja-JP.yml 2018-12-11 18:12:18 +09:00
bca3c6f8bf 🎨 2018-12-11 04:29:47 +09:00
d83d661535 New translations ja-JP.yml (French) 2018-12-11 00:02:10 +09:00
e16906afc3 Refactor /.autogen (#3551)
* Create patreon.jq

* Create check_pr.jq

* Rename check_pr.jq to .autogen/check_pr.jq

* Create next_url.jq

* Update autogen.sh

* Rename autogen.sh to update_readme_patreon.sh
2018-12-10 23:22:52 +09:00
a6dc0f3684 Fix #3325 2018-12-10 23:13:50 +09:00
6120474548 Use && and || to eliminate if-statement (#3559)
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2018-12-10 17:08:48 +09:00
121dd86299 [Client] Fix #3396 2018-12-10 12:31:04 +09:00
5251d9f668 New translations ja-JP.yml (Korean) 2018-12-10 07:32:10 +09:00
7ae3f569de New translations ja-JP.yml (Polish) 2018-12-10 04:42:02 +09:00
142ebead59 New translations ja-JP.yml (Polish) 2018-12-10 04:31:59 +09:00
e196086c64 New translations ja-JP.yml (Polish) 2018-12-10 04:11:59 +09:00
8c6ed98505 New translations ja-JP.yml (English) 2018-12-10 03:51:43 +09:00
98a2953c9c Fix bug 2018-12-10 01:44:43 +09:00
61d224695b New translations ja-JP.yml (Polish) 2018-12-10 01:02:02 +09:00
6967def6c8 Use primitive type string instead of String (#3578) 2018-12-09 23:26:32 +09:00
393c6aa79a 10.62.2 2018-12-09 23:15:06 +09:00
fc05540404 Fix bug? 2018-12-09 23:12:08 +09:00
1c589c7c18 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-09 23:10:06 +09:00
284df27435 Use camelCase 2018-12-09 23:10:02 +09:00
68c0600a5c New translations ja-JP.yml (Polish) 2018-12-09 22:12:14 +09:00
b8163bd0e1 New translations ja-JP.yml (Polish) 2018-12-09 22:02:27 +09:00
8c25b9dfad New translations ja-JP.yml (Polish) 2018-12-09 21:51:59 +09:00
bf34f67583 New translations ja-JP.yml (Polish) 2018-12-09 21:42:34 +09:00
0c63f410d6 New translations ja-JP.yml (Polish) 2018-12-09 21:32:06 +09:00
069077ace4 New translations ja-JP.yml (Polish) 2018-12-09 21:22:17 +09:00
5be947ea4d New translations ja-JP.yml (Polish) 2018-12-09 21:12:01 +09:00
b41ffa75b7 New translations ja-JP.yml (Polish) 2018-12-09 21:02:34 +09:00
cd80e02ebf Re: #3556 (#3568)
* Update index.ts

* Update index.ts
2018-12-09 18:39:13 +09:00
dffcefb81f Fix mobile following/followed list (#3574) 2018-12-09 16:00:32 +09:00
48df08d4dc New translations ja-JP.yml (Norwegian) 2018-12-09 14:32:46 +09:00
4de9a08e55 New translations ja-JP.yml (Dutch) 2018-12-09 14:32:41 +09:00
3f46b5259b New translations ja-JP.yml (Japanese, Kansai) 2018-12-09 14:32:35 +09:00
2faa8ea97c New translations ja-JP.yml (Spanish) 2018-12-09 14:32:30 +09:00
514690cf18 New translations ja-JP.yml (Russian) 2018-12-09 14:32:26 +09:00
f4f78c1898 New translations ja-JP.yml (Portuguese) 2018-12-09 14:32:22 +09:00
2d24befb15 New translations ja-JP.yml (Polish) 2018-12-09 14:32:17 +09:00
184d88838c New translations ja-JP.yml (Korean) 2018-12-09 14:32:11 +09:00
4490503d59 New translations ja-JP.yml (Italian) 2018-12-09 14:32:06 +09:00
99750435ae New translations ja-JP.yml (German) 2018-12-09 14:32:02 +09:00
fae920e578 New translations ja-JP.yml (French) 2018-12-09 14:31:56 +09:00
0243b6d13b New translations ja-JP.yml (English) 2018-12-09 14:31:51 +09:00
12bc725d68 New translations ja-JP.yml (Chinese Simplified) 2018-12-09 14:31:46 +09:00
b1a7b781ec New translations ja-JP.yml (Catalan) 2018-12-09 14:31:40 +09:00
7e1cad3e12 Improve tags settings (#3569) 2018-12-09 14:24:24 +09:00
fd3f4c37a0 Merge pull request #3565 from syuilo/l10n_develop
New Crowdin translations
2018-12-09 13:28:48 +09:00
3acd2e0f0c 🎨 2018-12-09 13:25:46 +09:00
b1b5a795c8 Revert "Eliminate if-statement (#3556)"
This reverts commit fb8b0c291d.
2018-12-09 13:21:42 +09:00
197e2c8377 #2501 (#3567)
* refactor mfm/html

* fix

* fix

* https://github.com/syuilo/misskey/pull/3567#discussion_r240023301
2018-12-09 13:15:32 +09:00
fb8b0c291d Eliminate if-statement (#3556) 2018-12-09 13:13:00 +09:00
706d47ec32 #2501 (#3560)
* #2501

* Update stream.ts
2018-12-09 13:09:31 +09:00
4eab2b3654 New translations ja-JP.yml (Korean) 2018-12-09 10:55:30 +09:00
0a78f560e0 New translations ja-JP.yml (Polish) 2018-12-09 09:52:03 +09:00
f6f79fb388 Refactor getChildrenCount (#3554)
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2018-12-09 09:44:51 +09:00
34235d4d44 Refactor getTextCount (#3553)
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2018-12-09 09:44:24 +09:00
21842ec190 New translations ja-JP.yml (Polish) 2018-12-09 09:42:15 +09:00
026e1cc7e7 New translations ja-JP.yml (Polish) 2018-12-09 09:32:08 +09:00
c65f4eebaf New translations ja-JP.yml (Polish) 2018-12-09 09:21:57 +09:00
17baf8770a Eliminate if-statement (#3564) 2018-12-09 03:45:47 +09:00
01f60edb17 Eliminate duplicated condition on if-statement (#3563) 2018-12-09 03:45:07 +09:00
15b11e59f4 Eliminate if-statement (#3562) 2018-12-09 03:44:37 +09:00
a2db4db963 Eliminate if-statement (#3561)
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2018-12-09 03:43:58 +09:00
e87b9cc019 Use && to eliminate if-statement (#3558) 2018-12-09 03:41:18 +09:00
54cb94db1d Eliminate if-statement (#3555) 2018-12-09 03:40:40 +09:00
1de8e1eeb1 #2501 2018-12-09 01:05:55 +09:00
1d8fb65959 Fix follow duplicate (#3548)
* フォローとリクエスト両方存在しても解除する

* 既にフォローしてても承認できるように
2018-12-08 18:55:00 +09:00
28482627f7 improve user-integration display in the user page (#3541)
* improve user-integration display in the user page

* delete unnecessary comma
2018-12-08 16:59:29 +09:00
4ee7df887d 10.62.1 2018-12-08 10:58:13 +09:00
b040571fa8 Merge pull request #3481 from syuilo/l10n_develop
New Crowdin translations
2018-12-08 10:56:26 +09:00
fbd5e4bab8 New translations ja-JP.yml (English) 2018-12-08 10:55:59 +09:00
498bdd1cd0 New translations ja-JP.yml (Norwegian) 2018-12-08 10:42:58 +09:00
102cca8971 New translations ja-JP.yml (Dutch) 2018-12-08 10:42:53 +09:00
e710ad4c5f New translations ja-JP.yml (Japanese, Kansai) 2018-12-08 10:42:49 +09:00
f64f6fd603 New translations ja-JP.yml (Spanish) 2018-12-08 10:42:45 +09:00
5995020c64 New translations ja-JP.yml (Russian) 2018-12-08 10:42:38 +09:00
2dc86ec1ac New translations ja-JP.yml (Portuguese) 2018-12-08 10:42:32 +09:00
d50bcbdb23 New translations ja-JP.yml (Polish) 2018-12-08 10:42:27 +09:00
19afd0ba61 New translations ja-JP.yml (Korean) 2018-12-08 10:42:21 +09:00
7a787fa95c New translations ja-JP.yml (Italian) 2018-12-08 10:42:15 +09:00
4e85eb90cb New translations ja-JP.yml (German) 2018-12-08 10:42:09 +09:00
d4474b953e Update diskusage requirement from 0.2.5 to 1.0.0 (#3498)
Updates the requirements on [diskusage](https://github.com/jduncanator/node-diskusage) to permit the latest version.
- [Release notes](https://github.com/jduncanator/node-diskusage/releases)
- [Commits](https://github.com/jduncanator/node-diskusage/commits/1.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:42:07 +09:00
0aaf3d7bd7 New translations ja-JP.yml (French) 2018-12-08 10:42:03 +09:00
02bb2423af New translations ja-JP.yml (English) 2018-12-08 10:41:58 +09:00
e9b25f17af Update autobind-decorator requirement from 2.3.1 to 2.4.0 (#3533)
Updates the requirements on [autobind-decorator](https://github.com/andreypopp/autobind-decorator) to permit the latest version.
- [Release notes](https://github.com/andreypopp/autobind-decorator/releases)
- [Changelog](https://github.com/andreypopp/autobind-decorator/blob/master/CHANGELOG.md)
- [Commits](https://github.com/andreypopp/autobind-decorator/commits/v2.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:41:53 +09:00
96671c5c7e New translations ja-JP.yml (Chinese Simplified) 2018-12-08 10:41:53 +09:00
4fc786f062 New translations ja-JP.yml (Catalan) 2018-12-08 10:41:49 +09:00
51c0cca4ff Update @types/koa-bodyparser requirement from 5.0.1 to 5.0.2 (#3531)
Updates the requirements on [@types/koa-bodyparser](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>
2018-12-08 10:41:42 +09:00
bd344628f6 Update @types/webpack requirement from 4.4.19 to 4.4.20 (#3515)
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>
2018-12-08 10:41:00 +09:00
48deb35d4b Update server-stats.ts (#3512) 2018-12-08 10:40:45 +09:00
f9792f0d5c Update v-animate-css requirement from 0.0.2 to 0.0.3 (#3532)
Updates the requirements on [v-animate-css](https://github.com/jofftiquez/v-animate-css) to permit the latest version.
- [Release notes](https://github.com/jofftiquez/v-animate-css/releases)
- [Commits](https://github.com/jofftiquez/v-animate-css/commits/v0.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:40:15 +09:00
0157033104 Update file-type requirement from 10.4.0 to 10.6.0 (#3538)
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/commits/v10.6.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:39:17 +09:00
596f92cfcc [Client] Improve cw-button 2018-12-08 10:36:26 +09:00
b2dedf7f98 Add comment 2018-12-08 10:20:43 +09:00
34393ef89f Improve custom emoji parsing (#3539)
* Use MFM parser for extracting emoji in name

* Fix custom emoji regex

* Revert "Fix custom emoji regex"

This reverts commit 4c21caf59753e7653c02f81ddf0cde8c44f48008.
2018-12-08 06:39:15 +09:00
7e11cd3b99 New translations ja-JP.yml (Norwegian) 2018-12-08 06:22:51 +09:00
dd1622296d New translations ja-JP.yml (Dutch) 2018-12-08 06:22:46 +09:00
77cb59a6ac New translations ja-JP.yml (Japanese, Kansai) 2018-12-08 06:22:41 +09:00
a2b60e38a3 New translations ja-JP.yml (Spanish) 2018-12-08 06:22:37 +09:00
f0570bf111 New translations ja-JP.yml (Russian) 2018-12-08 06:22:33 +09:00
b980164318 New translations ja-JP.yml (Portuguese) 2018-12-08 06:22:27 +09:00
3e7ff586a5 New translations ja-JP.yml (Polish) 2018-12-08 06:22:23 +09:00
923bbcbf6b New translations ja-JP.yml (Korean) 2018-12-08 06:22:19 +09:00
8cc85931d6 New translations ja-JP.yml (Italian) 2018-12-08 06:22:14 +09:00
b25522a091 New translations ja-JP.yml (German) 2018-12-08 06:22:10 +09:00
97ae7e9ef4 New translations ja-JP.yml (French) 2018-12-08 06:22:04 +09:00
d25bd65722 New translations ja-JP.yml (English) 2018-12-08 06:21:58 +09:00
f4f98c25f7 New translations ja-JP.yml (Chinese Simplified) 2018-12-08 06:21:55 +09:00
336607568f New translations ja-JP.yml (Catalan) 2018-12-08 06:21:50 +09:00
e2843a5ce4 Resolve #3537 (#3540)
* Resolve #3537

* tune
2018-12-08 06:18:37 +09:00
702875a78e Apply tag length limit from AP (#3536) 2018-12-07 21:01:43 +09:00
0fa8c6afd2 New translations ja-JP.yml (French) 2018-12-07 20:22:26 +09:00
96571866a3 #2593 (mobile) (#3521) 2018-12-07 18:33:09 +09:00
f72b00bec7 Update parser.ts 2018-12-07 18:26:54 +09:00
1e7b5a0a98 Resolve #3529 2018-12-07 17:54:35 +09:00
9f09afc824 Fix bug caused by Chrome 71 (#3535)
* Update emoji.vue

* Update autocomplete.vue

* Update emoji.vue

* Update autocomplete.vue

* Update emoji.vue
2018-12-07 17:21:34 +09:00
93b599dc8e Add user name conversions (#3534)
* Add user name conversions

* add conversion
2018-12-07 11:29:49 +09:00
1c722494de Update README.md [AUTOGEN] (#3527) 2018-12-07 11:27:52 +09:00
a464c8d1d0 New translations ja-JP.yml (Korean) 2018-12-07 07:22:36 +09:00
51362e9a52 New translations ja-JP.yml (Polish) 2018-12-07 07:12:33 +09:00
3c086fe8c7 New translations ja-JP.yml (Polish) 2018-12-07 07:04:28 +09:00
f3b1248bd8 New translations ja-JP.yml (Polish) 2018-12-07 07:02:30 +09:00
4e529ee7d0 New translations ja-JP.yml (Polish) 2018-12-07 06:42:25 +09:00
a2b975a493 New translations ja-JP.yml (Polish) 2018-12-07 06:31:54 +09:00
13055d1496 New translations ja-JP.yml (English) 2018-12-07 00:12:25 +09:00
78b5af4e4f New translations ja-JP.yml (English) 2018-12-07 00:03:51 +09:00
008432e156 lint fix (#3522) 2018-12-06 19:15:09 +09:00
d3d50b2f79 Add missing comma 2018-12-06 17:02:44 +09:00
eefeb4c268 #2593 (desktop) (#3518) 2018-12-06 16:56:24 +09:00
a8434b3bc5 New translations ja-JP.yml (Norwegian) 2018-12-06 11:14:30 +09:00
f110b2b320 New translations ja-JP.yml (Dutch) 2018-12-06 11:14:26 +09:00
0543cffe00 New translations ja-JP.yml (Japanese, Kansai) 2018-12-06 11:14:19 +09:00
0383cbe43f New translations ja-JP.yml (Spanish) 2018-12-06 11:14:15 +09:00
9dd1203583 New translations ja-JP.yml (Russian) 2018-12-06 11:14:10 +09:00
4eeeaffdee New translations ja-JP.yml (Portuguese) 2018-12-06 11:14:05 +09:00
6f73f3d7a1 New translations ja-JP.yml (Polish) 2018-12-06 11:14:01 +09:00
aa9cd211dd New translations ja-JP.yml (Korean) 2018-12-06 11:13:56 +09:00
3cdf4f01f8 New translations ja-JP.yml (Italian) 2018-12-06 11:13:51 +09:00
d0f84643d8 New translations ja-JP.yml (German) 2018-12-06 11:13:47 +09:00
89707ad436 New translations ja-JP.yml (French) 2018-12-06 11:13:40 +09:00
163d81c1b0 New translations ja-JP.yml (English) 2018-12-06 11:13:36 +09:00
81a7213583 New translations ja-JP.yml (Chinese Simplified) 2018-12-06 11:13:32 +09:00
8f92a07d68 New translations ja-JP.yml (Catalan) 2018-12-06 11:13:27 +09:00
0a1ac12d97 New translations ja-JP.yml (Norwegian) 2018-12-06 10:23:42 +09:00
e800104ac4 New translations ja-JP.yml (Dutch) 2018-12-06 10:23:38 +09:00
05cb94eb77 New translations ja-JP.yml (Japanese, Kansai) 2018-12-06 10:23:33 +09:00
51499e04e0 New translations ja-JP.yml (Spanish) 2018-12-06 10:23:29 +09:00
0c993ef851 New translations ja-JP.yml (Russian) 2018-12-06 10:23:22 +09:00
b27fced30d New translations ja-JP.yml (Portuguese) 2018-12-06 10:23:18 +09:00
2b7da9d98c New translations ja-JP.yml (Polish) 2018-12-06 10:23:14 +09:00
cd66f86f08 New translations ja-JP.yml (Korean) 2018-12-06 10:23:10 +09:00
a2e7cab573 New translations ja-JP.yml (Italian) 2018-12-06 10:23:05 +09:00
f81f7d51c5 New translations ja-JP.yml (German) 2018-12-06 10:23:00 +09:00
7fb640e38f New translations ja-JP.yml (French) 2018-12-06 10:22:54 +09:00
c7561be15f New translations ja-JP.yml (English) 2018-12-06 10:22:50 +09:00
741c81bca9 New translations ja-JP.yml (Chinese Simplified) 2018-12-06 10:22:45 +09:00
1e38528716 New translations ja-JP.yml (Catalan) 2018-12-06 10:22:41 +09:00
719f9c8c02 New translations ja-JP.yml (Korean) 2018-12-06 08:21:50 +09:00
95b6684cfd New translations ja-JP.yml (English) 2018-12-05 23:02:24 +09:00
0db48c778f New translations ja-JP.yml (Norwegian) 2018-12-05 18:59:25 +09:00
13a2f9373c New translations ja-JP.yml (Dutch) 2018-12-05 18:59:19 +09:00
ae4d504392 New translations ja-JP.yml (Japanese, Kansai) 2018-12-05 18:59:15 +09:00
85d240625d New translations ja-JP.yml (Spanish) 2018-12-05 18:59:09 +09:00
db646b0ad9 New translations ja-JP.yml (Russian) 2018-12-05 18:59:04 +09:00
2570d50957 New translations ja-JP.yml (Portuguese) 2018-12-05 18:58:58 +09:00
7faecaadcf New translations ja-JP.yml (Polish) 2018-12-05 18:58:53 +09:00
dcbcb18081 New translations ja-JP.yml (Korean) 2018-12-05 18:58:49 +09:00
f1a61a268e New translations ja-JP.yml (Italian) 2018-12-05 18:58:44 +09:00
d7636355a1 New translations ja-JP.yml (German) 2018-12-05 18:58:37 +09:00
ed2993b3f2 New translations ja-JP.yml (French) 2018-12-05 18:58:30 +09:00
1368c9d182 New translations ja-JP.yml (English) 2018-12-05 18:58:25 +09:00
c5e3c07c16 New translations ja-JP.yml (Chinese Simplified) 2018-12-05 18:58:21 +09:00
f8395166af New translations ja-JP.yml (Catalan) 2018-12-05 18:58:14 +09:00
5b0bf98b3c New translations ja-JP.yml (Norwegian) 2018-12-05 17:38:57 +09:00
adffac1000 New translations ja-JP.yml (Dutch) 2018-12-05 17:38:53 +09:00
3a1672b061 New translations ja-JP.yml (Japanese, Kansai) 2018-12-05 17:38:48 +09:00
e7658be6cd New translations ja-JP.yml (Spanish) 2018-12-05 17:38:42 +09:00
63533ad9c8 New translations ja-JP.yml (Russian) 2018-12-05 17:38:37 +09:00
34b431fa1d New translations ja-JP.yml (Portuguese) 2018-12-05 17:38:32 +09:00
958802dbe0 New translations ja-JP.yml (Polish) 2018-12-05 17:38:28 +09:00
8681259597 New translations ja-JP.yml (Korean) 2018-12-05 17:38:21 +09:00
f3d76c06db New translations ja-JP.yml (Italian) 2018-12-05 17:38:17 +09:00
3f32a9bfff New translations ja-JP.yml (German) 2018-12-05 17:38:12 +09:00
c497149765 New translations ja-JP.yml (French) 2018-12-05 17:38:08 +09:00
9159613f2f New translations ja-JP.yml (English) 2018-12-05 17:38:02 +09:00
70e95a5cdb New translations ja-JP.yml (Chinese Simplified) 2018-12-05 17:37:58 +09:00
b0f82749aa New translations ja-JP.yml (Catalan) 2018-12-05 17:37:52 +09:00
006ecec443 New translations ja-JP.yml (French) 2018-12-05 17:12:08 +09:00
effcf0a609 New translations ja-JP.yml (French) 2018-12-05 17:03:30 +09:00
3852d0b2c3 New translations ja-JP.yml (English) 2018-12-05 14:19:33 +09:00
ec67590dbe New translations ja-JP.yml (English) 2018-12-05 14:02:11 +09:00
f8af57dffb New translations ja-JP.yml (Polish) 2018-12-05 05:49:15 +09:00
2b058be3aa New translations ja-JP.yml (Polish) 2018-12-05 05:32:20 +09:00
67efd30553 New translations ja-JP.yml (Polish) 2018-12-05 05:28:00 +09:00
8d1fdc5aa4 New translations ja-JP.yml (Polish) 2018-12-05 05:12:28 +09:00
d033103163 New translations ja-JP.yml (Polish) 2018-12-05 05:02:39 +09:00
53dff28a21 New translations ja-JP.yml (Korean) 2018-12-05 03:32:18 +09:00
53c37036ee New translations ja-JP.yml (Korean) 2018-12-05 03:27:30 +09:00
133c879a3a New translations ja-JP.yml (Korean) 2018-12-05 03:22:27 +09:00
dd2207d430 New translations ja-JP.yml (Japanese, Kansai) 2018-12-04 00:22:34 +09:00
ffd6ac2434 New translations ja-JP.yml (Japanese, Kansai) 2018-12-04 00:12:59 +09:00
27f93cc112 New translations ja-JP.yml (Japanese, Kansai) 2018-12-04 00:02:37 +09:00
7ee88a69ec New translations ja-JP.yml (Japanese, Kansai) 2018-12-03 23:53:23 +09:00
37a360efd9 New translations ja-JP.yml (Norwegian) 2018-12-03 20:14:07 +09:00
3a850823a9 New translations ja-JP.yml (Dutch) 2018-12-03 20:14:02 +09:00
4da53b7382 New translations ja-JP.yml (Japanese, Kansai) 2018-12-03 20:13:55 +09:00
cb6f94735f New translations ja-JP.yml (Spanish) 2018-12-03 20:13:51 +09:00
c073a20969 New translations ja-JP.yml (Russian) 2018-12-03 20:13:45 +09:00
6dc8a385ee New translations ja-JP.yml (Portuguese) 2018-12-03 20:13:39 +09:00
f299c050b8 New translations ja-JP.yml (Polish) 2018-12-03 20:13:35 +09:00
eed540a51c New translations ja-JP.yml (Korean) 2018-12-03 20:13:30 +09:00
5db72c4d71 New translations ja-JP.yml (Italian) 2018-12-03 20:13:25 +09:00
fc0bbfa759 New translations ja-JP.yml (German) 2018-12-03 20:13:20 +09:00
6d63c81dd5 New translations ja-JP.yml (French) 2018-12-03 20:13:15 +09:00
bea42924cb New translations ja-JP.yml (English) 2018-12-03 20:13:10 +09:00
b48ef68c12 New translations ja-JP.yml (Chinese Simplified) 2018-12-03 20:13:05 +09:00
65109d140b New translations ja-JP.yml (Catalan) 2018-12-03 20:12:57 +09:00
452 changed files with 11326 additions and 5528 deletions

3
.autogen/check_pr.jq Normal file
View File

@ -0,0 +1,3 @@
.[]
.head
.label

2
.autogen/next_url.jq Normal file
View File

@ -0,0 +1,2 @@
.links
.next

39
.autogen/patreon.jq Normal file
View File

@ -0,0 +1,39 @@
(
.data |
map(
select(
.relationships
.currently_entitled_tiers
.data[]
)
) |
map(
.relationships
.user
.data
.id
)
) as $data |
.included |
map(
select(
.id as $id |
$data |
contains(
[
$id
]
)
)
) |
map(
.attributes |
[
.full_name,
.thumb_url,
.url
] |
@tsv
) |
.[] |
@text

View File

@ -5,7 +5,7 @@
# __MISSKEY_HEAD=acid-chicken: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 '.[].head.label' | grep $__MISSKEY_HEAD)" && exit 1
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
cd "$(dirname $0)/.." && \
touch null.cache && \
rm *.cache && \
@ -30,12 +30,12 @@ while :
touch patreon.cache && \
rm patreon.cache && \
cat patreon.raw.cache | \
jq -r '(.data|map(select(.relationships.currently_entitled_tiers.data[]))|map(.relationships.user.data.id))as$data|.included|map(select(.id as$id|$data|contains([$id])))|map(.attributes|[.full_name,.thumb_url,.url]|@tsv)|.[]|@text' >> patreon.cache && \
jq -r -f patreon.jq >> patreon.cache && \
echo '<table><tr>' >> patreon.md.cache && \
cat patreon.cache | \
awk -F'\t' '{print $2,$1}' | \
sed -e 's/ /\\" alt=\\"/' | \
xargs -I% echo '<td><img src="%"></td>' >> patreon.md.cache && \
xargs -I% echo '<td><img src="%" width="100"></td>' >> patreon.md.cache && \
echo '</tr><tr>' >> patreon.md.cache && \
cat patreon.cache | \
awk -F'\t' '{print $3,$1}' | \
@ -43,7 +43,7 @@ while :
xargs -I% echo '<td><a href="%</a></td>' >> patreon.md.cache && \
echo '</tr></table>' >> patreon.md.cache || \
exit 1
new_url="$(cat patreon.raw.cache | jq -r '.links.next')"
new_url="$(cat patreon.raw.cache | jq -r -f next_url.jq)"
test "$new_url" = 'null' && \
break || \
URL="$url"

View File

@ -54,6 +54,8 @@ jobs:
- run:
name: Build
command: |
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)
ls -1ARl node_modules > ls
- save_cache:
@ -88,7 +90,7 @@ 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)
npm run test
ls -1ARl node_modules > ls
- save_cache:
name: Cache npm packages

View File

@ -108,13 +108,5 @@ autoAdmin: true
# port: 9200
# pass: null
# ServiceWorker
#sw:
# # Public key of VAPID
# public_key: example-sw-public-key
#
# # Private key of VAPID
# private_key: example-sw-private-key
# 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

13
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,13 @@
# Summary
<!--
-
- * Please describe your changes here *
-
- If you are going to resolve some issue, please add this context.
- Resolve #ISSUE_NUMBER
-
- If you are going to fix some bug issue, please add this context.
- Fix #ISSUE_NUMBER
-
-->

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,9 +1,253 @@
ChangeLog
=========
破壊的変更のみ記載。
10.79.0
----------
* 返信するときにCWを維持するかどうか設定できるように
* 外部サービス認証情報の配信
* 管理画面のモデレーションのUIを強化
* 管理画面からリモートユーザーの情報を更新できるように
* 回転構文の追加
* 左右反転構文の追加
* 複数行の数式構文を追加
* シンタックスハイライトの強化
* 引用投稿を削除したとき単なるRenoteとしてタイムラインに残る問題を修正
* イタリック構文の判定の改善
* タイトル構文の判定の改善
* テーマが反映されないことがある問題を修正
* ホームにフォロワー限定投稿が表示されない問題を修正
* 返信一覧を取得すると非公開投稿も取得されてしまう問題を修正
* メンション一覧を取得すると非公開投稿も取得されてしまう問題を修正
* 通知に非公開投稿が表示される問題を修正
* ダイレクトで投稿すると100の確率で表示が二重になる問題を修正
* ウィジットの投稿フォームで投稿するとデフォルトの公開範囲が適用されない問題を修正
This document describes breaking changes only.
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
----------
* ダイレクトを非公開のように使えるように
* モデレーターを凍結できないように
* モデレーター登録を解除できるように
* NSFWなメディアをユーザーページなどで表示しないように
* 管理画面でユーザーを状態でフィルタできるように
* 管理者がサインイン履歴を参照できるツール
* Renote数を再度表示するように
* インスタンス情報ページの追加
* テーマの調整
* UIの改善
10.74.0
----------
* Pleromaとのフェデレーションを修正
* インスタンスのキャラクター画像を設定できるように
* Catモードの朝鮮語対応
* CWが付いた投稿に返信する際、そのCWを引き継ぐように
* 投稿のソースをクリップボードにコピーできるように
* i/notifications API で取得する通知の種別を配列で指定できるように
* パフォーマンスの改善
* バグ修正
10.73.0
-------
* テーマの強化
* line thiknessの設定はデバイスに保存するように
10.72.0
-------
* いくつかのテーマの追加
* デザインの調整
* バグ修正
* など
10.71.0
-------
* いくつかのテーマの追加
10.70.1
-------
* notes/mentions にミュートを適用するように
* Add id to return of users/relation
* デザインの調整
10.70.0
-------
* フォローしているユーザーからのフォローを自動承認するオプション
* 「非公開」の公開範囲を廃止
* Renote数の表示を廃止
* 投稿のフィルタリングを強化
* デザインの調整
10.69.0
-------
* 通知の管理を強化
* ユーザビリティの強化
* デザインの調整
10.68.0
-------
* 特定ユーザーにメンション付きで新規投稿ができるボタンを追加
* 自分の投稿にリアクションできないように
* 数式に文法エラーがあるとき、数式のソースをそのまま表示するように
* CWボタンにアンケートの有無を表記するように
* デスクトップ版で設定を新しいタブで開くように
* モバイル版で検索ができない問題を修正
* i18nの修正
10.67.0
-------
* トークのメッセージを削除できるように
* リアクションを取り消せるように
* Misskey以外のソフトウェアからの「Like」アクティビティをプリンではなく「いいね」として扱うように
* i18nの修正
* バグ修正
* など
10.66.2
-------
* i18nの修正
* ドライブのファイル一覧取得APIでファイルサイズによるソートが機能していなかった問題を修正
* リモートユーザーの更新時に、各ピン留め投稿の取得失敗は無視するように
* リモートMisskeyユーザーの情報が登録/更新出来なくなっていたのを修正
* メンションのリンク先URLに余計な@がプリフィクスされていたのを修正
* ダイレクトでリプライする際、リプライ先のユーザーは自動的に公開先として追加するように
* ダイレクトでメンションでもユーザーを指定できるように
10.66.1
-------
* ActivityPubのsharedInboxに関して修正
* MFMでのカッコの判定を改善
* バグ修正
10.66.0
-------
* ユーザーごとのRSSフィードを提供するように
* リストのユーザーがすべて表示できない問題を修正
* デザインの調整
* パフォーマンスの改善
10.65.0
-------
* 検索で投稿やユーザーのURLを入力した際にそれをフェッチして表示するように
* リストのリネームと削除をできるように
* リストからユーザーを削除できるように
* リモートの絵文字を更新するように
* ActivityPubのための絵文字エンドポイントを実装
* 管理者がドライブのファイルのNSFWを設定できるように
* ServiceWorkerの設定を管理者ページで行えるように
* メンションの判定を改善
* リモートの投稿を引用した際にオリジナルのURLを挿入するように
* クライアントのパフォーマンス改善
* CWの内容がタブタイトルに表示されるのを修正
* アカウントを作成したときにログイン状態にならない問題を修正
* 時計の針にテーマカラーが適用されていなかったのを修正
* 一部の日時の表示が日本語で表示されていたのを修正
* プロフィールの写真欄に画像以外のファイルが含まれる問題を修正
* メンションが含まれる投稿に返信する際、フォームに予めそれらのメンションがセットされた状態にならない問題を修正
* デッキのTLにUIの動きを減らすオプションが適用されていなかったのを修正
* ログイン画面のタイムラインに隠した投稿が表示される問題を修正
* サジェストが複数開いてしまう問題を修正
* APから来たタグに登録時の長さ制限が適用されていなかったのを修正
10.64.2
-------
* UIの動きを減らすオプションが一部のアニメーションに適用されなかったのを修正
10.64.1
-------
* レートリミットの調整
* アニメーションの調整
10.64.0
-------
* いくつかのアニメーションを追加
* OGP向けにインスタンスのバナー画像を提供するように
* 管理者ページでドライブのファイルを表示できるように
* ユーザビリティの強化
* バグ修正
10.63.1
-------
* メンションの表示を改善
* バグ修正
10.63.0
-------
* ActivityPubのユーザーフィールドをユーザーページに表示
* 404ページの実装
* パフォーマンスの向上
* バグ修正
10.62.2
-------
* バグ修正
* ユーザビリティの向上
10.0.0
------

View File

@ -25,3 +25,22 @@ Misskey uses [vue-i18n](https://github.com/kazupon/vue-i18n).
## Continuous integration
Misskey uses CircleCI for automated test.
Configuration files are located in `/.circleci`.
## Glossary
### AP
Stands for _**A**ctivity**P**ub_.
### MFM
Stands for _**M**isskey **F**lavored **M**arkdown_.
### Mk
Stands for _**M**iss**k**ey_.
### SW
Stands for _**S**ervice**W**orker_.
### Nyaize
な を にゃ にすること
#### Denyaize
Nyaizeを解除すること

View File

@ -3,17 +3,17 @@
[![Misskey](/assets/title.png)](https://misskey.xyz/)
================================================================
[![CircleCI](https://circleci.com/gh/syuilo/misskey.svg?style=svg)](https://circleci.com/gh/syuilo/misskey)
[![][dependencies-badge]][dependencies-link]
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![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)
**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,83 +54,103 @@ 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.
: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).
### 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 & Sponsors
----------------------------------------------------------------
<!-- PATREON_START -->
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/1?token-time=2145916800&token-hash=Zeh1u6l_Vmgoy8A1eT1Sltea-_SZSq8t8uOWDRZRh94%3D" alt="weep"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13376668/71f3cf87ec6c4393a44b1b9df5ee3d12/1?token-time=2145916800&token-hash=7pSmWqgMfMSJHVIEcNsuuQoKeU3TRluew5p0EGTzWA4%3D" alt="Arctic"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=Yd60FK_SWfQO56SeiJpy1tDHOnCV4xdEywQe8gn5_Wo%3D" alt="negao"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/2?token-time=2145916800&token-hash=mgPdX9TqZxEg4TTPuc477dxhIgYk9246qafjWZEqZ7g%3D" alt="Melilot"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=0eu4-m1gTWA9PhptVZt6rdKcusqcD7RB87rJT23VVFI%3D" alt="べすれい"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=GgJ_NmUB6_nnRNLVGUWjV-WX91On7BOu59LKncYV9fE%3D" alt="gutfuckllc"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1?token-time=2145916800&token-hash=I8lJVM8LeW6TSo5W6uIIRZ42cw83zp1wK_FsbzY0mcQ%3D" alt="mydarkstar"></td>
<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://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/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/3?token-time=2145916800&token-hash=c8HeVqLtmdgH-gSBJg8i10gmOcwllM87MDHeznl3el0%3D" alt="Melilot" 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/user?u=13376668">Arctic</a></td>
<td><a href="https://www.patreon.com/user?u=12059069">naga_rus</a></td>
<td><a href="https://www.patreon.com/negao">negao</a></td>
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</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>
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td>
</tr></table>
<table><tr>
<td><img src="https://c8.patreon.com/2/100/12718187" alt="Peter G."></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=zwSu01tOtn5xTUucDZHuPsCxF2HBEMVs9ROJKTlEV_o%3D" alt="nemu"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=qsdn0-e6yLaLI6hUX9JAkyTR6a5UdnSp7T1foniBvGQ%3D" alt="YUKIMOCHI"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/2?token-time=2145916800&token-hash=iUXOQzRyJDv3PJxwS7Mjwg1459dzh2trOq6NFtXu_OM%3D" alt="Acid Chicken"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=UERBN4OyP7Nh5XwwdDg0N0IE5cD6_qUQMO81Z5Wizso%3D" alt="Hiratake"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=P4BIzCX2I1CkEP66ottfhsC8Wr6BUSamjA-vq3pLqFI%3D" alt="Naoki Hirayama"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1?token-time=2145916800&token-hash=S1zP0QyLU52Dqq6dtc9qNYyWfW86XrYHiR4NMbeOrnA%3D" alt="dansup"></td>
<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://c8.patreon.com/2/200/16542964" alt="Takumi Sugita" 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://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/3?token-time=2145916800&token-hash=gMq30aylxu5v3G8pRhWR5jeRBbYWEoRKjGbNeiCQz5g%3D" alt="Acid Chicken" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/2?token-time=2145916800&token-hash=zcwFxb2zopzWwksKVU1YpfAEjsl4yKT02aQ6yiAFRiQ%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/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=ubVARikVOg3v7NW6LDhtG-ClE1LTU3I2TJ3js2-5xDs%3D" alt="Naoki Hirayama" 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=16542964">Takumi Sugita</a></td>
<td><a href="https://www.patreon.com/user?u=13039004">nemu</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/user?u=4389829">natalie</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/dansup">dansup</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1?token-time=2145916800&token-hash=tB1e_r8RlZ5sFL0KV_e8dugapxatNBRK1Z3h67TO1g8%3D" alt="Gargron"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1?token-time=2145916800&token-hash=VZUtwrjQa8Jml4twCjHYQQZ64wHEY4oIlGl7Kc-VYUQ%3D" alt="Nokotaro Takeda"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1?token-time=2145916800&token-hash=tMosUojzUYJCH_3t--tvYA-SMCyrS__hzSndyaRSnbo%3D" alt="Takashi Shibuya"></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/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:** Sat, 01 Dec 2018 22:05:05 UTC
**Last updated:** Mon, 21 Jan 2019 06:45:06 UTC
<!-- PATREON_END -->
:four_leaf_clover: Copyright
----------------------------------------------------------------
> Copyright (c) 2014-2018 syuilo
> 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]
[agpl-3.0]: https://www.gnu.org/licenses/agpl-3.0.en.html
[agpl-3.0-badge]: https://img.shields.io/badge/license-AGPL--3.0-444444.svg?style=flat-square
[dependencies-link]: https://david-dm.org/syuilo/misskey
[dependencies-badge]: https://img.shields.io/david/syuilo/misskey.svg?style=flat-square
[agpl-3.0-badge]: https://img.shields.io/badge/license-AGPL--3.0-444444.svg?style=for-the-badge
[backer-url]: #backers
[backer-badge]: https://opencollective.com/misskey/backers/badge.svg

View File

@ -17,7 +17,7 @@ This guide describes how to install and setup Misskey with Docker.
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copy the `.config/mongo_initdb_example.js` and rename it to `mongo_initdb.js`.
2. Edit `default.yml` and `mongo_initdb.js`.
3. Edit `default.yml` and `mongo_initdb.js`.
*3.* Configure Docker
----------------------------------------------------------------

67
docs/docker.fr.md Normal file
View File

@ -0,0 +1,67 @@
Guide Docker
================================================================
Ce guide explique comment installer et configurer Misskey avec Docker.
[Version japonaise également disponible - Japanese version also available - 日本語版もあります](./docker.ja.md)
[Version anglaise également disponible - English version also available - 英語版もあります](./docker.en.md)
----------------------------------------------------------------
*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` 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` Copiez le fichier `.config/example.yml` et renommez-le `default.yml`.
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copie le fichier `.config/mongo_initdb_example.js` et le renomme en `mongo_initdb.js`.
3. Editez `default.yml` et `mongo_initdb.js`.
*3.* Configurer Docker
----------------------------------------------------------------
Editez `docker-compose.yml`.
*4.* Contruire Misskey
----------------------------------------------------------------
Contruire l'image Docker avec:
`docker-compose build`
*5.* C'est tout !
----------------------------------------------------------------
Parfait, Vous avez un environnement prêt pour démarrer Misskey.
### Lancer normalement
Utilisez la commande `docker-compose up -d`. GLHF!
### How to update your Misskey server to the latest version
1. `git fetch`
2. `git stash`
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
4. `git stash pop`
5. `docker-compose build`
6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration
7. `docker-compose stop && docker-compose up -d`
### Comment exécuter des [commandes](manage.fr.md)
`docker-compose run --rm web node cli/mark-admin @example`
### Configuration d'ElasticSearch (pour la fonction de recherche)
*1.* Préparation de l'environnement
----------------------------------------------------------------
1. `mkdir elasticsearch && chown 1000:1000 elasticsearch` Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits
2. `sysctl -w vm.max_map_count=262144` Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES)
*2.* Après lancement du docker-compose, initialisation de la base ElasticSearch
----------------------------------------------------------------
1. `docker-compose -it web /bin/sh` Connexion dans le conteneur web
2. `apk add curl` Ajout du paquet curl
3. `curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'` Création de la base ES
4. `exit`
----------------------------------------------------------------
Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !

View File

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

18
docs/manage.fr.md Normal file
View File

@ -0,0 +1,18 @@
# Guide d'administration
## Vérifier le status de la file d'attente des taches
coming soon
## Marquer un utilisateur en tant que 'admin'
``` shell
node cli/mark-admin (ID utilisateur ou nom d'utilisateur)
```
Exemple :
``` shell
# Par id
node cli/mark-admin 57d01a501fdf2d07be417afe
# Par nom d'utilisateur
node cli/suspend @syuilo
```

View File

@ -47,16 +47,6 @@ As root:
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest)
5. `npm install` Install misskey dependencies.
*(optional)* Generate VAPID keys
----------------------------------------------------------------
If you want to enable ServiceWorker, you need to generate VAPID keys:
Unless you have set your global node_modules location elsewhere, you need to run this as root.
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
*5.* Configure Misskey
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
@ -120,6 +110,8 @@ You can check if the service is running with `systemctl status misskey`.
3. `npm install`
4. `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
@ -32,10 +32,10 @@ Installez les paquets suivants :
*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.
3. `db.users.save( {dummy:"dummy"} )` Écrivez une donnée factice pour initialiser la base de données.
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Créez l'utilisateur misskey.
5. `exit` Vous avez terminé !
@ -44,22 +44,12 @@ En mode root :
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.
*(optionnel)* Génération des clés VAPID
----------------------------------------------------------------
Si vous désirez activer ServiceWorker, vous devez générer les clés VAPID :
Unless you have set your global node_modules location elsewhere, vous devez lancer ceci en mode root.
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
*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
@ -69,7 +59,7 @@ Construisez Misskey comme ceci :
`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:
@ -87,7 +77,7 @@ Lancez tout simplement `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 :
```

View File

@ -53,15 +53,6 @@ adduser --disabled-password --disabled-login misskey
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
5. `npm install` Misskeyの依存パッケージをインストール
*(オプション)* VAPIDキーペアの生成
----------------------------------------------------------------
ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります:
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
*5.* 設定ファイルを作成する
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする。

View File

@ -11,14 +11,12 @@ import tslint from 'gulp-tslint';
const cssnano = require('gulp-cssnano');
const stylus = require('gulp-stylus');
import * as uglifyComposer from 'gulp-uglify/composer';
import pug = require('gulp-pug');
import * as rimraf from 'rimraf';
import chalk from 'chalk';
const imagemin = require('gulp-imagemin');
import * as rename from 'gulp-rename';
import * as mocha from 'gulp-mocha';
import * as replace from 'gulp-replace';
import * as htmlmin from 'gulp-htmlmin';
const uglifyes = require('uglify-es');
const locales = require('./locales');
@ -34,8 +32,6 @@ if (isDebug) {
console.warn(chalk.yellow.bold(' built script will not be compressed.'));
}
const constants = require('./src/const.json');
gulp.task('build', [
'build:ts',
'build:copy',
@ -109,7 +105,7 @@ gulp.task('default', ['build']);
gulp.task('build:client', [
'build:ts',
'build:client:script',
'build:client:pug',
'build:client:styles',
'copy:client'
]);
@ -148,52 +144,6 @@ gulp.task('copy:client', [
.pipe(gulp.dest('./built/client/assets/'))
);
gulp.task('build:client:pug', [
'copy:client',
'build:client:script',
'build:client:styles'
], () =>
gulp.src('./src/client/app/base.pug')
.pipe(pug({
locals: {
themeColor: constants.themeColor
}
}))
.pipe(htmlmin({
// 真理値属性の簡略化 e.g.
// <input value="foo" readonly="readonly"> to
// <input value="foo" readonly>
collapseBooleanAttributes: true,
// テキストの一部かもしれない空白も削除する e.g.
// <div> <p> foo </p> </div> to
// <div><p>foo</p></div>
collapseWhitespace: true,
// タグ間の改行を保持する
preserveLineBreaks: true,
// (できる場合は)属性のクォーテーション削除する e.g.
// <p class="foo-bar" id="moo" title="blah blah">foo</p> to
// <p class=foo-bar id=moo title="blah blah">foo</p>
removeAttributeQuotes: true,
// 省略可能なタグを省略する e.g.
// <html><p>yo</p></html> ro
// <p>yo</p>
removeOptionalTags: true,
// 属性の値がデフォルトと同じなら省略する e.g.
// <input type="text"> to
// <input>
removeRedundantAttributes: true,
// CSSも圧縮する
minifyCSS: true
}))
.pipe(gulp.dest('./built/client/app/'))
);
gulp.task('locales', () =>
gulp.src('./locales/*.yml')
.pipe(yaml({ schema: 'DEFAULT_SAFE_SCHEMA' }))

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
@ -90,7 +91,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
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-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'やり直す'
title: "問題が発生しました"
retry: "やり直す"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
@ -158,12 +166,12 @@ common:
polls: "アンケート"
post-form: "投稿フォーム"
server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション"
tips: "ヒント"
hashtags: "ハッシュタグ"
dev: "アプリの作成に失敗しました。再度お試しください。"
ai-chan-kawaii: "藍ちゃかわいい"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
@ -275,6 +284,7 @@ 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: "テーマが正しくありません。"
@ -296,6 +306,9 @@ 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: "ユーザーを探す"
you: "あなた"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "開発者"
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入り解除"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
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: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "「{}」に投票する"
vote-count: "{}票"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "接続中"
reconnecting: "再接続中"
connected: "接続完了"
common/views/components/twitter-setting.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。"
connected-to: "次のTwitterアカウントに接続されています"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
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: "お知らせはありません"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue:
title: "フォトストリーム"
no-photos: "写真はありません"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -659,10 +697,12 @@ 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: "この投稿は削除されました"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "セキュリティ"
signin: "サインイン履歴"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
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: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "サインアウト"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされています"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "タイムライン"
media: "メディア"
is-suspended: "このユーザーは凍結されています。"
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: "画像"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集"

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
got-it: "Verstanden!"
customization-tips:
title: "Anpassung-Tipps"
@ -90,7 +91,6 @@ common:
followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
specified: "Direkt"
specified-desc: "Nur für bestimmte Benutzer posten"
private: "Privat"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet."
i-like-sushi: "Ich bevorzuge Sushi anstelle von Pudding"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Verifizierter Benutzer"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "Animationen der Benutzeroberfläche reduzieren"
this-setting-is-this-device-only: "Nur auf diesem Gerät"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'Dies ist eine Entwicklungsversion. Nicht in einer Produktionsumgebung verwenden.'
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
hide-password: "パスワードを隠す"
show-password: "パスワードを表示する"
do-not-use-in-production: "Dies ist eine Entwicklungsversion. Nicht in einer Produktionsumgebung verwenden."
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'Erneut versuchen'
title: "問題が発生しました"
retry: "Erneut versuchen"
reversi:
drawn: "Unentschieden"
my-turn: "Du bist am Zug"
@ -158,12 +166,12 @@ common:
polls: "Umfrage"
post-form: "Beitragsform"
server: "Server-Info"
donation: "Spenden"
nav: "Navigation"
tips: "Tipps"
hashtags: "Hashtags"
dev: "Fehler beim Erstellen der Applikation. Bitte versuche es erneut."
ai-chan-kawaii: "藍ちゃかわいい"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "Dieser Inhalt ist NSFW"
click-to-show: "Klicke zum den Inhalt anzusehen"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "Thema"
dark-theme: "Thema während des Nachtmodus"
light-themes: "Helles Thema"
@ -275,6 +284,7 @@ common/views/components/theme.vue:
base-theme: "Basisthema"
base-theme-light: "Hell"
base-theme-dark: "Dunkel"
find-more-theme: "その他のテーマを入手"
theme-name: "Name des Themas"
preview-created-theme: "Vorschau"
invalid-theme: "Thema ist ungültig"
@ -296,6 +306,9 @@ 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: "Einen Nutzer suchen"
you: "Du"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "Entwickler"
feedback: "Feedback"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "Diese Notiz favorisieren"
unfavorite: "Aus Favoriten entfernen"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
delete: "Löschen"
delete-confirm: "Diesen Post löschen?"
remote: "Auf Quelle anzeigen"
common/views/components/user-menu.vue:
mention: "メンション"
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
report-abuse: "スパムを報告"
report-abuse-detail: "どのような迷惑行為を行っていますか?"
report-abuse-reported: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "Stimme für '{}'"
vote-count: "{} Stimmen"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "Verbindung wird hergestellt"
reconnecting: "Erneut verbinden"
connected: "Verbindung hergestellt"
common/views/components/twitter-setting.vue:
description: "Wenn du deinen Twitter-Account mit deinem Misskey-Account verbindest, siehst du deine Twitter Account-Informationen auf deinem Profil und du kannst dich mit Twitter einloggen."
connected-to: "Du bist mit diesem Twitter-Account verbunden"
detail: "Mehr..."
reconnect: "Erneut verbinden"
connect: "Mit Twitter verbinden"
disconnect: "Trennen"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
specified: "Direkt"
specified-desc: "Poste nur für bestimmte Benutzer"
private: "Privat"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/components/user-list-editor.vue:
users: "ユーザー"
rename: "リスト名を変更"
delete: "リストを削除"
remove-user: "このリストから削除"
delete-are-you-sure: "リスト「$1」を削除しますか"
deleted: "削除しました"
common/views/widgets/broadcast.vue:
fetching: "Laden"
no-broadcasts: "Keine Broadcasts"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "Spende"
text: "Um Misskey am Laufen zu halten geben wir Geld für Domain, Server usw. aus. Wir bekommen dafür kein Geld und würden uns freuen, wenn du spenden würdest. Wenn du interessiert bist, dann kontaktiere {}. Danke für deine Unterstützung!"
common/views/widgets/photo-stream.vue:
title: "Fotostream"
no-photos: "Keine Fotos"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -659,10 +697,12 @@ desktop/views/components/note-detail.vue:
location: "Ort"
renote: "Anmerkung"
add-reaction: "Reaktion hinzufügen"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue:
reply: "返信"
renote: "Renote"
add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "Sicherheit"
signin: "サインイン履歴"
password: "Passwort"
2fa: "Zwei-Faktor-Authentifizierung"
other: "Anderes"
license: "Lizenz"
theme: "テーマ"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "Automatische Pop-out Fenster"
auto-popout-desc: "Pop-out ein offenes Fenster wenn möglich. Diese Einstellung wird im Browser gespeichert."
advanced: "Erweiterte Einstellungen"
api-via-stream: "API-Anfrage via stream"
api-via-stream-desc: "API-Anfrage über WebSocket statt native Aktualisierungs-API (für bessere Leistung). Diese Einstellung wird im Browser gespeichert."
deck-nav: "デッキ内ナビゲーション"
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "Erscheinungsbild und Anzeige"
customize: "Startseite anpassen"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "Kreisförmige Icons"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "Zeige Antworten"
timeline: "タイムライン"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "Karte anzeigen"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "Ton"
enable-sounds: "Ton aktivieren"
enable-sounds-desc: "Spiel einen Ton ab beim Erhalten eines Beitrags bzw. einer Nachricht. Diese Einstellung wird im Browser gespeichert."
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "Der Cache deines Benutzerkontos (Info, Beiträge, Antworten, Direktnachrichten, Einstellungen), die lokal im Browser gespeichert sind werden gelöscht.\nDu musst die Seite aktualisieren nachdem du aufgeräumt hast."
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Bitte Passwort eingeben"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "Taskmanager"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update"
version: "バージョン:"
latest-version: "Neuste Version:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "サインアウト"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされています"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "タイムライン"
media: "メディア"
is-suspended: "このユーザーは凍結されています。"
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: "画像"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集"

View File

@ -8,7 +8,7 @@ common:
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 a open-source <b>decentralized microblogging service</b>. Sophisticated fully customizable Ui, varieties of reaction for posts, free file storage providing integrated management system and other advancing functions are available. Also, network system called “Fediverse” enables us to communicate with users on other SNSs. Like, if you post something, then your posts will sent not only to Misskey but also mastodon. Just imagine that the planet is sending a microwave to other planet to communication."
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."
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!"
@ -18,7 +18,7 @@ common:
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."
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 further Misskey-unique features on your eyes! Feeling like this is not for you, try other instances as Misskey is a decentralized SNS so that you can easily find your mates. Then, GLHF!"
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!"
adblock:
detected: "Please disable ad blocker."
warning: "Some features may be unavailable or cause malfunctions if ad blocking features are enabled. <strong>Misskey is not running ads</strong>."
@ -27,6 +27,7 @@ common:
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"
2fa: "Two-factor authentication"
got-it: "Got it!"
customization-tips:
title: "Customization tips"
@ -90,7 +91,6 @@ common:
followers-desc: "Post to followers only"
specified: "Direct"
specified-desc: "Post to specified users only"
private: "Private"
local-public: "Public (Only local)"
local-home: "Home (Only local)"
local-followers: "Followers (Only local)"
@ -110,9 +110,10 @@ common:
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-contrast-reversi-stones: "Make the stone color clear 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"
@ -120,14 +121,21 @@ common:
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"
do-not-use-in-production: 'This is a development build. Do not use in production.'
is-remote-user: "This user information is copied."
is-remote-post: "This post information is a copy."
view-on-remote: "View it on remote"
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-post: "These post contents are mirrored."
view-on-remote: "For completion, view it remotely."
renoted-by: "Renoted by {user}"
error:
title: 'Something happened :('
retry: 'Retry'
title: "Something happened :("
retry: "Retry"
reversi:
drawn: "Draw"
my-turn: "Your turn"
@ -158,12 +166,12 @@ common:
polls: "Polls"
post-form: "Post form"
server: "Server info"
donation: "Request for donations"
nav: "Navigation"
tips: "Tips"
hashtags: "Hashtags"
dev: "Failed to create the application. Please try again."
ai-chan-kawaii: "Ai-chan kawaii!"
you: "You"
auth/views/form.vue:
share-access: "Would you allow <i>{name}</i> to access your account?"
permission-ask: "This application requires the following permissions:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "NSFW"
click-to-show: "Click to show"
common/views/components/theme.vue:
theme: "Theme"
light-theme: "Theme"
dark-theme: "Theme during dark mode"
light-themes: "Light theme"
@ -275,6 +284,7 @@ common/views/components/theme.vue:
base-theme: "Base theme"
base-theme-light: "Light"
base-theme-dark: "Dark"
find-more-theme: "Find more themes"
theme-name: "Theme name"
preview-created-theme: "Preview"
invalid-theme: "Not valid theme"
@ -296,6 +306,9 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue:
hide: "Hide"
show: "See more"
chars: "{count} chars"
files: "{count} files"
poll: "Poll"
common/views/components/messaging.vue:
search-user: "Find a user"
you: "You"
@ -325,15 +338,28 @@ common/views/components/nav.vue:
develop: "Developers"
feedback: "Feedback"
common/views/components/note-menu.vue:
mention: "Mention"
detail: "Details"
copy-content: "Copy the contents"
copy-link: "Copy link"
favorite: "Favorite this note"
unfavorite: "Unfavorite"
pin: "Pin to your profile"
unpin: "Unpin"
delete: "Delete"
delete-confirm: "Delete this post?"
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."
common/views/components/poll.vue:
vote-to: "Vote for '{}'"
vote-count: "{} votes"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "Connecting"
reconnecting: "Reconnecting"
connected: "Connected"
common/views/components/twitter-setting.vue:
description: "Once you connect your Twitter account to your Misskey account, you will be able to see information about your Twitter account on your profile, and you will be able to sign-in using Twitter."
connected-to: "You are connected to this Twitter account"
detail: "Details..."
reconnect: "Reconnect"
connect: "Link your Twitter account"
common/views/components/notification-settings.vue:
title: "Notifications"
mark-as-read-all-notifications: "Mark all notifications as read"
mark-as-read-all-unread-notes: "Mark all posts as read"
mark-as-read-all-talk-messages: "Mark all conversations as read"
auto-watch: "Automatically watch out for posts"
auto-watch-desc: "Automatically receive notifications about posts you react to, or respond to."
common/views/components/integration-settings.vue:
title: "Service cooperation"
connect: "Connect"
disconnect: "Disconnect"
connected-to: "You are connected to next account"
common/views/components/github-setting.vue:
description: "Once you connect your GitHub account to your Misskey account, you will be able to see information about your GitHub account on your profile, and you will be able to sign-in via GitHub."
connected-to: "You are connected to this GitHub account"
@ -415,7 +446,7 @@ common/views/components/github-setting.vue:
connect: "Link your GitHub account"
disconnect: "Disconnect"
common/views/components/discord-setting.vue:
description: "Once you connect your Discord account to your Misskey account, you will be able to see information about your Discord account on your profile, and you will be able to sign-in using Discord."
description: "Once you connect your Discord account to your Misskey account, you will be able to see information from your Discord account on your profile, and you will be able to sign-in using Discord."
connected-to: "You are connected to this Discord account"
detail: "Details…"
reconnect: "Reconnect"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "Post to Followers only"
specified: "Direct"
specified-desc: "Post to specified users only"
private: "Private"
local-public: "Local (Public)"
local-public-desc: "Do not publish to remote"
local-home: "Home (Only local)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "Account"
location: "Location"
description: "About me"
language: "Language"
birthday: "Birthday"
avatar: "Icon"
banner: "Banner"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "This account is a Bot"
is-locked: "Follower requests require approval"
careful-bot: "Follower requests from bots require approval"
auto-accept-followed: "Automatically approve follows from the people you follow"
advanced: "Other"
privacy: "Privacy"
save: "Save"
@ -469,6 +501,13 @@ 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."
common/views/components/user-list-editor.vue:
users: "User"
rename: "Rename list"
delete: "Delete list"
remove-user: "Remove from this list"
delete-are-you-sure: "Delete list \"$1\"?"
deleted: "Deleted successfully"
common/views/widgets/broadcast.vue:
fetching: "Checking"
no-broadcasts: "No announcements"
@ -479,11 +518,8 @@ common/views/widgets/calendar.vue:
month: "{},"
day: "{}"
today: "Today: "
this-month: "This month: "
this-year: "This year: "
common/views/widgets/donation.vue:
title: "Request for donations"
text: "To keep Misskey up and running, there have to happen some expense for the domain name, the server and so on. Since our policy is not to display any advertisements, we count on your donations. If you're interested in helping, contact {}. Thank you for your contribution!"
this-month: "Month:"
this-year: "Year:"
common/views/widgets/photo-stream.vue:
title: "Photo stream"
no-photos: "No photos"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "Several windows can be detached outside the browser."
tips-line20: "The percentage of the calendar widget shows the percentage of time elapsed."
tips-line21: "You can also use the API to develop bots."
tips-line23: "Mayu is so cute with its eyebrows."
tips-line23: "Ai-chan kawaii!"
tips-line24: "Misskey has been running since 2014."
tips-line25: "In a browser compatible with notification features, you can receive notifications in case Misskey is not open"
common/views/pages/not-found.vue:
page-not-found: "The page has not been found"
common/views/pages/follow.vue:
signed-in-as: "Signed in as {}"
following: "Following"
@ -583,8 +621,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"
@ -659,10 +697,12 @@ desktop/views/components/note-detail.vue:
location: "Location"
renote: "Repost"
add-reaction: "Add a reaction"
undo-reaction: "Reverse reaction"
desktop/views/components/note.vue:
reply: "Reply"
renote: "Renote"
add-reaction: "Add a reaction"
undo-reaction: "Reverse reaction"
detail: "Details"
private: "This post is private"
deleted: "This post has been deleted"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "Security"
signin: "Sign in history"
password: "Password"
2fa: "Two-factor authentication"
other: "Other"
license: "License"
theme: "Theme"
@ -747,12 +786,11 @@ desktop/views/components/settings.vue:
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"
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."
deck-default: "Use Deck view as the default UI"
display: "Design and display"
customize: "Customize home layout"
wallpaper: "Wallpaper"
@ -764,18 +802,24 @@ desktop/views/components/settings.vue:
circle-icons: "Use circle icons"
contrasted-acct: "Add contrast to username"
post-form-on-timeline: "Display post form at the top of the timeline"
suggest-recent-hashtags: "Show recent popular hashtags on the post form"
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"
show-local-renotes: "Show renoted local posts in the timelines"
show-maps: "Display a map to show 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."
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
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."
auto-watch: "Automatic watch"
auto-watch-desc: "Receive notifications about the post/reply/reaction automatically."
about: "About Misskey"
operator: "The admin of this instance"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Enter the password"
authenticator: "First, you need to install Google Authenticator on your device:"
howtoinstall: "How to install"
token: "Token"
scan: "And then, scan the QR code:"
done: "Please enter the token displayed on your device:"
submit: "Submit"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "Enter the password"
console:
title: 'API console'
endpoint: 'Endpoint'
parameter: 'Parameters'
title: "API console"
endpoint: "Endpoint"
parameter: "Parameters"
credential-info: "Parameter \"i\" is not required at this console."
send: 'Send'
sending: 'Sending'
response: 'Result'
send: "Send"
sending: "Sending"
response: "Result"
desktop/views/components/settings.apps.vue:
no-apps: "No linked applications"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ common/views/components/password-settings.vue:
enter-new-password-again: "Enter the new password again"
not-match: "The new passwords do not match"
changed: "Password changed"
failed: "Failed to change password"
desktop/views/components/sub-note-content.vue:
private: "This post is private"
deleted: "This post has been deleted"
media-count: "{} media attached"
poll: "Poll"
desktop/views/components/settings.tags.vue:
title: "Tags"
query: "Query (optional)"
add: "Add"
save: "Save"
desktop/views/components/taskmanager.vue:
title: "Task Manager"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "Federation"
announcements: "Announcements"
hashtags: "Hashtags"
abuse: "Abuse"
back-to-misskey: "Back to Misskey"
admin/views/dashboard.vue:
dashboard: "Dashboard"
@ -951,12 +1001,20 @@ admin/views/dashboard.vue:
instances: "Instances"
this-instance: "This instance"
federated: "Federated"
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"
languages-desc: "You can add more than one, separated by spaces."
maintainer-config: "Administrator information"
@ -983,8 +1041,8 @@ admin/views/instance.vue:
enable-github-integration: "Enable connection to GitHub"
github-integration-client-id: "Client ID"
github-integration-client-secret: "Client Secret"
discord-integration-config: "Setting of Discord Integration"
discord-integration-info: "The callback URL is set on {url}."
discord-integration-config: "Discord Integration settings"
discord-integration-info: "The callback URL is set to {url}."
enable-discord-integration: "Enable Discord connection"
discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret"
@ -996,11 +1054,13 @@ 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"
user-recommendation-config: "Recommended users"
enable-external-user-recommendation: "Enable to external user recommendation"
enable-external-user-recommendation: "Enable external user recommendations"
external-user-recommendation-engine: "Engine"
external-user-recommendation-engine-desc: "Example: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "Timeout"
@ -1015,6 +1075,12 @@ admin/views/instance.vue:
smtp-port: "SMTP Port"
smtp-user: "SMTP User"
smtp-pass: "SMTP Password"
serviceworker-config: "ServiceWorker"
enable-serviceworker: "Enable ServiceWorker"
serviceworker-info: "Must be enabled for push notifications."
vapid-publickey: "VAPID public key"
vapid-privatekey: "VAPID private key"
vapid-info: "If you want to enable ServiceWorker, you need to generate VAPID keys. Unless you have set your global node_modules location elsewhere, you need to run this as root:"
admin/views/charts.vue:
title: "Chart"
per-day: "per Day"
@ -1022,7 +1088,7 @@ admin/views/charts.vue:
federation: "Federation"
notes: "Posts"
users: "Users"
drive: "Drive"
drive: "Media storage"
network: "Network"
charts:
federation-instances: "The number of instances: increase/decrease"
@ -1033,6 +1099,7 @@ admin/views/charts.vue:
notes-total: "Total posts"
users: "The number of users: increase/decrease"
users-total: "Total users"
active-users: "Active users"
drive: "Capacity used as the storage: increase/decrease"
drive-total: "Total usage of Drive"
drive-files: "The number of files on the storage: increase/decrease"
@ -1040,21 +1107,50 @@ admin/views/charts.vue:
network-requests: "Requests"
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"
createdAtDesc: "Age - Newest First"
sizeAsc: "Size - Smallest First"
sizeDesc: "Size - Largest First"
origin:
title: "Origin"
combined: "Local + Remote"
local: "Local"
remote: "Remote"
delete: "Delete"
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."
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:
@ -1063,6 +1159,14 @@ admin/views/users.vue:
createdAtDesc: "Date Registered (Descending)"
updatedAtAsc: "Last Updated (Ascending)"
updatedAtDesc: "Last Updated (Descending)"
state:
title: "Status"
all: "All"
admin: "Administrator"
moderator: "Moderator"
adminOrModerator: "Admin/Moderator"
verified: "Verified account"
suspended: "Suspended"
origin:
title: "Origin"
combined: "Local + Remote"
@ -1075,6 +1179,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"
@ -1156,17 +1262,7 @@ desktop/views/pages/user/user.photos.vue:
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}."
menu: "Menu"
desktop/views/pages/user/user.header.vue:
posts: "Notes"
following: "Following"
@ -1180,6 +1276,7 @@ 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"
@ -1378,9 +1475,9 @@ mobile/views/pages/settings.vue:
notification-position: "Notification style"
notification-position-bottom: "Bottom"
notification-position-top: "Top"
theme: "Theme"
behavior: "Behavior"
fetch-on-scroll: "Endless loading on scroll"
keep-cw: "Preserve content warning"
note-visibility: "Post visibility"
default-note-visibility: "Default visibility"
remember-note-visibility: "Remember post visibility"
@ -1389,18 +1486,6 @@ mobile/views/pages/settings.vue:
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"
twitter: "Twitter integration"
twitter-connect: "Connect to your Twitter account"
twitter-reconnect: "Reconnect"
twitter-disconnect: "Disconnect"
github: "GitHub Integration"
github-connect: "Connect to your GitHub account"
github-reconnect: "Reconnect"
github-disconnect: "Disconnect"
discord: "Discord Integration"
discord-connect: "Connect to your Discord account"
discord-reconnect: "Reconnect"
discord-disconnect: "Disconnect"
update: "Misskey Update"
version: "Current version:"
latest-version: "Latest version:"
@ -1414,7 +1499,6 @@ mobile/views/pages/settings.vue:
signout: "Sign out"
sound: "Sounds"
enable-sounds: "Enable sounds"
mark-as-read-all-unread-notes: "Mark all posts as read"
password: "Password"
mobile/views/pages/user.vue:
follows-you: "Follows you"
@ -1424,15 +1508,7 @@ mobile/views/pages/user.vue:
overview: "Overview"
timeline: "Timeline"
media: "Media"
is-suspended: "This account has been suspended."
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"
@ -1482,9 +1558,8 @@ deck/deck.user-column.vue:
activity: "Activity"
timeline: "Timeline"
pinned-notes: "Pinned posts"
push-to-a-list: "Add to list"
docs:
edit-this-page-on-github: "Found a mistake or want to contribute for the documentation?"
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!"
api:
entities:

View File

@ -5,18 +5,18 @@ meta:
common:
misskey: "Una ⭐️ del fediverso"
about-title: "Una ⭐️ del fediverso"
about: "Gracias por encontrae Misskey. Misskey es una <b>plataforma descentralizada de microblogging</b> nacida en la Tierra. Gracias a existir dentro del Fediverso (un universo donde se organizan varias plataformas sociales) se encuentra enlazada mutuamente con otras plataformas sociales. ¿Por què no te tomas un respiro del caos de la ciudad y te sumerges es una nueva manera de entender Internet?"
about: "Gracias por encontrar Misskey. Misskey es una <b>plataforma descentralizada de microblogging</b> nacida en la Tierra. Porque el servicio existe dentro del Fediverso (un universo donde se organizan varias plataformas sociales), se encuentra enlazado mutuamente con otras plataformas sociales. ¿Por qué no te tomas un respiro del caos de la ciudad y te sumerges es una nueva manera de entender Internet?"
intro:
title: "Misskeyって?"
about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。"
features: "特徴"
rich-contents: "投稿"
rich-contents-desc: "自分の考え、話題の出来事、皆と共有したいことについて発信してください。必要であれば、様々な構文を使って投稿を装飾したり、好きな画像、動画などのファイルやアンケートを添付することもできます。"
reaction: "リアクション"
title: "¿Misskey?"
about: "Misskey es un <b>Servicio de red social descentralizada de microblogging</b> de código abierto. Contiene una interfaz de usuario altamente personalizable, reacciones a posts, almacenamiento para poder manejar archivos y otras funciones avanzadas. Además de conectarse con la red llamada Fediverso, puede intercambiar mensajes con otras redes sociales. Por ejemplo, si contribuyes con algo, esa contribución es transmitida no sólo a Misskey sino a otras redes sociales. Imagina que se parece a transmitir una onda de radio de un planeta a otro."
features: "Características"
rich-contents: "Posts"
rich-contents-desc: "Escribe sobre tus pensamientos, eventos, todo lo que quieras compartir. Si es necesario, puedes usar varias sintaxis, decorar tus posts y añadir tus imágenes favoritas, archivos de viddeo y encuestas."
reaction: "Reacciones"
reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。"
ui: "インターフェース"
ui: "Interfaz"
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
drive: "ドライブ"
drive: "Drive"
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんかもしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんかMisskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。"
outro: "他にもMisskeyにしかない機能はまだまだあるので、ぜひあなた自身の目で確かめてください。Misskeyは分散型SNSなので、このインスタンスが気に入らなければ他のインスタンスを試すこともできます。それでは、GLHF!"
adblock:
@ -27,6 +27,7 @@ common:
do-not-copy-paste: "Por favor no copies código aquí. Tu cuenta puede resultar comprometida."
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "Autenticación de dos factores"
got-it: "¡Listo!"
customization-tips:
title: "Consejos de personalización"
@ -53,8 +54,8 @@ common:
years_ago: "Hace {} año(s)"
month-and-day: "{day} de {month}"
trash: "Papelera"
drive: "ドライブ"
messaging: "トーク"
drive: "Drive"
messaging: "Conversación"
weekday-short:
sunday: "domingo"
monday: "lunes"
@ -83,17 +84,16 @@ common:
rip: "RIP"
pudding: "Chafado"
note-visibility:
public: "公開"
home: "ホーム"
home-desc: "ホームタイムラインにのみ公開"
followers: "フォロワー"
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
public: "Público"
home: "Inicio"
home-desc: "Sólo en el timeline de inicio"
followers: "Seguidores"
followers-desc: "Sólo para tus seguidores"
specified: "Mensaje directo"
specified-desc: "Sólo para ciertos usuarios"
local-public: "Público (sólo local)"
local-home: "Inicio (sólo local)"
local-followers: "Seguidores (sólo local)"
note-placeholders:
a: "¿Qué haces?"
b: "¿Qué está pasando?"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "Tu token se ha regenerado vas a ser desconectado."
i-like-sushi: "Prefiero sushi a pudín"
show-reversi-board-labels: "Mostrar etiquetas de filas y columnas en Reversi"
use-contrast-reversi-stones: "Hacer el color de la piedra claro en Reversi"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Cuenta verificada"
disable-animated-mfm: "Desactivar texto animado en una publicación"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'Esto está en desarrollo, no usarlo para producción.'
line-width: "線の太さ"
line-width-thin: "Fino"
line-width-normal: "普通"
line-width-thick: "Grueso"
hide-password: "パスワードを隠す"
show-password: "パスワードを表示する"
do-not-use-in-production: "Esto está en desarrollo, no usarlo para producción."
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'やり直す'
title: "問題が発生しました"
retry: "やり直す"
reversi:
drawn: "Empatado"
my-turn: "Mi turno"
@ -158,12 +166,12 @@ common:
polls: "Encuestas"
post-form: "Formulario"
server: "Información del servidor"
donation: "Donaciones"
nav: "Navegación"
tips: "Consejos"
hashtags: "Etiquetas"
dev: "アプリの作成に失敗しました。再度お試しください。"
ai-chan-kawaii: "藍ちゃかわいい"
you: "Tú"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
permission-ask: "La aplicación requiere los siguientes permisos:"
@ -259,43 +267,48 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "Tema"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
dark-themes: "暗いテーマ"
install-a-theme: "テーマのインストール"
theme-code: "テーマコード"
install: "インストール"
light-themes: "Tema claro"
dark-themes: "Tema oscuro"
install-a-theme: "Instalar tema"
theme-code: "Código del tema"
install: "Instalación"
installed: "「{}」をインストールしました"
create-a-theme: "テーマの作成"
save-created-theme: "テーマを保存"
primary-color: "プライマリ カラー"
secondary-color: "セカンダリ カラー"
primary-color: "Color primario"
secondary-color: "Color secundario"
text-color: "文字色"
base-theme: "ベーステーマ"
base-theme-light: "Light"
base-theme-dark: "Dark"
theme-name: "テーマ名"
preview-created-theme: "プレビュー"
base-theme: "Tema base"
base-theme-light: "Claro"
base-theme-dark: "Oscuro"
find-more-theme: "その他のテーマを入手"
theme-name: "Nombre del tema"
preview-created-theme: "Vista previa"
invalid-theme: "テーマが正しくありません。"
already-installed: "既にそのテーマはインストールされています。"
saved: "保存しました"
manage-themes: "テーマの管理"
builtin-themes: "標準テーマ"
my-themes: "マイテーマ"
installed-themes: "インストールされたテーマ"
my-themes: "Mis temas"
installed-themes: "Temas instalados"
select-theme: "テーマを選択してください"
uninstall: "アンインストール"
uninstall: "Desinstalar"
uninstalled: "「{}」をアンインストールしました"
author: "作者"
desc: "説明"
export: "エクスポート"
import: "インポート"
export: "Exportar"
import: "Importar"
import-by-code: "またはコードをペースト"
theme-name-required: "テーマ名は必須です。"
common/views/components/cw-button.vue:
hide: "隠す"
show: "もっと見る"
show: "Mostrar"
chars: "{count} letras"
files: "{count} archivos"
poll: "Encuesta"
common/views/components/messaging.vue:
search-user: "Encuentra un usuario"
you: "Tu"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "Desarrolladores"
feedback: "Opiniones"
common/views/components/note-menu.vue:
mention: "Menciones"
detail: "Detalles"
copy-content: "内容をコピー"
copy-link: "Copiar enlace"
favorite: "Me gusta esta nota"
unfavorite: "お気に入り解除"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
delete: "Borrar"
delete-confirm: "¿Seguro que quieres borrar la publicación?"
remote: "Ver el original"
common/views/components/user-menu.vue:
mention: "Menciones"
mute: "Silenciar"
unmute: "ミュート解除"
block: "Bloquear"
unblock: "ブロック解除"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
report-abuse: "スパムを報告"
report-abuse-detail: "どのような迷惑行為を行っていますか?"
report-abuse-reported: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "'{}' para votar"
vote-count: "{} votos"
@ -350,15 +376,15 @@ common/views/components/poll-editor.vue:
common/views/components/reaction-picker.vue:
choose-reaction: "Escoge una reacción"
common/views/components/emoji-picker.vue:
custom-emoji: "カスタム絵文字"
people: ""
animals-and-nature: "動物&自然"
food-and-drink: "食べ物&飲み物"
activity: "アクティビティ"
travel-and-places: "場所"
objects: ""
symbols: "記号"
flags: ""
custom-emoji: "Personalizados"
people: "Gente"
animals-and-nature: "Naturaleza"
food-and-drink: "Comida y bebida"
activity: "Actividad"
travel-and-places: "Viajes y lugares"
objects: "Objetos"
symbols: "Símbolos"
flags: "Países"
common/views/components/signin.vue:
username: "Usuario"
password: "Contraseña"
@ -367,8 +393,8 @@ common/views/components/signin.vue:
signin: "Entra"
or: "O"
signin-with-twitter: "Ingresar con Twitter"
signin-with-github: "GitHubでログイン"
signin-with-discord: "Discordでログイン"
signin-with-github: "Ingresar con Github"
signin-with-discord: "Ingresar con Discord"
login-failed: "Autenticación fallida. Asegúrate de haber usado el nombre de usuario y contraseña correctos."
common/views/components/signup.vue:
invitation-code: "Código de invitación"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "Conectando"
reconnecting: "Reconectando"
connected: "Conectado"
common/views/components/twitter-setting.vue:
description: "Si comectas tu cuenta de Twitter con tu cuenta de Misskey podrás ver la información de tu cuemta de Twitter en tu perfil y además podrás entrar usando Twitter."
connected-to: "Estas comectado con las siguientes cuentas de Twitter"
detail: "Detalles..."
reconnect: "Conectar de nuevo"
connect: "Conectate usando Twitter"
disconnect: "Desconectado"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "Piblica solo para tus seguidores"
specified: "Directo"
specified-desc: "Publica solo para los seguidores que quieras"
private: "Privada"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -447,18 +477,20 @@ common/views/components/language-settings.vue:
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue:
title: "プロフィール"
name: "名前"
account: "アカウント"
title: "Perfil"
name: "Nombre"
account: "Cuenta"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
is-cat: "このアカウントはCatです"
is-bot: "このアカウントはBotです"
avatar: "Avatar"
banner: "Banner"
is-cat: "Esta cuenta es un gato"
is-bot: "Esta cuenta es un bot"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -466,9 +498,16 @@ common/views/components/profile-editor.vue:
uploading: "アップロード中"
upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-address: "Correo electrónico"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/components/user-list-editor.vue:
users: "Usuarios"
rename: "リスト名を変更"
delete: "リストを削除"
remove-user: "このリストから削除"
delete-are-you-sure: "リスト「$1」を削除しますか"
deleted: "削除しました"
common/views/widgets/broadcast.vue:
fetching: "Recuperando"
no-broadcasts: "Sin emisión"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "Hoy:"
this-month: "Este mes:"
this-year: "Este año:"
common/views/widgets/donation.vue:
title: "Donaciones"
text: "Para mantener Misskey funcionando tenemos que pagar por el dominio, los costos de hospedaje y otros costos. Como no recibimos dinero de publicidad, contamos con el apoyo de todos ustedes. Si estás interesado en ayudar, contacta a {}. ¡Muchas gracias por tu contribución!"
common/views/widgets/photo-stream.vue:
title: "Galería de fotos"
no-photos: "No hay fotos."
@ -521,15 +557,17 @@ common/views/widgets/tips.vue:
tips-line19: "Algunas ventanas pueden ser separadas fuera del navegador"
tips-line20: "El porcentaje mostrando en el accesorio de calendario indica el porcentaje de tiempo transcurrido."
tips-line21: "También puedes usar la API para desarrollar tus propios bots."
tips-line23: "Mayu is tan bonito con sus cejas."
tips-line23: "藍かわいいよ藍"
tips-line24: "Misskey inició en 2014."
tips-line25: "Puedes recibir notificaciones incluso si Misskey no está abierto en un navegador compatible."
common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue:
signed-in-as: "Autenticado como {}"
following: "Siguiendo"
follow: "Seguir"
request-pending: "Solicitud pendiente"
follow-processing: "フォロー処理中"
follow-processing: "Solicitud en proceso"
follow-request: "Solicitar suscripción"
desktop:
banner-crop-title: "Corta la parte que aparece como un banner"
@ -552,7 +590,7 @@ desktop/views/components/activity.vue:
title: "Actividad"
toggle: "Alternar vistas"
desktop/views/components/calendar.vue:
title: "{year} {month}"
title: "{year} / {month}"
prev: "Mes anterior"
next: "Próximo mes"
go: "Click para navegar"
@ -659,10 +697,12 @@ desktop/views/components/note-detail.vue:
location: "Localización"
renote: "Republicar"
add-reaction: "Agregar una reacción"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue:
reply: "返信"
renote: "Renote"
add-reaction: "リアクション"
add-reaction: "Reacción"
undo-reaction: "リアクション解除"
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@ -719,24 +759,23 @@ desktop/views/components/renote-form.vue:
desktop/views/components/renote-form-window.vue:
title: "¿Seguro qué quieres volver a publicarlo?"
desktop/views/pages/user-following-or-followers.vue:
following: "{user}のフォロー"
followers: "{user}のフォロワー"
following: "{user} sigue a"
followers: "Seguidores de {user}"
desktop/views/components/settings-window.vue:
settings: "Configuración"
desktop/views/components/settings.vue:
profile: "Perfil"
notification: "Notificación"
apps: "Aplicaciones"
tags: "ハッシュタグ"
mute-and-block: "ミュート/ブロック"
blocking: "ブロック"
tags: "Hashtags"
mute-and-block: "Silenciar/Bloquear"
blocking: "Bloquear"
security: "Seguridad"
signin: "Historial de inicios de sesión"
password: "Contraseña"
2fa: "Autenticación de Doble-Factor"
other: "Otros"
license: "Licencia"
theme: "テーマ"
theme: "Tema"
behaviour: "Acciones"
fetch-on-scroll: "Desplazamiento infinito"
fetch-on-scroll-desc: "Cuando te deslizas al final de la página nuevo contenido se carga automáticamente."
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "Ventana emergente automática"
auto-popout-desc: "Muestra una ventana emergente si es posible. Esta configuración depende del navegador."
advanced: "Configuración avanzada"
api-via-stream: "Solicitar API por medio de un stream"
api-via-stream-desc: "Las peticiones de las API se realizan por conexiones WebSocket en lugar de las tradicionales (para una mejora en el rendimiento). Esta función depende del navegador."
deck-nav: "デッキ内ナビゲーション"
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "Diseño y pantalla"
customize: "Personaliza la página principal"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "Usar iconos circulares"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "Mostrar el formulario de las entradas encima de la línea de tiempo"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
@ -773,27 +810,32 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央"
deck-column-align-left: ""
sound: "サウンド"
deck-column-align-left: "Izquierda"
deck-column-align-flexible: "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: "Sonidos"
enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム"
test: "テスト"
cache: "キャッシュ"
clean-cache: "クリーンアップ"
volume: "Volúmen"
test: "Prueba"
cache: "Caché"
clean-cache: "Borrar caché"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
update-checking: "アップデートを確認中"
update: "Actualizar Misskey"
version: "Versión"
latest-version: "Última versión"
update-checking: "Chequeando actualización"
do-update: "Chequear por actualizaciones"
update-settings: "Configuración avanzada"
prevent-update: "Posponer actualizaciones (no recomendado)"
@ -811,9 +853,9 @@ desktop/views/components/settings.vue:
task-manager: "Navegador de tareas"
third-parties: "Servicios externos"
navbar-position: "ナビゲーションバーの位置"
navbar-position-top: ""
navbar-position-left: ""
navbar-position-right: ""
navbar-position-top: "Arriba"
navbar-position-left: "Izquierda"
navbar-position-right: "Derecha"
desktop/views/components/settings.2fa.vue:
intro: "二段階認証を設定すると、サインイン時にパスワードだけでなく、予め登録しておいた物理的なデバイス(例えばあなたのスマートフォンなど)も必要になり、よりセキュリティが向上します。"
detail: "Ver detalles..."
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Escribe una contraseña"
authenticator: "Primero, necesitas instalar Google Authenticator en tu dispositivo:"
howtoinstall: "Cómo instalar"
token: "Token"
scan: "Luego, escanea el código QR:"
done: "Por favor ingresa el token mostrado en tu dispositivo:"
submit: "Enviar"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "Consola API"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "No hay aplicaciones asociadas"
common/views/components/drive-settings.vue:
@ -854,9 +897,9 @@ common/views/components/drive-settings.vue:
in-use: "使用中"
stats: "統計"
common/views/components/mute-and-block.vue:
mute-and-block: "ミュートとブロック"
mute: "ミュート"
block: "ブロック"
mute-and-block: "Silenciar y bloquear"
mute: "Silenciar"
block: "Bloquear"
no-muted-users: "ミュートしているユーザーはいません"
no-blocked-users: "ブロックしているユーザーはいません"
word-mute: "ワードミュート"
@ -870,25 +913,31 @@ 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: "アンケート"
poll: "Encuesta"
desktop/views/components/settings.tags.vue:
title: "Etiqueta"
query: "クエリ (省略可)"
add: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
desktop/views/components/timeline.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
home: "Inicio"
local: "Local"
hybrid: "Social"
global: "Global"
mentions: "あなた宛て"
messages: "メッセージ"
list: "リスト"
hashtag: "ハッシュタグ"
list: "Listas"
hashtag: "Hashtags"
add-tag-timeline: "ハッシュタグを追加"
add-list: "リストを追加"
list-name: "リスト名"
list-name: "Nombre de lista"
desktop/views/components/ui.header.vue:
welcome-back: "Bienvenido/a de vuelta,"
adjective: "-san"
@ -922,41 +971,49 @@ desktop/views/components/user-lists-window.vue:
list-name: "Nombre de lista"
desktop/views/components/user-preview.vue:
notes: "Publicaciones"
following: "フォロー"
followers: "フォロワー"
following: "Sigue"
followers: "Seguidores"
desktop/views/components/users-list.vue:
all: "すべて"
all: "Todo"
iknow: "知り合い"
fetching: "読み込んでいます"
desktop/views/components/users-list-item.vue:
followed: "フォローされています"
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
close: "Cerrar"
admin/views/index.vue:
dashboard: "ダッシュボード"
instance: "インスタンス"
dashboard: "Panel de control"
instance: "Instancia"
emoji: "カスタム絵文字"
moderators: "モデレーター"
users: "ユーザー"
moderators: "Moderadores"
users: "Usuarios"
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
back-to-misskey: "Misskeyに戻る"
hashtags: "Hashtags"
abuse: "スパム報告"
back-to-misskey: "Volver a Misskey"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
accounts: "アカウント"
dashboard: "Panel de Control"
accounts: "Cuenta"
notes: "投稿"
drive: "ドライブ"
instances: "インスタンス"
this-instance: "このインスタンス"
drive: "Drive"
instances: "Instancias"
this-instance: "Esta instancia"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
details: "詳細"
remove-report: "削除"
admin/views/instance.vue:
instance: "インスタンス"
instance-name: "インスタンス名"
instance: "Instancia"
instance-name: "Nombre de la instancia"
instance-description: "インスタンスの紹介"
host: "ホスト"
host: "Host"
banner-url: "バナー画像URL"
error-image-url: "エラー画像URL"
languages: "インスタンスの対象言語"
languages-desc: "スペースで区切って複数設定できます。"
maintainer-config: "管理者情報"
@ -972,7 +1029,7 @@ admin/views/instance.vue:
recaptcha-info: "reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。"
enable-recaptcha: "reCAPTCHAを有効にする"
recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key"
recaptcha-secret-key: "clave secreta reCAPTCHA"
twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1003,7 +1062,7 @@ admin/views/instance.vue:
enable-external-user-recommendation: "外部ユーザーレコメンデーションを有効にする"
external-user-recommendation-engine: "エンジン"
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout: "Tiempo de espera"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
@ -1011,19 +1070,25 @@ admin/views/instance.vue:
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
smtp-host: "Host SMTP"
smtp-port: "Puerto SMTP"
smtp-user: "Usuario SMTP"
smtp-pass: "Contraseña 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日ごと"
per-hour: "1時間ごと"
federation: "フェデレーション"
title: "Gráficos"
per-day: "Por día"
per-hour: "Por hora"
federation: "Federación"
notes: "投稿"
users: "ユーザー"
drive: "ドライブ"
network: "ネットワーク"
users: "Usuarios"
drive: "Drive"
network: "Red"
charts:
federation-instances: "インスタンスの増減"
federation-instances-total: "インスタンスの積算"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "Ordenar"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "Local+Remoto"
local: "Local"
remote: "Remoto"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "サインアウト"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされています"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "タイムライン"
media: "メディア"
is-suspended: "このユーザーは凍結されています。"
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: "画像"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
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

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
@ -90,7 +91,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
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-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'やり直す'
title: "問題が発生しました"
retry: "やり直す"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
@ -158,12 +166,12 @@ common:
polls: "アンケート"
post-form: "投稿フォーム"
server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション"
tips: "ヒント"
hashtags: "ハッシュタグ"
dev: "アプリの作成に失敗しました。再度お試しください。"
ai-chan-kawaii: "藍ちゃかわいい"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
@ -275,6 +284,7 @@ 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: "テーマが正しくありません。"
@ -296,6 +306,9 @@ 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: "ユーザーを探す"
you: "あなた"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "開発者"
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入り解除"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
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: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "「{}」に投票する"
vote-count: "{}票"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "接続中"
reconnecting: "再接続中"
connected: "接続完了"
common/views/components/twitter-setting.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。"
connected-to: "次のTwitterアカウントに接続されています"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
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: "お知らせはありません"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue:
title: "フォトストリーム"
no-photos: "写真はありません"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -659,10 +697,12 @@ 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: "この投稿は削除されました"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "セキュリティ"
signin: "サインイン履歴"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
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: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "サインアウト"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされています"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "タイムライン"
media: "メディア"
is-suspended: "このユーザーは凍結されています。"
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: "画像"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集"

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
got-it: "わかった"
customization-tips:
@ -96,7 +97,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -118,8 +118,7 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@ -130,17 +129,23 @@ common:
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: 'これは開発ビルドです。本番環境で使用しないでください。'
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'やり直す'
title: "問題が発生しました"
retry: "やり直す"
reversi:
drawn: "引き分け"
@ -179,6 +184,7 @@ common:
dev: "アプリの作成に失敗しました。再度お試しください。"
ai-chan-kawaii: "藍ちゃかわいい"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
@ -284,6 +290,7 @@ common/views/components/media-banner.vue:
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
@ -300,6 +307,7 @@ 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: "テーマが正しくありません。"
@ -322,6 +330,9 @@ 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: "ユーザーを探す"
@ -357,7 +368,9 @@ common/views/components/nav.vue:
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入り解除"
@ -367,6 +380,18 @@ common/views/components/note-menu.vue:
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: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "「{}」に投票する"
vote-count: "{}票"
@ -441,6 +466,14 @@ common/views/components/stream-indicator.vue:
reconnecting: "再接続中"
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: "接続する"
@ -474,7 +507,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -506,6 +538,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -517,6 +550,14 @@ common/views/components/profile-editor.vue:
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
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: "お知らせはありません"
@ -574,10 +615,13 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -686,10 +730,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,11 +777,13 @@ 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: "この投稿は削除されました"
@ -822,7 +864,6 @@ desktop/views/components/settings.vue:
security: "セキュリティ"
signin: "サインイン履歴"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
@ -837,11 +878,10 @@ desktop/views/components/settings.vue:
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: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "デザインと表示"
@ -886,9 +926,6 @@ desktop/views/components/settings.vue:
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
@ -931,6 +968,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了"
@ -938,6 +976,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: "アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。"
@ -946,13 +988,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
@ -980,6 +1022,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
@ -987,6 +1030,12 @@ desktop/views/components/sub-note-content.vue:
media-count: "{}つのメディア"
poll: "アンケート"
desktop/views/components/settings.tags.vue:
title: "タグ"
query: "クエリ (省略可)"
add: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
@ -1068,6 +1117,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
@ -1079,12 +1129,20 @@ admin/views/dashboard.vue:
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -1124,6 +1182,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1143,6 +1203,12 @@ 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: "チャート"
@ -1162,6 +1228,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1170,21 +1237,51 @@ 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: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1193,6 +1290,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1206,6 +1311,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
@ -1303,17 +1410,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
@ -1329,6 +1426,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
@ -1395,10 +1493,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: "クリックして表示"
@ -1573,9 +1667,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1597,7 +1691,6 @@ mobile/views/pages/settings.vue:
signout: "サインアウト"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
@ -1608,15 +1701,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "タイムライン"
media: "メディア"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿"
@ -1674,7 +1759,6 @@ deck/deck.user-column.vue:
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"

View File

@ -25,12 +25,13 @@ common:
application-authorization: "アプリの連携"
close: "さいなら"
do-not-copy-paste: "ここにコードを入力したり張り付けたりせんといてください。アカウントが不正利用されるかも分からん。知らんけど。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
load-more: "もっとあらへんのか!"
enter-password: "パスワードを入れてや"
2fa: "二段階認証"
got-it: "ほい"
customization-tips:
title: "カスタマイズのヒント"
paragraph: "<p>ホームのカスタマイズは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並替えたりすることができます。</p><p>一部ウィジェットは<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
paragraph: "<p>ホームのカスタマイズは、ウィジェットを増やしたりほかしたり、ドラッグドロップして並替えたりしていじれるで。</p><p>一部ウィジェットは<strong><strong>右</strong>クリック</strong>で表示もいじれるんや。</p><p>ほかしたいときはヘッダーの<strong>「ゴミ箱」</strong>にほうりこんでら。</p><p>「完了」押したらお終いやで。</p>"
gotit: "Got it!"
notification:
file-uploaded: "ファイルがアップロードされたで"
@ -90,10 +91,9 @@ common:
followers-desc: "自分のフォロワー以外に見せんとって"
specified: "ダイレクト"
specified-desc: "今から言うユーザー以外に見せんとってや"
private: "公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
local-public: "公開 (ローカルだけ)"
local-home: "ホーム (ローカルだけ)"
local-followers: "フォロワー (ローカルだけ)"
note-placeholders:
a: "今なにしてん?"
b: "何かあったんか?"
@ -110,31 +110,39 @@ common:
my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。"
i-like-sushi: "寿司(のほうがプリンよりむしろ)ウマい、タコ焼きはあらへんけど。"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示や!"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストをつけんで!"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "アメちゃん付きアカウント"
disable-animated-mfm: "投稿内のちょろちょろ動いてんのを止める"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "閲覧注意?見せたらあかん?そんなん知らんわ、見せろや!"
always-mark-nsfw: "わからんからとりあえずメディアは見せたらあかん"
show-full-acct: "ユーザー名のホストも出したる"
show-via: "viaを表示する"
show-via: "viaを見せる"
reduce-motion: "UI、動き過ぎや、静かにしてや"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: '開発ビルドや。本番環境で使わんといて!知らんで!'
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-post: "この投稿情報はコピーです。"
view-on-remote: "ちゃんとした情報見せてや!"
renoted-by: "{user}がRenote"
error:
title: '問題が起こったわ'
retry: 'もっぺん'
title: "問題が起こったわ"
retry: "もっぺん"
reversi:
drawn: "おあいこ"
my-turn: "あんさんのターンや"
opponent-turn: "相手のターンや"
turn-of: "{name}のターンです"
turn-of: "{name}のターン"
past-turn-of: "{name}のターン"
won: "{name}の勝ち"
won: "{name}の勝ちやで!"
black: "黒"
white: "白"
total: "合計"
@ -158,14 +166,14 @@ common:
polls: "アンケート"
post-form: "投稿フォーム"
server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション"
tips: "ヒント"
hashtags: "ハッシュタグ"
dev: "アプリの作成あかんかったわ。もっぺんやってみて。"
ai-chan-kawaii: "藍ちゃめっさべっぴんさんや"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
share-access: "あんたのアカウントに<i>{name}</i>がアクセスしようとしてるで?ええか?"
permission-ask: "このアプリは次の権限を要求してんで:"
account-read: "アカウントの情報を見させてもらうで。"
account-write: "アカウントの情報を操作させてもらうで。"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "見せたらあかん"
click-to-show: "押してみ、見せたるわ"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "ナイトゲームちゃう時のテーマどないする?"
dark-theme: "ナイトゲームの時のテーマどないする?"
light-themes: "デイゲーム"
@ -275,6 +284,7 @@ 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: "このテーマあかんわ、なんか間違うとる"
@ -296,6 +306,9 @@ 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: "ユーザーを探す"
you: "あんさん"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "開発者"
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "もっと"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入りやめる"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
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: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "「{}」に投票や!"
vote-count: "{}票"
@ -353,7 +379,7 @@ common/views/components/emoji-picker.vue:
custom-emoji: "カスタム絵文字"
people: "人"
animals-and-nature: "動物&自然"
food-and-drink: "食べ物&飲み"
food-and-drink: "食いもん&飲みもん"
activity: "アクティビティ"
travel-and-places: "場所"
objects: "物"
@ -400,27 +426,32 @@ common/views/components/stream-indicator.vue:
connecting: "つないどるで"
reconnecting: "つなぎ直すで"
connected: "つないだわ"
common/views/components/twitter-setting.vue:
description: "あんさんがつことるTwitterアカウントをMisskeyアカウントに接続しとくと、あんさんのプロフィールにTwitterアカウント情報が表示されるようになったり、Twitterをつこた便利なサインインが使えるようになったりすんで。"
connected-to: "次のTwitterアカウントに接続されとるで"
detail: "詳細..."
reconnect: "つなぎ直す"
connect: "Twitterと接続する"
disconnect: "さいならする"
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: "つなげる"
disconnect: "接続をほかす"
connected-to: "このアカウントと繋がっとるで"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
detail: "詳細..."
reconnect: "再接続する"
description: "あんたがつことるTwitterアカウントをMisskeyアカウントに接続しくと、あんさんのプロフィールにTwitterアカウント情報が表示されるようになったり、Twitterを使うた便利なサインインが使えるようになったりすんで。"
connected-to: "次のGitHubアカウントに接続されとるで"
detail: "くわしく..."
reconnect: "つなぎ直す"
connect: "GitHubと接続する"
disconnect: "切断する"
disconnect: "接続をほかす"
common/views/components/discord-setting.vue:
description: "お使いのDiscordアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールDiscordアカウント情報が表示されるようになったり、Discordを用いた便利なサインインを利用できるようになります。"
connected-to: "次のDiscordアカウントに接続されています"
detail: "詳細..."
reconnect: "再接続する"
description: "あんたがつことるDiscordアカウントをMisskeyアカウントに接続しくと、あんさんのプロフィールDiscordアカウント情報が表示されるようになったり、Discordを使うた便利なサインインが使えるようになったりすんで。"
connected-to: "次のDiscordアカウントに接続されとるで"
detail: "くわしく..."
reconnect: "つなぎ直す"
connect: "Discordと接続する"
disconnect: "切断する"
disconnect: "接続をほかす"
common/views/components/uploader.vue:
waiting: "待っとる"
common/views/components/visibility-chooser.vue:
@ -431,27 +462,27 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワー以外に見せんとって"
specified: "ダイレクト"
specified-desc: "今から言うユーザー以外に見せんとってや"
private: "公開"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
local-public: "公開 (ローカルだけ)"
local-public-desc: "リモートには見せへん"
local-home: "ホーム (ローカルだけ)"
local-followers: "フォロワー (ローカルだけ)"
common/views/components/trends.vue:
count: "{}人が投稿"
empty: "流行は自分で作るんや"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
pick-language: "言語選んでや"
recommended: "これええで"
auto: "勝手にやる"
specify-language: "言語選びや"
info: "ページもっぺん読み込んだら反映したるで。"
common/views/components/profile-editor.vue:
title: "プロフィール"
name: "名前"
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotやで"
is-locked: "他人のフォローは許可してからや!"
careful-bot: "Botからのフォローだけは許可制や"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシーってなんや?オカンの年齢か?"
save: "保存"
@ -467,8 +499,15 @@ common/views/components/profile-editor.vue:
upload-failed: "これアップロードでけへんわ"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
email-verified: "このメールアドレスOKや"
email-not-verified: "メールアドレスが確認されとらん。メールボックスもっぺん見てくれへん?"
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: "お知らせはあらへんで"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かるんや。Misskeyは広告を掲載したりせんから、収入を皆様からの寄付に頼ってますねん。もし興味があるなら、{}までご連絡よろしゅう頼んます。ご協力おおきに。"
common/views/widgets/photo-stream.vue:
title: "フォトストリーム"
no-photos: "写真はあらへんで"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができんで"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示してんねん"
tips-line21: "APIをつこてbotの開発なども行えるで"
tips-line23: "ウチのタコちゃんかわええやろ…今の突っ込むところや!"
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: "フォローしとる"
@ -552,7 +590,7 @@ desktop/views/components/activity.vue:
title: "アクティビティ"
toggle: "表示変える"
desktop/views/components/calendar.vue:
title: "{year}年 {month}月"
title: "{year}年 {month} 月"
prev: "前の月"
next: "次の月"
go: "クリックしてタイムリープ"
@ -659,10 +697,12 @@ 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: "この投稿なんか無くなってもうたわ"
@ -694,7 +734,7 @@ desktop/views/components/post-form.vue:
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近のタグ"
local-only-message: "この投稿はローカルにのみ公開されます"
local-only-message: "この投稿はローカルだけ公開されるで"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "あんさんのつことる端末は位置情報に対応しとらんみたいやわ、知らんけど。"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "セキュリティ"
signin: "こんな感じでサインインしたらしいで"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
@ -744,14 +783,13 @@ desktop/views/components/settings.vue:
default-note-visibility: "もとからの公開範囲"
remember-note-visibility: "投稿の公開範囲おぼえといて"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
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: "デッキを使うとるとき、ナビゲーションが発生するときにページ移動せんで、一時的なカラムで受けれるようにするで"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "見た感じ"
customize: "ホームをカスタマイズ"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "アイコンもタコ焼きも丸いやんな?"
contrasted-acct: "ユーザー名ようわからんし見やすしといて"
post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示すんで"
show-clock-on-header: "右上をカリヨン広場にする(時計表示)"
show-reply-target: "どこにリプライするんや見せて"
timeline: "タイムライン"
@ -772,10 +809,17 @@ desktop/views/components/settings.vue:
show-renoted-my-notes: "わしのRenoteもタイムライン載せてくれや"
show-local-renotes: "ローカル投稿のRenoteも見たいんや"
show-maps: "地図勝手にバァーって開いてくれ"
remain-deleted-note: "削除された投稿表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "投稿やメッセージもろたとき、音鳴らしたるわ。大丈夫や、この設定はブラウザが覚えてくれとる。"
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。"
cache-cleared: "キャッシュお掃除したで"
cache-cleared-desc: "もっぺんページ読みこみ直してくれや"
auto-watch: "投稿勝手にウォッチしといてや"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を勝手に受け取るようにすんで。"
about: "Misskeyってなんや"
operator: "このサーバー誰のや"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入れてや"
authenticator: "まず、Google Authenticatorとかのをつこてるデバイスにインストールしてや:"
howtoinstall: "インストール方法はここやで"
token: "トークン"
scan: "んで、ここに出とるQRコードをスキャンしてな:"
done: "最後にデバイスに表示されとるトークンを入力してな:"
submit: "送信"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入れてや"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
credential-info: "「i」パラメータは自動で付与されます。"
send: '送る'
sending: '応答待っとる'
response: 'こんなん返ってきたわ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは勝手に付くで。"
send: "送る"
sending: "応答待っとる"
response: "こんなん返ってきたわ"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはあらへんで"
common/views/components/drive-settings.vue:
@ -860,8 +903,8 @@ common/views/components/mute-and-block.vue:
no-muted-users: "ミュートしとるユーザーはおらんで"
no-blocked-users: "ブロックしとるユーザーはおらんで"
word-mute: "ワードミュート"
muted-words: "ミュートされたキーワード"
muted-words-description: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります"
muted-words: "ミュートしとるキーワード"
muted-words-description: "スペースで区切るとAND指定、改行で区切るとOR指定"
save: "保存"
common/views/components/password-settings.vue:
reset: "パスワード変える"
@ -870,11 +913,17 @@ 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: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "知っといてや"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,62 +1001,71 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "ワイのインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
details: "詳細"
remove-report: "削除"
admin/views/instance.vue:
instance: "インスタンス"
instance-name: "インスタンス名"
instance-description: "インスタンスの紹介"
host: "ホスト"
banner-url: "バナー画像URL"
error-image-url: "エラー画像URL"
languages: "インスタンスの対象言語"
languages-desc: "スペースで区切って複数設定できます。"
languages-desc: "スペースで区切って複数設定できるで。"
maintainer-config: "管理者情報"
maintainer-name: "管理者名"
maintainer-email: "管理者の連絡先"
drive-config: "ドライブの設定"
cache-remote-files: "リモートのファイルをキャッシュする"
cache-remote-files-desc: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクるようになります。そのためサーバーのストレージを節約できますが、プライバシー設定で直リンクを無効にしているユーザーはファイルが見えなくなったり、サムネイルが生成されないので通信量が増加します。通常はこの設定をオンにしておくことをおすすめします。"
cache-remote-files-desc: "この設定を無効にすると、リモートファイルをこっちで保管せずに直接リンクるようになるで。サーバーのストレージは軽くやろうけど、プライバシー設定で直リンクを向こうにしとるユーザーはファイルが見れへんし、サムネイルが無いから通信量が増えたりするから、普通はオンにしといてな。"
local-drive-capacity-mb: "ローカルユーザーひとりあたりのドライブ容量"
remote-drive-capacity-mb: "リモートユーザーひとりあたりのドライブ容量"
mb: "メガバイト単位"
recaptcha-config: "reCAPTCHAの設定"
recaptcha-info: "reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。"
recaptcha-info: "reCAPTCHAを有効にするにはreCAPTCHAトークンが要るで。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得して。"
enable-recaptcha: "reCAPTCHAを有効にする"
recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは {url} に設定します。"
twitter-integration-info: "コールバックURLは {url} に設定してや。"
enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする"
github-integration-info: "コールバックURLは {url} に設定してや。"
enable-github-integration: "GitHub連携を使えるようにする"
github-integration-client-id: "Client ID"
github-integration-client-secret: "Client Secret"
discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは {url} に設定します。"
discord-integration-info: "コールバックURLは {url} に設定してや。"
enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret"
proxy-account-config: "プロキシアカウントの設定"
proxy-account-info: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。"
proxy-account-info: "プロキシアカウントは、代わりにフォローしてくれるアカウント。例えば、551に豚まんが無いときやったり、ユーザーがリモートユーザーをアカウントに入れたとき、リストに入れられたユーザーが誰からもフォローされてないと寂しいやん。寂しいし、アクティビティも配達されへんから、プロキシアカウントがフォローしてくれるで。ええやつやん…"
proxy-account-username: "プロキシアカウントのユーザー名"
proxy-account-username-desc: "プロキシとして使用するアカウントのユーザー名を指定してください。"
proxy-account-warn: "アカウントは自動で作られないため、そのユーザー名のアカウントを予め作成しておく必要があります。"
proxy-account-username-desc: "プロキシとして使用するアカウントのユーザー名を指定して"
proxy-account-warn: "アカウント作るんはあんたがやってや。あんたのおかんもMisskeyもやってくれへんで。"
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
invite: "招待"
disable-registration: "ユーザー登録の受付を止める"
disable-local-timeline: "ローカルタイムラインを使えんようにする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "来てや"
save: "保存"
saved: "保存しました"
user-recommendation-config: "おすすめユーザー"
enable-external-user-recommendation: "外部ユーザーレコメンデーションを有効にする"
saved: "保存したで!"
user-recommendation-config: "このユーザーええで"
enable-external-user-recommendation: "外部ユーザーレコメンデーションを使えるようにする"
external-user-recommendation-engine: "エンジン"
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
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を使用する"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "ユーザーが見つかりません"
user-not-found: "ユーザーが見つからへん!"
lookup: "照会"
reset-password: "パスワードをリセット"
password-updated: "パスワードは現在「{password}」です"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password} 」やで"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加したで。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿しとらんようや。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
@ -1240,11 +1336,11 @@ mobile/views/components/media-video.vue:
sensitive: "ちょっと見せられへんわ"
click-to-show: "押してみ、見せたるわ"
common/views/components/follow-button.vue:
following: "フォロー"
following: "フォローしとる"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-processing: "フォロー処理"
follow-request: "フォロー申請"
request-pending: "フォロー許してくれるん待っとる"
follow-processing: "フォロー処理やっとる‥"
follow-request: "フォローさせてや!言うてみる"
mobile/views/components/friends-maker.vue:
title: "おもろそうやな"
empty: "おすすめのユーザーはおらん。"
@ -1330,7 +1426,7 @@ mobile/views/pages/home.vue:
mentions: "あんた宛て"
messages: "メッセージ"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
@ -1357,7 +1453,7 @@ mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/search.vue:
search: "探す"
not-found: "「{q}」に関する投稿は見つかりませんでした。"
not-found: "ワイは「{q}」なんて投稿知らんわ、無いんちゃう?知らんけど。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイル選んでや"
mobile/views/pages/settings.vue:
@ -1378,29 +1474,17 @@ mobile/views/pages/settings.vue:
notification-position: "通知どこ見せる?"
notification-position-bottom: "ミナミの方"
notification-position-top: "キタの方"
theme: "テーマ"
behavior: "動き"
fetch-on-scroll: "スクロールしたらもっと見せてや"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "もとからの公開範囲"
remember-note-visibility: "投稿の公開範囲おぼえといて"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
web-search-engine-desc: "例: https://www.google.com/?#q?{{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグなんて要らんわ"
load-raw-images: "添付された画像もべっぴんさんのままにしといてな"
load-remote-media: "東京とか、リモートサーバーのメディアも見せてや"
twitter: "鳥さんとも連携や!"
twitter-connect: "鳥さん邪魔すんで"
twitter-reconnect: "もっぺん繋ぎ直すで"
twitter-disconnect: "邪魔するんやったら帰って"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "あんたのMisskeyいつのや"
version: "バージョン:"
latest-version: "いっちゃん新しいやつ:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "さいなら"
sound: "サウンド"
enable-sounds: "サウンド鳴らす"
mark-as-read-all-unread-notes: "全部もう読んだわ"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされとるで"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "こんなやつ"
timeline: "タイムライン"
media: "メディア"
is-suspended: "このユーザーはあかんわ。凍結されとる。"
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: "画像"
@ -1457,21 +1532,21 @@ deck:
hybrid: "ソーシャル"
hashtag: "ハッシュタグ"
global: "グローバル"
mentions: "あた宛て"
mentions: "あた宛て"
direct: "ダイレクト投稿"
notifications: "通知"
list: "リスト"
swap-left: "左に移動"
swap-right: "右に移動"
swap-up: "上に移動"
swap-down: "下に移動"
remove: "カラムを削除"
add-column: "カラムを追加"
rename: "名前を変"
stack-left: "左に重ね"
pop-right: "右に出す"
swap-left: "左に移動や!"
swap-right: "右に移動や!"
swap-up: "上に移動や!"
swap-down: "下に移動や!"
remove: "カラムにさいなら"
add-column: "カラム増やす"
rename: "名前を変えるで"
stack-left: "左に重ねんで!"
pop-right: "右に出すで!"
deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-only: "メディア投稿だけや"
is-media-view: "メディアビュー"
edit: "オプション"
deck/deck.user-column.vue:
@ -1481,8 +1556,7 @@ deck/deck.user-column.vue:
images: "画像"
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
pinned-notes: "ピン留めしはった投稿"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集"

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "여기에 코드를 입력하거나 붙여넣지 마십시오. 계정이 무단으로 사용될 수 있습니다."
load-more: "더보기"
enter-password: "비밀번호를 입력하여 주십시오"
2fa: "2단계 인증"
got-it: "알겠습니다"
customization-tips:
title: "커스터마이징 도움말"
@ -90,7 +91,6 @@ common:
followers-desc: "자신의 팔로워에게만 공개"
specified: "다이렉트"
specified-desc: "지정한 사용자에게만 공개"
private: "비공개"
local-public: "공개 (로컬 한정)"
local-home: "홈 (로컬 한정)"
local-followers: "팔로워 (로컬 한정)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다."
i-like-sushi: "저는 (푸딩보다 차라리) 초밥이 좋아요"
show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시"
use-contrast-reversi-stones: "리버시 아이콘의 대비를 높이기"
use-avatar-reversi-stones: "리버시의 돌로 아바타를 사용"
verified-user: "공식 계정"
disable-animated-mfm: "글의 문자 애니메이션을 비활성화"
suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시"
always-show-nsfw: "항상 열람주의 미디어를 표시"
always-mark-nsfw: "항상 미디어를 열람주의로 설정하여 게시"
show-full-acct: "사용자명의 호스트를 표시하지 않기"
@ -120,14 +121,21 @@ common:
reduce-motion: "UI의 애니메이션 줄이기"
this-setting-is-this-device-only: "이 장치만"
use-os-default-emojis: "운영체제의 기본 이모지 사용"
do-not-use-in-production: '이것은 개발 빌드입니다. 프로덕션 환경에서 사용하지 마십시오.'
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-post: "이 글 정보는 복사본입니다."
view-on-remote: "정확한 정보 보기"
renoted-by: "{user}이(가) Renote"
renoted-by: "{user}이(가) 리노트"
error:
title: '오류가 발생했습니다'
retry: '다시 시도'
title: "오류가 발생했습니다"
retry: "다시 시도"
reversi:
drawn: "무승부"
my-turn: "당신의 차례입니다"
@ -158,12 +166,12 @@ common:
polls: "투표"
post-form: "게시 양식"
server: "서버 정보"
donation: "기부 요청"
nav: "내비게이션"
tips: "팁"
hashtags: "해시태그"
dev: "앱을 만드는 데 실패했습니다. 다시 시도하시기 바랍니다."
ai-chan-kawaii: "아이쨩 귀여워"
you: "당신"
auth/views/form.vue:
share-access: "<i>{name}</i>가 당신의 계정에 엑세스하도록 허용하시겠습니까?"
permission-ask: "이 앱은 다음의 권한을 요청합니다:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "열람주의"
click-to-show: "클릭하여 표시"
common/views/components/theme.vue:
theme: "테마"
light-theme: "다크 모드가 아닐 때 사용하는 테마"
dark-theme: "다크 모드일 때 사용하는 테마"
light-themes: "밝은 테마"
@ -275,6 +284,7 @@ common/views/components/theme.vue:
base-theme: "기본 테마"
base-theme-light: "밝음"
base-theme-dark: "어두움"
find-more-theme: "그 외 테마 찾아보기"
theme-name: "테마명"
preview-created-theme: "미리보기"
invalid-theme: "테마가 올바르지 않습니다."
@ -296,6 +306,9 @@ 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: "사용자 찾기"
you: "당신"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "개발자"
feedback: "피드백"
common/views/components/note-menu.vue:
mention: "멘션"
detail: "상세"
copy-content: "내용 복사"
copy-link: "링크 복사"
favorite: "이 노트 즐겨찾기"
unfavorite: "즐겨찾기에서 제거"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
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: "관리자에게 보고되었습니다. 협조해주셔서 감사합니다."
common/views/components/poll.vue:
vote-to: "\"{}\"에 투표하기"
vote-count: "{}표"
@ -351,7 +377,7 @@ common/views/components/reaction-picker.vue:
choose-reaction: "반응 선택"
common/views/components/emoji-picker.vue:
custom-emoji: "커스텀 이모지"
people: ""
people: "사람들"
animals-and-nature: "동물 & 자연"
food-and-drink: "음식 & 음료"
activity: "활동"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "연결중"
reconnecting: "다시 연결 중"
connected: "연결 완료"
common/views/components/twitter-setting.vue:
description: "사용중이신 Twitter 계정을 Misskey 계정에 연결하면 프로필에 Twitter 정보가 표시되고, Twitter를 사용하여 편리하게 로그인할 수 있습니다."
connected-to: "다음 Twitter 계정에 연결되어 있습니다"
detail: "자세히..."
reconnect: "다시 연결"
connect: "Twitter와 연결하기"
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: "접속"
disconnect: "연결 끊기"
connected-to: "다음 계정에 연결되어 있습니다"
common/views/components/github-setting.vue:
description: "사용중이신 Github 계정을 Misskey 계정에 연결하면 프로필에 Github 정보가 표시되고, Github를 사용하여 편리하게 로그인할 수 있습니다."
connected-to: "다음 Github 계정에 연결되어 있습니다"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "자신의 팔로워에게만 공개"
specified: "다이렉트"
specified-desc: "지정한 사용자에게만 공개"
private: "비공개"
local-public: "공개 (로컬 한정)"
local-public-desc: "원격에는 공개하지 않음"
local-home: "홈 (로컬 한정)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "계정"
location: "장소"
description: "자기소개"
language: "언어"
birthday: "생일"
avatar: "아바타"
banner: "배너"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "이 계정은 Bot입니다"
is-locked: "팔로우를 수동으로 승인"
careful-bot: "Bot의 팔로우만 수동으로 승인"
auto-accept-followed: "팔로우중인 사용자로부터의 팔로우를 자동으로 승인"
advanced: "기타"
privacy: "프라이버시"
save: "저장"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "메일 주소"
email-verified: "매일 주소가 확인되었습니다"
email-not-verified: "메일 주소가 확인되지 않았습니다. 받은 편지함을 확인하여 주시기 바랍니다."
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: "공지사항이 없습니다"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "오늘:"
this-month: "이번 달:"
this-year: "올해:"
common/views/widgets/donation.vue:
title: "기부 요청"
text: "Misskey의 운영에는 도메인, 서버 등의 비용이 들어갑니다. Misskey는 광고를 게시하거나 하지 않으므로 수입을 여러분의 기부금에 의존하고 있습니다. 혹시 관심있으시다면 {}로 연락해주시기 바랍니다. 협력해주셔서 감사합니다."
common/views/widgets/photo-stream.vue:
title: "포토 스트림"
no-photos: "사진이 없습니다"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "몇몇 창은 브라우저 밖으로 분리할 수 있습니다"
tips-line20: "달력 위젯의 퍼센트는 경과된 비율을 나타냅니다"
tips-line21: "API를 사용하여 bot의 개발 등을 할 수 있습니다"
tips-line23: "마유 귀여워요 마유"
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: "팔로우 중"
@ -657,12 +695,14 @@ desktop/views/components/note-detail.vue:
private: "이 글은 비공개입니다"
deleted: "이 글은 삭제되었습니다"
location: "위치 정보"
renote: "Renote"
renote: "리노트"
add-reaction: "리액션 추가"
undo-reaction: "리액션 취소"
desktop/views/components/note.vue:
reply: "답글 달기"
renote: "Renote"
renote: "리노트"
add-reaction: "리액션 추가"
undo-reaction: "리액션 취소"
detail: "상세"
private: "이 글은 비공개입니다"
deleted: "이 글은 삭제되었습니다"
@ -679,13 +719,13 @@ desktop/views/components/post-form.vue:
quote-placeholder: "이 글을 인용..."
submit: "글쓰기"
reply: "답글 달기"
renote: "Renote"
renote: "리노트"
posted: "게시하였습니다!"
replied: "답글을 달았습니다!"
reposted: "Renote 하였습니다!"
reposted: "리노트 하였습니다!"
note-failed: "게시에 실패하였습니다"
reply-failed: "답글을 달지 못했습니다"
renote-failed: "Renote에 실패하였습니다"
renote-failed: "리노트에 실패하였습니다"
posting: "게시중"
attach-media-from-local: "PC에서 미디어 첨부"
attach-media-from-drive: "드라이브에서 미디어 첨부"
@ -711,13 +751,13 @@ desktop/views/components/progress-dialog.vue:
desktop/views/components/renote-form.vue:
quote: "인용하기..."
cancel: "취소"
renote: "Renote"
renote-home: "Renote (Home)"
renote: "리노트"
renote-home: "리노트 (홈)"
reposting: "작업중입니다..."
success: "Renote 성공!"
failure: "Renote에 실패하였습니다"
success: "리노트 하였습니다!"
failure: "리노트에 실패하였습니다"
desktop/views/components/renote-form-window.vue:
title: "이 게시물을 Renote 하시겠습니까?"
title: "이 글을 리노트하시겠습니까?"
desktop/views/pages/user-following-or-followers.vue:
following: "{user}의 팔로잉"
followers: "{user}의 팔로워"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "보안"
signin: "로그인 기록"
password: "비밀번호"
2fa: "2단계 인증"
other: "기타"
license: "라이선스"
theme: "테마"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
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: "덱을 사용중일 때, 내비게이션이 발생하였을 경우 페이지를 이동하지 않고 일시적으로 임시 칼럼을 생성하도록 합니다."
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "덱을 기본 UI로 설정"
display: "디자인 및 표시"
customize: "홈 커스터마이징"
@ -764,18 +802,24 @@ desktop/views/components/settings.vue:
circle-icons: "원형 아이콘 사용"
contrasted-acct: "사용자명에 대비 추가"
post-form-on-timeline: "타임라인 상단에 글 작성란을 표시"
suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시"
show-clock-on-header: "오른쪽 상단에 시계 표시"
show-reply-target: "답글 대상 표시"
timeline: "타임라인"
show-my-renotes: "내 Renote를 타임라인에 보이기"
show-renoted-my-notes: "내 글이 Renote될 경우 타임라인에 보이기"
show-local-renotes: "로컬 글의 Renote를 타임라인에 보이기"
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: "글이나 메시지를 송수신하였을 때 소리를 재생합니다. 이 설정은 브라우저에 저장됩니다."
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "지우기를 실행하면 브라우저에 저장된 계정 정보 캐시, 글이나 답글 및 메시지의 임시 저장, 그 외 데이터 (설정 정보 포함) 가 삭제 됩니다. 지우기 작업을 수행한 후 페이지를 다시 로드해야 합니다."
cache-cleared: "캐시를 삭제하였습니다"
cache-cleared-desc: "페이지를 새로고침해 주십시오."
auto-watch: "글 자동 감시"
auto-watch-desc: "리액션, 답글, 게시물에 대한 알림을 자동으로 받을 수 있도록 합니다."
about: "Misskey에 대하여"
operator: "이 서버의 운영자"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "비밀번호를 입력하여 주십시오"
authenticator: "먼저, 가지고 계신 장치에 Google Authenticator를 설치해야 합니다:"
howtoinstall: "설치 방법은 여기에 있습니다"
token: "토큰"
scan: "다음으로 표시되어 있는 QR 코드를 스캔합니다:"
done: "사용중이신 장치에 표시된 토큰을 입력해주시면 마무리됩니다:"
submit: "완료"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "비밀번호를 입력하여 주십시오"
console:
title: 'API 콘솔'
endpoint: '엔드포인트'
parameter: '매개변수'
title: "API 콘솔"
endpoint: "엔드포인트"
parameter: "매개변수"
credential-info: "\"i\" 패러미터는 자동으로 추가됩니다."
send: '전송'
sending: '응답을 기다리는 중'
response: '결과'
send: "전송"
sending: "응답을 기다리는 중"
response: "결과"
desktop/views/components/settings.apps.vue:
no-apps: "연결된 어플리케이션이 없습니다"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "추가"
save: "저장"
desktop/views/components/taskmanager.vue:
title: "작업 관리자"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "연합"
announcements: "공지사항"
hashtags: "해시태그"
abuse: "스팸 신고"
back-to-misskey: "Misskey로 돌아가기"
admin/views/dashboard.vue:
dashboard: "대시보드"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "인스턴스"
this-instance: "이 인스턴스"
federated: "연합"
admin/views/abuse.vue:
title: "스팸 신고"
target: "대상"
reporter: "신고자"
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: "관리자 정보"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "글의 최대 문자수"
disable-registration: "사용자 등록 비활성화"
disable-local-timeline: "로컬 타임라인 비활성화"
disable-global-timeline: "글로벌 타임라인 비활성화"
disabling-timelines-info: "이 타임라인들을 비활성화해도 관리자 및 모더레이터는 계속 사용할 수 있습니다."
invite: "초대"
save: "저장"
saved: "저장하였습니다"
@ -1015,6 +1074,12 @@ 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일마다"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "글 누적 수"
users: "사용자 증감"
users-total: "사용자 누적"
active-users: "활성 사용자 수"
drive: "드라이브 사용량 증감"
drive-total: "드라이브 사용량 누적"
drive-files: "드라이브 파일 수 증감"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "요청"
network-time: "응답시간"
network-usage: "통신량"
admin/views/drive.vue:
operation: "작업"
fileid-or-url: "파일 ID 또는 파일 URL"
file-not-found: "파일을 찾을 수 없습니다"
lookup: "조회"
sort:
title: "정렬"
createdAtAsc: "업로드 날짜 오랜 순"
createdAtDesc: "업로드 날짜 최신순"
sizeAsc: "크기가 작은 순"
sizeDesc: "크기가 큰 순"
origin:
title: "출처"
combined: "로컬 + 리모트"
local: "로컬"
remote: "리모트"
delete: "삭제"
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: "암호 재설정"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "암호는 현재 \"{password}\" 입니다"
suspend: "정지"
suspend-confirm: "凍結しますか?"
suspended: "정지하였습니다"
unsuspend: "정지 해제"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "정지를 해제하였습니다"
verify: "공식 계정으로 설정"
verify-confirm: "公式アカウントにしますか?"
verified: "공식 계정으로 설정하였습니다"
unverify: "공식 계정 해제"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "공식 계정을 해제하였습니다"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "사용자"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "등록일이 최신인 순"
updatedAtAsc: "수정일이 오래된 순"
updatedAtDesc: "수정일이 최신인 순"
state:
title: "상태"
all: "모두"
admin: "관리자"
moderator: "모더레이터"
adminOrModerator: "관리자+모더레이터"
verified: "공식 계정"
suspended: "정지됨"
origin:
title: "위치 (오리진)"
combined: "로컬 + 원격"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "모더레이터 등록"
add: "등록"
added: "모더레이터를 등록하였습니다"
remove: "해제"
removed: "모더레이터 등록을 해제했습니다"
admin/views/emoji.vue:
add-emoji:
title: "이모지 등록"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}에 추가하였습니다."
menu: "메뉴"
desktop/views/pages/user/user.header.vue:
posts: "글"
following: "팔로잉"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "글"
with-replies: "글과 답글"
with-media: "미디어"
my-posts: "내 글"
empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다."
desktop/views/widgets/messaging.vue:
title: "메시지"
@ -1275,7 +1371,7 @@ mobile/views/components/post-form.vue:
add-visible-user: "사용자 추가"
submit: "글쓰기"
reply: "답글 달기"
renote: "Renote"
renote: "리노트"
quote-placeholder: "이 글을 인용... (선택적)"
reply-placeholder: "이 글에 답글..."
cw-placeholder: "내용 주석 (선택적)"
@ -1369,18 +1465,18 @@ mobile/views/pages/settings.vue:
contrasted-acct: "사용자명에 대비 추가"
timeline: "타임라인"
show-reply-target: "답글 대상 표시"
show-my-renotes: "자신이 한 Renote 표시"
show-renoted-my-notes: "자신의 글이 Renote된 것을 표시"
show-local-renotes: "로컬 글의 Renote 표시"
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: "위"
theme: "테마"
behavior: "동작"
fetch-on-scroll: "스크롤하여 자동으로 불러오기"
keep-cw: "CW保持"
note-visibility: "게시물의 공개 범위"
default-note-visibility: "기본 공개 범위"
remember-note-visibility: "글의 공개 범위를 기억하기"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "작성하는 글에 \"모바일에서 작성함\" 을 붙이지 않음"
load-raw-images: "첨부 이미지를 고품질로 표시"
load-remote-media: "원격 서버의 미디어를 표시"
twitter: "Twitter 연동"
twitter-connect: "Twitter 계정에 연결"
twitter-reconnect: "다시 연결"
twitter-disconnect: "연결 끊기"
github: "GitHub 연동"
github-connect: "GitHub 계정에 연결"
github-reconnect: "다시 연결"
github-disconnect: "연결 끊기"
discord: "Discord 연동"
discord-connect: "Discord 계정에 연동"
discord-reconnect: "다시 연결"
discord-disconnect: "연결 끊기"
update: "Misskey Update"
version: "버전:"
latest-version: "최신 버전:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "로그아웃"
sound: "소리"
enable-sounds: "소리 사용"
mark-as-read-all-unread-notes: "모든 글을 읽은 상태로 표시"
password: "비밀번호"
mobile/views/pages/user.vue:
follows-you: "당신을 팔로우합니다"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "요약"
timeline: "타임라인"
media: "미디어"
is-suspended: "이 사용자는 정지된 상태입니다."
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: "이미지"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "활동"
timeline: "타임라인"
pinned-notes: "고정해놓은 글"
push-to-a-list: "리스트에 추가"
docs:
edit-this-page-on-github: "틀린 점이나 개선할 점을 찾으셨나요?"
edit-this-page-on-github-link: "이 페이지를 GitHub에서 편집"

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
@ -90,7 +91,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "Je sleutel is gegenereerd; je wordt nu uitgelogd."
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
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-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'やり直す'
title: "問題が発生しました"
retry: "やり直す"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
@ -158,12 +166,12 @@ common:
polls: "アンケート"
post-form: "投稿フォーム"
server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション"
tips: "ヒント"
hashtags: "ハッシュタグ"
dev: "アプリの作成に失敗しました。再度お試しください。"
ai-chan-kawaii: "藍ちゃかわいい"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
@ -275,6 +284,7 @@ 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: "テーマが正しくありません。"
@ -296,6 +306,9 @@ 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: "Gebruiker zoeken"
you: "Jij"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "Ontwikkelaars"
feedback: "Feedback"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "Deze notitie toevoegen aan favorieten"
unfavorite: "お気に入り解除"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
delete: "削除"
delete-confirm: "この投稿を削除しますか?"
remote: "Origineel tonen"
common/views/components/user-menu.vue:
mention: "メンション"
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
report-abuse: "スパムを報告"
report-abuse-detail: "どのような迷惑行為を行っていますか?"
report-abuse-reported: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "Stemmen op '{}'"
vote-count: "{} stemmen"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "Bezig met verbinden"
reconnecting: "Bezig met herverbinden"
connected: "Verbonden"
common/views/components/twitter-setting.vue:
description: "Als je je Twitter-account verbindt met je Misskey-account, dan kun je je Twitter-accountinformatie terugzien op je profiel en kun je inloggen met Twitter."
connected-to: "Je bent verbonden met dit Twitter-account"
detail: "Details..."
reconnect: "Opnieuw verbinden"
connect: "Koppel je Twitter-account"
disconnect: "Verbinding verbreken"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/components/user-list-editor.vue:
users: "ユーザー"
rename: "リスト名を変更"
delete: "リストを削除"
remove-user: "このリストから削除"
delete-are-you-sure: "リスト「$1」を削除しますか"
deleted: "削除しました"
common/views/widgets/broadcast.vue:
fetching: "Bezig met ophalen"
no-broadcasts: "Geen uitzendingen"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "Donatie"
text: "Om Misskey draaiende te houden, geven we geld uit aan onze domeinnaam, servers, enz. We maken hier geen winst op, dus we zouden het fijn vinden als je een donatie wilt doen. Neem in dat geval contact op via {}. Bedankt voor je bijdrage!"
common/views/widgets/photo-stream.vue:
title: "Fotostream"
no-photos: "Geen foto's"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -659,10 +697,12 @@ desktop/views/components/note-detail.vue:
location: "Locatie"
renote: "Renote"
add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue:
reply: "返信"
renote: "Renote"
add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@ -690,7 +730,7 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "Media bijvoegen van je computer"
attach-media-from-drive: "Media bijvoegen uit je Drive"
attach-cancel: "Bijlage annuleren"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "Peiling creëren"
text-remain: "{} resterende tekens"
recent-tags: "最近"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "Beveiliging"
signin: "Inloggeschiedenis"
password: "Wachtwoord"
2fa: "Authenticatie in twee stappen"
other: "Overig"
license: "Licentie"
theme: "テーマ"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "Venster automatisch uitvouwen"
auto-popout-desc: "Venster uitvouwen, indien mogelijk. Deze instelling wordt opgeslagen in je browser."
advanced: "Geavanceerde instellingen"
api-via-stream: "API-verzoek via stream"
api-via-stream-desc: "API-verzoek wordt uitgevoerd via de WebSocket-verbinding i.p.v. de ingebouwde ophaal-API (voor verbeterde prestaties). Deze instelling wordt opgeslagen in je browser."
deck-nav: "デッキ内ナビゲーション"
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "Ontwerp en weergave"
customize: "Startpagina aanpassen"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "Ronde pictogrammen gebruiken"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "Berichtformulier boven de tijdlijn tonen"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "Antwoord-knop tonen"
timeline: "タイムライン"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "Kaart tonen"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "Geluid"
enable-sounds: "Geluid inschakelen"
enable-sounds-desc: "Een geluid afspelen bij het ontvangen van een bericht. Deze instelling wordt opgeslagen in je browser."
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "De cache van je accountinformatie/berichten/antwoorden/instellingen wordt verwijderd. Je moet de pagina herladen na het opschonen."
cache-cleared: "Cache opgeschoond"
cache-cleared-desc: "Herlaad de pagina."
auto-watch: "Automatisch volgen"
auto-watch-desc: "Automatisch meldingen ontvangen over het bericht/antwoord."
about: "Over Misskey"
operator: "De administrator van deze instantie"
update: "Misskey-update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Voer het wachtwoord in"
authenticator: "Installeer eerst Google Authenticator op je apparaat:"
howtoinstall: "Hoe installeer ik dit?"
token: "トークン"
scan: "Scan daarna de QR-code:"
done: "Voer de op je apparaat getoonde sleutel in:"
submit: "Versturen"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "Peilingen"
desktop/views/components/settings.tags.vue:
title: "タグ"
query: "クエリ (省略可)"
add: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "Taakbeheer"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
no-photos: "Geen foto's"
desktop/views/pages/user/user.profile.vue:
follows-you: "Volgt jou"
stalk: "Stalken"
stalking: "Stalkend"
unstalk: "Stoppen met stalken"
mute: "Dempen"
muted: "Dempend"
unmute: "Ontdempen"
block: "ブロックする"
unblock: "ブロック解除"
block-confirm: "このユーザーをブロックしますか?"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "Berichten"
with-replies: "Berichten en antwoorden"
with-media: "Media"
my-posts: "私の投稿"
empty: "Deze gebruiker heeft nog niks geplaatst."
desktop/views/widgets/messaging.vue:
title: "Gesprekken"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "Gedrag"
fetch-on-scroll: "Ophalen bij scrollen"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "Zonder 'mobiele berichten'"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter-integratie"
twitter-connect: "Mijn Twitter-account verbinden"
twitter-reconnect: "Opnieuw verbinden"
twitter-disconnect: "Verbinding verbreken"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey-update"
version: "Huidige versie:"
latest-version: "Nieuwste versie:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "Uitloggen"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "Volgt jou"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "Overzicht"
timeline: "Tijdlijn"
media: "Media"
is-suspended: "Dit account is geschorst."
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue:
recent-notes: "Recente notities"
images: "Afbeeldingen"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "Heb je een fout ontdekt of wil je bijdragen aan de documentatie? "
edit-this-page-on-github-link: "Bewerk deze pagina op GitHub!"

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
got-it: "Skjønner!"
customization-tips:
title: "カスタマイズのヒント"
@ -90,7 +91,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "Privat"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "Ditt synbol har blitt generert. Du vil nå bli utlogget."
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
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-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'やり直す'
title: "問題が発生しました"
retry: "やり直す"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
@ -158,12 +166,12 @@ common:
polls: "アンケート"
post-form: "投稿フォーム"
server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション"
tips: "Tips"
hashtags: "ハッシュタグ"
dev: "アプリの作成に失敗しました。再度お試しください。"
ai-chan-kawaii: "藍ちゃかわいい"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "Sensitivt innhold"
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
@ -275,6 +284,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ"
base-theme-light: "Light"
base-theme-dark: "Mørk"
find-more-theme: "その他のテーマを入手"
theme-name: "Tema navn"
preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。"
@ -296,6 +306,9 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue:
hide: "Skjul"
show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue:
search-user: "ユーザーを探す"
you: "Du"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "Utviklere"
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "Detaljer"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "Merket som favoritt"
unfavorite: "お気に入り解除"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
delete: "Slett"
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: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "「{}」に投票する"
vote-count: "{} stemmer"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "Tilkobler"
reconnecting: "Kobler til på nytt"
connected: "Tilkoblet"
common/views/components/twitter-setting.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。"
connected-to: "次のTwitterアカウントに接続されています"
detail: "Detaljer..."
reconnect: "Koble til på nytt"
connect: "Twitterと接続する"
disconnect: "Koble fra"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開"
specified: "Direkte"
specified-desc: "指定したユーザーにのみ公開"
private: "Privat"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/components/user-list-editor.vue:
users: "ユーザー"
rename: "リスト名を変更"
delete: "リストを削除"
remove-user: "このリストから削除"
delete-are-you-sure: "リスト「$1」を削除しますか"
deleted: "削除しました"
common/views/widgets/broadcast.vue:
fetching: "Henter"
no-broadcasts: "お知らせはありません"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "I dag:"
this-month: "Denne måneden:"
this-year: "Dette året:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue:
title: "フォトストリーム"
no-photos: "写真はありません"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -659,10 +697,12 @@ desktop/views/components/note-detail.vue:
location: "Lokasjon"
renote: "Renote"
add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue:
reply: "返信"
renote: "Renote"
add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "セキュリティ"
signin: "サインイン履歴"
password: "Passord"
2fa: "To-faktor autentisering"
other: "Annet"
license: "Lisens"
theme: "Utseende"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "Avanserte innstillinger"
api-via-stream: "ストリームを経由したAPIリクエスト"
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
deck-nav: "デッキ内ナビゲーション"
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "Lyd"
enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "Send"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "Innlegg"
following: "Følger"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "Innlegg"
with-replies: "Innlegg og svar"
with-media: "Media"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "Melding"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "Bunn"
notification-position-top: "Topp"
theme: "Utseende"
behavior: "Oppførsel"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "Koble til på nytt"
twitter-disconnect: "Koble fra"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "サインアウト"
sound: "Lyder"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされています"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "Oversikt"
timeline: "タイムライン"
media: "Media"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue:
recent-notes: "Nylige innlegg"
images: "Bilder"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
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

View File

@ -27,6 +27,7 @@ common:
do-not-copy-paste: "Por favor, não digite ou copie o código aqui. A conta pode ser comprometida."
load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
2fa: "二段階認証"
got-it: "Entendi!"
customization-tips:
title: "Dicas de personalização"
@ -90,7 +91,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "Seu token foi recriado, portanto você foi deslogado."
i-like-sushi: "Eu prefiro sushi a pudim"
show-reversi-board-labels: "Mostrar etiquetas de colunas e linhas no Reversi"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Conta verificada"
disable-animated-mfm: "Desativar texto animado nas publicações"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
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-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: '問題が発生しました'
retry: 'やり直す'
title: "問題が発生しました"
retry: "やり直す"
reversi:
drawn: "Empatado"
my-turn: "Seu turno"
@ -158,12 +166,12 @@ common:
polls: "Enquetes"
post-form: "Formulário de publicação"
server: "Informações do servidor"
donation: "Doações"
nav: "Navegação"
tips: "Dicas"
hashtags: "Hashtags"
dev: "アプリの作成に失敗しました。再度お試しください。"
ai-chan-kawaii: "藍ちゃかわいい"
you: "あなた"
auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?"
permission-ask: "Este aplicativo precisa das seguintes permissões:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
@ -275,6 +284,7 @@ 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: "テーマが正しくありません。"
@ -296,6 +306,9 @@ 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: "ユーザーを探す"
you: "Você"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "開発者"
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入り解除"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
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: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "「{}」に投票する"
vote-count: "{}票"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "接続中"
reconnecting: "再接続中"
connected: "接続完了"
common/views/components/twitter-setting.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。"
connected-to: "次のTwitterアカウントに接続されています"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
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: "お知らせはありません"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue:
title: "フォトストリーム"
no-photos: "写真はありません"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -659,10 +697,12 @@ 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: "この投稿は削除されました"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "セキュリティ"
signin: "サインイン履歴"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
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: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Conectar à sua conta no Twitter"
twitter-reconnect: "Reconectar"
twitter-disconnect: "Desconectar"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Atualizar Misskey"
version: "Versão atual;"
latest-version: "Última versão:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "Sair"
sound: "Sons"
enable-sounds: "Ativar sons"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "Te segue"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "Linha do tempo"
media: "Mídia"
is-suspended: "Esta conta foi suspensa"
mute: "ミュート"
unmute: "ミュート解除"
block: "ブロック"
unblock: "ブロック解除"
years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue:
recent-notes: "Notas recentes"
images: "Imagens"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "Edite esta página no GitHub!"

View File

@ -26,12 +26,13 @@ common:
close: "Закрыть"
do-not-copy-paste: "Пожалуйста, не вводите и не вставляйте сюда код. Аккаунту может угрожать опасность."
load-more: "Загрузить больше"
enter-password: "パスワードを入力してください"
enter-password: "Пожалуйста, введите ваш пароль"
2fa: "二段階認証"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
title: "Советы по настройке"
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
gotit: "Got it!"
gotit: "Понятно!"
notification:
file-uploaded: "Файл отправлен!"
message-from: "Сообщение от {}:"
@ -64,17 +65,17 @@ common:
friday: "Пт"
saturday: "Сб"
weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
sunday: "Воскресенье"
monday: "Понедельник"
tuesday: "Вторник"
wednesday: "Среда"
thursday: "Четверг"
friday: "Пятница"
saturday: "Суббота"
reactions:
like: "いいね"
like: "Нравится"
love: "しゅき"
laugh: ""
laugh: "Ха-Ха"
hmm: "ふぅ~む"
surprise: "わお"
congrats: "おめでとう"
@ -90,7 +91,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント"
disable-animated-mfm: "Отключить анимированный текст в постах"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "Всегда показывать NSFW контент"
always-mark-nsfw: "Всегда помечать посты с медиафайлами как NSFW"
show-full-acct: "ユーザー名のホストを省略しない"
@ -120,14 +121,21 @@ common:
reduce-motion: "Уменьшить движение в интерфейсе"
this-setting-is-this-device-only: "Только для этого устройства"
use-os-default-emojis: "Использовать стандартные Emoji из ОС"
do-not-use-in-production: 'Эта сборка для разработчиков. Не используйте в продакшне.'
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-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote"
error:
title: 'Что-то пошло не так :('
retry: 'Повторить'
title: "Что-то пошло не так :("
retry: "Повторить"
reversi:
drawn: "Ничья"
my-turn: "Ваш ход"
@ -158,12 +166,12 @@ common:
polls: "Голосования"
post-form: "投稿フォーム"
server: "Информация о сервере"
donation: "寄付のお願い"
nav: "ナビゲーション"
tips: "ヒント"
hashtags: "Хэштеги"
dev: "Не удалось создать приложение. Пожалуйста, попробуйте ещё раз."
ai-chan-kawaii: "Ai-chan kawaii!"
you: "あなた"
auth/views/form.vue:
share-access: "Вы разрешаете <i>{name}</i> получить доступ к вашему аккаунту?"
permission-ask: "このアプリは次の権限を要求しています:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ"
@ -275,6 +284,7 @@ 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: "テーマが正しくありません。"
@ -296,6 +306,9 @@ 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: "ユーザーを探す"
you: "あなた"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "開発者"
feedback: "フィードバック"
common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細"
copy-content: "内容をコピー"
copy-link: "リンクをコピー"
favorite: "お気に入り"
unfavorite: "お気に入り解除"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
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: "管理者に報告されました。ご協力ありがとうございました。"
common/views/components/poll.vue:
vote-to: "「{}」に投票する"
vote-count: "{}票"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "接続中"
reconnecting: "再接続中"
connected: "接続完了"
common/views/components/twitter-setting.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。"
connected-to: "次のTwitterアカウントに接続されています"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
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: "接続する"
disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "アカウント"
location: "場所"
description: "自己紹介"
language: "言語"
birthday: "誕生日"
avatar: "アイコン"
banner: "バナー"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他"
privacy: "プライバシー"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
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: "お知らせはありません"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue:
title: "フォトストリーム"
no-photos: "写真はありません"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
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: "フォロー中"
@ -659,10 +697,12 @@ 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: "この投稿は削除されました"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "セキュリティ"
signin: "サインイン履歴"
password: "パスワード"
2fa: "二段階認証"
other: "その他"
license: "ライセンス"
theme: "テーマ"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
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: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
keep-cw: "CW保持"
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
deck-default: "デッキをデフォルトのUIにする"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する"
timeline: "タイムライン"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置"
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: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて"
operator: "このサーバーの運営者"
update: "Misskey Update"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "Token:"
enter-password: "パスワードを入力してください"
console:
title: 'APIコンソール'
endpoint: 'エンドポイント'
parameter: 'パラメータ'
title: "APIコンソール"
endpoint: "エンドポイント"
parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。"
send: '送信'
sending: '応答待ち'
response: '結果'
send: "送信"
sending: "応答待ち"
response: "結果"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "追加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "タスクマネージャ"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "連合"
announcements: "お知らせ"
hashtags: "ハッシュタグ"
abuse: "スパム報告"
back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue:
dashboard: "ダッシュボード"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "インスタンス"
this-instance: "このインスタンス"
federated: "連合"
admin/views/abuse.vue:
title: "スパム報告"
target: "対象"
reporter: "報告者"
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: "管理者情報"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
invite: "招待"
save: "保存"
saved: "保存しました"
@ -1015,6 +1074,12 @@ 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日ごと"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "投稿の積算"
users: "ユーザーの増減"
users-total: "ユーザーの積算"
active-users: "アクティブユーザー数"
drive: "ドライブ使用量の増減"
drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "リクエスト"
network-time: "応答時間"
network-usage: "通信量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "ファイルIDまたはファイルURL"
file-not-found: "ファイルが見つかりません"
lookup: "照会"
sort:
title: "ソート"
createdAtAsc: "アップロード日時が古い順"
createdAtDesc: "アップロード日時が新しい順"
sizeAsc: "サイズが小さい順"
sizeDesc: "サイズが大きい順"
origin:
title: "オリジン"
combined: "ローカル+リモート"
local: "ローカル"
remote: "リモート"
delete: "削除"
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: "パスワードをリセット"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "パスワードは現在「{password}」です"
suspend: "凍結"
suspend-confirm: "凍結しますか?"
suspended: "凍結しました"
unsuspend: "凍結の解除"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "凍結を解除しました"
verify: "公式アカウントにする"
verify-confirm: "公式アカウントにしますか?"
verified: "公式アカウントにしました"
unverify: "公式アカウントを解除する"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "公式アカウントを解除しました"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "ユーザー"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順"
state:
title: "状態"
all: "すべて"
admin: "管理者"
moderator: "モデレーター"
adminOrModerator: "管理者+モデレーター"
verified: "公式アカウント"
suspended: "凍結済み"
origin:
title: "オリジン"
combined: "ローカル+リモート"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "モデレーターの登録"
add: "登録"
added: "モデレーターを登録しました"
remove: "解除"
removed: "モデレーター登録を解除しました"
admin/views/emoji.vue:
add-emoji:
title: "絵文字の登録"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}に追加しました。"
menu: "メニュー"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue:
title: "メッセージ"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示"
notification-position-bottom: "下"
notification-position-top: "上"
theme: "テーマ"
behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み"
keep-cw: "CW保持"
note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update"
version: "バージョン:"
latest-version: "最新のバージョン:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "サインアウト"
sound: "サウンド"
enable-sounds: "サウンドを有効にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード"
mobile/views/pages/user.vue:
follows-you: "フォローされています"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "概要"
timeline: "タイムライン"
media: "メディア"
is-suspended: "このユーザーは凍結されています。"
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: "画像"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "アクティビティ"
timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿"
push-to-a-list: "リストに追加"
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集"

View File

@ -3,17 +3,17 @@ meta:
lang: "中文(简体)"
divider: ""
common:
misskey: "A ⭐ of the fediverse"
about-title: "A ⭐ of the fediverse."
about: "感谢您找到Misskey. Misskey是一个开源的程序, 她可以同其他的社交网站进行联系. 为什么不从喧嚣的城市中休息一下, 来试一试这个新的程序呢?"
misskey: "Fediverse中的一颗⭐"
about-title: "Fediverse中的一颗⭐"
about: "非常感谢您找到Misskey Misskey是出生于地球上的<b>分布式微博SNS</b>。因为她处于Fediverse(由各种SNS组成的宇宙)中所以她与其他SNS相互连接。想要远离喧嚣的城市不如深入这个新的互联网来探索一下吧。"
intro:
title: "什么是 Misskey 呢?"
about: "Misskey是开源的<b>分散式微博服务</b>。复杂的完全可定制的Ui各种各样的帖子反应提供集成管理系统和其他先进功能的免费文件存储。此外网络系统称为“Fediverse”使我们能够与其他SNS的用户进行通信。比如如果你张贴一些东西那么你的帖子不仅会发送给Misskey还会发送到其他平台。想象一下行星正在向另一颗行星发送微波来进行通信。"
features: "特点"
about: "Misskey是开源的<b>分散式微博SNS</b>。复杂的完全可定制的Ui各种各样的帖子反应提供集成管理系统和其他先进功能的免费文件存储。此外称为“Fediverse”的网络系统使我们能够与其他SNS的用户进行通信。比如如果你张贴一些东西那么你的帖子不仅会发送给Misskey还会发送到其他SNS平台。想象一下,正如一颗行星和另一颗行星通过发送微波来进行通信一样。"
features: "功能"
rich-contents: "发布"
rich-contents-desc: "您只需要发布您的想法, 热门话题或者任何您想分享的好东西. 你可以装饰你的文字, 加上你最喜欢的图片, 发送文件或者电影, 甚至创造一个投票. 这些事情您都可以在 Misskey 上做。"
reaction: "情绪"
reaction-desc: "一个最简单的方式去告诉别人你的情绪. Misskey 允许您在别人的帖子中加入各种的情绪反应类型, 就像 Facebook 一样. 在 Misskey 上的情感体验永远不会出现在其他只能点赞的SNSs上。"
rich-contents-desc: "请分享您的想法热门话题,以及任何您想与大家分享的内容。如果有需要的话,您可以使用各种语法来修饰文章,发布问卷调查,或者添加各种您喜欢的图像和视频等文件。"
reaction: "回应"
reaction-desc: "表达情绪的最简单方法。 Misskey允许您向其他帖子添加各种类型的回应。 一旦体验过Misskey的回应功能就再也不会想回到那些只有点赞功能的其他SNS上。"
ui: "交互界面"
ui-desc: "世界上没有一个UI可以适合每一个人. 所以, Misskey 提供一个可以高度定制的UI交互界面. 您可以通过编辑, 调整布局, 放置可选择的小部件来轻松定制您的专属UI界面。"
drive: "Misskey 云盘"
@ -27,6 +27,7 @@ common:
do-not-copy-paste: "请不要在这里输入或粘贴代码。您帐户可能会受到损害。"
load-more: "加载更多"
enter-password: "请输入您的密码"
2fa: "双重身份验证"
got-it: "没问题"
customization-tips:
title: "客制化提示"
@ -53,7 +54,7 @@ common:
years_ago: "{}年前"
month-and-day: "{month}月 {day}日"
trash: "垃圾箱"
drive: "Misskey 云盘"
drive: "盘"
messaging: "聊天"
weekday-short:
sunday: "日"
@ -90,7 +91,6 @@ common:
followers-desc: "仅发送至粉丝"
specified: "指定用户"
specified-desc: "仅发送至指定用户"
private: "私密"
local-public: "公开(仅限本地)"
local-home: "首页(仅限本地)"
local-followers: "关注者(仅限本地)"
@ -110,9 +110,10 @@ common:
my-token-regenerated: "您的 Token 已被重置, 您将自动登出。"
i-like-sushi: "相比于布丁来说, 我更喜欢寿司。"
show-reversi-board-labels: "在 Reversi 中显示行和列表签"
use-contrast-reversi-stones: "Make the stone color clear in Reversi"
use-avatar-reversi-stones: "用头像作为 Reversi 中的 “石头”"
verified-user: "认证用户"
disable-animated-mfm: "在帖子中禁用动画文本"
suggest-recent-hashtags: "在帖子表单上显示最近流行的主题标签"
always-show-nsfw: "总是显示 NSFW 的内容"
always-mark-nsfw: "总是用 NSFW 来标记附件"
show-full-acct: "不要从用户名中忽略主机名"
@ -120,14 +121,21 @@ common:
reduce-motion: "减弱UI中的动画效果"
this-setting-is-this-device-only: "设置仅在本设备中生效"
use-os-default-emojis: "使用设备系统默认的 emojis"
do-not-use-in-production: '这是一个开发者测试版. 请勿在生产环境中使用.'
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-post: "该投稿已被复制."
view-on-remote: "查看准确的信息"
renoted-by: "由 {user} Renote"
error:
title: '哦不, 发生了一些问题! :('
retry: '重试'
title: "哦不, 发生了一些问题! :("
retry: "重试"
reversi:
drawn: "平局"
my-turn: "轮到你了"
@ -158,12 +166,12 @@ common:
polls: "投票"
post-form: "投稿形式"
server: "服务器信息"
donation: "捐助"
nav: "导航"
tips: "提示"
hashtags: "标签"
dev: "构建应用程序失败,请再试一次。"
ai-chan-kawaii: "Ai-chan kawaii!"
you: "您"
auth/views/form.vue:
share-access: "您要允许<i>{name}</i>来访问您的账户吗?"
permission-ask: "这个应用程序需要以下权限:"
@ -259,6 +267,7 @@ common/views/components/media-banner.vue:
sensitive: "阅读注意"
click-to-show: "点击以显示"
common/views/components/theme.vue:
theme: "主题"
light-theme: "主题"
dark-theme: "黑暗模式主题"
light-themes: "明亮主题"
@ -275,6 +284,7 @@ common/views/components/theme.vue:
base-theme: "基础主题"
base-theme-light: "亮"
base-theme-dark: "暗"
find-more-theme: "获取更多主题"
theme-name: "主题名称"
preview-created-theme: "预览"
invalid-theme: "无效主题"
@ -296,6 +306,9 @@ 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: "查找用户"
you: "您"
@ -325,7 +338,9 @@ common/views/components/nav.vue:
develop: "开发者"
feedback: "反馈"
common/views/components/note-menu.vue:
mention: "提到"
detail: "详细信息"
copy-content: "复制内容"
copy-link: "复制链接"
favorite: "收藏这个投稿"
unfavorite: "取消收藏"
@ -334,6 +349,17 @@ common/views/components/note-menu.vue:
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: "已报告给管理员。 非常感谢你的合作。"
common/views/components/poll.vue:
vote-to: "为\"{}\"投票"
vote-count: "{}票"
@ -400,13 +426,18 @@ common/views/components/stream-indicator.vue:
connecting: "连接中"
reconnecting: "重新连接中"
connected: "已连接"
common/views/components/twitter-setting.vue:
description: "当您用Twitter连接Misskey账户后您将能够看到有关您自己的信息并且您将能够使用Twitter登录。"
connected-to: "此账户已连接Twitter"
detail: "详细信息..."
reconnect: "重新连接"
connect: "连接您的推特账户"
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: "连接"
disconnect: "未连接"
connected-to: "您的账号已连接一下社交账号"
common/views/components/github-setting.vue:
description: "当您用GitHub连接Misskey账户后您将能够看到有关您自己的信息并且您将能够使用GitHub登录。"
connected-to: "此账户已连接GitHub"
@ -431,7 +462,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "仅发送至关注者"
specified: "直接"
specified-desc: "仅发送至指定用户"
private: "私密"
local-public: "公开(仅限本地)"
local-public-desc: "不要发布到公开"
local-home: "首页(仅限本地)"
@ -452,6 +482,7 @@ common/views/components/profile-editor.vue:
account: "账户"
location: "位置"
description: "关于我"
language: "语言"
birthday: "生日"
avatar: "头像"
banner: "背景"
@ -459,6 +490,7 @@ common/views/components/profile-editor.vue:
is-bot: "整个账户是机器人"
is-locked: "关注者请求需要批准"
careful-bot: "机器人的关注者请求需要批准"
auto-accept-followed: "自动同意来自您关注的人的关注申请"
advanced: "其他选项"
privacy: "隐私"
save: "保存"
@ -469,6 +501,13 @@ common/views/components/profile-editor.vue:
email-address: "电子邮件地址"
email-verified: "电子邮件地址已验证"
email-not-verified: "电子邮件地址还没有验证哦, 请检查一下收信箱吧~"
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: "没有公告"
@ -481,9 +520,6 @@ common/views/widgets/calendar.vue:
today: "今天:"
this-month: "本月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "请求捐助"
text: "为了保持 Misskey 持续运行, 这会对域名,服务器等产生一些费用。 如果您有兴趣提供捐助,请联系{}。感谢您的贡献!"
common/views/widgets/photo-stream.vue:
title: "图片轮播"
no-photos: "没有图片"
@ -521,9 +557,11 @@ common/views/widgets/tips.vue:
tips-line19: "可以在浏览器外部分离多个窗口。"
tips-line20: "日历小部件的百分比显示经过的时间百分比。"
tips-line21: "您也可以使用API开发机器人。"
tips-line23: "Mayu的眉毛非常可爱。"
tips-line23: "Ai-chan kawaii!"
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: "正在关注"
@ -659,10 +697,12 @@ desktop/views/components/note-detail.vue:
location: "位置信息"
renote: "转发"
add-reaction: "添加一个反应"
undo-reaction: "取消反应"
desktop/views/components/note.vue:
reply: "回复"
renote: "Renote"
add-reaction: "添加一个反应"
undo-reaction: "取消反应"
detail: "详细信息"
private: "这个投稿是私密的"
deleted: "投稿已删除"
@ -733,7 +773,6 @@ desktop/views/components/settings.vue:
security: "安全性"
signin: "登录历史"
password: "密码"
2fa: "两步验证"
other: "其他"
license: "许可证"
theme: "主题"
@ -747,11 +786,10 @@ desktop/views/components/settings.vue:
web-search-engine-desc: "例如: https://www.google.com/?#q={{query}}"
auto-popout: "自动弹出窗口"
auto-popout-desc: "如果可用,将使用弹出显示而不是打开新窗口。 此设置存储在浏览器中。"
advanced: "更多设置"
api-via-stream: "通过API请求的Stream"
api-via-stream-desc: "API请求通过WebSocket连接而不是本机提取API执行以获得更好的性能。 此设置存储在浏览器中。"
deck-nav: "Deck 内的导航"
deck-nav-desc: "在使用Deck时您会在导航期间获得一个没有页面过渡的临时列。"
keep-cw: "保留内容警告"
keep-cw-desc: "在回复帖子时,如果原帖设置了内容警告,默认情况下回帖也会设置相同的内容警告。"
deck-default: "将Deck界面设置为默认UI显示界面"
display: "设计与展示"
customize: "自定义首页摆放"
@ -764,7 +802,6 @@ desktop/views/components/settings.vue:
circle-icons: "使用圆形图标"
contrasted-acct: "增加用户名的对比度"
post-form-on-timeline: "在时间线顶部显示帖子表单"
suggest-recent-hashtags: "在帖子表单上显示最近流行的主题标签"
show-clock-on-header: "在右上角显示时钟"
show-reply-target: "显示回复目标"
timeline: "时间线"
@ -773,9 +810,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "在时间线中显示Local Renote(s)"
show-maps: "显示地图以显示位置"
remain-deleted-note: "继续显示已删除的帖子"
deck-column-align: "甲板柱的位置"
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: "收到帖子/留言时播放声音。 此设置将被存储在浏览器中。"
@ -786,8 +830,6 @@ desktop/views/components/settings.vue:
cache-warn: "将删除存储在浏览器中的帐户信息/帖子/回复/消息/设置的缓存。 清理完毕后需要刷新页面。"
cache-cleared: "已清除缓存"
cache-cleared-desc: "请刷新页面。"
auto-watch: "自动查看帖子"
auto-watch-desc: "自动接收有关帖子/回复/反应的通知。"
about: "关于 Misskey"
operator: "网站运营者"
update: "更新 Misskey"
@ -826,6 +868,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "请输入您的密码"
authenticator: "首先,您需要在设备上安装 Google Authenticator"
howtoinstall: "怎样安装"
token: "令牌"
scan: "然后,扫描二维码:"
done: "请输入显示在您设备上的密钥:"
submit: "提交"
@ -840,13 +883,13 @@ common/views/components/api-settings.vue:
token: "令牌:"
enter-password: "请输入您的密码"
console:
title: 'API 控制台'
endpoint: '端点'
parameter: '参数'
title: "API 控制台"
endpoint: "端点"
parameter: "参数"
credential-info: "此控制台不需要参数“i”。"
send: '发送'
sending: '等待回应'
response: '结果'
send: "发送"
sending: "等待回应"
response: "结果"
desktop/views/components/settings.apps.vue:
no-apps: "没有已连接的应用程序"
common/views/components/drive-settings.vue:
@ -870,11 +913,17 @@ 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: "添加"
save: "保存"
desktop/views/components/taskmanager.vue:
title: "任务管理器"
desktop/views/components/timeline.vue:
@ -942,6 +991,7 @@ admin/views/index.vue:
federation: "联合"
announcements: "公告"
hashtags: "标签"
abuse: "举报垃圾信息"
back-to-misskey: "返回 Misskey"
admin/views/dashboard.vue:
dashboard: "Dashboard"
@ -951,12 +1001,19 @@ admin/views/dashboard.vue:
instances: "例子"
this-instance: "此实例"
federated: "联合"
admin/views/abuse.vue:
title: "举报垃圾信息"
target: "目标"
reporter: "报告者"
details: "详情"
remove-report: "删除"
admin/views/instance.vue:
instance: "例子"
instance-name: "实例名称"
instance-description: "实例介绍"
host: "主机名"
banner-url: "背景图片地址"
error-image-url: "无效的图像URL"
languages: "实例语言"
languages-desc: "您可以添加多个,以空格分隔。"
maintainer-config: "管理员信息"
@ -996,6 +1053,8 @@ admin/views/instance.vue:
max-note-text-length: "最大帖子字符数"
disable-registration: "停用新用户注册功能"
disable-local-timeline: "停用本地时间线功能"
disable-global-timeline: "禁用全局时间线"
disabling-timelines-info: "即使禁用时间线,管理员和版主仍然可用。"
invite: "邀请"
save: "保存"
saved: "保存完毕"
@ -1015,6 +1074,12 @@ 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秘钥。除非您已经在其他地方设置了全局node_modules位置否则您需要将其作为root用户运行"
admin/views/charts.vue:
title: "历史记录"
per-day: "每天"
@ -1033,6 +1098,7 @@ admin/views/charts.vue:
notes-total: "帖子总数"
users: "用户数量:增加/减少"
users-total: "用户总数"
active-users: "活跃用户数"
drive: "存储容量:增加/减少"
drive-total: "云盘总容量"
drive-files: "云盘上的文件数:增加/减少"
@ -1040,21 +1106,50 @@ admin/views/charts.vue:
network-requests: "请求"
network-time: "响应时间"
network-usage: "网络流量"
admin/views/drive.vue:
operation: "操作"
fileid-or-url: "文件ID或文件URL"
file-not-found: "找不到文件"
lookup: "查询"
sort:
title: "排序"
createdAtAsc: "按上传时间(升序)"
createdAtDesc: "按上传时间(降序)"
sizeAsc: "按大小(升序)"
sizeDesc: "按大小(降序)"
origin:
title: "源自"
combined: "本地+远程"
local: "本地"
remote: "远程"
delete: "删除"
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: "密码重置"
reset-password-confirm: "パスワードをリセットしますか?"
password-updated: "密码为「{password}」"
suspend: "被冻结"
suspend-confirm: "凍結しますか?"
suspended: "成功冻结用户"
unsuspend: "已解除冻结"
unsuspend-confirm: "凍結を解除しますか?"
unsuspended: "已成功解除用户冻结"
verify: "认证用户"
verify-confirm: "公式アカウントにしますか?"
verified: "此账户已被认证"
unverify: "解除账户认证"
unverify-confirm: "公式アカウントを解除しますか?"
unverified: "该帐户未经认证"
update-remote-user: "リモートユーザー情報の更新"
remote-user-updated: "リモートユーザー情報を更新しました"
users:
title: "用户"
sort:
@ -1063,6 +1158,14 @@ admin/views/users.vue:
createdAtDesc: "注册时间从新到旧"
updatedAtAsc: "更新时间从旧到新"
updatedAtDesc: "更新时间从新到旧"
state:
title: "状态"
all: "全部"
admin: "管理员"
moderator: "版主"
adminOrModerator: "管理员+版主"
verified: "官方认证账户"
suspended: "已冻结"
origin:
title: "源自"
combined: "本地+远程"
@ -1075,6 +1178,8 @@ admin/views/moderators.vue:
title: "注册版主"
add: "注册"
added: "已注册版主。"
remove: "解除"
removed: "取消注册版主"
admin/views/emoji.vue:
add-emoji:
title: "添加emoji"
@ -1156,17 +1261,7 @@ desktop/views/pages/user/user.photos.vue:
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}"
menu: "菜单"
desktop/views/pages/user/user.header.vue:
posts: "帖子"
following: "关注中"
@ -1180,6 +1275,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "帖子"
with-replies: "帖子与回复"
with-media: "媒体"
my-posts: "我的帖子"
empty: "看起来这个用户还没有发布什么呢。"
desktop/views/widgets/messaging.vue:
title: "信息"
@ -1378,9 +1474,9 @@ mobile/views/pages/settings.vue:
notification-position: "通知形式"
notification-position-bottom: "底部"
notification-position-top: "顶部"
theme: "主题"
behavior: "动作"
fetch-on-scroll: "滚动无限加载"
keep-cw: "保留内容警告"
note-visibility: "帖子可见性"
default-note-visibility: "默认可见性"
remember-note-visibility: "记住帖子可见性"
@ -1389,18 +1485,6 @@ mobile/views/pages/settings.vue:
disable-via-mobile: "不要将帖子标记为“来自手机”"
load-raw-images: "以原始质量显示附加图像"
load-remote-media: "显示来自远程服务器的媒体"
twitter: "Twitter integration"
twitter-connect: "连接到您的 Twitter"
twitter-reconnect: "重新连接"
twitter-disconnect: "未连接"
github: "GitHub Integration"
github-connect: "连接到您的 GitHub"
github-reconnect: "重新连接"
github-disconnect: "未连接"
discord: "Discord Integration"
discord-connect: "连接到您的 Discord"
discord-reconnect: "重新连接"
discord-disconnect: "未连接"
update: "更新 Misskey"
version: "当前版本:"
latest-version: "最新版本:"
@ -1414,7 +1498,6 @@ mobile/views/pages/settings.vue:
signout: "注销"
sound: "声音"
enable-sounds: "开启声音"
mark-as-read-all-unread-notes: "将所有帖子标记为已读"
password: "密码"
mobile/views/pages/user.vue:
follows-you: "关注您"
@ -1424,15 +1507,7 @@ mobile/views/pages/user.vue:
overview: "概观"
timeline: "时间线"
media: "媒体"
is-suspended: "此账户已被冻结。"
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: "图片"
@ -1482,7 +1557,6 @@ deck/deck.user-column.vue:
activity: "活动"
timeline: "时间线"
pinned-notes: "标记投稿"
push-to-a-list: "添加至列表"
docs:
edit-this-page-on-github: "发现错误或想要为文档做出贡献?"
edit-this-page-on-github-link: "在GitHub上编辑这个页面。"

View File

@ -1,8 +1,8 @@
{
"name": "misskey",
"author": "syuilo <i@syuilo.com>",
"version": "10.62.0",
"clientVersion": "2.0.12431",
"version": "10.79.0",
"clientVersion": "2.0.13835",
"codename": "nighthike",
"main": "./built/index.js",
"private": true,
@ -20,50 +20,50 @@
"format": "gulp format"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "1.2.8",
"@fortawesome/free-brands-svg-icons": "5.5.0",
"@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.5.0",
"@fortawesome/vue-fontawesome": "0.1.2",
"@koa/cors": "2.2.2",
"@fortawesome/free-solid-svg-icons": "5.6.3",
"@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/chai-http": "3.0.5",
"@types/dateformat": "1.0.1",
"@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.29",
"@types/file-type": "5.2.2",
"@types/elasticsearch": "5.0.30",
"@types/file-type": "10.6.0",
"@types/gulp": "3.8.36",
"@types/gulp-htmlmin": "1.3.32",
"@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.2",
"@types/js-yaml": "3.11.4",
"@types/katex": "0.5.0",
"@types/koa": "2.0.47",
"@types/koa-bodyparser": "5.0.1",
"@types/koa": "2.0.48",
"@types/koa-bodyparser": "5.0.2",
"@types/koa-compress": "2.0.8",
"@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.38",
"@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/mongodb": "3.1.18",
"@types/ms": "0.7.30",
"@types/node": "10.12.10",
"@types/node": "10.12.18",
"@types/nodemailer": "4.6.5",
"@types/oauth": "0.9.1",
"@types/parsimmon": "1.10.0",
@ -71,25 +71,25 @@
"@types/pug": "2.0.4",
"@types/qrcode": "1.3.0",
"@types/ratelimiter": "2.1.28",
"@types/redis": "2.8.8",
"@types/redis": "2.8.10",
"@types/request": "2.48.1",
"@types/request-promise-native": "1.0.15",
"@types/rimraf": "2.0.2",
"@types/seedrandom": "2.4.27",
"@types/sharp": "0.21.0",
"@types/showdown": "1.7.5",
"@types/showdown": "1.9.2",
"@types/speakeasy": "2.0.3",
"@types/systeminformation": "3.23.1",
"@types/tinycolor2": "1.4.1",
"@types/tmp": "0.0.33",
"@types/uuid": "3.4.4",
"@types/webpack": "4.4.19",
"@types/webpack": "4.4.21",
"@types/webpack-stream": "3.2.10",
"@types/websocket": "0.0.40",
"@types/ws": "6.0.1",
"animejs": "2.2.0",
"apexcharts": "2.2.4",
"autobind-decorator": "2.3.1",
"animejs": "3.0.1",
"apexcharts": "2.5.1",
"autobind-decorator": "2.4.0",
"autosize": "4.0.2",
"autwh": "0.1.0",
"bcryptjs": "2.4.3",
@ -97,50 +97,50 @@
"bootstrap-vue": "2.0.0-rc.11",
"cafy": "12.0.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",
"cssnano": "4.1.8",
"dateformat": "3.0.3",
"debug": "4.1.0",
"deep-equal": "1.0.1",
"deepcopy": "0.6.3",
"diskusage": "0.2.5",
"diskusage": "1.0.0",
"double-ended-queue": "2.1.0-0",
"elasticsearch": "15.2.0",
"elasticsearch": "15.3.0",
"emojilib": "2.4.0",
"escape-regexp": "0.0.1",
"eslint": "5.8.0",
"eslint-plugin-vue": "4.7.1",
"eslint": "5.12.0",
"eslint-plugin-vue": "5.1.0",
"eventemitter3": "3.1.0",
"feed": "2.0.2",
"file-loader": "2.0.0",
"file-type": "10.4.0",
"file-type": "10.7.0",
"fuckadblock": "3.2.1",
"gulp": "3.9.1",
"gulp-cssnano": "2.1.3",
"gulp-htmlmin": "5.0.1",
"gulp-imagemin": "4.1.0",
"gulp-mocha": "6.0.0",
"gulp-pug": "4.0.1",
"gulp-rename": "1.4.0",
"gulp-replace": "1.0.0",
"gulp-sourcemaps": "2.6.4",
"gulp-stylus": "2.7.0",
"gulp-tslint": "8.1.3",
"gulp-typescript": "4.0.2",
"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.12.0",
"hard-source-webpack-plugin": "0.13.1",
"html-minifier": "3.5.21",
"http-signature": "1.2.0",
"insert-text-at-cursor": "0.1.1",
"is-root": "2.0.0",
"is-svg": "3.0.0",
"is-url": "1.2.4",
"js-yaml": "3.12.0",
"jsdom": "13.0.0",
"js-yaml": "3.12.1",
"jsdom": "13.1.0",
"json5": "2.1.0",
"json5-loader": "1.0.1",
"katex": "0.10.0",
@ -155,20 +155,21 @@
"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.1.0",
"minio": "7.0.1",
"loader-utils": "1.2.3",
"lookup-dns-cache": "2.1.0",
"minio": "7.0.3",
"mkdirp": "0.5.1",
"mocha": "5.2.0",
"moji": "0.5.1",
"moment": "2.22.2",
"mongodb": "3.1.9",
"moment": "2.23.0",
"mongodb": "3.1.10",
"monk": "6.0.6",
"ms": "2.1.1",
"nan": "2.11.1",
"nan": "2.12.1",
"nested-property": "0.0.7",
"nodemailer": "4.7.0",
"nodemailer": "5.1.1",
"nprogress": "0.2.0",
"object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0",
@ -177,12 +178,14 @@
"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.0",
"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 +194,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.0",
"sharp": "0.21.1",
"showdown": "1.9.0",
"showdown-highlightjs-extension": "0.1.2",
"speakeasy": "2.0.0",
@ -204,32 +207,35 @@
"stylus": "0.54.5",
"stylus-loader": "3.0.2",
"summaly": "2.2.0",
"systeminformation": "3.51.3",
"systeminformation": "3.52.2",
"syuilo-password-strength": "0.0.1",
"terser-webpack-plugin": "1.1.0",
"terser-webpack-plugin": "1.2.1",
"textarea-caret": "3.1.0",
"tinycolor2": "1.4.1",
"tmp": "0.0.33",
"ts-loader": "5.3.1",
"ts-loader": "5.3.3",
"ts-node": "7.0.1",
"tslint": "5.10.0",
"typescript": "3.1.6",
"tslint": "5.12.0",
"tslint-sonarts": "1.8.0",
"typescript": "3.2.4",
"typescript-eslint-parser": "21.0.2",
"uglify-es": "3.3.9",
"url-loader": "1.1.2",
"uuid": "3.3.2",
"v-animate-css": "0.0.2",
"v-animate-css": "0.0.3",
"vue": "2.5.17",
"vue-color": "2.7.0",
"vue-content-loading": "1.5.3",
"vue-cropperjs": "2.2.2",
"vue-i18n": "8.3.2",
"vue-js-modal": "1.3.27",
"vue-loader": "15.4.2",
"vue-marquee-text-component": "1.1.0",
"vue-cropperjs": "3.0.0",
"vue-i18n": "8.7.0",
"vue-js-modal": "1.3.28",
"vue-loader": "15.5.1",
"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.4",
"vue-svg-inline-loader": "1.2.7",
"vue-template-compiler": "2.5.17",
"vuedraggable": "2.17.0",
"vuewordcloud": "18.7.11",
@ -237,8 +243,8 @@
"vuex-persistedstate": "2.5.4",
"web-push": "3.3.3",
"webfinger.js": "2.7.0",
"webpack": "4.26.1",
"webpack-cli": "3.1.2",
"webpack": "4.28.4",
"webpack-cli": "3.2.1",
"websocket": "1.0.28",
"ws": "6.1.2",
"xev": "2.0.1"

48
src/chart/active-users.ts Normal file
View File

@ -0,0 +1,48 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from '.';
import { IUser, isLocalUser } from '../models/user';
/**
* アクティブユーザーに関するチャート
*/
type ActiveUsersLog = {
local: {
/**
* アクティブユーザー数
*/
count: number;
};
remote: ActiveUsersLog['local'];
};
class ActiveUsersChart extends Chart<ActiveUsersLog> {
constructor() {
super('activeUsers');
}
@autobind
protected async getTemplate(init: boolean, latest?: ActiveUsersLog): Promise<ActiveUsersLog> {
return {
local: {
count: 0
},
remote: {
count: 0
}
};
}
@autobind
public async update(user: IUser) {
const update: Obj = {
count: 1
};
await this.incIfUnique({
[isLocalUser(user) ? 'local' : 'remote']: update
}, 'users', user._id.toHexString());
}
}
export default new ActiveUsersChart();

View File

@ -61,11 +61,12 @@ export default abstract class Chart<T> {
constructor(name: string, grouped = false) {
this.collection = db.get<Log<T>>(`chart.${name}`);
if (grouped) {
this.collection.createIndex({ span: -1, date: -1, group: -1 }, { unique: true });
} else {
this.collection.createIndex({ span: -1, date: -1 }, { unique: true });
}
const keys = {
span: -1,
date: -1
} as { [key: string]: 1 | -1; };
if (grouped) keys.group = -1;
this.collection.createIndex(keys, { unique: true });
}
@autobind
@ -73,14 +74,14 @@ export default abstract class Chart<T> {
const query: Obj = {};
const dive = (x: Obj, path: string) => {
Object.entries(x).forEach(([k, v]) => {
for (const [k, v] of Object.entries(x)) {
const p = path ? `${path}.${k}` : k;
if (typeof v === 'number') {
query[p] = v;
} else {
dive(v, p);
}
});
}
};
dive(x, path);
@ -315,32 +316,20 @@ export default abstract class Chart<T> {
const res: ArrayValue<T> = {} as any;
/**
* [{
* xxxxx: 1, yyyyy: 5
* }, {
* xxxxx: 2, yyyyy: 6
* }, {
* xxxxx: 3, yyyyy: 7
* }]
*
* [{ foo: 1, bar: 5 }, { foo: 2, bar: 6 }, { foo: 3, bar: 7 }]
* を
*
* {
* xxxxx: [1, 2, 3],
* yyyyy: [5, 6, 7]
* }
*
* { foo: [1, 2, 3], bar: [5, 6, 7] }
* にする
*/
const dive = (x: Obj, path?: string) => {
Object.entries(x).forEach(([k, v]) => {
for (const [k, v] of Object.entries(x)) {
const p = path ? `${path}.${k}` : k;
if (typeof v == 'object') {
dive(v, p);
} else {
nestedProperty.set(res, p, chart.map(s => nestedProperty.get(s, p)));
}
});
}
};
dive(chart[0]);

View File

@ -9,6 +9,7 @@ import './style.styl';
import init from '../init';
import Index from './views/index.vue';
import NotFound from '../common/views/pages/not-found.vue';
init(launch => {
document.title = 'Admin';
@ -19,6 +20,7 @@ init(launch => {
base: '/admin/',
routes: [
{ path: '/', component: Index },
{ path: '*', component: NotFound }
]
});

View File

@ -0,0 +1,83 @@
<template>
<div>
<ui-card>
<div slot="title"><fa :icon="faExclamationCircle"/> {{ $t('title') }}</div>
<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,5 +1,5 @@
<template>
<div class="cdeuzmsthagexbkpofbmatmugjuvogfb">
<div>
<ui-card>
<div slot="title"><fa icon="broadcast-tower"/> {{ $t('announcements') }}</div>
<section v-for="(announcement, i) in announcements" class="fit-top">
@ -83,10 +83,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.cdeuzmsthagexbkpofbmatmugjuvogfb
@media (min-width 500px)
padding 16px
</style>

View File

@ -56,7 +56,9 @@ export default Vue.extend({
},
onLogs(logs) {
logs.reverse().forEach(log => this.onLog(log));
for (const log of logs.reverse()) {
this.onLog(log)
}
}
}
});
@ -67,7 +69,7 @@ export default Vue.extend({
display block
padding 12px 16px 16px 16px
height 250px
overflow hidden
overflow auto
box-shadow 0 2px 4px rgba(0, 0, 0, 0.1)
background var(--adminDashboardCardBg)
border-radius 8px

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>
@ -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

@ -132,7 +132,9 @@ export default Vue.extend({
},
onStatsLog(statsLog) {
statsLog.reverse().forEach(stats => this.onStats(stats));
for (const stats of statsLog.reverse()) {
this.onStats(stats);
}
}
}
});

View File

@ -127,12 +127,12 @@ export default Vue.extend({
this.$root.api('instances', {
sort: '+notes'
}).then(instances => {
instances.forEach(i => {
for (const i of instances) {
i.bg = randomColor({
seed: i.host,
luminosity: 'dark'
});
});
}
this.instances = 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

@ -0,0 +1,267 @@
<template>
<div>
<ui-card>
<div slot="title"><fa :icon="faTerminal"/> {{ $t('operation') }}</div>
<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>
<div slot="title"><fa :icon="faCloud"/> {{ $t('@.drive') }}</div>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-select v-model="sort">
<span slot="label">{{ $t('sort.title') }}</span>
<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>
<option value="combined">{{ $t('origin.combined') }}</option>
<option value="local">{{ $t('origin.local') }}</option>
<option value="remote">{{ $t('origin.remote') }}</option>
</ui-select>
</ui-horizon-group>
<sequential-entrance animation="entranceFromTop" delay="25">
<div class="kidvdlkg" v-for="file in files">
<div @click="file._open = !file._open">
<div>
<div class="thumbnail" :style="thumbnail(file)"></div>
</div>
<div>
<header>
<b>{{ file.name }}</b>
<span class="username">@{{ file.user | acct }}</span>
</header>
<div>
<div>
<span style="margin-right:16px;">{{ file.type }}</span>
<span>{{ file.datasize | bytes }}</span>
</div>
<div><mk-time :time="file.createdAt" mode="detail"/></div>
</div>
</div>
</div>
<div v-show="file._open">
<ui-input readonly :value="file.url"></ui-input>
<ui-horizon-group>
<ui-button @click="toggleSensitive(file)" v-if="file.isSensitive"><fa :icon="faEye"/> {{ $t('unmark-as-sensitive') }}</ui-button>
<ui-button @click="toggleSensitive(file)" v-else><fa :icon="faEyeSlash"/> {{ $t('mark-as-sensitive') }}</ui-button>
<ui-button @click="del(file)"><fa :icon="faTrashAlt"/> {{ $t('delete') }}</ui-button>
</ui-horizon-group>
</div>
</div>
</sequential-entrance>
<ui-button v-if="existMore" @click="fetch">{{ $t('@.load-more') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { faCloud, faTerminal, faSearch } from '@fortawesome/free-solid-svg-icons';
import { faTrashAlt, faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/drive.vue'),
data() {
return {
file: null,
target: null,
sort: '+createdAt',
origin: 'combined',
limit: 10,
offset: 0,
files: [],
existMore: false,
faCloud, faTrashAlt, faEye, faEyeSlash, faTerminal, faSearch
};
},
watch: {
sort() {
this.files = [];
this.offset = 0;
this.fetch();
},
origin() {
this.files = [];
this.offset = 0;
this.fetch();
}
},
mounted() {
this.fetch();
},
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,
sort: this.sort,
offset: this.offset,
limit: this.limit + 1
}).then(files => {
if (files.length == this.limit + 1) {
files.pop();
this.existMore = true;
} else {
this.existMore = false;
}
for (const x of files) {
x._open = false;
}
this.files = this.files.concat(files);
this.offset += this.limit;
});
},
thumbnail(file: any): any {
return {
'background-color': file.properties.avgColor && file.properties.avgColor.length == 3 ? `rgb(${file.properties.avgColor.join(',')})` : 'transparent',
'background-image': `url(${file.thumbnailUrl})`
};
},
async del(file: any) {
const process = async () => {
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()
});
});
},
toggleSensitive(file: any) {
this.$root.api('drive/files/update', {
fileId: file.id,
isSensitive: !file.isSensitive
});
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>
.kidvdlkg
padding 16px 0
border-top solid 1px var(--faceDivider)
> 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(2)
flex 1
padding-left 16px
@media (max-width 500px)
font-size 14px
> header
word-break break-word
> .username
margin-left 8px
opacity 0.7
</style>

View File

@ -1,5 +1,5 @@
<template>
<div class="tumhkfkmgtvzljezfvmgkeurkfncshbe">
<div>
<ui-card>
<div slot="title"><fa icon="plus"/> {{ $t('add-emoji.title') }}</div>
<section class="fit-top">
@ -24,24 +24,28 @@
<ui-card>
<div slot="title"><fa :icon="faGrin"/> {{ $t('emojis.title') }}</div>
<section v-for="emoji in emojis">
<img :src="emoji.url" :alt="emoji.name" style="width: 64px;"/>
<ui-horizon-group inputs>
<ui-input v-model="emoji.name">
<span>{{ $t('add-emoji.name') }}</span>
<section v-for="emoji in emojis" class="oryfrbft">
<div>
<img :src="emoji.url" :alt="emoji.name" style="width: 64px;"/>
</div>
<div>
<ui-horizon-group>
<ui-input v-model="emoji.name">
<span>{{ $t('add-emoji.name') }}</span>
</ui-input>
<ui-input v-model="emoji.aliases">
<span>{{ $t('add-emoji.aliases') }}</span>
</ui-input>
</ui-horizon-group>
<ui-input v-model="emoji.url">
<i slot="icon"><fa icon="link"/></i>
<span>{{ $t('add-emoji.url') }}</span>
</ui-input>
<ui-input v-model="emoji.aliases">
<span>{{ $t('add-emoji.aliases') }}</span>
</ui-input>
</ui-horizon-group>
<ui-input v-model="emoji.url">
<i slot="icon"><fa icon="link"/></i>
<span>{{ $t('add-emoji.url') }}</span>
</ui-input>
<ui-horizon-group class="fit-bottom">
<ui-button @click="updateEmoji(emoji)"><fa :icon="['far', 'save']"/> {{ $t('emojis.update') }}</ui-button>
<ui-button @click="removeEmoji(emoji)"><fa :icon="['far', 'trash-alt']"/> {{ $t('emojis.remove') }}</ui-button>
</ui-horizon-group>
<ui-horizon-group class="fit-bottom">
<ui-button @click="updateEmoji(emoji)"><fa :icon="['far', 'save']"/> {{ $t('emojis.update') }}</ui-button>
<ui-button @click="removeEmoji(emoji)"><fa :icon="['far', 'trash-alt']"/> {{ $t('emojis.remove') }}</ui-button>
</ui-horizon-group>
</div>
</section>
</ui-card>
</div>
@ -91,7 +95,9 @@ export default Vue.extend({
fetchEmojis() {
this.$root.api('admin/emoji/list').then(emojis => {
emojis.reverse();
emojis.forEach(e => e.aliases = (e.aliases || []).join(' '));
for (const e of emojis) {
e.aliases = (e.aliases || []).join(' ');
}
this.emojis = emojis;
});
},
@ -144,8 +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
@media (min-width 500px)
padding-left 16px
</style>

View File

@ -39,10 +39,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.jdnqwkzlnxcfftthoybjxrebyolvoucw
width 100%
min-height 300px
</style>

View File

@ -15,19 +15,19 @@
</div>
<div class="me">
<img class="avatar" :src="$store.state.i.avatarUrl" alt="avatar"/>
<p class="name">{{ $store.state.i | userName }}</p>
<p class="name"><mk-user-name :user="$store.state.i"/></p>
</div>
<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('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('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('drive')" :class="{ active: page == 'drive' }"><fa icon="cloud" fixed-width/>{{ $t('@.drive') }}</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>
@ -45,8 +45,8 @@
<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'"></div>
<div v-if="page == 'update'"></div>
<div v-if="page == 'drive'"><x-drive/></div>
<div v-if="page == 'abuse'"><x-abuse/></div>
</div>
</main>
</div>
@ -63,7 +63,9 @@ import XEmoji from "./emoji.vue";
import XAnnouncements from "./announcements.vue";
import XHashtags from "./hashtags.vue";
import XUsers from "./users.vue";
import { faHeadset, faArrowLeft, faShareAlt } from '@fortawesome/free-solid-svg-icons';
import XDrive from "./drive.vue";
import XAbuse from "./abuse.vue";
import { faHeadset, faArrowLeft, faShareAlt, faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
import { faGrin } from '@fortawesome/free-regular-svg-icons';
// Detect the user agent
@ -79,7 +81,9 @@ export default Vue.extend({
XEmoji,
XAnnouncements,
XHashtags,
XUsers
XUsers,
XDrive,
XAbuse,
},
provide: {
isMobile
@ -93,7 +97,8 @@ export default Vue.extend({
faGrin,
faArrowLeft,
faHeadset,
faShareAlt
faShareAlt,
faExclamationCircle
};
},
methods: {
@ -269,6 +274,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,12 +1,14 @@
<template>
<div class="axbwjelsbymowqjyywpirzhdlszoncqs">
<div>
<ui-card>
<div slot="title"><fa icon="cog"/> {{ $t('instance') }}</div>
<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>
</section>
<section class="fit-bottom">
@ -20,6 +22,8 @@
<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>
@ -31,8 +35,10 @@
<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-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-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-horizon-group>
</section>
<section>
<header><fa :icon="faGhost"/> {{ $t('proxy-account-config') }}</header>
@ -50,10 +56,19 @@
</ui-horizon-group>
<ui-horizon-group inputs>
<ui-input v-model="smtpUser" :disabled="!enableEmail">{{ $t('smtp-user') }}</ui-input>
<ui-input v-model="smtpPass" :disabled="!enableEmail">{{ $t('smtp-pass') }}</ui-input>
<ui-input v-model="smtpPass" type="password" :withPasswordToggle="true" :disabled="!enableEmail">{{ $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>
</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-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-horizon-group>
</section>
<section>
<header>summaly Proxy</header>
<ui-input v-model="summalyProxy">URL</ui-input>
@ -81,9 +96,11 @@
<div slot="title"><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</div>
<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-horizon-group>
<ui-info>{{ $t('twitter-integration-info', { url: `${url}/api/tw/cb` }) }}</ui-info>
<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-button @click="updateMeta">{{ $t('save') }}</ui-button>
</section>
</ui-card>
@ -92,9 +109,11 @@
<div slot="title"><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</div>
<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-horizon-group>
<ui-info>{{ $t('github-integration-info', { url: `${url}/api/gh/cb` }) }}</ui-info>
<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-button @click="updateMeta">{{ $t('save') }}</ui-button>
</section>
</ui-card>
@ -103,9 +122,11 @@
<div slot="title"><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</div>
<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-horizon-group>
<ui-info>{{ $t('discord-integration-info', { url: `${url}/api/dc/cb` }) }}</ui-info>
<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-button @click="updateMeta">{{ $t('save') }}</ui-button>
</section>
</ui-card>
@ -117,7 +138,7 @@ import Vue from 'vue';
import i18n from '../../i18n';
import { url, host } from '../../config';
import { toUnicode } from 'punycode';
import { faHeadset, faShieldAlt, faGhost, faUserPlus } from '@fortawesome/free-solid-svg-icons';
import { faHeadset, faShieldAlt, faGhost, faUserPlus, faBolt } from '@fortawesome/free-solid-svg-icons';
import { faEnvelope as farEnvelope } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
@ -131,7 +152,10 @@ export default Vue.extend({
maintainerEmail: null,
disableRegistration: false,
disableLocalTimeline: false,
disableGlobalTimeline: false,
mascotImageUrl: null,
bannerUrl: null,
errorImageUrl: null,
name: null,
description: null,
languages: null,
@ -164,7 +188,10 @@ export default Vue.extend({
smtpPort: null,
smtpUser: null,
smtpPass: null,
faHeadset, faShieldAlt, faGhost, faUserPlus, farEnvelope
enableServiceWorker: false,
swPublicKey: null,
swPrivateKey: null,
faHeadset, faShieldAlt, faGhost, faUserPlus, farEnvelope, faBolt
};
},
@ -172,7 +199,12 @@ export default Vue.extend({
this.$root.getMeta().then(meta => {
this.maintainerName = meta.maintainer.name;
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;
this.name = meta.name;
this.description = meta.description;
this.languages = meta.langs.join(' ');
@ -204,6 +236,9 @@ export default Vue.extend({
this.smtpPort = meta.smtpPort;
this.smtpUser = meta.smtpUser;
this.smtpPass = meta.smtpPass;
this.enableServiceWorker = meta.enableServiceWorker;
this.swPublicKey = meta.swPublickey;
this.swPrivateKey = meta.swPrivateKey;
});
},
@ -225,7 +260,10 @@ 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,
name: this.name,
description: this.description,
langs: this.languages.split(' '),
@ -256,7 +294,10 @@ export default Vue.extend({
smtpHost: this.smtpHost,
smtpPort: parseInt(this.smtpPort, 10),
smtpUser: this.smtpUser,
smtpPass: this.smtpPass
smtpPass: this.smtpPass,
enableServiceWorker: this.enableServiceWorker,
swPublicKey: this.swPublicKey,
swPrivateKey: this.swPrivateKey
}).then(() => {
this.$root.dialog({
type: 'success',
@ -272,10 +313,3 @@ export default Vue.extend({
}
});
</script>
<style lang="stylus" scoped>
.axbwjelsbymowqjyywpirzhdlszoncqs
@media (min-width 500px)
padding 16px
</style>

View File

@ -1,12 +1,13 @@
<template>
<div class="jnhmugbb">
<div>
<ui-card>
<div slot="title"><fa icon="plus"/> {{ $t('add-moderator.title') }}</div>
<section class="fit-top">
<ui-input v-model="username" type="text">
<span slot="prefix">@</span>
</ui-input>
<ui-button @click="add" :disabled="adding">{{ $t('add-moderator.add') }}</ui-button>
<ui-button @click="add" :disabled="changing">{{ $t('add-moderator.add') }}</ui-button>
<ui-button @click="remove" :disabled="changing">{{ $t('add-moderator.remove') }}</ui-button>
</section>
</ui-card>
</div>
@ -23,13 +24,13 @@ export default Vue.extend({
data() {
return {
username: '',
adding: false
changing: false
};
},
methods: {
async add() {
this.adding = true;
this.changing = true;
const process = async () => {
const user = await this.$root.api('users/show', parseAcct(this.username));
@ -47,15 +48,30 @@ export default Vue.extend({
});
});
this.adding = false;
this.changing = false;
},
async remove() {
this.changing = true;
const process = async () => {
const user = await this.$root.api('users/show', parseAcct(this.username));
await this.$root.api('admin/moderators/remove', { userId: user.id });
this.$root.dialog({
type: 'success',
text: this.$t('add-moderator.removed')
});
};
await process().catch(e => {
this.$root.dialog({
type: 'error',
text: e.toString()
});
});
this.changing = false;
},
}
});
</script>
<style lang="stylus" scoped>
.jnhmugbb
@media (min-width 500px)
padding 16px
</style>

View File

@ -0,0 +1,82 @@
<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-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 { faSnowflake } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/users.vue'),
props: ['user'],
data() {
return {
faSnowflake
};
},
});
</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-suspended
margin 0 0 0 .5em
color #4dabf7
</style>

View File

@ -1,22 +1,29 @@
<template>
<div class="ucnffhbtogqgscfmqcymwmmupoknpfsw">
<div>
<ui-card>
<div slot="title"><fa :icon="faTerminal"/> {{ $t('operation') }}</div>
<section class="fit-top">
<ui-input v-model="target" type="text">
<ui-input class="target" v-model="target" type="text">
<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="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>
@ -31,6 +38,14 @@
<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>
<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="suspended">{{ $t('users.state.suspended') }}</option>
</ui-select>
<ui-select v-model="origin">
<span slot="label">{{ $t('users.origin.title') }}</span>
<option value="combined">{{ $t('users.origin.combined') }}</option>
@ -38,25 +53,9 @@
<option value="remote">{{ $t('users.origin.remote') }}</option>
</ui-select>
</ui-horizon-group>
<div class="kofvwchc" v-for="user in users">
<div>
<a :href="user | userPage(null, true)">
<mk-avatar class="avatar" :user="user" :disable-link="true"/>
</a>
</div>
<div>
<header>
<b>{{ user | userName }}</b>
<span class="username">@{{ user | acct }}</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>
<sequential-entrance animation="entranceFromTop" delay="25">
<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>
</ui-card>
@ -67,12 +66,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 } 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,
@ -82,12 +84,13 @@ export default Vue.extend({
suspending: false,
unsuspending: false,
sort: '+createdAt',
state: 'all',
origin: 'combined',
limit: 10,
offset: 0,
users: [],
existMore: false,
faTerminal, faCertificate, faUsers, faSnowflake, faSearch, faKey
faTerminal, faCertificate, faUsers, faSnowflake, faSearch, faKey, faSync
};
},
@ -98,6 +101,12 @@ export default Vue.extend({
this.fetchUsers();
},
state() {
this.users = [];
this.offset = 0;
this.fetchUsers();
},
origin() {
this.users = [];
this.offset = 0;
@ -110,6 +119,7 @@ export default Vue.extend({
},
methods: {
/** テキストエリアのユーザーを解決する */
async fetchUser() {
try {
return await this.$root.api('users/show', this.target.startsWith('@') ? parseAcct(this.target) : { userId: this.target });
@ -128,16 +138,27 @@ export default Vue.extend({
}
},
/** テキストエリアから処理対象ユーザーを設定する */
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 })
@ -146,11 +167,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')
@ -165,14 +187,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')
@ -187,14 +212,17 @@ export default Vue.extend({
});
this.unverifying = false;
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')
@ -209,14 +237,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')
@ -231,10 +262,35 @@ 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() {
this.$root.api('users', {
this.$root.api('admin/show-users', {
state: this.state,
origin: this.origin,
sort: this.sort,
offset: this.offset,
@ -255,28 +311,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)
> div:first-child
> a
> .avatar
width 64px
height 64px
> div:last-child
flex 1
padding-left 16px
> header
> .username
margin-left 8px
opacity 0.7
.user
margin-top 32px
> .actions
margin-left 80px
</style>

View File

@ -10,3 +10,24 @@
opacity: 0;
transform: scaleY(0);
}
.entranceFromTop {
animation-duration: 0.5s;
animation-name: entranceFromTop;
}
@keyframes entranceFromTop {
from {
opacity: 0;
transform: translateY(-64px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

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

@ -9,6 +9,7 @@ import './style.styl';
import init from '../init';
import Index from './views/index.vue';
import NotFound from '../common/views/pages/not-found.vue';
/**
* init
@ -20,6 +21,7 @@ init(launch => {
base: '/auth/',
routes: [
{ path: '/:token', component: Index },
{ path: '*', component: NotFound }
]
});

View File

@ -17,9 +17,9 @@
//#region Apply theme
const theme = localStorage.getItem('theme');
if (theme) {
Object.entries(JSON.parse(theme)).forEach(([k, v]) => {
for (const [k, v] of Object.entries(JSON.parse(theme))) {
document.documentElement.style.setProperty(`--${k}`, v.toString());
});
}
}
//#endregion
@ -160,7 +160,7 @@
navigator.serviceWorker.controller.postMessage('clear');
navigator.serviceWorker.getRegistrations().then(registrations => {
registrations.forEach(registration => registration.unregister());
for (const registration of registrations) registration.unregister();
});
} catch (e) {
console.error(e);

View File

@ -1,6 +1,6 @@
import Vue from 'vue';
export default function<T extends object>(data: {
export default function <T extends object>(data: {
name: string;
props?: () => T;
}) {
@ -53,11 +53,10 @@ export default function<T extends object>(data: {
mergeProps() {
if (data.props) {
const defaultProps = data.props();
Object.keys(defaultProps).forEach(prop => {
if (!this.props.hasOwnProperty(prop)) {
Vue.set(this.props, prop, defaultProps[prop]);
}
});
for (const prop of Object.keys(defaultProps)) {
if (this.props.hasOwnProperty(prop)) continue;
Vue.set(this.props, prop, defaultProps[prop]);
}
}
},

View File

@ -28,15 +28,15 @@ const getKeyMap = keymap => Object.entries(keymap).map(([patterns, callback]): a
shift: false
} as pattern;
part.trim().split('+').forEach(key => {
key = key.trim().toLowerCase();
const keys = part.trim().split('+').map(x => x.trim().toLowerCase());
for (const key of keys) {
switch (key) {
case 'ctrl': pattern.ctrl = true; break;
case 'alt': pattern.alt = true; break;
case 'shift': pattern.shift = true; break;
default: pattern.which = keyCode(key).map(k => k.toLowerCase());
}
});
}
return pattern;
});
@ -77,11 +77,7 @@ export default {
const matched = match(e, action.patterns);
if (matched) {
if (el._hotkey_global) {
if (match(e, targetReservedKeys)) {
return;
}
}
if (el._hotkey_global && match(e, targetReservedKeys)) return;
e.preventDefault();
e.stopPropagation();

View File

@ -14,9 +14,10 @@ export default async function($root: any, force = false, silent = false) {
navigator.serviceWorker.controller.postMessage('clear');
}
navigator.serviceWorker.getRegistrations().then(registrations => {
registrations.forEach(registration => registration.unregister());
});
const registrations = await navigator.serviceWorker.getRegistrations();
for (const registration of registrations) {
registration.unregister();
}
} catch (e) {
console.error(e);
}

View File

@ -22,7 +22,7 @@ export default function(type, data): Notification {
case 'unreadMessagingMessage':
return {
title: '%i18n:common.notification.message-from%'.split("{}")[0] + `${getUserName(data.user)}` + '%i18n:common.notification.message-from%'.split("{}")[1] ,
title: '%i18n:common.notification.message-from%'.split('{}')[0] + `${getUserName(data.user)}` + '%i18n:common.notification.message-from%'.split('{}')[1] ,
body: data.text, // TODO: getMessagingMessageSummary(data),
icon: data.user.avatarUrl
};
@ -30,7 +30,7 @@ export default function(type, data): Notification {
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],
body: '%i18n:common.notification.reversi-invited-by%'.split('{}')[0] + `${getUserName(data.parent)}` + '%i18n:common.notification.reversi-invited-by%'.split('{}')[1],
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: '%i18n:common.notification.notified-by%'.split('{}')[0] + `${getUserName(data.user)}:` + '%i18n:common.notification.notified-by%'.split('{}')[1],
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: '%i18n:common.notification.reply-from%'.split('{}')[0] + `${getUserName(data.user)}` + '%i18n:common.notification.reply-from%'.split('{}')[1],
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: '%i18n:common.notification.quoted-by%'.split('{}')[0] + `${getUserName(data.user)}` + '%i18n:common.notification.quoted-by%'.split('{}')[1],
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

@ -0,0 +1,25 @@
/**
* Format like the uptime command
*/
export default function(sec) {
if (!sec) return sec;
const day = Math.floor(sec / 86400);
const tod = sec % 86400;
// Days part in string: 2 days, 1 day, null
const d = day >= 2 ? `${day} days` : day >= 1 ? `${day} day` : null;
// Time part in string: 1 sec, 1 min, 1:01
const t
= tod < 60 ? `${Math.floor(tod)} sec`
: tod < 3600 ? `${Math.floor(tod / 60)} min`
: `${Math.floor(tod / 60 / 60)}:${Math.floor((tod / 60) % 60).toString().padStart(2, '0')}`;
let str = '';
if (d) str += `${d}, `;
str += t;
return str;
}

View File

@ -3,8 +3,8 @@
export default (data: ArrayBuffer) => {
//const buf = new Buffer(data);
//const hash = crypto.createHash("md5");
//const hash = crypto.createHash('md5');
//hash.update(buf);
//return hash.digest("hex");
//return hash.digest('hex');
return '';
};

View File

@ -1,11 +0,0 @@
/**
* 中央値を求めます
* @param samples サンプル
*/
export default function(samples) {
if (!samples.length) return 0;
const numbers = samples.slice(0).sort((a, b) => a - b);
const middle = Math.floor(numbers.length / 2);
const isEven = numbers.length % 2 === 0;
return isEven ? (numbers[middle] + numbers[middle - 1]) / 2 : numbers[middle];
}

View File

@ -65,6 +65,10 @@ export default (opts: Opts = {}) => ({
return this.isRenote ? this.note.renote : this.note;
},
isMyNote(): boolean {
return this.$store.getters.isSignedIn && (this.$store.state.i.id === this.appearNote.userId);
},
reactionsCount(): number {
return this.appearNote.reactionCounts
? sum(Object.values(this.appearNote.reactionCounts))
@ -72,7 +76,7 @@ export default (opts: Opts = {}) => ({
},
title(): string {
return new Date(this.appearNote.createdAt).toLocaleString();
return '';
},
urls(): string[] {
@ -80,8 +84,8 @@ export default (opts: Opts = {}) => ({
const ast = parse(this.appearNote.text);
// TODO: 再帰的にURL要素がないか調べる
return unique(ast
.filter(t => ((t.name == 'url' || t.name == 'link') && t.props.url && !t.props.silent))
.map(t => t.props.url));
.filter(t => ((t.node.type == 'url' || t.node.type == 'link') && t.node.props.url && !t.node.props.silent))
.map(t => t.node.props.url));
} else {
return null;
}
@ -125,9 +129,7 @@ export default (opts: Opts = {}) => ({
source: this.$refs.reactButton,
note: this.appearNote,
showFocus: viaKeyboard,
animation: !viaKeyboard,
compact: opts.mobile,
big: opts.mobile
animation: !viaKeyboard
}).$once('closed', this.focus);
},
@ -138,6 +140,14 @@ export default (opts: Opts = {}) => ({
});
},
undoReact(note) {
const oldReaction = note.myReaction;
if (!oldReaction) return;
this.$root.api('notes/reactions/delete', {
noteId: note.id
});
},
favorite() {
this.$root.api('notes/favorites/create', {
noteId: this.appearNote.id
@ -159,8 +169,7 @@ export default (opts: Opts = {}) => ({
this.$root.new(MkNoteMenu, {
source: this.$refs.menuButton,
note: this.appearNote,
animation: !viaKeyboard,
compact: opts.mobile,
animation: !viaKeyboard
}).$once('closed', this.focus);
},

View File

@ -95,6 +95,7 @@ export default prop => ({
Vue.set(this.$_ns_target.reactionCounts, reaction, 0);
}
// Increment the count
this.$_ns_target.reactionCounts[reaction]++;
if (body.userId == this.$store.state.i.id) {
@ -103,6 +104,26 @@ export default prop => ({
break;
}
case 'unreacted': {
const reaction = body.reaction;
if (this.$_ns_target.reactionCounts == null) {
return;
}
if (this.$_ns_target.reactionCounts[reaction] == null) {
return;
}
// Decrement the count
if (this.$_ns_target.reactionCounts[reaction] > 0) this.$_ns_target.reactionCounts[reaction]--;
if (body.userId == this.$store.state.i.id) {
Vue.set(this.$_ns_target, 'myReaction', null);
}
break;
}
case 'pollVoted': {
if (body.userId == this.$store.state.i.id) return;
const choice = body.choice;
@ -112,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

@ -2,27 +2,17 @@ export default function(me, settings, note) {
const isMyNote = note.userId == me.id;
const isPureRenote = note.renoteId != null && note.text == null && note.fileIds.length == 0 && note.poll == null;
if (settings.showMyRenotes === false) {
if (isMyNote && isPureRenote) {
return true;
}
}
const includesMutedWords = (text: string) =>
text
? settings.mutedWords.some(q => q.length > 0 && !q.some(word => !text.includes(word)))
: false;
if (settings.showRenotedMyNotes === false) {
if (isPureRenote && (note.renote.userId == me.id)) {
return true;
}
}
if (settings.showLocalRenotes === false) {
if (isPureRenote && (note.renote.user.host == null)) {
return true;
}
}
if (!isMyNote && note.text && settings.mutedWords.some(q => q.length > 0 && !q.some(word => !note.text.includes(word)))) {
return true;
}
return false;
return (
(!isMyNote && note.reply && includesMutedWords(note.reply.text)) ||
(!isMyNote && note.renote && includesMutedWords(note.renote.text)) ||
(settings.showMyRenotes === false && isMyNote && isPureRenote) ||
(settings.showRenotedMyNotes === false && isPureRenote && note.renote.userId == me.id) ||
(settings.showLocalRenotes === false && isPureRenote && note.renote.user.host == null) ||
(!isMyNote && includesMutedWords(note.text))
);
}

View File

@ -75,12 +75,10 @@ export default class Stream extends EventEmitter {
// チャンネル再接続
if (isReconnect) {
this.sharedConnectionPools.forEach(p => {
for (const p of this.sharedConnectionPools)
p.connect();
});
this.nonSharedConnections.forEach(c => {
for (const c of this.nonSharedConnections)
c.connect();
});
}
}
@ -113,9 +111,9 @@ export default class Stream extends EventEmitter {
connections = [this.nonSharedConnections.find(c => c.id === id)];
}
connections.filter(c => c != null).forEach(c => {
for (const c of connections.filter(c => c != null)) {
c.emit(body.type, body.body);
});
}
} else {
this.emit(type, body);
}

View File

@ -2,6 +2,7 @@
<span class="mk-acct">
<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/>
</span>
</template>
@ -23,4 +24,8 @@ export default Vue.extend({
.mk-acct
> .host.fade
opacity 0.5
> .locked
opacity 0.8
margin-left 0.5em
</style>

View File

@ -32,7 +32,7 @@
<script lang="ts">
import Vue from 'vue';
import { themeColor } from '../../../config';
import * as tinycolor from 'tinycolor2';
export default Vue.extend({
props: {
@ -75,7 +75,7 @@ export default Vue.extend({
return this.dark ? '#fff' : '#777';
},
hHandColor(): string {
return themeColor;
return tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--primary')).toHexString();
},
ms(): number {

View File

@ -44,8 +44,9 @@ const lib = Object.entries(emojilib.lib).filter((x: any) => {
});
const char2file = (char: string) => {
let codes = [...char].map(x => x.codePointAt(0).toString(16));
let codes = Array.from(char).map(x => x.codePointAt(0).toString(16));
if (!codes.includes('200d')) codes = codes.filter(x => x != 'fe0f');
codes = codes.filter(x => x && x.length);
return codes.join('-');
};
@ -56,18 +57,18 @@ const emjdb: EmojiDef[] = lib.map((x: any) => ({
url: `https://twemoji.maxcdn.com/2/svg/${char2file(x[1].char)}.svg`
}));
lib.forEach((x: any) => {
for (const x of lib as any) {
if (x[1].keywords) {
x[1].keywords.forEach(k => {
for (const k of x[1].keywords) {
emjdb.push({
emoji: x[1].char,
name: k,
aliasOf: x[0],
url: `https://twemoji.maxcdn.com/2/svg/${char2file(x[1].char)}.svg`
});
});
}
}
});
}
emjdb.sort((a, b) => a.name.length - b.name.length);
@ -119,7 +120,7 @@ export default Vue.extend({
const customEmojis = (this.$root.getMetaSync() || { emojis: [] }).emojis || [];
const emojiDefinitions: EmojiDef[] = [];
customEmojis.forEach(x => {
for (const x of customEmojis) {
emojiDefinitions.push({
name: x.name,
emoji: `:${x.name}:`,
@ -128,7 +129,7 @@ export default Vue.extend({
});
if (x.aliases) {
x.aliases.forEach(alias => {
for (const alias of x.aliases) {
emojiDefinitions.push({
name: alias,
aliasOf: x.name,
@ -136,9 +137,9 @@ export default Vue.extend({
url: x.url,
isCustomEmoji: true
});
});
}
}
});
}
emojiDefinitions.sort((a, b) => a.name.length - b.name.length);
@ -147,9 +148,9 @@ export default Vue.extend({
this.textarea.addEventListener('keydown', this.onKeydown);
Array.from(document.querySelectorAll('body *')).forEach(el => {
for (const el of Array.from(document.querySelectorAll('body *'))) {
el.addEventListener('mousedown', this.onMousedown);
});
}
this.$nextTick(() => {
this.exec();
@ -165,18 +166,18 @@ export default Vue.extend({
beforeDestroy() {
this.textarea.removeEventListener('keydown', this.onKeydown);
Array.from(document.querySelectorAll('body *')).forEach(el => {
for (const el of Array.from(document.querySelectorAll('body *'))) {
el.removeEventListener('mousedown', this.onMousedown);
});
}
},
methods: {
exec() {
this.select = -1;
if (this.$refs.suggests) {
Array.from(this.items).forEach(el => {
for (const el of Array.from(this.items)) {
el.removeAttribute('data-selected');
});
}
}
if (this.type == 'user') {
@ -315,9 +316,9 @@ export default Vue.extend({
},
applySelect() {
Array.from(this.items).forEach(el => {
for (const el of Array.from(this.items)) {
el.removeAttribute('data-selected');
});
}
this.items[this.select].setAttribute('data-selected', 'true');
(this.items[this.select] as any).focus();

View File

@ -0,0 +1,30 @@
<template>
<prism :inline="inline" :language="lang">{{ code }}</prism>
</template>
<script lang="ts">
import Vue from 'vue';
import 'prismjs';
import 'prismjs/themes/prism.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>

View File

@ -0,0 +1,28 @@
<template>
<x-code :code="code" :lang="lang" :inline="inline"/>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
components: {
XCode: () => import('./code-core.vue').then(m => m.default)
},
props: {
code: {
type: String,
required: true
},
lang: {
type: String,
required: false
},
inline: {
type: Boolean,
required: false
}
}
});
</script>

View File

@ -1,21 +1,43 @@
<template>
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">{{ value ? this.$t('hide') : this.$t('show') }}</button>
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">
<b>{{ value ? this.$t('hide') : this.$t('show') }}</b>
<span v-if="!value">{{ this.label }}</span>
</button>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import { length } from 'stringz';
import { concat } from '../../../../../prelude/array';
export default Vue.extend({
i18n: i18n('common/views/components/cw-button.vue'),
props: {
value: {
type: Boolean,
required: true
},
note: {
type: Object,
required: true
}
},
computed: {
label(): string {
return concat([
this.note.text ? [this.$t('chars', { count: length(this.note.text) })] : [],
this.note.files && this.note.files.length !== 0 ? [this.$t('files', { count: this.note.files.length }) ] : [],
this.note.poll != null ? [this.$t('poll')] : []
] as string[][]).join(' / ');
}
},
methods: {
length,
toggle() {
this.$emit('input', !this.value);
}
@ -37,4 +59,12 @@ export default Vue.extend({
&:hover
background var(--cwButtonHoverBg)
> span
margin-left 4px
&:before
content '('
&:after
content ')'
</style>

View File

@ -20,7 +20,7 @@
<script lang="ts">
import Vue from 'vue';
import * as anime from 'animejs';
import anime from 'animejs';
import { faTimesCircle, faQuestionCircle } from '@fortawesome/free-regular-svg-icons';
import parseAcct from "../../../../../misc/acct/parse";
@ -93,7 +93,7 @@ export default Vue.extend({
opacity: 1,
scale: [1.2, 1],
duration: 300,
easing: [0, 0.5, 0.5, 1]
easing: 'cubicBezier(0, 0.5, 0.5, 1)'
});
if (this.splash) {
@ -142,7 +142,7 @@ export default Vue.extend({
opacity: 0,
scale: 0.8,
duration: 300,
easing: [0, 0.5, 0.5, 1],
easing: 'cubicBezier(0, 0.5, 0.5, 1)',
complete: () => this.destroyDom()
});
},

View File

@ -93,8 +93,7 @@ export default Vue.extend({
},
plotOptions: {
bar: {
columnWidth: '90%',
endingShape: 'rounded'
columnWidth: '90%'
}
},
grid: {

View File

@ -114,11 +114,11 @@ export default Vue.extend({
},
onScroll(e) {
const section = this.categories.forEach(x => {
for (const x of this.categories) {
const top = e.target.scrollTop;
const el = this.$refs[x.ref][0];
x.isActive = el.offsetTop <= top && el.offsetTop + el.offsetHeight > top;
});
}
},
chosen(emoji) {

View File

@ -66,8 +66,9 @@ export default Vue.extend({
}
if (this.char) {
let codes = [...this.char].map(x => x.codePointAt(0).toString(16));
let codes = Array.from(this.char).map(x => x.codePointAt(0).toString(16));
if (!codes.includes('200d')) codes = codes.filter(x => x != 'fe0f');
codes = codes.filter(x => x && x.length);
this.url = `https://twemoji.maxcdn.com/2/svg/${codes.join('-')}.svg`;
}

View File

@ -48,7 +48,7 @@ export default Vue.extend({
iconAndText(): any[] {
return (
(this.hasPendingFollowRequestFromYou && this.user.isLocked) ? ['hourglass-half', this.$t('request-pending')] :
(this.hasPendingFollowRequestFromYou && !this.user.isLocked) ? ['hourglass-start', this.$t('follow-processing')] :
(this.hasPendingFollowRequestFromYou && !this.user.isLocked) ? ['spinner', this.$t('follow-processing')] :
(this.isFollowing) ? ['minus', this.$t('following')] :
(!this.isFollowing && this.user.isLocked) ? ['plus', this.$t('follow-request')] :
(!this.isFollowing && !this.user.isLocked) ? ['plus', this.$t('follow')] :

View File

@ -1,5 +1,6 @@
<template>
<span v-html="compiledFormula"></span>
<div v-if="block" v-html="compiledFormula"></div>
<span v-else v-html="compiledFormula"></span>
</template>
<script lang="ts">
@ -11,11 +12,17 @@ export default Vue.extend({
formula: {
type: String,
required: true
},
block: {
type: Boolean,
required: true
}
},
computed: {
compiledFormula(): any {
return katex.renderToString(this.formula);
return katex.renderToString(this.formula, {
throwOnError: false
} as any);
}
}
});

View File

@ -1,5 +1,5 @@
<template>
<x-formula :formula="formula"/>
<x-formula :formula="formula" :block="block" />
</template>
<script lang="ts">
@ -14,6 +14,10 @@ export default Vue.extend({
formula: {
type: String,
required: true
},
block: {
type: Boolean,
required: true
}
}
});

View File

@ -1,16 +1,21 @@
<template>
<div class="xqnhankfuuilcwvhgsopeqncafzsquya">
<button class="go-index" v-if="selfNav" @click="goIndex"><fa icon="arrow-left"/></button>
<header><b><router-link :to="blackUser | userPage">{{ blackUser | userName }}</router-link></b>({{ $t('@.reversi.black') }}) vs <b><router-link :to="whiteUser | userPage">{{ whiteUser | userName }}</router-link></b>({{ $t('@.reversi.white') }})</header>
<header><b><router-link :to="blackUser | userPage"><mk-user-name :user="blackUser"/></router-link></b>({{ $t('@.reversi.black') }}) vs <b><router-link :to="whiteUser | userPage"><mk-user-name :user="whiteUser"/></router-link></b>({{ $t('@.reversi.white') }})</header>
<div style="overflow: hidden; line-height: 28px;">
<p class="turn" v-if="!iAmPlayer && !game.isEnded">{{ $t('@.reversi.turn-of', { name: $options.filters.userName(turnUser) }) }}<mk-ellipsis/></p>
<p class="turn" v-if="logPos != logs.length">{{ $t('@.reversi.past-turn-of', { name: $options.filters.userName(turnUser) }) }}</p>
<p class="turn" v-if="!iAmPlayer && !game.isEnded">
<mfm :text="$t('@.reversi.turn-of', { name: $options.filters.userName(turnUser) })" :should-break="false" :plain-text="true" :custom-emojis="turnUser.emojis"/>
<mk-ellipsis/>
</p>
<p class="turn" v-if="logPos != logs.length">
<mfm :text="$t('@.reversi.past-turn-of', { name: $options.filters.userName(turnUser) })" :should-break="false" :plain-text="true" :custom-emojis="turnUser.emojis"/>
</p>
<p class="turn1" v-if="iAmPlayer && !game.isEnded && !isMyTurn">{{ $t('@.reversi.opponent-turn') }}<mk-ellipsis/></p>
<p class="turn2" v-if="iAmPlayer && !game.isEnded && isMyTurn" v-animate-css="{ classes: 'tada', iteration: 'infinite' }">{{ $t('@.reversi.my-turn') }}</p>
<p class="result" v-if="game.isEnded && logPos == logs.length">
<template v-if="game.winner">
<span>{{ $t('@.reversi.won', { name: $options.filters.userName(game.winner) }) }}</span>
<mfm :text="$t('@.reversi.won', { name: $options.filters.userName(game.winner) })" :should-break="false" :plain-text="true" :custom-emojis="game.winner.emojis"/>
<span v-if="game.surrendered != null"> ({{ $t('surrendered') }})</span>
</template>
<template v-else>{{ $t('@.reversi.drawn') }}</template>
@ -30,11 +35,11 @@
:class="{ empty: stone == null, none: o.map[i] == 'null', isEnded: game.isEnded, myTurn: !game.isEnded && isMyTurn, can: turnUser ? o.canPut(turnUser.id == blackUser.id, i) : null, prev: o.prevPos == i }"
@click="set(i)"
:title="`${String.fromCharCode(65 + o.transformPosToXy(i)[0])}${o.transformPosToXy(i)[1] + 1}`">
<template v-if="!$store.state.settings.games.reversi.useWhiteBlackStones">
<img v-if="stone === true" :src="blackUser.avatarUrl" alt="black" :class="{ contrast: $store.state.settings.games.reversi.useContrastStones }">
<img v-if="stone === false" :src="whiteUser.avatarUrl" alt="white" :class="{ contrast: $store.state.settings.games.reversi.useContrastStones }">
<template v-if="$store.state.settings.games.reversi.useAvatarStones">
<img v-if="stone === true" :src="blackUser.avatarUrl" alt="black">
<img v-if="stone === false" :src="whiteUser.avatarUrl" alt="white">
</template>
<template v-if="$store.state.settings.games.reversi.useWhiteBlackStones">
<template v-else>
<fa v-if="stone === true" :icon="fasCircle"/>
<fa v-if="stone === false" :icon="farCircle"/>
</template>
@ -185,9 +190,9 @@ export default Vue.extend({
loopedBoard: this.game.settings.loopedBoard
});
this.game.logs.forEach(log => {
for (const log of this.game.logs) {
this.o.put(log.color, log.pos);
});
}
this.logs = this.game.logs;
this.logPos = this.logs.length;
@ -287,9 +292,9 @@ export default Vue.extend({
loopedBoard: this.game.settings.loopedBoard
});
this.game.logs.forEach(log => {
for (const log of this.game.logs) {
this.o.put(log.color, log.pos, true);
});
}
this.logs = this.game.logs;
this.logPos = this.logs.length;
@ -430,13 +435,6 @@ export default Vue.extend({
width 100%
height 100%
&.contrast
&[alt="black"]
filter brightness(.5)
&[alt="white"]
filter brightness(2)
> .graph
display grid
grid-template-columns repeat(61, 1fr)

View File

@ -19,27 +19,27 @@
<h2>{{ $t('invitations') }}</h2>
<div class="invitation" v-for="i in invitations" tabindex="-1" @click="accept(i)">
<mk-avatar class="avatar" :user="i.parent"/>
<span class="name"><b>{{ i.parent | userName }}</b></span>
<span class="name"><b><mk-user-name :user="i.parent"/></b></span>
<span class="username">@{{ i.parent.username }}</span>
<mk-time :time="i.createdAt"/>
</div>
</section>
<section v-if="myGames.length > 0">
<h2>{{ $t('my-games') }}</h2>
<a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`">
<a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/games/reversi/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1 | userName }}</b> vs <b>{{ g.user2 | userName }}</b></span>
<span><b><mk-user-name :user="g.user1"/></b> vs <b><mk-user-name :user="g.user2"/></b></span>
<span class="state">{{ g.isEnded ? $t('game-state.ended') : $t('game-state.playing') }}</span>
<mk-time :time="g.createdAt" />
</a>
</section>
<section v-if="games.length > 0">
<h2>{{ $t('all-games') }}</h2>
<a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`">
<a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/games/reversi/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1 | userName }}</b> vs <b>{{ g.user2 | userName }}</b></span>
<span><b><mk-user-name :user="g.user1"/></b> vs <b><mk-user-name :user="g.user2"/></b></span>
<span class="state">{{ g.isEnded ? $t('game-state.ended') : $t('game-state.playing') }}</span>
<mk-time :time="g.createdAt" />
</a>

View File

@ -1,6 +1,6 @@
<template>
<div class="urbixznjwwuukfsckrwzwsqzsxornqij">
<header><b>{{ game.user1 | userName }}</b> vs <b>{{ game.user2 | userName }}</b></header>
<header><b><mk-user-name :user="game.user1"/></b> vs <b><mk-user-name :user="game.user2"/></b></header>
<div>
<p>{{ $t('settings-of-the-game') }}</p>
@ -36,8 +36,8 @@
<div>
<form-radio v-model="game.settings.bw" value="random" @change="updateSettings">{{ $t('random') }}</form-radio>
<form-radio v-model="game.settings.bw" :value="1" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b>{{ game.user1 | userName }}</b>{{ this.$t('black-is').split('{}')[1] }}</form-radio>
<form-radio v-model="game.settings.bw" :value="2" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b>{{ game.user2 | userName }}</b>{{ this.$t('black-is').split('{}')[1] }}</form-radio>
<form-radio v-model="game.settings.bw" :value="1" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b><mk-user-name :user="game.user1"/></b>{{ this.$t('black-is').split('{}')[1] }}</form-radio>
<form-radio v-model="game.settings.bw" :value="2" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b><mk-user-name :user="game.user2"/></b>{{ this.$t('black-is').split('{}')[1] }}</form-radio>
</div>
</div>
@ -60,7 +60,7 @@
<div>
<template v-for="item in form">
<ui-switch v-if="item.type == 'switch'" v-model="item.value" :key="item.id" :text="item.label" @change="onChangeForm(item)">{{ item.desc || '' }}</ui-switch>
<ui-switch v-if="item.type == 'switch'" v-model="item.value" :key="item.id" @change="onChangeForm(item)">{{ item.label || item.desc || '' }}</ui-switch>
<div class="card" v-if="item.type == 'radio'" :key="item.id">
<header>

View File

@ -4,7 +4,7 @@
<x-gameroom :game="game" :self-nav="selfNav" @go-index="goIndex"/>
</div>
<div class="matching" v-else-if="matching">
<h1>{{ this.$t('matching.waiting-for').split('{}')[0] }}<b>{{ matching | userName }}</b>{{ this.$t('matching.waiting-for').split('{}')[1] }}<mk-ellipsis/></h1>
<h1>{{ this.$t('matching.waiting-for').split('{}')[0] }}<b><mk-user-name :user="matching"/></b>{{ this.$t('matching.waiting-for').split('{}')[1] }}<mk-ellipsis/></h1>
<div class="cancel">
<form-button round @click="cancel">{{ $t('matching.cancel') }}</form-button>
</div>

View File

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

View File

@ -45,6 +45,7 @@ import uiInfo from './ui/info.vue';
import formButton from './ui/form/button.vue';
import formRadio from './ui/form/radio.vue';
Vue.component('mfm', misskeyFlavoredMarkdown);
Vue.component('mk-user-name', userName);
Vue.component('mk-follow-button', followButton);
Vue.component('mk-error', error);
@ -63,7 +64,6 @@ Vue.component('mk-forkit', forkit);
Vue.component('mk-acct', acct);
Vue.component('mk-avatar', avatar);
Vue.component('mk-nav', nav);
Vue.component('misskey-flavored-markdown', misskeyFlavoredMarkdown);
Vue.component('mk-poll', poll);
Vue.component('mk-poll-editor', pollEditor);
Vue.component('mk-reaction-icon', reactionIcon);

View File

@ -1,22 +1,22 @@
<template>
<ui-card>
<ui-card v-if="enableTwitterIntegration || enableDiscordIntegration || enableGithubIntegration">
<div slot="title"><fa icon="share-alt"/> {{ $t('title') }}</div>
<section>
<section v-if="enableTwitterIntegration">
<header><fa :icon="['fab', 'twitter']"/> Twitter</header>
<p v-if="$store.state.i.twitter">{{ $t('connected-to') }}: <a :href="`https://twitter.com/${$store.state.i.twitter.screenName}`" target="_blank">@{{ $store.state.i.twitter.screenName }}</a></p>
<ui-button v-if="$store.state.i.twitter" @click="disconnectTwitter">{{ $t('disconnect') }}</ui-button>
<ui-button v-else @click="connectTwitter">{{ $t('connect') }}</ui-button>
</section>
<section>
<section v-if="enableDiscordIntegration">
<header><fa :icon="['fab', 'discord']"/> Discord</header>
<p v-if="$store.state.i.discord">{{ $t('connected-to') }}: <a :href="`https://discordapp.com/users/${$store.state.i.discord.id}`" target="_blank">@{{ $store.state.i.discord.username }}#{{ $store.state.i.discord.discriminator }}</a></p>
<ui-button v-if="$store.state.i.discord" @click="disconnectDiscord">{{ $t('disconnect') }}</ui-button>
<ui-button v-else @click="connectDiscord">{{ $t('connect') }}</ui-button>
</section>
<section>
<section v-if="enableGithubIntegration">
<header><fa :icon="['fab', 'github']"/> GitHub</header>
<p v-if="$store.state.i.github">{{ $t('connected-to') }}: <a :href="`https://github.com/${$store.state.i.github.login}`" target="_blank">@{{ $store.state.i.github.login }}</a></p>
<ui-button v-if="$store.state.i.github" @click="disconnectGithub">{{ $t('disconnect') }}</ui-button>
@ -39,14 +39,32 @@ export default Vue.extend({
twitterForm: null,
discordForm: null,
githubForm: null,
enableTwitterIntegration: false,
enableDiscordIntegration: false,
enableGithubIntegration: false,
};
},
created() {
this.$root.getMeta().then(meta => {
this.enableTwitterIntegration = meta.enableTwitterIntegration;
this.enableDiscordIntegration = meta.enableDiscordIntegration;
this.enableGithubIntegration = meta.enableGithubIntegration;
});
},
mounted() {
document.cookie = `i=${this.$store.state.i.token}`;
this.$watch('$store.state.i', () => {
if (this.$store.state.i.twitter) {
if (this.twitterForm) this.twitterForm.close();
}
if (this.$store.state.i.discord) {
if (this.discordForm) this.discordForm.close();
}
if (this.$store.state.i.github) {
if (this.githubForm) this.githubForm.close();
}
}, {
deep: true
});

View File

@ -5,16 +5,21 @@
<span>{{ $t('click-to-show') }}</span>
</div>
</div>
<a class="gqnyydlzavusgskkfvwvjiattxdzsqlf" v-else :href="image.url" target="_blank" :style="style" :title="image.name" @click.prevent="onClick"></a>
<a class="gqnyydlzavusgskkfvwvjiattxdzsqlf" v-else
:href="image.url"
:style="style"
:title="image.name"
@click.prevent="onClick"
></a>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import ImageViewer from '../../../common/views/components/image-viewer.vue';
import ImageViewer from './image-viewer.vue';
export default Vue.extend({
i18n: i18n('mobile/views/components/media-image.vue'),
i18n: i18n('common/views/components/media-image.vue'),
props: {
image: {
type: Object,
@ -58,6 +63,7 @@ export default Vue.extend({
<style lang="stylus" scoped>
.gqnyydlzavusgskkfvwvjiattxdzsqlf
display block
cursor zoom-in
overflow hidden
width 100%
height 100%

View File

@ -7,7 +7,7 @@
<div :data-count="mediaList.filter(media => previewable(media)).length" ref="grid">
<template v-for="media in mediaList">
<mk-media-video :video="media" :key="media.id" v-if="media.type.startsWith('video')"/>
<mk-media-image :image="media" :key="media.id" v-else-if="media.type.startsWith('image')" :raw="raw"/>
<x-image :image="media" :key="media.id" v-else-if="media.type.startsWith('image')" :raw="raw"/>
</template>
</div>
</div>
@ -17,10 +17,12 @@
<script lang="ts">
import Vue from 'vue';
import XBanner from './media-banner.vue';
import XImage from './media-image.vue';
export default Vue.extend({
components: {
XBanner
XBanner,
XImage
},
props: {
mediaList: {

View File

@ -0,0 +1,70 @@
<template>
<router-link class="ldlomzub" :to="`/${ canonical }`" v-user-preview="canonical">
<span class="me" v-if="isMe">{{ $t('@.you') }}</span>
<span class="main">
<span class="username">@{{ username }}</span>
<span class="host" :class="{ fade: $store.state.settings.contrastedAcct }" v-if="(host != localHost) || $store.state.settings.showFullAcct">@{{ toUnicode(host) }}</span>
</span>
</router-link>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import { toUnicode } from 'punycode';
import { host as localHost } from '../../../config';
export default Vue.extend({
i18n: i18n(),
props: {
username: {
type: String,
required: true
},
host: {
type: String,
required: true
}
},
data() {
return {
localHost
};
},
computed: {
canonical(): string {
return `@${this.username}@${toUnicode(this.host)}`;
},
isMe(): boolean {
return this.$store.getters.isSignedIn && this.canonical.toLowerCase() === `@${this.$store.state.i.username}@${toUnicode(localHost)}`.toLowerCase();
}
},
methods: {
toUnicode
}
});
</script>
<style lang="stylus" scoped>
.ldlomzub
color var(--mfmMention)
> .me
pointer-events none
user-select none
padding 0 4px
background var(--mfmMention)
border solid var(--lineWidth) var(--mfmMention)
border-radius 4px 0 0 4px
color var(--mfmMentionForeground)
& + .main
padding 0 4px
border solid var(--lineWidth) var(--mfmMention)
border-radius 0 4px 4px 0
> .main
> .host.fade
opacity 0.5
</style>

View File

@ -1,5 +1,5 @@
<template>
<div class="onchrpzrvnoruiaenfcqvccjfuupzzwv" :class="{ big: $root.isMobile }">
<div class="onchrpzrvnoruiaenfcqvccjfuupzzwv" :class="{ isMobile: $root.isMobile }">
<div class="backdrop" ref="backdrop" @click="close"></div>
<div class="popover" :class="{ hukidasi }" ref="popover">
<template v-for="item, i in items">
@ -14,7 +14,7 @@
<script lang="ts">
import Vue from 'vue';
import * as anime from 'animejs';
import anime from 'animejs';
export default Vue.extend({
props: {
@ -24,16 +24,11 @@ export default Vue.extend({
items: {
type: Array,
required: true
},
compact: {
type: Boolean,
required: false,
default: false
}
},
data() {
return {
hukidasi: !this.compact
hukidasi: !this.$root.isMobile
};
},
mounted() {
@ -47,7 +42,7 @@ export default Vue.extend({
let left;
let top;
if (this.compact) {
if (this.$root.isMobile) {
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
left = (x - (width / 2));
@ -121,11 +116,10 @@ export default Vue.extend({
<style lang="stylus" scoped>
.onchrpzrvnoruiaenfcqvccjfuupzzwv
$bg-color = var(--popupBg)
$border-color = rgba(27, 31, 35, 0.15)
position initial
&.big
&.isMobile
> .popover
> button
font-size 15px
@ -145,7 +139,6 @@ export default Vue.extend({
z-index 10001
padding 8px 0
background $bg-color
border 1px solid $border-color
border-radius 4px
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
transform scale(0.5)
@ -170,14 +163,6 @@ export default Vue.extend({
border-top solid $balloon-size transparent
border-left solid $balloon-size transparent
border-right solid $balloon-size transparent
border-bottom solid $balloon-size $border-color
&:after
top -($balloon-size * 2) + 1.5px
left s('calc(50% - %s)', $balloon-size)
border-top solid $balloon-size transparent
border-left solid $balloon-size transparent
border-right solid $balloon-size transparent
border-bottom solid $balloon-size $bg-color
> button
@ -201,7 +186,7 @@ export default Vue.extend({
> div
margin 8px 0
height 1px
height var(--lineWidth)
background var(--faceDivider)
</style>

View File

@ -9,7 +9,7 @@
@keypress="onKeypress"
@paste="onPaste"
:placeholder="$t('input-message-here')"
v-autocomplete="'text'"
v-autocomplete="{ model: 'text' }"
></textarea>
<div class="file" @click="file = null" v-if="file">{{ file.name }}</div>
<mk-uploader ref="uploader" @uploaded="onUploaded"/>
@ -85,7 +85,7 @@ export default Vue.extend({
}
} else {
if (items[0].kind == 'file') {
alert('%i18n:only-one-file-attached%');
alert(this.$t('only-one-file-attached'));
}
}
},
@ -107,7 +107,7 @@ export default Vue.extend({
return;
} else if (e.dataTransfer.files.length > 1) {
e.preventDefault();
alert('%i18n:only-one-file-attached%');
alert(this.$t('only-one-file-attached'));
return;
}

View File

@ -3,19 +3,20 @@
<mk-avatar class="avatar" :user="message.user" target="_blank"/>
<div class="content">
<div class="balloon" :data-no-text="message.text == null">
<!-- <button class="delete-button" v-if="isMe" :title="$t('@.delete')">
<img src="/assets/desktop/messaging/delete.png" alt="Delete"/>
</button> -->
<button class="delete-button" v-if="isMe" :title="$t('@.delete')" @click="del">
<img src="/assets/desktop/remove.png" alt="Delete"/>
</button>
<div class="content" v-if="!message.isDeleted">
<misskey-flavored-markdown class="text" v-if="message.text" ref="text" :text="message.text" :i="$store.state.i"/>
<mfm class="text" v-if="message.text" ref="text" :text="message.text" :i="$store.state.i"/>
<div class="file" v-if="message.file">
<a :href="message.file.url" target="_blank" :title="message.file.name">
<img v-if="message.file.type.split('/')[0] == 'image'" :src="message.file.url" :alt="message.file.name"/>
<img v-if="message.file.type.split('/')[0] == 'image'" :src="message.file.url" :alt="message.file.name"
:style="{ backgroundColor: message.file.properties.avgColor && message.file.properties.avgColor.length == 3 ? `rgb(${message.file.properties.avgColor.join(',')})` : 'transparent' }"/>
<p v-else>{{ message.file.name }}</p>
</a>
</div>
</div>
<div class="content" v-if="message.isDeleted">
<div class="content" v-else>
<p class="is-deleted">{{ $t('deleted') }}</p>
</div>
</div>
@ -51,12 +52,19 @@ export default Vue.extend({
if (this.message.text) {
const ast = parse(this.message.text);
return unique(ast
.filter(t => ((t.name == 'url' || t.name == 'link') && t.props.url && !t.silent))
.map(t => t.props.url));
.filter(t => ((t.node.type == 'url' || t.node.type == 'link') && t.node.props.url && !t.node.props.silent))
.map(t => t.node.props.url));
} else {
return null;
}
}
},
methods: {
del() {
this.$root.api('messaging/messages/delete', {
messageId: this.message.id
});
}
}
});
</script>
@ -150,7 +158,6 @@ export default Vue.extend({
> a
display block
max-width 100%
max-height 512px
border-radius 16px
overflow hidden
text-decoration none
@ -165,7 +172,8 @@ export default Vue.extend({
display block
margin 0
width 100%
height 100%
max-height 512px
object-fit contain
> p
padding 30px

View File

@ -79,6 +79,7 @@ export default Vue.extend({
this.connection.on('message', this.onMessage);
this.connection.on('read', this.onRead);
this.connection.on('deleted', this.onDeleted);
if (this.isNaked) {
window.addEventListener('scroll', this.onScroll, { passive: true });
@ -196,12 +197,19 @@ export default Vue.extend({
onRead(ids) {
if (!Array.isArray(ids)) ids = [ids];
ids.forEach(id => {
for (const id of ids) {
if (this.messages.some(x => x.id == id)) {
const exist = this.messages.map(x => x.id).indexOf(id);
this.messages[exist].isRead = true;
}
});
}
},
onDeleted(id) {
const msg = this.messages.find(m => m.id === id);
if (msg) {
this.messages = this.messages.filter(m => m.id !== msg.id);
}
},
isBottom() {
@ -248,13 +256,13 @@ export default Vue.extend({
onVisibilitychange() {
if (document.hidden) return;
this.messages.forEach(message => {
for (const message of this.messages) {
if (message.userId !== this.$store.state.i.id && !message.isRead) {
this.connection.send('read', {
id: message.id
});
}
});
}
}
}
});

View File

@ -14,7 +14,7 @@
tabindex="-1"
>
<mk-avatar class="avatar" :user="user"/>
<span class="name">{{ user | userName }}</span>
<span class="name"><mk-user-name :user="user"/></span>
<span class="username">@{{ user | acct }}</span>
</li>
</ol>
@ -33,7 +33,7 @@
<div>
<mk-avatar class="avatar" :user="isMe(message) ? message.recipient : message.user"/>
<header>
<span class="name">{{ isMe(message) ? message.recipient : message.user | userName }}</span>
<span class="name"><mk-user-name :user="isMe(message) ? message.recipient : message.user"/></span>
<span class="username">@{{ isMe(message) ? message.recipient : message.user | acct }}</span>
<mk-time :time="message.createdAt"/>
</header>
@ -103,10 +103,10 @@ export default Vue.extend({
this.messages.unshift(message);
},
onRead(ids) {
ids.forEach(id => {
for (const id of ids) {
const found = this.messages.find(m => m.id == id);
if (found) found.isRead = true;
});
}
},
search() {
if (this.q == '') {

View File

@ -1,38 +1,19 @@
import Vue, { VNode } from 'vue';
import { length } from 'stringz';
import { Node } from '../../../../../mfm/parser';
import { MfmForest } from '../../../../../mfm/parser';
import parse from '../../../../../mfm/parse';
import MkUrl from './url.vue';
import { concat } from '../../../../../prelude/array';
import MkMention from './mention.vue';
import { concat, sum } from '../../../../../prelude/array';
import MkFormula from './formula.vue';
import MkCode from './code.vue';
import MkGoogle from './google.vue';
import { toUnicode } from 'punycode';
import syntaxHighlight from '../../../../../mfm/syntax-highlight';
import { host } from '../../../config';
import { preorderF, countNodesF } from '../../../../../prelude/tree';
function getTextCount(tokens: Node[]): number {
let count = 0;
const extract = (tokens: Node[]) => {
tokens.filter(x => x.name === 'text').forEach(x => {
count += length(x.props.text);
});
tokens.filter(x => x.children).forEach(x => {
extract(x.children);
});
};
extract(tokens);
return count;
}
function getChildrenCount(tokens: Node[]): number {
let count = 0;
const extract = (tokens: Node[]) => {
tokens.filter(x => x.children).forEach(x => {
count++;
extract(x.children);
});
};
extract(tokens);
return count;
function sumTextsLength(ts: MfmForest): number {
const textNodes = preorderF(ts).filter(n => n.type === 'text');
return sum(textNodes.map(x => length(x.props.text)));
}
export default Vue.component('misskey-flavored-markdown', {
@ -41,10 +22,6 @@ export default Vue.component('misskey-flavored-markdown', {
type: String,
required: true
},
ast: {
type: [],
required: false
},
shouldBreak: {
type: Boolean,
default: true
@ -69,22 +46,15 @@ export default Vue.component('misskey-flavored-markdown', {
render(createElement) {
if (this.text == null || this.text == '') return;
let ast: Node[];
if (this.ast == null) {
// Parse text to ast
ast = parse(this.text, this.plainText);
} else {
ast = this.ast as Node[];
}
const ast = parse(this.text, this.plainText);
let bigCount = 0;
let motionCount = 0;
const genEl = (ast: Node[]) => concat(ast.map((token): VNode[] => {
switch (token.name) {
const genEl = (ast: MfmForest) => concat(ast.map((token): VNode[] => {
switch (token.node.type) {
case 'text': {
const text = token.props.text.replace(/(\r\n|\n|\r)/g, '\n');
const text = token.node.props.text.replace(/(\r\n|\n|\r)/g, '\n');
if (this.shouldBreak) {
const x = text.split('\n')
@ -114,7 +84,7 @@ export default Vue.component('misskey-flavored-markdown', {
case 'big': {
bigCount++;
const isLong = getTextCount(token.children) > 10 || getChildrenCount(token.children) > 5;
const isLong = sumTextsLength(token.children) > 10 || countNodesF(token.children) > 5;
const isMany = bigCount > 3;
return (createElement as any)('strong', {
attrs: {
@ -141,7 +111,7 @@ export default Vue.component('misskey-flavored-markdown', {
case 'motion': {
motionCount++;
const isLong = getTextCount(token.children) > 10 || getChildrenCount(token.children) > 5;
const isLong = sumTextsLength(token.children) > 10 || countNodesF(token.children) > 5;
const isMany = motionCount > 3;
return (createElement as any)('span', {
attrs: {
@ -154,13 +124,34 @@ export default Vue.component('misskey-flavored-markdown', {
}, genEl(token.children));
}
case 'spin': {
motionCount++;
const isLong = sumTextsLength(token.children) > 5 || countNodesF(token.children) > 3;
const isMany = motionCount > 3;
return (createElement as any)('span', {
attrs: {
style: (this.$store.state.settings.disableAnimatedMfm || isLong || isMany) ? 'display: inline-block;' : 'display: inline-block; animation: spin 1.5s linear infinite;'
},
}, genEl(token.children));
}
case 'flip': {
return (createElement as any)('span', {
attrs: {
style: 'display: inline-block; transform: scaleX(-1);'
},
}, genEl(token.children));
}
case 'url': {
return [createElement(MkUrl, {
key: Math.random(),
props: {
url: token.props.url,
target: '_blank',
style: 'color:var(--mfmLink);'
url: token.node.props.url,
target: '_blank'
},
attrs: {
style: 'color:var(--mfmUrl);'
}
})];
}
@ -169,58 +160,51 @@ export default Vue.component('misskey-flavored-markdown', {
return [createElement('a', {
attrs: {
class: 'link',
href: token.props.url,
href: token.node.props.url,
target: '_blank',
title: token.props.url,
title: token.node.props.url,
style: 'color:var(--mfmLink);'
}
}, genEl(token.children))];
}
case 'mention': {
const host = token.props.host == null && this.author && this.author.host != null ? this.author.host : token.props.host;
const canonical = host != null ? `@${token.props.username}@${toUnicode(host)}` : `@${token.props.username}`;
return (createElement as any)('router-link', {
return [createElement(MkMention, {
key: Math.random(),
attrs: {
to: `/${canonical}`,
// TODO
//dataIsMe: (this as any).i && getAcct((this as any).i) == getAcct(token),
style: 'color:var(--mfmMention);'
},
directives: [{
name: 'user-preview',
value: canonical
}]
}, canonical);
props: {
host: (token.node.props.host == null && this.author && this.author.host != null ? this.author.host : token.node.props.host) || host,
username: token.node.props.username
}
})];
}
case 'hashtag': {
return [createElement('router-link', {
key: Math.random(),
attrs: {
to: `/tags/${encodeURIComponent(token.props.hashtag)}`,
to: `/tags/${encodeURIComponent(token.node.props.hashtag)}`,
style: 'color:var(--mfmHashtag);'
}
}, `#${token.props.hashtag}`)];
}, `#${token.node.props.hashtag}`)];
}
case 'blockCode': {
return [createElement('pre', {
class: 'code'
}, [
createElement('code', {
domProps: {
innerHTML: syntaxHighlight(token.props.code)
}
})
])];
return [createElement(MkCode, {
key: Math.random(),
props: {
code: token.node.props.code,
lang: token.node.props.lang,
}
})];
}
case 'inlineCode': {
return [createElement('code', {
domProps: {
innerHTML: syntaxHighlight(token.props.code)
return [createElement(MkCode, {
key: Math.random(),
props: {
code: token.node.props.code,
lang: token.node.props.lang,
inline: true
}
})];
}
@ -254,8 +238,8 @@ export default Vue.component('misskey-flavored-markdown', {
return [createElement('mk-emoji', {
key: Math.random(),
attrs: {
emoji: token.props.emoji,
name: token.props.name
emoji: token.node.props.emoji,
name: token.node.props.name
},
props: {
customEmojis: this.customEmojis || customEmojis,
@ -264,12 +248,24 @@ export default Vue.component('misskey-flavored-markdown', {
})];
}
case 'math': {
case 'mathInline': {
//const MkFormula = () => import('./formula.vue').then(m => m.default);
return [createElement(MkFormula, {
key: Math.random(),
props: {
formula: token.props.formula
formula: token.node.props.formula,
block: false
}
})];
}
case 'mathBlock': {
//const MkFormula = () => import('./formula.vue').then(m => m.default);
return [createElement(MkFormula, {
key: Math.random(),
props: {
formula: token.node.props.formula,
block: true
}
})];
}
@ -279,13 +275,13 @@ export default Vue.component('misskey-flavored-markdown', {
return [createElement(MkGoogle, {
key: Math.random(),
props: {
q: token.props.query
q: token.node.props.query
}
})];
}
default: {
console.log('unknown ast type:', token.name);
console.log('unknown ast type:', token.node.type);
return [];
}

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