Compare commits
345 Commits
Author | SHA1 | Date | |
---|---|---|---|
ad0273ab99 | |||
8bbff90aca | |||
fcb3ba9947 | |||
23b3e33df6 | |||
9edac2cd74 | |||
8782a64b18 | |||
d3b81c3e00 | |||
fd816afcd0 | |||
ac423f1ef4 | |||
f11ebafe47 | |||
7947036af9 | |||
4e55436339 | |||
3adadc8a52 | |||
b525af822c | |||
bee8a5b065 | |||
f4d80122b3 | |||
2e8ea34413 | |||
7341d97a00 | |||
964b34bd3b | |||
38e8d4bbea | |||
cb106e6fe4 | |||
61411605b8 | |||
0ac7682188 | |||
d7af18efbd | |||
64bb6daa43 | |||
0a1951f24c | |||
8bb388f62a | |||
ee36956451 | |||
f1a0e95489 | |||
de5d9470af | |||
a9838495ce | |||
d34c080822 | |||
59f55a8291 | |||
79ace6238a | |||
89e88802b9 | |||
c7f969a002 | |||
18b186068d | |||
037c67cbfb | |||
c3ccee9097 | |||
2449183f44 | |||
1c98226621 | |||
b405669672 | |||
53fbe675a7 | |||
6bcc174456 | |||
a3493c4f07 | |||
545ced7826 | |||
a9a476a0d5 | |||
8dfd35303c | |||
498ca306e4 | |||
5a46e08165 | |||
c0c57044cc | |||
42d00b96c6 | |||
072360947b | |||
d60ba8e37d | |||
c10cf60059 | |||
880689e28a | |||
ade7050996 | |||
71b5fae4d9 | |||
d398e87ea1 | |||
6256d021e6 | |||
405f242ff9 | |||
8823a6c1a1 | |||
65a82f32be | |||
fd593458a6 | |||
3985fe6b09 | |||
db71a5da62 | |||
d76e3e4853 | |||
eead9fad03 | |||
b498072f9d | |||
f56a961db2 | |||
5d224f4eac | |||
5b5edae11c | |||
bd51154c46 | |||
749a1ff8b6 | |||
b06d46f46f | |||
7146a534df | |||
ef51e591ee | |||
9d2f4d3ffb | |||
f7e0b196eb | |||
feb7e58912 | |||
fbf04392c9 | |||
e650818952 | |||
76fcb1af87 | |||
cce3e52642 | |||
8c762e7b8e | |||
f0dafa04a5 | |||
81f39b3b36 | |||
b162471d3e | |||
2736e8d6fa | |||
182f6f8faa | |||
ff34655221 | |||
f6ce6109f9 | |||
899ac15d88 | |||
7132f2062c | |||
96b354c7f2 | |||
715664a523 | |||
e8ddfb4bfe | |||
2a1229978e | |||
b8af3515cd | |||
f99e3f3d42 | |||
d6057bd830 | |||
975e57ec48 | |||
bd35965c99 | |||
1029bff5ff | |||
6c1893f869 | |||
0a89ba60bd | |||
c6e418a242 | |||
d9a6666ba8 | |||
ab849fbbef | |||
9d6b6053a6 | |||
ddfd64944d | |||
51153ed287 | |||
0e7bbd1b32 | |||
5049791d7f | |||
1ebcf8d915 | |||
e01873811a | |||
d078b871e1 | |||
c6375ae864 | |||
483467e32f | |||
c84d43bc5f | |||
fdd42fc2d7 | |||
8573e258f8 | |||
6943c7d2d8 | |||
4a42bf7b19 | |||
b982f97c05 | |||
d9207788d3 | |||
0ad48cc896 | |||
5e191a1f5b | |||
8069e44d0a | |||
0a83f0fd67 | |||
83c54fb6b9 | |||
5f6b0f689f | |||
1b0b96526b | |||
edb0469787 | |||
3256a0914e | |||
3c15182f24 | |||
f7bc5e3c0b | |||
19f327701d | |||
6b30e371a2 | |||
98fd6de5a1 | |||
6635f25abe | |||
5f93106eab | |||
84f2994d47 | |||
96f5c6d616 | |||
b67923abb9 | |||
310f7b3359 | |||
c743c45989 | |||
0322c51913 | |||
b85e27c7e5 | |||
aa351d1f7f | |||
6b48b79758 | |||
104ea7e277 | |||
97de1ed3a8 | |||
d69e9741da | |||
0f5c737c1a | |||
cb9960b0ac | |||
1404539895 | |||
2f901da58c | |||
3637c1bfbc | |||
28c3edc844 | |||
9271a8c066 | |||
7b16bfc736 | |||
54450033e4 | |||
fbf676d518 | |||
47df0bbec1 | |||
708f8b3cc3 | |||
9de163ab09 | |||
e21be29131 | |||
1aabb725d0 | |||
3e17c34187 | |||
d57de01d37 | |||
71918fdbf0 | |||
cb8663873d | |||
0f204eebe1 | |||
dec572a6b7 | |||
28848ba969 | |||
4cfcd37a2b | |||
2b0d5516d1 | |||
3e3c3c10ab | |||
3cc282db14 | |||
4c1c865ba9 | |||
9423c99427 | |||
d1512c90f1 | |||
85c9993106 | |||
1d580009e4 | |||
22ad21597a | |||
76d8f66eff | |||
febdf0cbee | |||
ba05606074 | |||
030fe8bec7 | |||
4587c5a512 | |||
96646e584b | |||
fb2879df9c | |||
26ea338e8e | |||
1fad5ed6f3 | |||
20db10516c | |||
00631f58ec | |||
35273e53bc | |||
bfc458e935 | |||
bb819d42f1 | |||
5d76439224 | |||
3d0b704af8 | |||
05539ffc7b | |||
c86deab69c | |||
21f8dbf2de | |||
6731f904f2 | |||
f6e74f529e | |||
c860a2f7f3 | |||
7b141722ae | |||
fc516ffb7f | |||
11604593a6 | |||
6f3468ccd2 | |||
e3be90503c | |||
22d38e0d24 | |||
8b654fb40a | |||
91cd9831bc | |||
805d72d42f | |||
0d4a1719a6 | |||
32ab57e11b | |||
5174e16f7b | |||
9b746f3eb5 | |||
becd038660 | |||
2a6cfec0e6 | |||
dfc6ef4be6 | |||
c8b45f4f42 | |||
09c57e6d03 | |||
5edb1da097 | |||
b3ad3a6535 | |||
3709bb23bc | |||
28be5c0b81 | |||
60ef74047a | |||
f81596c8d5 | |||
075b7e3060 | |||
cc7d6198ec | |||
5766c2ce1b | |||
03fed08c03 | |||
4662641feb | |||
00e2ce9489 | |||
c2ec81f93a | |||
47561a6f8b | |||
c81eb49f9e | |||
205c0d44d5 | |||
dc1bdbaaa5 | |||
d619a92a37 | |||
59ad529162 | |||
c4c44e04fd | |||
fae58a9ab0 | |||
fa03c172f2 | |||
89ac15b4de | |||
10d3b81251 | |||
71dceca225 | |||
40de631d95 | |||
6985c39874 | |||
0938ea3964 | |||
4b4c19b242 | |||
d8620187ec | |||
520849d070 | |||
b6a028a8ed | |||
7db799a0ac | |||
1ab776c867 | |||
f4c9f63548 | |||
08da9d70cd | |||
96173e5c0b | |||
b37cc70742 | |||
96ee4299c7 | |||
6072b02f12 | |||
6ccbca0741 | |||
360394fd5c | |||
dcb45aa953 | |||
a8fcc1aad9 | |||
4d69cd86f1 | |||
6e14e58b89 | |||
af5839bb59 | |||
a53e0d9f73 | |||
49921f2dcf | |||
70d2d61b9a | |||
9abaf80f6b | |||
25948fc3c9 | |||
6b947c2139 | |||
98acf919f1 | |||
c9c2853150 | |||
2bc708f8e6 | |||
874b8fc3c2 | |||
7d6aac3431 | |||
e2fc7decad | |||
21bed71f5e | |||
747a5694f8 | |||
479a0a2deb | |||
14aef6ec89 | |||
f0d2b3f449 | |||
3b974428fc | |||
580191fb17 | |||
be0cb88b6c | |||
95c4e4497e | |||
abf2c89931 | |||
288bf195e9 | |||
7e3cc11cc4 | |||
4e07e94af0 | |||
9cb49c9204 | |||
580dd729e5 | |||
49ab77c86e | |||
f98914b9f1 | |||
f3f3599b28 | |||
f67b1beee4 | |||
8395d0f1ba | |||
af203bee93 | |||
760fb79dad | |||
ee9d4119c2 | |||
90027efcbf | |||
1848de1dc4 | |||
ba407c3eb0 | |||
014edce1b9 | |||
ac1f3de4c6 | |||
dced228cb0 | |||
a92244cc12 | |||
0717688933 | |||
87d54b7d40 | |||
ed51f5c7de | |||
66e2db0d52 | |||
03be4826df | |||
c9d5aef04f | |||
106cb3fe3e | |||
48320f8536 | |||
1a0845dc0a | |||
185d09f3ed | |||
8e25fb6cb7 | |||
936bb1bcd0 | |||
d5241d9a3e | |||
05b4430c92 | |||
292e911de2 | |||
1c4ba2c037 | |||
452db13d0c | |||
c3f64b395b | |||
3fa6bf93a4 | |||
a13d76bec5 | |||
05cee078d0 | |||
706d3f3f95 | |||
c5cf034b5d | |||
3a04aa93f9 | |||
838cdbedbd | |||
5229bbd55d | |||
28311b9a2b | |||
663d17a485 | |||
08d005dfd9 | |||
02edbc131b |
59
CHANGELOG.md
59
CHANGELOG.md
@ -1,6 +1,65 @@
|
|||||||
ChangeLog
|
ChangeLog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
10.71.0
|
||||||
|
-------
|
||||||
|
* いくつかのテーマの追加
|
||||||
|
|
||||||
|
10.70.1
|
||||||
|
-------
|
||||||
|
* notes/mentions にミュートを適用するように
|
||||||
|
* Add id to return of users/relation
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.70.0
|
||||||
|
-------
|
||||||
|
* フォローしているユーザーからのフォローを自動承認するオプション
|
||||||
|
* 「非公開」の公開範囲を廃止
|
||||||
|
* Renote数の表示を廃止
|
||||||
|
* 投稿のフィルタリングを強化
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.69.0
|
||||||
|
-------
|
||||||
|
* 通知の管理を強化
|
||||||
|
* ユーザビリティの強化
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.68.0
|
||||||
|
-------
|
||||||
|
* 特定ユーザーにメンション付きで新規投稿ができるボタンを追加
|
||||||
|
* 自分の投稿にリアクションできないように
|
||||||
|
* 数式に文法エラーがあるとき、数式のソースをそのまま表示するように
|
||||||
|
* CWボタンにアンケートの有無を表記するように
|
||||||
|
* デスクトップ版で設定を新しいタブで開くように
|
||||||
|
* モバイル版で検索ができない問題を修正
|
||||||
|
* i18nの修正
|
||||||
|
|
||||||
|
10.67.0
|
||||||
|
-------
|
||||||
|
* トークのメッセージを削除できるように
|
||||||
|
* リアクションを取り消せるように
|
||||||
|
* Misskey以外のソフトウェアからの「Like」アクティビティをプリンではなく「いいね」として扱うように
|
||||||
|
* i18nの修正
|
||||||
|
* バグ修正
|
||||||
|
* など
|
||||||
|
|
||||||
|
10.66.2
|
||||||
|
-------
|
||||||
|
* i18nの修正
|
||||||
|
* ドライブのファイル一覧取得APIでファイルサイズによるソートが機能していなかった問題を修正
|
||||||
|
* リモートユーザーの更新時に、各ピン留め投稿の取得失敗は無視するように
|
||||||
|
* リモートMisskeyユーザーの情報が登録/更新出来なくなっていたのを修正
|
||||||
|
* メンションのリンク先URLに余計な@がプリフィクスされていたのを修正
|
||||||
|
* ダイレクトでリプライする際、リプライ先のユーザーは自動的に公開先として追加するように
|
||||||
|
* ダイレクトでメンションでもユーザーを指定できるように
|
||||||
|
|
||||||
|
10.66.1
|
||||||
|
-------
|
||||||
|
* ActivityPubのsharedInboxに関して修正
|
||||||
|
* MFMでのカッコの判定を改善
|
||||||
|
* バグ修正
|
||||||
|
|
||||||
10.66.0
|
10.66.0
|
||||||
-------
|
-------
|
||||||
* ユーザーごとのRSSフィードを提供するように
|
* ユーザーごとのRSSフィードを提供するように
|
||||||
|
10
README.md
10
README.md
@ -80,7 +80,6 @@ Please see [Contribution guide](./CONTRIBUTING.md).
|
|||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=ybYtxfpte1b-rGg6Zecpys2ZdZDtwR_UNJHQjt-3eoU%3D" alt="Xeltica"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=ybYtxfpte1b-rGg6Zecpys2ZdZDtwR_UNJHQjt-3eoU%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>
|
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
|
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=13376668">Arctic</a></td>
|
<td><a href="https://www.patreon.com/user?u=13376668">Arctic</a></td>
|
||||||
@ -89,36 +88,37 @@ Please see [Contribution guide](./CONTRIBUTING.md).
|
|||||||
<td><a href="https://www.patreon.com/Xeltica">Xeltica</a></td>
|
<td><a href="https://www.patreon.com/Xeltica">Xeltica</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=3384329">べすれい</a></td>
|
<td><a href="https://www.patreon.com/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>
|
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<table><tr>
|
<table><tr>
|
||||||
|
<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>
|
<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>
|
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
|
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=12718187">Peter G.</a></td>
|
<td><a href="https://www.patreon.com/user?u=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>
|
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<table><tr>
|
<table><tr>
|
||||||
|
<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/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/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/dansup">dansup</a></td>
|
||||||
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
|
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
|
||||||
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
|
<td><a href="https://www.patreon.com/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:** Sun, 16 Dec 2018 18:32:06 UTC
|
**Last updated:** Tue, 25 Dec 2018 04:58:06 UTC
|
||||||
<!-- PATREON_END -->
|
<!-- PATREON_END -->
|
||||||
|
|
||||||
:four_leaf_clover: Copyright
|
:four_leaf_clover: Copyright
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UIの動きを減らす"
|
reduce-motion: "UIの動きを減らす"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
|
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'やり直す'
|
retry: "やり直す"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "引き分け"
|
drawn: "引き分け"
|
||||||
my-turn: "あなたのターンです"
|
my-turn: "あなたのターンです"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
you: "あなた"
|
you: "あなた"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "開発者"
|
develop: "開発者"
|
||||||
feedback: "フィードバック"
|
feedback: "フィードバック"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "お気に入り"
|
favorite: "お気に入り"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "接続中"
|
connecting: "接続中"
|
||||||
reconnecting: "再接続中"
|
reconnecting: "再接続中"
|
||||||
connected: "接続完了"
|
connected: "接続完了"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "確認中"
|
fetching: "確認中"
|
||||||
no-broadcasts: "お知らせはありません"
|
no-broadcasts: "お知らせはありません"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "位置情報"
|
location: "位置情報"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概要"
|
overview: "概要"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "メディア"
|
media: "メディア"
|
||||||
is-suspended: "このユーザーは凍結されています。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
|
followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
|
||||||
specified: "Direkt"
|
specified: "Direkt"
|
||||||
specified-desc: "Nur für bestimmte Benutzer posten"
|
specified-desc: "Nur für bestimmte Benutzer posten"
|
||||||
private: "Privat"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "Animationen der Benutzeroberfläche reduzieren"
|
reduce-motion: "Animationen der Benutzeroberfläche reduzieren"
|
||||||
this-setting-is-this-device-only: "Nur auf diesem Gerät"
|
this-setting-is-this-device-only: "Nur auf diesem Gerät"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
do-not-use-in-production: 'Dies ist eine Entwicklungsversion. Nicht in einer Produktionsumgebung verwenden.'
|
do-not-use-in-production: "Dies ist eine Entwicklungsversion. Nicht in einer Produktionsumgebung verwenden."
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'Erneut versuchen'
|
retry: "Erneut versuchen"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "Unentschieden"
|
drawn: "Unentschieden"
|
||||||
my-turn: "Du bist am Zug"
|
my-turn: "Du bist am Zug"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "Einen Nutzer suchen"
|
search-user: "Einen Nutzer suchen"
|
||||||
you: "Du"
|
you: "Du"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "Entwickler"
|
develop: "Entwickler"
|
||||||
feedback: "Feedback"
|
feedback: "Feedback"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "Diese Notiz favorisieren"
|
favorite: "Diese Notiz favorisieren"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "Verbindung wird hergestellt"
|
connecting: "Verbindung wird hergestellt"
|
||||||
reconnecting: "Erneut verbinden"
|
reconnecting: "Erneut verbinden"
|
||||||
connected: "Verbindung hergestellt"
|
connected: "Verbindung hergestellt"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
|
followers-desc: "Nur für diejenigen sichtbar, die dir folgen"
|
||||||
specified: "Direkt"
|
specified: "Direkt"
|
||||||
specified-desc: "Poste nur für bestimmte Benutzer"
|
specified-desc: "Poste nur für bestimmte Benutzer"
|
||||||
private: "Privat"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "Laden"
|
fetching: "Laden"
|
||||||
no-broadcasts: "Keine Broadcasts"
|
no-broadcasts: "Keine Broadcasts"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "Ort"
|
location: "Ort"
|
||||||
renote: "Anmerkung"
|
renote: "Anmerkung"
|
||||||
add-reaction: "Reaktion hinzufügen"
|
add-reaction: "Reaktion hinzufügen"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "Der Cache deines Benutzerkontos (Info, Beiträge, Antworten, Direktnachrichten, Einstellungen), die lokal im Browser gespeichert sind werden gelöscht.\nDu musst die Seite aktualisieren nachdem du aufgeräumt hast."
|
cache-warn: "Der Cache deines Benutzerkontos (Info, Beiträge, Antworten, Direktnachrichten, Einstellungen), die lokal im Browser gespeichert sind werden gelöscht.\nDu musst die Seite aktualisieren nachdem du aufgeräumt hast."
|
||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概要"
|
overview: "概要"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "メディア"
|
media: "メディア"
|
||||||
is-suspended: "このユーザーは凍結されています。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -8,7 +8,7 @@ common:
|
|||||||
about: "Thank you for finding Misskey. Misskey is a <b>decentralized microblogging platform</b> born on Earth. Since it exists within the Fediverse (a universe where various social media platforms are organized), it is mutually linked with other social media platforms. Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet?"
|
about: "Thank you for finding Misskey. Misskey is a <b>decentralized microblogging platform</b> born on Earth. Since it exists within the Fediverse (a universe where various social media platforms are organized), it is mutually linked with other social media platforms. Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet?"
|
||||||
intro:
|
intro:
|
||||||
title: "What is Misskey?"
|
title: "What is Misskey?"
|
||||||
about: "Misskey is a open-source <b>decentralized microblogging service</b>. Sophisticated fully customizable Ui, varieties of reaction for posts, free file storage providing integrated management system and other advancing functions are available. Also, network system called “Fediverse” enables us to communicate with users on other SNSs. Like, if you post something, then your posts will sent not only to Misskey but also mastodon. Just imagine that the planet is sending a microwave to other planet to communication."
|
about: "Misskey is an open-source <b>decentralized microblogging service</b>. Sophisticated fully customizable UI, varieties of reactions for posts, free file storage providing an integrated management system and other advanced functions are available. In addition, Misskey connects to a network system called the “Fediverse” enables us to communicate with users on other SNSs. For example, when you post something it will be sent not only to Misskey but also Mastodon and Pleroma. Just imagine that the planet is sending a radio transmission to other planet to communicate."
|
||||||
features: "Features"
|
features: "Features"
|
||||||
rich-contents: "Post"
|
rich-contents: "Post"
|
||||||
rich-contents-desc: "Just post your idea, hot topics and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files including movies and create a poll - those are the things you can do on Misskey!"
|
rich-contents-desc: "Just post your idea, hot topics and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files including movies and create a poll - those are the things you can do on Misskey!"
|
||||||
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "Post to followers only"
|
followers-desc: "Post to followers only"
|
||||||
specified: "Direct"
|
specified: "Direct"
|
||||||
specified-desc: "Post to specified users only"
|
specified-desc: "Post to specified users only"
|
||||||
private: "Private"
|
|
||||||
local-public: "Public (Only local)"
|
local-public: "Public (Only local)"
|
||||||
local-home: "Home (Only local)"
|
local-home: "Home (Only local)"
|
||||||
local-followers: "Followers (Only local)"
|
local-followers: "Followers (Only local)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "Reduce motion in UI"
|
reduce-motion: "Reduce motion in UI"
|
||||||
this-setting-is-this-device-only: "Only for this device"
|
this-setting-is-this-device-only: "Only for this device"
|
||||||
use-os-default-emojis: "Use the OS default Emojis"
|
use-os-default-emojis: "Use the OS default Emojis"
|
||||||
do-not-use-in-production: 'This is a development build. Do not use in production.'
|
do-not-use-in-production: "This is a development build. Do not use in production."
|
||||||
|
user-suspended: "This user has been suspended."
|
||||||
is-remote-user: "This user information is copied."
|
is-remote-user: "This user information is copied."
|
||||||
is-remote-post: "This post information is a copy."
|
is-remote-post: "This post information is a copy."
|
||||||
view-on-remote: "View it on remote"
|
view-on-remote: "View it on remote"
|
||||||
renoted-by: "Renoted by {user}"
|
renoted-by: "Renoted by {user}"
|
||||||
error:
|
error:
|
||||||
title: 'Something happened :('
|
title: "Something happened :("
|
||||||
retry: 'Retry'
|
retry: "Retry"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "Draw"
|
drawn: "Draw"
|
||||||
my-turn: "Your turn"
|
my-turn: "Your turn"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "See more"
|
show: "See more"
|
||||||
chars: "{count} chars"
|
chars: "{count} chars"
|
||||||
files: "{count} files"
|
files: "{count} files"
|
||||||
|
poll: "Poll"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "Find a user"
|
search-user: "Find a user"
|
||||||
you: "You"
|
you: "You"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "Developers"
|
develop: "Developers"
|
||||||
feedback: "Feedback"
|
feedback: "Feedback"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "Mentions"
|
||||||
detail: "Details"
|
detail: "Details"
|
||||||
copy-link: "Copy link"
|
copy-link: "Copy link"
|
||||||
favorite: "Favorite this note"
|
favorite: "Favorite this note"
|
||||||
@ -335,7 +337,7 @@ common/views/components/note-menu.vue:
|
|||||||
pin: "Pin to your profile"
|
pin: "Pin to your profile"
|
||||||
unpin: "Unpin"
|
unpin: "Unpin"
|
||||||
delete: "Delete"
|
delete: "Delete"
|
||||||
delete-confirm: "Delete this post?"
|
delete-confirm: "Are you sure you want to delete this post?"
|
||||||
remote: "Show original note"
|
remote: "Show original note"
|
||||||
common/views/components/poll.vue:
|
common/views/components/poll.vue:
|
||||||
vote-to: "Vote for '{}'"
|
vote-to: "Vote for '{}'"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "Connecting"
|
connecting: "Connecting"
|
||||||
reconnecting: "Reconnecting"
|
reconnecting: "Reconnecting"
|
||||||
connected: "Connected"
|
connected: "Connected"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "Notifications"
|
||||||
|
mark-as-read-all-notifications: "Mark all notifications as read"
|
||||||
|
mark-as-read-all-unread-notes: "Mark all posts as read"
|
||||||
|
mark-as-read-all-talk-messages: "Mark all conversations as read"
|
||||||
|
auto-watch: "Automatically watch out for posts"
|
||||||
|
auto-watch-desc: "Automatically receive notifications about posts you react to, or respond to."
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "Service cooperation"
|
title: "Service cooperation"
|
||||||
connect: "Connect"
|
connect: "Connect"
|
||||||
@ -416,7 +425,7 @@ common/views/components/github-setting.vue:
|
|||||||
connect: "Link your GitHub account"
|
connect: "Link your GitHub account"
|
||||||
disconnect: "Disconnect"
|
disconnect: "Disconnect"
|
||||||
common/views/components/discord-setting.vue:
|
common/views/components/discord-setting.vue:
|
||||||
description: "Once you connect your Discord account to your Misskey account, you will be able to see information about your Discord account on your profile, and you will be able to sign-in using Discord."
|
description: "Once you connect your Discord account to your Misskey account, you will be able to see information from your Discord account on your profile, and you will be able to sign-in using Discord."
|
||||||
connected-to: "You are connected to this Discord account"
|
connected-to: "You are connected to this Discord account"
|
||||||
detail: "Details…"
|
detail: "Details…"
|
||||||
reconnect: "Reconnect"
|
reconnect: "Reconnect"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "Post to Followers only"
|
followers-desc: "Post to Followers only"
|
||||||
specified: "Direct"
|
specified: "Direct"
|
||||||
specified-desc: "Post to specified users only"
|
specified-desc: "Post to specified users only"
|
||||||
private: "Private"
|
|
||||||
local-public: "Local (Public)"
|
local-public: "Local (Public)"
|
||||||
local-public-desc: "Do not publish to remote"
|
local-public-desc: "Do not publish to remote"
|
||||||
local-home: "Home (Only local)"
|
local-home: "Home (Only local)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "This account is a Bot"
|
is-bot: "This account is a Bot"
|
||||||
is-locked: "Follower requests require approval"
|
is-locked: "Follower requests require approval"
|
||||||
careful-bot: "Follower requests from bots require approval"
|
careful-bot: "Follower requests from bots require approval"
|
||||||
|
auto-accept-followed: "Automatically approve follows from the people you follow"
|
||||||
advanced: "Other"
|
advanced: "Other"
|
||||||
privacy: "Privacy"
|
privacy: "Privacy"
|
||||||
save: "Save"
|
save: "Save"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "Email Address"
|
email-address: "Email Address"
|
||||||
email-verified: "Your email has been verified."
|
email-verified: "Your email has been verified."
|
||||||
email-not-verified: "Email address is not confirmed. Please check your inbox."
|
email-not-verified: "Email address is not confirmed. Please check your inbox."
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "User"
|
||||||
|
rename: "Rename list"
|
||||||
|
delete: "Delete list"
|
||||||
|
remove-user: "Remove from this list"
|
||||||
|
delete-are-you-sure: "Delete list \"$1\"?"
|
||||||
|
deleted: "Deleted successfully"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "Checking"
|
fetching: "Checking"
|
||||||
no-broadcasts: "No announcements"
|
no-broadcasts: "No announcements"
|
||||||
@ -520,11 +536,11 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "Several windows can be detached outside the browser."
|
tips-line19: "Several windows can be detached outside the browser."
|
||||||
tips-line20: "The percentage of the calendar widget shows the percentage of time elapsed."
|
tips-line20: "The percentage of the calendar widget shows the percentage of time elapsed."
|
||||||
tips-line21: "You can also use the API to develop bots."
|
tips-line21: "You can also use the API to develop bots."
|
||||||
tips-line23: "Mayu is so cute with its eyebrows."
|
tips-line23: "Ai-chan kawaii!"
|
||||||
tips-line24: "Misskey has been running since 2014."
|
tips-line24: "Misskey has been running since 2014."
|
||||||
tips-line25: "In a browser compatible with notification features, you can receive notifications in case Misskey is not open"
|
tips-line25: "In a browser compatible with notification features, you can receive notifications in case Misskey is not open"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "Page not found"
|
page-not-found: "The page has not been found"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "Signed in as {}"
|
signed-in-as: "Signed in as {}"
|
||||||
following: "Following"
|
following: "Following"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "Location"
|
location: "Location"
|
||||||
renote: "Repost"
|
renote: "Repost"
|
||||||
add-reaction: "Add a reaction"
|
add-reaction: "Add a reaction"
|
||||||
|
undo-reaction: "Reverse reaction"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "Reply"
|
reply: "Reply"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "Add a reaction"
|
add-reaction: "Add a reaction"
|
||||||
|
undo-reaction: "Reverse reaction"
|
||||||
detail: "Details"
|
detail: "Details"
|
||||||
private: "This post is private"
|
private: "This post is private"
|
||||||
deleted: "This post has been deleted"
|
deleted: "This post has been deleted"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "The cache of account info/posts/replies/messages/settings stored in the browser will be deleted. You need to reload the page after cleaning up."
|
cache-warn: "The cache of account info/posts/replies/messages/settings stored in the browser will be deleted. You need to reload the page after cleaning up."
|
||||||
cache-cleared: "Cache cleared"
|
cache-cleared: "Cache cleared"
|
||||||
cache-cleared-desc: "Please reload the page."
|
cache-cleared-desc: "Please reload the page."
|
||||||
auto-watch: "Automatic watch"
|
|
||||||
auto-watch-desc: "Receive notifications about the post/reply/reaction automatically."
|
|
||||||
about: "About Misskey"
|
about: "About Misskey"
|
||||||
operator: "The admin of this instance"
|
operator: "The admin of this instance"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "Enter the password"
|
enter-password: "Enter the password"
|
||||||
console:
|
console:
|
||||||
title: 'API console'
|
title: "API console"
|
||||||
endpoint: 'Endpoint'
|
endpoint: "Endpoint"
|
||||||
parameter: 'Parameters'
|
parameter: "Parameters"
|
||||||
credential-info: "Parameter \"i\" is not required at this console."
|
credential-info: "Parameter \"i\" is not required at this console."
|
||||||
send: 'Send'
|
send: "Send"
|
||||||
sending: 'Sending'
|
sending: "Sending"
|
||||||
response: 'Result'
|
response: "Result"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "No linked applications"
|
no-apps: "No linked applications"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -997,8 +1013,8 @@ admin/views/instance.vue:
|
|||||||
enable-github-integration: "Enable connection to GitHub"
|
enable-github-integration: "Enable connection to GitHub"
|
||||||
github-integration-client-id: "Client ID"
|
github-integration-client-id: "Client ID"
|
||||||
github-integration-client-secret: "Client Secret"
|
github-integration-client-secret: "Client Secret"
|
||||||
discord-integration-config: "Setting of Discord Integration"
|
discord-integration-config: "Discord Integration settings"
|
||||||
discord-integration-info: "The callback URL is set on {url}."
|
discord-integration-info: "The callback URL is set to {url}."
|
||||||
enable-discord-integration: "Enable Discord connection"
|
enable-discord-integration: "Enable Discord connection"
|
||||||
discord-integration-client-id: "Client ID"
|
discord-integration-client-id: "Client ID"
|
||||||
discord-integration-client-secret: "Client Secret"
|
discord-integration-client-secret: "Client Secret"
|
||||||
@ -1014,7 +1030,7 @@ admin/views/instance.vue:
|
|||||||
save: "Save"
|
save: "Save"
|
||||||
saved: "Saved"
|
saved: "Saved"
|
||||||
user-recommendation-config: "Recommended users"
|
user-recommendation-config: "Recommended users"
|
||||||
enable-external-user-recommendation: "Enable to external user recommendation"
|
enable-external-user-recommendation: "Enable external user recommendations"
|
||||||
external-user-recommendation-engine: "Engine"
|
external-user-recommendation-engine: "Engine"
|
||||||
external-user-recommendation-engine-desc: "Example : https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
|
external-user-recommendation-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"
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTP Port"
|
smtp-port: "SMTP Port"
|
||||||
smtp-user: "SMTP User"
|
smtp-user: "SMTP User"
|
||||||
smtp-pass: "SMTP Password"
|
smtp-pass: "SMTP Password"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "Enable ServiceWorker"
|
||||||
|
serviceworker-info: "Must be enabled for push notifications."
|
||||||
|
vapid-publickey: "VAPID public key"
|
||||||
|
vapid-privatekey: "VAPID private key"
|
||||||
|
vapid-info: "If you want to enable ServiceWorker, you need to generate VAPID keys. Unless you have set your global node_modules location elsewhere, you need to run this as root:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "Chart"
|
title: "Chart"
|
||||||
per-day: "per Day"
|
per-day: "per Day"
|
||||||
@ -1057,10 +1079,10 @@ admin/views/charts.vue:
|
|||||||
admin/views/drive.vue:
|
admin/views/drive.vue:
|
||||||
sort:
|
sort:
|
||||||
title: "Sort"
|
title: "Sort"
|
||||||
createdAtAsc: "アップロード日時が古い順"
|
createdAtAsc: "Age - Oldest First"
|
||||||
createdAtDesc: "アップロード日時が新しい順"
|
createdAtDesc: "Age - Newest First"
|
||||||
sizeAsc: "サイズが小さい順"
|
sizeAsc: "Size - Smallest First"
|
||||||
sizeDesc: "サイズが大きい順"
|
sizeDesc: "Size - Largest First"
|
||||||
origin:
|
origin:
|
||||||
title: "Origin"
|
title: "Origin"
|
||||||
combined: "Local + Remote"
|
combined: "Local + Remote"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "Remote"
|
remote: "Remote"
|
||||||
delete: "Delete"
|
delete: "Delete"
|
||||||
deleted: "Deleted successfully"
|
deleted: "Deleted successfully"
|
||||||
|
mark-as-sensitive: "Mark as 'sensitive'"
|
||||||
|
unmark-as-sensitive: "Unmark as 'sensitive'"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "Operations"
|
operation: "Operations"
|
||||||
username-or-userid: "Username or user ID"
|
username-or-userid: "Username or user ID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "Notes"
|
posts: "Notes"
|
||||||
following: "Following"
|
following: "Following"
|
||||||
followers: "Followers"
|
followers: "Followers"
|
||||||
|
mention: "Mentions"
|
||||||
is-bot: "This account is a Bot"
|
is-bot: "This account is a Bot"
|
||||||
years-old: "{age} years old"
|
years-old: "{age} years old"
|
||||||
year: "/"
|
year: "/"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "Posts"
|
default: "Posts"
|
||||||
with-replies: "Posts and replies"
|
with-replies: "Posts and replies"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
|
my-posts: "My posts"
|
||||||
empty: "This user doesn't seem to have posted anything yet."
|
empty: "This user doesn't seem to have posted anything yet."
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Message"
|
title: "Message"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "Sign out"
|
signout: "Sign out"
|
||||||
sound: "Sounds"
|
sound: "Sounds"
|
||||||
enable-sounds: "Enable sounds"
|
enable-sounds: "Enable sounds"
|
||||||
mark-as-read-all-unread-notes: "Mark all posts as read"
|
|
||||||
password: "Password"
|
password: "Password"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "Follows you"
|
follows-you: "Follows you"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "Overview"
|
overview: "Overview"
|
||||||
timeline: "Timeline"
|
timeline: "Timeline"
|
||||||
media: "Media"
|
media: "Media"
|
||||||
is-suspended: "This account has been suspended."
|
|
||||||
mute: "Mute"
|
mute: "Mute"
|
||||||
unmute: "Unmute"
|
unmute: "Unmute"
|
||||||
block: "Block"
|
block: "Block"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "Posts"
|
posts: "Posts"
|
||||||
following: "Following"
|
following: "Following"
|
||||||
followers: "Followers"
|
followers: "Followers"
|
||||||
|
mention: "Mentions"
|
||||||
images: "Images"
|
images: "Images"
|
||||||
activity: "Activity"
|
activity: "Activity"
|
||||||
timeline: "Timeline"
|
timeline: "Timeline"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UIの動きを減らす"
|
reduce-motion: "UIの動きを減らす"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
do-not-use-in-production: 'Esto está en desarrollo, no usarlo para producción.'
|
do-not-use-in-production: "Esto está en desarrollo, no usarlo para producción."
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'やり直す'
|
retry: "やり直す"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "Empatado"
|
drawn: "Empatado"
|
||||||
my-turn: "Mi turno"
|
my-turn: "Mi turno"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "Encuentra un usuario"
|
search-user: "Encuentra un usuario"
|
||||||
you: "Tu"
|
you: "Tu"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "Desarrolladores"
|
develop: "Desarrolladores"
|
||||||
feedback: "Opiniones"
|
feedback: "Opiniones"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "Detalles"
|
detail: "Detalles"
|
||||||
copy-link: "Copiar enlace"
|
copy-link: "Copiar enlace"
|
||||||
favorite: "Me gusta esta nota"
|
favorite: "Me gusta esta nota"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "Conectando"
|
connecting: "Conectando"
|
||||||
reconnecting: "Reconectando"
|
reconnecting: "Reconectando"
|
||||||
connected: "Conectado"
|
connected: "Conectado"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "Piblica solo para tus seguidores"
|
followers-desc: "Piblica solo para tus seguidores"
|
||||||
specified: "Directo"
|
specified: "Directo"
|
||||||
specified-desc: "Publica solo para los seguidores que quieras"
|
specified-desc: "Publica solo para los seguidores que quieras"
|
||||||
private: "Privada"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "Recuperando"
|
fetching: "Recuperando"
|
||||||
no-broadcasts: "Sin emisión"
|
no-broadcasts: "Sin emisión"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "Algunas ventanas pueden ser separadas fuera del navegador"
|
tips-line19: "Algunas ventanas pueden ser separadas fuera del navegador"
|
||||||
tips-line20: "El porcentaje mostrando en el accesorio de calendario indica el porcentaje de tiempo transcurrido."
|
tips-line20: "El porcentaje mostrando en el accesorio de calendario indica el porcentaje de tiempo transcurrido."
|
||||||
tips-line21: "También puedes usar la API para desarrollar tus propios bots."
|
tips-line21: "También puedes usar la API para desarrollar tus propios bots."
|
||||||
tips-line23: "Mayu is tan bonito con sus cejas."
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskey inició en 2014."
|
tips-line24: "Misskey inició en 2014."
|
||||||
tips-line25: "Puedes recibir notificaciones incluso si Misskey no está abierto en un navegador compatible."
|
tips-line25: "Puedes recibir notificaciones incluso si Misskey no está abierto en un navegador compatible."
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "Autenticado como {}"
|
signed-in-as: "Autenticado como {}"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "Localización"
|
location: "Localización"
|
||||||
renote: "Republicar"
|
renote: "Republicar"
|
||||||
add-reaction: "Agregar una reacción"
|
add-reaction: "Agregar una reacción"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "No hay aplicaciones asociadas"
|
no-apps: "No hay aplicaciones asociadas"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概要"
|
overview: "概要"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "メディア"
|
media: "メディア"
|
||||||
is-suspended: "このユーザーは凍結されています。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -8,23 +8,23 @@ common:
|
|||||||
about: "Merci d’avoir choisis Misskey. Misskey est une <b>plateforme de microblogage distribuée</b> née sur Terre et fait partie du Fédiverse (un univers composé de diverses plateformes de réseaux sociaux organisées), elle est connectée mutuellement avec d’autres plateformes de réseaux sociaux. Désirez-vous prendre une pause, un court instant, loin de l’agitation de la ville et plonger dans un Internet d’un nouveau genre ?"
|
about: "Merci d’avoir choisis Misskey. Misskey est une <b>plateforme de microblogage distribuée</b> née sur Terre et fait partie du Fédiverse (un univers composé de diverses plateformes de réseaux sociaux organisées), elle est connectée mutuellement avec d’autres plateformes de réseaux sociaux. Désirez-vous prendre une pause, un court instant, loin de l’agitation de la ville et plonger dans un Internet d’un nouveau genre ?"
|
||||||
intro:
|
intro:
|
||||||
title: "C’est quoi Misskey ?"
|
title: "C’est quoi Misskey ?"
|
||||||
about: "Misskey est un <b>réseau social de Microblogage</b> open source. Il offre une interface utilisateur riche et hautement personnalisable, une variété de réactions aux publications et un lecteur pour la gestion centralisée de fichiers. De plus, comme il est possible de se connecter au reste du du Fédiverse, vous pouvez interagir avec d'autres plateformes fédérées. Par exemple, si vous publiez quelque chose, la note sera transmise non seulement aux utilisateurs de Misskey, mais aussi à d'autres plateformes de réseaux sociaux dans le Fédiverse. Imaginez que vous puissiez transmettre des ondes radio d'une planète vers l'autre."
|
about: "Misskey est un <b>réseau social de Microblogage</b> open source. Il offre une interface utilisateur riche et hautement personnalisable, une variété de réactions aux publications et un lecteur pour la gestion centralisée de fichiers. De plus, comme il est possible de se connecter au reste du Fédiverse, vous pouvez interagir avec d'autres plateformes fédérées. Par exemple, si vous publiez quelque chose, la note sera transmise non seulement aux utilisateurs de Misskey, mais aussi à d'autres plateformes de réseaux sociaux dans le Fédiverse. Imaginez que vous puissiez transmettre des ondes radio d'une planète vers l'autre."
|
||||||
features: "Options"
|
features: "Options"
|
||||||
rich-contents: "Notes"
|
rich-contents: "Notes"
|
||||||
rich-contents-desc: "Partagez vos idées, les événements et les sujets qui vous tiennent à cœur ainsi que tout autre chose que vous souhaitez partager avec les autres. Si vous le désirez, vous pouvez décorer vos messages en utilisant une syntaxe différente ou en y joignant des sondages et des fichiers, tels que les photos ou les vidéos que vous aimez."
|
rich-contents-desc: "Partagez vos idées, les événements et les sujets qui vous tiennent à cœur ainsi que tout autre chose que vous souhaitez partager avec les autres. Si vous le désirez, vous pouvez décorer vos messages en utilisant une syntaxe différente ou en y joignant des sondages et des fichiers, tels que les photos ou les vidéos que vous aimez."
|
||||||
reaction: "Réactions"
|
reaction: "Réactions"
|
||||||
reaction-desc: "Une manière simple d'exprimer vos émotions. Misskey peut attacher diverses réactions aux publications des autres utilisateurs. Si vous goûtez aux réactions sur Misskey une fois, vous ne pourrez plus être en mesure de retourner vers une autre plateforme de réseaux sociaux n'offrant que des \"J'aime\"."
|
reaction-desc: "Une manière simple d'exprimer vos émotions. Misskey peut attacher diverses réactions aux publications des autres utilisateurs. Si vous essayez les réactions sur Misskey, vous ne pourrez plus retourner sur une autre plateforme de réseaux sociaux n'offrant que des « J'aime »."
|
||||||
ui: "Interface utilisateur"
|
ui: "Interface utilisateur"
|
||||||
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
|
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。"
|
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。"
|
||||||
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 d’autres instances afin de trouver vos ami·e·s si la présente instance ne vous correspond pas. Bonne chance et amusez-vous bien !"
|
outro: "Découvrez vous-même les fonctionnalités de Misskey. Étant donné que Misskey est un réseau social fédéré, vous pouvez essayer d’autres instances afin de trouver vos amis 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 n’utilise pas de publicités</strong>, mais quelques options peuvent être non disponibles ou fonctionneraient mal si un bloqueur de publicités est activé."
|
warning: "<strong>Misskey n’utilise pas de publicités</strong>, mais quelques options peuvent être non disponibles ou fonctionneraient mal si un bloqueur de publicités est activé."
|
||||||
application-authorization: "Autorisations de l’application"
|
application-authorization: "Autorisations de l’application"
|
||||||
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 pourrait être compromis."
|
||||||
load-more: "Charger plus"
|
load-more: "Charger plus"
|
||||||
enter-password: "Veuillez entrer le mot de passe"
|
enter-password: "Veuillez entrer le mot de passe"
|
||||||
got-it: "J’ai compris !"
|
got-it: "J’ai compris !"
|
||||||
@ -33,24 +33,24 @@ common:
|
|||||||
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
|
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
|
||||||
gotit: "Compris !"
|
gotit: "Compris !"
|
||||||
notification:
|
notification:
|
||||||
file-uploaded: "Le fichier a été transféré !"
|
file-uploaded: "Le fichier a été téléversé !"
|
||||||
message-from: "Message de {} :"
|
message-from: "Message de {} :"
|
||||||
reversi-invited: "Invité à jouer"
|
reversi-invited: "Invité à jouer"
|
||||||
reversi-invited-by: "Invité par {} :"
|
reversi-invited-by: "Invité par {} :"
|
||||||
notified-by: "Notifié par {} :"
|
notified-by: "Notifié par {} :"
|
||||||
reply-from: "Réponse de {} :"
|
reply-from: "Réponse de {} :"
|
||||||
quoted-by: "Cité·e par {} :"
|
quoted-by: "Cité par {} :"
|
||||||
time:
|
time:
|
||||||
unknown: "inconnu"
|
unknown: "inconnu"
|
||||||
future: "à l’instant"
|
future: "à l’instant"
|
||||||
just_now: "à l'instant"
|
just_now: "à l'instant"
|
||||||
seconds_ago: "Il y a {} seconde·s"
|
seconds_ago: "Il y a {} seconde(s)"
|
||||||
minutes_ago: "Il y a {} min"
|
minutes_ago: "Il y a {} min"
|
||||||
hours_ago: "Il y a {} h"
|
hours_ago: "Il y a {} h"
|
||||||
days_ago: "Il y a {} j"
|
days_ago: "Il y a {} j"
|
||||||
weeks_ago: "Il y a {} semaines"
|
weeks_ago: "Il y a {} semaines"
|
||||||
months_ago: "Il y a {} mois"
|
months_ago: "Il y a {} mois"
|
||||||
years_ago: "Il y a {} an·s"
|
years_ago: "Il y a {} an(s)"
|
||||||
month-and-day: "{day}-{month}"
|
month-and-day: "{day}-{month}"
|
||||||
trash: "Corbeille"
|
trash: "Corbeille"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
@ -86,11 +86,10 @@ common:
|
|||||||
public: "Public"
|
public: "Public"
|
||||||
home: "Principal"
|
home: "Principal"
|
||||||
home-desc: "Publier sur le fil principal uniquement"
|
home-desc: "Publier sur le fil principal uniquement"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonnés"
|
||||||
followers-desc: "Publier à vos abonné·e·s uniquement"
|
followers-desc: "Publier à vos abonnés uniquement"
|
||||||
specified: "Direct"
|
specified: "Direct"
|
||||||
specified-desc: "Publier uniquement aux utilisateurs·rices mentionnés·es"
|
specified-desc: "Publier uniquement aux utilisateurs mentionnés"
|
||||||
private: "Privé"
|
|
||||||
local-public: "Local (Public)"
|
local-public: "Local (Public)"
|
||||||
local-home: "Accueil (local uniquement)"
|
local-home: "Accueil (local uniquement)"
|
||||||
local-followers: "Local (Abonnés)"
|
local-followers: "Local (Abonnés)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "Réduire les animations dans l’interface utilisateur"
|
reduce-motion: "Réduire les animations dans l’interface utilisateur"
|
||||||
this-setting-is-this-device-only: "Uniquement sur cet appareil"
|
this-setting-is-this-device-only: "Uniquement sur cet appareil"
|
||||||
use-os-default-emojis: "Utiliser les émojis standards du système"
|
use-os-default-emojis: "Utiliser les émojis standards du système"
|
||||||
do-not-use-in-production: 'Il s’agit d’une version de développement. Ne pas utiliser dans un environnement de production.'
|
do-not-use-in-production: "Il s’agit d’une version de développement. Ne pas utiliser dans un environnement de production."
|
||||||
is-remote-user: "Ces informations appartiennent à un·e utilisateur·rice distant·e."
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
|
is-remote-user: "Ces informations appartiennent à un utilisateur distant."
|
||||||
is-remote-post: "Ceci est une publication distante."
|
is-remote-post: "Ceci est une publication distante."
|
||||||
view-on-remote: " Consulter le profil complet"
|
view-on-remote: " Consulter le profil complet"
|
||||||
renoted-by: "Renoté par {user}"
|
renoted-by: "Renoté par {user}"
|
||||||
error:
|
error:
|
||||||
title: 'Une erreur est survenue'
|
title: "Une erreur est survenue"
|
||||||
retry: 'Réessayer'
|
retry: "Réessayer"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "Partie nulle"
|
drawn: "Partie nulle"
|
||||||
my-turn: "C’est votre tour"
|
my-turn: "C’est votre tour"
|
||||||
@ -150,15 +150,15 @@ common:
|
|||||||
memo: "Pense-bête"
|
memo: "Pense-bête"
|
||||||
trends: "Tendances"
|
trends: "Tendances"
|
||||||
photo-stream: "Flux de photos"
|
photo-stream: "Flux de photos"
|
||||||
posts-monitor: "Graph des publications"
|
posts-monitor: "Graphe des publications"
|
||||||
slideshow: "Diaporama"
|
slideshow: "Diaporama"
|
||||||
version: "Version"
|
version: "Version"
|
||||||
broadcast: "Diffusion"
|
broadcast: "Diffusion"
|
||||||
notifications: "Notifications"
|
notifications: "Notifications"
|
||||||
users: "Utilisateur·rice·s"
|
users: "Utilisateurs recommandés"
|
||||||
polls: "Sondages"
|
polls: "Sondages"
|
||||||
post-form: "Champs de publication"
|
post-form: "Champs de publication"
|
||||||
server: "Info sur le serveur"
|
server: "Infos sur le serveur"
|
||||||
nav: "Navigation"
|
nav: "Navigation"
|
||||||
tips: "Conseils"
|
tips: "Conseils"
|
||||||
hashtags: "Hashtags"
|
hashtags: "Hashtags"
|
||||||
@ -201,16 +201,16 @@ common/views/components/games/reversi/reversi.game.vue:
|
|||||||
can-put-everywhere: "Peut poser partout"
|
can-put-everywhere: "Peut poser partout"
|
||||||
common/views/components/games/reversi/reversi.index.vue:
|
common/views/components/games/reversi/reversi.index.vue:
|
||||||
title: "Misskey Reversi"
|
title: "Misskey Reversi"
|
||||||
sub-title: "Jouer à Reversi avec vos ami·e·s !"
|
sub-title: "Jouer à Reversi avec vos amis !"
|
||||||
invite: "Inviter"
|
invite: "Inviter"
|
||||||
rule: "Comment jouer ?"
|
rule: "Comment jouer ?"
|
||||||
rule-desc: "Reversi est un jeu qui se joue sur un tablier et dans lequel les joueurs placent des pions sur ce dernier, à tour de rôle avec l'adversaire. Le but du jeu est d'avoir plus de pions de sa couleur que l'adversaire à la fin de la partie, celle-ci s'achevant lorsque aucun des deux joueurs ne peut plus jouer de coup légal, généralement lorsque les 64 cases sont occupées."
|
rule-desc: "Reversi est un jeu qui se joue sur un tablier et dans lequel les joueurs placent des pions sur ce dernier, à tour de rôle avec l'adversaire. Le but du jeu est d'avoir plus de pions de sa couleur que l'adversaire à la fin de la partie, celle-ci s'achevant lorsque aucun des deux joueurs ne peut plus jouer de coup légal, généralement lorsque les 64 cases sont occupées."
|
||||||
mode-invite: "Inviter"
|
mode-invite: "Inviter"
|
||||||
mode-invite-desc: "Inviter un·e joueur·se."
|
mode-invite-desc: "Inviter un joueur."
|
||||||
invitations: "Vous avez reçu une invitation !"
|
invitations: "Vous avez reçu une invitation !"
|
||||||
my-games: "Mes jeux"
|
my-games: "Mes jeux"
|
||||||
all-games: "Tous les jeux"
|
all-games: "Tous les jeux"
|
||||||
enter-username: "Saisir un nom d'utilisateur·rice"
|
enter-username: "Saisir un nom d'utilisateur"
|
||||||
game-state:
|
game-state:
|
||||||
ended: "Terminée"
|
ended: "Terminée"
|
||||||
playing: "En cours"
|
playing: "En cours"
|
||||||
@ -299,8 +299,9 @@ common/views/components/cw-button.vue:
|
|||||||
show: "Voir plus"
|
show: "Voir plus"
|
||||||
chars: "{count} caractères"
|
chars: "{count} caractères"
|
||||||
files: "{count} fichiers"
|
files: "{count} fichiers"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "Trouver un·e utilisateur·trice"
|
search-user: "Trouver un utilisateur"
|
||||||
you: "Vous"
|
you: "Vous"
|
||||||
no-history: "Pas d'historique"
|
no-history: "Pas d'historique"
|
||||||
common/views/components/messaging-room.vue:
|
common/views/components/messaging-room.vue:
|
||||||
@ -323,11 +324,12 @@ common/views/components/nav.vue:
|
|||||||
stats: "Statistiques"
|
stats: "Statistiques"
|
||||||
status: "Statut"
|
status: "Statut"
|
||||||
wiki: "Wiki"
|
wiki: "Wiki"
|
||||||
donors: "Donateur·rice·s"
|
donors: "Donateurs"
|
||||||
repository: "Dépôt"
|
repository: "Dépôt"
|
||||||
develop: "Développeurs"
|
develop: "Développeurs"
|
||||||
feedback: "Suggestions"
|
feedback: "Suggestions"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "Détails"
|
detail: "Détails"
|
||||||
copy-link: "Copier le lien"
|
copy-link: "Copier le lien"
|
||||||
favorite: "Mettre cette note en favoris"
|
favorite: "Mettre cette note en favoris"
|
||||||
@ -340,7 +342,7 @@ common/views/components/note-menu.vue:
|
|||||||
common/views/components/poll.vue:
|
common/views/components/poll.vue:
|
||||||
vote-to: "Voter pour '{}'"
|
vote-to: "Voter pour '{}'"
|
||||||
vote-count: "{} votes"
|
vote-count: "{} votes"
|
||||||
total-users: "{} utilisateur·rice·s ont voté·e·s"
|
total-users: "{} utilisateurs ont voté"
|
||||||
vote: "Vote"
|
vote: "Vote"
|
||||||
show-result: "Montrer les résultats"
|
show-result: "Montrer les résultats"
|
||||||
voted: "Voté"
|
voted: "Voté"
|
||||||
@ -363,7 +365,7 @@ common/views/components/emoji-picker.vue:
|
|||||||
symbols: "Symboles"
|
symbols: "Symboles"
|
||||||
flags: "Drapeaux"
|
flags: "Drapeaux"
|
||||||
common/views/components/signin.vue:
|
common/views/components/signin.vue:
|
||||||
username: "Nom d'utilisateur·rice"
|
username: "Nom d'utilisateur"
|
||||||
password: "Mot de passe"
|
password: "Mot de passe"
|
||||||
token: "Jeton"
|
token: "Jeton"
|
||||||
signing-in: "Connexion…"
|
signing-in: "Connexion…"
|
||||||
@ -375,8 +377,8 @@ common/views/components/signin.vue:
|
|||||||
login-failed: "Échec d’authentification. Veuillez vérifier que votre nom d’utilisateur et mot de passe sont corrects."
|
login-failed: "Échec d’authentification. Veuillez vérifier que votre nom d’utilisateur et mot de passe sont corrects."
|
||||||
common/views/components/signup.vue:
|
common/views/components/signup.vue:
|
||||||
invitation-code: "Code d’invitation"
|
invitation-code: "Code d’invitation"
|
||||||
invitation-info: "Si vous n’avez pas de code d’invitation, contactez un·e <a href=\"{}\">administrateur·rice</a>."
|
invitation-info: "Si vous n’avez pas de code d’invitation, contactez un <a href=\"{}\">administrateur</a>."
|
||||||
username: "Nom d'utilisateur·rice"
|
username: "Nom d'utilisateur"
|
||||||
checking: "Vérification…"
|
checking: "Vérification…"
|
||||||
available: "Disponible"
|
available: "Disponible"
|
||||||
unavailable: "Non disponible"
|
unavailable: "Non disponible"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "Connexion en cours"
|
connecting: "Connexion en cours"
|
||||||
reconnecting: "Reconnexion en cours"
|
reconnecting: "Reconnexion en cours"
|
||||||
connected: "Connecté"
|
connected: "Connecté"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "Intégrations"
|
title: "Intégrations"
|
||||||
connect: "Connecter"
|
connect: "Connecter"
|
||||||
@ -428,17 +437,16 @@ common/views/components/visibility-chooser.vue:
|
|||||||
public: "Public"
|
public: "Public"
|
||||||
home: "Accueil"
|
home: "Accueil"
|
||||||
home-desc: "Publier sur le fil d'Accueil uniquement"
|
home-desc: "Publier sur le fil d'Accueil uniquement"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonnés"
|
||||||
followers-desc: "Publier à vos abonné·e·s uniquement"
|
followers-desc: "Publier à vos abonnés uniquement"
|
||||||
specified: "Direct"
|
specified: "Direct"
|
||||||
specified-desc: "Publier uniquement aux utilisateurs·rices mentionné·e·s"
|
specified-desc: "Publier uniquement aux utilisateurs mentionnés"
|
||||||
private: "Privé"
|
|
||||||
local-public: "Local (Public)"
|
local-public: "Local (Public)"
|
||||||
local-public-desc: "Ne pas publier pour les distants"
|
local-public-desc: "Ne pas publier pour les distants"
|
||||||
local-home: "Accueil (local uniquement)"
|
local-home: "Accueil (local uniquement)"
|
||||||
local-followers: "Local (Abonnés)"
|
local-followers: "Local (Abonnés)"
|
||||||
common/views/components/trends.vue:
|
common/views/components/trends.vue:
|
||||||
count: "{} utilisateurs·rices mentionnés·es"
|
count: "{} utilisateurs mentionnés"
|
||||||
empty: "Aucune tendance"
|
empty: "Aucune tendance"
|
||||||
common/views/components/language-settings.vue:
|
common/views/components/language-settings.vue:
|
||||||
title: "Langue "
|
title: "Langue "
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "Ce compte est un Bot"
|
is-bot: "Ce compte est un Bot"
|
||||||
is-locked: "Demandes d’abonnements requièrent l’approbation"
|
is-locked: "Demandes d’abonnements requièrent l’approbation"
|
||||||
careful-bot: "Les demandes d’abonnements venant de Bots requièrent l’approbation"
|
careful-bot: "Les demandes d’abonnements venant de Bots requièrent l’approbation"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "Avancé"
|
advanced: "Avancé"
|
||||||
privacy: "Vie privée"
|
privacy: "Vie privée"
|
||||||
save: "Mettre à jour le profil"
|
save: "Mettre à jour le profil"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "Adresse de courrier électronique"
|
email-address: "Adresse de courrier électronique"
|
||||||
email-verified: "L’adresse du courrier électronique a été vérifiée."
|
email-verified: "L’adresse du courrier électronique a été vérifiée."
|
||||||
email-not-verified: "Adresse de courriel n’est pas confirmée. Veuillez vérifier votre boite de réception."
|
email-not-verified: "Adresse de courriel n’est pas confirmée. Veuillez vérifier votre boite de réception."
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "Utilisateur"
|
||||||
|
rename: "Renommer la liste"
|
||||||
|
delete: "Supprimer la liste"
|
||||||
|
remove-user: "Retirer de cette liste"
|
||||||
|
delete-are-you-sure: "Voulez-vous vraiment supprimer la liste « $1 » ?"
|
||||||
|
deleted: "Supprimé"
|
||||||
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"
|
||||||
@ -487,7 +503,7 @@ common/views/widgets/photo-stream.vue:
|
|||||||
title: "Flux de photos"
|
title: "Flux de photos"
|
||||||
no-photos: "Pas de photo"
|
no-photos: "Pas de photo"
|
||||||
common/views/widgets/posts-monitor.vue:
|
common/views/widgets/posts-monitor.vue:
|
||||||
title: "Graph des publications"
|
title: "Graphe des publications"
|
||||||
toggle: "Basculer entre les vues"
|
toggle: "Basculer entre les vues"
|
||||||
common/views/widgets/hashtags.vue:
|
common/views/widgets/hashtags.vue:
|
||||||
title: "Hashtags"
|
title: "Hashtags"
|
||||||
@ -504,7 +520,7 @@ common/views/widgets/slideshow.vue:
|
|||||||
no-image: "Il n'y a aucune image dans ce dossier"
|
no-image: "Il n'y a aucune image dans ce dossier"
|
||||||
common/views/widgets/tips.vue:
|
common/views/widgets/tips.vue:
|
||||||
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
|
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
|
||||||
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
|
tips-line2: "Ouvre la fenêtre de publication en appuyant sur <kbd>p</kbd> ou <kbd>n</kbd>."
|
||||||
tips-line3: "Vous pouvez glisser et déposer des fichiers sur la fenêtre de la note"
|
tips-line3: "Vous pouvez glisser et déposer des fichiers sur la fenêtre de la note"
|
||||||
tips-line4: "Vous pouvez coller des images à partir du presse-papier sur la fenêtre de la note"
|
tips-line4: "Vous pouvez coller des images à partir du presse-papier sur la fenêtre de la note"
|
||||||
tips-line5: "Vous pouvez téléverser des fichiers sur le Drive en faisant un glisser-déposer"
|
tips-line5: "Vous pouvez téléverser des fichiers sur le Drive en faisant un glisser-déposer"
|
||||||
@ -520,25 +536,25 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "Plusieurs fenêtres peuvent être détachées en dehors du navigateur."
|
tips-line19: "Plusieurs fenêtres peuvent être détachées en dehors du navigateur."
|
||||||
tips-line20: "Pourcentage sur le widget calendrier qui indique le pourcentage de temps passé"
|
tips-line20: "Pourcentage sur le widget calendrier qui indique le pourcentage de temps passé"
|
||||||
tips-line21: "Vous pouvez aussi utiliser l'API pour développer des Bots."
|
tips-line21: "Vous pouvez aussi utiliser l'API pour développer des Bots."
|
||||||
tips-line23: "Mayu est mignonne avec ses sourcils."
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskey est fonctionnel depuis 2014"
|
tips-line24: "Misskey est fonctionnel depuis 2014"
|
||||||
tips-line25: "Vous pouvez recevoir les notifications de Misskey dans un navigateur web compatible"
|
tips-line25: "Vous pouvez recevoir les notifications de Misskey dans un navigateur web compatible"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "La page demandée est introuvable !"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "Connecté·e en tant que {}"
|
signed-in-as: "Connecté en tant que {}"
|
||||||
following: "Suit"
|
following: "Suit"
|
||||||
follow: "Suivre"
|
follow: "Suivre"
|
||||||
request-pending: "Demande d’abonnement en attente"
|
request-pending: "Demande d’abonnement en attente"
|
||||||
follow-processing: "Demande en attente"
|
follow-processing: "Demande en attente"
|
||||||
follow-request: "Demande d’abonnement"
|
follow-request: "Demande d’abonnement"
|
||||||
desktop:
|
desktop:
|
||||||
banner-crop-title: "Découpez la partie qui apparaitra comme bannière"
|
banner-crop-title: "Découpez la partie qui apparaîtra comme bannière"
|
||||||
banner: "Bannière"
|
banner: "Bannière"
|
||||||
uploading-banner: "Téléversement d'une nouvelle bannière"
|
uploading-banner: "Téléversement d'une nouvelle bannière"
|
||||||
banner-updated: "Mise à jour de la bannière avec succès"
|
banner-updated: "Mise à jour de la bannière avec succès"
|
||||||
choose-banner: "Choisir une bannière"
|
choose-banner: "Choisir une bannière"
|
||||||
avatar-crop-title: "Découpez la partie qui apparaitra comme avatar"
|
avatar-crop-title: "Découpez la partie qui apparaîtra comme avatar"
|
||||||
avatar: "Avatar"
|
avatar: "Avatar"
|
||||||
uploading-avatar: "Téléversement du nouvel avatar"
|
uploading-avatar: "Téléversement du nouvel avatar"
|
||||||
avatar-updated: "Mise à jour de l’avatar avec succès"
|
avatar-updated: "Mise à jour de l’avatar avec succès"
|
||||||
@ -558,7 +574,7 @@ desktop/views/components/calendar.vue:
|
|||||||
next: "Mois suivant"
|
next: "Mois suivant"
|
||||||
go: "Cliquez pour naviguer"
|
go: "Cliquez pour naviguer"
|
||||||
desktop/views/components/choose-file-from-drive-window.vue:
|
desktop/views/components/choose-file-from-drive-window.vue:
|
||||||
chosen-files: "{count} fichier·s sélectionné·s"
|
chosen-files: "{count} fichier(s) sélectionné(s)"
|
||||||
upload: "Téléverser des fichiers à partir de votre ordinateur"
|
upload: "Téléverser des fichiers à partir de votre ordinateur"
|
||||||
cancel: "Annuler"
|
cancel: "Annuler"
|
||||||
ok: "OK"
|
ok: "OK"
|
||||||
@ -606,21 +622,21 @@ desktop/views/components/drive.vue:
|
|||||||
search: "Rechercher"
|
search: "Rechercher"
|
||||||
empty-draghover: "Drop Welcome!"
|
empty-draghover: "Drop Welcome!"
|
||||||
empty-drive: "Votre Drive est vide"
|
empty-drive: "Votre Drive est vide"
|
||||||
empty-drive-description: "Vous pouvez également uploader le fichier en faisant un clic droit et en choisissant 'Uploader' ou tout simplement en faisant glisser votre fichier."
|
empty-drive-description: "Vous pouvez également téléverser le fichier en faisant un clic droit et en choisissant « Téléverser » ou tout simplement en faisant glisser votre fichier."
|
||||||
empty-folder: "Ce dossier est vide"
|
empty-folder: "Ce dossier est vide"
|
||||||
unable-to-process: "L'opération n'a pas pu être complétée"
|
unable-to-process: "L'opération n'a pas pu être complétée"
|
||||||
circular-reference-detected: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer."
|
circular-reference-detected: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer."
|
||||||
unhandled-error: "Erreur inconnue"
|
unhandled-error: "Erreur inconnue"
|
||||||
url-upload: "Téléverser via une URL"
|
url-upload: "Téléverser via une URL"
|
||||||
url-of-file: "URL de l'image que vous souhaitez uploader."
|
url-of-file: "URL de l'image que vous souhaitez téléverser."
|
||||||
url-upload-requested: "Upload requested"
|
url-upload-requested: "Téléversement demandé"
|
||||||
may-take-time: "L'upload de votre fichier peut prendre un certain temps."
|
may-take-time: "Le téléversement de votre fichier peut prendre un certain temps."
|
||||||
create-folder: "Créer un dossier"
|
create-folder: "Créer un dossier"
|
||||||
folder-name: "Nom du dossier"
|
folder-name: "Nom du dossier"
|
||||||
contextmenu:
|
contextmenu:
|
||||||
create-folder: "Créer un dossier"
|
create-folder: "Créer un dossier"
|
||||||
upload: "Transférer un fichier"
|
upload: "Téléverser un fichier"
|
||||||
url-upload: "Transférer à partir d’une URL"
|
url-upload: "Téléverser à partir d’une URL"
|
||||||
desktop/views/components/media-image.vue:
|
desktop/views/components/media-image.vue:
|
||||||
sensitive: "Le contenu est NSFW"
|
sensitive: "Le contenu est NSFW"
|
||||||
click-to-show: "Cliquer pour afficher"
|
click-to-show: "Cliquer pour afficher"
|
||||||
@ -628,16 +644,16 @@ desktop/views/components/media-video.vue:
|
|||||||
sensitive: "Le contenu est NSFW"
|
sensitive: "Le contenu est NSFW"
|
||||||
click-to-show: "Cliquer pour afficher"
|
click-to-show: "Cliquer pour afficher"
|
||||||
desktop/views/components/followers-window.vue:
|
desktop/views/components/followers-window.vue:
|
||||||
followers: "{} abonné·e·s"
|
followers: "{} abonnés"
|
||||||
desktop/views/components/followers.vue:
|
desktop/views/components/followers.vue:
|
||||||
empty: "Il semble que vous n’avez pas encore d’abonné·e·s."
|
empty: "Il semble que vous n'avez pas encore d'abonnés."
|
||||||
desktop/views/components/following-window.vue:
|
desktop/views/components/following-window.vue:
|
||||||
following: "Suit {}"
|
following: "Suit {}"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "Vous ne suivez aucun compte."
|
empty: "Vous ne suivez aucun compte."
|
||||||
desktop/views/components/friends-maker.vue:
|
desktop/views/components/friends-maker.vue:
|
||||||
title: "Utilisateurs·rices recommandé·e·s :"
|
title: "Utilisateurs recommandés :"
|
||||||
empty: "Impossible de trouver des utilisateurs·trices à recommander."
|
empty: "Impossible de trouver des utilisateurs à recommander."
|
||||||
fetching: "Chargement"
|
fetching: "Chargement"
|
||||||
refresh: "Plus"
|
refresh: "Plus"
|
||||||
close: "Fermer"
|
close: "Fermer"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "Géolocalisation"
|
location: "Géolocalisation"
|
||||||
renote: "Republier"
|
renote: "Republier"
|
||||||
add-reaction: "Ajouter votre reaction"
|
add-reaction: "Ajouter votre reaction"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "Répondre"
|
reply: "Répondre"
|
||||||
renote: "Partager"
|
renote: "Partager"
|
||||||
add-reaction: "Ajouter votre réaction"
|
add-reaction: "Ajouter votre réaction"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "Détails"
|
detail: "Détails"
|
||||||
private: "Cette publication est privée"
|
private: "Cette publication est privée"
|
||||||
deleted: "Cette publication a été supprimée"
|
deleted: "Cette publication a été supprimée"
|
||||||
@ -696,7 +714,7 @@ desktop/views/components/post-form.vue:
|
|||||||
text-remain: "{} caractères restants"
|
text-remain: "{} caractères restants"
|
||||||
recent-tags: "Récent"
|
recent-tags: "Récent"
|
||||||
local-only-message: "Ce message sera publié uniquement sur le fil local"
|
local-only-message: "Ce message sera publié uniquement sur le fil local"
|
||||||
click-to-tagging: "Cliquer pour tagguer"
|
click-to-tagging: "Cliquer pour taguer"
|
||||||
visibility: "Visibilité"
|
visibility: "Visibilité"
|
||||||
geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation"
|
geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation"
|
||||||
error: "Erreur"
|
error: "Erreur"
|
||||||
@ -706,7 +724,7 @@ desktop/views/components/post-form-window.vue:
|
|||||||
note: "Nouvelle note"
|
note: "Nouvelle note"
|
||||||
reply: "Répondre"
|
reply: "Répondre"
|
||||||
attaches: "{} media joint(s)"
|
attaches: "{} media joint(s)"
|
||||||
uploading-media: "Transfert du média {}"
|
uploading-media: "Téléversement du média {}"
|
||||||
desktop/views/components/progress-dialog.vue:
|
desktop/views/components/progress-dialog.vue:
|
||||||
waiting: "En attente"
|
waiting: "En attente"
|
||||||
desktop/views/components/renote-form.vue:
|
desktop/views/components/renote-form.vue:
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "Le nettoyage du cache du compte supprime les informations stockées dans le navigateur comme les messages, les réponses ainsi que d’autres 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 d’autres données (y compris les paramètres de configuration). Après le nettoyage, vous devez recharger la page."
|
||||||
cache-cleared: "Cache nettoyé"
|
cache-cleared: "Cache nettoyé"
|
||||||
cache-cleared-desc: "Veuillez recharger la page."
|
cache-cleared-desc: "Veuillez recharger la page."
|
||||||
auto-watch: "Montre automatique"
|
|
||||||
auto-watch-desc: "Recevez automatiquement les notifications de publications, réponses et réactions."
|
|
||||||
about: "À propose de Misskey"
|
about: "À propose de Misskey"
|
||||||
operator: "L'admin de cette instance"
|
operator: "L'admin de cette instance"
|
||||||
update: "Mise à jour de Misskey"
|
update: "Mise à jour de Misskey"
|
||||||
@ -810,7 +826,7 @@ desktop/views/components/settings.vue:
|
|||||||
update-available: "Nouvelle version disponible !"
|
update-available: "Nouvelle version disponible !"
|
||||||
update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée."
|
update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée."
|
||||||
advanced-settings: "Réglages avancés"
|
advanced-settings: "Réglages avancés"
|
||||||
debug-mode: "Activer le mode debug"
|
debug-mode: "Activer le mode débogage"
|
||||||
debug-mode-desc: "Ce paramètre est stocké dans le navigateur."
|
debug-mode-desc: "Ce paramètre est stocké dans le navigateur."
|
||||||
experimental: "Activer les fonctionnalités expérimentales"
|
experimental: "Activer les fonctionnalités expérimentales"
|
||||||
experimental-desc: "L’activation des fonctionnalités expérimentales peuvent rendre le client Misskey instable. Ce paramètre est stocké dans le navigateur."
|
experimental-desc: "L’activation des fonctionnalités expérimentales peuvent rendre le client Misskey instable. Ce paramètre est stocké dans le navigateur."
|
||||||
@ -833,27 +849,27 @@ desktop/views/components/settings.2fa.vue:
|
|||||||
enter-password: "Entrez un mot de passe"
|
enter-password: "Entrez un mot de passe"
|
||||||
authenticator: "Vous devez au préalable installer Google Authenticator sur votre appareil :"
|
authenticator: "Vous devez au préalable installer Google Authenticator sur votre appareil :"
|
||||||
howtoinstall: "Comment installer"
|
howtoinstall: "Comment installer"
|
||||||
scan: "Ensuite scannez le QR code afficher sur votre écran:"
|
scan: "Ensuite, scannez le code QR affiché sur votre écran :"
|
||||||
done: "Veuillez entrer le token qui s'affiche sur votre appareil:"
|
done: "Veuillez entrer le token qui s'affiche sur votre appareil :"
|
||||||
submit: "Envoyer"
|
submit: "Envoyer"
|
||||||
success: "Sauvegarde des paramètres avec succès !"
|
success: "Sauvegarde des paramètres avec succès !"
|
||||||
failed: "L’opération a échoué. Veuillez vous assurer que le jeton a été saisi correctement."
|
failed: "L’opération a échoué. Veuillez vous assurer que le jeton a été saisi correctement."
|
||||||
info: "À partir de maintenant, à chaque fois que vous vous connectez entrez votre mot de passe ainsi que le jeton généré sur votre appareil."
|
info: "À partir de maintenant, à chaque fois que vous vous connectez entrez votre mot de passe ainsi que le jeton généré sur votre appareil."
|
||||||
common/views/components/api-settings.vue:
|
common/views/components/api-settings.vue:
|
||||||
intro: "Pour accéder à l'API, définissez ce jeton comme la clé de \"i\" dans les paramètres de requête."
|
intro: "Pour accéder à l'API, définissez ce jeton comme la clé de « i » dans les paramètres de requête."
|
||||||
caution: "Merci de ne pas introduire ce jeton dans aucune application ou le divulguer à quiconque. Ceci risque de compromettre votre compte."
|
caution: "Merci de ne pas introduire ce jeton dans aucune application ou le divulguer à quiconque. Ceci risque de compromettre votre compte."
|
||||||
regeneration-of-token: "Si votre jeton est compromis, vous pouvez le régénérer."
|
regeneration-of-token: "Si votre jeton est compromis, vous pouvez le régénérer."
|
||||||
regenerate-token: "Régénérer le jeton"
|
regenerate-token: "Régénérer le jeton"
|
||||||
token: "Jeton :"
|
token: "Jeton :"
|
||||||
enter-password: "Entrez le mot de passe"
|
enter-password: "Entrez le mot de passe"
|
||||||
console:
|
console:
|
||||||
title: 'Console API'
|
title: "Console API"
|
||||||
endpoint: 'Point de terminaison'
|
endpoint: "Point de terminaison"
|
||||||
parameter: 'Paramètres'
|
parameter: "Paramètres"
|
||||||
credential-info: "Le paramètre \"i\" est requis dans la console."
|
credential-info: "Le paramètre « i » est requis dans la console."
|
||||||
send: 'Envoyer'
|
send: "Envoyer"
|
||||||
sending: 'Envoi en cours'
|
sending: "Envoi en cours"
|
||||||
response: 'Résultat'
|
response: "Résultat"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "Aucune application autorisée"
|
no-apps: "Aucune application autorisée"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -864,8 +880,8 @@ common/views/components/mute-and-block.vue:
|
|||||||
mute-and-block: "Silencés / Bloqués"
|
mute-and-block: "Silencés / Bloqués"
|
||||||
mute: "Mettre en sourdine"
|
mute: "Mettre en sourdine"
|
||||||
block: "En cours blocage"
|
block: "En cours blocage"
|
||||||
no-muted-users: "Aucun utilisateur·rice n’est mis·e en sourdine"
|
no-muted-users: "Aucun utilisateur n’est mis en sourdine"
|
||||||
no-blocked-users: "Aucun utilisateur·rice n’est bloqué·e"
|
no-blocked-users: "Aucun utilisateur n’est bloqué"
|
||||||
word-mute: "Filtre de mots"
|
word-mute: "Filtre de mots"
|
||||||
muted-words: "Mots masqués"
|
muted-words: "Mots masqués"
|
||||||
muted-words-description: "Description des mots mis en sourdine"
|
muted-words-description: "Description des mots mis en sourdine"
|
||||||
@ -936,7 +952,7 @@ desktop/views/components/user-lists-window.vue:
|
|||||||
desktop/views/components/user-preview.vue:
|
desktop/views/components/user-preview.vue:
|
||||||
notes: "Publications"
|
notes: "Publications"
|
||||||
following: "Abonné à"
|
following: "Abonné à"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonnés"
|
||||||
desktop/views/components/users-list.vue:
|
desktop/views/components/users-list.vue:
|
||||||
all: "Tout"
|
all: "Tout"
|
||||||
iknow: "Vous connaissez"
|
iknow: "Vous connaissez"
|
||||||
@ -951,7 +967,7 @@ admin/views/index.vue:
|
|||||||
instance: "Instance"
|
instance: "Instance"
|
||||||
emoji: "Émoji"
|
emoji: "Émoji"
|
||||||
moderators: "Modérateurs"
|
moderators: "Modérateurs"
|
||||||
users: "Utilisateur·rice·s"
|
users: "Utilisateurs"
|
||||||
federation: "Fédération"
|
federation: "Fédération"
|
||||||
announcements: "Annonces"
|
announcements: "Annonces"
|
||||||
hashtags: "Hashtags"
|
hashtags: "Hashtags"
|
||||||
@ -969,7 +985,7 @@ admin/views/instance.vue:
|
|||||||
instance-name: "Nom de l’instance"
|
instance-name: "Nom de l’instance"
|
||||||
instance-description: "Description de l’instance"
|
instance-description: "Description de l’instance"
|
||||||
host: "Hôte"
|
host: "Hôte"
|
||||||
banner-url: "Url de l’image de la bannière"
|
banner-url: "URL de l’image de la bannière"
|
||||||
error-image-url: "URL de l’image d’erreur"
|
error-image-url: "URL de l’image d’erreur"
|
||||||
languages: "Langue de l’instance"
|
languages: "Langue de l’instance"
|
||||||
languages-desc: "Vous pouvez en définir plus d’une, séparées par des espaces."
|
languages-desc: "Vous pouvez en définir plus d’une, séparées par des espaces."
|
||||||
@ -988,17 +1004,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: "コールバックURLは {url} に設定します。"
|
twitter-integration-info: "L'URL de callback est {url}."
|
||||||
enable-twitter-integration: "Activer la connection à Twitter"
|
enable-twitter-integration: "Activer la connexion à Twitter"
|
||||||
twitter-integration-consumer-key: "Clé du consommateur"
|
twitter-integration-consumer-key: "Clé du consommateur"
|
||||||
twitter-integration-consumer-secret: "Secret du consommateur"
|
twitter-integration-consumer-secret: "Secret du consommateur"
|
||||||
github-integration-config: "Paramètres d’authentification GitHub"
|
github-integration-config: "Paramètres d’authentification GitHub"
|
||||||
github-integration-info: "コールバックURLは {url} に設定します。"
|
github-integration-info: "L'URL de callback est {url}."
|
||||||
enable-github-integration: "Activer l’authentification avec Github"
|
enable-github-integration: "Activer l’authentification 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 d’authentification Discord"
|
discord-integration-config: "Paramètres d’authentification Discord"
|
||||||
discord-integration-info: "コールバックURLは {url} に設定します。"
|
discord-integration-info: "L'URL de callback est {url}."
|
||||||
enable-discord-integration: "Activer l’authentification avec Discord"
|
enable-discord-integration: "Activer l’authentification 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"
|
||||||
@ -1013,8 +1029,8 @@ admin/views/instance.vue:
|
|||||||
invite: "Inviter"
|
invite: "Inviter"
|
||||||
save: "Sauvegarder"
|
save: "Sauvegarder"
|
||||||
saved: "Enregistré"
|
saved: "Enregistré"
|
||||||
user-recommendation-config: "Utilisateur·rice·s"
|
user-recommendation-config: "Utilisateurs"
|
||||||
enable-external-user-recommendation: "Activer la recommandation des utilisateur·trice·s distant·e·s"
|
enable-external-user-recommendation: "Activer la recommandation des utilisateurs distants"
|
||||||
external-user-recommendation-engine: "Moteur"
|
external-user-recommendation-engine: "Moteur"
|
||||||
external-user-recommendation-engine-desc: "Exemple : https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
|
external-user-recommendation-engine-desc: "Exemple : https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}"
|
||||||
external-user-recommendation-timeout: "Délai d’expiration"
|
external-user-recommendation-timeout: "Délai d’expiration"
|
||||||
@ -1029,13 +1045,19 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "Port SMTP"
|
smtp-port: "Port SMTP"
|
||||||
smtp-user: "Utilisateur SMTP"
|
smtp-user: "Utilisateur SMTP"
|
||||||
smtp-pass: "Mot de passe SMTP"
|
smtp-pass: "Mot de passe SMTP"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "Activer ServiceWorker"
|
||||||
|
serviceworker-info: "Devrait être activé pour les notifications push."
|
||||||
|
vapid-publickey: "Clé Publique VAPID"
|
||||||
|
vapid-privatekey: "Clé privée VAPID"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "Graph"
|
title: "Graphe"
|
||||||
per-day: "par jour"
|
per-day: "par jour"
|
||||||
per-hour: "par heure"
|
per-hour: "par heure"
|
||||||
federation: "Fédération"
|
federation: "Fédération"
|
||||||
notes: "Publications"
|
notes: "Publications"
|
||||||
users: "Utilisateur·rice·s"
|
users: "Utilisateurs"
|
||||||
drive: "Lecteur"
|
drive: "Lecteur"
|
||||||
network: "Réseau"
|
network: "Réseau"
|
||||||
charts:
|
charts:
|
||||||
@ -1045,8 +1067,8 @@ admin/views/charts.vue:
|
|||||||
local-notes: "Nombre des publications : augmentation/diminution (Local)"
|
local-notes: "Nombre des publications : augmentation/diminution (Local)"
|
||||||
remote-notes: "Nombre de publications : augmentation/diminution (distants)"
|
remote-notes: "Nombre de publications : augmentation/diminution (distants)"
|
||||||
notes-total: "Total des publications"
|
notes-total: "Total des publications"
|
||||||
users: "Nombre d’utilisateur·rice·s : augmentation/diminution"
|
users: "Nombre d’utilisateurs : augmentation/diminution"
|
||||||
users-total: "Nombre total des utilisateur·rice·s"
|
users-total: "Nombre total des utilisateurs"
|
||||||
drive: "Capacité utilisée comme stockage : augmentation/diminution"
|
drive: "Capacité utilisée comme stockage : augmentation/diminution"
|
||||||
drive-total: "Utilisation totale du lecteur"
|
drive-total: "Utilisation totale du lecteur"
|
||||||
drive-files: "Le nombre de fichiers sur l'espace de stockage : augmentation/diminution"
|
drive-files: "Le nombre de fichiers sur l'espace de stockage : augmentation/diminution"
|
||||||
@ -1057,8 +1079,8 @@ admin/views/charts.vue:
|
|||||||
admin/views/drive.vue:
|
admin/views/drive.vue:
|
||||||
sort:
|
sort:
|
||||||
title: "Tri"
|
title: "Tri"
|
||||||
createdAtAsc: "アップロード日時が古い順"
|
createdAtAsc: "Âge - Du plus ancien"
|
||||||
createdAtDesc: "アップロード日時が新しい順"
|
createdAtDesc: "Âge - Du plus récent"
|
||||||
sizeAsc: "Taille - Ascendant"
|
sizeAsc: "Taille - Ascendant"
|
||||||
sizeDesc: "Taille - Volumineux en premier"
|
sizeDesc: "Taille - Volumineux en premier"
|
||||||
origin:
|
origin:
|
||||||
@ -1068,23 +1090,25 @@ admin/views/drive.vue:
|
|||||||
remote: "Distant"
|
remote: "Distant"
|
||||||
delete: "Supprimer"
|
delete: "Supprimer"
|
||||||
deleted: "Supprimé"
|
deleted: "Supprimé"
|
||||||
|
mark-as-sensitive: "Marquer comme sensible"
|
||||||
|
unmark-as-sensitive: "Ne pas marquer comme sensible"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "Actions"
|
operation: "Actions"
|
||||||
username-or-userid: "Nom d’utilisateur·rice ou ID utilisateur"
|
username-or-userid: "Nom d’utilisateur·rice ou ID utilisateur"
|
||||||
user-not-found: "Utilisateur·rice non trouvé·e"
|
user-not-found: "Utilisateur non trouvé"
|
||||||
lookup: "Recherche"
|
lookup: "Recherche"
|
||||||
reset-password: "Réinitialiser mot de passe"
|
reset-password: "Réinitialiser mot de passe"
|
||||||
password-updated: "Le mot de passe est « {password} »"
|
password-updated: "Le mot de passe est « {password} »"
|
||||||
suspend: "Suspendre"
|
suspend: "Suspendre"
|
||||||
suspended: "Suspendu·e avec succès."
|
suspended: "Suspendu avec succès."
|
||||||
unsuspend: "Suspension levée"
|
unsuspend: "Suspension levée"
|
||||||
unsuspended: "La suspension de l’utilisateur·rice a été levée avec succès"
|
unsuspended: "La suspension de l’utilisateur a été levée avec succès"
|
||||||
verify: "Vérification du compte"
|
verify: "Vérification du compte"
|
||||||
verified: "Le compte a été vérifié"
|
verified: "Le compte a été vérifié"
|
||||||
unverify: "Ôter la vérification du compte"
|
unverify: "Enlever la vérification du compte"
|
||||||
unverified: "Ce compte n'est plus vérifié"
|
unverified: "Ce compte n'est plus vérifié"
|
||||||
users:
|
users:
|
||||||
title: "Utilisateur·rice·s"
|
title: "Utilisateurs"
|
||||||
sort:
|
sort:
|
||||||
title: "Trier par"
|
title: "Trier par"
|
||||||
createdAtAsc: "Date d’inscription (Ascendant)"
|
createdAtAsc: "Date d’inscription (Ascendant)"
|
||||||
@ -1167,11 +1191,11 @@ desktop/views/pages/share.vue:
|
|||||||
desktop/views/pages/tag.vue:
|
desktop/views/pages/tag.vue:
|
||||||
no-posts-found: "Aucune publication contenant « {q} » n’a été trouvée."
|
no-posts-found: "Aucune publication contenant « {q} » n’a été trouvée."
|
||||||
desktop/views/pages/user-list.users.vue:
|
desktop/views/pages/user-list.users.vue:
|
||||||
users: "Utilisateurs·rices"
|
users: "Utilisateurs"
|
||||||
add-user: "Ajouter un utilisateur"
|
add-user: "Ajouter un utilisateur"
|
||||||
username: "Nom d'utilisateur"
|
username: "Nom d'utilisateur"
|
||||||
desktop/views/pages/user/user.followers-you-know.vue:
|
desktop/views/pages/user/user.followers-you-know.vue:
|
||||||
title: "Abonné·e·s que vous connaissez"
|
title: "Abonnés que vous connaissez"
|
||||||
loading: "Chargement en cours"
|
loading: "Chargement en cours"
|
||||||
no-users: "Aucun abonné connu"
|
no-users: "Aucun abonné connu"
|
||||||
desktop/views/pages/user/user.friends.vue:
|
desktop/views/pages/user/user.friends.vue:
|
||||||
@ -1198,7 +1222,8 @@ desktop/views/pages/user/user.profile.vue:
|
|||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "Notes"
|
posts: "Notes"
|
||||||
following: "Suit"
|
following: "Suit"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonnés"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "Ce compte est un Bot"
|
is-bot: "Ce compte est un Bot"
|
||||||
years-old: "{age} ans"
|
years-old: "{age} ans"
|
||||||
year: "/"
|
year: "/"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "Publications"
|
default: "Publications"
|
||||||
with-replies: "Publications et réponses"
|
with-replies: "Publications et réponses"
|
||||||
with-media: "Média"
|
with-media: "Média"
|
||||||
|
my-posts: "Mes Messages"
|
||||||
empty: "Cet utilisateur n'a rien posté encore."
|
empty: "Cet utilisateur n'a rien posté encore."
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Messagerie"
|
title: "Messagerie"
|
||||||
@ -1229,7 +1255,7 @@ desktop/views/widgets/trends.vue:
|
|||||||
refresh: "Afficher d'autres"
|
refresh: "Afficher d'autres"
|
||||||
nothing: "Rien"
|
nothing: "Rien"
|
||||||
desktop/views/widgets/users.vue:
|
desktop/views/widgets/users.vue:
|
||||||
title: "Utilisateurs·rices"
|
title: "Utilisateurs"
|
||||||
refresh: "Afficher d'autres"
|
refresh: "Afficher d'autres"
|
||||||
no-one: "Personne"
|
no-one: "Personne"
|
||||||
mobile/views/components/drive.vue:
|
mobile/views/components/drive.vue:
|
||||||
@ -1268,14 +1294,14 @@ mobile/views/components/media-video.vue:
|
|||||||
sensitive: "Le contenu est NSFW"
|
sensitive: "Le contenu est NSFW"
|
||||||
click-to-show: "Cliquer pour afficher"
|
click-to-show: "Cliquer pour afficher"
|
||||||
common/views/components/follow-button.vue:
|
common/views/components/follow-button.vue:
|
||||||
following: "Abonné·e"
|
following: "Abonné"
|
||||||
follow: " Suivre"
|
follow: " Suivre"
|
||||||
request-pending: "Demande en attente"
|
request-pending: "Demande en attente"
|
||||||
follow-processing: "En cours d’abonnement"
|
follow-processing: "En cours d’abonnement"
|
||||||
follow-request: "Demande d’abonnement"
|
follow-request: "Demande d’abonnement"
|
||||||
mobile/views/components/friends-maker.vue:
|
mobile/views/components/friends-maker.vue:
|
||||||
title: "Abonnez-vous à"
|
title: "Abonnez-vous à"
|
||||||
empty: "Impossible de trouver des utilisateurs·trices à recommander."
|
empty: "Impossible de trouver des utilisateurs à recommander."
|
||||||
fetching: "Chargement"
|
fetching: "Chargement"
|
||||||
refresh: "Voir plus"
|
refresh: "Voir plus"
|
||||||
close: "Fermer"
|
close: "Fermer"
|
||||||
@ -1334,7 +1360,7 @@ mobile/views/components/ui.nav.vue:
|
|||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "À propos de Misskey"
|
about: "À propos de Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
mobile/views/components/user-timeline.vue:
|
||||||
no-notes: "Il semble que cet·te utilisateur·rice n’a rien publié pour le moment."
|
no-notes: "Il semble que cet utilisateur n’a rien publié pour le moment."
|
||||||
no-notes-with-media: "Aucune notes avec des médias"
|
no-notes-with-media: "Aucune notes avec des médias"
|
||||||
mobile/views/components/users-list.vue:
|
mobile/views/components/users-list.vue:
|
||||||
all: "Tout"
|
all: "Tout"
|
||||||
@ -1347,9 +1373,9 @@ mobile/views/pages/user-lists.vue:
|
|||||||
mobile/views/pages/signup.vue:
|
mobile/views/pages/signup.vue:
|
||||||
lets-start: "Votre compte est prêt ! 📦"
|
lets-start: "Votre compte est prêt ! 📦"
|
||||||
mobile/views/pages/followers.vue:
|
mobile/views/pages/followers.vue:
|
||||||
followers-of: "Abonné·e·s de {name}"
|
followers-of: "Abonnés de {name}"
|
||||||
mobile/views/pages/following.vue:
|
mobile/views/pages/following.vue:
|
||||||
following-of: "Abonné·e·s de {name}"
|
following-of: "Abonnés de {name}"
|
||||||
mobile/views/pages/home.vue:
|
mobile/views/pages/home.vue:
|
||||||
home: "Accueil"
|
home: "Accueil"
|
||||||
local: "Local"
|
local: "Local"
|
||||||
@ -1363,7 +1389,7 @@ mobile/views/pages/welcome.vue:
|
|||||||
signup: "S'enregistrer"
|
signup: "S'enregistrer"
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "Tableau de bord"
|
dashboard: "Tableau de bord"
|
||||||
widgets-hints: "Vous pouvez ajouter, supprimer et réaranger les widgets. Faites glisser « 三 » pour déplacer le widget. Appuyez sur « x » pour supprimer le widget. Certains widgets peuvent changer d’apparence en cliquant dessus."
|
widgets-hints: "Vous pouvez ajouter, supprimer et réarranger les widgets. Faites glisser « 三 » pour déplacer le widget. Appuyez sur « x » pour supprimer le widget. Certains widgets peuvent changer d’apparence en cliquant dessus."
|
||||||
add-widget: "Ajouter"
|
add-widget: "Ajouter"
|
||||||
customization-tips: "Conseils de personnalisation"
|
customization-tips: "Conseils de personnalisation"
|
||||||
mobile/views/pages/widgets/activity.vue:
|
mobile/views/pages/widgets/activity.vue:
|
||||||
@ -1389,7 +1415,7 @@ mobile/views/pages/search.vue:
|
|||||||
mobile/views/pages/selectdrive.vue:
|
mobile/views/pages/selectdrive.vue:
|
||||||
select-file: "Choisissez un fichier"
|
select-file: "Choisissez un fichier"
|
||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "Connecté·e en tant que {}"
|
signed-in-as: "Connecté en tant que {}"
|
||||||
design: "Affichage et design"
|
design: "Affichage et design"
|
||||||
dark-mode: "Mode nuit"
|
dark-mode: "Mode nuit"
|
||||||
i-am-under-limited-internet: "J'ai un accès Internet limité"
|
i-am-under-limited-internet: "J'ai un accès Internet limité"
|
||||||
@ -1414,7 +1440,7 @@ mobile/views/pages/settings.vue:
|
|||||||
remember-note-visibility: "Se souvenir du mode de visibilité de la publication"
|
remember-note-visibility: "Se souvenir du mode de visibilité de la publication"
|
||||||
web-search-engine: "Moteur de recherche Web"
|
web-search-engine: "Moteur de recherche Web"
|
||||||
web-search-engine-desc: "Exemple : https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "Exemple : https://www.google.com/?#q={{query}}"
|
||||||
disable-via-mobile: "Ne pas mentionner que ma publication provient d'un 'périphérique mobile'"
|
disable-via-mobile: "Ne pas mentionner que ma publication provient d'un « périphérique mobile »"
|
||||||
load-raw-images: "Afficher les photos jointes en haute qualité"
|
load-raw-images: "Afficher les photos jointes en haute qualité"
|
||||||
load-remote-media: "Afficher les médias sur le serveur distant"
|
load-remote-media: "Afficher les médias sur le serveur distant"
|
||||||
update: "Mise à jour de Misskey"
|
update: "Mise à jour de Misskey"
|
||||||
@ -1430,17 +1456,15 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "Déconnexion"
|
signout: "Déconnexion"
|
||||||
sound: "Sons"
|
sound: "Sons"
|
||||||
enable-sounds: "Activer les sons"
|
enable-sounds: "Activer les sons"
|
||||||
mark-as-read-all-unread-notes: "Marquer toutes les publications comme lues"
|
|
||||||
password: "Mot de Passe"
|
password: "Mot de Passe"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "Vous suit"
|
follows-you: "Vous suit"
|
||||||
following: "Abonnements"
|
following: "Abonnements"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonnés"
|
||||||
notes: "Notes"
|
notes: "Notes"
|
||||||
overview: "Aperçu"
|
overview: "Aperçu"
|
||||||
timeline: "Fil d'actualité"
|
timeline: "Fil d'actualité"
|
||||||
media: "Média"
|
media: "Média"
|
||||||
is-suspended: "This account has been suspended."
|
|
||||||
mute: "Mettre en sourdine"
|
mute: "Mettre en sourdine"
|
||||||
unmute: "Enlever la sourdine"
|
unmute: "Enlever la sourdine"
|
||||||
block: "Bloquer"
|
block: "Bloquer"
|
||||||
@ -1455,13 +1479,13 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "Activité"
|
activity: "Activité"
|
||||||
keywords: "Mot clés"
|
keywords: "Mot clés"
|
||||||
domains: "Domaines"
|
domains: "Domaines"
|
||||||
frequently-replied-users: "Utilisateurs·rices mentionné·e·s souvent"
|
frequently-replied-users: "Utilisateurs mentionnés souvent"
|
||||||
followers-you-know: "Abonné·e·s que vous connaissez"
|
followers-you-know: "Abonnés que vous connaissez"
|
||||||
last-used-at: "Dernière connexion il y a"
|
last-used-at: "Dernière connexion il y a"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
mobile/views/pages/user/home.followers-you-know.vue:
|
||||||
no-users: "Aucun utilisateur·rice connu·e"
|
no-users: "Aucun utilisateur connu"
|
||||||
mobile/views/pages/user/home.friends.vue:
|
mobile/views/pages/user/home.friends.vue:
|
||||||
no-users: "Aucun utilisateur·rice connu·e"
|
no-users: "Aucun utilisateur connu"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
mobile/views/pages/user/home.notes.vue:
|
||||||
no-notes: "Pas de notes"
|
no-notes: "Pas de notes"
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
@ -1493,7 +1517,8 @@ deck/deck.tl-column.vue:
|
|||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
posts: "Notes"
|
posts: "Notes"
|
||||||
following: "Suit"
|
following: "Suit"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonnés"
|
||||||
|
mention: "メンション"
|
||||||
images: "Images"
|
images: "Images"
|
||||||
activity: "Activité"
|
activity: "Activité"
|
||||||
timeline: "Fil d’actualité"
|
timeline: "Fil d’actualité"
|
||||||
@ -1512,7 +1537,7 @@ docs:
|
|||||||
require-credential: "Ce point de communication nécessite une authentification."
|
require-credential: "Ce point de communication nécessite une authentification."
|
||||||
require-permission: "Ce point de communication nécessite la permission {permission}."
|
require-permission: "Ce point de communication nécessite la permission {permission}."
|
||||||
has-limit: "Il y’a un taux limite."
|
has-limit: "Il y’a un taux limite."
|
||||||
duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
|
duration-limit: "Si vous avez envoyé plus de {max} requêtes en {duration} millisecondes, vous ne serez pas en mesure d'envoyer d'autres requêtes."
|
||||||
min-interval-limit: "Vous ne pourrez pas effectuer une nouvelle requête si {interval} millisecondes ne se sont pas écoulées depuis la dernière demande."
|
min-interval-limit: "Vous ne pourrez pas effectuer une nouvelle requête si {interval} millisecondes ne se sont pas écoulées depuis la dernière demande."
|
||||||
show-src: "Vous pouvez voir le code source ce point de communication."
|
show-src: "Vous pouvez voir le code source ce point de communication."
|
||||||
show-src-link: "Consulter le code sur GitHub"
|
show-src-link: "Consulter le code sur GitHub"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UIの動きを減らす"
|
reduce-motion: "UIの動きを減らす"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
|
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'やり直す'
|
retry: "やり直す"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "引き分け"
|
drawn: "引き分け"
|
||||||
my-turn: "あなたのターンです"
|
my-turn: "あなたのターンです"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
you: "あなた"
|
you: "あなた"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "開発者"
|
develop: "開発者"
|
||||||
feedback: "フィードバック"
|
feedback: "フィードバック"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "お気に入り"
|
favorite: "お気に入り"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "接続中"
|
connecting: "接続中"
|
||||||
reconnecting: "再接続中"
|
reconnecting: "再接続中"
|
||||||
connected: "接続完了"
|
connected: "接続完了"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "確認中"
|
fetching: "確認中"
|
||||||
no-broadcasts: "お知らせはありません"
|
no-broadcasts: "お知らせはありません"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "位置情報"
|
location: "位置情報"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概要"
|
overview: "概要"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "メディア"
|
media: "メディア"
|
||||||
is-suspended: "このユーザーは凍結されています。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -96,7 +96,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -130,16 +129,16 @@ common:
|
|||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
|
|
||||||
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
|
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'やり直す'
|
retry: "やり直す"
|
||||||
|
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "引き分け"
|
drawn: "引き分け"
|
||||||
@ -324,6 +323,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
|
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
@ -359,6 +359,7 @@ common/views/components/nav.vue:
|
|||||||
feedback: "フィードバック"
|
feedback: "フィードバック"
|
||||||
|
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "お気に入り"
|
favorite: "お気に入り"
|
||||||
@ -443,6 +444,14 @@ common/views/components/stream-indicator.vue:
|
|||||||
reconnecting: "再接続中"
|
reconnecting: "再接続中"
|
||||||
connected: "接続完了"
|
connected: "接続完了"
|
||||||
|
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
|
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -476,7 +485,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -508,6 +516,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -584,11 +593,11 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
|
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
|
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
@ -750,11 +759,13 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "位置情報"
|
location: "位置情報"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
|
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -899,9 +910,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
|
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
|
|
||||||
@ -944,6 +952,7 @@ desktop/views/components/settings.2fa.vue:
|
|||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
||||||
howtoinstall: "インストール方法はこちら"
|
howtoinstall: "インストール方法はこちら"
|
||||||
|
token: "トークン"
|
||||||
scan: "次に、表示されているQRコードをスキャンします:"
|
scan: "次に、表示されているQRコードをスキャンします:"
|
||||||
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
||||||
submit: "完了"
|
submit: "完了"
|
||||||
@ -959,13 +968,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
|
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
@ -1363,6 +1372,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1373,6 +1383,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
@ -1641,7 +1652,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
|
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
@ -1652,7 +1662,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概要"
|
overview: "概要"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "メディア"
|
media: "メディア"
|
||||||
is-suspended: "このユーザーは凍結されています。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1714,6 +1723,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワー以外に見せんとって"
|
followers-desc: "自分のフォロワー以外に見せんとって"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "今から言うユーザー以外に見せんとってや"
|
specified-desc: "今から言うユーザー以外に見せんとってや"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルだけ)"
|
local-public: "公開 (ローカルだけ)"
|
||||||
local-home: "ホーム (ローカルだけ)"
|
local-home: "ホーム (ローカルだけ)"
|
||||||
local-followers: "フォロワー (ローカルだけ)"
|
local-followers: "フォロワー (ローカルだけ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UI、動き過ぎや、静かにしてや"
|
reduce-motion: "UI、動き過ぎや、静かにしてや"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OSにもとから入っとる絵文字使う"
|
use-os-default-emojis: "OSにもとから入っとる絵文字使う"
|
||||||
do-not-use-in-production: '開発ビルドや。本番環境で使わんといて!知らんで!'
|
do-not-use-in-production: "開発ビルドや。本番環境で使わんといて!知らんで!"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "ちゃんとした情報見せてや!"
|
view-on-remote: "ちゃんとした情報見せてや!"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が起こったわ'
|
title: "問題が起こったわ"
|
||||||
retry: 'もっぺん'
|
retry: "もっぺん"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "おあいこ"
|
drawn: "おあいこ"
|
||||||
my-turn: "あんさんのターンや"
|
my-turn: "あんさんのターンや"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "見たいやろ?"
|
show: "見たいやろ?"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
you: "あんさん"
|
you: "あんさん"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "開発者"
|
develop: "開発者"
|
||||||
feedback: "フィードバック"
|
feedback: "フィードバック"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "もっと"
|
detail: "もっと"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "お気に入り"
|
favorite: "お気に入り"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "つないどるで"
|
connecting: "つないどるで"
|
||||||
reconnecting: "つなぎ直すで"
|
reconnecting: "つなぎ直すで"
|
||||||
connected: "つないだわ"
|
connected: "つないだわ"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "つなげる"
|
connect: "つなげる"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワー以外に見せんとって"
|
followers-desc: "自分のフォロワー以外に見せんとって"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "今から言うユーザー以外に見せんとってや"
|
specified-desc: "今から言うユーザー以外に見せんとってや"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルだけ)"
|
local-public: "公開 (ローカルだけ)"
|
||||||
local-public-desc: "リモートには見せへん"
|
local-public-desc: "リモートには見せへん"
|
||||||
local-home: "ホーム (ローカルだけ)"
|
local-home: "ホーム (ローカルだけ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotやで"
|
is-bot: "このアカウントはBotやで"
|
||||||
is-locked: "他人のフォローは許可してからや!"
|
is-locked: "他人のフォローは許可してからや!"
|
||||||
careful-bot: "Botからのフォローだけは許可制や"
|
careful-bot: "Botからのフォローだけは許可制や"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシーってなんや?オカンの年齢か?"
|
privacy: "プライバシーってなんや?オカンの年齢か?"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "このメールアドレスOKや!"
|
email-verified: "このメールアドレスOKや!"
|
||||||
email-not-verified: "メールアドレスが確認されとらん。メールボックスもっぺん見てくれへん?"
|
email-not-verified: "メールアドレスが確認されとらん。メールボックスもっぺん見てくれへん?"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "見てみるわ…"
|
fetching: "見てみるわ…"
|
||||||
no-broadcasts: "お知らせはあらへんで"
|
no-broadcasts: "お知らせはあらへんで"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができんで"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができんで"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示してんねん"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示してんねん"
|
||||||
tips-line21: "APIをつこてbotの開発なども行えるで"
|
tips-line21: "APIをつこてbotの開発なども行えるで"
|
||||||
tips-line23: "ウチのタコちゃんかわええやろ…今の突っ込むところや!"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始したんよ"
|
tips-line24: "Misskeyは2014年にサービスを開始したんよ"
|
||||||
tips-line25: "対応ブラウザやったらMisskeyを開いとらんでも通知を受け取れんで"
|
tips-line25: "対応ブラウザやったらMisskeyを開いとらんでも通知を受け取れんで"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "ここおるで:"
|
location: "ここおるで:"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返す"
|
reply: "返す"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "もっと"
|
detail: "もっと"
|
||||||
private: "この投稿は見せられへんわ"
|
private: "この投稿は見せられへんわ"
|
||||||
deleted: "この投稿なんか無くなってもうたわ"
|
deleted: "この投稿なんか無くなってもうたわ"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。"
|
cache-warn: "お掃除するとな、ブラウザが覚えてくれとるアカウントのあれこれや書きかけの投稿・返信・メッセージや設定情報なんかのデータが全部飛んでいくんや。これやったらページ再読込しといてな。"
|
||||||
cache-cleared: "キャッシュお掃除したで"
|
cache-cleared: "キャッシュお掃除したで"
|
||||||
cache-cleared-desc: "もっぺんページ読みこみ直してくれや"
|
cache-cleared-desc: "もっぺんページ読みこみ直してくれや"
|
||||||
auto-watch: "投稿勝手にウォッチしといてや"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を勝手に受け取るようにすんで。"
|
|
||||||
about: "Misskeyってなんや?"
|
about: "Misskeyってなんや?"
|
||||||
operator: "このサーバー誰のや"
|
operator: "このサーバー誰のや"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入れてや"
|
enter-password: "パスワードを入れてや"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは勝手に付くで。"
|
credential-info: "「i」パラメータは勝手に付くで。"
|
||||||
send: '送る'
|
send: "送る"
|
||||||
sending: '応答待っとる'
|
sending: "応答待っとる"
|
||||||
response: 'こんなん返ってきたわ'
|
response: "こんなん返ってきたわ"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはあらへんで"
|
no-apps: "連携しているアプリケーションはあらへんで"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotや"
|
is-bot: "このアカウントはBotや"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿しとらんようや。"
|
empty: "このユーザーはまだ何も投稿しとらんようや。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "さいなら"
|
signout: "さいなら"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンド鳴らす"
|
enable-sounds: "サウンド鳴らす"
|
||||||
mark-as-read-all-unread-notes: "全部もう読んだわ"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "フォローされとるで"
|
follows-you: "フォローされとるで"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "こんなやつ"
|
overview: "こんなやつ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "メディア"
|
media: "メディア"
|
||||||
is-suspended: "このユーザーはあかんわ。凍結されとる。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュートやめたる"
|
unmute: "ミュートやめたる"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "자신의 팔로워에게만 공개"
|
followers-desc: "자신의 팔로워에게만 공개"
|
||||||
specified: "다이렉트"
|
specified: "다이렉트"
|
||||||
specified-desc: "지정한 사용자에게만 공개"
|
specified-desc: "지정한 사용자에게만 공개"
|
||||||
private: "비공개"
|
|
||||||
local-public: "공개 (로컬 한정)"
|
local-public: "공개 (로컬 한정)"
|
||||||
local-home: "홈 (로컬 한정)"
|
local-home: "홈 (로컬 한정)"
|
||||||
local-followers: "팔로워 (로컬 한정)"
|
local-followers: "팔로워 (로컬 한정)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UI의 애니메이션 줄이기"
|
reduce-motion: "UI의 애니메이션 줄이기"
|
||||||
this-setting-is-this-device-only: "이 장치만"
|
this-setting-is-this-device-only: "이 장치만"
|
||||||
use-os-default-emojis: "운영체제의 기본 이모지 사용"
|
use-os-default-emojis: "운영체제의 기본 이모지 사용"
|
||||||
do-not-use-in-production: '이것은 개발 빌드입니다. 프로덕션 환경에서 사용하지 마십시오.'
|
do-not-use-in-production: "이것은 개발 빌드입니다. 프로덕션 환경에서 사용하지 마십시오."
|
||||||
|
user-suspended: "이 사용자는 정지된 상태입니다."
|
||||||
is-remote-user: "이 유저 정보는 복사본입니다."
|
is-remote-user: "이 유저 정보는 복사본입니다."
|
||||||
is-remote-post: "이 글 정보는 복사본입니다."
|
is-remote-post: "이 글 정보는 복사본입니다."
|
||||||
view-on-remote: "정확한 정보 보기"
|
view-on-remote: "정확한 정보 보기"
|
||||||
renoted-by: "{user}이(가) 리노트"
|
renoted-by: "{user}이(가) 리노트"
|
||||||
error:
|
error:
|
||||||
title: '오류가 발생했습니다'
|
title: "오류가 발생했습니다"
|
||||||
retry: '다시 시도'
|
retry: "다시 시도"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "무승부"
|
drawn: "무승부"
|
||||||
my-turn: "당신의 차례입니다"
|
my-turn: "당신의 차례입니다"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "더 보기"
|
show: "더 보기"
|
||||||
chars: "{count}문자"
|
chars: "{count}문자"
|
||||||
files: "{count}파일"
|
files: "{count}파일"
|
||||||
|
poll: "투표"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "사용자 찾기"
|
search-user: "사용자 찾기"
|
||||||
you: "당신"
|
you: "당신"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "개발자"
|
develop: "개발자"
|
||||||
feedback: "피드백"
|
feedback: "피드백"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "멘션"
|
||||||
detail: "상세"
|
detail: "상세"
|
||||||
copy-link: "링크 복사"
|
copy-link: "링크 복사"
|
||||||
favorite: "이 노트 즐겨찾기"
|
favorite: "이 노트 즐겨찾기"
|
||||||
@ -354,7 +356,7 @@ common/views/components/reaction-picker.vue:
|
|||||||
choose-reaction: "반응 선택"
|
choose-reaction: "반응 선택"
|
||||||
common/views/components/emoji-picker.vue:
|
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: "활동"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "연결중"
|
connecting: "연결중"
|
||||||
reconnecting: "다시 연결 중"
|
reconnecting: "다시 연결 중"
|
||||||
connected: "연결 완료"
|
connected: "연결 완료"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "알림"
|
||||||
|
mark-as-read-all-notifications: "모든 알림을 읽은 상태로 표시"
|
||||||
|
mark-as-read-all-unread-notes: "모든 글을 읽은 상태로 표시"
|
||||||
|
mark-as-read-all-talk-messages: "모든 대화를 읽은 상태로 표시"
|
||||||
|
auto-watch: "글 자동 감시"
|
||||||
|
auto-watch-desc: "리액션, 답글, 게시물에 대한 알림을 자동으로 받을 수 있도록 합니다."
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "서비스 연계"
|
title: "서비스 연계"
|
||||||
connect: "접속"
|
connect: "접속"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "자신의 팔로워에게만 공개"
|
followers-desc: "자신의 팔로워에게만 공개"
|
||||||
specified: "다이렉트"
|
specified: "다이렉트"
|
||||||
specified-desc: "지정한 사용자에게만 공개"
|
specified-desc: "지정한 사용자에게만 공개"
|
||||||
private: "비공개"
|
|
||||||
local-public: "공개 (로컬 한정)"
|
local-public: "공개 (로컬 한정)"
|
||||||
local-public-desc: "원격에는 공개하지 않음"
|
local-public-desc: "원격에는 공개하지 않음"
|
||||||
local-home: "홈 (로컬 한정)"
|
local-home: "홈 (로컬 한정)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "이 계정은 Bot입니다"
|
is-bot: "이 계정은 Bot입니다"
|
||||||
is-locked: "팔로우를 수동으로 승인"
|
is-locked: "팔로우를 수동으로 승인"
|
||||||
careful-bot: "Bot의 팔로우만 수동으로 승인"
|
careful-bot: "Bot의 팔로우만 수동으로 승인"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "기타"
|
advanced: "기타"
|
||||||
privacy: "프라이버시"
|
privacy: "프라이버시"
|
||||||
save: "저장"
|
save: "저장"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "메일 주소"
|
email-address: "메일 주소"
|
||||||
email-verified: "매일 주소가 확인되었습니다"
|
email-verified: "매일 주소가 확인되었습니다"
|
||||||
email-not-verified: "메일 주소가 확인되지 않았습니다. 받은 편지함을 확인하여 주시기 바랍니다."
|
email-not-verified: "메일 주소가 확인되지 않았습니다. 받은 편지함을 확인하여 주시기 바랍니다."
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "사용자"
|
||||||
|
rename: "리스트 이름 바꾸기"
|
||||||
|
delete: "리스트 삭제"
|
||||||
|
remove-user: "이 리스트에서 제거"
|
||||||
|
delete-are-you-sure: "리스트 \"$1\"을 삭제하시겠습니까?"
|
||||||
|
deleted: "삭제하였습니다"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "확인중"
|
fetching: "확인중"
|
||||||
no-broadcasts: "공지사항이 없습니다"
|
no-broadcasts: "공지사항이 없습니다"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "몇몇 창은 브라우저 밖으로 분리할 수 있습니다"
|
tips-line19: "몇몇 창은 브라우저 밖으로 분리할 수 있습니다"
|
||||||
tips-line20: "달력 위젯의 퍼센트는 경과된 비율을 나타냅니다"
|
tips-line20: "달력 위젯의 퍼센트는 경과된 비율을 나타냅니다"
|
||||||
tips-line21: "API를 사용하여 bot의 개발 등을 할 수 있습니다"
|
tips-line21: "API를 사용하여 bot의 개발 등을 할 수 있습니다"
|
||||||
tips-line23: "마유 귀여워요 마유"
|
tips-line23: "아이 귀여워요 아이"
|
||||||
tips-line24: "Misskey는 2014년에 서비스를 시작했습니다"
|
tips-line24: "Misskey는 2014년에 서비스를 시작했습니다"
|
||||||
tips-line25: "대응하는 브라우저인 경우 Misskey를 열어놓지 않아도 알림을 받을 수 있습니다"
|
tips-line25: "대응하는 브라우저인 경우 Misskey를 열어놓지 않아도 알림을 받을 수 있습니다"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "페이지를 찾을 수 없습니다"
|
page-not-found: "페이지를 찾을 수 없습니다"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}으로 로그인"
|
signed-in-as: "{}으로 로그인"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "위치 정보"
|
location: "위치 정보"
|
||||||
renote: "리노트"
|
renote: "리노트"
|
||||||
add-reaction: "리액션 추가"
|
add-reaction: "리액션 추가"
|
||||||
|
undo-reaction: "리액션 취소"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "답글 달기"
|
reply: "답글 달기"
|
||||||
renote: "리노트"
|
renote: "리노트"
|
||||||
add-reaction: "리액션 추가"
|
add-reaction: "리액션 추가"
|
||||||
|
undo-reaction: "리액션 취소"
|
||||||
detail: "상세"
|
detail: "상세"
|
||||||
private: "이 글은 비공개입니다"
|
private: "이 글은 비공개입니다"
|
||||||
deleted: "이 글은 삭제되었습니다"
|
deleted: "이 글은 삭제되었습니다"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "지우기를 실행하면 브라우저에 저장된 계정 정보 캐시, 글이나 답글 및 메시지의 임시 저장, 그 외 데이터 (설정 정보 포함) 가 삭제 됩니다. 지우기 작업을 수행한 후 페이지를 다시 로드해야 합니다."
|
cache-warn: "지우기를 실행하면 브라우저에 저장된 계정 정보 캐시, 글이나 답글 및 메시지의 임시 저장, 그 외 데이터 (설정 정보 포함) 가 삭제 됩니다. 지우기 작업을 수행한 후 페이지를 다시 로드해야 합니다."
|
||||||
cache-cleared: "캐시를 삭제하였습니다"
|
cache-cleared: "캐시를 삭제하였습니다"
|
||||||
cache-cleared-desc: "페이지를 새로고침해 주십시오."
|
cache-cleared-desc: "페이지를 새로고침해 주십시오."
|
||||||
auto-watch: "글 자동 감시"
|
|
||||||
auto-watch-desc: "리액션, 답글, 게시물에 대한 알림을 자동으로 받을 수 있도록 합니다."
|
|
||||||
about: "Misskey에 대하여"
|
about: "Misskey에 대하여"
|
||||||
operator: "이 서버의 운영자"
|
operator: "이 서버의 운영자"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "비밀번호를 입력하여 주십시오"
|
enter-password: "비밀번호를 입력하여 주십시오"
|
||||||
console:
|
console:
|
||||||
title: 'API 콘솔'
|
title: "API 콘솔"
|
||||||
endpoint: '엔드포인트'
|
endpoint: "엔드포인트"
|
||||||
parameter: '매개변수'
|
parameter: "매개변수"
|
||||||
credential-info: "\"i\" 패러미터는 자동으로 추가됩니다."
|
credential-info: "\"i\" 패러미터는 자동으로 추가됩니다."
|
||||||
send: '전송'
|
send: "전송"
|
||||||
sending: '응답을 기다리는 중'
|
sending: "응답을 기다리는 중"
|
||||||
response: '결과'
|
response: "결과"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "연결된 어플리케이션이 없습니다"
|
no-apps: "연결된 어플리케이션이 없습니다"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTP 포트"
|
smtp-port: "SMTP 포트"
|
||||||
smtp-user: "SMTP 사용자"
|
smtp-user: "SMTP 사용자"
|
||||||
smtp-pass: "SMTP 비밀번호"
|
smtp-pass: "SMTP 비밀번호"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorker 사용"
|
||||||
|
serviceworker-info: "푸시알림을 수행하려면 사용해야 합니다."
|
||||||
|
vapid-publickey: "VAPID 공개키"
|
||||||
|
vapid-privatekey: "VAPID 개인키"
|
||||||
|
vapid-info: "ServiceWorker를 사용하는 경우 VAPID 키 쌍을 생성해야 합니다. 셸에서 다음과 같이 합니다:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "차트"
|
title: "차트"
|
||||||
per-day: "1일마다"
|
per-day: "1일마다"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "리모트"
|
remote: "리모트"
|
||||||
delete: "삭제"
|
delete: "삭제"
|
||||||
deleted: "삭제하였습니다"
|
deleted: "삭제하였습니다"
|
||||||
|
mark-as-sensitive: "열람주의로 설정"
|
||||||
|
unmark-as-sensitive: "열람주의 해제"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "작업"
|
operation: "작업"
|
||||||
username-or-userid: "사용자명 혹은 사용자 ID"
|
username-or-userid: "사용자명 혹은 사용자 ID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "글"
|
posts: "글"
|
||||||
following: "팔로잉"
|
following: "팔로잉"
|
||||||
followers: "팔로워"
|
followers: "팔로워"
|
||||||
|
mention: "멘션"
|
||||||
is-bot: "이 계정은 Bot입니다"
|
is-bot: "이 계정은 Bot입니다"
|
||||||
years-old: "{age}세"
|
years-old: "{age}세"
|
||||||
year: "년"
|
year: "년"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "글"
|
default: "글"
|
||||||
with-replies: "글과 답글"
|
with-replies: "글과 답글"
|
||||||
with-media: "미디어"
|
with-media: "미디어"
|
||||||
|
my-posts: "내 글"
|
||||||
empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다."
|
empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다."
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "메시지"
|
title: "메시지"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "로그아웃"
|
signout: "로그아웃"
|
||||||
sound: "소리"
|
sound: "소리"
|
||||||
enable-sounds: "소리 사용"
|
enable-sounds: "소리 사용"
|
||||||
mark-as-read-all-unread-notes: "모든 글을 읽은 상태로 표시"
|
|
||||||
password: "비밀번호"
|
password: "비밀번호"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "당신을 팔로우합니다"
|
follows-you: "당신을 팔로우합니다"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "요약"
|
overview: "요약"
|
||||||
timeline: "타임라인"
|
timeline: "타임라인"
|
||||||
media: "미디어"
|
media: "미디어"
|
||||||
is-suspended: "이 사용자는 정지된 상태입니다."
|
|
||||||
mute: "뮤트"
|
mute: "뮤트"
|
||||||
unmute: "뮤트 해제"
|
unmute: "뮤트 해제"
|
||||||
block: "차단"
|
block: "차단"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "글"
|
posts: "글"
|
||||||
following: "팔로잉"
|
following: "팔로잉"
|
||||||
followers: "팔로워"
|
followers: "팔로워"
|
||||||
|
mention: "멘션"
|
||||||
images: "이미지"
|
images: "이미지"
|
||||||
activity: "활동"
|
activity: "활동"
|
||||||
timeline: "타임라인"
|
timeline: "타임라인"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UIの動きを減らす"
|
reduce-motion: "UIの動きを減らす"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
|
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'やり直す'
|
retry: "やり直す"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "引き分け"
|
drawn: "引き分け"
|
||||||
my-turn: "あなたのターンです"
|
my-turn: "あなたのターンです"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "Gebruiker zoeken"
|
search-user: "Gebruiker zoeken"
|
||||||
you: "Jij"
|
you: "Jij"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "Ontwikkelaars"
|
develop: "Ontwikkelaars"
|
||||||
feedback: "Feedback"
|
feedback: "Feedback"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "Deze notitie toevoegen aan favorieten"
|
favorite: "Deze notitie toevoegen aan favorieten"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "Bezig met verbinden"
|
connecting: "Bezig met verbinden"
|
||||||
reconnecting: "Bezig met herverbinden"
|
reconnecting: "Bezig met herverbinden"
|
||||||
connected: "Verbonden"
|
connected: "Verbonden"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "Bezig met ophalen"
|
fetching: "Bezig met ophalen"
|
||||||
no-broadcasts: "Geen uitzendingen"
|
no-broadcasts: "Geen uitzendingen"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "Locatie"
|
location: "Locatie"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -691,7 +709,7 @@ desktop/views/components/post-form.vue:
|
|||||||
attach-media-from-local: "Media bijvoegen van je computer"
|
attach-media-from-local: "Media bijvoegen van je computer"
|
||||||
attach-media-from-drive: "Media bijvoegen uit je Drive"
|
attach-media-from-drive: "Media bijvoegen uit je Drive"
|
||||||
attach-cancel: "Bijlage annuleren"
|
attach-cancel: "Bijlage annuleren"
|
||||||
insert-a-kao: "v(‘ω’)v"
|
insert-a-kao: "v('ω')v"
|
||||||
create-poll: "Peiling creëren"
|
create-poll: "Peiling creëren"
|
||||||
text-remain: "{} resterende tekens"
|
text-remain: "{} resterende tekens"
|
||||||
recent-tags: "最近"
|
recent-tags: "最近"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "De cache van je accountinformatie/berichten/antwoorden/instellingen wordt verwijderd. Je moet de pagina herladen na het opschonen."
|
cache-warn: "De cache van je accountinformatie/berichten/antwoorden/instellingen wordt verwijderd. Je moet de pagina herladen na het opschonen."
|
||||||
cache-cleared: "Cache opgeschoond"
|
cache-cleared: "Cache opgeschoond"
|
||||||
cache-cleared-desc: "Herlaad de pagina."
|
cache-cleared-desc: "Herlaad de pagina."
|
||||||
auto-watch: "Automatisch volgen"
|
|
||||||
auto-watch-desc: "Automatisch meldingen ontvangen over het bericht/antwoord."
|
|
||||||
about: "Over Misskey"
|
about: "Over Misskey"
|
||||||
operator: "De administrator van deze instantie"
|
operator: "De administrator van deze instantie"
|
||||||
update: "Misskey-update"
|
update: "Misskey-update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "Berichten"
|
default: "Berichten"
|
||||||
with-replies: "Berichten en antwoorden"
|
with-replies: "Berichten en antwoorden"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "Deze gebruiker heeft nog niks geplaatst."
|
empty: "Deze gebruiker heeft nog niks geplaatst."
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Gesprekken"
|
title: "Gesprekken"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "Uitloggen"
|
signout: "Uitloggen"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "Volgt jou"
|
follows-you: "Volgt jou"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "Overzicht"
|
overview: "Overzicht"
|
||||||
timeline: "Tijdlijn"
|
timeline: "Tijdlijn"
|
||||||
media: "Media"
|
media: "Media"
|
||||||
is-suspended: "Dit account is geschorst."
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "Privat"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UIの動きを減らす"
|
reduce-motion: "UIの動きを減らす"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
|
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'やり直す'
|
retry: "やり直す"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "引き分け"
|
drawn: "引き分け"
|
||||||
my-turn: "あなたのターンです"
|
my-turn: "あなたのターンです"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
you: "Du"
|
you: "Du"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "Utviklere"
|
develop: "Utviklere"
|
||||||
feedback: "フィードバック"
|
feedback: "フィードバック"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "Detaljer"
|
detail: "Detaljer"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "Merket som favoritt"
|
favorite: "Merket som favoritt"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "Tilkobler"
|
connecting: "Tilkobler"
|
||||||
reconnecting: "Kobler til på nytt"
|
reconnecting: "Kobler til på nytt"
|
||||||
connected: "Tilkoblet"
|
connected: "Tilkoblet"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "Direkte"
|
specified: "Direkte"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "Privat"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "Henter"
|
fetching: "Henter"
|
||||||
no-broadcasts: "お知らせはありません"
|
no-broadcasts: "お知らせはありません"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "Lokasjon"
|
location: "Lokasjon"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "Innlegg"
|
posts: "Innlegg"
|
||||||
following: "Følger"
|
following: "Følger"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "Innlegg"
|
default: "Innlegg"
|
||||||
with-replies: "Innlegg og svar"
|
with-replies: "Innlegg og svar"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Melding"
|
title: "Melding"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
sound: "Lyder"
|
sound: "Lyder"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "Oversikt"
|
overview: "Oversikt"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "Media"
|
media: "Media"
|
||||||
is-suspended: "このユーザーは凍結されています。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "Widoczny tylko dla osób, które Cię śledzą"
|
followers-desc: "Widoczny tylko dla osób, które Cię śledzą"
|
||||||
specified: "Bezpośredni"
|
specified: "Bezpośredni"
|
||||||
specified-desc: "Tylko dla określonych użytkowników"
|
specified-desc: "Tylko dla określonych użytkowników"
|
||||||
private: "Prywatny"
|
|
||||||
local-public: "Publiczny (tylko lokalnie)"
|
local-public: "Publiczny (tylko lokalnie)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "Dla śledzących (tylko lokalnie)"
|
local-followers: "Dla śledzących (tylko lokalnie)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "Zredukuj ruch w UI"
|
reduce-motion: "Zredukuj ruch w UI"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "Użyj domyślnych Emoji systemowych"
|
use-os-default-emojis: "Użyj domyślnych Emoji systemowych"
|
||||||
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
|
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "Informacje o użytkowniku są kopiowane."
|
is-remote-user: "Informacje o użytkowniku są kopiowane."
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user} udostępnił(a)"
|
renoted-by: "{user} udostępnił(a)"
|
||||||
error:
|
error:
|
||||||
title: 'Coś poszło nie tak'
|
title: "Coś poszło nie tak"
|
||||||
retry: 'Ponów próbę'
|
retry: "Ponów próbę"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "Remis"
|
drawn: "Remis"
|
||||||
my-turn: "Twoja kolej"
|
my-turn: "Twoja kolej"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "Pokaż więcej"
|
show: "Pokaż więcej"
|
||||||
chars: "{count} znaków"
|
chars: "{count} znaków"
|
||||||
files: "{count} plików"
|
files: "{count} plików"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "Znajdź użytkownika"
|
search-user: "Znajdź użytkownika"
|
||||||
you: "Ty"
|
you: "Ty"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "Autorzy"
|
develop: "Autorzy"
|
||||||
feedback: "Podziel się opinią"
|
feedback: "Podziel się opinią"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "Szczegóły"
|
detail: "Szczegóły"
|
||||||
copy-link: "Skopiuj adres"
|
copy-link: "Skopiuj adres"
|
||||||
favorite: "Dodaj do ulubionych"
|
favorite: "Dodaj do ulubionych"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "Łączenie"
|
connecting: "Łączenie"
|
||||||
reconnecting: "Ponowne łączenie"
|
reconnecting: "Ponowne łączenie"
|
||||||
connected: "Połączono"
|
connected: "Połączono"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "Połącz"
|
connect: "Połącz"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "Widoczny tylko dla osób, które Cię śledzą"
|
followers-desc: "Widoczny tylko dla osób, które Cię śledzą"
|
||||||
specified: "Bezpośredni"
|
specified: "Bezpośredni"
|
||||||
specified-desc: "Tylko dla określonych użytkowników"
|
specified-desc: "Tylko dla określonych użytkowników"
|
||||||
private: "Prywatny"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "To konto jest prowadzone przez bota"
|
is-bot: "To konto jest prowadzone przez bota"
|
||||||
is-locked: "Żądanania śledzenia wymagają zatwierdzenia"
|
is-locked: "Żądanania śledzenia wymagają zatwierdzenia"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "Inne"
|
advanced: "Inne"
|
||||||
privacy: "Prywatność"
|
privacy: "Prywatność"
|
||||||
save: "Zapisz"
|
save: "Zapisz"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "Adres e-mail"
|
email-address: "Adres e-mail"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "Sprawdzanie"
|
fetching: "Sprawdzanie"
|
||||||
no-broadcasts: "Brak transmisji"
|
no-broadcasts: "Brak transmisji"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "Część okien może zostać odłączona z przeglądarki."
|
tips-line19: "Część okien może zostać odłączona z przeglądarki."
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "Możesz też używać API, aby tworzyć boty."
|
tips-line21: "Możesz też używać API, aby tworzyć boty."
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskey zaczął działać w 2014."
|
tips-line24: "Misskey zaczął działać w 2014."
|
||||||
tips-line25: "Możesz otrzymywać powiadomienia nawet jeżeli Misskey nie jest otwarty w obsługiwanej przeglądarce."
|
tips-line25: "Możesz otrzymywać powiadomienia nawet jeżeli Misskey nie jest otwarty w obsługiwanej przeglądarce."
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "Zalogowany jako {}"
|
signed-in-as: "Zalogowany jako {}"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "Informacje o lokalizacji"
|
location: "Informacje o lokalizacji"
|
||||||
renote: "Udostępnij"
|
renote: "Udostępnij"
|
||||||
add-reaction: "Dodaj reakcję"
|
add-reaction: "Dodaj reakcję"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "Odpowiedz"
|
reply: "Odpowiedz"
|
||||||
renote: "Udostępnij"
|
renote: "Udostępnij"
|
||||||
add-reaction: "Dodaj reakcję"
|
add-reaction: "Dodaj reakcję"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "Szczegóły"
|
detail: "Szczegóły"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "Pamięć podręczna informacji o koncie/wpisów/odpowiedzi/wiadomości/ustawień przechowywanych w przeglądarce zostanie usunięta. Będziesz musiał odświeżyć stronę po wyczyszczeniu."
|
cache-warn: "Pamięć podręczna informacji o koncie/wpisów/odpowiedzi/wiadomości/ustawień przechowywanych w przeglądarce zostanie usunięta. Będziesz musiał odświeżyć stronę po wyczyszczeniu."
|
||||||
cache-cleared: "Wyczyszczono pamięć podręczną"
|
cache-cleared: "Wyczyszczono pamięć podręczną"
|
||||||
cache-cleared-desc: "Proszę odświeżyć stronę."
|
cache-cleared-desc: "Proszę odświeżyć stronę."
|
||||||
auto-watch: "Automatycznie nasłuchuj"
|
|
||||||
auto-watch-desc: "Otrzymuj natychmiastowo informacje o wpisach/odpowiedziach/reakcjach."
|
|
||||||
about: "O Misskey"
|
about: "O Misskey"
|
||||||
operator: "Administrator instancji"
|
operator: "Administrator instancji"
|
||||||
update: "Aktualizacja Misskey"
|
update: "Aktualizacja Misskey"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "Wprowadź hasło"
|
enter-password: "Wprowadź hasło"
|
||||||
console:
|
console:
|
||||||
title: 'Konsola API'
|
title: "Konsola API"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'Parametry'
|
parameter: "Parametry"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: 'Wyślij'
|
send: "Wyślij"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "Brak zautoryzowanych aplikacji"
|
no-apps: "Brak zautoryzowanych aplikacji"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "Usuń"
|
delete: "Usuń"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "Wpisy"
|
posts: "Wpisy"
|
||||||
following: "Śledzeni"
|
following: "Śledzeni"
|
||||||
followers: "Śledzący"
|
followers: "Śledzący"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "To konto jest botem"
|
is-bot: "To konto jest botem"
|
||||||
years-old: "{age} lat"
|
years-old: "{age} lat"
|
||||||
year: "/"
|
year: "/"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "Wpisy"
|
default: "Wpisy"
|
||||||
with-replies: "Wpisy i odpowiedzi"
|
with-replies: "Wpisy i odpowiedzi"
|
||||||
with-media: "Multimedia"
|
with-media: "Multimedia"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "Ten użytkownik nie umieścił jeszcze niczego."
|
empty: "Ten użytkownik nie umieścił jeszcze niczego."
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Wiadomości"
|
title: "Wiadomości"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "Wyloguj"
|
signout: "Wyloguj"
|
||||||
sound: "Dźwięk"
|
sound: "Dźwięk"
|
||||||
enable-sounds: "Włącz dźwięk"
|
enable-sounds: "Włącz dźwięk"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "Hasło"
|
password: "Hasło"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "Śledzi Cię"
|
follows-you: "Śledzi Cię"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "Przegląd"
|
overview: "Przegląd"
|
||||||
timeline: "Oś czasu"
|
timeline: "Oś czasu"
|
||||||
media: "Multimedia"
|
media: "Multimedia"
|
||||||
is-suspended: "To konto zostało zablokowane"
|
|
||||||
mute: "Wycisz"
|
mute: "Wycisz"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "Zablokuj"
|
block: "Zablokuj"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "Wpisy"
|
posts: "Wpisy"
|
||||||
following: "Śledzeni"
|
following: "Śledzeni"
|
||||||
followers: "Śledzący"
|
followers: "Śledzący"
|
||||||
|
mention: "メンション"
|
||||||
images: "Zdjęcia"
|
images: "Zdjęcia"
|
||||||
activity: "Aktywność"
|
activity: "Aktywność"
|
||||||
timeline: "Oś czasu"
|
timeline: "Oś czasu"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "UIの動きを減らす"
|
reduce-motion: "UIの動きを減らす"
|
||||||
this-setting-is-this-device-only: "このデバイスのみ"
|
this-setting-is-this-device-only: "このデバイスのみ"
|
||||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||||
do-not-use-in-production: 'これは開発ビルドです。本番環境で使用しないでください。'
|
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: '問題が発生しました'
|
title: "問題が発生しました"
|
||||||
retry: 'やり直す'
|
retry: "やり直す"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "Empatado"
|
drawn: "Empatado"
|
||||||
my-turn: "Seu turno"
|
my-turn: "Seu turno"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
you: "Você"
|
you: "Você"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "開発者"
|
develop: "開発者"
|
||||||
feedback: "フィードバック"
|
feedback: "フィードバック"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "お気に入り"
|
favorite: "お気に入り"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "接続中"
|
connecting: "接続中"
|
||||||
reconnecting: "再接続中"
|
reconnecting: "再接続中"
|
||||||
connected: "接続完了"
|
connected: "接続完了"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "確認中"
|
fetching: "確認中"
|
||||||
no-broadcasts: "お知らせはありません"
|
no-broadcasts: "お知らせはありません"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "位置情報"
|
location: "位置情報"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "Sair"
|
signout: "Sair"
|
||||||
sound: "Sons"
|
sound: "Sons"
|
||||||
enable-sounds: "Ativar sons"
|
enable-sounds: "Ativar sons"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "Te segue"
|
follows-you: "Te segue"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概要"
|
overview: "概要"
|
||||||
timeline: "Linha do tempo"
|
timeline: "Linha do tempo"
|
||||||
media: "Mídia"
|
media: "Mídia"
|
||||||
is-suspended: "Esta conta foi suspensa"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -26,12 +26,12 @@ common:
|
|||||||
close: "Закрыть"
|
close: "Закрыть"
|
||||||
do-not-copy-paste: "Пожалуйста, не вводите и не вставляйте сюда код. Аккаунту может угрожать опасность."
|
do-not-copy-paste: "Пожалуйста, не вводите и не вставляйте сюда код. Аккаунту может угрожать опасность."
|
||||||
load-more: "Загрузить больше"
|
load-more: "Загрузить больше"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "Пожалуйста, введите ваш пароль"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "Советы по настройке"
|
||||||
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
|
paragraph: "<p>ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。</p><p>一部のウィジェットは、<strong><strong>右</strong>クリック</strong>することで表示を変更することができます。</p><p>ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。</p><p>カスタマイズを終了するには、右上の「完了」をクリックします。</p>"
|
||||||
gotit: "Got it!"
|
gotit: "Понятно!"
|
||||||
notification:
|
notification:
|
||||||
file-uploaded: "Файл отправлен!"
|
file-uploaded: "Файл отправлен!"
|
||||||
message-from: "Сообщение от {}:"
|
message-from: "Сообщение от {}:"
|
||||||
@ -64,17 +64,17 @@ common:
|
|||||||
friday: "Пт"
|
friday: "Пт"
|
||||||
saturday: "Сб"
|
saturday: "Сб"
|
||||||
weekday:
|
weekday:
|
||||||
sunday: "日曜日"
|
sunday: "Воскресенье"
|
||||||
monday: "月曜日"
|
monday: "Понедельник"
|
||||||
tuesday: "火曜日"
|
tuesday: "Вторник"
|
||||||
wednesday: "水曜日"
|
wednesday: "Среда"
|
||||||
thursday: "木曜日"
|
thursday: "Четверг"
|
||||||
friday: "金曜日"
|
friday: "Пятница"
|
||||||
saturday: "土曜日"
|
saturday: "Суббота"
|
||||||
reactions:
|
reactions:
|
||||||
like: "いいね"
|
like: "Нравится"
|
||||||
love: "しゅき"
|
love: "しゅき"
|
||||||
laugh: "笑"
|
laugh: "Ха-Ха"
|
||||||
hmm: "ふぅ~む"
|
hmm: "ふぅ~む"
|
||||||
surprise: "わお"
|
surprise: "わお"
|
||||||
congrats: "おめでとう"
|
congrats: "おめでとう"
|
||||||
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
local-followers: "フォロワー (ローカルのみ)"
|
local-followers: "フォロワー (ローカルのみ)"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "Уменьшить движение в интерфейсе"
|
reduce-motion: "Уменьшить движение в интерфейсе"
|
||||||
this-setting-is-this-device-only: "Только для этого устройства"
|
this-setting-is-this-device-only: "Только для этого устройства"
|
||||||
use-os-default-emojis: "Использовать стандартные Emoji из ОС"
|
use-os-default-emojis: "Использовать стандартные Emoji из ОС"
|
||||||
do-not-use-in-production: 'Эта сборка для разработчиков. Не используйте в продакшне.'
|
do-not-use-in-production: "Эта сборка для разработчиков. Не используйте в продакшне."
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "このユーザー情報はコピーです。"
|
is-remote-user: "このユーザー情報はコピーです。"
|
||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
error:
|
error:
|
||||||
title: 'Что-то пошло не так :('
|
title: "Что-то пошло не так :("
|
||||||
retry: 'Повторить'
|
retry: "Повторить"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "Ничья"
|
drawn: "Ничья"
|
||||||
my-turn: "Ваш ход"
|
my-turn: "Ваш ход"
|
||||||
@ -299,6 +299,7 @@ common/views/components/cw-button.vue:
|
|||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count}ファイル"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
you: "あなた"
|
you: "あなた"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "開発者"
|
develop: "開発者"
|
||||||
feedback: "フィードバック"
|
feedback: "フィードバック"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
copy-link: "リンクをコピー"
|
copy-link: "リンクをコピー"
|
||||||
favorite: "お気に入り"
|
favorite: "お気に入り"
|
||||||
@ -403,6 +405,13 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "接続中"
|
connecting: "接続中"
|
||||||
reconnecting: "再接続中"
|
reconnecting: "再接続中"
|
||||||
connected: "接続完了"
|
connected: "接続完了"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "接続する"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "自分のフォロワーにのみ公開"
|
followers-desc: "自分のフォロワーにのみ公開"
|
||||||
specified: "ダイレクト"
|
specified: "ダイレクト"
|
||||||
specified-desc: "指定したユーザーにのみ公開"
|
specified-desc: "指定したユーザーにのみ公開"
|
||||||
private: "非公開"
|
|
||||||
local-public: "公開 (ローカルのみ)"
|
local-public: "公開 (ローカルのみ)"
|
||||||
local-public-desc: "リモートへは公開しない"
|
local-public-desc: "リモートへは公開しない"
|
||||||
local-home: "ホーム (ローカルのみ)"
|
local-home: "ホーム (ローカルのみ)"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
is-locked: "フォローを承認制にする"
|
is-locked: "フォローを承認制にする"
|
||||||
careful-bot: "Botからのフォローだけ承認制にする"
|
careful-bot: "Botからのフォローだけ承認制にする"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "その他"
|
advanced: "その他"
|
||||||
privacy: "プライバシー"
|
privacy: "プライバシー"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "メールアドレス"
|
email-address: "メールアドレス"
|
||||||
email-verified: "メールアドレスが確認されました"
|
email-verified: "メールアドレスが確認されました"
|
||||||
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "ユーザー"
|
||||||
|
rename: "リスト名を変更"
|
||||||
|
delete: "リストを削除"
|
||||||
|
remove-user: "このリストから削除"
|
||||||
|
delete-are-you-sure: "リスト「$1」を削除しますか?"
|
||||||
|
deleted: "削除しました"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "確認中"
|
fetching: "確認中"
|
||||||
no-broadcasts: "お知らせはありません"
|
no-broadcasts: "お知らせはありません"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
|
||||||
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
|
||||||
tips-line21: "APIを利用してbotの開発なども行えます"
|
tips-line21: "APIを利用してbotの開発なども行えます"
|
||||||
tips-line23: "まゆかわいいよまゆ"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "位置情報"
|
location: "位置情報"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "返信"
|
reply: "返信"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "リアクション"
|
add-reaction: "リアクション"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "詳細"
|
detail: "詳細"
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。"
|
||||||
cache-cleared: "キャッシュを削除しました"
|
cache-cleared: "キャッシュを削除しました"
|
||||||
cache-cleared-desc: "ページを再度読み込みしてください。"
|
cache-cleared-desc: "ページを再度読み込みしてください。"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
|
||||||
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
operator: "このサーバーの運営者"
|
operator: "このサーバーの運営者"
|
||||||
update: "Misskey Update"
|
update: "Misskey Update"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "Token:"
|
token: "Token:"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
console:
|
console:
|
||||||
title: 'APIコンソール'
|
title: "APIコンソール"
|
||||||
endpoint: 'エンドポイント'
|
endpoint: "エンドポイント"
|
||||||
parameter: 'パラメータ'
|
parameter: "パラメータ"
|
||||||
credential-info: "「i」パラメータは自動で付与されます。"
|
credential-info: "「i」パラメータは自動で付与されます。"
|
||||||
send: '送信'
|
send: "送信"
|
||||||
sending: '応答待ち'
|
sending: "応答待ち"
|
||||||
response: '結果'
|
response: "結果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "連携しているアプリケーションはありません"
|
no-apps: "連携しているアプリケーションはありません"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "ServiceWorkerを有効にする"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公開鍵"
|
||||||
|
vapid-privatekey: "VAPID秘密鍵"
|
||||||
|
vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "チャート"
|
title: "チャート"
|
||||||
per-day: "1日ごと"
|
per-day: "1日ごと"
|
||||||
@ -1068,6 +1090,8 @@ admin/views/drive.vue:
|
|||||||
remote: "リモート"
|
remote: "リモート"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
deleted: "削除しました"
|
deleted: "削除しました"
|
||||||
|
mark-as-sensitive: "閲覧注意に設定"
|
||||||
|
unmark-as-sensitive: "閲覧注意を解除"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "ユーザー名またはユーザーID"
|
username-or-userid: "ユーザー名またはユーザーID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
empty: "このユーザーはまだ何も投稿していないようです。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概要"
|
overview: "概要"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
media: "メディア"
|
media: "メディア"
|
||||||
is-suspended: "このユーザーは凍結されています。"
|
|
||||||
mute: "ミュート"
|
mute: "ミュート"
|
||||||
unmute: "ミュート解除"
|
unmute: "ミュート解除"
|
||||||
block: "ブロック"
|
block: "ブロック"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
|
mention: "メンション"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
|
@ -90,7 +90,6 @@ common:
|
|||||||
followers-desc: "仅发送至粉丝"
|
followers-desc: "仅发送至粉丝"
|
||||||
specified: "指定用户"
|
specified: "指定用户"
|
||||||
specified-desc: "仅发送至指定用户"
|
specified-desc: "仅发送至指定用户"
|
||||||
private: "私密"
|
|
||||||
local-public: "公开(仅限本地)"
|
local-public: "公开(仅限本地)"
|
||||||
local-home: "首页(仅限本地)"
|
local-home: "首页(仅限本地)"
|
||||||
local-followers: "关注者(仅限本地)"
|
local-followers: "关注者(仅限本地)"
|
||||||
@ -113,7 +112,7 @@ common:
|
|||||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||||
verified-user: "认证用户"
|
verified-user: "认证用户"
|
||||||
disable-animated-mfm: "在帖子中禁用动画文本"
|
disable-animated-mfm: "在帖子中禁用动画文本"
|
||||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
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: "不要从用户名中忽略主机名"
|
||||||
@ -121,14 +120,15 @@ common:
|
|||||||
reduce-motion: "减弱UI中的动画效果"
|
reduce-motion: "减弱UI中的动画效果"
|
||||||
this-setting-is-this-device-only: "设置仅在本设备中生效"
|
this-setting-is-this-device-only: "设置仅在本设备中生效"
|
||||||
use-os-default-emojis: "使用设备系统默认的 emojis"
|
use-os-default-emojis: "使用设备系统默认的 emojis"
|
||||||
do-not-use-in-production: '这是一个开发者测试版. 请勿在生产环境中使用.'
|
do-not-use-in-production: "这是一个开发者测试版. 请勿在生产环境中使用."
|
||||||
|
user-suspended: "このユーザーは凍結されています。"
|
||||||
is-remote-user: "该用户的信息已被复制."
|
is-remote-user: "该用户的信息已被复制."
|
||||||
is-remote-post: "该投稿已被复制."
|
is-remote-post: "该投稿已被复制."
|
||||||
view-on-remote: "查看准确的信息"
|
view-on-remote: "查看准确的信息"
|
||||||
renoted-by: "由 {user} Renote"
|
renoted-by: "由 {user} Renote"
|
||||||
error:
|
error:
|
||||||
title: '哦不, 发生了一些问题! :('
|
title: "哦不, 发生了一些问题! :("
|
||||||
retry: '重试'
|
retry: "重试"
|
||||||
reversi:
|
reversi:
|
||||||
drawn: "平局"
|
drawn: "平局"
|
||||||
my-turn: "轮到你了"
|
my-turn: "轮到你了"
|
||||||
@ -164,7 +164,7 @@ common:
|
|||||||
hashtags: "标签"
|
hashtags: "标签"
|
||||||
dev: "构建应用程序失败,请再试一次。"
|
dev: "构建应用程序失败,请再试一次。"
|
||||||
ai-chan-kawaii: "Ai-chan kawaii!"
|
ai-chan-kawaii: "Ai-chan kawaii!"
|
||||||
you: "あなた"
|
you: "您"
|
||||||
auth/views/form.vue:
|
auth/views/form.vue:
|
||||||
share-access: "您要允许<i>{name}</i>来访问您的账户吗?"
|
share-access: "您要允许<i>{name}</i>来访问您的账户吗?"
|
||||||
permission-ask: "这个应用程序需要以下权限:"
|
permission-ask: "这个应用程序需要以下权限:"
|
||||||
@ -298,7 +298,8 @@ common/views/components/cw-button.vue:
|
|||||||
hide: "隐藏"
|
hide: "隐藏"
|
||||||
show: "查看更多"
|
show: "查看更多"
|
||||||
chars: "{count}文字"
|
chars: "{count}文字"
|
||||||
files: "{count}ファイル"
|
files: "{count} 个文件"
|
||||||
|
poll: "アンケート"
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "查找用户"
|
search-user: "查找用户"
|
||||||
you: "您"
|
you: "您"
|
||||||
@ -328,6 +329,7 @@ common/views/components/nav.vue:
|
|||||||
develop: "开发者"
|
develop: "开发者"
|
||||||
feedback: "反馈"
|
feedback: "反馈"
|
||||||
common/views/components/note-menu.vue:
|
common/views/components/note-menu.vue:
|
||||||
|
mention: "メンション"
|
||||||
detail: "详细信息"
|
detail: "详细信息"
|
||||||
copy-link: "复制链接"
|
copy-link: "复制链接"
|
||||||
favorite: "收藏这个投稿"
|
favorite: "收藏这个投稿"
|
||||||
@ -403,10 +405,17 @@ common/views/components/stream-indicator.vue:
|
|||||||
connecting: "连接中"
|
connecting: "连接中"
|
||||||
reconnecting: "重新连接中"
|
reconnecting: "重新连接中"
|
||||||
connected: "已连接"
|
connected: "已连接"
|
||||||
|
common/views/components/notification-settings.vue:
|
||||||
|
title: "通知"
|
||||||
|
mark-as-read-all-notifications: "すべての通知を既読にする"
|
||||||
|
mark-as-read-all-unread-notes: "すべての投稿を既読にする"
|
||||||
|
mark-as-read-all-talk-messages: "すべてのトークを既読にする"
|
||||||
|
auto-watch: "投稿の自動ウォッチ"
|
||||||
|
auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "サービス連携"
|
title: "サービス連携"
|
||||||
connect: "接続する"
|
connect: "连接"
|
||||||
disconnect: "切断する"
|
disconnect: "未连接"
|
||||||
connected-to: "次のアカウントに接続されています"
|
connected-to: "次のアカウントに接続されています"
|
||||||
common/views/components/github-setting.vue:
|
common/views/components/github-setting.vue:
|
||||||
description: "当您用GitHub连接Misskey账户后,您将能够看到有关您自己的信息,并且您将能够使用GitHub登录。"
|
description: "当您用GitHub连接Misskey账户后,您将能够看到有关您自己的信息,并且您将能够使用GitHub登录。"
|
||||||
@ -432,7 +441,6 @@ common/views/components/visibility-chooser.vue:
|
|||||||
followers-desc: "仅发送至关注者"
|
followers-desc: "仅发送至关注者"
|
||||||
specified: "直接"
|
specified: "直接"
|
||||||
specified-desc: "仅发送至指定用户"
|
specified-desc: "仅发送至指定用户"
|
||||||
private: "私密"
|
|
||||||
local-public: "公开(仅限本地)"
|
local-public: "公开(仅限本地)"
|
||||||
local-public-desc: "不要发布到公开"
|
local-public-desc: "不要发布到公开"
|
||||||
local-home: "首页(仅限本地)"
|
local-home: "首页(仅限本地)"
|
||||||
@ -453,7 +461,7 @@ common/views/components/profile-editor.vue:
|
|||||||
account: "账户"
|
account: "账户"
|
||||||
location: "位置"
|
location: "位置"
|
||||||
description: "关于我"
|
description: "关于我"
|
||||||
language: "言語"
|
language: "语言"
|
||||||
birthday: "生日"
|
birthday: "生日"
|
||||||
avatar: "头像"
|
avatar: "头像"
|
||||||
banner: "背景"
|
banner: "背景"
|
||||||
@ -461,6 +469,7 @@ common/views/components/profile-editor.vue:
|
|||||||
is-bot: "整个账户是机器人"
|
is-bot: "整个账户是机器人"
|
||||||
is-locked: "关注者请求需要批准"
|
is-locked: "关注者请求需要批准"
|
||||||
careful-bot: "机器人的关注者请求需要批准"
|
careful-bot: "机器人的关注者请求需要批准"
|
||||||
|
auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する"
|
||||||
advanced: "其他选项"
|
advanced: "其他选项"
|
||||||
privacy: "隐私"
|
privacy: "隐私"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
@ -471,6 +480,13 @@ common/views/components/profile-editor.vue:
|
|||||||
email-address: "电子邮件地址"
|
email-address: "电子邮件地址"
|
||||||
email-verified: "电子邮件地址已验证"
|
email-verified: "电子邮件地址已验证"
|
||||||
email-not-verified: "电子邮件地址还没有验证哦, 请检查一下收信箱吧~"
|
email-not-verified: "电子邮件地址还没有验证哦, 请检查一下收信箱吧~"
|
||||||
|
common/views/components/user-list-editor.vue:
|
||||||
|
users: "用户"
|
||||||
|
rename: "重命名列表"
|
||||||
|
delete: "删除列表"
|
||||||
|
remove-user: "从此列表中删除"
|
||||||
|
delete-are-you-sure: "删除列表 \"$1\"?"
|
||||||
|
deleted: "已删除"
|
||||||
common/views/widgets/broadcast.vue:
|
common/views/widgets/broadcast.vue:
|
||||||
fetching: "确认中"
|
fetching: "确认中"
|
||||||
no-broadcasts: "没有公告"
|
no-broadcasts: "没有公告"
|
||||||
@ -520,10 +536,10 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line19: "可以在浏览器外部分离多个窗口。"
|
tips-line19: "可以在浏览器外部分离多个窗口。"
|
||||||
tips-line20: "日历小部件的百分比显示经过的时间百分比。"
|
tips-line20: "日历小部件的百分比显示经过的时间百分比。"
|
||||||
tips-line21: "您也可以使用API开发机器人。"
|
tips-line21: "您也可以使用API开发机器人。"
|
||||||
tips-line23: "Mayu的眉毛非常可爱。"
|
tips-line23: "藍かわいいよ藍"
|
||||||
tips-line24: "Misskey自2014年开始运营。"
|
tips-line24: "Misskey自2014年开始运营。"
|
||||||
tips-line25: "在与通知功能兼容的浏览器中,您可以在Misskey未打开的情况下接收通知"
|
tips-line25: "在与通知功能兼容的浏览器中,您可以在Misskey未打开的情况下接收通知"
|
||||||
common/views/pages/404.vue:
|
common/views/pages/not-found.vue:
|
||||||
page-not-found: "ページが見つかりませんでした"
|
page-not-found: "ページが見つかりませんでした"
|
||||||
common/views/pages/follow.vue:
|
common/views/pages/follow.vue:
|
||||||
signed-in-as: "用 {}登录"
|
signed-in-as: "用 {}登录"
|
||||||
@ -660,10 +676,12 @@ desktop/views/components/note-detail.vue:
|
|||||||
location: "位置信息"
|
location: "位置信息"
|
||||||
renote: "转发"
|
renote: "转发"
|
||||||
add-reaction: "添加一个反应"
|
add-reaction: "添加一个反应"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
desktop/views/components/note.vue:
|
desktop/views/components/note.vue:
|
||||||
reply: "回复"
|
reply: "回复"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
add-reaction: "添加一个反应"
|
add-reaction: "添加一个反应"
|
||||||
|
undo-reaction: "リアクション解除"
|
||||||
detail: "详细信息"
|
detail: "详细信息"
|
||||||
private: "这个投稿是私密的"
|
private: "这个投稿是私密的"
|
||||||
deleted: "投稿已删除"
|
deleted: "投稿已删除"
|
||||||
@ -780,7 +798,7 @@ desktop/views/components/settings.vue:
|
|||||||
deck-column-width: "デッキのカラムの幅"
|
deck-column-width: "デッキのカラムの幅"
|
||||||
deck-column-width-narrow: "狭"
|
deck-column-width-narrow: "狭"
|
||||||
deck-column-width-narrower: "やや狭"
|
deck-column-width-narrower: "やや狭"
|
||||||
deck-column-width-normal: "普通"
|
deck-column-width-normal: "正常"
|
||||||
deck-column-width-wider: "やや広"
|
deck-column-width-wider: "やや広"
|
||||||
deck-column-width-wide: "広"
|
deck-column-width-wide: "広"
|
||||||
sound: "声音"
|
sound: "声音"
|
||||||
@ -793,8 +811,6 @@ desktop/views/components/settings.vue:
|
|||||||
cache-warn: "将删除存储在浏览器中的帐户信息/帖子/回复/消息/设置的缓存。 清理完毕后需要刷新页面。"
|
cache-warn: "将删除存储在浏览器中的帐户信息/帖子/回复/消息/设置的缓存。 清理完毕后需要刷新页面。"
|
||||||
cache-cleared: "已清除缓存"
|
cache-cleared: "已清除缓存"
|
||||||
cache-cleared-desc: "请刷新页面。"
|
cache-cleared-desc: "请刷新页面。"
|
||||||
auto-watch: "自动查看帖子"
|
|
||||||
auto-watch-desc: "自动接收有关帖子/回复/反应的通知。"
|
|
||||||
about: "关于 Misskey"
|
about: "关于 Misskey"
|
||||||
operator: "网站运营者"
|
operator: "网站运营者"
|
||||||
update: "更新 Misskey"
|
update: "更新 Misskey"
|
||||||
@ -847,13 +863,13 @@ common/views/components/api-settings.vue:
|
|||||||
token: "令牌:"
|
token: "令牌:"
|
||||||
enter-password: "请输入您的密码"
|
enter-password: "请输入您的密码"
|
||||||
console:
|
console:
|
||||||
title: 'API 控制台'
|
title: "API 控制台"
|
||||||
endpoint: '端点'
|
endpoint: "端点"
|
||||||
parameter: '参数'
|
parameter: "参数"
|
||||||
credential-info: "此控制台不需要参数“i”。"
|
credential-info: "此控制台不需要参数“i”。"
|
||||||
send: '发送'
|
send: "发送"
|
||||||
sending: '等待回应'
|
sending: "等待回应"
|
||||||
response: '结果'
|
response: "结果"
|
||||||
desktop/views/components/settings.apps.vue:
|
desktop/views/components/settings.apps.vue:
|
||||||
no-apps: "没有已连接的应用程序"
|
no-apps: "没有已连接的应用程序"
|
||||||
common/views/components/drive-settings.vue:
|
common/views/components/drive-settings.vue:
|
||||||
@ -877,16 +893,16 @@ common/views/components/password-settings.vue:
|
|||||||
enter-new-password-again: "请再次输入新密码"
|
enter-new-password-again: "请再次输入新密码"
|
||||||
not-match: "新密码不匹配"
|
not-match: "新密码不匹配"
|
||||||
changed: "密码已更改"
|
changed: "密码已更改"
|
||||||
failed: "パスワード変更に失敗しました"
|
failed: "更改密码失败"
|
||||||
desktop/views/components/sub-note-content.vue:
|
desktop/views/components/sub-note-content.vue:
|
||||||
private: "这个帖子是私密的"
|
private: "这个帖子是私密的"
|
||||||
deleted: "帖子已删除"
|
deleted: "帖子已删除"
|
||||||
media-count: "附加{}媒体"
|
media-count: "附加{}媒体"
|
||||||
poll: "投票"
|
poll: "投票"
|
||||||
desktop/views/components/settings.tags.vue:
|
desktop/views/components/settings.tags.vue:
|
||||||
title: "タグ"
|
title: "标签"
|
||||||
query: "クエリ (省略可)"
|
query: "查询 (可选)"
|
||||||
add: "追加"
|
add: "添加"
|
||||||
save: "保存"
|
save: "保存"
|
||||||
desktop/views/components/taskmanager.vue:
|
desktop/views/components/taskmanager.vue:
|
||||||
title: "任务管理器"
|
title: "任务管理器"
|
||||||
@ -970,7 +986,7 @@ admin/views/instance.vue:
|
|||||||
instance-description: "实例介绍"
|
instance-description: "实例介绍"
|
||||||
host: "主机名"
|
host: "主机名"
|
||||||
banner-url: "背景图片地址"
|
banner-url: "背景图片地址"
|
||||||
error-image-url: "エラー画像URL"
|
error-image-url: "无效的图像URL"
|
||||||
languages: "实例语言"
|
languages: "实例语言"
|
||||||
languages-desc: "您可以添加多个,以空格分隔。"
|
languages-desc: "您可以添加多个,以空格分隔。"
|
||||||
maintainer-config: "管理员信息"
|
maintainer-config: "管理员信息"
|
||||||
@ -1029,6 +1045,12 @@ admin/views/instance.vue:
|
|||||||
smtp-port: "SMTP 端口"
|
smtp-port: "SMTP 端口"
|
||||||
smtp-user: "SMTP 用户名"
|
smtp-user: "SMTP 用户名"
|
||||||
smtp-pass: "SMTP 密码"
|
smtp-pass: "SMTP 密码"
|
||||||
|
serviceworker-config: "ServiceWorker"
|
||||||
|
enable-serviceworker: "启用ServiceWorker"
|
||||||
|
serviceworker-info: "プッシュ通知を行うには有効する必要があります。"
|
||||||
|
vapid-publickey: "VAPID公钥"
|
||||||
|
vapid-privatekey: "VAPID私钥"
|
||||||
|
vapid-info: "如果您想要启用ServiceWorker,那么您需要生成VAPID秘钥。除非您已经在其他地方设置了全局node_modules位置,否则您需要将其作为root用户运行:"
|
||||||
admin/views/charts.vue:
|
admin/views/charts.vue:
|
||||||
title: "历史记录"
|
title: "历史记录"
|
||||||
per-day: "每天"
|
per-day: "每天"
|
||||||
@ -1056,18 +1078,20 @@ admin/views/charts.vue:
|
|||||||
network-usage: "网络流量"
|
network-usage: "网络流量"
|
||||||
admin/views/drive.vue:
|
admin/views/drive.vue:
|
||||||
sort:
|
sort:
|
||||||
title: "ソート"
|
title: "排序"
|
||||||
createdAtAsc: "アップロード日時が古い順"
|
createdAtAsc: "アップロード日時が古い順"
|
||||||
createdAtDesc: "アップロード日時が新しい順"
|
createdAtDesc: "アップロード日時が新しい順"
|
||||||
sizeAsc: "サイズが小さい順"
|
sizeAsc: "サイズが小さい順"
|
||||||
sizeDesc: "サイズが大きい順"
|
sizeDesc: "サイズが大きい順"
|
||||||
origin:
|
origin:
|
||||||
title: "オリジン"
|
title: "源自"
|
||||||
combined: "ローカル+リモート"
|
combined: "本地+远程"
|
||||||
local: "ローカル"
|
local: "本地"
|
||||||
remote: "リモート"
|
remote: "远程"
|
||||||
delete: "削除"
|
delete: "删除"
|
||||||
deleted: "削除しました"
|
deleted: "已删除"
|
||||||
|
mark-as-sensitive: "标记为“敏感”"
|
||||||
|
unmark-as-sensitive: "取消标记为“敏感”"
|
||||||
admin/views/users.vue:
|
admin/views/users.vue:
|
||||||
operation: "操作"
|
operation: "操作"
|
||||||
username-or-userid: "用户名或用户ID"
|
username-or-userid: "用户名或用户ID"
|
||||||
@ -1199,6 +1223,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
posts: "帖子"
|
posts: "帖子"
|
||||||
following: "关注中"
|
following: "关注中"
|
||||||
followers: "关注者"
|
followers: "关注者"
|
||||||
|
mention: "メンション"
|
||||||
is-bot: "这个账户是Bot"
|
is-bot: "这个账户是Bot"
|
||||||
years-old: "{age}岁"
|
years-old: "{age}岁"
|
||||||
year: "年"
|
year: "年"
|
||||||
@ -1208,6 +1233,7 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
default: "帖子"
|
default: "帖子"
|
||||||
with-replies: "帖子与回复"
|
with-replies: "帖子与回复"
|
||||||
with-media: "媒体"
|
with-media: "媒体"
|
||||||
|
my-posts: "私の投稿"
|
||||||
empty: "看起来这个用户还没有发布什么呢。"
|
empty: "看起来这个用户还没有发布什么呢。"
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "信息"
|
title: "信息"
|
||||||
@ -1430,7 +1456,6 @@ mobile/views/pages/settings.vue:
|
|||||||
signout: "注销"
|
signout: "注销"
|
||||||
sound: "声音"
|
sound: "声音"
|
||||||
enable-sounds: "开启声音"
|
enable-sounds: "开启声音"
|
||||||
mark-as-read-all-unread-notes: "将所有帖子标记为已读"
|
|
||||||
password: "密码"
|
password: "密码"
|
||||||
mobile/views/pages/user.vue:
|
mobile/views/pages/user.vue:
|
||||||
follows-you: "关注您"
|
follows-you: "关注您"
|
||||||
@ -1440,7 +1465,6 @@ mobile/views/pages/user.vue:
|
|||||||
overview: "概观"
|
overview: "概观"
|
||||||
timeline: "时间线"
|
timeline: "时间线"
|
||||||
media: "媒体"
|
media: "媒体"
|
||||||
is-suspended: "此账户已被冻结。"
|
|
||||||
mute: "静音"
|
mute: "静音"
|
||||||
unmute: "取消静音"
|
unmute: "取消静音"
|
||||||
block: "屏蔽"
|
block: "屏蔽"
|
||||||
@ -1494,6 +1518,7 @@ deck/deck.user-column.vue:
|
|||||||
posts: "帖子"
|
posts: "帖子"
|
||||||
following: "关注中"
|
following: "关注中"
|
||||||
followers: "关注者"
|
followers: "关注者"
|
||||||
|
mention: "メンション"
|
||||||
images: "图片"
|
images: "图片"
|
||||||
activity: "活动"
|
activity: "活动"
|
||||||
timeline: "时间线"
|
timeline: "时间线"
|
||||||
|
49
package.json
49
package.json
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"author": "syuilo <i@syuilo.com>",
|
"author": "syuilo <i@syuilo.com>",
|
||||||
"version": "10.66.0",
|
"version": "10.71.0",
|
||||||
"clientVersion": "2.0.12855",
|
"clientVersion": "2.0.13200",
|
||||||
"codename": "nighthike",
|
"codename": "nighthike",
|
||||||
"main": "./built/index.js",
|
"main": "./built/index.js",
|
||||||
"private": true,
|
"private": true,
|
||||||
@ -21,21 +21,21 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "1.2.8",
|
"@fortawesome/fontawesome-svg-core": "1.2.8",
|
||||||
"@fortawesome/free-brands-svg-icons": "5.5.0",
|
"@fortawesome/free-brands-svg-icons": "5.6.0",
|
||||||
"@fortawesome/free-regular-svg-icons": "5.5.0",
|
"@fortawesome/free-regular-svg-icons": "5.5.0",
|
||||||
"@fortawesome/free-solid-svg-icons": "5.5.0",
|
"@fortawesome/free-solid-svg-icons": "5.6.3",
|
||||||
"@fortawesome/vue-fontawesome": "0.1.2",
|
"@fortawesome/vue-fontawesome": "0.1.2",
|
||||||
"@koa/cors": "2.2.2",
|
"@koa/cors": "2.2.3",
|
||||||
"@prezzemolo/rap": "0.1.2",
|
"@prezzemolo/rap": "0.1.2",
|
||||||
"@prezzemolo/zip": "0.0.3",
|
"@prezzemolo/zip": "0.0.3",
|
||||||
"@types/bcryptjs": "2.4.2",
|
"@types/bcryptjs": "2.4.2",
|
||||||
"@types/chai-http": "3.0.5",
|
"@types/chai-http": "3.0.5",
|
||||||
"@types/dateformat": "1.0.1",
|
"@types/dateformat": "3.0.0",
|
||||||
"@types/debug": "0.0.31",
|
"@types/debug": "0.0.31",
|
||||||
"@types/deep-equal": "1.0.1",
|
"@types/deep-equal": "1.0.1",
|
||||||
"@types/double-ended-queue": "2.1.0",
|
"@types/double-ended-queue": "2.1.0",
|
||||||
"@types/elasticsearch": "5.0.29",
|
"@types/elasticsearch": "5.0.29",
|
||||||
"@types/file-type": "5.2.2",
|
"@types/file-type": "10.6.0",
|
||||||
"@types/gulp": "3.8.36",
|
"@types/gulp": "3.8.36",
|
||||||
"@types/gulp-mocha": "0.0.32",
|
"@types/gulp-mocha": "0.0.32",
|
||||||
"@types/gulp-rename": "0.0.33",
|
"@types/gulp-rename": "0.0.33",
|
||||||
@ -44,7 +44,7 @@
|
|||||||
"@types/gulp-util": "3.0.34",
|
"@types/gulp-util": "3.0.34",
|
||||||
"@types/is-root": "1.0.0",
|
"@types/is-root": "1.0.0",
|
||||||
"@types/is-url": "1.2.28",
|
"@types/is-url": "1.2.28",
|
||||||
"@types/js-yaml": "3.11.2",
|
"@types/js-yaml": "3.11.4",
|
||||||
"@types/katex": "0.5.0",
|
"@types/katex": "0.5.0",
|
||||||
"@types/koa": "2.0.47",
|
"@types/koa": "2.0.47",
|
||||||
"@types/koa-bodyparser": "5.0.2",
|
"@types/koa-bodyparser": "5.0.2",
|
||||||
@ -76,13 +76,13 @@
|
|||||||
"@types/rimraf": "2.0.2",
|
"@types/rimraf": "2.0.2",
|
||||||
"@types/seedrandom": "2.4.27",
|
"@types/seedrandom": "2.4.27",
|
||||||
"@types/sharp": "0.21.0",
|
"@types/sharp": "0.21.0",
|
||||||
"@types/showdown": "1.7.5",
|
"@types/showdown": "1.9.0",
|
||||||
"@types/speakeasy": "2.0.3",
|
"@types/speakeasy": "2.0.3",
|
||||||
"@types/systeminformation": "3.23.1",
|
"@types/systeminformation": "3.23.1",
|
||||||
"@types/tinycolor2": "1.4.1",
|
"@types/tinycolor2": "1.4.1",
|
||||||
"@types/tmp": "0.0.33",
|
"@types/tmp": "0.0.33",
|
||||||
"@types/uuid": "3.4.4",
|
"@types/uuid": "3.4.4",
|
||||||
"@types/webpack": "4.4.20",
|
"@types/webpack": "4.4.21",
|
||||||
"@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",
|
||||||
@ -111,8 +111,8 @@
|
|||||||
"elasticsearch": "15.2.0",
|
"elasticsearch": "15.2.0",
|
||||||
"emojilib": "2.4.0",
|
"emojilib": "2.4.0",
|
||||||
"escape-regexp": "0.0.1",
|
"escape-regexp": "0.0.1",
|
||||||
"eslint": "5.8.0",
|
"eslint": "5.11.1",
|
||||||
"eslint-plugin-vue": "4.7.1",
|
"eslint-plugin-vue": "5.0.0",
|
||||||
"eventemitter3": "3.1.0",
|
"eventemitter3": "3.1.0",
|
||||||
"feed": "2.0.2",
|
"feed": "2.0.2",
|
||||||
"file-loader": "2.0.0",
|
"file-loader": "2.0.0",
|
||||||
@ -127,18 +127,18 @@
|
|||||||
"gulp-sourcemaps": "2.6.4",
|
"gulp-sourcemaps": "2.6.4",
|
||||||
"gulp-stylus": "2.7.0",
|
"gulp-stylus": "2.7.0",
|
||||||
"gulp-tslint": "8.1.3",
|
"gulp-tslint": "8.1.3",
|
||||||
"gulp-typescript": "4.0.2",
|
"gulp-typescript": "5.0.0",
|
||||||
"gulp-uglify": "3.0.1",
|
"gulp-uglify": "3.0.1",
|
||||||
"gulp-util": "3.0.8",
|
"gulp-util": "3.0.8",
|
||||||
"gulp-yaml": "2.0.2",
|
"gulp-yaml": "2.0.2",
|
||||||
"hard-source-webpack-plugin": "0.12.0",
|
"hard-source-webpack-plugin": "0.13.1",
|
||||||
"html-minifier": "3.5.21",
|
"html-minifier": "3.5.21",
|
||||||
"http-signature": "1.2.0",
|
"http-signature": "1.2.0",
|
||||||
"insert-text-at-cursor": "0.1.1",
|
"insert-text-at-cursor": "0.1.1",
|
||||||
"is-root": "2.0.0",
|
"is-root": "2.0.0",
|
||||||
"is-url": "1.2.4",
|
"is-url": "1.2.4",
|
||||||
"js-yaml": "3.12.0",
|
"js-yaml": "3.12.0",
|
||||||
"jsdom": "13.0.0",
|
"jsdom": "13.1.0",
|
||||||
"json5": "2.1.0",
|
"json5": "2.1.0",
|
||||||
"json5-loader": "1.0.1",
|
"json5-loader": "1.0.1",
|
||||||
"katex": "0.10.0",
|
"katex": "0.10.0",
|
||||||
@ -155,16 +155,16 @@
|
|||||||
"koa-slow": "2.1.0",
|
"koa-slow": "2.1.0",
|
||||||
"koa-views": "6.1.4",
|
"koa-views": "6.1.4",
|
||||||
"langmap": "0.0.16",
|
"langmap": "0.0.16",
|
||||||
"loader-utils": "1.1.0",
|
"loader-utils": "1.2.3",
|
||||||
"minio": "7.0.2",
|
"minio": "7.0.2",
|
||||||
"mkdirp": "0.5.1",
|
"mkdirp": "0.5.1",
|
||||||
"mocha": "5.2.0",
|
"mocha": "5.2.0",
|
||||||
"moji": "0.5.1",
|
"moji": "0.5.1",
|
||||||
"moment": "2.22.2",
|
"moment": "2.22.2",
|
||||||
"mongodb": "3.1.9",
|
"mongodb": "3.1.10",
|
||||||
"monk": "6.0.6",
|
"monk": "6.0.6",
|
||||||
"ms": "2.1.1",
|
"ms": "2.1.1",
|
||||||
"nan": "2.11.1",
|
"nan": "2.12.1",
|
||||||
"nested-property": "0.0.7",
|
"nested-property": "0.0.7",
|
||||||
"nodemailer": "4.7.0",
|
"nodemailer": "4.7.0",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
@ -193,7 +193,7 @@
|
|||||||
"rndstr": "1.0.0",
|
"rndstr": "1.0.0",
|
||||||
"s-age": "1.1.2",
|
"s-age": "1.1.2",
|
||||||
"seedrandom": "2.4.4",
|
"seedrandom": "2.4.4",
|
||||||
"sharp": "0.21.0",
|
"sharp": "0.21.1",
|
||||||
"showdown": "1.9.0",
|
"showdown": "1.9.0",
|
||||||
"showdown-highlightjs-extension": "0.1.2",
|
"showdown-highlightjs-extension": "0.1.2",
|
||||||
"speakeasy": "2.0.0",
|
"speakeasy": "2.0.0",
|
||||||
@ -202,7 +202,7 @@
|
|||||||
"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.51.3",
|
"systeminformation": "3.52.2",
|
||||||
"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",
|
||||||
@ -210,7 +210,8 @@
|
|||||||
"tmp": "0.0.33",
|
"tmp": "0.0.33",
|
||||||
"ts-loader": "5.3.1",
|
"ts-loader": "5.3.1",
|
||||||
"ts-node": "7.0.1",
|
"ts-node": "7.0.1",
|
||||||
"tslint": "5.10.0",
|
"tslint": "5.12.0",
|
||||||
|
"tslint-sonarts": "1.8.0",
|
||||||
"typescript": "3.2.2",
|
"typescript": "3.2.2",
|
||||||
"typescript-eslint-parser": "21.0.2",
|
"typescript-eslint-parser": "21.0.2",
|
||||||
"uglify-es": "3.3.9",
|
"uglify-es": "3.3.9",
|
||||||
@ -220,15 +221,15 @@
|
|||||||
"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": "3.0.0",
|
||||||
"vue-i18n": "8.3.2",
|
"vue-i18n": "8.3.2",
|
||||||
"vue-js-modal": "1.3.27",
|
"vue-js-modal": "1.3.28",
|
||||||
"vue-loader": "15.4.2",
|
"vue-loader": "15.4.2",
|
||||||
"vue-marquee-text-component": "1.1.0",
|
"vue-marquee-text-component": "1.1.0",
|
||||||
"vue-router": "3.0.2",
|
"vue-router": "3.0.2",
|
||||||
"vue-sequential-entrance": "1.1.3",
|
"vue-sequential-entrance": "1.1.3",
|
||||||
"vue-style-loader": "4.1.2",
|
"vue-style-loader": "4.1.2",
|
||||||
"vue-svg-inline-loader": "1.2.4",
|
"vue-svg-inline-loader": "1.2.7",
|
||||||
"vue-template-compiler": "2.5.17",
|
"vue-template-compiler": "2.5.17",
|
||||||
"vuedraggable": "2.17.0",
|
"vuedraggable": "2.17.0",
|
||||||
"vuewordcloud": "18.7.11",
|
"vuewordcloud": "18.7.11",
|
||||||
|
@ -9,7 +9,7 @@ import './style.styl';
|
|||||||
|
|
||||||
import init from '../init';
|
import init from '../init';
|
||||||
import Index from './views/index.vue';
|
import Index from './views/index.vue';
|
||||||
import NotFound from '../common/views/pages/404.vue';
|
import NotFound from '../common/views/pages/not-found.vue';
|
||||||
|
|
||||||
init(launch => {
|
init(launch => {
|
||||||
document.title = 'Admin';
|
document.title = 'Admin';
|
||||||
|
@ -69,7 +69,7 @@ export default Vue.extend({
|
|||||||
display block
|
display block
|
||||||
padding 12px 16px 16px 16px
|
padding 12px 16px 16px 16px
|
||||||
height 250px
|
height 250px
|
||||||
overflow hidden
|
overflow auto
|
||||||
box-shadow 0 2px 4px rgba(0, 0, 0, 0.1)
|
box-shadow 0 2px 4px rgba(0, 0, 0, 0.1)
|
||||||
background var(--adminDashboardCardBg)
|
background var(--adminDashboardCardBg)
|
||||||
border-radius 8px
|
border-radius 8px
|
||||||
|
@ -9,7 +9,7 @@ import './style.styl';
|
|||||||
|
|
||||||
import init from '../init';
|
import init from '../init';
|
||||||
import Index from './views/index.vue';
|
import Index from './views/index.vue';
|
||||||
import NotFound from '../common/views/pages/404.vue';
|
import NotFound from '../common/views/pages/not-found.vue';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* init
|
* init
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
/**
|
|
||||||
* 中央値を求めます
|
|
||||||
* @param samples サンプル
|
|
||||||
*/
|
|
||||||
export default function(samples) {
|
|
||||||
if (!samples.length) return 0;
|
|
||||||
const numbers = samples.slice(0).sort((a, b) => a - b);
|
|
||||||
const middle = Math.floor(numbers.length / 2);
|
|
||||||
const isEven = numbers.length % 2 === 0;
|
|
||||||
return isEven ? (numbers[middle] + numbers[middle - 1]) / 2 : numbers[middle];
|
|
||||||
}
|
|
@ -65,6 +65,10 @@ export default (opts: Opts = {}) => ({
|
|||||||
return this.isRenote ? this.note.renote : this.note;
|
return this.isRenote ? this.note.renote : this.note;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
isMyNote(): boolean {
|
||||||
|
return this.$store.getters.isSignedIn && (this.$store.state.i.id === this.appearNote.userId);
|
||||||
|
},
|
||||||
|
|
||||||
reactionsCount(): number {
|
reactionsCount(): number {
|
||||||
return this.appearNote.reactionCounts
|
return this.appearNote.reactionCounts
|
||||||
? sum(Object.values(this.appearNote.reactionCounts))
|
? sum(Object.values(this.appearNote.reactionCounts))
|
||||||
@ -125,9 +129,7 @@ export default (opts: Opts = {}) => ({
|
|||||||
source: this.$refs.reactButton,
|
source: this.$refs.reactButton,
|
||||||
note: this.appearNote,
|
note: this.appearNote,
|
||||||
showFocus: viaKeyboard,
|
showFocus: viaKeyboard,
|
||||||
animation: !viaKeyboard,
|
animation: !viaKeyboard
|
||||||
compact: opts.mobile,
|
|
||||||
big: opts.mobile
|
|
||||||
}).$once('closed', this.focus);
|
}).$once('closed', this.focus);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -138,6 +140,14 @@ export default (opts: Opts = {}) => ({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
undoReact(note) {
|
||||||
|
const oldReaction = note.myReaction;
|
||||||
|
if (!oldReaction) return;
|
||||||
|
this.$root.api('notes/reactions/delete', {
|
||||||
|
noteId: note.id
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
favorite() {
|
favorite() {
|
||||||
this.$root.api('notes/favorites/create', {
|
this.$root.api('notes/favorites/create', {
|
||||||
noteId: this.appearNote.id
|
noteId: this.appearNote.id
|
||||||
@ -159,8 +169,7 @@ export default (opts: Opts = {}) => ({
|
|||||||
this.$root.new(MkNoteMenu, {
|
this.$root.new(MkNoteMenu, {
|
||||||
source: this.$refs.menuButton,
|
source: this.$refs.menuButton,
|
||||||
note: this.appearNote,
|
note: this.appearNote,
|
||||||
animation: !viaKeyboard,
|
animation: !viaKeyboard
|
||||||
compact: opts.mobile,
|
|
||||||
}).$once('closed', this.focus);
|
}).$once('closed', this.focus);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -95,6 +95,7 @@ export default prop => ({
|
|||||||
Vue.set(this.$_ns_target.reactionCounts, reaction, 0);
|
Vue.set(this.$_ns_target.reactionCounts, reaction, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Increment the count
|
||||||
this.$_ns_target.reactionCounts[reaction]++;
|
this.$_ns_target.reactionCounts[reaction]++;
|
||||||
|
|
||||||
if (body.userId == this.$store.state.i.id) {
|
if (body.userId == this.$store.state.i.id) {
|
||||||
@ -103,6 +104,26 @@ export default prop => ({
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case 'unreacted': {
|
||||||
|
const reaction = body.reaction;
|
||||||
|
|
||||||
|
if (this.$_ns_target.reactionCounts == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.$_ns_target.reactionCounts[reaction] == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Decrement the count
|
||||||
|
if (this.$_ns_target.reactionCounts[reaction] > 0) this.$_ns_target.reactionCounts[reaction]--;
|
||||||
|
|
||||||
|
if (body.userId == this.$store.state.i.id) {
|
||||||
|
Vue.set(this.$_ns_target, 'myReaction', null);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case 'pollVoted': {
|
case 'pollVoted': {
|
||||||
if (body.userId == this.$store.state.i.id) return;
|
if (body.userId == this.$store.state.i.id) return;
|
||||||
const choice = body.choice;
|
const choice = body.choice;
|
||||||
|
@ -2,8 +2,17 @@ export default function(me, settings, note) {
|
|||||||
const isMyNote = note.userId == me.id;
|
const isMyNote = note.userId == me.id;
|
||||||
const isPureRenote = note.renoteId != null && note.text == null && note.fileIds.length == 0 && note.poll == null;
|
const isPureRenote = note.renoteId != null && note.text == null && note.fileIds.length == 0 && note.poll == null;
|
||||||
|
|
||||||
return settings.showMyRenotes === false && isMyNote && isPureRenote ||
|
const includesMutedWords = (text: string) =>
|
||||||
settings.showRenotedMyNotes === false && isPureRenote && note.renote.userId == me.id ||
|
text
|
||||||
settings.showLocalRenotes === false && isPureRenote && note.renote.user.host == null ||
|
? settings.mutedWords.some(q => q.length > 0 && !q.some(word => !text.includes(word)))
|
||||||
!isMyNote && note.text && settings.mutedWords.some(q => q.length > 0 && !q.some(word => !note.text.includes(word)));
|
: false;
|
||||||
|
|
||||||
|
return (
|
||||||
|
(!isMyNote && note.reply && includesMutedWords(note.reply.text)) ||
|
||||||
|
(!isMyNote && note.renote && includesMutedWords(note.renote.text)) ||
|
||||||
|
(settings.showMyRenotes === false && isMyNote && isPureRenote) ||
|
||||||
|
(settings.showRenotedMyNotes === false && isPureRenote && note.renote.userId == me.id) ||
|
||||||
|
(settings.showLocalRenotes === false && isPureRenote && note.renote.user.host == null) ||
|
||||||
|
(!isMyNote && includesMutedWords(note.text))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">
|
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">
|
||||||
<b>{{ value ? this.$t('hide') : this.$t('show') }}</b>
|
<b>{{ value ? this.$t('hide') : this.$t('show') }}</b>
|
||||||
<span v-if="!value">
|
<span v-if="!value">{{ this.label }}</span>
|
||||||
<span v-if="note.text">{{ this.$t('chars', { count: length(note.text) }) | number }}</span>
|
|
||||||
<span v-if="note.text && note.files && note.files.length > 0"> / </span>
|
|
||||||
<span v-if="note.files && note.files.length > 0">{{ this.$t('files', { count: note.files.length }) }}</span>
|
|
||||||
</span>
|
|
||||||
</button>
|
</button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -13,6 +9,7 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import { length } from 'stringz';
|
import { length } from 'stringz';
|
||||||
|
import { concat } from '../../../../../prelude/array';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('common/views/components/cw-button.vue'),
|
i18n: i18n('common/views/components/cw-button.vue'),
|
||||||
@ -28,6 +25,16 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
label(): string {
|
||||||
|
return concat([
|
||||||
|
this.note.text ? [this.$t('chars', { count: length(this.note.text) })] : [],
|
||||||
|
this.note.files && this.note.files.length !== 0 ? [this.$t('files', { count: this.note.files.length }) ] : [],
|
||||||
|
this.note.poll != null ? [this.$t('poll')] : []
|
||||||
|
] as string[][]).join(' / ');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
length,
|
length,
|
||||||
|
|
||||||
|
@ -15,7 +15,9 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
compiledFormula(): any {
|
compiledFormula(): any {
|
||||||
return katex.renderToString(this.formula);
|
return katex.renderToString(this.formula, {
|
||||||
|
throwOnError: false
|
||||||
|
} as any);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<router-link class="ldlomzub" :to="`/@${ canonical }`" v-user-preview="canonical">
|
<router-link class="ldlomzub" :to="`/${ canonical }`" v-user-preview="canonical">
|
||||||
<span class="me" v-if="isMe">{{ $t('@.you') }}</span>
|
<span class="me" v-if="isMe">{{ $t('@.you') }}</span>
|
||||||
<span class="main">
|
<span class="main">
|
||||||
<span class="username">@{{ username }}</span>
|
<span class="username">@{{ username }}</span>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="onchrpzrvnoruiaenfcqvccjfuupzzwv" :class="{ big: $root.isMobile }">
|
<div class="onchrpzrvnoruiaenfcqvccjfuupzzwv" :class="{ isMobile: $root.isMobile }">
|
||||||
<div class="backdrop" ref="backdrop" @click="close"></div>
|
<div class="backdrop" ref="backdrop" @click="close"></div>
|
||||||
<div class="popover" :class="{ hukidasi }" ref="popover">
|
<div class="popover" :class="{ hukidasi }" ref="popover">
|
||||||
<template v-for="item, i in items">
|
<template v-for="item, i in items">
|
||||||
@ -24,16 +24,11 @@ export default Vue.extend({
|
|||||||
items: {
|
items: {
|
||||||
type: Array,
|
type: Array,
|
||||||
required: true
|
required: true
|
||||||
},
|
|
||||||
compact: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
hukidasi: !this.compact
|
hukidasi: !this.$root.isMobile
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -47,7 +42,7 @@ export default Vue.extend({
|
|||||||
let left;
|
let left;
|
||||||
let top;
|
let top;
|
||||||
|
|
||||||
if (this.compact) {
|
if (this.$root.isMobile) {
|
||||||
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
|
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
|
||||||
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
|
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
|
||||||
left = (x - (width / 2));
|
left = (x - (width / 2));
|
||||||
@ -121,11 +116,10 @@ export default Vue.extend({
|
|||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.onchrpzrvnoruiaenfcqvccjfuupzzwv
|
.onchrpzrvnoruiaenfcqvccjfuupzzwv
|
||||||
$bg-color = var(--popupBg)
|
$bg-color = var(--popupBg)
|
||||||
$border-color = rgba(27, 31, 35, 0.15)
|
|
||||||
|
|
||||||
position initial
|
position initial
|
||||||
|
|
||||||
&.big
|
&.isMobile
|
||||||
> .popover
|
> .popover
|
||||||
> button
|
> button
|
||||||
font-size 15px
|
font-size 15px
|
||||||
@ -145,7 +139,6 @@ export default Vue.extend({
|
|||||||
z-index 10001
|
z-index 10001
|
||||||
padding 8px 0
|
padding 8px 0
|
||||||
background $bg-color
|
background $bg-color
|
||||||
border 1px solid $border-color
|
|
||||||
border-radius 4px
|
border-radius 4px
|
||||||
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
|
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
|
||||||
transform scale(0.5)
|
transform scale(0.5)
|
||||||
@ -170,14 +163,6 @@ export default Vue.extend({
|
|||||||
border-top solid $balloon-size transparent
|
border-top solid $balloon-size transparent
|
||||||
border-left solid $balloon-size transparent
|
border-left solid $balloon-size transparent
|
||||||
border-right solid $balloon-size transparent
|
border-right solid $balloon-size transparent
|
||||||
border-bottom solid $balloon-size $border-color
|
|
||||||
|
|
||||||
&:after
|
|
||||||
top -($balloon-size * 2) + 1.5px
|
|
||||||
left s('calc(50% - %s)', $balloon-size)
|
|
||||||
border-top solid $balloon-size transparent
|
|
||||||
border-left solid $balloon-size transparent
|
|
||||||
border-right solid $balloon-size transparent
|
|
||||||
border-bottom solid $balloon-size $bg-color
|
border-bottom solid $balloon-size $bg-color
|
||||||
|
|
||||||
> button
|
> button
|
||||||
|
@ -85,7 +85,7 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (items[0].kind == 'file') {
|
if (items[0].kind == 'file') {
|
||||||
alert('%i18n:only-one-file-attached%');
|
alert(this.$t('only-one-file-attached'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -107,7 +107,7 @@ export default Vue.extend({
|
|||||||
return;
|
return;
|
||||||
} else if (e.dataTransfer.files.length > 1) {
|
} else if (e.dataTransfer.files.length > 1) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
alert('%i18n:only-one-file-attached%');
|
alert(this.$t('only-one-file-attached'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
<mk-avatar class="avatar" :user="message.user" target="_blank"/>
|
<mk-avatar class="avatar" :user="message.user" target="_blank"/>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="balloon" :data-no-text="message.text == null">
|
<div class="balloon" :data-no-text="message.text == null">
|
||||||
<!-- <button class="delete-button" v-if="isMe" :title="$t('@.delete')">
|
<button class="delete-button" v-if="isMe" :title="$t('@.delete')" @click="del">
|
||||||
<img src="/assets/desktop/messaging/delete.png" alt="Delete"/>
|
<img src="/assets/desktop/remove.png" alt="Delete"/>
|
||||||
</button> -->
|
</button>
|
||||||
<div class="content" v-if="!message.isDeleted">
|
<div class="content" v-if="!message.isDeleted">
|
||||||
<misskey-flavored-markdown class="text" v-if="message.text" ref="text" :text="message.text" :i="$store.state.i"/>
|
<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">
|
||||||
@ -16,7 +16,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content" v-if="message.isDeleted">
|
<div class="content" v-else>
|
||||||
<p class="is-deleted">{{ $t('deleted') }}</p>
|
<p class="is-deleted">{{ $t('deleted') }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -58,6 +58,13 @@ export default Vue.extend({
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
del() {
|
||||||
|
this.$root.api('messaging/messages/delete', {
|
||||||
|
messageId: this.message.id
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -79,6 +79,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
this.connection.on('message', this.onMessage);
|
this.connection.on('message', this.onMessage);
|
||||||
this.connection.on('read', this.onRead);
|
this.connection.on('read', this.onRead);
|
||||||
|
this.connection.on('deleted', this.onDeleted);
|
||||||
|
|
||||||
if (this.isNaked) {
|
if (this.isNaked) {
|
||||||
window.addEventListener('scroll', this.onScroll, { passive: true });
|
window.addEventListener('scroll', this.onScroll, { passive: true });
|
||||||
@ -204,6 +205,13 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onDeleted(id) {
|
||||||
|
const msg = this.messages.find(m => m.id === id);
|
||||||
|
if (msg) {
|
||||||
|
this.messages = this.messages.filter(m => m.id !== msg.id);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
isBottom() {
|
isBottom() {
|
||||||
const asobi = 64;
|
const asobi = 64;
|
||||||
const current = this.isNaked
|
const current = this.isNaked
|
||||||
|
@ -129,8 +129,10 @@ export default Vue.component('misskey-flavored-markdown', {
|
|||||||
key: Math.random(),
|
key: Math.random(),
|
||||||
props: {
|
props: {
|
||||||
url: token.node.props.url,
|
url: token.node.props.url,
|
||||||
target: '_blank',
|
target: '_blank'
|
||||||
style: 'color:var(--mfmLink);'
|
},
|
||||||
|
attrs: {
|
||||||
|
style: 'color:var(--mfmUrl);'
|
||||||
}
|
}
|
||||||
})];
|
})];
|
||||||
}
|
}
|
||||||
|
@ -18,8 +18,7 @@
|
|||||||
<span class="visibility" v-if="note.visibility != 'public'">
|
<span class="visibility" v-if="note.visibility != 'public'">
|
||||||
<fa v-if="note.visibility == 'home'" icon="home"/>
|
<fa v-if="note.visibility == 'home'" icon="home"/>
|
||||||
<fa v-if="note.visibility == 'followers'" icon="unlock"/>
|
<fa v-if="note.visibility == 'followers'" icon="unlock"/>
|
||||||
<fa v-if="note.visibility == 'specified'" icon="envelope"/>
|
<fa v-if="note.visibility == 'specified'" icon="lock"/>
|
||||||
<fa v-if="note.visibility == 'private'" icon="lock"/>
|
|
||||||
</span>
|
</span>
|
||||||
<span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span>
|
<span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="position:initial">
|
<div style="position:initial">
|
||||||
<mk-menu :source="source" :compact="compact" :items="items" @closed="closed"/>
|
<mk-menu :source="source" :items="items" @closed="closed"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -13,10 +13,17 @@ import { concat, intersperse } from '../../../../../prelude/array';
|
|||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('common/views/components/note-menu.vue'),
|
i18n: i18n('common/views/components/note-menu.vue'),
|
||||||
props: ['note', 'source', 'compact'],
|
props: ['note', 'source'],
|
||||||
computed: {
|
computed: {
|
||||||
items(): any[] {
|
items(): any[] {
|
||||||
return concat(intersperse([null], [
|
return concat(intersperse([null], [
|
||||||
|
[
|
||||||
|
[{
|
||||||
|
icon: 'at',
|
||||||
|
text: this.$t('mention'),
|
||||||
|
action: this.mention
|
||||||
|
}]
|
||||||
|
],
|
||||||
[
|
[
|
||||||
[{
|
[{
|
||||||
icon: 'info-circle',
|
icon: 'info-circle',
|
||||||
@ -66,6 +73,10 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
mention() {
|
||||||
|
this.$post({ mention: this.note.user });
|
||||||
|
},
|
||||||
|
|
||||||
detail() {
|
detail() {
|
||||||
this.$router.push(`/notes/${this.note.id}`);
|
this.$router.push(`/notes/${this.note.id}`);
|
||||||
},
|
},
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<ui-card>
|
||||||
|
<div slot="title"><fa :icon="['far', 'bell']"/> {{ $t('notification') }}</div>
|
||||||
|
<section>
|
||||||
|
<ui-switch v-model="$store.state.i.settings.autoWatch" @change="onChangeAutoWatch">
|
||||||
|
{{ $t('auto-watch') }}<span slot="desc">{{ $t('auto-watch-desc') }}</span>
|
||||||
|
</ui-switch>
|
||||||
|
<section>
|
||||||
|
<ui-button @click="readAllNotifications">{{ $t('mark-as-read-all-notifications') }}</ui-button>
|
||||||
|
<ui-button @click="readAllUnreadNotes">{{ $t('mark-as-read-all-unread-notes') }}</ui-button>
|
||||||
|
<ui-button @click="readAllMessagingMessages">{{ $t('mark-as-read-all-talk-messages') }}</ui-button>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</ui-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
import i18n from '../../../i18n';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
i18n: i18n('common/views/components/notification-settings.vue'),
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
onChangeAutoWatch(v) {
|
||||||
|
this.$root.api('i/update', {
|
||||||
|
autoWatch: v
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
readAllUnreadNotes() {
|
||||||
|
this.$root.api('i/read_all_unread_notes');
|
||||||
|
},
|
||||||
|
|
||||||
|
readAllMessagingMessages() {
|
||||||
|
this.$root.api('i/read_all_messaging_messages');
|
||||||
|
},
|
||||||
|
|
||||||
|
readAllNotifications() {
|
||||||
|
this.$root.api('notifications/mark_all_as_read');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
@ -69,7 +69,8 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<ui-switch v-model="isLocked" @change="save(false)">{{ $t('is-locked') }}</ui-switch>
|
<ui-switch v-model="isLocked" @change="save(false)">{{ $t('is-locked') }}</ui-switch>
|
||||||
<ui-switch v-model="carefulBot" @change="save(false)">{{ $t('careful-bot') }}</ui-switch>
|
<ui-switch v-model="carefulBot" :disabled="isLocked" @change="save(false)">{{ $t('careful-bot') }}</ui-switch>
|
||||||
|
<ui-switch v-model="autoAcceptFollowed" :disabled="!isLocked && !carefulBot" @change="save(false)">{{ $t('auto-accept-followed') }}</ui-switch>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@ -118,6 +119,7 @@ export default Vue.extend({
|
|||||||
isBot: false,
|
isBot: false,
|
||||||
isLocked: false,
|
isLocked: false,
|
||||||
carefulBot: false,
|
carefulBot: false,
|
||||||
|
autoAcceptFollowed: false,
|
||||||
saving: false,
|
saving: false,
|
||||||
avatarUploading: false,
|
avatarUploading: false,
|
||||||
bannerUploading: false
|
bannerUploading: false
|
||||||
@ -156,6 +158,7 @@ export default Vue.extend({
|
|||||||
this.isBot = this.$store.state.i.isBot;
|
this.isBot = this.$store.state.i.isBot;
|
||||||
this.isLocked = this.$store.state.i.isLocked;
|
this.isLocked = this.$store.state.i.isLocked;
|
||||||
this.carefulBot = this.$store.state.i.carefulBot;
|
this.carefulBot = this.$store.state.i.carefulBot;
|
||||||
|
this.autoAcceptFollowed = this.$store.state.i.autoAcceptFollowed;
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
@ -217,7 +220,8 @@ export default Vue.extend({
|
|||||||
isCat: !!this.isCat,
|
isCat: !!this.isCat,
|
||||||
isBot: !!this.isBot,
|
isBot: !!this.isBot,
|
||||||
isLocked: !!this.isLocked,
|
isLocked: !!this.isLocked,
|
||||||
carefulBot: !!this.carefulBot
|
carefulBot: !!this.carefulBot,
|
||||||
|
autoAcceptFollowed: !!this.autoAcceptFollowed
|
||||||
}).then(i => {
|
}).then(i => {
|
||||||
this.saving = false;
|
this.saving = false;
|
||||||
this.$store.state.i.avatarId = i.avatarId;
|
this.$store.state.i.avatarId = i.avatarId;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-reaction-picker" v-hotkey.global="keymap">
|
<div class="rdfaahpb" v-hotkey.global="keymap">
|
||||||
<div class="backdrop" ref="backdrop" @click="close"></div>
|
<div class="backdrop" ref="backdrop" @click="close"></div>
|
||||||
<div class="popover" :class="{ compact, big }" ref="popover">
|
<div class="popover" :class="{ isMobile: $root.isMobile }" ref="popover">
|
||||||
<p v-if="!compact">{{ title }}</p>
|
<p v-if="!$root.isMobile">{{ title }}</p>
|
||||||
<div ref="buttons" :class="{ showFocus }">
|
<div ref="buttons" :class="{ showFocus }">
|
||||||
<button @click="react('like')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="1" :title="$t('@.reactions.like')" v-particle><mk-reaction-icon reaction="like"/></button>
|
<button @click="react('like')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="1" :title="$t('@.reactions.like')" v-particle><mk-reaction-icon reaction="like"/></button>
|
||||||
<button @click="react('love')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="2" :title="$t('@.reactions.love')" v-particle><mk-reaction-icon reaction="love"/></button>
|
<button @click="react('love')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="2" :title="$t('@.reactions.love')" v-particle><mk-reaction-icon reaction="love"/></button>
|
||||||
@ -36,22 +36,10 @@ export default Vue.extend({
|
|||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
|
|
||||||
compact: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
|
|
||||||
cb: {
|
cb: {
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
|
|
||||||
big: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
|
|
||||||
showFocus: {
|
showFocus: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
@ -115,7 +103,7 @@ export default Vue.extend({
|
|||||||
const width = popover.offsetWidth;
|
const width = popover.offsetWidth;
|
||||||
const height = popover.offsetHeight;
|
const height = popover.offsetHeight;
|
||||||
|
|
||||||
if (this.compact) {
|
if (this.$root.isMobile) {
|
||||||
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
|
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
|
||||||
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
|
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
|
||||||
popover.style.left = (x - (width / 2)) + 'px';
|
popover.style.left = (x - (width / 2)) + 'px';
|
||||||
@ -210,9 +198,7 @@ export default Vue.extend({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
$border-color = rgba(27, 31, 35, 0.15)
|
.rdfaahpb
|
||||||
|
|
||||||
.mk-reaction-picker
|
|
||||||
position initial
|
position initial
|
||||||
|
|
||||||
> .backdrop
|
> .backdrop
|
||||||
@ -230,41 +216,12 @@ $border-color = rgba(27, 31, 35, 0.15)
|
|||||||
position absolute
|
position absolute
|
||||||
z-index 10001
|
z-index 10001
|
||||||
background $bgcolor
|
background $bgcolor
|
||||||
border 1px solid $border-color
|
|
||||||
border-radius 4px
|
border-radius 4px
|
||||||
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
|
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
|
||||||
transform scale(0.5)
|
transform scale(0.5)
|
||||||
opacity 0
|
opacity 0
|
||||||
|
|
||||||
$balloon-size = 16px
|
&.isMobile
|
||||||
|
|
||||||
&:not(.compact)
|
|
||||||
margin-top $balloon-size
|
|
||||||
transform-origin center -($balloon-size)
|
|
||||||
|
|
||||||
&:before
|
|
||||||
content ""
|
|
||||||
display block
|
|
||||||
position absolute
|
|
||||||
top -($balloon-size * 2)
|
|
||||||
left s('calc(50% - %s)', $balloon-size)
|
|
||||||
border-top solid $balloon-size transparent
|
|
||||||
border-left solid $balloon-size transparent
|
|
||||||
border-right solid $balloon-size transparent
|
|
||||||
border-bottom solid $balloon-size $border-color
|
|
||||||
|
|
||||||
&:after
|
|
||||||
content ""
|
|
||||||
display block
|
|
||||||
position absolute
|
|
||||||
top -($balloon-size * 2) + 1.5px
|
|
||||||
left s('calc(50% - %s)', $balloon-size)
|
|
||||||
border-top solid $balloon-size transparent
|
|
||||||
border-left solid $balloon-size transparent
|
|
||||||
border-right solid $balloon-size transparent
|
|
||||||
border-bottom solid $balloon-size $bgcolor
|
|
||||||
|
|
||||||
&.big
|
|
||||||
> div
|
> div
|
||||||
width 280px
|
width 280px
|
||||||
|
|
||||||
@ -274,6 +231,23 @@ $border-color = rgba(27, 31, 35, 0.15)
|
|||||||
font-size 28px
|
font-size 28px
|
||||||
border-radius 4px
|
border-radius 4px
|
||||||
|
|
||||||
|
&:not(.isMobile)
|
||||||
|
$arrow-size = 16px
|
||||||
|
|
||||||
|
margin-top $arrow-size
|
||||||
|
transform-origin center -($arrow-size)
|
||||||
|
|
||||||
|
&:before
|
||||||
|
content ""
|
||||||
|
display block
|
||||||
|
position absolute
|
||||||
|
top -($arrow-size * 2)
|
||||||
|
left s('calc(50% - %s)', $arrow-size)
|
||||||
|
border-top solid $arrow-size transparent
|
||||||
|
border-left solid $arrow-size transparent
|
||||||
|
border-right solid $arrow-size transparent
|
||||||
|
border-bottom solid $arrow-size $bgcolor
|
||||||
|
|
||||||
> p
|
> p
|
||||||
display block
|
display block
|
||||||
margin 0
|
margin 0
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-reactions-viewer">
|
<div class="mk-reactions-viewer" :class="{ isMe }">
|
||||||
<template v-if="reactions">
|
<template v-if="reactions">
|
||||||
<span :class="{ reacted: note.myReaction == 'like' }" @click="react('like')" v-if="reactions.like" v-particle><mk-reaction-icon reaction="like" ref="like"/><span>{{ reactions.like }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'like' }" @click="toggleReaction('like')" v-if="reactions.like" v-particle="!isMe"><mk-reaction-icon reaction="like" ref="like"/><span>{{ reactions.like }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'love' }" @click="react('love')" v-if="reactions.love" v-particle><mk-reaction-icon reaction="love" ref="love"/><span>{{ reactions.love }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'love' }" @click="toggleReaction('love')" v-if="reactions.love" v-particle="!isMe"><mk-reaction-icon reaction="love" ref="love"/><span>{{ reactions.love }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'laugh' }" @click="react('laugh')" v-if="reactions.laugh" v-particle><mk-reaction-icon reaction="laugh" ref="laugh"/><span>{{ reactions.laugh }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'laugh' }" @click="toggleReaction('laugh')" v-if="reactions.laugh" v-particle="!isMe"><mk-reaction-icon reaction="laugh" ref="laugh"/><span>{{ reactions.laugh }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'hmm' }" @click="react('hmm')" v-if="reactions.hmm" v-particle><mk-reaction-icon reaction="hmm" ref="hmm"/><span>{{ reactions.hmm }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'hmm' }" @click="toggleReaction('hmm')" v-if="reactions.hmm" v-particle="!isMe"><mk-reaction-icon reaction="hmm" ref="hmm"/><span>{{ reactions.hmm }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'surprise' }" @click="react('surprise')" v-if="reactions.surprise" v-particle><mk-reaction-icon reaction="surprise" ref="surprise"/><span>{{ reactions.surprise }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'surprise' }" @click="toggleReaction('surprise')" v-if="reactions.surprise" v-particle="!isMe"><mk-reaction-icon reaction="surprise" ref="surprise"/><span>{{ reactions.surprise }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'congrats' }" @click="react('congrats')" v-if="reactions.congrats" v-particle><mk-reaction-icon reaction="congrats" ref="congrats"/><span>{{ reactions.congrats }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'congrats' }" @click="toggleReaction('congrats')" v-if="reactions.congrats" v-particle="!isMe"><mk-reaction-icon reaction="congrats" ref="congrats"/><span>{{ reactions.congrats }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'angry' }" @click="react('angry')" v-if="reactions.angry" v-particle><mk-reaction-icon reaction="angry" ref="angry"/><span>{{ reactions.angry }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'angry' }" @click="toggleReaction('angry')" v-if="reactions.angry" v-particle="!isMe"><mk-reaction-icon reaction="angry" ref="angry"/><span>{{ reactions.angry }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'confused' }" @click="react('confused')" v-if="reactions.confused" v-particle><mk-reaction-icon reaction="confused" ref="confused"/><span>{{ reactions.confused }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'confused' }" @click="toggleReaction('confused')" v-if="reactions.confused" v-particle="!isMe"><mk-reaction-icon reaction="confused" ref="confused"/><span>{{ reactions.confused }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'rip' }" @click="react('rip')" v-if="reactions.rip" v-particle><mk-reaction-icon reaction="rip" ref="rip"/><span>{{ reactions.rip }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'rip' }" @click="toggleReaction('rip')" v-if="reactions.rip" v-particle="!isMe"><mk-reaction-icon reaction="rip" ref="rip"/><span>{{ reactions.rip }}</span></span>
|
||||||
<span :class="{ reacted: note.myReaction == 'pudding' }" @click="react('pudding')" v-if="reactions.pudding" v-particle><mk-reaction-icon reaction="pudding" ref="pudding"/><span>{{ reactions.pudding }}</span></span>
|
<span :class="{ reacted: note.myReaction == 'pudding' }" @click="toggleReaction('pudding')" v-if="reactions.pudding" v-particle="!isMe"><mk-reaction-icon reaction="pudding" ref="pudding"/><span>{{ reactions.pudding }}</span></span>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -21,10 +21,18 @@ import Icon from './reaction-icon.vue';
|
|||||||
import * as anime from 'animejs';
|
import * as anime from 'animejs';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
props: ['note'],
|
props: {
|
||||||
|
note: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
reactions(): any {
|
reactions(): any {
|
||||||
return this.note.reactionCounts;
|
return this.note.reactionCounts;
|
||||||
|
},
|
||||||
|
isMe(): boolean {
|
||||||
|
return this.$store.getters.isSignedIn && (this.$store.state.i.id === this.note.userId);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -60,11 +68,27 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
react(reaction: string) {
|
toggleReaction(reaction: string) {
|
||||||
|
if (this.isMe) return;
|
||||||
|
|
||||||
|
const oldReaction = this.note.myReaction;
|
||||||
|
if (oldReaction) {
|
||||||
|
this.$root.api('notes/reactions/delete', {
|
||||||
|
noteId: this.note.id
|
||||||
|
}).then(() => {
|
||||||
|
if (oldReaction !== reaction) {
|
||||||
this.$root.api('notes/reactions/create', {
|
this.$root.api('notes/reactions/create', {
|
||||||
noteId: this.note.id,
|
noteId: this.note.id,
|
||||||
reaction: reaction
|
reaction: reaction
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$root.api('notes/reactions/create', {
|
||||||
|
noteId: this.note.id,
|
||||||
|
reaction: reaction
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
anime(reaction: string) {
|
anime(reaction: string) {
|
||||||
if (this.$store.state.device.reduceMotion) return;
|
if (this.$store.state.device.reduceMotion) return;
|
||||||
@ -114,12 +138,20 @@ export default Vue.extend({
|
|||||||
&:empty
|
&:empty
|
||||||
display none
|
display none
|
||||||
|
|
||||||
|
&.isMe
|
||||||
|
> span
|
||||||
|
cursor default !important
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
background var(--reactionViewerButtonBg) !important
|
||||||
|
|
||||||
> span
|
> span
|
||||||
display inline-block
|
display inline-block
|
||||||
height 32px
|
height 32px
|
||||||
margin-right 6px
|
margin-right 6px
|
||||||
padding 0 6px
|
padding 0 6px
|
||||||
border-radius 4px
|
border-radius 4px
|
||||||
|
cursor pointer
|
||||||
|
|
||||||
*
|
*
|
||||||
user-select none
|
user-select none
|
||||||
@ -132,7 +164,6 @@ export default Vue.extend({
|
|||||||
color var(--primaryForeground)
|
color var(--primaryForeground)
|
||||||
|
|
||||||
&:not(.reacted)
|
&:not(.reacted)
|
||||||
cursor pointer
|
|
||||||
background var(--reactionViewerButtonBg)
|
background var(--reactionViewerButtonBg)
|
||||||
|
|
||||||
&:hover
|
&:hover
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
<span class="visibility" v-if="note.visibility != 'public'">
|
<span class="visibility" v-if="note.visibility != 'public'">
|
||||||
<fa v-if="note.visibility == 'home'" icon="home"/>
|
<fa v-if="note.visibility == 'home'" icon="home"/>
|
||||||
<fa v-if="note.visibility == 'followers'" icon="unlock"/>
|
<fa v-if="note.visibility == 'followers'" icon="unlock"/>
|
||||||
<fa v-if="note.visibility == 'specified'" icon="envelope"/>
|
<fa v-if="note.visibility == 'specified'" icon="lock"/>
|
||||||
<fa v-if="note.visibility == 'private'" icon="lock"/>
|
|
||||||
</span>
|
</span>
|
||||||
<span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span>
|
<span class="localOnly" v-if="note.localOnly == true"><fa icon="heart"/></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<header>
|
<header>
|
||||||
<h1>{{ title }}</h1>
|
<h1>{{ title }}</h1>
|
||||||
</header>
|
</header>
|
||||||
<p>{{ description.length > 85 ? description.slice(0, 85) + '…' : description }}</p>
|
<p v-if="description">{{ description.length > 85 ? description.slice(0, 85) + '…' : description }}</p>
|
||||||
<footer>
|
<footer>
|
||||||
<img class="icon" v-if="icon" :src="icon"/>
|
<img class="icon" v-if="icon" :src="icon"/>
|
||||||
<p>{{ sitename }}</p>
|
<p>{{ sitename }}</p>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-visibility-chooser">
|
<div class="gqyayizv">
|
||||||
<div class="backdrop" ref="backdrop" @click="close"></div>
|
<div class="backdrop" ref="backdrop" @click="close"></div>
|
||||||
<div class="popover" :class="{ compact }" ref="popover">
|
<div class="popover" :class="{ isMobile: $root.isMobile }" ref="popover">
|
||||||
<div @click="choose('public')" :class="{ active: v == 'public' }">
|
<div @click="choose('public')" :class="{ active: v == 'public' }">
|
||||||
<div><fa icon="globe"/></div>
|
<div><fa icon="globe"/></div>
|
||||||
<div>
|
<div>
|
||||||
@ -23,18 +23,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div @click="choose('specified')" :class="{ active: v == 'specified' }">
|
<div @click="choose('specified')" :class="{ active: v == 'specified' }">
|
||||||
<div><fa icon="envelope"/></div>
|
<div><fa icon="lock"/></div>
|
||||||
<div>
|
<div>
|
||||||
<span>{{ $t('specified') }}</span>
|
<span>{{ $t('specified') }}</span>
|
||||||
<span>{{ $t('specified-desc') }}</span>
|
<span>{{ $t('specified-desc') }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div @click="choose('private')" :class="{ active: v == 'private' }">
|
|
||||||
<div><fa icon="lock"/></div>
|
|
||||||
<div>
|
|
||||||
<span>{{ $t('private') }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div @click="choose('local-public')" :class="{ active: v == 'local-public' }">
|
<div @click="choose('local-public')" :class="{ active: v == 'local-public' }">
|
||||||
<div><fa icon="globe"/></div>
|
<div><fa icon="globe"/></div>
|
||||||
<div>
|
<div>
|
||||||
@ -65,7 +59,7 @@ import * as anime from 'animejs';
|
|||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('common/views/components/visibility-chooser.vue'),
|
i18n: i18n('common/views/components/visibility-chooser.vue'),
|
||||||
props: ['source', 'compact'],
|
props: ['source'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
v: this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility
|
v: this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility
|
||||||
@ -82,7 +76,7 @@ export default Vue.extend({
|
|||||||
let left;
|
let left;
|
||||||
let top;
|
let top;
|
||||||
|
|
||||||
if (this.compact) {
|
if (this.$root.isMobile) {
|
||||||
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
|
const x = rect.left + window.pageXOffset + (this.source.offsetWidth / 2);
|
||||||
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
|
const y = rect.top + window.pageYOffset + (this.source.offsetHeight / 2);
|
||||||
left = (x - (width / 2));
|
left = (x - (width / 2));
|
||||||
@ -148,9 +142,7 @@ export default Vue.extend({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
$border-color = rgba(27, 31, 35, 0.15)
|
.gqyayizv
|
||||||
|
|
||||||
.mk-visibility-chooser
|
|
||||||
position initial
|
position initial
|
||||||
|
|
||||||
> .backdrop
|
> .backdrop
|
||||||
@ -176,33 +168,22 @@ $border-color = rgba(27, 31, 35, 0.15)
|
|||||||
transform scale(0.5)
|
transform scale(0.5)
|
||||||
opacity 0
|
opacity 0
|
||||||
|
|
||||||
$balloon-size = 10px
|
&:not(.isMobile)
|
||||||
|
$arrow-size = 10px
|
||||||
|
|
||||||
&:not(.compact)
|
margin-top $arrow-size
|
||||||
margin-top $balloon-size
|
transform-origin center -($arrow-size)
|
||||||
transform-origin center -($balloon-size)
|
|
||||||
|
|
||||||
&:before
|
&:before
|
||||||
content ""
|
content ""
|
||||||
display block
|
display block
|
||||||
position absolute
|
position absolute
|
||||||
top -($balloon-size * 2)
|
top -($arrow-size * 2)
|
||||||
left s('calc(50% - %s)', $balloon-size)
|
left s('calc(50% - %s)', $arrow-size)
|
||||||
border-top solid $balloon-size transparent
|
border-top solid $arrow-size transparent
|
||||||
border-left solid $balloon-size transparent
|
border-left solid $arrow-size transparent
|
||||||
border-right solid $balloon-size transparent
|
border-right solid $arrow-size transparent
|
||||||
border-bottom solid $balloon-size $border-color
|
border-bottom solid $arrow-size $bgcolor
|
||||||
|
|
||||||
&:after
|
|
||||||
content ""
|
|
||||||
display block
|
|
||||||
position absolute
|
|
||||||
top -($balloon-size * 2) + 1.5px
|
|
||||||
left s('calc(50% - %s)', $balloon-size)
|
|
||||||
border-top solid $balloon-size transparent
|
|
||||||
border-left solid $balloon-size transparent
|
|
||||||
border-right solid $balloon-size transparent
|
|
||||||
border-bottom solid $balloon-size $bgcolor
|
|
||||||
|
|
||||||
> div
|
> div
|
||||||
display flex
|
display flex
|
||||||
@ -241,4 +222,5 @@ $border-color = rgba(27, 31, 35, 0.15)
|
|||||||
|
|
||||||
> span:last-child:not(:first-child)
|
> span:last-child:not(:first-child)
|
||||||
opacity 0.6
|
opacity 0.6
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -5,6 +5,8 @@ export default {
|
|||||||
if (vn.context.$store.state.device.reduceMotion) return;
|
if (vn.context.$store.state.device.reduceMotion) return;
|
||||||
|
|
||||||
el.addEventListener('click', () => {
|
el.addEventListener('click', () => {
|
||||||
|
if (binding.value === false) return;
|
||||||
|
|
||||||
const rect = el.getBoundingClientRect();
|
const rect = el.getBoundingClientRect();
|
||||||
|
|
||||||
const x = rect.left + (el.clientWidth / 2);
|
const x = rect.left + (el.clientWidth / 2);
|
||||||
|
@ -13,7 +13,7 @@ import Vue from 'vue'
|
|||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('common/views/pages/404.vue'),
|
i18n: i18n('common/views/pages/not-found.vue'),
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
src: ''
|
src: ''
|
@ -22,5 +22,5 @@ export default Vue.extend({
|
|||||||
> p
|
> p
|
||||||
margin 0
|
margin 0
|
||||||
font-size 12px
|
font-size 12px
|
||||||
color #505050
|
color var(--text)
|
||||||
</style>
|
</style>
|
||||||
|
@ -40,7 +40,7 @@ export default Vue.extend({
|
|||||||
> p
|
> p
|
||||||
margin 0
|
margin 0
|
||||||
font-size 12px
|
font-size 12px
|
||||||
color #505050
|
color var(--text)
|
||||||
|
|
||||||
&:first-child
|
&:first-child
|
||||||
font-weight bold
|
font-weight bold
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { apiUrl } from '../../config';
|
import { apiUrl, locale } from '../../config';
|
||||||
import CropWindow from '../views/components/crop-window.vue';
|
import CropWindow from '../views/components/crop-window.vue';
|
||||||
import ProgressDialog from '../views/components/progress-dialog.vue';
|
import ProgressDialog from '../views/components/progress-dialog.vue';
|
||||||
|
|
||||||
@ -9,7 +9,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.dialog({
|
$root.dialog({
|
||||||
title: '%fa:info-circle% %i18n:desktop.invalid-filetype%',
|
title: locale['desktop']['invalid-filetype'],
|
||||||
text: null
|
text: null
|
||||||
});
|
});
|
||||||
return reject('invalid-filetype');
|
return reject('invalid-filetype');
|
||||||
@ -17,7 +17,7 @@ export default ($root: any) => {
|
|||||||
|
|
||||||
const w = $root.new(CropWindow, {
|
const w = $root.new(CropWindow, {
|
||||||
image: file,
|
image: file,
|
||||||
title: '%i18n:desktop.avatar-crop-title%',
|
title: locale['desktop']['avatar-crop-title'],
|
||||||
aspectRatio: 1 / 1
|
aspectRatio: 1 / 1
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -27,11 +27,11 @@ export default ($root: any) => {
|
|||||||
data.append('file', blob, file.name + '.cropped.png');
|
data.append('file', blob, file.name + '.cropped.png');
|
||||||
|
|
||||||
$root.api('drive/folders/find', {
|
$root.api('drive/folders/find', {
|
||||||
name: '%i18n:desktop.avatar%'
|
name: locale['desktop']['avatar']
|
||||||
}).then(avatarFolder => {
|
}).then(avatarFolder => {
|
||||||
if (avatarFolder.length === 0) {
|
if (avatarFolder.length === 0) {
|
||||||
$root.api('drive/folders/create', {
|
$root.api('drive/folders/create', {
|
||||||
name: '%i18n:desktop.avatar%'
|
name: locale['desktop']['avatar']
|
||||||
}).then(iconFolder => {
|
}).then(iconFolder => {
|
||||||
resolve(upload(data, iconFolder));
|
resolve(upload(data, iconFolder));
|
||||||
});
|
});
|
||||||
@ -52,7 +52,7 @@ export default ($root: any) => {
|
|||||||
|
|
||||||
const upload = (data, folder) => new Promise((resolve, reject) => {
|
const upload = (data, folder) => new Promise((resolve, reject) => {
|
||||||
const dialog = $root.new(ProgressDialog, {
|
const dialog = $root.new(ProgressDialog, {
|
||||||
title: '%i18n:desktop.uploading-avatar%'
|
title: locale['desktop']['uploading-avatar']
|
||||||
});
|
});
|
||||||
document.body.appendChild(dialog.$el);
|
document.body.appendChild(dialog.$el);
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ export default ($root: any) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$root.dialog({
|
$root.dialog({
|
||||||
title: '%fa:info-circle% %i18n:desktop.avatar-updated%',
|
title: locale['desktop']['avatar-updated'],
|
||||||
text: null
|
text: null
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ export default ($root: any) => {
|
|||||||
? Promise.resolve(file)
|
? Promise.resolve(file)
|
||||||
: $root.$chooseDriveFile({
|
: $root.$chooseDriveFile({
|
||||||
multiple: false,
|
multiple: false,
|
||||||
title: '%fa:image% %i18n:desktop.choose-avatar%'
|
title: locale['desktop']['choose-avatar']
|
||||||
});
|
});
|
||||||
|
|
||||||
return selectedFile
|
return selectedFile
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { apiUrl } from '../../config';
|
import { apiUrl, locale } from '../../config';
|
||||||
import CropWindow from '../views/components/crop-window.vue';
|
import CropWindow from '../views/components/crop-window.vue';
|
||||||
import ProgressDialog from '../views/components/progress-dialog.vue';
|
import ProgressDialog from '../views/components/progress-dialog.vue';
|
||||||
|
|
||||||
@ -9,7 +9,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.dialog({
|
$root.dialog({
|
||||||
title: '%fa:info-circle% %i18n:desktop.invalid-filetype%',
|
title: locale['desktop']['invalid-filetype'],
|
||||||
text: null
|
text: null
|
||||||
});
|
});
|
||||||
return reject('invalid-filetype');
|
return reject('invalid-filetype');
|
||||||
@ -17,7 +17,7 @@ export default ($root: any) => {
|
|||||||
|
|
||||||
const w = $root.new(CropWindow, {
|
const w = $root.new(CropWindow, {
|
||||||
image: file,
|
image: file,
|
||||||
title: '%i18n:desktop.banner-crop-title%',
|
title: locale['desktop']['banner-crop-title'],
|
||||||
aspectRatio: 16 / 9
|
aspectRatio: 16 / 9
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -27,11 +27,11 @@ export default ($root: any) => {
|
|||||||
data.append('file', blob, file.name + '.cropped.png');
|
data.append('file', blob, file.name + '.cropped.png');
|
||||||
|
|
||||||
$root.api('drive/folders/find', {
|
$root.api('drive/folders/find', {
|
||||||
name: '%i18n:desktop.banner%'
|
name: locale['desktop']['banner']
|
||||||
}).then(bannerFolder => {
|
}).then(bannerFolder => {
|
||||||
if (bannerFolder.length === 0) {
|
if (bannerFolder.length === 0) {
|
||||||
$root.api('drive/folders/create', {
|
$root.api('drive/folders/create', {
|
||||||
name: '%i18n:desktop.banner%'
|
name: locale['desktop']['banner']
|
||||||
}).then(iconFolder => {
|
}).then(iconFolder => {
|
||||||
resolve(upload(data, iconFolder));
|
resolve(upload(data, iconFolder));
|
||||||
});
|
});
|
||||||
@ -52,7 +52,7 @@ export default ($root: any) => {
|
|||||||
|
|
||||||
const upload = (data, folder) => new Promise((resolve, reject) => {
|
const upload = (data, folder) => new Promise((resolve, reject) => {
|
||||||
const dialog = $root.new(ProgressDialog, {
|
const dialog = $root.new(ProgressDialog, {
|
||||||
title: '%i18n:desktop.uploading-banner%'
|
title: locale['desktop']['uploading-banner']
|
||||||
});
|
});
|
||||||
document.body.appendChild(dialog.$el);
|
document.body.appendChild(dialog.$el);
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ export default ($root: any) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$root.dialog({
|
$root.dialog({
|
||||||
title: '%fa:info-circle% %i18n:desktop.banner-updated%',
|
title: locale['desktop']['banner-updated'],
|
||||||
text: null
|
text: null
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ export default ($root: any) => {
|
|||||||
? Promise.resolve(file)
|
? Promise.resolve(file)
|
||||||
: $root.$chooseDriveFile({
|
: $root.$chooseDriveFile({
|
||||||
multiple: false,
|
multiple: false,
|
||||||
title: '%fa:image% %i18n:desktop.choose-banner%'
|
title: locale['desktop']['choose-banner']
|
||||||
});
|
});
|
||||||
|
|
||||||
return selectedFile
|
return selectedFile
|
||||||
|
@ -28,7 +28,8 @@ import MkTag from './views/pages/tag.vue';
|
|||||||
import MkReversi from './views/pages/games/reversi.vue';
|
import MkReversi from './views/pages/games/reversi.vue';
|
||||||
import MkShare from './views/pages/share.vue';
|
import MkShare from './views/pages/share.vue';
|
||||||
import MkFollow from '../common/views/pages/follow.vue';
|
import MkFollow from '../common/views/pages/follow.vue';
|
||||||
import MkNotFound from '../common/views/pages/404.vue';
|
import MkNotFound from '../common/views/pages/not-found.vue';
|
||||||
|
import MkSettings from './views/pages/settings.vue';
|
||||||
|
|
||||||
import Ctx from './views/components/context-menu.vue';
|
import Ctx from './views/components/context-menu.vue';
|
||||||
import PostFormWindow from './views/components/post-form-window.vue';
|
import PostFormWindow from './views/components/post-form-window.vue';
|
||||||
@ -69,6 +70,7 @@ init(async (launch) => {
|
|||||||
} else {
|
} else {
|
||||||
const vm = this.$root.new(PostFormWindow, {
|
const vm = this.$root.new(PostFormWindow, {
|
||||||
reply: o.reply,
|
reply: o.reply,
|
||||||
|
mention: o.mention,
|
||||||
animation: o.animation == null ? true : o.animation
|
animation: o.animation == null ? true : o.animation
|
||||||
});
|
});
|
||||||
if (o.cb) vm.$once('closed', o.cb);
|
if (o.cb) vm.$once('closed', o.cb);
|
||||||
@ -140,6 +142,7 @@ init(async (launch) => {
|
|||||||
{ path: '/i/messaging/:user', component: MkMessagingRoom },
|
{ path: '/i/messaging/:user', component: MkMessagingRoom },
|
||||||
{ path: '/i/drive', component: MkDrive },
|
{ path: '/i/drive', component: MkDrive },
|
||||||
{ path: '/i/drive/folder/:folder', component: MkDrive },
|
{ path: '/i/drive/folder/:folder', component: MkDrive },
|
||||||
|
{ path: '/i/settings', component: MkSettings },
|
||||||
{ path: '/selectdrive', component: MkSelectDrive },
|
{ path: '/selectdrive', component: MkSelectDrive },
|
||||||
{ path: '/search', component: MkSearch },
|
{ path: '/search', component: MkSearch },
|
||||||
{ path: '/tags/:tag', name: 'tag', component: MkTag },
|
{ path: '/tags/:tag', name: 'tag', component: MkTag },
|
||||||
|
@ -12,6 +12,14 @@ html
|
|||||||
background var(--bg)
|
background var(--bg)
|
||||||
|
|
||||||
&, *
|
&, *
|
||||||
|
scrollbar-color var(--scrollbarHandle) var(--scrollbarTrack)
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
scrollbar-color var(--scrollbarHandleHover) var(--scrollbarTrack)
|
||||||
|
|
||||||
|
&:active
|
||||||
|
scrollbar-color var(--primary) var(--scrollbarTrack)
|
||||||
|
|
||||||
&::-webkit-scrollbar
|
&::-webkit-scrollbar
|
||||||
width 6px
|
width 6px
|
||||||
height 6px
|
height 6px
|
||||||
|
@ -32,8 +32,7 @@
|
|||||||
<span class="visibility" v-if="appearNote.visibility != 'public'">
|
<span class="visibility" v-if="appearNote.visibility != 'public'">
|
||||||
<fa v-if="appearNote.visibility == 'home'" icon="home"/>
|
<fa v-if="appearNote.visibility == 'home'" icon="home"/>
|
||||||
<fa v-if="appearNote.visibility == 'followers'" icon="unlock"/>
|
<fa v-if="appearNote.visibility == 'followers'" icon="unlock"/>
|
||||||
<fa v-if="appearNote.visibility == 'specified'" icon="envelope"/>
|
<fa v-if="appearNote.visibility == 'specified'" icon="lock"/>
|
||||||
<fa v-if="appearNote.visibility == 'private'" icon="lock"/>
|
|
||||||
</span>
|
</span>
|
||||||
<span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span>
|
<span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span>
|
||||||
</div>
|
</div>
|
||||||
@ -71,13 +70,16 @@
|
|||||||
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')">
|
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')">
|
||||||
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p>
|
<fa icon="retweet"/>
|
||||||
</button>
|
</button>
|
||||||
<button v-else class="inhibitedButton">
|
<button v-else class="inhibitedButton">
|
||||||
<fa icon="ban"/>
|
<fa icon="ban"/>
|
||||||
</button>
|
</button>
|
||||||
<button class="reactionButton" :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton" :title="$t('add-reaction')">
|
<button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton" :title="$t('add-reaction')">
|
||||||
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p>
|
<fa icon="plus"/>
|
||||||
|
</button>
|
||||||
|
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
|
||||||
|
<fa icon="minus"/>
|
||||||
</button>
|
</button>
|
||||||
<button @click="menu()" ref="menuButton">
|
<button @click="menu()" ref="menuButton">
|
||||||
<fa icon="ellipsis-h"/>
|
<fa icon="ellipsis-h"/>
|
||||||
@ -335,7 +337,8 @@ export default Vue.extend({
|
|||||||
> .count
|
> .count
|
||||||
display inline
|
display inline
|
||||||
margin 0 0 0 8px
|
margin 0 0 0 8px
|
||||||
color #999
|
color var(--text)
|
||||||
|
opacity 0.7
|
||||||
|
|
||||||
&.reacted, &.reacted:hover
|
&.reacted, &.reacted:hover
|
||||||
color var(--noteActionsReactionHover)
|
color var(--noteActionsReactionHover)
|
||||||
|
@ -48,13 +48,16 @@
|
|||||||
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')">
|
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')">
|
||||||
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p>
|
<fa icon="retweet"/>
|
||||||
</button>
|
</button>
|
||||||
<button v-else class="inhibitedButton">
|
<button v-else class="inhibitedButton">
|
||||||
<fa icon="ban"/>
|
<fa icon="ban"/>
|
||||||
</button>
|
</button>
|
||||||
<button class="reactionButton" :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton" :title="$t('add-reaction')">
|
<button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton" :title="$t('add-reaction')">
|
||||||
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p>
|
<fa icon="plus"/>
|
||||||
|
</button>
|
||||||
|
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
|
||||||
|
<fa icon="minus"/>
|
||||||
</button>
|
</button>
|
||||||
<button @click="menu()" ref="menuButton">
|
<button @click="menu()" ref="menuButton">
|
||||||
<fa icon="ellipsis-h"/>
|
<fa icon="ellipsis-h"/>
|
||||||
@ -300,7 +303,8 @@ export default Vue.extend({
|
|||||||
> .count
|
> .count
|
||||||
display inline
|
display inline
|
||||||
margin 0 0 0 8px
|
margin 0 0 0 8px
|
||||||
color #999
|
color var(--text)
|
||||||
|
opacity 0.7
|
||||||
|
|
||||||
&.reacted, &.reacted:hover
|
&.reacted, &.reacted:hover
|
||||||
color var(--noteActionsReactionHover)
|
color var(--noteActionsReactionHover)
|
||||||
|
@ -23,7 +23,9 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
</p>
|
</p>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note) }}<fa icon="quote-right"/>
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -37,7 +39,9 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
</p>
|
</p>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note.renote)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note.renote)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note.renote) }}<fa icon="quote-right"/>
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note.renote)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.renote.emojis"/>
|
||||||
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -50,7 +54,9 @@
|
|||||||
<mk-user-name :user="notification.note.user"/>
|
<mk-user-name :user="notification.note.user"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</p>
|
</p>
|
||||||
<router-link class="note-preview" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">{{ getNoteSummary(notification.note) }}</router-link>
|
<router-link class="note-preview" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -84,7 +90,9 @@
|
|||||||
<mk-user-name :user="notification.note.user"/>
|
<mk-user-name :user="notification.note.user"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</p>
|
</p>
|
||||||
<router-link class="note-preview" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">{{ getNoteSummary(notification.note) }}</router-link>
|
<router-link class="note-preview" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -96,7 +104,9 @@
|
|||||||
<mk-user-name :user="notification.note.user"/>
|
<mk-user-name :user="notification.note.user"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</p>
|
</p>
|
||||||
<a class="note-preview" :href="notification.note | notePage" :title="getNoteSummary(notification.note)">{{ getNoteSummary(notification.note) }}</a>
|
<a class="note-preview" :href="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -107,7 +117,9 @@
|
|||||||
<mk-user-name :user="notification.user"/>
|
<mk-user-name :user="notification.user"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note) }}<fa icon="quote-right"/>
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
<mk-note-preview v-if="reply" class="notePreview" :note="reply"/>
|
<mk-note-preview v-if="reply" class="notePreview" :note="reply"/>
|
||||||
<mk-post-form ref="form"
|
<mk-post-form ref="form"
|
||||||
:reply="reply"
|
:reply="reply"
|
||||||
|
:mention="mention"
|
||||||
@posted="onPosted"
|
@posted="onPosted"
|
||||||
@change-uploadings="onChangeUploadings"
|
@change-uploadings="onChangeUploadings"
|
||||||
@change-attached-files="onChangeFiles"
|
@change-attached-files="onChangeFiles"
|
||||||
@ -32,6 +33,10 @@ export default Vue.extend({
|
|||||||
type: Object,
|
type: Object,
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
|
mention: {
|
||||||
|
type: Object,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
|
|
||||||
animation: {
|
animation: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
@ -50,8 +50,7 @@
|
|||||||
<span v-if="visibility === 'public'"><fa icon="globe"/></span>
|
<span v-if="visibility === 'public'"><fa icon="globe"/></span>
|
||||||
<span v-if="visibility === 'home'"><fa icon="home"/></span>
|
<span v-if="visibility === 'home'"><fa icon="home"/></span>
|
||||||
<span v-if="visibility === 'followers'"><fa icon="unlock"/></span>
|
<span v-if="visibility === 'followers'"><fa icon="unlock"/></span>
|
||||||
<span v-if="visibility === 'specified'"><fa icon="envelope"/></span>
|
<span v-if="visibility === 'specified'"><fa icon="lock"/></span>
|
||||||
<span v-if="visibility === 'private'"><fa icon="lock"/></span>
|
|
||||||
</button>
|
</button>
|
||||||
<p class="text-count" :class="{ over: trimmedLength(text) > maxNoteTextLength }">{{ maxNoteTextLength - trimmedLength(text) }}</p>
|
<p class="text-count" :class="{ over: trimmedLength(text) > maxNoteTextLength }">{{ maxNoteTextLength - trimmedLength(text) }}</p>
|
||||||
<ui-button primary :wait="posting" class="submit" :disabled="!canPost" @click="post">
|
<ui-button primary :wait="posting" class="submit" :disabled="!canPost" @click="post">
|
||||||
@ -92,6 +91,10 @@ export default Vue.extend({
|
|||||||
type: Object,
|
type: Object,
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
|
mention: {
|
||||||
|
type: Object,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
initialText: {
|
initialText: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false
|
required: false
|
||||||
@ -178,6 +181,11 @@ export default Vue.extend({
|
|||||||
this.text = this.initialText;
|
this.text = this.initialText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.mention) {
|
||||||
|
this.text = this.mention.host ? `@${this.mention.username}@${toASCII(this.mention.host)}` : `@${this.mention.username}`;
|
||||||
|
this.text += ' ';
|
||||||
|
}
|
||||||
|
|
||||||
if (this.reply && this.reply.user.host != null) {
|
if (this.reply && this.reply.user.host != null) {
|
||||||
this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `;
|
this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `;
|
||||||
}
|
}
|
||||||
@ -203,12 +211,11 @@ export default Vue.extend({
|
|||||||
this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility);
|
this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility);
|
||||||
|
|
||||||
// 公開以外へのリプライ時は元の公開範囲を引き継ぐ
|
// 公開以外へのリプライ時は元の公開範囲を引き継ぐ
|
||||||
if (this.reply && ['home', 'followers', 'specified', 'private'].includes(this.reply.visibility)) {
|
if (this.reply && ['home', 'followers', 'specified'].includes(this.reply.visibility)) {
|
||||||
this.visibility = this.reply.visibility;
|
this.visibility = this.reply.visibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ダイレクトへのリプライはリプライ先ユーザーを初期設定
|
if (this.reply) {
|
||||||
if (this.reply && this.reply.visibility === 'specified') {
|
|
||||||
this.$root.api('users/show', { userId: this.reply.userId }).then(user => {
|
this.$root.api('users/show', { userId: this.reply.userId }).then(user => {
|
||||||
this.visibleUsers.push(user);
|
this.visibleUsers.push(user);
|
||||||
});
|
});
|
||||||
@ -216,7 +223,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// 書きかけの投稿を復元
|
// 書きかけの投稿を復元
|
||||||
if (!this.instant) {
|
if (!this.instant && !this.mention) {
|
||||||
const draft = JSON.parse(localStorage.getItem('drafts') || '{}')[this.draftId];
|
const draft = JSON.parse(localStorage.getItem('drafts') || '{}')[this.draftId];
|
||||||
if (draft) {
|
if (draft) {
|
||||||
this.text = draft.data.text;
|
this.text = draft.data.text;
|
||||||
|
@ -7,16 +7,16 @@
|
|||||||
<p>{{ $t('already-registered') }}</p>
|
<p>{{ $t('already-registered') }}</p>
|
||||||
<ui-button @click="unregister">{{ $t('unregister') }}</ui-button>
|
<ui-button @click="unregister">{{ $t('unregister') }}</ui-button>
|
||||||
</template>
|
</template>
|
||||||
<div v-if="data">
|
<div v-if="data && !$store.state.i.twoFactorEnabled">
|
||||||
<ol>
|
<ol>
|
||||||
<li>{{ $t('authenticator') }}<a href="https://support.google.com/accounts/answer/1066447" target="_blank">{{ $t('howtoinstall') }}</a></li>
|
<li>{{ $t('authenticator') }}<a href="https://support.google.com/accounts/answer/1066447" target="_blank">{{ $t('howtoinstall') }}</a></li>
|
||||||
<li>{{ $t('scan') }}<br><img :src="data.qr"></li>
|
<li>{{ $t('scan') }}<br><img :src="data.qr"></li>
|
||||||
<li>{{ $t('done') }}<br>
|
<li>{{ $t('done') }}<br>
|
||||||
<input type="number" v-model="token" class="ui">
|
<ui-input v-model="token">{{ $t('token') }}</ui-input>
|
||||||
<ui-button primary @click="submit">{{ $t('submit') }}</ui-button>
|
<ui-button primary @click="submit">{{ $t('submit') }}</ui-button>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<div class="ui info"><p><fa icon="info-circle"/>{{ $t('info') }}</p></div>
|
<ui-info>{{ $t('info') }}</ui-info>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-settings">
|
<div class="mk-settings">
|
||||||
<div class="nav">
|
<div class="nav" :class="{ inWindow }">
|
||||||
<p :class="{ active: page == 'profile' }" @mousedown="page = 'profile'"><fa icon="user" fixed-width/>{{ $t('profile') }}</p>
|
<p :class="{ active: page == 'profile' }" @mousedown="page = 'profile'"><fa icon="user" fixed-width/>{{ $t('profile') }}</p>
|
||||||
<p :class="{ active: page == 'theme' }" @mousedown="page = 'theme'"><fa icon="palette" fixed-width/>{{ $t('theme') }}</p>
|
<p :class="{ active: page == 'theme' }" @mousedown="page = 'theme'"><fa icon="palette" fixed-width/>{{ $t('theme') }}</p>
|
||||||
<p :class="{ active: page == 'web' }" @mousedown="page = 'web'"><fa icon="desktop" fixed-width/>Web</p>
|
<p :class="{ active: page == 'web' }" @mousedown="page = 'web'"><fa icon="desktop" fixed-width/>Web</p>
|
||||||
@ -64,7 +64,6 @@
|
|||||||
<option value="home">{{ $t('@.note-visibility.home') }}</option>
|
<option value="home">{{ $t('@.note-visibility.home') }}</option>
|
||||||
<option value="followers">{{ $t('@.note-visibility.followers') }}</option>
|
<option value="followers">{{ $t('@.note-visibility.followers') }}</option>
|
||||||
<option value="specified">{{ $t('@.note-visibility.specified') }}</option>
|
<option value="specified">{{ $t('@.note-visibility.specified') }}</option>
|
||||||
<option value="private">{{ $t('@.note-visibility.private') }}</option>
|
|
||||||
<option value="local-public">{{ $t('@.note-visibility.local-public') }}</option>
|
<option value="local-public">{{ $t('@.note-visibility.local-public') }}</option>
|
||||||
<option value="local-home">{{ $t('@.note-visibility.local-home') }}</option>
|
<option value="local-home">{{ $t('@.note-visibility.local-home') }}</option>
|
||||||
<option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option>
|
<option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option>
|
||||||
@ -170,17 +169,7 @@
|
|||||||
</section>
|
</section>
|
||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card class="notification" v-show="page == 'notification'">
|
<x-notification-settings v-show="page == 'notification'"/>
|
||||||
<div slot="title"><fa :icon="['far', 'bell']"/> {{ $t('notification') }}</div>
|
|
||||||
<section>
|
|
||||||
<ui-switch v-model="$store.state.i.settings.autoWatch" @change="onChangeAutoWatch">
|
|
||||||
{{ $t('auto-watch') }}<span slot="desc">{{ $t('auto-watch-desc') }}</span>
|
|
||||||
</ui-switch>
|
|
||||||
<section>
|
|
||||||
<ui-button @click="readAllUnreadNotes">{{ $t('mark-as-read-all-unread-notes') }}</ui-button>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
</ui-card>
|
|
||||||
|
|
||||||
<div class="drive" v-if="page == 'drive'">
|
<div class="drive" v-if="page == 'drive'">
|
||||||
<x-drive-settings/>
|
<x-drive-settings/>
|
||||||
@ -289,6 +278,7 @@ import XPasswordSettings from '../../../common/views/components/password-setting
|
|||||||
import XProfileEditor from '../../../common/views/components/profile-editor.vue';
|
import XProfileEditor from '../../../common/views/components/profile-editor.vue';
|
||||||
import XApiSettings from '../../../common/views/components/api-settings.vue';
|
import XApiSettings from '../../../common/views/components/api-settings.vue';
|
||||||
import XLanguageSettings from '../../../common/views/components/language-settings.vue';
|
import XLanguageSettings from '../../../common/views/components/language-settings.vue';
|
||||||
|
import XNotificationSettings from '../../../common/views/components/notification-settings.vue';
|
||||||
|
|
||||||
import { url, clientVersion as version } from '../../../config';
|
import { url, clientVersion as version } from '../../../config';
|
||||||
import checkForUpdate from '../../../common/scripts/check-for-update';
|
import checkForUpdate from '../../../common/scripts/check-for-update';
|
||||||
@ -308,11 +298,17 @@ export default Vue.extend({
|
|||||||
XProfileEditor,
|
XProfileEditor,
|
||||||
XApiSettings,
|
XApiSettings,
|
||||||
XLanguageSettings,
|
XLanguageSettings,
|
||||||
|
XNotificationSettings,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
initialPage: {
|
initialPage: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false
|
required: false
|
||||||
|
},
|
||||||
|
inWindow: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -526,9 +522,6 @@ export default Vue.extend({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
readAllUnreadNotes() {
|
|
||||||
this.$root.api('i/read_all_unread_notes');
|
|
||||||
},
|
|
||||||
customizeHome() {
|
customizeHome() {
|
||||||
this.$router.push('/i/customize-home');
|
this.$router.push('/i/customize-home');
|
||||||
this.$emit('done');
|
this.$emit('done');
|
||||||
@ -547,11 +540,6 @@ export default Vue.extend({
|
|||||||
wallpaperId: null
|
wallpaperId: null
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onChangeAutoWatch(v) {
|
|
||||||
this.$root.api('i/update', {
|
|
||||||
autoWatch: v
|
|
||||||
});
|
|
||||||
},
|
|
||||||
checkForUpdate() {
|
checkForUpdate() {
|
||||||
this.checkingForUpdate = true;
|
this.checkingForUpdate = true;
|
||||||
checkForUpdate(this.$root, true, true).then(newer => {
|
checkForUpdate(this.$root, true, true).then(newer => {
|
||||||
@ -598,9 +586,11 @@ export default Vue.extend({
|
|||||||
height 100%
|
height 100%
|
||||||
padding 16px 0 0 0
|
padding 16px 0 0 0
|
||||||
overflow auto
|
overflow auto
|
||||||
box-shadow var(--shadowRight)
|
|
||||||
z-index 1
|
z-index 1
|
||||||
|
|
||||||
|
&.inWindow
|
||||||
|
box-shadow var(--shadowRight)
|
||||||
|
|
||||||
> p
|
> p
|
||||||
display block
|
display block
|
||||||
padding 10px 16px
|
padding 10px 16px
|
||||||
|
@ -139,7 +139,6 @@ export default Vue.extend({
|
|||||||
|
|
||||||
this.$root.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.listButton,
|
source: this.$refs.listButton,
|
||||||
compact: false,
|
|
||||||
items: menu
|
items: menu
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -170,7 +169,6 @@ export default Vue.extend({
|
|||||||
|
|
||||||
this.$root.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.tagButton,
|
source: this.$refs.tagButton,
|
||||||
compact: false,
|
|
||||||
items: menu
|
items: menu
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -51,12 +51,12 @@
|
|||||||
<i><fa icon="angle-right"/></i>
|
<i><fa icon="angle-right"/></i>
|
||||||
</router-link>
|
</router-link>
|
||||||
</li>
|
</li>
|
||||||
<li @click="settings">
|
<li>
|
||||||
<p>
|
<router-link to="/i/settings">
|
||||||
<i><fa icon="cog"/></i>
|
<i><fa icon="cog"/></i>
|
||||||
<span>{{ $t('settings') }}</span>
|
<span>{{ $t('settings') }}</span>
|
||||||
<i><fa icon="angle-right"/></i>
|
<i><fa icon="angle-right"/></i>
|
||||||
</p>
|
</router-link>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="$store.state.i.isAdmin || $store.state.i.isModerator">
|
<li v-if="$store.state.i.isAdmin || $store.state.i.isModerator">
|
||||||
<a href="/admin">
|
<a href="/admin">
|
||||||
@ -153,10 +153,6 @@ export default Vue.extend({
|
|||||||
this.close();
|
this.close();
|
||||||
this.$root.new(MkFollowRequestsWindow);
|
this.$root.new(MkFollowRequestsWindow);
|
||||||
},
|
},
|
||||||
settings() {
|
|
||||||
this.close();
|
|
||||||
this.$root.new(MkSettingsWindow);
|
|
||||||
},
|
|
||||||
signout() {
|
signout() {
|
||||||
this.$root.signout();
|
this.$root.signout();
|
||||||
},
|
},
|
||||||
|
@ -240,7 +240,6 @@ export default Vue.extend({
|
|||||||
showMenu() {
|
showMenu() {
|
||||||
this.$root.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.menu,
|
source: this.$refs.menu,
|
||||||
compact: false,
|
|
||||||
items: this.getMenu()
|
items: this.getMenu()
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -11,7 +11,8 @@
|
|||||||
<mk-time :time="notification.createdAt"/>
|
<mk-time :time="notification.createdAt"/>
|
||||||
</header>
|
</header>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note) }}
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
<fa icon="quote-right"/>
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
@ -28,7 +29,9 @@
|
|||||||
<mk-time :time="notification.createdAt"/>
|
<mk-time :time="notification.createdAt"/>
|
||||||
</header>
|
</header>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note.renote)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note.renote)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note.renote) }}<fa icon="quote-right"/>
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note.renote)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.renote.emojis"/>
|
||||||
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -70,7 +73,9 @@
|
|||||||
<mk-time :time="notification.createdAt"/>
|
<mk-time :time="notification.createdAt"/>
|
||||||
</header>
|
</header>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note) }}<fa icon="quote-right"/>
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -49,6 +49,9 @@
|
|||||||
<b>{{ user.followersCount | number }}</b>
|
<b>{{ user.followersCount | number }}</b>
|
||||||
<span>{{ $t('followers') }}</span>
|
<span>{{ $t('followers') }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mention">
|
||||||
|
<button @click="mention" :title="$t('mention')"><fa icon="at"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pinned" v-if="user.pinnedNotes && user.pinnedNotes.length > 0">
|
<div class="pinned" v-if="user.pinnedNotes && user.pinnedNotes.length > 0">
|
||||||
@ -307,6 +310,10 @@ export default Vue.extend({
|
|||||||
return promise;
|
return promise;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
mention() {
|
||||||
|
this.$post({ mention: this.user });
|
||||||
|
},
|
||||||
|
|
||||||
menu() {
|
menu() {
|
||||||
let menu = [{
|
let menu = [{
|
||||||
icon: 'list',
|
icon: 'list',
|
||||||
@ -329,7 +336,6 @@ export default Vue.extend({
|
|||||||
|
|
||||||
this.$root.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.menu,
|
source: this.$refs.menu,
|
||||||
compact: false,
|
|
||||||
items: menu
|
items: menu
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -454,7 +460,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
> .counts
|
> .counts
|
||||||
display grid
|
display grid
|
||||||
grid-template-columns 1fr 1fr 1fr
|
grid-template-columns 2fr 2fr 2fr 1fr
|
||||||
margin-top 8px
|
margin-top 8px
|
||||||
border-top solid 1px var(--faceDivider)
|
border-top solid 1px var(--faceDivider)
|
||||||
|
|
||||||
@ -471,6 +477,9 @@ export default Vue.extend({
|
|||||||
font-size 80%
|
font-size 80%
|
||||||
opacity 0.7
|
opacity 0.7
|
||||||
|
|
||||||
|
> .mention
|
||||||
|
display flex
|
||||||
|
|
||||||
> *
|
> *
|
||||||
> p.caption
|
> p.caption
|
||||||
margin 0
|
margin 0
|
||||||
|
@ -179,7 +179,6 @@ export default Vue.extend({
|
|||||||
add() {
|
add() {
|
||||||
this.$root.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.add,
|
source: this.$refs.add,
|
||||||
compact: true,
|
|
||||||
items: [{
|
items: [{
|
||||||
icon: 'home',
|
icon: 'home',
|
||||||
text: this.$t('@deck.home'),
|
text: this.$t('@deck.home'),
|
||||||
|
24
src/client/app/desktop/views/pages/settings.vue
Normal file
24
src/client/app/desktop/views/pages/settings.vue
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<template>
|
||||||
|
<mk-ui>
|
||||||
|
<main>
|
||||||
|
<x-settings :in-window="false"/>
|
||||||
|
</main>
|
||||||
|
</mk-ui>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
components: {
|
||||||
|
XSettings: () => import('../components/settings.vue').then(m => m.default)
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
main
|
||||||
|
margin 0 auto
|
||||||
|
max-width 900px
|
||||||
|
|
||||||
|
</style>
|
@ -3,7 +3,7 @@
|
|||||||
<header :class="$style.header">
|
<header :class="$style.header">
|
||||||
<h1>#{{ $route.params.tag }}</h1>
|
<h1>#{{ $route.params.tag }}</h1>
|
||||||
</header>
|
</header>
|
||||||
<p :class="$style.empty" v-if="!fetching && empty"><fa icon="search"/> {{ $t('no-posts-found', { q }) }}</p>
|
<p :class="$style.empty" v-if="!fetching && empty"><fa icon="search"/> {{ $t('no-posts-found', { q: $route.params.tag }) }}</p>
|
||||||
<mk-notes ref="timeline" :class="$style.notes" :more="existMore ? more : null"/>
|
<mk-notes ref="timeline" :class="$style.notes" :more="existMore ? more : null"/>
|
||||||
</mk-ui>
|
</mk-ui>
|
||||||
</template>
|
</template>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<span class="notes-count"><b>{{ user.notesCount | number }}</b>{{ $t('posts') }}</span>
|
<span class="notes-count"><b>{{ user.notesCount | number }}</b>{{ $t('posts') }}</span>
|
||||||
<router-link :to="user | userPage('following')" class="following clickable"><b>{{ user.followingCount | number }}</b>{{ $t('following') }}</router-link>
|
<router-link :to="user | userPage('following')" class="following clickable"><b>{{ user.followingCount | number }}</b>{{ $t('following') }}</router-link>
|
||||||
<router-link :to="user | userPage('followers')" class="followers clickable"><b>{{ user.followersCount | number }}</b>{{ $t('followers') }}</router-link>
|
<router-link :to="user | userPage('followers')" class="followers clickable"><b>{{ user.followersCount | number }}</b>{{ $t('followers') }}</router-link>
|
||||||
|
<button @click="mention" :title="$t('mention')"><fa icon="at"/></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -77,6 +78,9 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
mention() {
|
||||||
|
this.$post({ mention: this.user });
|
||||||
|
},
|
||||||
onScroll() {
|
onScroll() {
|
||||||
const banner = this.$refs.banner as any;
|
const banner = this.$refs.banner as any;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<span :data-active="mode == 'default'" @click="mode = 'default'"><fa :icon="['far', 'comment-alt']"/> {{ $t('default') }}</span>
|
<span :data-active="mode == 'default'" @click="mode = 'default'"><fa :icon="['far', 'comment-alt']"/> {{ $t('default') }}</span>
|
||||||
<span :data-active="mode == 'with-replies'" @click="mode = 'with-replies'"><fa icon="comments"/> {{ $t('with-replies') }}</span>
|
<span :data-active="mode == 'with-replies'" @click="mode = 'with-replies'"><fa icon="comments"/> {{ $t('with-replies') }}</span>
|
||||||
<span :data-active="mode == 'with-media'" @click="mode = 'with-media'"><fa :icon="['far', 'images']"/> {{ $t('with-media') }}</span>
|
<span :data-active="mode == 'with-media'" @click="mode = 'with-media'"><fa :icon="['far', 'images']"/> {{ $t('with-media') }}</span>
|
||||||
|
<span :data-active="mode == 'my-posts'" @click="mode = 'my-posts'"><fa icon="user"/> {{ $t('my-posts') }}</span>
|
||||||
</header>
|
</header>
|
||||||
<mk-notes ref="timeline" :more="existMore ? more : null">
|
<mk-notes ref="timeline" :more="existMore ? more : null">
|
||||||
<p class="empty" slot="empty"><fa :icon="['far', 'comments']"/>{{ $t('empty') }}</p>
|
<p class="empty" slot="empty"><fa :icon="['far', 'comments']"/>{{ $t('empty') }}</p>
|
||||||
@ -65,6 +66,7 @@ export default Vue.extend({
|
|||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilDate: this.date ? this.date.getTime() : new Date().getTime() + 1000 * 86400 * 365,
|
untilDate: this.date ? this.date.getTime() : new Date().getTime() + 1000 * 86400 * 365,
|
||||||
includeReplies: this.mode == 'with-replies',
|
includeReplies: this.mode == 'with-replies',
|
||||||
|
includeMyRenotes: this.mode != 'my-posts',
|
||||||
withFiles: this.mode == 'with-media'
|
withFiles: this.mode == 'with-media'
|
||||||
}).then(notes => {
|
}).then(notes => {
|
||||||
if (notes.length == fetchLimit + 1) {
|
if (notes.length == fetchLimit + 1) {
|
||||||
@ -85,6 +87,7 @@ export default Vue.extend({
|
|||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
includeReplies: this.mode == 'with-replies',
|
includeReplies: this.mode == 'with-replies',
|
||||||
|
includeMyRenotes: this.mode != 'my-posts',
|
||||||
withFiles: this.mode == 'with-media',
|
withFiles: this.mode == 'with-media',
|
||||||
untilDate: new Date((this.$refs.timeline as any).tail().createdAt).getTime()
|
untilDate: new Date((this.$refs.timeline as any).tail().createdAt).getTime()
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<mk-ui>
|
<mk-ui>
|
||||||
<div class="xygkxeaeontfaokvqmiblezmhvhostak" v-if="!fetching">
|
<div class="xygkxeaeontfaokvqmiblezmhvhostak" v-if="!fetching">
|
||||||
<div class="is-suspended" v-if="user.isSuspended"><fa icon="exclamation-triangle"/> {{ $t('@.is-suspended') }}</div>
|
<div class="is-suspended" v-if="user.isSuspended"><fa icon="exclamation-triangle"/> {{ $t('@.user-suspended') }}</div>
|
||||||
<div class="is-remote" v-if="user.host != null"><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></div>
|
<div class="is-remote" v-if="user.host != null"><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></div>
|
||||||
<main>
|
<main>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
|
@ -18,7 +18,7 @@ import Apps from './views/apps.vue';
|
|||||||
import AppNew from './views/new-app.vue';
|
import AppNew from './views/new-app.vue';
|
||||||
import App from './views/app.vue';
|
import App from './views/app.vue';
|
||||||
import ui from './views/ui.vue';
|
import ui from './views/ui.vue';
|
||||||
import NotFound from '../common/views/pages/404.vue';
|
import NotFound from '../common/views/pages/not-found.vue';
|
||||||
|
|
||||||
Vue.use(BootstrapVue);
|
Vue.use(BootstrapVue);
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ import VueHotkey from './common/hotkey';
|
|||||||
import App from './app.vue';
|
import App from './app.vue';
|
||||||
import checkForUpdate from './common/scripts/check-for-update';
|
import checkForUpdate from './common/scripts/check-for-update';
|
||||||
import MiOS from './mios';
|
import MiOS from './mios';
|
||||||
import { clientVersion as version, codename, lang } from './config';
|
import { clientVersion as version, codename, lang, locale } from './config';
|
||||||
import { builtinThemes, lightTheme, applyTheme } from './theme';
|
import { builtinThemes, lightTheme, applyTheme } from './theme';
|
||||||
import Dialog from './common/views/components/dialog.vue';
|
import Dialog from './common/views/components/dialog.vue';
|
||||||
|
|
||||||
@ -322,7 +322,7 @@ Vue.mixin({
|
|||||||
|
|
||||||
console.info(`Misskey v${version} (${codename})`);
|
console.info(`Misskey v${version} (${codename})`);
|
||||||
console.info(
|
console.info(
|
||||||
'%c%i18n:common.do-not-copy-paste%',
|
`%c${locale['common']['do-not-copy-paste']}`,
|
||||||
'color: red; background: yellow; font-size: 16px; font-weight: bold;');
|
'color: red; background: yellow; font-size: 16px; font-weight: bold;');
|
||||||
|
|
||||||
// BootTimer解除
|
// BootTimer解除
|
||||||
|
@ -31,7 +31,7 @@ import MkReversi from './views/pages/games/reversi.vue';
|
|||||||
import MkTag from './views/pages/tag.vue';
|
import MkTag from './views/pages/tag.vue';
|
||||||
import MkShare from './views/pages/share.vue';
|
import MkShare from './views/pages/share.vue';
|
||||||
import MkFollow from '../common/views/pages/follow.vue';
|
import MkFollow from '../common/views/pages/follow.vue';
|
||||||
import MkNotFound from '../common/views/pages/404.vue';
|
import MkNotFound from '../common/views/pages/not-found.vue';
|
||||||
|
|
||||||
import PostForm from './views/components/post-form-dialog.vue';
|
import PostForm from './views/components/post-form-dialog.vue';
|
||||||
import FileChooser from './views/components/drive-file-chooser.vue';
|
import FileChooser from './views/components/drive-file-chooser.vue';
|
||||||
@ -60,6 +60,7 @@ init((launch) => {
|
|||||||
|
|
||||||
const vm = this.$root.new(PostForm, {
|
const vm = this.$root.new(PostForm, {
|
||||||
reply: o.reply,
|
reply: o.reply,
|
||||||
|
mention: o.mention,
|
||||||
renote: o.renote
|
renote: o.renote
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -54,8 +54,7 @@
|
|||||||
<span class="visibility" v-if="appearNote.visibility != 'public'">
|
<span class="visibility" v-if="appearNote.visibility != 'public'">
|
||||||
<fa v-if="appearNote.visibility == 'home'" icon="home"/>
|
<fa v-if="appearNote.visibility == 'home'" icon="home"/>
|
||||||
<fa v-if="appearNote.visibility == 'followers'" icon="unlock"/>
|
<fa v-if="appearNote.visibility == 'followers'" icon="unlock"/>
|
||||||
<fa v-if="appearNote.visibility == 'specified'" icon="envelope"/>
|
<fa v-if="appearNote.visibility == 'specified'" icon="lock"/>
|
||||||
<fa v-if="appearNote.visibility == 'private'" icon="lock"/>
|
|
||||||
</span>
|
</span>
|
||||||
<span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span>
|
<span class="localOnly" v-if="appearNote.localOnly == true"><fa icon="heart"/></span>
|
||||||
</div>
|
</div>
|
||||||
@ -67,13 +66,16 @@
|
|||||||
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote">
|
<button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote">
|
||||||
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p>
|
<fa icon="retweet"/>
|
||||||
</button>
|
</button>
|
||||||
<button v-else>
|
<button v-else>
|
||||||
<fa icon="ban"/>
|
<fa icon="ban"/>
|
||||||
</button>
|
</button>
|
||||||
<button :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton" :title="$t('title')">
|
<button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton">
|
||||||
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p>
|
<fa icon="plus"/>
|
||||||
|
</button>
|
||||||
|
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton">
|
||||||
|
<fa icon="minus"/>
|
||||||
</button>
|
</button>
|
||||||
<button @click="menu()" ref="menuButton">
|
<button @click="menu()" ref="menuButton">
|
||||||
<fa icon="ellipsis-h"/>
|
<fa icon="ellipsis-h"/>
|
||||||
@ -328,7 +330,8 @@ export default Vue.extend({
|
|||||||
> .count
|
> .count
|
||||||
display inline
|
display inline
|
||||||
margin 0 0 0 8px
|
margin 0 0 0 8px
|
||||||
color #999
|
color var(--text)
|
||||||
|
opacity 0.7
|
||||||
|
|
||||||
&.reacted
|
&.reacted
|
||||||
color var(--primary)
|
color var(--primary)
|
||||||
|
@ -44,13 +44,16 @@
|
|||||||
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote">
|
<button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote">
|
||||||
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p>
|
<fa icon="retweet"/>
|
||||||
</button>
|
</button>
|
||||||
<button v-else>
|
<button v-else>
|
||||||
<fa icon="ban"/>
|
<fa icon="ban"/>
|
||||||
</button>
|
</button>
|
||||||
<button :class="{ reacted: appearNote.myReaction != null }" @click="react()" ref="reactButton">
|
<button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton">
|
||||||
<fa icon="plus"/><p class="count" v-if="appearNote.reactions_count > 0">{{ appearNote.reactions_count }}</p>
|
<fa icon="plus"/>
|
||||||
|
</button>
|
||||||
|
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton">
|
||||||
|
<fa icon="minus"/>
|
||||||
</button>
|
</button>
|
||||||
<button class="menu" @click="menu()" ref="menuButton">
|
<button class="menu" @click="menu()" ref="menuButton">
|
||||||
<fa icon="ellipsis-h"/>
|
<fa icon="ellipsis-h"/>
|
||||||
@ -255,7 +258,8 @@ export default Vue.extend({
|
|||||||
> .count
|
> .count
|
||||||
display inline
|
display inline
|
||||||
margin 0 0 0 8px
|
margin 0 0 0 8px
|
||||||
color #999
|
color var(--text)
|
||||||
|
opacity 0.7
|
||||||
|
|
||||||
&.reacted
|
&.reacted
|
||||||
color var(--primary)
|
color var(--primary)
|
||||||
|
@ -9,7 +9,8 @@
|
|||||||
<mk-time :time="notification.createdAt"/>
|
<mk-time :time="notification.createdAt"/>
|
||||||
</header>
|
</header>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note) }}
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
<fa icon="quote-right"/>
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
@ -24,7 +25,9 @@
|
|||||||
<mk-time :time="notification.createdAt"/>
|
<mk-time :time="notification.createdAt"/>
|
||||||
</header>
|
</header>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note.renote)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note.renote)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note.renote) }}<fa icon="quote-right"/>
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note.renote)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.renote.emojis"/>
|
||||||
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -60,7 +63,9 @@
|
|||||||
<mk-time :time="notification.createdAt"/>
|
<mk-time :time="notification.createdAt"/>
|
||||||
</header>
|
</header>
|
||||||
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
<router-link class="note-ref" :to="notification.note | notePage" :title="getNoteSummary(notification.note)">
|
||||||
<fa icon="quote-left"/>{{ getNoteSummary(notification.note) }}<fa icon="quote-right"/>
|
<fa icon="quote-left"/>
|
||||||
|
<misskey-flavored-markdown :text="getNoteSummary(notification.note)" :should-break="false" :plain-text="true" :custom-emojis="notification.note.emojis"/>
|
||||||
|
<fa icon="quote-right"/>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<mk-post-form ref="form"
|
<mk-post-form ref="form"
|
||||||
:reply="reply"
|
:reply="reply"
|
||||||
:renote="renote"
|
:renote="renote"
|
||||||
|
:mention="mention"
|
||||||
:initial-text="initialText"
|
:initial-text="initialText"
|
||||||
:instant="instant"
|
:instant="instant"
|
||||||
@posted="onPosted"
|
@posted="onPosted"
|
||||||
@ -27,6 +28,10 @@ export default Vue.extend({
|
|||||||
type: Object,
|
type: Object,
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
|
mention: {
|
||||||
|
type: Object,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
initialText: {
|
initialText: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false
|
required: false
|
||||||
|
@ -41,8 +41,7 @@
|
|||||||
<span v-if="visibility === 'public'"><fa icon="globe"/></span>
|
<span v-if="visibility === 'public'"><fa icon="globe"/></span>
|
||||||
<span v-if="visibility === 'home'"><fa icon="home"/></span>
|
<span v-if="visibility === 'home'"><fa icon="home"/></span>
|
||||||
<span v-if="visibility === 'followers'"><fa icon="unlock"/></span>
|
<span v-if="visibility === 'followers'"><fa icon="unlock"/></span>
|
||||||
<span v-if="visibility === 'specified'"><fa icon="envelope"/></span>
|
<span v-if="visibility === 'specified'"><fa icon="lock"/></span>
|
||||||
<span v-if="visibility === 'private'"><fa icon="lock"/></span>
|
|
||||||
</button>
|
</button>
|
||||||
</footer>
|
</footer>
|
||||||
<input ref="file" class="file" type="file" multiple="multiple" @change="onChangeFile"/>
|
<input ref="file" class="file" type="file" multiple="multiple" @change="onChangeFile"/>
|
||||||
@ -84,6 +83,10 @@ export default Vue.extend({
|
|||||||
type: Object,
|
type: Object,
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
|
mention: {
|
||||||
|
type: Object,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
initialText: {
|
initialText: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false
|
required: false
|
||||||
@ -172,6 +175,11 @@ export default Vue.extend({
|
|||||||
this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `;
|
this.text = `@${this.reply.user.username}@${toASCII(this.reply.user.host)} `;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.mention) {
|
||||||
|
this.text = this.mention.host ? `@${this.mention.username}@${toASCII(this.mention.host)}` : `@${this.mention.username}`;
|
||||||
|
this.text += ' ';
|
||||||
|
}
|
||||||
|
|
||||||
if (this.reply && this.reply.text != null) {
|
if (this.reply && this.reply.text != null) {
|
||||||
const ast = parse(this.reply.text);
|
const ast = parse(this.reply.text);
|
||||||
|
|
||||||
@ -193,12 +201,11 @@ export default Vue.extend({
|
|||||||
this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility);
|
this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility);
|
||||||
|
|
||||||
// 公開以外へのリプライ時は元の公開範囲を引き継ぐ
|
// 公開以外へのリプライ時は元の公開範囲を引き継ぐ
|
||||||
if (this.reply && ['home', 'followers', 'specified', 'private'].includes(this.reply.visibility)) {
|
if (this.reply && ['home', 'followers', 'specified'].includes(this.reply.visibility)) {
|
||||||
this.visibility = this.reply.visibility;
|
this.visibility = this.reply.visibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ダイレクトへのリプライはリプライ先ユーザーを初期設定
|
if (this.reply) {
|
||||||
if (this.reply && this.reply.visibility === 'specified') {
|
|
||||||
this.$root.api('users/show', { userId: this.reply.userId }).then(user => {
|
this.$root.api('users/show', { userId: this.reply.userId }).then(user => {
|
||||||
this.visibleUsers.push(user);
|
this.visibleUsers.push(user);
|
||||||
});
|
});
|
||||||
@ -293,8 +300,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
setVisibility() {
|
setVisibility() {
|
||||||
const w = this.$root.new(MkVisibilityChooser, {
|
const w = this.$root.new(MkVisibilityChooser, {
|
||||||
source: this.$refs.visibilityButton,
|
source: this.$refs.visibilityButton
|
||||||
compact: true
|
|
||||||
});
|
});
|
||||||
w.$once('chosen', v => {
|
w.$once('chosen', v => {
|
||||||
this.applyVisibility(v);
|
this.applyVisibility(v);
|
||||||
|
@ -79,8 +79,10 @@ export default Vue.extend({
|
|||||||
|
|
||||||
position fixed
|
position fixed
|
||||||
top 0
|
top 0
|
||||||
|
left -8px
|
||||||
z-index 1024
|
z-index 1024
|
||||||
width 100%
|
width calc(100% + 16px)
|
||||||
|
padding 0 8px
|
||||||
box-shadow 0 0px 8px rgba(0, 0, 0, 0.25)
|
box-shadow 0 0px 8px rgba(0, 0, 0, 0.25)
|
||||||
|
|
||||||
&, *
|
&, *
|
||||||
|
@ -104,7 +104,7 @@ export default Vue.extend({
|
|||||||
}).then(async ({ canceled, result: query }) => {
|
}).then(async ({ canceled, result: query }) => {
|
||||||
if (canceled) return;
|
if (canceled) return;
|
||||||
|
|
||||||
const q = this.q.trim();
|
const q = query.trim();
|
||||||
if (q.startsWith('@')) {
|
if (q.startsWith('@')) {
|
||||||
this.$router.push(`/${q}`);
|
this.$router.push(`/${q}`);
|
||||||
} else if (q.startsWith('#')) {
|
} else if (q.startsWith('#')) {
|
||||||
|
@ -41,8 +41,6 @@ export default Vue.extend({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
|
|
||||||
|
|
||||||
main
|
main
|
||||||
width 100%
|
width 100%
|
||||||
max-width 680px
|
max-width 680px
|
||||||
|
@ -80,7 +80,6 @@
|
|||||||
<option value="home">{{ $t('@.note-visibility.home') }}</option>
|
<option value="home">{{ $t('@.note-visibility.home') }}</option>
|
||||||
<option value="followers">{{ $t('@.note-visibility.followers') }}</option>
|
<option value="followers">{{ $t('@.note-visibility.followers') }}</option>
|
||||||
<option value="specified">{{ $t('@.note-visibility.specified') }}</option>
|
<option value="specified">{{ $t('@.note-visibility.specified') }}</option>
|
||||||
<option value="private">{{ $t('@.note-visibility.private') }}</option>
|
|
||||||
<option value="local-public">{{ $t('@.note-visibility.local-public') }}</option>
|
<option value="local-public">{{ $t('@.note-visibility.local-public') }}</option>
|
||||||
<option value="local-home">{{ $t('@.note-visibility.local-home') }}</option>
|
<option value="local-home">{{ $t('@.note-visibility.local-home') }}</option>
|
||||||
<option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option>
|
<option value="local-followers">{{ $t('@.note-visibility.local-followers') }}</option>
|
||||||
@ -94,6 +93,8 @@
|
|||||||
</section>
|
</section>
|
||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
|
<x-notification-settings/>
|
||||||
|
|
||||||
<x-drive-settings/>
|
<x-drive-settings/>
|
||||||
|
|
||||||
<x-mute-and-block/>
|
<x-mute-and-block/>
|
||||||
@ -157,6 +158,7 @@ import XProfileEditor from '../../../common/views/components/profile-editor.vue'
|
|||||||
import XApiSettings from '../../../common/views/components/api-settings.vue';
|
import XApiSettings from '../../../common/views/components/api-settings.vue';
|
||||||
import XLanguageSettings from '../../../common/views/components/language-settings.vue';
|
import XLanguageSettings from '../../../common/views/components/language-settings.vue';
|
||||||
import XIntegrationSettings from '../../../common/views/components/integration-settings.vue';
|
import XIntegrationSettings from '../../../common/views/components/integration-settings.vue';
|
||||||
|
import XNotificationSettings from '../../../common/views/components/notification-settings.vue';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('mobile/views/pages/settings.vue'),
|
i18n: i18n('mobile/views/pages/settings.vue'),
|
||||||
@ -170,6 +172,7 @@ export default Vue.extend({
|
|||||||
XApiSettings,
|
XApiSettings,
|
||||||
XLanguageSettings,
|
XLanguageSettings,
|
||||||
XIntegrationSettings,
|
XIntegrationSettings,
|
||||||
|
XNotificationSettings,
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<span slot="header"><span style="margin-right:4px;"><fa icon="hashtag"/></span>{{ $route.params.tag }}</span>
|
<span slot="header"><span style="margin-right:4px;"><fa icon="hashtag"/></span>{{ $route.params.tag }}</span>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<p v-if="!fetching && empty"><fa icon="search"/> {{ $t('no-posts-found', { q }) }}</p>
|
<p v-if="!fetching && empty"><fa icon="search"/> {{ $t('no-posts-found', { q: $route.params.tag }) }}</p>
|
||||||
<mk-notes ref="timeline" :more="existMore ? more : null"/>
|
<mk-notes ref="timeline" :more="existMore ? more : null"/>
|
||||||
</main>
|
</main>
|
||||||
</mk-ui>
|
</mk-ui>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<mk-user-name :user="user"/>
|
<mk-user-name :user="user"/>
|
||||||
</template>
|
</template>
|
||||||
<main v-if="!fetching">
|
<main v-if="!fetching">
|
||||||
<div class="is-suspended" v-if="user.isSuspended"><p><fa icon="exclamation-triangle"/> {{ $t('is-suspended') }}</p></div>
|
<div class="is-suspended" v-if="user.isSuspended"><p><fa icon="exclamation-triangle"/> {{ $t('@.user-suspended') }}</p></div>
|
||||||
<div class="is-remote" v-if="user.host != null"><p><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></p></div>
|
<div class="is-remote" v-if="user.host != null"><p><fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a></p></div>
|
||||||
<header>
|
<header>
|
||||||
<div class="banner" :style="style"></div>
|
<div class="banner" :style="style"></div>
|
||||||
@ -55,6 +55,7 @@
|
|||||||
<b>{{ user.followersCount | number }}</b>
|
<b>{{ user.followersCount | number }}</b>
|
||||||
<i>{{ $t('followers') }}</i>
|
<i>{{ $t('followers') }}</i>
|
||||||
</a>
|
</a>
|
||||||
|
<button @click="mention"><fa icon="at"/></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
@ -126,6 +127,10 @@ export default Vue.extend({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
mention() {
|
||||||
|
this.$post({ mention: this.user });
|
||||||
|
},
|
||||||
|
|
||||||
menu() {
|
menu() {
|
||||||
let menu = [{
|
let menu = [{
|
||||||
icon: ['fas', 'list'],
|
icon: ['fas', 'list'],
|
||||||
@ -203,7 +208,6 @@ export default Vue.extend({
|
|||||||
|
|
||||||
this.$root.new(Menu, {
|
this.$root.new(Menu, {
|
||||||
source: this.$refs.menu,
|
source: this.$refs.menu,
|
||||||
compact: true,
|
|
||||||
items: menu
|
items: menu
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -365,6 +369,9 @@ main
|
|||||||
> i
|
> i
|
||||||
font-size 14px
|
font-size 14px
|
||||||
|
|
||||||
|
> button
|
||||||
|
color var(--text)
|
||||||
|
|
||||||
> nav
|
> nav
|
||||||
position -webkit-sticky
|
position -webkit-sticky
|
||||||
position sticky
|
position sticky
|
||||||
|
@ -5,7 +5,7 @@ import './style.styl';
|
|||||||
|
|
||||||
import init from '../init';
|
import init from '../init';
|
||||||
import Index from './views/index.vue';
|
import Index from './views/index.vue';
|
||||||
import NotFound from '../common/views/pages/404.vue';
|
import NotFound from '../common/views/pages/not-found.vue';
|
||||||
|
|
||||||
init(launch => {
|
init(launch => {
|
||||||
document.title = 'Misskey';
|
document.title = 'Misskey';
|
||||||
|
@ -15,13 +15,21 @@ export const darkTheme: Theme = require('../theme/dark.json5');
|
|||||||
export const pinkTheme: Theme = require('../theme/pink.json5');
|
export const pinkTheme: Theme = require('../theme/pink.json5');
|
||||||
export const blackTheme: Theme = require('../theme/black.json5');
|
export const blackTheme: Theme = require('../theme/black.json5');
|
||||||
export const halloweenTheme: Theme = require('../theme/halloween.json5');
|
export const halloweenTheme: Theme = require('../theme/halloween.json5');
|
||||||
|
export const cafeTheme: Theme = require('../theme/cafe.json5');
|
||||||
|
export const japaneseSushiSetTheme: Theme = require('../theme/japanese-sushi-set.json5');
|
||||||
|
export const gruvboxDarkTheme: Theme = require('../theme/gruvbox-dark.json5');
|
||||||
|
export const monokaiTheme: Theme = require('../theme/monokai.json5');
|
||||||
|
|
||||||
export const builtinThemes = [
|
export const builtinThemes = [
|
||||||
lightTheme,
|
lightTheme,
|
||||||
darkTheme,
|
darkTheme,
|
||||||
pinkTheme,
|
pinkTheme,
|
||||||
blackTheme,
|
blackTheme,
|
||||||
halloweenTheme
|
halloweenTheme,
|
||||||
|
cafeTheme,
|
||||||
|
japaneseSushiSetTheme,
|
||||||
|
gruvboxDarkTheme,
|
||||||
|
monokaiTheme
|
||||||
];
|
];
|
||||||
|
|
||||||
export function applyTheme(theme: Theme, persisted = true) {
|
export function applyTheme(theme: Theme, persisted = true) {
|
||||||
|
20
src/client/theme/cafe.json5
Normal file
20
src/client/theme/cafe.json5
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
id: '0ff48d43-aab3-46e7-ab12-8492110d2e2b',
|
||||||
|
|
||||||
|
name: 'Cafe',
|
||||||
|
author: 'syuilo',
|
||||||
|
|
||||||
|
base: 'light',
|
||||||
|
|
||||||
|
vars: {
|
||||||
|
primary: 'rgb(234, 154, 82)',
|
||||||
|
secondary: 'rgb(238, 236, 232)',
|
||||||
|
text: 'rgb(149, 143, 139)',
|
||||||
|
},
|
||||||
|
|
||||||
|
props: {
|
||||||
|
renoteGradient: '#ffe1c7',
|
||||||
|
renoteText: '$primary',
|
||||||
|
quoteBorder: '$primary',
|
||||||
|
},
|
||||||
|
}
|
@ -120,7 +120,8 @@
|
|||||||
mfmTitleBg: 'rgba(0, 0, 0, 0.2)',
|
mfmTitleBg: 'rgba(0, 0, 0, 0.2)',
|
||||||
mfmQuote: ':alpha<0.7<$text',
|
mfmQuote: ':alpha<0.7<$text',
|
||||||
mfmQuoteLine: ':alpha<0.6<$text',
|
mfmQuoteLine: ':alpha<0.6<$text',
|
||||||
mfmLink: '$primary',
|
mfmUrl: '$primary',
|
||||||
|
mfmLink: '@mfmUrl',
|
||||||
mfmMention: '$primary',
|
mfmMention: '$primary',
|
||||||
mfmHashtag: '$primary',
|
mfmHashtag: '$primary',
|
||||||
|
|
||||||
|
20
src/client/theme/gruvbox-dark.json5
Normal file
20
src/client/theme/gruvbox-dark.json5
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
id: '0c6e70e2-a1ec-4053-9b1a-b6082fe016cb',
|
||||||
|
|
||||||
|
name: 'gruvbox dark',
|
||||||
|
author: 'syuilo',
|
||||||
|
|
||||||
|
base: 'dark',
|
||||||
|
|
||||||
|
vars: {
|
||||||
|
primary: 'rgb(215, 153, 33)',
|
||||||
|
secondary: 'rgb(40, 40, 40)',
|
||||||
|
text: 'rgb(235, 219, 178)',
|
||||||
|
},
|
||||||
|
|
||||||
|
props: {
|
||||||
|
renoteGradient: '#58581e',
|
||||||
|
renoteText: 'rgb(169, 174, 36)',
|
||||||
|
quoteBorder: 'rgb(169, 174, 36)',
|
||||||
|
},
|
||||||
|
}
|
20
src/client/theme/japanese-sushi-set.json5
Normal file
20
src/client/theme/japanese-sushi-set.json5
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
id: '2b0a0654-cdb4-4c9a-8244-736b647d3c2a',
|
||||||
|
|
||||||
|
name: 'Japanese Sushi Set',
|
||||||
|
author: 'noizenecio & syuilo',
|
||||||
|
|
||||||
|
base: 'dark',
|
||||||
|
|
||||||
|
vars: {
|
||||||
|
primary: 'rgb(234, 136, 50)',
|
||||||
|
secondary: 'rgb(34, 36, 42)',
|
||||||
|
text: 'rgb(221, 209, 203)',
|
||||||
|
},
|
||||||
|
|
||||||
|
props: {
|
||||||
|
renoteGradient: '#6d3d14',
|
||||||
|
renoteText: '$primary',
|
||||||
|
quoteBorder: '$primary',
|
||||||
|
},
|
||||||
|
}
|
@ -120,7 +120,8 @@
|
|||||||
mfmTitleBg: 'rgba(0, 0, 0, 0.07)',
|
mfmTitleBg: 'rgba(0, 0, 0, 0.07)',
|
||||||
mfmQuote: ':alpha<0.6<$text',
|
mfmQuote: ':alpha<0.6<$text',
|
||||||
mfmQuoteLine: ':alpha<0.5<$text',
|
mfmQuoteLine: ':alpha<0.5<$text',
|
||||||
mfmLink: '$primary',
|
mfmUrl: '$primary',
|
||||||
|
mfmLink: '@mfmUrl',
|
||||||
mfmMention: '$primary',
|
mfmMention: '$primary',
|
||||||
mfmHashtag: '$primary',
|
mfmHashtag: '$primary',
|
||||||
|
|
||||||
@ -212,7 +213,7 @@
|
|||||||
reversiGameHeaderLine: '#c4cdd4',
|
reversiGameHeaderLine: '#c4cdd4',
|
||||||
reversiGameEmptyCell: 'rgba(0, 0, 0, 0.06)',
|
reversiGameEmptyCell: 'rgba(0, 0, 0, 0.06)',
|
||||||
reversiGameEmptyCellMyTurn: 'rgba(0, 0, 0, 0.12)',
|
reversiGameEmptyCellMyTurn: 'rgba(0, 0, 0, 0.12)',
|
||||||
reversiGameEmptyCellCanPut: 'rgba(0, 0, 0, 0.9)',
|
reversiGameEmptyCellCanPut: 'rgba(0, 0, 0, 0.09)',
|
||||||
|
|
||||||
adminDashboardHeaderFg: ':alpha<0.9<$text',
|
adminDashboardHeaderFg: ':alpha<0.9<$text',
|
||||||
adminDashboardHeaderBorder: 'rgba(0, 0, 0, 0.1)',
|
adminDashboardHeaderBorder: 'rgba(0, 0, 0, 0.1)',
|
||||||
|
24
src/client/theme/monokai.json5
Normal file
24
src/client/theme/monokai.json5
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
id: 'fef11dc4-6b17-436e-b374-73282c44ddc0',
|
||||||
|
|
||||||
|
name: 'Monokai',
|
||||||
|
author: 'syuilo',
|
||||||
|
|
||||||
|
base: 'dark',
|
||||||
|
|
||||||
|
vars: {
|
||||||
|
primary: '#f92672',
|
||||||
|
secondary: '#272822',
|
||||||
|
text: '#f8f8f2',
|
||||||
|
},
|
||||||
|
|
||||||
|
props: {
|
||||||
|
renoteGradient: '#3f500f',
|
||||||
|
renoteText: '#a6e22e',
|
||||||
|
quoteBorder: '#a6e22e',
|
||||||
|
mfmMention: '#ae81ff',
|
||||||
|
mfmUrl: '#66d9ef',
|
||||||
|
mfmLink: '#e6db74',
|
||||||
|
mfmHashtag: '#fd971f'
|
||||||
|
},
|
||||||
|
}
|
@ -75,6 +75,20 @@ props:
|
|||||||
ja-JP: "この投稿に対する自分の<a href='/docs/api/reactions'>リアクション</a>"
|
ja-JP: "この投稿に対する自分の<a href='/docs/api/reactions'>リアクション</a>"
|
||||||
en-US: "The your <a href='/docs/api/reactions'>reaction</a> of this note"
|
en-US: "The your <a href='/docs/api/reactions'>reaction</a> of this note"
|
||||||
|
|
||||||
|
renoteCount:
|
||||||
|
type: "number"
|
||||||
|
optional: false
|
||||||
|
desc:
|
||||||
|
ja-JP: "この投稿がRenoteされた数"
|
||||||
|
en-US: "The number of renotes for this post"
|
||||||
|
|
||||||
|
repliesCount:
|
||||||
|
type: "number"
|
||||||
|
optional: false
|
||||||
|
desc:
|
||||||
|
ja-JP: "この投稿に返信された数"
|
||||||
|
en-US: "The number of replies to this post"
|
||||||
|
|
||||||
reactionCounts:
|
reactionCounts:
|
||||||
type: "object"
|
type: "object"
|
||||||
optional: false
|
optional: false
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import * as P from 'parsimmon';
|
import * as P from 'parsimmon';
|
||||||
import parseAcct from '../misc/acct/parse';
|
import parseAcct from '../misc/acct/parse';
|
||||||
import { toUnicode } from 'punycode';
|
import { toUnicode } from 'punycode';
|
||||||
import { takeWhile } from '../prelude/array';
|
import { takeWhile, cumulativeSum } from '../prelude/array';
|
||||||
import { Tree } from '../prelude/tree';
|
import { Tree } from '../prelude/tree';
|
||||||
import * as T from '../prelude/tree';
|
import * as T from '../prelude/tree';
|
||||||
|
|
||||||
@ -42,30 +42,18 @@ export function createTree(type: string, children: MfmForest, props: any): MfmTr
|
|||||||
return T.createTree({ type, props }, children);
|
return T.createTree({ type, props }, children);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTrailingPosition(x: string): number {
|
export function removeOrphanedBrackets(s: string): string {
|
||||||
const brackets = [
|
const openBrackets = ['(', '「'];
|
||||||
['(', ')'],
|
const closeBrackets = [')', '」'];
|
||||||
['「', '」'],
|
const xs = cumulativeSum(s.split('').map(c => {
|
||||||
];
|
if (openBrackets.includes(c)) return 1;
|
||||||
const pendingBrackets = [] as any;
|
if (closeBrackets.includes(c)) return -1;
|
||||||
const end = x.split('').findIndex(char => {
|
return 0;
|
||||||
const closeMatch = brackets.map(x => x[1]).indexOf(char);
|
}));
|
||||||
const openMatch = brackets.map(x => x[0]).indexOf(char);
|
const firstOrphanedCloseBracket = xs.findIndex(x => x < 0);
|
||||||
if (closeMatch != -1) {
|
if (firstOrphanedCloseBracket !== -1) return s.substr(0, firstOrphanedCloseBracket);
|
||||||
if (pendingBrackets[closeMatch] > 0) {
|
const lastMatched = xs.lastIndexOf(0);
|
||||||
pendingBrackets[closeMatch]--;
|
return s.substr(0, lastMatched + 1);
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} else if (openMatch != -1) {
|
|
||||||
pendingBrackets[openMatch] = (pendingBrackets[openMatch] || 0) + 1;
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return end > 0 ? end : x.length;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const newline = P((input, i) => {
|
const newline = P((input, i) => {
|
||||||
@ -220,7 +208,7 @@ const mfm = P.createLanguage({
|
|||||||
const match = text.match(/^#([^\s\.,!\?#]+)/i);
|
const match = text.match(/^#([^\s\.,!\?#]+)/i);
|
||||||
if (!match) return P.makeFailure(i, 'not a hashtag');
|
if (!match) return P.makeFailure(i, 'not a hashtag');
|
||||||
let hashtag = match[1];
|
let hashtag = match[1];
|
||||||
hashtag = hashtag.substr(0, getTrailingPosition(hashtag));
|
hashtag = removeOrphanedBrackets(hashtag);
|
||||||
if (hashtag.match(/^[0-9]+$/)) return P.makeFailure(i, 'not a hashtag');
|
if (hashtag.match(/^[0-9]+$/)) return P.makeFailure(i, 'not a hashtag');
|
||||||
if (input[i - 1] != null && input[i - 1].match(/[a-z0-9]/i)) return P.makeFailure(i, 'not a hashtag');
|
if (input[i - 1] != null && input[i - 1].match(/[a-z0-9]/i)) return P.makeFailure(i, 'not a hashtag');
|
||||||
if (hashtag.length > 50) return P.makeFailure(i, 'not a hashtag');
|
if (hashtag.length > 50) return P.makeFailure(i, 'not a hashtag');
|
||||||
@ -390,7 +378,7 @@ const mfm = P.createLanguage({
|
|||||||
const match = text.match(/^https?:\/\/[\w\/:%#@\$&\?!\(\)\[\]~\.,=\+\-]+/);
|
const match = text.match(/^https?:\/\/[\w\/:%#@\$&\?!\(\)\[\]~\.,=\+\-]+/);
|
||||||
if (!match) return P.makeFailure(i, 'not a url');
|
if (!match) return P.makeFailure(i, 'not a url');
|
||||||
let url = match[0];
|
let url = match[0];
|
||||||
url = url.substr(0, getTrailingPosition(url));
|
url = removeOrphanedBrackets(url);
|
||||||
if (url.endsWith('.')) url = url.substr(0, url.lastIndexOf('.'));
|
if (url.endsWith('.')) url = url.substr(0, url.lastIndexOf('.'));
|
||||||
if (url.endsWith(',')) url = url.substr(0, url.lastIndexOf(','));
|
if (url.endsWith(',')) url = url.substr(0, url.lastIndexOf(','));
|
||||||
return P.makeSuccess(i + url.length, url);
|
return P.makeSuccess(i + url.length, url);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
export default (acct: string) => {
|
export default (acct: string) => {
|
||||||
if (acct.startsWith('@')) acct = acct.substr(1);
|
if (acct.startsWith('@')) acct = acct.substr(1);
|
||||||
const splitted = acct.split('@', 2);
|
const split = acct.split('@', 2);
|
||||||
return { username: splitted[0], host: splitted[1] || null };
|
return { username: split[0], host: split[1] || null };
|
||||||
};
|
};
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
import * as mongo from 'mongodb';
|
|
||||||
import db from '../db/mongodb';
|
|
||||||
|
|
||||||
const MessagingHistory = db.get<IMessagingHistory>('messagingHistories');
|
|
||||||
export default MessagingHistory;
|
|
||||||
|
|
||||||
export type IMessagingHistory = {
|
|
||||||
_id: mongo.ObjectID;
|
|
||||||
updatedAt: Date;
|
|
||||||
userId: mongo.ObjectID;
|
|
||||||
partnerId: mongo.ObjectID;
|
|
||||||
messageId: mongo.ObjectID;
|
|
||||||
};
|
|
@ -7,6 +7,8 @@ import isObjectId from '../misc/is-objectid';
|
|||||||
import { length } from 'stringz';
|
import { length } from 'stringz';
|
||||||
|
|
||||||
const MessagingMessage = db.get<IMessagingMessage>('messagingMessages');
|
const MessagingMessage = db.get<IMessagingMessage>('messagingMessages');
|
||||||
|
MessagingMessage.createIndex('userId');
|
||||||
|
MessagingMessage.createIndex('recipientId');
|
||||||
export default MessagingMessage;
|
export default MessagingMessage;
|
||||||
|
|
||||||
export interface IMessagingMessage {
|
export interface IMessagingMessage {
|
||||||
|
@ -67,9 +67,8 @@ export type INote = {
|
|||||||
* home ... ホームタイムライン(ユーザーページのタイムライン含む)のみに流す
|
* home ... ホームタイムライン(ユーザーページのタイムライン含む)のみに流す
|
||||||
* followers ... フォロワーのみ
|
* followers ... フォロワーのみ
|
||||||
* specified ... visibleUserIds で指定したユーザーのみ
|
* specified ... visibleUserIds で指定したユーザーのみ
|
||||||
* private ... 自分のみ
|
|
||||||
*/
|
*/
|
||||||
visibility: 'public' | 'home' | 'followers' | 'specified' | 'private';
|
visibility: 'public' | 'home' | 'followers' | 'specified';
|
||||||
|
|
||||||
visibleUserIds: mongo.ObjectID[];
|
visibleUserIds: mongo.ObjectID[];
|
||||||
|
|
||||||
@ -106,7 +105,7 @@ export type INote = {
|
|||||||
export const hideNote = async (packedNote: any, meId: mongo.ObjectID) => {
|
export const hideNote = async (packedNote: any, meId: mongo.ObjectID) => {
|
||||||
let hide = false;
|
let hide = false;
|
||||||
|
|
||||||
// visibility が private かつ投稿者のIDが自分のIDではなかったら非表示
|
// visibility が private かつ投稿者のIDが自分のIDではなかったら非表示(後方互換性のため)
|
||||||
if (packedNote.visibility == 'private' && (meId == null || !meId.equals(packedNote.userId))) {
|
if (packedNote.visibility == 'private' && (meId == null || !meId.equals(packedNote.userId))) {
|
||||||
hide = true;
|
hide = true;
|
||||||
}
|
}
|
||||||
@ -273,6 +272,11 @@ export const pack = async (
|
|||||||
// Populate files
|
// Populate files
|
||||||
_note.files = packFileMany(_note.fileIds || []);
|
_note.files = packFileMany(_note.fileIds || []);
|
||||||
|
|
||||||
|
// Some counts
|
||||||
|
_note.renoteCount = _note.renoteCount || 0;
|
||||||
|
_note.repliesCount = _note.repliesCount || 0;
|
||||||
|
_note.reactionCounts = _note.reactionCounts || {};
|
||||||
|
|
||||||
// 後方互換性のため
|
// 後方互換性のため
|
||||||
_note.mediaIds = _note.fileIds;
|
_note.mediaIds = _note.fileIds;
|
||||||
_note.media = _note.files;
|
_note.media = _note.files;
|
||||||
|
@ -69,6 +69,11 @@ type IUserBase = {
|
|||||||
*/
|
*/
|
||||||
carefulBot: boolean;
|
carefulBot: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* フォローしているユーザーからのフォローリクエストを自動承認するか
|
||||||
|
*/
|
||||||
|
autoAcceptFollowed: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* このアカウントに届いているフォローリクエストの数
|
* このアカウントに届いているフォローリクエストの数
|
||||||
*/
|
*/
|
||||||
@ -212,6 +217,7 @@ export async function getRelation(me: mongo.ObjectId, target: mongo.ObjectId) {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
id: target,
|
||||||
isFollowing: following1 !== null,
|
isFollowing: following1 !== null,
|
||||||
isStalking: following1 ? following1.stalk : false,
|
isStalking: following1 ? following1.stalk : false,
|
||||||
hasPendingFollowRequestFromYou: followReq1 !== null,
|
hasPendingFollowRequestFromYou: followReq1 !== null,
|
||||||
|
@ -109,3 +109,9 @@ export function takeWhile<T>(f: Predicate<T>, xs: T[]): T[] {
|
|||||||
}
|
}
|
||||||
return ys;
|
return ys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function cumulativeSum(xs: number[]): number[] {
|
||||||
|
const ys = Array.from(xs); // deep copy
|
||||||
|
for (let i = 1; i < ys.length; i++) ys[i] += ys[i - 1];
|
||||||
|
return ys;
|
||||||
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
export function concat(xs: string[]): string {
|
export function concat(xs: string[]): string {
|
||||||
return xs.reduce((a, b) => a + b, '');
|
return xs.join('');
|
||||||
}
|
}
|
||||||
|
|
||||||
export function capitalize(s: string): string {
|
export function capitalize(s: string): string {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user