Compare commits

...

287 Commits

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

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-29 19:07:25 +09:00
dependabot[bot]
964b34bd3b Update eslint-plugin-vue requirement from 4.7.1 to 5.0.0 (#3792)
Updates the requirements on [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) to permit the latest version.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/commits/v5.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-29 19:07:20 +09:00
syuilo
38e8d4bbea 10.70.0 2018-12-29 06:03:21 +09:00
syuilo
cb106e6fe4 🎨 2018-12-29 05:55:09 +09:00
syuilo
61411605b8 Merge pull request #3750 from syuilo/l10n_develop
New Crowdin translations
2018-12-29 05:52:34 +09:00
syuilo
0ac7682188 Better note filtering 2018-12-29 05:51:17 +09:00
syuilo
d7af18efbd [Client] Renote数の表示を廃止 2018-12-29 05:43:31 +09:00
dependabot[bot]
64bb6daa43 Update eslint requirement from 5.8.0 to 5.11.1
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v5.11.1)

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

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

* fix
2018-12-28 21:34:35 +09:00
syuilo
fd593458a6 New translations ja-JP.yml (Korean) 2018-12-28 07:42:07 +09:00
dependabot[bot]
3985fe6b09 Update @types/dateformat requirement from 1.0.1 to 3.0.0
Updates the requirements on [@types/dateformat](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 20:28:49 +00:00
dependabot[bot]
db71a5da62 Update @koa/cors requirement from 2.2.2 to 2.2.3
Updates the requirements on [@koa/cors](https://github.com/koajs/cors) to permit the latest version.
- [Release notes](https://github.com/koajs/cors/releases)
- [Changelog](https://github.com/koajs/cors/blob/master/History.md)
- [Commits](https://github.com/koajs/cors/commits/2.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 20:27:27 +00:00
dependabot[bot]
d76e3e4853 Update @types/showdown requirement from 1.7.5 to 1.9.0
Updates the requirements on [@types/showdown](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

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

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 18:50:19 +09:00
dependabot[bot]
96646e584b Update vue-svg-inline-loader requirement from 1.2.4 to 1.2.7 (#3764)
Updates the requirements on [vue-svg-inline-loader](https://github.com/oliverfindl/vue-svg-inline-loader) to permit the latest version.
- [Release notes](https://github.com/oliverfindl/vue-svg-inline-loader/releases)
- [Commits](https://github.com/oliverfindl/vue-svg-inline-loader/commits/v1.2.7)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 18:50:01 +09:00
dependabot[bot]
fb2879df9c Update @types/js-yaml requirement from 3.11.2 to 3.11.4 (#3763)
Updates the requirements on [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

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

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

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-27 18:49:33 +09:00
syuilo
20db10516c New translations ja-JP.yml (English) 2018-12-27 18:42:12 +09:00
syuilo
00631f58ec New translations ja-JP.yml (French) 2018-12-27 18:22:13 +09:00
syuilo
6731f904f2 New translations ja-JP.yml (Norwegian) 2018-12-26 23:14:31 +09:00
syuilo
f6e74f529e New translations ja-JP.yml (Dutch) 2018-12-26 23:14:22 +09:00
syuilo
c860a2f7f3 New translations ja-JP.yml (Japanese, Kansai) 2018-12-26 23:14:17 +09:00
syuilo
7b141722ae New translations ja-JP.yml (Spanish) 2018-12-26 23:14:13 +09:00
syuilo
fc516ffb7f New translations ja-JP.yml (Russian) 2018-12-26 23:14:08 +09:00
syuilo
11604593a6 New translations ja-JP.yml (Portuguese) 2018-12-26 23:14:03 +09:00
syuilo
6f3468ccd2 New translations ja-JP.yml (Polish) 2018-12-26 23:13:56 +09:00
syuilo
e3be90503c New translations ja-JP.yml (Korean) 2018-12-26 23:13:50 +09:00
syuilo
22d38e0d24 New translations ja-JP.yml (Italian) 2018-12-26 23:13:46 +09:00
syuilo
8b654fb40a New translations ja-JP.yml (German) 2018-12-26 23:13:39 +09:00
syuilo
91cd9831bc New translations ja-JP.yml (French) 2018-12-26 23:13:33 +09:00
syuilo
805d72d42f New translations ja-JP.yml (English) 2018-12-26 23:13:29 +09:00
syuilo
0d4a1719a6 New translations ja-JP.yml (Chinese Simplified) 2018-12-26 23:13:23 +09:00
syuilo
32ab57e11b New translations ja-JP.yml (Catalan) 2018-12-26 23:13:16 +09:00
syuilo
becd038660 New translations ja-JP.yml (Russian) 2018-12-26 22:31:58 +09:00
syuilo
2a6cfec0e6 New translations ja-JP.yml (Russian) 2018-12-26 22:28:10 +09:00
syuilo
c2ec81f93a New translations ja-JP.yml (French) 2018-12-26 05:31:49 +09:00
syuilo
47561a6f8b New translations ja-JP.yml (French) 2018-12-26 05:21:51 +09:00
syuilo
205c0d44d5 New translations ja-JP.yml (French) 2018-12-26 05:11:57 +09:00
syuilo
dc1bdbaaa5 New translations ja-JP.yml (French) 2018-12-26 05:01:48 +09:00
syuilo
d619a92a37 New translations ja-JP.yml (French) 2018-12-26 04:52:05 +09:00
syuilo
59ad529162 New translations ja-JP.yml (French) 2018-12-26 04:41:54 +09:00
syuilo
c4c44e04fd New translations ja-JP.yml (French) 2018-12-26 04:32:01 +09:00
syuilo
fae58a9ab0 New translations ja-JP.yml (French) 2018-12-26 04:21:58 +09:00
115 changed files with 1596 additions and 846 deletions

View File

@@ -1,6 +1,52 @@
ChangeLog ChangeLog
========= =========
10.73.0
-------
* テーマの強化
* line thiknessの設定はデバイスに保存するように
10.72.0
-------
* いくつかのテーマの追加
* デザインの調整
* バグ修正
* など
10.71.0
-------
* いくつかのテーマの追加
10.70.1
-------
* notes/mentions にミュートを適用するように
* Add id to return of users/relation
* デザインの調整
10.70.0
-------
* フォローしているユーザーからのフォローを自動承認するオプション
* 「非公開」の公開範囲を廃止
* Renote数の表示を廃止
* 投稿のフィルタリングを強化
* デザインの調整
10.69.0
-------
* 通知の管理を強化
* ユーザビリティの強化
* デザインの調整
10.68.0
-------
* 特定ユーザーにメンション付きで新規投稿ができるボタンを追加
* 自分の投稿にリアクションできないように
* 数式に文法エラーがあるとき、数式のソースをそのまま表示するように
* CWボタンにアンケートの有無を表記するように
* デスクトップ版で設定を新しいタブで開くように
* モバイル版で検索ができない問題を修正
* i18nの修正
10.67.0 10.67.0
------- -------
* トークのメッセージを削除できるように * トークのメッセージを削除できるように

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き" i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'やり直す' retry: "やり直す"
reversi: reversi:
drawn: "引き分け" drawn: "引き分け"
my-turn: "あなたのターンです" my-turn: "あなたのターンです"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あなた" you: "あなた"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "開発者" develop: "開発者"
feedback: "フィードバック" feedback: "フィードバック"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細" detail: "詳細"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "お気に入り" favorite: "お気に入り"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "位置情報" location: "位置情報"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "二段階認証" 2fa: "二段階認証"
other: "その他" other: "その他"
license: "ライセンス" license: "ライセンス"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "動作" behaviour: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "ダークモード" dark-mode: "ダークモード"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める" rounded-corners: "UIの角を丸める"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら" howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:" scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:" done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了" submit: "完了"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿" default: "投稿"
with-replies: "投稿と返信" with-replies: "投稿と返信"
with-media: "メディア" with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。" empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "メッセージ" title: "メッセージ"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "動作" behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "概要" overview: "概要"
timeline: "タイムライン" timeline: "タイムライン"
media: "メディア" media: "メディア"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "Nur für diejenigen sichtbar, die dir folgen" followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
specified: "Direkt" specified: "Direkt"
specified-desc: "Nur für bestimmte Benutzer posten" specified-desc: "Nur für bestimmte Benutzer posten"
private: "Privat"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet." my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet."
i-like-sushi: "Ich bevorzuge Sushi anstelle von Pudding" i-like-sushi: "Ich bevorzuge Sushi anstelle von Pudding"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Verifizierter Benutzer" verified-user: "Verifizierter Benutzer"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "Animationen der Benutzeroberfläche reduzieren" reduce-motion: "Animationen der Benutzeroberfläche reduzieren"
this-setting-is-this-device-only: "Nur auf diesem Gerät" this-setting-is-this-device-only: "Nur auf diesem Gerät"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'Dies ist eine Entwicklungsversion. Nicht in einer Produktionsumgebung verwenden.' do-not-use-in-production: "Dies ist eine Entwicklungsversion. Nicht in einer Produktionsumgebung verwenden."
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'Erneut versuchen' retry: "Erneut versuchen"
reversi: reversi:
drawn: "Unentschieden" drawn: "Unentschieden"
my-turn: "Du bist am Zug" my-turn: "Du bist am Zug"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "Dieser Inhalt ist NSFW" sensitive: "Dieser Inhalt ist NSFW"
click-to-show: "Klicke zum den Inhalt anzusehen" click-to-show: "Klicke zum den Inhalt anzusehen"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "Thema" light-theme: "Thema"
dark-theme: "Thema während des Nachtmodus" dark-theme: "Thema während des Nachtmodus"
light-themes: "Helles Thema" light-themes: "Helles Thema"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "Basisthema" base-theme: "Basisthema"
base-theme-light: "Hell" base-theme-light: "Hell"
base-theme-dark: "Dunkel" base-theme-dark: "Dunkel"
find-more-theme: "その他のテーマを入手"
theme-name: "Name des Themas" theme-name: "Name des Themas"
preview-created-theme: "Vorschau" preview-created-theme: "Vorschau"
invalid-theme: "Thema ist ungültig" invalid-theme: "Thema ist ungültig"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Einen Nutzer suchen" search-user: "Einen Nutzer suchen"
you: "Du" you: "Du"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "Entwickler" develop: "Entwickler"
feedback: "Feedback" feedback: "Feedback"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細" detail: "詳細"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "Diese Notiz favorisieren" favorite: "Diese Notiz favorisieren"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "Verbindung wird hergestellt" connecting: "Verbindung wird hergestellt"
reconnecting: "Erneut verbinden" reconnecting: "Erneut verbinden"
connected: "Verbindung hergestellt" connected: "Verbindung hergestellt"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "Nur für diejenigen sichtbar, die dir folgen" followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
specified: "Direkt" specified: "Direkt"
specified-desc: "Poste nur für bestimmte Benutzer" specified-desc: "Poste nur für bestimmte Benutzer"
private: "Privat"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "Ort" location: "Ort"
renote: "Anmerkung" renote: "Anmerkung"
add-reaction: "Reaktion hinzufügen" add-reaction: "Reaktion hinzufügen"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "Zwei-Faktor-Authentifizierung" 2fa: "Zwei-Faktor-Authentifizierung"
other: "Anderes" other: "Anderes"
license: "Lizenz" license: "Lizenz"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "Verhalten" behaviour: "Verhalten"
fetch-on-scroll: "Aktualisieren beim scrollen" fetch-on-scroll: "Aktualisieren beim scrollen"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "Nacht Modus" dark-mode: "Nacht Modus"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "Abgerundete Ecken" rounded-corners: "Abgerundete Ecken"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "Kreisförmige Icons" circle-icons: "Kreisförmige Icons"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "Der Cache deines Benutzerkontos (Info, Beiträge, Antworten, Direktnachrichten, Einstellungen), die lokal im Browser gespeichert sind werden gelöscht.\nDu musst die Seite aktualisieren nachdem du aufgeräumt hast." cache-warn: "Der Cache deines Benutzerkontos (Info, Beiträge, Antworten, Direktnachrichten, Einstellungen), die lokal im Browser gespeichert sind werden gelöscht.\nDu musst die Seite aktualisieren nachdem du aufgeräumt hast."
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Bitte Passwort eingeben" enter-password: "Bitte Passwort eingeben"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら" howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:" scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:" done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了" submit: "完了"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿" default: "投稿"
with-replies: "投稿と返信" with-replies: "投稿と返信"
with-media: "メディア" with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。" empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "メッセージ" title: "メッセージ"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "動作" behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "概要" overview: "概要"
timeline: "タイムライン" timeline: "タイムライン"
media: "メディア" media: "メディア"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -18,7 +18,7 @@ common:
ui-desc: "No UI fits for everyone. Therefore, Misskey has a highly customizable UI for your taste. Make your original home by editing, adjusting layouts of timeline and placing selectable widgets you can easily customize." ui-desc: "No UI fits for everyone. Therefore, Misskey has a highly customizable UI for your taste. Make your original home by editing, adjusting layouts of timeline and placing selectable widgets you can easily customize."
drive: "Drive" drive: "Drive"
drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online." drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online."
outro: "Check further Misskey-unique features on your eyes! Feeling like this is not for you, try other instances as Misskey is a decentralized SNS so that you can easily find your mates. Then, GLHF!" outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!"
adblock: adblock:
detected: "Please disable ad blocker." detected: "Please disable ad blocker."
warning: "Some features may be unavailable or cause malfunctions if ad blocking features are enabled. <strong>Misskey is not running ads</strong>." warning: "Some features may be unavailable or cause malfunctions if ad blocking features are enabled. <strong>Misskey is not running ads</strong>."
@@ -90,7 +90,6 @@ common:
followers-desc: "Post to followers only" followers-desc: "Post to followers only"
specified: "Direct" specified: "Direct"
specified-desc: "Post to specified users only" specified-desc: "Post to specified users only"
private: "Private"
local-public: "Public (Only local)" local-public: "Public (Only local)"
local-home: "Home (Only local)" local-home: "Home (Only local)"
local-followers: "Followers (Only local)" local-followers: "Followers (Only local)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Your token has been regenerated, so you will be signed out." my-token-regenerated: "Your token has been regenerated, so you will be signed out."
i-like-sushi: "I prefer sushi rather than pudding" i-like-sushi: "I prefer sushi rather than pudding"
show-reversi-board-labels: "Show row and column labels in Reversi" show-reversi-board-labels: "Show row and column labels in Reversi"
use-white-black-reversi-stones: "Use white-black stone in reversi" use-avatar-reversi-stones: "Use avatar as a stone in reversi"
verified-user: "Verified account" verified-user: "Verified account"
disable-animated-mfm: "Disable animated texts in a post" disable-animated-mfm: "Disable animated texts in a post"
suggest-recent-hashtags: "Suggest recently used hashtags within the post composition area" suggest-recent-hashtags: "Suggest recently used hashtags within the post composition area"
@@ -121,14 +120,15 @@ common:
reduce-motion: "Reduce motion in UI" reduce-motion: "Reduce motion in UI"
this-setting-is-this-device-only: "Only for this device" this-setting-is-this-device-only: "Only for this device"
use-os-default-emojis: "Use the OS default Emojis" use-os-default-emojis: "Use the OS default Emojis"
do-not-use-in-production: 'This is a development build. Do not use in production.' do-not-use-in-production: "This is a development build. Do not use in production."
user-suspended: "This user has been suspended."
is-remote-user: "This user information is copied." is-remote-user: "This user information is copied."
is-remote-post: "This post information is a copy." is-remote-post: "This post information is a copy."
view-on-remote: "View it on remote" view-on-remote: "View it on remote"
renoted-by: "Renoted by {user}" renoted-by: "Renoted by {user}"
error: error:
title: 'Something happened :(' title: "Something happened :("
retry: 'Retry' retry: "Retry"
reversi: reversi:
drawn: "Draw" drawn: "Draw"
my-turn: "Your turn" my-turn: "Your turn"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "NSFW" sensitive: "NSFW"
click-to-show: "Click to show" click-to-show: "Click to show"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "Theme"
light-theme: "Theme" light-theme: "Theme"
dark-theme: "Theme during dark mode" dark-theme: "Theme during dark mode"
light-themes: "Light theme" light-themes: "Light theme"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "Base theme" base-theme: "Base theme"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "Find more themes"
theme-name: "Theme name" theme-name: "Theme name"
preview-created-theme: "Preview" preview-created-theme: "Preview"
invalid-theme: "Not valid theme" invalid-theme: "Not valid theme"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "See more" show: "See more"
chars: "{count} chars" chars: "{count} chars"
files: "{count} files" files: "{count} files"
poll: "Poll"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Find a user" search-user: "Find a user"
you: "You" you: "You"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "Developers" develop: "Developers"
feedback: "Feedback" feedback: "Feedback"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "Mention"
detail: "Details" detail: "Details"
copy-link: "Copy link" copy-link: "Copy link"
favorite: "Favorite this note" favorite: "Favorite this note"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "Connecting" connecting: "Connecting"
reconnecting: "Reconnecting" reconnecting: "Reconnecting"
connected: "Connected" connected: "Connected"
common/views/components/notification-settings.vue:
title: "Notifications"
mark-as-read-all-notifications: "Mark all notifications as read"
mark-as-read-all-unread-notes: "Mark all posts as read"
mark-as-read-all-talk-messages: "Mark all conversations as read"
auto-watch: "Automatically watch out for posts"
auto-watch-desc: "Automatically receive notifications about posts you react to, or respond to."
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "Service cooperation" title: "Service cooperation"
connect: "Connect" connect: "Connect"
@@ -416,7 +427,7 @@ common/views/components/github-setting.vue:
connect: "Link your GitHub account" connect: "Link your GitHub account"
disconnect: "Disconnect" disconnect: "Disconnect"
common/views/components/discord-setting.vue: common/views/components/discord-setting.vue:
description: "Once you connect your Discord account to your Misskey account, you will be able to see information about your Discord account on your profile, and you will be able to sign-in using Discord." description: "Once you connect your Discord account to your Misskey account, you will be able to see information from your Discord account on your profile, and you will be able to sign-in using Discord."
connected-to: "You are connected to this Discord account" connected-to: "You are connected to this Discord account"
detail: "Details…" detail: "Details…"
reconnect: "Reconnect" reconnect: "Reconnect"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "Post to Followers only" followers-desc: "Post to Followers only"
specified: "Direct" specified: "Direct"
specified-desc: "Post to specified users only" specified-desc: "Post to specified users only"
private: "Private"
local-public: "Local (Public)" local-public: "Local (Public)"
local-public-desc: "Do not publish to remote" local-public-desc: "Do not publish to remote"
local-home: "Home (Only local)" local-home: "Home (Only local)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "This account is a Bot" is-bot: "This account is a Bot"
is-locked: "Follower requests require approval" is-locked: "Follower requests require approval"
careful-bot: "Follower requests from bots require approval" careful-bot: "Follower requests from bots require approval"
auto-accept-followed: "Automatically approve follows from the people you follow"
advanced: "Other" advanced: "Other"
privacy: "Privacy" privacy: "Privacy"
save: "Save" save: "Save"
@@ -488,8 +499,8 @@ common/views/widgets/calendar.vue:
month: "{}," month: "{},"
day: "{}" day: "{}"
today: "Today: " today: "Today: "
this-month: "This month: " this-month: "Month:"
this-year: "This year: " this-year: "Year:"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "Photo stream" title: "Photo stream"
no-photos: "No photos" no-photos: "No photos"
@@ -527,11 +538,11 @@ common/views/widgets/tips.vue:
tips-line19: "Several windows can be detached outside the browser." tips-line19: "Several windows can be detached outside the browser."
tips-line20: "The percentage of the calendar widget shows the percentage of time elapsed." tips-line20: "The percentage of the calendar widget shows the percentage of time elapsed."
tips-line21: "You can also use the API to develop bots." tips-line21: "You can also use the API to develop bots."
tips-line23: "Mayu is so cute with its eyebrows." tips-line23: "Ai-chan kawaii!"
tips-line24: "Misskey has been running since 2014." tips-line24: "Misskey has been running since 2014."
tips-line25: "In a browser compatible with notification features, you can receive notifications in case Misskey is not open" tips-line25: "In a browser compatible with notification features, you can receive notifications in case Misskey is not open"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "Page not found" page-not-found: "The page has not been found"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "Signed in as {}" signed-in-as: "Signed in as {}"
following: "Following" following: "Following"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "Location" location: "Location"
renote: "Repost" renote: "Repost"
add-reaction: "Add a reaction" add-reaction: "Add a reaction"
undo-reaction: "Reverse reaction"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "Reply" reply: "Reply"
renote: "Renote" renote: "Renote"
add-reaction: "Add a reaction" add-reaction: "Add a reaction"
undo-reaction: "Reverse reaction"
detail: "Details" detail: "Details"
private: "This post is private" private: "This post is private"
deleted: "This post has been deleted" deleted: "This post has been deleted"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "Two-factor authentication" 2fa: "Two-factor authentication"
other: "Other" other: "Other"
license: "License" license: "License"
mark-as-read-all-unread-notes: "Mark all posts as read"
theme: "Theme" theme: "Theme"
behaviour: "Behavior" behaviour: "Behavior"
fetch-on-scroll: "Endless loading on scroll" fetch-on-scroll: "Endless loading on scroll"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "Dark Mode" dark-mode: "Dark Mode"
use-shadow: "Use shadows in the UI" use-shadow: "Use shadows in the UI"
rounded-corners: "Round corners of UI" rounded-corners: "Round corners of UI"
line-width: "Line thickness"
line-width-thin: "Thin"
line-width-normal: "Regular"
line-width-thick: "Thick"
circle-icons: "Use circle icons" circle-icons: "Use circle icons"
contrasted-acct: "Add contrast to username" contrasted-acct: "Add contrast to username"
post-form-on-timeline: "Display post form at the top of the timeline" post-form-on-timeline: "Display post form at the top of the timeline"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "The cache of account info/posts/replies/messages/settings stored in the browser will be deleted. You need to reload the page after cleaning up." cache-warn: "The cache of account info/posts/replies/messages/settings stored in the browser will be deleted. You need to reload the page after cleaning up."
cache-cleared: "Cache cleared" cache-cleared: "Cache cleared"
cache-cleared-desc: "Please reload the page." cache-cleared-desc: "Please reload the page."
auto-watch: "Automatic watch"
auto-watch-desc: "Receive notifications about the post/reply/reaction automatically."
about: "About Misskey" about: "About Misskey"
operator: "The admin of this instance" operator: "The admin of this instance"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Enter the password" enter-password: "Enter the password"
authenticator: "First, you need to install Google Authenticator on your device:" authenticator: "First, you need to install Google Authenticator on your device:"
howtoinstall: "How to install" howtoinstall: "How to install"
token: "Token"
scan: "And then, scan the QR code:" scan: "And then, scan the QR code:"
done: "Please enter the token displayed on your device:" done: "Please enter the token displayed on your device:"
submit: "Submit" submit: "Submit"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "Enter the password" enter-password: "Enter the password"
console: console:
title: 'API console' title: "API console"
endpoint: 'Endpoint' endpoint: "Endpoint"
parameter: 'Parameters' parameter: "Parameters"
credential-info: "Parameter \"i\" is not required at this console." credential-info: "Parameter \"i\" is not required at this console."
send: 'Send' send: "Send"
sending: 'Sending' sending: "Sending"
response: 'Result' response: "Result"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "No linked applications" no-apps: "No linked applications"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1005,8 +1020,8 @@ admin/views/instance.vue:
enable-github-integration: "Enable connection to GitHub" enable-github-integration: "Enable connection to GitHub"
github-integration-client-id: "Client ID" github-integration-client-id: "Client ID"
github-integration-client-secret: "Client Secret" github-integration-client-secret: "Client Secret"
discord-integration-config: "Setting of Discord Integration" discord-integration-config: "Discord Integration settings"
discord-integration-info: "The callback URL is set on {url}." discord-integration-info: "The callback URL is set to {url}."
enable-discord-integration: "Enable Discord connection" enable-discord-integration: "Enable Discord connection"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "Notes" posts: "Notes"
following: "Following" following: "Following"
followers: "Followers" followers: "Followers"
mention: "Mentions"
is-bot: "This account is a Bot" is-bot: "This account is a Bot"
years-old: "{age} years old" years-old: "{age} years old"
year: "/" year: "/"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "Posts" default: "Posts"
with-replies: "Posts and replies" with-replies: "Posts and replies"
with-media: "Media" with-media: "Media"
my-posts: "My posts"
empty: "This user doesn't seem to have posted anything yet." empty: "This user doesn't seem to have posted anything yet."
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "Message" title: "Message"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "Notification style" notification-position: "Notification style"
notification-position-bottom: "Bottom" notification-position-bottom: "Bottom"
notification-position-top: "Top" notification-position-top: "Top"
theme: "Theme"
behavior: "Behavior" behavior: "Behavior"
fetch-on-scroll: "Endless loading on scroll" fetch-on-scroll: "Endless loading on scroll"
note-visibility: "Post visibility" note-visibility: "Post visibility"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "Overview" overview: "Overview"
timeline: "Timeline" timeline: "Timeline"
media: "Media" media: "Media"
is-suspended: "This account has been suspended."
mute: "Mute" mute: "Mute"
unmute: "Unmute" unmute: "Unmute"
block: "Block" block: "Block"
@@ -1509,13 +1524,14 @@ deck/deck.user-column.vue:
posts: "Posts" posts: "Posts"
following: "Following" following: "Following"
followers: "Followers" followers: "Followers"
mention: "Mentions"
images: "Images" images: "Images"
activity: "Activity" activity: "Activity"
timeline: "Timeline" timeline: "Timeline"
pinned-notes: "Pinned posts" pinned-notes: "Pinned posts"
push-to-a-list: "Add to list" push-to-a-list: "Add to list"
docs: docs:
edit-this-page-on-github: "Found a mistake or want to contribute for the documentation?" edit-this-page-on-github: "Found an error, or do you want to contribute to the documentation?"
edit-this-page-on-github-link: "Edit this page at GitHub!" edit-this-page-on-github-link: "Edit this page at GitHub!"
api: api:
entities: entities:

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Tu token se ha regenerado vas a ser desconectado." my-token-regenerated: "Tu token se ha regenerado vas a ser desconectado."
i-like-sushi: "Prefiero sushi a pudín" i-like-sushi: "Prefiero sushi a pudín"
show-reversi-board-labels: "Mostrar etiquetas de filas y columnas en Reversi" show-reversi-board-labels: "Mostrar etiquetas de filas y columnas en Reversi"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Cuenta verificada" verified-user: "Cuenta verificada"
disable-animated-mfm: "Desactivar texto animado en una publicación" disable-animated-mfm: "Desactivar texto animado en una publicación"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'Esto está en desarrollo, no usarlo para producción.' do-not-use-in-production: "Esto está en desarrollo, no usarlo para producción."
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'やり直す' retry: "やり直す"
reversi: reversi:
drawn: "Empatado" drawn: "Empatado"
my-turn: "Mi turno" my-turn: "Mi turno"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Encuentra un usuario" search-user: "Encuentra un usuario"
you: "Tu" you: "Tu"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "Desarrolladores" develop: "Desarrolladores"
feedback: "Opiniones" feedback: "Opiniones"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "Detalles" detail: "Detalles"
copy-link: "Copiar enlace" copy-link: "Copiar enlace"
favorite: "Me gusta esta nota" favorite: "Me gusta esta nota"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "Conectando" connecting: "Conectando"
reconnecting: "Reconectando" reconnecting: "Reconectando"
connected: "Conectado" connected: "Conectado"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "Piblica solo para tus seguidores" followers-desc: "Piblica solo para tus seguidores"
specified: "Directo" specified: "Directo"
specified-desc: "Publica solo para los seguidores que quieras" specified-desc: "Publica solo para los seguidores que quieras"
private: "Privada"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "Algunas ventanas pueden ser separadas fuera del navegador" tips-line19: "Algunas ventanas pueden ser separadas fuera del navegador"
tips-line20: "El porcentaje mostrando en el accesorio de calendario indica el porcentaje de tiempo transcurrido." tips-line20: "El porcentaje mostrando en el accesorio de calendario indica el porcentaje de tiempo transcurrido."
tips-line21: "También puedes usar la API para desarrollar tus propios bots." tips-line21: "También puedes usar la API para desarrollar tus propios bots."
tips-line23: "Mayu is tan bonito con sus cejas." tips-line23: "藍かわいいよ藍"
tips-line24: "Misskey inició en 2014." tips-line24: "Misskey inició en 2014."
tips-line25: "Puedes recibir notificaciones incluso si Misskey no está abierto en un navegador compatible." tips-line25: "Puedes recibir notificaciones incluso si Misskey no está abierto en un navegador compatible."
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "Autenticado como {}" signed-in-as: "Autenticado como {}"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "Localización" location: "Localización"
renote: "Republicar" renote: "Republicar"
add-reaction: "Agregar una reacción" add-reaction: "Agregar una reacción"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "Autenticación de Doble-Factor" 2fa: "Autenticación de Doble-Factor"
other: "Otros" other: "Otros"
license: "Licencia" license: "Licencia"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "Acciones" behaviour: "Acciones"
fetch-on-scroll: "Desplazamiento infinito" fetch-on-scroll: "Desplazamiento infinito"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "Modo Nocturno" dark-mode: "Modo Nocturno"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める" rounded-corners: "UIの角を丸める"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "Usar iconos circulares" circle-icons: "Usar iconos circulares"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "Mostrar el formulario de las entradas encima de la línea de tiempo" post-form-on-timeline: "Mostrar el formulario de las entradas encima de la línea de tiempo"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Escribe una contraseña" enter-password: "Escribe una contraseña"
authenticator: "Primero, necesitas instalar Google Authenticator en tu dispositivo:" authenticator: "Primero, necesitas instalar Google Authenticator en tu dispositivo:"
howtoinstall: "Cómo instalar" howtoinstall: "Cómo instalar"
token: "トークン"
scan: "Luego, escanea el código QR:" scan: "Luego, escanea el código QR:"
done: "Por favor ingresa el token mostrado en tu dispositivo:" done: "Por favor ingresa el token mostrado en tu dispositivo:"
submit: "Enviar" submit: "Enviar"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "No hay aplicaciones asociadas" no-apps: "No hay aplicaciones asociadas"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿" default: "投稿"
with-replies: "投稿と返信" with-replies: "投稿と返信"
with-media: "メディア" with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。" empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "メッセージ" title: "メッセージ"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "動作" behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "概要" overview: "概要"
timeline: "タイムライン" timeline: "タイムライン"
media: "メディア" media: "メディア"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -8,12 +8,12 @@ common:
about: "Merci davoir choisis Misskey. Misskey est une <b>plateforme de microblogage distribuée</b> née sur Terre et fait partie du Fédiverse (un univers composé de diverses plateformes de réseaux sociaux organisées), elle est connectée mutuellement avec dautres plateformes de réseaux sociaux. Désirez-vous prendre une pause, un court instant, loin de lagitation de la ville et plonger dans un Internet dun nouveau genre ?" about: "Merci davoir choisis Misskey. Misskey est une <b>plateforme de microblogage distribuée</b> née sur Terre et fait partie du Fédiverse (un univers composé de diverses plateformes de réseaux sociaux organisées), elle est connectée mutuellement avec dautres plateformes de réseaux sociaux. Désirez-vous prendre une pause, un court instant, loin de lagitation de la ville et plonger dans un Internet dun nouveau genre ?"
intro: intro:
title: "Cest quoi Misskey ?" title: "Cest quoi Misskey ?"
about: "Misskey est un <b>réseau social de Microblogage</b> open source. Il offre une interface utilisateur riche et hautement personnalisable, une variété de réactions aux publications et un lecteur pour la gestion centralisée de fichiers. De plus, comme il est possible de se connecter au reste du du Fédiverse, vous pouvez interagir avec d'autres plateformes fédérées. Par exemple, si vous publiez quelque chose, la note sera transmise non seulement aux utilisateurs de Misskey, mais aussi à d'autres plateformes de réseaux sociaux dans le Fédiverse. Imaginez que vous puissiez transmettre des ondes radio d'une planète vers l'autre." about: "Misskey est un <b>réseau social de Microblogage</b> open source. Il offre une interface utilisateur riche et hautement personnalisable, une variété de réactions aux publications et un lecteur pour la gestion centralisée de fichiers. De plus, comme il est possible de se connecter au reste du Fédiverse, vous pouvez interagir avec d'autres plateformes fédérées. Par exemple, si vous publiez quelque chose, la note sera transmise non seulement aux utilisateurs de Misskey, mais aussi à d'autres plateformes de réseaux sociaux dans le Fédiverse. Imaginez que vous puissiez transmettre des ondes radio d'une planète vers l'autre."
features: "Options" features: "Options"
rich-contents: "Notes" rich-contents: "Notes"
rich-contents-desc: "Partagez vos idées, les événements et les sujets qui vous tiennent à cœur ainsi que tout autre chose que vous souhaitez partager avec les autres. Si vous le désirez, vous pouvez décorer vos messages en utilisant une syntaxe différente ou en y joignant des sondages et des fichiers, tels que les photos ou les vidéos que vous aimez." rich-contents-desc: "Partagez vos idées, les événements et les sujets qui vous tiennent à cœur ainsi que tout autre chose que vous souhaitez partager avec les autres. Si vous le désirez, vous pouvez décorer vos messages en utilisant une syntaxe différente ou en y joignant des sondages et des fichiers, tels que les photos ou les vidéos que vous aimez."
reaction: "Réactions" reaction: "Réactions"
reaction-desc: "Une manière simple d'exprimer vos émotions. Misskey peut attacher diverses réactions aux publications des autres utilisateurs. Si vous goûtez aux réactions sur Misskey une fois, vous ne pourrez plus être en mesure de retourner vers une autre plateforme de réseaux sociaux n'offrant que des \"J'aime\"." reaction-desc: "Une manière simple d'exprimer vos émotions. Misskey peut attacher diverses réactions aux publications des autres utilisateurs. Si vous essayez les réactions sur Misskey, vous ne pourrez plus retourner sur une autre plateforme de réseaux sociaux n'offrant que des « J'aime »."
ui: "Interface utilisateur" ui: "Interface utilisateur"
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。" ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
drive: "Drive" drive: "Drive"
@@ -33,7 +33,7 @@ common:
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>" paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
gotit: "Compris !" gotit: "Compris !"
notification: notification:
file-uploaded: "Le fichier a été transféré !" file-uploaded: "Le fichier a été téléversé !"
message-from: "Message de {} :" message-from: "Message de {} :"
reversi-invited: "Invité à jouer" reversi-invited: "Invité à jouer"
reversi-invited-by: "Invité par {} :" reversi-invited-by: "Invité par {} :"
@@ -90,7 +90,6 @@ common:
followers-desc: "Publier à vos abonnés uniquement" followers-desc: "Publier à vos abonnés uniquement"
specified: "Direct" specified: "Direct"
specified-desc: "Publier uniquement aux utilisateurs mentionnés" specified-desc: "Publier uniquement aux utilisateurs mentionnés"
private: "Privé"
local-public: "Local (Public)" local-public: "Local (Public)"
local-home: "Accueil (local uniquement)" local-home: "Accueil (local uniquement)"
local-followers: "Local (Abonnés)" local-followers: "Local (Abonnés)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Votre jeton vient dêtre généré, vous allez maintenant être déconnecté." my-token-regenerated: "Votre jeton vient dêtre généré, vous allez maintenant être déconnecté."
i-like-sushi: "Je préfère les sushis plutôt que le pudding" i-like-sushi: "Je préfère les sushis plutôt que le pudding"
show-reversi-board-labels: "Afficher les étiquettes des lignes et colonnes dans Reversi" show-reversi-board-labels: "Afficher les étiquettes des lignes et colonnes dans Reversi"
use-white-black-reversi-stones: "Jouer avec des pions noirs et blancs sur Reversi" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Compte vérifié" verified-user: "Compte vérifié"
disable-animated-mfm: "Désactiver les textes animés dans les publications" disable-animated-mfm: "Désactiver les textes animés dans les publications"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "Réduire les animations dans linterface utilisateur" reduce-motion: "Réduire les animations dans linterface utilisateur"
this-setting-is-this-device-only: "Uniquement sur cet appareil" this-setting-is-this-device-only: "Uniquement sur cet appareil"
use-os-default-emojis: "Utiliser les émojis standards du système" use-os-default-emojis: "Utiliser les émojis standards du système"
do-not-use-in-production: 'Il sagit dune version de développement. Ne pas utiliser dans un environnement de production.' do-not-use-in-production: "Il sagit dune version de développement. Ne pas utiliser dans un environnement de production."
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "Ces informations appartiennent à un utilisateur distant." is-remote-user: "Ces informations appartiennent à un utilisateur distant."
is-remote-post: "Ceci est une publication distante." is-remote-post: "Ceci est une publication distante."
view-on-remote: " Consulter le profil complet" view-on-remote: " Consulter le profil complet"
renoted-by: "Renoté par {user}" renoted-by: "Renoté par {user}"
error: error:
title: 'Une erreur est survenue' title: "Une erreur est survenue"
retry: 'Réessayer' retry: "Réessayer"
reversi: reversi:
drawn: "Partie nulle" drawn: "Partie nulle"
my-turn: "Cest votre tour" my-turn: "Cest votre tour"
@@ -150,7 +150,7 @@ common:
memo: "Pense-bête" memo: "Pense-bête"
trends: "Tendances" trends: "Tendances"
photo-stream: "Flux de photos" photo-stream: "Flux de photos"
posts-monitor: "Graph des publications" posts-monitor: "Graphe des publications"
slideshow: "Diaporama" slideshow: "Diaporama"
version: "Version" version: "Version"
broadcast: "Diffusion" broadcast: "Diffusion"
@@ -210,7 +210,7 @@ common/views/components/games/reversi/reversi.index.vue:
invitations: "Vous avez reçu une invitation !" invitations: "Vous avez reçu une invitation !"
my-games: "Mes jeux" my-games: "Mes jeux"
all-games: "Tous les jeux" all-games: "Tous les jeux"
enter-username: "Saisir un nom d'utilisateur·rice" enter-username: "Saisir un nom d'utilisateur"
game-state: game-state:
ended: "Terminée" ended: "Terminée"
playing: "En cours" playing: "En cours"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "Contenu sensible" sensitive: "Contenu sensible"
click-to-show: "Cliquer pour afficher" click-to-show: "Cliquer pour afficher"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "Thème en mode jour" light-theme: "Thème en mode jour"
dark-theme: "Thème en mode nuit" dark-theme: "Thème en mode nuit"
light-themes: "Thème clair" light-themes: "Thème clair"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "Thème de base" base-theme: "Thème de base"
base-theme-light: "Clair" base-theme-light: "Clair"
base-theme-dark: "Sombre" base-theme-dark: "Sombre"
find-more-theme: "その他のテーマを入手"
theme-name: "Nom du Thème" theme-name: "Nom du Thème"
preview-created-theme: "Prévisualisation" preview-created-theme: "Prévisualisation"
invalid-theme: "Thème nest pas valide." invalid-theme: "Thème nest pas valide."
@@ -299,8 +301,9 @@ common/views/components/cw-button.vue:
show: "Voir plus" show: "Voir plus"
chars: "{count} caractères" chars: "{count} caractères"
files: "{count} fichiers" files: "{count} fichiers"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Trouver un·e utilisateur·trice" search-user: "Trouver un utilisateur"
you: "Vous" you: "Vous"
no-history: "Pas d'historique" no-history: "Pas d'historique"
common/views/components/messaging-room.vue: common/views/components/messaging-room.vue:
@@ -323,11 +326,12 @@ common/views/components/nav.vue:
stats: "Statistiques" stats: "Statistiques"
status: "Statut" status: "Statut"
wiki: "Wiki" wiki: "Wiki"
donors: "Donateur·rice·s" donors: "Donateurs"
repository: "Dépôt" repository: "Dépôt"
develop: "Développeurs" develop: "Développeurs"
feedback: "Suggestions" feedback: "Suggestions"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "Détails" detail: "Détails"
copy-link: "Copier le lien" copy-link: "Copier le lien"
favorite: "Mettre cette note en favoris" favorite: "Mettre cette note en favoris"
@@ -340,7 +344,7 @@ common/views/components/note-menu.vue:
common/views/components/poll.vue: common/views/components/poll.vue:
vote-to: "Voter pour '{}'" vote-to: "Voter pour '{}'"
vote-count: "{} votes" vote-count: "{} votes"
total-users: "{} utilisateur·rice·s ont voté·e·s" total-users: "{} utilisateurs ont voté"
vote: "Vote" vote: "Vote"
show-result: "Montrer les résultats" show-result: "Montrer les résultats"
voted: "Voté" voted: "Voté"
@@ -363,7 +367,7 @@ common/views/components/emoji-picker.vue:
symbols: "Symboles" symbols: "Symboles"
flags: "Drapeaux" flags: "Drapeaux"
common/views/components/signin.vue: common/views/components/signin.vue:
username: "Nom d'utilisateur·rice" username: "Nom d'utilisateur"
password: "Mot de passe" password: "Mot de passe"
token: "Jeton" token: "Jeton"
signing-in: "Connexion…" signing-in: "Connexion…"
@@ -375,8 +379,8 @@ common/views/components/signin.vue:
login-failed: "Échec dauthentification. Veuillez vérifier que votre nom dutilisateur et mot de passe sont corrects." login-failed: "Échec dauthentification. Veuillez vérifier que votre nom dutilisateur et mot de passe sont corrects."
common/views/components/signup.vue: common/views/components/signup.vue:
invitation-code: "Code dinvitation" invitation-code: "Code dinvitation"
invitation-info: "Si vous navez pas de code dinvitation, contactez un·e <a href=\"{}\">administrateur·rice</a>." invitation-info: "Si vous navez pas de code dinvitation, contactez un <a href=\"{}\">administrateur</a>."
username: "Nom d'utilisateur·rice" username: "Nom d'utilisateur"
checking: "Vérification…" checking: "Vérification…"
available: "Disponible" available: "Disponible"
unavailable: "Non disponible" unavailable: "Non disponible"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "Connexion en cours" connecting: "Connexion en cours"
reconnecting: "Reconnexion en cours" reconnecting: "Reconnexion en cours"
connected: "Connecté" connected: "Connecté"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "Intégrations" title: "Intégrations"
connect: "Connecter" connect: "Connecter"
@@ -418,7 +429,7 @@ common/views/components/github-setting.vue:
common/views/components/discord-setting.vue: common/views/components/discord-setting.vue:
description: "Si vous liez votre compte Discord à votre compte Misskey, vous serez en mesure de voir votre compte Twitter s'afficher sur votre profil, vous aurez aussi la possibilité de vous connecter à Misskey en utilisant votre compte Discord." description: "Si vous liez votre compte Discord à votre compte Misskey, vous serez en mesure de voir votre compte Twitter s'afficher sur votre profil, vous aurez aussi la possibilité de vous connecter à Misskey en utilisant votre compte Discord."
connected-to: "Vous êtes connecté à votre compte Discord" connected-to: "Vous êtes connecté à votre compte Discord"
detail: "Détails …" detail: "Détails…"
reconnect: "Reconnecter" reconnect: "Reconnecter"
connect: "Lier votre compte Discord" connect: "Lier votre compte Discord"
disconnect: "Déconnecter" disconnect: "Déconnecter"
@@ -428,17 +439,16 @@ common/views/components/visibility-chooser.vue:
public: "Public" public: "Public"
home: "Accueil" home: "Accueil"
home-desc: "Publier sur le fil d'Accueil uniquement" home-desc: "Publier sur le fil d'Accueil uniquement"
followers: "Abonné·e·s" followers: "Abonnés"
followers-desc: "Publier à vos abonné·e·s uniquement" followers-desc: "Publier à vos abonnés uniquement"
specified: "Direct" specified: "Direct"
specified-desc: "Publier uniquement aux utilisateurs·rices mentionné·e·s" specified-desc: "Publier uniquement aux utilisateurs mentionnés"
private: "Privé"
local-public: "Local (Public)" local-public: "Local (Public)"
local-public-desc: "Ne pas publier pour les distants" local-public-desc: "Ne pas publier pour les distants"
local-home: "Accueil (local uniquement)" local-home: "Accueil (local uniquement)"
local-followers: "Local (Abonnés)" local-followers: "Local (Abonnés)"
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{} utilisateurs·rices mentionnés·es" count: "{} utilisateurs mentionnés"
empty: "Aucune tendance" empty: "Aucune tendance"
common/views/components/language-settings.vue: common/views/components/language-settings.vue:
title: "Langue " title: "Langue "
@@ -461,11 +471,12 @@ common/views/components/profile-editor.vue:
is-bot: "Ce compte est un Bot" is-bot: "Ce compte est un Bot"
is-locked: "Demandes dabonnements requièrent lapprobation" is-locked: "Demandes dabonnements requièrent lapprobation"
careful-bot: "Les demandes dabonnements venant de Bots requièrent lapprobation" careful-bot: "Les demandes dabonnements venant de Bots requièrent lapprobation"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "Avancé" advanced: "Avancé"
privacy: "Vie privée" privacy: "Vie privée"
save: "Mettre à jour le profil" save: "Mettre à jour le profil"
saved: "Profil mis à jour avec succès" saved: "Profil mis à jour avec succès"
uploading: "En cours d'envoi …" uploading: "En cours d'envoi…"
upload-failed: "Échec de l'envoi" upload-failed: "Échec de l'envoi"
email: "Paramètres de messagerie" email: "Paramètres de messagerie"
email-address: "Adresse de courrier électronique" email-address: "Adresse de courrier électronique"
@@ -494,7 +505,7 @@ common/views/widgets/photo-stream.vue:
title: "Flux de photos" title: "Flux de photos"
no-photos: "Pas de photo" no-photos: "Pas de photo"
common/views/widgets/posts-monitor.vue: common/views/widgets/posts-monitor.vue:
title: "Graph des publications" title: "Graphe des publications"
toggle: "Basculer entre les vues" toggle: "Basculer entre les vues"
common/views/widgets/hashtags.vue: common/views/widgets/hashtags.vue:
title: "Hashtags" title: "Hashtags"
@@ -527,25 +538,25 @@ common/views/widgets/tips.vue:
tips-line19: "Plusieurs fenêtres peuvent être détachées en dehors du navigateur." tips-line19: "Plusieurs fenêtres peuvent être détachées en dehors du navigateur."
tips-line20: "Pourcentage sur le widget calendrier qui indique le pourcentage de temps passé" tips-line20: "Pourcentage sur le widget calendrier qui indique le pourcentage de temps passé"
tips-line21: "Vous pouvez aussi utiliser l'API pour développer des Bots." tips-line21: "Vous pouvez aussi utiliser l'API pour développer des Bots."
tips-line23: "Mayu est mignonne avec ses sourcils." tips-line23: "藍かわいいよ藍"
tips-line24: "Misskey est fonctionnel depuis 2014" tips-line24: "Misskey est fonctionnel depuis 2014"
tips-line25: "Vous pouvez recevoir les notifications de Misskey dans un navigateur web compatible" tips-line25: "Vous pouvez recevoir les notifications de Misskey dans un navigateur web compatible"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "La page demandée est introuvable !" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "Connecté·e en tant que {}" signed-in-as: "Connecté en tant que {}"
following: "Suit" following: "Suit"
follow: "Suivre" follow: "Suivre"
request-pending: "Demande dabonnement en attente" request-pending: "Demande dabonnement en attente"
follow-processing: "Demande en attente" follow-processing: "Demande en attente"
follow-request: "Demande dabonnement" follow-request: "Demande dabonnement"
desktop: desktop:
banner-crop-title: "Découpez la partie qui apparaitra comme bannière" banner-crop-title: "Découpez la partie qui apparaîtra comme bannière"
banner: "Bannière" banner: "Bannière"
uploading-banner: "Téléversement d'une nouvelle bannière" uploading-banner: "Téléversement d'une nouvelle bannière"
banner-updated: "Mise à jour de la bannière avec succès" banner-updated: "Mise à jour de la bannière avec succès"
choose-banner: "Choisir une bannière" choose-banner: "Choisir une bannière"
avatar-crop-title: "Découpez la partie qui apparaitra comme avatar" avatar-crop-title: "Découpez la partie qui apparaîtra comme avatar"
avatar: "Avatar" avatar: "Avatar"
uploading-avatar: "Téléversement du nouvel avatar" uploading-avatar: "Téléversement du nouvel avatar"
avatar-updated: "Mise à jour de lavatar avec succès" avatar-updated: "Mise à jour de lavatar avec succès"
@@ -565,7 +576,7 @@ desktop/views/components/calendar.vue:
next: "Mois suivant" next: "Mois suivant"
go: "Cliquez pour naviguer" go: "Cliquez pour naviguer"
desktop/views/components/choose-file-from-drive-window.vue: desktop/views/components/choose-file-from-drive-window.vue:
chosen-files: "{count} fichier·s sélectionné·s" chosen-files: "{count} fichier(s) sélectionné(s)"
upload: "Téléverser des fichiers à partir de votre ordinateur" upload: "Téléverser des fichiers à partir de votre ordinateur"
cancel: "Annuler" cancel: "Annuler"
ok: "OK" ok: "OK"
@@ -613,21 +624,21 @@ desktop/views/components/drive.vue:
search: "Rechercher" search: "Rechercher"
empty-draghover: "Drop Welcome!" empty-draghover: "Drop Welcome!"
empty-drive: "Votre Drive est vide" empty-drive: "Votre Drive est vide"
empty-drive-description: "Vous pouvez également uploader le fichier en faisant un clic droit et en choisissant 'Uploader' ou tout simplement en faisant glisser votre fichier." empty-drive-description: "Vous pouvez également téléverser le fichier en faisant un clic droit et en choisissant « Téléverser » ou tout simplement en faisant glisser votre fichier."
empty-folder: "Ce dossier est vide" empty-folder: "Ce dossier est vide"
unable-to-process: "L'opération n'a pas pu être complétée" unable-to-process: "L'opération n'a pas pu être complétée"
circular-reference-detected: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer." circular-reference-detected: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer."
unhandled-error: "Erreur inconnue" unhandled-error: "Erreur inconnue"
url-upload: "Téléverser via une URL" url-upload: "Téléverser via une URL"
url-of-file: "URL de l'image que vous souhaitez uploader." url-of-file: "URL de l'image que vous souhaitez téléverser."
url-upload-requested: "Upload requested" url-upload-requested: "Téléversement demandé"
may-take-time: "L'upload de votre fichier peut prendre un certain temps." may-take-time: "Le téléversement de votre fichier peut prendre un certain temps."
create-folder: "Créer un dossier" create-folder: "Créer un dossier"
folder-name: "Nom du dossier" folder-name: "Nom du dossier"
contextmenu: contextmenu:
create-folder: "Créer un dossier" create-folder: "Créer un dossier"
upload: "Transférer un fichier" upload: "Téléverser un fichier"
url-upload: "Transférer à partir dune URL" url-upload: "Téléverser à partir dune URL"
desktop/views/components/media-image.vue: desktop/views/components/media-image.vue:
sensitive: "Le contenu est NSFW" sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher" click-to-show: "Cliquer pour afficher"
@@ -635,16 +646,16 @@ desktop/views/components/media-video.vue:
sensitive: "Le contenu est NSFW" sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher" click-to-show: "Cliquer pour afficher"
desktop/views/components/followers-window.vue: desktop/views/components/followers-window.vue:
followers: "{} abonné·e·s" followers: "{} abonnés"
desktop/views/components/followers.vue: desktop/views/components/followers.vue:
empty: "Il semble que vous navez pas encore dabonné·e·s." empty: "Il semble que vous n'avez pas encore d'abonnés."
desktop/views/components/following-window.vue: desktop/views/components/following-window.vue:
following: "Suit {}" following: "Suit {}"
desktop/views/components/following.vue: desktop/views/components/following.vue:
empty: "Vous ne suivez aucun compte." empty: "Vous ne suivez aucun compte."
desktop/views/components/friends-maker.vue: desktop/views/components/friends-maker.vue:
title: "Utilisateurs·rices recommandé·e·s :" title: "Utilisateurs recommandés :"
empty: "Impossible de trouver des utilisateurs·trices à recommander." empty: "Impossible de trouver des utilisateurs à recommander."
fetching: "Chargement" fetching: "Chargement"
refresh: "Plus" refresh: "Plus"
close: "Fermer" close: "Fermer"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "Géolocalisation" location: "Géolocalisation"
renote: "Republier" renote: "Republier"
add-reaction: "Ajouter votre reaction" add-reaction: "Ajouter votre reaction"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "Répondre" reply: "Répondre"
renote: "Partager" renote: "Partager"
add-reaction: "Ajouter votre réaction" add-reaction: "Ajouter votre réaction"
undo-reaction: "リアクション解除"
detail: "Détails" detail: "Détails"
private: "Cette publication est privée" private: "Cette publication est privée"
deleted: "Cette publication a été supprimée" deleted: "Cette publication a été supprimée"
@@ -683,8 +696,8 @@ desktop/views/components/post-form.vue:
add-visible-user: "+Ajouter un utilisateur" add-visible-user: "+Ajouter un utilisateur"
attach-location-information: "Attacher des informations de localisation" attach-location-information: "Attacher des informations de localisation"
hide-contents: "Masquer les contenus" hide-contents: "Masquer les contenus"
reply-placeholder: "Répondre à cette note …" reply-placeholder: "Répondre à cette note…"
quote-placeholder: "Citer cette note …" quote-placeholder: "Citer cette note…"
submit: "Publier" submit: "Publier"
reply: "Répondre" reply: "Répondre"
renote: "Republier" renote: "Republier"
@@ -694,7 +707,7 @@ desktop/views/components/post-form.vue:
note-failed: "La note à échoué" note-failed: "La note à échoué"
reply-failed: "La réponse a échoué" reply-failed: "La réponse a échoué"
renote-failed: "Échec lors de la republication" renote-failed: "Échec lors de la republication"
posting: "Publication …" posting: "Publication…"
attach-media-from-local: "Joindre un média depuis votre appareil" attach-media-from-local: "Joindre un média depuis votre appareil"
attach-media-from-drive: "Joindre un média depuis votre Drive" attach-media-from-drive: "Joindre un média depuis votre Drive"
attach-cancel: "Annuler le fichier attaché" attach-cancel: "Annuler le fichier attaché"
@@ -703,17 +716,17 @@ desktop/views/components/post-form.vue:
text-remain: "{} caractères restants" text-remain: "{} caractères restants"
recent-tags: "Récent" recent-tags: "Récent"
local-only-message: "Ce message sera publié uniquement sur le fil local" local-only-message: "Ce message sera publié uniquement sur le fil local"
click-to-tagging: "Cliquer pour tagguer" click-to-tagging: "Cliquer pour taguer"
visibility: "Visibilité" visibility: "Visibilité"
geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation" geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation"
error: "Erreur" error: "Erreur"
enter-username: "Saisir un nom d'utilisateur …" enter-username: "Saisir un nom d'utilisateur…"
annotations: "内容への注釈 (オプション)" annotations: "内容への注釈 (オプション)"
desktop/views/components/post-form-window.vue: desktop/views/components/post-form-window.vue:
note: "Nouvelle note" note: "Nouvelle note"
reply: "Répondre" reply: "Répondre"
attaches: "{} media joint(s)" attaches: "{} media joint(s)"
uploading-media: "Transfert du média {}" uploading-media: "Téléversement du média {}"
desktop/views/components/progress-dialog.vue: desktop/views/components/progress-dialog.vue:
waiting: "En attente" waiting: "En attente"
desktop/views/components/renote-form.vue: desktop/views/components/renote-form.vue:
@@ -721,7 +734,7 @@ desktop/views/components/renote-form.vue:
cancel: "Annuler" cancel: "Annuler"
renote: "Republier" renote: "Republier"
renote-home: "Renote (Home)" renote-home: "Renote (Home)"
reposting: "Republication en cours …" reposting: "Republication en cours…"
success: "Republié !" success: "Republié !"
failure: "La renote a échoué" failure: "La renote a échoué"
desktop/views/components/renote-form-window.vue: desktop/views/components/renote-form-window.vue:
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "Vérification en deux étapes" 2fa: "Vérification en deux étapes"
other: "Autres" other: "Autres"
license: "Licence" license: "Licence"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "Thèmes" theme: "Thèmes"
behaviour: "Comportement" behaviour: "Comportement"
fetch-on-scroll: "Chargement lors du défilement" fetch-on-scroll: "Chargement lors du défilement"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "Mode nuit" dark-mode: "Mode nuit"
use-shadow: "Utiliser les ombres dans l'interface utilisateur" use-shadow: "Utiliser les ombres dans l'interface utilisateur"
rounded-corners: "Coins arrondis" rounded-corners: "Coins arrondis"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "Utiliser des icônes circulaires" circle-icons: "Utiliser des icônes circulaires"
contrasted-acct: "Nom dutilisateur contrasté" contrasted-acct: "Nom dutilisateur contrasté"
post-form-on-timeline: "Afficher le formulaire en haut du fil" post-form-on-timeline: "Afficher le formulaire en haut du fil"
@@ -801,14 +817,12 @@ desktop/views/components/settings.vue:
cache-warn: "Le nettoyage du cache du compte supprime les informations stockées dans le navigateur comme les messages, les réponses ainsi que dautres données (y compris les paramètres de configuration). Après le nettoyage, vous devez recharger la page." cache-warn: "Le nettoyage du cache du compte supprime les informations stockées dans le navigateur comme les messages, les réponses ainsi que dautres données (y compris les paramètres de configuration). Après le nettoyage, vous devez recharger la page."
cache-cleared: "Cache nettoyé" cache-cleared: "Cache nettoyé"
cache-cleared-desc: "Veuillez recharger la page." cache-cleared-desc: "Veuillez recharger la page."
auto-watch: "Montre automatique"
auto-watch-desc: "Recevez automatiquement les notifications de publications, réponses et réactions."
about: "À propose de Misskey" about: "À propose de Misskey"
operator: "L'admin de cette instance" operator: "L'admin de cette instance"
update: "Mise à jour de Misskey" update: "Mise à jour de Misskey"
version: "Version :" version: "Version :"
latest-version: "Dernière version :" latest-version: "Dernière version :"
update-checking: "Vérification des mises à jour en cours …" update-checking: "Vérification des mises à jour en cours…"
do-update: "Rechercher des mises à jour" do-update: "Rechercher des mises à jour"
update-settings: "Paramètres avancés" update-settings: "Paramètres avancés"
prevent-update: "Reporter les mises à jour (non recommandé)" prevent-update: "Reporter les mises à jour (non recommandé)"
@@ -818,7 +832,7 @@ desktop/views/components/settings.vue:
update-available: "Nouvelle version disponible !" update-available: "Nouvelle version disponible !"
update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée." update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée."
advanced-settings: "Réglages avancés" advanced-settings: "Réglages avancés"
debug-mode: "Activer le mode debug" debug-mode: "Activer le mode débogage"
debug-mode-desc: "Ce paramètre est stocké dans le navigateur." debug-mode-desc: "Ce paramètre est stocké dans le navigateur."
experimental: "Activer les fonctionnalités expérimentales" experimental: "Activer les fonctionnalités expérimentales"
experimental-desc: "Lactivation des fonctionnalités expérimentales peuvent rendre le client Misskey instable. Ce paramètre est stocké dans le navigateur." experimental-desc: "Lactivation des fonctionnalités expérimentales peuvent rendre le client Misskey instable. Ce paramètre est stocké dans le navigateur."
@@ -841,27 +855,28 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Entrez un mot de passe" enter-password: "Entrez un mot de passe"
authenticator: "Vous devez au préalable installer Google Authenticator sur votre appareil:" authenticator: "Vous devez au préalable installer Google Authenticator sur votre appareil:"
howtoinstall: "Comment installer" howtoinstall: "Comment installer"
scan: "Ensuite scannez le QR code afficher sur votre écran:" token: "トークン"
done: "Veuillez entrer le token qui s'affiche sur votre appareil:" scan: "Ensuite, scannez le code QR affiché sur votre écran :"
done: "Veuillez entrer le token qui s'affiche sur votre appareil :"
submit: "Envoyer" submit: "Envoyer"
success: "Sauvegarde des paramètres avec succès !" success: "Sauvegarde des paramètres avec succès !"
failed: "Lopération a échoué. Veuillez vous assurer que le jeton a été saisi correctement." failed: "Lopération a échoué. Veuillez vous assurer que le jeton a été saisi correctement."
info: "À partir de maintenant, à chaque fois que vous vous connectez entrez votre mot de passe ainsi que le jeton généré sur votre appareil." info: "À partir de maintenant, à chaque fois que vous vous connectez entrez votre mot de passe ainsi que le jeton généré sur votre appareil."
common/views/components/api-settings.vue: common/views/components/api-settings.vue:
intro: "Pour accéder à l'API, définissez ce jeton comme la clé de \"i\" dans les paramètres de requête." intro: "Pour accéder à l'API, définissez ce jeton comme la clé de « i » dans les paramètres de requête."
caution: "Merci de ne pas introduire ce jeton dans aucune application ou le divulguer à quiconque. Ceci risque de compromettre votre compte." caution: "Merci de ne pas introduire ce jeton dans aucune application ou le divulguer à quiconque. Ceci risque de compromettre votre compte."
regeneration-of-token: "Si votre jeton est compromis, vous pouvez le régénérer." regeneration-of-token: "Si votre jeton est compromis, vous pouvez le régénérer."
regenerate-token: "Régénérer le jeton" regenerate-token: "Régénérer le jeton"
token: "Jeton :" token: "Jeton :"
enter-password: "Entrez le mot de passe" enter-password: "Entrez le mot de passe"
console: console:
title: 'Console API' title: "Console API"
endpoint: 'Point de terminaison' endpoint: "Point de terminaison"
parameter: 'Paramètres' parameter: "Paramètres"
credential-info: "Le paramètre \"i\" est requis dans la console." credential-info: "Le paramètre « i » est requis dans la console."
send: 'Envoyer' send: "Envoyer"
sending: 'Envoi en cours' sending: "Envoi en cours"
response: 'Résultat' response: "Résultat"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "Aucune application autorisée" no-apps: "Aucune application autorisée"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -872,8 +887,8 @@ common/views/components/mute-and-block.vue:
mute-and-block: "Silencés / Bloqués" mute-and-block: "Silencés / Bloqués"
mute: "Mettre en sourdine" mute: "Mettre en sourdine"
block: "En cours blocage" block: "En cours blocage"
no-muted-users: "Aucun utilisateur·rice nest mis·e en sourdine" no-muted-users: "Aucun utilisateur nest mis en sourdine"
no-blocked-users: "Aucun utilisateur·rice nest bloqué·e" no-blocked-users: "Aucun utilisateur nest bloqué"
word-mute: "Filtre de mots" word-mute: "Filtre de mots"
muted-words: "Mots masqués" muted-words: "Mots masqués"
muted-words-description: "Description des mots mis en sourdine" muted-words-description: "Description des mots mis en sourdine"
@@ -944,11 +959,11 @@ desktop/views/components/user-lists-window.vue:
desktop/views/components/user-preview.vue: desktop/views/components/user-preview.vue:
notes: "Publications" notes: "Publications"
following: "Abonné à" following: "Abonné à"
followers: "Abonné·e·s" followers: "Abonnés"
desktop/views/components/users-list.vue: desktop/views/components/users-list.vue:
all: "Tout" all: "Tout"
iknow: "Vous connaissez" iknow: "Vous connaissez"
fetching: "Chargement ..." fetching: "Chargement..."
desktop/views/components/users-list-item.vue: desktop/views/components/users-list-item.vue:
followed: "vous suit" followed: "vous suit"
desktop/views/components/window.vue: desktop/views/components/window.vue:
@@ -959,7 +974,7 @@ admin/views/index.vue:
instance: "Instance" instance: "Instance"
emoji: "Émoji" emoji: "Émoji"
moderators: "Modérateurs" moderators: "Modérateurs"
users: "Utilisateur·rice·s" users: "Utilisateurs"
federation: "Fédération" federation: "Fédération"
announcements: "Annonces" announcements: "Annonces"
hashtags: "Hashtags" hashtags: "Hashtags"
@@ -977,7 +992,7 @@ admin/views/instance.vue:
instance-name: "Nom de linstance" instance-name: "Nom de linstance"
instance-description: "Description de linstance" instance-description: "Description de linstance"
host: "Hôte" host: "Hôte"
banner-url: "Url de limage de la bannière" banner-url: "URL de limage de la bannière"
error-image-url: "URL de limage derreur" error-image-url: "URL de limage derreur"
languages: "Langue de linstance" languages: "Langue de linstance"
languages-desc: "Vous pouvez en définir plus dune, séparées par des espaces." languages-desc: "Vous pouvez en définir plus dune, séparées par des espaces."
@@ -997,7 +1012,7 @@ admin/views/instance.vue:
recaptcha-secret-key: "Clé secrète reCAPTCHA" recaptcha-secret-key: "Clé secrète reCAPTCHA"
twitter-integration-config: "Paramètres de connexion à Twitter" twitter-integration-config: "Paramètres de connexion à Twitter"
twitter-integration-info: "L'URL de callback est {url}." twitter-integration-info: "L'URL de callback est {url}."
enable-twitter-integration: "Activer la connection à Twitter" enable-twitter-integration: "Activer la connexion à Twitter"
twitter-integration-consumer-key: "Clé du consommateur" twitter-integration-consumer-key: "Clé du consommateur"
twitter-integration-consumer-secret: "Secret du consommateur" twitter-integration-consumer-secret: "Secret du consommateur"
github-integration-config: "Paramètres dauthentification GitHub" github-integration-config: "Paramètres dauthentification GitHub"
@@ -1021,8 +1036,8 @@ admin/views/instance.vue:
invite: "Inviter" invite: "Inviter"
save: "Sauvegarder" save: "Sauvegarder"
saved: "Enregistré" saved: "Enregistré"
user-recommendation-config: "Utilisateur·rice·s" user-recommendation-config: "Utilisateurs"
enable-external-user-recommendation: "Activer la recommandation des utilisateur·trice·s distant·e·s" enable-external-user-recommendation: "Activer la recommandation des utilisateurs distants"
external-user-recommendation-engine: "Moteur" external-user-recommendation-engine: "Moteur"
external-user-recommendation-engine-desc: "Exemple: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "Exemple: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "Délai dexpiration" external-user-recommendation-timeout: "Délai dexpiration"
@@ -1044,12 +1059,12 @@ admin/views/instance.vue:
vapid-privatekey: "Clé privée VAPID" vapid-privatekey: "Clé privée VAPID"
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:" vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
admin/views/charts.vue: admin/views/charts.vue:
title: "Graph" title: "Graphe"
per-day: "par jour" per-day: "par jour"
per-hour: "par heure" per-hour: "par heure"
federation: "Fédération" federation: "Fédération"
notes: "Publications" notes: "Publications"
users: "Utilisateur·rice·s" users: "Utilisateurs"
drive: "Lecteur" drive: "Lecteur"
network: "Réseau" network: "Réseau"
charts: charts:
@@ -1059,8 +1074,8 @@ admin/views/charts.vue:
local-notes: "Nombre des publications : augmentation/diminution (Local)" local-notes: "Nombre des publications : augmentation/diminution (Local)"
remote-notes: "Nombre de publications : augmentation/diminution (distants)" remote-notes: "Nombre de publications : augmentation/diminution (distants)"
notes-total: "Total des publications" notes-total: "Total des publications"
users: "Nombre dutilisateur·rice·s : augmentation/diminution" users: "Nombre dutilisateurs : augmentation/diminution"
users-total: "Nombre total des utilisateur·rice·s" users-total: "Nombre total des utilisateurs"
drive: "Capacité utilisée comme stockage : augmentation/diminution" drive: "Capacité utilisée comme stockage : augmentation/diminution"
drive-total: "Utilisation totale du lecteur" drive-total: "Utilisation totale du lecteur"
drive-files: "Le nombre de fichiers sur l'espace de stockage : augmentation/diminution" drive-files: "Le nombre de fichiers sur l'espace de stockage : augmentation/diminution"
@@ -1087,20 +1102,20 @@ admin/views/drive.vue:
admin/views/users.vue: admin/views/users.vue:
operation: "Actions" operation: "Actions"
username-or-userid: "Nom dutilisateur·rice ou ID utilisateur" username-or-userid: "Nom dutilisateur·rice ou ID utilisateur"
user-not-found: "Utilisateur·rice non trouvé·e" user-not-found: "Utilisateur non trouvé"
lookup: "Recherche" lookup: "Recherche"
reset-password: "Réinitialiser mot de passe" reset-password: "Réinitialiser mot de passe"
password-updated: "Le mot de passe est « {password} »" password-updated: "Le mot de passe est « {password} »"
suspend: "Suspendre" suspend: "Suspendre"
suspended: "Suspendu·e avec succès." suspended: "Suspendu avec succès."
unsuspend: "Suspension levée" unsuspend: "Suspension levée"
unsuspended: "La suspension de lutilisateur·rice a été levée avec succès" unsuspended: "La suspension de lutilisateur a été levée avec succès"
verify: "Vérification du compte" verify: "Vérification du compte"
verified: "Le compte a été vérifié" verified: "Le compte a été vérifié"
unverify: "Ôter la vérification du compte" unverify: "Enlever la vérification du compte"
unverified: "Ce compte n'est plus vérifié" unverified: "Ce compte n'est plus vérifié"
users: users:
title: "Utilisateur·rice·s" title: "Utilisateurs"
sort: sort:
title: "Trier par" title: "Trier par"
createdAtAsc: "Date dinscription (Ascendant)" createdAtAsc: "Date dinscription (Ascendant)"
@@ -1183,11 +1198,11 @@ desktop/views/pages/share.vue:
desktop/views/pages/tag.vue: desktop/views/pages/tag.vue:
no-posts-found: "Aucune publication contenant « {q} » na été trouvée." no-posts-found: "Aucune publication contenant « {q} » na été trouvée."
desktop/views/pages/user-list.users.vue: desktop/views/pages/user-list.users.vue:
users: "Utilisateurs·rices" users: "Utilisateurs"
add-user: "Ajouter un utilisateur" add-user: "Ajouter un utilisateur"
username: "Nom d'utilisateur" username: "Nom d'utilisateur"
desktop/views/pages/user/user.followers-you-know.vue: desktop/views/pages/user/user.followers-you-know.vue:
title: "Abonné·e·s que vous connaissez" title: "Abonnés que vous connaissez"
loading: "Chargement en cours" loading: "Chargement en cours"
no-users: "Aucun abonné connu" no-users: "Aucun abonné connu"
desktop/views/pages/user/user.friends.vue: desktop/views/pages/user/user.friends.vue:
@@ -1214,7 +1229,8 @@ desktop/views/pages/user/user.profile.vue:
desktop/views/pages/user/user.header.vue: desktop/views/pages/user/user.header.vue:
posts: "Notes" posts: "Notes"
following: "Suit" following: "Suit"
followers: "Abonné·e·s" followers: "Abonnés"
mention: "メンション"
is-bot: "Ce compte est un Bot" is-bot: "Ce compte est un Bot"
years-old: "{age} ans" years-old: "{age} ans"
year: "/" year: "/"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "Publications" default: "Publications"
with-replies: "Publications et réponses" with-replies: "Publications et réponses"
with-media: "Média" with-media: "Média"
my-posts: "Mes Messages"
empty: "Cet utilisateur n'a rien posté encore." empty: "Cet utilisateur n'a rien posté encore."
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "Messagerie" title: "Messagerie"
@@ -1245,7 +1262,7 @@ desktop/views/widgets/trends.vue:
refresh: "Afficher d'autres" refresh: "Afficher d'autres"
nothing: "Rien" nothing: "Rien"
desktop/views/widgets/users.vue: desktop/views/widgets/users.vue:
title: "Utilisateurs·rices" title: "Utilisateurs"
refresh: "Afficher d'autres" refresh: "Afficher d'autres"
no-one: "Personne" no-one: "Personne"
mobile/views/components/drive.vue: mobile/views/components/drive.vue:
@@ -1284,14 +1301,14 @@ mobile/views/components/media-video.vue:
sensitive: "Le contenu est NSFW" sensitive: "Le contenu est NSFW"
click-to-show: "Cliquer pour afficher" click-to-show: "Cliquer pour afficher"
common/views/components/follow-button.vue: common/views/components/follow-button.vue:
following: "Abonné·e" following: "Abonné"
follow: " Suivre" follow: " Suivre"
request-pending: "Demande en attente" request-pending: "Demande en attente"
follow-processing: "En cours dabonnement" follow-processing: "En cours dabonnement"
follow-request: "Demande dabonnement" follow-request: "Demande dabonnement"
mobile/views/components/friends-maker.vue: mobile/views/components/friends-maker.vue:
title: "Abonnez-vous à" title: "Abonnez-vous à"
empty: "Impossible de trouver des utilisateurs·trices à recommander." empty: "Impossible de trouver des utilisateurs à recommander."
fetching: "Chargement" fetching: "Chargement"
refresh: "Voir plus" refresh: "Voir plus"
close: "Fermer" close: "Fermer"
@@ -1320,7 +1337,7 @@ mobile/views/components/post-form.vue:
submit: "Publier" submit: "Publier"
reply: "Répondre" reply: "Répondre"
renote: "Republier" renote: "Republier"
quote-placeholder: "Citer ce billet ... (Facultatif)" quote-placeholder: "Citer ce billet... (Facultatif)"
reply-placeholder: "Répondre à cette note" reply-placeholder: "Répondre à cette note"
cw-placeholder: "Commenter le contenu (optionnel)" cw-placeholder: "Commenter le contenu (optionnel)"
location-alert: "Votre appareil ne prend pas en charge les services de localisation" location-alert: "Votre appareil ne prend pas en charge les services de localisation"
@@ -1350,7 +1367,7 @@ mobile/views/components/ui.nav.vue:
admin: "Admin" admin: "Admin"
about: "À propos de Misskey" about: "À propos de Misskey"
mobile/views/components/user-timeline.vue: mobile/views/components/user-timeline.vue:
no-notes: "Il semble que cet·te utilisateur·rice na rien publié pour le moment." no-notes: "Il semble que cet utilisateur na rien publié pour le moment."
no-notes-with-media: "Aucune notes avec des médias" no-notes-with-media: "Aucune notes avec des médias"
mobile/views/components/users-list.vue: mobile/views/components/users-list.vue:
all: "Tout" all: "Tout"
@@ -1363,9 +1380,9 @@ mobile/views/pages/user-lists.vue:
mobile/views/pages/signup.vue: mobile/views/pages/signup.vue:
lets-start: "Votre compte est prêt ! 📦" lets-start: "Votre compte est prêt ! 📦"
mobile/views/pages/followers.vue: mobile/views/pages/followers.vue:
followers-of: "Abonné·e·s de {name}" followers-of: "Abonnés de {name}"
mobile/views/pages/following.vue: mobile/views/pages/following.vue:
following-of: "Abonné·e·s de {name}" following-of: "Abonnés de {name}"
mobile/views/pages/home.vue: mobile/views/pages/home.vue:
home: "Accueil" home: "Accueil"
local: "Local" local: "Local"
@@ -1379,7 +1396,7 @@ mobile/views/pages/welcome.vue:
signup: "S'enregistrer" signup: "S'enregistrer"
mobile/views/pages/widgets.vue: mobile/views/pages/widgets.vue:
dashboard: "Tableau de bord" dashboard: "Tableau de bord"
widgets-hints: "Vous pouvez ajouter, supprimer et réaranger les widgets. Faites glisser « 三 » pour déplacer le widget. Appuyez sur « x » pour supprimer le widget. Certains widgets peuvent changer dapparence en cliquant dessus." widgets-hints: "Vous pouvez ajouter, supprimer et réarranger les widgets. Faites glisser « 三 » pour déplacer le widget. Appuyez sur « x » pour supprimer le widget. Certains widgets peuvent changer dapparence en cliquant dessus."
add-widget: "Ajouter" add-widget: "Ajouter"
customization-tips: "Conseils de personnalisation" customization-tips: "Conseils de personnalisation"
mobile/views/pages/widgets/activity.vue: mobile/views/pages/widgets/activity.vue:
@@ -1405,7 +1422,7 @@ mobile/views/pages/search.vue:
mobile/views/pages/selectdrive.vue: mobile/views/pages/selectdrive.vue:
select-file: "Choisissez un fichier" select-file: "Choisissez un fichier"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "Connecté·e en tant que {}" signed-in-as: "Connecté en tant que {}"
design: "Affichage et design" design: "Affichage et design"
dark-mode: "Mode nuit" dark-mode: "Mode nuit"
i-am-under-limited-internet: "J'ai un accès Internet limité" i-am-under-limited-internet: "J'ai un accès Internet limité"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "Style de notification" notification-position: "Style de notification"
notification-position-bottom: "en bas" notification-position-bottom: "en bas"
notification-position-top: "en haut" notification-position-top: "en haut"
theme: "Thème"
behavior: "Comportement" behavior: "Comportement"
fetch-on-scroll: "Chargement lors du défilement" fetch-on-scroll: "Chargement lors du défilement"
note-visibility: "Visibilité de la publication" note-visibility: "Visibilité de la publication"
@@ -1430,7 +1446,7 @@ mobile/views/pages/settings.vue:
remember-note-visibility: "Se souvenir du mode de visibilité de la publication" remember-note-visibility: "Se souvenir du mode de visibilité de la publication"
web-search-engine: "Moteur de recherche Web" web-search-engine: "Moteur de recherche Web"
web-search-engine-desc: "Exemple: https://www.google.com/?#q={{query}}" web-search-engine-desc: "Exemple: https://www.google.com/?#q={{query}}"
disable-via-mobile: "Ne pas mentionner que ma publication provient d'un 'périphérique mobile'" 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-raw-images: "Afficher les photos jointes en haute qualité"
load-remote-media: "Afficher les médias sur le serveur distant" load-remote-media: "Afficher les médias sur le serveur distant"
update: "Mise à jour de Misskey" update: "Mise à jour de Misskey"
@@ -1450,12 +1466,11 @@ mobile/views/pages/settings.vue:
mobile/views/pages/user.vue: mobile/views/pages/user.vue:
follows-you: "Vous suit" follows-you: "Vous suit"
following: "Abonnements" following: "Abonnements"
followers: "Abonné·e·s" followers: "Abonnés"
notes: "Notes" notes: "Notes"
overview: "Aperçu" overview: "Aperçu"
timeline: "Fil d'actualité" timeline: "Fil d'actualité"
media: "Média" media: "Média"
is-suspended: "This account has been suspended."
mute: "Mettre en sourdine" mute: "Mettre en sourdine"
unmute: "Enlever la sourdine" unmute: "Enlever la sourdine"
block: "Bloquer" block: "Bloquer"
@@ -1470,13 +1485,13 @@ mobile/views/pages/user/home.vue:
activity: "Activité" activity: "Activité"
keywords: "Mot clés" keywords: "Mot clés"
domains: "Domaines" domains: "Domaines"
frequently-replied-users: "Utilisateurs·rices mentionné·e·s souvent" frequently-replied-users: "Utilisateurs mentionnés souvent"
followers-you-know: "Abonné·e·s que vous connaissez" followers-you-know: "Abonnés que vous connaissez"
last-used-at: "Dernière connexion il y a" last-used-at: "Dernière connexion il y a"
mobile/views/pages/user/home.followers-you-know.vue: mobile/views/pages/user/home.followers-you-know.vue:
no-users: "Aucun utilisateur·rice connu·e" no-users: "Aucun utilisateur connu"
mobile/views/pages/user/home.friends.vue: mobile/views/pages/user/home.friends.vue:
no-users: "Aucun utilisateur·rice connu·e" no-users: "Aucun utilisateur connu"
mobile/views/pages/user/home.notes.vue: mobile/views/pages/user/home.notes.vue:
no-notes: "Pas de notes" no-notes: "Pas de notes"
mobile/views/pages/user/home.photos.vue: mobile/views/pages/user/home.photos.vue:
@@ -1508,7 +1523,8 @@ deck/deck.tl-column.vue:
deck/deck.user-column.vue: deck/deck.user-column.vue:
posts: "Notes" posts: "Notes"
following: "Suit" following: "Suit"
followers: "Abonné·e·s" followers: "Abonnés"
mention: "メンション"
images: "Images" images: "Images"
activity: "Activité" activity: "Activité"
timeline: "Fil dactualité" timeline: "Fil dactualité"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き" i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'やり直す' retry: "やり直す"
reversi: reversi:
drawn: "引き分け" drawn: "引き分け"
my-turn: "あなたのターンです" my-turn: "あなたのターンです"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あなた" you: "あなた"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "開発者" develop: "開発者"
feedback: "フィードバック" feedback: "フィードバック"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細" detail: "詳細"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "お気に入り" favorite: "お気に入り"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "位置情報" location: "位置情報"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "二段階認証" 2fa: "二段階認証"
other: "その他" other: "その他"
license: "ライセンス" license: "ライセンス"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "動作" behaviour: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "ダークモード" dark-mode: "ダークモード"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める" rounded-corners: "UIの角を丸める"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら" howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:" scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:" done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了" submit: "完了"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿" default: "投稿"
with-replies: "投稿と返信" with-replies: "投稿と返信"
with-media: "メディア" with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。" empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "メッセージ" title: "メッセージ"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "動作" behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "概要" overview: "概要"
timeline: "タイムライン" timeline: "タイムライン"
media: "メディア" media: "メディア"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -96,7 +96,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -118,7 +117,7 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き" i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -129,17 +128,21 @@ common:
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'やり直す' retry: "やり直す"
reversi: reversi:
drawn: "引き分け" drawn: "引き分け"
@@ -284,6 +287,7 @@ common/views/components/media-banner.vue:
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -300,6 +304,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -324,6 +329,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
@@ -359,6 +365,7 @@ common/views/components/nav.vue:
feedback: "フィードバック" feedback: "フィードバック"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細" detail: "詳細"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "お気に入り" favorite: "お気に入り"
@@ -443,6 +450,14 @@ common/views/components/stream-indicator.vue:
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -476,7 +491,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -508,6 +522,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -584,11 +599,11 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
@@ -750,11 +765,13 @@ desktop/views/components/note-detail.vue:
location: "位置情報" location: "位置情報"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -838,7 +855,6 @@ desktop/views/components/settings.vue:
2fa: "二段階認証" 2fa: "二段階認証"
other: "その他" other: "その他"
license: "ライセンス" license: "ライセンス"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "動作" behaviour: "動作"
@@ -900,9 +916,6 @@ desktop/views/components/settings.vue:
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
@@ -945,6 +958,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら" howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:" scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:" done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了" submit: "完了"
@@ -960,13 +974,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
@@ -1364,6 +1378,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1619,7 +1634,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "動作" behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1653,7 +1667,6 @@ mobile/views/pages/user.vue:
overview: "概要" overview: "概要"
timeline: "タイムライン" timeline: "タイムライン"
media: "メディア" media: "メディア"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1715,6 +1728,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワー以外に見せんとって" followers-desc: "自分のフォロワー以外に見せんとって"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "今から言うユーザー以外に見せんとってや" specified-desc: "今から言うユーザー以外に見せんとってや"
private: "非公開"
local-public: "公開 (ローカルだけ)" local-public: "公開 (ローカルだけ)"
local-home: "ホーム (ローカルだけ)" local-home: "ホーム (ローカルだけ)"
local-followers: "フォロワー (ローカルだけ)" local-followers: "フォロワー (ローカルだけ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。" my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。"
i-like-sushi: "寿司(のほうがプリンよりむしろ)ウマい、タコ焼きはあらへんけど。" i-like-sushi: "寿司(のほうがプリンよりむしろ)ウマい、タコ焼きはあらへんけど。"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示や!" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示や!"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "アメちゃん付きアカウント" verified-user: "アメちゃん付きアカウント"
disable-animated-mfm: "投稿内のちょろちょろ動いてんのを止める" disable-animated-mfm: "投稿内のちょろちょろ動いてんのを止める"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UI、動き過ぎや、静かにしてや" reduce-motion: "UI、動き過ぎや、静かにしてや"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OSにもとから入っとる絵文字使う" use-os-default-emojis: "OSにもとから入っとる絵文字使う"
do-not-use-in-production: '開発ビルドや。本番環境で使わんといて!知らんで!' do-not-use-in-production: "開発ビルドや。本番環境で使わんといて!知らんで!"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "ちゃんとした情報見せてや!" view-on-remote: "ちゃんとした情報見せてや!"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が起こったわ' title: "問題が起こったわ"
retry: 'もっぺん' retry: "もっぺん"
reversi: reversi:
drawn: "おあいこ" drawn: "おあいこ"
my-turn: "あんさんのターンや" my-turn: "あんさんのターンや"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "見せたらあかん" sensitive: "見せたらあかん"
click-to-show: "押してみ、見せたるわ" click-to-show: "押してみ、見せたるわ"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "ナイトゲームちゃう時のテーマどないする?" light-theme: "ナイトゲームちゃう時のテーマどないする?"
dark-theme: "ナイトゲームの時のテーマどないする?" dark-theme: "ナイトゲームの時のテーマどないする?"
light-themes: "デイゲーム" light-themes: "デイゲーム"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "この色が背景や!" base-theme: "この色が背景や!"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "試してみる" preview-created-theme: "試してみる"
invalid-theme: "このテーマあかんわ、なんか間違うとる" invalid-theme: "このテーマあかんわ、なんか間違うとる"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "見たいやろ?" show: "見たいやろ?"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あんさん" you: "あんさん"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "開発者" develop: "開発者"
feedback: "フィードバック" feedback: "フィードバック"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "もっと" detail: "もっと"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "お気に入り" favorite: "お気に入り"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "つないどるで" connecting: "つないどるで"
reconnecting: "つなぎ直すで" reconnecting: "つなぎ直すで"
connected: "つないだわ" connected: "つないだわ"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "つなげる" connect: "つなげる"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワー以外に見せんとって" followers-desc: "自分のフォロワー以外に見せんとって"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "今から言うユーザー以外に見せんとってや" specified-desc: "今から言うユーザー以外に見せんとってや"
private: "非公開"
local-public: "公開 (ローカルだけ)" local-public: "公開 (ローカルだけ)"
local-public-desc: "リモートには見せへん" local-public-desc: "リモートには見せへん"
local-home: "ホーム (ローカルだけ)" local-home: "ホーム (ローカルだけ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotやで" is-bot: "このアカウントはBotやで"
is-locked: "他人のフォローは許可してからや!" is-locked: "他人のフォローは許可してからや!"
careful-bot: "Botからのフォローだけは許可制や" careful-bot: "Botからのフォローだけは許可制や"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシーってなんや?オカンの年齢か?" privacy: "プライバシーってなんや?オカンの年齢か?"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができんで" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができんで"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示してんねん" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示してんねん"
tips-line21: "APIをつこてbotの開発なども行えるで" tips-line21: "APIをつこてbotの開発なども行えるで"
tips-line23: "ウチのタコちゃんかわええやろ…今の突っ込むところや!" tips-line23: "藍かわいいよ藍"
tips-line24: "Misskeyは2014年にサービスを開始したんよ" tips-line24: "Misskeyは2014年にサービスを開始したんよ"
tips-line25: "対応ブラウザやったらMisskeyを開いとらんでも通知を受け取れんで" tips-line25: "対応ブラウザやったらMisskeyを開いとらんでも通知を受け取れんで"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "ここおるで:" location: "ここおるで:"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返す" reply: "返す"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "もっと" detail: "もっと"
private: "この投稿は見せられへんわ" private: "この投稿は見せられへんわ"
deleted: "この投稿なんか無くなってもうたわ" deleted: "この投稿なんか無くなってもうたわ"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "二段階認証" 2fa: "二段階認証"
other: "その他" other: "その他"
license: "ライセンス" license: "ライセンス"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "動き" behaviour: "動き"
fetch-on-scroll: "スクロールしたらもっと見せてや" fetch-on-scroll: "スクロールしたらもっと見せてや"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "夜にすんで" dark-mode: "夜にすんで"
use-shadow: "UIに影付けたる" use-shadow: "UIに影付けたる"
rounded-corners: "みんなまぁるくUI変更" rounded-corners: "みんなまぁるくUI変更"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "アイコンもタコ焼きも丸いやんな?" circle-icons: "アイコンもタコ焼きも丸いやんな?"
contrasted-acct: "ユーザー名ようわからんし見やすしといて" contrasted-acct: "ユーザー名ようわからんし見やすしといて"
post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?" post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。" cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。"
cache-cleared: "キャッシュお掃除したで" cache-cleared: "キャッシュお掃除したで"
cache-cleared-desc: "もっぺんページ読みこみ直してくれや" cache-cleared-desc: "もっぺんページ読みこみ直してくれや"
auto-watch: "投稿勝手にウォッチしといてや"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を勝手に受け取るようにすんで。"
about: "Misskeyってなんや" about: "Misskeyってなんや"
operator: "このサーバー誰のや" operator: "このサーバー誰のや"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入れてや" enter-password: "パスワードを入れてや"
authenticator: "まず、Google Authenticatorとかのをつこてるデバイスにインストールしてや:" authenticator: "まず、Google Authenticatorとかのをつこてるデバイスにインストールしてや:"
howtoinstall: "インストール方法はここやで" howtoinstall: "インストール方法はここやで"
token: "トークン"
scan: "んで、ここに出とるQRコードをスキャンしてな:" scan: "んで、ここに出とるQRコードをスキャンしてな:"
done: "最後にデバイスに表示されとるトークンを入力してな:" done: "最後にデバイスに表示されとるトークンを入力してな:"
submit: "送信" submit: "送信"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入れてや" enter-password: "パスワードを入れてや"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは勝手に付くで。" credential-info: "「i」パラメータは勝手に付くで。"
send: '送る' send: "送る"
sending: '応答待っとる' sending: "応答待っとる"
response: 'こんなん返ってきたわ' response: "こんなん返ってきたわ"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはあらへんで" no-apps: "連携しているアプリケーションはあらへんで"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotや" is-bot: "このアカウントはBotや"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿" default: "投稿"
with-replies: "投稿と返信" with-replies: "投稿と返信"
with-media: "メディア" with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿しとらんようや。" empty: "このユーザーはまだ何も投稿しとらんようや。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "メッセージ" title: "メッセージ"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知どこ見せる?" notification-position: "通知どこ見せる?"
notification-position-bottom: "ミナミの方" notification-position-bottom: "ミナミの方"
notification-position-top: "キタの方" notification-position-top: "キタの方"
theme: "テーマ"
behavior: "動き" behavior: "動き"
fetch-on-scroll: "スクロールしたらもっと見せてや" fetch-on-scroll: "スクロールしたらもっと見せてや"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "こんなやつ" overview: "こんなやつ"
timeline: "タイムライン" timeline: "タイムライン"
media: "メディア" media: "メディア"
is-suspended: "このユーザーはあかんわ。凍結されとる。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュートやめたる" unmute: "ミュートやめたる"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "자신의 팔로워에게만 공개" followers-desc: "자신의 팔로워에게만 공개"
specified: "다이렉트" specified: "다이렉트"
specified-desc: "지정한 사용자에게만 공개" specified-desc: "지정한 사용자에게만 공개"
private: "비공개"
local-public: "공개 (로컬 한정)" local-public: "공개 (로컬 한정)"
local-home: "홈 (로컬 한정)" local-home: "홈 (로컬 한정)"
local-followers: "팔로워 (로컬 한정)" local-followers: "팔로워 (로컬 한정)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다." my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다."
i-like-sushi: "저는 (푸딩보다 차라리) 초밥이 좋아요" i-like-sushi: "저는 (푸딩보다 차라리) 초밥이 좋아요"
show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시" show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시"
use-white-black-reversi-stones: "리버시에 흑백 돌을 사용" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "공식 계정" verified-user: "공식 계정"
disable-animated-mfm: "글의 문자 애니메이션을 비활성화" disable-animated-mfm: "글의 문자 애니메이션을 비활성화"
suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시" suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UI의 애니메이션 줄이기" reduce-motion: "UI의 애니메이션 줄이기"
this-setting-is-this-device-only: "이 장치만" this-setting-is-this-device-only: "이 장치만"
use-os-default-emojis: "운영체제의 기본 이모지 사용" use-os-default-emojis: "운영체제의 기본 이모지 사용"
do-not-use-in-production: '이것은 개발 빌드입니다. 프로덕션 환경에서 사용하지 마십시오.' do-not-use-in-production: "이것은 개발 빌드입니다. 프로덕션 환경에서 사용하지 마십시오."
user-suspended: "이 사용자는 정지된 상태입니다."
is-remote-user: "이 유저 정보는 복사본입니다." is-remote-user: "이 유저 정보는 복사본입니다."
is-remote-post: "이 글 정보는 복사본입니다." is-remote-post: "이 글 정보는 복사본입니다."
view-on-remote: "정확한 정보 보기" view-on-remote: "정확한 정보 보기"
renoted-by: "{user}이(가) 리노트" renoted-by: "{user}이(가) 리노트"
error: error:
title: '오류가 발생했습니다' title: "오류가 발생했습니다"
retry: '다시 시도' retry: "다시 시도"
reversi: reversi:
drawn: "무승부" drawn: "무승부"
my-turn: "당신의 차례입니다" my-turn: "당신의 차례입니다"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "열람주의" sensitive: "열람주의"
click-to-show: "클릭하여 표시" click-to-show: "클릭하여 표시"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "다크 모드가 아닐 때 사용하는 테마" light-theme: "다크 모드가 아닐 때 사용하는 테마"
dark-theme: "다크 모드일 때 사용하는 테마" dark-theme: "다크 모드일 때 사용하는 테마"
light-themes: "밝은 테마" light-themes: "밝은 테마"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "기본 테마" base-theme: "기본 테마"
base-theme-light: "밝음" base-theme-light: "밝음"
base-theme-dark: "어두움" base-theme-dark: "어두움"
find-more-theme: "その他のテーマを入手"
theme-name: "테마명" theme-name: "테마명"
preview-created-theme: "미리보기" preview-created-theme: "미리보기"
invalid-theme: "테마가 올바르지 않습니다." invalid-theme: "테마가 올바르지 않습니다."
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "더 보기" show: "더 보기"
chars: "{count}문자" chars: "{count}문자"
files: "{count}파일" files: "{count}파일"
poll: "투표"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "사용자 찾기" search-user: "사용자 찾기"
you: "당신" you: "당신"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "개발자" develop: "개발자"
feedback: "피드백" feedback: "피드백"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "멘션"
detail: "상세" detail: "상세"
copy-link: "링크 복사" copy-link: "링크 복사"
favorite: "이 노트 즐겨찾기" favorite: "이 노트 즐겨찾기"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "연결중" connecting: "연결중"
reconnecting: "다시 연결 중" reconnecting: "다시 연결 중"
connected: "연결 완료" connected: "연결 완료"
common/views/components/notification-settings.vue:
title: "알림"
mark-as-read-all-notifications: "모든 알림을 읽은 상태로 표시"
mark-as-read-all-unread-notes: "모든 글을 읽은 상태로 표시"
mark-as-read-all-talk-messages: "모든 대화를 읽은 상태로 표시"
auto-watch: "글 자동 감시"
auto-watch-desc: "리액션, 답글, 게시물에 대한 알림을 자동으로 받을 수 있도록 합니다."
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "서비스 연계" title: "서비스 연계"
connect: "접속" connect: "접속"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "자신의 팔로워에게만 공개" followers-desc: "자신의 팔로워에게만 공개"
specified: "다이렉트" specified: "다이렉트"
specified-desc: "지정한 사용자에게만 공개" specified-desc: "지정한 사용자에게만 공개"
private: "비공개"
local-public: "공개 (로컬 한정)" local-public: "공개 (로컬 한정)"
local-public-desc: "원격에는 공개하지 않음" local-public-desc: "원격에는 공개하지 않음"
local-home: "홈 (로컬 한정)" local-home: "홈 (로컬 한정)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "이 계정은 Bot입니다" is-bot: "이 계정은 Bot입니다"
is-locked: "팔로우를 수동으로 승인" is-locked: "팔로우를 수동으로 승인"
careful-bot: "Bot의 팔로우만 수동으로 승인" careful-bot: "Bot의 팔로우만 수동으로 승인"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "기타" advanced: "기타"
privacy: "프라이버시" privacy: "프라이버시"
save: "저장" save: "저장"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "몇몇 창은 브라우저 밖으로 분리할 수 있습니다" tips-line19: "몇몇 창은 브라우저 밖으로 분리할 수 있습니다"
tips-line20: "달력 위젯의 퍼센트는 경과된 비율을 나타냅니다" tips-line20: "달력 위젯의 퍼센트는 경과된 비율을 나타냅니다"
tips-line21: "API를 사용하여 bot의 개발 등을 할 수 있습니다" tips-line21: "API를 사용하여 bot의 개발 등을 할 수 있습니다"
tips-line23: "마유 귀여워요 마유" tips-line23: "아이 귀여워요 아이"
tips-line24: "Misskey는 2014년에 서비스를 시작했습니다" tips-line24: "Misskey는 2014년에 서비스를 시작했습니다"
tips-line25: "대응하는 브라우저인 경우 Misskey를 열어놓지 않아도 알림을 받을 수 있습니다" tips-line25: "대응하는 브라우저인 경우 Misskey를 열어놓지 않아도 알림을 받을 수 있습니다"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "페이지를 찾을 수 없습니다" page-not-found: "페이지를 찾을 수 없습니다"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}으로 로그인" signed-in-as: "{}으로 로그인"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "위치 정보" location: "위치 정보"
renote: "리노트" renote: "리노트"
add-reaction: "리액션 추가" add-reaction: "리액션 추가"
undo-reaction: "리액션 취소"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "답글 달기" reply: "답글 달기"
renote: "리노트" renote: "리노트"
add-reaction: "리액션 추가" add-reaction: "리액션 추가"
undo-reaction: "리액션 취소"
detail: "상세" detail: "상세"
private: "이 글은 비공개입니다" private: "이 글은 비공개입니다"
deleted: "이 글은 삭제되었습니다" deleted: "이 글은 삭제되었습니다"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "2단계 인증" 2fa: "2단계 인증"
other: "기타" other: "기타"
license: "라이선스" license: "라이선스"
mark-as-read-all-unread-notes: "모든 글을 읽은 상태로 표시"
theme: "테마" theme: "테마"
behaviour: "동작" behaviour: "동작"
fetch-on-scroll: "스크롤하여 자동으로 불러오기" fetch-on-scroll: "스크롤하여 자동으로 불러오기"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "다크 모드" dark-mode: "다크 모드"
use-shadow: "UI에 그림자 효과 적용" use-shadow: "UI에 그림자 효과 적용"
rounded-corners: "UI의 모서리를 둥글게 설정" rounded-corners: "UI의 모서리를 둥글게 설정"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "원형 아이콘 사용" circle-icons: "원형 아이콘 사용"
contrasted-acct: "사용자명에 대비 추가" contrasted-acct: "사용자명에 대비 추가"
post-form-on-timeline: "타임라인 상단에 글 작성란을 표시" post-form-on-timeline: "타임라인 상단에 글 작성란을 표시"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "지우기를 실행하면 브라우저에 저장된 계정 정보 캐시, 글이나 답글 및 메시지의 임시 저장, 그 외 데이터 (설정 정보 포함) 가 삭제 됩니다. 지우기 작업을 수행한 후 페이지를 다시 로드해야 합니다." cache-warn: "지우기를 실행하면 브라우저에 저장된 계정 정보 캐시, 글이나 답글 및 메시지의 임시 저장, 그 외 데이터 (설정 정보 포함) 가 삭제 됩니다. 지우기 작업을 수행한 후 페이지를 다시 로드해야 합니다."
cache-cleared: "캐시를 삭제하였습니다" cache-cleared: "캐시를 삭제하였습니다"
cache-cleared-desc: "페이지를 새로고침해 주십시오." cache-cleared-desc: "페이지를 새로고침해 주십시오."
auto-watch: "글 자동 감시"
auto-watch-desc: "리액션, 답글, 게시물에 대한 알림을 자동으로 받을 수 있도록 합니다."
about: "Misskey에 대하여" about: "Misskey에 대하여"
operator: "이 서버의 운영자" operator: "이 서버의 운영자"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "비밀번호를 입력하여 주십시오" enter-password: "비밀번호를 입력하여 주십시오"
authenticator: "먼저, 가지고 계신 장치에 Google Authenticator를 설치해야 합니다:" authenticator: "먼저, 가지고 계신 장치에 Google Authenticator를 설치해야 합니다:"
howtoinstall: "설치 방법은 여기에 있습니다" howtoinstall: "설치 방법은 여기에 있습니다"
token: "トークン"
scan: "다음으로 표시되어 있는 QR 코드를 스캔합니다:" scan: "다음으로 표시되어 있는 QR 코드를 스캔합니다:"
done: "사용중이신 장치에 표시된 토큰을 입력해주시면 마무리됩니다:" done: "사용중이신 장치에 표시된 토큰을 입력해주시면 마무리됩니다:"
submit: "완료" submit: "완료"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "비밀번호를 입력하여 주십시오" enter-password: "비밀번호를 입력하여 주십시오"
console: console:
title: 'API 콘솔' title: "API 콘솔"
endpoint: '엔드포인트' endpoint: "엔드포인트"
parameter: '매개변수' parameter: "매개변수"
credential-info: "\"i\" 패러미터는 자동으로 추가됩니다." credential-info: "\"i\" 패러미터는 자동으로 추가됩니다."
send: '전송' send: "전송"
sending: '응답을 기다리는 중' sending: "응답을 기다리는 중"
response: '결과' response: "결과"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "연결된 어플리케이션이 없습니다" no-apps: "연결된 어플리케이션이 없습니다"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "글" posts: "글"
following: "팔로잉" following: "팔로잉"
followers: "팔로워" followers: "팔로워"
mention: "멘션"
is-bot: "이 계정은 Bot입니다" is-bot: "이 계정은 Bot입니다"
years-old: "{age}세" years-old: "{age}세"
year: "년" year: "년"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "글" default: "글"
with-replies: "글과 답글" with-replies: "글과 답글"
with-media: "미디어" with-media: "미디어"
my-posts: "내 글"
empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다." empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다."
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "메시지" title: "메시지"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "알림 표시" notification-position: "알림 표시"
notification-position-bottom: "아래" notification-position-bottom: "아래"
notification-position-top: "위" notification-position-top: "위"
theme: "테마"
behavior: "동작" behavior: "동작"
fetch-on-scroll: "스크롤하여 자동으로 불러오기" fetch-on-scroll: "스크롤하여 자동으로 불러오기"
note-visibility: "게시물의 공개 범위" note-visibility: "게시물의 공개 범위"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "요약" overview: "요약"
timeline: "타임라인" timeline: "타임라인"
media: "미디어" media: "미디어"
is-suspended: "이 사용자는 정지된 상태입니다."
mute: "뮤트" mute: "뮤트"
unmute: "뮤트 해제" unmute: "뮤트 해제"
block: "차단" block: "차단"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "글" posts: "글"
following: "팔로잉" following: "팔로잉"
followers: "팔로워" followers: "팔로워"
mention: "멘션"
images: "이미지" images: "이미지"
activity: "활동" activity: "활동"
timeline: "타임라인" timeline: "타임라인"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Je sleutel is gegenereerd; je wordt nu uitgelogd." my-token-regenerated: "Je sleutel is gegenereerd; je wordt nu uitgelogd."
i-like-sushi: "私は(プリンよりむしろ)寿司が好き" i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'やり直す' retry: "やり直す"
reversi: reversi:
drawn: "引き分け" drawn: "引き分け"
my-turn: "あなたのターンです" my-turn: "あなたのターンです"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Gebruiker zoeken" search-user: "Gebruiker zoeken"
you: "Jij" you: "Jij"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "Ontwikkelaars" develop: "Ontwikkelaars"
feedback: "Feedback" feedback: "Feedback"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細" detail: "詳細"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "Deze notitie toevoegen aan favorieten" favorite: "Deze notitie toevoegen aan favorieten"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "Bezig met verbinden" connecting: "Bezig met verbinden"
reconnecting: "Bezig met herverbinden" reconnecting: "Bezig met herverbinden"
connected: "Verbonden" connected: "Verbonden"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "Locatie" location: "Locatie"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -698,7 +711,7 @@ desktop/views/components/post-form.vue:
attach-media-from-local: "Media bijvoegen van je computer" attach-media-from-local: "Media bijvoegen van je computer"
attach-media-from-drive: "Media bijvoegen uit je Drive" attach-media-from-drive: "Media bijvoegen uit je Drive"
attach-cancel: "Bijlage annuleren" attach-cancel: "Bijlage annuleren"
insert-a-kao: "v(‘ω’)v" insert-a-kao: "v('ω')v"
create-poll: "Peiling creëren" create-poll: "Peiling creëren"
text-remain: "{} resterende tekens" text-remain: "{} resterende tekens"
recent-tags: "最近" recent-tags: "最近"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "Authenticatie in twee stappen" 2fa: "Authenticatie in twee stappen"
other: "Overig" other: "Overig"
license: "Licentie" license: "Licentie"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "Gedrag" behaviour: "Gedrag"
fetch-on-scroll: "Ophalen bij scrollen" fetch-on-scroll: "Ophalen bij scrollen"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "Donkere modus" dark-mode: "Donkere modus"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める" rounded-corners: "UIの角を丸める"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "Ronde pictogrammen gebruiken" circle-icons: "Ronde pictogrammen gebruiken"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "Berichtformulier boven de tijdlijn tonen" post-form-on-timeline: "Berichtformulier boven de tijdlijn tonen"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "De cache van je accountinformatie/berichten/antwoorden/instellingen wordt verwijderd. Je moet de pagina herladen na het opschonen." cache-warn: "De cache van je accountinformatie/berichten/antwoorden/instellingen wordt verwijderd. Je moet de pagina herladen na het opschonen."
cache-cleared: "Cache opgeschoond" cache-cleared: "Cache opgeschoond"
cache-cleared-desc: "Herlaad de pagina." cache-cleared-desc: "Herlaad de pagina."
auto-watch: "Automatisch volgen"
auto-watch-desc: "Automatisch meldingen ontvangen over het bericht/antwoord."
about: "Over Misskey" about: "Over Misskey"
operator: "De administrator van deze instantie" operator: "De administrator van deze instantie"
update: "Misskey-update" update: "Misskey-update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Voer het wachtwoord in" enter-password: "Voer het wachtwoord in"
authenticator: "Installeer eerst Google Authenticator op je apparaat:" authenticator: "Installeer eerst Google Authenticator op je apparaat:"
howtoinstall: "Hoe installeer ik dit?" howtoinstall: "Hoe installeer ik dit?"
token: "トークン"
scan: "Scan daarna de QR-code:" scan: "Scan daarna de QR-code:"
done: "Voer de op je apparaat getoonde sleutel in:" done: "Voer de op je apparaat getoonde sleutel in:"
submit: "Versturen" submit: "Versturen"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "Berichten" default: "Berichten"
with-replies: "Berichten en antwoorden" with-replies: "Berichten en antwoorden"
with-media: "Media" with-media: "Media"
my-posts: "私の投稿"
empty: "Deze gebruiker heeft nog niks geplaatst." empty: "Deze gebruiker heeft nog niks geplaatst."
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "Gesprekken" title: "Gesprekken"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "Gedrag" behavior: "Gedrag"
fetch-on-scroll: "Ophalen bij scrollen" fetch-on-scroll: "Ophalen bij scrollen"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "Overzicht" overview: "Overzicht"
timeline: "Tijdlijn" timeline: "Tijdlijn"
media: "Media" media: "Media"
is-suspended: "Dit account is geschorst."
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "Privat"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Ditt synbol har blitt generert. Du vil nå bli utlogget." my-token-regenerated: "Ditt synbol har blitt generert. Du vil nå bli utlogget."
i-like-sushi: "私は(プリンよりむしろ)寿司が好き" i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'やり直す' retry: "やり直す"
reversi: reversi:
drawn: "引き分け" drawn: "引き分け"
my-turn: "あなたのターンです" my-turn: "あなたのターンです"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "Sensitivt innhold" sensitive: "Sensitivt innhold"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Mørk" base-theme-dark: "Mørk"
find-more-theme: "その他のテーマを入手"
theme-name: "Tema navn" theme-name: "Tema navn"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "Du" you: "Du"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "Utviklere" develop: "Utviklere"
feedback: "フィードバック" feedback: "フィードバック"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "Detaljer" detail: "Detaljer"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "Merket som favoritt" favorite: "Merket som favoritt"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "Tilkobler" connecting: "Tilkobler"
reconnecting: "Kobler til på nytt" reconnecting: "Kobler til på nytt"
connected: "Tilkoblet" connected: "Tilkoblet"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "Direkte" specified: "Direkte"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "Privat"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "Lokasjon" location: "Lokasjon"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "To-faktor autentisering" 2fa: "To-faktor autentisering"
other: "Annet" other: "Annet"
license: "Lisens" license: "Lisens"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "Utseende" theme: "Utseende"
behaviour: "Oppførsel" behaviour: "Oppførsel"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "ダークモード" dark-mode: "ダークモード"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める" rounded-corners: "UIの角を丸める"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら" howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:" scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:" done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "Send" submit: "Send"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "Innlegg" posts: "Innlegg"
following: "Følger" following: "Følger"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "Innlegg" default: "Innlegg"
with-replies: "Innlegg og svar" with-replies: "Innlegg og svar"
with-media: "Media" with-media: "Media"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。" empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "Melding" title: "Melding"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "Bunn" notification-position-bottom: "Bunn"
notification-position-top: "Topp" notification-position-top: "Topp"
theme: "Utseende"
behavior: "Oppførsel" behavior: "Oppførsel"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "Oversikt" overview: "Oversikt"
timeline: "タイムライン" timeline: "タイムライン"
media: "Media" media: "Media"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "Widoczny tylko dla osób, które Cię śledzą" followers-desc: "Widoczny tylko dla osób, które Cię śledzą"
specified: "Bezpośredni" specified: "Bezpośredni"
specified-desc: "Tylko dla określonych użytkowników" specified-desc: "Tylko dla określonych użytkowników"
private: "Prywatny"
local-public: "Publiczny (tylko lokalnie)" local-public: "Publiczny (tylko lokalnie)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "Dla śledzących (tylko lokalnie)" local-followers: "Dla śledzących (tylko lokalnie)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Twój token został wygenerowany. Zostaniesz wylogowany." my-token-regenerated: "Twój token został wygenerowany. Zostaniesz wylogowany."
i-like-sushi: "Wolę sushi od puddingu" i-like-sushi: "Wolę sushi od puddingu"
show-reversi-board-labels: "Pokazuj podpisy wierszy i kolumn w Reversi" show-reversi-board-labels: "Pokazuj podpisy wierszy i kolumn w Reversi"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Zweryfikowane konto" verified-user: "Zweryfikowane konto"
disable-animated-mfm: "Wyłącz animowany tekst we wpisach" disable-animated-mfm: "Wyłącz animowany tekst we wpisach"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "Zredukuj ruch w UI" reduce-motion: "Zredukuj ruch w UI"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "Użyj domyślnych Emoji systemowych" use-os-default-emojis: "Użyj domyślnych Emoji systemowych"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "Informacje o użytkowniku są kopiowane." is-remote-user: "Informacje o użytkowniku są kopiowane."
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user} udostępnił(a)" renoted-by: "{user} udostępnił(a)"
error: error:
title: 'Coś poszło nie tak' title: "Coś poszło nie tak"
retry: 'Ponów próbę' retry: "Ponów próbę"
reversi: reversi:
drawn: "Remis" drawn: "Remis"
my-turn: "Twoja kolej" my-turn: "Twoja kolej"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "Jasny Motyw" light-themes: "Jasny Motyw"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "Podstawowy motyw" base-theme: "Podstawowy motyw"
base-theme-light: "Jasny" base-theme-light: "Jasny"
base-theme-dark: "Ciemny" base-theme-dark: "Ciemny"
find-more-theme: "その他のテーマを入手"
theme-name: "Nazwa motywu" theme-name: "Nazwa motywu"
preview-created-theme: "Pokaż podgląd" preview-created-theme: "Pokaż podgląd"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "Pokaż więcej" show: "Pokaż więcej"
chars: "{count} znaków" chars: "{count} znaków"
files: "{count} plików" files: "{count} plików"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Znajdź użytkownika" search-user: "Znajdź użytkownika"
you: "Ty" you: "Ty"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "Autorzy" develop: "Autorzy"
feedback: "Podziel się opinią" feedback: "Podziel się opinią"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "Szczegóły" detail: "Szczegóły"
copy-link: "Skopiuj adres" copy-link: "Skopiuj adres"
favorite: "Dodaj do ulubionych" favorite: "Dodaj do ulubionych"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "Łączenie" connecting: "Łączenie"
reconnecting: "Ponowne łączenie" reconnecting: "Ponowne łączenie"
connected: "Połączono" connected: "Połączono"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "Połącz" connect: "Połącz"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "Widoczny tylko dla osób, które Cię śledzą" followers-desc: "Widoczny tylko dla osób, które Cię śledzą"
specified: "Bezpośredni" specified: "Bezpośredni"
specified-desc: "Tylko dla określonych użytkowników" specified-desc: "Tylko dla określonych użytkowników"
private: "Prywatny"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "To konto jest prowadzone przez bota" is-bot: "To konto jest prowadzone przez bota"
is-locked: "Żądanania śledzenia wymagają zatwierdzenia" is-locked: "Żądanania śledzenia wymagają zatwierdzenia"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "Inne" advanced: "Inne"
privacy: "Prywatność" privacy: "Prywatność"
save: "Zapisz" save: "Zapisz"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "Część okien może zostać odłączona z przeglądarki." tips-line19: "Część okien może zostać odłączona z przeglądarki."
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "Możesz też używać API, aby tworzyć boty." tips-line21: "Możesz też używać API, aby tworzyć boty."
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskey zaczął działać w 2014." 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." tips-line25: "Możesz otrzymywać powiadomienia nawet jeżeli Misskey nie jest otwarty w obsługiwanej przeglądarce."
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "Zalogowany jako {}" signed-in-as: "Zalogowany jako {}"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "Informacje o lokalizacji" location: "Informacje o lokalizacji"
renote: "Udostępnij" renote: "Udostępnij"
add-reaction: "Dodaj reakcję" add-reaction: "Dodaj reakcję"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "Odpowiedz" reply: "Odpowiedz"
renote: "Udostępnij" renote: "Udostępnij"
add-reaction: "Dodaj reakcję" add-reaction: "Dodaj reakcję"
undo-reaction: "リアクション解除"
detail: "Szczegóły" detail: "Szczegóły"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "Uwierzytelnianie dwuetapowe" 2fa: "Uwierzytelnianie dwuetapowe"
other: "Inne" other: "Inne"
license: "Licencja" license: "Licencja"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "Motyw" theme: "Motyw"
behaviour: "Zachowanie" behaviour: "Zachowanie"
fetch-on-scroll: "Automatycznie ładuj po przeciągnięciu w dół" fetch-on-scroll: "Automatycznie ładuj po przeciągnięciu w dół"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "Tryb ciemny" dark-mode: "Tryb ciemny"
use-shadow: "Użyj cieni w UI" use-shadow: "Użyj cieni w UI"
rounded-corners: "Zaokrąglaj rogi w UI" rounded-corners: "Zaokrąglaj rogi w UI"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "Używaj okrągłych ikon" circle-icons: "Używaj okrągłych ikon"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu" post-form-on-timeline: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "Pamięć podręczna informacji o koncie/wpisów/odpowiedzi/wiadomości/ustawień przechowywanych w przeglądarce zostanie usunięta. Będziesz musiał odświeżyć stronę po wyczyszczeniu." cache-warn: "Pamięć podręczna informacji o koncie/wpisów/odpowiedzi/wiadomości/ustawień przechowywanych w przeglądarce zostanie usunięta. Będziesz musiał odświeżyć stronę po wyczyszczeniu."
cache-cleared: "Wyczyszczono pamięć podręczną" cache-cleared: "Wyczyszczono pamięć podręczną"
cache-cleared-desc: "Proszę odświeżyć stronę." cache-cleared-desc: "Proszę odświeżyć stronę."
auto-watch: "Automatycznie nasłuchuj"
auto-watch-desc: "Otrzymuj natychmiastowo informacje o wpisach/odpowiedziach/reakcjach."
about: "O Misskey" about: "O Misskey"
operator: "Administrator instancji" operator: "Administrator instancji"
update: "Aktualizacja Misskey" update: "Aktualizacja Misskey"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "Wprowadź hasło" enter-password: "Wprowadź hasło"
authenticator: "Na początek musisz zainstalować Google Authenticator na swoim urządzeniu:" authenticator: "Na początek musisz zainstalować Google Authenticator na swoim urządzeniu:"
howtoinstall: "Jak zainstalować" howtoinstall: "Jak zainstalować"
token: "トークン"
scan: "Później, zeskanuje ten kod QR:" scan: "Później, zeskanuje ten kod QR:"
done: "Wprowadź token wyświetlony na Twoim urządzeniu:" done: "Wprowadź token wyświetlony na Twoim urządzeniu:"
submit: "Wyślij" submit: "Wyślij"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "Wprowadź hasło" enter-password: "Wprowadź hasło"
console: console:
title: 'Konsola API' title: "Konsola API"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'Parametry' parameter: "Parametry"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: 'Wyślij' send: "Wyślij"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "Brak zautoryzowanych aplikacji" no-apps: "Brak zautoryzowanych aplikacji"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "Wpisy" posts: "Wpisy"
following: "Śledzeni" following: "Śledzeni"
followers: "Śledzący" followers: "Śledzący"
mention: "メンション"
is-bot: "To konto jest botem" is-bot: "To konto jest botem"
years-old: "{age} lat" years-old: "{age} lat"
year: "/" year: "/"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "Wpisy" default: "Wpisy"
with-replies: "Wpisy i odpowiedzi" with-replies: "Wpisy i odpowiedzi"
with-media: "Multimedia" with-media: "Multimedia"
my-posts: "私の投稿"
empty: "Ten użytkownik nie umieścił jeszcze niczego." empty: "Ten użytkownik nie umieścił jeszcze niczego."
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "Wiadomości" title: "Wiadomości"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "Dół" notification-position-bottom: "Dół"
notification-position-top: "Góra" notification-position-top: "Góra"
theme: "Motyw"
behavior: "Zachowanie" behavior: "Zachowanie"
fetch-on-scroll: "Automatycznie ładuj po przeciągnięciu w dół" fetch-on-scroll: "Automatycznie ładuj po przeciągnięciu w dół"
note-visibility: "Widoczność wpisów" note-visibility: "Widoczność wpisów"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "Przegląd" overview: "Przegląd"
timeline: "Oś czasu" timeline: "Oś czasu"
media: "Multimedia" media: "Multimedia"
is-suspended: "To konto zostało zablokowane"
mute: "Wycisz" mute: "Wycisz"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "Zablokuj" block: "Zablokuj"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "Wpisy" posts: "Wpisy"
following: "Śledzeni" following: "Śledzeni"
followers: "Śledzący" followers: "Śledzący"
mention: "メンション"
images: "Zdjęcia" images: "Zdjęcia"
activity: "Aktywność" activity: "Aktywność"
timeline: "Oś czasu" timeline: "Oś czasu"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "Seu token foi recriado, portanto você foi deslogado." my-token-regenerated: "Seu token foi recriado, portanto você foi deslogado."
i-like-sushi: "Eu prefiro sushi a pudim" i-like-sushi: "Eu prefiro sushi a pudim"
show-reversi-board-labels: "Mostrar etiquetas de colunas e linhas no Reversi" show-reversi-board-labels: "Mostrar etiquetas de colunas e linhas no Reversi"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "Conta verificada" verified-user: "Conta verificada"
disable-animated-mfm: "Desativar texto animado nas publicações" disable-animated-mfm: "Desativar texto animado nas publicações"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: "問題が発生しました"
retry: 'やり直す' retry: "やり直す"
reversi: reversi:
drawn: "Empatado" drawn: "Empatado"
my-turn: "Seu turno" my-turn: "Seu turno"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "Você" you: "Você"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "開発者" develop: "開発者"
feedback: "フィードバック" feedback: "フィードバック"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細" detail: "詳細"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "お気に入り" favorite: "お気に入り"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "位置情報" location: "位置情報"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "二段階認証" 2fa: "二段階認証"
other: "その他" other: "その他"
license: "ライセンス" license: "ライセンス"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "動作" behaviour: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "ダークモード" dark-mode: "ダークモード"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める" rounded-corners: "UIの角を丸める"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら" howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:" scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:" done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了" submit: "完了"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿" default: "投稿"
with-replies: "投稿と返信" with-replies: "投稿と返信"
with-media: "メディア" with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。" empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "メッセージ" title: "メッセージ"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "動作" behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "概要" overview: "概要"
timeline: "Linha do tempo" timeline: "Linha do tempo"
media: "Mídia" media: "Mídia"
is-suspended: "Esta conta foi suspensa"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -26,12 +26,12 @@ common:
close: "Закрыть" close: "Закрыть"
do-not-copy-paste: "Пожалуйста, не вводите и не вставляйте сюда код. Аккаунту может угрожать опасность." do-not-copy-paste: "Пожалуйста, не вводите и не вставляйте сюда код. Аккаунту может угрожать опасность."
load-more: "Загрузить больше" load-more: "Загрузить больше"
enter-password: "パスワードを入力してください" enter-password: "Пожалуйста, введите ваш пароль"
got-it: "わかった" got-it: "わかった"
customization-tips: customization-tips:
title: "カスタマイズのヒント" title: "Советы по настройке"
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>" paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
gotit: "Got it!" gotit: "Понятно!"
notification: notification:
file-uploaded: "Файл отправлен!" file-uploaded: "Файл отправлен!"
message-from: "Сообщение от {}:" message-from: "Сообщение от {}:"
@@ -64,17 +64,17 @@ common:
friday: "Пт" friday: "Пт"
saturday: "Сб" saturday: "Сб"
weekday: weekday:
sunday: "日曜日" sunday: "Воскресенье"
monday: "月曜日" monday: "Понедельник"
tuesday: "火曜日" tuesday: "Вторник"
wednesday: "水曜日" wednesday: "Среда"
thursday: "木曜日" thursday: "Четверг"
friday: "金曜日" friday: "Пятница"
saturday: "土曜日" saturday: "Суббота"
reactions: reactions:
like: "いいね" like: "Нравится"
love: "しゅき" love: "しゅき"
laugh: "" laugh: "Ха-Ха"
hmm: "ふぅ~む" hmm: "ふぅ~む"
surprise: "わお" surprise: "わお"
congrats: "おめでとう" congrats: "おめでとう"
@@ -90,7 +90,6 @@ common:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルのみ)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
i-like-sushi: "私は(プリンよりむしろ)寿司が好き" i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "Отключить анимированный текст в постах" disable-animated-mfm: "Отключить анимированный текст в постах"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
@@ -121,14 +120,15 @@ common:
reduce-motion: "Уменьшить движение в интерфейсе" reduce-motion: "Уменьшить движение в интерфейсе"
this-setting-is-this-device-only: "Только для этого устройства" this-setting-is-this-device-only: "Только для этого устройства"
use-os-default-emojis: "Использовать стандартные Emoji из ОС" use-os-default-emojis: "Использовать стандартные Emoji из ОС"
do-not-use-in-production: 'Эта сборка для разработчиков. Не используйте в продакшне.' do-not-use-in-production: "Эта сборка для разработчиков. Не используйте в продакшне."
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: 'Что-то пошло не так :(' title: "Что-то пошло не так :("
retry: 'Повторить' retry: "Повторить"
reversi: reversi:
drawn: "Ничья" drawn: "Ничья"
my-turn: "Ваш ход" my-turn: "Ваш ход"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "ベーステーマ" base-theme: "ベーステーマ"
base-theme-light: "Light" base-theme-light: "Light"
base-theme-dark: "Dark" base-theme-dark: "Dark"
find-more-theme: "その他のテーマを入手"
theme-name: "テーマ名" theme-name: "テーマ名"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "もっと見る" show: "もっと見る"
chars: "{count}文字" chars: "{count}文字"
files: "{count}ファイル" files: "{count}ファイル"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あなた" you: "あなた"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "開発者" develop: "開発者"
feedback: "フィードバック" feedback: "フィードバック"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "詳細" detail: "詳細"
copy-link: "リンクをコピー" copy-link: "リンクをコピー"
favorite: "お気に入り" favorite: "お気に入り"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "接続する" connect: "接続する"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "自分のフォロワーにのみ公開"
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "指定したユーザーにのみ公開"
private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルのみ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートへは公開しない"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
is-locked: "フォローを承認制にする" is-locked: "フォローを承認制にする"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "その他" advanced: "その他"
privacy: "プライバシー" privacy: "プライバシー"
save: "保存" save: "保存"
@@ -527,10 +538,10 @@ common/views/widgets/tips.vue:
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます" tips-line21: "APIを利用してbotの開発なども行えます"
tips-line23: "まゆかわいいよまゆ" tips-line23: "かわいいよ"
tips-line24: "Misskeyは2014年にサービスを開始しました" tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "ページが見つかりませんでした" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "位置情報" location: "位置情報"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "返信" reply: "返信"
renote: "Renote" renote: "Renote"
add-reaction: "リアクション" add-reaction: "リアクション"
undo-reaction: "リアクション解除"
detail: "詳細" detail: "詳細"
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "二段階認証" 2fa: "二段階認証"
other: "その他" other: "その他"
license: "ライセンス" license: "ライセンス"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "テーマ" theme: "テーマ"
behaviour: "動作" behaviour: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "ダークモード" dark-mode: "ダークモード"
use-shadow: "UIに影を使用" use-shadow: "UIに影を使用"
rounded-corners: "UIの角を丸める" rounded-corners: "UIの角を丸める"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
cache-cleared: "キャッシュを削除しました" cache-cleared: "キャッシュを削除しました"
cache-cleared-desc: "ページを再度読み込みしてください。" cache-cleared-desc: "ページを再度読み込みしてください。"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
about: "Misskeyについて" about: "Misskeyについて"
operator: "このサーバーの運営者" operator: "このサーバーの運営者"
update: "Misskey Update" update: "Misskey Update"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
howtoinstall: "インストール方法はこちら" howtoinstall: "インストール方法はこちら"
token: "トークン"
scan: "次に、表示されているQRコードをスキャンします:" scan: "次に、表示されているQRコードをスキャンします:"
done: "お使いのデバイスに表示されているトークンを入力して完了します:" done: "お使いのデバイスに表示されているトークンを入力して完了します:"
submit: "完了" submit: "完了"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "パスワードを入力してください"
console: console:
title: 'APIコンソール' title: "APIコンソール"
endpoint: 'エンドポイント' endpoint: "エンドポイント"
parameter: 'パラメータ' parameter: "パラメータ"
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: "送信"
sending: '応答待ち' sending: "応答待ち"
response: '結果' response: "結果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません" no-apps: "連携しているアプリケーションはありません"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
is-bot: "このアカウントはBotです" is-bot: "このアカウントはBotです"
years-old: "{age}歳" years-old: "{age}歳"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "投稿" default: "投稿"
with-replies: "投稿と返信" with-replies: "投稿と返信"
with-media: "メディア" with-media: "メディア"
my-posts: "私の投稿"
empty: "このユーザーはまだ何も投稿していないようです。" empty: "このユーザーはまだ何も投稿していないようです。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "メッセージ" title: "メッセージ"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "下" notification-position-bottom: "下"
notification-position-top: "上" notification-position-top: "上"
theme: "テーマ"
behavior: "動作" behavior: "動作"
fetch-on-scroll: "スクロールで自動読み込み" fetch-on-scroll: "スクロールで自動読み込み"
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "概要" overview: "概要"
timeline: "タイムライン" timeline: "タイムライン"
media: "メディア" media: "メディア"
is-suspended: "このユーザーは凍結されています。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "ブロック"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "投稿" posts: "投稿"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
mention: "メンション"
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"

View File

@@ -90,7 +90,6 @@ common:
followers-desc: "仅发送至粉丝" followers-desc: "仅发送至粉丝"
specified: "指定用户" specified: "指定用户"
specified-desc: "仅发送至指定用户" specified-desc: "仅发送至指定用户"
private: "私密"
local-public: "公开(仅限本地)" local-public: "公开(仅限本地)"
local-home: "首页(仅限本地)" local-home: "首页(仅限本地)"
local-followers: "关注者(仅限本地)" local-followers: "关注者(仅限本地)"
@@ -110,7 +109,7 @@ common:
my-token-regenerated: "您的 Token 已被重置, 您将自动登出。" my-token-regenerated: "您的 Token 已被重置, 您将自动登出。"
i-like-sushi: "相比于布丁来说, 我更喜欢寿司。" i-like-sushi: "相比于布丁来说, 我更喜欢寿司。"
show-reversi-board-labels: "在 Reversi 中显示行和列表签" show-reversi-board-labels: "在 Reversi 中显示行和列表签"
use-white-black-reversi-stones: "リバーシに白黒の石を使う" use-avatar-reversi-stones: "リバーシの石にアバターを使う"
verified-user: "认证用户" verified-user: "认证用户"
disable-animated-mfm: "在帖子中禁用动画文本" disable-animated-mfm: "在帖子中禁用动画文本"
suggest-recent-hashtags: "在帖子表单上显示最近流行的主题标签" suggest-recent-hashtags: "在帖子表单上显示最近流行的主题标签"
@@ -121,14 +120,15 @@ common:
reduce-motion: "减弱UI中的动画效果" reduce-motion: "减弱UI中的动画效果"
this-setting-is-this-device-only: "设置仅在本设备中生效" this-setting-is-this-device-only: "设置仅在本设备中生效"
use-os-default-emojis: "使用设备系统默认的 emojis" use-os-default-emojis: "使用设备系统默认的 emojis"
do-not-use-in-production: '这是一个开发者测试版. 请勿在生产环境中使用.' do-not-use-in-production: "这是一个开发者测试版. 请勿在生产环境中使用."
user-suspended: "このユーザーは凍結されています。"
is-remote-user: "该用户的信息已被复制." is-remote-user: "该用户的信息已被复制."
is-remote-post: "该投稿已被复制." is-remote-post: "该投稿已被复制."
view-on-remote: "查看准确的信息" view-on-remote: "查看准确的信息"
renoted-by: "由 {user} Renote" renoted-by: "由 {user} Renote"
error: error:
title: '哦不, 发生了一些问题! :(' title: "哦不, 发生了一些问题! :("
retry: '重试' retry: "重试"
reversi: reversi:
drawn: "平局" drawn: "平局"
my-turn: "轮到你了" my-turn: "轮到你了"
@@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
sensitive: "阅读注意" sensitive: "阅读注意"
click-to-show: "点击以显示" click-to-show: "点击以显示"
common/views/components/theme.vue: common/views/components/theme.vue:
theme: "テーマ"
light-theme: "主题" light-theme: "主题"
dark-theme: "黑暗模式主题" dark-theme: "黑暗模式主题"
light-themes: "明亮主题" light-themes: "明亮主题"
@@ -276,6 +277,7 @@ common/views/components/theme.vue:
base-theme: "基础主题" base-theme: "基础主题"
base-theme-light: "亮" base-theme-light: "亮"
base-theme-dark: "暗" base-theme-dark: "暗"
find-more-theme: "その他のテーマを入手"
theme-name: "主题名称" theme-name: "主题名称"
preview-created-theme: "预览" preview-created-theme: "预览"
invalid-theme: "无效主题" invalid-theme: "无效主题"
@@ -299,6 +301,7 @@ common/views/components/cw-button.vue:
show: "查看更多" show: "查看更多"
chars: "{count}文字" chars: "{count}文字"
files: "{count} 个文件" files: "{count} 个文件"
poll: "アンケート"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "查找用户" search-user: "查找用户"
you: "您" you: "您"
@@ -328,6 +331,7 @@ common/views/components/nav.vue:
develop: "开发者" develop: "开发者"
feedback: "反馈" feedback: "反馈"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "メンション"
detail: "详细信息" detail: "详细信息"
copy-link: "复制链接" copy-link: "复制链接"
favorite: "收藏这个投稿" favorite: "收藏这个投稿"
@@ -403,6 +407,13 @@ common/views/components/stream-indicator.vue:
connecting: "连接中" connecting: "连接中"
reconnecting: "重新连接中" reconnecting: "重新连接中"
connected: "已连接" connected: "已连接"
common/views/components/notification-settings.vue:
title: "通知"
mark-as-read-all-notifications: "すべての通知を既読にする"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
auto-watch: "投稿の自動ウォッチ"
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
common/views/components/integration-settings.vue: common/views/components/integration-settings.vue:
title: "サービス連携" title: "サービス連携"
connect: "连接" connect: "连接"
@@ -432,7 +443,6 @@ common/views/components/visibility-chooser.vue:
followers-desc: "仅发送至关注者" followers-desc: "仅发送至关注者"
specified: "直接" specified: "直接"
specified-desc: "仅发送至指定用户" specified-desc: "仅发送至指定用户"
private: "私密"
local-public: "公开(仅限本地)" local-public: "公开(仅限本地)"
local-public-desc: "不要发布到公开" local-public-desc: "不要发布到公开"
local-home: "首页(仅限本地)" local-home: "首页(仅限本地)"
@@ -461,6 +471,7 @@ common/views/components/profile-editor.vue:
is-bot: "整个账户是机器人" is-bot: "整个账户是机器人"
is-locked: "关注者请求需要批准" is-locked: "关注者请求需要批准"
careful-bot: "机器人的关注者请求需要批准" careful-bot: "机器人的关注者请求需要批准"
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
advanced: "其他选项" advanced: "其他选项"
privacy: "隐私" privacy: "隐私"
save: "保存" save: "保存"
@@ -527,11 +538,11 @@ common/views/widgets/tips.vue:
tips-line19: "可以在浏览器外部分离多个窗口。" tips-line19: "可以在浏览器外部分离多个窗口。"
tips-line20: "日历小部件的百分比显示经过的时间百分比。" tips-line20: "日历小部件的百分比显示经过的时间百分比。"
tips-line21: "您也可以使用API开发机器人。" tips-line21: "您也可以使用API开发机器人。"
tips-line23: "Mayu的眉毛非常可爱。" tips-line23: "藍かわいいよ藍"
tips-line24: "Misskey自2014年开始运营。" tips-line24: "Misskey自2014年开始运营。"
tips-line25: "在与通知功能兼容的浏览器中您可以在Misskey未打开的情况下接收通知" tips-line25: "在与通知功能兼容的浏览器中您可以在Misskey未打开的情况下接收通知"
common/views/pages/404.vue: common/views/pages/not-found.vue:
page-not-found: "您要找的网页不存在。" page-not-found: "ページが見つかりませんでした"
common/views/pages/follow.vue: common/views/pages/follow.vue:
signed-in-as: "用 {}登录" signed-in-as: "用 {}登录"
following: "正在关注" following: "正在关注"
@@ -667,10 +678,12 @@ desktop/views/components/note-detail.vue:
location: "位置信息" location: "位置信息"
renote: "转发" renote: "转发"
add-reaction: "添加一个反应" add-reaction: "添加一个反应"
undo-reaction: "リアクション解除"
desktop/views/components/note.vue: desktop/views/components/note.vue:
reply: "回复" reply: "回复"
renote: "Renote" renote: "Renote"
add-reaction: "添加一个反应" add-reaction: "添加一个反应"
undo-reaction: "リアクション解除"
detail: "详细信息" detail: "详细信息"
private: "这个投稿是私密的" private: "这个投稿是私密的"
deleted: "投稿已删除" deleted: "投稿已删除"
@@ -744,7 +757,6 @@ desktop/views/components/settings.vue:
2fa: "两步验证" 2fa: "两步验证"
other: "其他" other: "其他"
license: "许可证" license: "许可证"
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
theme: "主题" theme: "主题"
behaviour: "行为" behaviour: "行为"
fetch-on-scroll: "向下滚动时自动加载" fetch-on-scroll: "向下滚动时自动加载"
@@ -770,6 +782,10 @@ desktop/views/components/settings.vue:
dark-mode: "黑暗模式" dark-mode: "黑暗模式"
use-shadow: "在UI中使用阴影效果" use-shadow: "在UI中使用阴影效果"
rounded-corners: "UI界面圆角效果" rounded-corners: "UI界面圆角效果"
line-width: "線の太さ"
line-width-thin: "細い"
line-width-normal: "普通"
line-width-thick: "太い"
circle-icons: "使用圆形图标" circle-icons: "使用圆形图标"
contrasted-acct: "增加用户名的对比度" contrasted-acct: "增加用户名的对比度"
post-form-on-timeline: "在时间线顶部显示帖子表单" post-form-on-timeline: "在时间线顶部显示帖子表单"
@@ -801,8 +817,6 @@ desktop/views/components/settings.vue:
cache-warn: "将删除存储在浏览器中的帐户信息/帖子/回复/消息/设置的缓存。 清理完毕后需要刷新页面。" cache-warn: "将删除存储在浏览器中的帐户信息/帖子/回复/消息/设置的缓存。 清理完毕后需要刷新页面。"
cache-cleared: "已清除缓存" cache-cleared: "已清除缓存"
cache-cleared-desc: "请刷新页面。" cache-cleared-desc: "请刷新页面。"
auto-watch: "自动查看帖子"
auto-watch-desc: "自动接收有关帖子/回复/反应的通知。"
about: "关于 Misskey" about: "关于 Misskey"
operator: "网站运营者" operator: "网站运营者"
update: "更新 Misskey" update: "更新 Misskey"
@@ -841,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
enter-password: "请输入您的密码" enter-password: "请输入您的密码"
authenticator: "首先,您需要在设备上安装 Google Authenticator" authenticator: "首先,您需要在设备上安装 Google Authenticator"
howtoinstall: "怎样安装" howtoinstall: "怎样安装"
token: "トークン"
scan: "然后,扫描二维码:" scan: "然后,扫描二维码:"
done: "请输入显示在您设备上的密钥:" done: "请输入显示在您设备上的密钥:"
submit: "提交" submit: "提交"
@@ -855,13 +870,13 @@ common/views/components/api-settings.vue:
token: "令牌:" token: "令牌:"
enter-password: "请输入您的密码" enter-password: "请输入您的密码"
console: console:
title: 'API 控制台' title: "API 控制台"
endpoint: '端点' endpoint: "端点"
parameter: '参数' parameter: "参数"
credential-info: "此控制台不需要参数“i”。" credential-info: "此控制台不需要参数“i”。"
send: '发送' send: "发送"
sending: '等待回应' sending: "等待回应"
response: '结果' response: "结果"
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
no-apps: "没有已连接的应用程序" no-apps: "没有已连接的应用程序"
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
@@ -1215,6 +1230,7 @@ desktop/views/pages/user/user.header.vue:
posts: "帖子" posts: "帖子"
following: "关注中" following: "关注中"
followers: "关注者" followers: "关注者"
mention: "メンション"
is-bot: "这个账户是Bot" is-bot: "这个账户是Bot"
years-old: "{age}岁" years-old: "{age}岁"
year: "年" year: "年"
@@ -1224,6 +1240,7 @@ desktop/views/pages/user/user.timeline.vue:
default: "帖子" default: "帖子"
with-replies: "帖子与回复" with-replies: "帖子与回复"
with-media: "媒体" with-media: "媒体"
my-posts: "私の投稿"
empty: "看起来这个用户还没有发布什么呢。" empty: "看起来这个用户还没有发布什么呢。"
desktop/views/widgets/messaging.vue: desktop/views/widgets/messaging.vue:
title: "信息" title: "信息"
@@ -1422,7 +1439,6 @@ mobile/views/pages/settings.vue:
notification-position: "通知形式" notification-position: "通知形式"
notification-position-bottom: "底部" notification-position-bottom: "底部"
notification-position-top: "顶部" notification-position-top: "顶部"
theme: "主题"
behavior: "动作" behavior: "动作"
fetch-on-scroll: "滚动无限加载" fetch-on-scroll: "滚动无限加载"
note-visibility: "帖子可见性" note-visibility: "帖子可见性"
@@ -1455,7 +1471,6 @@ mobile/views/pages/user.vue:
overview: "概观" overview: "概观"
timeline: "时间线" timeline: "时间线"
media: "媒体" media: "媒体"
is-suspended: "此账户已被冻结。"
mute: "静音" mute: "静音"
unmute: "取消静音" unmute: "取消静音"
block: "屏蔽" block: "屏蔽"
@@ -1509,6 +1524,7 @@ deck/deck.user-column.vue:
posts: "帖子" posts: "帖子"
following: "关注中" following: "关注中"
followers: "关注者" followers: "关注者"
mention: "メンション"
images: "图片" images: "图片"
activity: "活动" activity: "活动"
timeline: "时间线" timeline: "时间线"

View File

@@ -1,8 +1,8 @@
{ {
"name": "misskey", "name": "misskey",
"author": "syuilo <i@syuilo.com>", "author": "syuilo <i@syuilo.com>",
"version": "10.67.0", "version": "10.73.0",
"clientVersion": "2.0.12978", "clientVersion": "2.0.13266",
"codename": "nighthike", "codename": "nighthike",
"main": "./built/index.js", "main": "./built/index.js",
"private": true, "private": true,
@@ -23,14 +23,14 @@
"@fortawesome/fontawesome-svg-core": "1.2.8", "@fortawesome/fontawesome-svg-core": "1.2.8",
"@fortawesome/free-brands-svg-icons": "5.6.0", "@fortawesome/free-brands-svg-icons": "5.6.0",
"@fortawesome/free-regular-svg-icons": "5.5.0", "@fortawesome/free-regular-svg-icons": "5.5.0",
"@fortawesome/free-solid-svg-icons": "5.6.1", "@fortawesome/free-solid-svg-icons": "5.6.3",
"@fortawesome/vue-fontawesome": "0.1.2", "@fortawesome/vue-fontawesome": "0.1.2",
"@koa/cors": "2.2.2", "@koa/cors": "2.2.3",
"@prezzemolo/rap": "0.1.2", "@prezzemolo/rap": "0.1.2",
"@prezzemolo/zip": "0.0.3", "@prezzemolo/zip": "0.0.3",
"@types/bcryptjs": "2.4.2", "@types/bcryptjs": "2.4.2",
"@types/chai-http": "3.0.5", "@types/chai-http": "3.0.5",
"@types/dateformat": "1.0.1", "@types/dateformat": "3.0.0",
"@types/debug": "0.0.31", "@types/debug": "0.0.31",
"@types/deep-equal": "1.0.1", "@types/deep-equal": "1.0.1",
"@types/double-ended-queue": "2.1.0", "@types/double-ended-queue": "2.1.0",
@@ -44,7 +44,7 @@
"@types/gulp-util": "3.0.34", "@types/gulp-util": "3.0.34",
"@types/is-root": "1.0.0", "@types/is-root": "1.0.0",
"@types/is-url": "1.2.28", "@types/is-url": "1.2.28",
"@types/js-yaml": "3.11.2", "@types/js-yaml": "3.11.4",
"@types/katex": "0.5.0", "@types/katex": "0.5.0",
"@types/koa": "2.0.47", "@types/koa": "2.0.47",
"@types/koa-bodyparser": "5.0.2", "@types/koa-bodyparser": "5.0.2",
@@ -76,7 +76,7 @@
"@types/rimraf": "2.0.2", "@types/rimraf": "2.0.2",
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.27",
"@types/sharp": "0.21.0", "@types/sharp": "0.21.0",
"@types/showdown": "1.7.5", "@types/showdown": "1.9.0",
"@types/speakeasy": "2.0.3", "@types/speakeasy": "2.0.3",
"@types/systeminformation": "3.23.1", "@types/systeminformation": "3.23.1",
"@types/tinycolor2": "1.4.1", "@types/tinycolor2": "1.4.1",
@@ -111,8 +111,8 @@
"elasticsearch": "15.2.0", "elasticsearch": "15.2.0",
"emojilib": "2.4.0", "emojilib": "2.4.0",
"escape-regexp": "0.0.1", "escape-regexp": "0.0.1",
"eslint": "5.8.0", "eslint": "5.11.1",
"eslint-plugin-vue": "4.7.1", "eslint-plugin-vue": "5.0.0",
"eventemitter3": "3.1.0", "eventemitter3": "3.1.0",
"feed": "2.0.2", "feed": "2.0.2",
"file-loader": "2.0.0", "file-loader": "2.0.0",
@@ -155,7 +155,7 @@
"koa-slow": "2.1.0", "koa-slow": "2.1.0",
"koa-views": "6.1.4", "koa-views": "6.1.4",
"langmap": "0.0.16", "langmap": "0.0.16",
"loader-utils": "1.1.0", "loader-utils": "1.2.3",
"minio": "7.0.2", "minio": "7.0.2",
"mkdirp": "0.5.1", "mkdirp": "0.5.1",
"mocha": "5.2.0", "mocha": "5.2.0",
@@ -164,7 +164,7 @@
"mongodb": "3.1.10", "mongodb": "3.1.10",
"monk": "6.0.6", "monk": "6.0.6",
"ms": "2.1.1", "ms": "2.1.1",
"nan": "2.11.1", "nan": "2.12.1",
"nested-property": "0.0.7", "nested-property": "0.0.7",
"nodemailer": "4.7.0", "nodemailer": "4.7.0",
"nprogress": "0.2.0", "nprogress": "0.2.0",
@@ -223,13 +223,13 @@
"vue-content-loading": "1.5.3", "vue-content-loading": "1.5.3",
"vue-cropperjs": "3.0.0", "vue-cropperjs": "3.0.0",
"vue-i18n": "8.3.2", "vue-i18n": "8.3.2",
"vue-js-modal": "1.3.27", "vue-js-modal": "1.3.28",
"vue-loader": "15.4.2", "vue-loader": "15.4.2",
"vue-marquee-text-component": "1.1.0", "vue-marquee-text-component": "1.1.0",
"vue-router": "3.0.2", "vue-router": "3.0.2",
"vue-sequential-entrance": "1.1.3", "vue-sequential-entrance": "1.1.3",
"vue-style-loader": "4.1.2", "vue-style-loader": "4.1.2",
"vue-svg-inline-loader": "1.2.4", "vue-svg-inline-loader": "1.2.7",
"vue-template-compiler": "2.5.17", "vue-template-compiler": "2.5.17",
"vuedraggable": "2.17.0", "vuedraggable": "2.17.0",
"vuewordcloud": "18.7.11", "vuewordcloud": "18.7.11",

View File

@@ -9,7 +9,7 @@ import './style.styl';
import init from '../init'; import init from '../init';
import Index from './views/index.vue'; import Index from './views/index.vue';
import NotFound from '../common/views/pages/404.vue'; import NotFound from '../common/views/pages/not-found.vue';
init(launch => { init(launch => {
document.title = 'Admin'; document.title = 'Admin';

View File

@@ -9,7 +9,7 @@ import './style.styl';
import init from '../init'; import init from '../init';
import Index from './views/index.vue'; import Index from './views/index.vue';
import NotFound from '../common/views/pages/404.vue'; import NotFound from '../common/views/pages/not-found.vue';
/** /**
* init * init

View File

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

View File

@@ -65,6 +65,10 @@ export default (opts: Opts = {}) => ({
return this.isRenote ? this.note.renote : this.note; return this.isRenote ? this.note.renote : this.note;
}, },
isMyNote(): boolean {
return this.$store.getters.isSignedIn && (this.$store.state.i.id === this.appearNote.userId);
},
reactionsCount(): number { reactionsCount(): number {
return this.appearNote.reactionCounts return this.appearNote.reactionCounts
? sum(Object.values(this.appearNote.reactionCounts)) ? sum(Object.values(this.appearNote.reactionCounts))
@@ -125,9 +129,7 @@ export default (opts: Opts = {}) => ({
source: this.$refs.reactButton, source: this.$refs.reactButton,
note: this.appearNote, note: this.appearNote,
showFocus: viaKeyboard, showFocus: viaKeyboard,
animation: !viaKeyboard, animation: !viaKeyboard
compact: opts.mobile,
big: opts.mobile
}).$once('closed', this.focus); }).$once('closed', this.focus);
}, },
@@ -138,6 +140,14 @@ export default (opts: Opts = {}) => ({
}); });
}, },
undoReact(note) {
const oldReaction = note.myReaction;
if (!oldReaction) return;
this.$root.api('notes/reactions/delete', {
noteId: note.id
});
},
favorite() { favorite() {
this.$root.api('notes/favorites/create', { this.$root.api('notes/favorites/create', {
noteId: this.appearNote.id noteId: this.appearNote.id
@@ -159,8 +169,7 @@ export default (opts: Opts = {}) => ({
this.$root.new(MkNoteMenu, { this.$root.new(MkNoteMenu, {
source: this.$refs.menuButton, source: this.$refs.menuButton,
note: this.appearNote, note: this.appearNote,
animation: !viaKeyboard, animation: !viaKeyboard
compact: opts.mobile,
}).$once('closed', this.focus); }).$once('closed', this.focus);
}, },

View File

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

View File

@@ -1,11 +1,7 @@
<template> <template>
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle"> <button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">
<b>{{ value ? this.$t('hide') : this.$t('show') }}</b> <b>{{ value ? this.$t('hide') : this.$t('show') }}</b>
<span v-if="!value"> <span v-if="!value">{{ this.label }}</span>
<span v-if="note.text">{{ this.$t('chars', { count: length(note.text) }) | number }}</span>
<span v-if="note.text && note.files && note.files.length > 0"> / </span>
<span v-if="note.files && note.files.length > 0">{{ this.$t('files', { count: note.files.length }) }}</span>
</span>
</button> </button>
</template> </template>
@@ -13,6 +9,7 @@
import Vue from 'vue'; import Vue from 'vue';
import i18n from '../../../i18n'; import i18n from '../../../i18n';
import { length } from 'stringz'; import { length } from 'stringz';
import { concat } from '../../../../../prelude/array';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/components/cw-button.vue'), i18n: i18n('common/views/components/cw-button.vue'),
@@ -28,6 +25,16 @@ export default Vue.extend({
} }
}, },
computed: {
label(): string {
return concat([
this.note.text ? [this.$t('chars', { count: length(this.note.text) })] : [],
this.note.files && this.note.files.length !== 0 ? [this.$t('files', { count: this.note.files.length }) ] : [],
this.note.poll != null ? [this.$t('poll')] : []
] as string[][]).join(' / ');
}
},
methods: { methods: {
length, length,

View File

@@ -15,7 +15,9 @@ export default Vue.extend({
}, },
computed: { computed: {
compiledFormula(): any { compiledFormula(): any {
return katex.renderToString(this.formula); return katex.renderToString(this.formula, {
throwOnError: false
} as any);
} }
} }
}); });

View File

@@ -30,11 +30,11 @@
:class="{ empty: stone == null, none: o.map[i] == 'null', isEnded: game.isEnded, myTurn: !game.isEnded && isMyTurn, can: turnUser ? o.canPut(turnUser.id == blackUser.id, i) : null, prev: o.prevPos == i }" :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)" @click="set(i)"
:title="`${String.fromCharCode(65 + o.transformPosToXy(i)[0])}${o.transformPosToXy(i)[1] + 1}`"> :title="`${String.fromCharCode(65 + o.transformPosToXy(i)[0])}${o.transformPosToXy(i)[1] + 1}`">
<template v-if="!$store.state.settings.games.reversi.useWhiteBlackStones"> <template v-if="$store.state.settings.games.reversi.useAvatarStones">
<img v-if="stone === true" :src="blackUser.avatarUrl" alt="black"> <img v-if="stone === true" :src="blackUser.avatarUrl" alt="black">
<img v-if="stone === false" :src="whiteUser.avatarUrl" alt="white"> <img v-if="stone === false" :src="whiteUser.avatarUrl" alt="white">
</template> </template>
<template v-if="$store.state.settings.games.reversi.useWhiteBlackStones"> <template v-else>
<fa v-if="stone === true" :icon="fasCircle"/> <fa v-if="stone === true" :icon="fasCircle"/>
<fa v-if="stone === false" :icon="farCircle"/> <fa v-if="stone === false" :icon="farCircle"/>
</template> </template>

View File

@@ -53,14 +53,14 @@ export default Vue.extend({
pointer-events none pointer-events none
user-select none user-select none
padding 0 4px padding 0 4px
background var(--primary) background var(--mfmMention)
border solid 1px var(--primary) border solid var(--lineWidth) var(--mfmMention)
border-radius 4px 0 0 4px border-radius 4px 0 0 4px
color var(--primaryForeground) color var(--mfmMentionForeground)
& + .main & + .main
padding 0 4px padding 0 4px
border solid 1px var(--primary) border solid var(--lineWidth) var(--mfmMention)
border-radius 0 4px 4px 0 border-radius 0 4px 4px 0
> .main > .main

View File

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

View File

@@ -129,8 +129,10 @@ export default Vue.component('misskey-flavored-markdown', {
key: Math.random(), key: Math.random(),
props: { props: {
url: token.node.props.url, url: token.node.props.url,
target: '_blank', target: '_blank'
style: 'color:var(--mfmLink);' },
attrs: {
style: 'color:var(--mfmUrl);'
} }
})]; })];
} }

View File

@@ -18,8 +18,7 @@
<span class="visibility" v-if="note.visibility != 'public'"> <span class="visibility" v-if="note.visibility != 'public'">
<fa v-if="note.visibility == 'home'" icon="home"/> <fa v-if="note.visibility == 'home'" icon="home"/>
<fa v-if="note.visibility == 'followers'" icon="unlock"/> <fa v-if="note.visibility == 'followers'" icon="unlock"/>
<fa v-if="note.visibility == 'specified'" icon="envelope"/> <fa v-if="note.visibility == 'specified'" icon="lock"/>
<fa v-if="note.visibility == 'private'" icon="lock"/>
</span> </span>
<span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span> <span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span>
</div> </div>

View File

@@ -1,6 +1,6 @@
<template> <template>
<div style="position:initial"> <div style="position:initial">
<mk-menu :source="source" :compact="compact" :items="items" @closed="closed"/> <mk-menu :source="source" :items="items" @closed="closed"/>
</div> </div>
</template> </template>
@@ -13,10 +13,17 @@ import { concat, intersperse } from '../../../../../prelude/array';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/components/note-menu.vue'), i18n: i18n('common/views/components/note-menu.vue'),
props: ['note', 'source', 'compact'], props: ['note', 'source'],
computed: { computed: {
items(): any[] { items(): any[] {
return concat(intersperse([null], [ return concat(intersperse([null], [
[
[{
icon: 'at',
text: this.$t('mention'),
action: this.mention
}]
],
[ [
[{ [{
icon: 'info-circle', icon: 'info-circle',
@@ -66,6 +73,10 @@ export default Vue.extend({
}, },
methods: { methods: {
mention() {
this.$post({ mention: this.note.user });
},
detail() { detail() {
this.$router.push(`/notes/${this.note.id}`); this.$router.push(`/notes/${this.note.id}`);
}, },

View File

@@ -0,0 +1,44 @@
<template>
<ui-card>
<div slot="title"><fa :icon="['far', 'bell']"/> {{ $t('title') }}</div>
<section>
<ui-switch v-model="$store.state.i.settings.autoWatch" @change="onChangeAutoWatch">
{{ $t('auto-watch') }}<span slot="desc">{{ $t('auto-watch-desc') }}</span>
</ui-switch>
<section>
<ui-button @click="readAllNotifications">{{ $t('mark-as-read-all-notifications') }}</ui-button>
<ui-button @click="readAllUnreadNotes">{{ $t('mark-as-read-all-unread-notes') }}</ui-button>
<ui-button @click="readAllMessagingMessages">{{ $t('mark-as-read-all-talk-messages') }}</ui-button>
</section>
</section>
</ui-card>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
export default Vue.extend({
i18n: i18n('common/views/components/notification-settings.vue'),
methods: {
onChangeAutoWatch(v) {
this.$root.api('i/update', {
autoWatch: v
});
},
readAllUnreadNotes() {
this.$root.api('i/read_all_unread_notes');
},
readAllMessagingMessages() {
this.$root.api('i/read_all_messaging_messages');
},
readAllNotifications() {
this.$root.api('notifications/mark_all_as_read');
}
}
});
</script>

View File

@@ -69,7 +69,8 @@
<div> <div>
<ui-switch v-model="isLocked" @change="save(false)">{{ $t('is-locked') }}</ui-switch> <ui-switch v-model="isLocked" @change="save(false)">{{ $t('is-locked') }}</ui-switch>
<ui-switch v-model="carefulBot" @change="save(false)">{{ $t('careful-bot') }}</ui-switch> <ui-switch v-model="carefulBot" :disabled="isLocked" @change="save(false)">{{ $t('careful-bot') }}</ui-switch>
<ui-switch v-model="autoAcceptFollowed" :disabled="!isLocked && !carefulBot" @change="save(false)">{{ $t('auto-accept-followed') }}</ui-switch>
</div> </div>
</section> </section>
@@ -118,6 +119,7 @@ export default Vue.extend({
isBot: false, isBot: false,
isLocked: false, isLocked: false,
carefulBot: false, carefulBot: false,
autoAcceptFollowed: false,
saving: false, saving: false,
avatarUploading: false, avatarUploading: false,
bannerUploading: false bannerUploading: false
@@ -156,6 +158,7 @@ export default Vue.extend({
this.isBot = this.$store.state.i.isBot; this.isBot = this.$store.state.i.isBot;
this.isLocked = this.$store.state.i.isLocked; this.isLocked = this.$store.state.i.isLocked;
this.carefulBot = this.$store.state.i.carefulBot; this.carefulBot = this.$store.state.i.carefulBot;
this.autoAcceptFollowed = this.$store.state.i.autoAcceptFollowed;
}, },
methods: { methods: {
@@ -217,7 +220,8 @@ export default Vue.extend({
isCat: !!this.isCat, isCat: !!this.isCat,
isBot: !!this.isBot, isBot: !!this.isBot,
isLocked: !!this.isLocked, isLocked: !!this.isLocked,
carefulBot: !!this.carefulBot carefulBot: !!this.carefulBot,
autoAcceptFollowed: !!this.autoAcceptFollowed
}).then(i => { }).then(i => {
this.saving = false; this.saving = false;
this.$store.state.i.avatarId = i.avatarId; this.$store.state.i.avatarId = i.avatarId;

View File

@@ -1,8 +1,8 @@
<template> <template>
<div class="mk-reaction-picker" v-hotkey.global="keymap"> <div class="rdfaahpb" v-hotkey.global="keymap">
<div class="backdrop" ref="backdrop" @click="close"></div> <div class="backdrop" ref="backdrop" @click="close"></div>
<div class="popover" :class="{ compact, big }" ref="popover"> <div class="popover" :class="{ isMobile: $root.isMobile }" ref="popover">
<p v-if="!compact">{{ title }}</p> <p v-if="!$root.isMobile">{{ title }}</p>
<div ref="buttons" :class="{ showFocus }"> <div ref="buttons" :class="{ showFocus }">
<button @click="react('like')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="1" :title="$t('@.reactions.like')" v-particle><mk-reaction-icon reaction="like"/></button> <button @click="react('like')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="1" :title="$t('@.reactions.like')" v-particle><mk-reaction-icon reaction="like"/></button>
<button @click="react('love')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="2" :title="$t('@.reactions.love')" v-particle><mk-reaction-icon reaction="love"/></button> <button @click="react('love')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="2" :title="$t('@.reactions.love')" v-particle><mk-reaction-icon reaction="love"/></button>
@@ -36,22 +36,10 @@ export default Vue.extend({
required: true required: true
}, },
compact: {
type: Boolean,
required: false,
default: false
},
cb: { cb: {
required: false required: false
}, },
big: {
type: Boolean,
required: false,
default: false
},
showFocus: { showFocus: {
type: Boolean, type: Boolean,
required: false, required: false,
@@ -115,7 +103,7 @@ export default Vue.extend({
const width = popover.offsetWidth; const width = popover.offsetWidth;
const height = popover.offsetHeight; const height = popover.offsetHeight;
if (this.compact) { if (this.$root.isMobile) {
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2); const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2); const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
popover.style.left = (x - (width / 2)) + 'px'; popover.style.left = (x - (width / 2)) + 'px';
@@ -210,9 +198,7 @@ export default Vue.extend({
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
$border-color = rgba(27, 31, 35, 0.15) .rdfaahpb
.mk-reaction-picker
position initial position initial
> .backdrop > .backdrop
@@ -230,41 +216,12 @@ $border-color = rgba(27, 31, 35, 0.15)
position absolute position absolute
z-index 10001 z-index 10001
background $bgcolor background $bgcolor
border 1px solid $border-color
border-radius 4px border-radius 4px
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15) box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
transform scale(0.5) transform scale(0.5)
opacity 0 opacity 0
$balloon-size = 16px &.isMobile
&:not(.compact)
margin-top $balloon-size
transform-origin center -($balloon-size)
&:before
content ""
display block
position absolute
top -($balloon-size * 2)
left s('calc(50% - %s)', $balloon-size)
border-top solid $balloon-size transparent
border-left solid $balloon-size transparent
border-right solid $balloon-size transparent
border-bottom solid $balloon-size $border-color
&:after
content ""
display block
position absolute
top -($balloon-size * 2) + 1.5px
left s('calc(50% - %s)', $balloon-size)
border-top solid $balloon-size transparent
border-left solid $balloon-size transparent
border-right solid $balloon-size transparent
border-bottom solid $balloon-size $bgcolor
&.big
> div > div
width 280px width 280px
@@ -274,13 +231,30 @@ $border-color = rgba(27, 31, 35, 0.15)
font-size 28px font-size 28px
border-radius 4px border-radius 4px
&:not(.isMobile)
$arrow-size = 16px
margin-top $arrow-size
transform-origin center -($arrow-size)
&:before
content ""
display block
position absolute
top -($arrow-size * 2)
left s('calc(50% - %s)', $arrow-size)
border-top solid $arrow-size transparent
border-left solid $arrow-size transparent
border-right solid $arrow-size transparent
border-bottom solid $arrow-size $bgcolor
> p > p
display block display block
margin 0 margin 0
padding 8px 10px padding 8px 10px
font-size 14px font-size 14px
color var(--popupFg) color var(--popupFg)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
> div > div
padding 4px padding 4px

View File

@@ -1,16 +1,16 @@
<template> <template>
<div class="mk-reactions-viewer"> <div class="mk-reactions-viewer" :class="{ isMe }">
<template v-if="reactions"> <template v-if="reactions">
<span :class="{ reacted: note.myReaction == 'like' }" @click="toggleReaction('like')" v-if="reactions.like" v-particle><mk-reaction-icon reaction="like" ref="like"/><span>{{ reactions.like }}</span></span> <span :class="{ reacted: note.myReaction == 'like' }" @click="toggleReaction('like')" v-if="reactions.like" v-particle="!isMe"><mk-reaction-icon reaction="like" ref="like"/><span>{{ reactions.like }}</span></span>
<span :class="{ reacted: note.myReaction == 'love' }" @click="toggleReaction('love')" v-if="reactions.love" v-particle><mk-reaction-icon reaction="love" ref="love"/><span>{{ reactions.love }}</span></span> <span :class="{ reacted: note.myReaction == 'love' }" @click="toggleReaction('love')" v-if="reactions.love" v-particle="!isMe"><mk-reaction-icon reaction="love" ref="love"/><span>{{ reactions.love }}</span></span>
<span :class="{ reacted: note.myReaction == 'laugh' }" @click="toggleReaction('laugh')" v-if="reactions.laugh" v-particle><mk-reaction-icon reaction="laugh" ref="laugh"/><span>{{ reactions.laugh }}</span></span> <span :class="{ reacted: note.myReaction == 'laugh' }" @click="toggleReaction('laugh')" v-if="reactions.laugh" v-particle="!isMe"><mk-reaction-icon reaction="laugh" ref="laugh"/><span>{{ reactions.laugh }}</span></span>
<span :class="{ reacted: note.myReaction == 'hmm' }" @click="toggleReaction('hmm')" v-if="reactions.hmm" v-particle><mk-reaction-icon reaction="hmm" ref="hmm"/><span>{{ reactions.hmm }}</span></span> <span :class="{ reacted: note.myReaction == 'hmm' }" @click="toggleReaction('hmm')" v-if="reactions.hmm" v-particle="!isMe"><mk-reaction-icon reaction="hmm" ref="hmm"/><span>{{ reactions.hmm }}</span></span>
<span :class="{ reacted: note.myReaction == 'surprise' }" @click="toggleReaction('surprise')" v-if="reactions.surprise" v-particle><mk-reaction-icon reaction="surprise" ref="surprise"/><span>{{ reactions.surprise }}</span></span> <span :class="{ reacted: note.myReaction == 'surprise' }" @click="toggleReaction('surprise')" v-if="reactions.surprise" v-particle="!isMe"><mk-reaction-icon reaction="surprise" ref="surprise"/><span>{{ reactions.surprise }}</span></span>
<span :class="{ reacted: note.myReaction == 'congrats' }" @click="toggleReaction('congrats')" v-if="reactions.congrats" v-particle><mk-reaction-icon reaction="congrats" ref="congrats"/><span>{{ reactions.congrats }}</span></span> <span :class="{ reacted: note.myReaction == 'congrats' }" @click="toggleReaction('congrats')" v-if="reactions.congrats" v-particle="!isMe"><mk-reaction-icon reaction="congrats" ref="congrats"/><span>{{ reactions.congrats }}</span></span>
<span :class="{ reacted: note.myReaction == 'angry' }" @click="toggleReaction('angry')" v-if="reactions.angry" v-particle><mk-reaction-icon reaction="angry" ref="angry"/><span>{{ reactions.angry }}</span></span> <span :class="{ reacted: note.myReaction == 'angry' }" @click="toggleReaction('angry')" v-if="reactions.angry" v-particle="!isMe"><mk-reaction-icon reaction="angry" ref="angry"/><span>{{ reactions.angry }}</span></span>
<span :class="{ reacted: note.myReaction == 'confused' }" @click="toggleReaction('confused')" v-if="reactions.confused" v-particle><mk-reaction-icon reaction="confused" ref="confused"/><span>{{ reactions.confused }}</span></span> <span :class="{ reacted: note.myReaction == 'confused' }" @click="toggleReaction('confused')" v-if="reactions.confused" v-particle="!isMe"><mk-reaction-icon reaction="confused" ref="confused"/><span>{{ reactions.confused }}</span></span>
<span :class="{ reacted: note.myReaction == 'rip' }" @click="toggleReaction('rip')" v-if="reactions.rip" v-particle><mk-reaction-icon reaction="rip" ref="rip"/><span>{{ reactions.rip }}</span></span> <span :class="{ reacted: note.myReaction == 'rip' }" @click="toggleReaction('rip')" v-if="reactions.rip" v-particle="!isMe"><mk-reaction-icon reaction="rip" ref="rip"/><span>{{ reactions.rip }}</span></span>
<span :class="{ reacted: note.myReaction == 'pudding' }" @click="toggleReaction('pudding')" v-if="reactions.pudding" v-particle><mk-reaction-icon reaction="pudding" ref="pudding"/><span>{{ reactions.pudding }}</span></span> <span :class="{ reacted: note.myReaction == 'pudding' }" @click="toggleReaction('pudding')" v-if="reactions.pudding" v-particle="!isMe"><mk-reaction-icon reaction="pudding" ref="pudding"/><span>{{ reactions.pudding }}</span></span>
</template> </template>
</div> </div>
</template> </template>
@@ -21,10 +21,18 @@ import Icon from './reaction-icon.vue';
import * as anime from 'animejs'; import * as anime from 'animejs';
export default Vue.extend({ export default Vue.extend({
props: ['note'], props: {
note: {
type: Object,
required: true
}
},
computed: { computed: {
reactions(): any { reactions(): any {
return this.note.reactionCounts; return this.note.reactionCounts;
},
isMe(): boolean {
return this.$store.getters.isSignedIn && (this.$store.state.i.id === this.note.userId);
} }
}, },
watch: { watch: {
@@ -61,6 +69,8 @@ export default Vue.extend({
}, },
methods: { methods: {
toggleReaction(reaction: string) { toggleReaction(reaction: string) {
if (this.isMe) return;
const oldReaction = this.note.myReaction; const oldReaction = this.note.myReaction;
if (oldReaction) { if (oldReaction) {
this.$root.api('notes/reactions/delete', { this.$root.api('notes/reactions/delete', {
@@ -128,12 +138,20 @@ export default Vue.extend({
&:empty &:empty
display none display none
&.isMe
> span
cursor default !important
&:hover
background var(--reactionViewerButtonBg) !important
> span > span
display inline-block display inline-block
height 32px height 32px
margin-right 6px margin-right 6px
padding 0 6px padding 0 6px
border-radius 4px border-radius 4px
cursor pointer
* *
user-select none user-select none
@@ -146,7 +164,6 @@ export default Vue.extend({
color var(--primaryForeground) color var(--primaryForeground)
&:not(.reacted) &:not(.reacted)
cursor pointer
background var(--reactionViewerButtonBg) background var(--reactionViewerButtonBg)
&:hover &:hover

View File

@@ -13,8 +13,7 @@
<span class="visibility" v-if="note.visibility != 'public'"> <span class="visibility" v-if="note.visibility != 'public'">
<fa v-if="note.visibility == 'home'" icon="home"/> <fa v-if="note.visibility == 'home'" icon="home"/>
<fa v-if="note.visibility == 'followers'" icon="unlock"/> <fa v-if="note.visibility == 'followers'" icon="unlock"/>
<fa v-if="note.visibility == 'specified'" icon="envelope"/> <fa v-if="note.visibility == 'specified'" icon="lock"/>
<fa v-if="note.visibility == 'private'" icon="lock"/>
</span> </span>
<span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span> <span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span>
</div> </div>

View File

@@ -1,99 +1,104 @@
<template> <template>
<div class="nicnklzforebnpfgasiypmpdaaglujqm"> <ui-card>
<label> <div slot="title"><fa icon="palette"/> {{ $t('theme') }}</div>
<span><fa :icon="faSun"/> {{ $t('light-theme') }}</span> <section class="nicnklzforebnpfgasiypmpdaaglujqm fit-top">
<ui-select v-model="light" :placeholder="$t('light-theme')"> <label>
<optgroup :label="$t('light-themes')"> <ui-select v-model="light" :placeholder="$t('light-theme')">
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option> <span slot="label"><fa :icon="faSun"/> {{ $t('light-theme') }}</span>
</optgroup> <optgroup :label="$t('light-themes')">
<optgroup :label="$t('dark-themes')"> <option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option> </optgroup>
</optgroup> <optgroup :label="$t('dark-themes')">
</ui-select> <option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
</label> </optgroup>
</ui-select>
</label>
<label> <label>
<span><fa :icon="faMoon"/> {{ $t('dark-theme') }}</span> <ui-select v-model="dark" :placeholder="$t('dark-theme')">
<ui-select v-model="dark" :placeholder="$t('dark-theme')"> <span slot="label"><fa :icon="faMoon"/> {{ $t('dark-theme') }}</span>
<optgroup :label="$t('dark-themes')"> <optgroup :label="$t('dark-themes')">
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option> <option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
</optgroup> </optgroup>
<optgroup :label="$t('light-themes')"> <optgroup :label="$t('light-themes')">
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option> <option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
</optgroup> </optgroup>
</ui-select> </ui-select>
</label> </label>
<details class="creator"> <a href="https://assets.msky.cafe/theme/list" target="_blank">{{ $t('find-more-theme') }}</a>
<summary><fa icon="palette"/> {{ $t('create-a-theme') }}</summary>
<div>
<span>{{ $t('base-theme') }}:</span>
<ui-radio v-model="myThemeBase" value="light">{{ $t('base-theme-light') }}</ui-radio>
<ui-radio v-model="myThemeBase" value="dark">{{ $t('base-theme-dark') }}</ui-radio>
</div>
<div>
<ui-input v-model="myThemeName">
<span>{{ $t('theme-name') }}</span>
</ui-input>
<ui-textarea v-model="myThemeDesc">
<span>{{ $t('desc') }}</span>
</ui-textarea>
</div>
<div>
<div style="padding-bottom:8px;">{{ $t('primary-color') }}:</div>
<color-picker v-model="myThemePrimary"/>
</div>
<div>
<div style="padding-bottom:8px;">{{ $t('secondary-color') }}:</div>
<color-picker v-model="myThemeSecondary"/>
</div>
<div>
<div style="padding-bottom:8px;">{{ $t('text-color') }}:</div>
<color-picker v-model="myThemeText"/>
</div>
<ui-button @click="preview()"><fa icon="eye"/> {{ $t('preview-created-theme') }}</ui-button>
<ui-button primary @click="gen()"><fa :icon="['far', 'save']"/> {{ $t('save-created-theme') }}</ui-button>
</details>
<details> <details class="creator">
<summary><fa icon="download"/> {{ $t('install-a-theme') }}</summary> <summary><fa icon="palette"/> {{ $t('create-a-theme') }}</summary>
<ui-button @click="import_()"><fa icon="file-import"/> {{ $t('import') }}</ui-button> <div>
<input ref="file" type="file" accept=".misskeytheme" style="display:none;" @change="onUpdateImportFile"/> <span>{{ $t('base-theme') }}:</span>
<p>{{ $t('import-by-code') }}:</p> <ui-radio v-model="myThemeBase" value="light">{{ $t('base-theme-light') }}</ui-radio>
<ui-textarea v-model="installThemeCode"> <ui-radio v-model="myThemeBase" value="dark">{{ $t('base-theme-dark') }}</ui-radio>
<span>{{ $t('theme-code') }}</span> </div>
</ui-textarea> <div>
<ui-button @click="() => install(this.installThemeCode)"><fa icon="check"/> {{ $t('install') }}</ui-button> <ui-input v-model="myThemeName">
</details> <span>{{ $t('theme-name') }}</span>
</ui-input>
<ui-textarea v-model="myThemeDesc">
<span>{{ $t('desc') }}</span>
</ui-textarea>
</div>
<div>
<div style="padding-bottom:8px;">{{ $t('primary-color') }}:</div>
<color-picker v-model="myThemePrimary"/>
</div>
<div>
<div style="padding-bottom:8px;">{{ $t('secondary-color') }}:</div>
<color-picker v-model="myThemeSecondary"/>
</div>
<div>
<div style="padding-bottom:8px;">{{ $t('text-color') }}:</div>
<color-picker v-model="myThemeText"/>
</div>
<ui-button @click="preview()"><fa icon="eye"/> {{ $t('preview-created-theme') }}</ui-button>
<ui-button primary @click="gen()"><fa :icon="['far', 'save']"/> {{ $t('save-created-theme') }}</ui-button>
</details>
<details> <details>
<summary><fa icon="folder-open"/> {{ $t('manage-themes') }}</summary> <summary><fa icon="download"/> {{ $t('install-a-theme') }}</summary>
<ui-select v-model="selectedThemeId" :placeholder="$t('select-theme')"> <ui-button @click="import_()"><fa icon="file-import"/> {{ $t('import') }}</ui-button>
<optgroup :label="$t('builtin-themes')"> <input ref="file" type="file" accept=".misskeytheme" style="display:none;" @change="onUpdateImportFile"/>
<option v-for="x in builtinThemes" :value="x.id" :key="x.id">{{ x.name }}</option> <p>{{ $t('import-by-code') }}:</p>
</optgroup> <ui-textarea v-model="installThemeCode">
<optgroup :label="$t('my-themes')">
<option v-for="x in installedThemes.filter(t => t.author == this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
</optgroup>
<optgroup :label="$t('installed-themes')">
<option v-for="x in installedThemes.filter(t => t.author != this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
</optgroup>
</ui-select>
<template v-if="selectedTheme">
<ui-input readonly :value="selectedTheme.author">
<span>{{ $t('author') }}</span>
</ui-input>
<ui-textarea v-if="selectedTheme.desc" readonly :value="selectedTheme.desc">
<span>{{ $t('desc') }}</span>
</ui-textarea>
<ui-textarea readonly :value="selectedThemeCode">
<span>{{ $t('theme-code') }}</span> <span>{{ $t('theme-code') }}</span>
</ui-textarea> </ui-textarea>
<ui-button @click="export_()" link :download="`${selectedTheme.name}.misskeytheme`" ref="export"><fa icon="box"/> {{ $t('export') }}</ui-button> <ui-button @click="() => install(this.installThemeCode)"><fa icon="check"/> {{ $t('install') }}</ui-button>
<ui-button @click="uninstall()" v-if="!builtinThemes.some(t => t.id == selectedTheme.id)"><fa :icon="['far', 'trash-alt']"/> {{ $t('uninstall') }}</ui-button> </details>
</template>
</details> <details>
</div> <summary><fa icon="folder-open"/> {{ $t('manage-themes') }}</summary>
<ui-select v-model="selectedThemeId" :placeholder="$t('select-theme')">
<optgroup :label="$t('builtin-themes')">
<option v-for="x in builtinThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
</optgroup>
<optgroup :label="$t('my-themes')">
<option v-for="x in installedThemes.filter(t => t.author == this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
</optgroup>
<optgroup :label="$t('installed-themes')">
<option v-for="x in installedThemes.filter(t => t.author != this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
</optgroup>
</ui-select>
<template v-if="selectedTheme">
<ui-input readonly :value="selectedTheme.author">
<span>{{ $t('author') }}</span>
</ui-input>
<ui-textarea v-if="selectedTheme.desc" readonly :value="selectedTheme.desc">
<span>{{ $t('desc') }}</span>
</ui-textarea>
<ui-textarea readonly tall :value="selectedThemeCode">
<span>{{ $t('theme-code') }}</span>
</ui-textarea>
<ui-button @click="export_()" link :download="`${selectedTheme.name}.misskeytheme`" ref="export"><fa icon="box"/> {{ $t('export') }}</ui-button>
<ui-button @click="uninstall()" v-if="!builtinThemes.some(t => t.id == selectedTheme.id)"><fa :icon="['far', 'trash-alt']"/> {{ $t('uninstall') }}</ui-button>
</template>
</details>
</section>
</ui-card>
</template> </template>
<script lang="ts"> <script lang="ts">
@@ -331,8 +336,13 @@ export default Vue.extend({
<style lang="stylus" scoped> <style lang="stylus" scoped>
.nicnklzforebnpfgasiypmpdaaglujqm .nicnklzforebnpfgasiypmpdaaglujqm
> a
display block
margin-top -16px
margin-bottom 16px
> details > details
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
> summary > summary
padding 16px 0 padding 16px 0
@@ -343,5 +353,5 @@ export default Vue.extend({
> .creator > .creator
> div > div
padding 16px 0 padding 16px 0
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
</style> </style>

View File

@@ -41,7 +41,7 @@ export default Vue.extend({
> section > section
padding 20px 16px padding 20px 16px
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
@media (min-width 500px) @media (min-width 500px)
padding 32px padding 32px

View File

@@ -25,11 +25,9 @@ export default Vue.extend({
}, },
props: { props: {
model: { model: {
type: String,
required: false required: false
}, },
value: { value: {
type: String,
required: false required: false
}, },
disabled: { disabled: {
@@ -66,10 +64,10 @@ export default Vue.extend({
&.checked &.checked
> .button > .button
border-color var(--primary) border-color var(--radioActive)
&:after &:after
background-color var(--primary) background-color var(--radioActive)
transform scale(1) transform scale(1)
opacity 1 opacity 1

View File

@@ -77,11 +77,11 @@ export default Vue.extend({
&.checked &.checked
> .button > .button
background-color var(--primaryAlpha04) background-color var(--switchActiveTrack)
border-color var(--primaryAlpha04) border-color var(--switchActiveTrack)
> * > *
background-color var(--primary) background-color var(--switchActive)
transform translateX(14px) transform translateX(14px)
> input > input

View File

@@ -207,7 +207,7 @@ export default Vue.extend({
> a > a
display block display block
font-size 14px font-size 14px
border solid 1px var(--urlPreviewBorder) border solid var(--lineWidth) var(--urlPreviewBorder)
border-radius 4px border-radius 4px
overflow hidden overflow hidden

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="mk-visibility-chooser"> <div class="gqyayizv">
<div class="backdrop" ref="backdrop" @click="close"></div> <div class="backdrop" ref="backdrop" @click="close"></div>
<div class="popover" :class="{ compact }" ref="popover"> <div class="popover" :class="{ isMobile: $root.isMobile }" ref="popover">
<div @click="choose('public')" :class="{ active: v == 'public' }"> <div @click="choose('public')" :class="{ active: v == 'public' }">
<div><fa icon="globe"/></div> <div><fa icon="globe"/></div>
<div> <div>
@@ -23,18 +23,12 @@
</div> </div>
</div> </div>
<div @click="choose('specified')" :class="{ active: v == 'specified' }"> <div @click="choose('specified')" :class="{ active: v == 'specified' }">
<div><fa icon="envelope"/></div> <div><fa icon="lock"/></div>
<div> <div>
<span>{{ $t('specified') }}</span> <span>{{ $t('specified') }}</span>
<span>{{ $t('specified-desc') }}</span> <span>{{ $t('specified-desc') }}</span>
</div> </div>
</div> </div>
<div @click="choose('private')" :class="{ active: v == 'private' }">
<div><fa icon="lock"/></div>
<div>
<span>{{ $t('private') }}</span>
</div>
</div>
<div @click="choose('local-public')" :class="{ active: v == 'local-public' }"> <div @click="choose('local-public')" :class="{ active: v == 'local-public' }">
<div><fa icon="globe"/></div> <div><fa icon="globe"/></div>
<div> <div>
@@ -65,10 +59,18 @@ import * as anime from 'animejs';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/components/visibility-chooser.vue'), i18n: i18n('common/views/components/visibility-chooser.vue'),
props: ['source', 'compact'], props: {
source: {
required: true
},
currentVisibility: {
type: String,
required: false
}
},
data() { data() {
return { return {
v: this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility v: this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : (this.currentVisibility || this.$store.state.settings.defaultNoteVisibility)
} }
}, },
mounted() { mounted() {
@@ -82,7 +84,7 @@ export default Vue.extend({
let left; let left;
let top; let top;
if (this.compact) { if (this.$root.isMobile) {
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2); const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2); const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
left = (x - (width / 2)); left = (x - (width / 2));
@@ -148,9 +150,7 @@ export default Vue.extend({
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
$border-color = rgba(27, 31, 35, 0.15) .gqyayizv
.mk-visibility-chooser
position initial position initial
> .backdrop > .backdrop
@@ -170,39 +170,27 @@ $border-color = rgba(27, 31, 35, 0.15)
width 240px width 240px
padding 8px 0 padding 8px 0
background $bgcolor background $bgcolor
border 1px solid $border-color
border-radius 4px border-radius 4px
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15) box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
transform scale(0.5) transform scale(0.5)
opacity 0 opacity 0
$balloon-size = 10px &:not(.isMobile)
$arrow-size = 10px
&:not(.compact) margin-top $arrow-size
margin-top $balloon-size transform-origin center -($arrow-size)
transform-origin center -($balloon-size)
&:before &:before
content "" content ""
display block display block
position absolute position absolute
top -($balloon-size * 2) top -($arrow-size * 2)
left s('calc(50% - %s)', $balloon-size) left s('calc(50% - %s)', $arrow-size)
border-top solid $balloon-size transparent border-top solid $arrow-size transparent
border-left solid $balloon-size transparent border-left solid $arrow-size transparent
border-right solid $balloon-size transparent border-right solid $arrow-size transparent
border-bottom solid $balloon-size $border-color border-bottom solid $arrow-size $bgcolor
&:after
content ""
display block
position absolute
top -($balloon-size * 2) + 1.5px
left s('calc(50% - %s)', $balloon-size)
border-top solid $balloon-size transparent
border-left solid $balloon-size transparent
border-right solid $balloon-size transparent
border-bottom solid $balloon-size $bgcolor
> div > div
display flex display flex
@@ -241,4 +229,5 @@ $border-color = rgba(27, 31, 35, 0.15)
> span:last-child:not(:first-child) > span:last-child:not(:first-child)
opacity 0.6 opacity 0.6
</style> </style>

View File

@@ -5,6 +5,8 @@ export default {
if (vn.context.$store.state.device.reduceMotion) return; if (vn.context.$store.state.device.reduceMotion) return;
el.addEventListener('click', () => { el.addEventListener('click', () => {
if (binding.value === false) return;
const rect = el.getBoundingClientRect(); const rect = el.getBoundingClientRect();
const x = rect.left + (el.clientWidth / 2); const x = rect.left + (el.clientWidth / 2);

View File

@@ -13,7 +13,7 @@ import Vue from 'vue'
import i18n from '../../../i18n'; import i18n from '../../../i18n';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/pages/404.vue'), i18n: i18n('common/views/pages/not-found.vue'),
data() { data() {
return { return {
src: '' src: ''

View File

@@ -72,7 +72,7 @@ export default define({
color var(--inputText) color var(--inputText)
background var(--face) background var(--face)
border none border none
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
border-radius 0 border-radius 0
> button > button

View File

@@ -77,7 +77,7 @@ export default define({
display block display block
padding 4px 0 padding 4px 0
color var(--text) color var(--text)
border-bottom dashed 1px var(--faceDivider) border-bottom dashed var(--lineWidth) var(--faceDivider)
&:last-child &:last-child
border-bottom none border-bottom none

View File

@@ -22,5 +22,5 @@ export default Vue.extend({
> p > p
margin 0 margin 0
font-size 12px font-size 12px
color #505050 color var(--text)
</style> </style>

View File

@@ -40,7 +40,7 @@ export default Vue.extend({
> p > p
margin 0 margin 0
font-size 12px font-size 12px
color #505050 color var(--text)
&:first-child &:first-child
font-weight bold font-weight bold

View File

@@ -84,6 +84,7 @@ export default define({
<style lang="stylus" scoped> <style lang="stylus" scoped>
.mkw-tips .mkw-tips
overflow visible !important overflow visible !important
opacity 0.8
> p > p
display block display block
@@ -91,7 +92,7 @@ export default define({
padding 0 12px padding 0 12px
text-align center text-align center
font-size 0.7em font-size 0.7em
color #999 color var(--text)
> [data-icon] > [data-icon]
margin-right 4px margin-right 4px
@@ -102,7 +103,7 @@ export default define({
margin 0 2px margin 0 2px
font-size 1em font-size 1em
font-family inherit font-family inherit
border solid 1px #999 border solid 1px var(--text)
border-radius 2px border-radius 2px
</style> </style>

View File

@@ -24,6 +24,7 @@ p
padding 0 12px padding 0 12px
text-align center text-align center
font-size 0.7em font-size 0.7em
color #aaa color var(--text)
opacity 0.8
</style> </style>

View File

@@ -28,7 +28,8 @@ import MkTag from './views/pages/tag.vue';
import MkReversi from './views/pages/games/reversi.vue'; import MkReversi from './views/pages/games/reversi.vue';
import MkShare from './views/pages/share.vue'; import MkShare from './views/pages/share.vue';
import MkFollow from '../common/views/pages/follow.vue'; import MkFollow from '../common/views/pages/follow.vue';
import MkNotFound from '../common/views/pages/404.vue'; import MkNotFound from '../common/views/pages/not-found.vue';
import MkSettings from './views/pages/settings.vue';
import Ctx from './views/components/context-menu.vue'; import Ctx from './views/components/context-menu.vue';
import PostFormWindow from './views/components/post-form-window.vue'; import PostFormWindow from './views/components/post-form-window.vue';
@@ -69,6 +70,7 @@ init(async (launch) => {
} else { } else {
const vm = this.$root.new(PostFormWindow, { const vm = this.$root.new(PostFormWindow, {
reply: o.reply, reply: o.reply,
mention: o.mention,
animation: o.animation == null ? true : o.animation animation: o.animation == null ? true : o.animation
}); });
if (o.cb) vm.$once('closed', o.cb); if (o.cb) vm.$once('closed', o.cb);
@@ -140,6 +142,7 @@ init(async (launch) => {
{ path: '/i/messaging/:user', component: MkMessagingRoom }, { path: '/i/messaging/:user', component: MkMessagingRoom },
{ path: '/i/drive', component: MkDrive }, { path: '/i/drive', component: MkDrive },
{ path: '/i/drive/folder/:folder', component: MkDrive }, { path: '/i/drive/folder/:folder', component: MkDrive },
{ path: '/i/settings', component: MkSettings },
{ path: '/selectdrive', component: MkSelectDrive }, { path: '/selectdrive', component: MkSelectDrive },
{ path: '/search', component: MkSearch }, { path: '/search', component: MkSearch },
{ path: '/tags/:tag', name: 'tag', component: MkTag }, { path: '/tags/:tag', name: 'tag', component: MkTag },

View File

@@ -12,6 +12,14 @@ html
background var(--bg) background var(--bg)
&, * &, *
scrollbar-color var(--scrollbarHandle) var(--scrollbarTrack)
&:hover
scrollbar-color var(--scrollbarHandleHover) var(--scrollbarTrack)
&:active
scrollbar-color var(--primary) var(--scrollbarTrack)
&::-webkit-scrollbar &::-webkit-scrollbar
width 6px width 6px
height 6px height 6px

View File

@@ -151,7 +151,7 @@ export default Vue.extend({
font-weight bold font-weight bold
color var(--faceHeaderText) color var(--faceHeaderText)
background var(--faceHeader) background var(--faceHeader)
box-shadow 0 1px rgba(#000, 0.07) box-shadow 0 var(--lineWidth) rgba(#000, 0.07)
> [data-icon] > [data-icon]
margin-right 4px margin-right 4px
@@ -199,11 +199,11 @@ export default Vue.extend({
color var(--calendarSaturdayOrSunday) color var(--calendarSaturdayOrSunday)
&[data-today] &[data-today]
box-shadow 0 0 0 1px var(--calendarWeek) inset box-shadow 0 0 0 var(--lineWidth) var(--calendarWeek) inset
border-radius 6px border-radius 6px
&[data-is-donichi] &[data-is-donichi]
box-shadow 0 0 0 1px var(--calendarSaturdayOrSunday) inset box-shadow 0 0 0 var(--lineWidth) var(--calendarSaturdayOrSunday) inset
&.day &.day
cursor pointer cursor pointer

View File

@@ -46,7 +46,7 @@ export default Vue.extend({
&.divider &.divider
margin-top $padding margin-top $padding
padding-top $padding padding-top $padding
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
&.nest &.nest
> p > p

View File

@@ -32,8 +32,7 @@
<span class="visibility" v-if="appearNote.visibility != 'public'"> <span class="visibility" v-if="appearNote.visibility != 'public'">
<fa v-if="appearNote.visibility == 'home'" icon="home"/> <fa v-if="appearNote.visibility == 'home'" icon="home"/>
<fa v-if="appearNote.visibility == 'followers'" icon="unlock"/> <fa v-if="appearNote.visibility == 'followers'" icon="unlock"/>
<fa v-if="appearNote.visibility == 'specified'" icon="envelope"/> <fa v-if="appearNote.visibility == 'specified'" icon="lock"/>
<fa v-if="appearNote.visibility == 'private'" icon="lock"/>
</span> </span>
<span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span> <span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span>
</div> </div>
@@ -70,14 +69,17 @@
<template v-else><fa icon="reply"/></template> <template v-else><fa icon="reply"/></template>
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p> <p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
</button> </button>
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')"> <button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')">
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p> <fa icon="retweet"/>
</button> </button>
<button v-else class="inhibitedButton"> <button v-else class="inhibitedButton">
<fa icon="ban"/> <fa icon="ban"/>
</button> </button>
<button class="reactionButton" :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton" :title="$t('add-reaction')"> <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton" :title="$t('add-reaction')">
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p> <fa icon="plus"/>
</button>
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
<fa icon="minus"/>
</button> </button>
<button @click="menu()" ref="menuButton"> <button @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/> <fa icon="ellipsis-h"/>
@@ -335,7 +337,8 @@ export default Vue.extend({
> .count > .count
display inline display inline
margin 0 0 0 8px margin 0 0 0 8px
color #999 color var(--text)
opacity 0.7
&.reacted, &.reacted:hover &.reacted, &.reacted:hover
color var(--noteActionsReactionHover) color var(--noteActionsReactionHover)

View File

@@ -48,13 +48,16 @@
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p> <p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
</button> </button>
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')"> <button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')">
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p> <fa icon="retweet"/>
</button> </button>
<button v-else class="inhibitedButton"> <button v-else class="inhibitedButton">
<fa icon="ban"/> <fa icon="ban"/>
</button> </button>
<button class="reactionButton" :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton" :title="$t('add-reaction')"> <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton" :title="$t('add-reaction')">
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p> <fa icon="plus"/>
</button>
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
<fa icon="minus"/>
</button> </button>
<button @click="menu()" ref="menuButton"> <button @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/> <fa icon="ellipsis-h"/>
@@ -137,7 +140,7 @@ export default Vue.extend({
margin 0 margin 0
padding 0 padding 0
background var(--face) background var(--face)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
&.mini &.mini
font-size 13px font-size 13px
@@ -258,7 +261,7 @@ export default Vue.extend({
> * > *
padding 16px padding 16px
border dashed 1px var(--quoteBorder) border dashed var(--lineWidth) var(--quoteBorder)
border-radius 8px border-radius 8px
> footer > footer
@@ -300,7 +303,8 @@ export default Vue.extend({
> .count > .count
display inline display inline
margin 0 0 0 8px margin 0 0 0 8px
color #999 color var(--text)
opacity 0.7
&.reacted, &.reacted:hover &.reacted, &.reacted:hover
color var(--noteActionsReactionHover) color var(--noteActionsReactionHover)

View File

@@ -209,7 +209,7 @@ export default Vue.extend({
text-align center text-align center
color var(--dateDividerFg) color var(--dateDividerFg)
background var(--dateDividerBg) background var(--dateDividerBg)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
span span
margin 0 16px margin 0 16px
@@ -233,7 +233,7 @@ export default Vue.extend({
text-align center text-align center
color #ccc color #ccc
background var(--face) background var(--face)
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
border-bottom-left-radius 6px border-bottom-left-radius 6px
border-bottom-right-radius 6px border-bottom-right-radius 6px

View File

@@ -248,7 +248,7 @@ export default Vue.extend({
padding 16px padding 16px
overflow-wrap break-word overflow-wrap break-word
font-size 12px font-size 12px
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
&:last-child &:last-child
border-bottom none border-bottom none
@@ -332,7 +332,7 @@ export default Vue.extend({
font-size 0.8em font-size 0.8em
color var(--dateDividerFg) color var(--dateDividerFg)
background var(--dateDividerBg) background var(--dateDividerBg)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
span span
margin 0 16px margin 0 16px
@@ -345,7 +345,7 @@ export default Vue.extend({
width 100% width 100%
padding 16px padding 16px
color var(--text) color var(--text)
border-top solid 1px rgba(#000, 0.05) border-top solid var(--lineWidth) rgba(#000, 0.05)
&:hover &:hover
background rgba(#000, 0.025) background rgba(#000, 0.025)

View File

@@ -12,6 +12,7 @@
<mk-note-preview v-if="reply" class="notePreview" :note="reply"/> <mk-note-preview v-if="reply" class="notePreview" :note="reply"/>
<mk-post-form ref="form" <mk-post-form ref="form"
:reply="reply" :reply="reply"
:mention="mention"
@posted="onPosted" @posted="onPosted"
@change-uploadings="onChangeUploadings" @change-uploadings="onChangeUploadings"
@change-attached-files="onChangeFiles" @change-attached-files="onChangeFiles"
@@ -32,6 +33,10 @@ export default Vue.extend({
type: Object, type: Object,
required: false required: false
}, },
mention: {
type: Object,
required: false
},
animation: { animation: {
type: Boolean, type: Boolean,

View File

@@ -50,8 +50,7 @@
<span v-if="visibility === 'public'"><fa icon="globe"/></span> <span v-if="visibility === 'public'"><fa icon="globe"/></span>
<span v-if="visibility === 'home'"><fa icon="home"/></span> <span v-if="visibility === 'home'"><fa icon="home"/></span>
<span v-if="visibility === 'followers'"><fa icon="unlock"/></span> <span v-if="visibility === 'followers'"><fa icon="unlock"/></span>
<span v-if="visibility === 'specified'"><fa icon="envelope"/></span> <span v-if="visibility === 'specified'"><fa icon="lock"/></span>
<span v-if="visibility === 'private'"><fa icon="lock"/></span>
</button> </button>
<p class="text-count" :class="{ over: trimmedLength(text) > maxNoteTextLength }">{{ maxNoteTextLength - trimmedLength(text) }}</p> <p class="text-count" :class="{ over: trimmedLength(text) > maxNoteTextLength }">{{ maxNoteTextLength - trimmedLength(text) }}</p>
<ui-button primary :wait="posting" class="submit" :disabled="!canPost" @click="post"> <ui-button primary :wait="posting" class="submit" :disabled="!canPost" @click="post">
@@ -92,6 +91,10 @@ export default Vue.extend({
type: Object, type: Object,
required: false required: false
}, },
mention: {
type: Object,
required: false
},
initialText: { initialText: {
type: String, type: String,
required: false required: false
@@ -178,6 +181,11 @@ export default Vue.extend({
this.text = this.initialText; this.text = this.initialText;
} }
if (this.mention) {
this.text = this.mention.host ? `@${this.mention.username}@${toASCII(this.mention.host)}` : `@${this.mention.username}`;
this.text += ' ';
}
if (this.reply && this.reply.user.host != null) { if (this.reply && this.reply.user.host != null) {
this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `; this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `;
} }
@@ -203,7 +211,7 @@ export default Vue.extend({
this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility); this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility);
// 公開以外へのリプライ時は元の公開範囲を引き継ぐ // 公開以外へのリプライ時は元の公開範囲を引き継ぐ
if (this.reply && ['home', 'followers', 'specified', 'private'].includes(this.reply.visibility)) { if (this.reply && ['home', 'followers', 'specified'].includes(this.reply.visibility)) {
this.visibility = this.reply.visibility; this.visibility = this.reply.visibility;
} }
@@ -215,7 +223,7 @@ export default Vue.extend({
this.$nextTick(() => { this.$nextTick(() => {
// 書きかけの投稿を復元 // 書きかけの投稿を復元
if (!this.instant) { if (!this.instant && !this.mention) {
const draft = JSON.parse(localStorage.getItem('drafts') || '{}')[this.draftId]; const draft = JSON.parse(localStorage.getItem('drafts') || '{}')[this.draftId];
if (draft) { if (draft) {
this.text = draft.data.text; this.text = draft.data.text;
@@ -373,7 +381,8 @@ export default Vue.extend({
setVisibility() { setVisibility() {
const w = this.$root.new(MkVisibilityChooser, { const w = this.$root.new(MkVisibilityChooser, {
source: this.$refs.visibilityButton source: this.$refs.visibilityButton,
currentVisibility: this.visibility
}); });
w.$once('chosen', v => { w.$once('chosen', v => {
this.applyVisibility(v); this.applyVisibility(v);

View File

@@ -7,16 +7,16 @@
<p>{{ $t('already-registered') }}</p> <p>{{ $t('already-registered') }}</p>
<ui-button @click="unregister">{{ $t('unregister') }}</ui-button> <ui-button @click="unregister">{{ $t('unregister') }}</ui-button>
</template> </template>
<div v-if="data"> <div v-if="data && !$store.state.i.twoFactorEnabled">
<ol> <ol>
<li>{{ $t('authenticator') }}<a href="https://support.google.com/accounts/answer/1066447" target="_blank">{{ $t('howtoinstall') }}</a></li> <li>{{ $t('authenticator') }}<a href="https://support.google.com/accounts/answer/1066447" target="_blank">{{ $t('howtoinstall') }}</a></li>
<li>{{ $t('scan') }}<br><img :src="data.qr"></li> <li>{{ $t('scan') }}<br><img :src="data.qr"></li>
<li>{{ $t('done') }}<br> <li>{{ $t('done') }}<br>
<input type="number" v-model="token" class="ui"> <ui-input v-model="token">{{ $t('token') }}</ui-input>
<ui-button primary @click="submit">{{ $t('submit') }}</ui-button> <ui-button primary @click="submit">{{ $t('submit') }}</ui-button>
</li> </li>
</ol> </ol>
<div class="ui info"><p><fa icon="info-circle"/>{{ $t('info') }}</p></div> <ui-info>{{ $t('info') }}</ui-info>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="mk-settings"> <div class="mk-settings">
<div class="nav"> <div class="nav" :class="{ inWindow }">
<p :class="{ active: page == 'profile' }" @mousedown="page = 'profile'"><fa icon="user" fixed-width/>{{ $t('profile') }}</p> <p :class="{ active: page == 'profile' }" @mousedown="page = 'profile'"><fa icon="user" fixed-width/>{{ $t('profile') }}</p>
<p :class="{ active: page == 'theme' }" @mousedown="page = 'theme'"><fa icon="palette" fixed-width/>{{ $t('theme') }}</p> <p :class="{ active: page == 'theme' }" @mousedown="page = 'theme'"><fa icon="palette" fixed-width/>{{ $t('theme') }}</p>
<p :class="{ active: page == 'web' }" @mousedown="page = 'web'"><fa icon="desktop" fixed-width/>Web</p> <p :class="{ active: page == 'web' }" @mousedown="page = 'web'"><fa icon="desktop" fixed-width/>Web</p>
@@ -19,13 +19,7 @@
<x-integration-settings/> <x-integration-settings/>
</div> </div>
<ui-card class="theme" v-show="page == 'theme'"> <x-theme class="theme" v-show="page == 'theme'"/>
<div slot="title"><fa icon="palette"/> {{ $t('theme') }}</div>
<section>
<x-theme/>
</section>
</ui-card>
<ui-card class="web" v-show="page == 'web'"> <ui-card class="web" v-show="page == 'web'">
<div slot="title"><fa icon="sliders-h"/> {{ $t('behaviour') }}</div> <div slot="title"><fa icon="sliders-h"/> {{ $t('behaviour') }}</div>
@@ -64,7 +58,6 @@
<option value="home">{{ $t('@.note-visibility.home') }}</option> <option value="home">{{ $t('@.note-visibility.home') }}</option>
<option value="followers">{{ $t('@.note-visibility.followers') }}</option> <option value="followers">{{ $t('@.note-visibility.followers') }}</option>
<option value="specified">{{ $t('@.note-visibility.specified') }}</option> <option value="specified">{{ $t('@.note-visibility.specified') }}</option>
<option value="private">{{ $t('@.note-visibility.private') }}</option>
<option value="local-public">{{ $t('@.note-visibility.local-public') }}</option> <option value="local-public">{{ $t('@.note-visibility.local-public') }}</option>
<option value="local-home">{{ $t('@.note-visibility.local-home') }}</option> <option value="local-home">{{ $t('@.note-visibility.local-home') }}</option>
<option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option> <option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option>
@@ -87,8 +80,10 @@
</section> </section>
<section> <section>
<header>{{ $t('wallpaper') }}</header> <header>{{ $t('wallpaper') }}</header>
<ui-button @click="updateWallpaper">{{ $t('choose-wallpaper') }}</ui-button> <ui-horizon-group class="fit-bottom">
<ui-button @click="deleteWallpaper">{{ $t('delete-wallpaper') }}</ui-button> <ui-button @click="updateWallpaper">{{ $t('choose-wallpaper') }}</ui-button>
<ui-button @click="deleteWallpaper">{{ $t('delete-wallpaper') }}</ui-button>
</ui-horizon-group>
</section> </section>
<section> <section>
<header>{{ $t('navbar-position') }}</header> <header>{{ $t('navbar-position') }}</header>
@@ -104,6 +99,12 @@
<ui-switch v-model="useShadow">{{ $t('use-shadow') }}</ui-switch> <ui-switch v-model="useShadow">{{ $t('use-shadow') }}</ui-switch>
<ui-switch v-model="roundedCorners">{{ $t('rounded-corners') }}</ui-switch> <ui-switch v-model="roundedCorners">{{ $t('rounded-corners') }}</ui-switch>
<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch> <ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
<section>
<header>{{ $t('@.line-width') }}</header>
<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
<ui-radio v-model="lineWidth" :value="1">{{ $t('@.line-width-normal') }}</ui-radio>
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
</section>
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch> <ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch>
<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch> <ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch> <ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
@@ -136,7 +137,7 @@
</section> </section>
<section> <section>
<ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch> <ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch>
<ui-switch v-model="games_reversi_useWhiteBlackStones">{{ $t('@.use-white-black-reversi-stones') }}</ui-switch> <ui-switch v-model="games_reversi_useAvatarStones">{{ $t('@.use-avatar-reversi-stones') }}</ui-switch>
</section> </section>
</ui-card> </ui-card>
@@ -170,17 +171,7 @@
</section> </section>
</ui-card> </ui-card>
<ui-card class="notification" v-show="page == 'notification'"> <x-notification-settings v-show="page == 'notification'"/>
<div slot="title"><fa :icon="['far', 'bell']"/> {{ $t('notification') }}</div>
<section>
<ui-switch v-model="$store.state.i.settings.autoWatch" @change="onChangeAutoWatch">
{{ $t('auto-watch') }}<span slot="desc">{{ $t('auto-watch-desc') }}</span>
</ui-switch>
<section>
<ui-button @click="readAllUnreadNotes">{{ $t('mark-as-read-all-unread-notes') }}</ui-button>
</section>
</section>
</ui-card>
<div class="drive" v-if="page == 'drive'"> <div class="drive" v-if="page == 'drive'">
<x-drive-settings/> <x-drive-settings/>
@@ -289,6 +280,7 @@ import XPasswordSettings from '../../../common/views/components/password-setting
import XProfileEditor from '../../../common/views/components/profile-editor.vue'; import XProfileEditor from '../../../common/views/components/profile-editor.vue';
import XApiSettings from '../../../common/views/components/api-settings.vue'; import XApiSettings from '../../../common/views/components/api-settings.vue';
import XLanguageSettings from '../../../common/views/components/language-settings.vue'; import XLanguageSettings from '../../../common/views/components/language-settings.vue';
import XNotificationSettings from '../../../common/views/components/notification-settings.vue';
import { url, clientVersion as version } from '../../../config'; import { url, clientVersion as version } from '../../../config';
import checkForUpdate from '../../../common/scripts/check-for-update'; import checkForUpdate from '../../../common/scripts/check-for-update';
@@ -308,11 +300,17 @@ export default Vue.extend({
XProfileEditor, XProfileEditor,
XApiSettings, XApiSettings,
XLanguageSettings, XLanguageSettings,
XNotificationSettings,
}, },
props: { props: {
initialPage: { initialPage: {
type: String, type: String,
required: false required: false
},
inWindow: {
type: Boolean,
required: false,
default: true
} }
}, },
data() { data() {
@@ -415,6 +413,11 @@ export default Vue.extend({
set(value) { this.$store.dispatch('settings/set', { key: 'roundedCorners', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'roundedCorners', value }); }
}, },
lineWidth: {
get() { return this.$store.state.device.lineWidth; },
set(value) { this.$store.commit('device/set', { key: 'lineWidth', value }); }
},
fetchOnScroll: { fetchOnScroll: {
get() { return this.$store.state.settings.fetchOnScroll; }, get() { return this.$store.state.settings.fetchOnScroll; },
set(value) { this.$store.dispatch('settings/set', { key: 'fetchOnScroll', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'fetchOnScroll', value }); }
@@ -505,9 +508,9 @@ export default Vue.extend({
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.showBoardLabels', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.showBoardLabels', value }); }
}, },
games_reversi_useWhiteBlackStones: { games_reversi_useAvatarStones: {
get() { return this.$store.state.settings.games.reversi.useWhiteBlackStones; }, get() { return this.$store.state.settings.games.reversi.useAvatarStones; },
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useWhiteBlackStones', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useAvatarStones', value }); }
}, },
disableAnimatedMfm: { disableAnimatedMfm: {
@@ -526,9 +529,6 @@ export default Vue.extend({
}); });
}, },
methods: { methods: {
readAllUnreadNotes() {
this.$root.api('i/read_all_unread_notes');
},
customizeHome() { customizeHome() {
this.$router.push('/i/customize-home'); this.$router.push('/i/customize-home');
this.$emit('done'); this.$emit('done');
@@ -547,11 +547,6 @@ export default Vue.extend({
wallpaperId: null wallpaperId: null
}); });
}, },
onChangeAutoWatch(v) {
this.$root.api('i/update', {
autoWatch: v
});
},
checkForUpdate() { checkForUpdate() {
this.checkingForUpdate = true; this.checkingForUpdate = true;
checkForUpdate(this.$root, true, true).then(newer => { checkForUpdate(this.$root, true, true).then(newer => {
@@ -598,9 +593,11 @@ export default Vue.extend({
height 100% height 100%
padding 16px 0 0 0 padding 16px 0 0 0
overflow auto overflow auto
box-shadow var(--shadowRight)
z-index 1 z-index 1
&.inWindow
box-shadow var(--shadowRight)
> p > p
display block display block
padding 10px 16px padding 10px 16px

View File

@@ -173,7 +173,7 @@ export default Vue.extend({
<style lang="stylus" scoped> <style lang="stylus" scoped>
.mk-timeline-core .mk-timeline-core
> .mk-friends-maker > .mk-friends-maker
border-bottom solid 1px #eee border-bottom solid var(--lineWidth) #eee
</style> </style>

View File

@@ -139,7 +139,6 @@ export default Vue.extend({
this.$root.new(Menu, { this.$root.new(Menu, {
source: this.$refs.listButton, source: this.$refs.listButton,
compact: false,
items: menu items: menu
}); });
}, },
@@ -170,7 +169,6 @@ export default Vue.extend({
this.$root.new(Menu, { this.$root.new(Menu, {
source: this.$refs.tagButton, source: this.$refs.tagButton,
compact: false,
items: menu items: menu
}); });
} }
@@ -189,7 +187,7 @@ export default Vue.extend({
padding 0 8px padding 0 8px
z-index 10 z-index 10
background var(--faceHeader) background var(--faceHeader)
box-shadow 0 1px var(--desktopTimelineHeaderShadow) box-shadow 0 var(--lineWidth) var(--desktopTimelineHeaderShadow)
> .buttons > .buttons
position absolute position absolute
@@ -209,7 +207,7 @@ export default Vue.extend({
top -4px top -4px
right 4px right 4px
font-size 10px font-size 10px
color var(--primary) color var(--notificationIndicator)
&:hover &:hover
color var(--faceTextButtonHover) color var(--faceTextButtonHover)

View File

@@ -51,12 +51,12 @@
<i><fa icon="angle-right"/></i> <i><fa icon="angle-right"/></i>
</router-link> </router-link>
</li> </li>
<li @click="settings"> <li>
<p> <router-link to="/i/settings">
<i><fa icon="cog"/></i> <i><fa icon="cog"/></i>
<span>{{ $t('settings') }}</span> <span>{{ $t('settings') }}</span>
<i><fa icon="angle-right"/></i> <i><fa icon="angle-right"/></i>
</p> </router-link>
</li> </li>
<li v-if="$store.state.i.isAdmin || $store.state.i.isModerator"> <li v-if="$store.state.i.isAdmin || $store.state.i.isModerator">
<a href="/admin"> <a href="/admin">
@@ -153,10 +153,6 @@ export default Vue.extend({
this.close(); this.close();
this.$root.new(MkFollowRequestsWindow); this.$root.new(MkFollowRequestsWindow);
}, },
settings() {
this.close();
this.$root.new(MkSettingsWindow);
},
signout() { signout() {
this.$root.signout(); this.$root.signout();
}, },
@@ -231,7 +227,7 @@ export default Vue.extend({
font-size 0.8em font-size 0.8em
background $bgcolor background $bgcolor
border-radius 4px border-radius 4px
box-shadow 0 1px 4px rgba(#000, 0.25) box-shadow 0 var(--lineWidth) 4px rgba(#000, 0.25)
&:before &:before
content "" content ""
@@ -265,7 +261,7 @@ export default Vue.extend({
& + ul & + ul
padding-top 10px padding-top 10px
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
> li > li
display block display block

View File

@@ -147,7 +147,7 @@ export default Vue.extend({
> [data-icon]:last-child > [data-icon]:last-child
margin-left 5px margin-left 5px
font-size 10px font-size 10px
color var(--primary) color var(--notificationIndicator)
@media (max-width 1100px) @media (max-width 1100px)
margin-left -5px margin-left -5px

View File

@@ -90,7 +90,7 @@ export default Vue.extend({
margin-left -5px margin-left -5px
vertical-align super vertical-align super
font-size 10px font-size 10px
color var(--primary) color var(--notificationIndicator)
> .pop > .pop
$bgcolor = var(--face) $bgcolor = var(--face)

View File

@@ -46,7 +46,7 @@ export default Vue.extend({
font-size 0.9em font-size 0.9em
font-weight bold font-weight bold
color var(--faceHeaderText) color var(--faceHeaderText)
box-shadow 0 1px rgba(#000, 0.07) box-shadow 0 var(--lineWidth) rgba(#000, 0.07)
> [data-icon] > [data-icon]
margin-right 6px margin-right 6px

View File

@@ -240,7 +240,6 @@ export default Vue.extend({
showMenu() { showMenu() {
this.$root.new(Menu, { this.$root.new(Menu, {
source: this.$refs.menu, source: this.$refs.menu,
compact: false,
items: this.getMenu() items: this.getMenu()
}); });
}, },
@@ -374,7 +373,7 @@ export default Vue.extend({
font-size 14px font-size 14px
color var(--faceHeaderText) color var(--faceHeaderText)
background var(--faceHeader) background var(--faceHeader)
box-shadow 0 1px rgba(#000, 0.15) box-shadow 0 var(--lineWidth) rgba(#000, 0.15)
cursor pointer cursor pointer
&, * &, *

View File

@@ -214,7 +214,7 @@ export default Vue.extend({
text-align center text-align center
color var(--dateDividerFg) color var(--dateDividerFg)
background var(--dateDividerBg) background var(--dateDividerBg)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
span span
margin 0 16px margin 0 16px
@@ -231,7 +231,7 @@ export default Vue.extend({
text-align center text-align center
color #ccc color #ccc
background var(--face) background var(--face)
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
border-bottom-left-radius 6px border-bottom-left-radius 6px
border-bottom-right-radius 6px border-bottom-right-radius 6px

View File

@@ -177,7 +177,7 @@ export default Vue.extend({
> .notifications > .notifications
> .notification:not(:last-child) > .notification:not(:last-child)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
> .date > .date
display block display block
@@ -187,7 +187,7 @@ export default Vue.extend({
font-size 12px font-size 12px
color var(--dateDividerFg) color var(--dateDividerFg)
background var(--dateDividerBg) background var(--dateDividerBg)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
span span
margin 0 16px margin 0 16px
@@ -200,7 +200,7 @@ export default Vue.extend({
width 100% width 100%
padding 16px padding 16px
color #555 color #555
border-top solid 1px rgba(#000, 0.05) border-top solid var(--lineWidth) rgba(#000, 0.05)
&:hover &:hover
background rgba(#000, 0.025) background rgba(#000, 0.025)

View File

@@ -49,6 +49,9 @@
<b>{{ user.followersCount | number }}</b> <b>{{ user.followersCount | number }}</b>
<span>{{ $t('followers') }}</span> <span>{{ $t('followers') }}</span>
</div> </div>
<div class="mention">
<button @click="mention" :title="$t('mention')"><fa icon="at"/></button>
</div>
</div> </div>
</div> </div>
<div class="pinned" v-if="user.pinnedNotes && user.pinnedNotes.length > 0"> <div class="pinned" v-if="user.pinnedNotes && user.pinnedNotes.length > 0">
@@ -307,6 +310,10 @@ export default Vue.extend({
return promise; return promise;
}, },
mention() {
this.$post({ mention: this.user });
},
menu() { menu() {
let menu = [{ let menu = [{
icon: 'list', icon: 'list',
@@ -329,7 +336,6 @@ export default Vue.extend({
this.$root.new(Menu, { this.$root.new(Menu, {
source: this.$refs.menu, source: this.$refs.menu,
compact: false,
items: menu items: menu
}); });
}, },
@@ -454,9 +460,9 @@ export default Vue.extend({
> .counts > .counts
display grid display grid
grid-template-columns 1fr 1fr 1fr grid-template-columns 2fr 2fr 2fr 1fr
margin-top 8px margin-top 8px
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
> div > div
padding 8px 8px 0 8px padding 8px 8px 0 8px
@@ -471,6 +477,9 @@ export default Vue.extend({
font-size 80% font-size 80%
opacity 0.7 opacity 0.7
> .mention
display flex
> * > *
> p.caption > p.caption
margin 0 margin 0

View File

@@ -179,7 +179,6 @@ export default Vue.extend({
add() { add() {
this.$root.new(Menu, { this.$root.new(Menu, {
source: this.$refs.add, source: this.$refs.add,
compact: true,
items: [{ items: [{
icon: 'home', icon: 'home',
text: this.$t('@deck.home'), text: this.$t('@deck.home'),

View File

@@ -0,0 +1,24 @@
<template>
<mk-ui>
<main>
<x-settings :in-window="false"/>
</main>
</mk-ui>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
components: {
XSettings: () => import('../components/settings.vue').then(m => m.default)
},
});
</script>
<style lang="stylus" scoped>
main
margin 0 auto
max-width 900px
</style>

View File

@@ -36,6 +36,7 @@
<span class="notes-count"><b>{{ user.notesCount | number }}</b>{{ $t('posts') }}</span> <span class="notes-count"><b>{{ user.notesCount | number }}</b>{{ $t('posts') }}</span>
<router-link :to="user | userPage('following')" class="following clickable"><b>{{ user.followingCount | number }}</b>{{ $t('following') }}</router-link> <router-link :to="user | userPage('following')" class="following clickable"><b>{{ user.followingCount | number }}</b>{{ $t('following') }}</router-link>
<router-link :to="user | userPage('followers')" class="followers clickable"><b>{{ user.followersCount | number }}</b>{{ $t('followers') }}</router-link> <router-link :to="user | userPage('followers')" class="followers clickable"><b>{{ user.followersCount | number }}</b>{{ $t('followers') }}</router-link>
<button @click="mention" :title="$t('mention')"><fa icon="at"/></button>
</div> </div>
</div> </div>
</div> </div>
@@ -77,6 +78,9 @@ export default Vue.extend({
} }
}, },
methods: { methods: {
mention() {
this.$post({ mention: this.user });
},
onScroll() { onScroll() {
const banner = this.$refs.banner as any; const banner = this.$refs.banner as any;

View File

@@ -1,7 +1,7 @@
<template> <template>
<mk-ui> <mk-ui>
<div class="xygkxeaeontfaokvqmiblezmhvhostak" v-if="!fetching"> <div class="xygkxeaeontfaokvqmiblezmhvhostak" v-if="!fetching">
<div class="is-suspended" v-if="user.isSuspended"><fa icon="exclamation-triangle"/> {{ $t('@.is-suspended') }}</div> <div class="is-suspended" v-if="user.isSuspended"><fa icon="exclamation-triangle"/> {{ $t('@.user-suspended') }}</div>
<div class="is-remote" v-if="user.host != null"><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></div> <div class="is-remote" v-if="user.host != null"><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></div>
<main> <main>
<div class="main"> <div class="main">

View File

@@ -18,7 +18,7 @@ import Apps from './views/apps.vue';
import AppNew from './views/new-app.vue'; import AppNew from './views/new-app.vue';
import App from './views/app.vue'; import App from './views/app.vue';
import ui from './views/ui.vue'; import ui from './views/ui.vue';
import NotFound from '../common/views/pages/404.vue'; import NotFound from '../common/views/pages/not-found.vue';
Vue.use(BootstrapVue); Vue.use(BootstrapVue);

View File

@@ -413,6 +413,15 @@ export default (callback: (launch: (router: VueRouter) => [Vue, MiOS]) => void,
}); });
//#endregion //#endregion
//#region line width
document.documentElement.style.setProperty('--lineWidth', `${os.store.state.device.lineWidth}px`);
os.store.watch(s => {
return s.device.lineWidth;
}, v => {
document.documentElement.style.setProperty('--lineWidth', `${os.store.state.device.lineWidth}px`);
});
//#endregion
// Navigation hook // Navigation hook
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
next(os.store.state.navHook && os.store.state.navHook(to) ? false : undefined); next(os.store.state.navHook && os.store.state.navHook(to) ? false : undefined);

View File

@@ -31,7 +31,7 @@ import MkReversi from './views/pages/games/reversi.vue';
import MkTag from './views/pages/tag.vue'; import MkTag from './views/pages/tag.vue';
import MkShare from './views/pages/share.vue'; import MkShare from './views/pages/share.vue';
import MkFollow from '../common/views/pages/follow.vue'; import MkFollow from '../common/views/pages/follow.vue';
import MkNotFound from '../common/views/pages/404.vue'; import MkNotFound from '../common/views/pages/not-found.vue';
import PostForm from './views/components/post-form-dialog.vue'; import PostForm from './views/components/post-form-dialog.vue';
import FileChooser from './views/components/drive-file-chooser.vue'; import FileChooser from './views/components/drive-file-chooser.vue';
@@ -60,6 +60,7 @@ init((launch) => {
const vm = this.$root.new(PostForm, { const vm = this.$root.new(PostForm, {
reply: o.reply, reply: o.reply,
mention: o.mention,
renote: o.renote renote: o.renote
}); });

View File

@@ -54,8 +54,7 @@
<span class="visibility" v-if="appearNote.visibility != 'public'"> <span class="visibility" v-if="appearNote.visibility != 'public'">
<fa v-if="appearNote.visibility == 'home'" icon="home"/> <fa v-if="appearNote.visibility == 'home'" icon="home"/>
<fa v-if="appearNote.visibility == 'followers'" icon="unlock"/> <fa v-if="appearNote.visibility == 'followers'" icon="unlock"/>
<fa v-if="appearNote.visibility == 'specified'" icon="envelope"/> <fa v-if="appearNote.visibility == 'specified'" icon="lock"/>
<fa v-if="appearNote.visibility == 'private'" icon="lock"/>
</span> </span>
<span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span> <span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span>
</div> </div>
@@ -67,13 +66,16 @@
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p> <p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
</button> </button>
<button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote"> <button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote">
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p> <fa icon="retweet"/>
</button> </button>
<button v-else> <button v-else>
<fa icon="ban"/> <fa icon="ban"/>
</button> </button>
<button :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton" :title="$t('title')"> <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton">
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p> <fa icon="plus"/>
</button>
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton">
<fa icon="minus"/>
</button> </button>
<button @click="menu()" ref="menuButton"> <button @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/> <fa icon="ellipsis-h"/>
@@ -328,7 +330,8 @@ export default Vue.extend({
> .count > .count
display inline display inline
margin 0 0 0 8px margin 0 0 0 8px
color #999 color var(--text)
opacity 0.7
&.reacted &.reacted
color var(--primary) color var(--primary)

View File

@@ -44,13 +44,16 @@
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p> <p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
</button> </button>
<button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote"> <button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote">
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p> <fa icon="retweet"/>
</button> </button>
<button v-else> <button v-else>
<fa icon="ban"/> <fa icon="ban"/>
</button> </button>
<button :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton"> <button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton">
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p> <fa icon="plus"/>
</button>
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton">
<fa icon="minus"/>
</button> </button>
<button class="menu" @click="menu()" ref="menuButton"> <button class="menu" @click="menu()" ref="menuButton">
<fa icon="ellipsis-h"/> <fa icon="ellipsis-h"/>
@@ -95,7 +98,7 @@ export default Vue.extend({
<style lang="stylus" scoped> <style lang="stylus" scoped>
.note .note
font-size 12px font-size 12px
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
&:focus &:focus
z-index 1 z-index 1
@@ -228,7 +231,7 @@ export default Vue.extend({
> * > *
padding 16px padding 16px
border dashed 1px var(--quoteBorder) border dashed var(--lineWidth) var(--quoteBorder)
border-radius 8px border-radius 8px
> .app > .app
@@ -255,7 +258,8 @@ export default Vue.extend({
> .count > .count
display inline display inline
margin 0 0 0 8px margin 0 0 0 8px
color #999 color var(--text)
opacity 0.7
&.reacted &.reacted
color var(--primary) color var(--primary)

View File

@@ -210,7 +210,7 @@ export default Vue.extend({
font-size 0.9em font-size 0.9em
color var(--dateDividerFg) color var(--dateDividerFg)
background var(--dateDividerBg) background var(--dateDividerBg)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
span span
margin 0 16px margin 0 16px
@@ -240,7 +240,7 @@ export default Vue.extend({
> footer > footer
text-align center text-align center
border-top solid 1px var(--faceDivider) border-top solid var(--lineWidth) var(--faceDivider)
&:empty &:empty
display none display none

View File

@@ -152,7 +152,7 @@ export default Vue.extend({
> .notifications > .notifications
> .mk-notification:not(:last-child) > .mk-notification:not(:last-child)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
> .date > .date
display block display block
@@ -162,7 +162,7 @@ export default Vue.extend({
font-size 0.8em font-size 0.8em
color var(--dateDividerFg) color var(--dateDividerFg)
background var(--dateDividerBg) background var(--dateDividerBg)
border-bottom solid 1px var(--faceDivider) border-bottom solid var(--lineWidth) var(--faceDivider)
span span
margin 0 16px margin 0 16px
@@ -175,7 +175,7 @@ export default Vue.extend({
width 100% width 100%
padding 16px padding 16px
color var(--text) color var(--text)
border-top solid 1px rgba(#000, 0.05) border-top solid var(--lineWidth) rgba(#000, 0.05)
> [data-icon] > [data-icon]
margin-right 4px margin-right 4px

View File

@@ -5,6 +5,7 @@
<mk-post-form ref="form" <mk-post-form ref="form"
:reply="reply" :reply="reply"
:renote="renote" :renote="renote"
:mention="mention"
:initial-text="initialText" :initial-text="initialText"
:instant="instant" :instant="instant"
@posted="onPosted" @posted="onPosted"
@@ -27,6 +28,10 @@ export default Vue.extend({
type: Object, type: Object,
required: false required: false
}, },
mention: {
type: Object,
required: false
},
initialText: { initialText: {
type: String, type: String,
required: false required: false

View File

@@ -41,8 +41,7 @@
<span v-if="visibility === 'public'"><fa icon="globe"/></span> <span v-if="visibility === 'public'"><fa icon="globe"/></span>
<span v-if="visibility === 'home'"><fa icon="home"/></span> <span v-if="visibility === 'home'"><fa icon="home"/></span>
<span v-if="visibility === 'followers'"><fa icon="unlock"/></span> <span v-if="visibility === 'followers'"><fa icon="unlock"/></span>
<span v-if="visibility === 'specified'"><fa icon="envelope"/></span> <span v-if="visibility === 'specified'"><fa icon="lock"/></span>
<span v-if="visibility === 'private'"><fa icon="lock"/></span>
</button> </button>
</footer> </footer>
<input ref="file" class="file" type="file" multiple="multiple" @change="onChangeFile"/> <input ref="file" class="file" type="file" multiple="multiple" @change="onChangeFile"/>
@@ -84,6 +83,10 @@ export default Vue.extend({
type: Object, type: Object,
required: false required: false
}, },
mention: {
type: Object,
required: false
},
initialText: { initialText: {
type: String, type: String,
required: false required: false
@@ -172,6 +175,11 @@ export default Vue.extend({
this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `; this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `;
} }
if (this.mention) {
this.text = this.mention.host ? `@${this.mention.username}@${toASCII(this.mention.host)}` : `@${this.mention.username}`;
this.text += ' ';
}
if (this.reply && this.reply.text != null) { if (this.reply && this.reply.text != null) {
const ast = parse(this.reply.text); const ast = parse(this.reply.text);
@@ -193,7 +201,7 @@ export default Vue.extend({
this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility); this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility);
// 公開以外へのリプライ時は元の公開範囲を引き継ぐ // 公開以外へのリプライ時は元の公開範囲を引き継ぐ
if (this.reply && ['home', 'followers', 'specified', 'private'].includes(this.reply.visibility)) { if (this.reply && ['home', 'followers', 'specified'].includes(this.reply.visibility)) {
this.visibility = this.reply.visibility; this.visibility = this.reply.visibility;
} }
@@ -293,7 +301,7 @@ export default Vue.extend({
setVisibility() { setVisibility() {
const w = this.$root.new(MkVisibilityChooser, { const w = this.$root.new(MkVisibilityChooser, {
source: this.$refs.visibilityButton, source: this.$refs.visibilityButton,
compact: true currentVisibility: this.visibility
}); });
w.$once('chosen', v => { w.$once('chosen', v => {
this.applyVisibility(v); this.applyVisibility(v);

View File

@@ -79,8 +79,10 @@ export default Vue.extend({
position fixed position fixed
top 0 top 0
left -8px
z-index 1024 z-index 1024
width 100% width calc(100% + 16px)
padding 0 8px
box-shadow 0 0px 8px rgba(0, 0, 0, 0.25) box-shadow 0 0px 8px rgba(0, 0, 0, 0.25)
&, * &, *
@@ -157,7 +159,7 @@ export default Vue.extend({
left 8px left 8px
pointer-events none pointer-events none
font-size 10px font-size 10px
color var(--primary) color var(--notificationIndicator)
> button:last-child > button:last-child
display block display block

View File

@@ -104,7 +104,7 @@ export default Vue.extend({
}).then(async ({ canceled, result: query }) => { }).then(async ({ canceled, result: query }) => {
if (canceled) return; if (canceled) return;
const q = this.q.trim(); const q = query.trim();
if (q.startsWith('@')) { if (q.startsWith('@')) {
this.$router.push(`/${q}`); this.$router.push(`/${q}`);
} else if (q.startsWith('#')) { } else if (q.startsWith('#')) {
@@ -238,7 +238,7 @@ export default Vue.extend({
> i.circle > i.circle
margin-left 6px margin-left 6px
font-size 10px font-size 10px
color var(--primary) color var(--notificationIndicator)
> i:last-child > i:last-child
position absolute position absolute

View File

@@ -225,7 +225,7 @@ main
> .badge > .badge
margin-left 6px margin-left 6px
font-size 10px font-size 10px
color var(--primary) color var(--notificationIndicator)
> .tl > .tl
max-width 680px max-width 680px
@@ -248,7 +248,7 @@ main
.badge .badge
margin-left 6px margin-left 6px
font-size 10px font-size 10px
color var(--primary) color var(--notificationIndicator)
vertical-align middle vertical-align middle
</style> </style>

View File

@@ -41,8 +41,6 @@ export default Vue.extend({
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
main main
width 100% width 100%
max-width 680px max-width 680px

View File

@@ -7,12 +7,7 @@
<div> <div>
<x-profile-editor/> <x-profile-editor/>
<ui-card> <x-theme/>
<div slot="title"><fa icon="palette"/> {{ $t('theme') }}</div>
<section>
<x-theme/>
</section>
</ui-card>
<ui-card> <ui-card>
<div slot="title"><fa icon="poll-h"/> {{ $t('design') }}</div> <div slot="title"><fa icon="poll-h"/> {{ $t('design') }}</div>
@@ -20,6 +15,12 @@
<section> <section>
<ui-switch v-model="darkmode">{{ $t('dark-mode') }}</ui-switch> <ui-switch v-model="darkmode">{{ $t('dark-mode') }}</ui-switch>
<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch> <ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
<section>
<header>{{ $t('@.line-width') }}</header>
<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
<ui-radio v-model="lineWidth" :value="1">{{ $t('@.line-width-normal') }}</ui-radio>
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
</section>
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }} ({{ $t('@.this-setting-is-this-device-only') }})</ui-switch> <ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }} ({{ $t('@.this-setting-is-this-device-only') }})</ui-switch>
<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch> <ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch> <ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
@@ -33,7 +34,7 @@
<section> <section>
<ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch> <ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch>
<ui-switch v-model="games_reversi_useWhiteBlackStones">{{ $t('@.use-white-black-reversi-stones') }}</ui-switch> <ui-switch v-model="games_reversi_useAvatarStones">{{ $t('@.use-avatar-reversi-stones') }}</ui-switch>
</section> </section>
<section> <section>
@@ -80,7 +81,6 @@
<option value="home">{{ $t('@.note-visibility.home') }}</option> <option value="home">{{ $t('@.note-visibility.home') }}</option>
<option value="followers">{{ $t('@.note-visibility.followers') }}</option> <option value="followers">{{ $t('@.note-visibility.followers') }}</option>
<option value="specified">{{ $t('@.note-visibility.specified') }}</option> <option value="specified">{{ $t('@.note-visibility.specified') }}</option>
<option value="private">{{ $t('@.note-visibility.private') }}</option>
<option value="local-public">{{ $t('@.note-visibility.local-public') }}</option> <option value="local-public">{{ $t('@.note-visibility.local-public') }}</option>
<option value="local-home">{{ $t('@.note-visibility.local-home') }}</option> <option value="local-home">{{ $t('@.note-visibility.local-home') }}</option>
<option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option> <option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option>
@@ -94,6 +94,8 @@
</section> </section>
</ui-card> </ui-card>
<x-notification-settings/>
<x-drive-settings/> <x-drive-settings/>
<x-mute-and-block/> <x-mute-and-block/>
@@ -157,6 +159,7 @@ import XProfileEditor from '../../../common/views/components/profile-editor.vue'
import XApiSettings from '../../../common/views/components/api-settings.vue'; import XApiSettings from '../../../common/views/components/api-settings.vue';
import XLanguageSettings from '../../../common/views/components/language-settings.vue'; import XLanguageSettings from '../../../common/views/components/language-settings.vue';
import XIntegrationSettings from '../../../common/views/components/integration-settings.vue'; import XIntegrationSettings from '../../../common/views/components/integration-settings.vue';
import XNotificationSettings from '../../../common/views/components/notification-settings.vue';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('mobile/views/pages/settings.vue'), i18n: i18n('mobile/views/pages/settings.vue'),
@@ -170,6 +173,7 @@ export default Vue.extend({
XApiSettings, XApiSettings,
XLanguageSettings, XLanguageSettings,
XIntegrationSettings, XIntegrationSettings,
XNotificationSettings,
}, },
data() { data() {
@@ -262,6 +266,11 @@ export default Vue.extend({
set(value) { this.$store.dispatch('settings/set', { key: 'circleIcons', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'circleIcons', value }); }
}, },
lineWidth: {
get() { return this.$store.state.device.lineWidth; },
set(value) { this.$store.commit('device/set', { key: 'lineWidth', value }); }
},
contrastedAcct: { contrastedAcct: {
get() { return this.$store.state.settings.contrastedAcct; }, get() { return this.$store.state.settings.contrastedAcct; },
set(value) { this.$store.dispatch('settings/set', { key: 'contrastedAcct', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'contrastedAcct', value }); }
@@ -287,9 +296,9 @@ export default Vue.extend({
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.showBoardLabels', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.showBoardLabels', value }); }
}, },
games_reversi_useWhiteBlackStones: { games_reversi_useAvatarStones: {
get() { return this.$store.state.settings.games.reversi.useWhiteBlackStones; }, get() { return this.$store.state.settings.games.reversi.useAvatarStones; },
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useWhiteBlackStones', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useAvatarStones', value }); }
}, },
disableAnimatedMfm: { disableAnimatedMfm: {

View File

@@ -4,7 +4,7 @@
<mk-user-name :user="user"/> <mk-user-name :user="user"/>
</template> </template>
<main v-if="!fetching"> <main v-if="!fetching">
<div class="is-suspended" v-if="user.isSuspended"><p><fa icon="exclamation-triangle"/> {{ $t('is-suspended') }}</p></div> <div class="is-suspended" v-if="user.isSuspended"><p><fa icon="exclamation-triangle"/> {{ $t('@.user-suspended') }}</p></div>
<div class="is-remote" v-if="user.host != null"><p><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></p></div> <div class="is-remote" v-if="user.host != null"><p><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></p></div>
<header> <header>
<div class="banner" :style="style"></div> <div class="banner" :style="style"></div>
@@ -55,6 +55,7 @@
<b>{{ user.followersCount | number }}</b> <b>{{ user.followersCount | number }}</b>
<i>{{ $t('followers') }}</i> <i>{{ $t('followers') }}</i>
</a> </a>
<button @click="mention"><fa icon="at"/></button>
</div> </div>
</div> </div>
</header> </header>
@@ -126,6 +127,10 @@ export default Vue.extend({
}); });
}, },
mention() {
this.$post({ mention: this.user });
},
menu() { menu() {
let menu = [{ let menu = [{
icon: ['fas', 'list'], icon: ['fas', 'list'],
@@ -203,7 +208,6 @@ export default Vue.extend({
this.$root.new(Menu, { this.$root.new(Menu, {
source: this.$refs.menu, source: this.$refs.menu,
compact: true,
items: menu items: menu
}); });
}, },
@@ -365,6 +369,9 @@ main
> i > i
font-size 14px font-size 14px
> button
color var(--text)
> nav > nav
position -webkit-sticky position -webkit-sticky
position sticky position sticky

View File

@@ -40,7 +40,7 @@ const defaultSettings = {
games: { games: {
reversi: { reversi: {
showBoardLabels: false, showBoardLabels: false,
useWhiteBlackStones: false, useAvatarStones: true,
} }
} }
}; };
@@ -52,6 +52,7 @@ const defaultDeviceSettings = {
darkmode: false, darkmode: false,
darkTheme: 'dark', darkTheme: 'dark',
lightTheme: 'light', lightTheme: 'light',
lineWidth: 1,
themes: [], themes: [],
enableSounds: true, enableSounds: true,
soundVolume: 0.5, soundVolume: 0.5,

View File

@@ -5,7 +5,7 @@ import './style.styl';
import init from '../init'; import init from '../init';
import Index from './views/index.vue'; import Index from './views/index.vue';
import NotFound from '../common/views/pages/404.vue'; import NotFound from '../common/views/pages/not-found.vue';
init(launch => { init(launch => {
document.title = 'Misskey'; document.title = 'Misskey';

View File

@@ -15,13 +15,27 @@ export const darkTheme: Theme = require('../theme/dark.json5');
export const pinkTheme: Theme = require('../theme/pink.json5'); export const pinkTheme: Theme = require('../theme/pink.json5');
export const blackTheme: Theme = require('../theme/black.json5'); export const blackTheme: Theme = require('../theme/black.json5');
export const halloweenTheme: Theme = require('../theme/halloween.json5'); export const halloweenTheme: Theme = require('../theme/halloween.json5');
export const cafeTheme: Theme = require('../theme/cafe.json5');
export const japaneseSushiSetTheme: Theme = require('../theme/japanese-sushi-set.json5');
export const gruvboxDarkTheme: Theme = require('../theme/gruvbox-dark.json5');
export const monokaiTheme: Theme = require('../theme/monokai.json5');
export const colorfulTheme: Theme = require('../theme/colorful.json5');
export const naturalTheme: Theme = require('../theme/natural.json5');
export const mauveTheme: Theme = require('../theme/mauve.json5');
export const builtinThemes = [ export const builtinThemes = [
lightTheme, lightTheme,
darkTheme, darkTheme,
pinkTheme, pinkTheme,
blackTheme, blackTheme,
halloweenTheme halloweenTheme,
cafeTheme,
japaneseSushiSetTheme,
gruvboxDarkTheme,
monokaiTheme,
colorfulTheme,
naturalTheme,
mauveTheme,
]; ];
export function applyTheme(theme: Theme, persisted = true) { export function applyTheme(theme: Theme, persisted = true) {
@@ -85,12 +99,12 @@ function compile(theme: Theme): { [key: string]: string } {
props['primaryAlpha0' + i] = genValue(color); props['primaryAlpha0' + i] = genValue(color);
} }
for (let i = 1; i < 100; i++) { for (let i = 5; i < 100; i += 5) {
const color = primary.clone().lighten(i); const color = primary.clone().lighten(i);
props['primaryLighten' + i] = genValue(color); props['primaryLighten' + i] = genValue(color);
} }
for (let i = 1; i < 100; i++) { for (let i = 5; i < 100; i += 5) {
const color = primary.clone().darken(i); const color = primary.clone().darken(i);
props['primaryDarken' + i] = genValue(color); props['primaryDarken' + i] = genValue(color);
} }

View File

@@ -22,7 +22,7 @@ html, body
a a
text-decoration none text-decoration none
color var(--primary) color var(--link)
cursor pointer cursor pointer
&:hover &:hover
@@ -33,7 +33,7 @@ a
@css { @css {
a { a {
tap-highlight-color: var(--primaryAlpha07) !important; tap-highlight-color: var(--linkTapHighlight) !important;
-webkit-tap-highlight-color: var(--primaryAlpha07) !important; -webkit-tap-highlight-color: var(--linkTapHighlight) !important;
} }
} }

View File

@@ -0,0 +1,20 @@
{
id: '0ff48d43-aab3-46e7-ab12-8492110d2e2b',
name: 'Cafe',
author: 'syuilo',
base: 'light',
vars: {
primary: 'rgb(234, 154, 82)',
secondary: 'rgb(238, 236, 232)',
text: 'rgb(149, 143, 139)',
},
props: {
renoteGradient: '#ffe1c7',
renoteText: '$primary',
quoteBorder: '$primary',
},
}

View File

@@ -0,0 +1,23 @@
{
id: '2d066d6e-bd39-4f23-bd48-686d5c1c6ae8',
name: 'Colorful',
author: 'syuilo',
base: 'light',
vars: {
primary: 'rgb(255, 153, 64)',
secondary: 'rgb(255, 255, 255)',
text: 'rgb(108, 118, 128)',
},
props: {
bg: 'rgb(250, 250, 250)',
mfmMention: '#f07171',
mfmMentionForeground: '#fff',
mfmUrl: '#86b300',
mfmLink: '#399ee6',
mfmHashtag: '#fa8d3e'
},
}

View File

@@ -24,6 +24,15 @@
scrollbarHandle: ':lighten<5<$secondary', scrollbarHandle: ':lighten<5<$secondary',
scrollbarHandleHover: ':lighten<10<$secondary', scrollbarHandleHover: ':lighten<10<$secondary',
link: '$primary',
linkTapHighlight: ':alpha<0.7<@link',
notificationIndicator: '$primary',
switchActive: '$primary',
switchActiveTrack: ':alpha<0.4<@switchActive',
radioActive: '$primary',
face: '$secondary', face: '$secondary',
faceText: '#fff', faceText: '#fff',
faceHeader: ':lighten<5<$secondary', faceHeader: ':lighten<5<$secondary',
@@ -120,8 +129,10 @@
mfmTitleBg: 'rgba(0, 0, 0, 0.2)', mfmTitleBg: 'rgba(0, 0, 0, 0.2)',
mfmQuote: ':alpha<0.7<$text', mfmQuote: ':alpha<0.7<$text',
mfmQuoteLine: ':alpha<0.6<$text', mfmQuoteLine: ':alpha<0.6<$text',
mfmLink: '$primary', mfmUrl: '$primary',
mfmLink: '@mfmUrl',
mfmMention: '$primary', mfmMention: '$primary',
mfmMentionForeground: '@primaryForeground',
mfmHashtag: '$primary', mfmHashtag: '$primary',
suspendedInfoBg: '#611d1d', suspendedInfoBg: '#611d1d',

View File

@@ -0,0 +1,29 @@
{
id: '0c6e70e2-a1ec-4053-9b1a-b6082fe016cb',
name: 'Gruvbox Dark',
author: 'syuilo',
base: 'dark',
vars: {
primary: 'rgb(215, 153, 33)',
secondary: 'rgb(40, 40, 40)',
text: 'rgb(235, 219, 178)',
},
props: {
renoteGradient: '#58581e',
renoteText: 'rgb(169, 174, 36)',
quoteBorder: 'rgb(169, 174, 36)',
mfmMention: 'rgb(177, 98, 134)',
mfmMentionForeground: '#fff',
mfmUrl: 'rgb(69, 133, 136)',
mfmLink: 'rgb(104, 157, 106)',
mfmHashtag: 'rgb(251, 73, 52)',
notificationIndicator: 'rgb(184, 187, 38)',
switchActive: 'rgb(254, 128, 25)',
radioActive: 'rgb(131, 165, 152)',
link: 'rgb(104, 157, 106)',
},
}

View File

@@ -0,0 +1,20 @@
{
id: '2b0a0654-cdb4-4c9a-8244-736b647d3c2a',
name: 'Japanese Sushi Set',
author: 'noizenecio & syuilo',
base: 'dark',
vars: {
primary: 'rgb(234, 136, 50)',
secondary: 'rgb(34, 36, 42)',
text: 'rgb(221, 209, 203)',
},
props: {
renoteGradient: '#6d3d14',
renoteText: '$primary',
quoteBorder: '$primary',
},
}

View File

@@ -24,6 +24,15 @@
scrollbarHandle: '#00000033', scrollbarHandle: '#00000033',
scrollbarHandleHover: '#00000066', scrollbarHandleHover: '#00000066',
link: '$primary',
linkTapHighlight: ':alpha<0.7<@link',
notificationIndicator: '$primary',
switchActive: '$primary',
switchActiveTrack: ':alpha<0.4<@switchActive',
radioActive: '$primary',
face: '$secondary', face: '$secondary',
faceText: '$text', faceText: '$text',
faceHeader: ':lighten<5<$secondary', faceHeader: ':lighten<5<$secondary',
@@ -120,8 +129,10 @@
mfmTitleBg: 'rgba(0, 0, 0, 0.07)', mfmTitleBg: 'rgba(0, 0, 0, 0.07)',
mfmQuote: ':alpha<0.6<$text', mfmQuote: ':alpha<0.6<$text',
mfmQuoteLine: ':alpha<0.5<$text', mfmQuoteLine: ':alpha<0.5<$text',
mfmLink: '$primary', mfmUrl: '$primary',
mfmLink: '@mfmUrl',
mfmMention: '$primary', mfmMention: '$primary',
mfmMentionForeground: '@primaryForeground',
mfmHashtag: '$primary', mfmHashtag: '$primary',
suspendedInfoBg: '#ffdbdb', suspendedInfoBg: '#ffdbdb',
@@ -212,7 +223,7 @@
reversiGameHeaderLine: '#c4cdd4', reversiGameHeaderLine: '#c4cdd4',
reversiGameEmptyCell: 'rgba(0, 0, 0, 0.06)', reversiGameEmptyCell: 'rgba(0, 0, 0, 0.06)',
reversiGameEmptyCellMyTurn: 'rgba(0, 0, 0, 0.12)', reversiGameEmptyCellMyTurn: 'rgba(0, 0, 0, 0.12)',
reversiGameEmptyCellCanPut: 'rgba(0, 0, 0, 0.9)', reversiGameEmptyCellCanPut: 'rgba(0, 0, 0, 0.09)',
adminDashboardHeaderFg: ':alpha<0.9<$text', adminDashboardHeaderFg: ':alpha<0.9<$text',
adminDashboardHeaderBorder: 'rgba(0, 0, 0, 0.1)', adminDashboardHeaderBorder: 'rgba(0, 0, 0, 0.1)',

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