Compare commits

..

1843 Commits
3.0.1 ... 6.0.0

Author SHA1 Message Date
syuilo
1fc9206c6d 6.0.0 2018-08-16 08:02:50 +09:00
syuilo
a8fb0d477f Merge pull request #2251 from syuilo/provide-thumbnails
Provide drive file thumbnails
2018-08-16 07:59:16 +09:00
syuilo
0c372b68d4 Merge pull request #2252 from syuilo/greenkeeper/minio-7.0.0
Update minio to the latest version 🚀
2018-08-16 07:58:56 +09:00
syuilo
e7d9018944 ✌️ 2018-08-16 07:56:53 +09:00
syuilo
ce16884587 Update example.yml 2018-08-16 07:31:58 +09:00
greenkeeper[bot]
3345733d00 fix(package): update minio to version 7.0.0 2018-08-15 22:26:17 +00:00
greenkeeper[bot]
f91cccb6b1 fix(package): update @types/webpack to version 4.4.10 2018-08-16 07:24:19 +09:00
syuilo
6183262037 wip 2018-08-16 07:17:04 +09:00
syuilo
1c7a194950 wip 2018-08-16 06:27:35 +09:00
greenkeeper[bot]
286e15b967 fix(package): update @types/node to version 10.7.1 2018-08-16 06:08:15 +09:00
syuilo
744d366874 Merge pull request #2248 from syuilo/new-kao
Add new kao
2018-08-16 05:17:56 +09:00
Aya Morisawa
afa62d3d44 Add new kao 2018-08-16 05:17:00 +09:00
Aya Morisawa
270c7997c6 Remove trailing comma 2018-08-16 05:15:51 +09:00
Aya Morisawa
fa95641f88 Use Array.prototype.length to avoid magic number 2018-08-16 05:15:06 +09:00
syuilo
aa9fe38c25 Merge pull request #2247 from syuilo/clickable-reaction
Make reactions in reactions-viewer clickable
2018-08-16 05:00:13 +09:00
Aya Morisawa
0d33cbbbbb Make reactions in reactions-viewer clickable 2018-08-16 04:57:09 +09:00
syuilo
bf077da72f Trim code 2018-08-16 04:42:44 +09:00
syuilo
d8f8e19d06 Merge pull request #2246 from mei23/mei-0816-player
動画プレーヤーの修正
2018-08-16 03:17:41 +09:00
mei23
3c3d3e4c0c Fix url-preview.vue 2018-08-16 03:06:59 +09:00
syuilo
0efbeb36df 5.25.0 2018-08-16 01:29:11 +09:00
syuilo
73c396cb39 2018-08-16 01:25:35 +09:00
syuilo
8e75f8a125 Fix 2018-08-16 01:20:52 +09:00
syuilo
e8a7e95c65 Update summaly 2018-08-16 01:17:01 +09:00
syuilo
70a6889fe5 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-16 00:59:54 +09:00
syuilo
6aff7375f6 Update backers 2018-08-16 00:59:48 +09:00
Aya Morisawa
d2ef95a8c3 Make text unclickable 2018-08-16 00:49:40 +09:00
syuilo
1ae51df74a Update .travis.yml 2018-08-16 00:42:20 +09:00
syuilo
3098c6a915 Merge pull request #2242 from syuilo/l10n_master
New Crowdin translations
2018-08-16 00:16:31 +09:00
Aya Morisawa
ab3f8fd10c Enhance log message 2018-08-16 00:13:24 +09:00
Aya Morisawa
4bdef3720c Update setup.en.md 2018-08-15 23:55:30 +09:00
syuilo
c02cecc9e5 New translations ja.yml (English) 2018-08-15 23:30:49 +09:00
syuilo
08b431723a Refactoring 2018-08-15 20:27:49 +09:00
syuilo
83dcfec053 Improve MFM 2018-08-15 20:27:36 +09:00
syuilo
69ac7b739f Improve MFM 2018-08-15 20:23:50 +09:00
syuilo
9ccf9a2496 Fix #2229 2018-08-15 20:20:46 +09:00
syuilo
78563ef9a0 Fix #2228 2018-08-15 20:09:56 +09:00
syuilo
019d157b92 Merge pull request #2198 from syuilo/l10n_master
New Crowdin translations
2018-08-15 19:48:03 +09:00
syuilo
14de35e3f5 Merge pull request #2234 from acid-chicken/patch-player
Update player whitelist
2018-08-15 19:04:31 +09:00
Acid Chicken (硫酸鶏)
a860479e88 Update url-preview.vue 2018-08-15 19:00:44 +09:00
Acid Chicken (硫酸鶏)
b351b3fae5 Update url-preview.vue 2018-08-15 18:49:05 +09:00
syuilo
89918a9f79 New translations ja.yml (English) 2018-08-15 17:08:24 +09:00
syuilo
cadd020915 New translations ja.yml (English) 2018-08-15 16:51:16 +09:00
syuilo
e80933b8ae New translations ja.yml (English) 2018-08-15 16:40:52 +09:00
syuilo
4c0832884f New translations ja.yml (English) 2018-08-15 16:30:48 +09:00
syuilo
e4ca940979 New translations ja.yml (English) 2018-08-15 16:20:51 +09:00
syuilo
3fd9be3967 New translations ja.yml (English) 2018-08-15 16:13:11 +09:00
syuilo
79ec7aba1d New translations ja.yml (English) 2018-08-15 13:40:56 +09:00
syuilo
42b1f7eddd New translations ja.yml (English) 2018-08-15 11:30:56 +09:00
syuilo
889a73caa4 New translations ja.yml (Catalan) 2018-08-15 11:11:41 +09:00
syuilo
c34a89e962 New translations ja.yml (Portuguese) 2018-08-15 11:11:39 +09:00
syuilo
2b4bf681e5 New translations ja.yml (Korean) 2018-08-15 11:11:36 +09:00
syuilo
d1d59e3557 New translations ja.yml (Polish) 2018-08-15 11:11:34 +09:00
syuilo
668c21830c New translations ja.yml (Chinese Simplified) 2018-08-15 11:11:31 +09:00
syuilo
7c37ed07f8 New translations ja.yml (Italian) 2018-08-15 11:11:29 +09:00
syuilo
a135d8fd59 New translations ja.yml (Russian) 2018-08-15 11:11:27 +09:00
syuilo
0db9aae162 New translations ja.yml (English) 2018-08-15 11:11:25 +09:00
syuilo
1875c362af New translations ja.yml (Spanish) 2018-08-15 11:11:23 +09:00
syuilo
9b36dd9565 New translations ja.yml (German) 2018-08-15 11:11:21 +09:00
syuilo
69452a27de New translations ja.yml (French) 2018-08-15 11:11:18 +09:00
syuilo
6aa5c5895f Merge pull request #2219 from syuilo/patch-2215
Resolve #2215
2018-08-15 11:07:07 +09:00
syuilo
12f20c67b1 New translations ja.yml (English) 2018-08-15 09:21:05 +09:00
syuilo
66b8e5647d New translations ja.yml (English) 2018-08-15 09:11:16 +09:00
syuilo
188a23fec7 New translations ja.yml (English) 2018-08-15 09:01:12 +09:00
syuilo
b408b45000 New translations ja.yml (English) 2018-08-15 08:55:29 +09:00
Aya Morisawa
c53cb94250 Resolve #2215 2018-08-15 06:50:49 +09:00
syuilo
ba2eeabe38 Merge pull request #2216 from syuilo/patch-2201
Resolve #2201
2018-08-15 04:46:52 +09:00
Aya Morisawa
259fac224e Resolve #2201 2018-08-15 04:44:39 +09:00
syuilo
aad5440c9e New translations ja.yml (English) 2018-08-15 04:41:14 +09:00
syuilo
5c40f0010f New translations ja.yml (English) 2018-08-15 04:31:06 +09:00
syuilo
fb1d181424 New translations ja.yml (English) 2018-08-15 04:21:29 +09:00
syuilo
12cbd8ef5b New translations ja.yml (English) 2018-08-15 04:11:22 +09:00
syuilo
cfc4385d1f New translations ja.yml (English) 2018-08-15 04:00:59 +09:00
syuilo
880ef024d0 New translations ja.yml (English) 2018-08-15 03:51:09 +09:00
syuilo
c6c6edbc0a New translations ja.yml (English) 2018-08-15 03:41:21 +09:00
syuilo
83ba951bf9 5.24.1 2018-08-15 02:38:47 +09:00
syuilo
9c22b1a68a Fix 2018-08-15 02:35:25 +09:00
syuilo
cd6a1d3446 5.24.0 2018-08-15 02:14:57 +09:00
syuilo
4a9fc0c8ed Better query 2018-08-15 02:08:18 +09:00
syuilo
fada899b30 Merge pull request #2210 from mei23/mei-0814-ap3
ActivityPub Followers/Following/Outbox の実装
2018-08-15 02:04:08 +09:00
syuilo
22b099fa8a Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-15 02:01:52 +09:00
syuilo
e0bc0d2830 Add new kao 2018-08-15 02:01:49 +09:00
greenkeeper[bot]
90768d30aa fix(package): update seedrandom to version 2.4.4 2018-08-15 01:53:48 +09:00
greenkeeper[bot]
177c549493 fix(package): update url-loader to version 1.1.0 2018-08-15 01:53:40 +09:00
syuilo
5e1ee68189 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-15 01:51:46 +09:00
syuilo
175f6303bc Update theme color 2018-08-15 01:51:43 +09:00
syuilo
cf9f2a5562 Merge pull request #2211 from skid9000/patch-2
Update doc for twitter integration.
2018-08-14 22:55:02 +09:00
Skid
f04526baca Update example.yml 2018-08-14 15:45:36 +02:00
Skid
f085ecedb3 Update setup.en.md 2018-08-14 15:41:55 +02:00
mei23
0986301788 Implement ActivityPub Followers/Following/Outbox 2018-08-14 20:13:32 +09:00
greenkeeper[bot]
fe418d8d9a fix(package): update @types/ws to version 6.0.0 2018-08-14 17:07:35 +09:00
greenkeeper[bot]
6009be34dc fix(package): update @types/node to version 10.7.0 2018-08-14 17:07:23 +09:00
greenkeeper[bot]
01a0a54a2c fix(package): update @types/mongodb to version 3.1.4 2018-08-14 17:07:15 +09:00
greenkeeper[bot]
cfcaf77e21 fix(package): update mongodb to version 3.1.3 2018-08-14 17:07:07 +09:00
greenkeeper[bot]
3b37bdc0b9 fix(package): update vue-style-loader to version 4.1.2 2018-08-14 17:06:54 +09:00
syuilo
ec07112f94 Fix bug 2018-08-14 16:53:57 +09:00
syuilo
464faf2673 Merge pull request #2200 from syuilo/use-deque
Use deque instead of linked list
2018-08-14 08:22:23 +09:00
Aya Morisawa
bde20a1a65 Use deque instead of linked list 2018-08-14 08:21:25 +09:00
syuilo
86c7276da9 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-14 08:16:24 +09:00
syuilo
fec988bb79 Provide isFirstNote flag 2018-08-14 08:16:21 +09:00
syuilo
0702d0974b Merge pull request #2199 from syuilo/patch-2176
Resolve #2176
2018-08-14 07:51:45 +09:00
Aya Morisawa
f443d36dbb Resolve #2176 2018-08-14 07:49:59 +09:00
syuilo
5477f0a865 New translations ja.yml (English) 2018-08-14 05:42:07 +09:00
Aya Morisawa
dc02168f33 Merge #2182 2018-08-14 05:25:02 +09:00
Aya Morisawa
cc5c32b4d2 Clean up 2018-08-14 05:24:51 +09:00
syuilo
a35680a838 New translations ja.yml (Catalan) 2018-08-14 04:52:05 +09:00
syuilo
770cba73a6 New translations ja.yml (Portuguese) 2018-08-14 04:52:03 +09:00
syuilo
401fc758fd New translations ja.yml (Korean) 2018-08-14 04:52:01 +09:00
syuilo
e8503e6351 New translations ja.yml (Polish) 2018-08-14 04:51:58 +09:00
syuilo
de23753409 New translations ja.yml (Chinese Simplified) 2018-08-14 04:51:56 +09:00
syuilo
4857d86cdd New translations ja.yml (Italian) 2018-08-14 04:51:54 +09:00
syuilo
dc4a072678 New translations ja.yml (Russian) 2018-08-14 04:51:52 +09:00
syuilo
c6ee5ccd88 New translations ja.yml (English) 2018-08-14 04:51:50 +09:00
syuilo
68b630cb37 New translations ja.yml (Spanish) 2018-08-14 04:51:48 +09:00
syuilo
94c0238d3a New translations ja.yml (German) 2018-08-14 04:51:45 +09:00
syuilo
dbea387433 New translations ja.yml (French) 2018-08-14 04:51:43 +09:00
syuilo
d35f62d0e4 Merge pull request #2195 from syuilo/instance-management-system
管理画面
2018-08-14 04:42:16 +09:00
Aya Morisawa
09b8e81a77 wip 2018-08-14 04:39:37 +09:00
Aya Morisawa
3b38979a34 wip 2018-08-14 04:30:42 +09:00
greenkeeper[bot]
0fd8c86c24 fix(package): update mongodb to version 3.1.2 2018-08-14 03:38:01 +09:00
syuilo
58d0ed1a2e 5.23.2 2018-08-14 02:36:06 +09:00
syuilo
8939452036 Merge pull request #2192 from acid-chicken/acid-chicken-patch-3
Re: Re: Fix #2177
2018-08-14 02:31:00 +09:00
Acid Chicken (硫酸鶏)
a2931d6f7e Update ui.header.vue 2018-08-14 02:26:58 +09:00
Acid Chicken (硫酸鶏)
38b75ad977 Update avatar.vue 2018-08-14 02:10:06 +09:00
syuilo
dc4f585954 Merge pull request #2191 from syuilo/greenkeeper/parse5-5.1.0
Update parse5 to the latest version 🚀
2018-08-14 01:58:01 +09:00
syuilo
1fbe5365f7 Update example.yml 2018-08-14 01:57:52 +09:00
greenkeeper[bot]
04257db938 fix(package): update parse5 to version 5.1.0 2018-08-13 16:54:58 +00:00
Aya Morisawa
ba08d1aa53 wip 2018-08-14 01:48:11 +09:00
syuilo
c29cb5bfb9 Update package.json 2018-08-14 01:38:29 +09:00
Aya Morisawa
fb1e2efbdd wip 2018-08-14 01:37:23 +09:00
syuilo
131a454e7c Merge pull request #2190 from mei23/mei-apsendvis2
ActivityPub送信時の公開範囲の実装
2018-08-14 01:36:56 +09:00
Aya Morisawa
92e5cff285 wip 2018-08-14 01:35:36 +09:00
syuilo
b24e32e14e 5.23.0 2018-08-14 01:32:49 +09:00
syuilo
943805bdcd Merge pull request #2180 from syuilo/l10n_master
New Crowdin translations
2018-08-14 01:32:11 +09:00
Aya Morisawa
ba9340a26b wip 2018-08-14 01:24:46 +09:00
Aya Morisawa
00119328f2 wip 2018-08-14 01:19:05 +09:00
syuilo
a73c65da07 New translations ja.yml (French) 2018-08-14 01:11:32 +09:00
syuilo
9021bb5694 wip 2018-08-14 01:05:58 +09:00
syuilo
a3cf63823f Merge pull request #2189 from syuilo/patch-1
Hide unimplemented button
2018-08-13 23:53:15 +09:00
Acid Chicken (硫酸鶏)
f15878cc6f Update avatar.vue
refs: https://github.com/syuilo/misskey/pull/2182#discussion_r209609541
2018-08-13 22:49:32 +09:00
Aya Morisawa
33469ff87a Hide Unimplemented button 2018-08-13 22:08:59 +09:00
syuilo
23b0723168 Merge pull request #2188 from Tosuke/patch1
Create apps without authentication(#2025)
2018-08-13 12:38:02 +09:00
Tosuke
fda1ab3e05 Create apps without authentication(#2025) 2018-08-13 12:30:32 +09:00
syuilo
490c05a869 New translations ja.yml (English) 2018-08-13 06:32:08 +09:00
syuilo
f0137daebe New translations ja.yml (English) 2018-08-13 04:51:11 +09:00
syuilo
b9fc0e6d71 Merge pull request #2183 from acid-chicken/patch-1
Make player height taller
2018-08-13 04:42:49 +09:00
Acid Chicken (硫酸鶏)
979efee412 Update url-preview.vue 2018-08-13 04:41:12 +09:00
mei23
f079041827 ActivityPub visibility on send 2018-08-13 03:49:17 +09:00
Acid Chicken (硫酸鶏)
4edd9efc0b Update avatar.vue
refs: https://github.com/syuilo/misskey/pull/2182#discussion_r209464350
2018-08-13 03:47:56 +09:00
Acid Chicken (硫酸鶏)
2913c7ccfb Update avatar.vue 2018-08-13 03:42:12 +09:00
Acid Chicken (硫酸鶏)
e1f460f90f Update user.header.vue 2018-08-13 03:40:50 +09:00
Acid Chicken (硫酸鶏)
70f927ea43 Update avatar.vue 2018-08-13 03:39:32 +09:00
Acid Chicken (硫酸鶏)
80d343bb0b Update avatar.vue 2018-08-13 03:36:42 +09:00
syuilo
9e41fddea3 Merge pull request #2130 from acid-chicken/patch-player
WIP: Add player
2018-08-13 03:25:22 +09:00
Acid Chicken (硫酸鶏)
8384efc8c7 Create whitelist 2018-08-13 03:23:36 +09:00
syuilo
7797c86581 Merge pull request #2181 from acid-chicken/patch-1
Re: Fix #2177
2018-08-13 01:59:11 +09:00
Acid Chicken (硫酸鶏)
4da8cc478f Update ui.header.vue 2018-08-13 01:58:15 +09:00
syuilo
285deeec52 New translations ja.yml (Catalan) 2018-08-13 01:31:20 +09:00
syuilo
2916e49422 New translations ja.yml (Portuguese) 2018-08-13 01:31:18 +09:00
syuilo
41e5b9134b New translations ja.yml (Korean) 2018-08-13 01:31:16 +09:00
syuilo
d0d853dcb2 New translations ja.yml (Polish) 2018-08-13 01:31:13 +09:00
syuilo
be46c7e4c5 New translations ja.yml (Chinese Simplified) 2018-08-13 01:31:11 +09:00
syuilo
8e0f41d608 New translations ja.yml (Italian) 2018-08-13 01:31:09 +09:00
syuilo
a7b438072c New translations ja.yml (Russian) 2018-08-13 01:31:06 +09:00
syuilo
99958e2fce New translations ja.yml (English) 2018-08-13 01:31:04 +09:00
syuilo
b82843d359 New translations ja.yml (Spanish) 2018-08-13 01:31:02 +09:00
syuilo
4dfc2dfa89 New translations ja.yml (German) 2018-08-13 01:30:59 +09:00
syuilo
50c945607f New translations ja.yml (French) 2018-08-13 01:30:57 +09:00
syuilo
01f28b21dd #1211 2018-08-13 01:25:50 +09:00
syuilo
2cb39a8882 Fix #2097 2018-08-13 00:59:36 +09:00
Aya Morisawa
6ddb6bc160 Add .vsls.json 2018-08-13 00:24:45 +09:00
Acid Chicken (硫酸鶏)
92befbb4cc Fix #2177
Resolves #2177
2018-08-13 00:18:02 +09:00
syuilo
ab701bb93e Merge pull request #2159 from syuilo/l10n_master
New Crowdin translations
2018-08-12 23:53:22 +09:00
greenkeeper[bot]
7f9a88fd1c fix(package): update vue-js-modal to version 1.3.17 2018-08-12 23:13:52 +09:00
mei23
c5073b33ef Fix ActivityPub followers/specified detection 2018-08-12 20:37:35 +09:00
greenkeeper[bot]
765b922a8b fix(package): update ts-node to version 7.0.1 2018-08-12 16:22:43 +09:00
syuilo
9b7d6274fa New translations ja.yml (French) 2018-08-12 07:40:57 +09:00
syuilo
26b384aef1 New translations ja.yml (French) 2018-08-12 07:30:58 +09:00
syuilo
0b1e5e3e08 New translations ja.yml (French) 2018-08-12 07:20:58 +09:00
syuilo
5b7506756e New translations ja.yml (French) 2018-08-12 07:11:02 +09:00
Aya Morisawa
1f28a0dfeb Improve nya 2018-08-12 05:20:31 +09:00
mei23
f56ec82f6b Fix ActivityPub attachment url 2018-08-12 04:42:14 +09:00
syuilo
8ccbabf5ca 5.22.1 2018-08-12 03:09:45 +09:00
syuilo
7c763600b7 Fix #2162 2018-08-12 03:09:22 +09:00
syuilo
499491003b New translations ja.yml (Polish) 2018-08-12 00:31:30 +09:00
Aya Morisawa
3a77d871d5 Stop supporting docker 2018-08-12 00:30:58 +09:00
Aya Morisawa
4ee6d0b549 Refactoring (#2160) 2018-08-12 00:01:07 +09:00
syuilo
64aa733b16 New translations ja.yml (Polish) 2018-08-11 22:51:08 +09:00
syuilo
c8c4ec6ad4 5.22.0 2018-08-11 21:35:22 +09:00
syuilo
c9ee737078 Fix bug 2018-08-11 21:34:12 +09:00
syuilo
ebc2cca0b4 New Crowdin translations (#2158) 2018-08-11 21:29:07 +09:00
syuilo
fc94df06eb New Crowdin translations (#2157) 2018-08-11 21:13:38 +09:00
syuilo
190a03103e New translations ja.yml (Catalan) 2018-08-11 21:11:31 +09:00
syuilo
0d75ae9d9a New translations ja.yml (Portuguese) 2018-08-11 21:11:29 +09:00
syuilo
3129f8f073 New translations ja.yml (Korean) 2018-08-11 21:11:27 +09:00
syuilo
7f751d3f20 New translations ja.yml (Polish) 2018-08-11 21:11:25 +09:00
syuilo
0b5b834f8b New translations ja.yml (Chinese Simplified) 2018-08-11 21:11:23 +09:00
syuilo
0f649f7d37 New translations ja.yml (Italian) 2018-08-11 21:11:21 +09:00
syuilo
a1b100d412 New translations ja.yml (Russian) 2018-08-11 21:11:19 +09:00
syuilo
dd4ee1627e New translations ja.yml (English) 2018-08-11 21:11:16 +09:00
syuilo
1da0fdcf78 New translations ja.yml (Spanish) 2018-08-11 21:11:14 +09:00
syuilo
800eec73b8 New translations ja.yml (German) 2018-08-11 21:11:12 +09:00
syuilo
166cb5e179 New translations ja.yml (French) 2018-08-11 21:11:10 +09:00
syuilo
4a5e145048 Add new reaction: rip 😇 2018-08-11 21:08:34 +09:00
syuilo
be68f42220 Implement messaging/messages/read 2018-08-11 21:01:39 +09:00
syuilo
7942aa677f Update doc 2018-08-11 21:01:26 +09:00
syuilo
2fcf9288a5 Refactoring 2018-08-11 20:53:03 +09:00
MeiMei
9bc17974f2 未利用時はTwitterでログインを表示しない (#2156) 2018-08-11 20:20:35 +09:00
Acid Chicken (硫酸鶏)
19c872a1f3 Update url-preview.vue 2018-08-11 19:56:53 +09:00
Acid Chicken (硫酸鶏)
9252c59d90 Merge branch 'master' into patch-player 2018-08-11 19:56:05 +09:00
MeiMei
a8f142096c Cache failed url-preview (apply to proxy/client) (#2154) 2018-08-11 18:04:59 +09:00
syuilo
3c90abfb96 5.21.0 2018-08-11 12:24:16 +09:00
greenkeeper[bot]
12037fab9b fix(package): update @types/node to version 10.5.8 (#2152) 2018-08-11 12:21:42 +09:00
greenkeeper[bot]
73cc425093 fix(package): update request to version 2.88.0 (#2151) 2018-08-11 12:21:30 +09:00
syuilo
5c97da935d New Crowdin translations (#2150) 2018-08-11 12:21:18 +09:00
syuilo
0b154ac7ba Merge branch 'master' into l10n_master 2018-08-11 12:21:06 +09:00
syuilo
d4eb0c8df9 New translations ja.yml (Spanish) 2018-08-11 01:42:11 +09:00
syuilo
5ba6f20701 New translations ja.yml (Spanish) 2018-08-11 01:31:44 +09:00
syuilo
695a082582 New translations ja.yml (Spanish) 2018-08-11 01:21:58 +09:00
syuilo
a52c588f49 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-11 00:49:31 +09:00
syuilo
fa469725c7 Add doc 2018-08-11 00:49:29 +09:00
greenkeeper[bot]
a1f0cb1bc7 fix(package): update summaly to version 2.1.2 (#2149) 2018-08-11 00:44:26 +09:00
greenkeeper[bot]
fbbd33ded2 fix(package): update file-type to version 9.0.0 2018-08-10 20:44:03 +09:00
greenkeeper[bot]
9658e2b3fb fix(package): update element-ui to version 2.4.6 2018-08-10 20:43:56 +09:00
MeiMei
3d10b19727 Fix Powered by <b>Misskey</b>. (#2140) 2018-08-10 20:11:54 +09:00
syuilo
ab7725ff69 良い感じにした 2018-08-10 14:33:34 +09:00
syuilo
6372451d17 Fix bug 2018-08-10 14:15:12 +09:00
syuilo
2c11cc3f0a 5.20.1 2018-08-10 01:04:40 +09:00
greenkeeper[bot]
7f65f896f9 fix(package): update summaly to version 2.1.1 (#2135) 2018-08-10 01:02:20 +09:00
syuilo
def823ceea Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-10 00:51:43 +09:00
syuilo
454d294cf3 Fix #2133 など 2018-08-10 00:51:40 +09:00
greenkeeper[bot]
1affdbdbab fix(package): update node-sass to version 4.9.3 (#2131) 2018-08-10 00:25:25 +09:00
greenkeeper[bot]
52286f4be8 fix(package): update summaly to version 2.1.0 (#2132) 2018-08-10 00:25:16 +09:00
Acid Chicken (硫酸鶏)
1b9f293959 Update url-preview.vue
多分もう折り返す必要はないのだわ
2018-08-09 23:34:54 +09:00
Acid Chicken (硫酸鶏)
7289d5b401 Add player 2018-08-09 16:44:34 +09:00
syuilo
01d3f5f09d 5.20.0 2018-08-09 04:35:17 +09:00
syuilo
4333ff00a0 New Crowdin translations (#2116) 2018-08-09 04:34:21 +09:00
syuilo
25b88afbb7 Merge pull request #2127 from acid-chicken/acid-chicken-patch-3
Fix bug
2018-08-09 04:22:36 +09:00
Acid Chicken (硫酸鶏)
6a92c19227 Update url-preview.vue 2018-08-09 04:21:25 +09:00
syuilo
5bdbf98f8c New translations ja.yml (English) 2018-08-09 04:21:24 +09:00
syuilo
56b69b5fb7 Merge pull request #2126 from acid-chicken/acid-chicken-patch-2
ニコニコ動画
2018-08-09 04:07:33 +09:00
Acid Chicken (硫酸鶏)
ebf0479ecc Update url-preview.vue 2018-08-09 04:05:28 +09:00
syuilo
196c55edbc Merge pull request #2125 from acid-chicken/acid-chicken-patch-2
Spotify
2018-08-09 03:32:55 +09:00
Acid Chicken (硫酸鶏)
e724c1e7e8 Update url-preview.vue 2018-08-09 03:32:09 +09:00
syuilo
4e915e96a5 New translations ja.yml (French) 2018-08-09 02:52:24 +09:00
syuilo
e148f6ce5e New translations ja.yml (French) 2018-08-09 02:41:44 +09:00
syuilo
652d7d2c05 New translations ja.yml (French) 2018-08-09 02:36:35 +09:00
syuilo
0b0111fe23 New translations ja.yml (French) 2018-08-09 02:31:11 +09:00
greenkeeper[bot]
869c19c666 fix(package): update style-loader to version 0.22.1 2018-08-09 00:59:39 +09:00
syuilo
86a5f715d3 Merge pull request #2121 from syuilo/greenkeeper/systeminformation-3.42.9
Update systeminformation to the latest version 🚀
2018-08-08 23:18:27 +09:00
syuilo
514aeac2d8 Merge pull request #2120 from syuilo/greenkeeper/vue-loader-15.3.0
Update vue-loader to the latest version 🚀
2018-08-08 23:18:16 +09:00
syuilo
8980a26713 Merge pull request #2119 from syuilo/greenkeeper/style-loader-0.22.0
Update style-loader to the latest version 🚀
2018-08-08 23:18:06 +09:00
syuilo
a39e2b28d1 Merge pull request #2118 from syuilo/greenkeeper/commander-2.17.1
Update commander to the latest version 🚀
2018-08-08 23:17:53 +09:00
greenkeeper[bot]
bef617cb7c fix(package): update systeminformation to version 3.42.9 2018-08-08 05:13:03 +00:00
greenkeeper[bot]
1dc1feca0f fix(package): update vue-loader to version 15.3.0 2018-08-07 21:34:59 +00:00
syuilo
5d097fb29d New translations ja.yml (French) 2018-08-08 00:51:48 +09:00
syuilo
f29fe986af New translations ja.yml (French) 2018-08-08 00:43:05 +09:00
syuilo
0c774979c0 New translations ja.yml (French) 2018-08-08 00:32:08 +09:00
syuilo
f0bc2ed1d7 New translations ja.yml (French) 2018-08-08 00:22:38 +09:00
syuilo
b174e5e57a New translations ja.yml (English) 2018-08-07 23:21:52 +09:00
greenkeeper[bot]
90eed0ea0d fix(package): update style-loader to version 0.22.0 2018-08-07 13:13:16 +00:00
syuilo
ae50b71c07 New translations ja.yml (Polish) 2018-08-07 20:53:54 +09:00
greenkeeper[bot]
c730e5edfa fix(package): update commander to version 2.17.1 2018-08-07 11:23:35 +00:00
syuilo
b2eb50f260 New translations ja.yml (Catalan) 2018-08-07 13:31:40 +09:00
syuilo
790c7f2249 New translations ja.yml (Portuguese) 2018-08-07 13:31:38 +09:00
syuilo
6a0f34c283 New translations ja.yml (Korean) 2018-08-07 13:31:36 +09:00
syuilo
d151445db7 New translations ja.yml (Polish) 2018-08-07 13:31:34 +09:00
syuilo
18a3007273 New translations ja.yml (Chinese Simplified) 2018-08-07 13:31:31 +09:00
syuilo
bea8c3c65c New translations ja.yml (Italian) 2018-08-07 13:31:29 +09:00
syuilo
391ee01fe3 New translations ja.yml (Russian) 2018-08-07 13:31:26 +09:00
syuilo
be7cf9f731 New translations ja.yml (English) 2018-08-07 13:31:24 +09:00
syuilo
b92c2aa40e New translations ja.yml (Spanish) 2018-08-07 13:31:21 +09:00
syuilo
45ebcbf785 New translations ja.yml (German) 2018-08-07 13:31:19 +09:00
syuilo
5f32484be0 New translations ja.yml (French) 2018-08-07 13:31:17 +09:00
syuilo
7bd33ecc72 ✌️ 2018-08-07 13:25:50 +09:00
syuilo
e245122f12 New translations ja.yml (English) 2018-08-07 12:41:03 +09:00
syuilo
d4f7058574 🍕 2018-08-07 12:37:17 +09:00
syuilo
21570e2111 New translations ja.yml (Catalan) 2018-08-07 11:12:10 +09:00
syuilo
63e1165a01 New translations ja.yml (Portuguese) 2018-08-07 11:12:07 +09:00
syuilo
89b5a69127 New translations ja.yml (Korean) 2018-08-07 11:12:04 +09:00
syuilo
1152a9d03a New translations ja.yml (Polish) 2018-08-07 11:12:02 +09:00
syuilo
10092d4570 New translations ja.yml (Chinese Simplified) 2018-08-07 11:12:00 +09:00
syuilo
429b4bec64 New translations ja.yml (Italian) 2018-08-07 11:11:58 +09:00
syuilo
99f96583b6 New translations ja.yml (Russian) 2018-08-07 11:11:56 +09:00
syuilo
5adb765f85 New translations ja.yml (English) 2018-08-07 11:11:54 +09:00
syuilo
0eb787e0d0 New translations ja.yml (Spanish) 2018-08-07 11:11:52 +09:00
syuilo
4493c856a9 New translations ja.yml (German) 2018-08-07 11:11:50 +09:00
syuilo
59d3d4a749 New translations ja.yml (French) 2018-08-07 11:11:47 +09:00
syuilo
980ae3dcb3 Merge pull request #2114 from gutfuckllc/devel
Localized all hiragana lines.
2018-08-07 11:09:55 +09:00
syuilo
3a76113b78 Merge pull request #2109 from syuilo/l10n_master
New Crowdin translations
2018-08-07 11:09:34 +09:00
syuilo
ec8105b2ae Merge pull request #2112 from syuilo/greenkeeper/@types/node-10.5.7
Update @types/node to the latest version 🚀
2018-08-07 11:09:16 +09:00
syuilo
bf05785345 Merge pull request #2110 from syuilo/greenkeeper/typescript-eslint-parser-18.0.0
Update typescript-eslint-parser to the latest version 🚀
2018-08-07 11:09:07 +09:00
syuilo
82346d788b Merge pull request #2115 from syuilo/greenkeeper/vue-loader-15.2.7
Update vue-loader to the latest version 🚀
2018-08-07 11:08:46 +09:00
greenkeeper[bot]
d86cfa86e4 fix(package): update vue-loader to version 15.2.7 2018-08-07 02:05:20 +00:00
gutfuckllc
b85f13dad3 Localize mobile search.vue 2018-08-06 21:06:09 -04:00
gutfuckllc
eb8c3fe884 Localize a dev file 2018-08-06 21:03:24 -04:00
gutfuckllc
ff325d9588 Localized annotations line 2018-08-06 21:00:58 -04:00
gutfuckllc
a98392ff27 Localize "only one file attached" popup 2018-08-06 20:57:14 -04:00
greenkeeper[bot]
22b8aab7a0 fix(package): update @types/node to version 10.5.7 2018-08-06 22:08:57 +00:00
gutfuckllc
24de518922 Localized 2 missing lines for mobile widgets.vue 2018-08-06 16:08:54 -04:00
gutfuckllc
a169c7756f Added more close buttons 2018-08-06 16:05:48 -04:00
gutfuckllc
249a7f4f68 Slight reordering 2018-08-06 16:05:32 -04:00
gutfuckllc
4f590e0a96 Localized adjective 2018-08-06 16:04:20 -04:00
gutfuckllc
f5b5b290e4 Localized copy-paste message (added common) 2018-08-06 16:02:53 -04:00
gutfuckllc
1f75cf4ace Localize missing line 2018-08-06 16:00:12 -04:00
gutfuckllc
1e4f11a979 Localize japanese adjective. 2018-08-06 15:58:09 -04:00
gutfuckllc
be12e23aa1 Localize unlocalized line. 2018-08-06 15:55:39 -04:00
gutfuckllc
790e6ceca4 Localize unlocalized line 2018-08-06 15:53:21 -04:00
gutfuckllc
a303d52990 Fix typo 2018-08-06 15:53:06 -04:00
greenkeeper[bot]
096fab575c fix(package): update typescript-eslint-parser to version 18.0.0 2018-08-06 19:52:58 +00:00
gutfuckllc
a256393b81 Merge remote-tracking branch 'upstream/master' into devel 2018-08-06 15:45:52 -04:00
syuilo
e8eee9057a New translations ja.yml (Spanish) 2018-08-07 03:51:39 +09:00
syuilo
d81acae17e 5.19.0 2018-08-07 03:33:21 +09:00
syuilo
313715bc75 Merge pull request #2108 from syuilo/l10n_master
New Crowdin translations
2018-08-07 03:32:25 +09:00
syuilo
94dabd2038 New translations ja.yml (English) 2018-08-07 03:31:58 +09:00
syuilo
a3d58e5bc7 New translations ja.yml (Catalan) 2018-08-07 03:22:45 +09:00
syuilo
bfdfd026a2 New translations ja.yml (Portuguese) 2018-08-07 03:22:43 +09:00
syuilo
b713f06599 New translations ja.yml (Korean) 2018-08-07 03:22:41 +09:00
syuilo
2172c5edca New translations ja.yml (Polish) 2018-08-07 03:22:39 +09:00
syuilo
9bc0cfacfa New translations ja.yml (Chinese Simplified) 2018-08-07 03:22:37 +09:00
syuilo
546cfeadbe New translations ja.yml (Italian) 2018-08-07 03:22:33 +09:00
syuilo
2413583ce9 New translations ja.yml (Russian) 2018-08-07 03:22:30 +09:00
syuilo
d7510491a5 New translations ja.yml (English) 2018-08-07 03:22:28 +09:00
syuilo
61db07edf4 New translations ja.yml (Spanish) 2018-08-07 03:22:25 +09:00
syuilo
5c3ac8f952 New translations ja.yml (German) 2018-08-07 03:22:22 +09:00
syuilo
5bfcb75ec3 New translations ja.yml (French) 2018-08-07 03:22:18 +09:00
syuilo
d733a1b445 i18n 2018-08-07 03:20:26 +09:00
syuilo
75c44cd349 Merge pull request #2107 from syuilo/l10n_master
New Crowdin translations
2018-08-07 00:28:13 +09:00
syuilo
f4d247cfae New translations ja.yml (English) 2018-08-07 00:21:42 +09:00
syuilo
4260ec713f Improve error handling 2018-08-06 21:48:23 +09:00
syuilo
99f4ab7000 ✌️ 2018-08-06 21:35:49 +09:00
syuilo
b6157e0012 5.18.0 2018-08-06 18:30:19 +09:00
syuilo
4405c19852 Merge pull request #2104 from syuilo/greenkeeper/webpack-4.16.5
Update webpack to the latest version 🚀
2018-08-06 18:29:07 +09:00
syuilo
5f208a7d99 ユーザー検索APIを統合 2018-08-06 18:28:27 +09:00
greenkeeper[bot]
2ec4cc9a07 fix(package): update webpack to version 4.16.5 2018-08-06 07:19:30 +00:00
gutfuckllc
06390380f8 Translated mute. 2018-08-06 03:18:52 -04:00
gutfuckllc
752186066b Merge remote-tracking branch 'upstream/master' into devel 2018-08-05 16:54:54 -04:00
syuilo
10f9549a04 非公開の投稿に自分以外が返信したりRenoteしたりできないように 2018-08-06 04:38:31 +09:00
syuilo
84a4174883 削除された投稿に返信したりRenoteしたりできないように 2018-08-06 04:07:22 +09:00
syuilo
ee765d0812 Fix test 2018-08-06 00:31:09 +09:00
syuilo
1ccd2def50 5.17.0 2018-08-06 00:15:13 +09:00
syuilo
0d9782571f 🎨 2018-08-06 00:09:21 +09:00
syuilo
973018fc98 Merge pull request #2095 from syuilo/l10n_master
New Crowdin translations
2018-08-06 00:01:17 +09:00
syuilo
d0926a3ba1 MFMの((()))構文が顔文字と競合する対策としてタグ形式の構文も追加 2018-08-05 23:56:08 +09:00
syuilo
be67f5f422 🎨 2018-08-05 23:38:31 +09:00
syuilo
b70b607c4f New translations ja.yml (Polish) 2018-08-05 22:00:49 +09:00
syuilo
2bd38fa052 New translations ja.yml (Polish) 2018-08-05 21:51:12 +09:00
syuilo
43b6140dbe Fix bug 2018-08-05 21:03:52 +09:00
syuilo
813804a43e 5.16.0 2018-08-05 21:01:03 +09:00
syuilo
bec9604445 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-05 20:57:27 +09:00
syuilo
2e454dad2d 🎨 2018-08-05 20:57:24 +09:00
syuilo
7d64435e56 Merge pull request #2091 from syuilo/l10n_master
New Crowdin translations
2018-08-05 19:42:59 +09:00
syuilo
6ef28214df ひとつの投稿内で使えるそれぞれの動きのあるMFM構文は3回までに制限 2018-08-05 19:36:19 +09:00
syuilo
5bbc95d659 文字数が多い場合は動きを無効に 2018-08-05 19:20:26 +09:00
syuilo
83794f254c New translations ja.yml (French) 2018-08-05 16:31:14 +09:00
syuilo
005d25a07b Fix test 2018-08-05 13:50:49 +09:00
syuilo
255222bfb4 5.15.0 2018-08-05 13:47:51 +09:00
syuilo
9e5e3c2f2e ✌️ 2018-08-05 13:44:44 +09:00
syuilo
5bd80f115f Merge pull request #2089 from syuilo/greenkeeper/@types/node-10.5.6
Update @types/node to the latest version 🚀
2018-08-05 13:41:05 +09:00
syuilo
c86e1a3e9b Merge pull request #2088 from syuilo/greenkeeper/commander-2.17.0
Update commander to the latest version 🚀
2018-08-05 13:40:57 +09:00
syuilo
128a201b9d #2080 など 2018-08-05 13:40:26 +09:00
syuilo
b68f74f39c typo 2018-08-05 12:33:55 +09:00
syuilo
cd28504dd8 Add new MFM syntax 2018-08-05 12:33:51 +09:00
gutfuckllc
911762fedf Removed start.sh 2018-08-04 13:13:56 -04:00
gutfuckllc
de448fc99f Added start.sh 2018-08-04 13:13:29 -04:00
syuilo
a3531981ee New translations ja.yml (French) 2018-08-05 00:30:59 +09:00
syuilo
fc8d06a9ab New translations ja.yml (Korean) 2018-08-04 23:20:55 +09:00
syuilo
5de8edf15f New translations ja.yml (Korean) 2018-08-04 23:10:59 +09:00
syuilo
f762cf2770 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-04 23:04:56 +09:00
syuilo
d84cae9358 5.14.0 2018-08-04 23:04:45 +09:00
syuilo
9c54721010 Merge pull request #2090 from syuilo/l10n_master
New Crowdin translations
2018-08-04 23:03:59 +09:00
syuilo
16f35c81a1 New translations ja.yml (Korean) 2018-08-04 23:00:59 +09:00
syuilo
d0dbb62a54 New translations ja.yml (English) 2018-08-04 23:00:57 +09:00
syuilo
9fa68f4478 New translations ja.yml (Catalan) 2018-08-04 22:51:25 +09:00
syuilo
0d76625868 New translations ja.yml (Portuguese) 2018-08-04 22:51:23 +09:00
syuilo
5a8a701188 New translations ja.yml (Korean) 2018-08-04 22:51:21 +09:00
syuilo
121344afbb New translations ja.yml (Polish) 2018-08-04 22:51:19 +09:00
syuilo
d647cf3446 New translations ja.yml (Chinese Simplified) 2018-08-04 22:51:16 +09:00
syuilo
04a23b3f2f New translations ja.yml (Italian) 2018-08-04 22:51:14 +09:00
syuilo
08826e1c41 New translations ja.yml (Russian) 2018-08-04 22:51:12 +09:00
syuilo
2e31e3c7cb New translations ja.yml (English) 2018-08-04 22:51:10 +09:00
syuilo
7aed50f9fa New translations ja.yml (Spanish) 2018-08-04 22:51:08 +09:00
syuilo
2de782dbe4 New translations ja.yml (German) 2018-08-04 22:51:06 +09:00
syuilo
50693fbe25 New translations ja.yml (French) 2018-08-04 22:51:03 +09:00
syuilo
9a2ff56a79 動きのあるMFMを無効にするオプションを実装 2018-08-04 22:48:35 +09:00
syuilo
daed63d66c Update doc 2018-08-04 22:33:37 +09:00
syuilo
f2241a47b7 New translations ja.yml (Catalan) 2018-08-04 22:31:23 +09:00
syuilo
de95aac59b New translations ja.yml (Portuguese) 2018-08-04 22:31:20 +09:00
syuilo
8612ac0c6a New translations ja.yml (Korean) 2018-08-04 22:31:18 +09:00
syuilo
2118e500a8 New translations ja.yml (Polish) 2018-08-04 22:31:16 +09:00
syuilo
a7063eab85 New translations ja.yml (Chinese Simplified) 2018-08-04 22:31:14 +09:00
syuilo
5b5ae0e47f New translations ja.yml (Italian) 2018-08-04 22:31:12 +09:00
syuilo
b19ecc1a0d New translations ja.yml (Russian) 2018-08-04 22:31:10 +09:00
syuilo
ac9223957f New translations ja.yml (English) 2018-08-04 22:31:07 +09:00
syuilo
e580adc41e New translations ja.yml (Spanish) 2018-08-04 22:31:05 +09:00
syuilo
607a105b78 New translations ja.yml (German) 2018-08-04 22:31:03 +09:00
syuilo
cc601cf600 New translations ja.yml (French) 2018-08-04 22:31:01 +09:00
syuilo
be9f6ad294 Implement surrender of reversi 2018-08-04 22:28:01 +09:00
syuilo
a2952c02cf New translations ja.yml (French) 2018-08-04 21:31:21 +09:00
syuilo
244d567b3a 5.13.2 2018-08-04 12:38:14 +09:00
syuilo
61a9ad23f1 Fix bug 2018-08-04 12:35:57 +09:00
syuilo
4f7c19461e 5.13.1 2018-08-04 11:40:06 +09:00
syuilo
4ba6e1c2b2 Fix bug 2018-08-04 11:39:59 +09:00
syuilo
b60af54db1 5.13.0 2018-08-04 11:34:36 +09:00
syuilo
047320e50a Merge pull request #2085 from syuilo/l10n_master
New Crowdin translations
2018-08-04 11:33:49 +09:00
syuilo
29418ecbb4 🎨 2018-08-04 11:32:53 +09:00
syuilo
67e97310cf Clean up 2018-08-04 11:25:39 +09:00
syuilo
33d3d5c570 スライダーコントロールを追加するなど 2018-08-04 11:24:15 +09:00
greenkeeper[bot]
864d1a39cd fix(package): update @types/node to version 10.5.6 2018-08-04 01:48:39 +00:00
syuilo
ee050cc37e ✌️ 2018-08-04 10:40:09 +09:00
greenkeeper[bot]
e14f244e83 fix(package): update commander to version 2.17.0 2018-08-04 00:14:18 +00:00
syuilo
1ba43d83b0 New translations ja.yml (French) 2018-08-04 03:23:32 +09:00
syuilo
72fc6d387f New translations ja.yml (French) 2018-08-04 03:11:27 +09:00
syuilo
4a935e0659 New translations ja.yml (French) 2018-08-04 03:01:17 +09:00
syuilo
8a0dab49e0 New translations ja.yml (French) 2018-08-04 02:51:19 +09:00
syuilo
65574abab7 Merge pull request #2084 from syuilo/l10n_master
New Crowdin translations
2018-08-04 02:14:24 +09:00
syuilo
37d21462b8 New translations ja.yml (Polish) 2018-08-04 02:11:50 +09:00
syuilo
1acd25810c Merge pull request #2083 from syuilo/l10n_master
New Crowdin translations
2018-08-04 02:02:04 +09:00
syuilo
a81b771f15 New translations ja.yml (Polish) 2018-08-04 02:01:40 +09:00
syuilo
d30b2e7270 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-04 01:51:13 +09:00
syuilo
69f82508cb 5.12.0 2018-08-04 01:50:45 +09:00
syuilo
fddaa11645 Merge pull request #2081 from syuilo/l10n_master
New Crowdin translations
2018-08-04 01:50:13 +09:00
syuilo
bbe740785d Fix doc 2018-08-04 01:49:32 +09:00
syuilo
0389afa0fe 🎨 2018-08-04 01:48:02 +09:00
syuilo
caec6933d1 Fix bug 2018-08-04 01:47:57 +09:00
syuilo
420164c59a Trim text 2018-08-04 01:09:00 +09:00
syuilo
b13f42645b Fix bug 2018-08-04 01:03:48 +09:00
syuilo
22c945d21b New translations ja.yml (Polish) 2018-08-04 00:31:18 +09:00
syuilo
12fab6fa53 New translations ja.yml (French) 2018-08-03 23:41:28 +09:00
syuilo
51651e0c87 New translations ja.yml (French) 2018-08-03 23:31:32 +09:00
syuilo
ce395e626f 5.11.0 2018-08-03 23:28:24 +09:00
syuilo
b0f93588bb Merge pull request #2067 from syuilo/l10n_master
New Crowdin translations
2018-08-03 23:27:49 +09:00
syuilo
d456e5e45c Implement new MFM syntax 2018-08-03 23:27:37 +09:00
syuilo
84e47bad7e New translations ja.yml (English) 2018-08-03 23:21:46 +09:00
syuilo
deee2391ba New translations ja.yml (French) 2018-08-03 23:21:44 +09:00
syuilo
5cdd06ca2f New translations ja.yml (Catalan) 2018-08-03 23:11:38 +09:00
syuilo
6245a86a6f New translations ja.yml (Portuguese) 2018-08-03 23:11:36 +09:00
syuilo
c72e8bd88d New translations ja.yml (Korean) 2018-08-03 23:11:33 +09:00
syuilo
c58719348f New translations ja.yml (Polish) 2018-08-03 23:11:31 +09:00
syuilo
40525a9d6d New translations ja.yml (Chinese Simplified) 2018-08-03 23:11:29 +09:00
syuilo
eac5d6d127 New translations ja.yml (Italian) 2018-08-03 23:11:26 +09:00
syuilo
9cd7af6b99 New translations ja.yml (Russian) 2018-08-03 23:11:24 +09:00
syuilo
5cd441c0cb New translations ja.yml (English) 2018-08-03 23:11:21 +09:00
syuilo
32cc778ed3 New translations ja.yml (Spanish) 2018-08-03 23:11:18 +09:00
syuilo
c966b3f371 New translations ja.yml (German) 2018-08-03 23:11:16 +09:00
syuilo
9baa0128df New translations ja.yml (French) 2018-08-03 23:11:13 +09:00
syuilo
42fbc7ab66 Fix #2047 2018-08-03 23:06:58 +09:00
syuilo
8272118e29 typo 2018-08-03 23:01:55 +09:00
syuilo
1dc8d4f926 New translations ja.yml (Polish) 2018-08-03 23:01:31 +09:00
syuilo
4beb93055b New translations ja.yml (English) 2018-08-03 23:01:29 +09:00
syuilo
e66ec6823d Merge branch 'master' into l10n_master 2018-08-03 23:01:14 +09:00
syuilo
1d2b01df5c New translations ja.yml (English) 2018-08-03 22:51:22 +09:00
syuilo
5defcd6592 🍕 2018-08-03 22:49:54 +09:00
syuilo
13451f6843 ✌️ 2018-08-03 22:42:53 +09:00
syuilo
6d1d6f1e6e New translations ja.yml (Catalan) 2018-08-03 22:41:37 +09:00
syuilo
bb064e47f7 New translations ja.yml (Portuguese) 2018-08-03 22:41:35 +09:00
syuilo
4e239f6089 New translations ja.yml (Korean) 2018-08-03 22:41:32 +09:00
syuilo
b35b458001 New translations ja.yml (Polish) 2018-08-03 22:41:30 +09:00
syuilo
315c28234e New translations ja.yml (Chinese Simplified) 2018-08-03 22:41:28 +09:00
syuilo
d996cd6dda New translations ja.yml (Italian) 2018-08-03 22:41:26 +09:00
syuilo
8a61e12cc8 New translations ja.yml (Russian) 2018-08-03 22:41:24 +09:00
syuilo
99f4cbab4b New translations ja.yml (English) 2018-08-03 22:41:22 +09:00
syuilo
1b4da6f26d New translations ja.yml (Spanish) 2018-08-03 22:41:20 +09:00
syuilo
14ebc8f2b6 New translations ja.yml (German) 2018-08-03 22:41:18 +09:00
syuilo
f97c1a0895 New translations ja.yml (French) 2018-08-03 22:41:16 +09:00
syuilo
533448d835 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-03 22:35:01 +09:00
syuilo
cbcf3fd7f1 ✌️ 2018-08-03 22:34:58 +09:00
syuilo
4f4fd65a56 New translations ja.yml (English) 2018-08-03 21:51:36 +09:00
syuilo
d2a7b471f6 New translations ja.yml (Catalan) 2018-08-03 21:41:36 +09:00
syuilo
df05071636 New translations ja.yml (Portuguese) 2018-08-03 21:41:34 +09:00
syuilo
bd8aee7b2c New translations ja.yml (Korean) 2018-08-03 21:41:31 +09:00
syuilo
3459112732 New translations ja.yml (Polish) 2018-08-03 21:41:29 +09:00
syuilo
8e8c02840d New translations ja.yml (Chinese Simplified) 2018-08-03 21:41:26 +09:00
syuilo
f376f0e03a New translations ja.yml (Italian) 2018-08-03 21:41:23 +09:00
syuilo
59f6d767b3 New translations ja.yml (Russian) 2018-08-03 21:41:21 +09:00
syuilo
e46857af00 New translations ja.yml (English) 2018-08-03 21:41:19 +09:00
syuilo
e987e47d18 New translations ja.yml (Spanish) 2018-08-03 21:41:16 +09:00
syuilo
588cd27d5b New translations ja.yml (German) 2018-08-03 21:41:13 +09:00
syuilo
d9efc4793a New translations ja.yml (French) 2018-08-03 21:41:11 +09:00
syuilo
9d5983938b Merge pull request #2079 from syuilo/greenkeeper/systeminformation-3.42.8
Update systeminformation to the latest version 🚀
2018-08-03 21:40:45 +09:00
greenkeeper[bot]
9686f45d24 fix(package): update systeminformation to version 3.42.8 2018-08-03 12:39:56 +00:00
syuilo
cb0a0a7aa4 Merge pull request #2068 from syuilo/greenkeeper/webpack-4.16.4
Update webpack to the latest version 🚀
2018-08-03 21:33:40 +09:00
syuilo
254495cd3d Merge pull request #2078 from syuilo/greenkeeper/systeminformation-3.42.6
fix(package): update systeminformation to version 3.42.6
2018-08-03 21:33:30 +09:00
syuilo
6da9da0e8f Merge pull request #2077 from syuilo/#2066
なんか
2018-08-03 21:32:59 +09:00
syuilo
d8260a4aaa New translations ja.yml (Spanish) 2018-08-03 21:32:42 +09:00
syuilo
000635252c wip 2018-08-03 21:30:44 +09:00
greenkeeper[bot]
faac4dbe22 fix(package): update systeminformation to version 3.42.6
Closes #2076
2018-08-03 12:23:28 +00:00
syuilo
a3007a266d New translations ja.yml (Spanish) 2018-08-03 21:21:36 +09:00
syuilo
3f0f1048fe New translations ja.yml (Spanish) 2018-08-03 21:12:59 +09:00
syuilo
c016d212ed Fix bug 2018-08-03 21:11:53 +09:00
syuilo
8f228b20de New translations ja.yml (Spanish) 2018-08-03 21:01:23 +09:00
syuilo
a64945a8dd New translations ja.yml (Spanish) 2018-08-03 20:51:09 +09:00
syuilo
2986876810 New translations ja.yml (Spanish) 2018-08-03 20:41:26 +09:00
syuilo
166ef3ba52 New translations ja.yml (Spanish) 2018-08-03 20:31:22 +09:00
syuilo
8bbd36a7dd New translations ja.yml (Spanish) 2018-08-03 20:21:15 +09:00
syuilo
55c2254c3f New translations ja.yml (Spanish) 2018-08-03 19:31:13 +09:00
syuilo
f7e72829ad New translations ja.yml (Spanish) 2018-08-03 19:21:18 +09:00
syuilo
cd6829ca64 wip 2018-08-03 15:59:24 +09:00
syuilo
a88942f58a wip 2018-08-03 09:39:03 +09:00
syuilo
b4d79ce4a4 New translations ja.yml (English) 2018-08-03 02:02:14 +09:00
syuilo
51b4f95f79 New translations ja.yml (English) 2018-08-03 01:52:01 +09:00
syuilo
125da8d843 New translations ja.yml (French) 2018-08-03 01:31:50 +09:00
syuilo
8385cb436e New translations ja.yml (French) 2018-08-03 01:22:00 +09:00
syuilo
95ffeceb7f New translations ja.yml (French) 2018-08-03 01:12:15 +09:00
syuilo
1e3cff6174 wip 2018-08-03 00:36:29 +09:00
syuilo
3f29a0382b wip 2018-08-02 22:54:52 +09:00
greenkeeper[bot]
e42d26f965 fix(package): update webpack to version 4.16.4 2018-08-02 13:54:31 +00:00
syuilo
8f91a98b65 New translations ja.yml (Catalan) 2018-08-02 19:13:40 +09:00
syuilo
58f62e21ff New translations ja.yml (Portuguese) 2018-08-02 19:13:37 +09:00
syuilo
fc45d47e15 New translations ja.yml (Korean) 2018-08-02 19:13:35 +09:00
syuilo
5409bc6392 New translations ja.yml (Polish) 2018-08-02 19:13:33 +09:00
syuilo
dcad453069 New translations ja.yml (Chinese Simplified) 2018-08-02 19:13:31 +09:00
syuilo
5ef1678a8c New translations ja.yml (Italian) 2018-08-02 19:13:29 +09:00
syuilo
a682dff069 New translations ja.yml (Russian) 2018-08-02 19:13:27 +09:00
syuilo
8afa11913c New translations ja.yml (English) 2018-08-02 19:13:25 +09:00
syuilo
2cf139145e New translations ja.yml (Spanish) 2018-08-02 19:13:23 +09:00
syuilo
a219bee4f0 New translations ja.yml (German) 2018-08-02 19:13:20 +09:00
syuilo
2efb0972f6 New translations ja.yml (French) 2018-08-02 19:13:18 +09:00
Aya Morisawa
7b33c63f78 #332 (#2065) 2018-08-02 19:03:31 +09:00
syuilo
0df093383d Refactoring 2018-08-02 15:35:22 +09:00
syuilo
cdf65aedcb Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-02 14:24:38 +09:00
syuilo
b9dfb937f1 Fix bug 2018-08-02 14:24:27 +09:00
greenkeeper[bot]
2ea3b57499 fix(package): update @types/mongodb to version 3.1.3 2018-08-02 14:21:02 +09:00
greenkeeper[bot]
fd9200cbb0 fix(package): update @types/webpack to version 4.4.9 2018-08-02 14:20:49 +09:00
syuilo
40d422c6f3 Merge pull request #2060 from syuilo/l10n_master
New Crowdin translations
2018-08-02 10:34:13 +09:00
syuilo
9d6bbbc4e3 New translations ja.yml (English) 2018-08-02 10:10:51 +09:00
syuilo
3fa8433a0e Merge branch 'master' into l10n_master 2018-08-02 10:05:41 +09:00
syuilo
82af341261 New translations ja.yml (Catalan) 2018-08-02 10:01:14 +09:00
syuilo
436519f4f4 New translations ja.yml (Portuguese) 2018-08-02 10:01:12 +09:00
syuilo
6be5984868 New translations ja.yml (Korean) 2018-08-02 10:01:10 +09:00
syuilo
503d10145a New translations ja.yml (Polish) 2018-08-02 10:01:07 +09:00
syuilo
97ed8d1728 New translations ja.yml (Chinese Simplified) 2018-08-02 10:01:04 +09:00
syuilo
8c16ed243a New translations ja.yml (Italian) 2018-08-02 10:01:02 +09:00
syuilo
0c482175a2 New translations ja.yml (Russian) 2018-08-02 10:00:59 +09:00
syuilo
acfd7896ea New translations ja.yml (English) 2018-08-02 10:00:57 +09:00
syuilo
8d6e0bd43d New translations ja.yml (Spanish) 2018-08-02 10:00:55 +09:00
syuilo
b35ef61515 New translations ja.yml (German) 2018-08-02 10:00:53 +09:00
syuilo
ec18dac5e5 New translations ja.yml (French) 2018-08-02 10:00:51 +09:00
syuilo
ccdc33e476 ✌️ 2018-08-02 09:56:13 +09:00
syuilo
3f5972be7b typo 2018-08-02 09:55:30 +09:00
syuilo
5fbf3c3f72 5.10.0 2018-08-02 09:53:23 +09:00
syuilo
5c497d7563 ✌️ 2018-08-02 09:52:47 +09:00
syuilo
7ee3f63eff Merge pull request #2059 from syuilo/l10n_master
New Crowdin translations
2018-08-02 09:51:14 +09:00
syuilo
ee85a76678 New translations ja.yml (English) 2018-08-02 09:50:53 +09:00
syuilo
e691524416 Fix bug 2018-08-02 09:37:13 +09:00
syuilo
ce0f6f7ebe type指定廃止 2018-08-02 09:30:57 +09:00
syuilo
dfa5cb567f Define new index 2018-08-02 09:29:46 +09:00
syuilo
bcf854b7bb Clean up 2018-08-02 09:27:30 +09:00
syuilo
be0e811e45 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-02 09:24:11 +09:00
syuilo
ab009cfbd7 🎨 2018-08-02 09:24:08 +09:00
syuilo
3fc7ebf80b Merge pull request #2056 from syuilo/l10n_master
New Crowdin translations
2018-08-02 08:34:15 +09:00
syuilo
8c02c0cb30 New translations ja.yml (Catalan) 2018-08-02 08:31:35 +09:00
syuilo
11c015c24e New translations ja.yml (Portuguese) 2018-08-02 08:31:33 +09:00
syuilo
d937730ab7 New translations ja.yml (Korean) 2018-08-02 08:31:30 +09:00
syuilo
b2b5b1e4c9 New translations ja.yml (Polish) 2018-08-02 08:31:28 +09:00
syuilo
d84b3088ec New translations ja.yml (Chinese Simplified) 2018-08-02 08:31:26 +09:00
syuilo
24f2a4731e New translations ja.yml (Italian) 2018-08-02 08:31:24 +09:00
syuilo
152fba9ba7 New translations ja.yml (Russian) 2018-08-02 08:31:22 +09:00
syuilo
3e2edcb815 New translations ja.yml (English) 2018-08-02 08:31:20 +09:00
syuilo
9c8e92b2bc New translations ja.yml (Spanish) 2018-08-02 08:31:18 +09:00
syuilo
24c9e1b8d9 New translations ja.yml (German) 2018-08-02 08:31:16 +09:00
syuilo
127cad8bc1 New translations ja.yml (French) 2018-08-02 08:11:01 +09:00
syuilo
1d4f4b829f Improve i18n 2018-08-02 08:04:16 +09:00
syuilo
66d7135a5c New translations ja.yml (French) 2018-08-02 08:01:11 +09:00
syuilo
635eee980d Update 2018-08-02 07:54:59 +09:00
syuilo
23f2370c4b Improve i18n 2018-08-02 07:53:11 +09:00
syuilo
f2b88002a3 New translations ja.yml (English) 2018-08-02 07:51:26 +09:00
syuilo
6c41265625 New translations ja.yml (Catalan) 2018-08-02 07:41:18 +09:00
syuilo
b939cb8b4c New translations ja.yml (Portuguese) 2018-08-02 07:41:16 +09:00
syuilo
d74710260a New translations ja.yml (Korean) 2018-08-02 07:41:14 +09:00
syuilo
609a15cfb1 New translations ja.yml (Polish) 2018-08-02 07:41:12 +09:00
syuilo
644532d4db New translations ja.yml (Chinese Simplified) 2018-08-02 07:41:09 +09:00
syuilo
e9b0ffef0f New translations ja.yml (Italian) 2018-08-02 07:41:07 +09:00
syuilo
31a133e7f0 New translations ja.yml (Russian) 2018-08-02 07:41:05 +09:00
syuilo
277a24f8e0 New translations ja.yml (English) 2018-08-02 07:41:03 +09:00
syuilo
6c07411755 New translations ja.yml (Spanish) 2018-08-02 07:41:01 +09:00
syuilo
6894eee6d4 New translations ja.yml (German) 2018-08-02 07:40:58 +09:00
syuilo
babdeb5d6e New translations ja.yml (French) 2018-08-02 07:40:56 +09:00
syuilo
7f08d84989 Merge branch 'master' into l10n_master 2018-08-02 07:38:44 +09:00
syuilo
32053d963f i18n reversi 2018-08-02 07:36:25 +09:00
syuilo
5994ea9465 New translations ja.yml (Catalan) 2018-08-02 07:11:32 +09:00
syuilo
7384a3825a New translations ja.yml (Portuguese) 2018-08-02 07:11:30 +09:00
syuilo
e31bf214a7 New translations ja.yml (Korean) 2018-08-02 07:11:27 +09:00
syuilo
48c143d47c New translations ja.yml (Polish) 2018-08-02 07:11:26 +09:00
syuilo
35d17d4274 New translations ja.yml (Chinese Simplified) 2018-08-02 07:11:23 +09:00
syuilo
1e2b8cab02 New translations ja.yml (Italian) 2018-08-02 07:11:21 +09:00
syuilo
0a9a45b33b New translations ja.yml (Russian) 2018-08-02 07:11:19 +09:00
syuilo
63a512306d New translations ja.yml (English) 2018-08-02 07:11:17 +09:00
syuilo
190c0c687c New translations ja.yml (Spanish) 2018-08-02 07:11:15 +09:00
syuilo
c7094986c9 New translations ja.yml (German) 2018-08-02 07:11:13 +09:00
syuilo
c201a65f82 New translations ja.yml (French) 2018-08-02 07:11:11 +09:00
syuilo
dd167a476f Remove some outdated tips 2018-08-02 07:06:31 +09:00
syuilo
b255bbf62a New translations ja.yml (Catalan) 2018-08-02 07:01:32 +09:00
syuilo
e19300f424 New translations ja.yml (Portuguese) 2018-08-02 07:01:31 +09:00
syuilo
aeb0512eaf New translations ja.yml (Korean) 2018-08-02 07:01:29 +09:00
syuilo
192abef237 New translations ja.yml (Polish) 2018-08-02 07:01:27 +09:00
syuilo
2d278c563e New translations ja.yml (Chinese Simplified) 2018-08-02 07:01:25 +09:00
syuilo
7de9066dda New translations ja.yml (Italian) 2018-08-02 07:01:23 +09:00
syuilo
5a2a2371fb New translations ja.yml (Russian) 2018-08-02 07:01:21 +09:00
syuilo
a433a25b16 New translations ja.yml (English) 2018-08-02 07:01:19 +09:00
syuilo
9098aaee3e New translations ja.yml (Spanish) 2018-08-02 07:01:17 +09:00
syuilo
ea28b788bc New translations ja.yml (German) 2018-08-02 07:01:14 +09:00
syuilo
bd9981b998 New translations ja.yml (French) 2018-08-02 07:01:12 +09:00
syuilo
b7f1b087e8 Merge branch 'master' of https://github.com/syuilo/misskey 2018-08-02 06:58:17 +09:00
syuilo
b0fdf25b24 Improve i18n 2018-08-02 06:58:15 +09:00
syuilo
58f6e4cf00 New translations ja.yml (Catalan) 2018-08-02 06:51:58 +09:00
syuilo
d6fe396c76 New translations ja.yml (Portuguese) 2018-08-02 06:51:56 +09:00
syuilo
5a01c6c9a5 New translations ja.yml (Korean) 2018-08-02 06:51:54 +09:00
syuilo
dc98b2b5c2 New translations ja.yml (Polish) 2018-08-02 06:51:53 +09:00
syuilo
60626c2a07 New translations ja.yml (Chinese Simplified) 2018-08-02 06:51:50 +09:00
syuilo
0459ce07fa New translations ja.yml (Italian) 2018-08-02 06:51:48 +09:00
syuilo
b480865031 New translations ja.yml (Russian) 2018-08-02 06:51:46 +09:00
syuilo
c928d38ec0 New translations ja.yml (English) 2018-08-02 06:51:44 +09:00
syuilo
1f44602f38 New translations ja.yml (Spanish) 2018-08-02 06:51:42 +09:00
syuilo
932d007745 New translations ja.yml (German) 2018-08-02 06:51:40 +09:00
syuilo
a1dd839909 New translations ja.yml (French) 2018-08-02 06:51:37 +09:00
syuilo
12b1c6c886 Merge pull request #2055 from syuilo/greenkeeper/vue-2.5.17
Update vue to the latest version 🚀
2018-08-02 06:50:21 +09:00
greenkeeper[bot]
e4a4a4a469 fix(package): update vue to version 2.5.17 2018-08-01 21:48:35 +00:00
syuilo
2ffb8f7cf8 Merge pull request #2054 from syuilo/greenkeeper/vue-template-compiler-2.5.17
Update vue-template-compiler to the latest version 🚀
2018-08-02 06:46:23 +09:00
syuilo
25dec8b977 Merge pull request #2053 from gutfuckllc/devel
Translated the totality of desktop views and common views, a great bunch of mobile views
2018-08-02 06:44:46 +09:00
greenkeeper[bot]
8b4ee292b1 fix(package): update vue-template-compiler to version 2.5.17 2018-08-01 21:41:18 +00:00
gutfuckllc
2f8b64d6fb Translated mobile/views/pages/widgets/activity.vue and mobile/views/pages/widgets.vue 2018-08-01 17:34:27 -04:00
gutfuckllc
b608e594af Translated mobile/views/pages/welcome.vue 2018-08-01 17:30:54 -04:00
gutfuckllc
9652440579 Translated mobile/views/pages/welcome.vue 2018-08-01 17:30:35 -04:00
gutfuckllc
55d2ae2050 Translated mobile/views/pages/signup.vue 2018-08-01 16:43:47 -04:00
gutfuckllc
bdde0c3c63 Fixed welcome.vue build bug. 2018-08-01 16:37:36 -04:00
gutfuckllc
08afa44e09 Localized mobile/views/pages/reversi.vue
Also added common.name line, as to allow easier rebranding.
2018-08-01 15:09:42 -04:00
gutfuckllc
3ec3fa2d1e Localized mobile/views/components/ui.header.vue
Also added name i18n line, as to allow easier rebranding should there be any.
2018-08-01 15:04:00 -04:00
gutfuckllc
df74a4eb20 Forgot to add vue. here 2018-08-01 14:55:30 -04:00
gutfuckllc
fdaf483293 Added i18n line and typo fix to desktop/views/pages/welcome.vue: 2018-08-01 14:54:57 -04:00
gutfuckllc
5ab4d0c29b Translated desktop/views/pages/tag.vue
More weird syntax fiddling. Should work nonetheless
2018-08-01 14:52:53 -04:00
gutfuckllc
d6fab5fd6c Translated desktop/views/components/settings.drive.vue 2018-08-01 14:42:52 -04:00
gutfuckllc
8df35650e5 Merge remote-tracking branch 'upstream/master' into devel 2018-08-01 14:26:08 -04:00
gutfuckllc
c5b682dc89 common/views/widgets/calendar.vue
Did weird formatting tricks. Hopefully should work.
2018-08-01 14:25:55 -04:00
gutfuckllc
86d49c6704 Translated common/views/widgets/tips.vue
Double lines. Might want to check that.
2018-08-01 14:14:53 -04:00
greenkeeper[bot]
9e251b3ea0 fix(package): update sass-loader to version 7.1.0 2018-08-02 01:49:40 +09:00
gutfuckllc
8630cd8df6 Merge remote-tracking branch 'upstream/master' into devel 2018-08-01 12:35:51 -04:00
gutfuckllc
e42c8859b4 Translated desktop\views\pages\search.vue
Needed some weird text hack. Might want to check it later.
2018-08-01 12:20:41 -04:00
gutfuckllc
3636db3f85 Translated desktop/views/pages/share.vue 2018-08-01 12:09:59 -04:00
syuilo
fd4d03db58 Merge pull request #2043 from syuilo/greenkeeper/@types/node-10.5.5
Update @types/node to the latest version 🚀
2018-08-01 11:15:42 +09:00
syuilo
2c3ea0cfef Fix #2042 2018-08-01 11:07:30 +09:00
greenkeeper[bot]
bc34b4f198 fix(package): update @types/node to version 10.5.5 2018-08-01 01:40:10 +00:00
syuilo
e93503066c 5.9.0 2018-08-01 08:45:35 +09:00
syuilo
c4351acf7c Clean up 2018-08-01 08:44:58 +09:00
syuilo
bffd7bbb3b Clean up 2018-08-01 08:38:56 +09:00
syuilo
aad131c913 Merge pull request #2037 from syuilo/l10n_master
New Crowdin translations
2018-08-01 08:34:45 +09:00
syuilo
77faf7a84c Merge branch 'master' into l10n_master 2018-08-01 08:34:22 +09:00
syuilo
86a7c4772e New translations ja.yml (English) 2018-08-01 08:31:12 +09:00
syuilo
7430e258b1 New translations ja.yml (French) 2018-08-01 08:31:10 +09:00
syuilo
4efdd90066 New translations ja.yml (Catalan) 2018-08-01 08:21:28 +09:00
syuilo
4c0da272ce New translations ja.yml (Portuguese) 2018-08-01 08:21:26 +09:00
syuilo
cf48b5348f New translations ja.yml (Korean) 2018-08-01 08:21:24 +09:00
syuilo
aa74262564 New translations ja.yml (Polish) 2018-08-01 08:21:22 +09:00
syuilo
209383274e New translations ja.yml (Chinese Simplified) 2018-08-01 08:21:20 +09:00
syuilo
c6b1f206a6 New translations ja.yml (Italian) 2018-08-01 08:21:18 +09:00
syuilo
be504fc1fc New translations ja.yml (Russian) 2018-08-01 08:21:16 +09:00
syuilo
7118f7fec1 New translations ja.yml (English) 2018-08-01 08:21:14 +09:00
syuilo
7451a735e6 New translations ja.yml (Spanish) 2018-08-01 08:21:12 +09:00
syuilo
604a900664 New translations ja.yml (German) 2018-08-01 08:21:09 +09:00
syuilo
d7066de378 New translations ja.yml (French) 2018-08-01 08:21:07 +09:00
syuilo
f0bfb051c3 Merge pull request #2033 from syuilo/greenkeeper/qrcode-1.2.2
Update qrcode to the latest version 🚀
2018-08-01 08:18:40 +09:00
syuilo
54c4eb512f Merge pull request #2038 from gutfuckllc/devel
Translated slideshow.vue
2018-08-01 08:18:05 +09:00
gutfuckllc
3750b4d7d0 Translated slieshow.vue 2018-07-31 19:12:30 -04:00
syuilo
29c5f8c8e7 New translations ja.yml (Catalan) 2018-08-01 08:11:45 +09:00
syuilo
6b87edf63b New translations ja.yml (Portuguese) 2018-08-01 08:11:43 +09:00
syuilo
9b3180d74f New translations ja.yml (Korean) 2018-08-01 08:11:41 +09:00
syuilo
70331a0383 New translations ja.yml (Polish) 2018-08-01 08:11:39 +09:00
syuilo
2220b852c0 New translations ja.yml (Chinese Simplified) 2018-08-01 08:11:37 +09:00
syuilo
e5fa171df5 New translations ja.yml (Italian) 2018-08-01 08:11:35 +09:00
syuilo
d083c10ae3 New translations ja.yml (Russian) 2018-08-01 08:11:33 +09:00
syuilo
7a37b1c641 New translations ja.yml (English) 2018-08-01 08:11:30 +09:00
syuilo
e54449fbdb New translations ja.yml (Spanish) 2018-08-01 08:11:29 +09:00
syuilo
b5b384772a New translations ja.yml (German) 2018-08-01 08:11:26 +09:00
syuilo
733755bb5a New translations ja.yml (French) 2018-08-01 08:11:24 +09:00
syuilo
d6341d8ab6 Merge pull request #2036 from gutfuckllc/devel
Translated more/ Should build
2018-08-01 08:11:01 +09:00
gutfuckllc
b39384258c Added i18n line to hint
home.vue
2018-07-31 18:54:43 -04:00
gutfuckllc
dfa032d3f2 Escaped quotes
Should stop permanent breakages
2018-07-31 14:58:58 -04:00
gutfuckllc
f28fc08a57 Bettered french translation 2018-07-31 14:31:28 -04:00
gutfuckllc
e20e35c48d Unbroken more yaml 2018-07-31 14:29:28 -04:00
gutfuckllc
bddb47b0bd Unbroken yaml 2018-07-31 14:28:08 -04:00
gutfuckllc
469b21bb29 Translated customization tips to french 2018-07-31 14:25:56 -04:00
gutfuckllc
0a8213b851 Fully translated settings.profile.vue
Added relevant translation lines
2018-07-31 14:03:43 -04:00
gutfuckllc
460a4edb13 Added uncommitted file 2018-07-31 13:56:21 -04:00
gutfuckllc
2855ec0372 Reformat, more translation
Translated the totality of desktop/post-form.vue, reformated customization-tips.
2018-07-31 13:54:12 -04:00
gutfuckllc
0f34ed3ccd Added got it to the local files
Home.vue got it was still untranslated. It now has a localization file
2018-07-31 13:32:18 -04:00
gutfuckllc
cbb73e4e15 Localized customization tips on home.vue
Added relevant customization lines.
2018-07-31 13:29:18 -04:00
greenkeeper[bot]
99de2cd0ae fix(package): update qrcode to version 1.2.2 2018-07-31 16:16:30 +00:00
gutfuckllc
aed7d06af5 Translated trash on main menu
Translated trash on main menu
2018-07-31 11:36:15 -04:00
greenkeeper[bot]
2c348b51f1 fix(package): update @types/koa__cors to version 2.2.3 2018-07-31 12:24:22 +09:00
greenkeeper[bot]
14ac8327cf fix(package): update hard-source-webpack-plugin to version 0.12.0 2018-07-30 22:10:49 +09:00
syuilo
c520f17f3b New Crowdin translations (#2026)
* New translations ja.yml
2018-07-30 20:55:37 +09:00
syuilo
6c3d3ed322 New translations ja.yml (English) 2018-07-30 20:41:43 +09:00
syuilo
f4cf3840e4 New translations ja.yml (Catalan) 2018-07-30 20:21:45 +09:00
syuilo
3b2f116af0 New translations ja.yml (Portuguese) 2018-07-30 20:21:43 +09:00
syuilo
bba8f87687 New translations ja.yml (Korean) 2018-07-30 20:21:41 +09:00
syuilo
41b799b369 New translations ja.yml (Polish) 2018-07-30 20:21:39 +09:00
syuilo
d59c6af32c New translations ja.yml (Chinese Simplified) 2018-07-30 20:21:37 +09:00
syuilo
1b5023793a New translations ja.yml (Italian) 2018-07-30 20:21:34 +09:00
syuilo
f01a62c83b New translations ja.yml (Russian) 2018-07-30 20:21:31 +09:00
syuilo
ca84202f4c New translations ja.yml (English) 2018-07-30 20:21:29 +09:00
syuilo
9d7ffd1ae1 New translations ja.yml (Spanish) 2018-07-30 20:21:26 +09:00
syuilo
8f6886db82 New translations ja.yml (German) 2018-07-30 20:21:24 +09:00
syuilo
da5e708e0f New translations ja.yml (French) 2018-07-30 20:21:22 +09:00
Aya Morisawa
ff6993478f #332 2018-07-30 20:13:30 +09:00
syuilo
a54950f101 5.8.0 2018-07-30 16:25:22 +09:00
syuilo
6b567fdc05 ドキュメントにDisqus設置 2018-07-30 16:24:46 +09:00
syuilo
a4788fae45 Fix doc 2018-07-30 15:49:35 +09:00
syuilo
1ba1a7aa40 Fix bug 2018-07-30 14:46:11 +09:00
syuilo
835057d970 Revert "Fix bug"
This reverts commit 4e6dcd16ac.
2018-07-30 14:45:48 +09:00
syuilo
48f39e70c3 5.7.0 2018-07-30 07:24:22 +09:00
syuilo
3314640b01 Fix bug 2018-07-30 07:23:44 +09:00
syuilo
83d9730d93 #2020 2018-07-30 07:20:27 +09:00
syuilo
4e6dcd16ac Fix bug 2018-07-30 06:20:06 +09:00
syuilo
6debf45004 Merge pull request #2021 from syuilo/l10n_master
New Crowdin translations
2018-07-29 20:37:56 +09:00
syuilo
66b57e11db New translations ja.yml (French) 2018-07-29 20:00:50 +09:00
syuilo
1fc1c8a025 New translations ja.yml (French) 2018-07-29 19:50:57 +09:00
syuilo
6076f52390 Merge pull request #2019 from syuilo/l10n_master
New Crowdin translations
2018-07-29 17:23:21 +09:00
syuilo
3f33dbf6e8 New translations ja.yml (English) 2018-07-29 17:20:46 +09:00
syuilo
33f0dd8d43 #2018 2018-07-29 09:17:07 +09:00
syuilo
921fb0012b Fix bug 2018-07-29 05:34:08 +09:00
syuilo
2bdad9c411 ✌️ 2018-07-28 18:01:49 +09:00
syuilo
01f60c829d ✌️ 2018-07-28 17:57:24 +09:00
syuilo
1d6c0e1c6f Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-28 17:52:56 +09:00
syuilo
fb74f1d72b いくつかのコマンドラインオプションを追加するなど 2018-07-28 17:52:54 +09:00
nzws
33e1c08273 Fix margin in visibleUsers (mobile) 2018-07-28 13:17:32 +09:00
syuilo
23c32f1211 5.6.2 2018-07-28 11:43:11 +09:00
syuilo
c8a5d693ed Merge pull request #2012 from syuilo/l10n_master
New Crowdin translations
2018-07-28 11:42:18 +09:00
syuilo
4a54d01ca8 Merge pull request #2015 from syuilo/greenkeeper/@types/node-10.5.4
Update @types/node to the latest version 🚀
2018-07-28 11:42:11 +09:00
syuilo
359a7a7b98 Merge pull request #2014 from syuilo/greenkeeper/@types/koa-router-7.0.31
Update @types/koa-router to the latest version 🚀
2018-07-28 11:42:04 +09:00
greenkeeper[bot]
aaa25deaa9 fix(package): update @types/node to version 10.5.4 2018-07-28 00:57:57 +00:00
greenkeeper[bot]
cd07ae4d2e fix(package): update @types/koa-router to version 7.0.31 2018-07-28 00:48:10 +00:00
syuilo
1e8c1efe2f Fix #2013 2018-07-28 07:56:33 +09:00
syuilo
ce405fc4f6 Fix #2007 2018-07-28 07:52:48 +09:00
syuilo
50a6efd568 Fix #2000 2018-07-28 07:38:29 +09:00
syuilo
2c6f881093 管理者用パスワードリセットコマンドを実装 2018-07-28 04:02:52 +09:00
syuilo
e4bf0392af クラスタ数を制限するオプションを追加 2018-07-28 03:55:41 +09:00
syuilo
fcb9133f27 New translations ja.yml (French) 2018-07-27 22:12:20 +09:00
syuilo
5c6f24dc39 Merge pull request #2011 from syuilo/greenkeeper/webpack-4.16.3
Update webpack to the latest version 🚀
2018-07-27 19:31:42 +09:00
greenkeeper[bot]
ce562f3bca fix(package): update webpack to version 4.16.3 2018-07-27 10:24:24 +00:00
syuilo
9ef477f04b Merge pull request #2010 from acid-chicken/acid-chicken-patch-1
Minify Mk-III
2018-07-27 19:17:15 +09:00
Acid Chicken (硫酸鶏)
5268fee5b5 Fix bug 2018-07-27 19:15:38 +09:00
Aya Morisawa
68e28faedc 2018-07-27 19:12:16 +09:00
syuilo
12f63db62e 5.6.1 2018-07-27 18:52:07 +09:00
syuilo
08e1c87fa6 oops 2018-07-27 18:50:15 +09:00
syuilo
8ee962b729 5.6.0 2018-07-27 18:43:36 +09:00
syuilo
3d8b45ecdd Use os-utils 2018-07-27 18:42:58 +09:00
syuilo
2347d9cea2 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-27 18:40:41 +09:00
syuilo
8a57f490ce バギーなのでジョブキュー無効化 2018-07-27 18:40:38 +09:00
syuilo
a880f5cbb8 Merge pull request #2009 from acid-chicken/acid-chicken-patch-1
Minify Mk-II
2018-07-27 18:29:24 +09:00
Acid Chicken (硫酸鶏)
df5a7c7e0c Update calendar.vue 2018-07-27 18:28:06 +09:00
syuilo
b7b82456d8 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-27 18:18:49 +09:00
syuilo
6b19e54c23 Fix bug 2018-07-27 18:18:05 +09:00
Aya Morisawa
75d04858e6 2018-07-27 17:58:19 +09:00
Aya Morisawa
9332551791 2018-07-27 17:51:40 +09:00
Aya Morisawa
32117a573b Fix bug 2018-07-27 17:47:10 +09:00
Aya Morisawa
d4d3316d18 2018-07-27 17:43:04 +09:00
2vg
43a7eb233c fix: critical memory leak. 2018-07-27 17:33:21 +09:00
2vg
178093861b memory usage excludes buffer and cache. 2018-07-27 17:31:19 +09:00
syuilo
3fb26534b7 Merge pull request #2004 from syuilo/greenkeeper/jsdom-11.12.0
Update jsdom to the latest version 🚀
2018-07-27 14:48:59 +09:00
greenkeeper[bot]
19a9fdfd38 fix(package): update jsdom to version 11.12.0 2018-07-27 04:58:58 +00:00
syuilo
6438e97324 Merge pull request #2002 from yuzulabo/fix/visibility-icon-mobile
#1993 をモバイル版に対応
2018-07-27 13:37:45 +09:00
nzws
b29492e8eb Change VisibilityButton's icon in mobile view 2018-07-27 13:30:46 +09:00
greenkeeper[bot]
5ab4f10230 fix(package): update typescript-eslint-parser to version 17.0.1 2018-07-27 09:39:21 +09:00
syuilo
80b251e12c Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-27 07:29:26 +09:00
syuilo
bfd8b12a4f Clean up 2018-07-27 07:29:24 +09:00
syuilo
1c2e94658b Update README.md 2018-07-27 07:21:03 +09:00
syuilo
286da28cd6 5.5.0 2018-07-27 07:05:33 +09:00
syuilo
a4ee93a355 Fix bug 2018-07-27 07:05:12 +09:00
syuilo
ab56cb1788 Update doc 2018-07-27 06:07:13 +09:00
syuilo
32435e4d8e Update docs 2018-07-27 05:58:52 +09:00
syuilo
900cdf9d9a Update doc 2018-07-27 05:56:00 +09:00
syuilo
e79019266f Update doc 2018-07-27 05:50:37 +09:00
syuilo
deee7361f0 5.4.0 2018-07-27 04:26:48 +09:00
syuilo
bdcf09c618 Update doc 2018-07-27 04:25:38 +09:00
syuilo
7b5d6dcd9b Update doc 2018-07-27 04:21:48 +09:00
syuilo
0595d87759 Update doc 2018-07-27 04:10:16 +09:00
syuilo
fab0a0d6e2 ログインしていないとリバーシを観戦できない問題を修正 2018-07-27 04:01:12 +09:00
syuilo
3eb6b36866 Fix bug 2018-07-27 03:46:12 +09:00
syuilo
50327158e2 wip doc 2018-07-27 03:43:23 +09:00
syuilo
a99756ef85 ✌️ 2018-07-27 03:34:28 +09:00
syuilo
1c25dbed66 5.3.0 2018-07-27 03:23:17 +09:00
syuilo
7e8c5c0c3c Improve readability 2018-07-27 03:21:50 +09:00
syuilo
0b747b901c Merge pull request #1998 from syuilo/greenkeeper/typescript-eslint-parser-17.0.0
Update typescript-eslint-parser to the latest version 🚀
2018-07-27 01:54:09 +09:00
syuilo
8dd5051201 Merge pull request #1990 from mei23/mei-osurl
オブジェクトストレージの参照URLを上書きできるようにする
2018-07-27 01:53:42 +09:00
syuilo
f7b0fedc9d Merge pull request #1989 from mei23/mei-oscc
オブジェクトストレージ格納時にCache-Controlを指定する
2018-07-27 01:52:19 +09:00
greenkeeper[bot]
0411d0b242 fix(package): update typescript-eslint-parser to version 17.0.0 2018-07-26 13:37:52 +00:00
nzws
3fcc793269 Fix problem displaying button in profile page 2018-07-26 21:47:02 +09:00
nzws
fd27a0efef Hide follow button of my account 2018-07-26 21:45:43 +09:00
nzws
4474a2568e Change VisibilityButton's icon when changing visibility 2018-07-26 21:44:21 +09:00
mei23
9d944243a3 Add S3 examples 2018-07-26 17:42:08 +09:00
mei23
8ef38ebab1 Add config.drive.baseUrl 2018-07-26 17:29:05 +09:00
syuilo
f457a23eab Merge pull request #1988 from syuilo/greenkeeper/element-ui-2.4.5
Update element-ui to the latest version 🚀
2018-07-26 17:16:45 +09:00
greenkeeper[bot]
5d1eeaf1d8 fix(package): update element-ui to version 2.4.5 2018-07-26 08:16:21 +00:00
syuilo
77f732c6a4 5.2.1 2018-07-26 17:15:20 +09:00
syuilo
ac07f04ad8 Update job queue setting 2018-07-26 17:15:00 +09:00
syuilo
dddd760efd Fix bug 2018-07-26 17:13:55 +09:00
syuilo
0f7fbacb17 Fix bug 2018-07-26 17:10:43 +09:00
syuilo
2697107770 5.2.0 2018-07-26 17:04:33 +09:00
syuilo
e1e1cd0574 Update job queue settings 2018-07-26 17:02:34 +09:00
syuilo
93786aa510 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-26 16:51:00 +09:00
syuilo
d8b9a8715b ✌️ 2018-07-26 16:50:50 +09:00
mei23
e8783b15b1 Set Cache-Control to object-storage 2018-07-26 16:06:43 +09:00
syuilo
0995d5c5a2 Merge pull request #1986 from acid-chicken/master
Resolves #1985
2018-07-26 13:49:24 +09:00
Acid Chicken (硫酸鶏)
0852045928 Update misskey-flavored-markdown.ts 2018-07-26 13:48:08 +09:00
Acid Chicken (硫酸鶏)
04de0e9a50 Update hashtags.vue 2018-07-26 13:47:06 +09:00
syuilo
951b693d17 Merge pull request #1983 from mei23/mei-osct 2018-07-26 11:56:00 +09:00
mei23
308f357c4f Set Content-Type to object-storage 2018-07-26 10:47:12 +09:00
syuilo
206ddd6d36 5.1.0 2018-07-26 09:22:33 +09:00
syuilo
b4cf963bd6 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-26 08:11:49 +09:00
syuilo
77b493c9b0 Use bee-queue instead of Kue 2018-07-26 08:11:47 +09:00
syuilo
95a5ff5625 Merge pull request #1981 from syuilo/l10n_master
New Crowdin translations
2018-07-26 05:41:50 +09:00
syuilo
190753aa99 New translations ja.yml (Polish) 2018-07-26 05:41:28 +09:00
syuilo
f778696a76 ✌️ 2018-07-26 05:27:27 +09:00
syuilo
ce4fb49d4c Improve tweet embed 2018-07-26 04:55:39 +09:00
syuilo
91b89b79d2 Fix bug 2018-07-26 04:29:09 +09:00
syuilo
3cd3e19199 Update version 2018-07-26 03:46:55 +09:00
syuilo
ed36ceadbc ✌️ 2018-07-26 03:46:18 +09:00
syuilo
8736c9dfe6 Merge pull request #1977 from yarnaimo/embedded-tweet
ツイートの埋め込み
2018-07-26 02:31:00 +09:00
ysr227
e44f33bf14 Embed tweet when tweet url attached 2018-07-26 00:03:32 +09:00
Aya Morisawa
6e39b73f07 Fix #1961 2018-07-25 13:37:40 +09:00
Aya Morisawa
01703e5584 Fix #1975 2018-07-25 13:30:59 +09:00
syuilo
fee7cb41cb Merge pull request #1965 from syuilo/l10n_master
New Crowdin translations
2018-07-25 13:07:06 +09:00
greenkeeper[bot]
bb14af8b40 fix(package): update gulp-uglify to version 3.0.1 2018-07-25 12:15:40 +09:00
greenkeeper[bot]
54b849e548 fix(package): update @types/node to version 10.5.3 2018-07-25 12:15:29 +09:00
syuilo
8f50482896 Add note 2018-07-25 09:54:03 +09:00
syuilo
b3b82e7595 Fix bug nado 2018-07-25 08:01:12 +09:00
syuilo
9c4e0a4ae6 ✌️ 2018-07-25 07:46:56 +09:00
syuilo
0b656999d8 Clean up 2018-07-25 07:45:38 +09:00
syuilo
7605a512ba Update appveyor.yml 2018-07-25 07:33:49 +09:00
syuilo
2018a29968 Update docs 2018-07-25 07:29:55 +09:00
syuilo
dbf335a05d Refactor: withFile --> requireFile 2018-07-25 07:18:50 +09:00
syuilo
ad5a7e9d70 Update CHANGELOG 2018-07-25 07:08:53 +09:00
syuilo
f8477fa88d 🎨 2018-07-25 04:36:02 +09:00
syuilo
a22ddb05ba Update docs 2018-07-25 04:15:22 +09:00
syuilo
9455edf2da Update docs 2018-07-25 04:10:56 +09:00
syuilo
4a2244327f New translations ja.yml (English) 2018-07-25 01:41:43 +09:00
syuilo
708a800a25 New translations ja.yml (Catalan) 2018-07-25 01:21:58 +09:00
syuilo
a34193ca16 New translations ja.yml (Portuguese) 2018-07-25 01:21:56 +09:00
syuilo
a4886975e4 New translations ja.yml (Korean) 2018-07-25 01:21:54 +09:00
syuilo
8b6a015602 New translations ja.yml (Polish) 2018-07-25 01:21:52 +09:00
syuilo
f915560752 New translations ja.yml (Chinese Simplified) 2018-07-25 01:21:50 +09:00
syuilo
f2f0910771 New translations ja.yml (Italian) 2018-07-25 01:21:48 +09:00
syuilo
9316e2ce15 New translations ja.yml (Russian) 2018-07-25 01:21:46 +09:00
syuilo
128573e73e New translations ja.yml (English) 2018-07-25 01:21:44 +09:00
syuilo
3d132ad803 New translations ja.yml (Spanish) 2018-07-25 01:21:42 +09:00
syuilo
6f671325fa New translations ja.yml (German) 2018-07-25 01:21:40 +09:00
syuilo
7e6ac77341 New translations ja.yml (French) 2018-07-25 01:21:38 +09:00
syuilo
51bafe8259 #1893 2018-07-25 01:14:38 +09:00
syuilo
f1bbbcfedf Fix #1960 2018-07-25 00:51:30 +09:00
syuilo
7d99b154c0 Update config template: Add missing property definition 2018-07-25 00:40:27 +09:00
syuilo
575da76235 Clean up: Remove unmaintained codes 2018-07-25 00:33:48 +09:00
syuilo
c3b3b9b9a6 #1955 2018-07-25 00:29:18 +09:00
syuilo
7432de3d33 Merge pull request #1968 from syuilo/object-storage
Object storage support
2018-07-24 23:45:19 +09:00
syuilo
03ce87d710 wip 2018-07-24 23:43:14 +09:00
syuilo
5e9fb8bd84 wip 2018-07-24 23:35:19 +09:00
greenkeeper[bot]
68a205486e fix(package): update eslint-plugin-vue to version 4.7.1 2018-07-24 21:41:03 +09:00
greenkeeper[bot]
94c106a87a fix(package): update @types/webpack to version 4.4.8 2018-07-24 12:06:05 +09:00
greenkeeper[bot]
1b2a04bd2a fix(package): update gulp-rename to version 1.4.0 2018-07-24 06:24:11 +09:00
syuilo
a048939cf1 wip 2018-07-24 06:21:21 +09:00
syuilo
6296846078 New translations ja.yml (French) 2018-07-24 05:41:37 +09:00
syuilo
e530d12f7f New translations ja.yml (French) 2018-07-24 05:31:39 +09:00
syuilo
adc3c16ef3 wip 2018-07-24 05:04:43 +09:00
syuilo
5458b10774 wip 2018-07-24 01:58:11 +09:00
Aya Morisawa
9ad403af00 Enhance #1958 2018-07-23 20:58:59 +09:00
Aya Morisawa
8d7f16caed Update setup.*.md 2018-07-23 20:48:55 +09:00
Aya Morisawa
e5c20ca9a7 Update dependencyInfo.ts 2018-07-23 20:45:21 +09:00
greenkeeper[bot]
bd4a7d8cbb fix(package): update webpack to version 4.16.2 2018-07-23 20:19:24 +09:00
Aya Morisawa
5b116737b6 Fix typo 2018-07-23 20:11:20 +09:00
syuilo
8adc799041 Merge pull request #1959 from acid-chicken/top
Go to top
2018-07-23 14:37:18 +09:00
Acid Chicken (硫酸鶏)
41e657b64e Go to top 2018-07-23 14:35:00 +09:00
Aya Morisawa
f16cda51fb #1957 2018-07-23 14:07:09 +09:00
Aya Morisawa
886510d721 Clean up 2018-07-23 14:04:53 +09:00
Aya Morisawa
427b3dcd73 Fix semantic errors 2018-07-23 13:56:25 +09:00
Aya Morisawa
138fa1454f Fix #1957 2018-07-23 13:37:29 +09:00
greenkeeper[bot]
7ec9b03990 fix(package): update swagger-jsdoc to version 1.10.3 2018-07-23 12:54:02 +09:00
syuilo
65a91c5709 Merge pull request #1951 from syuilo/greenkeeper/hard-source-webpack-plugin-0.11.2
Update hard-source-webpack-plugin to the latest version 🚀
2018-07-22 21:56:55 +09:00
greenkeeper[bot]
e679f47c1a fix(package): update hard-source-webpack-plugin to version 0.11.2 2018-07-22 04:47:40 +00:00
syuilo
337ecafa56 Merge pull request #1949 from syuilo/greenkeeper/ratelimiter-3.2.0
Update ratelimiter to the latest version 🚀
2018-07-22 00:58:36 +09:00
syuilo
2c46098fb5 Merge pull request #1950 from syuilo/greenkeeper/ws-6.0.0
Update ws to the latest version 🚀
2018-07-22 00:58:06 +09:00
greenkeeper[bot]
35247af220 fix(package): update ws to version 6.0.0 2018-07-21 13:49:12 +00:00
greenkeeper[bot]
e71da1f659 fix(package): update ratelimiter to version 3.2.0 2018-07-21 12:57:47 +00:00
syuilo
91daa1958b 4.27.0 2018-07-21 19:46:29 +09:00
syuilo
900a9cb34f sharedInbox対応 2018-07-21 19:33:56 +09:00
syuilo
297a7f541e #1947 2018-07-21 19:17:15 +09:00
syuilo
049085fb7a Merge pull request #1945 from syuilo/greenkeeper/@types/mongodb-3.1.2
Update @types/mongodb to the latest version 🚀
2018-07-21 11:26:25 +09:00
greenkeeper[bot]
f594a2d0f4 fix(package): update @types/mongodb to version 3.1.2 2018-07-21 02:19:33 +00:00
syuilo
ffd13accca Refactor 2018-07-21 11:08:27 +09:00
syuilo
edf2503ee5 💯 2018-07-21 11:06:01 +09:00
syuilo
4d0c303660 Fix #1901 2018-07-21 11:03:32 +09:00
syuilo
49bc00102b Fix bug 2018-07-21 08:54:41 +09:00
syuilo
29f074267c Merge pull request #1943 from syuilo/refactor-notes-create
Refactor notes create
2018-07-21 08:51:56 +09:00
syuilo
7671c37f2a wip 2018-07-21 08:47:48 +09:00
syuilo
91ad9e4c41 wip 2018-07-21 07:05:51 +09:00
syuilo
ed48349e39 wip 2018-07-21 06:59:53 +09:00
syuilo
2df02a9d70 wip 2018-07-21 05:35:43 +09:00
syuilo
1d027613e4 🎨 2018-07-21 04:33:04 +09:00
syuilo
e9de73d2f6 Fix 2018-07-21 03:24:39 +09:00
syuilo
7b9b01688c Merge pull request #1942 from syuilo/l10n_master
New Crowdin translations
2018-07-21 03:21:16 +09:00
syuilo
afcf2fddb1 Improve hashtag suggestion 2018-07-21 03:15:31 +09:00
syuilo
78de3ba691 New translations ja.yml (English) 2018-07-21 03:11:10 +09:00
syuilo
2cfefee94d New translations ja.yml (Catalan) 2018-07-21 03:02:52 +09:00
syuilo
d50940cdf8 New translations ja.yml (Portuguese) 2018-07-21 03:02:51 +09:00
syuilo
e38ee663dc New translations ja.yml (Korean) 2018-07-21 03:02:49 +09:00
syuilo
5a160a76f7 New translations ja.yml (Polish) 2018-07-21 03:02:47 +09:00
syuilo
c504f27a51 New translations ja.yml (Chinese Simplified) 2018-07-21 03:02:45 +09:00
syuilo
3f5155e9b5 New translations ja.yml (Italian) 2018-07-21 03:02:43 +09:00
syuilo
dcb85073da New translations ja.yml (Russian) 2018-07-21 03:02:41 +09:00
syuilo
2a5f3491a6 New translations ja.yml (English) 2018-07-21 03:02:39 +09:00
syuilo
6f6b01344d New translations ja.yml (Spanish) 2018-07-21 03:02:37 +09:00
syuilo
73810758d9 New translations ja.yml (German) 2018-07-21 03:02:35 +09:00
syuilo
6cb527fd58 New translations ja.yml (French) 2018-07-21 03:02:33 +09:00
syuilo
7316352ff5 ✌️ 2018-07-21 02:58:44 +09:00
syuilo
ad76d5d8e2 Merge pull request #1939 from acid-chicken/sushi
🍣回転寿司🍣
2018-07-21 02:23:13 +09:00
syuilo
539f307500 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-21 02:18:40 +09:00
syuilo
5f68d08cbc Improve log 2018-07-21 02:18:35 +09:00
syuilo
bc8bea11c0 Merge pull request #1940 from acid-chicken/acid-chicken-patch-1
投稿できない際にショートカットキーをトリガーしないようにする
2018-07-21 02:16:11 +09:00
Acid Chicken (硫酸鶏)
9bb02e5bf6 Update post-form.vue 2018-07-21 02:14:24 +09:00
Acid Chicken (硫酸鶏)
ae68e6372c Update messaging-room.form.vue 2018-07-21 02:07:50 +09:00
Acid Chicken (硫酸鶏)
69593994ef Update post-form.vue 2018-07-21 02:06:49 +09:00
Acid Chicken (硫酸鶏)
cb52ebe65b インデクサーを忘れていた 2018-07-21 01:25:55 +09:00
Acid Chicken (硫酸鶏)
9b989ebac6 保存し忘れ 2018-07-21 01:24:12 +09:00
Acid Chicken (硫酸鶏)
f13bef4ac8 回転寿司 2018-07-21 01:21:27 +09:00
syuilo
29b1aa0d9b Merge pull request #1938 from acid-chicken/vscode
Add extension suggestion for VSCode
2018-07-21 00:49:07 +09:00
Acid Chicken (硫酸鶏)
5aa2e47c49 Add extension suggestion for VSCode 2018-07-21 00:38:08 +09:00
Aya Morisawa
773d104306 Fix #1868 2018-07-20 21:59:09 +09:00
syuilo
b8e948b009 Merge pull request #1936 from syuilo/patch-1803
Fix #1803
2018-07-20 21:47:35 +09:00
Aya Morisawa
49298d2f3f Update ISSUE_TEMPLATE 2018-07-20 21:41:06 +09:00
Aya Morisawa
ac19567f2b Fix #1803 2018-07-20 21:39:21 +09:00
Acid Chicken (硫酸鶏)
bc627fc55c タグサジェストが重複しないようにする 2018-07-20 21:12:28 +09:00
Aya Morisawa
eb6c2d0f73 Update bug_report.md 2018-07-20 21:08:12 +09:00
Aya Morisawa
436757c71d Enrich ISSUE_TEMPLATE
Close #1932
2018-07-20 21:05:58 +09:00
Aya Morisawa
5d09b7e38b mark as read all -> mark all as read
Close #855
2018-07-20 14:16:02 +09:00
syuilo
a8cf67198f Update README.md 2018-07-20 06:39:30 +09:00
syuilo
06539db1a0 4.26.0 2018-07-20 05:30:59 +09:00
syuilo
de10890bd8 Merge pull request #1930 from syuilo/l10n_master
New Crowdin translations
2018-07-20 05:30:41 +09:00
syuilo
8dc5375d55 最近使ったハッシュタグを表示するようにするなど 2018-07-20 05:29:56 +09:00
syuilo
1d23076191 New translations ja.yml (English) 2018-07-20 05:02:48 +09:00
syuilo
cbdc061891 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-20 04:59:12 +09:00
syuilo
9536d76b61 Improve 賢さ 2018-07-20 04:59:04 +09:00
syuilo
7a030901c8 Update README.md 2018-07-20 03:51:50 +09:00
syuilo
bcc02047ca New translations ja.yml (Catalan) 2018-07-20 03:01:45 +09:00
syuilo
c61616388e New translations ja.yml (Portuguese) 2018-07-20 03:01:43 +09:00
syuilo
499486f559 New translations ja.yml (Korean) 2018-07-20 03:01:40 +09:00
syuilo
179d231fd8 New translations ja.yml (Polish) 2018-07-20 03:01:38 +09:00
syuilo
2e4a391eda New translations ja.yml (Chinese Simplified) 2018-07-20 03:01:36 +09:00
syuilo
3d214fee4b New translations ja.yml (Italian) 2018-07-20 03:01:34 +09:00
syuilo
509a4c7955 New translations ja.yml (Russian) 2018-07-20 03:01:32 +09:00
syuilo
c754046eaf New translations ja.yml (English) 2018-07-20 03:01:30 +09:00
syuilo
92571d9133 New translations ja.yml (Spanish) 2018-07-20 03:01:28 +09:00
syuilo
add425abdb New translations ja.yml (German) 2018-07-20 03:01:26 +09:00
syuilo
1890d9e2ee New translations ja.yml (French) 2018-07-20 03:01:23 +09:00
syuilo
83f2926f0c 4.25.0 2018-07-20 02:55:27 +09:00
syuilo
738ced81ec 動画もNSFW 2018-07-20 02:53:32 +09:00
syuilo
b22c1ae520 New translations ja.yml (English) 2018-07-20 02:53:19 +09:00
syuilo
e2e7489b1f New translations ja.yml (Catalan) 2018-07-20 02:42:02 +09:00
syuilo
6ae7b8303d New translations ja.yml (Portuguese) 2018-07-20 02:42:00 +09:00
syuilo
55f40af51c New translations ja.yml (Korean) 2018-07-20 02:41:58 +09:00
syuilo
7a784cea3b New translations ja.yml (Polish) 2018-07-20 02:41:56 +09:00
syuilo
f86cccec0c New translations ja.yml (Chinese Simplified) 2018-07-20 02:41:54 +09:00
syuilo
9d90a28d76 New translations ja.yml (Italian) 2018-07-20 02:41:52 +09:00
syuilo
1724cf7c17 New translations ja.yml (Russian) 2018-07-20 02:41:50 +09:00
syuilo
d64d92ccf5 New translations ja.yml (English) 2018-07-20 02:41:48 +09:00
syuilo
f64ced8677 New translations ja.yml (Spanish) 2018-07-20 02:41:46 +09:00
syuilo
db1c0468aa New translations ja.yml (German) 2018-07-20 02:41:44 +09:00
syuilo
77c5d3276a New translations ja.yml (French) 2018-07-20 02:41:41 +09:00
syuilo
ec2b1ec3f0 #1334 2018-07-20 02:40:37 +09:00
syuilo
85bf76dd98 4.24.1 2018-07-19 22:49:12 +09:00
syuilo
bfa326af2c WIP: Support sharedInbox 2018-07-19 22:40:44 +09:00
syuilo
534c47935a chore: Update backers 2018-07-19 22:15:54 +09:00
syuilo
31a6f2b421 Clean up 2018-07-19 22:02:30 +09:00
Aya Morisawa
66c106722c Hide settings button
It is unimplemented
2018-07-19 16:40:40 +09:00
Aya Morisawa
9d0204f2fa Hide detail button
It is unimplemented
2018-07-19 16:21:22 +09:00
syuilo
fceb0e2158 4.24.0 2018-07-19 11:55:11 +09:00
syuilo
14e7caaa5d Merge pull request #1926 from syuilo/greenkeeper/emojilib-2.3.0
Update emojilib to the latest version 🚀
2018-07-19 11:49:29 +09:00
syuilo
744e009690 #1927 2018-07-19 11:47:18 +09:00
syuilo
713dcd9083 #1921 2018-07-19 11:45:55 +09:00
Aya Morisawa
e03ec67b5c Show error message if searching is not available 2018-07-19 08:24:03 +09:00
Aya Morisawa
7e27e2757f Hide delete button
It is unimplemented
2018-07-19 07:48:42 +09:00
Aya Morisawa
f05c5ff617 Update gulpfile.ts 2018-07-19 06:53:46 +09:00
greenkeeper[bot]
1afb26f04a fix(package): update emojilib to version 2.3.0 2018-07-18 21:07:40 +00:00
syuilo
7873905cde 🎨 2018-07-19 04:50:46 +09:00
syuilo
41a9100477 Merge pull request #1925 from syuilo/greenkeeper/swagger-jsdoc-1.10.2
fix(package): update swagger-jsdoc to version 1.10.2
2018-07-19 04:19:34 +09:00
syuilo
b8cc1eb993 Merge pull request #1922 from syuilo/greenkeeper/webpack-cli-3.1.0
Update webpack-cli to the latest version 🚀
2018-07-19 04:19:14 +09:00
greenkeeper[bot]
adbbfd9dc2 fix(package): update swagger-jsdoc to version 1.10.2
Closes #1924
2018-07-18 18:38:00 +00:00
syuilo
84da99d56c 🎨 2018-07-19 03:25:37 +09:00
syuilo
aaf8f09cfd Merge pull request #1923 from acid-chicken/master
Animate calender meters
2018-07-19 00:16:33 +09:00
Acid Chicken (硫酸鶏)
6da464fd1b Update calendar.vue 2018-07-19 00:13:58 +09:00
syuilo
efaa41ba49 reCAPTCHAをオプションに 2018-07-19 00:04:09 +09:00
greenkeeper[bot]
67e8e1d819 fix(package): update webpack-cli to version 3.1.0 2018-07-18 15:01:30 +00:00
Aya Morisawa
532f8f8e4c Fix indent 2018-07-18 19:36:36 +09:00
Aya Morisawa
0109e8e57c Add white spaces 2018-07-18 19:24:31 +09:00
Aya Morisawa
6e720b2798 Hide drive search form
It is unimplemented
2018-07-18 19:13:41 +09:00
Aya Morisawa
d3f2a97dd4 English for ISSUE_TEMPLATE
Close #1796
2018-07-18 17:41:28 +09:00
syuilo
9f7b04b0ec Merge pull request #1920 from syuilo/greenkeeper/vue-loader-15.2.6
Update vue-loader to the latest version 🚀
2018-07-18 14:28:54 +09:00
greenkeeper[bot]
c4118c78b7 fix(package): update vue-loader to version 15.2.6 2018-07-18 03:41:17 +00:00
syuilo
84147c558f 4.23.1 2018-07-18 07:34:33 +09:00
syuilo
4cb51a2d32 Fix bugs 2018-07-18 07:34:17 +09:00
syuilo
4727780a3d 4.23.0 2018-07-18 07:20:25 +09:00
syuilo
df20f5063d #1720 #59 2018-07-18 07:19:24 +09:00
syuilo
d2a5f4c5c1 ✌️ 2018-07-18 06:53:31 +09:00
syuilo
64ba85aa9b 🎨 2018-07-18 06:13:54 +09:00
syuilo
51c33989fe Merge pull request #1919 from acid-chicken/master
Improve analog clock
2018-07-18 02:15:12 +09:00
Acid Chicken (硫酸鶏)
4713822122 Update analog-clock.vue 2018-07-18 02:06:01 +09:00
Acid Chicken (硫酸鶏)
e10de62a7a Update analog-clock.vue 2018-07-18 02:04:07 +09:00
Acid Chicken (硫酸鶏)
14b235e3a4 Update analog-clock.vue 2018-07-18 02:02:52 +09:00
syuilo
eb4aac3902 Merge pull request #1918 from acid-chicken/master
Minify
2018-07-18 01:47:38 +09:00
Acid Chicken (硫酸鶏)
180bf33a28 Update calendar.vue 2018-07-18 01:46:21 +09:00
syuilo
935a254c97 4.22.1 2018-07-18 01:22:25 +09:00
syuilo
3c678f0e92 Fix bug 2018-07-18 01:22:11 +09:00
syuilo
a053e1c1de 4.22.0 2018-07-18 01:03:24 +09:00
syuilo
b8fa1751ba Merge pull request #1911 from syuilo/l10n_master
New Crowdin translations
2018-07-18 01:02:15 +09:00
syuilo
c4243d54a9 New translations ja.yml (English) 2018-07-18 01:01:49 +09:00
syuilo
1767f54fed 🎨 2018-07-18 00:55:33 +09:00
syuilo
7e465cdbbe New translations ja.yml (Catalan) 2018-07-18 00:52:04 +09:00
syuilo
47f67fcba9 New translations ja.yml (Portuguese) 2018-07-18 00:52:02 +09:00
syuilo
3fff20fb13 New translations ja.yml (Korean) 2018-07-18 00:52:00 +09:00
syuilo
06a2d87129 New translations ja.yml (Polish) 2018-07-18 00:51:58 +09:00
syuilo
a8076e306a New translations ja.yml (Chinese Simplified) 2018-07-18 00:51:56 +09:00
syuilo
05e5829260 New translations ja.yml (Italian) 2018-07-18 00:51:54 +09:00
syuilo
5a91416f34 New translations ja.yml (Russian) 2018-07-18 00:51:52 +09:00
syuilo
70db1d0066 New translations ja.yml (English) 2018-07-18 00:51:50 +09:00
syuilo
26c936d19e New translations ja.yml (Spanish) 2018-07-18 00:51:48 +09:00
syuilo
3b0ae3f80d New translations ja.yml (German) 2018-07-18 00:51:46 +09:00
syuilo
2570d85543 New translations ja.yml (French) 2018-07-18 00:51:44 +09:00
syuilo
b274c4160e Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-18 00:47:11 +09:00
syuilo
f9d5d9e30b Improve doc 2018-07-18 00:47:09 +09:00
syuilo
8cdf5ff6df New translations ja.yml (Polish) 2018-07-18 00:42:22 +09:00
syuilo
409ebf6e14 Merge pull request #1917 from syuilo/greenkeeper/vue-loader-15.2.5
Update vue-loader to the latest version 🚀
2018-07-18 00:22:41 +09:00
greenkeeper[bot]
a3d34ba919 fix(package): update vue-loader to version 15.2.5 2018-07-17 15:08:22 +00:00
syuilo
242bb1a428 New translations ja.yml (English) 2018-07-17 19:01:46 +09:00
syuilo
4a25ed0627 ✌️ 2018-07-17 18:50:13 +09:00
syuilo
f65fbf9d55 Merge pull request #1916 from acid-chicken/acid-chicken-patch-1
Proposal: Smooth Clock
2018-07-17 18:45:21 +09:00
Acid Chicken (硫酸鶏)
6169acd478 Update analog-clock.vue 2018-07-17 18:43:04 +09:00
syuilo
481f1a7c36 4.21.0 2018-07-17 04:37:23 +09:00
syuilo
16726789da Update api definitions 2018-07-17 04:36:44 +09:00
syuilo
e71f650ade New translations ja.yml (Catalan) 2018-07-17 04:01:52 +09:00
syuilo
e8a7f571e1 New translations ja.yml (Portuguese) 2018-07-17 04:01:49 +09:00
syuilo
3117c8a98f New translations ja.yml (Korean) 2018-07-17 04:01:47 +09:00
syuilo
90b845f3db New translations ja.yml (Polish) 2018-07-17 04:01:45 +09:00
syuilo
f5dd972e38 New translations ja.yml (Chinese Simplified) 2018-07-17 04:01:43 +09:00
syuilo
4b210e1a6a New translations ja.yml (Italian) 2018-07-17 04:01:41 +09:00
syuilo
1a7eb3c1df New translations ja.yml (Russian) 2018-07-17 04:01:38 +09:00
syuilo
52f84d8603 New translations ja.yml (English) 2018-07-17 04:01:37 +09:00
syuilo
f92d218c0c New translations ja.yml (Spanish) 2018-07-17 04:01:35 +09:00
syuilo
81c5ece8a9 New translations ja.yml (German) 2018-07-17 04:01:32 +09:00
syuilo
a97bc38f3e New translations ja.yml (French) 2018-07-17 04:01:30 +09:00
syuilo
aacfb5e221 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-17 03:57:42 +09:00
syuilo
f88ac3c04e Improve doc 2018-07-17 03:57:34 +09:00
syuilo
1fb53acc46 Merge pull request #1914 from syuilo/greenkeeper/@types/webpack-4.4.7
Update @types/webpack to the latest version 🚀
2018-07-17 03:32:07 +09:00
greenkeeper[bot]
ae3b0d5437 fix(package): update @types/webpack to version 4.4.7 2018-07-16 18:29:21 +00:00
syuilo
f9b2da1bb0 🎨 2018-07-17 03:21:25 +09:00
syuilo
d0bea052ad 🎨 2018-07-17 03:16:21 +09:00
syuilo
c012faa958 New translations ja.yml (English) 2018-07-17 01:37:35 +09:00
syuilo
c8cfd1ee65 New translations ja.yml (English) 2018-07-17 01:21:15 +09:00
syuilo
e8da0bcd80 Improve doc 2018-07-17 01:11:36 +09:00
syuilo
591ff9095a New translations ja.yml (Catalan) 2018-07-17 00:51:59 +09:00
syuilo
6df91d3078 New translations ja.yml (Portuguese) 2018-07-17 00:51:57 +09:00
syuilo
288c14efce New translations ja.yml (Korean) 2018-07-17 00:51:56 +09:00
syuilo
ee8d636ca8 New translations ja.yml (Polish) 2018-07-17 00:51:54 +09:00
syuilo
a3ceecae91 New translations ja.yml (Chinese Simplified) 2018-07-17 00:51:52 +09:00
syuilo
5ad89a3b3d New translations ja.yml (Italian) 2018-07-17 00:51:50 +09:00
syuilo
e1089cc18d New translations ja.yml (Russian) 2018-07-17 00:51:48 +09:00
syuilo
f9e780187c New translations ja.yml (English) 2018-07-17 00:51:46 +09:00
syuilo
42cbe96a14 New translations ja.yml (Spanish) 2018-07-17 00:51:44 +09:00
syuilo
1f23b11dcc New translations ja.yml (German) 2018-07-17 00:51:42 +09:00
syuilo
ad3b4bbd58 New translations ja.yml (French) 2018-07-17 00:51:40 +09:00
syuilo
455f4ffa27 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-17 00:46:32 +09:00
syuilo
1d867b8aca Improve doc 2018-07-17 00:46:06 +09:00
syuilo
1f9c18e615 Merge pull request #1912 from syuilo/greenkeeper/webpack-4.16.1
Update webpack to the latest version 🚀
2018-07-16 23:50:43 +09:00
syuilo
5bf439851d New translations ja.yml (English) 2018-07-16 19:02:16 +09:00
syuilo
9df3f99a1c New translations ja.yml (English) 2018-07-16 18:42:49 +09:00
syuilo
f41232703b New translations ja.yml (Polish) 2018-07-16 18:32:12 +09:00
greenkeeper[bot]
abc4e53943 fix(package): update webpack to version 4.16.1 2018-07-16 08:30:40 +00:00
syuilo
f846508fc1 New translations ja.yml (Catalan) 2018-07-16 08:01:15 +09:00
syuilo
7343003287 New translations ja.yml (Portuguese) 2018-07-16 08:01:13 +09:00
syuilo
25ca3d610b New translations ja.yml (Korean) 2018-07-16 08:01:11 +09:00
syuilo
9d286786d4 New translations ja.yml (Polish) 2018-07-16 08:01:09 +09:00
syuilo
91037ebdd6 New translations ja.yml (Chinese Simplified) 2018-07-16 08:01:06 +09:00
syuilo
26b2eafea0 New translations ja.yml (Italian) 2018-07-16 08:01:04 +09:00
syuilo
432beedd94 New translations ja.yml (Russian) 2018-07-16 08:01:02 +09:00
syuilo
3a919bab45 New translations ja.yml (English) 2018-07-16 08:01:00 +09:00
syuilo
11af9b808d New translations ja.yml (Spanish) 2018-07-16 08:00:58 +09:00
syuilo
af35335772 New translations ja.yml (German) 2018-07-16 08:00:57 +09:00
syuilo
7b9047cc82 New translations ja.yml (French) 2018-07-16 08:00:55 +09:00
こぴなたみぽ
4cad36572c Improve doc 2018-07-16 07:54:08 +09:00
こぴなたみぽ
b5625a4550 Fix 2018-07-16 06:58:45 +09:00
syuilo
ec41d8053c New translations ja.yml (Catalan) 2018-07-16 06:21:12 +09:00
syuilo
284cfe6989 New translations ja.yml (Portuguese) 2018-07-16 06:21:11 +09:00
syuilo
ad8f363c5d New translations ja.yml (Korean) 2018-07-16 06:21:09 +09:00
syuilo
3d3cf73c30 New translations ja.yml (Polish) 2018-07-16 06:21:06 +09:00
syuilo
fd9bd28361 New translations ja.yml (Chinese Simplified) 2018-07-16 06:21:04 +09:00
syuilo
d2919dece0 New translations ja.yml (Italian) 2018-07-16 06:21:02 +09:00
syuilo
a86442bff7 New translations ja.yml (Russian) 2018-07-16 06:21:00 +09:00
syuilo
4b915d43cf New translations ja.yml (English) 2018-07-16 06:20:58 +09:00
syuilo
b20c3d84a6 New translations ja.yml (Spanish) 2018-07-16 06:20:56 +09:00
syuilo
d2bbf5ffc4 New translations ja.yml (German) 2018-07-16 06:20:55 +09:00
syuilo
4ef9411f35 New translations ja.yml (French) 2018-07-16 06:20:52 +09:00
syuilo
168d13d6e6 Improve docs 2018-07-16 06:19:19 +09:00
syuilo
1e921a9fd5 Update docs 2018-07-16 05:47:41 +09:00
syuilo
9e438ed674 🎨 2018-07-16 03:55:42 +09:00
syuilo
3a02a7dad8 良い感じに 2018-07-16 03:53:03 +09:00
syuilo
1744316656 良い感じに 2018-07-16 03:43:36 +09:00
syuilo
1e4a86da8e 良い感じに 2018-07-16 03:25:35 +09:00
syuilo
2b31b6a6b0 Add doc 2018-07-16 02:26:54 +09:00
syuilo
c7a3f40eba Add README 2018-07-15 22:30:27 +09:00
syuilo
8b9710df9f Add doc 2018-07-15 22:18:47 +09:00
syuilo
ce6f750fa5 Improve docs 2018-07-15 22:00:05 +09:00
syuilo
468eb02ff3 Set title of a doc 2018-07-15 21:48:57 +09:00
syuilo
dfca7f1340 Fix bug 2018-07-15 19:38:06 +09:00
syuilo
7bfa56d199 Fix bug 2018-07-15 19:35:20 +09:00
syuilo
c579cbdf10 Fix bug 2018-07-15 19:29:15 +09:00
syuilo
0b3609c775 4.20.0 2018-07-15 19:06:27 +09:00
syuilo
be52eb9b3f API doc 2018-07-15 19:05:19 +09:00
syuilo
5f5156561f ドキュメントをMarkdownで書くように 2018-07-15 18:28:08 +09:00
syuilo
d47f92f396 グローバルタイムラインに返信を含めないように 2018-07-15 17:50:24 +09:00
syuilo
2a30bc9a56 Merge pull request #1908 from syuilo/greenkeeper/eslint-plugin-vue-4.7.0
Update eslint-plugin-vue to the latest version 🚀
2018-07-15 14:41:17 +09:00
syuilo
a427b7a1af Doc: Add "Clean up unused drive files" section 2018-07-15 14:35:22 +09:00
syuilo
05d5e70c58 Doc: Add "Clean up cached remote files" section 2018-07-15 14:29:30 +09:00
syuilo
62858caaa4 Update manage odc 2018-07-15 14:27:25 +09:00
syuilo
b9b48a55ef Update doc 2018-07-15 14:20:30 +09:00
Aya Morisawa
7276ec185b Update setup docs 2018-07-15 09:43:16 +09:00
Skid
e063ac10c5 Create manage.en.md 2018-07-15 09:25:01 +09:00
Skid
eca9a7ea13 Update setup.en.md 2018-07-15 09:25:01 +09:00
greenkeeper[bot]
86d9a72bbf fix(package): update eslint-plugin-vue to version 4.7.0 2018-07-14 20:30:01 +00:00
syuilo
073707b2d0 Better default value 2018-07-15 02:29:50 +09:00
syuilo
b971fbaac6 Fix 2018-07-15 02:23:22 +09:00
syuilo
86795f1091 Add optional Elasticsearch setting 2018-07-15 02:22:02 +09:00
syuilo
5b9dd4fb80 Update example.yml 2018-07-15 02:17:45 +09:00
syuilo
5ff31e197b Update example.yml 2018-07-15 02:16:35 +09:00
syuilo
0bd5e64b86 Update example.yml 2018-07-15 02:15:45 +09:00
syuilo
3089b56f70 Update example.yml 2018-07-15 02:11:56 +09:00
syuilo
46bf0eae40 Update example.yml 2018-07-15 02:11:17 +09:00
syuilo
97f411130f Update example.yml 2018-07-15 02:09:55 +09:00
Aya Morisawa
b9ce7bc99d Update package.json 2018-07-15 02:08:22 +09:00
syuilo
9d3ecda43d Merge pull request #1907 from syuilo/patch-1
Revert "Update example.yml"
2018-07-15 02:02:51 +09:00
Aya Morisawa
8356f6d128 Revert "Update example.yml"
This reverts commit 7ab9d01bac.
2018-07-15 02:01:33 +09:00
Aya Morisawa
05a084dadf Merge branch 'master' of aya.github:syuilo/misskey 2018-07-15 01:59:38 +09:00
Aya Morisawa
f338fa552e Not cast to any 2018-07-15 01:59:24 +09:00
syuilo
7ab9d01bac Update example.yml 2018-07-15 01:58:08 +09:00
Aya Morisawa
5b0aaf66eb Update log message 2018-07-15 01:57:22 +09:00
syuilo
6a4e92a999 #1903 2018-07-15 01:56:31 +09:00
syuilo
0a4b652493 Darken
Co-Authored-By: tamaina <tamaina@hotmail.co.jp>
2018-07-15 01:49:36 +09:00
syuilo
eebc1af672 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-15 01:48:09 +09:00
syuilo
41fa045999 Darken
Co-Authored-By: tamaina <tamaina@hotmail.co.jp>
2018-07-15 01:48:06 +09:00
Aya Morisawa
4b52c89a75 Update package.json 2018-07-15 01:42:14 +09:00
syuilo
28dcf8bc1e Revert "Update messaging-room.vue"
This reverts commit 313afbd6db.
2018-07-15 01:07:17 +09:00
syuilo
5af469282a Merge pull request #1906 from syuilo/imgbot
[ImgBot] optimizes images
2018-07-14 23:22:45 +09:00
ImgBotApp
4c58dc61bc [ImgBot] optimizes images
*Total -- 887.85kb -> 803.26kb (9.53%)

/src/client/app/desktop/assets/remove.png -- 3.04kb -> 0.41kb (86.39%)
/src/server/file/assets/bad-egg.png -- 4.67kb -> 1.64kb (64.96%)
/src/server/file/assets/cache-expired.png -- 14.67kb -> 5.91kb (59.75%)
/test/resources/Lenna.jpg -- 52.22kb -> 24.77kb (52.57%)
/assets/apple-touch-icon.png -- 4.71kb -> 2.46kb (47.82%)
/assets/icons/256.png -- 4.71kb -> 2.46kb (47.82%)
/assets/favicon/favicon.png -- 6.81kb -> 3.91kb (42.57%)
/assets/title.png -- 6.62kb -> 3.80kb (42.56%)
/src/server/file/assets/not-an-image.png -- 4.60kb -> 2.71kb (40.99%)
/src/server/file/assets/thumbnail-not-available.png -- 8.62kb -> 5.57kb (35.33%)
/src/client/assets/reactions/angry.png -- 5.74kb -> 4.50kb (21.6%)
/src/server/file/assets/tombstone.png -- 6.24kb -> 4.91kb (21.28%)
/src/client/assets/reactions/surprise.png -- 4.59kb -> 3.72kb (18.99%)
/assets/icons/128.png -- 3.07kb -> 2.49kb (18.74%)
/assets/icons/192.png -- 4.56kb -> 3.80kb (16.65%)
/src/client/assets/reactions/confused.png -- 7.08kb -> 5.92kb (16.5%)
/src/client/assets/reactions/love.png -- 3.26kb -> 2.74kb (16.07%)
/src/client/assets/reactions/laugh.png -- 7.74kb -> 6.77kb (12.47%)
/src/client/assets/reactions/hmm.png -- 6.47kb -> 5.74kb (11.38%)
/src/client/assets/reactions/congrats.png -- 10.39kb -> 9.77kb (6.04%)
/src/client/assets/pointer.png -- 246.93kb -> 232.06kb (6.02%)
/src/client/assets/error.jpg -- 55.53kb -> 52.84kb (4.84%)
/assets/icons/64.png -- 1.30kb -> 1.24kb (4.66%)
/src/server/file/assets/avatar.jpg -- 1.29kb -> 1.23kb (4.61%)
/src/client/assets/reactions/pudding.png -- 7.47kb -> 7.42kb (0.74%)
/src/client/assets/reactions/like.png -- 4.72kb -> 4.71kb (0.27%)
/src/client/app/desktop/assets/index.jpg -- 400.79kb -> 399.78kb (0.25%)
2018-07-14 14:20:36 +00:00
syuilo
c4bf80c262 Update example.yml 2018-07-14 23:20:30 +09:00
Aya Morisawa
e485e8936f Update example config 2018-07-14 23:14:24 +09:00
Aya Morisawa
e495e0d2e6 Update config example 2018-07-14 23:07:59 +09:00
Aya Morisawa
3695e6db15 Update config example 2018-07-14 23:06:46 +09:00
syuilo
ac7df96f68 Update example.yml
Update some default values
2018-07-14 23:03:20 +09:00
Aya Morisawa
cf17a39446 Update setup.*.md 2018-07-14 22:56:54 +09:00
Aya Morisawa
87cc5f790c Update log messages 2018-07-14 22:53:30 +09:00
Aya Morisawa
b03987290c Update config example 2018-07-14 22:42:44 +09:00
Aya Morisawa
1f4969547b Update log message 2018-07-14 22:23:43 +09:00
Aya Morisawa
d12d201ef4 Update logger 2018-07-14 22:14:56 +09:00
Aya Morisawa
c91a4c9da1 Update log messages 2018-07-14 22:10:27 +09:00
Aya Morisawa
1213e95ddd Merge branch 'master' of aya.github:syuilo/misskey 2018-07-14 22:10:14 +09:00
syuilo
90a836d587 Merge pull request #1905 from syuilo/l10n_master
New Crowdin translations
2018-07-14 22:07:41 +09:00
syuilo
973c2ebafd Merge pull request #1904 from syuilo/greenkeeper/eslint-plugin-vue-4.6.0
Update eslint-plugin-vue to the latest version 🚀
2018-07-14 22:07:24 +09:00
Aya Morisawa
24f52aee46 Update log messages 2018-07-14 22:05:19 +09:00
Aya Morisawa
4d2c0e4161 Update dependency checking for ImageMagick 2018-07-14 21:59:15 +09:00
syuilo
b687546fcd New translations ja.yml (English) 2018-07-14 21:41:01 +09:00
Aya Morisawa
3c701aaf86 Update log messages 2018-07-14 21:03:09 +09:00
Aya Morisawa
d50e99c17b Update log messages 2018-07-14 20:58:21 +09:00
greenkeeper[bot]
41d5e0ab24 fix(package): update eslint-plugin-vue to version 4.6.0 2018-07-14 11:39:54 +00:00
Aya Morisawa
c99e864dbc 2018-07-14 19:49:21 +09:00
syuilo
f39adfdf87 Update create.ts 2018-07-14 19:40:23 +09:00
syuilo
0d1ffb581f 4.19.1 2018-07-14 13:49:31 +09:00
syuilo
4add44f3bd Update create.ts 2018-07-14 13:47:36 +09:00
syuilo
baae9f6f39 Merge pull request #1900 from syuilo/l10n_master
New Crowdin translations
2018-07-14 12:02:44 +09:00
syuilo
0a9958f45f New translations ja.yml (English) 2018-07-14 12:00:50 +09:00
syuilo
7e5d25cf2c 4.19.0 2018-07-14 11:58:54 +09:00
syuilo
9666e6b4d3 #1894 2018-07-14 11:58:21 +09:00
syuilo
c937cb94f9 Clean up 2018-07-14 11:55:36 +09:00
syuilo
5e54d093f5 New translations ja.yml (Catalan) 2018-07-14 11:51:12 +09:00
syuilo
c7f099276e New translations ja.yml (Portuguese) 2018-07-14 11:51:10 +09:00
syuilo
ee4235ba71 New translations ja.yml (Korean) 2018-07-14 11:51:08 +09:00
syuilo
71066d69fb New translations ja.yml (Polish) 2018-07-14 11:51:06 +09:00
syuilo
4581376198 New translations ja.yml (Chinese Simplified) 2018-07-14 11:51:04 +09:00
syuilo
04ebde62bc New translations ja.yml (Italian) 2018-07-14 11:51:02 +09:00
syuilo
fec47f05cf New translations ja.yml (Russian) 2018-07-14 11:51:00 +09:00
syuilo
b9e2fb74ed New translations ja.yml (English) 2018-07-14 11:50:58 +09:00
syuilo
a1d6637dd1 New translations ja.yml (Spanish) 2018-07-14 11:50:57 +09:00
syuilo
e6fa5a07ce New translations ja.yml (German) 2018-07-14 11:50:55 +09:00
syuilo
eec6226c8d New translations ja.yml (French) 2018-07-14 11:50:53 +09:00
syuilo
356fe8180e 4.18.0 2018-07-14 11:44:12 +09:00
syuilo
30c120596a social 2018-07-14 11:43:39 +09:00
syuilo
c6e330ea8d Merge pull request #1898 from syuilo/greenkeeper/@types/webpack-4.4.6
Update @types/webpack to the latest version 🚀
2018-07-14 11:02:16 +09:00
syuilo
dca55d12ac Merge pull request #1897 from syuilo/greenkeeper/@types/elasticsearch-5.0.25
Update @types/elasticsearch to the latest version 🚀
2018-07-14 11:02:07 +09:00
greenkeeper[bot]
4426da6233 fix(package): update @types/webpack to version 4.4.6 2018-07-14 01:55:05 +00:00
greenkeeper[bot]
381fe2f436 fix(package): update @types/elasticsearch to version 5.0.25 2018-07-14 01:05:31 +00:00
Aya Morisawa
28cd7a67de Update log message 2018-07-14 00:41:33 +09:00
Aya Morisawa
97f75cea52 Merge branch 'master' of aya.github:syuilo/misskey 2018-07-14 00:39:50 +09:00
Aya Morisawa
5e788f0da4 Kill child process on exit 2018-07-14 00:39:39 +09:00
Aya Morisawa
1fc9d034d0 Update log message 2018-07-14 00:39:11 +09:00
syuilo
dc8f14c23a Fix #1887 2018-07-14 00:36:39 +09:00
syuilo
e9717da916 Merge pull request #1880 from syuilo/l10n_master
New Crowdin translations
2018-07-14 00:34:41 +09:00
syuilo
73c328f90b Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-14 00:34:08 +09:00
syuilo
25a6f7041a Fix bug 2018-07-14 00:34:05 +09:00
syuilo
ff278c8bea New translations ja.yml (English) 2018-07-14 00:22:08 +09:00
Aya Morisawa
35dd6a5ac3 Merge branch 'master' of aya.github:syuilo/misskey 2018-07-14 00:05:56 +09:00
Aya Morisawa
98ea238087 Add missing semicolon 2018-07-14 00:05:49 +09:00
syuilo
3830b0d831 New translations ja.yml (Catalan) 2018-07-14 00:01:40 +09:00
syuilo
b6de5a2268 New translations ja.yml (Portuguese) 2018-07-14 00:01:37 +09:00
syuilo
77327c7a40 New translations ja.yml (Korean) 2018-07-14 00:01:36 +09:00
syuilo
26664a8351 New translations ja.yml (Polish) 2018-07-14 00:01:34 +09:00
syuilo
912964104b New translations ja.yml (Chinese Simplified) 2018-07-14 00:01:32 +09:00
syuilo
63653ccb01 New translations ja.yml (Italian) 2018-07-14 00:01:29 +09:00
syuilo
5df54700b8 New translations ja.yml (Russian) 2018-07-14 00:01:27 +09:00
syuilo
f952dde1d4 New translations ja.yml (English) 2018-07-14 00:01:25 +09:00
syuilo
2c0aac5eed New translations ja.yml (Spanish) 2018-07-14 00:01:24 +09:00
syuilo
4e3a2c4bb8 New translations ja.yml (German) 2018-07-14 00:01:22 +09:00
syuilo
17ccfcfb53 New translations ja.yml (French) 2018-07-14 00:01:19 +09:00
syuilo
f2959ada85 Revert "Update messaging-room.message.vue"
This reverts commit 7b3f52505e.
2018-07-14 00:00:30 +09:00
syuilo
e427c12ac2 Hybrid --> Community 2018-07-13 23:56:24 +09:00
Aya Morisawa
874837666c Update error message 2018-07-13 23:52:28 +09:00
Aya Morisawa
c66532d18f Update logger 2018-07-13 23:51:16 +09:00
syuilo
2bc572b4cc アカウントを凍結されていたらAPIにアクセスできないようにした 2018-07-13 23:44:45 +09:00
syuilo
2db01f3d5c Clean up 2018-07-13 23:39:20 +09:00
Aya Morisawa
a0a116b7bf Merge branch 'master' of aya.github:syuilo/misskey 2018-07-13 23:25:49 +09:00
Aya Morisawa
aec7d53414 Fix port cehcking 2018-07-13 23:25:32 +09:00
syuilo
09416c9893 Merge pull request #1892 from PRB0t/pr-201807131656
Fix a bug
2018-07-13 23:20:40 +09:00
PRB0t
0e7fe670aa 🤖 Fix a bug 2018-07-13 16:17:02 +02:00
Aya Morisawa
bd805f1d88 Update log message 2018-07-13 23:05:37 +09:00
syuilo
b984aecaf2 Merge pull request #1891 from syuilo/greenkeeper/html-minifier-3.5.19
Update html-minifier to the latest version 🚀
2018-07-13 21:32:55 +09:00
syuilo
56efffffa3 Merge pull request #1890 from syuilo/greenkeeper/element-ui-2.4.4
Update element-ui to the latest version 🚀
2018-07-13 21:32:39 +09:00
greenkeeper[bot]
2f92be1da0 fix(package): update html-minifier to version 3.5.19 2018-07-13 09:03:40 +00:00
greenkeeper[bot]
baa52921a0 fix(package): update element-ui to version 2.4.4 2018-07-13 08:44:59 +00:00
syuilo
20e0c44f9a Merge pull request #1888 from syuilo/greenkeeper/hard-source-webpack-plugin-0.11.1
Update hard-source-webpack-plugin to the latest version 🚀
2018-07-13 13:53:13 +09:00
greenkeeper[bot]
ebc83c8f60 fix(package): update hard-source-webpack-plugin to version 0.11.1 2018-07-12 18:52:13 +00:00
syuilo
2d48d9fd87 Merge pull request #1885 from syuilo/greenkeeper/ws-5.2.2
Update ws to the latest version 🚀
2018-07-12 05:14:38 +09:00
greenkeeper[bot]
5eb06a3a52 fix(package): update ws to version 5.2.2 2018-07-11 20:01:29 +00:00
syuilo
9917a1c7e1 New translations ja.yml (English) 2018-07-12 01:21:24 +09:00
syuilo
e9c886e871 Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-12 00:00:06 +09:00
syuilo
0074f8da1b Improve log 2018-07-11 23:59:57 +09:00
syuilo
1c98b51e6a Merge pull request #1882 from syuilo/greenkeeper/@koa/cors-2.2.2
Update @koa/cors to the latest version 🚀
2018-07-11 23:42:40 +09:00
syuilo
837bdb1b43 Merge pull request #1881 from syuilo/greenkeeper/webpack-4.16.0
Update webpack to the latest version 🚀
2018-07-11 23:16:31 +09:00
greenkeeper[bot]
48e034be0e fix(package): update @koa/cors to version 2.2.2 2018-07-11 12:50:56 +00:00
greenkeeper[bot]
b067162ce6 fix(package): update webpack to version 4.16.0 2018-07-11 08:52:17 +00:00
syuilo
db42d5b065 4.17.1 2018-07-11 14:33:16 +09:00
syuilo
c41ccf7821 Fix bug 2018-07-11 14:33:03 +09:00
syuilo
f5fd523ca7 Fix bug 2018-07-11 14:19:55 +09:00
syuilo
5f9482e7d5 New translations ja.yml (Catalan) 2018-07-11 14:11:26 +09:00
syuilo
bb98ee27a1 New translations ja.yml (Portuguese) 2018-07-11 14:11:24 +09:00
syuilo
3506dd3656 New translations ja.yml (Korean) 2018-07-11 14:11:22 +09:00
syuilo
88d0b09c88 New translations ja.yml (Polish) 2018-07-11 14:11:20 +09:00
syuilo
25b88f89a6 New translations ja.yml (Chinese Simplified) 2018-07-11 14:11:18 +09:00
syuilo
85343b80b7 New translations ja.yml (Italian) 2018-07-11 14:11:16 +09:00
syuilo
6766fbdfb3 New translations ja.yml (Russian) 2018-07-11 14:11:14 +09:00
syuilo
c488fca2f2 New translations ja.yml (English) 2018-07-11 14:11:12 +09:00
syuilo
ea51460169 New translations ja.yml (Spanish) 2018-07-11 14:11:10 +09:00
syuilo
80e7af30d0 New translations ja.yml (German) 2018-07-11 14:11:08 +09:00
syuilo
8f20edaed0 New translations ja.yml (French) 2018-07-11 14:11:06 +09:00
syuilo
4d7b2d7215 4.17.0 2018-07-11 14:10:01 +09:00
syuilo
d0993a8988 Merge pull request #1856 from syuilo/l10n_master
New Crowdin translations
2018-07-11 14:09:25 +09:00
syuilo
b68af344cb oops 2018-07-11 14:08:18 +09:00
syuilo
58fdeb50f3 Merge pull request #1879 from syuilo/hybrid-tl
Hybrid tl
2018-07-11 14:06:07 +09:00
syuilo
1af3c42001 wip 2018-07-11 14:03:21 +09:00
syuilo
8ef066adda Merge branch 'master' into hybrid-tl 2018-07-11 13:50:52 +09:00
syuilo
5cc7fa8e8b oops 2018-07-11 13:50:37 +09:00
syuilo
fc998ac57c Merge branch 'master' into hybrid-tl 2018-07-11 13:49:18 +09:00
syuilo
9e4fe16f56 oops 2018-07-11 13:49:06 +09:00
syuilo
0cc00101dc Merge branch 'master' into hybrid-tl 2018-07-11 13:47:26 +09:00
syuilo
227cfd6e2f Refactor 2018-07-11 13:47:01 +09:00
syuilo
876f659847 Fix 2018-07-11 13:43:40 +09:00
syuilo
555501d534 wip 2018-07-11 13:43:09 +09:00
syuilo
eb392b1251 wip 2018-07-11 09:36:30 +09:00
syuilo
e32bf34830 Update call.ts 2018-07-10 22:07:24 +09:00
syuilo
94ff21649d Merge pull request #1877 from syuilo/greenkeeper/@types/koa-bodyparser-5.0.1
Update @types/koa-bodyparser to the latest version 🚀
2018-07-10 14:39:24 +09:00
greenkeeper[bot]
35ff0ab2b6 fix(package): update @types/koa-bodyparser to version 5.0.1 2018-07-10 01:34:50 +00:00
syuilo
c3e3007cd5 New translations ja.yml (Polish) 2018-07-10 07:01:35 +09:00
syuilo
fadc80166b Merge pull request #1875 from tamaina/master
Improve Messaging
2018-07-09 21:24:59 +09:00
syuilo
9201b5318b Refactoring 2018-07-09 21:15:49 +09:00
syuilo
c94a9671a2 New translations ja.yml (English) 2018-07-09 04:00:56 +09:00
tamaina
7b3f52505e Update messaging-room.message.vue 2018-07-08 23:45:16 +09:00
tamaina
313afbd6db Update messaging-room.vue 2018-07-08 23:41:09 +09:00
syuilo
0c4f02f288 New translations ja.yml (Catalan) 2018-07-08 20:21:31 +09:00
syuilo
b2d33fba66 New translations ja.yml (Portuguese) 2018-07-08 20:21:30 +09:00
syuilo
a673393db5 New translations ja.yml (Korean) 2018-07-08 20:21:28 +09:00
syuilo
9f55d4057d New translations ja.yml (Polish) 2018-07-08 20:21:26 +09:00
syuilo
c00a58fc06 New translations ja.yml (Chinese Simplified) 2018-07-08 20:21:25 +09:00
syuilo
f49db22311 New translations ja.yml (Italian) 2018-07-08 20:21:23 +09:00
syuilo
204f43e717 New translations ja.yml (Russian) 2018-07-08 20:21:21 +09:00
syuilo
77a8894ced New translations ja.yml (English) 2018-07-08 20:21:19 +09:00
syuilo
f85122b141 New translations ja.yml (Spanish) 2018-07-08 20:21:17 +09:00
syuilo
0cd07cd605 New translations ja.yml (German) 2018-07-08 20:21:15 +09:00
syuilo
eb8604f926 New translations ja.yml (French) 2018-07-08 20:21:13 +09:00
Aya Morisawa
8b3cb850a5 Add locales 2018-07-08 20:20:28 +09:00
Aya Morisawa
48d1b9444c Fix typo 2018-07-08 20:15:10 +09:00
syuilo
fda0a991a2 New translations ja.yml (Catalan) 2018-07-08 20:11:39 +09:00
syuilo
bb61bd0c96 New translations ja.yml (Portuguese) 2018-07-08 20:11:37 +09:00
syuilo
10e89e656a New translations ja.yml (Korean) 2018-07-08 20:11:35 +09:00
syuilo
741756d114 New translations ja.yml (Polish) 2018-07-08 20:11:34 +09:00
syuilo
4f36ff0233 New translations ja.yml (Chinese Simplified) 2018-07-08 20:11:32 +09:00
syuilo
5be69edf2e New translations ja.yml (Italian) 2018-07-08 20:11:30 +09:00
syuilo
730cdceab1 New translations ja.yml (Russian) 2018-07-08 20:11:28 +09:00
syuilo
fa0600afe0 New translations ja.yml (English) 2018-07-08 20:11:26 +09:00
syuilo
fc7db7f23c New translations ja.yml (Spanish) 2018-07-08 20:11:25 +09:00
syuilo
e09429f932 New translations ja.yml (German) 2018-07-08 20:11:23 +09:00
syuilo
947cd32e85 New translations ja.yml (French) 2018-07-08 20:11:21 +09:00
Aya Morisawa
65a3c7dae4 Merge branch 'master' of aya.github:syuilo/misskey 2018-07-08 20:04:35 +09:00
Aya Morisawa
0374f58a11 Add locales 2018-07-08 20:01:59 +09:00
syuilo
a7ff8678b5 Merge pull request #1871 from mei23/mei-apreq3
フォロー申請結果とフォロー申請解除の処理の修正
2018-07-08 19:30:56 +09:00
syuilo
b85ae2f77f Merge pull request #1863 from syuilo/greenkeeper/file-type-8.1.0
Update file-type to the latest version 🚀
2018-07-08 17:54:12 +09:00
syuilo
9f93353519 Merge pull request #1862 from syuilo/greenkeeper/node-sass-4.9.2
Update node-sass to the latest version 🚀
2018-07-08 17:53:58 +09:00
syuilo
37935ed467 Merge pull request #1865 from syuilo/greenkeeper/hard-source-webpack-plugin-0.11.0
fix(package): update hard-source-webpack-plugin to version 0.11.0
2018-07-08 17:53:34 +09:00
mei23
8ed9e44a78 Fix can't process cancel of follow request from remote 2018-07-08 17:22:18 +09:00
mei23
a796a68e8a Fix can't process follow accept/reject from remote 2018-07-08 17:22:11 +09:00
greenkeeper[bot]
f2b467c5e7 fix(package): update file-type to version 8.1.0 2018-07-08 07:49:21 +00:00
greenkeeper[bot]
21d22b60b4 fix(package): update node-sass to version 4.9.2 2018-07-08 06:42:43 +00:00
greenkeeper[bot]
f76d204e09 fix(package): update hard-source-webpack-plugin to version 0.11.0
Closes #1861
2018-07-07 23:45:26 +00:00
syuilo
6775d4da9b New translations ja.yml (English) 2018-07-08 08:01:14 +09:00
syuilo
0264430831 New translations ja.yml (English) 2018-07-08 07:51:11 +09:00
Aya Morisawa
76c1077b8e Fix typo 2018-07-08 05:28:14 +09:00
syuilo
6efb4eeb6e New translations ja.yml (Catalan) 2018-07-08 05:01:29 +09:00
syuilo
f7eb7322fb New translations ja.yml (Portuguese) 2018-07-08 05:01:27 +09:00
syuilo
cf8b8bad01 New translations ja.yml (Korean) 2018-07-08 05:01:25 +09:00
syuilo
07fc3360b6 New translations ja.yml (Polish) 2018-07-08 05:01:23 +09:00
syuilo
61f57e3f53 New translations ja.yml (Chinese Simplified) 2018-07-08 05:01:21 +09:00
syuilo
cd8696076e New translations ja.yml (Italian) 2018-07-08 05:01:19 +09:00
syuilo
fb45e7148a New translations ja.yml (Russian) 2018-07-08 05:01:16 +09:00
syuilo
404823eadb New translations ja.yml (English) 2018-07-08 05:01:15 +09:00
syuilo
324822599a New translations ja.yml (Spanish) 2018-07-08 05:01:13 +09:00
syuilo
053530ed34 New translations ja.yml (German) 2018-07-08 05:01:11 +09:00
syuilo
4f1cb005d7 New translations ja.yml (French) 2018-07-08 05:01:10 +09:00
Aya Morisawa
f3d2183a23 Fix typo 2018-07-08 04:57:10 +09:00
Aya Morisawa
cdac86d104 Update config example 2018-07-08 04:56:23 +09:00
Aya Morisawa
291627ac15 Update README.md 2018-07-08 04:43:07 +09:00
syuilo
0025f3b526 Merge pull request #1860 from syuilo/i18n-msg-patch
Update warning message for missing locale
2018-07-08 04:37:09 +09:00
Aya Morisawa
678e80bb8b Update warning message for missing locale 2018-07-08 04:34:47 +09:00
syuilo
88c37cdcac New translations ja.yml (Catalan) 2018-07-08 04:31:20 +09:00
syuilo
8ed2ca9018 New translations ja.yml (Portuguese) 2018-07-08 04:31:18 +09:00
syuilo
27c99ef894 New translations ja.yml (Korean) 2018-07-08 04:31:16 +09:00
syuilo
41bed99b4c New translations ja.yml (Polish) 2018-07-08 04:31:14 +09:00
syuilo
b127b772fe New translations ja.yml (Chinese Simplified) 2018-07-08 04:31:12 +09:00
syuilo
2698c2d3b5 New translations ja.yml (Italian) 2018-07-08 04:31:10 +09:00
syuilo
7c984d20d7 New translations ja.yml (Russian) 2018-07-08 04:31:08 +09:00
syuilo
844085d7a7 New translations ja.yml (English) 2018-07-08 04:31:06 +09:00
syuilo
404cc016e2 New translations ja.yml (Spanish) 2018-07-08 04:31:05 +09:00
syuilo
98f643f98e New translations ja.yml (German) 2018-07-08 04:31:03 +09:00
syuilo
9985f85aad New translations ja.yml (French) 2018-07-08 04:31:01 +09:00
Aya Morisawa
959f2cd61d Update locales 2018-07-08 04:24:28 +09:00
syuilo
2a2ef53e4f New translations ja.yml (Catalan) 2018-07-08 04:21:30 +09:00
syuilo
3648b56fc1 New translations ja.yml (Portuguese) 2018-07-08 04:21:28 +09:00
syuilo
d422fa58cd New translations ja.yml (Korean) 2018-07-08 04:21:26 +09:00
syuilo
ee7e9b328d New translations ja.yml (Polish) 2018-07-08 04:21:24 +09:00
syuilo
450c1224fd New translations ja.yml (Chinese Simplified) 2018-07-08 04:21:22 +09:00
syuilo
7885d73f80 New translations ja.yml (Italian) 2018-07-08 04:21:20 +09:00
syuilo
7bdcdcc1ce New translations ja.yml (Russian) 2018-07-08 04:21:19 +09:00
syuilo
d375588f7c New translations ja.yml (English) 2018-07-08 04:21:17 +09:00
syuilo
2484894d43 New translations ja.yml (Spanish) 2018-07-08 04:21:15 +09:00
syuilo
d82fe69469 New translations ja.yml (German) 2018-07-08 04:21:13 +09:00
syuilo
cb5657e15c New translations ja.yml (French) 2018-07-08 04:21:11 +09:00
Aya Morisawa
16e2ee2759 Merge branch 'master' of aya.github:syuilo/misskey 2018-07-08 04:19:46 +09:00
Aya Morisawa
5621b280ff Update locales 2018-07-08 04:19:31 +09:00
syuilo
8cd6efbc38 Update docs 2018-07-08 04:11:15 +09:00
syuilo
0f4f862840 Fix bug 2018-07-08 03:51:09 +09:00
syuilo
14f74a561c package-lock.json 2018-07-08 03:23:02 +09:00
syuilo
bd970cf215 Clean up 2018-07-08 03:22:40 +09:00
syuilo
57052013bb ✌️ 2018-07-08 03:21:16 +09:00
syuilo
8e11e2e3fc oops 2018-07-08 03:19:04 +09:00
syuilo
ef58503537 oops 2018-07-08 03:15:54 +09:00
syuilo
a46d230308 oops 2018-07-08 03:13:20 +09:00
syuilo
e85ac32c2d Merge pull request #1859 from xps2/repurl
リポジトリとフィードバックのURLをconfigから指定できるように変更
2018-07-07 21:17:29 +09:00
xps2
a7e27c2419 リポジトリとフィードバックのURLをconfigから指定できるように変更 2018-07-07 21:08:22 +09:00
syuilo
a4c9a93b6d ✌️ 2018-07-07 19:23:44 +09:00
syuilo
1f3837a8c6 oops 2018-07-07 19:22:31 +09:00
syuilo
d92044cf6a Refactor 2018-07-07 19:21:54 +09:00
syuilo
aa4ef6745a Refactorng 2018-07-07 19:19:00 +09:00
syuilo
865fd25af1 Refactorijg 2018-07-07 19:01:33 +09:00
syuilo
2cdcbcc80e ✌️ 2018-07-07 13:34:42 +09:00
syuilo
5ea0f23389 Fix #1857 2018-07-07 12:50:09 +09:00
syuilo
196a93dc4d New translations ja.yml (Catalan) 2018-07-07 03:01:36 +09:00
syuilo
eb6d9d66cf New translations ja.yml (Portuguese) 2018-07-07 03:01:34 +09:00
syuilo
142de603bd New translations ja.yml (Korean) 2018-07-07 03:01:32 +09:00
syuilo
8ed710965f New translations ja.yml (Polish) 2018-07-07 03:01:30 +09:00
syuilo
dc2a7ca2d5 New translations ja.yml (Chinese Simplified) 2018-07-07 03:01:29 +09:00
syuilo
32cdbb70d6 New translations ja.yml (Italian) 2018-07-07 03:01:27 +09:00
syuilo
f2e168bd0a New translations ja.yml (Russian) 2018-07-07 03:01:25 +09:00
syuilo
311a5cc9e3 New translations ja.yml (English) 2018-07-07 03:01:23 +09:00
syuilo
878f2f9015 New translations ja.yml (Spanish) 2018-07-07 03:01:21 +09:00
syuilo
2923950d40 New translations ja.yml (German) 2018-07-07 03:01:19 +09:00
syuilo
0cd1cd787a New translations ja.yml (French) 2018-07-07 03:01:17 +09:00
syuilo
ae8a87c40b Merge pull request #1855 from syuilo/greenkeeper/css-loader-1.0.0
Update css-loader to the latest version 🚀
2018-07-07 02:57:21 +09:00
syuilo
c3597941db Merge pull request #1851 from syuilo/greenkeeper/@types/node-10.5.2
Update @types/node to the latest version 🚀
2018-07-07 02:56:40 +09:00
syuilo
d26524767d Merge pull request #1850 from syuilo/greenkeeper/mongodb-3.1.1
Update mongodb to the latest version 🚀
2018-07-07 02:56:29 +09:00
syuilo
8d61a52eaa Merge pull request #1848 from syuilo/greenkeeper/webpack-4.15.1
Update webpack to the latest version 🚀
2018-07-07 02:56:16 +09:00
syuilo
d5bad25c63 Merge pull request #1854 from syuilo/apis
✌️
2018-07-07 02:55:52 +09:00
greenkeeper[bot]
165e0a3d54 fix(package): update css-loader to version 1.0.0 2018-07-06 16:47:09 +00:00
syuilo
e74c1f2ac6 w 2018-07-06 23:52:47 +09:00
syuilo
42d4e6610f 移行 2018-07-06 23:19:47 +09:00
syuilo
4179685bb6 ✌️ 2018-07-06 23:19:41 +09:00
syuilo
a81a34cd76 新形式に移行 2018-07-06 20:40:44 +09:00
syuilo
118db9b267 wip 2018-07-06 20:27:48 +09:00
syuilo
fd67d5cb4c wip 2018-07-06 12:38:07 +09:00
syuilo
cb0f95ee7d wip 2018-07-06 12:31:57 +09:00
syuilo
029b92935c wip 2018-07-06 12:17:38 +09:00
greenkeeper[bot]
bc13538167 fix(package): update @types/node to version 10.5.2 2018-07-06 00:25:02 +00:00
syuilo
9b41023c43 wip 2018-07-06 02:58:29 +09:00
greenkeeper[bot]
9f1ede0e3e fix(package): update mongodb to version 3.1.1 2018-07-05 17:23:09 +00:00
syuilo
fcfd9239c1 wip 2018-07-06 00:04:40 +09:00
syuilo
10e9d3f32f wip 2018-07-05 23:47:36 +09:00
syuilo
11439afde7 wip 2018-07-05 23:36:07 +09:00
greenkeeper[bot]
359d3b4392 fix(package): update webpack to version 4.15.1 2018-07-05 13:38:13 +00:00
syuilo
d53d45f797 wip 2018-07-05 22:35:35 +09:00
syuilo
c6ea5419ff Merge pull request #1846 from syuilo/l10n_master
New Crowdin translations
2018-07-05 21:03:34 +09:00
syuilo
7dcb979983 Merge pull request #1845 from syuilo/greenkeeper/node-sass-4.9.1
Update node-sass to the latest version 🚀
2018-07-05 21:03:18 +09:00
syuilo
034d529afa New translations ja.yml (English) 2018-07-05 19:42:01 +09:00
greenkeeper[bot]
fb764abeae fix(package): update node-sass to version 4.9.1 2018-07-05 10:19:04 +00:00
Aya Morisawa
d0bce21993 Update README.md 2018-07-05 18:18:12 +09:00
syuilo
5ba4d0a8c4 Merge pull request #1844 from syuilo/greenkeeper/webpack-4.15.0
Update webpack to the latest version 🚀
2018-07-05 05:06:23 +09:00
greenkeeper[bot]
8864158d85 fix(package): update webpack to version 4.15.0 2018-07-04 19:47:46 +00:00
syuilo
85b8749f02 Clean up 2018-07-05 03:36:41 +09:00
syuilo
b412b4a9ff 4.16.1 2018-07-04 21:24:22 +09:00
syuilo
081ad9adcf Fix bug 2018-07-04 21:23:50 +09:00
syuilo
80f2cc6728 4.16.0 2018-07-04 21:11:08 +09:00
syuilo
bc627da923 Fix bug 2018-07-04 20:58:03 +09:00
syuilo
c1b77365a0 wip 2018-07-04 20:44:13 +09:00
syuilo
7994aa96e2 wip 2018-07-04 20:36:06 +09:00
syuilo
ccc79eac91 wip 2018-07-04 20:23:55 +09:00
syuilo
f0fbff824b Merge branch 'master' of https://github.com/syuilo/misskey 2018-07-04 20:13:07 +09:00
syuilo
7293baa1f9 wip 2018-07-04 20:13:05 +09:00
syuilo
20abea6744 Merge pull request #1841 from syuilo/greenkeeper/@types/js-yaml-3.11.2
Update @types/js-yaml to the latest version 🚀
2018-07-04 20:09:11 +09:00
syuilo
b666fdcc1a Merge pull request #1842 from syuilo/greenkeeper/@types/mongodb-3.1.1
Update @types/mongodb to the latest version 🚀
2018-07-04 20:09:04 +09:00
syuilo
70c3357f39 Merge pull request #1843 from syuilo/greenkeeper/@types/webpack-4.4.5
Update @types/webpack to the latest version 🚀
2018-07-04 20:08:56 +09:00
syuilo
9d49636cd1 wip 2018-07-04 20:02:45 +09:00
syuilo
67afe968b4 wip 2018-07-04 13:21:30 +09:00
greenkeeper[bot]
09cc5afad6 fix(package): update @types/webpack to version 4.4.5 2018-07-04 01:21:10 +00:00
greenkeeper[bot]
ab53d80fcf fix(package): update @types/mongodb to version 3.1.1 2018-07-04 01:19:04 +00:00
greenkeeper[bot]
1d520473ed fix(package): update @types/js-yaml to version 3.11.2 2018-07-04 01:14:00 +00:00
syuilo
4636768810 Merge pull request #1839 from syuilo/greenkeeper/elasticsearch-15.1.1
Update elasticsearch to the latest version 🚀
2018-07-04 04:44:18 +09:00
greenkeeper[bot]
01e9402b2c fix(package): update elasticsearch to version 15.1.1 2018-07-03 19:20:07 +00:00
syuilo
947690870b Merge pull request #1837 from syuilo/greenkeeper/html-minifier-3.5.18
Update html-minifier to the latest version 🚀
2018-07-04 04:14:59 +09:00
syuilo
dd93551ebf Merge pull request #1838 from syuilo/greenkeeper/elasticsearch-15.1.0
Update elasticsearch to the latest version 🚀
2018-07-04 04:14:48 +09:00
syuilo
bf237c3dca Merge branch 'master' into greenkeeper/elasticsearch-15.1.0 2018-07-04 04:14:41 +09:00
syuilo
7e108e9f5c Merge pull request #1836 from syuilo/greenkeeper/element-ui-2.4.3
Update element-ui to the latest version 🚀
2018-07-04 04:13:45 +09:00
greenkeeper[bot]
75dbbd115b fix(package): update elasticsearch to version 15.1.0 2018-07-03 16:50:10 +00:00
greenkeeper[bot]
09ca24b032 fix(package): update html-minifier to version 3.5.18 2018-07-03 07:14:58 +00:00
greenkeeper[bot]
f3d125a3f9 fix(package): update element-ui to version 2.4.3 2018-07-03 04:36:06 +00:00
syuilo
51a9666b91 Merge pull request #1812 from syuilo/l10n_master
New Crowdin translations
2018-07-03 05:29:13 +09:00
syuilo
2118fc1f0a Merge branch 'master' into l10n_master 2018-07-03 05:29:06 +09:00
syuilo
4182e2bd6d Merge pull request #1835 from syuilo/greenkeeper/hard-source-webpack-plugin-0.10.1
Update hard-source-webpack-plugin to the latest version 🚀
2018-07-03 05:27:30 +09:00
syuilo
c349711e0d Merge pull request #1834 from syuilo/greenkeeper/vue-js-modal-1.3.16
Update vue-js-modal to the latest version 🚀
2018-07-03 05:27:18 +09:00
greenkeeper[bot]
810b4c7191 fix(package): update hard-source-webpack-plugin to version 0.10.1 2018-07-02 16:13:03 +00:00
greenkeeper[bot]
9f730f23e9 fix(package): update vue-js-modal to version 1.3.16 2018-07-02 14:59:29 +00:00
syuilo
8a6c9a9e35 Merge pull request #1833 from syuilo/greenkeeper/hard-source-webpack-plugin-0.10.0
Update hard-source-webpack-plugin to the latest version 🚀
2018-07-02 18:45:36 +09:00
syuilo
3a98f5a419 Merge pull request #1827 from syuilo/greenkeeper/@types/mongodb-3.1.0
Update @types/mongodb to the latest version 🚀
2018-07-02 18:45:26 +09:00
greenkeeper[bot]
597784a3e8 fix(package): update hard-source-webpack-plugin to version 0.10.0 2018-07-02 02:03:58 +00:00
syuilo
48354ece42 New translations ja.yml (English) 2018-07-02 03:51:04 +09:00
syuilo
be8624250d New translations ja.yml (French) 2018-07-02 03:31:05 +09:00
syuilo
168f73e988 New translations ja.yml (French) 2018-07-02 03:20:51 +09:00
syuilo
a4d62c7c7a New translations ja.yml (English) 2018-07-02 00:31:30 +09:00
syuilo
83eab954f1 New translations ja.yml (English) 2018-07-01 20:30:53 +09:00
syuilo
f934fb171a New translations ja.yml (English) 2018-07-01 20:11:54 +09:00
syuilo
fe3d95f394 New translations ja.yml (English) 2018-07-01 20:10:48 +09:00
syuilo
10e5caa766 Fix bug 2018-07-01 13:46:34 +09:00
syuilo
5fb8f5a8c7 Improve error message 2018-07-01 13:44:24 +09:00
syuilo
1673957aa6 Update rate limit 2018-07-01 13:40:31 +09:00
syuilo
91db717485 New translations ja.yml (English) 2018-07-01 07:51:22 +09:00
syuilo
be90e179c6 New translations ja.yml (English) 2018-07-01 03:10:54 +09:00
syuilo
3b1b8e9493 New translations ja.yml (English) 2018-07-01 02:51:01 +09:00
syuilo
4a1ed5a3ca New translations ja.yml (English) 2018-07-01 02:00:47 +09:00
syuilo
212db199e8 New translations ja.yml (English) 2018-07-01 01:50:43 +09:00
syuilo
b57a43b26c New translations ja.yml (English) 2018-06-30 22:10:49 +09:00
greenkeeper[bot]
a1ba5b1316 fix(package): update @types/mongodb to version 3.1.0 2018-06-30 02:53:27 +00:00
syuilo
92457f91ae Merge pull request #1823 from syuilo/greenkeeper/@types/node-10.5.1
Update @types/node to the latest version 🚀
2018-06-29 21:40:27 +09:00
syuilo
e84bae9e84 Merge pull request #1822 from syuilo/greenkeeper/@types/mongodb-3.0.23
Update @types/mongodb to the latest version 🚀
2018-06-29 21:40:16 +09:00
syuilo
1b2682c228 Merge pull request #1820 from syuilo/greenkeeper/uuid-3.3.2
Update uuid to the latest version 🚀
2018-06-29 21:39:58 +09:00
syuilo
6fa825f15d Merge pull request #1824 from syuilo/greenkeeper/webpack-4.14.0
fix(package): update webpack to version 4.14.0
2018-06-29 21:39:39 +09:00
greenkeeper[bot]
beae1c2860 fix(package): update webpack to version 4.14.0
Closes #1818
2018-06-29 12:19:14 +00:00
greenkeeper[bot]
6f975acbb6 fix(package): update @types/node to version 10.5.1 2018-06-29 03:30:21 +00:00
greenkeeper[bot]
5e7bed8db3 fix(package): update @types/mongodb to version 3.0.23 2018-06-29 03:20:52 +00:00
greenkeeper[bot]
177510afdf fix(package): update uuid to version 3.3.2 2018-06-28 21:34:10 +00:00
syuilo
d912cd3b75 New translations ja.yml (English) 2018-06-29 04:41:15 +09:00
syuilo
c426748fe2 New translations ja.yml (English) 2018-06-29 04:31:25 +09:00
syuilo
64d80f8f48 New translations ja.yml (English) 2018-06-28 23:11:57 +09:00
syuilo
c1d767b0ae New translations ja.yml (English) 2018-06-28 23:01:42 +09:00
syuilo
edeb09eee2 New translations ja.yml (English) 2018-06-28 22:53:32 +09:00
syuilo
bdb5081c05 New translations ja.yml (English) 2018-06-28 22:43:31 +09:00
syuilo
7dc410691d Merge pull request #1813 from mareklach/patch-1
Update en.yml
2018-06-28 22:22:54 +09:00
syuilo
772b9d0ae7 New translations ja.yml (English) 2018-06-28 22:11:41 +09:00
syuilo
b0ff4533e2 New translations ja.yml (English) 2018-06-28 22:04:55 +09:00
Marek Lach
72a09434e3 Update en.yml 2018-06-28 13:35:25 +01:00
syuilo
87df50b7e7 New translations ja.yml (English) 2018-06-28 20:51:54 +09:00
syuilo
d3d21be588 New translations ja.yml (Catalan) 2018-06-28 20:42:22 +09:00
syuilo
5b92ebfabd New translations ja.yml (English) 2018-06-28 20:36:23 +09:00
syuilo
a9d1d8f034 New translations ja.yml (English) 2018-06-28 20:23:12 +09:00
syuilo
436ded4f4f Update README.md 2018-06-28 18:49:23 +09:00
syuilo
de55794761 4.15.0 2018-06-28 16:24:55 +09:00
syuilo
a23ef386ea Fix bug 2018-06-28 16:21:35 +09:00
syuilo
572aa662f6 Merge pull request #1793 from syuilo/l10n_master
New Crowdin translations
2018-06-28 13:54:58 +09:00
syuilo
8b10bee881 Merge pull request #1807 from syuilo/greenkeeper/@types/webpack-4.4.4
Update @types/webpack to the latest version 🚀
2018-06-28 13:51:39 +09:00
syuilo
f492458d85 Merge pull request #1802 from syuilo/greenkeeper/@types/node-10.5.0
Update @types/node to the latest version 🚀
2018-06-28 13:51:32 +09:00
syuilo
d2289039d6 Merge pull request #1801 from syuilo/greenkeeper/@types/mongodb-3.0.22
Update @types/mongodb to the latest version 🚀
2018-06-28 13:51:20 +09:00
greenkeeper[bot]
019fbf5268 fix(package): update @types/webpack to version 4.4.4 2018-06-28 00:39:26 +00:00
syuilo
8d7b04b0e2 New translations ja.yml (English) 2018-06-28 08:20:54 +09:00
syuilo
6e1f8d0533 New translations ja.yml (English) 2018-06-28 06:40:49 +09:00
syuilo
b412d2a30a New translations ja.yml (French) 2018-06-28 06:31:00 +09:00
syuilo
cbd9f57468 New translations ja.yml (English) 2018-06-28 05:23:19 +09:00
syuilo
2e0ee21964 New translations ja.yml (English) 2018-06-28 05:11:06 +09:00
greenkeeper[bot]
24b20b8d32 fix(package): update @types/node to version 10.5.0 2018-06-27 18:36:19 +00:00
greenkeeper[bot]
d1843e2e27 fix(package): update @types/mongodb to version 3.0.22 2018-06-27 18:24:42 +00:00
syuilo
30e7aa23d8 New translations ja.yml (Polish) 2018-06-28 03:10:50 +09:00
syuilo
9f5c22e7c2 New translations ja.yml (English) 2018-06-28 02:50:57 +09:00
syuilo
4f88739b01 New translations ja.yml (English) 2018-06-28 02:41:14 +09:00
syuilo
18c50c82bc New translations ja.yml (English) 2018-06-28 02:31:00 +09:00
syuilo
0b87b16cba New translations ja.yml (English) 2018-06-28 02:20:49 +09:00
syuilo
d454cf7493 New translations ja.yml (English) 2018-06-28 02:11:01 +09:00
syuilo
66e5b36d16 New translations ja.yml (English) 2018-06-28 02:01:15 +09:00
syuilo
f582cd5c71 New translations ja.yml (English) 2018-06-28 01:51:01 +09:00
syuilo
bf731897a3 New translations ja.yml (English) 2018-06-28 01:41:33 +09:00
syuilo
a823792d8d New translations ja.yml (English) 2018-06-28 01:31:12 +09:00
syuilo
9e894dfd55 New translations ja.yml (English) 2018-06-28 01:29:28 +09:00
syuilo
bd90ebeafd Merge pull request #1800 from syuilo/greenkeeper/typescript-eslint-parser-16.0.1
Update typescript-eslint-parser to the latest version 🚀
2018-06-27 23:20:00 +09:00
greenkeeper[bot]
ee12027739 fix(package): update typescript-eslint-parser to version 16.0.1 2018-06-27 13:50:04 +00:00
syuilo
e02f3558eb Merge pull request #1797 from syuilo/greenkeeper/webpack-4.12.2
Update webpack to the latest version 🚀
2018-06-27 22:30:03 +09:00
syuilo
f410e1c4fa Merge pull request #1799 from syuilo/greenkeeper/mongodb-3.1.0
Update mongodb to the latest version 🚀
2018-06-27 22:29:35 +09:00
greenkeeper[bot]
e41bc54d43 fix(package): update mongodb to version 3.1.0 2018-06-27 13:14:20 +00:00
greenkeeper[bot]
1599e06ffb fix(package): update webpack to version 4.12.2 2018-06-27 05:44:28 +00:00
syuilo
84c49a23c9 New translations ja.yml (French) 2018-06-27 09:20:47 +09:00
syuilo
95c94758cb New translations ja.yml (French) 2018-06-27 09:10:46 +09:00
syuilo
3bc5c5914b New translations ja.yml (English) 2018-06-27 04:20:49 +09:00
syuilo
69d2cd3b6d New translations ja.yml (English) 2018-06-27 04:11:12 +09:00
syuilo
4bca467bd3 New translations ja.yml (English) 2018-06-27 04:01:19 +09:00
syuilo
20061ae5a1 New translations ja.yml (English) 2018-06-27 03:51:28 +09:00
syuilo
78867c3cc9 New translations ja.yml (English) 2018-06-27 03:41:33 +09:00
syuilo
f8911cad32 New translations ja.yml (English) 2018-06-27 03:11:33 +09:00
syuilo
dd9a461cf5 New translations ja.yml (English) 2018-06-27 03:00:17 +09:00
syuilo
1516ce86f4 New translations ja.yml (English) 2018-06-27 02:39:35 +09:00
syuilo
58ab04f2f4 New translations ja.yml (English) 2018-06-27 02:21:32 +09:00
syuilo
3e651e3ea2 New translations ja.yml (English) 2018-06-27 02:01:28 +09:00
syuilo
b02c00eb41 New translations ja.yml (English) 2018-06-27 01:37:47 +09:00
syuilo
a9ee45d977 Merge pull request #1786 from syuilo/greenkeeper/element-ui-2.4.2
Update element-ui to the latest version 🚀
2018-06-27 01:23:18 +09:00
syuilo
156e66438a Merge pull request #1788 from syuilo/l10n_master
New Crowdin translations
2018-06-27 00:55:52 +09:00
syuilo
9ac34badad Merge branch 'master' into l10n_master 2018-06-27 00:55:44 +09:00
syuilo
fdf145657d Merge pull request #1789 from syuilo/greenkeeper/uuid-3.3.0
Update uuid to the latest version 🚀
2018-06-26 22:42:03 +09:00
syuilo
f93e0a624e New translations ja.yml (Portuguese) 2018-06-26 22:33:03 +09:00
syuilo
c8e3af32be New translations ja.yml (Korean) 2018-06-26 22:33:00 +09:00
syuilo
62b3a49b5f New translations ja.yml (Polish) 2018-06-26 22:32:58 +09:00
syuilo
be88eee8f6 New translations ja.yml (Chinese Simplified) 2018-06-26 22:32:56 +09:00
syuilo
e7fb192f5d New translations ja.yml (Italian) 2018-06-26 22:32:54 +09:00
syuilo
18e2ca89b7 New translations ja.yml (Russian) 2018-06-26 22:32:51 +09:00
syuilo
ec8c388f99 New translations ja.yml (English) 2018-06-26 22:32:49 +09:00
syuilo
a1518df41a New translations ja.yml (Spanish) 2018-06-26 22:32:47 +09:00
syuilo
312ef38d62 New translations ja.yml (German) 2018-06-26 22:32:45 +09:00
syuilo
ed3e0a9d9c New translations ja.yml (French) 2018-06-26 22:32:43 +09:00
syuilo
d7ca93b9fa Merge pull request #1787 from l2dy/i18n
i18n
2018-06-26 22:30:56 +09:00
greenkeeper[bot]
910dfd6ad2 fix(package): update uuid to version 3.3.0 2018-06-26 13:28:53 +00:00
Zero King
041415519b i18n 2018-06-26 13:27:52 +00:00
greenkeeper[bot]
0ba877fef1 fix(package): update element-ui to version 2.4.2 2018-06-26 11:33:41 +00:00
syuilo
839c93961c 4.14.0 2018-06-26 18:53:35 +09:00
syuilo
30b1be97dd 🎨 2018-06-26 18:53:06 +09:00
syuilo
55be57ad21 Clean up 2018-06-26 18:47:09 +09:00
syuilo
58064ec633 MFM: Improve title syntax 2018-06-26 18:42:00 +09:00
syuilo
d63044a15e Fix #1781 2018-06-26 18:34:17 +09:00
syuilo
5422697397 Merge branch 'master' of https://github.com/syuilo/misskey 2018-06-26 18:25:50 +09:00
syuilo
36c2f8fe5d Improve usability 2018-06-26 18:25:27 +09:00
syuilo
2defddc153 Merge pull request #1784 from syuilo/greenkeeper/@types/webpack-4.4.3
Update @types/webpack to the latest version 🚀
2018-06-26 13:00:54 +09:00
syuilo
fb9a219349 Merge pull request #1783 from syuilo/greenkeeper/@types/node-10.3.6
Update @types/node to the latest version 🚀
2018-06-26 13:00:46 +09:00
syuilo
3b5e4276c8 Merge pull request #1782 from syuilo/greenkeeper/html-minifier-3.5.17
Update html-minifier to the latest version 🚀
2018-06-26 13:00:37 +09:00
syuilo
fab2e08a0d Merge pull request #1785 from syuilo/greenkeeper/eslint-5.0.1
Update eslint to the latest version 🚀
2018-06-26 13:00:18 +09:00
greenkeeper[bot]
19e9099a78 fix(package): update eslint to version 5.0.1 2018-06-26 03:50:37 +00:00
greenkeeper[bot]
91c2b07cd8 fix(package): update @types/webpack to version 4.4.3 2018-06-26 03:06:03 +00:00
greenkeeper[bot]
fd00c7bd81 fix(package): update @types/node to version 10.3.6 2018-06-26 01:40:05 +00:00
greenkeeper[bot]
8919082179 fix(package): update html-minifier to version 3.5.17 2018-06-25 20:53:04 +00:00
syuilo
2f7c191547 Merge pull request #1780 from syuilo/l10n_master
New Crowdin translations
2018-06-26 02:10:31 +09:00
syuilo
80519dc366 New translations ja.yml (Portuguese) 2018-06-25 21:52:24 +09:00
syuilo
4d53c813e4 New translations ja.yml (Korean) 2018-06-25 21:52:22 +09:00
syuilo
750f479d58 New translations ja.yml (Polish) 2018-06-25 21:52:20 +09:00
syuilo
e9a7e99108 New translations ja.yml (Chinese Simplified) 2018-06-25 21:52:17 +09:00
syuilo
ebf10b3452 New translations ja.yml (Italian) 2018-06-25 21:52:15 +09:00
syuilo
5d621f5318 New translations ja.yml (Russian) 2018-06-25 21:52:12 +09:00
syuilo
35dedfc7e4 New translations ja.yml (English) 2018-06-25 21:52:10 +09:00
syuilo
39094adfcf New translations ja.yml (Spanish) 2018-06-25 21:52:07 +09:00
syuilo
74a25bfaa0 New translations ja.yml (German) 2018-06-25 21:52:05 +09:00
syuilo
04ef2f0c8d New translations ja.yml (French) 2018-06-25 21:52:02 +09:00
syuilo
fb99906a8c Merge pull request #1779 from otya128/master
Fix v('ω')v
2018-06-25 21:49:35 +09:00
otya
da0d3e4129 正しいv('ω')v 2018-06-25 21:05:12 +09:00
syuilo
3ffe90146c Update README.md 2018-06-25 13:47:22 +09:00
syuilo
81cea41154 Merge pull request #1774 from syuilo/greenkeeper/webpack-4.12.1
Update webpack to the latest version 🚀
2018-06-24 18:12:37 +09:00
greenkeeper[bot]
3ff4f53bbd fix(package): update webpack to version 4.12.1 2018-06-24 08:49:27 +00:00
syuilo
a77f67fc32 4.13.1 2018-06-24 16:09:41 +09:00
syuilo
47c45d48b1 4.13.0 2018-06-24 15:56:18 +09:00
syuilo
cdd9585cb8 🎨 2018-06-24 15:55:41 +09:00
syuilo
db60188847 Fix bug 2018-06-24 15:51:03 +09:00
syuilo
21a2e5f415 4.12.0 2018-06-24 13:23:57 +09:00
syuilo
2377c9b4cb Merge pull request #1773 from syuilo/l10n_master
New Crowdin translations
2018-06-24 13:22:57 +09:00
syuilo
296f6b1553 New translations ja.yml (English) 2018-06-24 13:20:48 +09:00
syuilo
e15643ca46 Better reversi labels 2018-06-24 13:18:22 +09:00
syuilo
9632ba40cc New translations ja.yml (Portuguese) 2018-06-24 13:11:11 +09:00
syuilo
a2cdeeb6c7 New translations ja.yml (Korean) 2018-06-24 13:11:10 +09:00
syuilo
a23857ce3c New translations ja.yml (Polish) 2018-06-24 13:11:08 +09:00
syuilo
78677b3aa7 New translations ja.yml (Chinese Simplified) 2018-06-24 13:11:06 +09:00
syuilo
7dd264953f New translations ja.yml (Italian) 2018-06-24 13:11:04 +09:00
syuilo
17af9c3ab6 New translations ja.yml (Russian) 2018-06-24 13:11:02 +09:00
syuilo
4b49f8fbb8 New translations ja.yml (English) 2018-06-24 13:11:00 +09:00
syuilo
e253225c66 New translations ja.yml (Spanish) 2018-06-24 13:10:58 +09:00
syuilo
6abb6f90f6 New translations ja.yml (German) 2018-06-24 13:10:56 +09:00
syuilo
9fb2743a38 New translations ja.yml (French) 2018-06-24 13:10:55 +09:00
syuilo
17792716a7 4.11.0 2018-06-24 13:09:22 +09:00
syuilo
ae7282358e Merge branch 'master' of https://github.com/syuilo/misskey 2018-06-24 13:08:50 +09:00
syuilo
abc082f7c0 リモートフォローフォームを実装するなど 2018-06-24 13:08:48 +09:00
syuilo
bf1163ae84 Merge pull request #1772 from syuilo/greenkeeper/ws-5.2.1
Update ws to the latest version 🚀
2018-06-24 03:19:48 +09:00
greenkeeper[bot]
be74ca472a fix(package): update ws to version 5.2.1 2018-06-23 17:55:11 +00:00
syuilo
31b472fa47 4.10.0 2018-06-23 23:19:15 +09:00
syuilo
b502627494 Fix nado 2018-06-23 23:18:39 +09:00
syuilo
a8017369d0 4.9.0 2018-06-23 23:04:49 +09:00
syuilo
3f0b5e4318 ✌️ 2018-06-23 23:03:25 +09:00
syuilo
aea8f93e02 Merge branch 'master' of https://github.com/syuilo/misskey 2018-06-23 22:55:57 +09:00
syuilo
874411990b ✌️ 2018-06-23 22:55:32 +09:00
syuilo
780268f70e Merge pull request #1771 from syuilo/patch-1
Use capital letters for othello label
2018-06-23 22:50:53 +09:00
Aya Morisawa
3a8a374e87 Use capital letters for othello label 2018-06-23 22:25:22 +09:00
syuilo
488f36d491 i18n 2018-06-23 21:56:47 +09:00
syuilo
4d48b0be99 Fix type 2018-06-23 21:48:36 +09:00
syuilo
44f3888c24 スペイン語を追加 2018-06-23 19:57:23 +09:00
syuilo
a76fb4c173 i18n 2018-06-23 19:35:19 +09:00
syuilo
e4aa003157 MFM: Improve search syntax 2018-06-23 19:31:28 +09:00
syuilo
247f334334 Fix 2018-06-23 19:18:14 +09:00
syuilo
509cdae832 Fix bug 2018-06-23 19:16:50 +09:00
syuilo
5ff59b3339 4.8.0 2018-06-23 17:00:28 +09:00
syuilo
2b1a785f24 きゃー 2018-06-23 16:58:54 +09:00
syuilo
2c0b137848 リバーシのラベルを表示できるように 2018-06-23 16:55:52 +09:00
syuilo
ef68e633cf Merge pull request #1768 from syuilo/greenkeeper/eslint-5.0.0
Update eslint to the latest version 🚀
2018-06-23 12:11:49 +09:00
syuilo
e9e63ba950 Merge pull request #1767 from syuilo/greenkeeper/hard-source-webpack-plugin-0.9.0
Update hard-source-webpack-plugin to the latest version 🚀
2018-06-23 12:11:31 +09:00
syuilo
3fd6167e71 Merge pull request #1766 from syuilo/greenkeeper/@types/node-10.3.5
Update @types/node to the latest version 🚀
2018-06-23 12:11:15 +09:00
syuilo
6b0573ded1 Merge pull request #1769 from syuilo/greenkeeper/ts-node-7.0.0
fix(package): update ts-node to version 7.0.0
2018-06-23 12:11:08 +09:00
syuilo
328dc80324 4.7.1 2018-06-23 12:09:58 +09:00
syuilo
24d8617f81 Fix bug 2018-06-23 12:09:09 +09:00
greenkeeper[bot]
e2c3d4f2fb fix(package): update eslint to version 5.0.0 2018-06-23 02:46:37 +00:00
greenkeeper[bot]
60229d73c9 fix(package): update hard-source-webpack-plugin to version 0.9.0 2018-06-23 02:35:38 +00:00
syuilo
40235463bc Fix 2018-06-23 11:30:18 +09:00
greenkeeper[bot]
c6cbadc514 fix(package): update @types/node to version 10.3.5 2018-06-23 00:27:09 +00:00
greenkeeper[bot]
3c3c67a34c fix(package): update ts-node to version 7.0.0
Closes #1765
2018-06-22 19:17:54 +00:00
syuilo
72eedd2ff9 Merge pull request #1764 from syuilo/greenkeeper/ratelimiter-3.1.0
Update ratelimiter to the latest version 🚀
2018-06-22 23:06:04 +09:00
greenkeeper[bot]
a7e9d5a60b fix(package): update ratelimiter to version 3.1.0 2018-06-22 13:55:39 +00:00
syuilo
c3d081b700 Merge pull request #1763 from tamaina/better-note-header
change flex-shrink of .username to 2147483647
2018-06-22 21:00:19 +09:00
tamaina
57f62c919c change flex-shrink of .username to 2147483647 2018-06-22 20:55:19 +09:00
syuilo
19bdd4fa2a 4.7.0 2018-06-22 18:51:41 +09:00
syuilo
9d8391583f ✌️ 2018-06-22 18:47:23 +09:00
syuilo
6037b0acc5 非ログイン時のトップにトレンドを表示するように 2018-06-22 18:32:21 +09:00
syuilo
09c5efc161 ✌️ 2018-06-22 18:03:08 +09:00
syuilo
16c2aefe7b Clean up: Remove the unused file 2018-06-22 17:55:58 +09:00
syuilo
06cfa207fc ✌️ 2018-06-22 17:51:36 +09:00
syuilo
0be8bbc19f Update README.md 2018-06-22 17:49:21 +09:00
syuilo
bad85375de Merge pull request #1760 from syuilo/greenkeeper/@types/koa-router-7.0.30
Update @types/koa-router to the latest version 🚀
2018-06-22 17:48:41 +09:00
syuilo
6c11a7a6c4 Merge pull request #1762 from tamaina/Improve-UI
trifling style changes
2018-06-22 13:39:19 +09:00
tamaina
6f38c6f339 $theme-color 2018-06-22 13:37:46 +09:00
tamaina
fb1d727db9 trifling style changes
投稿のタグのマージンと色の最適化
ユーザーページの修正(幅が伸びる、profileの色)
ウェルカムページの修正(ダークモード時)
2018-06-22 13:20:27 +09:00
syuilo
d98d286dc4 Merge pull request #1761 from tamaina/better-note-header
Fix #1759 (Improve note-header)
2018-06-22 12:26:37 +09:00
tamaina
1be279dbaa revert ✌️ d6ef92 2018-06-22 11:15:11 +09:00
greenkeeper[bot]
90e6feeb4c fix(package): update @types/koa-router to version 7.0.30 2018-06-22 01:51:01 +00:00
syuilo
f1f9f235c7 Update README.md 2018-06-22 02:13:16 +09:00
syuilo
eb3f938281 Merge pull request #1759 from tamaina/better-note-header
Improve note-header
2018-06-21 21:21:14 +09:00
tamaina
d6ef923134 ✌️ 2018-06-21 21:19:54 +09:00
tamaina
5b01577810 Improve note-header 2018-06-21 19:59:33 +09:00
syuilo
2a111d472a Merge pull request #1758 from syuilo/l10n_master
New Crowdin translations
2018-06-21 14:49:17 +09:00
syuilo
a8809e89b9 New translations ja.yml (English) 2018-06-21 14:10:53 +09:00
syuilo
1ab9a49d01 New translations ja.yml (English) 2018-06-21 14:00:53 +09:00
syuilo
f92c116564 4.6.0 2018-06-21 11:39:54 +09:00
syuilo
b54539b647 Fix bug 2018-06-21 11:37:18 +09:00
syuilo
87fc6522fb Improve ServiceWorker notification 2018-06-21 11:35:28 +09:00
syuilo
b0408d1d6e Merge pull request #1757 from syuilo/greenkeeper/@types/webpack-4.4.2
Update @types/webpack to the latest version 🚀
2018-06-21 09:53:45 +09:00
greenkeeper[bot]
39779ca8d5 fix(package): update @types/webpack to version 4.4.2 2018-06-21 00:50:02 +00:00
syuilo
8c34f7559d Merge pull request #1756 from syuilo/greenkeeper/@types/mocha-5.2.3
Update @types/mocha to the latest version 🚀
2018-06-21 09:42:39 +09:00
syuilo
740c7c2476 Merge pull request #1754 from syuilo/greenkeeper/@types/koa-bodyparser-5.0.0
Update @types/koa-bodyparser to the latest version 🚀
2018-06-21 09:39:22 +09:00
syuilo
abd43dd471 Merge pull request #1755 from syuilo/greenkeeper/@types/koa-router-7.0.29
Update @types/koa-router to the latest version 🚀
2018-06-21 09:39:11 +09:00
greenkeeper[bot]
c24b5410bc fix(package): update @types/mocha to version 5.2.3 2018-06-21 00:38:08 +00:00
greenkeeper[bot]
cde7d0f463 fix(package): update @types/koa-router to version 7.0.29 2018-06-21 00:29:15 +00:00
greenkeeper[bot]
54548c3ed0 fix(package): update @types/koa-bodyparser to version 5.0.0 2018-06-21 00:21:18 +00:00
syuilo
221d1edf0f Merge pull request #1753 from syuilo/l10n_master
New Crowdin translations
2018-06-21 08:54:59 +09:00
syuilo
02e75f9539 Merge pull request #1752 from syuilo/greenkeeper/web-push-3.3.2
Update web-push to the latest version 🚀
2018-06-21 08:54:46 +09:00
syuilo
6bed2ff106 Merge pull request #1751 from syuilo/greenkeeper/ts-node-6.1.2
Update ts-node to the latest version 🚀
2018-06-21 08:54:36 +09:00
syuilo
f3e1e4d1da New translations ja.yml (Polish) 2018-06-21 07:21:29 +09:00
greenkeeper[bot]
370f6384d9 fix(package): update web-push to version 3.3.2 2018-06-20 21:58:40 +00:00
greenkeeper[bot]
0105587d04 fix(package): update ts-node to version 6.1.2 2018-06-20 20:49:11 +00:00
syuilo
e327970ab9 Merge pull request #1750 from syuilo/l10n_master
New Crowdin translations
2018-06-21 02:26:14 +09:00
syuilo
9e247f39ff New translations ja.yml (English) 2018-06-21 02:20:19 +09:00
syuilo
09f3a10b46 4.5.0 2018-06-21 02:14:26 +09:00
syuilo
c3679a84e5 ✌️ 2018-06-21 02:12:20 +09:00
syuilo
75f8d5e7d9 ✌️ 2018-06-21 02:03:25 +09:00
syuilo
6ba4fa50b9 New translations ja.yml (Portuguese) 2018-06-21 02:01:46 +09:00
syuilo
f5e130f2a6 New translations ja.yml (Korean) 2018-06-21 02:01:44 +09:00
syuilo
cd5dcd87b0 New translations ja.yml (Polish) 2018-06-21 02:01:41 +09:00
syuilo
54f319af0e New translations ja.yml (Chinese Simplified) 2018-06-21 02:01:38 +09:00
syuilo
96949059cf New translations ja.yml (Italian) 2018-06-21 02:01:36 +09:00
syuilo
763368db99 New translations ja.yml (Russian) 2018-06-21 02:01:34 +09:00
syuilo
f622ea654f New translations ja.yml (English) 2018-06-21 02:01:32 +09:00
syuilo
70c4e6c287 New translations ja.yml (Spanish) 2018-06-21 02:01:30 +09:00
syuilo
d7692e875a New translations ja.yml (German) 2018-06-21 02:01:28 +09:00
syuilo
0a94010668 New translations ja.yml (French) 2018-06-21 02:01:26 +09:00
syuilo
50bd1d9a5d 更新ダイアログをHTMLで描画 2018-06-21 01:58:47 +09:00
syuilo
d45121a93b New translations ja.yml (Portuguese) 2018-06-21 01:51:30 +09:00
syuilo
a55e3fb225 New translations ja.yml (Korean) 2018-06-21 01:51:28 +09:00
syuilo
426b2f5858 New translations ja.yml (Polish) 2018-06-21 01:51:26 +09:00
syuilo
3d10b5e538 New translations ja.yml (Chinese Simplified) 2018-06-21 01:51:24 +09:00
syuilo
b639599620 New translations ja.yml (Italian) 2018-06-21 01:51:22 +09:00
syuilo
63c51c6ee0 New translations ja.yml (Russian) 2018-06-21 01:51:19 +09:00
syuilo
f39934c274 New translations ja.yml (English) 2018-06-21 01:51:17 +09:00
syuilo
adec1643bf New translations ja.yml (Spanish) 2018-06-21 01:51:15 +09:00
syuilo
229ea7d3ab New translations ja.yml (German) 2018-06-21 01:51:13 +09:00
syuilo
03899f042d New translations ja.yml (French) 2018-06-21 01:51:09 +09:00
syuilo
46d7cee639 🎨 2018-06-21 01:46:35 +09:00
syuilo
eb0c378138 Merge branch 'master' of https://github.com/syuilo/misskey 2018-06-21 01:22:06 +09:00
syuilo
79d1bf30a4 リモートユーザーのHTMLで表現されたプロフィールをMFMに変換するように 2018-06-21 01:21:57 +09:00
syuilo
5786434f37 Update README.md 2018-06-20 22:40:02 +09:00
syuilo
3633d7ada1 Disable transitions to avoid memory leak 2018-06-20 22:28:08 +09:00
syuilo
b95d4aed11 Merge pull request #1749 from syuilo/greenkeeper/initial
Update dependencies to enable Greenkeeper 🌴
2018-06-20 20:28:15 +09:00
syuilo
c2f599a33c Merge branch 'master' into greenkeeper/initial 2018-06-20 20:28:02 +09:00
syuilo
89361cfce4 4.4.0 2018-06-20 20:08:36 +09:00
syuilo
278a6c504a ✌️ 2018-06-20 20:04:28 +09:00
syuilo
e140ddf7be Merge branch 'master' of https://github.com/syuilo/misskey 2018-06-20 20:02:11 +09:00
syuilo
f00ba4e704 Prevent update those packages 2018-06-20 20:02:03 +09:00
greenkeeper[bot]
8128656a9e docs(readme): add Greenkeeper badge 2018-06-20 10:59:57 +00:00
greenkeeper[bot]
f2f7a6de6b chore(package): update dependencies 2018-06-20 10:59:54 +00:00
syuilo
8651d81b73 Merge pull request #1748 from syuilo/l10n_master
New Crowdin translations
2018-06-20 19:58:47 +09:00
syuilo
2458255e22 nanka iroiro 2018-06-20 19:55:34 +09:00
syuilo
ea12c6e2c0 New translations ja.yml (Polish) 2018-06-20 04:31:22 +09:00
syuilo
2e22bd2ecf Update manifest.json 2018-06-19 19:07:39 +09:00
syuilo
777cb0033e Merge pull request #1745 from syuilo/l10n_master
New Crowdin translations
2018-06-19 08:08:23 +09:00
syuilo
127c126ef5 4.3.1 2018-06-19 08:03:39 +09:00
syuilo
01ff8d171a Fix bug 2018-06-19 08:03:00 +09:00
syuilo
457c23fffa New translations ja.yml (English) 2018-06-19 08:00:54 +09:00
syuilo
b07911ec68 Fix 2018-06-19 07:56:26 +09:00
syuilo
fb211d59a8 Merge branch 'master' into l10n_master 2018-06-19 07:53:32 +09:00
syuilo
4e586d35a9 New translations ja.yml (Polish) 2018-06-18 20:23:37 +09:00
syuilo
52f2461fe6 New translations ja.yml (Portuguese) 2018-06-18 17:32:21 +09:00
syuilo
ac7dab8b6e New translations ja.yml (Korean) 2018-06-18 17:32:19 +09:00
syuilo
5e171c2ad1 New translations ja.yml (Polish) 2018-06-18 17:32:17 +09:00
syuilo
b4a139515c New translations ja.yml (Chinese Simplified) 2018-06-18 17:32:15 +09:00
syuilo
30219f6b6f New translations ja.yml (Italian) 2018-06-18 17:32:13 +09:00
syuilo
d19e6bdd03 New translations ja.yml (Russian) 2018-06-18 17:32:11 +09:00
syuilo
65ce0a5e54 New translations ja.yml (English) 2018-06-18 17:32:09 +09:00
syuilo
c2659d68dc New translations ja.yml (Spanish) 2018-06-18 17:32:07 +09:00
syuilo
773c7ba14b New translations ja.yml (German) 2018-06-18 17:32:05 +09:00
syuilo
93e617f488 New translations ja.yml (French) 2018-06-18 17:32:02 +09:00
syuilo
f7959c073f 4.3.0 2018-06-18 17:25:45 +09:00
syuilo
6953970be7 Merge branch 'master' of https://github.com/syuilo/misskey 2018-06-18 17:25:23 +09:00
syuilo
1496fdaf80 nanka 2018-06-18 17:25:20 +09:00
syuilo
0fc034b1ac Merge pull request #1743 from Tosuke/patch-1
Replace "size" to "sizes"
2018-06-18 16:48:49 +09:00
tosuke
c3312c918e replace "size" to "sizes"
やらかした
2018-06-18 16:44:42 +09:00
syuilo
5a13964ced Fix bug 2018-06-18 16:34:26 +09:00
syuilo
fe07b1cb7f Merge pull request #1742 from Tosuke/patch-1
Fix path
2018-06-18 15:39:40 +09:00
tosuke
d805a70508 Fix path 2018-06-18 15:38:58 +09:00
syuilo
0f0009e0db Clean up 2018-06-18 15:12:29 +09:00
syuilo
4c4cb2bb17 ✌️ 2018-06-18 15:05:38 +09:00
syuilo
fe319a529f 4.2.0 2018-06-18 14:54:09 +09:00
syuilo
91bea1f6c7 ✌️ 2018-06-18 14:52:36 +09:00
syuilo
01745f7c65 Merge pull request #1706 from syuilo/l10n_master
New Crowdin translations
2018-06-18 14:44:29 +09:00
syuilo
5d3943ffa8 Merge branch 'master' into l10n_master 2018-06-18 14:43:56 +09:00
syuilo
e66d7babc5 yatta 2018-06-18 14:28:43 +09:00
syuilo
80e5645a84 wip 2018-06-18 09:54:53 +09:00
syuilo
a766faeae9 Merge pull request #1738 from rinsuki/features/ts-noimplicitany-true
[WIP] noImplicitAny: true
2018-06-18 08:42:17 +09:00
syuilo
4d2d226446 New translations ja.yml (Spanish) 2018-06-18 00:40:45 +09:00
syuilo
61e83b10c3 New translations ja.yml (Spanish) 2018-06-18 00:30:44 +09:00
syuilo
ed675f0956 New translations ja.yml (French) 2018-06-17 22:10:47 +09:00
syuilo
9cce8ab214 New translations ja.yml (French) 2018-06-17 22:00:55 +09:00
rinsuki
daa409cd82 [noImplicitAny: true] src/services/drive 2018-06-17 20:04:19 +09:00
rinsuki
9d65415fdc [noImplicitAny: true] src/services/note 2018-06-17 19:59:02 +09:00
rinsuki
8c40917cc2 [noImplicitAny: true] src/text 2018-06-17 19:55:39 +09:00
rinsuki
871f886702 build:ts success 2018-06-17 19:09:24 +09:00
rinsuki
f19075c50a upgrade font-awesome packages 2018-06-17 17:57:50 +09:00
rinsuki
71da205ab7 fix 2018-06-17 17:45:59 +09:00
rinsuki
a34cc47a11 tsconfig.json noImplicitAny: true 2018-06-17 17:43:54 +09:00
syuilo
cbddaf1d19 Merge pull request #1735 from rinsuki/fix/minor-fix-201806171721
minor fix
2018-06-17 17:21:50 +09:00
rinsuki
1f1ed2da4c minor fix 2018-06-17 17:21:16 +09:00
syuilo
8d81bd0dc0 Merge pull request #1732 from rinsuki/fix/1731
Fix #1731
2018-06-17 17:15:31 +09:00
syuilo
5773a5bfa6 Refactor 2018-06-17 17:15:03 +09:00
rinsuki
7275a48102 Fix #1731 2018-06-17 17:11:05 +09:00
syuilo
8f84dd610c Use ' 2018-06-17 16:55:55 +09:00
syuilo
f1f466ed23 Merge pull request #1730 from rinsuki/fix/1729
Fix #1729
2018-06-17 16:51:24 +09:00
syuilo
0ca5237139 Send servicewroker script 2018-06-17 16:47:37 +09:00
rinsuki
20549bfdf0 Fix #1729 2018-06-17 16:45:01 +09:00
syuilo
d692bb3c52 Improve user search 2018-06-17 16:40:18 +09:00
syuilo
44cd1e9223 Merge pull request #1728 from rinsuki/fix/1726
fix #1726
2018-06-17 16:02:21 +09:00
rinsuki
f0fec654ff fix #1726 2018-06-17 15:58:23 +09:00
syuilo
4e04e5e0c0 Merge pull request #1722 from rinsuki/fix/1700
Fix #1700
2018-06-17 14:30:07 +09:00
rinsuki
4991fb2769 Fix #1700 2018-06-17 14:29:07 +09:00
syuilo
4d90d554f8 Merge pull request #1721 from rinsuki/activitypub/support-cw
maybe Support CW in ActivityPub
2018-06-17 14:12:50 +09:00
rinsuki
e5468713ac maybe Support CW in ActivityPub 2018-06-17 14:11:31 +09:00
syuilo
77013f982d Fiox bug 2018-06-17 13:52:52 +09:00
syuilo
0460cdedd7 inputのsuffixがはみ出す問題を修正 2018-06-17 11:42:23 +09:00
syuilo
73f5bf69e8 4.1.0 2018-06-17 11:33:24 +09:00
syuilo
750c0d7df2 Use wildcard 2018-06-17 11:27:20 +09:00
syuilo
2fcebdd281 cors 2018-06-17 11:23:18 +09:00
syuilo
e4e65a4cd5 Update CHANGELOG.md 2018-06-17 08:23:46 +09:00
syuilo
e010ecb03f New translations ja.yml (Portuguese) 2018-06-17 08:21:10 +09:00
syuilo
fc74db668d New translations ja.yml (Korean) 2018-06-17 08:21:08 +09:00
syuilo
1bac3418b4 New translations ja.yml (Polish) 2018-06-17 08:21:06 +09:00
syuilo
53df8c48b7 New translations ja.yml (Chinese Simplified) 2018-06-17 08:21:04 +09:00
syuilo
92702fe47e New translations ja.yml (Italian) 2018-06-17 08:21:02 +09:00
syuilo
017c4c12cd New translations ja.yml (Russian) 2018-06-17 08:21:01 +09:00
syuilo
830d246ba4 New translations ja.yml (English) 2018-06-17 08:20:59 +09:00
syuilo
6b33afa916 New translations ja.yml (Spanish) 2018-06-17 08:20:57 +09:00
syuilo
69a3efd534 Update CHANGELOG.md 2018-06-17 08:20:56 +09:00
syuilo
2d0adb8f4c New translations ja.yml (German) 2018-06-17 08:20:55 +09:00
syuilo
da9d8cb138 New translations ja.yml (French) 2018-06-17 08:20:53 +09:00
syuilo
2acaca8582 Update CHANGELOG.md 2018-06-17 08:20:22 +09:00
syuilo
11cf82c6a4 4.0.0 2018-06-17 08:15:57 +09:00
syuilo
1ef66c962a reversi 💮 💯 2018-06-17 08:10:54 +09:00
syuilo
03f20599ba Add missing semicolon 2018-06-17 07:39:51 +09:00
syuilo
d150b10b3e Update default home widgets 2018-06-17 06:57:50 +09:00
syuilo
c4f323aae3 Merge pull request #1719 from Tosuke/master
Improve web app manifest(#1716)
2018-06-16 19:53:08 +09:00
Tosuke
8297f8ccd0 Merge branch 'master' of github.com:syuilo/misskey 2018-06-16 19:46:51 +09:00
Tosuke
f336241576 improve web app manifest 2018-06-16 19:45:49 +09:00
syuilo
f6d9a7e7c3 3.1.1 2018-06-16 19:45:47 +09:00
syuilo
80d1ee7543 Fix bug 2018-06-16 19:45:29 +09:00
syuilo
e55a254353 3.1.0 2018-06-16 18:43:25 +09:00
syuilo
555a0f276c MisskeyShare 2018-06-16 18:42:49 +09:00
syuilo
cdce7aa5e2 New translations ja.yml (Spanish) 2018-06-16 09:51:05 +09:00
syuilo
82cea185b2 New translations ja.yml (Spanish) 2018-06-16 09:30:38 +09:00
syuilo
f92a4bb195 New translations ja.yml (Spanish) 2018-06-16 09:20:56 +09:00
syuilo
9f4f88df9c New translations ja.yml (Spanish) 2018-06-16 09:10:48 +09:00
syuilo
e69803cbd1 New translations ja.yml (Spanish) 2018-06-16 09:00:56 +09:00
syuilo
a9885be09e New translations ja.yml (Spanish) 2018-06-16 05:40:57 +09:00
syuilo
7b011f4a91 New translations ja.yml (Spanish) 2018-06-16 05:30:45 +09:00
syuilo
41c404abe6 New translations ja.yml (Spanish) 2018-06-16 05:20:43 +09:00
syuilo
2089a761cf New translations ja.yml (Spanish) 2018-06-16 05:00:48 +09:00
syuilo
0ee2df010d New translations ja.yml (Spanish) 2018-06-16 04:50:43 +09:00
syuilo
466844c016 New translations ja.yml (Spanish) 2018-06-16 04:40:58 +09:00
syuilo
bbf9a08649 New translations ja.yml (Polish) 2018-06-15 20:11:35 +09:00
syuilo
c985c66652 New translations ja.yml (Portuguese) 2018-06-15 20:02:34 +09:00
syuilo
f9dc96320e New translations ja.yml (Korean) 2018-06-15 20:02:32 +09:00
syuilo
42552789fe New translations ja.yml (Polish) 2018-06-15 20:02:30 +09:00
syuilo
1a2ffeb0b5 New translations ja.yml (Chinese Simplified) 2018-06-15 20:02:28 +09:00
syuilo
4f75493249 New translations ja.yml (Italian) 2018-06-15 20:02:25 +09:00
syuilo
42193695fb New translations ja.yml (Russian) 2018-06-15 20:02:23 +09:00
syuilo
02af0de21e New translations ja.yml (English) 2018-06-15 20:02:21 +09:00
syuilo
5f8e10e524 New translations ja.yml (Spanish) 2018-06-15 20:02:19 +09:00
syuilo
cee93d746c New translations ja.yml (German) 2018-06-15 20:02:17 +09:00
syuilo
08704a383f New translations ja.yml (French) 2018-06-15 20:02:14 +09:00
syuilo
acdf7c244f New translations ja.yml (Polish) 2018-06-12 03:15:56 +09:00
syuilo
a72b6745aa New translations ja.yml (Portuguese) 2018-06-12 02:33:16 +09:00
syuilo
24086e9023 New translations ja.yml (Korean) 2018-06-12 02:33:14 +09:00
syuilo
c3d4b5ad38 New translations ja.yml (Polish) 2018-06-12 02:33:12 +09:00
syuilo
cc618a83e5 New translations ja.yml (Chinese Simplified) 2018-06-12 02:33:08 +09:00
syuilo
9eaa0b27db New translations ja.yml (Italian) 2018-06-12 02:33:06 +09:00
syuilo
a8835a679e New translations ja.yml (Russian) 2018-06-12 02:33:00 +09:00
syuilo
656bc6df84 New translations ja.yml (English) 2018-06-12 02:32:57 +09:00
syuilo
019aaf7d82 New translations ja.yml (Spanish) 2018-06-12 02:32:55 +09:00
syuilo
76bafbf398 New translations ja.yml (German) 2018-06-12 02:32:52 +09:00
syuilo
030bcb99b1 New translations ja.yml (French) 2018-06-12 02:32:47 +09:00
606 changed files with 16314 additions and 22857 deletions

View File

@@ -1,67 +1,140 @@
# インスタンス名
name:
name: example-instance-name # Name of your instance
description: example-description # Description of your instance
# インスタンスの紹介
description:
# サーバーのメンテナ情報
maintainer:
# メンテナの名前
name:
name: example-maitainer-name # Your name
url: http://example.com/ # Your contact (http or mailto)
repository_url: https://github.com/syuilo/misskey # Repository URL
feedback_url: https://github.com/syuilo/misskey/issues # Feedback URL (e.g. github issue)
# メンテナの連絡先(URLかmailto形式のURL)
url:
# URL and Port settings overview
# e.g., If you want to realize following structure:
#
# +--- https://example.com:123 ----------+
# +------+ |+-------------+ +---------------+|
# | User | ---> || Proxy (123) | ---> | Misskey (456) ||
# +------+ |+-------------+ +---------------+|
# +--------------------------------------+
#
# You need to set 'https://example.com:123' to 'url' prop and
# You need to set 456 to 'port' prop.
#
# In other words, the 'url' prop should be the final accessible URL seen by a user.
# 'port' prop is a port that the Misskey server should actually listen
# on and it is not necessarily the port that a user accesses.
# (Misskeyを動かす)URL
url:
url: http://localhost/
# 待受ポート
port:
# A port that your Misskey server should listen.
# This value is not a port to use when accessing with a browser.
port: 80
# TLSの設定(利用しない場合は省略してください)
https:
# 証明書のパス...
key:
cert:
# MongoDBの設定
mongodb:
host: localhost
port: 27017
db: misskey
user:
pass:
user: example-misskey-user
pass: example-misskey-pass
# Redisの設定
redis:
host: localhost
port: 6379
pass:
pass: example-pass
# reCAPTCHAの設定
recaptcha:
site_key:
secret_key:
# Drive capacity of a local user (MB)
localDriveCapacityMb: 256
# ServiceWrokerの設定
sw:
# VAPIDの公開鍵
public_key:
# Drive capacity of a remote user (MB)
remoteDriveCapacityMb: 8
# VAPIDの秘密鍵
private_key:
# If enabled:
# Server will not cache remote files (Using direct link instead).
# You can save your storage.
#
# NOTE:
# * Users cannot see remote images when they turn off "Show media from a remote server" setting.
# * Since thumbnails are not provided, traffic increases.
preventCacheRemoteFiles: false
# Google Maps API
google_maps_api_key:
drive:
storage: 'db'
# Twitterインテグレーションの設定(利用しない場合は省略可能)
twitter:
# インテグレーション用アプリのコンシューマーキー
consumer_key:
# OR
# インテグレーション用アプリのコンシューマーシークレット
consumer_secret:
# storage: 'minio'
# bucket:
# prefix:
# config:
# endPoint:
# port:
# useSSL:
# accessKey:
# secretKey:
# true にすると、リモートのファイルをキャッシュしなくなります(直リンクします)。
# ストレージ容量を節約することができますが、「リモートメディアを表示しない」設定をオンにしているユーザーは、リモートの画像などは見えなくなります。
preventCache: false
# S3 example
# storage: 'minio'
# bucket: bucket-name
# prefix: files
# config:
# endPoint: s3-us-west-2.amazonaws.com
# region: us-west-2
# useSSL: true
# accessKey: XXX
# secretKey: YYY
# S3 example (with CDN, custom domain)
# storage: 'minio'
# bucket: drive.example.com
# prefix: files
# baseUrl: https://drive.example.com
# config:
# endPoint: s3-us-west-2.amazonaws.com
# region: us-west-2
# useSSL: true
# accessKey: XXX
# secretKey: YYY
#
# Below settings are optional
#
# TLS
# https:
# # path for certification
# key: example-tls-key
# cert: example-tls-cert
# Elasticsearch
# elasticsearch:
# host: localhost
# port: 9200
# pass: null
# reCAPTCHA
# recaptcha:
# site_key: example-site-key
# secret_key: example-secret-key
# ServiceWorker
# sw:
# # Public key of VAPID
# public_key: example-sw-public-key
# # Private key of VAPID
# private_key: example-sw-private-key
# google_maps_api_key: example-google-maps-api-key
# Twitter integration
# You need to set the oauth callback url as : https://<your-misskey-instance>/api/tw/cb
# twitter:
# consumer_key: example-twitter-consumer-key
# consumer_secret: example-twitter-consumer-secret-key
# Ghost
# Ghost account is an account used for the purpose of delegating
# followers when putting users in the list.
# ghost: user-id-of-your-ghost-account
# Clustering
# clusterLimit: 1

1
.gitattributes vendored
View File

@@ -2,3 +2,4 @@
*.psd -diff -text
*.ai -diff -text
yarn.lock -diff -text
package-lock.json -diff -text

View File

@@ -1,7 +0,0 @@
<!--
Misskeyへの貢献ありがとうございます。
バグの報告や提案などで、可能であれば以下の情報を含めてください。
* お使いのブラウザ
* デスクトップ版Misskeyかモバイル版Misskeyか
-->

22
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

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

View File

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

2
.gitignore vendored
View File

@@ -4,11 +4,11 @@
/node_modules
/build
/built
built
/data
/.cache-loader
npm-debug.log
*.pem
run.bat
api-docs.json
package-lock.json
*.log

2
.npmrc
View File

@@ -1,2 +1,2 @@
package-lock = false
save-exact=true
package-lock = false

View File

@@ -22,7 +22,6 @@ addons:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- graphicsmagick
cache:
directories:

12
.vscode/extensions.json vendored Normal file
View File

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

4
.vsls.json Normal file
View File

@@ -0,0 +1,4 @@
{
"$schema": "http://json.schemastore.org/vsls",
"gitignore": "exclude"
}

View File

@@ -1,6 +1,41 @@
ChangeLog
=========
破壊的変更のみ記載。
This document describes breaking changes only.
6.0.0
-----
### Migration
オブジェクトストレージを使用している場合、設定ファイルの`drive.config.secure``drive.config.useSSL`にリネームしてください。
If you use object storage, please rename `drive.config.secure` to `drive.config.useSSL` in config.
5.0.0
-----
### Migration
起動する前に、`node cli/migration/5.0.0`してください。
Please run `node cli/migration/5.0.0` before launch.
4.0.0
-----
オセロがリバーシに変更されました。
Othello is now Reversi.
### Migration
MongoDBの、`othelloGames``othelloMatchings`コレクションをそれぞれ`reversiGames``reversiMatchings`にリネームしてください。
You need to rename `othelloGames` and `othelloMatchings` MongoDB collections to `reversiGames` and `reversiMatchings`.
3.0.0
-----

View File

@@ -5,29 +5,26 @@
[![][travis-badge]][travis-link]
[![][dependencies-badge]][dependencies-link]
[![][himawari-badge]][himasaku]
[![][sakurako-badge]][himasaku]
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![Greenkeeper badge](https://badges.greenkeeper.io/syuilo/misskey.svg)](https://greenkeeper.io/)
> Lead Maintainer: [syuilo][syuilo-link]
**Microblogging. Redefined.**
**[Misskey](https://misskey.xyz)** is a completely open source,
ultimately sophisticated professional microblogging software.
<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>
![](https://c10.patreonusercontent.com/3/e30%3D/patreon-posts/RsKWEDEKf8D_wYDQWAbex9CSb-1DnXW1nfqfLvuys5ROj2k0VF6_luuzHMTyf95n.png?token-time=1529539200&token-hash=RmcSP0947mw5o2-B6g1L6aU_OoDXANe198kLU6HMO30%3D)
![](https://ja.mstdn.wiki/images/e/ed/Deck.jpg)
:sparkles: Features
----------------------------------------------------------------
* Rich text contents
* Reactions
* User lists
* Customizable column view (known as MisskeyDeck)
* Customizable column view (called MisskeyDeck)
* and widgets!
* Private messages
* Mute
* Streaming
* ActivityPub compatible
* ActivityPub support
and more! You can see it with your own eyes at [misskey.xyz](https://misskey.xyz).
@@ -46,18 +43,40 @@ If you want to...
:heart: Backers & Sponsors
----------------------------------------------------------------
[![Backers][backers-image]][support-url]
[![Sponsors][sponsors-image]][support-url]
| ![][ooo-icon] |
|:-:|
| [ooo][ooo-link] |
<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"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12378075/0156f769e20f412594fa6b87d85fe228/1?token-time=2145916800&token-hash=IsIJRUXszzoD6-7pDnRY8I05T9nSznc4GTaxj7C9SwU%3D"></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"></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"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12959468/c249e15aebec4424b5c0f427173671b6/1?token-time=2145916800&token-hash=lubpCEdxAkxPlpR2O6bvZ7BIh8Q4nGf-U_mE1qpjVAQ%3D"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/1?token-time=2145916800&token-hash=f03BFb4S2FUx9YEt87TnEmifb4h33OywGBW2akQVtQY%3D"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/2?token-time=2145916800&token-hash=zElv7ZcPL3viGsXbNG_KWiKrbV0vvw1gk0panx8DJoo%3D"></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"></td>
<td><img src="https://c8.patreon.com/2/100/12718187"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12931605/ead494101f364dffa90efe49e36fb494/1?token-time=2145916800&token-hash=NzSFPjIlodXyv41rwK61aZWVZWfI4surJaNj8vWKvqM%3D"></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"></td>
</tr>
<tr>
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
<td><a href="https://www.patreon.com/user/creators?u=12378075">39ff</a></td>
<td><a href="https://www.patreon.com/dansup">dansup</a></td>
<td><a href="https://www.patreon.com/user/creators?u=12531784">Takashi Shibuya</a></td>
<td><a href="https://www.patreon.com/fujishan">fujishan</a></td>
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
<td><a href="https://www.patreon.com/user?u=5881381">Naoki Kosaka</a></td>
<td><a href="https://www.patreon.com/user?u=12731202">negao</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=12931605">Reiju</a></td>
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
</tr>
</table>
:four_leaf_clover: Copyright
----------------------------------------------------------------
> Copyright (c) 2014-2018 syuilo
Misskey is an open-source software licensed under [GNU AGPLv3](LICENSE).
Misskey is an open-source software licensed under the [GNU AGPLv3](LICENSE).
[![][agpl-3.0-badge]][AGPL-3.0]
@@ -67,9 +86,6 @@ Misskey is an open-source software licensed under [GNU AGPLv3](LICENSE).
[travis-badge]: http://img.shields.io/travis/syuilo/misskey/master.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
[himasaku]: https://himasaku.net
[himawari-badge]: https://img.shields.io/badge/%E5%8F%A4%E8%B0%B7-%E5%90%91%E6%97%A5%E8%91%B5-1684c5.svg?style=flat-square
[sakurako-badge]: https://img.shields.io/badge/%E5%A4%A7%E5%AE%A4-%E6%AB%BB%E5%AD%90-efb02a.svg?style=flat-square
[backer-url]: #backers
[backer-badge]: https://opencollective.com/misskey/backers/badge.svg
@@ -81,6 +97,3 @@ Misskey is an open-source software licensed under [GNU AGPLv3](LICENSE).
[syuilo-link]: https://syuilo.com
[syuilo-icon]: https://avatars2.githubusercontent.com/u/4439005?v=3&s=70
[ooo-link]: https://www.patreon.com/user/creators?u=11601413
[ooo-icon]: https://c10.patreonusercontent.com/3/eyJ2IjoiMSIsInciOjIwMH0%3D/patreon-media/user/11601413/20cb15f209924302b399b99d3c98b850?token-time=2145916800&token-hash=IO31nK6VZCMWBWU2VAk2c824BX2QZ4DNPKyHHZXS0iw%3D

View File

@@ -1,41 +0,0 @@
# appveyor file
# http://www.appveyor.com/docs/appveyor-yml
environment:
matrix:
- nodejs_version: 10.1.0
cache:
- node_modules
build: off
install:
# Update Node.js
# 標準で入っている Node.js を更新します (2014/11/13 時点では、v0.10.32 が標準)
- ps: Update-NodeJsInstallation (Get-NodeJsLatestBuild $env:nodejs_version)
- node --version
# Update NPM
- npm install -g npm
- npm --version
# Update node-gyp
# 必須! node-gyp のバージョンを上げないと、ネイティブモジュールのコンパイルに失敗します
- npm install -g node-gyp
- npm install
init:
# git clone の際の改行を変換しないようにします
- git config --global core.autocrlf false
before_test:
# 設定ファイルを配置
- cp ./.travis/default.yml ./.config
- cp ./.travis/test.yml ./.config
- npm run build
test_script:
- npm test

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
assets/icons/128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
assets/icons/16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

BIN
assets/icons/192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
assets/icons/256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
assets/icons/32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

BIN
assets/icons/64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -9,7 +9,7 @@ const q = {
'metadata._user.host': {
$ne: null
},
'metadata.isMetaOnly': false
'metadata.withoutChunks': false
};
async function main() {
@@ -57,7 +57,7 @@ async function main() {
DriveFile.update({ _id: file._id }, {
$set: {
'metadata.isMetaOnly': true
'metadata.withoutChunks': true
}
})
]).then(async () => {

View File

@@ -1,168 +0,0 @@
const fs = require('fs');
const path = require('path');
const yaml = require('js-yaml');
const inquirer = require('inquirer');
const chalk = require('chalk');
const configDirPath = `${__dirname}/../.config`;
const configPath = `${configDirPath}/default.yml`;
const form = [{
type: 'input',
name: 'maintainerName',
message: 'Your name:'
}, {
type: 'input',
name: 'maintainerUrl',
message: 'Your home page URL or your mailto URL:'
}, {
type: 'input',
name: 'url',
message: 'URL you want to run Misskey:',
validate: function(wannabeurl) {
return wannabeurl.match('^http\(s?\)://') ? true :
'URL needs to start with http:// or https://';
}
}, {
type: 'input',
name: 'port',
message: 'Listen port (e.g. 443):'
}, {
type: 'confirm',
name: 'https',
message: 'Use TLS?',
default: false
}, {
type: 'input',
name: 'https_key',
message: 'Path of tls key:',
when: ctx => ctx.https
}, {
type: 'input',
name: 'https_cert',
message: 'Path of tls cert:',
when: ctx => ctx.https
}, {
type: 'input',
name: 'https_ca',
message: 'Path of tls ca:',
when: ctx => ctx.https
}, {
type: 'input',
name: 'mongo_host',
message: 'MongoDB\'s host:',
default: 'localhost'
}, {
type: 'input',
name: 'mongo_port',
message: 'MongoDB\'s port:',
default: '27017'
}, {
type: 'input',
name: 'mongo_db',
message: 'MongoDB\'s db:',
default: 'misskey'
}, {
type: 'input',
name: 'mongo_user',
message: 'MongoDB\'s user:'
}, {
type: 'password',
name: 'mongo_pass',
message: 'MongoDB\'s password:'
}, {
type: 'input',
name: 'redis_host',
message: 'Redis\'s host:',
default: 'localhost'
}, {
type: 'input',
name: 'redis_port',
message: 'Redis\'s port:',
default: '6379'
}, {
type: 'password',
name: 'redis_pass',
message: 'Redis\'s password:'
}, {
type: 'confirm',
name: 'elasticsearch',
message: 'Use Elasticsearch?',
default: false
}, {
type: 'input',
name: 'es_host',
message: 'Elasticsearch\'s host:',
default: 'localhost',
when: ctx => ctx.elasticsearch
}, {
type: 'input',
name: 'es_port',
message: 'Elasticsearch\'s port:',
default: '9200',
when: ctx => ctx.elasticsearch
}, {
type: 'password',
name: 'es_pass',
message: 'Elasticsearch\'s password:',
when: ctx => ctx.elasticsearch
}, {
type: 'input',
name: 'recaptcha_site',
message: 'reCAPTCHA\'s site key:'
}, {
type: 'input',
name: 'recaptcha_secret',
message: 'reCAPTCHA\'s secret key:'
}];
inquirer.prompt(form).then(as => {
// Mapping answers
const conf = {
maintainer: {
name: as['maintainerName'],
url: as['maintainerUrl']
},
url: as['url'],
port: parseInt(as['port'], 10),
mongodb: {
host: as['mongo_host'],
port: parseInt(as['mongo_port'], 10),
db: as['mongo_db'],
user: as['mongo_user'],
pass: as['mongo_pass']
},
redis: {
host: as['redis_host'],
port: parseInt(as['redis_port'], 10),
pass: as['redis_pass']
},
elasticsearch: {
enable: as['elasticsearch'],
host: as['es_host'] || null,
port: parseInt(as['es_port'], 10) || null,
pass: as['es_pass'] || null
},
recaptcha: {
site_key: as['recaptcha_site'],
secret_key: as['recaptcha_secret']
}
};
if (as['https']) {
conf.https = {
key: as['https_key'] || null,
cert: as['https_cert'] || null,
ca: as['https_ca'] || null
};
}
console.log(`Thanks. Writing the configuration to ${chalk.bold(path.resolve(configPath))}`);
try {
fs.writeFileSync(configPath, yaml.dump(conf));
console.log(chalk.green('Well done.'));
} catch (e) {
console.error(e);
}
});

23
cli/mark-admin.js Normal file
View File

@@ -0,0 +1,23 @@
const mongo = require('mongodb');
const User = require('../built/models/user').default;
const args = process.argv.slice(2);
const user = args[0];
const q = user.startsWith('@') ? {
username: user.split('@')[1],
host: user.split('@')[2] || null
} : { _id: new mongo.ObjectID(user) };
console.log(`Mark as admin ${user}...`);
User.update(q, {
$set: {
isAdmin: true
}
}).then(() => {
console.log(`Done ${user}`);
}, e => {
console.error(e);
});

23
cli/mark-verified.js Normal file
View File

@@ -0,0 +1,23 @@
const mongo = require('mongodb');
const User = require('../built/models/user').default;
const args = process.argv.slice(2);
const user = args[0];
const q = user.startsWith('@') ? {
username: user.split('@')[1],
host: user.split('@')[2] || null
} : { _id: new mongo.ObjectID(user) };
console.log(`Mark as verfied ${user}...`);
User.update(q, {
$set: {
isVerified: true
}
}).then(() => {
console.log(`Done ${user}`);
}, e => {
console.error(e);
});

View File

@@ -3,8 +3,8 @@
const chalk = require('chalk');
const sequential = require('promise-sequential');
const { default: User } = require('../built/models/user');
const { default: DriveFile } = require('../built/models/drive-file');
const { default: User } = require('../../built/models/user');
const { default: DriveFile } = require('../../built/models/drive-file');
async function main() {
const promiseGens = [];

View File

@@ -3,8 +3,8 @@
const chalk = require('chalk');
const sequential = require('promise-sequential');
const { default: User } = require('../built/models/user');
const { default: DriveFile } = require('../built/models/drive-file');
const { default: User } = require('../../built/models/user');
const { default: DriveFile } = require('../../built/models/drive-file');
async function main() {
const promiseGens = [];

9
cli/migration/5.0.0.js Normal file
View File

@@ -0,0 +1,9 @@
const { default: DriveFile } = require('../../built/models/drive-file');
DriveFile.update({}, {
$rename: {
'metadata.isMetaOnly': 'metadata.withoutChunks'
}
}, {
multi: true
});

29
cli/reset-password.js Normal file
View File

@@ -0,0 +1,29 @@
const mongo = require('mongodb');
const bcrypt = require('bcryptjs');
const User = require('../built/models/user').default;
const args = process.argv.slice(2);
const user = args[0];
const q = user.startsWith('@') ? {
username: user.split('@')[1],
host: user.split('@')[2] || null
} : { _id: new mongo.ObjectID(user) };
console.log(`Resetting password for ${user}...`);
const passwd = 'yo';
// Generate hash of password
const hash = bcrypt.hashSync(passwd);
User.update(q, {
$set: {
password: hash
}
}).then(() => {
console.log(`Password of ${user} is now '${passwd}'`);
}, e => {
console.error(e);
});

View File

@@ -1,26 +0,0 @@
FROM base/archlinux
MAINTAINER Aya Morisawa
RUN rm /etc/pacman.d/mirrorlist
RUN echo 'Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
RUN echo 'Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
RUN rm /etc/localtime
RUN ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
RUN pacman -Sy --noconfirm
RUN pacman -S --noconfirm pacman
RUN pacman-db-upgrade
RUN pacman -S --noconfirm archlinux-keyring
RUN pacman -Syyu --noconfirm
RUN pacman -S --noconfirm git nodejs npm mongodb redis imagemagick
COPY misskey.sh /root/misskey.sh
RUN chmod u+x /root/misskey.sh
EXPOSE 80
EXPOSE 443
EXPOSE 27017
CMD ["/root/misskey.sh"]

View File

@@ -1,6 +0,0 @@
#!/bin/sh
redis-server --daemonize yes
mongod > /dev/null &
cd /root/misskey
npm start
tail -f /dev/null

View File

@@ -22,8 +22,4 @@ The list of people who have sent donation for Misskey.
---
If your name is missing, please contact us!
If you want to donate to Misskey, please get in touch with [@syuilo][syuilo-link].
[syuilo-link]: https://syuilo.com
If your name is missing, please contact us!

6
docs/README.md Normal file
View File

@@ -0,0 +1,6 @@
# Docs
These docs are for contributors of Misskey or admins of instance of Misskey.
Docs for users are located in `src/docs`.
これらのドキュメントはMisskeyの開発者またはMisskeyインスタンス運営者向けです。
利用者向けのドキュメントは`src/docs`にあります。

View File

@@ -1,29 +0,0 @@
Setup with Docker :whale:
================================================================
Ensure that the working directory is the repository root directory.
To create misskey image:
``` console
$ sudo docker build -t misskey ./docker
```
To run misskey:
``` console
$ sudo docker run --rm -i -t -p $PORT:80 -v $(pwd):/root/misskey -v $DBPATH:/data/db misskey
```
where `$PORT` is the port used to access Misskey Web from host browser
and `$DBPATH` is the path of MongoDB database on the host for data persistence.
ex:
``` console
$ sudo docker run --rm -i -t -p 80:80 -v $(pwd):/root/misskey -v /data/db:/data/db misskey
```
If you want to run misskey in production mode, add `--env NODE_ENV=production` like this:
``` console
$ sudo docker run --rm -i -t -p 80:80 -v $(pwd):/root/misskey -v /data/db:/data/db --env NODE_ENV=production misskey
```
Note that `$(pwd)` is the working directory.

View File

@@ -1,26 +0,0 @@
# Misskeyにカンパする方法
Misskeyのサポートにご興味をお持ちいただきありがとうございます
Misskeyにカンパをしていただくと、貴方のお名前と好きなURLなどをMisskeyのリポジトリに刻む権利がもらえます。
Misskeyにカンパして開発・運営をサポートするには、次のいくつかの方法があります:
## ConoHaカードを購入する
(本家)Misskeyは、ConoHaというVPSサービスを利用しています。ConoHaカードを購入して、
カードに記載されているクーポンコードを syuilotan@yahoo.co.jp までお送りいただければ、
そのクーポンをチャージしてサーバーの運営費に充てることができます。
ConoHaカードについてはこちらをご覧ください: https://www.conoha.jp/conohacard/
Amazonでも買えます: https://www.amazon.co.jp/dp/B01N9E3416
## Amazonギフトカード
これは間接的な方法です。
## 銀行振込
syuilotan@yahoo.co.jp までお問い合わせください。
## 手渡し
オフ会を行ったときなどに行使できる方法です。
## その他
なにかいいアイデアがあればお教えください。

46
docs/manage.en.md Normal file
View File

@@ -0,0 +1,46 @@
# Management guide
## Check the status of the job queue
coming soon
## Mark as 'admin' user
``` shell
node cli/mark-admin (User-ID or Username)
```
## Mark as 'verified' user
``` shell
node cli/mark-verified (User-ID or Username)
```
## Suspend users
``` shell
node cli/suspend (User-ID or Username)
```
e.g.
``` shell
# Use id
node cli/suspend 57d01a501fdf2d07be417afe
# Use username
node cli/suspend @syuilo
# Use username (remote)
node cli/suspend @syuilo@misskey.xyz
```
## Reset password
``` shell
node cli/reset-password (User-ID or Username)
```
## Clean up cached remote files
``` shell
node cli/clean-cached-remote-files
```
## Clean up unused drive files
``` shell
node cli/clean-unused-drive-files
```
> We recommend that you announce a user that unused drive files will be deleted before performing this operation, as it may delete the user's important files.

View File

@@ -1,13 +1,46 @@
# 運営ガイド
## ジョブキューの状態を調べる
Misskeyのディレクトリで:
coming soon
## 管理者ユーザーを設定する
``` shell
node_modules/kue/bin/kue-dashboard -p 3050
node cli/mark-admin (ユーザーID または ユーザー名)
```
## 'verified'ユーザーを設定する
``` shell
node cli/mark-verified (ユーザーID または ユーザー名)
```
ポート3050にアクセスするとUIが表示されます
## ユーザーを凍結する
``` shell
node cli/suspend (ユーザーID)
node cli/suspend (ユーザーID または ユーザー名)
```
例:
``` shell
# ユーザーID
node cli/suspend 57d01a501fdf2d07be417afe
# ユーザー名
node cli/suspend @syuilo
# ユーザー名 (リモート)
node cli/suspend @syuilo@misskey.xyz
```
## ユーザーのパスワードをリセットする
``` shell
node cli/reset-password (ユーザーID または ユーザー名)
```
## キャッシュされたリモートファイルをクリーンアップする
``` shell
node cli/clean-cached-remote-files
```
## 使われていないドライブのファイルをクリーンアップする
``` shell
node cli/clean-unused-drive-files
```
> ユーザーの大事なファイルを削除する可能性があるので、この操作を実行する前にユーザーに告知することをお勧めします。

View File

@@ -8,18 +8,13 @@ This guide describes how to install and setup Misskey.
----------------------------------------------------------------
*1.* reCAPTCHA tokens
*1.* Create Misskey user
----------------------------------------------------------------
Misskey requires reCAPTCHA tokens.
Please visit https://www.google.com/recaptcha/intro/ and generate keys.
Running misskey on root is not a good idea so we create a user for that.
In debian for exemple :
*(optional)* Generating VAPID keys
----------------------------------------------------------------
If you want to enable ServiceWroker, you need to generate VAPID keys:
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
adduser --disabled-password --disabled-login misskey
```
*2.* Install dependencies
@@ -27,25 +22,59 @@ web-push generate-vapid-keys
Please install and setup these softwares:
#### Dependencies :package:
* *Node.js* and *npm*
* **[MongoDB](https://www.mongodb.com/)**
* **[Node.js](https://nodejs.org/en/)**
* **[MongoDB](https://www.mongodb.com/)** >= 3.6
* **[Redis](https://redis.io/)**
* **[ImageMagick](http://www.imagemagick.org/script/index.php)** >= 7.0
##### Optional
* [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB
*3.* Install Misskey
----------------------------------------------------------------
1. `git clone -b master git://github.com/syuilo/misskey.git`
2. `cd misskey`
3. `npm install`
*4.* Prepare configuration
*3.* Setup MongoDB
----------------------------------------------------------------
You need to generate config file via `npm run config` command.
In root :
1. `mongo` Go to the mongo shell
2. `use misskey` Use the misskey database
3. `db.users.save( {dummy:"dummy"} )` Write dummy data to initialize the db.
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Create the misskey user.
5. `exit` You're done !
*5.* Build Misskey
*4.* Install Misskey
----------------------------------------------------------------
1. `su - misskey` Connect to misskey user.
2. `git clone -b master git://github.com/syuilo/misskey.git` Clone the misskey repo from master branch.
3. `cd misskey` Navigate to misskey directory
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)* reCAPTCHA tokens
----------------------------------------------------------------
If you want to enable reCAPTCHA, you need to generate reCAPTCHA tokens:
Please visit https://www.google.com/recaptcha/intro/ and generate keys.
*(optional)* Generating VAPID keys
----------------------------------------------------------------
If you want to enable ServiceWroker, you need to generate VAPID keys:
Unless you have set your global node_modules location elsewhere, you need to run this in root.
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
*(optional)* Create a twitter application
----------------------------------------------------------------
If you want to enable the twitter integration, you need to create a twitter app at [https://developer.twitter.com/en/apply/user](https://developer.twitter.com/en/apply/user).
In the app you need to set the oauth callback url as : https://misskey-instance/api/tw/cb
*5.* Make configuration file
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
2. Edit `default.yml`
*6.* Build Misskey
----------------------------------------------------------------
Build misskey with the following:
@@ -61,14 +90,48 @@ If you're still encountering errors about some modules, use node-gyp:
3. `node-gyp build`
4. `npm run build`
*6.* That is it.
*7.* That is it.
----------------------------------------------------------------
Well done! Now, you have an environment that run to Misskey.
### Launch
Just `sudo npm start`. GLHF!
### Launch normally
Just `npm start`. GLHF!
### Launch with systemd
1. Create a systemd service here: `/etc/systemd/system/misskey.service`
2. Edit it, and paste this and save:
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
```
3. `systemctl daemon-reload ; systemctl enable misskey` Reload systemd and enable the misskey service.
4. `systemctl start misskey` Start the misskey service.
You can check if the service is running with `systemctl status misskey`.
### Way to Update to latest version of your Misskey
1. `git reset --hard && git pull origin master`
2. `npm install`
3. `npm run build`
1. `git fetch`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
3. `npm install`
4. `npm run build`
----------------------------------------------------------------
If you have any questions or troubles, feel free to contact us!

View File

@@ -8,10 +8,48 @@ Misskeyサーバーの構築にご関心をお寄せいただきありがとう
----------------------------------------------------------------
*1.* reCAPTCHAトークンの用意
*1.* Misskeyユーザーの作成
----------------------------------------------------------------
MisskeyはreCAPTCHAトークンを必要とします。
https://www.google.com/recaptcha/intro/ にアクセスしてトークンを生成してください。
Misskeyのrootで実行しない方がよいため、代わりにユーザーを作成します。
Debianの例:
```
adduser --disabled-password --disabled-login misskey
```
*2.* 依存関係をインストールする
----------------------------------------------------------------
これらのソフトウェアをインストール・設定してください:
#### 依存関係 :package:
* **[Node.js](https://nodejs.org/en/)**
* **[MongoDB](https://www.mongodb.com/)** (3.6以上)
* **[Redis](https://redis.io/)**
##### オプション
* [Elasticsearch](https://www.elastic.co/) - 検索機能を向上させるために用います。
*3.* MongoDBの設定
----------------------------------------------------------------
ルートで:
1. `mongo` mongoシェルを起動
2. `use misskey` misskeyデータベースを使用
3. `db.users.save( {dummy:"dummy"} )` ダミーデータを書き込みDBを初期化
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` misskeyユーザーを作成
5. `exit` mongoシェルを終了
*4.* Misskeyのインストール
----------------------------------------------------------------
1. `su - misskey` misskeyユーザーを使用
2. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン
3. `cd misskey` 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の依存パッケージをインストール
*(オプション)* reCAPTCHAトークン
----------------------------------------------------------------
reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。
https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。
*(オプション)* VAPIDキーペアの生成
----------------------------------------------------------------
@@ -22,56 +60,67 @@ npm install web-push -g
web-push generate-vapid-keys
```
*2.* 依存関係をインストールする
*5.* 設定ファイルを作成する
----------------------------------------------------------------
これらのソフトウェアをインストール・設定してください:
1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする。
2. `default.yml` を編集する。
#### 依存関係 :package:
* *Node.js* と *npm*
* **[MongoDB](https://www.mongodb.com/)**
* **[Redis](https://redis.io/)**
* **[ImageMagick](http://www.imagemagick.org/script/index.php)**
##### オプション
* [Elasticsearch](https://www.elastic.co/) - 検索機能を向上させるために用います。
*3.* Misskeyのインストール
*6.* Misskeyのビルド
----------------------------------------------------------------
1. `git clone -b master git://github.com/syuilo/misskey.git`
2. `cd misskey`
3. `npm install`
*4.* 設定ファイルを用意する
----------------------------------------------------------------
`npm run config`コマンドを利用して、ガイドに従って情報を入力してください。
次のコマンドでMisskeyをビルドしてください:
*5.* Misskeyのビルド
----------------------------------------------------------------
`npm run build`
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
何らかのモジュールでエラーが発生する場合はnode-gypを使ってください:
1. `npm install -g node-gyp`
2. `node-gyp configure`
3. `node-gyp build`
4. `npm run build`
*6.* 以上です!
*7.* 以上です!
----------------------------------------------------------------
お疲れ様でした。これでMisskeyを動かす準備は整いました。
### 起動
`sudo npm start`するだけです。GLHF!
### 通常起動
`npm start`するだけです。GLHF!
### systemdを用いた起動
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
2. エディタで開き、以下のコードを貼り付けて保存:
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
```
3. `systemctl daemon-reload ; systemctl enable misskey` systemdを再読み込みしmisskeyサービスを有効化
4. `systemctl start misskey` misskeyサービスの起動
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
### Misskeyを最新バージョンにアップデートする方法:
1. `git reset --hard && git pull origin master`
2. `npm install`
3. `npm run build`
1. `git fetch`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
3. `npm install`
4. `npm run build`
## メモリが足りなくてビルドできない場合
Misskeyの(クライアントの)ビルドには、目安として8GBくらいのメモリを必要とします。
VPSなどでビルドする時は、もしかしたらメモリが足りなくなる可能性があります。
そうなった場合、もしVPSではなくあなたのPCが十分なメモリを搭載しているなら、あなたのPC上でビルドし、生成されたファイルをVPSにFTPでアップロードする方法を採ることができます。
----------------------------------------------------------------
1. あなたのPC上にMisskeyをインストールする
2. 設定ファイルを用意する。設定ファイルは、サーバーに合わせた設定にします。
3. npm run webpack
4. built/client をサーバーにアップロードする
5. サーバー上で、npm run gulp
6. 完了
なにかお困りのことがありましたらお気軽にご連絡ください。

View File

@@ -4,19 +4,19 @@ Misskey's Translation
If you find an untranslated part on Misskey:
--------------------------------------------
1. Look for untranslated parts in the miskey's source code.
1. Look for untranslated parts in the misskey's source code.
- For instance, if you find an untranslated part in: `src/client/app/mobile/views/pages/home.vue`.
2. Replace the untranslated portion with a character string of the form `%i18n:@foo%`.
- In fact, `foo` should be a word that is appropriate for the situation and is easy to understand in English.
- For example, if the untranslated portion is the following "タイムライン" you must write: `%i18n:@timeline%`.
3. Open each language file in /locales, check whether the <strong>file name (path)</strong> found in step 1 exists, if not, create it.
3. Open the `locales/ja.yml`, check whether the <strong>file name (path)</strong> found in step 1 exists, if not, create it.
- Do not put the beginning of the path `src/client/app/` in the locale file.
- For example, in this case we want to modify untranslated parts of `src/client/app/mobile/views/pages/home.vue`, so the key is `mobile/views/pages/home.vue`.
4. Add the translated text property using the `foo` keyword below the path that you found or created in step 2. Make sure to type your text in quotation marks. Text should always be inside of quotes.
- For example, in this case we add timeline: `timeline: "Timeline"` to `locales/en.yml`, and `timeline: "タイムライン"` to `locales/ja.yml`.
4. Add the text property using the `foo` keyword below the path that you found or created in step 2. Make sure to type your text in quotation marks. Text should always be inside of quotes.
- For example, in this case we add timeline: `timeline: "タイムライン"` to `locales/ja.yml`.
5. And done

View File

@@ -11,12 +11,12 @@ Misskey内の未翻訳箇所を見つけたら
- `foo`は実際にはその場に適したわかりやすい(英語の)名前にしてください。
- 例えば未翻訳箇所が「タイムライン」というテキストだった場合、`%i18n:@timeline%`のようにします。
3. /locales 内にあるそれぞれの言語ファイルを開き、1.で見つけた<strong>ファイル名(パス)</strong>のキーが存在するか確認し、無ければ作成してください。
3. `locales/ja.yml`を開き、1.で見つけた<strong>ファイル名(パス)</strong>のキーが存在するか確認し、無ければ作成してください。
- パスの`src/client/app/`は省略してください。
- 例えば、今回の例では`src/client/app/mobile/views/pages/home.vue`の未翻訳箇所を修正したいので、キーは`mobile/views/pages/home.vue`になります。
4. そのキーの直下に2.で置換した`foo`の部分をキーとし、翻訳後のテキストを値とするプロパティを追加します。
- 例えば、今回の例で言うと`locales/ja.yml``timeline: "タイムライン"``locales/en.yml``timeline: "Timeline"`を追加します。
4. そのキーの直下に2.で置換した`foo`の部分をキーとし、テキストを値とするプロパティを追加します。
- 例えば、今回の例で言うと`locales/ja.yml``timeline: "タイムライン"`を追加します。
5. 完了です!

View File

@@ -1,6 +0,0 @@
How to create indexes
=====================
``` shell
curl -XPOST localhost:9200/misskey -d @path/to/mappings.json
```

View File

@@ -1,65 +0,0 @@
{
"settings": {
"analysis": {
"analyzer": {
"bigram": {
"tokenizer": "bigram_tokenizer"
}
},
"tokenizer": {
"bigram_tokenizer": {
"type": "nGram",
"min_gram": 2,
"max_gram": 2,
"token_chars": [
"letter",
"digit"
]
}
}
}
},
"mappings": {
"user": {
"properties": {
"username": {
"type": "string",
"index": "analyzed",
"analyzer": "bigram"
},
"name": {
"type": "string",
"index": "analyzed",
"analyzer": "bigram"
},
"bio": {
"type": "string",
"index": "analyzed",
"analyzer": "kuromoji"
}
}
},
"post": {
"properties": {
"text": {
"type": "string",
"index": "analyzed",
"analyzer": "kuromoji"
}
}
},
"drive_file": {
"properties": {
"name": {
"type": "string",
"index": "analyzed",
"analyzer": "kuromoji"
},
"user": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}

View File

@@ -8,21 +8,21 @@ import * as gutil from 'gulp-util';
import * as ts from 'gulp-typescript';
const sourcemaps = require('gulp-sourcemaps');
import tslint from 'gulp-tslint';
import cssnano = require('gulp-cssnano');
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';
import imagemin = require('gulp-imagemin');
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');
import locales from './locales';
import { fa } from './src/build/fa';
const client = require('./built/client/meta.json');
const locales = require('./locales');
import { fa } from './src/misc/fa';
import config from './src/config';
const uglify = uglifyComposer(uglifyes, console);
@@ -38,8 +38,6 @@ if (isDebug) {
const constants = require('./src/const.json');
require('./src/client/docs/gulpfile.ts');
gulp.task('build', [
'build:ts',
'build:copy',
@@ -47,8 +45,6 @@ gulp.task('build', [
'doc'
]);
gulp.task('rebuild', ['clean', 'build']);
gulp.task('build:ts', () => {
const tsProject = ts.createProject('./tsconfig.json');
@@ -85,19 +81,19 @@ gulp.task('lint', () =>
);
gulp.task('format', () =>
gulp.src('./src/**/*.ts')
.pipe(tslint({
formatter: 'verbose',
fix: true
}))
.pipe(tslint.report())
gulp.src('./src/**/*.ts')
.pipe(tslint({
formatter: 'verbose',
fix: true
}))
.pipe(tslint.report())
);
gulp.task('mocha', () =>
gulp.src([])
gulp.src('./test/**/*.ts')
.pipe(mocha({
exit: true,
compilers: 'ts:ts-node/register'
require: 'ts-node/register'
} as any))
);
@@ -118,8 +114,9 @@ gulp.task('build:client', [
'copy:client'
]);
gulp.task('build:client:script', () =>
gulp.src(['./src/client/app/boot.js', './src/client/app/safe.js'])
gulp.task('build:client:script', () => {
const client = require('./built/client/meta.json');
return gulp.src(['./src/client/app/boot.js', './src/client/app/safe.js'])
.pipe(replace('VERSION', JSON.stringify(client.version)))
.pipe(replace('API', JSON.stringify(config.api_url)))
.pipe(replace('ENV', JSON.stringify(env)))
@@ -127,8 +124,8 @@ gulp.task('build:client:script', () =>
.pipe(isProduction ? uglify({
toplevel: true
} as any) : gutil.noop())
.pipe(gulp.dest('./built/client/assets/')) as any
);
.pipe(gulp.dest('./built/client/assets/'));
});
gulp.task('build:client:styles', () =>
gulp.src('./src/client/app/init.css')
@@ -201,3 +198,10 @@ gulp.task('build:client:pug', [
}))
.pipe(gulp.dest('./built/client/app/'))
);
gulp.task('doc', () =>
gulp.src('./src/docs/**/*.styl')
.pipe(stylus())
.pipe((cssnano as any)())
.pipe(gulp.dest('./built/docs/assets/'))
);

1188
locales/ca.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,9 +3,31 @@ meta:
lang: "Deutsch"
divider: ""
common:
misskey: "A planet of fediverse"
misskey: "A of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
adblock:
detected: "広告ブロッカーを無効にしてください"
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。"
application-authorization: "アプリの連携"
close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
paragraph2: "一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。"
paragraph3: "ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。"
paragraph4: "カスタマイズを終了するには、右上の「完了」をクリックします。"
gotit: "Got it!"
notification:
file-uploaded: "ファイルがアップロードされました"
message-from: "{}さんからメッセージ:"
reversi-invited: "対局への招待があります"
reversi-invited-by: "{}さんから"
notified-by: "{}さんから"
reply-from: "{}さんから返信:"
quoted-by: "{}さんが引用:"
time:
unknown: "Unbekannt"
future: "Zukunft"
@@ -17,6 +39,8 @@ common:
weeks_ago: "vor {0} Woche{0:n}"
months_ago: "vor {0} Monat{0:en}"
years_ago: "vor {} Jahr{0:en}"
month-and-day: "{month}月 {day}日"
trash: "ゴミ箱"
weekday-short:
sunday: "So"
monday: "Mo"
@@ -25,6 +49,14 @@ common:
thursday: "Do"
friday: "Fr"
saturday: "Sa"
weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
reactions:
like: "Gefällt mir"
love: "Lieben"
@@ -34,6 +66,7 @@ common:
congrats: "Glückwunsch!"
angry: "Wütend"
confused: "Verwirrt"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "Was machst du gerade?"
@@ -42,11 +75,28 @@ common:
d: "Willst du etwas sagen?"
e: "Schreib hier etwas!"
f: "Warte darauf, das du schreibst."
search: "検索"
delete: "Löschen"
loading: "Laden"
ok: "OK"
update-available-title: "更新があります"
update-available: "Eine neue Version von Misskey ist verfügbar ({newer}, aktuell ist {current}). Lade die Seite neu um die aktuelle Version zu laden"
my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet."
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
verified-user: "認証済みのユーザー"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
opponent-turn: "相手のターンです"
turn-of: "{}のターンです"
past-turn-of: "{}のターン"
won: "{}の勝ち"
black: "黒"
white: "白"
total: "合計"
this-turn: "{}ターン目"
widgets:
analog-clock: "Analoge Uhr"
profile: "Profil"
@@ -75,6 +125,7 @@ common:
widgets: "Widget hinzufügen:"
home: "Startseite"
local: "Lokal"
hybrid: "ソーシャル"
global: "Global"
notifications: "Mitteilungen"
list: "Listen"
@@ -87,6 +138,73 @@ common:
rename: "Umbenennen"
stack-left: "Nach links schichten"
pop-right: "右に出す"
auth/views/form.vue:
share-access: "<i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。"
note-write: "投稿する。"
like-write: "いいねしたりいいね解除する。"
following-write: "フォローしたりフォロー解除する。"
drive-read: "ドライブを見る。"
drive-write: "ドライブを操作する。"
notification-read: "通知を見る。"
notification-write: "通知を操作する。"
cancel: "キャンセル"
accept: "アクセスを許可"
auth/views/index.vue:
loading: "読み込み中"
denied: "アプリケーションの連携をキャンセルしました。"
denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。"
already-authorized: "このアプリは既に連携済みです"
allowed: "アプリケーションの連携を許可しました"
callback-url: "アプリケーションに戻っています"
please-go-back: "アプリケーションに戻って、やっていってください。"
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
cancel: "キャンセル"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
invite: "招待"
rule: "遊び方"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "招待"
mode-invite-desc: "指定したユーザーと対戦するモードです。"
invitations: "対局の招待があります!"
my-games: "自分の対局"
all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください"
game-state:
ended: "終了"
playing: "進行中"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定"
choose-map: "マップを選択"
random: "ランダム"
black-or-white: "先手/後手"
black-is: "{}が黒"
rules: "ルール"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定"
this-game-is-started-soon: "ゲームは数秒後に開始されます"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中"
cancel: "キャンセル"
ready: "準備完了"
cancel-ready: "準備続行"
common/views/components/connect-failed.vue:
title: "Verbindung zum Server ist fehlgeschlagen"
description: "Es gibt entweder ein Problem mit deiner Internetverbindung, der Server ist nicht erreichbar oder wird gerade gewartet. Bitte versuche es später noch einmal."
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "Keine weitere Chronik vorhanden"
resize-form: "Ziehen um die Größe zu verändern"
new-message: "Neue Nachricht"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "Nachricht hier eingeben"
send: "Senden"
attach-from-local: "Wähle Dateien von deinem PC aus"
attach-from-drive: "Wähle Dateien von deinem Speicher aus"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "Gelesen"
deleted: "Diese Nachricht wurde gelöscht"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "Token"
signing-in: "Melde an..."
signin: "Anmelden"
or: "または"
signin-with-twitter: "Twitterでログイン"
common/views/components/signup.vue:
username: "Benutzername"
checking: "Überprüfung..."
@@ -216,6 +338,13 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "Keine Broadcasts"
have-a-nice-day: "Schönen Tag!"
next: "Nächster"
common/views/widgets/calendar.vue:
year: "{}年"
month: "{}月"
day: "{}日"
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!"
@@ -228,6 +357,7 @@ common/views/widgets/posts-monitor.vue:
common/views/widgets/hashtags.vue:
title: "ハッシュタグ"
count: "{}人が投稿"
empty: "トレンドなし"
common/views/widgets/server.vue:
title: "Serverinformationen"
toggle: "Sicht umschalten"
@@ -235,6 +365,48 @@ common/views/widgets/memo.vue:
title: "Notizen"
memo: "Schreib hier!"
save: "Speichern"
common/views/widgets/slideshow.vue:
folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください"
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-request: "フォロー申請"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "バナー"
uploading-banner: "新しいバナーをアップロードしています"
banner-updated: "バナーを更新しました"
choose-banner: "バナーにする画像を選択"
avatar-crop-title: "アバターとして表示する部分を選択"
avatar: "アバター"
uploading-avatar: "新しいアバターをアップロードしています"
avatar-updated: "アバターを更新しました"
choose-avatar: "アバターにする画像を選択"
desktop/views/components/activity.chart.vue:
total: "Schwarz ... komplett"
notes: "Blau ... Hinweise"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "Banner"
contextmenu:
rename: "Umbenennen"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
copy-url: "URL kopieren"
download: "Download"
else-files: "Anderes…"
@@ -313,6 +487,12 @@ desktop/views/components/drive.vue:
create-folder: "Ein Verzeichnis erstellen"
upload: "Eine Datei hochladen"
url-upload: "Von einer URL hochladen"
desktop/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/follow-button.vue:
following: "Folge ich"
follow: "Folgen"
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "Mehr"
close: "Schließen"
desktop/views/components/game-window.vue:
game: "Othello"
game: "リバーシ"
desktop/views/components/home.vue:
done: "Verbunden"
add-widget: "Widget hinzufügen:"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "Zeige Details"
private: "Dieser Beitrag ist eine privat"
deleted: "Dieser Beitrag wurde entfernt"
hide: "隠す"
see-more: "もっと見る"
desktop/views/components/notes.vue:
error: "Laden fehlgeschlagen."
retry: "Erneut versuchen"
load-more: "もっと読み込む"
desktop/views/components/notifications.vue:
more: "Mehr"
empty: "Keine Benachrichtigungen"
desktop/views/components/post-form.vue:
add-visible-user: "+ユーザーを追加"
attach-location-information: "位置情報を添付する"
hide-contents: "内容を隠す"
reply-placeholder: "Antworte auf diese Anmerkung..."
quote-placeholder: "Zitiere diese Anmerkung..."
submit: "Beitragsform"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "Medien von deinem PC hinzufügen"
attach-media-from-drive: "Medien von deinem Speicher hinzufügen"
attach-cancel: "Hinzufügen abbrechen"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "Eine Abstimmung erstellen"
text-remain: "{} Zeichen verbleibend"
recent-tags: "最近"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "お使いの端末は位置情報に対応していません"
error: "エラー"
enter-username: "ユーザー名を入力してください"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "Neue Notiz"
reply: "Antworten"
@@ -426,6 +619,8 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "API-Anfrage über WebSocket statt native Aktualisierungs-API (für bessere Leistung). Diese Einstellung wird im Browser gespeichert."
display: "Erscheinungsbild und Anzeige"
customize: "Startseite anpassen"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "Nacht Modus"
circle-icons: "Kreisförmige Icons"
gradient-window-header: "Übergang in Fensterköpfen"
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "Bitte Passwort eingeben"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "自己紹介"
birthday: "誕生日"
save: "Profil aktualisieren"
locked-account: "アカウントの保護"
is-locked: "投稿を非公開にする"
other: "その他"
is-bot: "このアカウントはBotです"
is-cat: "このアカウントはCatです"
profile-updated: "プロフィールを更新しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "Home"
local: "Lokal"
hybrid: "ソーシャル"
global: "Global"
list: "Listen"
desktop/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "Dein Profil"
drive: "Speicher"
favorites: "Favoriten"
lists: "Listen"
follow-requests: "フォロー申請"
customize: "Anpassen"
customize: "ホームのカスタマイズ"
settings: "Einstellungen"
signout: "Ausloggen"
dark: "Verdunkeln"
@@ -563,6 +769,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
list-name: "リスト名"
desktop/views/components/user-preview.vue:
notes: "投稿"
following: "フォロー"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "{}がRenote"
private: "この投稿は非公開です"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/favorites.vue:
@@ -606,6 +834,13 @@ desktop/views/pages/selectdrive.vue:
ok: "OK"
cancel: "Abbrechen"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@@ -618,7 +853,7 @@ desktop/views/pages/user/user.friends.vue:
title: "よく話すユーザー"
loading: "読み込み中"
no-users: "よく話すユーザーはいません"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "このユーザーは凍結されています。"
is-remote: "このユーザーはリモートユーザーです。"
view-remote: "正確な情報を見る"
@@ -636,6 +871,13 @@ desktop/views/pages/user/user.profile.vue:
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
is-bot: "このアカウントはBotです"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
@@ -692,6 +934,12 @@ mobile/views/components/drive.file-detail.vue:
move: "移動"
hash: "ハッシュ (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -750,6 +998,9 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@@ -780,6 +1031,8 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
mobile/views/pages/following.vue:
@@ -787,7 +1040,21 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "追加"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/share.vue:
share-with: "{}で共有"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "Profil"
name: "名前"
@@ -820,6 +1089,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "検索"
empty: "「{}」に関する投稿は見つかりませんでした。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択"
mobile/views/pages/settings.vue:
@@ -900,11 +1170,19 @@ docs:
properties: "プロパティ"
endpoints:
params: "パラメータ"
no-params: "パラメータはありません"
res: "レスポンス"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "コードをGitHubで見る"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "名前"
type: "型"
optional: "オプション"
description: "説明"
yes: "はい"
no: "いいえ"
dev/views/index.vue:
manage-apps: "アプリの管理"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,20 +3,44 @@ meta:
lang: "Français"
divider: ""
common:
misskey: "Une planète du fédiverse"
misskey: "Une du fédiverse"
about-title: "Une ⭐ du fédiverse."
about: "Merci d'avoir découvert Misskey. Misskey est une <b>plateforme de micro-blogging distribuée</b> née sur Terre. Parce qu'il fait partie du Fédiverse (un univers composé de diverses plateformes de réseaux sociaux organisées), il est mutuellement connecté avec d'autres plateformes de réseaux sociaux. Désirez-vous prendre une pause, pendant un instant, loin de l'agitation de la ville et plonger dans un nouvel Internet ?"
adblock:
detected: "Veuillez désactiver le bloqueur de publicités"
warning: "<strong>Misskey n'utilise pas de publicités</strong>, mais quelques options peuvent être non disponibles ou fonctionneraient mal si un bloqueur de publicités est activé."
application-authorization: "Permissions de l'application"
close: "Fermer"
do-not-copy-paste: "Veuillez ne pas entrer ou coller le code ici. Le compte peut être compromis."
got-it: "J'ai compris !"
customization-tips:
title: "Conseils de personnalisation"
paragraph1: "La personnalisation à la maison vous permet d'ajouter / supprimer, glisser et déposer et réorganiser les widgets."
paragraph2: "Vous pouvez changer l'affichage en <strong>cliquant droit</strong> sur certains widgets."
paragraph3: "Pour supprimer un widget, <strong>glissez et déposez le widget sur la zone étiquetée \"Corbeille\"</strong> dans l'en-tête."
paragraph4: "Pour terminer la personnalisation, cliquez sur \"Terminer\" dans le coin supérieur droit."
gotit: "Compris!"
notification:
file-uploaded: "Le fichier a été téléversé !"
message-from: "Message de {} :"
reversi-invited: "Invité à jouer"
reversi-invited-by: "Invité par {} :"
notified-by: "Notifié par {} :"
reply-from: "Réponse de {} :"
quoted-by: "Cité·e par {} :"
time:
unknown: "inconnu"
future: "future"
just_now: "maintenant"
seconds_ago: "Il y a {}seconde(s)"
minutes_ago: "Il y a {}minute(s)"
hours_ago: "Il y a {}heure(s)"
days_ago: "Il y a {}jour(s)"
weeks_ago: "Il y a{}semaines(s)"
months_ago: "Il y a {}mois"
years_ago: "Il y a {}an(s)"
just_now: "à l'instant"
seconds_ago: "Il y a {} seconde·s"
minutes_ago: "Il y a {} minute·s"
hours_ago: "Il y a {} heure·s"
days_ago: "Il y a {} jour·s"
weeks_ago: "Il y a {} semaines·s"
months_ago: "Il y a {} mois"
years_ago: "Il y a {} an·s"
month-and-day: "{month}/{day}"
trash: "Corbeille"
weekday-short:
sunday: "D"
monday: "L"
@@ -25,33 +49,59 @@ common:
thursday: "J"
friday: "V"
saturday: "S"
weekday:
sunday: "Dimanche"
monday: "Lundi"
tuesday: "Mardi"
wednesday: "Mercredi"
thursday: "Jeudi"
friday: "Vendredi"
saturday: "Samedi"
reactions:
like: "Aime"
love: "Adore"
laugh: "Rire"
hmm: "Hmm...?"
hmm: "Hmm ... ?"
surprise: "Wow"
congrats: "Félicitations!"
angry: "En Colère"
congrats: "Félicitations !"
angry: "En colère"
confused: "Confus"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "Que faîtes vous à cet instant ?"
a: "Que faîtes vous maintenant ?"
b: "Quoi de neuf ?"
c: "Qu'avez-vous en tête ?"
d: "Voulez-vous exprimer quelque chose ?"
e: "Écrivez ici"
f: "En attente de vos écrits"
search: "Recherche"
delete: "Supprimer"
loading: "Chargement"
ok: "OK"
update-available: "Une nouvelle version de Misskey est disponible({newer}, version actuelle: {current}). Recharger la page pour appliquer la mise à jour."
update-available-title: "Mise à jour disponible"
update-available: "Une nouvelle version de Misskey est disponible ({newer}, version actuelle: {current}). Veuillez recharger la page pour appliquer la mise à jour."
my-token-regenerated: "Votre token vient d'être généré, vous allez maintenant être déconnecté."
i-like-sushi: "Je préfère les sushis (au pudding)"
show-reversi-board-labels: "Afficher les étiquettes des lignes et colonnes dans Reversi"
verified-user: "Utilisateur·trice vérifié·e"
disable-animated-mfm: "Désactiver les textes animés dans les publications"
reversi:
drawn: "Partie nulle"
my-turn: "Cest votre tour"
opponent-turn: "Tour de ladversaire"
turn-of: "Cest le tour de {}"
past-turn-of: "C'est au tour de {}"
won: "{} a gagné"
black: "Noirs"
white: "Blancs"
total: "Total"
this-turn: "Tour {}"
widgets:
analog-clock: "Horloge analogique"
profile: "Profil"
calendar: "Calendrier"
timemachine: "カレンダー(タイムマシン)"
timemachine: "Calendrier (Machine de temps)"
activity: "Activité"
rss: "Lecteur de flux RSS"
memo: "Pense-bête"
@@ -64,17 +114,18 @@ common:
notifications: "Notifications"
users: "Utilisateurs"
polls: "Sondages"
post-form: "投稿フォーム"
post-form: "Formulaire de publication"
messaging: "Messagerie"
server: "Info sur le serveur"
donation: "Dons"
nav: "Navigation"
tips: "Conseils"
hashtags: "ハッシュタグ"
hashtags: "Étiquettes"
deck:
widgets: "Widgets"
home: "Accueil"
local: "Local"
hybrid: "Social"
global: "Global"
notifications: "Notifications"
list: "Liste"
@@ -87,8 +138,75 @@ common:
rename: "Renommer"
stack-left: "Vers la gauche"
pop-right: "Vers la droite"
auth/views/form.vue:
share-access: "Désirez-vous <b>autoriser</b> <i>{{ app.name }}</i> à avoir accès à votre compte ?"
permission-ask: "Cette application nécessite les autorisations suivantes :"
account-read: "Afficher les informations du compte :"
account-write: "Modifications des informations du compte :"
note-write: "Publier."
like-write: "Réagir aux publications."
following-write: "S'abonner et se désabonner."
drive-read: "Lire votre Drive"
drive-write: "Téléverser/supprimer des fichiers dans votre Drive."
notification-read: "Lire vos notifications."
notification-write: "Gérer vos notifications."
cancel: "Annuler"
accept: "Autoriser laccès"
auth/views/index.vue:
loading: "Chargement en cours"
denied: "L'autorisation de l'application a été refusée."
denied-paragraph: "Cette application ne va pas accéder à votre compte."
already-authorized: "Cette application est déjà autorisée"
allowed: "アプリケーションの連携を許可しました"
callback-url: "Retour vers l'application"
please-go-back: "Veillez retourner à l'application."
error: "La session n'existe pas."
sign-in: "Veuillez vous connecter"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "En attente de {}"
cancel: "Annuler"
common/views/components/games/reversi/reversi.game.vue:
surrender: "Se rendre"
surrendered: "Par abandon"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "Carte en boucle"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "Jouer à Reversi avec vos amis·es !"
invite: "Inviter"
rule: "Comment Jouer ?"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "Inviter"
mode-invite-desc: "Inviter un joueur."
invitations: "Vous avez reçu une invitation !"
my-games: "Mes jeux"
all-games: "Tous les jeux"
enter-username: "Saisir un nom d'utilisateur"
game-state:
ended: "Terminée"
playing: "En cours"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "Paramètres du jeu"
choose-map: "Sélectionnez une carte"
random: "Aléatoire"
black-or-white: "Noirs/Blancs"
black-is: "{} Noirs"
rules: "Règles"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "Carte en boucle"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Configuration du bot"
this-game-is-started-soon: "La partie commencera dans quelques instants"
waiting-for-other: "En attente que l'adversaire soit prêt"
waiting-for-me: "En attente que vous soyez prêt"
waiting-for-both: "En attente que vous soyez prêt"
cancel: "Annuler"
ready: "Prêt"
cancel-ready: "Annuler \"Je suis prêt\""
common/views/components/connect-failed.vue:
title: "Impossible de se connecter au server."
title: "Échec de connexion au serveur"
description: "Il y a soit un problème avec votre connexion internet, soit le serveur est hors-ligne ou en maintenance. Veuillez {ressayer} plus tard."
thanks: "On vous remercie d'utiliser Misskey."
troubleshoot: "dépanner"
@@ -98,7 +216,7 @@ common/views/components/connect-failed.troubleshooter.vue:
checking-network: "Vérification de la connexion au réseau"
internet: "Connexion Internet"
checking-internet: "Vérification de la connexion internet"
server: "Connexion au server"
server: "Connexion au serveur"
checking-server: "Vérification de la connexion au serveur"
finding: "Recherche d'un problème"
no-network: "Aucune connexion au réseau"
@@ -106,9 +224,9 @@ common/views/components/connect-failed.troubleshooter.vue:
no-internet: "Aucune connexion internet."
no-internet-desc: "Veuillez vérifier que vous êtes bien connecté à internet."
no-server: "Impossible de se connecter au serveur"
no-server-desc: "Votre connexion est OK, mais il a été impossible de vous connecter au serveur de Misskey. Il y a des chances que le serveur soit hors-ligne ou en maintenance, veuillez ressayer plus tard."
success: "Connexion au serveur de Misskey reussie!"
success-desc: "La connexion au serveur a été reussie. Veuillez recharger la page."
no-server-desc: "Votre connexion semble correcte, mais il a été impossible de vous connecter au serveur de Misskey. Il se peut que le serveur soit hors-ligne ou en maintenance, veuillez ressayer plus tard."
success: "Connexion au serveur de Misskey réussie !"
success-desc: "Succès de la connexion au serveur de Misskey. Veuillez recharger la page."
flush: "Vider le cache"
set-version: "Choisissez une version"
common/views/components/messaging.vue:
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "Il n'y a pas plus d'historique"
resize-form: "Faites glisser pour redimensionner"
new-message: "Nouveau message"
only-one-file-attached: "Un seul fichier uniquement peut être joint au message"
common/views/components/messaging-room.form.vue:
input-message-here: "Tapez ici votre message"
send: "Envoyer"
attach-from-local: "Joindre un fichier depuis votre PC"
attach-from-drive: "Joindre un fichier depuis votre Drive"
only-one-file-attached: "Un seul fichier uniquement peut être joint au message"
common/views/components/messaging-room.message.vue:
is-read: "Lu"
deleted: "Ce message a été supprimé"
@@ -143,7 +263,7 @@ common/views/components/note-menu.vue:
pin: "Épingler sur votre profile"
delete: "Supprimer"
delete-confirm: "Supprimer cette publication ?"
remote: "投稿元で見る"
remote: "Afficher les note originale"
common/views/components/poll.vue:
vote-to: "Voter pour '{}'"
vote-count: "{} votes"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "Token"
signing-in: "Connexion...."
signin: "Se connecter"
or: "Ou"
signin-with-twitter: "Se connecter via Twitter"
common/views/components/signup.vue:
username: "Nom d'utilisateur"
checking: "Vérification"
@@ -172,10 +294,10 @@ common/views/components/signup.vue:
unavailable: "Non disponible"
error: "Erreur de réseau"
invalid-format: "Utilisez seulement des lettres, nombres et/ou -."
too-short: "Veuillez taper au moins un charactère!"
too-long: "Veuillez entrer au maximum 20 charactères."
too-short: "Veuillez saisir au moins un caractère !"
too-long: "Veuillez entrer au maximum 20 caractères."
password: "Mot de Passe"
password-placeholder: "Nous recommendons au moins 8 charactères."
password-placeholder: "Nous recommendons au moins 8 caractères."
weak-password: "Faible"
normal-password: "Moyen"
strong-password: "Fort"
@@ -185,49 +307,57 @@ common/views/components/signup.vue:
password-not-matched: "Les mots de passes ne correspondent pas."
recaptcha: "Vérifier"
create: "Créer un compte"
some-error: "La création de compte a échoué. Veuillez ressayer."
some-error: "La création du compte a échoué. Veuillez réessayer."
common/views/components/special-message.vue:
new-year: "Bonne année!"
christmas: "Joyeux Noël!"
new-year: "Bonne année !"
christmas: "Joyeux Noël !"
common/views/components/stream-indicator.vue:
connecting: "Connexion en cours"
reconnecting: "Re-connexion en cours"
reconnecting: "Reconnexion en cours"
connected: "Connecté"
common/views/components/twitter-setting.vue:
description: "Si vous liez votre compte Twitter à votre compte Misskey, vous verrez ensuite votre compte Twitter s'afficher sur votre profile, vous aurez aussi la possibilité de vous connecter à Misskey en utilisant votre compte Twitter."
connected-to: "Vous êtes connecté à ce compte"
detail: "Detail..."
connected-to: "Vous êtes connecté à ce compte Twitter"
detail: "Détails …"
reconnect: "Reconnecter"
connect: "Lier votre compte Twitter"
disconnect: "Deconnecter"
disconnect: "Déconnecter"
common/views/components/uploader.vue:
waiting: "En attente"
common/views/components/visibility-chooser.vue:
public: "Public"
home: "Accueil"
home-desc: "Publier sur le fil d'Accueil uniquement"
followers: "Abonnés"
followers-desc: "Publier à vos abonnés uniquement"
followers: "Abonné·e·s"
followers-desc: "Publier à vos abonné·e·s uniquement"
specified: "Direct"
specified-desc: "Publier aux utilisateurs mentionnés"
specified-desc: "Publier aux utilisateurs·trices mentionné·es"
private: "Privé"
common/views/widgets/broadcast.vue:
fetching: "Récuperation"
no-broadcasts: "No broadcasts"
have-a-nice-day: "Passez une bonne journée!"
no-broadcasts: "Aucune annonce"
have-a-nice-day: "Passez une bonne journée !"
next: "Suivant"
common/views/widgets/calendar.vue:
year: "{} année"
month: "{} mois"
day: "{} jour"
today: "Aujourd'hui :"
this-month: "Ce mois-ci :"
this-year: "Cette année :"
common/views/widgets/donation.vue:
title: "Dons"
text: "Toutes les depences pour couvrir les frais de Misskey sortent directement de notre poche. Nous ne recevons pas d'argent, si vous pouvez nous faire dons d'argent, on vous serait eternellement reconnaissant. Si vous êtes intéressés veuilles contacter {}. Merci pour votre contribution!"
text: "Les frais pour faire fonctionner Misskey sortent directement de notre poche. Nous ne recevons pas d'argent issu de la publicité, si vous pouvez nous faire des dons, on vous serait éternellement reconnaissants. Si vous êtes intéressé·es veuillez contacter {}. Merci pour votre contribution !"
common/views/widgets/photo-stream.vue:
title: "Flux de photo"
no-photos: "Pas de photos"
common/views/widgets/posts-monitor.vue:
title: "Graph des publications"
toggle: "表示を切り替え"
toggle: "Basculer entre les vues"
common/views/widgets/hashtags.vue:
title: "ハッシュタグ"
count: "{}人が投稿"
title: "Étiquettes"
count: "{} utilisateurs mentionnés"
empty: "Aucune tendance"
common/views/widgets/server.vue:
title: "Info sur le serveur"
toggle: "Afficher les vues"
@@ -235,8 +365,50 @@ common/views/widgets/memo.vue:
title: "Pense-bête"
memo: "Écrivez ici !"
save: "Enregistrer"
common/views/widgets/slideshow.vue:
folder-customize-mode: "Veuillez quitter le mode personnalisé pour pouvour spécifier un dossier"
folder: "Veuillez cliquer pour spécifier le dossier"
no-image: "Il n'y a aucune image dans ce dossier"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "Vous pouvez glisser et déposer des fichiers sur la fenêtre de la note"
tips-line4: "Vous pouvez coller des images à partir du presse-papier sur la fenêtre de la note"
tips-line5: "Vous pouvez téléverser des fichiers sur le Drive en faisant un glisser/déplacer"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "Vous pouvez personnaliser l'Accueil via les paramètres"
tips-line9: "Misskey est sous licence AGPLv3"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "Vous pouvez épingler des notes sur votre page en appuyant sur \"…\""
tips-line13: "Tous les fichiers attachés à cette publication sont sauvegardés dans le Drive"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "Vous pouvez mettre un texte en surbrillance en le mettant entre ** **"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "Vous pouvez aussi utiliser l'API pour développer des Bots."
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskey a vu le jour en 2014"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "Connecté·é en tant que {}"
following: "Suit"
follow: "Suivre"
request-pending: "Demande d'abonnement en attente"
follow-request: "Demande d'abonnement"
desktop:
banner-crop-title: "Découpez la partie qui apparaîtra comme une bannière"
banner: "Bannière"
uploading-banner: "Téléversement d'une nouvelle bannière"
banner-updated: "La bannière est mise à jour"
choose-banner: "Choisir une bannière"
avatar-crop-title: "Découpez la partie qui apparaîtra dans l'avatar"
avatar: "Avatar"
uploading-avatar: "Téléversement du nouvel avatar"
avatar-updated: "L'avatar est mis à jour"
choose-avatar: "Choisir un avatar"
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
total: "Noirs ... Total"
notes: "Bleu ... Notes"
replies: "Rouge ... Réponses"
renotes: "Vert ... Partages"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "Bannière"
contextmenu:
rename: "Renommer"
mark-as-sensitive: "Marquer comme sensible"
unmark-as-sensitive: "Ne pas marquer comme sensible"
copy-url: "Copier l'URL"
download: "Télécharger"
else-files: "Autres..."
@@ -313,15 +487,21 @@ desktop/views/components/drive.vue:
create-folder: "Créer un dossier"
upload: "Uploader un fichier"
url-upload: "Uploader d'un URL"
desktop/views/components/media-image.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
desktop/views/components/media-video.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
desktop/views/components/follow-button.vue:
following: "Abonnements"
follow: "Suivre"
request-pending: "En attente d'approbation"
follow-request: "Demande d'abonnement"
desktop/views/components/followers-window.vue:
followers: "{} abonnés"
followers: "{} abonné·e·s"
desktop/views/components/followers.vue:
empty: "Il semble que vous n'avez pas encore d'abonnés."
empty: "Il semble que vous n'avez pas encore d'abonné·e·s."
desktop/views/components/following-window.vue:
following: "Suit {}"
desktop/views/components/following.vue:
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "Plus"
close: "Fermer"
desktop/views/components/game-window.vue:
game: "Othello"
game: "Reversi"
desktop/views/components/home.vue:
done: "Envoyer"
add-widget: "Ajouter un widget"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "Afficher les détails"
private: "cette publication est privée"
deleted: "cette publication a été supprimée"
hide: "Masquer"
see-more: "Voir plus"
desktop/views/components/notes.vue:
error: "Échec du chargement."
retry: "Réessayer"
load-more: "Afficher plus"
desktop/views/components/notifications.vue:
more: "Plus"
empty: "Pas de notifications"
desktop/views/components/post-form.vue:
add-visible-user: "+Ajouter un utilisateur"
attach-location-information: "Attacher des informations de localisation"
hide-contents: "Masquer les contenus"
reply-placeholder: "Répondre à cette note"
quote-placeholder: "Citer cette note"
submit: "Poster"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "Joindre un media depuis votre PC"
attach-media-from-drive: "Joindre un media depuis votre Drive"
attach-cancel: "Annuler la jointure de fichier"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "Créer un sondage"
text-remain: "{} charactères restants"
recent-tags: "Récent"
click-to-tagging: "Cliquer pour tagguer"
visibility: "Visibilité"
geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation"
error: "Erreur"
enter-username: "Saisir un nom d'utilisateur …"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "Nouvelle note"
reply: "Répondre"
@@ -411,7 +604,7 @@ desktop/views/components/settings.vue:
mute: "Mettre en sourdine"
drive: "Drive"
security: "Sécurité"
signin: "サインイン履歴"
signin: "Historique de connexion"
password: "Mot de Passe"
2fa: "Vérification en deux étapes"
other: "Autres"
@@ -426,11 +619,13 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
display: "Affichage et design"
customize: "Personnaliser l'Accueil"
choose-wallpaper: "Sélectionner un fond d'écran"
delete-wallpaper: "Supprimer le fond d'écran"
dark-mode: "Mode nuit"
circle-icons: "Utiliser des icônes circulaires"
gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用"
gradient-window-header: "Utiliser les dégradés sur la barre de titre de la fenêtre"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
show-reply-target: "リプライ先を表示する"
show-reply-target: "Afficher les réponses"
show-my-renotes: "Afficher mes republications dans le fil"
show-renoted-my-notes: "Renoteされた自分の投稿をタイムラインに表示する"
show-maps: "Afficher la carte"
@@ -441,19 +636,19 @@ desktop/views/components/settings.vue:
volume: "Volume"
test: "Test"
mobile: "Mobile"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
disable-via-mobile: "Enlever la mention publié via 'un périphérique mobile'"
language: "Langue"
pick-language: "Sélectionner une langue"
recommended: "Recommandé"
auto: "Automatique"
specify-language: "Spécifier la langue"
language-desc: "変更はページの再度読み込み後に反映されます。"
language-desc: "Le rechargement de la page est requis afin d'appliquer les modifications."
cache: "Cache"
clean-cache: "Nettoyage"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "Cache nettoyé"
cache-cleared-desc: "Veuillez recharger la page."
auto-watch: "投稿の自動ウォッチ"
auto-watch: "Montre automatique"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "À propose de Misskey"
operator: "L'admin de cette instance"
@@ -463,12 +658,12 @@ desktop/views/components/settings.vue:
update-checking: "Recherche de mises à jour"
do-update: "Rechercher des mises à jour"
update-settings: "Paramètres avancés"
prevent-update: "アップデートを延期する(非推奨)"
prevent-update: "Reporter les mises à jour (non recommandé)"
prevent-update-desc: "この設定をオンにしてもアップデートが反映される場合があります。この設定はこのデバイスのみ有効です。"
no-updates: "Aucune mise à jour disponible"
no-updates-desc: "Votre Misskey est à jour."
update-available: "Nouvelle version disponible !"
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée."
advanced-settings: "Réglages avancés"
debug-mode: "Activer le mode debug"
debug-mode-desc: "Ce paramètre est stocké dans le navigateur."
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "Veuillez entrer le mot de passe"
desktop/views/components/settings.apps.vue:
no-apps: "Aucune application autorisée"
desktop/views/components/settings.drive.vue:
max: "Maximum"
in-use: "en cours dutilisation"
desktop/views/components/settings.mute.vue:
no-users: "Aucun utilisateurs mis en sourdine"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "Description"
birthday: "Date de naissance"
save: "Mettre à jour le profil"
locked-account: "Protéger votre compte"
is-locked: "Rendre la note privée"
other: "Autre"
is-bot: "Ce compte est un Bot"
is-cat: "Ce compte est un Chat"
profile-updated: "Profil mis à jour"
desktop/views/components/sub-note-content.vue:
private: "cette publication est privée"
deleted: "cette publication a été supprimée"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "Accueil"
local: "Local"
hybrid: "Social"
global: "Global"
list: "Listes"
desktop/views/components/ui.header.vue:
welcome-back: "Content de vous revoir !"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "Votre profil"
drive: "Drive"
favorites: "Favorites"
lists: "Listes"
follow-requests: "Demandes de suivi"
customize: "Modifications"
customize: "Personnaliser l'Accueil"
settings: "Réglages"
signout: "Déconnexion"
dark: "Fall in dark"
@@ -563,10 +769,11 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "Listes de l'utilisateur"
create-list: "Créer une liste"
list-name: "Nom de la liste"
desktop/views/components/user-preview.vue:
notes: "Publications"
following: "Abonné à"
followers: "Abonnés"
followers: "Abonné·e·s"
desktop/views/components/users-list.vue:
all: "Tout"
iknow: "Vous connaissez"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "Fermer"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
is-media-only: "Les publications médias uniquement"
is-media-view: "Vue média"
edit: "Options"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "Reposté par {}"
private: "cette publication est privée"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "Se connecter"
signup-button: "S'inscrire"
timeline: "Fil d'actualité"
powered-by-misskey: "Propulsé par <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Lecteur de Misskey"
desktop/views/pages/favorites.vue:
@@ -606,21 +834,28 @@ desktop/views/pages/selectdrive.vue:
ok: "OK"
cancel: "Annuler"
upload: "Uploader un ou plusieurs fichier(s) depuis votre PC"
desktop/views/pages/search.vue:
not-available: "Vous ne pouvez pas utiliser la fonctionnalité de recherche."
not-found: "Aucun message trouvé pour '{}'"
desktop/views/pages/share.vue:
share-with: "Partager avec {}"
desktop/views/pages/tag.vue:
no-posts-found: "Pas de message avec un hashtag {} trouvé."
desktop/views/pages/user-list.users.vue:
users: "Utilisateurs"
add-user: "Ajouter un utilisateur"
username: "Nom d'utilisateur"
desktop/views/pages/user/user.followers-you-know.vue:
title: "Abonnés que vous connaissez"
title: "Abonné·e·s que vous connaissez"
loading: "Chargement en cours"
no-users: "Pas d'utilisateurs"
desktop/views/pages/user/user.friends.vue:
title: "Personnes qui répondent le plus"
loading: "Chargement en cours"
no-users: "Pas d'utilisateurs"
desktop/views/pages/user/user.header.vue:
is-suspended: "This account has been suspended."
is-remote: "Cet utilisateur n'est pas un utilisateur de Misskey. Certaines informations peuvent être erronées "
desktop/views/pages/user/user.vue:
is-suspended: "Ce compte a été suspendu."
is-remote: "Cet utilisateur n'est pas un utilisateur de Misskey. Certaines informations peuvent être erronées"
view-remote: "Voir les informations détaillées"
desktop/views/pages/user/user.home.vue:
last-used-at: "Last used at"
@@ -630,12 +865,19 @@ desktop/views/pages/user/user.photos.vue:
no-photos: "Pas de photos"
desktop/views/pages/user/user.profile.vue:
follows-you: "Vous suis"
stalk: "ストークする"
stalk: "Traquer"
stalking: "ストーキングしています"
unstalk: "ストーク解除"
mute: "Mettre en sourdine"
muted: "Muting"
unmute: "Enlever la sourdine"
push-to-a-list: "Ajouter à la liste"
list-pushed: "Vous avez ajouté {user} à la liste {list}."
desktop/views/pages/user/user.header.vue:
posts: "Notes"
following: "Suit"
followers: "Abonné·e·s"
is-bot: "Ce compte est un Bot"
desktop/views/pages/user/user.timeline.vue:
default: "Publications"
with-replies: "Publications et réponses"
@@ -673,12 +915,12 @@ mobile/views/components/drive.vue:
load-more: "Charger plus"
nothing-in-drive: "Rien"
folder-is-empty: "Ce dossier est vide"
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
deletion-alert: "Désolé ! La suppression dun dossier nest pas encore implémentée."
folder-name: "Nom du dossier"
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
url-prompt: "アップロードしたいファイルのURL"
root-rename-alert: "L'emplacement actuel est la racine, pas le dossier, vous ne pouvez donc pas le renommer. Veuillez vous déplacer dans le dossier dont vous souhaitez modifier le nom."
root-move-alert: "L'emplacement actuel est la racine, ce n'est pas un dossier et il ne peut pas être déplacé. Veuillez vous déplacer dans le dossier que vous souhaitez déplacer."
url-prompt: "URL du fichier que vous souhaitez téléverser"
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
mobile/views/components/drive-file-detail.vue:
rename: "Renommer"
@@ -692,14 +934,20 @@ mobile/views/components/drive.file-detail.vue:
move: "Déplacer"
hash: "Hash (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
mobile/views/components/media-video.vue:
sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher"
mobile/views/components/follow-button.vue:
following: "フォロー中"
following: "Abonnements"
follow: "Suivre"
request-pending: "フォロー許可待ち"
request-pending: "En attente d'approbation"
follow-request: "Demande d'abonnement"
mobile/views/components/friends-maker.vue:
title: "Abonnez-vous aux utilisateurs"
empty: "おすすめのユーザーは見つかりませんでした。"
empty: "Impossible de trouver des utilisateurs à recommander."
fetching: "Chargement"
refresh: "Voir plus"
close: "Fermer"
@@ -738,7 +986,7 @@ mobile/views/components/post-form.vue:
renote: "Republier"
quote-placeholder: "Citer ce billet ... (Facultatif)"
reply-placeholder: "Répondre à cette note"
cw-placeholder: "内容への注釈 (オプション)"
cw-placeholder: "Commenter le contenu (optionnel)"
location-alert: "Votre appareil ne prend pas en charge les services de localisation"
error: "Erreur"
username-prompt: "Saisir un nom d'utilisateur"
@@ -746,10 +994,13 @@ mobile/views/components/sub-note-content.vue:
private: "cette publication est privée"
deleted: "cette publication a été supprimée"
media-count: "{} médias attachés"
poll: "アンケート"
poll: "Sondage"
mobile/views/components/timeline.vue:
empty: "Pas de notes"
load-more: "Afficher plus"
mobile/views/components/ui.header.vue:
welcome-back: "Content de vous revoir ! "
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "Fil d'actualité"
notifications: "Notifications"
@@ -780,14 +1031,30 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "Drive"
more: "Afficher plus ..."
mobile/views/pages/signup.vue:
lets-start: "Commençons ! 📦"
mobile/views/pages/followers.vue:
followers-of: "Abonnés de {}"
followers-of: "Abonné·e·s de {}"
mobile/views/pages/following.vue:
following-of: "Abonnements de {}"
mobile/views/pages/home.vue:
home: "Accueil"
local: "Local"
hybrid: "Social"
global: "Global"
mobile/views/pages/tag.vue:
no-posts-found: "Pas de message avec un hashtag {} trouvé."
mobile/views/pages/welcome.vue:
signup: "S'enregistrer"
mobile/views/pages/widgets.vue:
dashboard: "Tableau de bord"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "Ajouter"
customization-tips: "Conseils de personnalisation"
mobile/views/pages/widgets/activity.vue:
activity: "Activité"
mobile/views/pages/share.vue:
share-with: "Partager avec {}"
mobile/views/pages/messaging.vue:
messaging: "Messagerie"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "Notifications"
read-all: "Êtes vous sûr de vouloir marqués toutes les notifications non-lus en tant que lus?"
mobile/views/pages/games/reversi.vue:
reversi: "Reversi"
mobile/views/pages/settings/settings.profile.vue:
title: "Profil"
name: "Nom"
@@ -820,10 +1089,11 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "Chercher"
empty: "Aucun message trouvé pour '{}' "
not-found: "Aucun post pour {} n'a été trouvé."
mobile/views/pages/selectdrive.vue:
select-file: "Choisissez un fichier"
mobile/views/pages/settings.vue:
signed-in-as: "Connecté en tant que {}"
signed-in-as: "Connecté·e en tant que {}"
lang: "Langue"
lang-tip: "Le rechargement de la page est requis afin d'appliquer les modifications."
recommended: "Recommandé"
@@ -834,15 +1104,15 @@ mobile/views/pages/settings.vue:
i-am-under-limited-internet: "J'ai un accès Internet limité"
circle-icons: "Utiliser des icônes circulaires"
timeline: "Fil d'actualité"
show-reply-target: "リプライ先を表示する"
show-reply-target: "Afficher les réponses"
show-my-renotes: "Afficher mes republications"
show-renoted-my-notes: "Renoteされた自分の投稿を表示する"
show-renoted-my-notes: "Afficher les notes que j'ai repartagé"
post-style: "Style de la publication"
post-style-standard: "Standard"
post-style-smart: "Intelligent"
behavior: "Comportement"
fetch-on-scroll: "Chargement lors du défilement"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
disable-via-mobile: "Ne pas mentionner que ma publication provient d'un 'périphérique mobile'"
load-raw-images: "Afficher les photos jointes en haute qualité"
load-remote-media: "Afficher les médias sur le serveur distant"
twitter: "Intégration à Twitter"
@@ -857,14 +1127,14 @@ mobile/views/pages/settings.vue:
no-updates: "Aucune mise à jour disponible"
no-updates-desc: "Votre Misskey est à jour."
update-available: "Nouvelle version disponible !"
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée."
settings: "Réglages"
signout: "Déconnexion"
mobile/views/pages/user.vue:
follows-you: "vous suit"
following: "Abonnements"
followers: "Abonnés"
notes: "Posts"
followers: "Abonné·e·s"
notes: "Notes"
overview: "Aperçu"
timeline: "Fil d'actualité"
media: "Media"
@@ -878,7 +1148,7 @@ mobile/views/pages/user/home.vue:
keywords: "Mot clés"
domains: "Domaines"
frequently-replied-users: "Utilisateurs qui interagissent souvent"
followers-you-know: "Abonnés que vous connaissez"
followers-you-know: "Abonné·e·s que vous connaissez"
last-used-at: "Dernière connexion il y a"
mobile/views/pages/user/home.followers-you-know.vue:
loading: "Chargement"
@@ -900,11 +1170,19 @@ docs:
properties: "Propriétés"
endpoints:
params: "Paramètres"
no-params: "Aucun paramètre"
res: "Réponse"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "Consulter le code sur GitHub"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "Nom"
type: "Type"
optional: "Optionel"
description: "Description"
yes: "Oui"
no: "Non"
dev/views/index.vue:
manage-apps: "Gestion des applications"

View File

@@ -2,11 +2,11 @@
* Languages Loader
*/
import * as fs from 'fs';
import * as yaml from 'js-yaml';
const fs = require('fs');
const yaml = require('js-yaml');
const loadLang = lang => yaml.safeLoad(
fs.readFileSync(`./locales/${lang}.yml`, 'utf-8'));
fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
const native = loadLang('ja');
@@ -15,12 +15,13 @@ const langs = {
'en': loadLang('en'),
'fr': loadLang('fr'),
'ja': native,
'pl': loadLang('pl')
'pl': loadLang('pl'),
'es': loadLang('es')
};
Object.entries(langs).map(([, locale]) => {
Object.values(langs).forEach(locale => {
// Extend native language (Japanese)
locale = Object.assign({}, native, locale);
});
export default langs;
module.exports = langs;

View File

@@ -3,9 +3,31 @@ meta:
lang: "日本語"
divider: ""
common:
misskey: "A planet of fediverse"
misskey: "A of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
adblock:
detected: "広告ブロッカーを無効にしてください"
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。"
application-authorization: "アプリの連携"
close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
paragraph2: "一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。"
paragraph3: "ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。"
paragraph4: "カスタマイズを終了するには、右上の「完了」をクリックします。"
gotit: "Got it!"
notification:
file-uploaded: "ファイルがアップロードされました"
message-from: "{}さんからメッセージ:"
reversi-invited: "対局への招待があります"
reversi-invited-by: "{}さんから"
notified-by: "{}さんから"
reply-from: "{}さんから返信:"
quoted-by: "{}さんが引用:"
time:
unknown: "なぞのじかん"
future: "未来"
@@ -17,6 +39,8 @@ common:
weeks_ago: "{}週間前"
months_ago: "{}ヶ月前"
years_ago: "{}年前"
month-and-day: "{month}月 {day}日"
trash: "ゴミ箱"
weekday-short:
sunday: "日"
monday: "月"
@@ -25,6 +49,14 @@ common:
thursday: "木"
friday: "金"
saturday: "土"
weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
reactions:
like: "いいね"
love: "しゅき"
@@ -34,6 +66,7 @@ common:
congrats: "おめでとう"
angry: "おこ"
confused: "こまこまのこまり"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "今どうしてる?"
@@ -42,11 +75,28 @@ common:
d: "言いたいことは?"
e: "ここに書いてください"
f: "あなたが書くのを待っています..."
search: "検索"
delete: "削除"
loading: "読み込み中"
ok: "わかった"
update-available-title: "更新があります"
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
verified-user: "認証済みのユーザー"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
opponent-turn: "相手のターンです"
turn-of: "{}のターンです"
past-turn-of: "{}のターン"
won: "{}の勝ち"
black: "黒"
white: "白"
total: "合計"
this-turn: "{}ターン目"
widgets:
analog-clock: "アナログ時計"
profile: "プロフィール"
@@ -75,6 +125,7 @@ common:
widgets: "ウィジェット"
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
notifications: "通知"
list: "リスト"
@@ -87,6 +138,73 @@ common:
rename: "名前を変更"
stack-left: "左に重ねる"
pop-right: "右に出す"
auth/views/form.vue:
share-access: "<i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。"
note-write: "投稿する。"
like-write: "いいねしたりいいね解除する。"
following-write: "フォローしたりフォロー解除する。"
drive-read: "ドライブを見る。"
drive-write: "ドライブを操作する。"
notification-read: "通知を見る。"
notification-write: "通知を操作する。"
cancel: "キャンセル"
accept: "アクセスを許可"
auth/views/index.vue:
loading: "読み込み中"
denied: "アプリケーションの連携をキャンセルしました。"
denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。"
already-authorized: "このアプリは既に連携済みです"
allowed: "アプリケーションの連携を許可しました"
callback-url: "アプリケーションに戻っています"
please-go-back: "アプリケーションに戻って、やっていってください。"
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
cancel: "キャンセル"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
invite: "招待"
rule: "遊び方"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "招待"
mode-invite-desc: "指定したユーザーと対戦するモードです。"
invitations: "対局の招待があります!"
my-games: "自分の対局"
all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください"
game-state:
ended: "終了"
playing: "進行中"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定"
choose-map: "マップを選択"
random: "ランダム"
black-or-white: "先手/後手"
black-is: "{}が黒"
rules: "ルール"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定"
this-game-is-started-soon: "ゲームは数秒後に開始されます"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中"
cancel: "キャンセル"
ready: "準備完了"
cancel-ready: "準備続行"
common/views/components/connect-failed.vue:
title: "サーバーに接続できません"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "これより過去の履歴はありません"
resize-form: "ドラッグしてフォームの広さを調整"
new-message: "新しいメッセージがあります"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "ここにメッセージを入力"
send: "送信"
attach-from-local: "PCからファイルを添付する"
attach-from-drive: "ドライブからファイルを添付する"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "既読"
deleted: "このメッセージは削除されました"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "トークン"
signing-in: "やってます..."
signin: "サインイン"
or: "または"
signin-with-twitter: "Twitterでログイン"
common/views/components/signup.vue:
username: "ユーザー名"
checking: "確認しています..."
@@ -216,6 +338,13 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "お知らせはありません"
have-a-nice-day: "良い一日を!"
next: "次"
common/views/widgets/calendar.vue:
year: "{}年"
month: "{}月"
day: "{}日"
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
@@ -228,6 +357,7 @@ common/views/widgets/posts-monitor.vue:
common/views/widgets/hashtags.vue:
title: "ハッシュタグ"
count: "{}人が投稿"
empty: "トレンドなし"
common/views/widgets/server.vue:
title: "サーバー情報"
toggle: "表示を切り替え"
@@ -235,6 +365,48 @@ common/views/widgets/memo.vue:
title: "付箋"
memo: "ここに書いて!"
save: "保存"
common/views/widgets/slideshow.vue:
folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください"
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-request: "フォロー申請"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "バナー"
uploading-banner: "新しいバナーをアップロードしています"
banner-updated: "バナーを更新しました"
choose-banner: "バナーにする画像を選択"
avatar-crop-title: "アバターとして表示する部分を選択"
avatar: "アバター"
uploading-avatar: "新しいアバターをアップロードしています"
avatar-updated: "アバターを更新しました"
choose-avatar: "アバターにする画像を選択"
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
notes: "Blue ... Notes"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "バナー"
contextmenu:
rename: "名前を変更"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
copy-url: "URLをコピー"
download: "ダウンロード"
else-files: "その他..."
@@ -313,6 +487,12 @@ desktop/views/components/drive.vue:
create-folder: "フォルダーを作成"
upload: "ファイルをアップロード"
url-upload: "URLからアップロード"
desktop/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "もっと見る"
close: "閉じる"
desktop/views/components/game-window.vue:
game: "オセロ"
game: "リバーシ"
desktop/views/components/home.vue:
done: "完了"
add-widget: "ウィジェットを追加:"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
hide: "隠す"
see-more: "もっと見る"
desktop/views/components/notes.vue:
error: "読み込みに失敗しました。"
retry: "リトライ"
load-more: "もっと読み込む"
desktop/views/components/notifications.vue:
more: "もっと見る"
empty: "ありません!"
desktop/views/components/post-form.vue:
add-visible-user: "+ユーザーを追加"
attach-location-information: "位置情報を添付する"
hide-contents: "内容を隠す"
reply-placeholder: "この投稿への返信..."
quote-placeholder: "この投稿を引用..."
submit: "投稿"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "PCからメディアを添付"
attach-media-from-drive: "ドライブからメディアを添付"
attach-cancel: "添付取り消し"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "お使いの端末は位置情報に対応していません"
error: "エラー"
enter-username: "ユーザー名を入力してください"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "新規投稿"
reply: "返信"
@@ -426,6 +619,8 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "ダークモード"
circle-icons: "円形のアイコンを使用"
gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用"
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "パスワードを入力してください"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "自己紹介"
birthday: "誕生日"
save: "保存"
locked-account: "アカウントの保護"
is-locked: "投稿を非公開にする"
other: "その他"
is-bot: "このアカウントはBotです"
is-cat: "このアカウントはCatです"
profile-updated: "プロフィールを更新しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
list: "リスト"
desktop/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
drive: "ドライブ"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー申請"
customize: "カスタマイズ"
customize: "ホームのカスタマイズ"
settings: "設定"
signout: "サインアウト"
dark: "闇に飲まれる"
@@ -563,6 +769,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
list-name: "リスト名"
desktop/views/components/user-preview.vue:
notes: "投稿"
following: "フォロー"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "{}がRenote"
private: "この投稿は非公開です"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/favorites.vue:
@@ -606,6 +834,13 @@ desktop/views/pages/selectdrive.vue:
ok: "決定"
cancel: "キャンセル"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@@ -618,7 +853,7 @@ desktop/views/pages/user/user.friends.vue:
title: "よく話すユーザー"
loading: "読み込み中"
no-users: "よく話すユーザーはいません"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "このユーザーは凍結されています。"
is-remote: "このユーザーはリモートユーザーです。"
view-remote: "正確な情報を見る"
@@ -636,6 +871,13 @@ desktop/views/pages/user/user.profile.vue:
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
is-bot: "このアカウントはBotです"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
@@ -692,6 +934,12 @@ mobile/views/components/drive.file-detail.vue:
move: "移動"
hash: "ハッシュ (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -750,6 +998,9 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@@ -780,6 +1031,8 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
mobile/views/pages/following.vue:
@@ -787,7 +1040,21 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "追加"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/share.vue:
share-with: "{}で共有"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "プロフィール"
name: "名前"
@@ -820,6 +1089,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "検索"
empty: "「{}」に関する投稿は見つかりませんでした。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択"
mobile/views/pages/settings.vue:
@@ -900,11 +1170,19 @@ docs:
properties: "プロパティ"
endpoints:
params: "パラメータ"
no-params: "パラメータはありません"
res: "レスポンス"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "コードをGitHubで見る"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "名前"
type: "型"
optional: "オプション"
description: "説明"
yes: "はい"
no: "いいえ"
dev/views/index.vue:
manage-apps: "アプリの管理"

View File

@@ -6,7 +6,28 @@ common:
misskey: "A ⭐ of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
adblock:
detected: "広告ブロッカーを無効にしてください"
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。"
application-authorization: "アプリの連携"
close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
paragraph2: "一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。"
paragraph3: "ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。"
paragraph4: "カスタマイズを終了するには、右上の「完了」をクリックします。"
gotit: "Got it!"
notification:
file-uploaded: "ファイルがアップロードされました"
message-from: "{}さんからメッセージ:"
reversi-invited: "対局への招待があります"
reversi-invited-by: "{}さんから"
notified-by: "{}さんから"
reply-from: "{}さんから返信:"
quoted-by: "{}さんが引用:"
time:
unknown: "なぞのじかん"
future: "未来"
@@ -18,6 +39,9 @@ common:
weeks_ago: "{}週間前"
months_ago: "{}ヶ月前"
years_ago: "{}年前"
month-and-day: "{month}月 {day}日"
trash: "ゴミ箱"
weekday-short:
sunday: "日"
@@ -28,6 +52,15 @@ common:
friday: "金"
saturday: "土"
weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
reactions:
like: "いいね"
love: "しゅき"
@@ -37,6 +70,7 @@ common:
congrats: "おめでとう"
angry: "おこ"
confused: "こまこまのこまり"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
@@ -47,11 +81,29 @@ common:
e: "ここに書いてください"
f: "あなたが書くのを待っています..."
search: "検索"
delete: "削除"
loading: "読み込み中"
ok: "わかった"
update-available-title: "更新があります"
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
verified-user: "認証済みのユーザー"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
opponent-turn: "相手のターンです"
turn-of: "{}のターンです"
past-turn-of: "{}のターン"
won: "{}の勝ち"
black: "黒"
white: "白"
total: "合計"
this-turn: "{}ターン目"
widgets:
analog-clock: "アナログ時計"
@@ -82,6 +134,7 @@ common:
widgets: "ウィジェット"
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
notifications: "通知"
list: "リスト"
@@ -95,6 +148,79 @@ common:
stack-left: "左に重ねる"
pop-right: "右に出す"
auth/views/form.vue:
share-access: "<i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。"
note-write: "投稿する。"
like-write: "いいねしたりいいね解除する。"
following-write: "フォローしたりフォロー解除する。"
drive-read: "ドライブを見る。"
drive-write: "ドライブを操作する。"
notification-read: "通知を見る。"
notification-write: "通知を操作する。"
cancel: "キャンセル"
accept: "アクセスを許可"
auth/views/index.vue:
loading: "読み込み中"
denied: "アプリケーションの連携をキャンセルしました。"
denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。"
already-authorized: "このアプリは既に連携済みです"
allowed: "アプリケーションの連携を許可しました"
callback-url: "アプリケーションに戻っています"
please-go-back: "アプリケーションに戻って、やっていってください。"
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
cancel: "キャンセル"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
invite: "招待"
rule: "遊び方"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "招待"
mode-invite-desc: "指定したユーザーと対戦するモードです。"
invitations: "対局の招待があります!"
my-games: "自分の対局"
all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください"
game-state:
ended: "終了"
playing: "進行中"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定"
choose-map: "マップを選択"
random: "ランダム"
black-or-white: "先手/後手"
black-is: "{}が黒"
rules: "ルール"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定"
this-game-is-started-soon: "ゲームは数秒後に開始されます"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中"
cancel: "キャンセル"
ready: "準備完了"
cancel-ready: "準備続行"
common/views/components/connect-failed.vue:
title: "サーバーに接続できません"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
@@ -132,12 +258,14 @@ common/views/components/messaging-room.vue:
no-history: "これより過去の履歴はありません"
resize-form: "ドラッグしてフォームの広さを調整"
new-message: "新しいメッセージがあります"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "ここにメッセージを入力"
send: "送信"
attach-from-local: "PCからファイルを添付する"
attach-from-drive: "ドライブからファイルを添付する"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "既読"
@@ -184,6 +312,8 @@ common/views/components/signin.vue:
token: "トークン"
signing-in: "やってます..."
signin: "サインイン"
or: "または"
signin-with-twitter: "Twitterでログイン"
common/views/components/signup.vue:
username: "ユーザー名"
@@ -243,6 +373,14 @@ common/views/widgets/broadcast.vue:
have-a-nice-day: "良い一日を!"
next: "次"
common/views/widgets/calendar.vue:
year: "{}年"
month: "{}月"
day: "{}日"
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
@@ -269,6 +407,52 @@ common/views/widgets/memo.vue:
memo: "ここに書いて!"
save: "保存"
common/views/widgets/slideshow.vue:
folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください"
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-request: "フォロー申請"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "バナー"
uploading-banner: "新しいバナーをアップロードしています"
banner-updated: "バナーを更新しました"
choose-banner: "バナーにする画像を選択"
avatar-crop-title: "アバターとして表示する部分を選択"
avatar: "アバター"
uploading-avatar: "新しいアバターをアップロードしています"
avatar-updated: "アバターを更新しました"
choose-avatar: "アバターにする画像を選択"
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
notes: "Blue ... Notes"
@@ -311,6 +495,8 @@ desktop/views/components/drive.file.vue:
banner: "バナー"
contextmenu:
rename: "名前を変更"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
copy-url: "URLをコピー"
download: "ダウンロード"
else-files: "その他..."
@@ -358,6 +544,14 @@ 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: "クリックして表示"
desktop/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -384,7 +578,7 @@ desktop/views/components/friends-maker.vue:
close: "閉じる"
desktop/views/components/game-window.vue:
game: "オセロ"
game: "リバーシ"
desktop/views/components/home.vue:
done: "完了"
@@ -418,16 +612,22 @@ desktop/views/components/notes.note.vue:
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
hide: "隠す"
see-more: "もっと見る"
desktop/views/components/notes.vue:
error: "読み込みに失敗しました。"
retry: "リトライ"
load-more: "もっと読み込む"
desktop/views/components/notifications.vue:
more: "もっと見る"
empty: "ありません!"
desktop/views/components/post-form.vue:
add-visible-user: "+ユーザーを追加"
attach-location-information: "位置情報を添付する"
hide-contents: "内容を隠す"
reply-placeholder: "この投稿への返信..."
quote-placeholder: "この投稿を引用..."
submit: "投稿"
@@ -443,9 +643,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "PCからメディアを添付"
attach-media-from-drive: "ドライブからメディアを添付"
attach-cancel: "添付取り消し"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "お使いの端末は位置情報に対応していません"
error: "エラー"
enter-username: "ユーザー名を入力してください"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "新規投稿"
@@ -494,6 +701,8 @@ desktop/views/components/settings.vue:
display: "デザインと表示"
customize: "ホームをカスタマイズ"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "ダークモード"
circle-icons: "円形のアイコンを使用"
gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用"
@@ -584,6 +793,10 @@ desktop/views/components/settings.api.vue:
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
@@ -603,8 +816,12 @@ desktop/views/components/settings.profile.vue:
description: "自己紹介"
birthday: "誕生日"
save: "保存"
locked-account: "アカウントの保護"
is-locked: "投稿を非公開にする"
other: "その他"
is-bot: "このアカウントはBotです"
is-cat: "このアカウントはCatです"
profile-updated: "プロフィールを更新しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
@@ -618,16 +835,21 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
list: "リスト"
desktop/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
drive: "ドライブ"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー申請"
customize: "カスタマイズ"
customize: "ホームのカスタマイズ"
settings: "設定"
signout: "サインアウト"
dark: "闇に飲まれる"
@@ -655,6 +877,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
list-name: "リスト名"
desktop/views/components/user-preview.vue:
notes: "投稿"
@@ -674,9 +897,33 @@ desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "{}がRenote"
@@ -691,6 +938,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
@@ -711,6 +959,16 @@ desktop/views/pages/selectdrive.vue:
cancel: "キャンセル"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@@ -726,7 +984,7 @@ desktop/views/pages/user/user.friends.vue:
loading: "読み込み中"
no-users: "よく話すユーザーはいません"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "このユーザーは凍結されています。"
is-remote: "このユーザーはリモートユーザーです。"
view-remote: "正確な情報を見る"
@@ -747,6 +1005,14 @@ desktop/views/pages/user/user.profile.vue:
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
is-bot: "このアカウントはBotです"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
@@ -817,6 +1083,14 @@ mobile/views/components/drive.file-detail.vue:
hash: "ハッシュ (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -886,6 +1160,10 @@ mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@@ -922,6 +1200,9 @@ mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
@@ -931,8 +1212,27 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "追加"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/share.vue:
share-with: "{}で共有"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
@@ -953,6 +1253,9 @@ mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "プロフィール"
name: "名前"
@@ -971,6 +1274,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "検索"
empty: "「{}」に関する投稿は見つかりませんでした。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択"
@@ -1061,11 +1365,21 @@ docs:
properties: "プロパティ"
endpoints:
params: "パラメータ"
no-params: "パラメータはありません"
res: "レスポンス"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "コードをGitHubで見る"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "名前"
type: "型"
optional: "オプション"
description: "説明"
yes: "はい"
no: "いいえ"
dev/views/index.vue:
manage-apps: "アプリの管理"

View File

@@ -1,80 +1,131 @@
---
meta:
lang: "日本語"
lang: "한국어"
divider: ""
common:
misskey: "A planet of fediverse"
misskey: "A of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
about: "Misskey를 찾아 주셔서 감사합니다. Misskey은 지구에서 태어난 <b>분산 마이크로 블로그 SNS </b> 입니다. Fediverse (다양한 SNS로 구성되는 우주)에 존재하는 다른 SNS와 상호 연결되어 있습니다. 잠시 도시의 번잡함에서 벗어나 새로운 인터넷에 다이브 해 보지 않겠습니까."
adblock:
detected: "광고 차단기를 해제하십시오"
warning: "<strong>Misskey는 광고를 게재하지 않습니다</strong> 그러나 광고를 차단하는 기능 기능을 사용할 경우 일부 기능을 사용할 수 없게 될 가능성이나 결함이 발생하는 경우가 있습니다."
application-authorization: "앱의 연계"
close: "닫기"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "わかった"
customization-tips:
title: "사용자 정의 팁"
paragraph1: "홈 정의는 위젯을 추가 / 삭제하거나 드래그 앤 드롭하여 정렬 할 수 있습니다."
paragraph2: "일부 위젯은 <strong>오른쪽 클릭</strong> 하여 모양을 변경할 수 있습니다."
paragraph3: "위젯을 삭제하려면 헤더 <strong>\"휴지통\"</strong> 라고 쓰여진 영역으로 끌어다 놓습니다."
paragraph4: "사용자 정의를 종료하려면 오른쪽 상단의 '완료' 를 클릭합니다."
gotit: "Got it!"
notification:
file-uploaded: "파일이 업로드되었습니다"
message-from: "{}씨로부터 메시지:"
reversi-invited: "대결에 초대되어 있습니다"
reversi-invited-by: "{}님"
notified-by: "{}님"
reply-from: "{}님으로부터 답글:"
quoted-by: "{}씨가 인용:"
time:
unknown: "なぞのじかん"
future: "未来"
just_now: "たった今"
seconds_ago: "{}秒前"
minutes_ago: "{}分前"
hours_ago: "{}時間前"
days_ago: "{}日前"
weeks_ago: "{}週間前"
months_ago: "{}ヶ月前"
years_ago: "{}年前"
unknown: "수수께끼의 시간"
future: "미래"
just_now: "방금"
seconds_ago: "{}초전"
minutes_ago: "{}분전"
hours_ago: "{}시간전"
days_ago: "{}일전"
weeks_ago: "{}주전"
months_ago: "{}개월전"
years_ago: "{}년전"
month-and-day: "{month}月 {day}日"
trash: "휴지통"
weekday-short:
sunday: ""
monday: ""
tuesday: ""
wednesday: ""
thursday: ""
friday: ""
saturday: ""
sunday: ""
monday: ""
tuesday: ""
wednesday: ""
thursday: ""
friday: ""
saturday: ""
weekday:
sunday: "일요일"
monday: "월요일"
tuesday: "화요일"
wednesday: "수요일"
thursday: "목요일"
friday: "금요일"
saturday: "토요일"
reactions:
like: "いいね"
love: "しゅき"
laugh: ""
hmm: "ふぅ~む"
surprise: "わお"
congrats: "おめでとう"
angry: "おこ"
confused: "こまこまのこまり"
like: "좋네"
love: "좋아"
laugh: "크크"
hmm: "음..."
surprise: "와우"
congrats: "받으세요"
angry: "화냈어"
confused: "곤란하고 있어"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "今どうしてる?"
b: "何かありましたか?"
c: "何をお考えですか?"
d: "言いたいことは?"
e: "ここに書いてください"
f: "あなたが書くのを待っています..."
delete: "削除"
loading: "読み込み中"
ok: "わかった"
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
a: "지금 어떻게하고있어?"
b: "뭔가 있었습니까?"
c: "무엇을 생각하십니까?"
d: "말하고 싶은 것은?"
e: "여기에 써주십시오"
f: "당신이 쓸 것을 당신 기다리고 있습니다..."
search: "검색"
delete: "삭제"
loading: "로드 중"
ok: "확인"
update-available-title: "갱신이 있습니다"
update-available: "Misskey의 새로운 버전이 있습니다 ({newer} 현재 {current}을 사용 중). 페이지를 다시로드하면 업데이트가 적용됩니다."
my-token-regenerated: "당신의 토큰이 업데이트되어 있기 때문에 로그 아웃합니다."
i-like-sushi: "나는(푸딩보다 오히려)스시가 좋아"
show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시"
verified-user: "인증 된 사용자"
disable-animated-mfm: "게시물의 문자 애니메이션을 비활성화 할"
reversi:
drawn: "무승부"
my-turn: "당신의 차례입니다"
opponent-turn: "상대의 차례입니다"
turn-of: "{}의 차례입니다"
past-turn-of: "{} 턴"
won: "{} 승리"
black: "검정"
white: "흰색"
total: "합계"
this-turn: "{}턴눈"
widgets:
analog-clock: "アナログ時計"
profile: "プロフィール"
calendar: "カレンダー"
timemachine: "カレンダー(タイムマシン)"
activity: "アクティビティ"
rss: "RSSリーダー"
memo: "付箋"
trends: "トレンド"
photo-stream: "フォトストリーム"
posts-monitor: "投稿チャート"
slideshow: "スライドショー"
version: "バージョン"
broadcast: "ブロードキャスト"
notifications: "通知"
users: "おすすめユーザー"
polls: "アンケート"
post-form: "投稿フォーム"
messaging: "メッセージ"
server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション"
tips: "ヒント"
hashtags: "ハッシュタグ"
analog-clock: "아날로그 시계"
profile: "프로필"
calendar: "달력"
timemachine: "달력(타임머신)"
activity: "활동"
rss: "RSS 리더"
memo: "끈끈이"
trends: "트렌드"
photo-stream: "포토 스트림"
posts-monitor: "게시물 차트"
slideshow: "슬라이드 쇼"
version: "버전"
broadcast: "브로드 캐스트"
notifications: "통지"
users: "추천 사용자"
polls: "설문"
post-form: "게시 양식"
messaging: "메시지"
server: "서버 정보"
donation: "기부 요청"
nav: "네비게이션"
tips: ""
hashtags: "해시 태그"
deck:
widgets: "ウィジェット"
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
notifications: "通知"
list: "リスト"
@@ -87,6 +138,73 @@ common:
rename: "名前を変更"
stack-left: "左に重ねる"
pop-right: "右に出す"
auth/views/form.vue:
share-access: "<i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。"
note-write: "投稿する。"
like-write: "いいねしたりいいね解除する。"
following-write: "フォローしたりフォロー解除する。"
drive-read: "ドライブを見る。"
drive-write: "ドライブを操作する。"
notification-read: "通知を見る。"
notification-write: "通知を操作する。"
cancel: "キャンセル"
accept: "アクセスを許可"
auth/views/index.vue:
loading: "読み込み中"
denied: "アプリケーションの連携をキャンセルしました。"
denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。"
already-authorized: "このアプリは既に連携済みです"
allowed: "アプリケーションの連携を許可しました"
callback-url: "アプリケーションに戻っています"
please-go-back: "アプリケーションに戻って、やっていってください。"
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
cancel: "キャンセル"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
invite: "招待"
rule: "遊び方"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "招待"
mode-invite-desc: "指定したユーザーと対戦するモードです。"
invitations: "対局の招待があります!"
my-games: "自分の対局"
all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください"
game-state:
ended: "終了"
playing: "進行中"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定"
choose-map: "マップを選択"
random: "ランダム"
black-or-white: "先手/後手"
black-is: "{}が黒"
rules: "ルール"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定"
this-game-is-started-soon: "ゲームは数秒後に開始されます"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中"
cancel: "キャンセル"
ready: "準備完了"
cancel-ready: "準備続行"
common/views/components/connect-failed.vue:
title: "サーバーに接続できません"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "これより過去の履歴はありません"
resize-form: "ドラッグしてフォームの広さを調整"
new-message: "新しいメッセージがあります"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "ここにメッセージを入力"
send: "送信"
attach-from-local: "PCからファイルを添付する"
attach-from-drive: "ドライブからファイルを添付する"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "既読"
deleted: "このメッセージは削除されました"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "トークン"
signing-in: "やってます..."
signin: "サインイン"
or: "または"
signin-with-twitter: "Twitterでログイン"
common/views/components/signup.vue:
username: "ユーザー名"
checking: "確認しています..."
@@ -216,6 +338,13 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "お知らせはありません"
have-a-nice-day: "良い一日を!"
next: "次"
common/views/widgets/calendar.vue:
year: "{}年"
month: "{}月"
day: "{}日"
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
@@ -228,6 +357,7 @@ common/views/widgets/posts-monitor.vue:
common/views/widgets/hashtags.vue:
title: "ハッシュタグ"
count: "{}人が投稿"
empty: "トレンドなし"
common/views/widgets/server.vue:
title: "サーバー情報"
toggle: "表示を切り替え"
@@ -235,6 +365,48 @@ common/views/widgets/memo.vue:
title: "付箋"
memo: "ここに書いて!"
save: "保存"
common/views/widgets/slideshow.vue:
folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください"
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-request: "フォロー申請"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "バナー"
uploading-banner: "新しいバナーをアップロードしています"
banner-updated: "バナーを更新しました"
choose-banner: "バナーにする画像を選択"
avatar-crop-title: "アバターとして表示する部分を選択"
avatar: "アバター"
uploading-avatar: "新しいアバターをアップロードしています"
avatar-updated: "アバターを更新しました"
choose-avatar: "アバターにする画像を選択"
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
notes: "Blue ... Notes"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "バナー"
contextmenu:
rename: "名前を変更"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
copy-url: "URLをコピー"
download: "ダウンロード"
else-files: "その他..."
@@ -313,6 +487,12 @@ desktop/views/components/drive.vue:
create-folder: "フォルダーを作成"
upload: "ファイルをアップロード"
url-upload: "URLからアップロード"
desktop/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "もっと見る"
close: "閉じる"
desktop/views/components/game-window.vue:
game: "オセロ"
game: "リバーシ"
desktop/views/components/home.vue:
done: "完了"
add-widget: "ウィジェットを追加:"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
hide: "隠す"
see-more: "もっと見る"
desktop/views/components/notes.vue:
error: "読み込みに失敗しました。"
retry: "リトライ"
load-more: "もっと読み込む"
desktop/views/components/notifications.vue:
more: "もっと見る"
empty: "ありません!"
desktop/views/components/post-form.vue:
add-visible-user: "+ユーザーを追加"
attach-location-information: "位置情報を添付する"
hide-contents: "内容を隠す"
reply-placeholder: "この投稿への返信..."
quote-placeholder: "この投稿を引用..."
submit: "投稿"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "PCからメディアを添付"
attach-media-from-drive: "ドライブからメディアを添付"
attach-cancel: "添付取り消し"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "お使いの端末は位置情報に対応していません"
error: "エラー"
enter-username: "ユーザー名を入力してください"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "新規投稿"
reply: "返信"
@@ -426,6 +619,8 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "ダークモード"
circle-icons: "円形のアイコンを使用"
gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用"
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "パスワードを入力してください"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "自己紹介"
birthday: "誕生日"
save: "保存"
locked-account: "アカウントの保護"
is-locked: "投稿を非公開にする"
other: "その他"
is-bot: "このアカウントはBotです"
is-cat: "このアカウントはCatです"
profile-updated: "プロフィールを更新しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
list: "リスト"
desktop/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
drive: "ドライブ"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー申請"
customize: "カスタマイズ"
customize: "ホームのカスタマイズ"
settings: "設定"
signout: "サインアウト"
dark: "闇に飲まれる"
@@ -563,6 +769,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
list-name: "リスト名"
desktop/views/components/user-preview.vue:
notes: "投稿"
following: "フォロー"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "{}がRenote"
private: "この投稿は非公開です"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/favorites.vue:
@@ -606,6 +834,13 @@ desktop/views/pages/selectdrive.vue:
ok: "決定"
cancel: "キャンセル"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@@ -618,7 +853,7 @@ desktop/views/pages/user/user.friends.vue:
title: "よく話すユーザー"
loading: "読み込み中"
no-users: "よく話すユーザーはいません"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "このユーザーは凍結されています。"
is-remote: "このユーザーはリモートユーザーです。"
view-remote: "正確な情報を見る"
@@ -636,6 +871,13 @@ desktop/views/pages/user/user.profile.vue:
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
is-bot: "このアカウントはBotです"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
@@ -692,6 +934,12 @@ mobile/views/components/drive.file-detail.vue:
move: "移動"
hash: "ハッシュ (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -750,6 +998,9 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@@ -780,6 +1031,8 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
mobile/views/pages/following.vue:
@@ -787,7 +1040,21 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "追加"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/share.vue:
share-with: "{}で共有"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "プロフィール"
name: "名前"
@@ -820,6 +1089,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "検索"
empty: "「{}」に関する投稿は見つかりませんでした。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択"
mobile/views/pages/settings.vue:
@@ -900,11 +1170,19 @@ docs:
properties: "プロパティ"
endpoints:
params: "パラメータ"
no-params: "パラメータはありません"
res: "レスポンス"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "コードをGitHubで見る"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "名前"
type: "型"
optional: "オプション"
description: "説明"
yes: "はい"
no: "いいえ"
dev/views/index.vue:
manage-apps: "アプリの管理"

View File

@@ -3,9 +3,31 @@ meta:
lang: "język polski"
divider: ""
common:
misskey: "Planeta Fediwersum"
misskey: " Fediwersum"
about-title: "⭐ Fediwersum"
about: "Dziękujemy za znalezienie Misskey. Misskey jest <b>zdecentralizowaną platformą mikroblogową</b> powstałą na Ziemi. Ponieważ działa ona w Fediwersum (uniwersum, w którego skład wchodzi wiele sieci społecznościowych), jest ona połączona z innymi platformami społecznościowymi. Spróbujesz odpocząć od zatłoczoneo miasta i zanurzyć się w nowym Internecie?"
adblock:
detected: "Spróbuj wyłączyć blokadę reklam."
warning: "<strong>Misskey nie zawiera reklam</strong>, ale część funkcji może nie działać prawidłowo z włączonym blokowaniem reklam."
application-authorization: "アプリの連携"
close: "Zamknij"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "Rozumiem!"
customization-tips:
title: "Wskazówki o dostosowywaniu"
paragraph1: "Dostosowywanie strony głównej pozwala na dodawanie, usuwanie, przeciąganie i zmienianie kolejności widżetów."
paragraph2: "一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。"
paragraph3: "Aby usunąć widżet, <strong>przeciągnij i upuść widżet do części nazwanej „Kosz”</strong> w nagłówku."
paragraph4: "Aby zakończyć dostosowywanie, naciśnij „Zakończ” w w prawym górnym rogu."
gotit: "Rozumiem!"
notification:
file-uploaded: "Wysłano plik!"
message-from: "Wiadomość od {}:"
reversi-invited: "Zaproszono do gry"
reversi-invited-by: "Zaproszono przez {}:"
notified-by: "Powiadomiono przez {}:"
reply-from: "Odpowiedź od {}:"
quoted-by: "Zacytowano przez {}:"
time:
unknown: "nieznany"
future: "w przyszłości"
@@ -17,6 +39,8 @@ common:
weeks_ago: "{} tyg. temu"
months_ago: "{} mies. temu"
years_ago: "{} lat temu"
month-and-day: "{month}-{day}"
trash: "Kosz"
weekday-short:
sunday: "N"
monday: "Pn"
@@ -25,6 +49,14 @@ common:
thursday: "C"
friday: "P"
saturday: "S"
weekday:
sunday: "Niedziela"
monday: "Poniedziałek"
tuesday: "Wtorek"
wednesday: "Środa"
thursday: "Czwartek"
friday: "Piątek"
saturday: "Sobota"
reactions:
like: "Lubię"
love: "Kocham"
@@ -34,6 +66,7 @@ common:
congrats: "Gratuluję!"
angry: "Wściekły"
confused: "Zmieszany"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "Co robisz?"
@@ -42,11 +75,28 @@ common:
d: "Czy masz coś do powiedzenia?"
e: "Napisz coś tutaj!"
f: "Czekamy, aż coś napiszesz."
search: "Szukaj"
delete: "Usuń"
loading: "Ładowanie"
ok: "OK"
update-available-title: "Aktualizacja jest dostępna"
update-available: "Nowa wersja Misskey jest dostępna ({newer}, obecna to {current}). Odśwież stronę, aby zastosować aktualizację."
my-token-regenerated: "Twój token został wygenerowany. Zostaniesz wylogowany."
i-like-sushi: "Wolę sushi od puddingu"
show-reversi-board-labels: "Pokazuj podpisy wierszy i kolumn w Reversi"
verified-user: "Zweryfikowany użytkownik"
disable-animated-mfm: "Wyłącz animowany tekst we wpisach"
reversi:
drawn: "Remis"
my-turn: "Twoja kolej"
opponent-turn: "Kolej na przeciwnika"
turn-of: "Kolej na {}"
past-turn-of: "Kolej {}"
won: "{}の勝ち"
black: "Czarny"
white: "Biały"
total: "Łącznie"
this-turn: "Ruch {}"
widgets:
analog-clock: "Zegar analogowy"
profile: "Profil"
@@ -75,6 +125,7 @@ common:
widgets: "Widżety"
home: "Strona główna"
local: "Lokalne"
hybrid: "Społeczność"
global: "Globalne"
notifications: "Powiadomienia"
list: "Listy"
@@ -85,8 +136,75 @@ common:
remove: "Usuń"
add-column: "Dodaj kolumnę"
rename: "Zmień nazwę"
stack-left: "左に重ねる"
pop-right: "右に出す"
stack-left: "Przypnij do lewej"
pop-right: "Odepnij w prawo"
auth/views/form.vue:
share-access: "Czy chcesz <b>zezwolić</b> <i>{{ app.name }}</i> na dostęp do Twojego konta?"
permission-ask: "Ta aplikacja wymaga następujących uprawnień:"
account-read: "Wyświetlanie informacji o koncie:"
account-write: "Modyfikowanie informacji o koncie:"
note-write: "Publikacja."
like-write: "Reagowanie na wpisy."
following-write: "Śledzenie i cofanie śledzenia."
drive-read: "Odczytywanie Twojego dysku."
drive-write: "Wysyłanie i usuwanie plików na Twoim dysku."
notification-read: "Odczytywanie Twoich powiadomień."
notification-write: "Zarządzanie Twoimi powiadomieniami."
cancel: "Anuluj"
accept: "Przyznaj dostęp."
auth/views/index.vue:
loading: "Ładowanie"
denied: "Odrzucono uwierzytelnianie aplikacji."
denied-paragraph: "Ta aplikacja nie uzyska dostępu do Twojego konta."
already-authorized: "Ta aplikacja została już uwierzytelniona."
allowed: "アプリケーションの連携を許可しました"
callback-url: "Powracam do aplikacji."
please-go-back: "Wróć do aplikacji."
error: "Sesja nie istnieje."
sign-in: "Proszę zalogować się."
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "Oczekiwanie na {}"
cancel: "Anuluj"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "Zagraj w Reversi ze znajomymi!"
invite: "Zaproś"
rule: "Jak grać"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "Zaproś"
mode-invite-desc: "Zaproś użytkownika do gry."
invitations: "Otrzymałeś(-aś) zaproszenie!"
my-games: "Moje gry"
all-games: "Wszystkie gry"
enter-username: "Wprowadź nazwę użytkownika"
game-state:
ended: "Zakończono"
playing: "W trakcie"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "Ustawienia gry"
choose-map: "Wybierz mapę"
random: "Losowy"
black-or-white: "Czarny/biały"
black-is: "{}が黒"
rules: "Zasady"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Ustawienia bota"
this-game-is-started-soon: "Gra rozpocznie się wkrótce"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "Oczekiwanie na Ciebie"
cancel: "Anuluj"
ready: "Gotowy"
cancel-ready: "Cofnij „gotowy”"
common/views/components/connect-failed.vue:
title: "Nie udało się połączyć z serwerem"
description: "Wystąpił problem z Twoim połączeniem z Internetem, lub z serwerem. {Spróbuj ponownie} wkrótce."
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "Brak dalszej historii"
resize-form: "Przeciągnij aby zmienić rozmiar"
new-message: "Nowa wiadomość"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "Wprowadź wiadomość tutaj"
send: "Wyślij"
attach-from-local: "Załącz pliki z komputera"
attach-from-drive: "Załącz pliki z dysku"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "Przeczytano"
deleted: "Wiadomość została usunięta"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "Token"
signing-in: "Logowanie…"
signin: "Zaloguj"
or: "または"
signin-with-twitter: "Zaloguj się za pomocą Twittera"
common/views/components/signup.vue:
username: "Nazwa użytkownika"
checking: "Sprawdzanie…"
@@ -216,6 +338,13 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "Brak transmisji"
have-a-nice-day: "Miłego dnia!"
next: "Dalej"
common/views/widgets/calendar.vue:
year: "Rok {}"
month: "Miesiąc {}"
day: "Dzień {}"
today: "Dzisiaj:"
this-month: "Ten miesiąc:"
this-year: "Ten rok:"
common/views/widgets/donation.vue:
title: "Dotacje"
text: "Aby utrzymywać Misskey, płacimy za domenę, serwery i nie tylko… Nie zarabiamy na tym, więc byłoby nam miło, gdybyśmy uzyskali od Ciebie dotację. Jeżeli jesteś zainteresowany, skontaktuj się z {}. Dziękujemy za wsparcie!"
@@ -228,6 +357,7 @@ common/views/widgets/posts-monitor.vue:
common/views/widgets/hashtags.vue:
title: "Hashtagi"
count: "Wspomniany przez {} użytkowników"
empty: "Brak popularnych hashtagów"
common/views/widgets/server.vue:
title: "Informacje o serwerze"
toggle: "Przełącz widok"
@@ -235,6 +365,48 @@ common/views/widgets/memo.vue:
title: "Notatka"
memo: "Napisz tutaj!"
save: "Zapisz"
common/views/widgets/slideshow.vue:
folder-customize-mode: "Aby określić katalog, opuść tryb dostosowywania"
folder: "Naciśnij i wybierz folder"
no-image: "Brak obrazu w tym folderze"
common/views/widgets/tips.vue:
tips-line1: "Możesz przejść do osi czasu używając <kbd>t</kbd>."
tips-line2: "Otwórz formularz nowego wpisu używając <kbd>p</kbd> lub <kbd>n</kbd>."
tips-line3: "Możesz przeciągnąć i upuścić pliki w formularzu wpisu."
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "Możesz wysłać pliki przeciągając i upuszczając je w Dysku."
tips-line6: "Możesz przenieść katalog przeciągając go w Dysku."
tips-line7: "Możesz przenieść katalog przeciągając go w Dysku."
tips-line8: "Strona główna może zostać dostosowana w ustawieniach."
tips-line9: "Misskey jest dostępny na licencji AGPLv3."
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "Możesz przypiąć wpis na stronie użytkownika klikając na „…”"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "Oznaczenie tekstu **w ten sposób** wyróżni go."
tips-line19: "Część okien może zostać odłączona z przeglądarki."
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "Możesz też używać API, aby tworzyć boty."
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskey zaczął działać w 2014."
tips-line25: "Możesz otrzymywać powiadomienia nawet jeżeli Misskey nie jest otwarty w obsługiwanej przeglądarce."
common/views/pages/follow.vue:
signed-in-as: "Zalogowany jako {}"
following: "Śledzisz"
follow: "Śledź"
request-pending: "Oczekiwanie na pozwolenie"
follow-request: "Poproś o śledzenie"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "Baner"
uploading-banner: "Wysyłanie baneru"
banner-updated: "Zmieniono baner"
choose-banner: "Wybierz baner"
avatar-crop-title: "Wybierz część obrazu, która zostanie użyta jako awatar"
avatar: "Awatar"
uploading-avatar: "Wysyłanie awatara"
avatar-updated: "Wysłano awatar"
choose-avatar: "Wybierz awatar"
desktop/views/components/activity.chart.vue:
total: "Czarny … Łącznie"
notes: "Niebieski … Wpisy"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "Baner"
contextmenu:
rename: "Zmień nazwę"
mark-as-sensitive: "Oznacz jako zawartość wrażliwą"
unmark-as-sensitive: "Cofnij oznaczenie jako zawartość wrażliwą"
copy-url: "Skopiuj adres"
download: "Pobierz"
else-files: "Inne"
@@ -313,6 +487,12 @@ desktop/views/components/drive.vue:
create-folder: "Utwórz katalog"
upload: "Wyślij plik"
url-upload: "Wyślij z adresu URL"
desktop/views/components/media-image.vue:
sensitive: "To jest zawartość NSFW"
click-to-show: "Naciśnij aby wyświetlić"
desktop/views/components/media-video.vue:
sensitive: "To jest zawartość NSFW"
click-to-show: "Naciśnij aby wyświetlić"
desktop/views/components/follow-button.vue:
following: "Śledzisz"
follow: "Śledź"
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "Więcej"
close: "Zamknij"
desktop/views/components/game-window.vue:
game: "Othello"
game: "Reversi"
desktop/views/components/home.vue:
done: "Wyślij"
add-widget: "Dodaj widżet:"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "Pokaż szczegóły"
private: "ten wpis jest prywatny"
deleted: "ten wpis został usunięty"
hide: "Zwiń"
see-more: "Więcej"
desktop/views/components/notes.vue:
error: "Ładowanie nie powiodło się."
retry: "Spróbuj ponownie"
load-more: "Załaduj więcej"
desktop/views/components/notifications.vue:
more: "Więcej"
empty: "Brak powiadomień"
desktop/views/components/post-form.vue:
add-visible-user: "+Dodaj użytkownika"
attach-location-information: "Załącz informacje o lokalizacji"
hide-contents: "Ukryj zawartość"
reply-placeholder: "Odpowiedz na ten wpis…"
quote-placeholder: "Zacytuj ten wpis…"
submit: "Wyślij"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "Załącz zawartość multimedialną z komputera"
attach-media-from-drive: "Załącz zawartość multimedialną z dysku"
attach-cancel: "Usuń załącznik"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "Utwórz ankietę"
text-remain: "pozostałe znaki: {}"
recent-tags: "Ostatnie"
click-to-tagging: "Naciśnij aby oznaczyć"
visibility: "Widoczność"
geolocation-alert: "Twoje urządzenie nie obsługuje geolokalizacji."
error: "Bład"
enter-username: "Wprowadź nazwę użytkownika…"
annotations: "Treść ostrzeżenia (opcjonalnie)"
desktop/views/components/post-form-window.vue:
note: "Nowy wpis"
reply: "Odpowiedz"
@@ -426,6 +619,8 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
display: "Wygląd i wyświetlanie"
customize: "Dostosuj stronę główną"
choose-wallpaper: "Wybierz tło"
delete-wallpaper: "Usuń tło"
dark-mode: "Tryb ciemny"
circle-icons: "Używaj okrągłych ikon"
gradient-window-header: "Używaj gradientów na pasku tytułu okna"
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "Wprowadź hasło"
desktop/views/components/settings.apps.vue:
no-apps: "Brak zautoryzowanych aplikacji"
desktop/views/components/settings.drive.vue:
max: "Maksymalnie"
in-use: " w użyciu."
desktop/views/components/settings.mute.vue:
no-users: "Brak wyciszonych użytkowników"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "Opis"
birthday: "Data urodzenia"
save: "Aktualizuj profil"
locked-account: "Zabezpiecz swoje konto"
is-locked: "Uczyń wpis prywatnym"
other: "Inne"
is-bot: "To konto jest prowadzone przez bota"
is-cat: "To konto jest prowadzone przez kota"
profile-updated: "Zaktualizowano profil"
desktop/views/components/sub-note-content.vue:
private: "ten wpis jest prywatny"
deleted: "ten wpis został usunięty"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "Strona główna"
local: "Lokalne"
hybrid: "Społeczność"
global: "Globalne"
list: "Listy"
desktop/views/components/ui.header.vue:
welcome-back: "Witaj ponownie,"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "Twój profil"
drive: "Dysk"
favorites: "Ulubione"
lists: "Listy"
follow-requests: "Prośby o śledzenie"
customize: "Dostosuj"
customize: "Dostosuj stronę główną"
settings: "Ustawienia"
signout: "Wyloguj się"
dark: "Sprowadź ciemność"
@@ -563,6 +769,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "Listy"
create-list: "Utwórz listę"
list-name: "Nazwa listy"
desktop/views/components/user-preview.vue:
notes: "Wpisy"
following: "Śledzeni"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "Pop-out"
close: "Zamknij"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "Tylko wpisy z zawartością multimedialną"
is-media-view: "Widok multimediów"
edit: "Opcje"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "Udostępniono przez {}"
private: "ten wpis jest prywatny"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "Zaloguj się"
signup-button: "Zarejestruj się"
timeline: "Oś czasu"
powered-by-misskey: "Oparto o <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Dysk Misskey"
desktop/views/pages/favorites.vue:
@@ -606,6 +834,13 @@ desktop/views/pages/selectdrive.vue:
ok: "OK"
cancel: "Anuluj"
upload: "Wyślij pliki z Twojego komputera"
desktop/views/pages/search.vue:
not-available: "Funkcja wyszukiwania nie może zostać wykorzystywana."
not-found: "Nie znaleziono wpisów zawierających „{}”"
desktop/views/pages/share.vue:
share-with: "Udostępnij z {}."
desktop/views/pages/tag.vue:
no-posts-found: "Nie znaleziono wpisów zawierających „{}”."
desktop/views/pages/user-list.users.vue:
users: "Użytkownicy"
add-user: "Dodaj użytkownika"
@@ -618,7 +853,7 @@ desktop/views/pages/user/user.friends.vue:
title: "Najbardziej aktywni"
loading: "Ładowanie"
no-users: "Brak użytkowników"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "To konto zostało zawieszone."
is-remote: "To jest użytkownik zdalnej instancji, informacje mogą nie być w pełni dokładne."
view-remote: "Wyświetl dokładne informacje"
@@ -636,6 +871,13 @@ desktop/views/pages/user/user.profile.vue:
mute: "Wycisz"
muted: "Wyciszyłeś"
unmute: "Cofnij wyciszenie"
push-to-a-list: "Dodaj do listy"
list-pushed: "Dodałeś(-aś) {user} do {list}."
desktop/views/pages/user/user.header.vue:
posts: "Wpisy"
following: "Śledzeni"
followers: "Śledzący"
is-bot: "To konto jest botem"
desktop/views/pages/user/user.timeline.vue:
default: "Wpisy"
with-replies: "Wpisy i odpowiedzi"
@@ -692,6 +934,12 @@ mobile/views/components/drive.file-detail.vue:
move: "Przenieś"
hash: "Hash (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "To jest zawartość NSFW"
click-to-show: "Naciśnij aby wyświetlić"
mobile/views/components/media-video.vue:
sensitive: "To jest zawartość NSFW"
click-to-show: "Naciśnij aby wyświetlić"
mobile/views/components/follow-button.vue:
following: "Śledzisz"
follow: "Śledź"
@@ -750,6 +998,9 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "Brak wpisów"
load-more: "Więcej"
mobile/views/components/ui.header.vue:
welcome-back: "Witaj ponownie, "
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "Oś czasu"
notifications: "Powiadomienia"
@@ -780,6 +1031,8 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "Dysk"
more: "Załaduj więcej"
mobile/views/pages/signup.vue:
lets-start: "Rozpocznijmy! 📦"
mobile/views/pages/followers.vue:
followers-of: "Śledzący {}"
mobile/views/pages/following.vue:
@@ -787,7 +1040,21 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "Strona główna"
local: "Lokalne"
hybrid: "Społeczność"
global: "Globalne"
mobile/views/pages/tag.vue:
no-posts-found: "Nie znaleziono wpisów zawierających „{}”."
mobile/views/pages/welcome.vue:
signup: "Zarejestruj się"
mobile/views/pages/widgets.vue:
dashboard: "Kokpit"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "Dodaj"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "Aktywność"
mobile/views/pages/share.vue:
share-with: "Udostępnij z {}."
mobile/views/pages/messaging.vue:
messaging: "Wiadomości"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "Powiadomienia"
read-all: "Czy na pewno chcesz oznaczyć wszystkie powiadomienia jako przeczytane?"
mobile/views/pages/games/reversi.vue:
reversi: "Reversi"
mobile/views/pages/settings/settings.profile.vue:
title: "Profil"
name: "Nazwa"
@@ -820,6 +1089,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "Szukaj"
empty: "Nie znaleziono wpisów zawierających '{}'"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "Wybierz plik"
mobile/views/pages/settings.vue:
@@ -900,11 +1170,19 @@ docs:
properties: "Właściwości"
endpoints:
params: "Parametry"
no-params: "Brak parametrów."
res: "Odpowiedź"
require-credential: "Punkt końcowy wymaga informacji o uwierzytelnieniu."
require-permission: "Ten punkt końcowy wymaga uprawnienia {permission}."
has-limit: "Istnieje limit częstotliwości."
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "Nie możesz wykonać żądania przed upłynięciem {interval} od ostatniego żądania."
show-src: "Możesz zobaczyć kod źródłowy tego punktu końcowego."
show-src-link: "Zobacz kod na GitHubie"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "Nazwa"
type: "Rodzaj"
optional: "Nieobowiązkowy"
description: "Opis"
yes: "Tak"
no: "Nie"
dev/views/index.vue:
manage-apps: "Zarządzaj aplikacjami"

View File

@@ -3,9 +3,31 @@ meta:
lang: "Português"
divider: ""
common:
misskey: "A planet of fediverse"
misskey: "A of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
adblock:
detected: "広告ブロッカーを無効にしてください"
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。"
application-authorization: "アプリの連携"
close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
paragraph2: "一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。"
paragraph3: "ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。"
paragraph4: "カスタマイズを終了するには、右上の「完了」をクリックします。"
gotit: "Got it!"
notification:
file-uploaded: "ファイルがアップロードされました"
message-from: "{}さんからメッセージ:"
reversi-invited: "対局への招待があります"
reversi-invited-by: "{}さんから"
notified-by: "{}さんから"
reply-from: "{}さんから返信:"
quoted-by: "{}さんが引用:"
time:
unknown: "なぞのじかん"
future: "未来"
@@ -17,6 +39,8 @@ common:
weeks_ago: "{}週間前"
months_ago: "{}ヶ月前"
years_ago: "{}年前"
month-and-day: "{month}月 {day}日"
trash: "ゴミ箱"
weekday-short:
sunday: "日"
monday: "月"
@@ -25,6 +49,14 @@ common:
thursday: "木"
friday: "金"
saturday: "土"
weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
reactions:
like: "いいね"
love: "しゅき"
@@ -34,6 +66,7 @@ common:
congrats: "おめでとう"
angry: "おこ"
confused: "こまこまのこまり"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "今どうしてる?"
@@ -42,11 +75,28 @@ common:
d: "言いたいことは?"
e: "ここに書いてください"
f: "あなたが書くのを待っています..."
search: "検索"
delete: "削除"
loading: "読み込み中"
ok: "わかった"
update-available-title: "更新があります"
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
verified-user: "認証済みのユーザー"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
opponent-turn: "相手のターンです"
turn-of: "{}のターンです"
past-turn-of: "{}のターン"
won: "{}の勝ち"
black: "黒"
white: "白"
total: "合計"
this-turn: "{}ターン目"
widgets:
analog-clock: "アナログ時計"
profile: "プロフィール"
@@ -75,6 +125,7 @@ common:
widgets: "ウィジェット"
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
notifications: "通知"
list: "リスト"
@@ -87,6 +138,73 @@ common:
rename: "名前を変更"
stack-left: "左に重ねる"
pop-right: "右に出す"
auth/views/form.vue:
share-access: "<i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。"
note-write: "投稿する。"
like-write: "いいねしたりいいね解除する。"
following-write: "フォローしたりフォロー解除する。"
drive-read: "ドライブを見る。"
drive-write: "ドライブを操作する。"
notification-read: "通知を見る。"
notification-write: "通知を操作する。"
cancel: "キャンセル"
accept: "アクセスを許可"
auth/views/index.vue:
loading: "読み込み中"
denied: "アプリケーションの連携をキャンセルしました。"
denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。"
already-authorized: "このアプリは既に連携済みです"
allowed: "アプリケーションの連携を許可しました"
callback-url: "アプリケーションに戻っています"
please-go-back: "アプリケーションに戻って、やっていってください。"
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
cancel: "キャンセル"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
invite: "招待"
rule: "遊び方"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "招待"
mode-invite-desc: "指定したユーザーと対戦するモードです。"
invitations: "対局の招待があります!"
my-games: "自分の対局"
all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください"
game-state:
ended: "終了"
playing: "進行中"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定"
choose-map: "マップを選択"
random: "ランダム"
black-or-white: "先手/後手"
black-is: "{}が黒"
rules: "ルール"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定"
this-game-is-started-soon: "ゲームは数秒後に開始されます"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中"
cancel: "キャンセル"
ready: "準備完了"
cancel-ready: "準備続行"
common/views/components/connect-failed.vue:
title: "サーバーに接続できません"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "これより過去の履歴はありません"
resize-form: "ドラッグしてフォームの広さを調整"
new-message: "新しいメッセージがあります"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "ここにメッセージを入力"
send: "送信"
attach-from-local: "PCからファイルを添付する"
attach-from-drive: "ドライブからファイルを添付する"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "既読"
deleted: "このメッセージは削除されました"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "トークン"
signing-in: "やってます..."
signin: "サインイン"
or: "または"
signin-with-twitter: "Twitterでログイン"
common/views/components/signup.vue:
username: "ユーザー名"
checking: "確認しています..."
@@ -216,6 +338,13 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "お知らせはありません"
have-a-nice-day: "良い一日を!"
next: "次"
common/views/widgets/calendar.vue:
year: "{}年"
month: "{}月"
day: "{}日"
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
@@ -228,6 +357,7 @@ common/views/widgets/posts-monitor.vue:
common/views/widgets/hashtags.vue:
title: "ハッシュタグ"
count: "{}人が投稿"
empty: "トレンドなし"
common/views/widgets/server.vue:
title: "サーバー情報"
toggle: "表示を切り替え"
@@ -235,6 +365,48 @@ common/views/widgets/memo.vue:
title: "付箋"
memo: "ここに書いて!"
save: "保存"
common/views/widgets/slideshow.vue:
folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください"
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-request: "フォロー申請"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "バナー"
uploading-banner: "新しいバナーをアップロードしています"
banner-updated: "バナーを更新しました"
choose-banner: "バナーにする画像を選択"
avatar-crop-title: "アバターとして表示する部分を選択"
avatar: "アバター"
uploading-avatar: "新しいアバターをアップロードしています"
avatar-updated: "アバターを更新しました"
choose-avatar: "アバターにする画像を選択"
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
notes: "Blue ... Notes"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "バナー"
contextmenu:
rename: "名前を変更"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
copy-url: "URLをコピー"
download: "ダウンロード"
else-files: "その他..."
@@ -313,6 +487,12 @@ desktop/views/components/drive.vue:
create-folder: "フォルダーを作成"
upload: "ファイルをアップロード"
url-upload: "URLからアップロード"
desktop/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "もっと見る"
close: "閉じる"
desktop/views/components/game-window.vue:
game: "オセロ"
game: "リバーシ"
desktop/views/components/home.vue:
done: "完了"
add-widget: "ウィジェットを追加:"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
hide: "隠す"
see-more: "もっと見る"
desktop/views/components/notes.vue:
error: "読み込みに失敗しました。"
retry: "リトライ"
load-more: "もっと読み込む"
desktop/views/components/notifications.vue:
more: "もっと見る"
empty: "ありません!"
desktop/views/components/post-form.vue:
add-visible-user: "+ユーザーを追加"
attach-location-information: "位置情報を添付する"
hide-contents: "内容を隠す"
reply-placeholder: "この投稿への返信..."
quote-placeholder: "この投稿を引用..."
submit: "投稿"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "PCからメディアを添付"
attach-media-from-drive: "ドライブからメディアを添付"
attach-cancel: "添付取り消し"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "お使いの端末は位置情報に対応していません"
error: "エラー"
enter-username: "ユーザー名を入力してください"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "新規投稿"
reply: "返信"
@@ -426,6 +619,8 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "ダークモード"
circle-icons: "円形のアイコンを使用"
gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用"
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "パスワードを入力してください"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "自己紹介"
birthday: "誕生日"
save: "保存"
locked-account: "アカウントの保護"
is-locked: "投稿を非公開にする"
other: "その他"
is-bot: "このアカウントはBotです"
is-cat: "このアカウントはCatです"
profile-updated: "プロフィールを更新しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
list: "リスト"
desktop/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
drive: "ドライブ"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー申請"
customize: "カスタマイズ"
customize: "ホームのカスタマイズ"
settings: "設定"
signout: "サインアウト"
dark: "闇に飲まれる"
@@ -563,6 +769,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
list-name: "リスト名"
desktop/views/components/user-preview.vue:
notes: "投稿"
following: "フォロー"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "{}がRenote"
private: "この投稿は非公開です"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/favorites.vue:
@@ -606,6 +834,13 @@ desktop/views/pages/selectdrive.vue:
ok: "決定"
cancel: "キャンセル"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@@ -618,7 +853,7 @@ desktop/views/pages/user/user.friends.vue:
title: "よく話すユーザー"
loading: "読み込み中"
no-users: "よく話すユーザーはいません"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "このユーザーは凍結されています。"
is-remote: "このユーザーはリモートユーザーです。"
view-remote: "正確な情報を見る"
@@ -636,6 +871,13 @@ desktop/views/pages/user/user.profile.vue:
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
is-bot: "このアカウントはBotです"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
@@ -692,6 +934,12 @@ mobile/views/components/drive.file-detail.vue:
move: "移動"
hash: "ハッシュ (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -750,6 +998,9 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@@ -780,6 +1031,8 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
mobile/views/pages/following.vue:
@@ -787,7 +1040,21 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "追加"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/share.vue:
share-with: "{}で共有"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "プロフィール"
name: "名前"
@@ -820,6 +1089,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "検索"
empty: "「{}」に関する投稿は見つかりませんでした。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択"
mobile/views/pages/settings.vue:
@@ -900,11 +1170,19 @@ docs:
properties: "プロパティ"
endpoints:
params: "パラメータ"
no-params: "パラメータはありません"
res: "レスポンス"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "コードをGitHubで見る"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "名前"
type: "型"
optional: "オプション"
description: "説明"
yes: "はい"
no: "いいえ"
dev/views/index.vue:
manage-apps: "アプリの管理"

View File

@@ -3,9 +3,31 @@ meta:
lang: "Русский язык"
divider: ""
common:
misskey: "A planet of fediverse"
misskey: "A of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
adblock:
detected: "広告ブロッカーを無効にしてください"
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。"
application-authorization: "アプリの連携"
close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
paragraph2: "一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。"
paragraph3: "ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。"
paragraph4: "カスタマイズを終了するには、右上の「完了」をクリックします。"
gotit: "Got it!"
notification:
file-uploaded: "ファイルがアップロードされました"
message-from: "{}さんからメッセージ:"
reversi-invited: "対局への招待があります"
reversi-invited-by: "{}さんから"
notified-by: "{}さんから"
reply-from: "{}さんから返信:"
quoted-by: "{}さんが引用:"
time:
unknown: "なぞのじかん"
future: "未来"
@@ -17,6 +39,8 @@ common:
weeks_ago: "{}週間前"
months_ago: "{}ヶ月前"
years_ago: "{}年前"
month-and-day: "{month}月 {day}日"
trash: "ゴミ箱"
weekday-short:
sunday: "日"
monday: "月"
@@ -25,6 +49,14 @@ common:
thursday: "木"
friday: "金"
saturday: "土"
weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
reactions:
like: "いいね"
love: "しゅき"
@@ -34,6 +66,7 @@ common:
congrats: "おめでとう"
angry: "おこ"
confused: "こまこまのこまり"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "今どうしてる?"
@@ -42,11 +75,28 @@ common:
d: "言いたいことは?"
e: "ここに書いてください"
f: "あなたが書くのを待っています..."
search: "検索"
delete: "削除"
loading: "読み込み中"
ok: "わかった"
update-available-title: "更新があります"
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
verified-user: "認証済みのユーザー"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
opponent-turn: "相手のターンです"
turn-of: "{}のターンです"
past-turn-of: "{}のターン"
won: "{}の勝ち"
black: "黒"
white: "白"
total: "合計"
this-turn: "{}ターン目"
widgets:
analog-clock: "アナログ時計"
profile: "プロフィール"
@@ -75,6 +125,7 @@ common:
widgets: "ウィジェット"
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
notifications: "通知"
list: "リスト"
@@ -87,6 +138,73 @@ common:
rename: "名前を変更"
stack-left: "左に重ねる"
pop-right: "右に出す"
auth/views/form.vue:
share-access: "<i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。"
note-write: "投稿する。"
like-write: "いいねしたりいいね解除する。"
following-write: "フォローしたりフォロー解除する。"
drive-read: "ドライブを見る。"
drive-write: "ドライブを操作する。"
notification-read: "通知を見る。"
notification-write: "通知を操作する。"
cancel: "キャンセル"
accept: "アクセスを許可"
auth/views/index.vue:
loading: "読み込み中"
denied: "アプリケーションの連携をキャンセルしました。"
denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。"
already-authorized: "このアプリは既に連携済みです"
allowed: "アプリケーションの連携を許可しました"
callback-url: "アプリケーションに戻っています"
please-go-back: "アプリケーションに戻って、やっていってください。"
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
cancel: "キャンセル"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
invite: "招待"
rule: "遊び方"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "招待"
mode-invite-desc: "指定したユーザーと対戦するモードです。"
invitations: "対局の招待があります!"
my-games: "自分の対局"
all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください"
game-state:
ended: "終了"
playing: "進行中"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定"
choose-map: "マップを選択"
random: "ランダム"
black-or-white: "先手/後手"
black-is: "{}が黒"
rules: "ルール"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定"
this-game-is-started-soon: "ゲームは数秒後に開始されます"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中"
cancel: "キャンセル"
ready: "準備完了"
cancel-ready: "準備続行"
common/views/components/connect-failed.vue:
title: "サーバーに接続できません"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "これより過去の履歴はありません"
resize-form: "ドラッグしてフォームの広さを調整"
new-message: "新しいメッセージがあります"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "ここにメッセージを入力"
send: "送信"
attach-from-local: "PCからファイルを添付する"
attach-from-drive: "ドライブからファイルを添付する"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "既読"
deleted: "このメッセージは削除されました"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "トークン"
signing-in: "やってます..."
signin: "サインイン"
or: "または"
signin-with-twitter: "Twitterでログイン"
common/views/components/signup.vue:
username: "ユーザー名"
checking: "確認しています..."
@@ -216,6 +338,13 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "お知らせはありません"
have-a-nice-day: "良い一日を!"
next: "次"
common/views/widgets/calendar.vue:
year: "{}年"
month: "{}月"
day: "{}日"
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
@@ -228,6 +357,7 @@ common/views/widgets/posts-monitor.vue:
common/views/widgets/hashtags.vue:
title: "ハッシュタグ"
count: "{}人が投稿"
empty: "トレンドなし"
common/views/widgets/server.vue:
title: "サーバー情報"
toggle: "表示を切り替え"
@@ -235,6 +365,48 @@ common/views/widgets/memo.vue:
title: "付箋"
memo: "ここに書いて!"
save: "保存"
common/views/widgets/slideshow.vue:
folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください"
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-request: "フォロー申請"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "バナー"
uploading-banner: "新しいバナーをアップロードしています"
banner-updated: "バナーを更新しました"
choose-banner: "バナーにする画像を選択"
avatar-crop-title: "アバターとして表示する部分を選択"
avatar: "アバター"
uploading-avatar: "新しいアバターをアップロードしています"
avatar-updated: "アバターを更新しました"
choose-avatar: "アバターにする画像を選択"
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
notes: "Blue ... Notes"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "バナー"
contextmenu:
rename: "名前を変更"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
copy-url: "URLをコピー"
download: "ダウンロード"
else-files: "その他..."
@@ -313,6 +487,12 @@ desktop/views/components/drive.vue:
create-folder: "フォルダーを作成"
upload: "ファイルをアップロード"
url-upload: "URLからアップロード"
desktop/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "もっと見る"
close: "閉じる"
desktop/views/components/game-window.vue:
game: "オセロ"
game: "リバーシ"
desktop/views/components/home.vue:
done: "完了"
add-widget: "ウィジェットを追加:"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
hide: "隠す"
see-more: "もっと見る"
desktop/views/components/notes.vue:
error: "読み込みに失敗しました。"
retry: "リトライ"
load-more: "もっと読み込む"
desktop/views/components/notifications.vue:
more: "もっと見る"
empty: "ありません!"
desktop/views/components/post-form.vue:
add-visible-user: "+ユーザーを追加"
attach-location-information: "位置情報を添付する"
hide-contents: "内容を隠す"
reply-placeholder: "この投稿への返信..."
quote-placeholder: "この投稿を引用..."
submit: "投稿"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "PCからメディアを添付"
attach-media-from-drive: "ドライブからメディアを添付"
attach-cancel: "添付取り消し"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "お使いの端末は位置情報に対応していません"
error: "エラー"
enter-username: "ユーザー名を入力してください"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "新規投稿"
reply: "返信"
@@ -426,6 +619,8 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "ダークモード"
circle-icons: "円形のアイコンを使用"
gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用"
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "パスワードを入力してください"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "自己紹介"
birthday: "誕生日"
save: "保存"
locked-account: "アカウントの保護"
is-locked: "投稿を非公開にする"
other: "その他"
is-bot: "このアカウントはBotです"
is-cat: "このアカウントはCatです"
profile-updated: "プロフィールを更新しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
list: "リスト"
desktop/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
drive: "ドライブ"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー申請"
customize: "カスタマイズ"
customize: "ホームのカスタマイズ"
settings: "設定"
signout: "サインアウト"
dark: "闇に飲まれる"
@@ -563,6 +769,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
list-name: "リスト名"
desktop/views/components/user-preview.vue:
notes: "投稿"
following: "フォロー"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "{}がRenote"
private: "この投稿は非公開です"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/favorites.vue:
@@ -606,6 +834,13 @@ desktop/views/pages/selectdrive.vue:
ok: "決定"
cancel: "キャンセル"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@@ -618,7 +853,7 @@ desktop/views/pages/user/user.friends.vue:
title: "よく話すユーザー"
loading: "読み込み中"
no-users: "よく話すユーザーはいません"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "このユーザーは凍結されています。"
is-remote: "このユーザーはリモートユーザーです。"
view-remote: "正確な情報を見る"
@@ -636,6 +871,13 @@ desktop/views/pages/user/user.profile.vue:
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
is-bot: "このアカウントはBotです"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
@@ -692,6 +934,12 @@ mobile/views/components/drive.file-detail.vue:
move: "移動"
hash: "ハッシュ (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -750,6 +998,9 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@@ -780,6 +1031,8 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
mobile/views/pages/following.vue:
@@ -787,7 +1040,21 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "追加"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/share.vue:
share-with: "{}で共有"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "プロフィール"
name: "名前"
@@ -820,6 +1089,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "検索"
empty: "「{}」に関する投稿は見つかりませんでした。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択"
mobile/views/pages/settings.vue:
@@ -900,11 +1170,19 @@ docs:
properties: "プロパティ"
endpoints:
params: "パラメータ"
no-params: "パラメータはありません"
res: "レスポンス"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "コードをGitHubで見る"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "名前"
type: "型"
optional: "オプション"
description: "説明"
yes: "はい"
no: "いいえ"
dev/views/index.vue:
manage-apps: "アプリの管理"

View File

@@ -3,9 +3,31 @@ meta:
lang: "中文(简体)"
divider: ""
common:
misskey: "A planet of fediverse"
misskey: "A of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
adblock:
detected: "広告ブロッカーを無効にしてください"
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。"
application-authorization: "アプリの連携"
close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
got-it: "わかった"
customization-tips:
title: "カスタマイズのヒント"
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
paragraph2: "一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。"
paragraph3: "ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。"
paragraph4: "カスタマイズを終了するには、右上の「完了」をクリックします。"
gotit: "Got it!"
notification:
file-uploaded: "ファイルがアップロードされました"
message-from: "{}さんからメッセージ:"
reversi-invited: "対局への招待があります"
reversi-invited-by: "{}さんから"
notified-by: "{}さんから"
reply-from: "{}さんから返信:"
quoted-by: "{}さんが引用:"
time:
unknown: "なぞのじかん"
future: "未来"
@@ -17,6 +39,8 @@ common:
weeks_ago: "{}週間前"
months_ago: "{}ヶ月前"
years_ago: "{}年前"
month-and-day: "{month}月 {day}日"
trash: "ゴミ箱"
weekday-short:
sunday: "日"
monday: "月"
@@ -25,6 +49,14 @@ common:
thursday: "木"
friday: "金"
saturday: "土"
weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
reactions:
like: "いいね"
love: "しゅき"
@@ -34,6 +66,7 @@ common:
congrats: "おめでとう"
angry: "おこ"
confused: "こまこまのこまり"
rip: "RIP"
pudding: "Pudding"
note-placeholders:
a: "今どうしてる?"
@@ -42,11 +75,28 @@ common:
d: "言いたいことは?"
e: "ここに書いてください"
f: "あなたが書くのを待っています..."
search: "検索"
delete: "削除"
loading: "読み込み中"
ok: "わかった"
update-available-title: "更新があります"
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
verified-user: "認証済みのユーザー"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
reversi:
drawn: "引き分け"
my-turn: "あなたのターンです"
opponent-turn: "相手のターンです"
turn-of: "{}のターンです"
past-turn-of: "{}のターン"
won: "{}の勝ち"
black: "黒"
white: "白"
total: "合計"
this-turn: "{}ターン目"
widgets:
analog-clock: "アナログ時計"
profile: "プロフィール"
@@ -75,6 +125,7 @@ common:
widgets: "ウィジェット"
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
notifications: "通知"
list: "リスト"
@@ -87,6 +138,73 @@ common:
rename: "名前を変更"
stack-left: "左に重ねる"
pop-right: "右に出す"
auth/views/form.vue:
share-access: "<i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか?"
permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。"
note-write: "投稿する。"
like-write: "いいねしたりいいね解除する。"
following-write: "フォローしたりフォロー解除する。"
drive-read: "ドライブを見る。"
drive-write: "ドライブを操作する。"
notification-read: "通知を見る。"
notification-write: "通知を操作する。"
cancel: "キャンセル"
accept: "アクセスを許可"
auth/views/index.vue:
loading: "読み込み中"
denied: "アプリケーションの連携をキャンセルしました。"
denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。"
already-authorized: "このアプリは既に連携済みです"
allowed: "アプリケーションの連携を許可しました"
callback-url: "アプリケーションに戻っています"
please-go-back: "アプリケーションに戻って、やっていってください。"
error: "セッションが存在しません。"
sign-in: "サインインしてください"
common/views/components/games/reversi/reversi.vue:
matching:
waiting-for: "{}を待っています"
cancel: "キャンセル"
common/views/components/games/reversi/reversi.game.vue:
surrender: "投了"
surrendered: "投了により"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
common/views/components/games/reversi/reversi.index.vue:
title: "Misskey Reversi"
sub-title: "他のMisskeyユーザーとリバーシで対戦しよう"
invite: "招待"
rule: "遊び方"
rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。"
mode-invite: "招待"
mode-invite-desc: "指定したユーザーと対戦するモードです。"
invitations: "対局の招待があります!"
my-games: "自分の対局"
all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください"
game-state:
ended: "終了"
playing: "進行中"
common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定"
choose-map: "マップを選択"
random: "ランダム"
black-or-white: "先手/後手"
black-is: "{}が黒"
rules: "ルール"
is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定"
this-game-is-started-soon: "ゲームは数秒後に開始されます"
waiting-for-other: "相手の準備が完了するのを待っています"
waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中"
cancel: "キャンセル"
ready: "準備完了"
cancel-ready: "準備続行"
common/views/components/connect-failed.vue:
title: "サーバーに接続できません"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
@@ -121,11 +239,13 @@ common/views/components/messaging-room.vue:
no-history: "これより過去の履歴はありません"
resize-form: "ドラッグしてフォームの広さを調整"
new-message: "新しいメッセージがあります"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.form.vue:
input-message-here: "ここにメッセージを入力"
send: "送信"
attach-from-local: "PCからファイルを添付する"
attach-from-drive: "ドライブからファイルを添付する"
only-one-file-attached: "メッセージに添付できるのはひとつのファイルのみです"
common/views/components/messaging-room.message.vue:
is-read: "既読"
deleted: "このメッセージは削除されました"
@@ -165,6 +285,8 @@ common/views/components/signin.vue:
token: "トークン"
signing-in: "やってます..."
signin: "サインイン"
or: "または"
signin-with-twitter: "Twitterでログイン"
common/views/components/signup.vue:
username: "ユーザー名"
checking: "確認しています..."
@@ -216,6 +338,13 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "お知らせはありません"
have-a-nice-day: "良い一日を!"
next: "次"
common/views/widgets/calendar.vue:
year: "{}年"
month: "{}月"
day: "{}日"
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
@@ -228,6 +357,7 @@ common/views/widgets/posts-monitor.vue:
common/views/widgets/hashtags.vue:
title: "ハッシュタグ"
count: "{}人が投稿"
empty: "トレンドなし"
common/views/widgets/server.vue:
title: "サーバー情報"
toggle: "表示を切り替え"
@@ -235,6 +365,48 @@ common/views/widgets/memo.vue:
title: "付箋"
memo: "ここに書いて!"
save: "保存"
common/views/widgets/slideshow.vue:
folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください"
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
follow: "フォロー"
request-pending: "フォロー許可待ち"
follow-request: "フォロー申請"
desktop:
banner-crop-title: "バナーとして表示する部分を選択"
banner: "バナー"
uploading-banner: "新しいバナーをアップロードしています"
banner-updated: "バナーを更新しました"
choose-banner: "バナーにする画像を選択"
avatar-crop-title: "アバターとして表示する部分を選択"
avatar: "アバター"
uploading-avatar: "新しいアバターをアップロードしています"
avatar-updated: "アバターを更新しました"
choose-avatar: "アバターにする画像を選択"
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
notes: "Blue ... Notes"
@@ -270,6 +442,8 @@ desktop/views/components/drive.file.vue:
banner: "バナー"
contextmenu:
rename: "名前を変更"
mark-as-sensitive: "閲覧注意に設定"
unmark-as-sensitive: "閲覧注意を解除"
copy-url: "URLをコピー"
download: "ダウンロード"
else-files: "その他..."
@@ -313,6 +487,12 @@ desktop/views/components/drive.vue:
create-folder: "フォルダーを作成"
upload: "ファイルをアップロード"
url-upload: "URLからアップロード"
desktop/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -333,7 +513,7 @@ desktop/views/components/friends-maker.vue:
refresh: "もっと見る"
close: "閉じる"
desktop/views/components/game-window.vue:
game: "オセロ"
game: "リバーシ"
desktop/views/components/home.vue:
done: "完了"
add-widget: "ウィジェットを追加:"
@@ -361,13 +541,19 @@ desktop/views/components/notes.note.vue:
detail: "詳細"
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
hide: "隠す"
see-more: "もっと見る"
desktop/views/components/notes.vue:
error: "読み込みに失敗しました。"
retry: "リトライ"
load-more: "もっと読み込む"
desktop/views/components/notifications.vue:
more: "もっと見る"
empty: "ありません!"
desktop/views/components/post-form.vue:
add-visible-user: "+ユーザーを追加"
attach-location-information: "位置情報を添付する"
hide-contents: "内容を隠す"
reply-placeholder: "この投稿への返信..."
quote-placeholder: "この投稿を引用..."
submit: "投稿"
@@ -383,9 +569,16 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "PCからメディアを添付"
attach-media-from-drive: "ドライブからメディアを添付"
attach-cancel: "添付取り消し"
insert-a-kao: "v(‘ω’)v"
insert-a-kao: "v('ω')v"
create-poll: "アンケートを作成"
text-remain: "残り{}文字"
recent-tags: "最近"
click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲"
geolocation-alert: "お使いの端末は位置情報に対応していません"
error: "エラー"
enter-username: "ユーザー名を入力してください"
annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue:
note: "新規投稿"
reply: "返信"
@@ -426,6 +619,8 @@ desktop/views/components/settings.vue:
api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。"
display: "デザインと表示"
customize: "ホームをカスタマイズ"
choose-wallpaper: "壁紙を選択"
delete-wallpaper: "壁紙を削除"
dark-mode: "ダークモード"
circle-icons: "円形のアイコンを使用"
gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用"
@@ -504,6 +699,9 @@ desktop/views/components/settings.api.vue:
enter-password: "パスワードを入力してください"
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
desktop/views/components/settings.password.vue:
@@ -521,8 +719,12 @@ desktop/views/components/settings.profile.vue:
description: "自己紹介"
birthday: "誕生日"
save: "保存"
locked-account: "アカウントの保護"
is-locked: "投稿を非公開にする"
other: "その他"
is-bot: "このアカウントはBotです"
is-cat: "このアカウントはCatです"
profile-updated: "プロフィールを更新しました"
desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です"
deleted: "この投稿は削除されました"
@@ -533,15 +735,19 @@ desktop/views/components/taskmanager.vue:
desktop/views/components/timeline.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
list: "リスト"
desktop/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
desktop/views/components/ui.header.account.vue:
profile: "プロフィール"
drive: "ドライブ"
favorites: "お気に入り"
lists: "リスト"
follow-requests: "フォロー申請"
customize: "カスタマイズ"
customize: "ホームのカスタマイズ"
settings: "設定"
signout: "サインアウト"
dark: "闇に飲まれる"
@@ -563,6 +769,7 @@ desktop/views/components/received-follow-requests-window.vue:
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
list-name: "リスト名"
desktop/views/components/user-preview.vue:
notes: "投稿"
following: "フォロー"
@@ -577,9 +784,29 @@ desktop/views/components/users-list-item.vue:
desktop/views/components/window.vue:
popout: "ポップアウト"
close: "閉じる"
desktop/views/pages/admin/admin.vue:
dashboard: "ダッシュボード"
drive: "ドライブ"
users: "ユーザー"
update: "更新"
desktop/views/pages/admin/admin.dashboard.vue:
dashboard: "ダッシュボード"
all-users: "全てのユーザー"
original-users: "このインスタンスのユーザー"
all-notes: "全てのノート"
original-notes: "このインスタンスのノート"
desktop/views/pages/admin/admin.suspend-user.vue:
suspend-user: "ユーザーの凍結"
suspend: "凍結"
suspended: "凍結しました"
desktop/views/pages/admin/admin.unsuspend-user.vue:
unsuspend-user: "ユーザーの凍結の解除"
unsuspend: "凍結の解除"
unsuspended: "凍結を解除しました"
desktop/views/pages/deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ"
is-media-view: "メディアビュー"
edit: "オプション"
desktop/views/pages/deck/deck.note.vue:
reposted-by: "{}がRenote"
private: "この投稿は非公開です"
@@ -592,6 +819,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
desktop/views/pages/favorites.vue:
@@ -606,6 +834,13 @@ desktop/views/pages/selectdrive.vue:
ok: "決定"
cancel: "キャンセル"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "{}で共有"
desktop/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@@ -618,7 +853,7 @@ desktop/views/pages/user/user.friends.vue:
title: "よく話すユーザー"
loading: "読み込み中"
no-users: "よく話すユーザーはいません"
desktop/views/pages/user/user.header.vue:
desktop/views/pages/user/user.vue:
is-suspended: "このユーザーは凍結されています。"
is-remote: "このユーザーはリモートユーザーです。"
view-remote: "正確な情報を見る"
@@ -636,6 +871,13 @@ desktop/views/pages/user/user.profile.vue:
mute: "ミュートする"
muted: "ミュートしています"
unmute: "ミュート解除"
push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加しました。"
desktop/views/pages/user/user.header.vue:
posts: "投稿"
following: "フォロー"
followers: "フォロワー"
is-bot: "このアカウントはBotです"
desktop/views/pages/user/user.timeline.vue:
default: "投稿"
with-replies: "投稿と返信"
@@ -692,6 +934,12 @@ mobile/views/components/drive.file-detail.vue:
move: "移動"
hash: "ハッシュ (md5)"
exif: "EXIF"
mobile/views/components/media-image.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue:
following: "フォロー中"
follow: "フォロー"
@@ -750,6 +998,9 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
adjective: "さん"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@@ -780,6 +1031,8 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
mobile/views/pages/following.vue:
@@ -787,7 +1040,21 @@ mobile/views/pages/following.vue:
mobile/views/pages/home.vue:
home: "ホーム"
local: "ローカル"
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
add-widget: "追加"
customization-tips: "カスタマイズのヒント"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/share.vue:
share-with: "{}で共有"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
mobile/views/pages/messaging-room.vue:
@@ -803,6 +1070,8 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/games/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "プロフィール"
name: "名前"
@@ -820,6 +1089,7 @@ mobile/views/pages/settings/settings.profile.vue:
mobile/views/pages/search.vue:
search: "検索"
empty: "「{}」に関する投稿は見つかりませんでした。"
not-found: "「{}」に関する投稿は見つかりませんでした。"
mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択"
mobile/views/pages/settings.vue:
@@ -900,11 +1170,19 @@ docs:
properties: "プロパティ"
endpoints:
params: "パラメータ"
no-params: "パラメータはありません"
res: "レスポンス"
require-credential: "このエンドポイントは認証情報が必須です。"
require-permission: "このエンドポイントは{permission}の権限を必要とします。"
has-limit: "レートリミットがあります。"
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
show-src: "このエンドポイントのソースコードも閲覧できます。"
show-src-link: "コードをGitHubで見る"
generated: "このドキュメントはAPI定義に基づき自動生成されています。"
props:
name: "名前"
type: "型"
optional: "オプション"
description: "説明"
yes: "はい"
no: "いいえ"
dev/views/index.vue:
manage-apps: "アプリの管理"

View File

@@ -1,11 +0,0 @@
Misskeyの破壊的変更に対応するいくつかのスニペットがあります。
MongoDBシェルで実行する必要のあるものとnodeで直接実行する必要のあるものがあります。
ファイル名が `shell.` から始まるものは前者、 `node.` から始まるものは後者です。
MongoDBシェルで実行する場合、`use`でデータベースを選択しておく必要があります。
nodeで実行するいくつかのスニペットは、並列処理させる数を引数で設定できるものがあります。
処理中にエラーで落ちる場合は、メモリが足りていない可能性があるので、少ない数に設定してみてください。
※デフォルトは`5`です。
ファイルを作成する際は `../init-migration-file.sh -t _type_ -n _name_` を実行すると _type_._unixtime_._name_.js が生成されます

View File

@@ -1,37 +0,0 @@
#!/bin/bash
usage() {
echo "$0 [-t type] [-n name]"
echo " type: [node | shell]"
echo " name: if no present, set untitled"
exit 0
}
while getopts :t:n:h OPT
do
case $OPT in
t) type=$OPTARG
;;
n) name=$OPTARG
;;
h) usage
;;
\?) usage
;;
:) usage
;;
esac
done
if [ "$type" = "" ]
then
echo "no type present!!!"
usage
fi
if [ "$name" = "" ]
then
name="untitled"
fi
touch "$(realpath $(dirname $BASH_SOURCE))/migration/$type.$(date +%s).$name.js"

View File

@@ -1,21 +1,18 @@
{
"name": "misskey",
"author": "syuilo <i@syuilo.com>",
"version": "3.0.1",
"clientVersion": "1.0.6517",
"version": "6.0.0",
"clientVersion": "1.0.8367",
"codename": "nighthike",
"main": "./built/index.js",
"private": true,
"scripts": {
"config": "node ./cli/init.js",
"start": "node ./built",
"debug": "DEBUG=misskey:* node ./built",
"swagger": "node ./swagger.js",
"build": "webpack && gulp build",
"webpack": "webpack",
"watch": "webpack --watch",
"gulp": "gulp build",
"rebuild": "gulp rebuild",
"clean": "gulp clean",
"cleanall": "gulp cleanall",
"lint": "gulp lint",
@@ -23,30 +20,120 @@
"format": "gulp format"
},
"dependencies": {
"@fortawesome/fontawesome": "1.0.1",
"@fortawesome/fontawesome-free-brands": "5.0.2",
"@fortawesome/fontawesome-free-regular": "5.0.2",
"@fortawesome/fontawesome-free-solid": "5.0.2",
"@koa/cors": "2.2.1",
"@fortawesome/fontawesome": "1.1.8",
"@fortawesome/fontawesome-free-brands": "5.0.13",
"@fortawesome/fontawesome-free-regular": "5.0.13",
"@fortawesome/fontawesome-free-solid": "5.0.13",
"@koa/cors": "2.2.2",
"@prezzemolo/rap": "0.1.2",
"@prezzemolo/zip": "0.0.3",
"@types/bcryptjs": "2.4.1",
"@types/dateformat": "1.0.1",
"@types/debug": "0.0.30",
"@types/deep-equal": "1.0.1",
"@types/double-ended-queue": "2.1.0",
"@types/elasticsearch": "5.0.25",
"@types/file-type": "5.2.1",
"@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.5",
"@types/gulp-util": "3.0.34",
"@types/is-root": "1.0.0",
"@types/is-url": "1.2.28",
"@types/js-yaml": "3.11.2",
"@types/koa": "2.0.46",
"@types/koa-bodyparser": "5.0.1",
"@types/koa-compress": "2.0.8",
"@types/koa-favicon": "2.0.19",
"@types/koa-logger": "3.1.0",
"@types/koa-mount": "3.0.1",
"@types/koa-multer": "1.0.0",
"@types/koa-router": "7.0.31",
"@types/koa-send": "4.1.1",
"@types/koa-views": "2.0.3",
"@types/koa__cors": "2.2.3",
"@types/minio": "6.0.2",
"@types/mkdirp": "0.5.2",
"@types/mocha": "5.2.3",
"@types/mongodb": "3.1.4",
"@types/ms": "0.7.30",
"@types/node": "10.7.1",
"@types/portscanner": "2.1.0",
"@types/pug": "2.0.4",
"@types/qrcode": "1.2.0",
"@types/ratelimiter": "2.1.28",
"@types/redis": "2.8.6",
"@types/request": "2.47.1",
"@types/request-promise-native": "1.0.15",
"@types/rimraf": "2.0.2",
"@types/seedrandom": "2.4.27",
"@types/sharp": "0.17.9",
"@types/showdown": "1.7.5",
"@types/single-line-log": "1.1.0",
"@types/speakeasy": "2.0.2",
"@types/systeminformation": "3.23.0",
"@types/tmp": "0.0.33",
"@types/uuid": "3.4.3",
"@types/webpack": "4.4.10",
"@types/webpack-stream": "3.2.10",
"@types/websocket": "0.0.39",
"@types/ws": "6.0.0",
"animejs": "2.2.0",
"autosize": "4.0.2",
"autwh": "0.1.0",
"bcryptjs": "2.4.3",
"cafy": "8.0.0",
"bee-queue": "1.2.2",
"bootstrap-vue": "2.0.0-rc.11",
"cafy": "11.3.0",
"chalk": "2.4.1",
"commander": "2.17.1",
"crc-32": "1.2.0",
"css-loader": "1.0.0",
"dateformat": "3.0.3",
"debug": "3.1.0",
"deep-equal": "1.0.1",
"deepcopy": "0.6.3",
"diskusage": "0.2.4",
"elasticsearch": "15.0.0",
"emojilib": "2.2.12",
"dompurify": "1.0.5",
"double-ended-queue": "2.1.0-0",
"elasticsearch": "15.1.1",
"element-ui": "2.4.6",
"emojilib": "2.3.0",
"escape-regexp": "0.0.1",
"file-type": "8.0.0",
"gm": "1.23.1",
"eslint": "5.0.1",
"eslint-plugin-vue": "4.7.1",
"eventemitter3": "3.1.0",
"exif-js": "2.3.0",
"file-loader": "1.1.11",
"file-type": "9.0.0",
"fuckadblock": "3.2.1",
"gulp": "3.9.1",
"gulp-cssnano": "2.1.3",
"gulp-htmlmin": "4.0.0",
"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-uglify": "3.0.1",
"gulp-util": "3.0.8",
"hard-source-webpack-plugin": "0.12.0",
"highlight.js": "9.12.0",
"html-minifier": "3.5.19",
"http-signature": "1.2.0",
"insert-text-at-cursor": "0.1.1",
"is-root": "2.0.0",
"is-url": "1.2.4",
"js-yaml": "3.11.0",
"jsdom": "11.11.0",
"jquery": "3.3.1",
"js-yaml": "3.12.0",
"jsdom": "11.12.0",
"koa": "2.5.1",
"koa-bodyparser": "4.2.1",
"koa-compress": "3.0.0",
@@ -56,166 +143,91 @@
"koa-mount": "3.0.0",
"koa-multer": "1.0.2",
"koa-router": "7.4.0",
"koa-send": "4.1.3",
"koa-send": "5.0.0",
"koa-slow": "2.1.0",
"koa-views": "6.1.4",
"kue": "0.11.6",
"mongodb": "3.0.10",
"monk": "6.0.6",
"ms": "2.1.1",
"nopt": "4.0.1",
"os-utils": "0.0.14",
"parse5": "5.0.0",
"prominence": "0.2.0",
"promise-sequential": "1.1.1",
"punycode": "2.1.1",
"qrcode": "1.2.0",
"ratelimiter": "3.0.3",
"recaptcha-promise": "0.1.3",
"reconnecting-websocket": "3.2.2",
"redis": "2.8.0",
"request": "2.87.0",
"request-promise-native": "1.0.5",
"rndstr": "1.0.0",
"speakeasy": "2.0.0",
"summaly": "2.0.6",
"tcp-port-used": "0.1.2",
"tmp": "0.0.33",
"uuid": "3.2.1",
"web-push": "3.3.1",
"webfinger.js": "2.6.6",
"websocket": "1.0.26",
"ws": "5.2.0",
"xev": "2.0.1",
"@prezzemolo/zip": "0.0.3",
"@types/bcryptjs": "2.4.1",
"@types/debug": "0.0.30",
"@types/deep-equal": "1.0.1",
"@types/elasticsearch": "5.0.23",
"@types/gm": "1.18.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.5",
"@types/gulp-util": "3.0.34",
"@types/inquirer": "0.0.41",
"@types/is-root": "1.0.0",
"@types/is-url": "1.2.28",
"@types/js-yaml": "3.11.1",
"@types/koa": "2.0.45",
"@types/koa-bodyparser": "4.2.0",
"@types/koa-compress": "2.0.8",
"@types/koa-favicon": "2.0.19",
"@types/koa-logger": "3.1.0",
"@types/koa-mount": "3.0.1",
"@types/koa-multer": "1.0.0",
"@types/koa-router": "7.0.28",
"@types/koa-send": "4.1.1",
"@types/koa-views": "2.0.3",
"@types/koa__cors": "2.2.2",
"@types/kue": "0.11.8",
"@types/license-checker": "15.0.0",
"@types/mkdirp": "0.5.2",
"@types/mocha": "5.2.0",
"@types/mongodb": "3.0.18",
"@types/ms": "0.7.30",
"@types/node": "10.1.2",
"@types/nopt": "3.0.29",
"@types/parse5": "3.0.0",
"@types/pug": "2.0.4",
"@types/qrcode": "0.8.1",
"@types/ratelimiter": "2.1.28",
"@types/redis": "2.8.6",
"@types/request": "2.47.0",
"@types/request-promise-native": "1.0.14",
"@types/rimraf": "2.0.2",
"@types/seedrandom": "2.4.27",
"@types/single-line-log": "1.1.0",
"@types/speakeasy": "2.0.2",
"@types/tmp": "0.0.33",
"@types/uuid": "3.4.3",
"@types/webpack": "4.4.0",
"@types/webpack-stream": "3.2.10",
"@types/websocket": "0.0.39",
"@types/ws": "5.1.1",
"animejs": "2.2.0",
"autosize": "4.0.2",
"bootstrap-vue": "2.0.0-rc.6",
"css-loader": "0.28.11",
"deep-equal": "1.0.1",
"dompurify": "1.0.4",
"element-ui": "2.3.9",
"eslint": "4.19.1",
"eslint-plugin-vue": "4.5.0",
"eventemitter3": "3.1.0",
"exif-js": "2.3.0",
"file-loader": "1.1.11",
"fuckadblock": "3.2.1",
"gulp": "3.9.1",
"gulp-cssnano": "2.1.3",
"gulp-htmlmin": "4.0.0",
"gulp-imagemin": "4.1.0",
"gulp-mocha": "6.0.0",
"gulp-pug": "4.0.1",
"gulp-rename": "1.2.3",
"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-uglify": "3.0.0",
"gulp-util": "3.0.8",
"hard-source-webpack-plugin": "0.6.10",
"highlight.js": "9.12.0",
"html-minifier": "3.5.16",
"inquirer": "5.2.0",
"license-checker": "20.0.0",
"loader-utils": "1.1.0",
"lodash.assign": "4.2.0",
"mecab-async": "0.1.2",
"minio": "7.0.0",
"mkdirp": "0.5.1",
"mocha": "5.2.0",
"moji": "0.5.1",
"mongodb": "3.1.1",
"monk": "6.0.6",
"ms": "2.1.1",
"nan": "2.10.0",
"node-sass": "4.9.0",
"node-sass-json-importer": "3.2.0",
"node-sass": "4.9.3",
"node-sass-json-importer": "3.3.1",
"nprogress": "0.2.0",
"object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0",
"os-utils": "0.0.14",
"parse5": "5.1.0",
"portscanner": "2.2.0",
"progress-bar-webpack-plugin": "1.11.0",
"promise-sequential": "1.1.1",
"pug": "2.0.3",
"punycode": "2.1.1",
"qrcode": "1.2.2",
"ratelimiter": "3.2.0",
"recaptcha-promise": "0.1.3",
"reconnecting-websocket": "3.2.2",
"redis": "2.8.0",
"request": "2.88.0",
"request-promise-native": "1.0.5",
"rimraf": "2.6.2",
"rndstr": "1.0.0",
"s-age": "1.1.2",
"sass-loader": "7.0.1",
"seedrandom": "2.4.3",
"sass-loader": "7.1.0",
"seedrandom": "2.4.4",
"sharp": "0.20.5",
"showdown": "1.8.6",
"showdown-highlightjs-extension": "0.1.2",
"single-line-log": "1.1.2",
"style-loader": "0.21.0",
"speakeasy": "2.0.0",
"stringz": "1.0.0",
"style-loader": "0.22.1",
"stylus": "0.54.5",
"stylus-loader": "3.0.2",
"swagger-jsdoc": "1.9.7",
"summaly": "2.1.3",
"systeminformation": "3.42.9",
"syuilo-password-strength": "0.0.1",
"textarea-caret": "3.1.0",
"ts-loader": "4.3.0",
"ts-node": "6.0.4",
"tmp": "0.0.33",
"ts-loader": "4.4.1",
"ts-node": "7.0.1",
"tslint": "5.10.0",
"typescript": "2.8.3",
"typescript-eslint-parser": "15.0.0",
"typescript": "2.9.2",
"typescript-eslint-parser": "18.0.0",
"uglify-es": "3.3.9",
"url-loader": "1.0.1",
"url-loader": "1.1.0",
"uuid": "3.3.2",
"v-animate-css": "0.0.2",
"vue": "2.5.16",
"vue-cropperjs": "2.2.0",
"vue-js-modal": "1.3.13",
"vue": "2.5.17",
"vue-cropperjs": "2.2.1",
"vue-js-modal": "1.3.17",
"vue-json-tree-view": "2.1.4",
"vue-loader": "15.2.1",
"vue-loader": "15.3.0",
"vue-router": "3.0.1",
"vue-template-compiler": "2.5.16",
"vue-style-loader": "4.1.2",
"vue-template-compiler": "2.5.17",
"vuedraggable": "2.16.0",
"vuex": "3.0.1",
"vuex-persistedstate": "^2.5.4",
"webpack": "4.9.1",
"webpack-cli": "2.1.4"
"vuex-persistedstate": "2.5.4",
"web-push": "3.3.2",
"webfinger.js": "2.6.6",
"webpack": "4.16.5",
"webpack-cli": "3.1.0",
"websocket": "1.0.26",
"ws": "6.0.0",
"xev": "2.0.1"
},
"greenkeeper": {
"ignore": [
"deepcopy",
"cafy",
"@types/gulp"
]
}
}

View File

@@ -1,3 +0,0 @@
export default user => {
return user.host === null ? user.username : `${user.username}@${user.host}`;
};

View File

@@ -8,14 +8,14 @@ import VueRouter from 'vue-router';
import './style.styl';
import init from '../init';
import Index from './views/index.vue';
import * as config from '../config';
/**
* init
*/
init(launch => {
document.title = 'Misskey | アプリの連携';
document.title = `${config.name} | %i18n:common.application-authorization%`;
// Init router
const router = new VueRouter({

View File

@@ -1,8 +1,8 @@
<template>
<div class="form">
<header>
<h1><i>{{ app.name }}</i>があなたのアカウントにアクセスすることを<b>許可</b>しますか</h1>
<img :src="`${app.iconUrl}?thumbnail&size=64`"/>
<h1>%i18n:@share-access%</h1>
<img :src="app.iconUrl"/>
</header>
<div class="app">
<section>
@@ -11,25 +11,25 @@
<p class="description">{{ app.description }}</p>
</section>
<section>
<h2>このアプリは次の権限を要求しています:</h2>
<h2>%i18n:@permission-ask%</h2>
<ul>
<template v-for="p in app.permission">
<li v-if="p == 'account-read'">アカウントの情報を見る</li>
<li v-if="p == 'account-write'">アカウントの情報を操作する</li>
<li v-if="p == 'note-write'">投稿する</li>
<li v-if="p == 'like-write'">いいねしたりいいね解除する</li>
<li v-if="p == 'following-write'">フォローしたりフォロー解除する</li>
<li v-if="p == 'drive-read'">ドライブを見る</li>
<li v-if="p == 'drive-write'">ドライブを操作する</li>
<li v-if="p == 'notification-read'">通知を見る</li>
<li v-if="p == 'notification-write'">通知を操作する</li>
<li v-if="p == 'account-read'">%i18n:@account-read%</li>
<li v-if="p == 'account-write'">%i18n:@account-write%</li>
<li v-if="p == 'note-write'">%i18n:@note-write%</li>
<li v-if="p == 'like-write'">%i18n:@like-write%</li>
<li v-if="p == 'following-write'">%i18n:@following-write%</li>
<li v-if="p == 'drive-read'">%i18n:@drive-read%</li>
<li v-if="p == 'drive-write'">%i18n:@drive-write%</li>
<li v-if="p == 'notification-read'">%i18n:@notification-read%</li>
<li v-if="p == 'notification-write'">%i18n:@notification-write%</li>
</template>
</ul>
</section>
</div>
<div class="action">
<button @click="cancel">キャンセル</button>
<button @click="accept">アクセスを許可</button>
<button @click="cancel">%i18n:@cancel%</button>
<button @click="accept">%i18n:@accept%</button>
</div>
</div>
</template>

View File

@@ -1,7 +1,7 @@
<template>
<div class="index">
<main v-if="$store.getters.isSignedIn">
<p class="fetching" v-if="fetching">読み込み中<mk-ellipsis/></p>
<p class="fetching" v-if="fetching">%i18n:@loading%<mk-ellipsis/></p>
<x-form
class="form"
ref="form"
@@ -11,20 +11,20 @@
@accepted="accepted"
/>
<div class="denied" v-if="state == 'denied'">
<h1>アプリケーションの連携をキャンセルしました</h1>
<p>このアプリがあなたのアカウントにアクセスすることはありません</p>
<h1>%i18n:@denied%</h1>
<p>%i18n:@denied-paragraph%</p>
</div>
<div class="accepted" v-if="state == 'accepted'">
<h1>{{ session.app.isAuthorized ? 'このアプリは既に連携済みです' : 'アプリケーションの連携を許可しました' }}</h1>
<p v-if="session.app.callbackUrl">アプリケーションに戻っています<mk-ellipsis/></p>
<p v-if="!session.app.callbackUrl">アプリケーションに戻ってやっていってください</p>
<h1>{{ session.app.isAuthorized ? '%i18n:@already-authorized%' : '%i18n:@allowed%' }}</h1>
<p v-if="session.app.callbackUrl">%i18n:@callback-url%<mk-ellipsis/></p>
<p v-if="!session.app.callbackUrl">%i18n:@please-go-back%</p>
</div>
<div class="error" v-if="state == 'fetch-session-error'">
<p>セッションが存在しません</p>
<p>%i18n:@error%</p>
</div>
</main>
<main class="signin" v-if="!$store.getters.isSignedIn">
<h1>サインインしてください</h1>
<h1>%i18n:@sign-in%</h1>
<mk-signin/>
</main>
<footer><img src="/assets/auth/icon.svg" alt="Misskey"/></footer>

View File

@@ -1,16 +0,0 @@
export default function(note) {
if (note.text == null) return true;
let txt = note.text;
if (note.media) {
note.media.forEach(file => {
txt = txt.replace(file.url, '');
if (file.src) txt = txt.replace(file.src, '');
});
if (txt == '') return true;
}
return false;
}

View File

@@ -23,7 +23,10 @@ export default async function(mios: MiOS, force = false, silent = false) {
}
if (!silent) {
alert('%i18n:common.update-available%'.replace('{newer}', newer).replace('{current}', current));
mios.apis.dialog({
title: '%i18n:common.update-available-title%',
text: '%i18n:common.update-available%'.replace('{newer}', newer).replace('{current}', current)
});
}
return newer;

View File

@@ -1,6 +1,6 @@
import getNoteSummary from '../../../../renderers/get-note-summary';
import getReactionEmoji from '../../../../renderers/get-reaction-emoji';
import getUserName from '../../../../renderers/get-user-name';
import getNoteSummary from '../../../../misc/get-note-summary';
import getReactionEmoji from '../../../../misc/get-reaction-emoji';
import getUserName from '../../../../misc/get-user-name';
type Notification = {
title: string;
@@ -15,53 +15,59 @@ export default function(type, data): Notification {
switch (type) {
case 'drive_file_created':
return {
title: 'ファイルがアップロードされました',
title: '%i18n:common.notification.file-uploaded%',
body: data.name,
icon: data.url + '?thumbnail&size=64'
};
case 'mention':
return {
title: `${getUserName(data.user)}さんから:`,
body: getNoteSummary(data),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
case 'reply':
return {
title: `${getUserName(data.user)}さんから返信:`,
body: getNoteSummary(data),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
case 'quote':
return {
title: `${getUserName(data.user)}さんが引用:`,
body: getNoteSummary(data),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
case 'reaction':
return {
title: `${getUserName(data.user)}: ${getReactionEmoji(data.reaction)}:`,
body: getNoteSummary(data.note),
icon: data.user.avatarUrl + '?thumbnail&size=64'
icon: data.url
};
case 'unread_messaging_message':
return {
title: `${getUserName(data.user)}さんからメッセージ:`,
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 + '?thumbnail&size=64'
icon: data.user.avatarUrl
};
case 'othello_invited':
case 'reversi_invited':
return {
title: '対局への招待があります',
body: `${getUserName(data.parent)}さんから`,
icon: data.parent.avatarUrl + '?thumbnail&size=64'
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],
icon: data.parent.avatarUrl
};
case '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],
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],
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],
body: getNoteSummary(data),
icon: data.user.avatarUrl
};
case 'reaction':
return {
title: `${getUserName(data.user)}: ${getReactionEmoji(data.reaction)}:`,
body: getNoteSummary(data.note),
icon: data.user.avatarUrl
};
default:
return null;
}
default:
return null;
}

View File

@@ -1,13 +0,0 @@
export default date => {
if (typeof date == 'string') date = new Date(date);
return (
date.getFullYear() + '年' +
(date.getMonth() + 1) + '月' +
date.getDate() + '日' +
' ' +
date.getHours() + '時' +
date.getMinutes() + '分' +
' ' +
`(${['日', '月', '火', '水', '木', '金', '土'][date.getDay()]})`
);
};

View File

@@ -5,8 +5,8 @@ declare const fuckAdBlock: any;
export default (os) => {
function adBlockDetected() {
os.apis.dialog({
title: '%fa:exclamation-triangle%広告ブロッカーを無効にしてください',
text: '<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。',
title: '%fa:exclamation-triangle%%i18n:common.adblock.detected%',
text: '%i18n:common.adblock.warning%',
actins: [{
text: 'OK'
}]

View File

@@ -1,5 +1,9 @@
export default () => [
const kaos = [
'(=^・・^=)',
'v(‘ω’)v',
'🐡( \'-\' 🐡 )フグパンチ!!!!'
][Math.floor(Math.random() * 3)];
'v(\'ω\')v',
'🐡( \'-\' 🐡 )フグパンチ!!!!',
'🖕(´・_・`)🖕',
'(。><。)'
];
export default () => kaos[Math.floor(Math.random() * kaos.length)];

View File

@@ -0,0 +1,11 @@
import Stream from '../../stream';
import MiOS from '../../../../../mios';
export class ReversiGameStream extends Stream {
constructor(os: MiOS, me, game) {
super(os, 'games/reversi-game', {
i: me ? me.token : null,
game: game.id
});
}
}

View File

@@ -0,0 +1,31 @@
import StreamManager from '../../stream-manager';
import Stream from '../../stream';
import MiOS from '../../../../../mios';
export class ReversiStream extends Stream {
constructor(os: MiOS, me) {
super(os, 'games/reversi', {
i: me.token
});
}
}
export class ReversiStreamManager extends StreamManager<ReversiStream> {
private me;
private os: MiOS;
constructor(os: MiOS, me) {
super();
this.me = me;
this.os = os;
}
public getConnection() {
if (this.connection == null) {
this.connection = new ReversiStream(this.os, this.me);
}
return this.connection;
}
}

View File

@@ -1,16 +1,19 @@
import StreamManager from './stream-manager';
import Stream from './stream';
import StreamManager from './stream-manager';
import MiOS from '../../../mios';
export class OthelloStream extends Stream {
/**
* Hybrid timeline stream connection
*/
export class HybridTimelineStream extends Stream {
constructor(os: MiOS, me) {
super(os, 'othello', {
super(os, 'hybrid-timeline', {
i: me.token
});
}
}
export class OthelloStreamManager extends StreamManager<OthelloStream> {
export class HybridTimelineStreamManager extends StreamManager<HybridTimelineStream> {
private me;
private os: MiOS;
@@ -23,7 +26,7 @@ export class OthelloStreamManager extends StreamManager<OthelloStream> {
public getConnection() {
if (this.connection == null) {
this.connection = new OthelloStream(this.os, this.me);
this.connection = new HybridTimelineStream(this.os, this.me);
}
return this.connection;

View File

@@ -1,11 +0,0 @@
import Stream from './stream';
import MiOS from '../../../mios';
export class OthelloGameStream extends Stream {
constructor(os: MiOS, me, game) {
super(os, 'othello-game', {
i: me ? me.token : null,
game: game.id
});
}
}

View File

@@ -39,13 +39,17 @@ export default Vue.extend({
dark: {
type: Boolean,
default: false
},
smooth: {
type: Boolean,
default: false
}
},
data() {
return {
now: new Date(),
clock: null,
enabled: true,
graduationsPadding: 0.5,
handsPadding: 1,
@@ -74,6 +78,9 @@ export default Vue.extend({
return themeColor;
},
ms(): number {
return this.now.getMilliseconds() * this.smooth;
}
s(): number {
return this.now.getSeconds();
},
@@ -85,13 +92,13 @@ export default Vue.extend({
},
hAngle(): number {
return Math.PI * (this.h % 12 + this.m / 60) / 6;
return Math.PI * (this.h % 12 + (this.m + (this.s + this.ms / 1000) / 60) / 60) / 6;
},
mAngle(): number {
return Math.PI * (this.m + this.s / 60) / 30;
return Math.PI * (this.m + (this.s + this.ms / 1000) / 60) / 30;
},
sAngle(): number {
return Math.PI * this.s / 30;
return Math.PI * (this.s + this.ms / 1000) / 30;
},
graduations(): any {
@@ -106,11 +113,17 @@ export default Vue.extend({
},
mounted() {
this.clock = setInterval(this.tick, 1000);
const update = () => {
if (this.enabled) {
this.tick();
requestAnimationFrame(update);
}
};
update();
},
beforeDestroy() {
clearInterval(this.clock);
this.enabled = false;
},
methods: {

View File

@@ -2,11 +2,16 @@
<div class="mk-autocomplete" @contextmenu.prevent="() => {}">
<ol class="users" ref="suggests" v-if="users.length > 0">
<li v-for="user in users" @click="complete(type, user)" @keydown="onKeydown" tabindex="-1">
<img class="avatar" :src="`${user.avatarUrl}?thumbnail&size=32`" alt=""/>
<img class="avatar" :src="user.avatarUrl" alt=""/>
<span class="name">{{ user | userName }}</span>
<span class="username">@{{ user | acct }}</span>
</li>
</ol>
<ol class="hashtags" ref="suggests" v-if="hashtags.length > 0">
<li v-for="hashtag in hashtags" @click="complete(type, hashtag)" @keydown="onKeydown" tabindex="-1">
<span class="name">{{ hashtag }}</span>
</li>
</ol>
<ol class="emojis" ref="suggests" v-if="emojis.length > 0">
<li v-for="emoji in emojis" @click="complete(type, emoji.emoji)" @keydown="onKeydown" tabindex="-1">
<span class="emoji">{{ emoji.emoji }}</span>
@@ -48,33 +53,33 @@ emjdb.sort((a, b) => a.name.length - b.name.length);
export default Vue.extend({
props: ['type', 'q', 'textarea', 'complete', 'close', 'x', 'y'],
data() {
return {
fetching: true,
users: [],
hashtags: [],
emojis: [],
select: -1,
emojilib
}
},
computed: {
items(): HTMLCollection {
return (this.$refs.suggests as Element).children;
}
},
updated() {
//#region 位置調整
const margin = 32;
if (this.x + this.$el.offsetWidth > window.innerWidth - margin) {
this.$el.style.left = (this.x - this.$el.offsetWidth) + 'px';
this.$el.style.marginLeft = '-16px';
if (this.x + this.$el.offsetWidth > window.innerWidth) {
this.$el.style.left = (window.innerWidth - this.$el.offsetWidth) + 'px';
} else {
this.$el.style.left = this.x + 'px';
this.$el.style.marginLeft = '0';
}
if (this.y + this.$el.offsetHeight > window.innerHeight - margin) {
if (this.y + this.$el.offsetHeight > window.innerHeight) {
this.$el.style.top = (this.y - this.$el.offsetHeight) + 'px';
this.$el.style.marginTop = '0';
} else {
@@ -83,6 +88,7 @@ export default Vue.extend({
}
//#endregion
},
mounted() {
this.textarea.addEventListener('keydown', this.onKeydown);
@@ -100,6 +106,7 @@ export default Vue.extend({
});
});
},
beforeDestroy() {
this.textarea.removeEventListener('keydown', this.onKeydown);
@@ -107,6 +114,7 @@ export default Vue.extend({
el.removeEventListener('mousedown', this.onMousedown);
});
},
methods: {
exec() {
this.select = -1;
@@ -117,13 +125,14 @@ export default Vue.extend({
}
if (this.type == 'user') {
const cache = sessionStorage.getItem(this.q);
const cacheKey = 'autocomplete:user:' + this.q;
const cache = sessionStorage.getItem(cacheKey);
if (cache) {
const users = JSON.parse(cache);
this.users = users;
this.fetching = false;
} else {
(this as any).api('users/search_by_username', {
(this as any).api('users/search', {
query: this.q,
limit: 30
}).then(users => {
@@ -131,9 +140,33 @@ export default Vue.extend({
this.fetching = false;
// キャッシュ
sessionStorage.setItem(this.q, JSON.stringify(users));
sessionStorage.setItem(cacheKey, JSON.stringify(users));
});
}
} else if (this.type == 'hashtag') {
if (this.q == null || this.q == '') {
this.hashtags = JSON.parse(localStorage.getItem('hashtags') || '[]');
this.fetching = false;
} else {
const cacheKey = 'autocomplete:hashtag:' + this.q;
const cache = sessionStorage.getItem(cacheKey);
if (cache) {
const hashtags = JSON.parse(cache);
this.hashtags = hashtags;
this.fetching = false;
} else {
(this as any).api('hashtags/search', {
query: this.q,
limit: 30
}).then(hashtags => {
this.hashtags = hashtags;
this.fetching = false;
// キャッシュ
sessionStorage.setItem(cacheKey, JSON.stringify(hashtags));
});
}
}
} else if (this.type == 'emoji') {
const matched = [];
emjdb.some(x => {
@@ -228,12 +261,13 @@ export default Vue.extend({
<style lang="stylus" scoped>
@import '~const.styl'
.mk-autocomplete
root(isDark)
position fixed
z-index 65535
max-width 100%
margin-top calc(1em + 8px)
overflow hidden
background #fff
background isDark ? #313543 : #fff
border solid 1px rgba(#000, 0.1)
border-radius 4px
transition top 0.1s ease, left 0.1s ease
@@ -248,7 +282,8 @@ export default Vue.extend({
list-style none
> li
display block
display flex
align-items center
padding 4px 12px
white-space nowrap
overflow hidden
@@ -259,7 +294,13 @@ export default Vue.extend({
&, *
user-select none
*
overflow hidden
text-overflow ellipsis
&:hover
background isDark ? rgba(#fff, 0.1) : rgba(#000, 0.1)
&[data-selected='true']
background $theme-color
@@ -275,7 +316,6 @@ export default Vue.extend({
> .users > li
.avatar
vertical-align middle
min-width 28px
min-height 28px
max-width 28px
@@ -285,10 +325,15 @@ export default Vue.extend({
.name
margin 0 8px 0 0
color rgba(#000, 0.8)
color isDark ? rgba(#fff, 0.8) : rgba(#000, 0.8)
.username
color rgba(#000, 0.3)
color isDark ? rgba(#fff, 0.3) : rgba(#000, 0.3)
> .hashtags > li
.name
color isDark ? rgba(#fff, 0.8) : rgba(#000, 0.8)
> .emojis > li
@@ -298,10 +343,15 @@ export default Vue.extend({
width 24px
.name
color rgba(#000, 0.8)
color isDark ? rgba(#fff, 0.8) : rgba(#000, 0.8)
.alias
margin 0 0 0 8px
color rgba(#000, 0.3)
color isDark ? rgba(#fff, 0.3) : rgba(#000, 0.3)
.mk-autocomplete[data-darkmode]
root(true)
.mk-autocomplete:not([data-darkmode])
root(false)
</style>

View File

@@ -1,6 +1,16 @@
<template>
<router-link class="mk-avatar" :to="user | userPage" :title="user | acct" :target="target" :style="style" v-if="disablePreview"></router-link>
<router-link class="mk-avatar" :to="user | userPage" :title="user | acct" :target="target" :style="style" v-else v-user-preview="user.id"></router-link>
<span class="mk-avatar" :class="{ cat }" :title="user | acct" v-if="disableLink && !disablePreview" v-user-preview="user.id" @click="onClick">
<span class="inner" :style="style"></span>
</span>
<span class="mk-avatar" :class="{ cat }" :title="user | acct" v-else-if="disableLink && disablePreview" @click="onClick">
<span class="inner" :style="style"></span>
</span>
<router-link class="mk-avatar" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && !disablePreview" v-user-preview="user.id">
<span class="inner" :style="style"></span>
</router-link>
<router-link class="mk-avatar" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && disablePreview">
<span class="inner" :style="style"></span>
</router-link>
</template>
<script lang="ts">
@@ -15,6 +25,10 @@ export default Vue.extend({
required: false,
default: null
},
disableLink: {
required: false,
default: false
},
disablePreview: {
required: false,
default: false
@@ -24,26 +38,71 @@ export default Vue.extend({
lightmode(): boolean {
return this.$store.state.device.lightmode;
},
cat(): boolean {
return this.user.isCat && this.$store.state.settings.circleIcons;
},
style(): any {
return {
backgroundColor: this.lightmode
? `rgb(${ this.user.avatarColor.slice(0, 3).join(',') })`
? `rgb(${this.user.avatarColor.slice(0, 3).join(',')})`
: this.user.avatarColor && this.user.avatarColor.length == 3
? `rgb(${ this.user.avatarColor.join(',') })`
? `rgb(${this.user.avatarColor.join(',')})`
: null,
backgroundImage: this.lightmode ? null : `url(${ this.user.avatarUrl }?thumbnail)`,
backgroundImage: this.lightmode ? null : `url(${this.user.avatarUrl})`,
borderRadius: this.$store.state.settings.circleIcons ? '100%' : null
};
}
},
methods: {
onClick(e) {
this.$emit('click', e);
}
}
});
</script>
<style lang="stylus" scoped>
.mk-avatar
root(isDark)
display inline-block
vertical-align bottom
background-size cover
background-position center center
transition border-radius 1s ease
&:not(.cat)
overflow hidden
border-radius 8px
&.cat::before,
&.cat::after
background #df548f
border solid 4px isDark ? #e0eefd : #202224
box-sizing border-box
content ''
display inline-block
height 50%
width 50%
&.cat::before
border-radius 0 75% 75%
transform rotate(37.5deg) skew(30deg)
&.cat::after
border-radius 75% 0 75% 75%
transform rotate(-37.5deg) skew(-30deg)
.inner
background-position center center
background-size cover
bottom 0
left 0
position absolute
right 0
top 0
transition border-radius 1s ease
z-index 1
.mk-avatar[data-darkmode]
root(true)
.mk-avatar:not([data-darkmode])
root(false)
</style>

View File

@@ -0,0 +1,462 @@
<template>
<div class="xqnhankfuuilcwvhgsopeqncafzsquya">
<button class="go-index" v-if="selfNav" @click="goIndex">%fa:arrow-left%</button>
<header><b><router-link :to="blackUser | userPage">{{ blackUser | userName }}</router-link></b>(%i18n:common.reversi.black%) vs <b><router-link :to="whiteUser | userPage">{{ whiteUser | userName }}</router-link></b>(%i18n:common.reversi.white%)</header>
<div style="overflow: hidden; line-height: 28px;">
<p class="turn" v-if="!iAmPlayer && !game.isEnded">{{ '%i18n:common.reversi.turn-of%'.replace('{}', $options.filters.userName(turnUser)) }}<mk-ellipsis/></p>
<p class="turn" v-if="logPos != logs.length">{{ '%i18n:common.reversi.past-turn-of%'.replace('{}', $options.filters.userName(turnUser)) }}</p>
<p class="turn1" v-if="iAmPlayer && !game.isEnded && !isMyTurn">%i18n:common.reversi.opponent-turn%<mk-ellipsis/></p>
<p class="turn2" v-if="iAmPlayer && !game.isEnded && isMyTurn" v-animate-css="{ classes: 'tada', iteration: 'infinite' }">%i18n:common.reversi.my-turn%</p>
<p class="result" v-if="game.isEnded && logPos == logs.length">
<template v-if="game.winner">
<span>{{ '%i18n:common.reversi.won%'.replace('{}', $options.filters.userName(game.winner)) }}</span>
<span v-if="game.surrendered != null"> (%i18n:@surrendered%)</span>
</template>
<template v-else>%i18n:common.reversi.drawn%</template>
</p>
</div>
<div class="board">
<div class="labels-x" v-if="this.$store.state.settings.reversiBoardLabels">
<span v-for="i in game.settings.map[0].length">{{ String.fromCharCode(64 + i) }}</span>
</div>
<div class="flex">
<div class="labels-y" v-if="this.$store.state.settings.reversiBoardLabels">
<div v-for="i in game.settings.map.length">{{ i }}</div>
</div>
<div class="cells" :style="cellsStyle">
<div v-for="(stone, i) in o.board"
: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}`">
<img v-if="stone === true" :src="blackUser.avatarUrl" alt="">
<img v-if="stone === false" :src="whiteUser.avatarUrl" alt="">
</div>
</div>
<div class="labels-y" v-if="this.$store.state.settings.reversiBoardLabels">
<div v-for="i in game.settings.map.length">{{ i }}</div>
</div>
</div>
<div class="labels-x" v-if="this.$store.state.settings.reversiBoardLabels">
<span v-for="i in game.settings.map[0].length">{{ String.fromCharCode(64 + i) }}</span>
</div>
</div>
<p class="status"><b>{{ '%i18n:common.reversi.this-turn%'.split('{}')[0] }}{{ logPos }}{{ '%i18n:common.reversi.this-turn%'.split('{}')[1] }}</b> %i18n:common.reversi.black%:{{ o.blackCount }} %i18n:common.reversi.white%:{{ o.whiteCount }} %i18n:common.reversi.total%:{{ o.blackCount + o.whiteCount }}</p>
<div class="actions" v-if="!game.isEnded && iAmPlayer">
<form-button @click="surrender">%i18n:@surrender%</form-button>
</div>
<div class="player" v-if="game.isEnded">
<el-button-group>
<el-button type="primary" @click="logPos = 0" :disabled="logPos == 0">%fa:angle-double-left%</el-button>
<el-button type="primary" @click="logPos--" :disabled="logPos == 0">%fa:angle-left%</el-button>
</el-button-group>
<span>{{ logPos }} / {{ logs.length }}</span>
<el-button-group>
<el-button type="primary" @click="logPos++" :disabled="logPos == logs.length">%fa:angle-right%</el-button>
<el-button type="primary" @click="logPos = logs.length" :disabled="logPos == logs.length">%fa:angle-double-right%</el-button>
</el-button-group>
</div>
<div class="info">
<p v-if="game.settings.isLlotheo">%i18n:@is-llotheo%</p>
<p v-if="game.settings.loopedBoard">%i18n:@looped-map%</p>
<p v-if="game.settings.canPutEverywhere">%i18n:@can-put-everywhere%</p>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import * as CRC32 from 'crc-32';
import Reversi, { Color } from '../../../../../../../games/reversi/core';
import { url } from '../../../../../config';
export default Vue.extend({
props: {
initGame: {
type: Object,
require: true
},
connection: {
type: Object,
require: true
},
selfNav: {
type: Boolean,
require: true
}
},
data() {
return {
game: null,
o: null as Reversi,
logs: [],
logPos: 0,
pollingClock: null
};
},
computed: {
iAmPlayer(): boolean {
if (!this.$store.getters.isSignedIn) return false;
return this.game.user1Id == this.$store.state.i.id || this.game.user2Id == this.$store.state.i.id;
},
myColor(): Color {
if (!this.iAmPlayer) return null;
if (this.game.user1Id == this.$store.state.i.id && this.game.black == 1) return true;
if (this.game.user2Id == this.$store.state.i.id && this.game.black == 2) return true;
return false;
},
opColor(): Color {
if (!this.iAmPlayer) return null;
return this.myColor === true ? false : true;
},
blackUser(): any {
return this.game.black == 1 ? this.game.user1 : this.game.user2;
},
whiteUser(): any {
return this.game.black == 1 ? this.game.user2 : this.game.user1;
},
turnUser(): any {
if (this.o.turn === true) {
return this.game.black == 1 ? this.game.user1 : this.game.user2;
} else if (this.o.turn === false) {
return this.game.black == 1 ? this.game.user2 : this.game.user1;
} else {
return null;
}
},
isMyTurn(): boolean {
if (!this.iAmPlayer) return false;
if (this.turnUser == null) return false;
return this.turnUser.id == this.$store.state.i.id;
},
cellsStyle(): any {
return {
'grid-template-rows': `repeat(${this.game.settings.map.length}, 1fr)`,
'grid-template-columns': `repeat(${this.game.settings.map[0].length}, 1fr)`
};
}
},
watch: {
logPos(v) {
if (!this.game.isEnded) return;
this.o = new Reversi(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
});
this.logs.forEach((log, i) => {
if (i < v) {
this.o.put(log.color, log.pos);
}
});
this.$forceUpdate();
}
},
created() {
this.game = this.initGame;
this.o = new Reversi(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
});
this.game.logs.forEach(log => {
this.o.put(log.color, log.pos);
});
this.logs = this.game.logs;
this.logPos = this.logs.length;
// 通信を取りこぼしてもいいように定期的にポーリングさせる
if (this.game.isStarted && !this.game.isEnded) {
this.pollingClock = setInterval(() => {
const crc32 = CRC32.str(this.logs.map(x => x.pos.toString()).join(''));
this.connection.send({
type: 'check',
crc32
});
}, 3000);
}
},
mounted() {
this.connection.on('set', this.onSet);
this.connection.on('rescue', this.onRescue);
this.connection.on('ended', this.onEnded);
},
beforeDestroy() {
this.connection.off('set', this.onSet);
this.connection.off('rescue', this.onRescue);
this.connection.off('ended', this.onEnded);
clearInterval(this.pollingClock);
},
methods: {
set(pos) {
if (this.game.isEnded) return;
if (!this.iAmPlayer) return;
if (!this.isMyTurn) return;
if (!this.o.canPut(this.myColor, pos)) return;
this.o.put(this.myColor, pos);
// サウンドを再生する
if (this.$store.state.device.enableSounds) {
const sound = new Audio(`${url}/assets/reversi-put-me.mp3`);
sound.volume = this.$store.state.device.soundVolume;
sound.play();
}
this.connection.send({
type: 'set',
pos
});
this.checkEnd();
this.$forceUpdate();
},
onSet(x) {
this.logs.push(x);
this.logPos++;
this.o.put(x.color, x.pos);
this.checkEnd();
this.$forceUpdate();
// サウンドを再生する
if (this.$store.state.device.enableSounds && x.color != this.myColor) {
const sound = new Audio(`${url}/assets/reversi-put-you.mp3`);
sound.volume = this.$store.state.device.soundVolume;
sound.play();
}
},
onEnded(x) {
this.game = x.game;
},
checkEnd() {
this.game.isEnded = this.o.isEnded;
if (this.game.isEnded) {
if (this.o.winner === true) {
this.game.winnerId = this.game.black == 1 ? this.game.user1Id : this.game.user2Id;
this.game.winner = this.game.black == 1 ? this.game.user1 : this.game.user2;
} else if (this.o.winner === false) {
this.game.winnerId = this.game.black == 1 ? this.game.user2Id : this.game.user1Id;
this.game.winner = this.game.black == 1 ? this.game.user2 : this.game.user1;
} else {
this.game.winnerId = null;
this.game.winner = null;
}
}
},
// 正しいゲーム情報が送られてきたとき
onRescue(game) {
this.game = game;
this.o = new Reversi(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
});
this.game.logs.forEach(log => {
this.o.put(log.color, log.pos, true);
});
this.logs = this.game.logs;
this.logPos = this.logs.length;
this.checkEnd();
this.$forceUpdate();
},
surrender() {
(this as any).api('games/reversi/games/surrender', {
gameId: this.game.id
});
},
goIndex() {
this.$emit('go-index');
}
}
});
</script>
<style lang="stylus" scoped>
@import '~const.styl'
root(isDark)
text-align center
> .go-index
position absolute
top 0
left 0
z-index 1
width 42px
height 42px
> header
padding 8px
border-bottom dashed 1px isDark ? #4c5761 : #c4cdd4
a
color inherit
> .board
width calc(100% - 16px)
max-width 500px
margin 0 auto
$label-size = 16px
$gap = 4px
> .labels-x
height $label-size
padding 0 $label-size
display flex
> *
flex 1
display flex
align-items center
justify-content center
font-size 12px
&:first-child
margin-left -($gap / 2)
&:last-child
margin-right -($gap / 2)
> .flex
display flex
> .labels-y
width $label-size
display flex
flex-direction column
> *
flex 1
display flex
align-items center
justify-content center
font-size 12px
&:first-child
margin-top -($gap / 2)
&:last-child
margin-bottom -($gap / 2)
> .cells
flex 1
display grid
grid-gap $gap
> div
background transparent
border-radius 6px
overflow hidden
*
pointer-events none
user-select none
&.empty
border solid 2px isDark ? #51595f : #eee
&.empty.can
background isDark ? #51595f : #eee
&.empty.myTurn
border-color isDark ? #6a767f : #ddd
&.can
background isDark ? #51595f : #eee
cursor pointer
&:hover
border-color darken($theme-color, 10%)
background $theme-color
&:active
background darken($theme-color, 10%)
&.prev
box-shadow 0 0 0 4px rgba($theme-color, 0.7)
&.isEnded
border-color isDark ? #6a767f : #ddd
&.none
border-color transparent !important
> img
display block
width 100%
height 100%
> .graph
display grid
grid-template-columns repeat(61, 1fr)
width 300px
height 38px
margin 0 auto 16px auto
> div
&:not(:empty)
background #ccc
> div:first-child
background #333
> div:last-child
background #ccc
> .status
margin 0
padding 16px 0
> .actions
padding-bottom 16px
> .player
padding-bottom 32px
> span
display inline-block
margin 0 8px
min-width 70px
.xqnhankfuuilcwvhgsopeqncafzsquya[data-darkmode]
root(true)
.xqnhankfuuilcwvhgsopeqncafzsquya:not([data-darkmode])
root(false)
</style>

View File

@@ -1,22 +1,31 @@
<template>
<div>
<x-room v-if="!g.isStarted" :game="g" :connection="connection"/>
<x-game v-else :init-game="g" :connection="connection"/>
<x-game v-else :init-game="g" :connection="connection" :self-nav="selfNav" @go-index="goIndex"/>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import XGame from './othello.game.vue';
import XRoom from './othello.room.vue';
import { OthelloGameStream } from '../../scripts/streaming/othello-game';
import XGame from './reversi.game.vue';
import XRoom from './reversi.room.vue';
import { ReversiGameStream } from '../../../../scripts/streaming/games/reversi/reversi-game';
export default Vue.extend({
components: {
XGame,
XRoom
},
props: ['game'],
props: {
game: {
type: Object,
required: true
},
selfNav: {
type: Boolean,
require: true
}
},
data() {
return {
connection: null,
@@ -25,7 +34,7 @@ export default Vue.extend({
},
created() {
this.g = this.game;
this.connection = new OthelloGameStream((this as any).os, this.$store.state.i, this.game);
this.connection = new ReversiGameStream((this as any).os, this.$store.state.i, this.game);
this.connection.on('started', this.onStarted);
},
beforeDestroy() {
@@ -36,6 +45,9 @@ export default Vue.extend({
onStarted(game) {
Object.assign(this.g, game);
this.$forceUpdate();
},
goIndex() {
this.$emit('go-index');
}
}
});

View File

@@ -0,0 +1,254 @@
<template>
<div class="phgnkghfpyvkrvwiajkiuoxyrdaqpzcx">
<h1>%i18n:@title%</h1>
<p>%i18n:@sub-title%</p>
<div class="play">
<!--<el-button round>フリーマッチ(準備中)</el-button>-->
<form-button primary round @click="match">%i18n:@invite%</form-button>
<details>
<summary>%i18n:@rule%</summary>
<div>
<p>%i18n:@rule-desc%</p>
<dl>
<dt><b>%i18n:@mode-invite%</b></dt>
<dd>%i18n:@mode-invite-desc%</dd>
</dl>
</div>
</details>
</div>
<section v-if="invitations.length > 0">
<h2>%i18n:@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="username">@{{ i.parent.username }}</span>
<mk-time :time="i.createdAt"/>
</div>
</section>
<section v-if="myGames.length > 0">
<h2>%i18n:@my-games%</h2>
<a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/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 class="state">{{ g.isEnded ? '%i18n:@game-state.ended%' : '%i18n:@game-state.playing%' }}</span>
</a>
</section>
<section v-if="games.length > 0">
<h2>%i18n:@all-games%</h2>
<a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/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 class="state">{{ g.isEnded ? '%i18n:@game-state.ended%' : '%i18n:@game-state.playing%' }}</span>
</a>
</section>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
data() {
return {
games: [],
gamesFetching: true,
gamesMoreFetching: false,
myGames: [],
matching: null,
invitations: [],
connection: null,
connectionId: null
};
},
mounted() {
if (this.$store.getters.isSignedIn) {
this.connection = (this as any).os.streams.reversiStream.getConnection();
this.connectionId = (this as any).os.streams.reversiStream.use();
this.connection.on('invited', this.onInvited);
(this as any).api('games/reversi/games', {
my: true
}).then(games => {
this.myGames = games;
});
(this as any).api('games/reversi/invitations').then(invitations => {
this.invitations = this.invitations.concat(invitations);
});
}
(this as any).api('games/reversi/games').then(games => {
this.games = games;
this.gamesFetching = false;
});
},
beforeDestroy() {
if (this.connection) {
this.connection.off('invited', this.onInvited);
(this as any).os.streams.reversiStream.dispose(this.connectionId);
}
},
methods: {
go(game) {
this.$emit('go', game);
},
match() {
(this as any).apis.input({
title: '%i18n:@enter-username%'
}).then(username => {
(this as any).api('users/show', {
username
}).then(user => {
(this as any).api('games/reversi/match', {
userId: user.id
}).then(res => {
if (res == null) {
this.$emit('matching', user);
} else {
this.$emit('go', res);
}
});
});
});
},
accept(invitation) {
(this as any).api('games/reversi/match', {
userId: invitation.parent.id
}).then(game => {
if (game) {
this.$emit('go', game);
}
});
},
onInvited(invite) {
this.invitations.unshift(invite);
}
}
});
</script>
<style lang="stylus" scoped>
@import '~const.styl'
root(isDark)
> h1
margin 0
padding 24px
font-size 24px
text-align center
font-weight normal
color #fff
background linear-gradient(to bottom, isDark ? #45730e : #8bca3e, isDark ? #464300 : #d6cf31)
& + p
margin 0
padding 12px
margin-bottom 12px
text-align center
font-size 14px
border-bottom solid 1px isDark ? #535f65 : #d3d9dc
> .play
margin 0 auto
padding 0 16px
max-width 500px
text-align center
> details
margin 8px 0
> div
padding 16px
font-size 14px
text-align left
background isDark ? #282c37 : #f5f5f5
border-radius 8px
> section
margin 0 auto
padding 0 16px 16px 16px
max-width 500px
border-top solid 1px isDark ? #535f65 : #d3d9dc
> h2
margin 0
padding 16px 0 8px 0
font-size 16px
font-weight bold
.invitation
margin 8px 0
padding 8px
color isDark ? #fff : #677f84
background isDark ? #282c37 : #fff
box-shadow 0 2px 16px rgba(#000, isDark ? 0.7 : 0.15)
border-radius 6px
cursor pointer
*
pointer-events none
user-select none
&:focus
border-color $theme-color
&:hover
background isDark ? #313543 : #f5f5f5
&:active
background isDark ? #1e222b : #eee
> .avatar
width 32px
height 32px
border-radius 100%
> span
margin 0 8px
line-height 32px
.game
display block
margin 8px 0
padding 8px
color isDark ? #fff : #677f84
background isDark ? #282c37 : #fff
box-shadow 0 2px 16px rgba(#000, isDark ? 0.7 : 0.15)
border-radius 6px
cursor pointer
*
pointer-events none
user-select none
&:hover
background isDark ? #313543 : #f5f5f5
&:active
background isDark ? #1e222b : #eee
> .avatar
width 32px
height 32px
border-radius 100%
> span
margin 0 8px
line-height 32px
.phgnkghfpyvkrvwiajkiuoxyrdaqpzcx[data-darkmode]
root(true)
.phgnkghfpyvkrvwiajkiuoxyrdaqpzcx:not([data-darkmode])
root(false)
</style>

View File

@@ -0,0 +1,367 @@
<template>
<div class="urbixznjwwuukfsckrwzwsqzsxornqij">
<header><b>{{ game.user1 | userName }}</b> vs <b>{{ game.user2 | userName }}</b></header>
<div>
<p>%i18n:@settings-of-the-game%</p>
<div class="card map">
<header>
<select v-model="mapName" placeholder="%i18n:@choose-map%" @change="onMapChange">
<option label="-Custom-" :value="mapName" v-if="mapName == '-Custom-'"/>
<option label="%i18n:@random%" :value="null"/>
<optgroup v-for="c in mapCategories" :key="c" :label="c">
<option v-for="m in maps" v-if="m.category == c" :key="m.name" :label="m.name" :value="m.name">{{ m.name }}</option>
</optgroup>
</select>
</header>
<div>
<div class="random" v-if="game.settings.map == null">%fa:dice%</div>
<div class="board" v-else :style="{ 'grid-template-rows': `repeat(${ game.settings.map.length }, 1fr)`, 'grid-template-columns': `repeat(${ game.settings.map[0].length }, 1fr)` }">
<div v-for="(x, i) in game.settings.map.join('')"
:data-none="x == ' '"
@click="onPixelClick(i, x)">
<template v-if="x == 'b'"><template v-if="$store.state.device.darkmode">%fa:circle R%</template><template v-else>%fa:circle%</template></template>
<template v-if="x == 'w'"><template v-if="$store.state.device.darkmode">%fa:circle%</template><template v-else>%fa:circle R%</template></template>
</div>
</div>
</div>
</div>
<div class="card">
<header>
<span>%i18n:@black-or-white%</span>
</header>
<div>
<form-radio v-model="game.settings.bw" value="random" @change="updateSettings">%i18n:@random%</form-radio>
<form-radio v-model="game.settings.bw" :value="1" @change="updateSettings">{{ '%i18n:@black-is%'.split('{}')[0] }}<b>{{ game.user1 | userName }}</b>{{ '%i18n:@black-is%'.split('{}')[1] }}</form-radio>
<form-radio v-model="game.settings.bw" :value="2" @change="updateSettings">{{ '%i18n:@black-is%'.split('{}')[0] }}<b>{{ game.user2 | userName }}</b>{{ '%i18n:@black-is%'.split('{}')[1] }}</form-radio>
</div>
</div>
<div class="card">
<header>
<span>%i18n:@rules%</span>
</header>
<div>
<mk-switch v-model="game.settings.isLlotheo" @change="updateSettings" text="%i18n:@is-llotheo%"/>
<mk-switch v-model="game.settings.loopedBoard" @change="updateSettings" text="%i18n:@looped-map%"/>
<mk-switch v-model="game.settings.canPutEverywhere" @change="updateSettings" text="%i18n:@can-put-everywhere%"/>
</div>
</div>
<div class="card form" v-if="form">
<header>
<span>%i18n:@settings-of-the-bot%</span>
</header>
<div>
<el-alert v-for="message in messages"
:title="message.text"
:type="message.type"
:key="message.id"/>
<template v-for="item in form">
<mk-switch v-if="item.type == 'switch'" v-model="item.value" :key="item.id" :text="item.label" @change="onChangeForm(item)">{{ item.desc || '' }}</mk-switch>
<div class="card" v-if="item.type == 'radio'" :key="item.id">
<header>
<span>{{ item.label }}</span>
</header>
<div>
<form-radio v-for="(r, i) in item.items" :key="item.id + ':' + i" v-model="item.value" :value="r.value" @change="onChangeForm(item)">{{ r.label }}</form-radio>
</div>
</div>
<div class="card" v-if="item.type == 'slider'" :key="item.id">
<header>
<span>{{ item.label }}</span>
</header>
<div>
<input type="range" :min="item.min" :max="item.max" :step="item.step || 1" v-model="item.value" @change="onChangeForm(item)"/>
</div>
</div>
<div class="card" v-if="item.type == 'textbox'" :key="item.id">
<header>
<span>{{ item.label }}</span>
</header>
<div>
<el-input v-model="item.value" @change="onChangeForm(item)"/>
</div>
</div>
</template>
</div>
</div>
</div>
<footer>
<p class="status">
<template v-if="isAccepted && isOpAccepted">%i18n:@this-game-is-started-soon%<mk-ellipsis/></template>
<template v-if="isAccepted && !isOpAccepted">%i18n:@waiting-for-other%<mk-ellipsis/></template>
<template v-if="!isAccepted && isOpAccepted">%i18n:@waiting-for-me%</template>
<template v-if="!isAccepted && !isOpAccepted">%i18n:@waiting-for-both%<mk-ellipsis/></template>
</p>
<div class="actions">
<form-button @click="exit">%i18n:@cancel%</form-button>
<form-button primary @click="accept" v-if="!isAccepted">%i18n:@ready%</form-button>
<form-button primary @click="cancel" v-if="isAccepted">%i18n:@cancel-ready%</form-button>
</div>
</footer>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import * as maps from '../../../../../../../games/reversi/maps';
export default Vue.extend({
props: ['game', 'connection'],
data() {
return {
o: null,
isLlotheo: false,
mapName: maps.eighteight.name,
maps: maps,
form: null,
messages: []
};
},
computed: {
mapCategories(): string[] {
const categories = Object.values(maps).map(x => x.category);
return categories.filter((item, pos) => categories.indexOf(item) == pos);
},
isAccepted(): boolean {
if (this.game.user1Id == this.$store.state.i.id && this.game.user1Accepted) return true;
if (this.game.user2Id == this.$store.state.i.id && this.game.user2Accepted) return true;
return false;
},
isOpAccepted(): boolean {
if (this.game.user1Id != this.$store.state.i.id && this.game.user1Accepted) return true;
if (this.game.user2Id != this.$store.state.i.id && this.game.user2Accepted) return true;
return false;
}
},
created() {
this.connection.on('change-accepts', this.onChangeAccepts);
this.connection.on('update-settings', this.onUpdateSettings);
this.connection.on('init-form', this.onInitForm);
this.connection.on('message', this.onMessage);
if (this.game.user1Id != this.$store.state.i.id && this.game.settings.form1) this.form = this.game.settings.form1;
if (this.game.user2Id != this.$store.state.i.id && this.game.settings.form2) this.form = this.game.settings.form2;
},
beforeDestroy() {
this.connection.off('change-accepts', this.onChangeAccepts);
this.connection.off('update-settings', this.onUpdateSettings);
this.connection.off('init-form', this.onInitForm);
this.connection.off('message', this.onMessage);
},
methods: {
exit() {
},
accept() {
this.connection.send({
type: 'accept'
});
},
cancel() {
this.connection.send({
type: 'cancel-accept'
});
},
onChangeAccepts(accepts) {
this.game.user1Accepted = accepts.user1;
this.game.user2Accepted = accepts.user2;
this.$forceUpdate();
},
updateSettings() {
this.connection.send({
type: 'update-settings',
settings: this.game.settings
});
},
onUpdateSettings(settings) {
this.game.settings = settings;
if (this.game.settings.map == null) {
this.mapName = null;
} else {
const found = Object.values(maps).find(x => x.data.join('') == this.game.settings.map.join(''));
this.mapName = found ? found.name : '-Custom-';
}
},
onInitForm(x) {
if (x.userId == this.$store.state.i.id) return;
this.form = x.form;
},
onMessage(x) {
if (x.userId == this.$store.state.i.id) return;
this.messages.unshift(x.message);
},
onChangeForm(item) {
this.connection.send({
type: 'update-form',
id: item.id,
value: item.value
});
},
onMapChange() {
if (this.mapName == null) {
this.game.settings.map = null;
} else {
this.game.settings.map = Object.values(maps).find(x => x.name == this.mapName).data;
}
this.$forceUpdate();
this.updateSettings();
},
onPixelClick(pos, pixel) {
const x = pos % this.game.settings.map[0].length;
const y = Math.floor(pos / this.game.settings.map[0].length);
const newPixel =
pixel == ' ' ? '-' :
pixel == '-' ? 'b' :
pixel == 'b' ? 'w' :
' ';
const line = this.game.settings.map[y].split('');
line[x] = newPixel;
this.$set(this.game.settings.map, y, line.join(''));
this.$forceUpdate();
this.updateSettings();
}
}
});
</script>
<style lang="stylus" scoped>
@import '~const.styl'
root(isDark)
text-align center
background isDark ? #191b22 : #f9f9f9
> header
padding 8px
border-bottom dashed 1px #c4cdd4
> div
padding 0 16px
> .card
margin 0 auto 16px auto
&.map
> header
> select
width 100%
padding 12px 14px
background isDark ? #282C37 : #fff
border 1px solid isDark ? #6a707d : #dcdfe6
border-radius 4px
color isDark ? #fff : #606266
cursor pointer
transition border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)
-webkit-appearance none
-moz-appearance none
appearance none
&:hover
border-color isDark ? #a7aebd : #c0c4cc
&:focus
&:active
border-color $theme-color
> div
> .random
padding 32px 0
font-size 64px
color isDark ? #4e5961 : #d8d8d8
> .board
display grid
grid-gap 4px
width 300px
height 300px
margin 0 auto
color isDark ? #fff : #444
> div
background transparent
border solid 2px isDark ? #6a767f : #ddd
border-radius 6px
overflow hidden
cursor pointer
*
pointer-events none
user-select none
width 100%
height 100%
&[data-none]
border-color transparent
&.form
> div
> .card + .card
margin-top 16px
input[type='range']
width 100%
.card
max-width 400px
border-radius 4px
background isDark ? #282C37 : #fff
color isDark ? #fff : #303133
box-shadow 0 2px 12px 0 rgba(#000, isDark ? 0.7 : 0.1)
> header
padding 18px 20px
border-bottom 1px solid isDark ? #1c2023 : #ebeef5
> div
padding 20px
color isDark ? #fff : #606266
> footer
position sticky
bottom 0
padding 16px
background rgba(isDark ? #191b22 : #fff, 0.9)
border-top solid 1px isDark ? #606266 : #c4cdd4
> .status
margin 0 0 16px 0
.urbixznjwwuukfsckrwzwsqzsxornqij[data-darkmode]
root(true)
.urbixznjwwuukfsckrwzwsqzsxornqij:not([data-darkmode])
root(false)
</style>

View File

@@ -0,0 +1,186 @@
<template>
<div class="vchtoekanapleubgzioubdtmlkribzfd">
<div v-if="game">
<x-gameroom :game="game" :self-nav="selfNav" @go-index="goIndex"/>
</div>
<div class="matching" v-else-if="matching">
<h1>{{ '%i18n:@matching.waiting-for%'.split('{}')[0] }}<b>{{ matching | userName }}</b>{{ '%i18n:@matching.waiting-for%'.split('{}')[1] }}<mk-ellipsis/></h1>
<div class="cancel">
<form-button round @click="cancel">%i18n:@matching.cancel%</form-button>
</div>
</div>
<div v-else-if="gameId">
...
</div>
<div class="index" v-else>
<x-index @go="nav" @matching="onMatching"/>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import XGameroom from './reversi.gameroom.vue';
import XIndex from './reversi.index.vue';
import Progress from '../../../../scripts/loading';
export default Vue.extend({
components: {
XGameroom,
XIndex
},
props: {
gameId: {
type: String,
required: false
},
selfNav: {
type: Boolean,
require: false,
default: true
}
},
data() {
return {
game: null,
matching: null,
connection: null,
connectionId: null,
pingClock: null
};
},
watch: {
game() {
this.$emit('gamed', this.game);
},
gameId() {
this.fetch();
}
},
mounted() {
this.fetch();
if (this.$store.getters.isSignedIn) {
this.connection = (this as any).os.streams.reversiStream.getConnection();
this.connectionId = (this as any).os.streams.reversiStream.use();
this.connection.on('matched', this.onMatched);
this.pingClock = setInterval(() => {
if (this.matching) {
this.connection.send({
type: 'ping',
id: this.matching.id
});
}
}, 3000);
}
},
beforeDestroy() {
if (this.connection) {
this.connection.off('matched', this.onMatched);
(this as any).os.streams.reversiStream.dispose(this.connectionId);
clearInterval(this.pingClock);
}
},
methods: {
fetch() {
if (this.gameId == null) {
this.game = null;
} else {
Progress.start();
(this as any).api('games/reversi/games/show', {
gameId: this.gameId
}).then(game => {
this.game = game;
Progress.done();
});
}
},
async nav(game, actualNav = true) {
if (this.selfNav) {
// 受け取ったゲーム情報が省略されたものなら完全な情報を取得する
if (game != null && (game.settings == null || game.settings.map == null)) {
game = await (this as any).api('games/reversi/games/show', {
gameId: game.id
});
}
this.game = game;
} else {
this.$emit('nav', game, actualNav);
}
},
onMatching(user) {
this.matching = user;
},
cancel() {
this.matching = null;
(this as any).api('games/reversi/match/cancel');
},
accept(invitation) {
(this as any).api('games/reversi/match', {
userId: invitation.parent.id
}).then(game => {
if (game) {
this.matching = null;
this.nav(game);
}
});
},
onMatched(game) {
this.matching = null;
this.game = game;
this.nav(game, false);
},
goIndex() {
this.nav(null);
}
}
});
</script>
<style lang="stylus" scoped>
@import '~const.styl'
root(isDark)
color isDark ? #fff : #677f84
background isDark ? #191b22 : #fff
> .matching
> h1
margin 0
padding 24px
font-size 20px
text-align center
font-weight normal
> .cancel
margin 0 auto
padding 24px 0 0 0
max-width 200px
text-align center
border-top dashed 1px #c4cdd4
.vchtoekanapleubgzioubdtmlkribzfd[data-darkmode]
root(true)
.vchtoekanapleubgzioubdtmlkribzfd:not([data-darkmode])
root(false)
</style>

View File

@@ -1,7 +1,7 @@
<template>
<div class="mk-google">
<input type="search" v-model="query" :placeholder="q">
<button @click="search">検索</button>
<button @click="search">%fa:search% %i18n:common.search%</button>
</div>
</template>

View File

@@ -9,7 +9,7 @@ import forkit from './forkit.vue';
import acct from './acct.vue';
import avatar from './avatar.vue';
import nav from './nav.vue';
import noteHtml from './note-html';
import misskeyFlavoredMarkdown from './misskey-flavored-markdown';
import poll from './poll.vue';
import pollEditor from './poll-editor.vue';
import reactionIcon from './reaction-icon.vue';
@@ -27,7 +27,7 @@ import urlPreview from './url-preview.vue';
import twitterSetting from './twitter-setting.vue';
import fileTypeIcon from './file-type-icon.vue';
import Switch from './switch.vue';
import Othello from './othello.vue';
import Reversi from './games/reversi/reversi.vue';
import welcomeTimeline from './welcome-timeline.vue';
import uiInput from './ui/input.vue';
import uiButton from './ui/button.vue';
@@ -37,6 +37,8 @@ import uiTextarea from './ui/textarea.vue';
import uiSwitch from './ui/switch.vue';
import uiRadio from './ui/radio.vue';
import uiSelect from './ui/select.vue';
import formButton from './ui/form/button.vue';
import formRadio from './ui/form/radio.vue';
Vue.component('mk-analog-clock', analogClock);
Vue.component('mk-menu', menu);
@@ -47,7 +49,7 @@ Vue.component('mk-forkit', forkit);
Vue.component('mk-acct', acct);
Vue.component('mk-avatar', avatar);
Vue.component('mk-nav', nav);
Vue.component('mk-note-html', noteHtml);
Vue.component('misskey-flavored-markdown', misskeyFlavoredMarkdown);
Vue.component('mk-poll', poll);
Vue.component('mk-poll-editor', pollEditor);
Vue.component('mk-reaction-icon', reactionIcon);
@@ -65,7 +67,7 @@ Vue.component('mk-url-preview', urlPreview);
Vue.component('mk-twitter-setting', twitterSetting);
Vue.component('mk-file-type-icon', fileTypeIcon);
Vue.component('mk-switch', Switch);
Vue.component('mk-othello', Othello);
Vue.component('mk-reversi', Reversi);
Vue.component('mk-welcome-timeline', welcomeTimeline);
Vue.component('ui-input', uiInput);
Vue.component('ui-button', uiButton);
@@ -75,3 +77,5 @@ Vue.component('ui-textarea', uiTextarea);
Vue.component('ui-switch', uiSwitch);
Vue.component('ui-radio', uiRadio);
Vue.component('ui-select', uiSelect);
Vue.component('form-button', formButton);
Vue.component('form-radio', formRadio);

View File

@@ -46,33 +46,45 @@ export default Vue.extend({
display grid
grid-gap 4px
> *
overflow hidden
border-radius 4px
&[data-count="1"]
grid-template-rows 1fr
&[data-count="2"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr
&[data-count="3"]
grid-template-columns 1fr 0.5fr
grid-template-rows 1fr 1fr
:nth-child(1)
> *:nth-child(1)
grid-row 1 / 3
:nth-child(3)
> *:nth-child(3)
grid-column 2 / 3
grid-row 2 / 3
&[data-count="4"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr 1fr
:nth-child(1)
> *:nth-child(1)
grid-column 1 / 2
grid-row 1 / 2
:nth-child(2)
> *:nth-child(2)
grid-column 2 / 3
grid-row 1 / 2
:nth-child(3)
> *:nth-child(3)
grid-column 1 / 2
grid-row 2 / 3
:nth-child(4)
> *:nth-child(4)
grid-column 2 / 3
grid-row 2 / 3

View File

@@ -83,7 +83,7 @@ export default Vue.extend({
}
} else {
if (items[0].kind == 'file') {
alert('メッセージに添付できるのはひとつのファイルのみです');
alert('%i18n:only-one-file-attached%');
}
}
},
@@ -105,7 +105,7 @@ export default Vue.extend({
return;
} else if (e.dataTransfer.files.length > 1) {
e.preventDefault();
alert('メッセージに添付できるのはひとつのファイルのみです');
alert('%i18n:only-one-file-attached%');
return;
}
@@ -119,7 +119,7 @@ export default Vue.extend({
},
onKeypress(e) {
if ((e.which == 10 || e.which == 13) && e.ctrlKey) {
if ((e.which == 10 || e.which == 13) && e.ctrlKey && this.canSend) {
this.send();
}
},

View File

@@ -3,12 +3,11 @@
<mk-avatar class="avatar" :user="message.user" target="_blank"/>
<div class="content">
<div class="balloon" :data-no-text="message.text == null">
<p class="read" v-if="isMe && message.isRead">%i18n:@is-read%</p>
<button class="delete-button" v-if="isMe" title="%i18n:common.delete%">
<!-- <button class="delete-button" v-if="isMe" title="%i18n:common.delete%">
<img src="/assets/desktop/messaging/delete.png" alt="Delete"/>
</button>
</button> -->
<div class="content" v-if="!message.isDeleted">
<mk-note-html class="text" v-if="message.text" ref="text" :text="message.text" :i="$store.state.i"/>
<misskey-flavored-markdown 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"/>
@@ -23,6 +22,7 @@
<div></div>
<mk-url-preview v-for="url in urls" :url="url" :key="url"/>
<footer>
<span class="read" v-if="isMe && message.isRead">%i18n:@is-read%</span>
<mk-time :time="message.createdAt"/>
<template v-if="message.is_edited">%fa:pencil-alt%</template>
</footer>
@@ -32,7 +32,7 @@
<script lang="ts">
import Vue from 'vue';
import parse from '../../../../../text/parse';
import parse from '../../../../../mfm/parse';
export default Vue.extend({
props: {
@@ -79,7 +79,8 @@ root(isDark)
> .content
> .balloon
display block
display flex
align-items center
padding 0
max-width calc(100% - 16px)
min-height 38px
@@ -120,17 +121,6 @@ root(isDark)
height 16px
cursor pointer
> .read
user-select none
display block
position absolute
z-index 1
bottom -4px
left -12px
margin 0
color isDark ? rgba(#fff, 0.5) : rgba(#000, 0.5)
font-size 11px
> .content
> .is-deleted
@@ -258,8 +248,14 @@ root(isDark)
> footer
text-align right
> .read
user-select none
margin 0 4px 0 0
color isDark ? rgba(#fff, 0.5) : rgba(#000, 0.5)
font-size 11px
&[data-is-deleted]
> .baloon
> .balloon
opacity 0.5
.message[data-darkmode]

View File

@@ -61,7 +61,7 @@ export default Vue.extend({
const date = new Date(message.createdAt).getDate();
const month = new Date(message.createdAt).getMonth() + 1;
message._date = date;
message._datetext = `${month}${date}`;
message._datetext = '%i18n:common.month-and-day%'.replace('{month}', month.toString()).replace('{day}', date.toString());
return message;
});
},
@@ -111,7 +111,7 @@ export default Vue.extend({
this.form.upload(e.dataTransfer.files[0]);
return;
} else if (e.dataTransfer.files.length > 1) {
alert('メッセージに添付できるのはひとつのファイルのみです');
alert('%i18n:@only-one-file-attached%');
return;
}

View File

@@ -51,7 +51,7 @@
<script lang="ts">
import Vue from 'vue';
import getAcct from '../../../../../acct/render';
import getAcct from '../../../../../misc/acct/render';
export default Vue.extend({
props: {

View File

@@ -1,7 +1,8 @@
import Vue from 'vue';
import * as emojilib from 'emojilib';
import parse from '../../../../../text/parse';
import getAcct from '../../../../../acct/render';
import { length } from 'stringz';
import parse from '../../../../../mfm/parse';
import getAcct from '../../../../../misc/acct/render';
import { url } from '../../../config';
import MkUrl from './url.vue';
import MkGoogle from './google.vue';
@@ -10,7 +11,7 @@ const flatten = list => list.reduce(
(a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []
);
export default Vue.component('mk-note-html', {
export default Vue.component('misskey-flavored-markdown', {
props: {
text: {
type: String,
@@ -40,21 +41,13 @@ export default Vue.component('mk-note-html', {
ast = this.ast;
}
if (ast.filter(x => x.type != 'hashtag').length == 0) {
return;
}
while (ast[ast.length - 1] && (
ast[ast.length - 1].type == 'hashtag' ||
(ast[ast.length - 1].type == 'text' && ast[ast.length - 1].content == ' ') ||
(ast[ast.length - 1].type == 'text' && ast[ast.length - 1].content == '\n'))) {
ast.pop();
}
let bigCount = 0;
let motionCount = 0;
// Parse ast to DOM
const els = flatten(ast.map(token => {
switch (token.type) {
case 'text':
case 'text': {
const text = token.content.replace(/(\r\n|\n|\r)/g, '\n');
if (this.shouldBreak) {
@@ -65,19 +58,52 @@ export default Vue.component('mk-note-html', {
} else {
return createElement('span', text.replace(/\n/g, ' '));
}
}
case 'bold':
return createElement('strong', token.bold);
case 'bold': {
return createElement('b', token.bold);
}
case 'url':
case 'big': {
bigCount++;
const isLong = length(token.big) > 10;
const isMany = bigCount > 3;
return (createElement as any)('strong', {
attrs: {
style: `display: inline-block; font-size: ${ isMany ? '100%' : '150%' };`
},
directives: [this.$store.state.settings.disableAnimatedMfm || isLong || isMany ? {} : {
name: 'animate-css',
value: { classes: 'tada', iteration: 'infinite' }
}]
}, token.big);
}
case 'motion': {
motionCount++;
const isLong = length(token.motion) > 10;
const isMany = motionCount > 3;
return (createElement as any)('span', {
attrs: {
style: 'display: inline-block;'
},
directives: [this.$store.state.settings.disableAnimatedMfm || isLong || isMany ? {} : {
name: 'animate-css',
value: { classes: 'rubberBand', iteration: 'infinite' }
}]
}, token.motion);
}
case 'url': {
return createElement(MkUrl, {
props: {
url: token.content,
target: '_blank'
}
});
}
case 'link':
case 'link': {
return createElement('a', {
attrs: {
class: 'link',
@@ -86,8 +112,9 @@ export default Vue.component('mk-note-html', {
title: token.url
}
}, token.title);
}
case 'mention':
case 'mention': {
return (createElement as any)('a', {
attrs: {
href: `${url}/@${getAcct(token)}`,
@@ -99,16 +126,18 @@ export default Vue.component('mk-note-html', {
value: token.content
}]
}, token.content);
}
case 'hashtag':
case 'hashtag': {
return createElement('a', {
attrs: {
href: `${url}/tags/${token.hashtag}`,
href: `${url}/tags/${encodeURIComponent(token.hashtag)}`,
target: '_blank'
}
}, token.content);
}
case 'code':
case 'code': {
return createElement('pre', {
class: 'code'
}, [
@@ -118,15 +147,17 @@ export default Vue.component('mk-note-html', {
}
})
]);
}
case 'inline-code':
case 'inline-code': {
return createElement('code', {
domProps: {
innerHTML: token.html
}
});
}
case 'quote':
case 'quote': {
const text2 = token.quote.replace(/(\r\n|\n|\r)/g, '\n');
if (this.shouldBreak) {
@@ -145,27 +176,32 @@ export default Vue.component('mk-note-html', {
}
}, text2.replace(/\n/g, ' '));
}
}
case 'title':
case 'title': {
return createElement('div', {
attrs: {
class: 'title'
}
}, token.title);
}
case 'emoji':
case 'emoji': {
const emoji = emojilib.lib[token.emoji];
return createElement('span', emoji ? emoji.char : token.content);
}
case 'search':
case 'search': {
return createElement(MkGoogle, {
props: {
q: token.query
}
});
}
default:
default: {
console.log('unknown ast type:', token.type);
}
}
}));

View File

@@ -2,9 +2,9 @@
<span class="mk-nav">
<a :href="aboutUrl">%i18n:@about%</a>
<i></i>
<a href="https://github.com/syuilo/misskey">%i18n:@repository%</a>
<a :href="repositoryUrl">%i18n:@repository%</a>
<i></i>
<a href="https://github.com/syuilo/misskey/issues/new" target="_blank">%i18n:@feedback%</a>
<a :href="feedbackUrl" target="_blank">%i18n:@feedback%</a>
<i></i>
<a :href="devUrl">%i18n:@develop%</a>
<i></i>
@@ -14,7 +14,7 @@
<script lang="ts">
import Vue from 'vue';
import { docsUrl, statsUrl, statusUrl, devUrl, lang } from '../../../config';
import { docsUrl, statsUrl, statusUrl, devUrl, repositoryUrl, feedbackUrl, lang } from '../../../config';
export default Vue.extend({
data() {
@@ -22,7 +22,9 @@ export default Vue.extend({
aboutUrl: `${docsUrl}/${lang}/about`,
statsUrl,
statusUrl,
devUrl
devUrl,
repositoryUrl: repositoryUrl || `https://github.com/syuilo/misskey`,
feedbackUrl: feedbackUrl || `https://github.com/syuilo/misskey/issues/new`
}
}
});

View File

@@ -2,6 +2,7 @@
<header class="bvonvjxbwzaiskogyhbwgyxvcgserpmu">
<mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle == 'smart'"/>
<router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id">{{ note.user | userName }}</router-link>
<span class="is-verified" v-if="note.user.isVerified" title="%i18n:common.verified-user%">%fa:star%</span>
<span class="is-admin" v-if="note.user.isAdmin">admin</span>
<span class="is-bot" v-if="note.user.isBot">bot</span>
<span class="is-cat" v-if="note.user.isCat">cat</span>
@@ -69,9 +70,14 @@ root(isDark)
&:hover
text-decoration underline
> .is-verified
margin-right 8px
color #4dabf7
> .is-admin
> .is-bot
> .is-cat
flex-shrink 0
align-self center
margin 0 .5em 0 0
padding 1px 6px
@@ -89,6 +95,7 @@ root(isDark)
overflow hidden
text-overflow ellipsis
color isDark ? #606984 : #ccc
flex-shrink 2147483647
> .info
margin-left auto

View File

@@ -1,324 +0,0 @@
<template>
<div class="root">
<header><b>{{ blackUser.name }}</b>() vs <b>{{ whiteUser.name }}</b>()</header>
<div style="overflow: hidden">
<p class="turn" v-if="!iAmPlayer && !game.isEnded">{{ turnUser.name }}のターンです<mk-ellipsis/></p>
<p class="turn" v-if="logPos != logs.length">{{ turnUser.name }}のターン</p>
<p class="turn1" v-if="iAmPlayer && !game.isEnded && !isMyTurn">相手のターンです<mk-ellipsis/></p>
<p class="turn2" v-if="iAmPlayer && !game.isEnded && isMyTurn" v-animate-css="{ classes: 'tada', iteration: 'infinite' }">あなたのターンです</p>
<p class="result" v-if="game.isEnded && logPos == logs.length">
<template v-if="game.winner"><b>{{ game.winner.name }}</b>の勝ち{{ game.settings.isLlotheo ? ' (ロセオ)' : '' }}</template>
<template v-else>引き分け</template>
</p>
</div>
<div class="board" :style="{ 'grid-template-rows': `repeat(${ game.settings.map.length }, 1fr)`, 'grid-template-columns': `repeat(${ game.settings.map[0].length }, 1fr)` }">
<div v-for="(stone, i) in o.board"
: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="'[' + (o.transformPosToXy(i)[0] + 1) + ', ' + (o.transformPosToXy(i)[1] + 1) + '] (' + i + ')'"
>
<img v-if="stone === true" :src="`${blackUser.avatarUrl}?thumbnail&size=128`" alt="">
<img v-if="stone === false" :src="`${whiteUser.avatarUrl}?thumbnail&size=128`" alt="">
</div>
</div>
<p class="status"><b>{{ logPos }}ターン目</b> :{{ o.blackCount }} :{{ o.whiteCount }} 合計:{{ o.blackCount + o.whiteCount }}</p>
<div class="player" v-if="game.isEnded">
<el-button-group>
<el-button type="primary" @click="logPos = 0" :disabled="logPos == 0">%fa:angle-double-left%</el-button>
<el-button type="primary" @click="logPos--" :disabled="logPos == 0">%fa:angle-left%</el-button>
</el-button-group>
<span>{{ logPos }} / {{ logs.length }}</span>
<el-button-group>
<el-button type="primary" @click="logPos++" :disabled="logPos == logs.length">%fa:angle-right%</el-button>
<el-button type="primary" @click="logPos = logs.length" :disabled="logPos == logs.length">%fa:angle-double-right%</el-button>
</el-button-group>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import * as CRC32 from 'crc-32';
import Othello, { Color } from '../../../../../othello/core';
import { url } from '../../../config';
export default Vue.extend({
props: ['initGame', 'connection'],
data() {
return {
game: null,
o: null as Othello,
logs: [],
logPos: 0,
pollingClock: null
};
},
computed: {
iAmPlayer(): boolean {
if (!this.$store.getters.isSignedIn) return false;
return this.game.user1Id == this.$store.state.i.id || this.game.user2Id == this.$store.state.i.id;
},
myColor(): Color {
if (!this.iAmPlayer) return null;
if (this.game.user1Id == this.$store.state.i.id && this.game.black == 1) return true;
if (this.game.user2Id == this.$store.state.i.id && this.game.black == 2) return true;
return false;
},
opColor(): Color {
if (!this.iAmPlayer) return null;
return this.myColor === true ? false : true;
},
blackUser(): any {
return this.game.black == 1 ? this.game.user1 : this.game.user2;
},
whiteUser(): any {
return this.game.black == 1 ? this.game.user2 : this.game.user1;
},
turnUser(): any {
if (this.o.turn === true) {
return this.game.black == 1 ? this.game.user1 : this.game.user2;
} else if (this.o.turn === false) {
return this.game.black == 1 ? this.game.user2 : this.game.user1;
} else {
return null;
}
},
isMyTurn(): boolean {
if (this.turnUser == null) return null;
return this.turnUser.id == this.$store.state.i.id;
}
},
watch: {
logPos(v) {
if (!this.game.isEnded) return;
this.o = new Othello(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
});
this.logs.forEach((log, i) => {
if (i < v) {
this.o.put(log.color, log.pos);
}
});
this.$forceUpdate();
}
},
created() {
this.game = this.initGame;
this.o = new Othello(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
});
this.game.logs.forEach(log => {
this.o.put(log.color, log.pos);
});
this.logs = this.game.logs;
this.logPos = this.logs.length;
// 通信を取りこぼしてもいいように定期的にポーリングさせる
if (this.game.isStarted && !this.game.isEnded) {
this.pollingClock = setInterval(() => {
const crc32 = CRC32.str(this.logs.map(x => x.pos.toString()).join(''));
this.connection.send({
type: 'check',
crc32
});
}, 3000);
}
},
mounted() {
this.connection.on('set', this.onSet);
this.connection.on('rescue', this.onRescue);
},
beforeDestroy() {
this.connection.off('set', this.onSet);
this.connection.off('rescue', this.onRescue);
clearInterval(this.pollingClock);
},
methods: {
set(pos) {
if (this.game.isEnded) return;
if (!this.iAmPlayer) return;
if (!this.isMyTurn) return;
if (!this.o.canPut(this.myColor, pos)) return;
this.o.put(this.myColor, pos);
// サウンドを再生する
if (this.$store.state.device.enableSounds) {
const sound = new Audio(`${url}/assets/othello-put-me.mp3`);
sound.volume = this.$store.state.device.soundVolume;
sound.play();
}
this.connection.send({
type: 'set',
pos
});
this.checkEnd();
this.$forceUpdate();
},
onSet(x) {
this.logs.push(x);
this.logPos++;
this.o.put(x.color, x.pos);
this.checkEnd();
this.$forceUpdate();
// サウンドを再生する
if (this.$store.state.device.enableSounds && x.color != this.myColor) {
const sound = new Audio(`${url}/assets/othello-put-you.mp3`);
sound.volume = this.$store.state.device.soundVolume;
sound.play();
}
},
checkEnd() {
this.game.isEnded = this.o.isEnded;
if (this.game.isEnded) {
if (this.o.winner === true) {
this.game.winnerId = this.game.black == 1 ? this.game.user1Id : this.game.user2Id;
this.game.winner = this.game.black == 1 ? this.game.user1 : this.game.user2;
} else if (this.o.winner === false) {
this.game.winnerId = this.game.black == 1 ? this.game.user2Id : this.game.user1Id;
this.game.winner = this.game.black == 1 ? this.game.user2 : this.game.user1;
} else {
this.game.winnerId = null;
this.game.winner = null;
}
}
},
// 正しいゲーム情報が送られてきたとき
onRescue(game) {
this.game = game;
this.o = new Othello(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
});
this.game.logs.forEach(log => {
this.o.put(log.color, log.pos, true);
});
this.logs = this.game.logs;
this.logPos = this.logs.length;
this.checkEnd();
this.$forceUpdate();
}
}
});
</script>
<style lang="stylus" scoped>
@import '~const.styl'
.root
text-align center
> header
padding 8px
border-bottom dashed 1px #c4cdd4
> .board
display grid
grid-gap 4px
width 350px
height 350px
margin 0 auto
> div
background transparent
border-radius 6px
overflow hidden
*
pointer-events none
user-select none
&.empty
border solid 2px #eee
&.empty.can
background #eee
&.empty.myTurn
border-color #ddd
&.can
background #eee
cursor pointer
&:hover
border-color darken($theme-color, 10%)
background $theme-color
&:active
background darken($theme-color, 10%)
&.prev
box-shadow 0 0 0 4px rgba($theme-color, 0.7)
&.isEnded
border-color #ddd
&.none
border-color transparent !important
> img
display block
width 100%
height 100%
> .graph
display grid
grid-template-columns repeat(61, 1fr)
width 300px
height 38px
margin 0 auto 16px auto
> div
&:not(:empty)
background #ccc
> div:first-child
background #333
> div:last-child
background #ccc
> .status
margin 0
padding 16px 0
> .player
padding-bottom 32px
> span
display inline-block
margin 0 8px
min-width 70px
</style>

View File

@@ -1,297 +0,0 @@
<template>
<div class="root">
<header><b>{{ game.user1.name }}</b> vs <b>{{ game.user2.name }}</b></header>
<div>
<p>ゲームの設定</p>
<el-card class="map">
<div slot="header">
<el-select :class="$style.mapSelect" v-model="mapName" placeholder="マップを選択" @change="onMapChange">
<el-option label="ランダム" :value="null"/>
<el-option-group v-for="c in mapCategories" :key="c" :label="c">
<el-option v-for="m in maps" v-if="m.category == c" :key="m.name" :label="m.name" :value="m.name">
<span style="float: left">{{ m.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px" v-if="m.author">(by <i>{{ m.author }}</i>)</span>
</el-option>
</el-option-group>
</el-select>
</div>
<div :class="$style.board" v-if="game.settings.map != null" :style="{ 'grid-template-rows': `repeat(${ game.settings.map.length }, 1fr)`, 'grid-template-columns': `repeat(${ game.settings.map[0].length }, 1fr)` }">
<div v-for="(x, i) in game.settings.map.join('')"
:data-none="x == ' '"
@click="onPixelClick(i, x)"
>
<template v-if="x == 'b'">%fa:circle%</template>
<template v-if="x == 'w'">%fa:circle R%</template>
</div>
</div>
</el-card>
<el-card class="bw">
<div slot="header">
<span>先手/後手</span>
</div>
<el-radio v-model="game.settings.bw" label="random" @change="updateSettings">ランダム</el-radio>
<el-radio v-model="game.settings.bw" :label="1" @change="updateSettings">{{ game.user1.name }}が黒</el-radio>
<el-radio v-model="game.settings.bw" :label="2" @change="updateSettings">{{ game.user2.name }}が黒</el-radio>
</el-card>
<el-card class="rules">
<div slot="header">
<span>ルール</span>
</div>
<mk-switch v-model="game.settings.isLlotheo" @change="updateSettings" text="石の少ない方が勝ち(ロセオ)"/>
<mk-switch v-model="game.settings.loopedBoard" @change="updateSettings" text="ループマップ"/>
<mk-switch v-model="game.settings.canPutEverywhere" @change="updateSettings" text="どこでも置けるモード"/>
</el-card>
<el-card class="bot-form" v-if="form">
<div slot="header">
<span>Botの設定</span>
</div>
<el-alert v-for="message in messages"
:title="message.text"
:type="message.type"
:key="message.id"
/>
<template v-for="item in form">
<mk-switch v-if="item.type == 'button'" v-model="item.value" :key="item.id" :text="item.label" @change="onChangeForm($event, item)">{{ item.desc || '' }}</mk-switch>
<el-card v-if="item.type == 'radio'" :key="item.id">
<div slot="header">
<span>{{ item.label }}</span>
</div>
<el-radio v-for="(r, i) in item.items" :key="item.id + ':' + i" v-model="item.value" :label="r.value" @change="onChangeForm($event, item)">{{ r.label }}</el-radio>
</el-card>
<el-card v-if="item.type == 'textbox'" :key="item.id">
<div slot="header">
<span>{{ item.label }}</span>
</div>
<el-input v-model="item.value" @change="onChangeForm($event, item)"/>
</el-card>
</template>
</el-card>
</div>
<footer>
<p class="status">
<template v-if="isAccepted && isOpAccepted">ゲームは数秒後に開始されます<mk-ellipsis/></template>
<template v-if="isAccepted && !isOpAccepted">相手の準備が完了するのを待っています<mk-ellipsis/></template>
<template v-if="!isAccepted && isOpAccepted">あなたの準備が完了するのを待っています</template>
<template v-if="!isAccepted && !isOpAccepted">準備中<mk-ellipsis/></template>
</p>
<div class="actions">
<el-button @click="exit">キャンセル</el-button>
<el-button type="primary" @click="accept" v-if="!isAccepted">準備完了</el-button>
<el-button type="primary" @click="cancel" v-if="isAccepted">準備続行</el-button>
</div>
</footer>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import * as maps from '../../../../../othello/maps';
export default Vue.extend({
props: ['game', 'connection'],
data() {
return {
o: null,
isLlotheo: false,
mapName: maps.eighteight.name,
maps: maps,
form: null,
messages: []
};
},
computed: {
mapCategories(): string[] {
const categories = Object.entries(maps).map(x => x[1].category);
return categories.filter((item, pos) => categories.indexOf(item) == pos);
},
isAccepted(): boolean {
if (this.game.user1Id == this.$store.state.i.id && this.game.user1Accepted) return true;
if (this.game.user2Id == this.$store.state.i.id && this.game.user2Accepted) return true;
return false;
},
isOpAccepted(): boolean {
if (this.game.user1Id != this.$store.state.i.id && this.game.user1Accepted) return true;
if (this.game.user2Id != this.$store.state.i.id && this.game.user2Accepted) return true;
return false;
}
},
created() {
this.connection.on('change-accepts', this.onChangeAccepts);
this.connection.on('update-settings', this.onUpdateSettings);
this.connection.on('init-form', this.onInitForm);
this.connection.on('message', this.onMessage);
if (this.game.user1Id != this.$store.state.i.id && this.game.settings.form1) this.form = this.game.settings.form1;
if (this.game.user2Id != this.$store.state.i.id && this.game.settings.form2) this.form = this.game.settings.form2;
},
beforeDestroy() {
this.connection.off('change-accepts', this.onChangeAccepts);
this.connection.off('update-settings', this.onUpdateSettings);
this.connection.off('init-form', this.onInitForm);
this.connection.off('message', this.onMessage);
},
methods: {
exit() {
},
accept() {
this.connection.send({
type: 'accept'
});
},
cancel() {
this.connection.send({
type: 'cancel-accept'
});
},
onChangeAccepts(accepts) {
this.game.user1Accepted = accepts.user1;
this.game.user2Accepted = accepts.user2;
this.$forceUpdate();
},
updateSettings() {
this.connection.send({
type: 'update-settings',
settings: this.game.settings
});
},
onUpdateSettings(settings) {
this.game.settings = settings;
if (this.game.settings.map == null) {
this.mapName = null;
} else {
const foundMap = Object.entries(maps).find(x => x[1].data.join('') == this.game.settings.map.join(''));
this.mapName = foundMap ? foundMap[1].name : '-Custom-';
}
},
onInitForm(x) {
if (x.userId == this.$store.state.i.id) return;
this.form = x.form;
},
onMessage(x) {
if (x.userId == this.$store.state.i.id) return;
this.messages.unshift(x.message);
},
onChangeForm(v, item) {
this.connection.send({
type: 'update-form',
id: item.id,
value: v
});
},
onMapChange(v) {
if (v == null) {
this.game.settings.map = null;
} else {
this.game.settings.map = Object.entries(maps).find(x => x[1].name == v)[1].data;
}
this.$forceUpdate();
this.updateSettings();
},
onPixelClick(pos, pixel) {
const x = pos % this.game.settings.map[0].length;
const y = Math.floor(pos / this.game.settings.map[0].length);
const newPixel =
pixel == ' ' ? '-' :
pixel == '-' ? 'b' :
pixel == 'b' ? 'w' :
' ';
const line = this.game.settings.map[y].split('');
line[x] = newPixel;
this.$set(this.game.settings.map, y, line.join(''));
this.$forceUpdate();
this.updateSettings();
}
}
});
</script>
<style lang="stylus" scoped>
@import '~const.styl'
.root
text-align center
background #f9f9f9
> header
padding 8px
border-bottom dashed 1px #c4cdd4
> div
padding 0 16px
> .map
> .bw
> .rules
> .bot-form
max-width 400px
margin 0 auto 16px auto
> footer
position sticky
bottom 0
padding 16px
background rgba(255, 255, 255, 0.9)
border-top solid 1px #c4cdd4
> .status
margin 0 0 16px 0
</style>
<style lang="stylus" module>
.mapSelect
width 100%
.board
display grid
grid-gap 4px
width 300px
height 300px
margin 0 auto
> div
background transparent
border solid 2px #ddd
border-radius 6px
overflow hidden
cursor pointer
*
pointer-events none
user-select none
width 100%
height 100%
&[data-none]
border-color transparent
</style>
<style lang="stylus">
.el-alert__content
position initial !important
</style>

View File

@@ -1,313 +0,0 @@
<template>
<div class="mk-othello">
<div v-if="game">
<x-gameroom :game="game"/>
</div>
<div class="matching" v-else-if="matching">
<h1><b>{{ matching.name }}</b>を待っています<mk-ellipsis/></h1>
<div class="cancel">
<el-button round @click="cancel">キャンセル</el-button>
</div>
</div>
<div class="index" v-else>
<h1>Misskey %fa:circle%thell%fa:circle R%</h1>
<p>他のMisskeyユーザーとオセロで対戦しよう</p>
<div class="play">
<el-button round>フリーマッチ(準備中)</el-button>
<el-button type="primary" round @click="match">指名</el-button>
<details>
<summary>遊び方</summary>
<div>
<p>オセロは相手と交互に石をボードに置いてゆき相手の石を挟んでひっくり返しながら最終的に残った石が多い方が勝ちというボードゲームです</p>
<dl>
<dt><b>フリーマッチ</b></dt>
<dd>ランダムなユーザーと対戦するモードです</dd>
<dt><b>指名</b></dt>
<dd>指定したユーザーと対戦するモードです</dd>
</dl>
</div>
</details>
</div>
<section v-if="invitations.length > 0">
<h2>対局の招待があります:</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.name }}</b></span>
<span class="username">@{{ i.parent.username }}</span>
<mk-time :time="i.createdAt"/>
</div>
</section>
<section v-if="myGames.length > 0">
<h2>自分の対局</h2>
<a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/othello/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1.name }}</b> vs <b>{{ g.user2.name }}</b></span>
<span class="state">{{ g.isEnded ? '終了' : '進行中' }}</span>
</a>
</section>
<section v-if="games.length > 0">
<h2>みんなの対局</h2>
<a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/othello/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1.name }}</b> vs <b>{{ g.user2.name }}</b></span>
<span class="state">{{ g.isEnded ? '終了' : '進行中' }}</span>
</a>
</section>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import XGameroom from './othello.gameroom.vue';
export default Vue.extend({
components: {
XGameroom
},
props: ['initGame'],
data() {
return {
game: null,
games: [],
gamesFetching: true,
gamesMoreFetching: false,
myGames: [],
matching: null,
invitations: [],
connection: null,
connectionId: null,
pingClock: null
};
},
watch: {
game(g) {
this.$emit('gamed', g);
}
},
created() {
if (this.initGame) {
this.game = this.initGame;
}
},
mounted() {
this.connection = (this as any).os.streams.othelloStream.getConnection();
this.connectionId = (this as any).os.streams.othelloStream.use();
this.connection.on('matched', this.onMatched);
this.connection.on('invited', this.onInvited);
(this as any).api('othello/games', {
my: true
}).then(games => {
this.myGames = games;
});
(this as any).api('othello/games').then(games => {
this.games = games;
this.gamesFetching = false;
});
(this as any).api('othello/invitations').then(invitations => {
this.invitations = this.invitations.concat(invitations);
});
this.pingClock = setInterval(() => {
if (this.matching) {
this.connection.send({
type: 'ping',
id: this.matching.id
});
}
}, 3000);
},
beforeDestroy() {
this.connection.off('matched', this.onMatched);
this.connection.off('invited', this.onInvited);
(this as any).os.streams.othelloStream.dispose(this.connectionId);
clearInterval(this.pingClock);
},
methods: {
go(game) {
(this as any).api('othello/games/show', {
gameId: game.id
}).then(game => {
this.matching = null;
this.game = game;
});
},
match() {
(this as any).apis.input({
title: 'ユーザー名を入力してください'
}).then(username => {
(this as any).api('users/show', {
username
}).then(user => {
(this as any).api('othello/match', {
userId: user.id
}).then(res => {
if (res == null) {
this.matching = user;
} else {
this.game = res;
}
});
});
});
},
cancel() {
this.matching = null;
(this as any).api('othello/match/cancel');
},
accept(invitation) {
(this as any).api('othello/match', {
userId: invitation.parent.id
}).then(game => {
if (game) {
this.matching = null;
this.game = game;
}
});
},
onMatched(game) {
this.matching = null;
this.game = game;
},
onInvited(invite) {
this.invitations.unshift(invite);
}
}
});
</script>
<style lang="stylus" scoped>
@import '~const.styl'
.mk-othello
color #677f84
background #fff
> .matching
> h1
margin 0
padding 24px
font-size 20px
text-align center
font-weight normal
> .cancel
margin 0 auto
padding 24px 0 0 0
max-width 200px
text-align center
border-top dashed 1px #c4cdd4
> .index
> h1
margin 0
padding 24px
font-size 24px
text-align center
font-weight normal
color #fff
background linear-gradient(to bottom, #8bca3e, #d6cf31)
& + p
margin 0
padding 12px
margin-bottom 12px
text-align center
font-size 14px
border-bottom solid 1px #d3d9dc
> .play
margin 0 auto
padding 0 16px
max-width 500px
text-align center
> details
margin 8px 0
> div
padding 16px
font-size 14px
text-align left
background #f5f5f5
border-radius 8px
> section
margin 0 auto
padding 0 16px 16px 16px
max-width 500px
border-top solid 1px #d3d9dc
> h2
margin 0
padding 16px 0 8px 0
font-size 16px
font-weight bold
.invitation
margin 8px 0
padding 8px
border solid 1px #e1e5e8
border-radius 6px
cursor pointer
*
pointer-events none
user-select none
&:focus
border-color $theme-color
&:hover
background #f5f5f5
&:active
background #eee
> .avatar
width 32px
height 32px
border-radius 100%
> span
margin 0 8px
line-height 32px
.game
display block
margin 8px 0
padding 8px
color #677f84
border solid 1px #e1e5e8
border-radius 6px
cursor pointer
*
pointer-events none
user-select none
&:focus
border-color $theme-color
&:hover
background #f5f5f5
&:active
background #eee
> .avatar
width 32px
height 32px
border-radius 100%
> span
margin 0 8px
line-height 32px
</style>

View File

@@ -8,7 +8,11 @@
<img v-if="reaction == 'congrats'" src="/assets/reactions/congrats.png" alt="%i18n:common.reactions.congrats%">
<img v-if="reaction == 'angry'" src="/assets/reactions/angry.png" alt="%i18n:common.reactions.angry%">
<img v-if="reaction == 'confused'" src="/assets/reactions/confused.png" alt="%i18n:common.reactions.confused%">
<img v-if="reaction == 'pudding'" src="/assets/reactions/pudding.png" alt="%i18n:common.reactions.pudding%">
<img v-if="reaction == 'rip'" src="/assets/reactions/rip.png" alt="%i18n:common.reactions.rip%">
<template v-if="reaction == 'pudding'">
<img v-if="$store.getters.isSignedIn && $store.state.settings.iLikeSushi" src="/assets/reactions/sushi.png" alt="%i18n:common.reactions.pudding%">
<img v-else src="/assets/reactions/pudding.png" alt="%i18n:common.reactions.pudding%">
</template>
</span>
</template>

View File

@@ -1,7 +1,7 @@
<template>
<div class="mk-reaction-picker">
<div class="backdrop" ref="backdrop" @click="close"></div>
<div class="popover" :class="{ compact }" ref="popover">
<div class="popover" :class="{ compact, big }" ref="popover">
<p v-if="!compact">{{ title }}</p>
<div>
<button @click="react('like')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="1" title="%i18n:common.reactions.like%"><mk-reaction-icon reaction='like'/></button>
@@ -10,9 +10,10 @@
<button @click="react('hmm')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="4" title="%i18n:common.reactions.hmm%"><mk-reaction-icon reaction='hmm'/></button>
<button @click="react('surprise')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="5" title="%i18n:common.reactions.surprise%"><mk-reaction-icon reaction='surprise'/></button>
<button @click="react('congrats')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="6" title="%i18n:common.reactions.congrats%"><mk-reaction-icon reaction='congrats'/></button>
<button @click="react('angry')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="4" title="%i18n:common.reactions.angry%"><mk-reaction-icon reaction='angry'/></button>
<button @click="react('confused')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="5" title="%i18n:common.reactions.confused%"><mk-reaction-icon reaction='confused'/></button>
<button @click="react('pudding')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="6" title="%i18n:common.reactions.pudding%"><mk-reaction-icon reaction='pudding'/></button>
<button @click="react('angry')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="7" title="%i18n:common.reactions.angry%"><mk-reaction-icon reaction='angry'/></button>
<button @click="react('confused')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="8" title="%i18n:common.reactions.confused%"><mk-reaction-icon reaction='confused'/></button>
<button @click="react('rip')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="9" title="%i18n:common.reactions.rip%"><mk-reaction-icon reaction='rip'/></button>
<button @click="react('pudding')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="10" title="%i18n:common.reactions.pudding%"><mk-reaction-icon reaction='pudding'/></button>
</div>
</div>
</div>
@@ -25,7 +26,28 @@ import * as anime from 'animejs';
const placeholder = '%i18n:@choose-reaction%';
export default Vue.extend({
props: ['note', 'source', 'compact', 'cb'],
props: {
note: {
type: Object,
required: true
},
source: {
required: true
},
compact: {
type: Boolean,
required: false,
default: false
},
cb: {
required: false
},
big: {
type: Boolean,
required: false,
default: false
}
},
data() {
return {
title: placeholder
@@ -162,6 +184,16 @@ root(isDark)
border-right solid $balloon-size transparent
border-bottom solid $balloon-size $bgcolor
&.big
> div
width 280px
> button
width 50px
height 50px
font-size 28px
border-radius 4px
> p
display block
margin 0

View File

@@ -1,15 +1,16 @@
<template>
<div class="mk-reactions-viewer">
<template v-if="reactions">
<span v-if="reactions.like"><mk-reaction-icon reaction="like"/><span>{{ reactions.like }}</span></span>
<span v-if="reactions.love"><mk-reaction-icon reaction="love"/><span>{{ reactions.love }}</span></span>
<span v-if="reactions.laugh"><mk-reaction-icon reaction="laugh"/><span>{{ reactions.laugh }}</span></span>
<span v-if="reactions.hmm"><mk-reaction-icon reaction="hmm"/><span>{{ reactions.hmm }}</span></span>
<span v-if="reactions.surprise"><mk-reaction-icon reaction="surprise"/><span>{{ reactions.surprise }}</span></span>
<span v-if="reactions.congrats"><mk-reaction-icon reaction="congrats"/><span>{{ reactions.congrats }}</span></span>
<span v-if="reactions.angry"><mk-reaction-icon reaction="angry"/><span>{{ reactions.angry }}</span></span>
<span v-if="reactions.confused"><mk-reaction-icon reaction="confused"/><span>{{ reactions.confused }}</span></span>
<span v-if="reactions.pudding"><mk-reaction-icon reaction="pudding"/><span>{{ reactions.pudding }}</span></span>
<span :class="{notReacted}" @click="react('like')" v-if="reactions.like"><mk-reaction-icon reaction="like"/><span>{{ reactions.like }}</span></span>
<span :class="{notReacted}" @click="react('love')" v-if="reactions.love"><mk-reaction-icon reaction="love"/><span>{{ reactions.love }}</span></span>
<span :class="{notReacted}" @click="react('laugh')" v-if="reactions.laugh"><mk-reaction-icon reaction="laugh"/><span>{{ reactions.laugh }}</span></span>
<span :class="{notReacted}" @click="react('hmm')" v-if="reactions.hmm"><mk-reaction-icon reaction="hmm"/><span>{{ reactions.hmm }}</span></span>
<span :class="{notReacted}" @click="react('surprise')" v-if="reactions.surprise"><mk-reaction-icon reaction="surprise"/><span>{{ reactions.surprise }}</span></span>
<span :class="{notReacted}" @click="react('congrats')" v-if="reactions.congrats"><mk-reaction-icon reaction="congrats"/><span>{{ reactions.congrats }}</span></span>
<span :class="{notReacted}" @click="react('angry')" v-if="reactions.angry"><mk-reaction-icon reaction="angry"/><span>{{ reactions.angry }}</span></span>
<span :class="{notReacted}" @click="react('confused')" v-if="reactions.confused"><mk-reaction-icon reaction="confused"/><span>{{ reactions.confused }}</span></span>
<span :class="{notReacted}" @click="react('rip')" v-if="reactions.rip"><mk-reaction-icon reaction="rip"/><span>{{ reactions.rip }}</span></span>
<span :class="{notReacted}" @click="react('pudding')" v-if="reactions.pudding"><mk-reaction-icon reaction="pudding"/><span>{{ reactions.pudding }}</span></span>
</template>
</div>
</template>
@@ -21,6 +22,17 @@ export default Vue.extend({
computed: {
reactions(): number {
return this.note.reactionCounts;
},
notReacted(): boolean {
return this.note.myReaction == null;
}
},
methods: {
react(reaction: string) {
(this as any).api('notes/reactions/create', {
noteId: this.note.id,
reaction: reaction
});
}
}
});
@@ -39,6 +51,9 @@ root(isDark)
> span
margin-right 8px
&.notReacted
cursor pointer
> .mk-reaction-icon
font-size 1.4em

View File

@@ -12,13 +12,13 @@
</ui-input>
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required/>
<ui-button type="submit" :disabled="signing">{{ signing ? '%i18n:@signing-in%' : '%i18n:@signin%' }}</ui-button>
<p style="margin: 8px 0;">または<a :href="`${apiUrl}/signin/twitter`">Twitterでログイン</a></p>
<p style="margin: 8px 0;" v-if="twitterIntegration">%i18n:@or%<a :href="`${apiUrl}/signin/twitter`">%i18n:@signin-with-twitter%</a></p>
</form>
</template>
<script lang="ts">
import Vue from 'vue';
import { apiUrl, host } from '../../../config';
import { apiUrl, host, twitterIntegration } from '../../../config';
export default Vue.extend({
props: {
@@ -36,7 +36,8 @@ export default Vue.extend({
password: '',
token: '',
apiUrl,
host
host,
twitterIntegration
};
},
methods: {

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