Compare commits

..

521 Commits

Author SHA1 Message Date
syuilo 393c6aa79a 10.62.2 2018-12-09 23:15:06 +09:00
syuilo fc05540404 Fix bug? 2018-12-09 23:12:08 +09:00
syuilo 1c589c7c18 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-09 23:10:06 +09:00
syuilo 284df27435 Use camelCase 2018-12-09 23:10:02 +09:00
Acid Chicken (硫酸鶏) cd80e02ebf Re: #3556 (#3568)
* Update index.ts

* Update index.ts
2018-12-09 18:39:13 +09:00
MeiMei dffcefb81f Fix mobile following/followed list (#3574) 2018-12-09 16:00:32 +09:00
MeiMei 7e1cad3e12 Improve tags settings (#3569) 2018-12-09 14:24:24 +09:00
syuilo fd3f4c37a0 Merge pull request #3565 from syuilo/l10n_develop
New Crowdin translations
2018-12-09 13:28:48 +09:00
syuilo 3acd2e0f0c 🎨 2018-12-09 13:25:46 +09:00
syuilo b1b5a795c8 Revert "Eliminate if-statement (#3556)"
This reverts commit fb8b0c291d.
2018-12-09 13:21:42 +09:00
tamaina 197e2c8377 #2501 (#3567)
* refactor mfm/html

* fix

* fix

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:41:53 +09:00
syuilo 96671c5c7e New translations ja-JP.yml (Chinese Simplified) 2018-12-08 10:41:53 +09:00
syuilo 4fc786f062 New translations ja-JP.yml (Catalan) 2018-12-08 10:41:49 +09:00
dependabot[bot] 51c0cca4ff Update @types/koa-bodyparser requirement from 5.0.1 to 5.0.2 (#3531)
Updates the requirements on [@types/koa-bodyparser](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:41:42 +09:00
dependabot[bot] bd344628f6 Update @types/webpack requirement from 4.4.19 to 4.4.20 (#3515)
Updates the requirements on [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:41:00 +09:00
Acid Chicken (硫酸鶏) 48deb35d4b Update server-stats.ts (#3512) 2018-12-08 10:40:45 +09:00
dependabot[bot] f9792f0d5c Update v-animate-css requirement from 0.0.2 to 0.0.3 (#3532)
Updates the requirements on [v-animate-css](https://github.com/jofftiquez/v-animate-css) to permit the latest version.
- [Release notes](https://github.com/jofftiquez/v-animate-css/releases)
- [Commits](https://github.com/jofftiquez/v-animate-css/commits/v0.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-08 10:40:15 +09:00
dependabot[bot] 0157033104 Update file-type requirement from 10.4.0 to 10.6.0 (#3538)
Updates the requirements on [file-type](https://github.com/sindresorhus/file-type) to permit the latest version.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/commits/v10.6.0)

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

* Fix custom emoji regex

* Revert "Fix custom emoji regex"

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

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

* Update autocomplete.vue

* Update emoji.vue

* Update autocomplete.vue

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

* add conversion
2018-12-07 11:29:49 +09:00
Acid Chicken (硫酸鶏) 1c722494de Update README.md [AUTOGEN] (#3527) 2018-12-07 11:27:52 +09:00
syuilo a464c8d1d0 New translations ja-JP.yml (Korean) 2018-12-07 07:22:36 +09:00
syuilo 51362e9a52 New translations ja-JP.yml (Polish) 2018-12-07 07:12:33 +09:00
syuilo 3c086fe8c7 New translations ja-JP.yml (Polish) 2018-12-07 07:04:28 +09:00
syuilo f3b1248bd8 New translations ja-JP.yml (Polish) 2018-12-07 07:02:30 +09:00
syuilo 4e529ee7d0 New translations ja-JP.yml (Polish) 2018-12-07 06:42:25 +09:00
syuilo a2b975a493 New translations ja-JP.yml (Polish) 2018-12-07 06:31:54 +09:00
syuilo 13055d1496 New translations ja-JP.yml (English) 2018-12-07 00:12:25 +09:00
syuilo 78b5af4e4f New translations ja-JP.yml (English) 2018-12-07 00:03:51 +09:00
MeiMei 008432e156 lint fix (#3522) 2018-12-06 19:15:09 +09:00
Aya Morisawa d3d50b2f79 Add missing comma 2018-12-06 17:02:44 +09:00
Aya Morisawa eefeb4c268 #2593 (desktop) (#3518) 2018-12-06 16:56:24 +09:00
syuilo 86d4f1981c 10.62.0 2018-12-06 16:35:06 +09:00
syuilo 7a8e97972c ✌️ 2018-12-06 16:33:35 +09:00
syuilo 3555213155 Resolve #3519 2018-12-06 16:30:28 +09:00
syuilo 5d3d8dffd6 Update photo-stream.vue 2018-12-06 16:19:12 +09:00
syuilo dea8688c9d Refactor
Use mk-user-name
2018-12-06 16:09:33 +09:00
syuilo a235869cfa Refactor
Make mk-user-name component
2018-12-06 11:18:13 +09:00
syuilo a8434b3bc5 New translations ja-JP.yml (Norwegian) 2018-12-06 11:14:30 +09:00
syuilo f110b2b320 New translations ja-JP.yml (Dutch) 2018-12-06 11:14:26 +09:00
syuilo 0543cffe00 New translations ja-JP.yml (Japanese, Kansai) 2018-12-06 11:14:19 +09:00
syuilo 0383cbe43f New translations ja-JP.yml (Spanish) 2018-12-06 11:14:15 +09:00
syuilo 9dd1203583 New translations ja-JP.yml (Russian) 2018-12-06 11:14:10 +09:00
syuilo 4eeeaffdee New translations ja-JP.yml (Portuguese) 2018-12-06 11:14:05 +09:00
syuilo 6f73f3d7a1 New translations ja-JP.yml (Polish) 2018-12-06 11:14:01 +09:00
syuilo aa9cd211dd New translations ja-JP.yml (Korean) 2018-12-06 11:13:56 +09:00
syuilo 3cdf4f01f8 New translations ja-JP.yml (Italian) 2018-12-06 11:13:51 +09:00
syuilo d0f84643d8 New translations ja-JP.yml (German) 2018-12-06 11:13:47 +09:00
syuilo 89707ad436 New translations ja-JP.yml (French) 2018-12-06 11:13:40 +09:00
syuilo 163d81c1b0 New translations ja-JP.yml (English) 2018-12-06 11:13:36 +09:00
syuilo 81a7213583 New translations ja-JP.yml (Chinese Simplified) 2018-12-06 11:13:32 +09:00
syuilo 8f92a07d68 New translations ja-JP.yml (Catalan) 2018-12-06 11:13:27 +09:00
tamaina 31b30e3dd2 Resolve #3347 , #3349 (#3513)
* Resolve  #3347 , #3349
Make deck columns' width be selectable and flexible

* deckColumnMinwidth --> deckColumnMinWidth

* w-default --> normal

* ✌️
2018-12-06 11:11:46 +09:00
syuilo 0a1ac12d97 New translations ja-JP.yml (Norwegian) 2018-12-06 10:23:42 +09:00
syuilo e800104ac4 New translations ja-JP.yml (Dutch) 2018-12-06 10:23:38 +09:00
syuilo 05cb94eb77 New translations ja-JP.yml (Japanese, Kansai) 2018-12-06 10:23:33 +09:00
syuilo 51499e04e0 New translations ja-JP.yml (Spanish) 2018-12-06 10:23:29 +09:00
syuilo 0c993ef851 New translations ja-JP.yml (Russian) 2018-12-06 10:23:22 +09:00
syuilo b27fced30d New translations ja-JP.yml (Portuguese) 2018-12-06 10:23:18 +09:00
syuilo 2b7da9d98c New translations ja-JP.yml (Polish) 2018-12-06 10:23:14 +09:00
syuilo cd66f86f08 New translations ja-JP.yml (Korean) 2018-12-06 10:23:10 +09:00
syuilo a2e7cab573 New translations ja-JP.yml (Italian) 2018-12-06 10:23:05 +09:00
syuilo f81f7d51c5 New translations ja-JP.yml (German) 2018-12-06 10:23:00 +09:00
syuilo 7fb640e38f New translations ja-JP.yml (French) 2018-12-06 10:22:54 +09:00
syuilo c7561be15f New translations ja-JP.yml (English) 2018-12-06 10:22:50 +09:00
syuilo 741c81bca9 New translations ja-JP.yml (Chinese Simplified) 2018-12-06 10:22:45 +09:00
syuilo 1e38528716 New translations ja-JP.yml (Catalan) 2018-12-06 10:22:41 +09:00
Aya Morisawa 58b3be438a Resolve #1872 (#3516) 2018-12-06 10:21:41 +09:00
MeiMei 4522568749 Emoji support in profile (#3514)
* Emoji in profile

* Add emojis to fields
2018-12-06 10:02:04 +09:00
syuilo 719f9c8c02 New translations ja-JP.yml (Korean) 2018-12-06 08:21:50 +09:00
Acid Chicken (硫酸鶏) fe891da886 外部サービス連携情報をPersonのfieldsに乗せて配信する (#3499)
* Update person.ts

* Update person.ts

refs: https://github.com/syuilo/misskey/pull/3499#issuecomment-444484557

* Update person.ts

refs: https://github.com/syuilo/misskey/pull/3499#pullrequestreview-181755475
2018-12-06 00:37:59 +09:00
syuilo 95b6684cfd New translations ja-JP.yml (English) 2018-12-05 23:02:24 +09:00
Aya Morisawa 66836836ab Add small syntax (#3506) 2018-12-05 20:11:54 +09:00
syuilo 0db48c778f New translations ja-JP.yml (Norwegian) 2018-12-05 18:59:25 +09:00
syuilo 13a2f9373c New translations ja-JP.yml (Dutch) 2018-12-05 18:59:19 +09:00
syuilo ae4d504392 New translations ja-JP.yml (Japanese, Kansai) 2018-12-05 18:59:15 +09:00
syuilo 85d240625d New translations ja-JP.yml (Spanish) 2018-12-05 18:59:09 +09:00
syuilo db646b0ad9 New translations ja-JP.yml (Russian) 2018-12-05 18:59:04 +09:00
syuilo 2570d50957 New translations ja-JP.yml (Portuguese) 2018-12-05 18:58:58 +09:00
syuilo 7faecaadcf New translations ja-JP.yml (Polish) 2018-12-05 18:58:53 +09:00
syuilo dcbcb18081 New translations ja-JP.yml (Korean) 2018-12-05 18:58:49 +09:00
syuilo f1a61a268e New translations ja-JP.yml (Italian) 2018-12-05 18:58:44 +09:00
syuilo d7636355a1 New translations ja-JP.yml (German) 2018-12-05 18:58:37 +09:00
syuilo ed2993b3f2 New translations ja-JP.yml (French) 2018-12-05 18:58:30 +09:00
syuilo 1368c9d182 New translations ja-JP.yml (English) 2018-12-05 18:58:25 +09:00
syuilo c5e3c07c16 New translations ja-JP.yml (Chinese Simplified) 2018-12-05 18:58:21 +09:00
syuilo f8395166af New translations ja-JP.yml (Catalan) 2018-12-05 18:58:14 +09:00
Aya Morisawa dc8f4c8d6a Fix #3341 (#3502) 2018-12-05 18:44:57 +09:00
syuilo ed4860dfd9 [MFM] Add italic syntax
Resolve #3486
2018-12-05 17:39:26 +09:00
syuilo 5b0bf98b3c New translations ja-JP.yml (Norwegian) 2018-12-05 17:38:57 +09:00
syuilo adffac1000 New translations ja-JP.yml (Dutch) 2018-12-05 17:38:53 +09:00
syuilo 3a1672b061 New translations ja-JP.yml (Japanese, Kansai) 2018-12-05 17:38:48 +09:00
syuilo e7658be6cd New translations ja-JP.yml (Spanish) 2018-12-05 17:38:42 +09:00
syuilo 63533ad9c8 New translations ja-JP.yml (Russian) 2018-12-05 17:38:37 +09:00
syuilo 34b431fa1d New translations ja-JP.yml (Portuguese) 2018-12-05 17:38:32 +09:00
syuilo 958802dbe0 New translations ja-JP.yml (Polish) 2018-12-05 17:38:28 +09:00
syuilo 8681259597 New translations ja-JP.yml (Korean) 2018-12-05 17:38:21 +09:00
syuilo f3d76c06db New translations ja-JP.yml (Italian) 2018-12-05 17:38:17 +09:00
syuilo 3f32a9bfff New translations ja-JP.yml (German) 2018-12-05 17:38:12 +09:00
syuilo c497149765 New translations ja-JP.yml (French) 2018-12-05 17:38:08 +09:00
syuilo 9159613f2f New translations ja-JP.yml (English) 2018-12-05 17:38:02 +09:00
syuilo 70e95a5cdb New translations ja-JP.yml (Chinese Simplified) 2018-12-05 17:37:58 +09:00
syuilo b0f82749aa New translations ja-JP.yml (Catalan) 2018-12-05 17:37:52 +09:00
syuilo 20c0690352 [Client] Resolve #3500 2018-12-05 17:27:27 +09:00
syuilo 006ecec443 New translations ja-JP.yml (French) 2018-12-05 17:12:08 +09:00
syuilo effcf0a609 New translations ja-JP.yml (French) 2018-12-05 17:03:30 +09:00
syuilo 3852d0b2c3 New translations ja-JP.yml (English) 2018-12-05 14:19:33 +09:00
syuilo ec67590dbe New translations ja-JP.yml (English) 2018-12-05 14:02:11 +09:00
dependabot[bot] 65d0dbb7d8 Update apexcharts requirement from 2.2.3 to 2.2.4 (#3497)
Updates the requirements on [apexcharts](https://github.com/apexcharts/apexcharts.js) to permit the latest version.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/commits/v2.2.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-05 08:33:54 +09:00
syuilo f8af57dffb New translations ja-JP.yml (Polish) 2018-12-05 05:49:15 +09:00
syuilo 2b058be3aa New translations ja-JP.yml (Polish) 2018-12-05 05:32:20 +09:00
syuilo 67efd30553 New translations ja-JP.yml (Polish) 2018-12-05 05:28:00 +09:00
syuilo 8d1fdc5aa4 New translations ja-JP.yml (Polish) 2018-12-05 05:12:28 +09:00
syuilo d033103163 New translations ja-JP.yml (Polish) 2018-12-05 05:02:39 +09:00
syuilo 53dff28a21 New translations ja-JP.yml (Korean) 2018-12-05 03:32:18 +09:00
syuilo 53c37036ee New translations ja-JP.yml (Korean) 2018-12-05 03:27:30 +09:00
syuilo 133c879a3a New translations ja-JP.yml (Korean) 2018-12-05 03:22:27 +09:00
syuilo a105faeaae Update home.photos.vue 2018-12-04 11:02:51 +09:00
syuilo 13404310a7 Revert "Update switch.vue"
This reverts commit 40520f3997.
2018-12-04 09:42:55 +09:00
dependabot[bot] 2373b114bf Update vue-svg-inline-loader requirement from 1.2.2 to 1.2.4 (#3493)
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.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-04 08:29:09 +09:00
dependabot[bot] 5bfc6b6547 Update typescript-eslint-parser requirement from 21.0.1 to 21.0.2 (#3492)
Updates the requirements on [typescript-eslint-parser](https://github.com/eslint/typescript-eslint-parser) to permit the latest version.
- [Release notes](https://github.com/eslint/typescript-eslint-parser/releases)
- [Changelog](https://github.com/eslint/typescript-eslint-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/typescript-eslint-parser/commits/v21.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-04 08:29:00 +09:00
dependabot[bot] 8026a609bb Update vuedraggable requirement from 2.16.0 to 2.17.0 (#3491)
Updates the requirements on [vuedraggable](https://github.com/David-Desmaisons/Vue.Draggable) to permit the latest version.
- [Release notes](https://github.com/David-Desmaisons/Vue.Draggable/releases)
- [Commits](https://github.com/David-Desmaisons/Vue.Draggable/commits/v2.17.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-04 08:28:52 +09:00
dependabot[bot] 10db61a0d2 Update @types/elasticsearch requirement from 5.0.28 to 5.0.29 (#3490)
Updates the requirements on [@types/elasticsearch](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-04 08:28:42 +09:00
syuilo 40520f3997 Update switch.vue 2018-12-04 03:50:07 +09:00
MeiMei c1d59716d1 Remove unnecessary Renote check code (#3489) 2018-12-04 03:22:41 +09:00
MeiMei d8698743a1 Do not show Renote button when inhibited (#3488) 2018-12-04 03:22:08 +09:00
syuilo ade5055bc3 10.61.0 2018-12-04 01:37:05 +09:00
syuilo 6e343d50f1 [MFM] Implement strike syntax
Resolve #3485
2018-12-04 01:28:21 +09:00
syuilo ce3f735654 Fix bug 2018-12-04 01:07:26 +09:00
syuilo 9b5e623130 🎨 2018-12-04 01:04:53 +09:00
syuilo f0b0c5b540 🎨
Add ripple effect
2018-12-04 01:02:19 +09:00
syuilo dd2207d430 New translations ja-JP.yml (Japanese, Kansai) 2018-12-04 00:22:34 +09:00
syuilo ffd6ac2434 New translations ja-JP.yml (Japanese, Kansai) 2018-12-04 00:12:59 +09:00
syuilo 27f93cc112 New translations ja-JP.yml (Japanese, Kansai) 2018-12-04 00:02:37 +09:00
syuilo 7ee88a69ec New translations ja-JP.yml (Japanese, Kansai) 2018-12-03 23:53:23 +09:00
MeiMei 227798300f Improve widget paging looks (#3482)
* Improve widget paging looks

* rewind when error
2018-12-03 23:14:10 +09:00
syuilo 2ab8a5bc0a 10.60.4 2018-12-03 20:27:47 +09:00
syuilo c222b9ae94 Update init.ts 2018-12-03 20:26:46 +09:00
syuilo 53a0f3c794 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-03 20:26:38 +09:00
syuilo 9ff349c548 Update post-form.vue 2018-12-03 20:21:05 +09:00
syuilo 37a360efd9 New translations ja-JP.yml (Norwegian) 2018-12-03 20:14:07 +09:00
syuilo 3a850823a9 New translations ja-JP.yml (Dutch) 2018-12-03 20:14:02 +09:00
syuilo 4da53b7382 New translations ja-JP.yml (Japanese, Kansai) 2018-12-03 20:13:55 +09:00
syuilo cb6f94735f New translations ja-JP.yml (Spanish) 2018-12-03 20:13:51 +09:00
syuilo c073a20969 New translations ja-JP.yml (Russian) 2018-12-03 20:13:45 +09:00
syuilo 6dc8a385ee New translations ja-JP.yml (Portuguese) 2018-12-03 20:13:39 +09:00
syuilo f299c050b8 New translations ja-JP.yml (Polish) 2018-12-03 20:13:35 +09:00
syuilo eed540a51c New translations ja-JP.yml (Korean) 2018-12-03 20:13:30 +09:00
syuilo 5db72c4d71 New translations ja-JP.yml (Italian) 2018-12-03 20:13:25 +09:00
syuilo fc0bbfa759 New translations ja-JP.yml (German) 2018-12-03 20:13:20 +09:00
syuilo 6d63c81dd5 New translations ja-JP.yml (French) 2018-12-03 20:13:15 +09:00
syuilo bea42924cb New translations ja-JP.yml (English) 2018-12-03 20:13:10 +09:00
syuilo b48ef68c12 New translations ja-JP.yml (Chinese Simplified) 2018-12-03 20:13:05 +09:00
syuilo 65109d140b New translations ja-JP.yml (Catalan) 2018-12-03 20:12:57 +09:00
Aya Morisawa 0935bd4bd4 Resolve #3281 (#3479) 2018-12-03 20:11:18 +09:00
syuilo 45bee7cc2f Resolve #327 2018-12-03 20:08:18 +09:00
syuilo 1c86a4bc26 Refactor 2018-12-03 19:44:03 +09:00
syuilo b385cf2a9f 10.60.3 2018-12-03 09:54:14 +09:00
syuilo 40d3dc454d Merge pull request #3480 from syuilo/l10n_develop
New Crowdin translations
2018-12-03 09:53:40 +09:00
syuilo 8e92848495 New translations ja-JP.yml (Korean) 2018-12-03 09:52:19 +09:00
syuilo 2d94a22a30 New translations ja-JP.yml (French) 2018-12-03 09:52:15 +09:00
syuilo 7a5a091c25 New translations ja-JP.yml (English) 2018-12-03 09:52:08 +09:00
syuilo 2baf810c71 New translations ja-JP.yml (Chinese Simplified) 2018-12-03 09:52:01 +09:00
syuilo d1ecef13ef New translations ja-JP.yml (Norwegian) 2018-12-03 09:43:22 +09:00
syuilo 495fa553ad New translations ja-JP.yml (Dutch) 2018-12-03 09:43:16 +09:00
syuilo 854e649ea6 New translations ja-JP.yml (Japanese, Kansai) 2018-12-03 09:43:11 +09:00
syuilo c047324b42 🎨 2018-12-03 09:43:07 +09:00
syuilo daac865c72 New translations ja-JP.yml (Spanish) 2018-12-03 09:43:07 +09:00
syuilo 63d059b8d1 New translations ja-JP.yml (Russian) 2018-12-03 09:43:01 +09:00
syuilo e3075a0dc7 New translations ja-JP.yml (Portuguese) 2018-12-03 09:42:57 +09:00
syuilo 6b6e597b95 New translations ja-JP.yml (Polish) 2018-12-03 09:42:51 +09:00
syuilo eb0eadad5e New translations ja-JP.yml (Korean) 2018-12-03 09:42:46 +09:00
syuilo f600fee16d New translations ja-JP.yml (Italian) 2018-12-03 09:42:40 +09:00
syuilo 7b88c54aa6 New translations ja-JP.yml (German) 2018-12-03 09:42:34 +09:00
syuilo 623dd57cc3 New translations ja-JP.yml (French) 2018-12-03 09:42:27 +09:00
syuilo f6edd33adb New translations ja-JP.yml (English) 2018-12-03 09:42:23 +09:00
syuilo ac20d73222 New translations ja-JP.yml (Chinese Simplified) 2018-12-03 09:42:19 +09:00
syuilo c59374d79d New translations ja-JP.yml (Catalan) 2018-12-03 09:42:13 +09:00
syuilo 0d478046de Improve usability 2018-12-03 09:41:22 +09:00
syuilo f3479d1b98 Refactor 2018-12-03 09:38:43 +09:00
syuilo 2fdecb8a38 🎨 2018-12-03 09:14:17 +09:00
syuilo a95c3ee557 New translations ja-JP.yml (Korean) 2018-12-03 08:12:01 +09:00
syuilo 67c439c70a New translations ja-JP.yml (French) 2018-12-03 03:01:46 +09:00
syuilo b96037cffa New translations ja-JP.yml (Chinese Simplified) 2018-12-03 00:23:03 +09:00
syuilo ebd8d34552 New translations ja-JP.yml (Chinese Simplified) 2018-12-03 00:13:13 +09:00
syuilo a653d9a83e New translations ja-JP.yml (Chinese Simplified) 2018-12-03 00:11:54 +09:00
syuilo 07d6894c42 Clean up 2018-12-02 23:00:06 +09:00
Aya Morisawa 03588b3fd6 Merge if-statements (#3478) 2018-12-02 22:32:09 +09:00
syuilo 2e83440e70 10.60.2 2018-12-02 21:20:36 +09:00
nico 2633873fcc Fix syntax error (#3477)
src/remote/activitypub/models/person.ts(326,4): error TS1005: ',' expected.
2018-12-02 21:19:28 +09:00
syuilo 5f33713f53 10.60.1 2018-12-02 21:08:20 +09:00
syuilo fe84c5010c Merge pull request #3458 from syuilo/l10n_develop
New Crowdin translations
2018-12-02 20:43:52 +09:00
syuilo 7f39df0713 New translations ja-JP.yml (English) 2018-12-02 20:43:12 +09:00
Aya Morisawa 928d359dd2 Use takeWhile instead of some (#3475) 2018-12-02 20:28:22 +09:00
Aya Morisawa 184eb00133 Remove self-assignment (#3476) 2018-12-02 20:26:15 +09:00
syuilo e264a49b08 [Client] Resolve #2596 2018-12-02 20:24:38 +09:00
syuilo 8caf853c80 Merge branches 'develop', 'develop' and 'develop' of https://github.com/syuilo/misskey into develop 2018-12-02 20:11:03 +09:00
Aya Morisawa b451c04787 Use primitive type boolean (#3474) 2018-12-02 20:10:56 +09:00
syuilo 1653977392 Improve input dialog 2018-12-02 20:10:53 +09:00
Aya Morisawa a0d9def98a Simplify expressions (#3473) 2018-12-02 19:35:41 +09:00
Aya Morisawa 92701e5cec Fix #3445 (#3471) 2018-12-02 19:24:57 +09:00
Aya Morisawa 0b6b6a4f2f Remove unneccesary casts 2018-12-02 19:05:08 +09:00
MeiMei 3a2dc95850 No MFM parsing when remote note (#3470)
* Use tag for hashtag detection of remote note

* No MFM parsing when remote note
2018-12-02 18:05:33 +09:00
syuilo 163cf49f16 10.60.0 2018-12-02 15:39:46 +09:00
syuilo 37fc3103f6 New translations ja-JP.yml (Norwegian) 2018-12-02 15:33:32 +09:00
syuilo b7bd1ff69f New translations ja-JP.yml (Dutch) 2018-12-02 15:33:28 +09:00
syuilo dc36134f10 New translations ja-JP.yml (Japanese, Kansai) 2018-12-02 15:33:22 +09:00
syuilo fea8821091 New translations ja-JP.yml (Spanish) 2018-12-02 15:33:17 +09:00
syuilo 33faf40aca New translations ja-JP.yml (Russian) 2018-12-02 15:33:12 +09:00
syuilo 4410f8d7f7 New translations ja-JP.yml (Portuguese) 2018-12-02 15:33:08 +09:00
syuilo 3e6029e69d New translations ja-JP.yml (Polish) 2018-12-02 15:33:04 +09:00
syuilo 96c7707e6c New translations ja-JP.yml (Korean) 2018-12-02 15:32:59 +09:00
syuilo d8e545db3c New translations ja-JP.yml (Italian) 2018-12-02 15:32:54 +09:00
syuilo a9a6ba0aed New translations ja-JP.yml (German) 2018-12-02 15:32:50 +09:00
syuilo a898c6ceab New translations ja-JP.yml (French) 2018-12-02 15:32:44 +09:00
syuilo 0205c5c2d7 New translations ja-JP.yml (English) 2018-12-02 15:32:38 +09:00
syuilo f8074ab74b New translations ja-JP.yml (Chinese Simplified) 2018-12-02 15:32:34 +09:00
syuilo f15c491d5f New translations ja-JP.yml (Catalan) 2018-12-02 15:32:29 +09:00
syuilo c38a32dee9 🎨 2018-12-02 15:31:24 +09:00
syuilo 4f5abed70d Fix 2018-12-02 15:30:48 +09:00
syuilo c9ac9923df Refactor: rename alert to dialog 2018-12-02 15:28:52 +09:00
syuilo bb14895fd8 [Client] Resolve #2225 2018-12-02 15:26:56 +09:00
syuilo 6f92d601ec 🎨 2018-12-02 14:26:30 +09:00
MeiMei 345143b0c1 Suggest in CW (#3467) 2018-12-02 07:33:03 +09:00
syuilo dc80d5d376 10.59.4 2018-12-02 07:08:26 +09:00
Acid Chicken (硫酸鶏) d3544f9637 Update README.md [AUTOGEN] (#3466) 2018-12-02 07:05:22 +09:00
syuilo 864b6ad1bd Resolve #1826 2018-12-02 07:02:08 +09:00
syuilo c58027e521 [MFM] Better hashtag detection 2018-12-02 06:53:57 +09:00
syuilo 10fb399588 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-12-02 06:44:25 +09:00
syuilo 10f466c895 Improve performance 2018-12-02 06:44:18 +09:00
Acid Chicken (硫酸鶏) 32068b4bcc Update README.md [AUTOGEN] (#3465) 2018-12-02 06:16:24 +09:00
syuilo 381f2b7fdf New translations ja-JP.yml (French) 2018-12-02 05:12:02 +09:00
syuilo 1c3c733c6b New translations ja-JP.yml (French) 2018-12-02 05:02:46 +09:00
MeiMei 8bc5febe66 [Client] Add missing icon (#3464) 2018-12-02 03:43:05 +09:00
MeiMei 20335e23f9 Resolve external recommended users (#3462)
* Resolve external recommended users

* Skip unresolvable users

* Fix indent

* Use original for unresolvable users
2018-12-02 03:42:45 +09:00
syuilo 9dbc9115c9 New translations ja-JP.yml (English) 2018-12-01 12:51:44 +09:00
syuilo fe707f88a4 [MFM] Better MFM parsing 2018-12-01 10:40:09 +09:00
syuilo 9b23ebd4a3 🎨 2018-12-01 09:45:48 +09:00
syuilo bea450cc2c 10.59.3 2018-12-01 08:00:25 +09:00
syuilo e80709f7aa Disable update notification 2018-12-01 07:59:15 +09:00
imgbot[bot] cb71f92f42 [ImgBot] Optimize images (#3455)
*Total -- 1,383.25kb -> 1,231.27kb (10.99%)

/assets/apple-touch-icon.png -- 4.72kb -> 2.51kb (46.79%)
/assets/icons/256.png -- 4.72kb -> 2.51kb (46.79%)
/assets/title.png -- 6.63kb -> 3.80kb (42.73%)
/assets/favicon/favicon.png -- 6.83kb -> 3.93kb (42.45%)
/assets/icons/192.png -- 3.49kb -> 2.02kb (42.08%)
/assets/icons/128.png -- 2.29kb -> 1.50kb (34.81%)
/assets/about/ui.png -- 125.21kb -> 94.85kb (24.25%)
/assets/ai-orig.png -- 255.55kb -> 199.67kb (21.86%)
/assets/icons/64.png -- 1.21kb -> 0.99kb (18.34%)
/assets/about/drive.png -- 110.33kb -> 94.20kb (14.62%)
/assets/about/post.png -- 344.52kb -> 316.57kb (8.11%)
/assets/ai.png -- 243.43kb -> 234.93kb (3.49%)
/src/client/assets/pointer.png -- 274.33kb -> 273.80kb (0.19%)
2018-12-01 07:55:34 +09:00
tamaina 2ca5348560 Fix "Mi"/"Misskey" logos (#3400)
* Fix mi.svg

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload
2018-12-01 07:52:15 +09:00
dependabot[bot] c8e98fdf8e Update vue-js-modal requirement from 1.3.26 to 1.3.27 (#3425)
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)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-01 07:44:30 +09:00
syuilo 0bfa041026 Merge pull request #3435 from syuilo/l10n_develop
New Crowdin translations
2018-12-01 07:20:03 +09:00
dependabot[bot] 33bf474a1e Update @types/file-type requirement from 5.2.1 to 5.2.2 (#3450)
Updates the requirements on [@types/file-type](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-01 07:19:39 +09:00
Acid Chicken (硫酸鶏) 53c559c001 Allow hyphens in the middle of remote usernames (#3440)
* Allow hyphens in the middle of remote usernames

refs: d797c29db462de4a3d69a5077a1ae4d03195b6f2

* Make options fallback better

* Make options flat
2018-12-01 07:19:17 +09:00
dependabot[bot] 1c99ef454b Update webpack requirement from 4.26.0 to 4.26.1 (#3453)
Updates the requirements on [webpack](https://github.com/webpack/webpack) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/commits/v4.26.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-01 07:16:53 +09:00
MeiMei cf4cecd4df Fix media video (#3452)
* Fix: Always show nsfw

* [Client] Add missing video play icon
2018-12-01 07:16:28 +09:00
MeiMei 6a8835b923 Exclude remote user or myself from talk user suggestions (#3449) 2018-12-01 07:15:55 +09:00
MeiMei f2b1cf92e1 AP CW (#3448) 2018-12-01 07:15:10 +09:00
syuilo 6b79618e74 New translations ja-JP.yml (Polish) 2018-12-01 02:22:34 +09:00
Aya Morisawa 3db414add4 Use for-of instead of map
return values are not being used
2018-11-30 23:30:28 +09:00
Aya Morisawa 9ef641b403 Remove consecutive blank line 2018-11-30 23:07:21 +09:00
MeiMei 6fa7819a44 Fix #3442 (#3443) 2018-11-30 18:13:55 +09:00
MeiMei 59a1b9adbe Trim notifications text (#3438)
* Trim notifications

* Remove needless colons

* Use single quote

* 🎨
2018-11-30 09:34:37 +09:00
syuilo 3fbc7094f6 New translations ja-JP.yml (Korean) 2018-11-30 07:52:03 +09:00
syuilo 56c6227bc2 New translations ja-JP.yml (English) 2018-11-30 05:02:18 +09:00
syuilo ee82f99f5a Better limit 2018-11-30 00:45:02 +09:00
syuilo 72d9a46156 10.59.2 2018-11-30 00:36:02 +09:00
MeiMei 683a85ecc0 Fix SMTP (#3436) 2018-11-30 00:35:17 +09:00
syuilo 89047fd66d 10.59.1 2018-11-30 00:15:02 +09:00
syuilo 789de130a2 New translations ja-JP.yml (Norwegian) 2018-11-30 00:14:31 +09:00
syuilo 46c026ce70 New translations ja-JP.yml (Dutch) 2018-11-30 00:14:24 +09:00
syuilo 82290f6e4e New translations ja-JP.yml (Japanese, Kansai) 2018-11-30 00:14:17 +09:00
syuilo 8729525f95 New translations ja-JP.yml (Spanish) 2018-11-30 00:14:09 +09:00
syuilo df0115ffe8 New translations ja-JP.yml (Russian) 2018-11-30 00:14:04 +09:00
syuilo 0275b4fc9e New translations ja-JP.yml (Portuguese) 2018-11-30 00:13:57 +09:00
syuilo 9982fd71ba New translations ja-JP.yml (Polish) 2018-11-30 00:13:49 +09:00
syuilo 081060b7db New translations ja-JP.yml (Korean) 2018-11-30 00:13:45 +09:00
syuilo 0de64f1fc7 New translations ja-JP.yml (Italian) 2018-11-30 00:13:37 +09:00
syuilo f0508c0a90 New translations ja-JP.yml (German) 2018-11-30 00:13:32 +09:00
syuilo b51ae1dfaa New translations ja-JP.yml (French) 2018-11-30 00:13:24 +09:00
syuilo 6e7233d41b New translations ja-JP.yml (English) 2018-11-30 00:13:19 +09:00
syuilo 8ca27a4480 Fix #3432 2018-11-30 00:13:13 +09:00
syuilo 418041a56e New translations ja-JP.yml (Chinese Simplified) 2018-11-30 00:13:13 +09:00
syuilo 17d20f5a18 New translations ja-JP.yml (Catalan) 2018-11-30 00:13:07 +09:00
syuilo 77d2d84e05 Fix #3434 2018-11-30 00:04:28 +09:00
MeiMei 3bde4285eb Fix SMTP (#3433)
* Fix: SMTP local relay

* Fix SMTP SSL description

* ✌️
2018-11-30 00:03:28 +09:00
syuilo 15efbfb244 Fix #3430 2018-11-29 22:05:11 +09:00
MeiMei 55a57db958 Show current selected language (#3429) 2018-11-29 21:56:53 +09:00
syuilo 91f624c900 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-29 20:40:03 +09:00
syuilo d753489e49 10.59.0 2018-11-29 20:39:56 +09:00
syuilo 36dd7c82db Merge pull request #3394 from syuilo/l10n_develop
New Crowdin translations
2018-11-29 20:38:43 +09:00
syuilo b00db74216 Add korean 2018-11-29 20:38:19 +09:00
syuilo cf9f85eb2a メールサーバーの設定がオフの場合はメール設定を表示しないように 2018-11-29 20:33:31 +09:00
syuilo bfa8414289 New translations ja-JP.yml (English) 2018-11-29 20:32:43 +09:00
syuilo 58dc9c9544 New translations ja-JP.yml (Norwegian) 2018-11-29 20:24:05 +09:00
syuilo ba95ce18a8 New translations ja-JP.yml (Dutch) 2018-11-29 20:23:58 +09:00
syuilo ac10c40f31 New translations ja-JP.yml (Japanese, Kansai) 2018-11-29 20:23:51 +09:00
syuilo de8b40c80f New translations ja-JP.yml (Spanish) 2018-11-29 20:23:45 +09:00
syuilo 60fe69728d New translations ja-JP.yml (Russian) 2018-11-29 20:23:39 +09:00
syuilo 557607e842 New translations ja-JP.yml (Portuguese) 2018-11-29 20:23:34 +09:00
syuilo 40ac9de728 New translations ja-JP.yml (Polish) 2018-11-29 20:23:26 +09:00
syuilo a725cd1946 New translations ja-JP.yml (Korean) 2018-11-29 20:23:21 +09:00
syuilo b648706756 New translations ja-JP.yml (Italian) 2018-11-29 20:23:15 +09:00
syuilo 20f2e9fc6d New translations ja-JP.yml (German) 2018-11-29 20:23:10 +09:00
syuilo 858ced0a53 New translations ja-JP.yml (French) 2018-11-29 20:23:04 +09:00
syuilo c9ca8f777f New translations ja-JP.yml (English) 2018-11-29 20:22:57 +09:00
syuilo 0d0be31527 New translations ja-JP.yml (Chinese Simplified) 2018-11-29 20:22:52 +09:00
syuilo 96305a088c New translations ja-JP.yml (Catalan) 2018-11-29 20:22:47 +09:00
syuilo 22e30b44b9 Make require password to update email 2018-11-29 20:19:02 +09:00
syuilo 48d0e2fa5f [MFM] Improve hashtag detection 2018-11-29 20:12:37 +09:00
syuilo 0489291815 Refactor 2018-11-29 20:09:41 +09:00
syuilo 7a412500e1 [Client] Fix #3427 2018-11-29 20:07:31 +09:00
syuilo dffaa72a88 New translations ja-JP.yml (Norwegian) 2018-11-29 16:34:41 +09:00
syuilo 152d61f906 New translations ja-JP.yml (Dutch) 2018-11-29 16:34:29 +09:00
syuilo b44ded5fc9 New translations ja-JP.yml (Japanese, Kansai) 2018-11-29 16:34:21 +09:00
syuilo 99d77cc843 New translations ja-JP.yml (Spanish) 2018-11-29 16:34:11 +09:00
syuilo bc385eec2d New translations ja-JP.yml (Russian) 2018-11-29 16:33:58 +09:00
syuilo 2c6b9403b3 New translations ja-JP.yml (Portuguese) 2018-11-29 16:33:46 +09:00
syuilo 89cdc59fe5 New translations ja-JP.yml (Polish) 2018-11-29 16:33:35 +09:00
syuilo 3e04e1ccea New translations ja-JP.yml (Korean) 2018-11-29 16:33:27 +09:00
syuilo 25f491a65f New translations ja-JP.yml (Italian) 2018-11-29 16:33:17 +09:00
syuilo 7fdde157e0 New translations ja-JP.yml (German) 2018-11-29 16:33:10 +09:00
syuilo 27f30a449a New translations ja-JP.yml (French) 2018-11-29 16:33:02 +09:00
syuilo dc66a0cd66 New translations ja-JP.yml (English) 2018-11-29 16:32:54 +09:00
syuilo f302ecd1e2 New translations ja-JP.yml (Chinese Simplified) 2018-11-29 16:32:46 +09:00
syuilo 1afc2a227a New translations ja-JP.yml (Catalan) 2018-11-29 16:32:38 +09:00
syuilo ab594d1dfe Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-29 16:24:05 +09:00
syuilo 647d32f506 🎨 2018-11-29 16:24:02 +09:00
syuilo 1bc109b42c Implement email config 2018-11-29 16:23:45 +09:00
syuilo 6e02e2a6b3 New translations ja-JP.yml (Norwegian) 2018-11-29 11:14:35 +09:00
syuilo 3372baad6c New translations ja-JP.yml (Dutch) 2018-11-29 11:14:26 +09:00
syuilo e9b3e3877a New translations ja-JP.yml (Japanese, Kansai) 2018-11-29 11:14:16 +09:00
syuilo c84c5fbae7 New translations ja-JP.yml (Spanish) 2018-11-29 11:14:08 +09:00
syuilo 2e7ab91f48 New translations ja-JP.yml (Russian) 2018-11-29 11:13:59 +09:00
syuilo 92c41c003a New translations ja-JP.yml (Portuguese) 2018-11-29 11:13:51 +09:00
syuilo 53688cdcdc New translations ja-JP.yml (Polish) 2018-11-29 11:13:44 +09:00
syuilo 70f864ea8b New translations ja-JP.yml (Korean) 2018-11-29 11:13:34 +09:00
syuilo 5dd94e551a New translations ja-JP.yml (Italian) 2018-11-29 11:13:26 +09:00
syuilo afc1ed9897 New translations ja-JP.yml (German) 2018-11-29 11:13:19 +09:00
syuilo df7562f98d New translations ja-JP.yml (French) 2018-11-29 11:13:10 +09:00
syuilo 1c7e799164 New translations ja-JP.yml (English) 2018-11-29 11:13:02 +09:00
syuilo 107a3f99f4 New translations ja-JP.yml (Chinese Simplified) 2018-11-29 11:12:54 +09:00
syuilo 7e3cf4b4ad New translations ja-JP.yml (Catalan) 2018-11-29 11:12:45 +09:00
Hakaba Hitoyo afdb23ff57 Feature / Configurable web search engine (#3406)
* configurable web search engine

* add webSearchEngine config in mobile ui

* add webSearchEngine config in desktop ui

* add webSearchEngine config

* add messages for web search engine config

* correct locale
2018-11-29 11:05:17 +09:00
syuilo 0ce64f8c33 10.58.2 2018-11-29 06:34:07 +09:00
syuilo 2cd6ccb85c Fix test 2018-11-29 06:33:23 +09:00
syuilo 3dcf5374c2 Mark chart apis as stable 2018-11-29 06:06:07 +09:00
dependabot[bot] 1c7d5f3f64 Update ts-loader requirement from 5.3.0 to 5.3.1 (#3426)
Updates the requirements on [ts-loader](https://github.com/TypeStrong/ts-loader) to permit the latest version.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/commits/v5.3.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-29 05:31:41 +09:00
Ivan bb0cb0a866 Fix bad style in deck column options and other things (#3412)
* Fix wrong text color in empty timeline (#3268)

* Whoops

* Fix wrong text color in deck options (#3268)

* Some padding to make it look less ugly

* Fix wrong text color in user lists menu (#3268)

* Fix wrong text color of footer on welcome screen (mobile) (#3268)

* Fix misalignment of icons and text in menu (mobile) (#3289)

* Fix wrong text color in empty timeline (mobile) (#3268)
2018-11-29 05:02:35 +09:00
Acid Chicken (硫酸鶏) 362dc29057 Update profile-editor.vue (#3424) 2018-11-29 04:54:36 +09:00
syuilo 8af0218e4c ✌️🤔✌️ 2018-11-28 18:57:22 +09:00
syuilo 09af9968b5 🎨 2018-11-28 16:29:18 +09:00
syuilo 7d0b819c5a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-28 16:19:09 +09:00
syuilo 4bbb7eded3 Cookieを使わないように 2018-11-28 16:19:02 +09:00
dependabot[bot] 72ea9e5522 Update systeminformation requirement from 3.49.3 to 3.51.3 (#3419)
Updates the requirements on [systeminformation](https://github.com/sebhildebrandt/systeminformation) to permit the latest version.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-28 16:01:16 +09:00
dependabot[bot] 743e5d947d Update autobind-decorator requirement from 2.2.1 to 2.3.1 (#3418)
Updates the requirements on [autobind-decorator](https://github.com/andreypopp/autobind-decorator) to permit the latest version.
- [Release notes](https://github.com/andreypopp/autobind-decorator/releases)
- [Changelog](https://github.com/andreypopp/autobind-decorator/blob/master/CHANGELOG.md)
- [Commits](https://github.com/andreypopp/autobind-decorator/commits/v2.3.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-28 16:00:58 +09:00
syuilo f257853906 Update signin.ts 2018-11-28 05:27:34 +09:00
syuilo 32983d3829 New translations ja-JP.yml (Polish) 2018-11-28 04:42:11 +09:00
nico bdef33e88d Add theme_color and 512x512 icon to app manifest (#3417)
As per Chrome Lighthouse PWA suggestions.
2018-11-28 04:38:50 +09:00
syuilo a4a4194586 New translations ja-JP.yml (Polish) 2018-11-28 04:32:18 +09:00
syuilo e36c538dc0 New translations ja-JP.yml (Polish) 2018-11-28 04:22:13 +09:00
syuilo 982a218bf2 New translations ja-JP.yml (Chinese Simplified) 2018-11-27 21:04:16 +09:00
syuilo f7aeca4c7c New translations ja-JP.yml (Korean) 2018-11-27 20:08:23 +09:00
syuilo 4b81bc864f New translations ja-JP.yml (Korean) 2018-11-27 19:59:43 +09:00
syuilo a52cc62c04 New translations ja-JP.yml (Korean) 2018-11-27 19:42:47 +09:00
syuilo 81f69bff9e New translations ja-JP.yml (Korean) 2018-11-27 19:33:25 +09:00
syuilo d9b2aa1880 New translations ja-JP.yml (Korean) 2018-11-27 19:13:03 +09:00
syuilo 3bddd986a0 New translations ja-JP.yml (Korean) 2018-11-27 18:57:30 +09:00
syuilo d00712d817 New translations ja-JP.yml (Korean) 2018-11-27 18:43:54 +09:00
syuilo d756fdbebf New translations ja-JP.yml (Russian) 2018-11-27 17:00:13 +09:00
syuilo b2f2c74605 New translations ja-JP.yml (Russian) 2018-11-27 16:53:36 +09:00
syuilo 1407cd71b5 New translations ja-JP.yml (Russian) 2018-11-27 16:32:45 +09:00
syuilo 3dd3a7238d New translations ja-JP.yml (Russian) 2018-11-27 16:22:11 +09:00
syuilo afc834ae4b New translations ja-JP.yml (Russian) 2018-11-27 16:12:28 +09:00
syuilo 357f190ce3 New translations ja-JP.yml (Russian) 2018-11-27 16:02:30 +09:00
dependabot[bot] ab92762320 Update webfinger.js requirement from 2.6.6 to 2.7.0 (#3414)
Updates the requirements on [webfinger.js](https://github.com/silverbucket/webfinger.js) to permit the latest version.
- [Release notes](https://github.com/silverbucket/webfinger.js/releases)
- [Changelog](https://github.com/silverbucket/webfinger.js/blob/master/RELEASE_CHECKLIST)
- [Commits](https://github.com/silverbucket/webfinger.js/commits/v2.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-27 15:49:50 +09:00
Acid Chicken (硫酸鶏) 04942c8477 Update README.md [AUTOGEN] (#3415) 2018-11-27 15:49:39 +09:00
syuilo 9c60f51e0d New translations ja-JP.yml (Russian) 2018-11-27 15:42:01 +09:00
syuilo 956ae2ac46 New translations ja-JP.yml (Korean) 2018-11-27 13:01:57 +09:00
syuilo f2ed813337 New translations ja-JP.yml (Korean) 2018-11-27 12:52:16 +09:00
syuilo 7d9a7d1a3c New translations ja-JP.yml (Korean) 2018-11-27 12:42:09 +09:00
syuilo 2f67b6fb47 New translations ja-JP.yml (Korean) 2018-11-27 12:31:55 +09:00
syuilo 7444dde93e New translations ja-JP.yml (Korean) 2018-11-27 12:22:14 +09:00
Acid Chicken (硫酸鶏) e62fad7bc6 Update README.md [AUTOGEN] (#3413) 2018-11-27 03:08:08 +09:00
syuilo 2c6bad2501 [MFM] Improve hashtag detection 2018-11-27 02:08:51 +09:00
syuilo 6952bb2eca New translations ja-JP.yml (Norwegian) 2018-11-27 01:26:59 +09:00
syuilo 610972dbde New translations ja-JP.yml (Dutch) 2018-11-27 01:26:54 +09:00
syuilo 926049055a New translations ja-JP.yml (Japanese, Kansai) 2018-11-27 01:26:49 +09:00
syuilo db5f6b60df New translations ja-JP.yml (Spanish) 2018-11-27 01:26:44 +09:00
syuilo 7be7b9d9fd New translations ja-JP.yml (Russian) 2018-11-27 01:26:39 +09:00
syuilo 366855c4cc New translations ja-JP.yml (Portuguese) 2018-11-27 01:26:35 +09:00
syuilo e950beeeab New translations ja-JP.yml (Polish) 2018-11-27 01:26:28 +09:00
syuilo 5515b39f6c New translations ja-JP.yml (Korean) 2018-11-27 01:26:23 +09:00
syuilo f5d0599e4d New translations ja-JP.yml (Italian) 2018-11-27 01:26:17 +09:00
syuilo 8fd7914f0f New translations ja-JP.yml (German) 2018-11-27 01:26:13 +09:00
syuilo 24ef98eb01 10.58.1 2018-11-27 01:26:07 +09:00
syuilo b3dd6cf001 New translations ja-JP.yml (French) 2018-11-27 01:26:07 +09:00
syuilo 6d4b474cb1 New translations ja-JP.yml (English) 2018-11-27 01:26:03 +09:00
syuilo 0a8876a3ae New translations ja-JP.yml (Chinese Simplified) 2018-11-27 01:25:59 +09:00
syuilo 9a83a48331 New translations ja-JP.yml (Catalan) 2018-11-27 01:25:54 +09:00
syuilo 7ed50b90bd [Client] Resolve #3323 2018-11-27 01:21:16 +09:00
MeiMei b6fd5d7282 No caching /api/ (#3411) 2018-11-27 01:16:25 +09:00
Acid Chicken (硫酸鶏) 33243e7176 Fix #3409 (#3410)
* Update Dockerfile

* Update Dockerfile
2018-11-27 00:32:56 +09:00
Aya Morisawa e8439679a5 Add yarn.lock to .gitignore (#3408) 2018-11-26 21:55:16 +09:00
MeiMei 06124dbbd5 Return 404 for undefined .well-known (#3404) 2018-11-26 04:49:24 +09:00
syuilo 857940f402 10.58.0 2018-11-26 04:33:39 +09:00
MeiMei bcb04924ff Image for web publish (#3402)
* Image for Web

* Add comment

* Make main to original
2018-11-26 04:25:48 +09:00
syuilo 2b6aeb9ebc New translations ja-JP.yml (Korean) 2018-11-25 18:55:39 +09:00
syuilo 648e4538fb New translations ja-JP.yml (Korean) 2018-11-25 18:41:57 +09:00
syuilo cd4b3777da New translations ja-JP.yml (Korean) 2018-11-25 18:31:44 +09:00
syuilo 4acf506b7e New translations ja-JP.yml (Korean) 2018-11-25 18:22:00 +09:00
syuilo 543ca348bc New translations ja-JP.yml (Korean) 2018-11-25 18:11:50 +09:00
syuilo 03375412f1 New translations ja-JP.yml (Korean) 2018-11-25 18:01:59 +09:00
syuilo 0c7a9b6827 New translations ja-JP.yml (Korean) 2018-11-25 17:52:07 +09:00
syuilo c54bc3c176 New translations ja-JP.yml (Korean) 2018-11-25 17:42:22 +09:00
syuilo 90973bedf4 New translations ja-JP.yml (Korean) 2018-11-25 17:32:03 +09:00
syuilo 757f70162e New translations ja-JP.yml (Korean) 2018-11-25 17:21:56 +09:00
syuilo 3047410b35 New translations ja-JP.yml (Korean) 2018-11-25 17:11:58 +09:00
syuilo 9d0d4c5eae New translations ja-JP.yml (Korean) 2018-11-25 16:41:50 +09:00
syuilo cab5b4d601 New translations ja-JP.yml (Korean) 2018-11-25 16:31:55 +09:00
syuilo 517b6e25d9 New translations ja-JP.yml (Korean) 2018-11-25 16:21:57 +09:00
syuilo 94d394c29e New translations ja-JP.yml (Korean) 2018-11-25 16:11:51 +09:00
syuilo a52099d175 New translations ja-JP.yml (Korean) 2018-11-25 16:01:56 +09:00
syuilo f1cb7b862d New translations ja-JP.yml (Korean) 2018-11-25 15:51:50 +09:00
syuilo 0863e5d379 🎨 2018-11-25 13:47:42 +09:00
syuilo 55dcd25df1 Improve MFM 2018-11-25 13:36:52 +09:00
syuilo f3155ea180 [MFM] Add center syntax
Resolve #1775
2018-11-25 13:36:40 +09:00
syuilo 2c5162671c Improve MFM 2018-11-25 13:23:18 +09:00
syuilo fc8aeb5a66 [Client] Fix bug 2018-11-25 13:21:47 +09:00
syuilo 995cf503eb Add MFM test 2018-11-25 13:21:39 +09:00
syuilo 0e49c11a4c Refactoring 2018-11-25 13:19:33 +09:00
syuilo 0367c37b0a 10.57.3 2018-11-25 05:17:45 +09:00
syuilo e0b9fe5e5d 🎨 2018-11-25 05:16:39 +09:00
syuilo a4726e683b 🎨 2018-11-25 05:10:48 +09:00
syuilo 3b10e93efe [MFM] Better hashtag parsing 2018-11-25 04:44:42 +09:00
syuilo 02b07c1b5b Update note-mixin.ts 2018-11-25 04:30:32 +09:00
syuilo 5e54751bd4 Refactor 2018-11-25 04:26:07 +09:00
syuilo 34f1dc238d New translations ja-JP.yml (Korean) 2018-11-25 02:21:48 +09:00
syuilo 3c0f4bdf35 New translations ja-JP.yml (Korean) 2018-11-25 02:11:52 +09:00
syuilo a68d370ad0 New translations ja-JP.yml (Korean) 2018-11-25 02:01:52 +09:00
syuilo debb27ed30 New translations ja-JP.yml (Korean) 2018-11-25 01:52:36 +09:00
syuilo 97fbb857fb New translations ja-JP.yml (Korean) 2018-11-25 01:41:56 +09:00
MeiMei 93f13ffc8e Fix: url-preview (#3397) 2018-11-25 01:39:22 +09:00
syuilo 4d9dc93d46 New translations ja-JP.yml (Korean) 2018-11-25 01:32:05 +09:00
syuilo 22cd4c5d16 New translations ja-JP.yml (Korean) 2018-11-25 01:22:01 +09:00
syuilo 6883994b22 New translations ja-JP.yml (Korean) 2018-11-25 00:42:19 +09:00
syuilo 852a312753 New translations ja-JP.yml (Korean) 2018-11-25 00:32:57 +09:00
syuilo afea0baaa8 New translations ja-JP.yml (Korean) 2018-11-25 00:22:08 +09:00
syuilo 2c477660a0 New translations ja-JP.yml (Korean) 2018-11-25 00:12:06 +09:00
syuilo 16a1cd3c9d New translations ja-JP.yml (Korean) 2018-11-25 00:02:20 +09:00
syuilo db23dd2e01 New translations ja-JP.yml (Korean) 2018-11-24 23:51:44 +09:00
syuilo eaa1ded5ba New translations ja-JP.yml (Korean) 2018-11-24 23:48:03 +09:00
syuilo 393e14196a New translations ja-JP.yml (Korean) 2018-11-24 23:41:59 +09:00
syuilo 8b005307ea New translations ja-JP.yml (Korean) 2018-11-24 23:32:15 +09:00
syuilo c915ac0e72 New translations ja-JP.yml (Korean) 2018-11-24 23:22:10 +09:00
syuilo 1752bb896e New translations ja-JP.yml (Korean) 2018-11-24 23:13:01 +09:00
syuilo 9c8fa026f3 New translations ja-JP.yml (English) 2018-11-24 23:12:56 +09:00
syuilo e93db6324a New translations ja-JP.yml (Korean) 2018-11-24 23:03:31 +09:00
syuilo a10708bffa New translations ja-JP.yml (English) 2018-11-24 23:03:26 +09:00
syuilo e65a7a142f New translations ja-JP.yml (Korean) 2018-11-24 22:52:16 +09:00
syuilo 72e0b2d470 New translations ja-JP.yml (English) 2018-11-24 22:52:12 +09:00
syuilo 43fb0f36a7 New translations ja-JP.yml (Korean) 2018-11-24 22:43:27 +09:00
syuilo cf3533221b New translations ja-JP.yml (Korean) 2018-11-24 22:32:16 +09:00
syuilo de522ebe14 New translations ja-JP.yml (Korean) 2018-11-24 22:22:02 +09:00
syuilo 2ace891dde New translations ja-JP.yml (Korean) 2018-11-24 22:11:52 +09:00
syuilo e212d9f991 New translations ja-JP.yml (Korean) 2018-11-24 19:32:05 +09:00
syuilo 739f3f84d0 New translations ja-JP.yml (Korean) 2018-11-24 19:22:14 +09:00
syuilo 5e206c86be New translations ja-JP.yml (French) 2018-11-24 19:22:08 +09:00
syuilo 1ab37011ea New translations ja-JP.yml (French) 2018-11-24 19:12:20 +09:00
syuilo b6e02f63cd New translations ja-JP.yml (French) 2018-11-24 19:02:11 +09:00
syuilo 17d1a1d7bd New translations ja-JP.yml (Korean) 2018-11-24 12:12:00 +09:00
236 changed files with 4850 additions and 3756 deletions
+1
View File
@@ -17,3 +17,4 @@ api-docs.json
/mongo /mongo
/elasticsearch /elasticsearch
*.code-workspace *.code-workspace
yarn.lock
+4 -3
View File
@@ -1,9 +1,10 @@
ChangeLog ChangeLog
========= =========
破壊的変更のみ記載。 10.62.2
-------
This document describes breaking changes only. * バグ修正
* ユーザビリティの向上
10.0.0 10.0.0
------ ------
+7 -5
View File
@@ -8,18 +8,20 @@ WORKDIR /misskey
FROM base AS builder FROM base AS builder
RUN unlink /usr/bin/free
RUN apk add --no-cache \ RUN apk add --no-cache \
gcc \
g++ \
libc-dev \
python \
autoconf \ autoconf \
automake \ automake \
file \ file \
g++ \
gcc \
libc-dev \
libtool \
make \ make \
nasm \ nasm \
pkgconfig \ pkgconfig \
libtool \ procps \
python \
zlib-dev zlib-dev
RUN npm i -g node-gyp RUN npm i -g node-gyp
+13 -7
View File
@@ -73,46 +73,52 @@ Please see [Contribution guide](./CONTRIBUTING.md).
---------------------------------------------------------------- ----------------------------------------------------------------
<!-- PATREON_START --> <!-- PATREON_START -->
<table><tr> <table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/1?token-time=2145916800&token-hash=Zeh1u6l_Vmgoy8A1eT1Sltea-_SZSq8t8uOWDRZRh94%3D" alt="weep"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13376668/71f3cf87ec6c4393a44b1b9df5ee3d12/1?token-time=2145916800&token-hash=7pSmWqgMfMSJHVIEcNsuuQoKeU3TRluew5p0EGTzWA4%3D" alt="Arctic"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=Yd60FK_SWfQO56SeiJpy1tDHOnCV4xdEywQe8gn5_Wo%3D" alt="negao"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=Yd60FK_SWfQO56SeiJpy1tDHOnCV4xdEywQe8gn5_Wo%3D" alt="negao"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/2?token-time=2145916800&token-hash=mgPdX9TqZxEg4TTPuc477dxhIgYk9246qafjWZEqZ7g%3D" alt="Melilot"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/2?token-time=2145916800&token-hash=mgPdX9TqZxEg4TTPuc477dxhIgYk9246qafjWZEqZ7g%3D" alt="Melilot"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/2?token-time=2145916800&token-hash=rwZ8qvbm_kpA4ib3kc07tVKupXeySpY5ATQFGxfL9v0%3D" alt="Xeltica"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=0eu4-m1gTWA9PhptVZt6rdKcusqcD7RB87rJT23VVFI%3D" alt="べすれい"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=0eu4-m1gTWA9PhptVZt6rdKcusqcD7RB87rJT23VVFI%3D" alt="べすれい"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=GgJ_NmUB6_nnRNLVGUWjV-WX91On7BOu59LKncYV9fE%3D" alt="gutfuckllc"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=GgJ_NmUB6_nnRNLVGUWjV-WX91On7BOu59LKncYV9fE%3D" alt="gutfuckllc"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1?token-time=2145916800&token-hash=I8lJVM8LeW6TSo5W6uIIRZ42cw83zp1wK_FsbzY0mcQ%3D" alt="mydarkstar"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1?token-time=2145916800&token-hash=I8lJVM8LeW6TSo5W6uIIRZ42cw83zp1wK_FsbzY0mcQ%3D" alt="mydarkstar"></td>
<td><img src="https://c8.patreon.com/2/100/12718187" alt="Peter G."></td>
</tr><tr> </tr><tr>
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
<td><a href="https://www.patreon.com/user?u=13376668">Arctic</a></td>
<td><a href="https://www.patreon.com/negao">negao</a></td> <td><a href="https://www.patreon.com/negao">negao</a></td>
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td> <td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
<td><a href="https://www.patreon.com/AxellaMC">Xeltica</a></td>
<td><a href="https://www.patreon.com/user?u=3384329">べすれい</a></td> <td><a href="https://www.patreon.com/user?u=3384329">べすれい</a></td>
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td> <td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td> <td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td>
<td><a href="https://www.patreon.com/user?u=12718187">Peter G.</a></td>
</tr></table> </tr></table>
<table><tr> <table><tr>
<td><img src="https://c8.patreon.com/2/100/12718187" alt="Peter G."></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=zwSu01tOtn5xTUucDZHuPsCxF2HBEMVs9ROJKTlEV_o%3D" alt="nemu"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=zwSu01tOtn5xTUucDZHuPsCxF2HBEMVs9ROJKTlEV_o%3D" alt="nemu"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=qsdn0-e6yLaLI6hUX9JAkyTR6a5UdnSp7T1foniBvGQ%3D" alt="YUKIMOCHI"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=qsdn0-e6yLaLI6hUX9JAkyTR6a5UdnSp7T1foniBvGQ%3D" alt="YUKIMOCHI"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/2?token-time=2145916800&token-hash=iUXOQzRyJDv3PJxwS7Mjwg1459dzh2trOq6NFtXu_OM%3D" alt="Acid Chicken"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/2?token-time=2145916800&token-hash=iUXOQzRyJDv3PJxwS7Mjwg1459dzh2trOq6NFtXu_OM%3D" alt="Acid Chicken"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=UERBN4OyP7Nh5XwwdDg0N0IE5cD6_qUQMO81Z5Wizso%3D" alt="Hiratake"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=UERBN4OyP7Nh5XwwdDg0N0IE5cD6_qUQMO81Z5Wizso%3D" alt="Hiratake"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=P4BIzCX2I1CkEP66ottfhsC8Wr6BUSamjA-vq3pLqFI%3D" alt="Naoki Hirayama"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=P4BIzCX2I1CkEP66ottfhsC8Wr6BUSamjA-vq3pLqFI%3D" alt="Naoki Hirayama"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1?token-time=2145916800&token-hash=S1zP0QyLU52Dqq6dtc9qNYyWfW86XrYHiR4NMbeOrnA%3D" alt="dansup"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1?token-time=2145916800&token-hash=S1zP0QyLU52Dqq6dtc9qNYyWfW86XrYHiR4NMbeOrnA%3D" alt="dansup"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1?token-time=2145916800&token-hash=tB1e_r8RlZ5sFL0KV_e8dugapxatNBRK1Z3h67TO1g8%3D" alt="Gargron"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1?token-time=2145916800&token-hash=VZUtwrjQa8Jml4twCjHYQQZ64wHEY4oIlGl7Kc-VYUQ%3D" alt="Nokotaro Takeda"></td>
</tr><tr> </tr><tr>
<td><a href="https://www.patreon.com/user?u=12718187">Peter G.</a></td>
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td> <td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td> <td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
<td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td> <td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td>
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td> <td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
<td><a href="https://www.patreon.com/spinlock">Naoki Hirayama</a></td> <td><a href="https://www.patreon.com/spinlock">Naoki Hirayama</a></td>
<td><a href="https://www.patreon.com/dansup">dansup</a></td> <td><a href="https://www.patreon.com/dansup">dansup</a></td>
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
</tr></table> </tr></table>
<table><tr> <table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1?token-time=2145916800&token-hash=tB1e_r8RlZ5sFL0KV_e8dugapxatNBRK1Z3h67TO1g8%3D" alt="Gargron"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1?token-time=2145916800&token-hash=VZUtwrjQa8Jml4twCjHYQQZ64wHEY4oIlGl7Kc-VYUQ%3D" alt="Nokotaro Takeda"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1?token-time=2145916800&token-hash=tMosUojzUYJCH_3t--tvYA-SMCyrS__hzSndyaRSnbo%3D" alt="Takashi Shibuya"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1?token-time=2145916800&token-hash=tMosUojzUYJCH_3t--tvYA-SMCyrS__hzSndyaRSnbo%3D" alt="Takashi Shibuya"></td>
</tr><tr> </tr><tr>
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td> <td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
</tr></table> </tr></table>
**Last updated:** Fri, 23 Nov 2018 14:09:04 UTC **Last updated:** Thu, 06 Dec 2018 14:22:05 UTC
<!-- PATREON_END --> <!-- PATREON_END -->
:four_leaf_clover: Copyright :four_leaf_clover: Copyright
Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 KiB

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 200 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 B

After

Width:  |  Height:  |  Size: 671 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1015 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

+50 -38
View File
@@ -26,6 +26,7 @@ common:
close: "閉じる" close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "わかった" got-it: "わかった"
customization-tips: customization-tips:
title: "カスタマイズのヒント" title: "カスタマイズのヒント"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -157,7 +160,6 @@ common:
polls: "アンケート" polls: "アンケート"
post-form: "投稿フォーム" post-form: "投稿フォーム"
server: "サーバー情報" server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション" nav: "ナビゲーション"
tips: "ヒント" tips: "ヒント"
hashtags: "ハッシュタグ" hashtags: "ハッシュタグ"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あなた" you: "あなた"
@@ -399,13 +403,11 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。" title: "サービス連携"
connected-to: "次のTwitterアカウントに接続されています" connect: "接続する"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
disconnect: "切断する" disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "確認中" fetching: "確認中"
no-broadcasts: "お知らせはありません" no-broadcasts: "お知らせはありません"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今日:" today: "今日:"
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "フォトストリーム" title: "フォトストリーム"
no-photos: "写真はありません" no-photos: "写真はありません"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト" auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "詳細設定" advanced: "詳細設定"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する" show-reply-target: "リプライ先を表示する"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開" show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド" sound: "サウンド"
enable-sounds: "サウンドを有効にする" enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム" volume: "ボリューム"
test: "テスト" test: "テスト"
language: "言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択" select-file: "ファイルを選択"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "言語"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update" update: "Misskey Update"
version: "バージョン:" version: "バージョン:"
latest-version: "最新のバージョン:" latest-version: "最新のバージョン:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿" recent-notes: "最近の投稿"
images: "画像" images: "画像"
+51 -39
View File
@@ -26,6 +26,7 @@ common:
close: "Schließen" close: "Schließen"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "Verstanden!" got-it: "Verstanden!"
customization-tips: customization-tips:
title: "Anpassung-Tipps" title: "Anpassung-Tipps"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "Verifizierter Benutzer" verified-user: "Verifizierter Benutzer"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -157,7 +160,6 @@ common:
polls: "Umfrage" polls: "Umfrage"
post-form: "Beitragsform" post-form: "Beitragsform"
server: "Server-Info" server: "Server-Info"
donation: "Spenden"
nav: "Navigation" nav: "Navigation"
tips: "Tipps" tips: "Tipps"
hashtags: "Hashtags" hashtags: "Hashtags"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Einen Nutzer suchen" search-user: "Einen Nutzer suchen"
you: "Du" you: "Du"
@@ -399,13 +403,11 @@ 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/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "Wenn du deinen Twitter-Account mit deinem Misskey-Account verbindest, siehst du deine Twitter Account-Informationen auf deinem Profil und du kannst dich mit Twitter einloggen." title: "サービス連携"
connected-to: "Du bist mit diesem Twitter-Account verbunden" connect: "接続する"
detail: "Mehr..." disconnect: "切断する"
reconnect: "Erneut verbinden" connected-to: "次のアカウントに接続されています"
connect: "Mit Twitter verbinden"
disconnect: "Trennen"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "Laden" fetching: "Laden"
no-broadcasts: "Keine Broadcasts" no-broadcasts: "Keine Broadcasts"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今日:" today: "今日:"
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "Spende"
text: "Um Misskey am Laufen zu halten geben wir Geld für Domain, Server usw. aus. Wir bekommen dafür kein Geld und würden uns freuen, wenn du spenden würdest. Wenn du interessiert bist, dann kontaktiere {}. Danke für deine Unterstützung!"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "Fotostream" title: "Fotostream"
no-photos: "Keine Fotos" no-photos: "Keine Fotos"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "Automatische Pop-out Fenster" auto-popout: "Automatische Pop-out Fenster"
auto-popout-desc: "Pop-out ein offenes Fenster wenn möglich. Diese Einstellung wird im Browser gespeichert." auto-popout-desc: "Pop-out ein offenes Fenster wenn möglich. Diese Einstellung wird im Browser gespeichert."
advanced: "Erweiterte Einstellungen" advanced: "Erweiterte Einstellungen"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "Kreisförmige Icons" circle-icons: "Kreisförmige Icons"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "Zeige Antworten" show-reply-target: "Zeige Antworten"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "Karte anzeigen" show-maps: "Karte anzeigen"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "Ton" sound: "Ton"
enable-sounds: "Ton aktivieren" enable-sounds: "Ton aktivieren"
enable-sounds-desc: "Spiel einen Ton ab beim Erhalten eines Beitrags bzw. einer Nachricht. Diese Einstellung wird im Browser gespeichert." enable-sounds-desc: "Spiel einen Ton ab beim Erhalten eines Beitrags bzw. einer Nachricht. Diese Einstellung wird im Browser gespeichert."
volume: "Lautstärke" volume: "Lautstärke"
test: "Test" test: "Test"
language: "Sprache"
pick-language: "Sprache auswählen"
recommended: "Empfohlen"
auto: "Automatisch"
specify-language: "Sprache auswählen"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
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."
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択" select-file: "ファイルを選択"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "言語"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "推奨"
auto: "自動"
specify-language: "Sprache auswählen"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update" update: "Misskey Update"
version: "バージョン:" version: "バージョン:"
latest-version: "Neuste Version:" latest-version: "Neuste Version:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿" recent-notes: "最近の投稿"
images: "画像" images: "画像"
+61 -49
View File
@@ -26,6 +26,7 @@ common:
close: "Close" close: "Close"
do-not-copy-paste: "Please do not enter or paste the code here. Account may be compromised." do-not-copy-paste: "Please do not enter or paste the code here. Account may be compromised."
load-more: "Load more" load-more: "Load more"
enter-password: "Please enter the Password"
got-it: "Got it!" got-it: "Got it!"
customization-tips: customization-tips:
title: "Customization tips" title: "Customization tips"
@@ -90,9 +91,9 @@ common:
specified: "Direct" specified: "Direct"
specified-desc: "Post to specified users only" specified-desc: "Post to specified users only"
private: "Private" private: "Private"
local-public: "Local (Public)" local-public: "Public (Only local)"
local-home: "Local (Home)" local-home: "Home (Only local)"
local-followers: "Local (Followers)" local-followers: "Followers (Only local)"
note-placeholders: note-placeholders:
a: "What are you doing?" a: "What are you doing?"
b: "What's happening?" b: "What's happening?"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "Make the stone color clear in reversi" use-contrast-reversi-stones: "Make the stone color clear 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"
always-show-nsfw: "Always show NSFW contents" always-show-nsfw: "Always show NSFW contents"
always-mark-nsfw: "Always mark posts with media attachments as NSFW" always-mark-nsfw: "Always mark posts with media attachments as NSFW"
show-full-acct: "Do not omit the hostname from the username" show-full-acct: "Do not omit the hostname from the username"
@@ -157,7 +160,6 @@ common:
polls: "Polls" polls: "Polls"
post-form: "Post form" post-form: "Post form"
server: "Server info" server: "Server info"
donation: "Request for donations"
nav: "Navigation" nav: "Navigation"
tips: "Tips" tips: "Tips"
hashtags: "Hashtags" hashtags: "Hashtags"
@@ -208,7 +210,7 @@ common/views/components/games/reversi/reversi.index.vue:
invitations: "Youve got an invitation!" invitations: "Youve got an invitation!"
my-games: "My game" my-games: "My game"
all-games: "All games" all-games: "All games"
enter-username: "Enter a username" enter-username: "Please enter username"
game-state: game-state:
ended: "Finished" ended: "Finished"
playing: "In Progress" playing: "In Progress"
@@ -219,7 +221,7 @@ common/views/components/games/reversi/reversi.room.vue:
black-or-white: "Black/White" black-or-white: "Black/White"
black-is: "Black is {}" black-is: "Black is {}"
rules: "Rules" rules: "Rules"
is-llotheo: "The lesser side wins" is-llotheo: "The lesser one wins(Llotheo)"
looped-map: "Looped map" looped-map: "Looped map"
can-put-everywhere: "Can put everywhere" can-put-everywhere: "Can put everywhere"
settings-of-the-bot: "Bot settings" settings-of-the-bot: "Bot settings"
@@ -267,7 +269,7 @@ common/views/components/theme.vue:
install: "Install" install: "Install"
installed: "\"{}\" has been installed" installed: "\"{}\" has been installed"
create-a-theme: "Create a theme" create-a-theme: "Create a theme"
save-created-theme: "Save a theme" save-created-theme: "Save theme"
primary-color: "Primary color" primary-color: "Primary color"
secondary-color: "Secondary color" secondary-color: "Secondary color"
text-color: "Text color" text-color: "Text color"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "Hide" hide: "Hide"
show: "See more" show: "See more"
chars: "{count} chars"
files: "{count} files"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Find a user" search-user: "Find a user"
you: "You" you: "You"
@@ -399,13 +403,11 @@ common/views/components/stream-indicator.vue:
connecting: "Connecting" connecting: "Connecting"
reconnecting: "Reconnecting" reconnecting: "Reconnecting"
connected: "Connected" connected: "Connected"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "Once you connect your Twitter account to your Misskey account, you will be able to see information about your Twitter account on your profile, and you will be able to sign-in using Twitter." title: "Service cooperation"
connected-to: "You are connected to this Twitter account" connect: "Connect"
detail: "Details..."
reconnect: "Reconnect"
connect: "Link your Twitter account"
disconnect: "Disconnect" disconnect: "Disconnect"
connected-to: "You are connected to next account"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "Once you connect your GitHub account to your Misskey account, you will be able to see information about your GitHub account on your profile, and you will be able to sign-in via GitHub." description: "Once you connect your GitHub account to your Misskey account, you will be able to see information about your GitHub account on your profile, and you will be able to sign-in via GitHub."
connected-to: "You are connected to this GitHub account" connected-to: "You are connected to this GitHub account"
@@ -433,32 +435,44 @@ common/views/components/visibility-chooser.vue:
private: "Private" 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: "Local (Home)" local-home: "Home (Only local)"
local-followers: "Local (Followers)" local-followers: "Followers (Only local)"
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{} users mentioned" count: "{} users mentioned"
empty: "No popular hashtag trends" empty: "No popular hashtag trends"
common/views/components/language-settings.vue:
title: "Display Language"
pick-language: "Select a language"
recommended: "Recommended"
auto: "Auto"
specify-language: "Specify language"
info: "You need to reload the page for the changes to take effect."
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "Profile" title: "Profile"
name: "Name" name: "Name"
account: "Account" account: "Account"
location: "Location" location: "Location"
description: "About me" description: "About me"
language: "Language"
birthday: "Birthday" birthday: "Birthday"
avatar: "Avatar" avatar: "Icon"
banner: "Banner" banner: "Banner"
is-cat: "This account is a Cat" is-cat: "This account is a Cat"
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"
advanced: "Advanced" advanced: "Other"
privacy: "Privacy" privacy: "Privacy"
save: "Update profile" save: "Save"
saved: "Profile updated successfully" saved: "Profile updated successfully"
uploading: "Uploading" uploading: "Uploading"
upload-failed: "Failed to upload" upload-failed: "Failed to upload"
email: "Email settings"
email-address: "Email Address"
email-verified: "Your email has been verified."
email-not-verified: "Email address is not confirmed. Please check your inbox."
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "Fetching" fetching: "Checking"
no-broadcasts: "No announcements" no-broadcasts: "No announcements"
have-a-nice-day: "Have a nice day!" have-a-nice-day: "Have a nice day!"
next: "Next" next: "Next"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "Today: " today: "Today: "
this-month: "This month: " this-month: "This month: "
this-year: "This year: " this-year: "This year: "
common/views/widgets/donation.vue:
title: "Request for donations"
text: "To keep Misskey up and running, there have to happen some expense for the domain name, the server and so on. Since our policy is not to display any advertisements, we count on your donations. If you're interested in helping, contact {}. Thank you for your contribution!"
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"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "Post visibility" note-visibility: "Post visibility"
default-note-visibility: "Default visibility" default-note-visibility: "Default visibility"
remember-note-visibility: "Remember post visibility" remember-note-visibility: "Remember post visibility"
web-search-engine: "Web search engine"
web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}"
auto-popout: "Auto pop-out window" auto-popout: "Auto pop-out window"
auto-popout-desc: "If it's possible, pop-out display will be used instead of opening a new window. This setting is stored in your browser." auto-popout-desc: "If it's possible, pop-out display will be used instead of opening a new window. This setting is stored in your browser."
advanced: "Advanced settings" advanced: "Advanced settings"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
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"
suggest-recent-hashtags: "Show recent popular hashtags on the post form"
show-clock-on-header: "Show clock on upper-right" show-clock-on-header: "Show clock on upper-right"
show-reply-target: "Display reply target" show-reply-target: "Display reply target"
timeline: "Timeline" timeline: "Timeline"
@@ -762,17 +774,18 @@ desktop/views/components/settings.vue:
deck-column-align: "Deck column alignment" deck-column-align: "Deck column alignment"
deck-column-align-center: "Center" deck-column-align-center: "Center"
deck-column-align-left: "Left" deck-column-align-left: "Left"
deck-column-align-flexible: "Flexible"
deck-column-width: "Column width of the deck"
deck-column-width-narrow: "narrow"
deck-column-width-narrower: "somewhat narrow"
deck-column-width-normal: "Normal"
deck-column-width-wider: "somewhat wide"
deck-column-width-wide: "wide"
sound: "Sound" sound: "Sound"
enable-sounds: "Enable sound" enable-sounds: "Enable sound"
enable-sounds-desc: "Play a sound when you receive a post/message. This setting is stored in the browser." enable-sounds-desc: "Play a sound when you receive a post/message. This setting is stored in the browser."
volume: "Volume" volume: "Volume"
test: "Test" test: "Test"
language: "Language"
pick-language: "Select a language"
recommended: "Recommended"
auto: "Automatic"
specify-language: "Specify language"
language-desc: "You need to reload the page for the changes to take effect."
cache: "Cache" cache: "Cache"
clean-cache: "Clear cache" clean-cache: "Clear cache"
cache-warn: "The cache of account info/posts/replies/messages/settings stored in the browser will be deleted. You need to reload the page after cleaning up." cache-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."
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "Enter the new password again" enter-new-password-again: "Enter the new password again"
not-match: "The new passwords do not match" not-match: "The new passwords do not match"
changed: "Password changed" changed: "Password changed"
failed: "Failed to change password"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "This post is private" private: "This post is private"
deleted: "This post has been deleted" deleted: "This post has been deleted"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Settings of connecting to Twitter" twitter-integration-config: "Settings of connecting to Twitter"
twitter-integration-info: "The callback URL is set on /api/tw/cb." twitter-integration-info: "The callback URL is set on {url}."
enable-twitter-integration: "Enable connection to Twitter" enable-twitter-integration: "Enable connection to Twitter"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer Secret" twitter-integration-consumer-secret: "Consumer Secret"
github-integration-config: "Setting of connecting to GitHub" github-integration-config: "Setting of connecting to GitHub"
github-integration-info: "The callback URL is set on /api/gh/cb." github-integration-info: "The callback URL is set on {url}."
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: "Setting of Discord Integration"
discord-integration-info: "The callback URL is set on /api/dc/cb." discord-integration-info: "The callback URL is set on {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"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "Example: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "Example: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "Timeout" external-user-recommendation-timeout: "Timeout"
external-user-recommendation-timeout-desc: "Number of milliseconds (ex. 300,000)" external-user-recommendation-timeout-desc: "Number of milliseconds (ex. 300,000)"
email-config: "Email server settings"
email-config-info: "Used to confirm email and password reset etc."
enable-email: "Enable email delivery"
email: "Email Address"
smtp-secure: "Use implicit SSL/TLS in the SMTP connection"
smtp-secure-info: "Turn off STARTTLS when used that."
smtp-host: "SMTP Host"
smtp-port: "SMTP Port"
smtp-user: "SMTP User"
smtp-pass: "SMTP Password"
admin/views/charts.vue: admin/views/charts.vue:
title: "Chart" title: "Chart"
per-day: "per Day" per-day: "per Day"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "Choose files" select-file: "Choose files"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "Signed in as {}" signed-in-as: "Signed in as {}"
lang: "Language"
lang-tip: "You will need to reload the page for the changes to take effect."
recommended: "Recommended"
auto: "Auto"
specify-language: "Select your language"
design: "Design and display" design: "Design and display"
dark-mode: "Dark Mode" dark-mode: "Dark Mode"
i-am-under-limited-internet: "I'm in limited bandwidth" i-am-under-limited-internet: "I'm in limited bandwidth"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "Post visibility" note-visibility: "Post visibility"
default-note-visibility: "Default visibility" default-note-visibility: "Default visibility"
remember-note-visibility: "Remember post visibility" remember-note-visibility: "Remember post visibility"
web-search-engine: "Web search engine"
web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}"
disable-via-mobile: "Don't mark the post as 'from mobile'" disable-via-mobile: "Don't mark the post as 'from mobile'"
load-raw-images: "Show attached images in original quality" load-raw-images: "Show attached images in original quality"
load-remote-media: "Show media from a remote server" load-remote-media: "Show media from a remote server"
twitter: "Twitter integration"
twitter-connect: "Connect to your Twitter account"
twitter-reconnect: "Reconnect"
twitter-disconnect: "Disconnect"
github: "GitHub Integration"
github-connect: "Connect to your GitHub account"
github-reconnect: "Reconnect"
github-disconnect: "Disconnect"
discord: "Discord Integration"
discord-connect: "Connect to your Discord account"
discord-reconnect: "Reconnect"
discord-disconnect: "Disconnect"
update: "Misskey Update" update: "Misskey Update"
version: "Current version:" version: "Current version:"
latest-version: "Latest version:" latest-version: "Latest version:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "Block" block: "Block"
unblock: "Unblock" unblock: "Unblock"
years-old: "{age} years old" years-old: "{age} years old"
push-to-list: "Add to list"
select-list: "Select a list"
list-pushed: "Successfully added {user} to {list}."
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "Recent notes" recent-notes: "Recent notes"
images: "Images" images: "Images"
+51 -39
View File
@@ -26,6 +26,7 @@ common:
close: "Cerrar" close: "Cerrar"
do-not-copy-paste: "Por favor no copies código aquí. Tu cuenta puede resultar comprometida." do-not-copy-paste: "Por favor no copies código aquí. Tu cuenta puede resultar comprometida."
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "¡Listo!" got-it: "¡Listo!"
customization-tips: customization-tips:
title: "Consejos de personalización" title: "Consejos de personalización"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "Hacer el color de la piedra claro en Reversi" use-contrast-reversi-stones: "Hacer el color de la piedra claro en Reversi"
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: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -157,7 +160,6 @@ common:
polls: "Encuestas" polls: "Encuestas"
post-form: "Formulario" post-form: "Formulario"
server: "Información del servidor" server: "Información del servidor"
donation: "Donaciones"
nav: "Navegación" nav: "Navegación"
tips: "Consejos" tips: "Consejos"
hashtags: "Etiquetas" hashtags: "Etiquetas"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Encuentra un usuario" search-user: "Encuentra un usuario"
you: "Tu" you: "Tu"
@@ -399,13 +403,11 @@ common/views/components/stream-indicator.vue:
connecting: "Conectando" connecting: "Conectando"
reconnecting: "Reconectando" reconnecting: "Reconectando"
connected: "Conectado" connected: "Conectado"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "Si comectas tu cuenta de Twitter con tu cuenta de Misskey podrás ver la información de tu cuemta de Twitter en tu perfil y además podrás entrar usando Twitter." title: "サービス連携"
connected-to: "Estas comectado con las siguientes cuentas de Twitter" connect: "接続する"
detail: "Detalles..." disconnect: "切断する"
reconnect: "Conectar de nuevo" connected-to: "次のアカウントに接続されています"
connect: "Conectate usando Twitter"
disconnect: "Desconectado"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "Recuperando" fetching: "Recuperando"
no-broadcasts: "Sin emisión" no-broadcasts: "Sin emisión"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "Hoy:" today: "Hoy:"
this-month: "Este mes:" this-month: "Este mes:"
this-year: "Este año:" this-year: "Este año:"
common/views/widgets/donation.vue:
title: "Donaciones"
text: "Para mantener Misskey funcionando tenemos que pagar por el dominio, los costos de hospedaje y otros costos. Como no recibimos dinero de publicidad, contamos con el apoyo de todos ustedes. Si estás interesado en ayudar, contacta a {}. ¡Muchas gracias por tu contribución!"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "Galería de fotos" title: "Galería de fotos"
no-photos: "No hay fotos." no-photos: "No hay fotos."
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "Ventana emergente automática" auto-popout: "Ventana emergente automática"
auto-popout-desc: "Muestra una ventana emergente si es posible. Esta configuración depende del navegador." auto-popout-desc: "Muestra una ventana emergente si es posible. Esta configuración depende del navegador."
advanced: "Configuración avanzada" advanced: "Configuración avanzada"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
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"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する" show-reply-target: "リプライ先を表示する"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開" show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド" sound: "サウンド"
enable-sounds: "サウンドを有効にする" enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム" volume: "ボリューム"
test: "テスト" test: "テスト"
language: "言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択" select-file: "ファイルを選択"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "言語"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update" update: "Misskey Update"
version: "バージョン:" version: "バージョン:"
latest-version: "最新のバージョン:" latest-version: "最新のバージョン:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿" recent-notes: "最近の投稿"
images: "画像" images: "画像"
+69 -57
View File
@@ -18,7 +18,7 @@ common:
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。" ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
drive: "Drive" drive: "Drive"
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。" drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。"
outro: "他にもMisskeyにしかない機能はまだまだあるので、ぜひあなた自身の目で確かめてください。Misskeyは分散型SNSなので、このインスタンスが気に入らなければ他のインスタンスを試すこともできます。それでは、GLHF!" outro: "Découvrez vous-même les fonctionnalités de Misskey. Étant donné que Misskey est un réseaux social fédéré, vous pouvez essayer dautres instances afin de trouver vos ami·e·s si la présente instance ne vous correspond pas. Bonne chance et amusez-vous bien!"
adblock: adblock:
detected: "Veuillez désactiver votre bloqueur de publicités" detected: "Veuillez désactiver votre bloqueur de publicités"
warning: "<strong>Misskey nutilise pas de publicités</strong>, mais quelques options peuvent être non disponibles ou fonctionneraient mal si un bloqueur de publicités est activé." warning: "<strong>Misskey nutilise pas de publicités</strong>, mais quelques options peuvent être non disponibles ou fonctionneraient mal si un bloqueur de publicités est activé."
@@ -26,6 +26,7 @@ common:
close: "Fermer" close: "Fermer"
do-not-copy-paste: "Veuillez ne pas entrer ou coller le code ici. Le compte peut être compromis." do-not-copy-paste: "Veuillez ne pas entrer ou coller le code ici. Le compte peut être compromis."
load-more: "Charger plus" load-more: "Charger plus"
enter-password: "Veuillez entrer le mot de passe"
got-it: "Jai compris !" got-it: "Jai compris !"
customization-tips: customization-tips:
title: "Conseils de personnalisation" title: "Conseils de personnalisation"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "Icône avec contraste sur Reversi" use-contrast-reversi-stones: "Icône avec contraste sur Reversi"
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: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "Toujours afficher les contenus sensibles" always-show-nsfw: "Toujours afficher les contenus sensibles"
always-mark-nsfw: "Toujours marquer les notes ayant des attachements comme sensibles" always-mark-nsfw: "Toujours marquer les notes ayant des attachements comme sensibles"
show-full-acct: "Afficher ladresse complète de lutilisateur" show-full-acct: "Afficher ladresse complète de lutilisateur"
@@ -157,7 +160,6 @@ common:
polls: "Sondages" polls: "Sondages"
post-form: "Champs de publication" post-form: "Champs de publication"
server: "Info sur le serveur" server: "Info sur le serveur"
donation: "Dons"
nav: "Navigation" nav: "Navigation"
tips: "Conseils" tips: "Conseils"
hashtags: "Hashtags" hashtags: "Hashtags"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "Masquer" hide: "Masquer"
show: "Voir plus" show: "Voir plus"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Trouver un·e utilisateur·trice" search-user: "Trouver un·e utilisateur·trice"
you: "Vous" you: "Vous"
@@ -399,13 +403,11 @@ 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/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "Si vous liez votre compte Twitter à votre compte Misskey, vous verrez ensuite votre compte Twitter s'afficher sur votre profil, vous aurez aussi la possibilité de vous connecter à Misskey en utilisant votre compte Twitter." title: "Intégrations"
connected-to: "Vous êtes connecté à ce compte Twitter" connect: "Connecter"
detail: "Détails…" disconnect: "Déconnecter"
reconnect: "Reconnexion" connected-to: "Vous êtes connectés aux services suivants"
connect: "Lier votre compte Twitter"
disconnect: "Déconnexion"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "Si vous liez votre compte GitHub à votre compte Misskey, vous verrez votre compte GitHub safficher sur votre profil, vous aurez également la possibilité de vous connecter à Misskey en utilisant ce dernier." description: "Si vous liez votre compte GitHub à votre compte Misskey, vous verrez votre compte GitHub safficher sur votre profil, vous aurez également la possibilité de vous connecter à Misskey en utilisant ce dernier."
connected-to: "Vous êtes connecté à votre compte GitHub" connected-to: "Vous êtes connecté à votre compte GitHub"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{} utilisateurs·rices mentionnés·es" count: "{} utilisateurs·rices mentionnés·es"
empty: "Aucune tendance" empty: "Aucune tendance"
common/views/components/language-settings.vue:
title: "Langue "
pick-language: "Sélectionner une langue"
recommended: "Recommandé"
auto: "Automatique"
specify-language: "Spécifier la langue"
info: "Le rechargement de la page est requis afin d'appliquer les modifications."
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "Profil" title: "Profil"
name: "Nom" name: "Nom"
account: "Compte" account: "Compte"
location: "Lieu" location: "Lieu"
description: "À propos de moi" description: "À propos de moi"
language: "Langue"
birthday: "Date de naissance" birthday: "Date de naissance"
avatar: "Avatar" avatar: "Avatar"
banner: "Bannière" banner: "Bannière"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
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-address: "Adresse de courrier électronique"
email-verified: "Ladresse du courrier électronique a été vérifiée."
email-not-verified: "Adresse de courriel nest pas confirmée. Veuillez vérifier votre boite de réception."
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "Récupération" fetching: "Récupération"
no-broadcasts: "Aucune annonce" no-broadcasts: "Aucune annonce"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "Aujourdhui:" today: "Aujourdhui:"
this-month: "Ce mois-ci :" this-month: "Ce mois-ci :"
this-year: "Cette année :" this-year: "Cette année :"
common/views/widgets/donation.vue:
title: "Faire un don"
text: "Les frais pour faire fonctionner Misskey sortent directement de notre poche. Nous ne recevons pas d'argent issu de la publicité, si vous pouvez nous faire des dons, on vous serait éternellement reconnaissants. Si vous êtes intéressé·es veuillez contacter {}. Merci pour votre contribution !"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "Flux de photos" title: "Flux de photos"
no-photos: "Pas de photo" no-photos: "Pas de photo"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "Visibilité de la publication" note-visibility: "Visibilité de la publication"
default-note-visibility: "Visibilité par défaut" default-note-visibility: "Visibilité par défaut"
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-desc: "Exemple: https://www.google.com/?#q={{query}}"
auto-popout: "Fenêtre contextuelle automatique" auto-popout: "Fenêtre contextuelle automatique"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "Paramètres avancés" advanced: "Paramètres avancés"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
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"
suggest-recent-hashtags: "Afficher les hashtags populaires dans le champs de saisie"
show-clock-on-header: "Afficher l'horloge à droite sur le coté supérieur" show-clock-on-header: "Afficher l'horloge à droite sur le coté supérieur"
show-reply-target: "Afficher les réponses" show-reply-target: "Afficher les réponses"
timeline: "Chronologie" timeline: "Chronologie"
@@ -762,17 +774,18 @@ desktop/views/components/settings.vue:
deck-column-align: "Alignement des colonnes du Deck" deck-column-align: "Alignement des colonnes du Deck"
deck-column-align-center: "Centrer" deck-column-align-center: "Centrer"
deck-column-align-left: "À gauche" deck-column-align-left: "À gauche"
deck-column-align-flexible: "Flexibles"
deck-column-width: "Largeur des colonnes du Deck"
deck-column-width-narrow: "Étroite"
deck-column-width-narrower: "Légèrement étroite"
deck-column-width-normal: "Normale"
deck-column-width-wider: "Légèrement large"
deck-column-width-wide: "Large"
sound: "Son" sound: "Son"
enable-sounds: "Activer le son" enable-sounds: "Activer le son"
enable-sounds-desc: "Jouer un son lorsque vous recevez un message. Ce paramètre est sauvegardé dans le navigateur." enable-sounds-desc: "Jouer un son lorsque vous recevez un message. Ce paramètre est sauvegardé dans le navigateur."
volume: "Volume" volume: "Volume"
test: "Test" test: "Test"
language: "Langue"
pick-language: "Sélectionner une langue"
recommended: "Recommandé"
auto: "Automatique"
specify-language: "Spécifier la langue"
language-desc: "Le rechargement de la page est requis afin d'appliquer les modifications."
cache: "Cache" cache: "Cache"
clean-cache: "Nettoyage" clean-cache: "Nettoyage"
cache-warn: "Le nettoyage du cache du compte supprime les informations stockées dans le navigateur comme les messages, les réponses ainsi que dautres données (y compris les paramètres de configuration). Après le nettoyage, vous devez recharger la page." cache-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."
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "Entrez à nouveau le nouveau mot de passe" enter-new-password-again: "Entrez à nouveau le nouveau mot de passe"
not-match: "Les nouveaux mots de passe ne sont pas identiques" not-match: "Les nouveaux mots de passe ne sont pas identiques"
changed: "Mot de passe modifié avec succès" changed: "Mot de passe modifié avec succès"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
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"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "Clé reCAPTCHA du site" recaptcha-site-key: "Clé reCAPTCHA du site"
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: "LURL callback est définit sur /api/tw/cb" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Activer la connection à Twitter" enable-twitter-integration: "Activer la connection à 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"
github-integration-info: "LURL callback est définit sur /api/gh/cb" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "Activer lauthentification avec Github" enable-github-integration: "Activer lauthentification avec Github"
github-integration-client-id: "ID client" github-integration-client-id: "ID client"
github-integration-client-secret: "Secret client" github-integration-client-secret: "Secret client"
discord-integration-config: "Paramètres dauthentification Discord" discord-integration-config: "Paramètres dauthentification Discord"
discord-integration-info: "LURL callback est définit sur /api/dc/cb" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Activer lauthentification avec Discord" enable-discord-integration: "Activer lauthentification avec Discord"
discord-integration-client-id: "ID client" discord-integration-client-id: "ID client"
discord-integration-client-secret: "Secret client" discord-integration-client-secret: "Secret client"
@@ -992,11 +1006,21 @@ admin/views/instance.vue:
save: "Sauvegarder" save: "Sauvegarder"
saved: "Enregistré" saved: "Enregistré"
user-recommendation-config: "Utilisateur·rice·s" user-recommendation-config: "Utilisateur·rice·s"
enable-external-user-recommendation: "外部ユーザーレコメンデーションを有効にする" enable-external-user-recommendation: "Activer la recommandation des utilisateur·trice·s distant·e·s"
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"
external-user-recommendation-timeout-desc: "En millisecondes (par exemple : 300000)" external-user-recommendation-timeout-desc: "En millisecondes (par exemple : 300000)"
email-config: "Paramètres du serveur de messagerie"
email-config-info: "Utilisé pour confirmer votre adresse de courrier électronique et la réinitialisation de votre mot de passe."
enable-email: "Activation de la distribution du courrier"
email: "Adresse de courrier électronique"
smtp-secure: "Utiliser SSL/TLS implicitement dans la connexion SMTP"
smtp-secure-info: "Désactiver STARTTLS lorsque celui-ci est utilisé."
smtp-host: "Hôte SMTP"
smtp-port: "Port SMTP"
smtp-user: "Utilisateur SMTP"
smtp-pass: "Mot de passe SMTP"
admin/views/charts.vue: admin/views/charts.vue:
title: "Graph" title: "Graph"
per-day: "par jour" per-day: "par jour"
@@ -1023,12 +1047,12 @@ admin/views/charts.vue:
network-time: "Temps de réponse" network-time: "Temps de réponse"
network-usage: "Traffic" network-usage: "Traffic"
admin/views/users.vue: admin/views/users.vue:
operation: "操作" operation: "Actions"
username-or-userid: "ユーザー名またはユーザーID" username-or-userid: "Nom dutilisateur·rice ou ID utilisateur"
user-not-found: "ユーザーが見つかりません" user-not-found: "Utilisateur·rice non trouvé·e"
lookup: "照会" lookup: "Recherche"
reset-password: "パスワードをリセット" reset-password: "Réinitialiser mot de passe"
password-updated: "パスワードは現在「{password}」です" password-updated: "Le mot de passe est « {password} »"
suspend: "Suspendre" suspend: "Suspendre"
suspended: "Suspendu·e avec succès." suspended: "Suspendu·e avec succès."
unsuspend: "Suspension levée" unsuspend: "Suspension levée"
@@ -1038,20 +1062,20 @@ admin/views/users.vue:
unverify: "Ôter la vérification du compte" unverify: "Ôter la vérification du compte"
unverified: "Ce compte n'est plus vérifié" unverified: "Ce compte n'est plus vérifié"
users: users:
title: "ユーザー" title: "Utilisateur·rice·s"
sort: sort:
title: "ソート" title: "Trier par"
createdAtAsc: "登録日時が古い順" createdAtAsc: "Date dinscription (Ascendant)"
createdAtDesc: "登録日時が新しい順" createdAtDesc: "Date dinscription (Descendant)"
updatedAtAsc: "更新日時が古い順" updatedAtAsc: "Mis à jour récemment (Ascendant)"
updatedAtDesc: "更新日時が新しい順" updatedAtDesc: "更新日時が新しい順"
origin: origin:
title: "オリジン" title: "Origine"
combined: "ローカル+リモート" combined: "Locaux + distants"
local: "ローカル" local: "Locaux"
remote: "リモート" remote: "Distants"
createdAt: "登録日時" createdAt: "Créé le"
updatedAt: "更新日時" updatedAt: "Mis à jour le"
admin/views/moderators.vue: admin/views/moderators.vue:
add-moderator: add-moderator:
title: "Ajout dun modérateur" title: "Ajout dun modérateur"
@@ -1344,11 +1368,6 @@ 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é·e en tant que {}"
lang: "Langue"
lang-tip: "Le rechargement de la page est requis afin d'appliquer les modifications."
recommended: "Recommandé"
auto: "Automatique"
specify-language: "Sélectionnez votre langue"
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é"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "Visibilité de la publication" note-visibility: "Visibilité de la publication"
default-note-visibility: "Visibilité par défaut" default-note-visibility: "Visibilité par défaut"
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-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"
twitter: "Intégration à Twitter"
twitter-connect: "Se connecter à votre compte Twitter"
twitter-reconnect: "Reconnecter"
twitter-disconnect: "Déconnexion"
github: "Avec GitHub"
github-connect: "Se connecter à votre compte GitHub"
github-reconnect: "Reconnecter"
github-disconnect: "Déconnecter"
discord: "Intégration avec Discord"
discord-connect: "Connecter votre compte Discord"
discord-reconnect: "Reconnecter"
discord-disconnect: "Déconnecter"
update: "Mise à jour de Misskey" update: "Mise à jour de Misskey"
version: "Version :" version: "Version :"
latest-version: "Dernière version :" latest-version: "Dernière version :"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "Bloquer" block: "Bloquer"
unblock: "Débloquer" unblock: "Débloquer"
years-old: "{age} ans" years-old: "{age} ans"
push-to-list: "Ajouter à la liste"
select-list: "Sélectionnez une liste"
list-pushed: "Vous avez ajouté {user} à la liste {list} avec succès."
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "Notes récentes" recent-notes: "Notes récentes"
images: "Images" images: "Images"
+1 -1
View File
@@ -5,7 +5,7 @@
const fs = require('fs'); const fs = require('fs');
const yaml = require('js-yaml'); const yaml = require('js-yaml');
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN']; const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN', 'ko-KR'];
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8')); const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
const locales = langs.map(lang => ({ [lang]: loadLocale(lang) })); const locales = langs.map(lang => ({ [lang]: loadLocale(lang) }));
+50 -38
View File
@@ -26,6 +26,7 @@ common:
close: "閉じる" close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "わかった" got-it: "わかった"
customization-tips: customization-tips:
title: "カスタマイズのヒント" title: "カスタマイズのヒント"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -157,7 +160,6 @@ common:
polls: "アンケート" polls: "アンケート"
post-form: "投稿フォーム" post-form: "投稿フォーム"
server: "サーバー情報" server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション" nav: "ナビゲーション"
tips: "ヒント" tips: "ヒント"
hashtags: "ハッシュタグ" hashtags: "ハッシュタグ"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あなた" you: "あなた"
@@ -399,13 +403,11 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。" title: "サービス連携"
connected-to: "次のTwitterアカウントに接続されています" connect: "接続する"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
disconnect: "切断する" disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "確認中" fetching: "確認中"
no-broadcasts: "お知らせはありません" no-broadcasts: "お知らせはありません"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今日:" today: "今日:"
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "フォトストリーム" title: "フォトストリーム"
no-photos: "写真はありません" no-photos: "写真はありません"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト" auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "詳細設定" advanced: "詳細設定"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する" show-reply-target: "リプライ先を表示する"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開" show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド" sound: "サウンド"
enable-sounds: "サウンドを有効にする" enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム" volume: "ボリューム"
test: "テスト" test: "テスト"
language: "言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択" select-file: "ファイルを選択"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "言語"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update" update: "Misskey Update"
version: "バージョン:" version: "バージョン:"
latest-version: "最新のバージョン:" latest-version: "最新のバージョン:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿" recent-notes: "最近の投稿"
images: "画像" images: "画像"
+57 -40
View File
@@ -26,6 +26,7 @@ common:
close: "閉じる" close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "わかった" got-it: "わかった"
customization-tips: customization-tips:
@@ -117,9 +118,11 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -170,7 +173,6 @@ common:
polls: "アンケート" polls: "アンケート"
post-form: "投稿フォーム" post-form: "投稿フォーム"
server: "サーバー情報" server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション" nav: "ナビゲーション"
tips: "ヒント" tips: "ヒント"
hashtags: "ハッシュタグ" hashtags: "ハッシュタグ"
@@ -320,6 +322,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
@@ -439,13 +443,11 @@ common/views/components/stream-indicator.vue:
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。" title: "サービス連携"
connected-to: "次のTwitterアカウントに接続されています" connect: "接続する"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
disconnect: "切断する" disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
@@ -484,12 +486,21 @@ common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -503,6 +514,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "確認中" fetching: "確認中"
@@ -518,10 +533,6 @@ common/views/widgets/calendar.vue:
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "フォトストリーム" title: "フォトストリーム"
no-photos: "写真はありません" no-photos: "写真はありません"
@@ -824,6 +835,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト" auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "詳細設定" advanced: "詳細設定"
@@ -844,7 +857,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する" show-reply-target: "リプライ先を表示する"
timeline: "タイムライン" timeline: "タイムライン"
@@ -853,9 +865,16 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開" show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド" sound: "サウンド"
enable-sounds: "サウンドを有効にする" enable-sounds: "サウンドを有効にする"
@@ -863,13 +882,6 @@ desktop/views/components/settings.vue:
volume: "ボリューム" volume: "ボリューム"
test: "テスト" test: "テスト"
language: "言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
@@ -970,6 +982,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
@@ -977,6 +990,12 @@ desktop/views/components/sub-note-content.vue:
media-count: "{}つのメディア" media-count: "{}つのメディア"
poll: "アンケート" poll: "アンケート"
desktop/views/components/settings.tags.vue:
title: "タグ"
query: "クエリ (省略可)"
add: "追加"
save: "保存"
desktop/views/components/taskmanager.vue: desktop/views/components/taskmanager.vue:
title: "タスクマネージャ" title: "タスクマネージャ"
@@ -1092,17 +1111,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -1123,6 +1142,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
@@ -1537,11 +1566,6 @@ mobile/views/pages/selectdrive.vue:
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "言語"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1564,21 +1588,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update" update: "Misskey Update"
version: "バージョン:" version: "バージョン:"
latest-version: "最新のバージョン:" latest-version: "最新のバージョン:"
@@ -1609,6 +1623,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿" recent-notes: "最近の投稿"
+119 -107
View File
@@ -25,11 +25,12 @@ common:
application-authorization: "アプリの連携" application-authorization: "アプリの連携"
close: "さいなら" close: "さいなら"
do-not-copy-paste: "ここにコードを入力したり張り付けたりせんといてください。アカウントが不正利用されるかも分からん。知らんけど。" do-not-copy-paste: "ここにコードを入力したり張り付けたりせんといてください。アカウントが不正利用されるかも分からん。知らんけど。"
load-more: "もっと読み込む" load-more: "もっとあらへんのか!"
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: "Got it!"
notification: notification:
file-uploaded: "ファイルがアップロードされたで" file-uploaded: "ファイルがアップロードされたで"
@@ -90,9 +91,9 @@ common:
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "今から言うユーザー以外に見せんとってや" specified-desc: "今から言うユーザー以外に見せんとってや"
private: "非公開" private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルだけ)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルだけ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルだけ)"
note-placeholders: note-placeholders:
a: "今なにしてん?" a: "今なにしてん?"
b: "何かあったんか?" b: "何かあったんか?"
@@ -109,16 +110,18 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストをつけんで!" use-contrast-reversi-stones: "リバーシのアイコンにコントラストをつけんで!"
verified-user: "アメちゃん付きアカウント" verified-user: "アメちゃん付きアカウント"
disable-animated-mfm: "投稿内のちょろちょろ動いてんのを止める" disable-animated-mfm: "投稿内のちょろちょろ動いてんのを止める"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "閲覧注意?見せたらあかん?そんなん知らんわ、見せろや!" always-show-nsfw: "閲覧注意?見せたらあかん?そんなん知らんわ、見せろや!"
always-mark-nsfw: "わからんからとりあえずメディアは見せたらあかん" always-mark-nsfw: "わからんからとりあえずメディアは見せたらあかん"
show-full-acct: "ユーザー名のホストも出したる" show-full-acct: "ユーザー名のホストも出したる"
show-via: "viaを表示する" show-via: "viaを見せる"
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: '開発ビルドや。本番環境で使わんといて!知らんで!'
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "このユーザー情報はコピーです。"
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
@@ -131,9 +134,9 @@ common:
drawn: "おあいこ" drawn: "おあいこ"
my-turn: "あんさんのターンや" my-turn: "あんさんのターンや"
opponent-turn: "相手のターンや" opponent-turn: "相手のターンや"
turn-of: "{name}のターンです" turn-of: "{name}のターン"
past-turn-of: "{name}のターン" past-turn-of: "{name}のターン"
won: "{name}の勝ち" won: "{name}の勝ちやで!"
black: "黒" black: "黒"
white: "白" white: "白"
total: "合計" total: "合計"
@@ -157,14 +160,13 @@ common:
polls: "アンケート" polls: "アンケート"
post-form: "投稿フォーム" post-form: "投稿フォーム"
server: "サーバー情報" server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション" nav: "ナビゲーション"
tips: "ヒント" tips: "ヒント"
hashtags: "ハッシュタグ" hashtags: "ハッシュタグ"
dev: "アプリの作成あかんかったわ。もっぺんやってみて。" dev: "アプリの作成あかんかったわ。もっぺんやってみて。"
ai-chan-kawaii: "藍ちゃめっさべっぴんさんや" ai-chan-kawaii: "藍ちゃめっさべっぴんさんや"
auth/views/form.vue: auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?" share-access: "あんたのアカウントに<i>{name}</i>がアクセスしようとしてるで?ええか?"
permission-ask: "このアプリは次の権限を要求してんで:" permission-ask: "このアプリは次の権限を要求してんで:"
account-read: "アカウントの情報を見させてもらうで。" account-read: "アカウントの情報を見させてもらうで。"
account-write: "アカウントの情報を操作させてもらうで。" account-write: "アカウントの情報を操作させてもらうで。"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "もうええわ" hide: "もうええわ"
show: "見たいやろ?" show: "見たいやろ?"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あんさん" you: "あんさん"
@@ -352,7 +356,7 @@ common/views/components/emoji-picker.vue:
custom-emoji: "カスタム絵文字" custom-emoji: "カスタム絵文字"
people: "人" people: "人"
animals-and-nature: "動物&自然" animals-and-nature: "動物&自然"
food-and-drink: "食べ物&飲み" food-and-drink: "食いもん&飲みもん"
activity: "アクティビティ" activity: "アクティビティ"
travel-and-places: "場所" travel-and-places: "場所"
objects: "物" objects: "物"
@@ -399,27 +403,25 @@ common/views/components/stream-indicator.vue:
connecting: "つないどるで" connecting: "つないどるで"
reconnecting: "つなぎ直すで" reconnecting: "つなぎ直すで"
connected: "つないだわ" connected: "つないだわ"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "あんさんがつことるTwitterアカウントをMisskeyアカウントに接続しとくと、あんさんのプロフィールにTwitterアカウント情報が表示されるようになったり、Twitterをつこた便利なサインインが使えるようになったりすんで。" title: "サービス連携"
connected-to: "次のTwitterアカウントに接続されとるで" connect: "つなげる"
detail: "詳細..." disconnect: "接続をほかす"
reconnect: "つなぎ直す" connected-to: "このアカウントと繋がっとるで"
connect: "Twitterと接続する"
disconnect: "さいならする"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "あんたがつことるTwitterアカウントをMisskeyアカウントに接続しくと、あんさんのプロフィールにTwitterアカウント情報が表示されるようになったり、Twitterを使うた便利なサインインが使えるようになったりすんで。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されとるで"
detail: "詳細..." detail: "くわしく..."
reconnect: "再接続する" reconnect: "つなぎ直す"
connect: "GitHubと接続する" connect: "GitHubと接続する"
disconnect: "切断する" disconnect: "接続をほかす"
common/views/components/discord-setting.vue: common/views/components/discord-setting.vue:
description: "お使いのDiscordアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールDiscordアカウント情報が表示されるようになったり、Discordを用いた便利なサインインを利用できるようになります。" description: "あんたがつことるDiscordアカウントをMisskeyアカウントに接続しくと、あんさんのプロフィールDiscordアカウント情報が表示されるようになったり、Discordを使うた便利なサインインが使えるようになったりすんで。"
connected-to: "次のDiscordアカウントに接続されています" connected-to: "次のDiscordアカウントに接続されとるで"
detail: "詳細..." detail: "くわしく..."
reconnect: "再接続する" reconnect: "つなぎ直す"
connect: "Discordと接続する" connect: "Discordと接続する"
disconnect: "切断する" disconnect: "接続をほかす"
common/views/components/uploader.vue: common/views/components/uploader.vue:
waiting: "待っとる" waiting: "待っとる"
common/views/components/visibility-chooser.vue: common/views/components/visibility-chooser.vue:
@@ -431,19 +433,27 @@ common/views/components/visibility-chooser.vue:
specified: "ダイレクト" specified: "ダイレクト"
specified-desc: "今から言うユーザー以外に見せんとってや" specified-desc: "今から言うユーザー以外に見せんとってや"
private: "非公開" private: "非公開"
local-public: "公開 (ローカルのみ)" local-public: "公開 (ローカルだけ)"
local-public-desc: "リモートへは公開しない" local-public-desc: "リモートには見せへん"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルだけ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "フォロワー (ローカルだけ)"
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "流行は自分で作るんや" empty: "流行は自分で作るんや"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語選んでや"
recommended: "これええで"
auto: "勝手にやる"
specify-language: "言語選びや"
info: "ページもっぺん読み込んだら反映したるで。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存したで" saved: "プロフィールを保存したで"
uploading: "アップロードしとります" uploading: "アップロードしとります"
upload-failed: "これアップロードでけへんわ" upload-failed: "これアップロードでけへんわ"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "このメールアドレスOKや!"
email-not-verified: "メールアドレスが確認されとらん。メールボックスもっぺん見てくれへん?"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "見てみるわ…" fetching: "見てみるわ…"
no-broadcasts: "お知らせはあらへんで" no-broadcasts: "お知らせはあらへんで"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今日:" today: "今日:"
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かるんや。Misskeyは広告を掲載したりせんから、収入を皆様からの寄付に頼ってますねん。もし興味があるなら、{}までご連絡よろしゅう頼んます。ご協力おおきに。"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "フォトストリーム" title: "フォトストリーム"
no-photos: "写真はあらへんで" no-photos: "写真はあらへんで"
@@ -540,7 +551,7 @@ desktop/views/components/activity.vue:
title: "アクティビティ" title: "アクティビティ"
toggle: "表示変える" toggle: "表示変える"
desktop/views/components/calendar.vue: desktop/views/components/calendar.vue:
title: "{year}年 {month}月" title: "{year}年 {month} 月"
prev: "前の月" prev: "前の月"
next: "次の月" next: "次の月"
go: "クリックしてタイムリープ" go: "クリックしてタイムリープ"
@@ -682,7 +693,7 @@ desktop/views/components/post-form.vue:
create-poll: "アンケートを作成" create-poll: "アンケートを作成"
text-remain: "残り{}文字" text-remain: "残り{}文字"
recent-tags: "最近のタグ" recent-tags: "最近のタグ"
local-only-message: "この投稿はローカルにのみ公開されます" local-only-message: "この投稿はローカルだけ公開されるで"
click-to-tagging: "クリックでタグ付け" click-to-tagging: "クリックでタグ付け"
visibility: "公開範囲" visibility: "公開範囲"
geolocation-alert: "あんさんのつことる端末は位置情報に対応しとらんみたいやわ、知らんけど。" geolocation-alert: "あんさんのつことる端末は位置情報に対応しとらんみたいやわ、知らんけど。"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "もとからの公開範囲" default-note-visibility: "もとからの公開範囲"
remember-note-visibility: "投稿の公開範囲おぼえといて" remember-note-visibility: "投稿の公開範囲おぼえといて"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q?{{query}}"
auto-popout: "ウィンドウの自動ポップアウト" auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトすんで。この設定はブラウザに記憶されんで。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトすんで。この設定はブラウザに記憶されんで。"
advanced: "もっと設定" advanced: "もっと設定"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "アイコンもタコ焼きも丸いやんな?" circle-icons: "アイコンもタコ焼きも丸いやんな?"
contrasted-acct: "ユーザー名ようわからんし見やすしといて" contrasted-acct: "ユーザー名ようわからんし見やすしといて"
post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?" post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示すんで"
show-clock-on-header: "右上をカリヨン広場にする(時計表示)" show-clock-on-header: "右上をカリヨン広場にする(時計表示)"
show-reply-target: "どこにリプライするんや見せて" show-reply-target: "どこにリプライするんや見せて"
timeline: "タイムライン" timeline: "タイムライン"
@@ -758,21 +770,22 @@ desktop/views/components/settings.vue:
show-renoted-my-notes: "わしのRenoteもタイムライン載せてくれや" show-renoted-my-notes: "わしのRenoteもタイムライン載せてくれや"
show-local-renotes: "ローカル投稿のRenoteも見たいんや" show-local-renotes: "ローカル投稿のRenoteも見たいんや"
show-maps: "地図勝手にバァーって開いてくれ" show-maps: "地図勝手にバァーって開いてくれ"
remain-deleted-note: "削除された投稿表示し続ける" remain-deleted-note: "削除された投稿表示しっぱなしにする"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "真ん中" deck-column-align-center: "真ん中"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド" sound: "サウンド"
enable-sounds: "サウンド鳴らす" enable-sounds: "サウンド鳴らす"
enable-sounds-desc: "投稿やメッセージもろたとき、音鳴らしたるわ。大丈夫や、この設定はブラウザが覚えてくれとる。" enable-sounds-desc: "投稿やメッセージもろたとき、音鳴らしたるわ。大丈夫や、この設定はブラウザが覚えてくれとる。"
volume: "ボリューム" volume: "ボリューム"
test: "テスト" test: "テスト"
language: "言語"
pick-language: "言語選んでや"
recommended: "おすすめ"
auto: "自動"
specify-language: "言語選んでくれ"
language-desc: "変更はページの再度読み込み後に反映されんで。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "お掃除" clean-cache: "お掃除"
cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。" cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。"
@@ -835,7 +848,7 @@ common/views/components/api-settings.vue:
title: 'APIコンソール' title: 'APIコンソール'
endpoint: 'エンドポイント' endpoint: 'エンドポイント'
parameter: 'パラメータ' parameter: 'パラメータ'
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは勝手に付くで。"
send: '送る' send: '送る'
sending: '応答待っとる' sending: '応答待っとる'
response: 'こんなん返ってきたわ' response: 'こんなん返ってきたわ'
@@ -852,8 +865,8 @@ common/views/components/mute-and-block.vue:
no-muted-users: "ミュートしとるユーザーはおらんで" no-muted-users: "ミュートしとるユーザーはおらんで"
no-blocked-users: "ブロックしとるユーザーはおらんで" no-blocked-users: "ブロックしとるユーザーはおらんで"
word-mute: "ワードミュート" word-mute: "ワードミュート"
muted-words: "ミュートされたキーワード" muted-words: "ミュートしとるキーワード"
muted-words-description: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります" muted-words-description: "スペースで区切るとAND指定、改行で区切るとOR指定"
save: "保存" save: "保存"
common/views/components/password-settings.vue: common/views/components/password-settings.vue:
reset: "パスワード変える" reset: "パスワード変える"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もっぺん入れてや" enter-new-password-again: "もっぺん入れてや"
not-match: "パスワードがおうとらん" not-match: "パスワードがおうとらん"
changed: "パスワード変えたわ" changed: "パスワード変えたわ"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は見せられへんわ" private: "この投稿は見せられへんわ"
deleted: "この投稿なんか無くなってもうたわ" deleted: "この投稿なんか無くなってもうたわ"
@@ -950,53 +964,63 @@ admin/views/instance.vue:
host: "ホスト" host: "ホスト"
banner-url: "バナー画像URL" banner-url: "バナー画像URL"
languages: "インスタンスの対象言語" languages: "インスタンスの対象言語"
languages-desc: "スペースで区切って複数設定できます。" languages-desc: "スペースで区切って複数設定できるで。"
maintainer-config: "管理者情報" maintainer-config: "管理者情報"
maintainer-name: "管理者名" maintainer-name: "管理者名"
maintainer-email: "管理者の連絡先" maintainer-email: "管理者の連絡先"
drive-config: "ドライブの設定" drive-config: "ドライブの設定"
cache-remote-files: "リモートのファイルをキャッシュする" cache-remote-files: "リモートのファイルをキャッシュする"
cache-remote-files-desc: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクるようになります。そのためサーバーのストレージを節約できますが、プライバシー設定で直リンクを無効にしているユーザーはファイルが見えなくなったり、サムネイルが生成されないので通信量が増加します。通常はこの設定をオンにしておくことをおすすめします。" cache-remote-files-desc: "この設定を無効にすると、リモートファイルをこっちで保管せずに直接リンクるようになるで。サーバーのストレージは軽くやろうけど、プライバシー設定で直リンクを向こうにしとるユーザーはファイルが見れへんし、サムネイルが無いから通信量が増えたりするから、普通はオンにしといてな。"
local-drive-capacity-mb: "ローカルユーザーひとりあたりのドライブ容量" local-drive-capacity-mb: "ローカルユーザーひとりあたりのドライブ容量"
remote-drive-capacity-mb: "リモートユーザーひとりあたりのドライブ容量" remote-drive-capacity-mb: "リモートユーザーひとりあたりのドライブ容量"
mb: "メガバイト単位" mb: "メガバイト単位"
recaptcha-config: "reCAPTCHAの設定" recaptcha-config: "reCAPTCHAの設定"
recaptcha-info: "reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。" recaptcha-info: "reCAPTCHAを有効にするにはreCAPTCHAトークンが要るで。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得して。"
enable-recaptcha: "reCAPTCHAを有効にする" enable-recaptcha: "reCAPTCHAを有効にする"
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定してや。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定してや。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定してや。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
proxy-account-config: "プロキシアカウントの設定" proxy-account-config: "プロキシアカウントの設定"
proxy-account-info: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。" proxy-account-info: "プロキシアカウントは、代わりにフォローしてくれるアカウント。例えば、551に豚まんが無いときやったり、ユーザーがリモートユーザーをアカウントに入れたとき、リストに入れられたユーザーが誰からもフォローされてないと寂しいやん。寂しいし、アクティビティも配達されへんから、プロキシアカウントがフォローしてくれるで。ええやつやん…"
proxy-account-username: "プロキシアカウントのユーザー名" proxy-account-username: "プロキシアカウントのユーザー名"
proxy-account-username-desc: "プロキシとして使用するアカウントのユーザー名を指定してください。" proxy-account-username-desc: "プロキシとして使用するアカウントのユーザー名を指定して"
proxy-account-warn: "アカウントは自動で作られないため、そのユーザー名のアカウントを予め作成しておく必要があります。" proxy-account-warn: "アカウント作るんはあんたがやってや。あんたのおかんもMisskeyもやってくれへんで。"
max-note-text-length: "投稿の最大文字数" max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する" disable-registration: "ユーザー登録の受付を止める"
disable-local-timeline: "ローカルタイムラインを無効にする" disable-local-timeline: "ローカルタイムラインを使えんようにする"
invite: "招待" invite: "来てや"
save: "保存" save: "保存"
saved: "保存しました" saved: "保存したで!"
user-recommendation-config: "おすすめユーザー" user-recommendation-config: "このユーザーええで"
enable-external-user-recommendation: "外部ユーザーレコメンデーションを有効にする" enable-external-user-recommendation: "外部ユーザーレコメンデーションを使えるようにする"
external-user-recommendation-engine: "エンジン" external-user-recommendation-engine: "エンジン"
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使うで。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1025,10 +1049,10 @@ admin/views/charts.vue:
admin/views/users.vue: admin/views/users.vue:
operation: "操作" operation: "操作"
username-or-userid: "ユーザー名またはユーザーID" username-or-userid: "ユーザー名またはユーザーID"
user-not-found: "ユーザーが見つかりません" user-not-found: "ユーザーが見つからへん!"
lookup: "照会" lookup: "照会"
reset-password: "パスワードをリセット" reset-password: "パスワードをリセット"
password-updated: "パスワードは現在「{password}」です" password-updated: "パスワードは現在「{password} 」やで"
suspend: "凍結" suspend: "凍結"
suspended: "凍結しました" suspended: "凍結しました"
unsuspend: "凍結の解除" unsuspend: "凍結の解除"
@@ -1145,8 +1169,8 @@ desktop/views/pages/user/user.profile.vue:
muted: "ミュートしとるで" muted: "ミュートしとるで"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロックする" block: "ブロックする"
unblock: "ブロック解除" unblock: "ブロックやめたる"
block-confirm: "このユーザーをブロックしますか?" block-confirm: "このユーザーをブロックしてええか?"
push-to-a-list: "リストに追加" push-to-a-list: "リストに追加"
list-pushed: "{user}を{list}に追加したで。" list-pushed: "{user}を{list}に追加したで。"
desktop/views/pages/user/user.header.vue: desktop/views/pages/user/user.header.vue:
@@ -1222,11 +1246,11 @@ mobile/views/components/media-video.vue:
sensitive: "ちょっと見せられへんわ" sensitive: "ちょっと見せられへんわ"
click-to-show: "押してみ、見せたるわ" click-to-show: "押してみ、見せたるわ"
common/views/components/follow-button.vue: common/views/components/follow-button.vue:
following: "フォロー" following: "フォローしとる"
follow: "フォロー" follow: "フォロー"
request-pending: "フォロー許可待ち" request-pending: "フォロー許してくれるん待っとる"
follow-processing: "フォロー処理" follow-processing: "フォロー処理やっとる‥"
follow-request: "フォロー申請" follow-request: "フォローさせてや!言うてみる"
mobile/views/components/friends-maker.vue: mobile/views/components/friends-maker.vue:
title: "おもろそうやな" title: "おもろそうやな"
empty: "おすすめのユーザーはおらん。" empty: "おすすめのユーザーはおらん。"
@@ -1312,7 +1336,7 @@ mobile/views/pages/home.vue:
mentions: "あんた宛て" mentions: "あんた宛て"
messages: "メッセージ" messages: "メッセージ"
mobile/views/pages/tag.vue: mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。" no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。"
mobile/views/pages/welcome.vue: mobile/views/pages/welcome.vue:
signup: "新規登録" signup: "新規登録"
mobile/views/pages/widgets.vue: mobile/views/pages/widgets.vue:
@@ -1339,16 +1363,11 @@ mobile/views/pages/games/reversi.vue:
reversi: "リバーシ" reversi: "リバーシ"
mobile/views/pages/search.vue: mobile/views/pages/search.vue:
search: "探す" search: "探す"
not-found: "「{q}」に関する投稿は見つかりませんでした。" not-found: "ワイは「{q}」なんて投稿知らんわ、無いんちゃう?知らんけど。"
mobile/views/pages/selectdrive.vue: mobile/views/pages/selectdrive.vue:
select-file: "ファイル選んでや" select-file: "ファイル選んでや"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "あんたは橋の下で拾った{}や!" signed-in-as: "あんたは橋の下で拾った{}や!"
lang: "言語"
lang-tip: "ページもっぺん読み込んだら反映したるで。"
recommended: "これええで"
auto: "勝手にやる"
specify-language: "言語選びや"
design: "見た感じ" design: "見た感じ"
dark-mode: "ナイトゲームや!" dark-mode: "ナイトゲームや!"
i-am-under-limited-internet: "電波と阪神がザコいんや" i-am-under-limited-internet: "電波と阪神がザコいんや"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "もとからの公開範囲" default-note-visibility: "もとからの公開範囲"
remember-note-visibility: "投稿の公開範囲おぼえといて" remember-note-visibility: "投稿の公開範囲おぼえといて"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q?{{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグなんて要らんわ" disable-via-mobile: "「モバイルからの投稿」フラグなんて要らんわ"
load-raw-images: "添付された画像もべっぴんさんのままにしといてな" load-raw-images: "添付された画像もべっぴんさんのままにしといてな"
load-remote-media: "東京とか、リモートサーバーのメディアも見せてや" load-remote-media: "東京とか、リモートサーバーのメディアも見せてや"
twitter: "鳥さんとも連携や!"
twitter-connect: "鳥さん邪魔すんで"
twitter-reconnect: "もっぺん繋ぎ直すで"
twitter-disconnect: "邪魔するんやったら帰って"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "あんたのMisskeyいつのや?" update: "あんたのMisskeyいつのや?"
version: "バージョン:" version: "バージョン:"
latest-version: "いっちゃん新しいやつ:" latest-version: "いっちゃん新しいやつ:"
@@ -1411,10 +1420,13 @@ mobile/views/pages/user.vue:
media: "メディア" media: "メディア"
is-suspended: "このユーザーはあかんわ。凍結されとる。" is-suspended: "このユーザーはあかんわ。凍結されとる。"
mute: "ミュート" mute: "ミュート"
unmute: "ミュート解除" unmute: "ミュートやめたる"
block: "ブロック" block: "ブロック"
unblock: "ブロックやめたる" unblock: "ブロックやめたる"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに入れたる"
select-list: "リスト選んでや"
list-pushed: "{user}を{list}に追加したで"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近儲かりまっか?" recent-notes: "最近儲かりまっか?"
images: "画像" images: "画像"
@@ -1439,21 +1451,21 @@ deck:
hybrid: "ソーシャル" hybrid: "ソーシャル"
hashtag: "ハッシュタグ" hashtag: "ハッシュタグ"
global: "グローバル" global: "グローバル"
mentions: "あた宛て" mentions: "あた宛て"
direct: "ダイレクト投稿" direct: "ダイレクト投稿"
notifications: "通知" notifications: "通知"
list: "リスト" list: "リスト"
swap-left: "左に移動" swap-left: "左に移動や!"
swap-right: "右に移動" swap-right: "右に移動や!"
swap-up: "上に移動" swap-up: "上に移動や!"
swap-down: "下に移動" swap-down: "下に移動や!"
remove: "カラムを削除" remove: "カラムにさいなら"
add-column: "カラムを追加" add-column: "カラム増やす"
rename: "名前を変" rename: "名前を変えるで"
stack-left: "左に重ね" stack-left: "左に重ねんで!"
pop-right: "右に出す" pop-right: "右に出すで!"
deck/deck.tl-column.vue: deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ" is-media-only: "メディア投稿だけや"
is-media-view: "メディアビュー" is-media-view: "メディアビュー"
edit: "オプション" edit: "オプション"
deck/deck.user-column.vue: deck/deck.user-column.vue:
@@ -1463,8 +1475,8 @@ deck/deck.user-column.vue:
images: "画像" images: "画像"
activity: "アクティビティ" activity: "アクティビティ"
timeline: "タイムライン" timeline: "タイムライン"
pinned-notes: "ピン留めされた投稿" pinned-notes: "ピン留めしはった投稿"
push-to-a-list: "リストに追加" push-to-a-list: "リストに入れたる"
docs: docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?" edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集" edit-this-page-on-github-link: "このページをGitHubで編集"
+1177 -1165
View File
File diff suppressed because it is too large Load Diff
+51 -39
View File
@@ -26,6 +26,7 @@ common:
close: "閉じる" close: "閉じる"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "わかった" got-it: "わかった"
customization-tips: customization-tips:
title: "カスタマイズのヒント" title: "カスタマイズのヒント"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -157,7 +160,6 @@ common:
polls: "アンケート" polls: "アンケート"
post-form: "投稿フォーム" post-form: "投稿フォーム"
server: "サーバー情報" server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション" nav: "ナビゲーション"
tips: "ヒント" tips: "ヒント"
hashtags: "ハッシュタグ" hashtags: "ハッシュタグ"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Gebruiker zoeken" search-user: "Gebruiker zoeken"
you: "Jij" you: "Jij"
@@ -399,13 +403,11 @@ 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/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "Als je je Twitter-account verbindt met je Misskey-account, dan kun je je Twitter-accountinformatie terugzien op je profiel en kun je inloggen met Twitter." title: "サービス連携"
connected-to: "Je bent verbonden met dit Twitter-account" connect: "接続する"
detail: "Details..." disconnect: "切断する"
reconnect: "Opnieuw verbinden" connected-to: "次のアカウントに接続されています"
connect: "Koppel je Twitter-account"
disconnect: "Verbinding verbreken"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "Bezig met ophalen" fetching: "Bezig met ophalen"
no-broadcasts: "Geen uitzendingen" no-broadcasts: "Geen uitzendingen"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今日:" today: "今日:"
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "Donatie"
text: "Om Misskey draaiende te houden, geven we geld uit aan onze domeinnaam, servers, enz. We maken hier geen winst op, dus we zouden het fijn vinden als je een donatie wilt doen. Neem in dat geval contact op via {}. Bedankt voor je bijdrage!"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "Fotostream" title: "Fotostream"
no-photos: "Geen foto's" no-photos: "Geen foto's"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "Venster automatisch uitvouwen" auto-popout: "Venster automatisch uitvouwen"
auto-popout-desc: "Venster uitvouwen, indien mogelijk. Deze instelling wordt opgeslagen in je browser." auto-popout-desc: "Venster uitvouwen, indien mogelijk. Deze instelling wordt opgeslagen in je browser."
advanced: "Geavanceerde instellingen" advanced: "Geavanceerde instellingen"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
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"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "Antwoord-knop tonen" show-reply-target: "Antwoord-knop tonen"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "Kaart tonen" show-maps: "Kaart tonen"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "Geluid" sound: "Geluid"
enable-sounds: "Geluid inschakelen" enable-sounds: "Geluid inschakelen"
enable-sounds-desc: "Een geluid afspelen bij het ontvangen van een bericht. Deze instelling wordt opgeslagen in je browser." enable-sounds-desc: "Een geluid afspelen bij het ontvangen van een bericht. Deze instelling wordt opgeslagen in je browser."
volume: "Volume" volume: "Volume"
test: "Testen" test: "Testen"
language: "Taal"
pick-language: "Selecteer een taal"
recommended: "Aanbevolen"
auto: "Automatisch"
specify-language: "Taal opgeven"
language-desc: "Je moet de pagina herladen om de wijzigingen toe te passen."
cache: "Cache" cache: "Cache"
clean-cache: "Opschonen" clean-cache: "Opschonen"
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."
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "Kies een bestand" select-file: "Kies een bestand"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "Ingelogd als {}" signed-in-as: "Ingelogd als {}"
lang: "Taal"
lang-tip: "Je moet de pagina herladen om de wijzigingen toe te passen."
recommended: "Aanbevolen"
auto: "Automatisch"
specify-language: "Taal opgeven"
design: "Ontwerp en weergave" design: "Ontwerp en weergave"
dark-mode: "Donkere modus" dark-mode: "Donkere modus"
i-am-under-limited-internet: "Ik heb beperkt internet" i-am-under-limited-internet: "Ik heb beperkt internet"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "Zonder 'mobiele berichten'" disable-via-mobile: "Zonder 'mobiele berichten'"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter-integratie"
twitter-connect: "Mijn Twitter-account verbinden"
twitter-reconnect: "Opnieuw verbinden"
twitter-disconnect: "Verbinding verbreken"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey-update" update: "Misskey-update"
version: "Huidige versie:" version: "Huidige versie:"
latest-version: "Nieuwste versie:" latest-version: "Nieuwste versie:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "Recente notities" recent-notes: "Recente notities"
images: "Afbeeldingen" images: "Afbeeldingen"
+51 -39
View File
@@ -26,6 +26,7 @@ common:
close: "Lukk" close: "Lukk"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "Skjønner!" got-it: "Skjønner!"
customization-tips: customization-tips:
title: "カスタマイズのヒント" title: "カスタマイズのヒント"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -157,7 +160,6 @@ common:
polls: "アンケート" polls: "アンケート"
post-form: "投稿フォーム" post-form: "投稿フォーム"
server: "サーバー情報" server: "サーバー情報"
donation: "寄付のお願い"
nav: "ナビゲーション" nav: "ナビゲーション"
tips: "Tips" tips: "Tips"
hashtags: "ハッシュタグ" hashtags: "ハッシュタグ"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "Skjul" hide: "Skjul"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "Du" you: "Du"
@@ -399,13 +403,11 @@ 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/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。" title: "サービス連携"
connected-to: "次のTwitterアカウントに接続されています" connect: "接続する"
detail: "Detaljer..." disconnect: "切断する"
reconnect: "Koble til på nytt" connected-to: "次のアカウントに接続されています"
connect: "Twitterと接続する"
disconnect: "Koble fra"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "Henter" fetching: "Henter"
no-broadcasts: "お知らせはありません" no-broadcasts: "お知らせはありません"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "I dag:" today: "I dag:"
this-month: "Denne måneden:" this-month: "Denne måneden:"
this-year: "Dette året:" this-year: "Dette året:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "フォトストリーム" title: "フォトストリーム"
no-photos: "写真はありません" no-photos: "写真はありません"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト" auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "Avanserte innstillinger" advanced: "Avanserte innstillinger"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する" show-reply-target: "リプライ先を表示する"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開" show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "Lyd" sound: "Lyd"
enable-sounds: "サウンドを有効にする" enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "Volum" volume: "Volum"
test: "Test" test: "Test"
language: "Språk"
pick-language: "Velg språk"
recommended: "Anbefalt"
auto: "Automatisk"
specify-language: "Angi språk"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "Hurtiglager" cache: "Hurtiglager"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択" select-file: "ファイルを選択"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "Språk"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "Anbefalt"
auto: "Automatisk"
specify-language: "Angi språk"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "Koble til på nytt"
twitter-disconnect: "Koble fra"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update" update: "Misskey Update"
version: "バージョン:" version: "バージョン:"
latest-version: "最新のバージョン:" latest-version: "最新のバージョン:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "Nylige innlegg" recent-notes: "Nylige innlegg"
images: "Bilder" images: "Bilder"
+216 -204
View File
@@ -7,16 +7,16 @@ common:
about-title: "⭐ Fediwersum" about-title: "⭐ Fediwersum"
about: "Dziękujemy za znalezienie Misskey. Misskey jest <b>zdecentralizowaną platformą mikroblogową</b> powstałą na Ziemi. Ponieważ działa ona w Fediwersum (uniwersum, w którego skład wchodzi wiele sieci społecznościowych), jest ona połączona z innymi platformami społecznościowymi. Spróbujesz odpocząć od zatłoczoneo miasta i zanurzyć się w nowym Internecie?" about: "Dziękujemy za znalezienie Misskey. Misskey jest <b>zdecentralizowaną platformą mikroblogową</b> powstałą na Ziemi. Ponieważ działa ona w Fediwersum (uniwersum, w którego skład wchodzi wiele sieci społecznościowych), jest ona połączona z innymi platformami społecznościowymi. Spróbujesz odpocząć od zatłoczoneo miasta i zanurzyć się w nowym Internecie?"
intro: intro:
title: "Misskeyって?" title: "Czym jest Misskey?"
about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。" about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。"
features: "特徴" features: "特徴"
rich-contents: "投稿" rich-contents: "投稿"
rich-contents-desc: "自分の考え、話題の出来事、皆と共有したいことについて発信してください。必要であれば、様々な構文を使って投稿を装飾したり、好きな画像、動画などのファイルやアンケートを添付することもできます。" rich-contents-desc: "自分の考え、話題の出来事、皆と共有したいことについて発信してください。必要であれば、様々な構文を使って投稿を装飾したり、好きな画像、動画などのファイルやアンケートを添付することもできます。"
reaction: "リアクション" reaction: "Reakcje"
reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。" reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。"
ui: "インターフェース" ui: "Interfejs"
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。" ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
drive: "ドライブ" drive: "Dysk"
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。" drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。"
outro: "他にもMisskeyにしかない機能はまだまだあるので、ぜひあなた自身の目で確かめてください。Misskeyは分散型SNSなので、このインスタンスが気に入らなければ他のインスタンスを試すこともできます。それでは、GLHF!" outro: "他にもMisskeyにしかない機能はまだまだあるので、ぜひあなた自身の目で確かめてください。Misskeyは分散型SNSなので、このインスタンスが気に入らなければ他のインスタンスを試すこともできます。それでは、GLHF!"
adblock: adblock:
@@ -25,7 +25,8 @@ common:
application-authorization: "アプリの連携" application-authorization: "アプリの連携"
close: "Zamknij" close: "Zamknij"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
load-more: "もっと読み込む" load-more: "Załaduj więcej"
enter-password: "Wprowadź Hasło"
got-it: "Rozumiem!" got-it: "Rozumiem!"
customization-tips: customization-tips:
title: "Wskazówki o dostosowywaniu" title: "Wskazówki o dostosowywaniu"
@@ -52,8 +53,8 @@ common:
years_ago: "{} lat temu" years_ago: "{} lat temu"
month-and-day: "{month}-{day}" month-and-day: "{month}-{day}"
trash: "Kosz" trash: "Kosz"
drive: "ドライブ" drive: "Dysk"
messaging: "トーク" messaging: "Rozmowy"
weekday-short: weekday-short:
sunday: "N" sunday: "N"
monday: "Pn" monday: "Pn"
@@ -82,17 +83,17 @@ common:
rip: "RIP" rip: "RIP"
pudding: "Pudding" pudding: "Pudding"
note-visibility: note-visibility:
public: "公開" public: "Publiczny"
home: "ホーム" home: "Lokalny"
home-desc: "ホームタイムラインにのみ公開" home-desc: "Widoczny tylko na tej instancji"
followers: "フォロワー" followers: "Dla śledzących"
followers-desc: "自分のフォロワーにのみ公開" followers-desc: "Widoczny tylko dla osób, które Cię śledzą"
specified: "ダイレクト" specified: "Bezpośredni"
specified-desc: "指定したユーザーにのみ公開" specified-desc: "Tylko dla określonych użytkowników"
private: "非公開" private: "Prywatny"
local-public: "公開 (ローカルのみ)" local-public: "Publiczny (tylko lokalnie)"
local-home: "ホーム (ローカルのみ)" local-home: "ホーム (ローカルのみ)"
local-followers: "フォロワー (ローカルのみ)" local-followers: "Dla śledzących (tylko lokalnie)"
note-placeholders: note-placeholders:
a: "Co robisz?" a: "Co robisz?"
b: "Co się wydarzyło?" b: "Co się wydarzyło?"
@@ -109,24 +110,26 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "Wyłącz animowany tekst we wpisach" disable-animated-mfm: "Wyłącz animowany tekst we wpisach"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "Zawsze oznaczaj posty z multimediami jako NSFW"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
show-via: "viaを表示する" show-via: "viaを表示する"
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: "Użyj domyślnych Emoji systemowych"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
is-remote-user: "このユーザー情報はコピーです。" is-remote-user: "Informacje o użytkowniku są kopiowane."
is-remote-post: "この投稿情報はコピーです。" is-remote-post: "この投稿情報はコピーです。"
view-on-remote: "正確な情報を見る" view-on-remote: "正確な情報を見る"
renoted-by: "{user}がRenote" renoted-by: "{user}がRenote"
error: error:
title: '問題が発生しました' title: 'Coś poszło nie tak'
retry: 'やり直す' retry: 'Ponów próbę'
reversi: reversi:
drawn: "Remis" drawn: "Remis"
my-turn: "Twoja kolej" my-turn: "Twoja kolej"
@@ -157,7 +160,6 @@ common:
polls: "Ankiety" polls: "Ankiety"
post-form: "Formularz tworzenia" post-form: "Formularz tworzenia"
server: "Informacje o serwerze" server: "Informacje o serwerze"
donation: "Dotacje"
nav: "Nawigacja" nav: "Nawigacja"
tips: "Wskazówki" tips: "Wskazówki"
hashtags: "Hashtagi" hashtags: "Hashtagi"
@@ -192,8 +194,8 @@ common/views/components/games/reversi/reversi.vue:
waiting-for: "Oczekiwanie na {}" waiting-for: "Oczekiwanie na {}"
cancel: "Anuluj" cancel: "Anuluj"
common/views/components/games/reversi/reversi.game.vue: common/views/components/games/reversi/reversi.game.vue:
surrender: "投了" surrender: "Poddaj się"
surrendered: "投了により" surrendered: "Przez poddanie się"
is-llotheo: "石の少ない方が勝ち(ロセオ)" is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ" looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード" can-put-everywhere: "どこでも置けるモード"
@@ -261,40 +263,42 @@ common/views/components/theme.vue:
light-theme: "非ダークモード時に使用するテーマ" light-theme: "非ダークモード時に使用するテーマ"
dark-theme: "ダークモード時に使用するテーマ" dark-theme: "ダークモード時に使用するテーマ"
light-themes: "明るいテーマ" light-themes: "明るいテーマ"
dark-themes: "暗いテーマ" dark-themes: "Ciemny motyw"
install-a-theme: "テーマのインストール" install-a-theme: "Zainstaluj motyw"
theme-code: "テーマコード" theme-code: "Kod motywu"
install: "インストール" install: "Zainstaluj"
installed: "「{}」をインストールしました" installed: "\"{}\" został zainstalowany"
create-a-theme: "テーマの作成" create-a-theme: "Stwórz motyw"
save-created-theme: "テーマを保存" save-created-theme: "Zapisz motyw"
primary-color: "プライマリ カラー" primary-color: "Kolor podstawowy"
secondary-color: "セカンダリ カラー" secondary-color: "Kolor dodatkowy"
text-color: "文字色" text-color: "Kolor tekstu"
base-theme: "ベーステーマ" base-theme: "Podstawowy motyw"
base-theme-light: "Light" base-theme-light: "Jasny"
base-theme-dark: "Dark" base-theme-dark: "Ciemny"
theme-name: "テーマ名" theme-name: "Nazwa motywu"
preview-created-theme: "プレビュー" preview-created-theme: "プレビュー"
invalid-theme: "テーマが正しくありません。" invalid-theme: "テーマが正しくありません。"
already-installed: "既にそのテーマはインストールされています。" already-installed: "既にそのテーマはインストールされています。"
saved: "保存しました" saved: "Zapisano"
manage-themes: "テーマの管理" manage-themes: "Zarządzanie motywami"
builtin-themes: "標準テーマ" builtin-themes: "標準テーマ"
my-themes: "マイテーマ" my-themes: "マイテーマ"
installed-themes: "インストールされたテーマ" installed-themes: "インストールされたテーマ"
select-theme: "テーマを選択してください" select-theme: "テーマを選択してください"
uninstall: "アンインストール" uninstall: "アンインストール"
uninstalled: "「{}」をアンインストールしました" uninstalled: "「{}」をアンインストールしました"
author: "作者" author: "Author"
desc: "説明" desc: "Opis"
export: "エクスポート" export: "エクスポート"
import: "インポート" import: "インポート"
import-by-code: "またはコードをペースト" import-by-code: "lub wklej kod"
theme-name-required: "テーマ名は必須です。" theme-name-required: "テーマ名は必須です。"
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "Ukryj"
show: "もっと見る" show: "Pokaż więcej"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "Znajdź użytkownika" search-user: "Znajdź użytkownika"
you: "Ty" you: "Ty"
@@ -324,12 +328,12 @@ 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:
detail: "詳細" detail: "Szczegóły"
copy-link: "リンクをコピー" copy-link: "Skopiuj adres"
favorite: "Dodaj do ulubionych" favorite: "Dodaj do ulubionych"
unfavorite: "お気に入り解除" unfavorite: "Usuń z ulubionych"
pin: "Przypnij do profilu" pin: "Przypnij do profilu"
unpin: "ピン留め解除" unpin: "Odepnij"
delete: "Usuń" delete: "Usuń"
delete-confirm: "Czy na pewno chcesz usunąć ten wpis?" delete-confirm: "Czy na pewno chcesz usunąć ten wpis?"
remote: "Pokaż oryginał" remote: "Pokaż oryginał"
@@ -350,7 +354,7 @@ common/views/components/reaction-picker.vue:
choose-reaction: "Wybierz reakcję" choose-reaction: "Wybierz reakcję"
common/views/components/emoji-picker.vue: common/views/components/emoji-picker.vue:
custom-emoji: "カスタム絵文字" custom-emoji: "カスタム絵文字"
people: "" people: "Ludzie"
animals-and-nature: "動物&自然" animals-and-nature: "動物&自然"
food-and-drink: "食べ物&飲み物" food-and-drink: "食べ物&飲み物"
activity: "アクティビティ" activity: "アクティビティ"
@@ -366,8 +370,8 @@ common/views/components/signin.vue:
signin: "Zaloguj" signin: "Zaloguj"
or: "または" or: "または"
signin-with-twitter: "Zaloguj się za pomocą Twittera" signin-with-twitter: "Zaloguj się za pomocą Twittera"
signin-with-github: "GitHubでログイン" signin-with-github: "Zaloguj się za pomocą GitHuba"
signin-with-discord: "Discordでログイン" signin-with-discord: "Zaloguj się za pomocą Discorda"
login-failed: "ログインできませんでした。ユーザー名とパスワードを確認してください。" login-failed: "ログインできませんでした。ユーザー名とパスワードを確認してください。"
common/views/components/signup.vue: common/views/components/signup.vue:
invitation-code: "招待コード" invitation-code: "招待コード"
@@ -399,13 +403,11 @@ 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/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "Jeżeli połączysz konto Twittera z kontem Misskey, informacje z Twittera będą widoczne na Twoim profilu i będziesz mógł logować się z użyciem Twittera." title: "サービス連携"
connected-to: "Jesteś połączony z tym kontem Twittera" connect: "接続する"
detail: "Szczegóły…" disconnect: "切断する"
reconnect: "Połącz ponownie" connected-to: "次のアカウントに接続されています"
connect: "Połącz z kontem Twittera"
disconnect: "Rozłącz"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,25 +440,37 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "Język"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "Musisz odświeżyć stronę, aby zmiany zostały uwzględnione."
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "Twój profil"
name: "名前" name: "Nazwa"
account: "アカウント" account: "Konto"
location: "場所" location: "Lokalizacja"
description: "自己紹介" description: "O mnie"
birthday: "誕生日" language: "Język"
avatar: "アイコン" birthday: "Data urodzenia"
banner: "バナー" avatar: "Awatar"
is-cat: "このアカウントはCatです" banner: "Baner"
is-bot: "このアカウントはBotです" is-cat: "To konto jest prowadzone przez kota"
is-locked: "フォローを承認制にする" is-bot: "To konto jest prowadzone przez bota"
is-locked: "Żądanania śledzenia wymagają zatwierdzenia"
careful-bot: "Botからのフォローだけ承認制にする" careful-bot: "Botからのフォローだけ承認制にする"
advanced: "その他" advanced: "Inne"
privacy: "プライバシー" privacy: "Prywatność"
save: "保存" save: "Zapisz"
saved: "プロフィールを保存しました" saved: "Pomyślnie zaktualizowano profil"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "Sprawdzanie" fetching: "Sprawdzanie"
no-broadcasts: "Brak transmisji" no-broadcasts: "Brak transmisji"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "Dzisiaj:" today: "Dzisiaj:"
this-month: "Ten miesiąc:" this-month: "Ten miesiąc:"
this-year: "Ten rok:" this-year: "Ten rok:"
common/views/widgets/donation.vue:
title: "Dotacje"
text: "Aby utrzymywać Misskey, płacimy za domenę, serwery i nie tylko… Nie zarabiamy na tym, więc byłoby nam miło, gdybyśmy uzyskali od Ciebie dotację. Jeżeli jesteś zainteresowany, skontaktuj się z {}. Dziękujemy za wsparcie!"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "Photostream" title: "Photostream"
no-photos: "Brak zdjęć" no-photos: "Brak zdjęć"
@@ -715,7 +726,7 @@ desktop/views/components/settings.vue:
profile: "Profil" profile: "Profil"
notification: "Powiadomienia" notification: "Powiadomienia"
apps: "Aplikacje" apps: "Aplikacje"
tags: "ハッシュタグ" tags: "Hashtagi"
mute-and-block: "ミュート/ブロック" mute-and-block: "ミュート/ブロック"
blocking: "ブロック" blocking: "ブロック"
security: "Bezpieczeństwo" security: "Bezpieczeństwo"
@@ -724,13 +735,15 @@ desktop/views/components/settings.vue:
2fa: "Uwierzytelnianie dwuetapowe" 2fa: "Uwierzytelnianie dwuetapowe"
other: "Inne" other: "Inne"
license: "Licencja" license: "Licencja"
theme: "テーマ" 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ół"
fetch-on-scroll-desc: "Po przewinięciu na dół strony automatycznie zostaną załadowane nowe treści." fetch-on-scroll-desc: "Po przewinięciu na dół strony automatycznie zostaną załadowane nowe treści."
note-visibility: "投稿の公開範囲" note-visibility: "Widoczność wpisów"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "Domyślna widoczność"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "Automatycznie pojawiające się okna" auto-popout: "Automatycznie pojawiające się okna"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "Ustawienia zaawansowane" advanced: "Ustawienia zaawansowane"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
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"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "Pokazuj cel odpowiedzi" show-reply-target: "Pokazuj cel odpowiedzi"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "Automatycznie pokazuj mapę" show-maps: "Automatycznie pokazuj mapę"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "Elastyczne"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "Dźwięk" sound: "Dźwięk"
enable-sounds: "Włącz dźwięk" enable-sounds: "Włącz dźwięk"
enable-sounds-desc: "Odtwarzaj dźwięk przy wstawianiu wpisów, wysyłaniu lub otrzymywaniu wiadomości. Opcja ta jest zapamiętywana przez przeglądarkę." enable-sounds-desc: "Odtwarzaj dźwięk przy wstawianiu wpisów, wysyłaniu lub otrzymywaniu wiadomości. Opcja ta jest zapamiętywana przez przeglądarkę."
volume: "Głośność" volume: "Głośność"
test: "Test" test: "Test"
language: "Język"
pick-language: "Wybierz język"
recommended: "Zalecane"
auto: "Automatycznie"
specify-language: "Wybierz język"
language-desc: "Aby zmiany zostały uwzględnione, odśwież stronę."
cache: "Pamięć podręczna" cache: "Pamięć podręczna"
clean-cache: "Wyczyść" clean-cache: "Wyczyść"
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."
@@ -830,13 +843,13 @@ common/views/components/api-settings.vue:
regeneration-of-token: "万が一このトークンが漏れたりその可能性がある場合はトークンを再生成できます。" regeneration-of-token: "万が一このトークンが漏れたりその可能性がある場合はトークンを再生成できます。"
regenerate-token: "トークンを再生成" regenerate-token: "トークンを再生成"
token: "Token:" token: "Token:"
enter-password: "パスワードを入力してください" enter-password: "Wprowadź hasło"
console: console:
title: 'APIコンソール' title: 'Konsola API'
endpoint: 'エンドポイント' endpoint: 'エンドポイント'
parameter: 'パラメータ' parameter: 'Parametry'
credential-info: "「i」パラメータは自動で付与されます。" credential-info: "「i」パラメータは自動で付与されます。"
send: '送信' send: 'Wyślij'
sending: '応答待ち' sending: '応答待ち'
response: '結果' response: '結果'
desktop/views/components/settings.apps.vue: desktop/views/components/settings.apps.vue:
@@ -844,17 +857,17 @@ desktop/views/components/settings.apps.vue:
common/views/components/drive-settings.vue: common/views/components/drive-settings.vue:
max: "容量" max: "容量"
in-use: "使用中" in-use: "使用中"
stats: "統計" stats: "Statystyki"
common/views/components/mute-and-block.vue: common/views/components/mute-and-block.vue:
mute-and-block: "ミュートとブロック" mute-and-block: "Wyczisz / Zablokuj"
mute: "ミュート" mute: "Wycisz"
block: "ブロック" block: "ブロック"
no-muted-users: "ミュートしているユーザーはいません" no-muted-users: "Brak wyciszonych użytkowników"
no-blocked-users: "ブロックしているユーザーはいません" no-blocked-users: "Brak zablokowanych użytkowników"
word-mute: "ワードミュート" word-mute: "Wyciszenie słowa"
muted-words: "ミュートされたキーワード" muted-words: "ミュートされたキーワード"
muted-words-description: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります" muted-words-description: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります"
save: "保存" save: "Zapisz"
common/views/components/password-settings.vue: common/views/components/password-settings.vue:
reset: "パスワードを変更する" reset: "パスワードを変更する"
enter-current-password: "現在のパスワードを入力してください" enter-current-password: "現在のパスワードを入力してください"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "ten wpis jest prywatny" private: "ten wpis jest prywatny"
deleted: "ten wpis został usunięty" deleted: "ten wpis został usunięty"
@@ -874,10 +888,10 @@ desktop/views/components/timeline.vue:
local: "Lokalne" local: "Lokalne"
hybrid: "Społeczność" hybrid: "Społeczność"
global: "Globalne" global: "Globalne"
mentions: "あなた宛て" mentions: "Wspomnienia"
messages: "メッセージ" messages: "Wiadomości"
list: "Listy" list: "Listy"
hashtag: "ハッシュタグ" hashtag: "Hashtag"
add-tag-timeline: "ハッシュタグを追加" add-tag-timeline: "ハッシュタグを追加"
add-list: "リストを追加" add-list: "リストを追加"
list-name: "リスト名" list-name: "リスト名"
@@ -890,7 +904,7 @@ desktop/views/components/ui.header.account.vue:
lists: "Listy" lists: "Listy"
follow-requests: "Prośby o śledzenie" follow-requests: "Prośby o śledzenie"
customize: "Dostosuj stronę główną" customize: "Dostosuj stronę główną"
admin: "管理" admin: "Admin"
settings: "Ustawienia" settings: "Ustawienia"
signout: "Wyloguj się" signout: "Wyloguj się"
dark: "Sprowadź ciemność" dark: "Sprowadź ciemność"
@@ -926,18 +940,18 @@ desktop/views/components/window.vue:
popout: "Pop-out" popout: "Pop-out"
close: "Zamknij" close: "Zamknij"
admin/views/index.vue: admin/views/index.vue:
dashboard: "ダッシュボード" dashboard: "Kokpit"
instance: "インスタンス" instance: "Instancja"
emoji: "カスタム絵文字" emoji: "Emoji"
moderators: "モデレーター" moderators: "Moderatorzy"
users: "ユーザー" users: "ユーザー"
federation: "連合" federation: "連合"
announcements: "お知らせ" announcements: "Ogłoszenia"
hashtags: "ハッシュタグ" hashtags: "Hashtagi"
back-to-misskey: "Misskeyに戻る" back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue: admin/views/dashboard.vue:
dashboard: "ダッシュボード" dashboard: "ダッシュボード"
accounts: "アカウント" accounts: "Konta"
notes: "投稿" notes: "投稿"
drive: "ドライブ" drive: "ドライブ"
instances: "インスタンス" instances: "インスタンス"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -988,24 +1002,34 @@ admin/views/instance.vue:
max-note-text-length: "投稿の最大文字数" max-note-text-length: "投稿の最大文字数"
disable-registration: "ユーザー登録の受付を停止する" disable-registration: "ユーザー登録の受付を停止する"
disable-local-timeline: "ローカルタイムラインを無効にする" disable-local-timeline: "ローカルタイムラインを無効にする"
invite: "招待" invite: "Zaproś"
save: "保存" save: "Zapisz"
saved: "保存しました" saved: "Zapisano"
user-recommendation-config: "おすすめユーザー" user-recommendation-config: "Polecani użytkownicy"
enable-external-user-recommendation: "外部ユーザーレコメンデーションを有効にする" enable-external-user-recommendation: "外部ユーザーレコメンデーションを有効にする"
external-user-recommendation-engine: "エンジン" external-user-recommendation-engine: "Silnik"
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
per-hour: "1時間ごと" per-hour: "1時間ごと"
federation: "フェデレーション" federation: "フェデレーション"
notes: "投稿" notes: "Wpisy"
users: "ユーザー" users: "Użytkownicy"
drive: "ドライブ" drive: "Dysk"
network: "ネットワーク" network: "Sieć"
charts: charts:
federation-instances: "インスタンスの増減" federation-instances: "インスタンスの増減"
federation-instances-total: "インスタンスの積算" federation-instances-total: "インスタンスの積算"
@@ -1019,8 +1043,8 @@ admin/views/charts.vue:
drive-total: "ドライブ使用量の積算" drive-total: "ドライブ使用量の積算"
drive-files: "ドライブのファイル数の増減" drive-files: "ドライブのファイル数の増減"
drive-files-total: "ドライブのファイル数の積算" drive-files-total: "ドライブのファイル数の積算"
network-requests: "リクエスト" network-requests: "Żądania"
network-time: "応答時間" network-time: "Czas reakcji"
network-usage: "通信量" network-usage: "通信量"
admin/views/users.vue: admin/views/users.vue:
operation: "操作" operation: "操作"
@@ -1038,19 +1062,19 @@ admin/views/users.vue:
unverify: "公式アカウントを解除する" unverify: "公式アカウントを解除する"
unverified: "公式アカウントを解除しました" unverified: "公式アカウントを解除しました"
users: users:
title: "ユーザー" title: "Użytkownicy"
sort: sort:
title: "ソート" title: "Sortuj"
createdAtAsc: "登録日時が古い順" createdAtAsc: "登録日時が古い順"
createdAtDesc: "登録日時が新しい順" createdAtDesc: "登録日時が新しい順"
updatedAtAsc: "更新日時が古い順" updatedAtAsc: "更新日時が古い順"
updatedAtDesc: "更新日時が新しい順" updatedAtDesc: "更新日時が新しい順"
origin: origin:
title: "オリジン" title: "Źródło"
combined: "ローカル+リモート" combined: "ローカル+リモート"
local: "ローカル" local: "Lokalny"
remote: "リモート" remote: "Zdalny"
createdAt: "登録日時" createdAt: "Utworzono"
updatedAt: "更新日時" updatedAt: "更新日時"
admin/views/moderators.vue: admin/views/moderators.vue:
add-moderator: add-moderator:
@@ -1070,23 +1094,23 @@ admin/views/emoji.vue:
added: "絵文字を登録しました" added: "絵文字を登録しました"
emojis: emojis:
title: "絵文字一覧" title: "絵文字一覧"
update: "更新" update: "Aktualizuj"
remove: "削除" remove: "Usuń"
updated: "更新しました" updated: "Zaktualizowano"
remove-emoji: remove-emoji:
are-you-sure: "「$1」を削除しますか?" are-you-sure: "Usunąć \"$1\"?"
removed: "削除しました" removed: "Usunięto"
admin/views/announcements.vue: admin/views/announcements.vue:
announcements: "お知らせ" announcements: "Ogłoszenia"
save: "保存" save: "Zapisz"
remove: "削除" remove: "Usuń"
add: "追加" add: "Dodaj"
title: "タイトル" title: "Tytuł"
text: "内容" text: "内容"
saved: "保存しました" saved: "Zapisano"
_remove: _remove:
are-you-sure: "「$1」を削除しますか?" are-you-sure: "Usunąć \"$1\"?"
removed: "削除しました" removed: "Usunięto"
admin/views/hashtags.vue: admin/views/hashtags.vue:
hided-tags: "Hidden Tags" hided-tags: "Hidden Tags"
desktop/views/pages/welcome.vue: desktop/views/pages/welcome.vue:
@@ -1097,10 +1121,10 @@ desktop/views/pages/welcome.vue:
signin-button: "Zaloguj się" signin-button: "Zaloguj się"
signup-button: "Zarejestruj się" signup-button: "Zarejestruj się"
timeline: "Oś czasu" timeline: "Oś czasu"
announcements: "お知らせ" announcements: "Ogłoszenia"
photos: "最近の画像" photos: "Ostatnie obrazy"
powered-by-misskey: "Oparto o <b>Misskey</b>." powered-by-misskey: "Oparto o <b>Misskey</b>."
info: "情報" info: "Informacje"
desktop/views/pages/drive.vue: desktop/views/pages/drive.vue:
title: "Dysk Misskey" title: "Dysk Misskey"
desktop/views/pages/home-customize.vue: desktop/views/pages/home-customize.vue:
@@ -1144,7 +1168,7 @@ desktop/views/pages/user/user.profile.vue:
mute: "Wycisz" mute: "Wycisz"
muted: "Wyciszyłeś" muted: "Wyciszyłeś"
unmute: "Cofnij wyciszenie" unmute: "Cofnij wyciszenie"
block: "ブロックする" block: "Zablokuj"
unblock: "ブロック解除" unblock: "ブロック解除"
block-confirm: "このユーザーをブロックしますか?" block-confirm: "このユーザーをブロックしますか?"
push-to-a-list: "Dodaj do listy" push-to-a-list: "Dodaj do listy"
@@ -1154,10 +1178,10 @@ desktop/views/pages/user/user.header.vue:
following: "Śledzeni" following: "Śledzeni"
followers: "Śledzący" followers: "Śledzący"
is-bot: "To konto jest botem" is-bot: "To konto jest botem"
years-old: "{age}" years-old: "{age} lat"
year: "" year: "/"
month: "" month: "/"
day: "" day: "-"
desktop/views/pages/user/user.timeline.vue: desktop/views/pages/user/user.timeline.vue:
default: "Wpisy" default: "Wpisy"
with-replies: "Wpisy i odpowiedzi" with-replies: "Wpisy i odpowiedzi"
@@ -1223,10 +1247,10 @@ mobile/views/components/media-video.vue:
click-to-show: "Naciśnij aby wyświetlić" click-to-show: "Naciśnij aby wyświetlić"
common/views/components/follow-button.vue: common/views/components/follow-button.vue:
following: "フォロー中" following: "フォロー中"
follow: "フォロー" follow: "Śledź"
request-pending: "フォロー許可待ち" request-pending: "フォロー許可待ち"
follow-processing: "フォロー処理中" follow-processing: "フォロー処理中"
follow-request: "フォロー申請" follow-request: "Poproś o śledzenie"
mobile/views/components/friends-maker.vue: mobile/views/components/friends-maker.vue:
title: "Zacznij śledzić ludzi takich jak Ty" title: "Zacznij śledzić ludzi takich jak Ty"
empty: "Nie znaleziono podobnych użytkowników." empty: "Nie znaleziono podobnych użytkowników."
@@ -1285,7 +1309,7 @@ mobile/views/components/ui.nav.vue:
game: "Gry" game: "Gry"
darkmode: "Tryb ciemny" darkmode: "Tryb ciemny"
settings: "Ustawienia" settings: "Ustawienia"
admin: "管理" admin: "Admin"
about: "O Misskey" about: "O Misskey"
mobile/views/components/user-timeline.vue: mobile/views/components/user-timeline.vue:
no-notes: "Wygląda na to, że ten użytkownik nie opublikował jeszcze niczego" no-notes: "Wygląda na to, że ten użytkownik nie opublikował jeszcze niczego"
@@ -1309,8 +1333,8 @@ mobile/views/pages/home.vue:
local: "Lokalne" local: "Lokalne"
hybrid: "Społeczność" hybrid: "Społeczność"
global: "Globalne" global: "Globalne"
mentions: "あなた宛て" mentions: "Wspomnienia"
messages: "メッセージ" messages: "Wiadomości"
mobile/views/pages/tag.vue: mobile/views/pages/tag.vue:
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。" no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
mobile/views/pages/welcome.vue: mobile/views/pages/welcome.vue:
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "Wybierz plik" select-file: "Wybierz plik"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "Zalogowany jako {}" signed-in-as: "Zalogowany jako {}"
lang: "Język"
lang-tip: "Aby zmiany zostały uwzględnione, odśwież stronę."
recommended: "Zalecany"
auto: "Automatycznie"
specify-language: "Wybierz język"
design: "Wygląd i wyświetlanie" design: "Wygląd i wyświetlanie"
dark-mode: "Tryb ciemny" dark-mode: "Tryb ciemny"
i-am-under-limited-internet: "Ograniczaj zużycie transferu" i-am-under-limited-internet: "Ograniczaj zużycie transferu"
@@ -1363,29 +1382,19 @@ mobile/views/pages/settings.vue:
post-style-standard: "Standardowy" post-style-standard: "Standardowy"
post-style-smart: "Inteligentny" post-style-smart: "Inteligentny"
notification-position: "通知の表示" notification-position: "通知の表示"
notification-position-bottom: "" notification-position-bottom: "Dół"
notification-position-top: "" notification-position-top: "Góra"
theme: "テーマ" 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: "投稿の公開範囲" note-visibility: "Widoczność wpisów"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "Domyślna widoczność"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "Nie oznaczaj wpisów jako „wysłane z telefonu”" disable-via-mobile: "Nie oznaczaj wpisów jako „wysłane z telefonu”"
load-raw-images: "Wyświetlaj załączone zdjęcia w wysokiej jakości" load-raw-images: "Wyświetlaj załączone zdjęcia w wysokiej jakości"
load-remote-media: "Wyświetlaj zawartość multimedialną ze zdalnych serwerów" load-remote-media: "Wyświetlaj zawartość multimedialną ze zdalnych serwerów"
twitter: "Połączenie z Twitterem"
twitter-connect: "Połącz z Twitterem"
twitter-reconnect: "Połącz ponownie"
twitter-disconnect: "Rozłącz"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Aktualizacja Misskey" update: "Aktualizacja Misskey"
version: "Wersja:" version: "Wersja:"
latest-version: "Najnowsza wersja:" latest-version: "Najnowsza wersja:"
@@ -1397,10 +1406,10 @@ mobile/views/pages/settings.vue:
update-available-desc: "Odśwież stronę, aby zastosować aktualizację." update-available-desc: "Odśwież stronę, aby zastosować aktualizację."
settings: "Ustawienia" settings: "Ustawienia"
signout: "Wyloguj" signout: "Wyloguj"
sound: "サウンド" sound: "Dźwięk"
enable-sounds: "サウンドを有効にする" enable-sounds: "Włącz dźwięk"
mark-as-read-all-unread-notes: "すべての投稿を既読にする" mark-as-read-all-unread-notes: "すべての投稿を既読にする"
password: "パスワード" password: "Hasło"
mobile/views/pages/user.vue: mobile/views/pages/user.vue:
follows-you: "Śledzi Cię" follows-you: "Śledzi Cię"
following: "Śledzeni" following: "Śledzeni"
@@ -1410,11 +1419,14 @@ mobile/views/pages/user.vue:
timeline: "Oś czasu" timeline: "Oś czasu"
media: "Multimedia" media: "Multimedia"
is-suspended: "To konto zostało zablokowane" is-suspended: "To konto zostało zablokowane"
mute: "ミュート" mute: "Wycisz"
unmute: "ミュート解除" unmute: "ミュート解除"
block: "ブロック" block: "Zablokuj"
unblock: "ブロック解除" unblock: "Odblokuj"
years-old: "{age}" years-old: "{age} lat"
push-to-list: "リストに追加"
select-list: "Wybierz listę"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "Ostatnie wpisy" recent-notes: "Ostatnie wpisy"
images: "Zdjęcia" images: "Zdjęcia"
@@ -1437,9 +1449,9 @@ deck:
home: "ホーム" home: "ホーム"
local: "ローカル" local: "ローカル"
hybrid: "ソーシャル" hybrid: "ソーシャル"
hashtag: "ハッシュタグ" hashtag: "Hashtag"
global: "グローバル" global: "グローバル"
mentions: "あなた宛て" mentions: "Wspomnienia"
direct: "ダイレクト投稿" direct: "ダイレクト投稿"
notifications: "通知" notifications: "通知"
list: "リスト" list: "リスト"
@@ -1449,22 +1461,22 @@ deck:
swap-down: "下に移動" swap-down: "下に移動"
remove: "カラムを削除" remove: "カラムを削除"
add-column: "カラムを追加" add-column: "カラムを追加"
rename: "名前を変更" rename: "Zmień nazwę"
stack-left: "左に重ねる" stack-left: "Przypnij do lewej"
pop-right: "右に出す" pop-right: "右に出す"
deck/deck.tl-column.vue: deck/deck.tl-column.vue:
is-media-only: "メディア投稿のみ" is-media-only: "Tylko wpisy z zawartością multimedialną"
is-media-view: "メディアビュー" is-media-view: "Widok multimediów"
edit: "オプション" edit: "Opcje"
deck/deck.user-column.vue: deck/deck.user-column.vue:
posts: "投稿" posts: "Wpisy"
following: "フォロー" following: "フォロー"
followers: "フォロワー" followers: "フォロワー"
images: "画像" images: "Zdjęcia"
activity: "アクティビティ" activity: "Aktywność"
timeline: "タイムライン" timeline: "Oś czasu"
pinned-notes: "ピン留めされた投稿" pinned-notes: "Przypięte posty"
push-to-a-list: "リストに追加" push-to-a-list: "Dodaj do listy"
docs: docs:
edit-this-page-on-github: "Znalazłeś błąd lub chcesz pomóc w tworzeniu dokumentacji?" edit-this-page-on-github: "Znalazłeś błąd lub chcesz pomóc w tworzeniu dokumentacji?"
edit-this-page-on-github-link: "Edytuj stronę na GitHubie!" edit-this-page-on-github-link: "Edytuj stronę na GitHubie!"
@@ -1490,12 +1502,12 @@ docs:
dev/views/index.vue: dev/views/index.vue:
manage-apps: "Zarządzaj aplikacjami" manage-apps: "Zarządzaj aplikacjami"
dev/views/apps.vue: dev/views/apps.vue:
manage-apps: "アプリを管理" manage-apps: "Zarządzaj aplikacjami"
create-app: "アプリ作成" create-app: "アプリ作成"
app-missing: "アプリなし" app-missing: "Brak aplikacji"
dev/views/new-app.vue: dev/views/new-app.vue:
create-app: "アプリケーションの作成" create-app: "アプリケーションの作成"
app-name: "アプリケーション名" app-name: "Nazwa Aplikacji"
app-name-desc: "あなたのアプリの名称。" app-name-desc: "あなたのアプリの名称。"
app-name-ex: "ex) Misskey for iOS" app-name-ex: "ex) Misskey for iOS"
app-overview: "アプリの概要" app-overview: "アプリの概要"
@@ -1503,7 +1515,7 @@ dev/views/new-app.vue:
app-desc-ex: "ex) Misskey iOSクライアント。" app-desc-ex: "ex) Misskey iOSクライアント。"
callback-url: "コールバックURL (オプション)" callback-url: "コールバックURL (オプション)"
callback-url-desc: "ユーザーが認証フォームで認証した際にリダイレクトするURLを設定できます。" callback-url-desc: "ユーザーが認証フォームで認証した際にリダイレクトするURLを設定できます。"
authority: "権限" authority: "Uprawnienia"
authority-desc: "ここで要求した機能だけがAPIからアクセスできます。" authority-desc: "ここで要求した機能だけがAPIからアクセスできます。"
authority-warning: "アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。" authority-warning: "アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。"
account-read: "アカウントの情報を見る。" account-read: "アカウントの情報を見る。"
+50 -38
View File
@@ -26,6 +26,7 @@ common:
close: "Fechar" close: "Fechar"
do-not-copy-paste: "Por favor, não digite ou copie o código aqui. A conta pode ser comprometida." do-not-copy-paste: "Por favor, não digite ou copie o código aqui. A conta pode ser comprometida."
load-more: "もっと読み込む" load-more: "もっと読み込む"
enter-password: "パスワードを入力してください"
got-it: "Entendi!" got-it: "Entendi!"
customization-tips: customization-tips:
title: "Dicas de personalização" title: "Dicas de personalização"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-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: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
@@ -157,7 +160,6 @@ common:
polls: "Enquetes" polls: "Enquetes"
post-form: "Formulário de publicação" post-form: "Formulário de publicação"
server: "Informações do servidor" server: "Informações do servidor"
donation: "Doações"
nav: "Navegação" nav: "Navegação"
tips: "Dicas" tips: "Dicas"
hashtags: "Hashtags" hashtags: "Hashtags"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "Você" you: "Você"
@@ -399,13 +403,11 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。" title: "サービス連携"
connected-to: "次のTwitterアカウントに接続されています" connect: "接続する"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
disconnect: "切断する" disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "確認中" fetching: "確認中"
no-broadcasts: "お知らせはありません" no-broadcasts: "お知らせはありません"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今日:" today: "今日:"
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "フォトストリーム" title: "フォトストリーム"
no-photos: "写真はありません" no-photos: "写真はありません"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト" auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "詳細設定" advanced: "詳細設定"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する" show-reply-target: "リプライ先を表示する"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開" show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド" sound: "サウンド"
enable-sounds: "サウンドを有効にする" enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム" volume: "ボリューム"
test: "テスト" test: "テスト"
language: "言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択" select-file: "ファイルを選択"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "言語"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Conectar à sua conta no Twitter"
twitter-reconnect: "Reconectar"
twitter-disconnect: "Desconectar"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Atualizar Misskey" update: "Atualizar Misskey"
version: "Versão atual;" version: "Versão atual;"
latest-version: "Última versão:" latest-version: "Última versão:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "Notas recentes" recent-notes: "Notas recentes"
images: "Imagens" images: "Imagens"
+147 -135
View File
@@ -7,61 +7,62 @@ common:
about-title: "Мы — ⭐ fediverse" about-title: "Мы — ⭐ fediverse"
about: "Спасибо, что нашли Misskey. Misskey — это <b>децентрализованная платформа для микроблоггинга</b> родом с планеты Земля. Поскольку она существует внутри Fediverse (вселенной различных социальных платформ), она связана с другими платформами. Отдохните от шума большого города — и познакомьтесь с новым интернетом." about: "Спасибо, что нашли Misskey. Misskey — это <b>децентрализованная платформа для микроблоггинга</b> родом с планеты Земля. Поскольку она существует внутри Fediverse (вселенной различных социальных платформ), она связана с другими платформами. Отдохните от шума большого города — и познакомьтесь с новым интернетом."
intro: intro:
title: "Misskeyって?" title: "Что такое Misskey?"
about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。" about: "Misskey - это <b>децентрализованный сервис микроблогинга</b> с открытым исходным кодом. Он имеет такие функции, как: навороченный, полностью настраиваемый пользовательский интерфейс, множество реакций на посты, бесплатное хранилище файлов с интегрированной системой управления и ещё куча передовых фишек. А ещё сетевая система под названием “Fediverse” позволяет нам общаться с пользователями других социальных сетей. Например, если ты что-нибудь запостишь, то твой пост будет отослан не только в Misskey, но ещё и mastodon. Просто представь, что планета посылает микроволны на другую планету для коммуникации."
features: "特徴" features: "Особенности"
rich-contents: "投稿" rich-contents: "Посты"
rich-contents-desc: "自分の考え、話題の出来事、皆と共有したいことについて発信してください。必要であれば、様々な構文を使って投稿を装飾したり、好きな画像、動画などのファイルやアンケートを添付することもできます。" rich-contents-desc: "Просто выложи свою идею, актуальные темы и всё, что тебе хочется показать миру. Ты можешь декорировать свои слова, прикреплять свои любимые картинки, отправлять файлы с фильмами и создать голосование - это те вещи, которые ты можешь сделать с помощью Misskey!"
reaction: "リアクション" reaction: "Реакции"
reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。" reaction-desc: "Самый лёгкий способ выразить свои эмоции. Misskey позволяет добавлять различные виды реакций к постам других людей. Эмоциональный опыт из Misskey никогда не появится в других социальных сетях, позволяющих только жать “лайки”."
ui: "インターフェース" ui: "Интерфейс"
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。" ui-desc: "Нет такого интерфейса, понравившегося всем. Поэтому у Misskey имеется пользовательский интерфейс, широко настраиваемый под ваши вкусы. Создай себе уникальную домашнюю страницу редактируя, подстраивая оформление ленты и размещая виджеты, которые тоже можно кастомизировать."
drive: "ドライブ" drive: "Хранилище файлов"
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。" drive-desc: "Хотите запостить картинку, которую уже отправляли ранее? Хочется сортировать, переименовать и создать папку для ваших выложенных файлов? Тогда Misskey Drive - это лучшее решение для вас. Очень лёгкий способ делиться своими файлами онлайн."
outro: "他にもMisskeyにしかない機能はまだまだあるので、ぜひあなた自身の目で確かめてください。Misskeyは分散型SNSなので、このインスタンスが気に入らなければ他のインスタンスを試すこともできます。それでは、GLHF!" outro: "Попробуйте будущие, уникальные для Misskey функции своими глазами! Если чувствуете, что это не в вашем вкусе, то попробуйте другие инстанции, ведь Misskey - это децентрализованная социальная сеть, так что ты можешь с лёгкостью найти себе товарищей. И наконец, GLHF!"
adblock: adblock:
detected: "広告ブロッカーを無効にしてください" detected: "Пожалуйста, отключите блокировщик рекламы."
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。" warning: "Некоторые функции перестанут быть доступными или будут работать неправильно, если включена блокировка рекламы. <strong>В Misskey нет рекламы</strong>."
application-authorization: "アプリの連携" application-authorization: "Авторизация приложений"
close: "閉じる" close: "Закрыть"
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" do-not-copy-paste: "Пожалуйста, не вводите и не вставляйте сюда код. Аккаунту может угрожать опасность."
load-more: "もっと読み込む" load-more: "Загрузить больше"
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: "Got it!"
notification: notification:
file-uploaded: "ファイルがアップロードされました" file-uploaded: "Файл отправлен!"
message-from: "{}さんからメッセージ:" message-from: "Сообщение от {}:"
reversi-invited: "対局への招待があります" reversi-invited: "Приглашён в игру"
reversi-invited-by: "{}さんから" reversi-invited-by: "Был приглашён {}:"
notified-by: "{}さんから" notified-by: "{}さんから"
reply-from: "{}さんから返信:" reply-from: "Ответ от {}:"
quoted-by: "{}さんが引用:" quoted-by: "Цитировано {}:"
time: time:
unknown: "なぞのじかん" unknown: "неизвестно"
future: "未来" future: "сейчас"
just_now: "たった今" just_now: "сейчас"
seconds_ago: "{}秒前" seconds_ago: "{} секунд назад"
minutes_ago: "{}分前" minutes_ago: "{} минут назад"
hours_ago: "{}時間前" hours_ago: "{} часов назад"
days_ago: "{}日前" days_ago: "{} дней назад"
weeks_ago: "{}週間前" weeks_ago: "{} недель назад"
months_ago: "{}ヶ月前" months_ago: "{} месяцев назад"
years_ago: "{}年前" years_ago: "{} лет назад"
month-and-day: "{month}月 {day}日" month-and-day: "{day}.{month}"
trash: "ゴミ箱" trash: "Мусорное ведро"
drive: "ドライブ" drive: "Drive"
messaging: "トーク" messaging: "Чат"
weekday-short: weekday-short:
sunday: "" sunday: "Вс"
monday: "" monday: "Пн"
tuesday: "" tuesday: "Вт"
wednesday: "" wednesday: "Ср"
thursday: "" thursday: "Чт"
friday: "" friday: "Пт"
saturday: "" saturday: "Сб"
weekday: weekday:
sunday: "日曜日" sunday: "日曜日"
monday: "月曜日" monday: "月曜日"
@@ -109,62 +110,63 @@ 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-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける" use-contrast-reversi-stones: "リバーシのアイコンにコントラストを付ける"
verified-user: "公式アカウント" verified-user: "公式アカウント"
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" disable-animated-mfm: "Отключить анимированный текст в постах"
always-show-nsfw: "常に閲覧注意のメディアを表示する" suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-show-nsfw: "Всегда показывать NSFW контент"
always-mark-nsfw: "Всегда помечать посты с медиафайлами как NSFW"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
show-via: "viaを表示する" show-via: "показать через"
reduce-motion: "UIの動きを減らす" reduce-motion: "Уменьшить движение в интерфейсе"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "Только для этого устройства"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "Использовать стандартные Emoji из ОС"
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。' do-not-use-in-production: 'Эта сборка для разработчиков. Не используйте в продакшне.'
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: "Ваш ход"
opponent-turn: "相手のターンです" opponent-turn: "Ход оппонента"
turn-of: "{name}のターンです" turn-of: "Ход {name}"
past-turn-of: "{name}のターン" past-turn-of: "Ход {name}"
won: "{name}の勝ち" won: "{name} победил"
black: "" black: "Чёрный"
white: "" white: "Белый"
total: "合計" total: "Всего"
this-turn: "{count}ターン目" this-turn: "Ход {count}"
widgets: widgets:
analog-clock: "アナログ時計" analog-clock: "Аналоговые часы"
profile: "プロフィール" profile: "Профиль"
calendar: "カレンダー" calendar: "Календарь"
timemachine: "カレンダー(タイムマシン)" timemachine: "Календарь (машина времени)"
activity: "アクティビティ" activity: "Активность"
rss: "RSSリーダー" rss: "Ридер RSS"
memo: "付箋" memo: "Заметка"
trends: "トレンド" trends: "Популярное"
photo-stream: "フォトストリーム" photo-stream: "Фотопоток"
posts-monitor: "投稿チャート" posts-monitor: "投稿チャート"
slideshow: "スライドショー" slideshow: "Слайдшоу"
version: "バージョン" version: "Версия"
broadcast: "ブロードキャスト" broadcast: "ブロードキャスト"
notifications: "通知" notifications: "Уведомления"
users: "おすすめユーザー" users: "Рекомендованные пользователи"
polls: "アンケート" polls: "Голосования"
post-form: "投稿フォーム" post-form: "投稿フォーム"
server: "サーバー情報" server: "Информация о сервере"
donation: "寄付のお願い"
nav: "ナビゲーション" nav: "ナビゲーション"
tips: "ヒント" tips: "ヒント"
hashtags: "ハッシュタグ" hashtags: "Хэштеги"
dev: "アプリの作成に失敗しました。再度お試しください。" dev: "Не удалось создать приложение. Пожалуйста, попробуйте ещё раз."
ai-chan-kawaii: "藍ちゃかわいい" ai-chan-kawaii: "Ai-chan kawaii!"
auth/views/form.vue: auth/views/form.vue:
share-access: "<i>{name}</i>があなたのアカウントにアクセスすることを許可しますか?" share-access: "Вы разрешаете <i>{name}</i> получить доступ к вашему аккаунту?"
permission-ask: "このアプリは次の権限を要求しています:" permission-ask: "このアプリは次の権限を要求しています:"
account-read: "アカウントの情報を見る。" account-read: "アカウントの情報を見る。"
account-write: "アカウントの情報を操作する。" account-write: "アカウントの情報を操作する。"
@@ -210,28 +212,28 @@ common/views/components/games/reversi/reversi.index.vue:
all-games: "みんなの対局" all-games: "みんなの対局"
enter-username: "ユーザー名を入力してください" enter-username: "ユーザー名を入力してください"
game-state: game-state:
ended: "終了" ended: "Завершено"
playing: "進行中" playing: "В процессе"
common/views/components/games/reversi/reversi.room.vue: common/views/components/games/reversi/reversi.room.vue:
settings-of-the-game: "ゲームの設定" settings-of-the-game: "Настройки игры"
choose-map: "マップを選択" choose-map: "マップを選択"
random: "ランダム" random: "Случайно"
black-or-white: "先手/後手" black-or-white: "Чёрные/Белые"
black-is: "{}が黒" black-is: "{} ходит чёрными"
rules: "ルール" rules: "Правила"
is-llotheo: "石の少ない方が勝ち(ロセオ)" is-llotheo: "石の少ない方が勝ち(ロセオ)"
looped-map: "ループマップ" looped-map: "ループマップ"
can-put-everywhere: "どこでも置けるモード" can-put-everywhere: "どこでも置けるモード"
settings-of-the-bot: "Botの設定" settings-of-the-bot: "Настройки бота"
this-game-is-started-soon: "ゲームは数秒後に開始されます" this-game-is-started-soon: "Игра вот-вот начнётся"
waiting-for-other: "相手の準備が完了するのを待っています" waiting-for-other: "Ожидание оппонента"
waiting-for-me: "あなたの準備が完了するのを待っています" waiting-for-me: "あなたの準備が完了するのを待っています"
waiting-for-both: "準備中" waiting-for-both: "準備中"
cancel: "キャンセル" cancel: "Отмена"
ready: "準備完了" ready: "Готов"
cancel-ready: "準備続行" cancel-ready: "準備続行"
common/views/components/connect-failed.vue: common/views/components/connect-failed.vue:
title: "サーバーに接続できません" title: "Невозможно подключиться к серверу"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。" description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
thanks: "いつもMisskeyをご利用いただきありがとうございます。" thanks: "いつもMisskeyをご利用いただきありがとうございます。"
troubleshoot: "トラブルシュート" troubleshoot: "トラブルシュート"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隠す" hide: "隠す"
show: "もっと見る" show: "もっと見る"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "ユーザーを探す" search-user: "ユーザーを探す"
you: "あなた" you: "あなた"
@@ -399,13 +403,11 @@ common/views/components/stream-indicator.vue:
connecting: "接続中" connecting: "接続中"
reconnecting: "再接続中" reconnecting: "再接続中"
connected: "接続完了" connected: "接続完了"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。" title: "サービス連携"
connected-to: "次のTwitterアカウントに接続されています" connect: "接続する"
detail: "詳細..."
reconnect: "再接続する"
connect: "Twitterと接続する"
disconnect: "切断する" disconnect: "切断する"
connected-to: "次のアカウントに接続されています"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。"
connected-to: "次のGitHubアカウントに接続されています" connected-to: "次のGitHubアカウントに接続されています"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{}人が投稿" count: "{}人が投稿"
empty: "トレンドなし" empty: "トレンドなし"
common/views/components/language-settings.vue:
title: "表示言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
info: "変更はページの再度読み込み後に反映されます。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "プロフィール" title: "プロフィール"
name: "名前" name: "名前"
account: "アカウント" account: "アカウント"
location: "場所" location: "場所"
description: "自己紹介" description: "自己紹介"
language: "言語"
birthday: "誕生日" birthday: "誕生日"
avatar: "アイコン" avatar: "アイコン"
banner: "バナー" banner: "バナー"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "プロフィールを保存しました" saved: "プロフィールを保存しました"
uploading: "アップロード中" uploading: "アップロード中"
upload-failed: "アップロードに失敗しました" upload-failed: "アップロードに失敗しました"
email: "メール設定"
email-address: "メールアドレス"
email-verified: "メールアドレスが確認されました"
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "確認中" fetching: "確認中"
no-broadcasts: "お知らせはありません" no-broadcasts: "お知らせはありません"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今日:" today: "今日:"
this-month: "今月:" this-month: "今月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "フォトストリーム" title: "フォトストリーム"
no-photos: "写真はありません" no-photos: "写真はありません"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
auto-popout: "ウィンドウの自動ポップアウト" auto-popout: "ウィンドウの自動ポップアウト"
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
advanced: "詳細設定" advanced: "詳細設定"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "円形のアイコンを使用" circle-icons: "円形のアイコンを使用"
contrasted-acct: "ユーザー名にコントラストを付ける" contrasted-acct: "ユーザー名にコントラストを付ける"
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
show-clock-on-header: "右上に時計を表示する" show-clock-on-header: "右上に時計を表示する"
show-reply-target: "リプライ先を表示する" show-reply-target: "リプライ先を表示する"
timeline: "タイムライン" timeline: "タイムライン"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
show-maps: "マップの自動展開" show-maps: "マップの自動展開"
remain-deleted-note: "削除された投稿を表示し続ける" remain-deleted-note: "削除された投稿を表示し続ける"
deck-column-align: "デッキのカラムの置" deck-column-align: "デッキのカラムの置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "サウンド" sound: "サウンド"
enable-sounds: "サウンドを有効にする" enable-sounds: "サウンドを有効にする"
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
volume: "ボリューム" volume: "ボリューム"
test: "テスト" test: "テスト"
language: "言語"
pick-language: "言語を選択"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
language-desc: "変更はページの再度読み込み後に反映されます。"
cache: "キャッシュ" cache: "キャッシュ"
clean-cache: "クリーンアップ" clean-cache: "クリーンアップ"
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "もう一度新しいパスワードを入力してください" enter-new-password-again: "もう一度新しいパスワードを入力してください"
not-match: "新しいパスワードが一致しません" not-match: "新しいパスワードが一致しません"
changed: "パスワードを変更しました" changed: "パスワードを変更しました"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "この投稿は非公開です" private: "この投稿は非公開です"
deleted: "この投稿は削除されました" deleted: "この投稿は削除されました"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "Twitter連携の設定" twitter-integration-config: "Twitter連携の設定"
twitter-integration-info: "コールバックURLは /api/tw/cb に設定します。" twitter-integration-info: "コールバックURLは {url} に設定します。"
enable-twitter-integration: "Twitter連携を有効にする" enable-twitter-integration: "Twitter連携を有効にする"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer secret" twitter-integration-consumer-secret: "Consumer secret"
github-integration-config: "GitHub連携の設定" github-integration-config: "GitHub連携の設定"
github-integration-info: "コールバックURLは /api/gh/cb に設定します。" github-integration-info: "コールバックURLは {url} に設定します。"
enable-github-integration: "GitHub連携を有効にする" enable-github-integration: "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: "Discord連携の設定" discord-integration-config: "Discord連携の設定"
discord-integration-info: "コールバックURLは /api/dc/cb に設定します。" discord-integration-info: "コールバックURLは {url} に設定します。"
enable-discord-integration: "Discord連携を有効にする" enable-discord-integration: "Discord連携を有効にする"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -997,6 +1011,16 @@ admin/views/instance.vue:
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "タイムアウト"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)"
email-config: "メールサーバーの設定"
email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。"
enable-email: "メール配信を有効にする"
email: "メールアドレス"
smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する"
smtp-secure-info: "STARTTLS使用時はオフにします。"
smtp-host: "SMTPホスト"
smtp-port: "SMTPポート"
smtp-user: "SMTPユーザー"
smtp-pass: "SMTPパスワード"
admin/views/charts.vue: admin/views/charts.vue:
title: "チャート" title: "チャート"
per-day: "1日ごと" per-day: "1日ごと"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "ファイルを選択" select-file: "ファイルを選択"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "{}としてサインイン中" signed-in-as: "{}としてサインイン中"
lang: "言語"
lang-tip: "変更はページの再読み込み後に反映されます。"
recommended: "推奨"
auto: "自動"
specify-language: "言語を指定"
design: "デザインと表示" design: "デザインと表示"
dark-mode: "ダークモード" dark-mode: "ダークモード"
i-am-under-limited-internet: "私は通信を制限されている" i-am-under-limited-internet: "私は通信を制限されている"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "投稿の公開範囲" note-visibility: "投稿の公開範囲"
default-note-visibility: "デフォルトの公開範囲" default-note-visibility: "デフォルトの公開範囲"
remember-note-visibility: "投稿の公開範囲を記憶する" remember-note-visibility: "投稿の公開範囲を記憶する"
web-search-engine: "ウェブ検索エンジン"
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
disable-via-mobile: "「モバイルからの投稿」フラグを付けない" disable-via-mobile: "「モバイルからの投稿」フラグを付けない"
load-raw-images: "添付された画像を高画質で表示する" load-raw-images: "添付された画像を高画質で表示する"
load-remote-media: "リモートサーバーのメディアを表示する" load-remote-media: "リモートサーバーのメディアを表示する"
twitter: "Twitter連携"
twitter-connect: "Twitterアカウントに接続する"
twitter-reconnect: "再接続する"
twitter-disconnect: "切断する"
github: "GitHub連携"
github-connect: "GitHubアカウントに接続する"
github-reconnect: "再接続する"
github-disconnect: "切断する"
discord: "Discord連携"
discord-connect: "Discordアカウントに接続する"
discord-reconnect: "再接続する"
discord-disconnect: "切断する"
update: "Misskey Update" update: "Misskey Update"
version: "バージョン:" version: "バージョン:"
latest-version: "最新のバージョン:" latest-version: "最新のバージョン:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "ブロック" block: "ブロック"
unblock: "ブロック解除" unblock: "ブロック解除"
years-old: "{age}歳" years-old: "{age}歳"
push-to-list: "リストに追加"
select-list: "リストを選択してください"
list-pushed: "{user}を{list}に追加しました"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近の投稿" recent-notes: "最近の投稿"
images: "画像" images: "画像"
+74 -62
View File
@@ -26,6 +26,7 @@ common:
close: "关闭" close: "关闭"
do-not-copy-paste: "请不要在这里输入或粘贴代码。您帐户可能会受到损害。" do-not-copy-paste: "请不要在这里输入或粘贴代码。您帐户可能会受到损害。"
load-more: "加载更多" load-more: "加载更多"
enter-password: "请输入您的密码"
got-it: "没问题" got-it: "没问题"
customization-tips: customization-tips:
title: "客制化提示" title: "客制化提示"
@@ -109,9 +110,11 @@ 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-contrast-reversi-stones: "Make the stone color clear in Reversi" use-contrast-reversi-stones: "Make the stone color clear in Reversi"
verified-user: "认证用户" verified-user: "认证用户"
disable-animated-mfm: "在帖子中禁用动画文本" disable-animated-mfm: "在帖子中禁用动画文本"
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
always-show-nsfw: "总是显示 NSFW 的内容" always-show-nsfw: "总是显示 NSFW 的内容"
always-mark-nsfw: "总是用 NSFW 来标记附件" always-mark-nsfw: "总是用 NSFW 来标记附件"
show-full-acct: "不要从用户名中忽略主机名" show-full-acct: "不要从用户名中忽略主机名"
@@ -157,7 +160,6 @@ common:
polls: "投票" polls: "投票"
post-form: "投稿形式" post-form: "投稿形式"
server: "服务器信息" server: "服务器信息"
donation: "捐助"
nav: "导航" nav: "导航"
tips: "提示" tips: "提示"
hashtags: "标签" hashtags: "标签"
@@ -295,6 +297,8 @@ common/views/components/theme.vue:
common/views/components/cw-button.vue: common/views/components/cw-button.vue:
hide: "隐藏" hide: "隐藏"
show: "查看更多" show: "查看更多"
chars: "{count}文字"
files: "{count}ファイル"
common/views/components/messaging.vue: common/views/components/messaging.vue:
search-user: "查找用户" search-user: "查找用户"
you: "您" you: "您"
@@ -399,13 +403,11 @@ common/views/components/stream-indicator.vue:
connecting: "连接中" connecting: "连接中"
reconnecting: "重新连接中" reconnecting: "重新连接中"
connected: "已连接" connected: "已连接"
common/views/components/twitter-setting.vue: common/views/components/integration-settings.vue:
description: "当您用Twitter连接Misskey账户后,您将能够看到有关您自己的信息,并且您将能够使用Twitter登录。" title: "サービス連携"
connected-to: "此账户已连接Twitter" connect: "接続する"
detail: "详细信息..." disconnect: "切断する"
reconnect: "重新连接" connected-to: "次のアカウントに接続されています"
connect: "连接您的推特账户"
disconnect: "未连接"
common/views/components/github-setting.vue: common/views/components/github-setting.vue:
description: "当您用GitHub连接Misskey账户后,您将能够看到有关您自己的信息,并且您将能够使用GitHub登录。" description: "当您用GitHub连接Misskey账户后,您将能够看到有关您自己的信息,并且您将能够使用GitHub登录。"
connected-to: "此账户已连接GitHub" connected-to: "此账户已连接GitHub"
@@ -438,12 +440,20 @@ common/views/components/visibility-chooser.vue:
common/views/components/trends.vue: common/views/components/trends.vue:
count: "{} 被提到" count: "{} 被提到"
empty: "没有流行的标签" empty: "没有流行的标签"
common/views/components/language-settings.vue:
title: "显示语言"
pick-language: "选择一个语言"
recommended: "推荐"
auto: "自动"
specify-language: "指定语言"
info: "你需要刷新这个页面来应用更改。"
common/views/components/profile-editor.vue: common/views/components/profile-editor.vue:
title: "简况" title: "简况"
name: "名称" name: "名称"
account: "账户" account: "账户"
location: "位置" location: "位置"
description: "关于我" description: "关于我"
language: "言語"
birthday: "生日" birthday: "生日"
avatar: "头像" avatar: "头像"
banner: "背景" banner: "背景"
@@ -457,6 +467,10 @@ common/views/components/profile-editor.vue:
saved: "更新配置文件成功" saved: "更新配置文件成功"
uploading: "正在上传" uploading: "正在上传"
upload-failed: "上传失败" upload-failed: "上传失败"
email: "邮件设置"
email-address: "电子邮件地址"
email-verified: "电子邮件地址已验证"
email-not-verified: "电子邮件地址还没有验证哦, 请检查一下收信箱吧~"
common/views/widgets/broadcast.vue: common/views/widgets/broadcast.vue:
fetching: "确认中" fetching: "确认中"
no-broadcasts: "没有公告" no-broadcasts: "没有公告"
@@ -469,9 +483,6 @@ common/views/widgets/calendar.vue:
today: "今天:" today: "今天:"
this-month: "本月:" this-month: "本月:"
this-year: "今年:" this-year: "今年:"
common/views/widgets/donation.vue:
title: "请求捐助"
text: "为了保持 Misskey 持续运行, 这会对域名,服务器等产生一些费用。 如果您有兴趣提供捐助,请联系{}。感谢您的贡献!"
common/views/widgets/photo-stream.vue: common/views/widgets/photo-stream.vue:
title: "图片轮播" title: "图片轮播"
no-photos: "没有图片" no-photos: "没有图片"
@@ -731,6 +742,8 @@ desktop/views/components/settings.vue:
note-visibility: "帖子可见性" note-visibility: "帖子可见性"
default-note-visibility: "默认可见性" default-note-visibility: "默认可见性"
remember-note-visibility: "记住帖子可见性" remember-note-visibility: "记住帖子可见性"
web-search-engine: "搜索引擎"
web-search-engine-desc: "例如: https://www.google.com/?#q={{query}}"
auto-popout: "自动弹出窗口" auto-popout: "自动弹出窗口"
auto-popout-desc: "如果可用,将使用弹出显示而不是打开新窗口。 此设置存储在浏览器中。" auto-popout-desc: "如果可用,将使用弹出显示而不是打开新窗口。 此设置存储在浏览器中。"
advanced: "更多设置" advanced: "更多设置"
@@ -750,7 +763,6 @@ desktop/views/components/settings.vue:
circle-icons: "使用圆形图标" circle-icons: "使用圆形图标"
contrasted-acct: "增加用户名的对比度" contrasted-acct: "增加用户名的对比度"
post-form-on-timeline: "在时间线顶部显示帖子表单" post-form-on-timeline: "在时间线顶部显示帖子表单"
suggest-recent-hashtags: "在帖子表单上显示最近流行的主题标签"
show-clock-on-header: "在右上角显示时钟" show-clock-on-header: "在右上角显示时钟"
show-reply-target: "显示回复目标" show-reply-target: "显示回复目标"
timeline: "时间线" timeline: "时间线"
@@ -759,20 +771,21 @@ desktop/views/components/settings.vue:
show-local-renotes: "在时间线中显示Local Renote(s)" show-local-renotes: "在时间线中显示Local Renote(s)"
show-maps: "显示地图以显示位置" show-maps: "显示地图以显示位置"
remain-deleted-note: "继续显示已删除的帖子" remain-deleted-note: "继续显示已删除的帖子"
deck-column-align: "甲板柱的位置" deck-column-align: "デッキのカラムの配置"
deck-column-align-center: "中央" deck-column-align-center: "中央"
deck-column-align-left: "左" deck-column-align-left: "左"
deck-column-align-flexible: "フレキシブル"
deck-column-width: "デッキのカラムの幅"
deck-column-width-narrow: "狭"
deck-column-width-narrower: "やや狭"
deck-column-width-normal: "普通"
deck-column-width-wider: "やや広"
deck-column-width-wide: "広"
sound: "声音" sound: "声音"
enable-sounds: "开启声音" enable-sounds: "开启声音"
enable-sounds-desc: "收到帖子/留言时播放声音。 此设置将被存储在浏览器中。" enable-sounds-desc: "收到帖子/留言时播放声音。 此设置将被存储在浏览器中。"
volume: "音量" volume: "音量"
test: "测试" test: "测试"
language: "语言"
pick-language: "选择一个语言"
recommended: "推荐"
auto: "自动"
specify-language: "指定语言"
language-desc: "你需要刷新这个页面来应用更改。"
cache: "缓存" cache: "缓存"
clean-cache: "清除缓存" clean-cache: "清除缓存"
cache-warn: "将删除存储在浏览器中的帐户信息/帖子/回复/消息/设置的缓存。 清理完毕后需要刷新页面。" cache-warn: "将删除存储在浏览器中的帐户信息/帖子/回复/消息/设置的缓存。 清理完毕后需要刷新页面。"
@@ -862,6 +875,7 @@ common/views/components/password-settings.vue:
enter-new-password-again: "请再次输入新密码" enter-new-password-again: "请再次输入新密码"
not-match: "新密码不匹配" not-match: "新密码不匹配"
changed: "密码已更改" changed: "密码已更改"
failed: "パスワード変更に失敗しました"
desktop/views/components/sub-note-content.vue: desktop/views/components/sub-note-content.vue:
private: "这个帖子是私密的" private: "这个帖子是私密的"
deleted: "帖子已删除" deleted: "帖子已删除"
@@ -966,17 +980,17 @@ admin/views/instance.vue:
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
twitter-integration-config: "连接到Twitter的设置" twitter-integration-config: "连接到Twitter的设置"
twitter-integration-info: "回调 URL 设置为 /api/tw/cb" twitter-integration-info: "设置返回的URL{url}。"
enable-twitter-integration: "启用连接到Twitter" enable-twitter-integration: "启用连接到Twitter"
twitter-integration-consumer-key: "Consumer key" twitter-integration-consumer-key: "Consumer key"
twitter-integration-consumer-secret: "Consumer Secret" twitter-integration-consumer-secret: "Consumer Secret"
github-integration-config: "连接到GitHub设置" github-integration-config: "连接到GitHub设置"
github-integration-info: "回调 URL 设置为 /api/gh/cb" github-integration-info: "设置返回的URL{url}。"
enable-github-integration: "启用连接到GitHub" enable-github-integration: "启用连接到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: "设置 Discord Integration" discord-integration-config: "设置 Discord Integration"
discord-integration-info: "回调 URL 设置为 /api/dc/cb" discord-integration-info: "设置返回的URL{url}。"
enable-discord-integration: "启用 Discord 连接" enable-discord-integration: "启用 Discord 连接"
discord-integration-client-id: "Client ID" discord-integration-client-id: "Client ID"
discord-integration-client-secret: "Client Secret" discord-integration-client-secret: "Client Secret"
@@ -991,12 +1005,22 @@ admin/views/instance.vue:
invite: "邀请" invite: "邀请"
save: "保存" save: "保存"
saved: "保存完毕" saved: "保存完毕"
user-recommendation-config: "おすすめユーザー" user-recommendation-config: "推荐用户"
enable-external-user-recommendation: "外部ユーザーレコメンデーションを有効にする" enable-external-user-recommendation: "启用外部用户推荐"
external-user-recommendation-engine: "エンジン" external-user-recommendation-engine: "引擎"
external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}" external-user-recommendation-engine-desc: "例: https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
external-user-recommendation-timeout: "タイムアウト" external-user-recommendation-timeout: "超时"
external-user-recommendation-timeout-desc: "ミリ秒単位 (例: 300000)" external-user-recommendation-timeout-desc: "单位为毫秒 (例如:300000)"
email-config: "电子邮件服务器设置"
email-config-info: "用于确认电子邮件和密码重置等。"
enable-email: "启用电子邮件送递"
email: "电子邮件地址"
smtp-secure: "在 SMTP 连接中使用隐式 SSL / TLS"
smtp-secure-info: "使用时关闭 STARTTLS。"
smtp-host: "SMTP 服务器地址 (主机名)"
smtp-port: "SMTP 端口"
smtp-user: "SMTP 用户名"
smtp-pass: "SMTP 密码"
admin/views/charts.vue: admin/views/charts.vue:
title: "历史记录" title: "历史记录"
per-day: "每天" per-day: "每天"
@@ -1024,11 +1048,11 @@ admin/views/charts.vue:
network-usage: "网络流量" network-usage: "网络流量"
admin/views/users.vue: admin/views/users.vue:
operation: "操作" operation: "操作"
username-or-userid: "ユーザー名またはユーザーID" username-or-userid: "用户名或用户ID"
user-not-found: "ユーザーが見つかりません" user-not-found: "用户不存在"
lookup: "照会" lookup: "订阅"
reset-password: "パスワードをリセット" reset-password: "密码重置"
password-updated: "パスワードは現在「{password}」です" password-updated: "密码为「{password}」"
suspend: "被冻结" suspend: "被冻结"
suspended: "成功冻结用户" suspended: "成功冻结用户"
unsuspend: "已解除冻结" unsuspend: "已解除冻结"
@@ -1038,20 +1062,20 @@ admin/views/users.vue:
unverify: "解除账户认证" unverify: "解除账户认证"
unverified: "该帐户未经认证" unverified: "该帐户未经认证"
users: users:
title: "ユーザー" title: "用户"
sort: sort:
title: "ソート" title: "排序"
createdAtAsc: "登録日時が古い順" createdAtAsc: "注册时间从旧到新"
createdAtDesc: "登録日時が新しい順" createdAtDesc: "注册时间从新到旧"
updatedAtAsc: "更新日時が古い順" updatedAtAsc: "更新时间从旧到新"
updatedAtDesc: "更新日時が新しい順" updatedAtDesc: "更新时间从新到旧"
origin: origin:
title: "オリジン" title: "源自"
combined: "ローカル+リモート" combined: "本地+远程"
local: "ローカル" local: "本地"
remote: "リモート" remote: "远程"
createdAt: "登録日時" createdAt: "注册日期"
updatedAt: "更新日時" updatedAt: "最后更新"
admin/views/moderators.vue: admin/views/moderators.vue:
add-moderator: add-moderator:
title: "注册版主" title: "注册版主"
@@ -1344,11 +1368,6 @@ mobile/views/pages/selectdrive.vue:
select-file: "选择文件" select-file: "选择文件"
mobile/views/pages/settings.vue: mobile/views/pages/settings.vue:
signed-in-as: "以{}登录" signed-in-as: "以{}登录"
lang: "语言"
lang-tip: "你需要刷新这个页面来应用更改。"
recommended: "推荐"
auto: "自动"
specify-language: "选择语言"
design: "设计与展示" design: "设计与展示"
dark-mode: "夜间模式" dark-mode: "夜间模式"
i-am-under-limited-internet: "我的带宽有限" i-am-under-limited-internet: "我的带宽有限"
@@ -1371,21 +1390,11 @@ mobile/views/pages/settings.vue:
note-visibility: "帖子可见性" note-visibility: "帖子可见性"
default-note-visibility: "默认可见性" default-note-visibility: "默认可见性"
remember-note-visibility: "记住帖子可见性" remember-note-visibility: "记住帖子可见性"
web-search-engine: "搜索引擎"
web-search-engine-desc: "例如: https://www.google.com/?#q={{query}}"
disable-via-mobile: "不要将帖子标记为“来自手机”" disable-via-mobile: "不要将帖子标记为“来自手机”"
load-raw-images: "以原始质量显示附加图像" load-raw-images: "以原始质量显示附加图像"
load-remote-media: "显示来自远程服务器的媒体" load-remote-media: "显示来自远程服务器的媒体"
twitter: "Twitter integration"
twitter-connect: "连接到您的 Twitter"
twitter-reconnect: "重新连接"
twitter-disconnect: "未连接"
github: "GitHub Integration"
github-connect: "连接到您的 GitHub"
github-reconnect: "重新连接"
github-disconnect: "未连接"
discord: "Discord Integration"
discord-connect: "连接到您的 Discord"
discord-reconnect: "重新连接"
discord-disconnect: "未连接"
update: "更新 Misskey" update: "更新 Misskey"
version: "当前版本:" version: "当前版本:"
latest-version: "最新版本:" latest-version: "最新版本:"
@@ -1415,6 +1424,9 @@ mobile/views/pages/user.vue:
block: "屏蔽" block: "屏蔽"
unblock: "取消屏蔽" unblock: "取消屏蔽"
years-old: "{age}岁" years-old: "{age}岁"
push-to-list: "添加至列表"
select-list: "选择一个列表"
list-pushed: "成功添加{user}到{list}"
mobile/views/pages/user/home.vue: mobile/views/pages/user/home.vue:
recent-notes: "最近的帖子" recent-notes: "最近的帖子"
images: "图片" images: "图片"
+22 -19
View File
@@ -1,8 +1,8 @@
{ {
"name": "misskey", "name": "misskey",
"author": "syuilo <i@syuilo.com>", "author": "syuilo <i@syuilo.com>",
"version": "10.57.2", "version": "10.62.2",
"clientVersion": "2.0.12088", "clientVersion": "2.0.12609",
"codename": "nighthike", "codename": "nighthike",
"main": "./built/index.js", "main": "./built/index.js",
"private": true, "private": true,
@@ -34,8 +34,8 @@
"@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",
"@types/elasticsearch": "5.0.28", "@types/elasticsearch": "5.0.29",
"@types/file-type": "5.2.1", "@types/file-type": "5.2.2",
"@types/gulp": "3.8.36", "@types/gulp": "3.8.36",
"@types/gulp-htmlmin": "1.3.32", "@types/gulp-htmlmin": "1.3.32",
"@types/gulp-mocha": "0.0.32", "@types/gulp-mocha": "0.0.32",
@@ -48,7 +48,7 @@
"@types/js-yaml": "3.11.2", "@types/js-yaml": "3.11.2",
"@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.1", "@types/koa-bodyparser": "5.0.2",
"@types/koa-compress": "2.0.8", "@types/koa-compress": "2.0.8",
"@types/koa-favicon": "2.0.19", "@types/koa-favicon": "2.0.19",
"@types/koa-logger": "3.1.1", "@types/koa-logger": "3.1.1",
@@ -64,6 +64,7 @@
"@types/mongodb": "3.1.14", "@types/mongodb": "3.1.14",
"@types/ms": "0.7.30", "@types/ms": "0.7.30",
"@types/node": "10.12.10", "@types/node": "10.12.10",
"@types/nodemailer": "4.6.5",
"@types/oauth": "0.9.1", "@types/oauth": "0.9.1",
"@types/parsimmon": "1.10.0", "@types/parsimmon": "1.10.0",
"@types/portscanner": "2.1.0", "@types/portscanner": "2.1.0",
@@ -82,13 +83,13 @@
"@types/tinycolor2": "1.4.1", "@types/tinycolor2": "1.4.1",
"@types/tmp": "0.0.33", "@types/tmp": "0.0.33",
"@types/uuid": "3.4.4", "@types/uuid": "3.4.4",
"@types/webpack": "4.4.19", "@types/webpack": "4.4.20",
"@types/webpack-stream": "3.2.10", "@types/webpack-stream": "3.2.10",
"@types/websocket": "0.0.40", "@types/websocket": "0.0.40",
"@types/ws": "6.0.1", "@types/ws": "6.0.1",
"animejs": "2.2.0", "animejs": "2.2.0",
"apexcharts": "2.2.3", "apexcharts": "2.2.4",
"autobind-decorator": "2.2.1", "autobind-decorator": "2.4.0",
"autosize": "4.0.2", "autosize": "4.0.2",
"autwh": "0.1.0", "autwh": "0.1.0",
"bcryptjs": "2.4.3", "bcryptjs": "2.4.3",
@@ -106,7 +107,7 @@
"debug": "4.1.0", "debug": "4.1.0",
"deep-equal": "1.0.1", "deep-equal": "1.0.1",
"deepcopy": "0.6.3", "deepcopy": "0.6.3",
"diskusage": "0.2.5", "diskusage": "1.0.0",
"double-ended-queue": "2.1.0-0", "double-ended-queue": "2.1.0-0",
"elasticsearch": "15.2.0", "elasticsearch": "15.2.0",
"emojilib": "2.4.0", "emojilib": "2.4.0",
@@ -115,7 +116,7 @@
"eslint-plugin-vue": "4.7.1", "eslint-plugin-vue": "4.7.1",
"eventemitter3": "3.1.0", "eventemitter3": "3.1.0",
"file-loader": "2.0.0", "file-loader": "2.0.0",
"file-type": "10.4.0", "file-type": "10.6.0",
"fuckadblock": "3.2.1", "fuckadblock": "3.2.1",
"gulp": "3.9.1", "gulp": "3.9.1",
"gulp-cssnano": "2.1.3", "gulp-cssnano": "2.1.3",
@@ -155,6 +156,7 @@
"koa-send": "5.0.0", "koa-send": "5.0.0",
"koa-slow": "2.1.0", "koa-slow": "2.1.0",
"koa-views": "6.1.4", "koa-views": "6.1.4",
"langmap": "0.0.16",
"loader-utils": "1.1.0", "loader-utils": "1.1.0",
"minio": "7.0.1", "minio": "7.0.1",
"mkdirp": "0.5.1", "mkdirp": "0.5.1",
@@ -166,6 +168,7 @@
"ms": "2.1.1", "ms": "2.1.1",
"nan": "2.11.1", "nan": "2.11.1",
"nested-property": "0.0.7", "nested-property": "0.0.7",
"nodemailer": "4.7.0",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"object-assign-deep": "0.4.0", "object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0", "on-build-webpack": "0.1.0",
@@ -201,40 +204,40 @@
"stylus": "0.54.5", "stylus": "0.54.5",
"stylus-loader": "3.0.2", "stylus-loader": "3.0.2",
"summaly": "2.2.0", "summaly": "2.2.0",
"systeminformation": "3.49.3", "systeminformation": "3.51.3",
"syuilo-password-strength": "0.0.1", "syuilo-password-strength": "0.0.1",
"terser-webpack-plugin": "1.1.0", "terser-webpack-plugin": "1.1.0",
"textarea-caret": "3.1.0", "textarea-caret": "3.1.0",
"tinycolor2": "1.4.1", "tinycolor2": "1.4.1",
"tmp": "0.0.33", "tmp": "0.0.33",
"ts-loader": "5.3.0", "ts-loader": "5.3.1",
"ts-node": "7.0.1", "ts-node": "7.0.1",
"tslint": "5.10.0", "tslint": "5.10.0",
"typescript": "3.1.6", "typescript": "3.1.6",
"typescript-eslint-parser": "21.0.1", "typescript-eslint-parser": "21.0.2",
"uglify-es": "3.3.9", "uglify-es": "3.3.9",
"url-loader": "1.1.2", "url-loader": "1.1.2",
"uuid": "3.3.2", "uuid": "3.3.2",
"v-animate-css": "0.0.2", "v-animate-css": "0.0.3",
"vue": "2.5.17", "vue": "2.5.17",
"vue-color": "2.7.0", "vue-color": "2.7.0",
"vue-content-loading": "1.5.3", "vue-content-loading": "1.5.3",
"vue-cropperjs": "2.2.2", "vue-cropperjs": "2.2.2",
"vue-i18n": "8.3.2", "vue-i18n": "8.3.2",
"vue-js-modal": "1.3.26", "vue-js-modal": "1.3.27",
"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-style-loader": "4.1.2", "vue-style-loader": "4.1.2",
"vue-svg-inline-loader": "1.2.2", "vue-svg-inline-loader": "1.2.4",
"vue-template-compiler": "2.5.17", "vue-template-compiler": "2.5.17",
"vuedraggable": "2.16.0", "vuedraggable": "2.17.0",
"vuewordcloud": "18.7.11", "vuewordcloud": "18.7.11",
"vuex": "3.0.1", "vuex": "3.0.1",
"vuex-persistedstate": "2.5.4", "vuex-persistedstate": "2.5.4",
"web-push": "3.3.3", "web-push": "3.3.3",
"webfinger.js": "2.6.6", "webfinger.js": "2.7.0",
"webpack": "4.26.0", "webpack": "4.26.1",
"webpack-cli": "3.1.2", "webpack-cli": "3.1.2",
"websocket": "1.0.28", "websocket": "1.0.28",
"ws": "6.1.2", "ws": "6.1.2",
+7 -5
View File
@@ -61,11 +61,13 @@ export default abstract class Chart<T> {
constructor(name: string, grouped = false) { constructor(name: string, grouped = false) {
this.collection = db.get<Log<T>>(`chart.${name}`); this.collection = db.get<Log<T>>(`chart.${name}`);
if (grouped) { const keys = {
this.collection.createIndex({ span: -1, date: -1, group: -1 }, { unique: true }); span: -1,
} else { date: -1
this.collection.createIndex({ span: -1, date: -1 }, { unique: true }); };
} if (grouped)
keys.group = -1;
this.collection.createIndex(keys, { unique: true });
} }
@autobind @autobind
+6 -6
View File
@@ -48,15 +48,15 @@ export default Vue.extend({
}, },
remove(i) { remove(i) {
this.$root.alert({ this.$root.dialog({
type: 'warning', type: 'warning',
text: this.$t('_remove.are-you-sure').replace('$1', this.announcements.find((_, j) => j == i).title), text: this.$t('_remove.are-you-sure').replace('$1', this.announcements.find((_, j) => j == i).title),
showCancelButton: true showCancelButton: true
}).then(res => { }).then(({ canceled }) => {
if (!res) return; if (canceled) return;
this.announcements = this.announcements.filter((_, j) => j !== i); this.announcements = this.announcements.filter((_, j) => j !== i);
this.save(true); this.save(true);
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('_remove.removed') text: this.$t('_remove.removed')
}); });
@@ -68,13 +68,13 @@ export default Vue.extend({
broadcasts: this.announcements broadcasts: this.announcements
}).then(() => { }).then(() => {
if (!silent) { if (!silent) {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('saved') text: this.$t('saved')
}); });
} }
}).catch(e => { }).catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e text: e
}); });
+9 -9
View File
@@ -75,13 +75,13 @@ export default Vue.extend({
url: this.url, url: this.url,
aliases: this.aliases.split(' ').filter(x => x.length > 0) aliases: this.aliases.split(' ').filter(x => x.length > 0)
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('add-emoji.added') text: this.$t('add-emoji.added')
}); });
this.fetchEmojis(); this.fetchEmojis();
}).catch(e => { }).catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e text: e
}); });
@@ -103,12 +103,12 @@ export default Vue.extend({
url: emoji.url, url: emoji.url,
aliases: emoji.aliases.split(' ').filter(x => x.length > 0) aliases: emoji.aliases.split(' ').filter(x => x.length > 0)
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('updated') text: this.$t('updated')
}); });
}).catch(e => { }).catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e text: e
}); });
@@ -116,23 +116,23 @@ export default Vue.extend({
}, },
removeEmoji(emoji) { removeEmoji(emoji) {
this.$root.alert({ this.$root.dialog({
type: 'warning', type: 'warning',
text: this.$t('remove-emoji.are-you-sure').replace('$1', emoji.name), text: this.$t('remove-emoji.are-you-sure').replace('$1', emoji.name),
showCancelButton: true showCancelButton: true
}).then(res => { }).then(({ canceled }) => {
if (!res) return; if (canceled) return;
this.$root.api('admin/emoji/remove', { this.$root.api('admin/emoji/remove', {
id: emoji.id id: emoji.id
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('remove-emoji.removed') text: this.$t('remove-emoji.removed')
}); });
this.fetchEmojis(); this.fetchEmojis();
}).catch(e => { }).catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e text: e
}); });
+1 -1
View File
@@ -15,7 +15,7 @@
</div> </div>
<div class="me"> <div class="me">
<img class="avatar" :src="$store.state.i.avatarUrl" alt="avatar"/> <img class="avatar" :src="$store.state.i.avatarUrl" alt="avatar"/>
<p class="name">{{ $store.state.i | userName }}</p> <p class="name"><mk-user-name :user="$store.state.i"/></p>
</div> </div>
<ul> <ul>
<li @click="nav('dashboard')" :class="{ active: page == 'dashboard' }"><fa icon="home" fixed-width/>{{ $t('dashboard') }}</li> <li @click="nav('dashboard')" :class="{ active: page == 'dashboard' }"><fa icon="home" fixed-width/>{{ $t('dashboard') }}</li>
+49 -14
View File
@@ -12,11 +12,15 @@
<section class="fit-bottom"> <section class="fit-bottom">
<header><fa :icon="faHeadset"/> {{ $t('maintainer-config') }}</header> <header><fa :icon="faHeadset"/> {{ $t('maintainer-config') }}</header>
<ui-input v-model="maintainerName">{{ $t('maintainer-name') }}</ui-input> <ui-input v-model="maintainerName">{{ $t('maintainer-name') }}</ui-input>
<ui-input v-model="maintainerEmail" type="email"><i slot="icon"><fa :icon="['far', 'envelope']"/></i>{{ $t('maintainer-email') }}</ui-input> <ui-input v-model="maintainerEmail" type="email"><i slot="icon"><fa :icon="farEnvelope"/></i>{{ $t('maintainer-email') }}</ui-input>
</section> </section>
<section class="fit-top fit-bottom"> <section class="fit-top fit-bottom">
<ui-input v-model="maxNoteTextLength">{{ $t('max-note-text-length') }}</ui-input> <ui-input v-model="maxNoteTextLength">{{ $t('max-note-text-length') }}</ui-input>
</section> </section>
<section>
<ui-switch v-model="disableRegistration">{{ $t('disable-registration') }}</ui-switch>
<ui-switch v-model="disableLocalTimeline">{{ $t('disable-local-timeline') }}</ui-switch>
</section>
<section class="fit-bottom"> <section class="fit-bottom">
<header><fa icon="cloud"/> {{ $t('drive-config') }}</header> <header><fa icon="cloud"/> {{ $t('drive-config') }}</header>
<ui-switch v-model="cacheRemoteFiles">{{ $t('cache-remote-files') }}<span slot="desc">{{ $t('cache-remote-files-desc') }}</span></ui-switch> <ui-switch v-model="cacheRemoteFiles">{{ $t('cache-remote-files') }}<span slot="desc">{{ $t('cache-remote-files-desc') }}</span></ui-switch>
@@ -37,10 +41,18 @@
<ui-info warn>{{ $t('proxy-account-warn') }}</ui-info> <ui-info warn>{{ $t('proxy-account-warn') }}</ui-info>
</section> </section>
<section> <section>
<ui-switch v-model="disableRegistration">{{ $t('disable-registration') }}</ui-switch> <header><fa :icon="farEnvelope"/> {{ $t('email-config') }}</header>
</section> <ui-switch v-model="enableEmail">{{ $t('enable-email') }}<span slot="desc">{{ $t('email-config-info') }}</span></ui-switch>
<section> <ui-input v-model="email" type="email" :disabled="!enableEmail">{{ $t('email') }}</ui-input>
<ui-switch v-model="disableLocalTimeline">{{ $t('disable-local-timeline') }}</ui-switch> <ui-horizon-group inputs>
<ui-input v-model="smtpHost" :disabled="!enableEmail">{{ $t('smtp-host') }}</ui-input>
<ui-input v-model="smtpPort" type="number" :disabled="!enableEmail">{{ $t('smtp-port') }}</ui-input>
</ui-horizon-group>
<ui-horizon-group inputs>
<ui-input v-model="smtpUser" :disabled="!enableEmail">{{ $t('smtp-user') }}</ui-input>
<ui-input v-model="smtpPass" :disabled="!enableEmail">{{ $t('smtp-pass') }}</ui-input>
</ui-horizon-group>
<ui-switch v-model="smtpSecure" :disabled="!enableEmail">{{ $t('smtp-secure') }}<span slot="desc">{{ $t('smtp-secure-info') }}</span></ui-switch>
</section> </section>
<section> <section>
<header>summaly Proxy</header> <header>summaly Proxy</header>
@@ -69,7 +81,7 @@
<div slot="title"><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</div> <div slot="title"><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</div>
<section> <section>
<ui-switch v-model="enableTwitterIntegration">{{ $t('enable-twitter-integration') }}</ui-switch> <ui-switch v-model="enableTwitterIntegration">{{ $t('enable-twitter-integration') }}</ui-switch>
<ui-info>{{ $t('twitter-integration-info') }}</ui-info> <ui-info>{{ $t('twitter-integration-info', { url: `${url}/api/tw/cb` }) }}</ui-info>
<ui-input v-model="twitterConsumerKey" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-key') }}</ui-input> <ui-input v-model="twitterConsumerKey" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-key') }}</ui-input>
<ui-input v-model="twitterConsumerSecret" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-secret') }}</ui-input> <ui-input v-model="twitterConsumerSecret" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-secret') }}</ui-input>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button> <ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
@@ -80,7 +92,7 @@
<div slot="title"><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</div> <div slot="title"><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</div>
<section> <section>
<ui-switch v-model="enableGithubIntegration">{{ $t('enable-github-integration') }}</ui-switch> <ui-switch v-model="enableGithubIntegration">{{ $t('enable-github-integration') }}</ui-switch>
<ui-info>{{ $t('github-integration-info') }}</ui-info> <ui-info>{{ $t('github-integration-info', { url: `${url}/api/gh/cb` }) }}</ui-info>
<ui-input v-model="githubClientId" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-id') }}</ui-input> <ui-input v-model="githubClientId" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-id') }}</ui-input>
<ui-input v-model="githubClientSecret" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-secret') }}</ui-input> <ui-input v-model="githubClientSecret" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-secret') }}</ui-input>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button> <ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
@@ -91,7 +103,7 @@
<div slot="title"><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</div> <div slot="title"><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</div>
<section> <section>
<ui-switch v-model="enableDiscordIntegration">{{ $t('enable-discord-integration') }}</ui-switch> <ui-switch v-model="enableDiscordIntegration">{{ $t('enable-discord-integration') }}</ui-switch>
<ui-info>{{ $t('discord-integration-info') }}</ui-info> <ui-info>{{ $t('discord-integration-info', { url: `${url}/api/dc/cb` }) }}</ui-info>
<ui-input v-model="discordClientId" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-id') }}</ui-input> <ui-input v-model="discordClientId" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-id') }}</ui-input>
<ui-input v-model="discordClientSecret" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-secret') }}</ui-input> <ui-input v-model="discordClientSecret" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-secret') }}</ui-input>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button> <ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
@@ -103,15 +115,17 @@
<script lang="ts"> <script lang="ts">
import Vue from 'vue'; import Vue from 'vue';
import i18n from '../../i18n'; import i18n from '../../i18n';
import { host } from '../../config'; import { url, host } from '../../config';
import { toUnicode } from 'punycode'; import { toUnicode } from 'punycode';
import { faHeadset, faShieldAlt, faGhost, faUserPlus } from '@fortawesome/free-solid-svg-icons'; import { faHeadset, faShieldAlt, faGhost, faUserPlus } from '@fortawesome/free-solid-svg-icons';
import { faEnvelope as farEnvelope } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('admin/views/instance.vue'), i18n: i18n('admin/views/instance.vue'),
data() { data() {
return { return {
url,
host: toUnicode(host), host: toUnicode(host),
maintainerName: null, maintainerName: null,
maintainerEmail: null, maintainerEmail: null,
@@ -143,7 +157,14 @@ export default Vue.extend({
externalUserRecommendationEngine: null, externalUserRecommendationEngine: null,
externalUserRecommendationTimeout: null, externalUserRecommendationTimeout: null,
summalyProxy: null, summalyProxy: null,
faHeadset, faShieldAlt, faGhost, faUserPlus enableEmail: false,
email: null,
smtpSecure: false,
smtpHost: null,
smtpPort: null,
smtpUser: null,
smtpPass: null,
faHeadset, faShieldAlt, faGhost, faUserPlus, farEnvelope
}; };
}, },
@@ -176,6 +197,13 @@ export default Vue.extend({
this.externalUserRecommendationEngine = meta.externalUserRecommendationEngine; this.externalUserRecommendationEngine = meta.externalUserRecommendationEngine;
this.externalUserRecommendationTimeout = meta.externalUserRecommendationTimeout; this.externalUserRecommendationTimeout = meta.externalUserRecommendationTimeout;
this.summalyProxy = meta.summalyProxy; this.summalyProxy = meta.summalyProxy;
this.enableEmail = meta.enableEmail;
this.email = meta.email;
this.smtpSecure = meta.smtpSecure;
this.smtpHost = meta.smtpHost;
this.smtpPort = meta.smtpPort;
this.smtpUser = meta.smtpUser;
this.smtpPass = meta.smtpPass;
}); });
}, },
@@ -184,7 +212,7 @@ export default Vue.extend({
this.$root.api('admin/invite').then(x => { this.$root.api('admin/invite').then(x => {
this.inviteCode = x.code; this.inviteCode = x.code;
}).catch(e => { }).catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e text: e
}); });
@@ -221,14 +249,21 @@ export default Vue.extend({
enableExternalUserRecommendation: this.enableExternalUserRecommendation, enableExternalUserRecommendation: this.enableExternalUserRecommendation,
externalUserRecommendationEngine: this.externalUserRecommendationEngine, externalUserRecommendationEngine: this.externalUserRecommendationEngine,
externalUserRecommendationTimeout: parseInt(this.externalUserRecommendationTimeout, 10), externalUserRecommendationTimeout: parseInt(this.externalUserRecommendationTimeout, 10),
summalyProxy: this.summalyProxy summalyProxy: this.summalyProxy,
enableEmail: this.enableEmail,
email: this.email,
smtpSecure: this.smtpSecure,
smtpHost: this.smtpHost,
smtpPort: parseInt(this.smtpPort, 10),
smtpUser: this.smtpUser,
smtpPass: this.smtpPass
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('saved') text: this.$t('saved')
}); });
}).catch(e => { }).catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e text: e
}); });
+2 -2
View File
@@ -34,14 +34,14 @@ export default Vue.extend({
const process = async () => { const process = async () => {
const user = await this.$root.api('users/show', parseAcct(this.username)); const user = await this.$root.api('users/show', parseAcct(this.username));
await this.$root.api('admin/moderators/add', { userId: user.id }); await this.$root.api('admin/moderators/add', { userId: user.id });
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('add-moderator.added') text: this.$t('add-moderator.added')
}); });
}; };
await process().catch(e => { await process().catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e.toString() text: e.toString()
}); });
+12 -12
View File
@@ -46,7 +46,7 @@
</div> </div>
<div> <div>
<header> <header>
<b>{{ user | userName }}</b> <b><mk-user-name :user="user"/></b>
<span class="username">@{{ user | acct }}</span> <span class="username">@{{ user | acct }}</span>
</header> </header>
<div> <div>
@@ -115,12 +115,12 @@ export default Vue.extend({
return await this.$root.api('users/show', this.target.startsWith('@') ? parseAcct(this.target) : { userId: this.target }); return await this.$root.api('users/show', this.target.startsWith('@') ? parseAcct(this.target) : { userId: this.target });
} catch (e) { } catch (e) {
if (e == 'user not found') { if (e == 'user not found') {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: this.$t('user-not-found') text: this.$t('user-not-found')
}); });
} else { } else {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e.toString() text: e.toString()
}); });
@@ -138,7 +138,7 @@ export default Vue.extend({
async resetPassword() { async resetPassword() {
const user = await this.fetchUser(); const user = await this.fetchUser();
this.$root.api('admin/reset-password', { userId: user.id }).then(res => { this.$root.api('admin/reset-password', { userId: user.id }).then(res => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('password-updated', { password: res.password }) text: this.$t('password-updated', { password: res.password })
}); });
@@ -151,14 +151,14 @@ export default Vue.extend({
const process = async () => { const process = async () => {
const user = await this.fetchUser(); const user = await this.fetchUser();
await this.$root.api('admin/verify-user', { userId: user.id }); await this.$root.api('admin/verify-user', { userId: user.id });
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('verified') text: this.$t('verified')
}); });
}; };
await process().catch(e => { await process().catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e.toString() text: e.toString()
}); });
@@ -173,14 +173,14 @@ export default Vue.extend({
const process = async () => { const process = async () => {
const user = await this.fetchUser(); const user = await this.fetchUser();
await this.$root.api('admin/unverify-user', { userId: user.id }); await this.$root.api('admin/unverify-user', { userId: user.id });
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('unverified') text: this.$t('unverified')
}); });
}; };
await process().catch(e => { await process().catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e.toString() text: e.toString()
}); });
@@ -195,14 +195,14 @@ export default Vue.extend({
const process = async () => { const process = async () => {
const user = await this.fetchUser(); const user = await this.fetchUser();
await this.$root.api('admin/suspend-user', { userId: user.id }); await this.$root.api('admin/suspend-user', { userId: user.id });
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('suspended') text: this.$t('suspended')
}); });
}; };
await process().catch(e => { await process().catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e.toString() text: e.toString()
}); });
@@ -217,14 +217,14 @@ export default Vue.extend({
const process = async () => { const process = async () => {
const user = await this.fetchUser(); const user = await this.fetchUser();
await this.$root.api('admin/unsuspend-user', { userId: user.id }); await this.$root.api('admin/unsuspend-user', { userId: user.id });
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('unsuspended') text: this.$t('unsuspended')
}); });
}; };
await process().catch(e => { await process().catch(e => {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: e.toString() text: e.toString()
}); });
+1 -5
View File
@@ -77,11 +77,7 @@ export default {
const matched = match(e, action.patterns); const matched = match(e, action.patterns);
if (matched) { if (matched) {
if (el._hotkey_global) { if (el._hotkey_global && match(e, targetReservedKeys)) return;
if (match(e, targetReservedKeys)) {
return;
}
}
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
@@ -21,12 +21,12 @@ export default async function($root: any, force = false, silent = false) {
console.error(e); console.error(e);
} }
if (!silent) { /*if (!silent) {
$root.alert({ $root.dialog({
title: $root.$t('@.update-available-title'), title: $root.$t('@.update-available-title'),
text: $root.$t('@.update-available', { newer, current }) text: $root.$t('@.update-available', { newer, current })
}); });
} }*/
return newer; return newer;
} else { } else {
@@ -4,7 +4,7 @@ export default ($root: any) => {
require('fuckadblock'); require('fuckadblock');
function adBlockDetected() { function adBlockDetected() {
$root.alert({ $root.dialog({
title: $root.$t('@.adblock.detected'), title: $root.$t('@.adblock.detected'),
text: $root.$t('@.adblock.warning') text: $root.$t('@.adblock.warning')
}); });
+1 -1
View File
@@ -2,7 +2,7 @@ const faces = [
'(=^・・^=)', '(=^・・^=)',
'v(\'ω\')v', 'v(\'ω\')v',
'🐡( \'-\' 🐡 )フグパンチ!!!!', '🐡( \'-\' 🐡 )フグパンチ!!!!',
'🖕(´・_・`)🖕', '✌️(´・_・`)✌️',
'(。><。)', '(。><。)',
'(Δ・x・Δ)' '(Δ・x・Δ)'
]; ];
+4 -3
View File
@@ -78,9 +78,10 @@ export default (opts: Opts = {}) => ({
urls(): string[] { urls(): string[] {
if (this.appearNote.text) { if (this.appearNote.text) {
const ast = parse(this.appearNote.text); const ast = parse(this.appearNote.text);
// TODO: 再帰的にURL要素がないか調べる
return unique(ast return unique(ast
.filter(t => (t.type == 'url' || t.type == 'link') && !t.silent) .filter(t => ((t.name == 'url' || t.name == 'link') && t.props.url && !t.props.silent))
.map(t => t.url)); .map(t => t.props.url));
} else { } else {
return null; return null;
} }
@@ -141,7 +142,7 @@ export default (opts: Opts = {}) => ({
this.$root.api('notes/favorites/create', { this.$root.api('notes/favorites/create', {
noteId: this.appearNote.id noteId: this.appearNote.id
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
splash: true splash: true
}); });
@@ -20,7 +20,7 @@ export default function(me, settings, note) {
} }
} }
if (!isMyNote && note.text && settings.mutedWords.some(q => !q.some(word => !note.text.includes(word)))) { if (!isMyNote && note.text && settings.mutedWords.some(q => q.length > 0 && !q.some(word => !note.text.includes(word)))) {
return true; return true;
} }
+2 -4
View File
@@ -75,12 +75,10 @@ export default class Stream extends EventEmitter {
// チャンネル再接続 // チャンネル再接続
if (isReconnect) { if (isReconnect) {
this.sharedConnectionPools.forEach(p => { for (const p of this.sharedConnectionPools)
p.connect(); p.connect();
}); for (const c of this.nonSharedConnections)
this.nonSharedConnections.forEach(c => {
c.connect(); c.connect();
});
} }
} }
@@ -50,10 +50,13 @@ export default Vue.extend({
methods: { methods: {
regenerateToken() { regenerateToken() {
this.$input({ this.$root.dialog({
title: this.$t('enter-password'), title: this.$t('enter-password'),
input: {
type: 'password' type: 'password'
}).then(password => { }
}).then(({ canceled, result: password }) => {
if (canceled) return;
this.$root.api('i/regenerate_token', { this.$root.api('i/regenerate_token', {
password: password password: password
}); });
@@ -3,7 +3,9 @@
<ol class="users" ref="suggests" v-if="users.length > 0"> <ol class="users" ref="suggests" v-if="users.length > 0">
<li v-for="user in users" @click="complete(type, user)" @keydown="onKeydown" tabindex="-1"> <li v-for="user in users" @click="complete(type, user)" @keydown="onKeydown" tabindex="-1">
<img class="avatar" :src="user.avatarUrl" alt=""/> <img class="avatar" :src="user.avatarUrl" alt=""/>
<span class="name">{{ user | userName }}</span> <span class="name">
<mk-user-name :user="user"/>
</span>
<span class="username">@{{ user | acct }}</span> <span class="username">@{{ user | acct }}</span>
</li> </li>
</ol> </ol>
@@ -42,8 +44,9 @@ const lib = Object.entries(emojilib.lib).filter((x: any) => {
}); });
const char2file = (char: string) => { const char2file = (char: string) => {
let codes = [...char].map(x => x.codePointAt(0).toString(16)); let codes = Array.from(char).map(x => x.codePointAt(0).toString(16));
if (!codes.includes('200d')) codes = codes.filter(x => x != 'fe0f'); if (!codes.includes('200d')) codes = codes.filter(x => x != 'fe0f');
codes = codes.filter(x => x && x.length);
return codes.join('-'); return codes.join('-');
}; };
@@ -187,7 +190,8 @@ export default Vue.extend({
} else { } else {
this.$root.api('users/search', { this.$root.api('users/search', {
query: this.q, query: this.q,
limit: 30 limit: 10,
detail: false
}).then(users => { }).then(users => {
this.users = users; this.users = users;
this.fetching = false; this.fetching = false;
@@ -1,21 +1,36 @@
<template> <template>
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">{{ value ? this.$t('hide') : this.$t('show') }}</button> <button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">
<b>{{ value ? this.$t('hide') : this.$t('show') }}</b>
<span v-if="!value">
<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>
</template> </template>
<script lang="ts"> <script lang="ts">
import Vue from 'vue'; import Vue from 'vue';
import i18n from '../../../i18n'; import i18n from '../../../i18n';
import { length } from 'stringz';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/components/cw-button.vue'), i18n: i18n('common/views/components/cw-button.vue'),
props: { props: {
value: { value: {
type: Boolean, type: Boolean,
required: true required: true
},
note: {
type: Object,
required: true
} }
}, },
methods: { methods: {
length,
toggle() { toggle() {
this.$emit('input', !this.value); this.$emit('input', !this.value);
} }
@@ -37,4 +52,12 @@ export default Vue.extend({
&:hover &:hover
background var(--cwButtonHoverBg) background var(--cwButtonHoverBg)
> span
margin-left 4px
&:before
content '('
&:after
content ')'
</style> </style>
@@ -2,12 +2,17 @@
<div class="felqjxyj" :class="{ splash }"> <div class="felqjxyj" :class="{ splash }">
<div class="bg" ref="bg" @click="onBgClick"></div> <div class="bg" ref="bg" @click="onBgClick"></div>
<div class="main" ref="main"> <div class="main" ref="main">
<div class="icon" :class="type"><fa :icon="icon"/></div> <div class="icon" v-if="!input && !select && !user" :class="type"><fa :icon="icon"/></div>
<header v-if="title" v-html="title"></header> <header v-if="title" v-html="title"></header>
<div class="body" v-if="text" v-html="text"></div> <div class="body" v-if="text" v-html="text"></div>
<ui-input v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder" @keydown="onInputKeydown"></ui-input>
<ui-input v-if="user" v-model="userInputValue" autofocus @keydown="onInputKeydown"><span slot="prefix">@</span></ui-input>
<ui-select v-if="select" v-model="selectedValue">
<option v-for="item in select.items" :value="item.value">{{ item.text }}</option>
</ui-select>
<ui-horizon-group no-grow class="buttons fit-bottom" v-if="!splash"> <ui-horizon-group no-grow class="buttons fit-bottom" v-if="!splash">
<ui-button @click="ok" primary autofocus>OK</ui-button> <ui-button @click="ok" primary :autofocus="!input && !select && !user">OK</ui-button>
<ui-button @click="cancel" v-if="showCancelButton">Cancel</ui-button> <ui-button @click="cancel" v-if="showCancelButton || input || select || user">Cancel</ui-button>
</ui-horizon-group> </ui-horizon-group>
</div> </div>
</div> </div>
@@ -17,6 +22,7 @@
import Vue from 'vue'; import Vue from 'vue';
import * as anime from 'animejs'; import * as anime from 'animejs';
import { faTimesCircle, faQuestionCircle } from '@fortawesome/free-regular-svg-icons'; import { faTimesCircle, faQuestionCircle } from '@fortawesome/free-regular-svg-icons';
import parseAcct from "../../../../../misc/acct/parse";
export default Vue.extend({ export default Vue.extend({
props: { props: {
@@ -33,6 +39,15 @@ export default Vue.extend({
type: String, type: String,
required: false required: false
}, },
input: {
required: false
},
select: {
required: false
},
user: {
required: false
},
showCancelButton: { showCancelButton: {
type: Boolean, type: Boolean,
default: false default: false
@@ -43,6 +58,14 @@ export default Vue.extend({
} }
}, },
data() {
return {
inputValue: this.input && this.input.default ? this.input.default : null,
userInputValue: null,
selectedValue: null
};
},
computed: { computed: {
icon(): any { icon(): any {
switch (this.type) { switch (this.type) {
@@ -82,9 +105,21 @@ export default Vue.extend({
}, },
methods: { methods: {
ok() { async ok() {
this.$emit('ok'); if (this.user) {
const user = await this.$root.api('users/show', parseAcct(this.userInputValue));
if (user) {
this.$emit('ok', user);
this.close(); this.close();
}
} else {
const result =
this.input ? this.inputValue :
this.select ? this.selectedValue :
true;
this.$emit('ok', result);
this.close();
}
}, },
cancel() { cancel() {
@@ -114,6 +149,14 @@ export default Vue.extend({
onBgClick() { onBgClick() {
this.cancel(); this.cancel();
},
onInputKeydown(e) {
if (e.which == 13) { // Enter
e.preventDefault();
e.stopPropagation();
this.ok();
}
} }
} }
}); });
@@ -180,8 +223,11 @@ export default Vue.extend({
display block display block
margin 0 auto margin 0 auto
& + header
margin-top 16px
> header > header
margin 16px 0 8px 0 margin 0 0 8px 0
font-weight bold font-weight bold
font-size 20px font-size 20px
@@ -1,64 +0,0 @@
<template>
<div class="mk-discord-setting">
<p>{{ $t('description') }}</p>
<p class="account" v-if="$store.state.i.discord" :title="`Discord ID: ${$store.state.i.discord.id}`">{{ $t('connected-to') }}: <a :href="`https://discordapp.com/users/${$store.state.i.discord.id}`" target="_blank">@{{ $store.state.i.discord.username }}#{{ $store.state.i.discord.discriminator }}</a></p>
<p>
<a :href="`${apiUrl}/connect/discord`" target="_blank" @click.prevent="connect">{{ $store.state.i.discord ? this.$t('reconnect') : this.$t('connect') }}</a>
<span v-if="$store.state.i.discord"> or </span>
<a :href="`${apiUrl}/disconnect/discord`" target="_blank" v-if="$store.state.i.discord" @click.prevent="disconnect">{{ $t('disconnect') }}</a>
</p>
<p class="id" v-if="$store.state.i.discord">Discord ID: {{ $store.state.i.discord.id }}</p>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import { apiUrl } from '../../../config';
export default Vue.extend({
i18n: i18n('common/views/components/discord-setting.vue'),
data() {
return {
form: null,
apiUrl
};
},
mounted() {
this.$watch('$store.state.i', () => {
if (this.$store.state.i.discord && this.form)
this.form.close();
}, {
deep: true
});
},
methods: {
connect() {
this.form = window.open(apiUrl + '/connect/discord',
'discord_connect_window',
'height=570, width=520');
},
disconnect() {
window.open(apiUrl + '/disconnect/discord',
'discord_disconnect_window',
'height=570, width=520');
}
}
});
</script>
<style lang="stylus" scoped>
.mk-discord-setting
.account
border solid 1px #e1e8ed
border-radius 4px
padding 16px
a
font-weight bold
color inherit
.id
color #8899a6
</style>
@@ -1,5 +1,5 @@
<template> <template>
<img v-if="customEmoji" class="fvgwvorwhxigeolkkrcderjzcawqrscl custom" :src="url" :alt="alt" :title="alt"/> <img v-if="customEmoji" class="fvgwvorwhxigeolkkrcderjzcawqrscl custom" :class="{ normal: normal }" :src="url" :alt="alt" :title="alt"/>
<img v-else-if="char && !useOsDefaultEmojis" class="fvgwvorwhxigeolkkrcderjzcawqrscl" :src="url" :alt="alt" :title="alt"/> <img v-else-if="char && !useOsDefaultEmojis" class="fvgwvorwhxigeolkkrcderjzcawqrscl" :src="url" :alt="alt" :title="alt"/>
<span v-else-if="char && useOsDefaultEmojis">{{ char }}</span> <span v-else-if="char && useOsDefaultEmojis">{{ char }}</span>
<span v-else>:{{ name }}:</span> <span v-else>:{{ name }}:</span>
@@ -20,6 +20,11 @@ export default Vue.extend({
type: String, type: String,
required: false required: false
}, },
normal: {
type: Boolean,
required: false,
default: false
},
customEmojis: { customEmojis: {
required: false, required: false,
default: () => [] default: () => []
@@ -61,8 +66,9 @@ export default Vue.extend({
} }
if (this.char) { if (this.char) {
let codes = [...this.char].map(x => x.codePointAt(0).toString(16)); let codes = Array.from(this.char).map(x => x.codePointAt(0).toString(16));
if (!codes.includes('200d')) codes = codes.filter(x => x != 'fe0f'); if (!codes.includes('200d')) codes = codes.filter(x => x != 'fe0f');
codes = codes.filter(x => x && x.length);
this.url = `https://twemoji.maxcdn.com/2/svg/${codes.join('-')}.svg`; this.url = `https://twemoji.maxcdn.com/2/svg/${codes.join('-')}.svg`;
} }
@@ -83,4 +89,11 @@ export default Vue.extend({
&:hover &:hover
transform scale(1.2) transform scale(1.2)
&.normal
height 1.25em
vertical-align -0.25em
&:hover
transform none
</style> </style>
@@ -1,7 +1,7 @@
<template> <template>
<div class="xqnhankfuuilcwvhgsopeqncafzsquya"> <div class="xqnhankfuuilcwvhgsopeqncafzsquya">
<button class="go-index" v-if="selfNav" @click="goIndex"><fa icon="arrow-left"/></button> <button class="go-index" v-if="selfNav" @click="goIndex"><fa icon="arrow-left"/></button>
<header><b><router-link :to="blackUser | userPage">{{ blackUser | userName }}</router-link></b>({{ $t('@.reversi.black') }}) vs <b><router-link :to="whiteUser | userPage">{{ whiteUser | userName }}</router-link></b>({{ $t('@.reversi.white') }})</header> <header><b><router-link :to="blackUser | userPage"><mk-user-name :user="blackUser"/></router-link></b>({{ $t('@.reversi.black') }}) vs <b><router-link :to="whiteUser | userPage"><mk-user-name :user="whiteUser"/></router-link></b>({{ $t('@.reversi.white') }})</header>
<div style="overflow: hidden; line-height: 28px;"> <div style="overflow: hidden; line-height: 28px;">
<p class="turn" v-if="!iAmPlayer && !game.isEnded">{{ $t('@.reversi.turn-of', { name: $options.filters.userName(turnUser) }) }}<mk-ellipsis/></p> <p class="turn" v-if="!iAmPlayer && !game.isEnded">{{ $t('@.reversi.turn-of', { name: $options.filters.userName(turnUser) }) }}<mk-ellipsis/></p>
@@ -10,7 +10,7 @@
<p class="turn2" v-if="iAmPlayer && !game.isEnded && isMyTurn" v-animate-css="{ classes: 'tada', iteration: 'infinite' }">{{ $t('@.reversi.my-turn') }}</p> <p class="turn2" v-if="iAmPlayer && !game.isEnded && isMyTurn" v-animate-css="{ classes: 'tada', iteration: 'infinite' }">{{ $t('@.reversi.my-turn') }}</p>
<p class="result" v-if="game.isEnded && logPos == logs.length"> <p class="result" v-if="game.isEnded && logPos == logs.length">
<template v-if="game.winner"> <template v-if="game.winner">
<span>{{ $t('@.reversi.won', { name: $options.filters.userName(game.winner) }) }}</span> <misskey-flavored-markdown :text="$t('@.reversi.won', { name: $options.filters.userName(game.winner) })" :shouldBreak="false" :plainText="true" :custom-emojis="game.winner.emojis"/>
<span v-if="game.surrendered != null"> ({{ $t('surrendered') }})</span> <span v-if="game.surrendered != null"> ({{ $t('surrendered') }})</span>
</template> </template>
<template v-else>{{ $t('@.reversi.drawn') }}</template> <template v-else>{{ $t('@.reversi.drawn') }}</template>
@@ -30,8 +30,14 @@
: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">
<img v-if="stone === true" :src="blackUser.avatarUrl" alt="black" :class="{ contrast: $store.state.settings.games.reversi.useContrastStones }"> <img v-if="stone === true" :src="blackUser.avatarUrl" alt="black" :class="{ contrast: $store.state.settings.games.reversi.useContrastStones }">
<img v-if="stone === false" :src="whiteUser.avatarUrl" alt="white" :class="{ contrast: $store.state.settings.games.reversi.useContrastStones }"> <img v-if="stone === false" :src="whiteUser.avatarUrl" alt="white" :class="{ contrast: $store.state.settings.games.reversi.useContrastStones }">
</template>
<template v-if="$store.state.settings.games.reversi.useWhiteBlackStones">
<fa v-if="stone === true" :icon="fasCircle"/>
<fa v-if="stone === false" :icon="farCircle"/>
</template>
</div> </div>
</div> </div>
<div class="labels-y" v-if="this.$store.state.settings.games.reversi.showBoardLabels"> <div class="labels-y" v-if="this.$store.state.settings.games.reversi.showBoardLabels">
@@ -50,15 +56,13 @@
</div> </div>
<div class="player" v-if="game.isEnded"> <div class="player" v-if="game.isEnded">
<div>
<button @click="logPos = 0" :disabled="logPos == 0"><fa icon="angle-double-left"/></button>
<button @click="logPos--" :disabled="logPos == 0"><fa icon="angle-left"/></button>
</div>
<span>{{ logPos }} / {{ logs.length }}</span> <span>{{ logPos }} / {{ logs.length }}</span>
<div> <ui-horizon-group>
<button @click="logPos++" :disabled="logPos == logs.length"><fa icon="angle-right"/></button> <ui-button @click="logPos = 0" :disabled="logPos == 0"><fa :icon="faAngleDoubleLeft"/></ui-button>
<button @click="logPos = logs.length" :disabled="logPos == logs.length"><fa icon="angle-double-right"/></button> <ui-button @click="logPos--" :disabled="logPos == 0"><fa :icon="faAngleLeft"/></ui-button>
</div> <ui-button @click="logPos++" :disabled="logPos == logs.length"><fa :icon="faAngleRight"/></ui-button>
<ui-button @click="logPos = logs.length" :disabled="logPos == logs.length"><fa :icon="faAngleDoubleRight"/></ui-button>
</ui-horizon-group>
</div> </div>
<div class="info"> <div class="info">
@@ -75,6 +79,9 @@ import i18n from '../../../../../i18n';
import * as CRC32 from 'crc-32'; import * as CRC32 from 'crc-32';
import Reversi, { Color } from '../../../../../../../games/reversi/core'; import Reversi, { Color } from '../../../../../../../games/reversi/core';
import { url } from '../../../../../config'; import { url } from '../../../../../config';
import { faAngleDoubleLeft, faAngleLeft, faAngleRight, faAngleDoubleRight } from '@fortawesome/free-solid-svg-icons';
import { faCircle as fasCircle } from '@fortawesome/free-solid-svg-icons';
import { faCircle as farCircle } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/components/games/reversi/reversi.game.vue'), i18n: i18n('common/views/components/games/reversi/reversi.game.vue'),
@@ -99,7 +106,8 @@ export default Vue.extend({
o: null as Reversi, o: null as Reversi,
logs: [], logs: [],
logPos: 0, logPos: 0,
pollingClock: null pollingClock: null,
faAngleDoubleLeft, faAngleLeft, faAngleRight, faAngleDoubleRight, fasCircle, farCircle
}; };
}, },
@@ -412,6 +420,11 @@ export default Vue.extend({
&.none &.none
border-color transparent !important border-color transparent !important
> svg
display block
width 100%
height 100%
> img > img
display block display block
width 100% width 100%
@@ -449,7 +462,9 @@ export default Vue.extend({
padding-bottom 16px padding-bottom 16px
> .player > .player
padding-bottom 32px padding 0 16px 32px 16px
margin 0 auto
max-width 500px
> span > span
display inline-block display inline-block
@@ -19,7 +19,7 @@
<h2>{{ $t('invitations') }}</h2> <h2>{{ $t('invitations') }}</h2>
<div class="invitation" v-for="i in invitations" tabindex="-1" @click="accept(i)"> <div class="invitation" v-for="i in invitations" tabindex="-1" @click="accept(i)">
<mk-avatar class="avatar" :user="i.parent"/> <mk-avatar class="avatar" :user="i.parent"/>
<span class="name"><b>{{ i.parent | userName }}</b></span> <span class="name"><b><mk-user-name :user="i.parent"/></b></span>
<span class="username">@{{ i.parent.username }}</span> <span class="username">@{{ i.parent.username }}</span>
<mk-time :time="i.createdAt"/> <mk-time :time="i.createdAt"/>
</div> </div>
@@ -29,7 +29,7 @@
<a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`"> <a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/> <mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/> <mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1 | userName }}</b> vs <b>{{ g.user2 | userName }}</b></span> <span><b><mk-user-name :user="g.user1"/></b> vs <b><mk-user-name :user="g.user2"/></b></span>
<span class="state">{{ g.isEnded ? $t('game-state.ended') : $t('game-state.playing') }}</span> <span class="state">{{ g.isEnded ? $t('game-state.ended') : $t('game-state.playing') }}</span>
<mk-time :time="g.createdAt" /> <mk-time :time="g.createdAt" />
</a> </a>
@@ -39,7 +39,7 @@
<a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`"> <a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/> <mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/> <mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1 | userName }}</b> vs <b>{{ g.user2 | userName }}</b></span> <span><b><mk-user-name :user="g.user1"/></b> vs <b><mk-user-name :user="g.user2"/></b></span>
<span class="state">{{ g.isEnded ? $t('game-state.ended') : $t('game-state.playing') }}</span> <span class="state">{{ g.isEnded ? $t('game-state.ended') : $t('game-state.playing') }}</span>
<mk-time :time="g.createdAt" /> <mk-time :time="g.createdAt" />
</a> </a>
@@ -99,13 +99,14 @@ export default Vue.extend({
this.$emit('go', game); this.$emit('go', game);
}, },
match() { async match() {
this.$input({ const { result: user } = await this.$root.dialog({
title: this.$t('enter-username') title: this.$t('enter-username'),
}).then(username => { user: {
this.$root.api('users/show', { local: true
username }
}).then(user => { });
if (user == null) return;
this.$root.api('games/reversi/match', { this.$root.api('games/reversi/match', {
userId: user.id userId: user.id
}).then(res => { }).then(res => {
@@ -115,8 +116,6 @@ export default Vue.extend({
this.$emit('go', res); this.$emit('go', res);
} }
}); });
});
});
}, },
accept(invitation) { accept(invitation) {
@@ -1,6 +1,6 @@
<template> <template>
<div class="urbixznjwwuukfsckrwzwsqzsxornqij"> <div class="urbixznjwwuukfsckrwzwsqzsxornqij">
<header><b>{{ game.user1 | userName }}</b> vs <b>{{ game.user2 | userName }}</b></header> <header><b><mk-user-name :user="game.user1"/></b> vs <b><mk-user-name :user="game.user2"/></b></header>
<div> <div>
<p>{{ $t('settings-of-the-game') }}</p> <p>{{ $t('settings-of-the-game') }}</p>
@@ -36,8 +36,8 @@
<div> <div>
<form-radio v-model="game.settings.bw" value="random" @change="updateSettings">{{ $t('random') }}</form-radio> <form-radio v-model="game.settings.bw" value="random" @change="updateSettings">{{ $t('random') }}</form-radio>
<form-radio v-model="game.settings.bw" :value="1" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b>{{ game.user1 | userName }}</b>{{ this.$t('black-is').split('{}')[1] }}</form-radio> <form-radio v-model="game.settings.bw" :value="1" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b><mk-user-name :user="game.user1"/></b>{{ this.$t('black-is').split('{}')[1] }}</form-radio>
<form-radio v-model="game.settings.bw" :value="2" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b>{{ game.user2 | userName }}</b>{{ this.$t('black-is').split('{}')[1] }}</form-radio> <form-radio v-model="game.settings.bw" :value="2" @change="updateSettings">{{ this.$t('black-is').split('{}')[0] }}<b><mk-user-name :user="game.user2"/></b>{{ this.$t('black-is').split('{}')[1] }}</form-radio>
</div> </div>
</div> </div>
@@ -4,7 +4,7 @@
<x-gameroom :game="game" :self-nav="selfNav" @go-index="goIndex"/> <x-gameroom :game="game" :self-nav="selfNav" @go-index="goIndex"/>
</div> </div>
<div class="matching" v-else-if="matching"> <div class="matching" v-else-if="matching">
<h1>{{ this.$t('matching.waiting-for').split('{}')[0] }}<b>{{ matching | userName }}</b>{{ this.$t('matching.waiting-for').split('{}')[1] }}<mk-ellipsis/></h1> <h1>{{ this.$t('matching.waiting-for').split('{}')[0] }}<b><mk-user-name :user="matching"/></b>{{ this.$t('matching.waiting-for').split('{}')[1] }}<mk-ellipsis/></h1>
<div class="cancel"> <div class="cancel">
<form-button round @click="cancel">{{ $t('matching.cancel') }}</form-button> <form-button round @click="cancel">{{ $t('matching.cancel') }}</form-button>
</div> </div>
@@ -1,64 +0,0 @@
<template>
<div class="mk-github-setting">
<p>{{ $t('description') }}</p>
<p class="account" v-if="$store.state.i.github" :title="`GitHub ID: ${$store.state.i.github.id}`">{{ $t('connected-to') }}: <a :href="`https://github.com/${$store.state.i.github.login}`" target="_blank">@{{ $store.state.i.github.login }}</a></p>
<p>
<a :href="`${apiUrl}/connect/github`" target="_blank" @click.prevent="connect">{{ $store.state.i.github ? this.$t('reconnect') : this.$t('connect') }}</a>
<span v-if="$store.state.i.github"> or </span>
<a :href="`${apiUrl}/disconnect/github`" target="_blank" v-if="$store.state.i.github" @click.prevent="disconnect">{{ $t('disconnect') }}</a>
</p>
<p class="id" v-if="$store.state.i.github">GitHub ID: {{ $store.state.i.github.id }}</p>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import { apiUrl } from '../../../config';
export default Vue.extend({
i18n: i18n('common/views/components/github-setting.vue'),
data() {
return {
form: null,
apiUrl
};
},
mounted() {
this.$watch('$store.state.i', () => {
if (this.$store.state.i.github && this.form)
this.form.close();
}, {
deep: true
});
},
methods: {
connect() {
this.form = window.open(apiUrl + '/connect/github',
'github_connect_window',
'height=570, width=520');
},
disconnect() {
window.open(apiUrl + '/disconnect/github',
'github_disconnect_window',
'height=570, width=520');
}
}
});
</script>
<style lang="stylus" scoped>
.mk-github-setting
.account
border solid 1px #e1e8ed
border-radius 4px
padding 16px
a
font-weight bold
color inherit
.id
color #8899a6
</style>
@@ -22,7 +22,10 @@ export default Vue.extend({
}, },
methods: { methods: {
search() { search() {
window.open(`https://www.google.com/?#q=${this.query}`, '_blank'); const engine = this.$store.state.settings.webSearchEngine ||
'https://www.google.com/?#q={{query}}';
const url = engine.replace('{{query}}', this.query)
window.open(url, '_blank');
} }
} }
}); });
@@ -1,5 +1,6 @@
import Vue from 'vue'; import Vue from 'vue';
import userName from './user-name.vue';
import followButton from './follow-button.vue'; import followButton from './follow-button.vue';
import error from './error.vue'; import error from './error.vue';
import noteSkeleton from './note-skeleton.vue'; import noteSkeleton from './note-skeleton.vue';
@@ -44,6 +45,7 @@ import uiInfo from './ui/info.vue';
import formButton from './ui/form/button.vue'; import formButton from './ui/form/button.vue';
import formRadio from './ui/form/radio.vue'; import formRadio from './ui/form/radio.vue';
Vue.component('mk-user-name', userName);
Vue.component('mk-follow-button', followButton); Vue.component('mk-follow-button', followButton);
Vue.component('mk-error', error); Vue.component('mk-error', error);
Vue.component('mk-note-skeleton', noteSkeleton); Vue.component('mk-note-skeleton', noteSkeleton);
@@ -0,0 +1,96 @@
<template>
<ui-card>
<div slot="title"><fa icon="share-alt"/> {{ $t('title') }}</div>
<section>
<header><fa :icon="['fab', 'twitter']"/> Twitter</header>
<p v-if="$store.state.i.twitter">{{ $t('connected-to') }}: <a :href="`https://twitter.com/${$store.state.i.twitter.screenName}`" target="_blank">@{{ $store.state.i.twitter.screenName }}</a></p>
<ui-button v-if="$store.state.i.twitter" @click="disconnectTwitter">{{ $t('disconnect') }}</ui-button>
<ui-button v-else @click="connectTwitter">{{ $t('connect') }}</ui-button>
</section>
<section>
<header><fa :icon="['fab', 'discord']"/> Discord</header>
<p v-if="$store.state.i.discord">{{ $t('connected-to') }}: <a :href="`https://discordapp.com/users/${$store.state.i.discord.id}`" target="_blank">@{{ $store.state.i.discord.username }}#{{ $store.state.i.discord.discriminator }}</a></p>
<ui-button v-if="$store.state.i.discord" @click="disconnectDiscord">{{ $t('disconnect') }}</ui-button>
<ui-button v-else @click="connectDiscord">{{ $t('connect') }}</ui-button>
</section>
<section>
<header><fa :icon="['fab', 'github']"/> GitHub</header>
<p v-if="$store.state.i.github">{{ $t('connected-to') }}: <a :href="`https://github.com/${$store.state.i.github.login}`" target="_blank">@{{ $store.state.i.github.login }}</a></p>
<ui-button v-if="$store.state.i.github" @click="disconnectGithub">{{ $t('disconnect') }}</ui-button>
<ui-button v-else @click="connectGithub">{{ $t('connect') }}</ui-button>
</section>
</ui-card>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import { apiUrl } from '../../../config';
export default Vue.extend({
i18n: i18n('common/views/components/integration-settings.vue'),
data() {
return {
apiUrl,
twitterForm: null,
discordForm: null,
githubForm: null,
};
},
mounted() {
this.$watch('$store.state.i', () => {
if (this.$store.state.i.twitter) {
if (this.twitterForm) this.twitterForm.close();
}
}, {
deep: true
});
},
methods: {
connectTwitter() {
this.twitterForm = window.open(apiUrl + '/connect/twitter',
'twitter_connect_window',
'height=570, width=520');
},
disconnectTwitter() {
window.open(apiUrl + '/disconnect/twitter',
'twitter_disconnect_window',
'height=570, width=520');
},
connectDiscord() {
this.discordForm = window.open(apiUrl + '/connect/discord',
'discord_connect_window',
'height=570, width=520');
},
disconnectDiscord() {
window.open(apiUrl + '/disconnect/discord',
'discord_disconnect_window',
'height=570, width=520');
},
connectGithub() {
this.githubForm = window.open(apiUrl + '/connect/github',
'github_connect_window',
'height=570, width=520');
},
disconnectGithub() {
window.open(apiUrl + '/disconnect/github',
'github_disconnect_window',
'height=570, width=520');
},
}
});
</script>
<style lang="stylus" scoped>
</style>
@@ -0,0 +1,54 @@
<template>
<ui-card>
<div slot="title"><fa icon="language"/> {{ $t('title') }}</div>
<section class="fit-top">
<ui-select v-model="lang" :placeholder="$t('pick-language')">
<optgroup :label="$t('recommended')">
<option value="">{{ $t('auto') }}</option>
</optgroup>
<optgroup :label="$t('specify-language')">
<option v-for="x in langs" :value="x[0]" :key="x[0]">{{ x[1] }}</option>
</optgroup>
</ui-select>
<ui-info>Current: <i>{{ currentLanguage }}</i></ui-info>
<ui-info warn>{{ $t('info') }}</ui-info>
</section>
</ui-card>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import { langs } from '../../../config';
export default Vue.extend({
i18n: i18n('common/views/components/language-settings.vue'),
data() {
return {
langs,
currentLanguage: 'Unknown',
};
},
computed: {
lang: {
get() { return this.$store.state.device.lang; },
set(value) { this.$store.commit('device/set', { key: 'lang', value }); }
},
},
created() {
try {
const locale = JSON.parse(localStorage.getItem('locale') || "{}");
const localeKey = localStorage.getItem('localeKey');
this.currentLanguage = `${locale.meta.lang} (${localeKey})`;
} catch { }
},
methods: {
}
});
</script>
@@ -1,5 +1,5 @@
<template> <template>
<div class="onchrpzrvnoruiaenfcqvccjfuupzzwv"> <div class="onchrpzrvnoruiaenfcqvccjfuupzzwv" :class="{ big: $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">
@@ -125,6 +125,11 @@ export default Vue.extend({
position initial position initial
&.big
> .popover
> button
font-size 15px
> .backdrop > .backdrop
position fixed position fixed
top 0 top 0
@@ -180,6 +185,7 @@ export default Vue.extend({
padding 8px 16px padding 8px 16px
width 100% width 100%
color var(--popupFg) color var(--popupFg)
white-space nowrap
&:hover &:hover
color var(--primaryForeground) color var(--primaryForeground)
@@ -10,7 +10,8 @@
<misskey-flavored-markdown class="text" v-if="message.text" ref="text" :text="message.text" :i="$store.state.i"/> <misskey-flavored-markdown class="text" v-if="message.text" ref="text" :text="message.text" :i="$store.state.i"/>
<div class="file" v-if="message.file"> <div class="file" v-if="message.file">
<a :href="message.file.url" target="_blank" :title="message.file.name"> <a :href="message.file.url" target="_blank" :title="message.file.name">
<img v-if="message.file.type.split('/')[0] == 'image'" :src="message.file.url" :alt="message.file.name"/> <img v-if="message.file.type.split('/')[0] == 'image'" :src="message.file.url" :alt="message.file.name"
:style="{ backgroundColor: message.file.properties.avgColor && message.file.properties.avgColor.length == 3 ? `rgb(${message.file.properties.avgColor.join(',')})` : 'transparent' }"/>
<p v-else>{{ message.file.name }}</p> <p v-else>{{ message.file.name }}</p>
</a> </a>
</div> </div>
@@ -51,8 +52,8 @@ export default Vue.extend({
if (this.message.text) { if (this.message.text) {
const ast = parse(this.message.text); const ast = parse(this.message.text);
return unique(ast return unique(ast
.filter(t => (t.type == 'url' || t.type == 'link') && !t.silent) .filter(t => ((t.name == 'url' || t.name == 'link') && t.props.url && !t.silent))
.map(t => t.url)); .map(t => t.props.url));
} else { } else {
return null; return null;
} }
@@ -150,7 +151,6 @@ export default Vue.extend({
> a > a
display block display block
max-width 100% max-width 100%
max-height 512px
border-radius 16px border-radius 16px
overflow hidden overflow hidden
text-decoration none text-decoration none
@@ -165,7 +165,8 @@ export default Vue.extend({
display block display block
margin 0 margin 0
width 100% width 100%
height 100% max-height 512px
object-fit contain
> p > p
padding 30px padding 30px
@@ -14,7 +14,7 @@
tabindex="-1" tabindex="-1"
> >
<mk-avatar class="avatar" :user="user"/> <mk-avatar class="avatar" :user="user"/>
<span class="name">{{ user | userName }}</span> <span class="name"><mk-user-name :user="user"/></span>
<span class="username">@{{ user | acct }}</span> <span class="username">@{{ user | acct }}</span>
</li> </li>
</ol> </ol>
@@ -33,7 +33,7 @@
<div> <div>
<mk-avatar class="avatar" :user="isMe(message) ? message.recipient : message.user"/> <mk-avatar class="avatar" :user="isMe(message) ? message.recipient : message.user"/>
<header> <header>
<span class="name">{{ isMe(message) ? message.recipient : message.user | userName }}</span> <span class="name"><mk-user-name :user="isMe(message) ? message.recipient : message.user"/></span>
<span class="username">@{{ isMe(message) ? message.recipient : message.user | acct }}</span> <span class="username">@{{ isMe(message) ? message.recipient : message.user | acct }}</span>
<mk-time :time="message.createdAt"/> <mk-time :time="message.createdAt"/>
</header> </header>
@@ -115,9 +115,11 @@ export default Vue.extend({
} }
this.$root.api('users/search', { this.$root.api('users/search', {
query: this.q, query: this.q,
max: 5 localOnly: true,
limit: 10,
detail: false
}).then(users => { }).then(users => {
this.result = users; this.result = users.filter(user => user.id != this.$store.state.i.id);
}); });
}, },
navigate(user) { navigate(user) {
+39 -30
View File
@@ -3,36 +3,21 @@ import { length } from 'stringz';
import { Node } from '../../../../../mfm/parser'; import { Node } from '../../../../../mfm/parser';
import parse from '../../../../../mfm/parse'; import parse from '../../../../../mfm/parse';
import MkUrl from './url.vue'; import MkUrl from './url.vue';
import { concat } from '../../../../../prelude/array'; import { concat, sum } from '../../../../../prelude/array';
import MkFormula from './formula.vue'; import MkFormula from './formula.vue';
import MkGoogle from './google.vue'; import MkGoogle from './google.vue';
import { toUnicode } from 'punycode'; import { toUnicode } from 'punycode';
import syntaxHighlight from '../../../../../mfm/syntax-highlight'; import syntaxHighlight from '../../../../../mfm/syntax-highlight';
function getTextCount(tokens: Node[]): number { function getTextCount(tokens: Node[]): number {
let count = 0; const rootCount = sum(tokens.filter(x => x.name === 'text').map(x => length(x.props.text)));
const extract = (tokens: Node[]) => { const childrenCount = sum(tokens.filter(x => x.children).map(x => getTextCount(x.children)));
tokens.filter(x => x.name === 'text').forEach(x => { return rootCount + childrenCount;
count += length(x.props.text);
});
tokens.filter(x => x.children).forEach(x => {
extract(x.children);
});
};
extract(tokens);
return count;
} }
function getChildrenCount(tokens: Node[]): number { function getChildrenCount(tokens: Node[]): number {
let count = 0; const countTree = tokens.filter(x => x.children).map(x => getChildrenCount(x.children));
const extract = (tokens: Node[]) => { return countTree.length + sum(countTree);
tokens.filter(x => x.children).forEach(x => {
count++;
extract(x.children);
});
};
extract(tokens);
return count;
} }
export default Vue.component('misskey-flavored-markdown', { export default Vue.component('misskey-flavored-markdown', {
@@ -49,6 +34,10 @@ export default Vue.component('misskey-flavored-markdown', {
type: Boolean, type: Boolean,
default: true default: true
}, },
plainText: {
type: Boolean,
default: false
},
author: { author: {
type: Object, type: Object,
default: null default: null
@@ -65,14 +54,9 @@ export default Vue.component('misskey-flavored-markdown', {
render(createElement) { render(createElement) {
if (this.text == null || this.text == '') return; if (this.text == null || this.text == '') return;
let ast: Node[]; const ast = this.ast == null ?
parse(this.text, this.plainText) : // Parse text to ast
if (this.ast == null) { this.ast as Node[];
// Parse text to ast
ast = parse(this.text);
} else {
ast = this.ast as Node[];
}
let bigCount = 0; let bigCount = 0;
let motionCount = 0; let motionCount = 0;
@@ -96,6 +80,18 @@ export default Vue.component('misskey-flavored-markdown', {
return [createElement('b', genEl(token.children))]; return [createElement('b', genEl(token.children))];
} }
case 'strike': {
return [createElement('del', genEl(token.children))];
}
case 'italic': {
return (createElement as any)('i', {
attrs: {
style: 'font-style: oblique;'
},
}, genEl(token.children));
}
case 'big': { case 'big': {
bigCount++; bigCount++;
const isLong = getTextCount(token.children) > 10 || getChildrenCount(token.children) > 5; const isLong = getTextCount(token.children) > 10 || getChildrenCount(token.children) > 5;
@@ -111,6 +107,18 @@ export default Vue.component('misskey-flavored-markdown', {
}, genEl(token.children)); }, genEl(token.children));
} }
case 'small': {
return [createElement('small', genEl(token.children))];
}
case 'center': {
return [createElement('div', {
attrs: {
style: 'text-align:center;'
}
}, genEl(token.children))];
}
case 'motion': { case 'motion': {
motionCount++; motionCount++;
const isLong = getTextCount(token.children) > 10 || getChildrenCount(token.children) > 5; const isLong = getTextCount(token.children) > 10 || getChildrenCount(token.children) > 5;
@@ -230,7 +238,8 @@ export default Vue.component('misskey-flavored-markdown', {
name: token.props.name name: token.props.name
}, },
props: { props: {
customEmojis: this.customEmojis || customEmojis customEmojis: this.customEmojis || customEmojis,
normal: this.plainText
} }
})]; })];
} }
@@ -29,7 +29,7 @@ export default Vue.extend({
>>> .quote >>> .quote
margin 8px margin 8px
padding 6px 12px padding 6px 0 6px 12px
color var(--mfmQuote) color var(--mfmQuote)
border-left solid 3px var(--mfmQuoteLine) border-left solid 3px var(--mfmQuoteLine)
@@ -38,7 +38,7 @@ export default Vue.extend({
margin 0 0.5em margin 0 0.5em
font-size 80% font-size 80%
color #525252 color #525252
background #f8f8f8 background rgba(0, 0, 0, 0.05)
border-radius 2px border-radius 2px
>>> pre > code >>> pre > code
@@ -7,7 +7,7 @@
<ui-info v-if="!muteFetching && mute.length == 0">{{ $t('no-muted-users') }}</ui-info> <ui-info v-if="!muteFetching && mute.length == 0">{{ $t('no-muted-users') }}</ui-info>
<div class="users" v-if="mute.length != 0"> <div class="users" v-if="mute.length != 0">
<div v-for="user in mute" :key="user.id"> <div v-for="user in mute" :key="user.id">
<p><b>{{ user | userName }}</b> @{{ user | acct }}</p> <p><b><mk-user-name :user="user"/></b> @{{ user | acct }}</p>
</div> </div>
</div> </div>
</section> </section>
@@ -17,7 +17,7 @@
<ui-info v-if="!blockFetching && block.length == 0">{{ $t('no-blocked-users') }}</ui-info> <ui-info v-if="!blockFetching && block.length == 0">{{ $t('no-blocked-users') }}</ui-info>
<div class="users" v-if="block.length != 0"> <div class="users" v-if="block.length != 0">
<div v-for="user in block" :key="user.id"> <div v-for="user in block" :key="user.id">
<p><b>{{ user | userName }}</b> @{{ user | acct }}</p> <p><b><mk-user-name :user="user"/></b> @{{ user | acct }}</p>
</div> </div>
</div> </div>
</section> </section>
@@ -72,7 +72,7 @@ export default Vue.extend({
methods: { methods: {
save() { save() {
this._mutedWords = this.mutedWords.split('\n').map(line => line.split(' ')); this._mutedWords = this.mutedWords.split('\n').map(line => line.split(' ').filter(x => x != ''));
} }
} }
}); });
@@ -1,7 +1,9 @@
<template> <template>
<header class="bvonvjxbwzaiskogyhbwgyxvcgserpmu"> <header class="bvonvjxbwzaiskogyhbwgyxvcgserpmu">
<mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle == 'smart'"/> <mk-avatar class="avatar" :user="note.user" v-if="$store.state.device.postStyle == 'smart'"/>
<router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id">{{ note.user | userName }}</router-link> <router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id">
<mk-user-name :user="note.user"/>
</router-link>
<span class="is-admin" v-if="note.user.isAdmin">admin</span> <span class="is-admin" v-if="note.user.isAdmin">admin</span>
<span class="is-bot" v-if="note.user.isBot">bot</span> <span class="is-bot" v-if="note.user.isBot">bot</span>
<span class="is-cat" v-if="note.user.isCat">cat</span> <span class="is-cat" v-if="note.user.isCat">cat</span>
@@ -78,7 +78,7 @@ export default Vue.extend({
this.$root.api('i/pin', { this.$root.api('i/pin', {
noteId: this.note.id noteId: this.note.id
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
splash: true splash: true
}); });
@@ -95,12 +95,12 @@ export default Vue.extend({
}, },
del() { del() {
this.$root.alert({ this.$root.dialog({
type: 'warning', type: 'warning',
text: this.$t('delete-confirm'), text: this.$t('delete-confirm'),
showCancelButton: true showCancelButton: true
}).then(res => { }).then(({ canceled }) => {
if (!res) return; if (canceled) return;
this.$root.api('notes/delete', { this.$root.api('notes/delete', {
noteId: this.note.id noteId: this.note.id
@@ -114,7 +114,7 @@ export default Vue.extend({
this.$root.api('notes/favorites/create', { this.$root.api('notes/favorites/create', {
noteId: this.note.id noteId: this.note.id
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
splash: true splash: true
}); });
@@ -126,7 +126,7 @@ export default Vue.extend({
this.$root.api('notes/favorites/delete', { this.$root.api('notes/favorites/delete', {
noteId: this.note.id noteId: this.note.id
}).then(() => { }).then(() => {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
splash: true splash: true
}); });
@@ -11,33 +11,50 @@ import i18n from '../../../i18n';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/components/password-settings.vue'), i18n: i18n('common/views/components/password-settings.vue'),
methods: { methods: {
reset() { async reset() {
this.$input({ const { canceled: canceled1, result: currentPassword } = await this.$root.dialog({
title: this.$t('enter-current-password'), title: this.$t('enter-current-password'),
input: {
type: 'password' type: 'password'
}).then(currentPassword => { }
this.$input({ });
if (canceled1) return;
const { canceled: canceled2, result: newPassword } = await this.$root.dialog({
title: this.$t('enter-new-password'), title: this.$t('enter-new-password'),
input: {
type: 'password' type: 'password'
}).then(newPassword => { }
this.$input({ });
if (canceled2) return;
const { canceled: canceled3, result: newPassword2 } = await this.$root.dialog({
title: this.$t('enter-new-password-again'), title: this.$t('enter-new-password-again'),
input: {
type: 'password' type: 'password'
}).then(newPassword2 => { }
});
if (canceled3) return;
if (newPassword !== newPassword2) { if (newPassword !== newPassword2) {
this.$root.alert({ this.$root.dialog({
title: null, title: null,
text: this.$t('not-match') text: this.$t('not-match')
}); });
return; return;
} }
this.$root.api('i/change_password', { this.$root.api('i/change_password', {
currentPasword: currentPassword, currentPassword,
newPassword: newPassword newPassword
}).then(() => { }).then(() => {
this.$notify(this.$t('changed')); this.$root.dialog({
}); type: 'success',
text: this.$t('changed')
}); });
}).catch(() => {
this.$root.dialog({
type: 'error',
text: this.$t('failed')
}); });
}); });
} }
@@ -32,6 +32,12 @@
<span>{{ $t('description') }}</span> <span>{{ $t('description') }}</span>
</ui-textarea> </ui-textarea>
<ui-select v-model="lang">
<span slot="label">{{ $t('language') }}</span>
<span slot="icon"><fa icon="language"/></span>
<option v-for="lang in unique(Object.values(langmap).map(x => x.nativeName)).map(name => Object.keys(langmap).find(k => langmap[k].nativeName == name))" :value="lang" :key="lang">{{ langmap[lang].nativeName }}</option>
</ui-select>
<ui-input type="file" @change="onAvatarChange"> <ui-input type="file" @change="onAvatarChange">
<span>{{ $t('avatar') }}</span> <span>{{ $t('avatar') }}</span>
<span slot="icon"><fa icon="image"/></span> <span slot="icon"><fa icon="image"/></span>
@@ -66,6 +72,19 @@
<ui-switch v-model="carefulBot" @change="save(false)">{{ $t('careful-bot') }}</ui-switch> <ui-switch v-model="carefulBot" @change="save(false)">{{ $t('careful-bot') }}</ui-switch>
</div> </div>
</section> </section>
<section v-if="enableEmail">
<header>{{ $t('email') }}</header>
<div>
<template v-if="$store.state.i.email != null">
<ui-info v-if="$store.state.i.emailVerified">{{ $t('email-verified') }}</ui-info>
<ui-info v-else warn>{{ $t('email-not-verified') }}</ui-info>
</template>
<ui-input v-model="email" type="email"><span>{{ $t('email-address') }}</span></ui-input>
<ui-button @click="updateEmail()">{{ $t('save') }}</ui-button>
</div>
</section>
</ui-card> </ui-card>
</template> </template>
@@ -74,16 +93,24 @@ import Vue from 'vue';
import i18n from '../../../i18n'; import i18n from '../../../i18n';
import { apiUrl, host } from '../../../config'; import { apiUrl, host } from '../../../config';
import { toUnicode } from 'punycode'; import { toUnicode } from 'punycode';
import langmap from 'langmap';
import { unique } from '../../../../../prelude/array';
export default Vue.extend({ export default Vue.extend({
i18n: i18n('common/views/components/profile-editor.vue'), i18n: i18n('common/views/components/profile-editor.vue'),
data() { data() {
return { return {
unique,
langmap,
host: toUnicode(host), host: toUnicode(host),
enableEmail: false,
email: null,
name: null, name: null,
username: null, username: null,
location: null, location: null,
description: null, description: null,
lang: null,
birthday: null, birthday: null,
avatarId: null, avatarId: null,
bannerId: null, bannerId: null,
@@ -113,10 +140,15 @@ export default Vue.extend({
}, },
created() { created() {
this.name = this.$store.state.i.name || ''; this.$root.getMeta().then(meta => {
this.enableEmail = meta.enableEmail;
});
this.email = this.$store.state.i.email;
this.name = this.$store.state.i.name;
this.username = this.$store.state.i.username; this.username = this.$store.state.i.username;
this.location = this.$store.state.i.profile.location; this.location = this.$store.state.i.profile.location;
this.description = this.$store.state.i.description; this.description = this.$store.state.i.description;
this.lang = this.$store.state.i.lang;
this.birthday = this.$store.state.i.profile.birthday; this.birthday = this.$store.state.i.profile.birthday;
this.avatarId = this.$store.state.i.avatarId; this.avatarId = this.$store.state.i.avatarId;
this.bannerId = this.$store.state.i.bannerId; this.bannerId = this.$store.state.i.bannerId;
@@ -178,9 +210,10 @@ export default Vue.extend({
name: this.name || null, name: this.name || null,
location: this.location || null, location: this.location || null,
description: this.description || null, description: this.description || null,
lang: this.lang,
birthday: this.birthday || null, birthday: this.birthday || null,
avatarId: this.avatarId, avatarId: this.avatarId || undefined,
bannerId: this.bannerId, bannerId: this.bannerId || undefined,
isCat: !!this.isCat, isCat: !!this.isCat,
isBot: !!this.isBot, isBot: !!this.isBot,
isLocked: !!this.isLocked, isLocked: !!this.isLocked,
@@ -193,12 +226,27 @@ export default Vue.extend({
this.$store.state.i.bannerUrl = i.bannerUrl; this.$store.state.i.bannerUrl = i.bannerUrl;
if (notify) { if (notify) {
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('saved') text: this.$t('saved')
}); });
} }
}); });
},
updateEmail() {
this.$root.dialog({
title: this.$t('@.enter-password'),
input: {
type: 'password'
}
}).then(({ canceled, result: password }) => {
if (canceled) return;
this.$root.api('i/update_email', {
password: password,
email: this.email == '' ? null : this.email
});
});
} }
} }
}); });
@@ -3,7 +3,9 @@
<mk-avatar class="avatar" :user="note.user"/> <mk-avatar class="avatar" :user="note.user"/>
<fa icon="retweet"/> <fa icon="retweet"/>
<i18n path="@.renoted-by" tag="span"> <i18n path="@.renoted-by" tag="span">
<router-link class="name" :to="note.user | userPage" v-user-preview="note.userId" place="user">{{ note.user | userName }}</router-link> <router-link class="name" :to="note.user | userPage" v-user-preview="note.userId" place="user">
<mk-user-name :user="note.user"/>
</router-link>
</i18n> </i18n>
<div class="info"> <div class="info">
<span class="mobile" v-if="note.viaMobile"><fa icon="mobile-alt"/></span> <span class="mobile" v-if="note.viaMobile"><fa icon="mobile-alt"/></span>
@@ -67,7 +67,8 @@ export default Vue.extend({
username: this.username, username: this.username,
password: this.password, password: this.password,
token: this.user && this.user.twoFactorEnabled ? this.token : undefined token: this.user && this.user.twoFactorEnabled ? this.token : undefined
}, true).then(() => { }, true).then(res => {
localStorage.setItem('i', res.i);
location.reload(); location.reload();
}).catch(() => { }).catch(() => {
alert(this.$t('login-failed')); alert(this.$t('login-failed'));
@@ -223,7 +223,7 @@ export default Vue.extend({
try { try {
theme = JSON5.parse(code); theme = JSON5.parse(code);
} catch (e) { } catch (e) {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: this.$t('invalid-theme') text: this.$t('invalid-theme')
}); });
@@ -236,7 +236,7 @@ export default Vue.extend({
} }
if (theme.id == null) { if (theme.id == null) {
this.$root.alert({ this.$root.dialog({
type: 'error', type: 'error',
text: this.$t('invalid-theme') text: this.$t('invalid-theme')
}); });
@@ -244,7 +244,7 @@ export default Vue.extend({
} }
if (this.$store.state.device.themes.some(t => t.id == theme.id)) { if (this.$store.state.device.themes.some(t => t.id == theme.id)) {
this.$root.alert({ this.$root.dialog({
type: 'info', type: 'info',
text: this.$t('already-installed') text: this.$t('already-installed')
}); });
@@ -256,7 +256,7 @@ export default Vue.extend({
key: 'themes', value: themes key: 'themes', value: themes
}); });
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('installed').replace('{}', theme.name) text: this.$t('installed').replace('{}', theme.name)
}); });
@@ -269,7 +269,7 @@ export default Vue.extend({
key: 'themes', value: themes key: 'themes', value: themes
}); });
this.$root.alert({ this.$root.dialog({
type: 'info', type: 'info',
text: this.$t('uninstalled').replace('{}', theme.name) text: this.$t('uninstalled').replace('{}', theme.name)
}); });
@@ -306,7 +306,7 @@ export default Vue.extend({
const theme = this.myTheme; const theme = this.myTheme;
if (theme.name == null || theme.name.trim() == '') { if (theme.name == null || theme.name.trim() == '') {
this.$root.alert({ this.$root.dialog({
type: 'warning', type: 'warning',
text: this.$t('theme-name-required') text: this.$t('theme-name-required')
}); });
@@ -320,7 +320,7 @@ export default Vue.extend({
key: 'themes', value: themes key: 'themes', value: themes
}); });
this.$root.alert({ this.$root.dialog({
type: 'success', type: 'success',
text: this.$t('saved') text: this.$t('saved')
}); });
@@ -1,65 +0,0 @@
<template>
<div class="mk-twitter-setting">
<p>{{ $t('description') }}</p>
<p class="account" v-if="$store.state.i.twitter" :title="`Twitter ID: ${$store.state.i.twitter.userId}`">{{ $t('connected-to') }}: <a :href="`https://twitter.com/${$store.state.i.twitter.screenName}`" target="_blank">@{{ $store.state.i.twitter.screenName }}</a></p>
<p>
<a :href="`${apiUrl}/connect/twitter`" target="_blank" @click.prevent="connect">{{ $store.state.i.twitter ? this.$t('reconnect') : this.$t('connect') }}</a>
<span v-if="$store.state.i.twitter"> or </span>
<a :href="`${apiUrl}/disconnect/twitter`" target="_blank" v-if="$store.state.i.twitter" @click.prevent="disconnect">{{ $t('disconnect') }}</a>
</p>
<p class="id" v-if="$store.state.i.twitter">Twitter ID: {{ $store.state.i.twitter.userId }}</p>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../../i18n';
import { apiUrl } from '../../../config';
export default Vue.extend({
i18n: i18n('common/views/components/twitter-setting.vue'),
data() {
return {
form: null,
apiUrl
};
},
mounted() {
this.$watch('$store.state.i', () => {
if (this.$store.state.i.twitter) {
if (this.form) this.form.close();
}
}, {
deep: true
});
},
methods: {
connect() {
this.form = window.open(apiUrl + '/connect/twitter',
'twitter_connect_window',
'height=570, width=520');
},
disconnect() {
window.open(apiUrl + '/disconnect/twitter',
'twitter_disconnect_window',
'height=570, width=520');
}
}
});
</script>
<style lang="stylus" scoped>
.mk-twitter-setting
.account
border solid 1px #e1e8ed
border-radius 4px
padding 16px
a
font-weight bold
color inherit
.id
color #8899a6
</style>
@@ -4,8 +4,12 @@
:class="[styl, { inline, primary }]" :class="[styl, { inline, primary }]"
:type="type" :type="type"
@click="$emit('click')" @click="$emit('click')"
@mousedown="onMousedown"
> >
<div ref="ripples" class="ripples"></div>
<div class="content">
<slot></slot> <slot></slot>
</div>
</component> </component>
</template> </template>
@@ -56,6 +60,47 @@ export default Vue.extend({
this.$el.focus(); this.$el.focus();
}); });
} }
},
methods: {
onMousedown(e: MouseEvent) {
function distance(p, q) {
const sqrt = Math.sqrt, pow = Math.pow;
return sqrt(pow(p.x - q.x, 2) + pow(p.y - q.y, 2));
}
function calcCircleScale(boxW, boxH, circleCenterX, circleCenterY) {
const origin = {x: circleCenterX, y: circleCenterY};
const dist1 = distance({x: 0, y: 0}, origin);
const dist2 = distance({x: boxW, y: 0}, origin);
const dist3 = distance({x: 0, y: boxH}, origin);
const dist4 = distance({x: boxW, y: boxH }, origin);
return Math.max(dist1, dist2, dist3, dist4) * 2;
}
const rect = e.target.getBoundingClientRect();
const ripple = document.createElement('div');
ripple.style.top = (e.clientY - rect.top - 1).toString() + 'px';
ripple.style.left = (e.clientX - rect.left - 1).toString() + 'px';
this.$refs.ripples.appendChild(ripple);
const circleCenterX = e.clientX - rect.left;
const circleCenterY = e.clientY - rect.top;
const scale = calcCircleScale(e.target.clientWidth, e.target.clientHeight, circleCenterX, circleCenterY);
setTimeout(() => {
ripple.style.transform = 'scale(' + (scale / 2) + ')';
}, 1);
setTimeout(() => {
ripple.style.transition = 'all 1s ease';
ripple.style.opacity = '0';
}, 1000);
setTimeout(() => {
if (this.$refs.ripples) this.$refs.ripples.removeChild(ripple);
}, 2000);
}
} }
}); });
</script> </script>
@@ -79,6 +124,10 @@ export default Vue.extend({
* *
pointer-events none pointer-events none
user-select none
&:disabled
opacity 0.7
&:focus &:focus
&:after &:after
@@ -107,30 +156,56 @@ export default Vue.extend({
color var(--text) color var(--text)
background var(--buttonBg) background var(--buttonBg)
&:hover &:not(:disabled):hover
background var(--buttonHoverBg) background var(--buttonHoverBg)
&:active &:not(:disabled):active
background var(--buttonActiveBg) background var(--buttonActiveBg)
&.primary &.primary
color var(--primaryForeground) color var(--primaryForeground)
background var(--primary) background var(--primary)
&:hover &:not(:disabled):hover
background var(--primaryLighten5) background var(--primaryLighten5)
&:active &:not(:disabled):active
background var(--primaryDarken5) background var(--primaryDarken5)
&:not(.fill) &:not(.fill)
color var(--primary) color var(--primary)
background none background none
&:hover &:not(:disabled):hover
color var(--primaryDarken5) color var(--primaryDarken5)
&:active &:not(:disabled):active
background var(--primaryAlpha03) background var(--primaryAlpha03)
> .ripples
position absolute
z-index 0
top 0
left 0
width 100%
height 100%
border-radius 6px
overflow hidden
>>> div
position absolute
width 2px
height 2px
border-radius 100%
background rgba(0, 0, 0, 0.1)
opacity 1
transform scale(1)
transition all 0.5s cubic-bezier(0, .5, .5, 1)
&.primary > .ripples >>> div
background rgba(0, 0, 0, 0.15)
> .content
z-index 1
</style> </style>
@@ -22,6 +22,7 @@ export default Vue.extend({
<style lang="stylus" scoped> <style lang="stylus" scoped>
.ui-card .ui-card
margin 16px margin 16px
max-width 850px
color var(--faceText) color var(--faceText)
background var(--face) background var(--face)
border-radius var(--round) border-radius var(--round)
@@ -43,6 +43,7 @@ export default Vue.extend({
> * > *
flex 1 flex 1
min-width 0 !important
> *:not(:last-child) > *:not(:last-child)
margin-right 16px !important margin-right 16px !important
@@ -14,17 +14,19 @@
:disabled="disabled" :disabled="disabled"
:required="required" :required="required"
:readonly="readonly" :readonly="readonly"
:placeholder="placeholder"
:pattern="pattern" :pattern="pattern"
:autocomplete="autocomplete" :autocomplete="autocomplete"
:spellcheck="spellcheck" :spellcheck="spellcheck"
@focus="focused = true" @focus="focused = true"
@blur="focused = false" @blur="focused = false"
@keydown="$emit('keydown', $event)"
> >
</template> </template>
<template v-else> <template v-else>
<input ref="input" <input ref="input"
type="text" type="text"
:value="placeholder" :value="filePlaceholder"
readonly readonly
@click="chooseFile" @click="chooseFile"
> >
@@ -74,6 +76,15 @@ export default Vue.extend({
type: String, type: String,
required: false required: false
}, },
placeholder: {
type: String,
required: false
},
autofocus: {
type: Boolean,
required: false,
default: false
},
autocomplete: { autocomplete: {
required: false required: false
}, },
@@ -109,7 +120,7 @@ export default Vue.extend({
filled(): boolean { filled(): boolean {
return this.v != '' && this.v != null; return this.v != '' && this.v != null;
}, },
placeholder(): string { filePlaceholder(): string {
if (this.type != 'file') return null; if (this.type != 'file') return null;
if (this.v == null) return null; if (this.v == null) return null;
@@ -142,6 +153,12 @@ export default Vue.extend({
} }
}, },
mounted() { mounted() {
if (this.autofocus) {
this.$nextTick(() => {
this.$refs.input.focus();
});
}
this.$nextTick(() => { this.$nextTick(() => {
if (this.$refs.prefix) { if (this.$refs.prefix) {
this.$refs.label.style.left = (this.$refs.prefix.offsetLeft + this.$refs.prefix.offsetWidth) + 'px'; this.$refs.label.style.left = (this.$refs.prefix.offsetLeft + this.$refs.prefix.offsetWidth) + 'px';
@@ -94,7 +94,7 @@ root(fill)
width 24px width 24px
text-align center text-align center
line-height 32px line-height 32px
color rgba(#000, 0.54) color var(--inputLabel)
&:not(:empty) + .input &:not(:empty) + .input
margin-left 28px margin-left 28px
@@ -123,7 +123,7 @@ export default Vue.extend({
> span > span
display block display block
line-height 20px line-height 20px
color currentColor color var(--text)
transition inherit transition inherit
> p > p
@@ -1,5 +1,5 @@
<template> <template>
<div class="ui-textarea" :class="{ focused, filled, tall }"> <div class="ui-textarea" :class="{ focused, filled, tall, pre }">
<div class="input"> <div class="input">
<span class="label" ref="label"><slot></slot></span> <span class="label" ref="label"><slot></slot></span>
<textarea ref="input" <textarea ref="input"
@@ -46,6 +46,11 @@ export default Vue.extend({
required: false, required: false,
default: false default: false
}, },
pre: {
type: Boolean,
required: false,
default: false
},
}, },
data() { data() {
return { return {
@@ -175,6 +180,11 @@ root(fill)
> textarea > textarea
min-height 200px min-height 200px
&.pre
> .input
> textarea
white-space pre
.ui-textarea.fill .ui-textarea.fill
root(true) root(true)
@@ -0,0 +1,16 @@
<template>
<misskey-flavored-markdown :text="user.name || user.username" :should-break="false" :plain-text="true" :custom-emojis="user.emojis"/>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
props: {
user: {
type: Object,
required: true
}
}
});
</script>
@@ -5,7 +5,9 @@
<mk-avatar class="avatar" :user="note.user" target="_blank"/> <mk-avatar class="avatar" :user="note.user" target="_blank"/>
<div class="body"> <div class="body">
<header> <header>
<router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id">{{ note.user | userName }}</router-link> <router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id">
<mk-user-name :user="note.user"/>
</router-link>
<span class="username">@{{ note.user | acct }}</span> <span class="username">@{{ note.user | acct }}</span>
<div class="info"> <div class="info">
<router-link class="created-at" :to="note | notePage"> <router-link class="created-at" :to="note | notePage">
@@ -1,6 +1,3 @@
import Vue from 'vue'; import Vue from 'vue';
Vue.filter('number', (n) => { Vue.filter('number', n => n == null ? 'N/A' : n.toLocaleString());
if (n == null) return 'N/A';
return n.toLocaleString();
});
+4 -2
View File
@@ -6,10 +6,12 @@
<div class="banner" :style="bannerStyle"></div> <div class="banner" :style="bannerStyle"></div>
<mk-avatar class="avatar" :user="user" :disable-preview="true"/> <mk-avatar class="avatar" :user="user" :disable-preview="true"/>
<div class="body"> <div class="body">
<router-link :to="user | userPage" class="name">{{ user | userName }}</router-link> <router-link :to="user | userPage" class="name">
<mk-user-name :user="user"/>
</router-link>
<span class="username">@{{ user | acct }}</span> <span class="username">@{{ user | acct }}</span>
<div class="description"> <div class="description">
<misskey-flavored-markdown v-if="user.description" :text="user.description" :author="user" :i="$store.state.i"/> <misskey-flavored-markdown v-if="user.description" :text="user.description" :author="user" :i="$store.state.i" :custom-emojis="user.emojis"/>
</div> </div>
</div> </div>
</main> </main>
@@ -1,56 +0,0 @@
<template>
<div>
<mk-widget-container :show-header="false">
<article class="dolfvtibguprpxxhfndqaosjitixjohx">
<h1><fa icon="heart"/>{{ $t('title') }}</h1>
<p v-if="meta">
{{ this.$t('text').substr(0, this.$t('text').indexOf('{')) }}
<a :href="'mailto:' + meta.maintainer.email">{{ meta.maintainer.name }}</a>
{{ this.$t('text').substr(this.$t('text').indexOf('}') + 1) }}
</p>
</article>
</mk-widget-container>
</div>
</template>
<script lang="ts">
import define from '../../../common/define-widget';
import i18n from '../../../i18n';
export default define({
name: 'donation'
}).extend({
i18n: i18n('common/views/widgets/donation.vue'),
data() {
return {
meta: null
};
},
created() {
this.$root.getMeta().then(meta => {
this.meta = meta;
});
}
});
</script>
<style lang="stylus" scoped>
.dolfvtibguprpxxhfndqaosjitixjohx
padding 20px
background var(--donationBg)
color var(--donationFg)
> h1
margin 0 0 5px 0
font-size 1em
> [data-icon]
margin-right 0.25em
> p
display block
z-index 1
margin 0
font-size 0.8em
</style>
@@ -11,7 +11,6 @@ import wCalendar from './calendar.vue';
import wPhotoStream from './photo-stream.vue'; import wPhotoStream from './photo-stream.vue';
import wSlideshow from './slideshow.vue'; import wSlideshow from './slideshow.vue';
import wTips from './tips.vue'; import wTips from './tips.vue';
import wDonation from './donation.vue';
import wNav from './nav.vue'; import wNav from './nav.vue';
import wHashtags from './hashtags.vue'; import wHashtags from './hashtags.vue';
@@ -21,7 +20,6 @@ Vue.component('mkw-calendar', wCalendar);
Vue.component('mkw-photo-stream', wPhotoStream); Vue.component('mkw-photo-stream', wPhotoStream);
Vue.component('mkw-slideshow', wSlideshow); Vue.component('mkw-slideshow', wSlideshow);
Vue.component('mkw-tips', wTips); Vue.component('mkw-tips', wTips);
Vue.component('mkw-donation', wDonation);
Vue.component('mkw-broadcast', wBroadcast); Vue.component('mkw-broadcast', wBroadcast);
Vue.component('mkw-server', wServer); Vue.component('mkw-server', wServer);
Vue.component('mkw-posts-monitor', wPostsMonitor); Vue.component('mkw-posts-monitor', wPostsMonitor);
@@ -10,7 +10,6 @@
:style="`background-image: url(${image.thumbnailUrl || image.url})`" :style="`background-image: url(${image.thumbnailUrl || image.url})`"
draggable="true" draggable="true"
@dragstart="onDragstart(image, $event)" @dragstart="onDragstart(image, $event)"
@dragend="onDragend"
></div> ></div>
</div> </div>
<p :class="$style.empty" v-if="!fetching && images.length == 0">{{ $t('no-photos') }}</p> <p :class="$style.empty" v-if="!fetching && images.length == 0">{{ $t('no-photos') }}</p>
@@ -78,10 +77,6 @@ export default define({
e.dataTransfer.effectAllowed = 'move'; e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('mk_drive_file', JSON.stringify(file)); e.dataTransfer.setData('mk_drive_file', JSON.stringify(file));
}, },
onDragend(e) {
this.browser.isDragSource = false;
},
} }
}); });
</script> </script>
+2 -2
View File
@@ -8,7 +8,7 @@ export default ($root: any) => {
const regex = RegExp('\.(jpg|jpeg|png|gif|webp|bmp|tiff)$'); const regex = RegExp('\.(jpg|jpeg|png|gif|webp|bmp|tiff)$');
if (!regex.test(file.name) ) { if (!regex.test(file.name) ) {
$root.alert({ $root.dialog({
title: '%fa:info-circle% %i18n:desktop.invalid-filetype%', title: '%fa:info-circle% %i18n:desktop.invalid-filetype%',
text: null text: null
}); });
@@ -87,7 +87,7 @@ export default ($root: any) => {
value: i.avatarUrl value: i.avatarUrl
}); });
$root.alert({ $root.dialog({
title: '%fa:info-circle% %i18n:desktop.avatar-updated%', title: '%fa:info-circle% %i18n:desktop.avatar-updated%',
text: null text: null
}); });
+1 -1
View File
@@ -87,7 +87,7 @@ export default ($root: any) => {
value: i.bannerUrl value: i.bannerUrl
}); });
$root.alert({ $root.dialog({
title: '%fa:info-circle% %i18n:desktop.banner-updated%', title: '%fa:info-circle% %i18n:desktop.banner-updated%',
text: null text: null
}); });
-17
View File
@@ -34,7 +34,6 @@ import PostFormWindow from './views/components/post-form-window.vue';
import RenoteFormWindow from './views/components/renote-form-window.vue'; import RenoteFormWindow from './views/components/renote-form-window.vue';
import MkChooseFileFromDriveWindow from './views/components/choose-file-from-drive-window.vue'; import MkChooseFileFromDriveWindow from './views/components/choose-file-from-drive-window.vue';
import MkChooseFolderFromDriveWindow from './views/components/choose-folder-from-drive-window.vue'; import MkChooseFolderFromDriveWindow from './views/components/choose-folder-from-drive-window.vue';
import InputDialog from './views/components/input-dialog.vue';
import Notification from './views/components/ui-notification.vue'; import Notification from './views/components/ui-notification.vue';
import { url } from '../config'; import { url } from '../config';
@@ -113,22 +112,6 @@ init(async (launch) => {
}); });
}, },
$input(opts) {
return new Promise<string>((res, rej) => {
const o = opts || {};
const d = this.$root.new(InputDialog, {
title: o.title,
placeholder: o.placeholder,
default: o.default,
type: o.type || 'text',
allowEmpty: o.allowEmpty
});
d.$once('done', text => {
res(text);
});
});
},
$notify(message) { $notify(message) {
this.$root.new(Notification, { this.$root.new(Notification, {
message message
@@ -148,12 +148,15 @@ export default Vue.extend({
}, },
rename() { rename() {
this.$input({ this.$root.dialog({
title: this.$t('contextmenu.rename-file'), title: this.$t('contextmenu.rename-file'),
input: {
placeholder: this.$t('contextmenu.input-new-file-name'), placeholder: this.$t('contextmenu.input-new-file-name'),
default: this.file.name, default: this.file.name,
allowEmpty: false allowEmpty: false
}).then(name => { }
}).then(({ canceled, result: name }) => {
if (canceled) return;
this.$root.api('drive/files/update', { this.$root.api('drive/files/update', {
fileId: this.file.id, fileId: this.file.id,
name: name name: name
@@ -170,7 +173,7 @@ export default Vue.extend({
copyUrl() { copyUrl() {
copyToClipboard(this.file.url); copyToClipboard(this.file.url);
this.$root.alert({ this.$root.dialog({
title: this.$t('contextmenu.copied'), title: this.$t('contextmenu.copied'),
text: this.$t('contextmenu.copied-url-to-clipboard') text: this.$t('contextmenu.copied-url-to-clipboard')
}); });
@@ -155,7 +155,7 @@ export default Vue.extend({
}).catch(err => { }).catch(err => {
switch (err) { switch (err) {
case 'detected-circular-definition': case 'detected-circular-definition':
this.$root.alert({ this.$root.dialog({
title: this.$t('unable-to-process'), title: this.$t('unable-to-process'),
text: this.$t('circular-reference-detected') text: this.$t('circular-reference-detected')
}); });
@@ -192,11 +192,14 @@ export default Vue.extend({
}, },
rename() { rename() {
this.$input({ this.$root.dialog({
title: this.$t('contextmenu.rename-folder'), title: this.$t('contextmenu.rename-folder'),
input: {
placeholder: this.$t('contextmenu.input-new-folder-name'), placeholder: this.$t('contextmenu.input-new-folder-name'),
default: this.folder.name default: this.folder.name
}).then(name => { }
}).then(({ canceled, result: name }) => {
if (canceled) return;
this.$root.api('drive/folders/update', { this.$root.api('drive/folders/update', {
folderId: this.folder.id, folderId: this.folder.id,
name: name name: name

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