Compare commits
152 Commits
Author | SHA1 | Date | |
---|---|---|---|
b6dc6c6984 | |||
517084b1fc | |||
27763e6898 | |||
57dde1da38 | |||
0bb961767c | |||
88515ce677 | |||
00562e840c | |||
b7927ba386 | |||
9c363ff045 | |||
1dbce5e3e2 | |||
361a9ca1be | |||
cde6514839 | |||
507e2f727e | |||
8028499d2b | |||
c2c79c4a87 | |||
d56f7f3390 | |||
ef70d17194 | |||
9789b9a083 | |||
e6311fdb13 | |||
2231c54dee | |||
20de9a5e35 | |||
ec3a6d7097 | |||
9d99bf5af8 | |||
52911cc9fd | |||
6f71ba376d | |||
9f439aabba | |||
33ad60b1f3 | |||
010d3f8281 | |||
e27c4bf1b9 | |||
11cfc58ffc | |||
91f38a8ddd | |||
b56fed8ed5 | |||
4a93dadc1c | |||
3a5f55c471 | |||
2919e37586 | |||
077bdbfdef | |||
61ac024127 | |||
8db8d3f39e | |||
e7032363d7 | |||
8a9dc26419 | |||
022f5a18c8 | |||
eae4b2f2e9 | |||
d285452dec | |||
aced183a66 | |||
77b150c53b | |||
9b2ddfea5f | |||
bf2bdaa6ff | |||
42525bb12a | |||
bc243c1ea3 | |||
a2517d1a1d | |||
c0a60260c2 | |||
3654f247c4 | |||
c4ddfef2ed | |||
28086111e1 | |||
60c9a6528f | |||
47d4dcfdf5 | |||
eb8d1211ba | |||
495aad6a2d | |||
77676d18c8 | |||
68d90caab7 | |||
31fc43ed16 | |||
31802c9749 | |||
192aa89f95 | |||
b0a0faff7e | |||
b67f3438e9 | |||
02e4929a97 | |||
fcc6a65e08 | |||
f4ae939124 | |||
664acb2d0e | |||
e6e7cecdb6 | |||
563d604812 | |||
012d744f4c | |||
d4c7ca76ac | |||
1a6aae944f | |||
71e0241c94 | |||
d838ef5b76 | |||
d90a5c9154 | |||
9b79a411e0 | |||
b8e0ec9edc | |||
57009057ae | |||
5db7b2e193 | |||
d994c84901 | |||
febfb97bb4 | |||
a6c5e62923 | |||
ac0390fec3 | |||
97b99867f2 | |||
a55d5516a6 | |||
b679163d01 | |||
76edcdbe45 | |||
d8d51519c4 | |||
3446969121 | |||
0e0c35a701 | |||
c9a6c9e20a | |||
3d2b982a94 | |||
6157d8331b | |||
3d0fc09fae | |||
b975751710 | |||
4530d40537 | |||
94e3ac9b72 | |||
e13fe97ebb | |||
4ad7632113 | |||
0709cac97f | |||
7dd4180fba | |||
558213490a | |||
78a69e3da8 | |||
140c78e5a7 | |||
a8e18e0e22 | |||
2a8bb23625 | |||
936a4d1bc4 | |||
69c34e8d00 | |||
1a2a190828 | |||
251cf1d76f | |||
52774bbe64 | |||
68a6758302 | |||
13e43a4f74 | |||
b7d62d09ec | |||
321ec18173 | |||
a44ac3306e | |||
951288ecf0 | |||
cc8a7dd588 | |||
813c52f51e | |||
be3298639d | |||
e8d2959717 | |||
e7680e08eb | |||
bd792d7661 | |||
4920983f23 | |||
2756f553c6 | |||
fc52e95ad0 | |||
5d1d6bc028 | |||
b106acac91 | |||
a5071db864 | |||
bae874eb45 | |||
60da17940d | |||
385eeed732 | |||
2e908758d8 | |||
a164f8ad95 | |||
372138dfea | |||
922a657c7e | |||
3409a51cca | |||
7174a55846 | |||
6656a59402 | |||
7612ead551 | |||
fa78fe665d | |||
c89aa7eb95 | |||
43f4c5b7cd | |||
2b6c566386 | |||
91ef328b6b | |||
5a9d9dc41d | |||
a48e503caa | |||
fe00cb9ad5 | |||
ed0fdaddbd | |||
893795a31d |
58
CHANGELOG.md
58
CHANGELOG.md
@ -1,6 +1,64 @@
|
|||||||
ChangeLog
|
ChangeLog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
10.90.4
|
||||||
|
----------
|
||||||
|
* url-previewでembedプレイヤー展開をオプトインにするように
|
||||||
|
* デザインの調整
|
||||||
|
* ユーザビリティの強化
|
||||||
|
|
||||||
|
10.90.3
|
||||||
|
----------
|
||||||
|
* モバイルのデッキで投稿フォームウィジェットが設置できなかった問題を修正
|
||||||
|
* ドキュメントの強化
|
||||||
|
* デザインの調整
|
||||||
|
* ユーザビリティの強化
|
||||||
|
|
||||||
|
10.90.2
|
||||||
|
----------
|
||||||
|
* アカウントが削除できない問題を修正
|
||||||
|
* ドキュメントの強化
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.90.1
|
||||||
|
----------
|
||||||
|
* アカウントを作成したときに自動でホームに遷移しない問題を修正
|
||||||
|
* ユーザビリティの強化
|
||||||
|
|
||||||
|
10.90.0
|
||||||
|
----------
|
||||||
|
* モバイル版でもデッキを使えるように
|
||||||
|
* 公開範囲がホームの投稿はハイライトに載せないように
|
||||||
|
* ドキュメントの強化
|
||||||
|
* ユーザーをリストに追加できない問題を修正
|
||||||
|
* UIの修正
|
||||||
|
|
||||||
|
10.89.1
|
||||||
|
----------
|
||||||
|
* リアクション数を表示するように
|
||||||
|
* モバイル版でドライブのフォルダを削除できるように
|
||||||
|
* ドキュメントの強化
|
||||||
|
* プロフィールが更新できない場合がある問題を修正
|
||||||
|
* UIの修正
|
||||||
|
|
||||||
|
10.89.0
|
||||||
|
----------
|
||||||
|
* APIのエラーの形式を統一
|
||||||
|
* APIドキュメント刷新
|
||||||
|
* /api/v1/instance/peers 復活
|
||||||
|
* 「返信が遷移後も残り続ける問題を修正」([9beddc9](https://github.com/syuilo/misskey/commit/9beddc941a716f1322ae0b7d71d159edd642a399)) によって遷移前に返信が表示されなくなった問題を修正
|
||||||
|
* デッキモードにてユーザーのプロフィールを連続で見たとき、アクティビティや画像が前のユーザーのもののまま表示される問題を修正
|
||||||
|
|
||||||
|
10.88.0
|
||||||
|
----------
|
||||||
|
* アカウントの削除を試験的に実装
|
||||||
|
* デッキでメディア投稿のみ表示するオプションが機能していない問題を修正
|
||||||
|
* デッキでユーザーを表示したときにタイムラインが残存する問題を修正
|
||||||
|
* モバイルのユーザーページで、ユーザーAのタイムラインから他のユーザーBを選択してユーザーBのタイムラインに移動したとき、ユーザーAのタイムラインが残る問題を修正
|
||||||
|
* ハイライトでミュートしているユーザーの投稿が含まれる問題を修正
|
||||||
|
* 「みつける」でミュートしているユーザーが含まれる問題を修正
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
10.87.5
|
10.87.5
|
||||||
----------
|
----------
|
||||||
* モバイル版でも連携サービスを表示するように
|
* モバイル版でも連携サービスを表示するように
|
||||||
|
@ -40,10 +40,10 @@ Stands for _**M**iss**k**ey_.
|
|||||||
Stands for _**S**ervice**W**orker_.
|
Stands for _**S**ervice**W**orker_.
|
||||||
|
|
||||||
### Nyaize
|
### Nyaize
|
||||||
な を にゃ にすること
|
Convert な(na) to にゃ(nya)
|
||||||
|
|
||||||
#### Denyaize
|
#### Denyaize
|
||||||
Nyaizeを解除すること
|
Revert Nyaize
|
||||||
|
|
||||||
## Code style
|
## Code style
|
||||||
### Don't use `export default`
|
### Don't use `export default`
|
||||||
@ -59,16 +59,16 @@ export function something(foo: string): string {
|
|||||||
|
|
||||||
## Directory structure
|
## Directory structure
|
||||||
```
|
```
|
||||||
src ... ソースコード
|
src ... Source code
|
||||||
@types ... 外部ライブラリなどの型定義
|
@types ... Type definitions
|
||||||
prelude ... Misskeyに関係ないかつ副作用なし
|
prelude ... Independence utils for coding JavaScript without side effects
|
||||||
misc ... 副作用なしのユーティリティ処理
|
misc ... Independence utils for Misskey without side effects
|
||||||
service ... 副作用ありの共通処理
|
service ... Common functions with side effects
|
||||||
queue ... ジョブキューとジョブ
|
queue ... Job queues and Jobs
|
||||||
server ... Webサーバー
|
server ... Web Server
|
||||||
client ... クライアント
|
client ... Client
|
||||||
mfm ... MFM
|
mfm ... MFM
|
||||||
|
|
||||||
test ... テスト
|
test ... Test code
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -106,7 +106,6 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/3?token-time=2145916800&token-hash=c8HeVqLtmdgH-gSBJg8i10gmOcwllM87MDHeznl3el0%3D" alt="Melilot" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/3?token-time=2145916800&token-hash=c8HeVqLtmdgH-gSBJg8i10gmOcwllM87MDHeznl3el0%3D" alt="Melilot" width="100"></td>
|
||||||
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
|
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=LtV2lRi3L2jOWMLwccr9qWYfPrFlzIo2jYZHKzHEb6k%3D" alt="Xeltica" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=LtV2lRi3L2jOWMLwccr9qWYfPrFlzIo2jYZHKzHEb6k%3D" alt="Xeltica" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=Ch3iF81ZGP0LMo894Y9ajpLisgtE91SnxtZE7fxsgrM%3D" alt="べすれい" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=1FlxS9MEgmNGH_RHUVHbO5hIXB5I1z0lvA33CTvYvjA%3D" alt="gutfuckllc" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=1FlxS9MEgmNGH_RHUVHbO5hIXB5I1z0lvA33CTvYvjA%3D" alt="gutfuckllc" width="100"></td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
|
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
|
||||||
@ -114,7 +113,6 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
|
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
|
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
|
||||||
<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/gutfuckllc">gutfuckllc</a></td>
|
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<table><tr>
|
<table><tr>
|
||||||
@ -125,7 +123,6 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=9JtETp0X8gI280Ne1E8bxn6j4Lw5o2k4mJkICx97V_k%3D" alt="YUKIMOCHI" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=9JtETp0X8gI280Ne1E8bxn6j4Lw5o2k4mJkICx97V_k%3D" alt="YUKIMOCHI" width="100"></td>
|
||||||
<td><img src="https://c8.patreon.com/2/200/17463605" alt="Sampot" width="100"></td>
|
<td><img src="https://c8.patreon.com/2/200/17463605" alt="Sampot" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17195955/be45e5e14c3e48b2bee0456c84e19df4/4?token-time=2145916800&token-hash=SbdZeN5SmsuT9stD6v0jN1z0hftg0FmRiCTxysU0Ihw%3D" alt="Damillora" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17195955/be45e5e14c3e48b2bee0456c84e19df4/4?token-time=2145916800&token-hash=SbdZeN5SmsuT9stD6v0jN1z0hftg0FmRiCTxysU0Ihw%3D" alt="Damillora" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/3?token-time=2145916800&token-hash=gMq30aylxu5v3G8pRhWR5jeRBbYWEoRKjGbNeiCQz5g%3D" alt="Acid Chicken" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/2?token-time=2145916800&token-hash=zcwFxb2zopzWwksKVU1YpfAEjsl4yKT02aQ6yiAFRiQ%3D" alt="natalie" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/2?token-time=2145916800&token-hash=zcwFxb2zopzWwksKVU1YpfAEjsl4yKT02aQ6yiAFRiQ%3D" alt="natalie" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=5T8XcaAf9Zyzfg3QubR06s_kJZkArVEM2dwObrBVAU4%3D" alt="Hiratake" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=5T8XcaAf9Zyzfg3QubR06s_kJZkArVEM2dwObrBVAU4%3D" alt="Hiratake" width="100"></td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
@ -136,7 +133,6 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<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/user?u=17463605">Sampot</a></td>
|
<td><a href="https://www.patreon.com/user?u=17463605">Sampot</a></td>
|
||||||
<td><a href="https://www.patreon.com/damillora">Damillora</a></td>
|
<td><a href="https://www.patreon.com/damillora">Damillora</a></td>
|
||||||
<td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
|
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
|
||||||
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
|
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
@ -152,7 +148,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
|
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|
||||||
**Last updated:** Fri, 15 Feb 2019 19:12:06 UTC
|
**Last updated:** Sun, 24 Feb 2019 06:44:06 UTC
|
||||||
<!-- PATREON_END -->
|
<!-- PATREON_END -->
|
||||||
|
|
||||||
:four_leaf_clover: Copyright
|
:four_leaf_clover: Copyright
|
||||||
|
BIN
assets/api-doc.png
Normal file
BIN
assets/api-doc.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
@ -55,14 +55,9 @@ As root:
|
|||||||
*6.* Build Misskey
|
*6.* Build Misskey
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
Before build, you need to set `NODE_ENV` to `production`. like this:
|
|
||||||
* Linux: `export NODE_ENV=production`
|
|
||||||
* Windows (PowerShell): `$env:NODE_ENV="production"`
|
|
||||||
* Windows (CMD): `set NODE_ENV=production`
|
|
||||||
|
|
||||||
Build misskey with the following:
|
Build misskey with the following:
|
||||||
|
|
||||||
`npm run build`
|
`NODE_ENV=production npm run build`
|
||||||
|
|
||||||
If you're on Debian, you will need to install the `build-essential`, `python` package.
|
If you're on Debian, you will need to install the `build-essential`, `python` package.
|
||||||
|
|
||||||
@ -71,14 +66,14 @@ If you're still encountering errors about some modules, use node-gyp:
|
|||||||
1. `npm install -g node-gyp`
|
1. `npm install -g node-gyp`
|
||||||
2. `node-gyp configure`
|
2. `node-gyp configure`
|
||||||
3. `node-gyp build`
|
3. `node-gyp build`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
|
|
||||||
*7.* That is it.
|
*7.* That is it.
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
Well done! Now, you have an environment that run to Misskey.
|
Well done! Now, you have an environment that run to Misskey.
|
||||||
|
|
||||||
### Launch normally
|
### Launch normally
|
||||||
Just `npm start`. GLHF!
|
Just `NODE_ENV=production npm start`. GLHF!
|
||||||
|
|
||||||
### Launch with systemd
|
### Launch with systemd
|
||||||
|
|
||||||
@ -94,6 +89,7 @@ Type=simple
|
|||||||
User=misskey
|
User=misskey
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/npm start
|
||||||
WorkingDirectory=/home/misskey/misskey
|
WorkingDirectory=/home/misskey/misskey
|
||||||
|
Environment="NODE_ENV=production"
|
||||||
TimeoutSec=60
|
TimeoutSec=60
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
StandardError=syslog
|
StandardError=syslog
|
||||||
@ -113,7 +109,7 @@ You can check if the service is running with `systemctl status misskey`.
|
|||||||
1. `git fetch`
|
1. `git fetch`
|
||||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||||
3. `npm install`
|
3. `npm install`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
5. Check [ChangeLog](../CHANGELOG.md) for migration information
|
5. Check [ChangeLog](../CHANGELOG.md) for migration information
|
||||||
6. Restart your Misskey process to apply changes
|
6. Restart your Misskey process to apply changes
|
||||||
7. Enjoy
|
7. Enjoy
|
||||||
|
@ -57,7 +57,7 @@ En root :
|
|||||||
|
|
||||||
Construisez Misskey comme ceci :
|
Construisez Misskey comme ceci :
|
||||||
|
|
||||||
`npm run build`
|
`NODE_ENV=production npm run build`
|
||||||
|
|
||||||
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
|
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
|
||||||
|
|
||||||
@ -66,14 +66,14 @@ Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp:
|
|||||||
1. `npm install -g node-gyp`
|
1. `npm install -g node-gyp`
|
||||||
2. `node-gyp configure`
|
2. `node-gyp configure`
|
||||||
3. `node-gyp build`
|
3. `node-gyp build`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
|
|
||||||
*7.* C'est tout.
|
*7.* C'est tout.
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
|
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
|
||||||
|
|
||||||
### Lancement conventionnel
|
### Lancement conventionnel
|
||||||
Lancez tout simplement `npm start`. Bonne chance et amusez-vous bien !
|
Lancez tout simplement `NODE_ENV=production npm start`. Bonne chance et amusez-vous bien !
|
||||||
|
|
||||||
### Démarrage avec systemd
|
### Démarrage avec systemd
|
||||||
|
|
||||||
@ -89,6 +89,7 @@ Type=simple
|
|||||||
User=misskey
|
User=misskey
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/npm start
|
||||||
WorkingDirectory=/home/misskey/misskey
|
WorkingDirectory=/home/misskey/misskey
|
||||||
|
Environment="NODE_ENV=production"
|
||||||
TimeoutSec=60
|
TimeoutSec=60
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
StandardError=syslog
|
StandardError=syslog
|
||||||
@ -108,7 +109,7 @@ Vous pouvez vérifier si le service a démarré en utilisant la commande `system
|
|||||||
1. `git fetch`
|
1. `git fetch`
|
||||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||||
3. `npm install`
|
3. `npm install`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
|
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
|
||||||
|
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
@ -62,14 +62,9 @@ adduser --disabled-password --disabled-login misskey
|
|||||||
*6.* Misskeyのビルド
|
*6.* Misskeyのビルド
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
ビルドする前に、`NODE_ENV`を`production`にする必要があります。例:
|
|
||||||
* Linux: `export NODE_ENV=production`
|
|
||||||
* Windows (PowerShell): `$env:NODE_ENV="production"`
|
|
||||||
* Windows (CMD): `set NODE_ENV=production`
|
|
||||||
|
|
||||||
次のコマンドでMisskeyをビルドしてください:
|
次のコマンドでMisskeyをビルドしてください:
|
||||||
|
|
||||||
`npm run build`
|
`NODE_ENV=production npm run build`
|
||||||
|
|
||||||
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
||||||
|
|
||||||
@ -77,14 +72,14 @@ Debianをお使いであれば、`build-essential`パッケージをインスト
|
|||||||
1. `npm install -g node-gyp`
|
1. `npm install -g node-gyp`
|
||||||
2. `node-gyp configure`
|
2. `node-gyp configure`
|
||||||
3. `node-gyp build`
|
3. `node-gyp build`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
|
|
||||||
*7.* 以上です!
|
*7.* 以上です!
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
||||||
|
|
||||||
### 通常起動
|
### 通常起動
|
||||||
`npm start`するだけです。GLHF!
|
`NODE_ENV=production npm start`するだけです。GLHF!
|
||||||
|
|
||||||
### systemdを用いた起動
|
### systemdを用いた起動
|
||||||
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
|
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
|
||||||
@ -99,6 +94,7 @@ Type=simple
|
|||||||
User=misskey
|
User=misskey
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/npm start
|
||||||
WorkingDirectory=/home/misskey/misskey
|
WorkingDirectory=/home/misskey/misskey
|
||||||
|
Environment="NODE_ENV=production"
|
||||||
TimeoutSec=60
|
TimeoutSec=60
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
StandardError=syslog
|
StandardError=syslog
|
||||||
@ -119,7 +115,7 @@ CentOSで1024以下のポートを使用してMisskeyを使用する場合は`Ex
|
|||||||
1. `git fetch`
|
1. `git fetch`
|
||||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||||
3. `npm install`
|
3. `npm install`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
||||||
|
|
||||||
なにか問題が発生した場合は、`npm run clean`すると直る場合があります。
|
なにか問題が発生した場合は、`npm run clean`すると直る場合があります。
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "検索"
|
search: "検索"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
ok: "わかった"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "更新があります"
|
update-available-title: "更新があります"
|
||||||
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
||||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
token: "トークン"
|
token: "トークン"
|
||||||
signing-in: "やってます..."
|
signing-in: "やってます..."
|
||||||
signin: "サインイン"
|
|
||||||
or: "または"
|
or: "または"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Renoteに失敗しました"
|
failure: "Renoteに失敗しました"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "この投稿をRenoteしますか?"
|
title: "この投稿をRenoteしますか?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "セキュリティ"
|
security: "セキュリティ"
|
||||||
signin: "サインイン履歴"
|
signin: "ログイン履歴"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
other: "その他"
|
other: "その他"
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "マップの自動展開"
|
show-maps: "マップの自動展開"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
dark: "闇に飲まれる"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "ログイン"
|
|
||||||
signup: "新規登録"
|
|
||||||
signin-button: "やってる"
|
|
||||||
signup-button: "やる"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "投稿"
|
title: "投稿"
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "新しいバージョンが利用可能です"
|
update-available: "新しいバージョンが利用可能です"
|
||||||
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "Zwei-Faktor-Authentifizierung"
|
2fa: "Zwei-Faktor-Authentifizierung"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "Verstanden!"
|
got-it: "Verstanden!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Anpassung-Tipps"
|
title: "Anpassung-Tipps"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "Papierkorb"
|
trash: "Papierkorb"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Unterhaltungen"
|
messaging: "Unterhaltungen"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "Suche"
|
search: "Suche"
|
||||||
delete: "Löschen"
|
delete: "Löschen"
|
||||||
loading: "Laden"
|
loading: "Laden"
|
||||||
ok: "OK"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "Aktualisierung verfügbar"
|
update-available-title: "Aktualisierung verfügbar"
|
||||||
update-available: "Eine neue Version von Misskey ist verfügbar ({newer}, aktuell ist {current}). Lade die Seite neu um die aktuelle Version zu laden"
|
update-available: "Eine neue Version von Misskey ist verfügbar ({newer}, aktuell ist {current}). Lade die Seite neu um die aktuelle Version zu laden"
|
||||||
my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet."
|
my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "Erneut versuchen"
|
retry: "Erneut versuchen"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "Passwort"
|
password: "Passwort"
|
||||||
token: "Token"
|
token: "Token"
|
||||||
signing-in: "Melde an..."
|
signing-in: "Melde an..."
|
||||||
signin: "Anmelden"
|
|
||||||
or: "Oder"
|
or: "Oder"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Weitersagen fehlgeschlagen"
|
failure: "Weitersagen fehlgeschlagen"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "Bist du dir sicher, dass du das reposten willst?"
|
title: "Bist du dir sicher, dass du das reposten willst?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "Sicherheit"
|
security: "Sicherheit"
|
||||||
signin: "サインイン履歴"
|
signin: "ログイン履歴"
|
||||||
password: "Passwort"
|
password: "Passwort"
|
||||||
other: "Anderes"
|
other: "Anderes"
|
||||||
license: "Lizenz"
|
license: "Lizenz"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "Nacht Modus"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "Abgerundete Ecken"
|
|
||||||
circle-icons: "Kreisförmige Icons"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "Zeige Antworten"
|
show-reply-target: "Zeige Antworten"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "Karte anzeigen"
|
show-maps: "Karte anzeigen"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "Ton"
|
sound: "Ton"
|
||||||
enable-sounds: "Ton aktivieren"
|
enable-sounds: "Ton aktivieren"
|
||||||
enable-sounds-desc: "Spiel einen Ton ab beim Erhalten eines Beitrags bzw. einer Nachricht. Diese Einstellung wird im Browser gespeichert."
|
enable-sounds-desc: "Spiel einen Ton ab beim Erhalten eines Beitrags bzw. einer Nachricht. Diese Einstellung wird im Browser gespeichert."
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "Einstellungen"
|
settings: "Einstellungen"
|
||||||
signout: "Ausloggen"
|
|
||||||
dark: "Verdunkeln"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "Spielen"
|
game: "Spielen"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "ログイン"
|
|
||||||
signup: "新規登録"
|
|
||||||
signin-button: "やってる"
|
|
||||||
signup-button: "やる"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favoriten"
|
title: "Favoriten"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "投稿"
|
title: "投稿"
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "新しいバージョンが利用可能です"
|
update-available: "新しいバージョンが利用可能です"
|
||||||
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -8,14 +8,14 @@ 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 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 features are available. In addition, Misskey connects to a network system called the “Fediverse”, that 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 to Mastodon, Osada and Pleroma. Just imagine that the planet is sending a radio transmission to another planet to communicate."
|
about: "Misskey is an open-source, <b>decentralized microblogging software</b>. It has a sophisticated, fully customizable user interface, a variety of ways for expressing a reaction to posts, free file storage providing an integrated management system, and other advanced features are available. In addition, Misskey connects to a network system called the “Fediverse”, which enables us to communicate with users on other SNSs. For example, when you post something, it will be sent not only to Misskey users, but also those on Mastodon and Pleroma. Just imagine that the planet is sending a radio transmission to another planet, in order 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 videos, or create a poll - those are some of the things you can do with 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 videos, or create a poll - those are some of the things you can do with Misskey!"
|
||||||
reaction: "Reactions"
|
reaction: "Reactions"
|
||||||
reaction-desc: "Easiest way to tell your emotions. Misskey allows you to add various type of reactions to other’s post. The emotional experience on Misskey will never be on other SNSs which only able to push “likes”."
|
reaction-desc: "The easiest way to express your emotions. Misskey allows you to add various kinds of reactions to other's posts. The emotional experience on Misskey will never be on other SNSs, which are only able to push “likes”."
|
||||||
ui: "Interface"
|
ui: "Interface"
|
||||||
ui-desc: "No UI fits for everyone. Therefore, Misskey has a highly customizable UI for your taste. Make your original home by editing, adjusting layouts of timeline and placing selectable widgets you can easily customize."
|
ui-desc: "No single UI can suit everyone. Therefore, Misskey has a highly customizable UI for your tastes. You can make your home original by editing the layout of your timeline, and moving around selectable widgets that you can easily adjust to make this place your own."
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online."
|
drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online."
|
||||||
outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!"
|
outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!"
|
||||||
@ -28,8 +28,16 @@ common:
|
|||||||
load-more: "Load more"
|
load-more: "Load more"
|
||||||
enter-password: "Please enter the Password"
|
enter-password: "Please enter the Password"
|
||||||
2fa: "Two-factor authentication"
|
2fa: "Two-factor authentication"
|
||||||
customize-home: "Customize your home layout"
|
customize-home: "Customize home layout"
|
||||||
featured-notes: "Featured notes"
|
featured-notes: "Featured notes"
|
||||||
|
dark-mode: "Dark Mode"
|
||||||
|
use-shadow: "Use shadows in the UI"
|
||||||
|
rounded-corners: "Round corners of UI"
|
||||||
|
circle-icons: "Use circle icons"
|
||||||
|
contrasted-acct: "Add contrast to username"
|
||||||
|
signin: "Log In"
|
||||||
|
signup: "Sign up"
|
||||||
|
signout: "Logout"
|
||||||
got-it: "Got it!"
|
got-it: "Got it!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Customization tips"
|
title: "Customization tips"
|
||||||
@ -58,9 +66,10 @@ common:
|
|||||||
trash: "Trash"
|
trash: "Trash"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Talk"
|
messaging: "Talk"
|
||||||
|
home: "Home"
|
||||||
deck: "Deck"
|
deck: "Deck"
|
||||||
timeline: "Timeline"
|
timeline: "Timeline"
|
||||||
explore: "Discover"
|
explore: "Explore"
|
||||||
following: "Following"
|
following: "Following"
|
||||||
followers: "Followers"
|
followers: "Followers"
|
||||||
empty-timeline-info:
|
empty-timeline-info:
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "Search"
|
search: "Search"
|
||||||
delete: "Delete"
|
delete: "Delete"
|
||||||
loading: "Loading"
|
loading: "Loading"
|
||||||
ok: "OK"
|
ok: "It's OK"
|
||||||
|
cancel: "Quit"
|
||||||
update-available-title: "Update available"
|
update-available-title: "Update available"
|
||||||
update-available: "A new version of Misskey is now available({newer}, the current version is {current}). Reload the page to apply updates."
|
update-available: "A new version of Misskey is now available({newer}, the current version is {current}). Reload the page to apply updates."
|
||||||
my-token-regenerated: "Your token has been regenerated, so you will be signed out."
|
my-token-regenerated: "Your token has been regenerated, so you will be signed out."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "These post contents are mirrored."
|
is-remote-post: "These post contents are mirrored."
|
||||||
view-on-remote: "For completion, view it remotely."
|
view-on-remote: "For completion, view it remotely."
|
||||||
renoted-by: "Renoted by {user}"
|
renoted-by: "Renoted by {user}"
|
||||||
|
no-notes: "Without any notes"
|
||||||
|
turn-on-darkmode: "Switch to Dark mode"
|
||||||
|
turn-off-darkmode: "Light mode"
|
||||||
|
deck-column-align: "Deck column alignment"
|
||||||
|
deck-column-align-center: "Center"
|
||||||
|
deck-column-align-left: "Left"
|
||||||
|
deck-column-align-flexible: "Flexible"
|
||||||
|
deck-column-width: "Column width of the deck"
|
||||||
|
deck-column-width-narrow: "narrow"
|
||||||
|
deck-column-width-narrower: "somewhat narrow"
|
||||||
|
deck-column-width-normal: "Normal"
|
||||||
|
deck-column-width-wider: "somewhat wide"
|
||||||
|
deck-column-width-wide: "wide"
|
||||||
error:
|
error:
|
||||||
title: "Something happened :("
|
title: "Something happened :("
|
||||||
retry: "Retry"
|
retry: "Retry"
|
||||||
@ -290,7 +313,7 @@ common/views/components/media-banner.vue:
|
|||||||
click-to-show: "Click to show"
|
click-to-show: "Click to show"
|
||||||
common/views/components/theme.vue:
|
common/views/components/theme.vue:
|
||||||
theme: "Theme"
|
theme: "Theme"
|
||||||
light-theme: "Theme"
|
light-theme: "Theme to use in Light mode"
|
||||||
dark-theme: "Theme during dark mode"
|
dark-theme: "Theme during dark mode"
|
||||||
light-themes: "Light theme"
|
light-themes: "Light theme"
|
||||||
dark-themes: "Dark theme"
|
dark-themes: "Dark theme"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "Password"
|
password: "Password"
|
||||||
token: "Token"
|
token: "Token"
|
||||||
signing-in: "Signing in..."
|
signing-in: "Signing in..."
|
||||||
signin: "Sign in"
|
|
||||||
or: "Or"
|
or: "Or"
|
||||||
signin-with-twitter: "Log in with Twitter"
|
signin-with-twitter: "Log in with Twitter"
|
||||||
signin-with-github: "Sign in with GitHub"
|
signin-with-github: "Sign in with GitHub"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "List of muted accounts"
|
mute-list: "List of muted accounts"
|
||||||
blocking-list: "List of blocked accounts"
|
blocking-list: "List of blocked accounts"
|
||||||
export-requested: "You have requested an export. This may take a while. After the export is complete, the resulting file will be added to the drive."
|
export-requested: "You have requested an export. This may take a while. After the export is complete, the resulting file will be added to the drive."
|
||||||
|
enter-password: "Please enter your password"
|
||||||
|
danger-zone: "Cautious options"
|
||||||
|
delete-account: "Remove the account"
|
||||||
|
account-deleted: "The account has been deleted. It may take some time until all of the data disappears."
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "User"
|
users: "User"
|
||||||
rename: "Rename list"
|
rename: "Rename list"
|
||||||
@ -572,7 +598,7 @@ common/views/widgets/memo.vue:
|
|||||||
memo: "Write here!"
|
memo: "Write here!"
|
||||||
save: "Save"
|
save: "Save"
|
||||||
common/views/widgets/slideshow.vue:
|
common/views/widgets/slideshow.vue:
|
||||||
folder-customize-mode: "To specify a folder, please exit customize mode"
|
folder-customize-mode: "To specify a folder, please exit customization mode"
|
||||||
folder: "Please click and specify a folder"
|
folder: "Please click and specify a folder"
|
||||||
no-image: "There is no image in this folder"
|
no-image: "There is no image in this folder"
|
||||||
common/views/widgets/tips.vue:
|
common/views/widgets/tips.vue:
|
||||||
@ -583,7 +609,7 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line5: "You can upload files by dragging and dropping them to Drive."
|
tips-line5: "You can upload files by dragging and dropping them to Drive."
|
||||||
tips-line6: "You can move a folder by dragging it within the Drive."
|
tips-line6: "You can move a folder by dragging it within the Drive."
|
||||||
tips-line7: "You can move folders by dragging them within the Drive."
|
tips-line7: "You can move folders by dragging them within the Drive."
|
||||||
tips-line8: "Home can be customized from the settings."
|
tips-line8: "The Home layout can be customized from the settings."
|
||||||
tips-line9: "Misskey is licensed under AGPLv3."
|
tips-line9: "Misskey is licensed under AGPLv3."
|
||||||
tips-line10: "Using the Time Machine widget makes it easy to trace back to the past timeline."
|
tips-line10: "Using the Time Machine widget makes it easy to trace back to the past timeline."
|
||||||
tips-line11: "You can pin posts to user page by clicking on \"...\""
|
tips-line11: "You can pin posts to user page by clicking on \"...\""
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Failed to Repost"
|
failure: "Failed to Repost"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "Do you want to Repost it?"
|
title: "Do you want to Repost it?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "Without any notes"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}'s following"
|
following: "{user}'s following"
|
||||||
followers: "{user}'s follower"
|
followers: "{user}'s follower"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "Mute / Block"
|
mute-and-block: "Mute / Block"
|
||||||
blocking: "Blocking"
|
blocking: "Blocking"
|
||||||
security: "Security"
|
security: "Security"
|
||||||
signin: "Sign in history"
|
signin: "Login History"
|
||||||
password: "Password"
|
password: "Password"
|
||||||
other: "Other"
|
other: "Other"
|
||||||
license: "License"
|
license: "License"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "Wallpaper"
|
wallpaper: "Wallpaper"
|
||||||
choose-wallpaper: "Choose a background"
|
choose-wallpaper: "Choose a background"
|
||||||
delete-wallpaper: "Remove background"
|
delete-wallpaper: "Remove background"
|
||||||
dark-mode: "Dark Mode"
|
|
||||||
use-shadow: "Use shadows in the UI"
|
|
||||||
rounded-corners: "Round corners of UI"
|
|
||||||
circle-icons: "Use circle icons"
|
|
||||||
contrasted-acct: "Add contrast to username"
|
|
||||||
post-form-on-timeline: "Display post form at the top of the timeline"
|
post-form-on-timeline: "Display post form at the top of the timeline"
|
||||||
show-clock-on-header: "Show clock on upper-right"
|
show-clock-on-header: "Show clock on upper-right"
|
||||||
show-reply-target: "Display reply target"
|
show-reply-target: "Display reply target"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "Show renoted local posts in the timelines"
|
show-local-renotes: "Show renoted local posts in the timelines"
|
||||||
show-maps: "Display a map to show location"
|
show-maps: "Display a map to show location"
|
||||||
remain-deleted-note: "Continue to show deleted posts"
|
remain-deleted-note: "Continue to show deleted posts"
|
||||||
deck-column-align: "Deck column alignment"
|
|
||||||
deck-column-align-center: "Center"
|
|
||||||
deck-column-align-left: "Left"
|
|
||||||
deck-column-align-flexible: "Flexible"
|
|
||||||
deck-column-width: "Column width of the deck"
|
|
||||||
deck-column-width-narrow: "narrow"
|
|
||||||
deck-column-width-narrower: "somewhat narrow"
|
|
||||||
deck-column-width-normal: "Normal"
|
|
||||||
deck-column-width-wider: "somewhat wide"
|
|
||||||
deck-column-width-wide: "wide"
|
|
||||||
sound: "Sound"
|
sound: "Sound"
|
||||||
enable-sounds: "Enable sound"
|
enable-sounds: "Enable sound"
|
||||||
enable-sounds-desc: "Play a sound when you receive a post/message. This setting is stored in the browser."
|
enable-sounds-desc: "Play a sound when you receive a post/message. This setting is stored in the browser."
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "Follow requests"
|
follow-requests: "Follow requests"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Settings"
|
settings: "Settings"
|
||||||
signout: "Sign out"
|
|
||||||
dark: "Toggle dark mode"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "Games"
|
game: "Games"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "Daily"
|
day: "Daily"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "More details..."
|
about: "More details..."
|
||||||
gotit: "Got it!"
|
|
||||||
signin: "Log In"
|
|
||||||
signup: "Sign up"
|
|
||||||
signin-button: "Logging in..."
|
|
||||||
signup-button: "Sign up"
|
|
||||||
timeline: "Timeline"
|
timeline: "Timeline"
|
||||||
announcements: "Announcements"
|
announcements: "Announcements"
|
||||||
photos: "Recent Images"
|
photos: "Recent Images"
|
||||||
@ -1353,7 +1355,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
following: "Following"
|
following: "Following"
|
||||||
followers: "Followers"
|
followers: "Followers"
|
||||||
is-bot: "This account is a Bot"
|
is-bot: "This account is a Bot"
|
||||||
no-description: "自己紹介はありません"
|
no-description: "The user has not written their profile introduction"
|
||||||
years-old: "{age} years old"
|
years-old: "{age} years old"
|
||||||
year: "/"
|
year: "/"
|
||||||
month: "/"
|
month: "/"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "Posts and replies"
|
with-replies: "Posts and replies"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
my-posts: "My posts"
|
my-posts: "My posts"
|
||||||
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"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "What do you want to do? (Please enter a number): <1 → Upload a file | 2 → Upload a file from a URL | 3 → Create a folder | 4 → Change this folder's name | 5 → Move this folder | 6 → Delete this folder>"
|
prompt: "What do you want to do? (Please enter a number): <1 → Upload a file | 2 → Upload a file from a URL | 3 → Create a folder | 4 → Change this folder's name | 5 → Move this folder | 6 → Delete this folder>"
|
||||||
deletion-alert: "Sorry! Deleting a folder is not yet implemented."
|
deletion-alert: "Sorry! Deleting a folder is not yet implemented."
|
||||||
folder-name: "Folder name"
|
folder-name: "Folder name"
|
||||||
root-rename-alert: "You're in the root; it can't be renamed because it's not a folder. Navigate to a folder you want to rename and try again."
|
here-is-root: "Currently, you are on the root, not inside of any folder."
|
||||||
root-move-alert: "You're in the root; it can't be moved because it's not a folder. Navigate to a folder you want to move and try again."
|
|
||||||
url-prompt: "URL of the file you want to upload"
|
url-prompt: "URL of the file you want to upload"
|
||||||
uploading: "Upload requested. It may take a while for the upload to finish."
|
uploading: "Upload requested. It may take a while for the upload to finish."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "This post has been deleted"
|
deleted: "This post has been deleted"
|
||||||
media-count: "{} media attached"
|
media-count: "{} media attached"
|
||||||
poll: "Poll"
|
poll: "Poll"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "No notes"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "Welcome back, "
|
welcome-back: "Welcome back, "
|
||||||
adjective: "Sir"
|
adjective: "Sir"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Settings"
|
settings: "Settings"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "About Misskey"
|
about: "About Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "It seems this user hasn't posted anything yet."
|
|
||||||
no-notes-with-media: "There are no notes with media attachments"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favorites"
|
title: "Favorites"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "Global"
|
global: "Global"
|
||||||
mentions: "Mentions"
|
mentions: "Mentions"
|
||||||
messages: "Messages"
|
messages: "Messages"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "Without any notes"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "No posts contains \"{q}\" found."
|
no-posts-found: "No posts contains \"{q}\" found."
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "Sign up"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "Dashboard"
|
dashboard: "Dashboard"
|
||||||
widgets-hints: "You can add/delete/rearrange widgets. To move the widget, drag \"三\". Tap \"x\" to delete the widget. Some widgets can change display by tapping."
|
widgets-hints: "You can add/delete/rearrange widgets. To move the widget, drag \"三\". Tap \"x\" to delete the widget. Some widgets can change display by tapping."
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "Post"
|
title: "Post"
|
||||||
prev: "Previous note"
|
prev: "Previous note"
|
||||||
next: "Next note"
|
next: "Next note"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "Notifications"
|
|
||||||
read-all: "Do you wish to mark all notifications as read?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "Signed in as {}"
|
signed-in-as: "Signed in as {}"
|
||||||
design: "Design and display"
|
design: "Design and display"
|
||||||
dark-mode: "Dark Mode"
|
|
||||||
i-am-under-limited-internet: "I'm in limited bandwidth"
|
i-am-under-limited-internet: "I'm in limited bandwidth"
|
||||||
circle-icons: "Use circle icons"
|
|
||||||
contrasted-acct: "Add contrast to username"
|
|
||||||
timeline: "Timeline"
|
timeline: "Timeline"
|
||||||
show-reply-target: "Show reply target"
|
show-reply-target: "Show reply target"
|
||||||
show-my-renotes: "Show my reposts"
|
show-my-renotes: "Show my reposts"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "A new version is available"
|
update-available: "A new version is available"
|
||||||
update-available-desc: "Updates will be applied after reloading the page"
|
update-available-desc: "Updates will be applied after reloading the page"
|
||||||
settings: "Settings"
|
settings: "Settings"
|
||||||
signout: "Sign out"
|
|
||||||
sound: "Sounds"
|
sound: "Sounds"
|
||||||
enable-sounds: "Enable sounds"
|
enable-sounds: "Enable sounds"
|
||||||
password: "Password"
|
password: "Password"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "Frequent mentions"
|
frequently-replied-users: "Frequent mentions"
|
||||||
followers-you-know: "Followers you know"
|
followers-you-know: "Followers you know"
|
||||||
last-used-at: "Last active:"
|
last-used-at: "Last active:"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "No notes"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "No photos"
|
no-photos: "No photos"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "Direct posts"
|
direct: "Direct posts"
|
||||||
notifications: "Notifications"
|
notifications: "Notifications"
|
||||||
list: "List"
|
list: "List"
|
||||||
|
select-list: "Select a list"
|
||||||
swap-left: "Move left"
|
swap-left: "Move left"
|
||||||
swap-right: "Move right"
|
swap-right: "Move right"
|
||||||
swap-up: "Move up"
|
swap-up: "Move up"
|
||||||
@ -1621,10 +1604,9 @@ deck:
|
|||||||
pop-right: "Dock on the right"
|
pop-right: "Dock on the right"
|
||||||
disabled-timeline:
|
disabled-timeline:
|
||||||
title: "Timeline has been disabled"
|
title: "Timeline has been disabled"
|
||||||
description: "This timeline has been disabled by the server administrator."
|
description: "Timeline has been disabled by the administrator."
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "Only media posts"
|
is-media-only: "Only media posts"
|
||||||
is-media-view: "Media view"
|
|
||||||
edit: "Options"
|
edit: "Options"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "Follows you"
|
follows-you: "Follows you"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "Autenticación de dos factores"
|
2fa: "Autenticación de dos factores"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "¡Listo!"
|
got-it: "¡Listo!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Consejos de personalización"
|
title: "Consejos de personalización"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "Papelera"
|
trash: "Papelera"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Conversación"
|
messaging: "Conversación"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "Buscar"
|
search: "Buscar"
|
||||||
delete: "eliminar"
|
delete: "eliminar"
|
||||||
loading: "cargando"
|
loading: "cargando"
|
||||||
ok: "OK"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "Actualización disponible"
|
update-available-title: "Actualización disponible"
|
||||||
update-available: "Hay disponible una nueva versión de Misskey ({newer}, la versión actual es {current}). Refresca la página para aplicar las actualizaciones."
|
update-available: "Hay disponible una nueva versión de Misskey ({newer}, la versión actual es {current}). Refresca la página para aplicar las actualizaciones."
|
||||||
my-token-regenerated: "Tu token se ha regenerado vas a ser desconectado."
|
my-token-regenerated: "Tu token se ha regenerado vas a ser desconectado."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "Contraseña"
|
password: "Contraseña"
|
||||||
token: "Identificador"
|
token: "Identificador"
|
||||||
signing-in: "Entrando..."
|
signing-in: "Entrando..."
|
||||||
signin: "Entra"
|
|
||||||
or: "O"
|
or: "O"
|
||||||
signin-with-twitter: "Ingresar con Twitter"
|
signin-with-twitter: "Ingresar con Twitter"
|
||||||
signin-with-github: "Ingresar con Github"
|
signin-with-github: "Ingresar con Github"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "Usuarios"
|
users: "Usuarios"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "La publicación ha fallado"
|
failure: "La publicación ha fallado"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "¿Seguro qué quieres volver a publicarlo?"
|
title: "¿Seguro qué quieres volver a publicarlo?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user} sigue a"
|
following: "{user} sigue a"
|
||||||
followers: "Seguidores de {user}"
|
followers: "Seguidores de {user}"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "Silenciar/Bloquear"
|
mute-and-block: "Silenciar/Bloquear"
|
||||||
blocking: "Bloquear"
|
blocking: "Bloquear"
|
||||||
security: "Seguridad"
|
security: "Seguridad"
|
||||||
signin: "Historial de inicios de sesión"
|
signin: "ログイン履歴"
|
||||||
password: "Contraseña"
|
password: "Contraseña"
|
||||||
other: "Otros"
|
other: "Otros"
|
||||||
license: "Licencia"
|
license: "Licencia"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "Elije un fondo"
|
choose-wallpaper: "Elije un fondo"
|
||||||
delete-wallpaper: "Suprimir fondo"
|
delete-wallpaper: "Suprimir fondo"
|
||||||
dark-mode: "Modo Nocturno"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "Usar iconos circulares"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "Mostrar el formulario de las entradas encima de la línea de tiempo"
|
post-form-on-timeline: "Mostrar el formulario de las entradas encima de la línea de tiempo"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "マップの自動展開"
|
show-maps: "マップの自動展開"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "Izquierda"
|
|
||||||
deck-column-align-flexible: "Flexible"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "Sonidos"
|
sound: "Sonidos"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "Solicitudes de seguimiento"
|
follow-requests: "Solicitudes de seguimiento"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Configuraciones"
|
settings: "Configuraciones"
|
||||||
signout: "Desconectarse"
|
|
||||||
dark: "Sumergirse en la oscuridad"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "Juegos"
|
game: "Juegos"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "ログイン"
|
|
||||||
signup: "新規登録"
|
|
||||||
signin-button: "やってる"
|
|
||||||
signup-button: "やる"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "投稿"
|
title: "投稿"
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "新しいバージョンが利用可能です"
|
update-available: "新しいバージョンが利用可能です"
|
||||||
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -15,9 +15,9 @@ common:
|
|||||||
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 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 »."
|
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: "Aucune interface graphique ne peut plaire à tout le monde. Par conséquent, Misskey possède une interface utilisateur hautement personnalisable selon vos goûts. Vous pouvez rendre votre page d'accueil originale en modifiant la mise en page de votre fil et en déplaçant les widgets que vous pouvez facilement ajuster pour vous approprier cet espace."
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。"
|
drive-desc: "Vous voulez poster une photo que vous avez déjà transférée ? Vous souhaitez organiser, nommer et créer un dossier pour vos fichiers téléversés ? Misskey Drive est la meilleure solution pour vous. Très facile de partager vos fichiers en ligne."
|
||||||
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 !"
|
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"
|
||||||
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "Authentification à deux facteurs"
|
2fa: "Authentification à deux facteurs"
|
||||||
customize-home: "Personnaliser la disposition de votre accueil"
|
customize-home: "Personnaliser la disposition de votre accueil"
|
||||||
featured-notes: "Les notes mises en avant"
|
featured-notes: "Les notes mises en avant"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "J’ai compris !"
|
got-it: "J’ai compris !"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Conseils de personnalisation"
|
title: "Conseils de personnalisation"
|
||||||
@ -58,13 +66,14 @@ common:
|
|||||||
trash: "Corbeille"
|
trash: "Corbeille"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Conversations"
|
messaging: "Conversations"
|
||||||
|
home: "Principal"
|
||||||
deck: "Deck"
|
deck: "Deck"
|
||||||
timeline: "Fil"
|
timeline: "Fil"
|
||||||
explore: "Découvrir"
|
explore: "Découvrir"
|
||||||
following: "Suit"
|
following: "Suit"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonné·e·s"
|
||||||
empty-timeline-info:
|
empty-timeline-info:
|
||||||
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
follow-users-to-make-your-timeline: "Les utilisateurs suivants afficheront leurs publications sur votre fil."
|
||||||
explore: "Trouver des utilisateurs"
|
explore: "Trouver des utilisateurs"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "D"
|
sunday: "D"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "Recherche"
|
search: "Recherche"
|
||||||
delete: "Supprimer"
|
delete: "Supprimer"
|
||||||
loading: "Chargement en cours …"
|
loading: "Chargement en cours …"
|
||||||
ok: "OK"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "Mise à jour disponible"
|
update-available-title: "Mise à jour disponible"
|
||||||
update-available: "Une nouvelle version de Misskey est disponible ({newer}, version actuelle: {current}). Veuillez recharger la page pour appliquer la mise à jour."
|
update-available: "Une nouvelle version de Misskey est disponible ({newer}, version actuelle: {current}). Veuillez recharger la page pour appliquer la mise à jour."
|
||||||
my-token-regenerated: "Votre jeton vient d’être généré, vous allez maintenant être déconnecté."
|
my-token-regenerated: "Votre jeton vient d’être généré, vous allez maintenant être déconnecté."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
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}"
|
||||||
|
no-notes: "Sans aucune note"
|
||||||
|
turn-on-darkmode: "Basculer vers le mode nuit"
|
||||||
|
turn-off-darkmode: "Mode jour"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "Une erreur est survenue"
|
title: "Une erreur est survenue"
|
||||||
retry: "Réessayer"
|
retry: "Réessayer"
|
||||||
@ -214,10 +237,10 @@ common/views/pages/explore.vue:
|
|||||||
recently-registered-users: "Les nouveaux inscrits"
|
recently-registered-users: "Les nouveaux inscrits"
|
||||||
popular-tags: "Mots-clés populaires"
|
popular-tags: "Mots-clés populaires"
|
||||||
federated: "Du Fédiverse"
|
federated: "Du Fédiverse"
|
||||||
explore: "{host}を探索"
|
explore: "Explorer {host}"
|
||||||
users-info: "現在{users}ユーザーが登録されています"
|
users-info: "Actuellement, {users} utilisateurs se sont inscrit ici"
|
||||||
common/views/components/user-list.vue:
|
common/views/components/user-list.vue:
|
||||||
no-users: "ユーザーがいません"
|
no-users: "Il n'y a aucun utilisateur"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "En attente de {}"
|
waiting-for: "En attente de {}"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "Mot de passe"
|
password: "Mot de passe"
|
||||||
token: "Jeton"
|
token: "Jeton"
|
||||||
signing-in: "Connexion…"
|
signing-in: "Connexion…"
|
||||||
signin: "Se connecter"
|
|
||||||
or: "Ou"
|
or: "Ou"
|
||||||
signin-with-twitter: "Se connecter via Twitter"
|
signin-with-twitter: "Se connecter via Twitter"
|
||||||
signin-with-github: "Se connecter avec GitHub"
|
signin-with-github: "Se connecter avec GitHub"
|
||||||
@ -459,7 +481,7 @@ common/views/components/notification-settings.vue:
|
|||||||
mark-as-read-all-notifications: "Marquer toutes les notifications comme lues"
|
mark-as-read-all-notifications: "Marquer toutes les notifications comme lues"
|
||||||
mark-as-read-all-unread-notes: "Marquer toutes les notes comme lues"
|
mark-as-read-all-unread-notes: "Marquer toutes les notes comme lues"
|
||||||
mark-as-read-all-talk-messages: "Marquer toutes les conversations comme lues"
|
mark-as-read-all-talk-messages: "Marquer toutes les conversations comme lues"
|
||||||
auto-watch: "投稿の自動ウォッチ"
|
auto-watch: "Surveiller automatiquement les publications"
|
||||||
auto-watch-desc: "Recevoir automatiquement des notifications à propos des publications auxquelles vous avez réagi ou répondu"
|
auto-watch-desc: "Recevoir automatiquement des notifications à propos des publications auxquelles vous avez réagi ou répondu"
|
||||||
common/views/components/integration-settings.vue:
|
common/views/components/integration-settings.vue:
|
||||||
title: "Intégrations"
|
title: "Intégrations"
|
||||||
@ -536,7 +558,11 @@ common/views/components/profile-editor.vue:
|
|||||||
following-list: "Liste des abonnements"
|
following-list: "Liste des abonnements"
|
||||||
mute-list: "Liste des comptes mis en sourdine"
|
mute-list: "Liste des comptes mis en sourdine"
|
||||||
blocking-list: "Liste des comptes bloqués"
|
blocking-list: "Liste des comptes bloqués"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "Vous avez demandé une exportation. Cela peut prendre un certain temps. Une fois l'exportation terminée, le fichier résultant sera ajouté dans le Drive."
|
||||||
|
enter-password: "Veuillez saisir votre mot de passe"
|
||||||
|
danger-zone: "Zone de danger"
|
||||||
|
delete-account: "Supprimer le compte"
|
||||||
|
account-deleted: "Le compte a été supprimé. Cela peut prendre un certain temps avant que toutes les données disparaissent."
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "Utilisateur·rice"
|
users: "Utilisateur·rice"
|
||||||
rename: "Renommer la liste"
|
rename: "Renommer la liste"
|
||||||
@ -576,7 +602,7 @@ common/views/widgets/slideshow.vue:
|
|||||||
folder: "Veuillez cliquer pour spécifier le dossier"
|
folder: "Veuillez cliquer pour spécifier le dossier"
|
||||||
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: "Vous pouvez vous concentrer sur le fil avec <kbd>t</kbd>"
|
||||||
tips-line2: "Ouvre la fenêtre de publication en appuyant sur <kbd>p</kbd> ou <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"
|
||||||
@ -585,7 +611,7 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line7: "Vous pouvez déplacer des dossiers en les glissant dans le Drive"
|
tips-line7: "Vous pouvez déplacer des dossiers en les glissant dans le Drive"
|
||||||
tips-line8: "Vous pouvez personnaliser l'Accueil via les paramètres"
|
tips-line8: "Vous pouvez personnaliser l'Accueil via les paramètres"
|
||||||
tips-line9: "Misskey est sous licence AGPLv3"
|
tips-line9: "Misskey est sous licence AGPLv3"
|
||||||
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
|
tips-line10: "L'utilisation du widget Time Machine permet de remonter facilement dans le passé du fil."
|
||||||
tips-line11: "Vous pouvez épingler des notes sur votre page en cliquant sur « … »"
|
tips-line11: "Vous pouvez épingler des notes sur votre page en cliquant sur « … »"
|
||||||
tips-line13: "Tous les fichiers attachés à cette publication sont sauvegardés dans le Drive"
|
tips-line13: "Tous les fichiers attachés à cette publication sont sauvegardés dans le Drive"
|
||||||
tips-line14: "Lorsque vous personnalisez la disposition de votre page d’accueil, vous pouvez effectuer un clique droit sur un widget pour changer son apparence."
|
tips-line14: "Lorsque vous personnalisez la disposition de votre page d’accueil, vous pouvez effectuer un clique droit sur un widget pour changer son apparence."
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "La renote a échoué"
|
failure: "La renote a échoué"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "Êtes vous sûr de vouloir renote cette note?"
|
title: "Êtes vous sûr de vouloir renote cette note?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "Sans aucune note"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user} suit"
|
following: "{user} suit"
|
||||||
followers: "Abonné·e·s de {user}"
|
followers: "Abonné·e·s de {user}"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "Silencé·e·s / Bloqué·e·s"
|
mute-and-block: "Silencé·e·s / Bloqué·e·s"
|
||||||
blocking: "En cours de blocage"
|
blocking: "En cours de blocage"
|
||||||
security: "Sécurité"
|
security: "Sécurité"
|
||||||
signin: "Historique de connexion"
|
signin: "ログイン履歴"
|
||||||
password: "Mot de Passe"
|
password: "Mot de Passe"
|
||||||
other: "Autres"
|
other: "Autres"
|
||||||
license: "Licence"
|
license: "Licence"
|
||||||
@ -814,18 +838,13 @@ desktop/views/components/settings.vue:
|
|||||||
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}}"
|
||||||
auto-popout: "Fenêtre contextuelle automatique"
|
auto-popout: "Fenêtre contextuelle automatique"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "Dans le mesure du possible, l'affichage pop-out sera utilisé au lieu d'ouvrir une nouvelle fenêtre. Ce paramètre est enregistré dans votre navigateur."
|
||||||
keep-cw: "Maintenir l'avertissement de contenu"
|
keep-cw: "Maintenir l'avertissement de contenu"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "Lorsque vous répondez à un message, le même avertissement de contenu est reprit par défaut dans la réponse, le même que celui qui a été défini dans le message original."
|
||||||
display: "Affichage et design"
|
display: "Affichage et design"
|
||||||
wallpaper: "Arrière plan"
|
wallpaper: "Arrière plan"
|
||||||
choose-wallpaper: "Sélectionner un fond d'écran"
|
choose-wallpaper: "Sélectionner un fond d'écran"
|
||||||
delete-wallpaper: "Supprimer le fond d'écran"
|
delete-wallpaper: "Supprimer le fond d'écran"
|
||||||
dark-mode: "Mode nuit"
|
|
||||||
use-shadow: "Utiliser les ombres dans l'interface utilisateur"
|
|
||||||
rounded-corners: "Coins arrondis"
|
|
||||||
circle-icons: "Utiliser des icônes circulaires"
|
|
||||||
contrasted-acct: "Nom d’utilisateur contrasté"
|
|
||||||
post-form-on-timeline: "Afficher le formulaire en haut du fil"
|
post-form-on-timeline: "Afficher le formulaire en haut du fil"
|
||||||
show-clock-on-header: "Afficher l'horloge à droite sur le coté supérieur"
|
show-clock-on-header: "Afficher l'horloge à droite sur le coté supérieur"
|
||||||
show-reply-target: "Afficher les réponses"
|
show-reply-target: "Afficher les réponses"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "Afficher les partages locaux sur les fils"
|
show-local-renotes: "Afficher les partages locaux sur les fils"
|
||||||
show-maps: "Afficher la carte"
|
show-maps: "Afficher la carte"
|
||||||
remain-deleted-note: "Continuer à afficher les messages supprimés"
|
remain-deleted-note: "Continuer à afficher les messages supprimés"
|
||||||
deck-column-align: "Alignement des colonnes du Deck"
|
|
||||||
deck-column-align-center: "Centrer"
|
|
||||||
deck-column-align-left: "À gauche"
|
|
||||||
deck-column-align-flexible: "Flexibles"
|
|
||||||
deck-column-width: "Largeur des colonnes du Deck"
|
|
||||||
deck-column-width-narrow: "Étroite"
|
|
||||||
deck-column-width-narrower: "Légèrement étroite"
|
|
||||||
deck-column-width-normal: "Normale"
|
|
||||||
deck-column-width-wider: "Légèrement large"
|
|
||||||
deck-column-width-wide: "Large"
|
|
||||||
sound: "Son"
|
sound: "Son"
|
||||||
enable-sounds: "Activer le son"
|
enable-sounds: "Activer le son"
|
||||||
enable-sounds-desc: "Jouer un son lorsque vous recevez un message. Ce paramètre est sauvegardé dans le navigateur."
|
enable-sounds-desc: "Jouer un son lorsque vous recevez un message. Ce paramètre est sauvegardé dans le navigateur."
|
||||||
@ -973,11 +982,9 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
profile: "Votre profil"
|
profile: "Votre profil"
|
||||||
favorites: "Favorites"
|
favorites: "Favorites"
|
||||||
lists: "Listes"
|
lists: "Listes"
|
||||||
follow-requests: "Demandes de suivi"
|
follow-requests: "Demandes d’abonnement"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Réglages"
|
settings: "Réglages"
|
||||||
signout: "Déconnexion"
|
|
||||||
dark: "Fall in dark"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "Jeux"
|
game: "Jeux"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -987,7 +994,7 @@ desktop/views/components/ui.header.post.vue:
|
|||||||
desktop/views/components/ui.header.search.vue:
|
desktop/views/components/ui.header.search.vue:
|
||||||
placeholder: "Chercher"
|
placeholder: "Chercher"
|
||||||
desktop/views/components/received-follow-requests-window.vue:
|
desktop/views/components/received-follow-requests-window.vue:
|
||||||
title: "Demandes de suivi"
|
title: "Demandes d’abonnement"
|
||||||
accept: "Accepter"
|
accept: "Accepter"
|
||||||
reject: "Refuser"
|
reject: "Refuser"
|
||||||
desktop/views/components/user-lists-window.vue:
|
desktop/views/components/user-lists-window.vue:
|
||||||
@ -1083,7 +1090,7 @@ admin/views/instance.vue:
|
|||||||
disable-registration: "Désactiver les inscriptions"
|
disable-registration: "Désactiver les inscriptions"
|
||||||
disable-local-timeline: "Désactiver le fil local"
|
disable-local-timeline: "Désactiver le fil local"
|
||||||
disable-global-timeline: "Désactiver le fil global"
|
disable-global-timeline: "Désactiver le fil global"
|
||||||
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
|
disabling-timelines-info: "Même si vous désactivez ces fils, l'administrateur et les modérateurs peuvent continuer à les utiliser."
|
||||||
invite: "Inviter"
|
invite: "Inviter"
|
||||||
save: "Sauvegarder"
|
save: "Sauvegarder"
|
||||||
saved: "Enregistré"
|
saved: "Enregistré"
|
||||||
@ -1101,7 +1108,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "Désactiver STARTTLS lorsque celui-ci est utilisé."
|
smtp-secure-info: "Désactiver STARTTLS lorsque celui-ci est utilisé."
|
||||||
smtp-host: "Hôte SMTP"
|
smtp-host: "Hôte SMTP"
|
||||||
smtp-port: "Port SMTP"
|
smtp-port: "Port SMTP"
|
||||||
smtp-auth: "SMTP認証を行う"
|
smtp-auth: "Effectuer une authentification SMTP"
|
||||||
smtp-user: "Utilisateur SMTP"
|
smtp-user: "Utilisateur SMTP"
|
||||||
smtp-pass: "Mot de passe SMTP"
|
smtp-pass: "Mot de passe SMTP"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1256,7 +1263,7 @@ admin/views/federation.vue:
|
|||||||
latest-request-sent-at: "Dernière requête envoyée"
|
latest-request-sent-at: "Dernière requête envoyée"
|
||||||
latest-request-received-at: "Dernière requête reçue"
|
latest-request-received-at: "Dernière requête reçue"
|
||||||
remove-all-following: "フォローを全解除"
|
remove-all-following: "フォローを全解除"
|
||||||
remove-all-following-info: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
|
remove-all-following-info: "Se désabonner de tous les comptes de {host}. Exécutez cette commande si l'instance n'existe plus."
|
||||||
block: "Bloquer"
|
block: "Bloquer"
|
||||||
marked-as-closed: "Marquées comme fermées"
|
marked-as-closed: "Marquées comme fermées"
|
||||||
lookup: "Recherche"
|
lookup: "Recherche"
|
||||||
@ -1266,8 +1273,8 @@ admin/views/federation.vue:
|
|||||||
sorts:
|
sorts:
|
||||||
caughtAtAsc: "Date d’inscription (Ascendant)"
|
caughtAtAsc: "Date d’inscription (Ascendant)"
|
||||||
caughtAtDesc: "Date d’inscription (Descendant)"
|
caughtAtDesc: "Date d’inscription (Descendant)"
|
||||||
lastCommunicatedAtAsc: "最後にやり取りした日時が古い順"
|
lastCommunicatedAtAsc: "La date et l'heure des interactions plus anciennes"
|
||||||
lastCommunicatedAtDesc: "最後にやり取りした日時が新しい順"
|
lastCommunicatedAtDesc: "La date et l'heure des nouvelles interactions"
|
||||||
notesAsc: "投稿が少ない順"
|
notesAsc: "投稿が少ない順"
|
||||||
notesDesc: "Description des notes"
|
notesDesc: "Description des notes"
|
||||||
usersAsc: "ユーザーが少ない順"
|
usersAsc: "ユーザーが少ない順"
|
||||||
@ -1276,7 +1283,7 @@ admin/views/federation.vue:
|
|||||||
followingDesc: "Ayant le plus d'abonné·e·s"
|
followingDesc: "Ayant le plus d'abonné·e·s"
|
||||||
followersAsc: "Ayant le moins d'abonné·e·s"
|
followersAsc: "Ayant le moins d'abonné·e·s"
|
||||||
followersDesc: "Ayant le plus d'abonné·e·s"
|
followersDesc: "Ayant le plus d'abonné·e·s"
|
||||||
driveUsageAsc: "ドライブ使用量が少ない順"
|
driveUsageAsc: "Moins d'espace de stockage utilisé"
|
||||||
driveUsageDesc: "ドライブ使用量が多い順"
|
driveUsageDesc: "ドライブ使用量が多い順"
|
||||||
driveFilesAsc: "ドライブのファイル数が少ない順"
|
driveFilesAsc: "ドライブのファイル数が少ない順"
|
||||||
driveFilesDesc: "ドライブのファイル数が多い順"
|
driveFilesDesc: "ドライブのファイル数が多い順"
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "Par jour"
|
day: "Par jour"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "à propos"
|
about: "à propos"
|
||||||
gotit: "J'ai compris !"
|
|
||||||
signin: "Connexion"
|
|
||||||
signup: "S'enregistrer"
|
|
||||||
signin-button: "Se connecter"
|
|
||||||
signup-button: "S'inscrire"
|
|
||||||
timeline: "Fil d’actualité"
|
timeline: "Fil d’actualité"
|
||||||
announcements: "Notices"
|
announcements: "Notices"
|
||||||
photos: "Images récentes"
|
photos: "Images récentes"
|
||||||
@ -1353,7 +1355,7 @@ desktop/views/pages/user/user.header.vue:
|
|||||||
following: "Suit"
|
following: "Suit"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonné·e·s"
|
||||||
is-bot: "Ce compte est un Bot"
|
is-bot: "Ce compte est un Bot"
|
||||||
no-description: "自己紹介はありません"
|
no-description: "L'utilisateur n'a pas renseigné d'introduction sur son profile"
|
||||||
years-old: "{age} ans"
|
years-old: "{age} ans"
|
||||||
year: "/"
|
year: "/"
|
||||||
month: "/"
|
month: "/"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "Publications et réponses"
|
with-replies: "Publications et réponses"
|
||||||
with-media: "Média"
|
with-media: "Média"
|
||||||
my-posts: "Mes Messages"
|
my-posts: "Mes Messages"
|
||||||
empty: "Cet·te utilisateur·rice n'a rien posté encore."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Messagerie"
|
title: "Messagerie"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
|
prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
|
||||||
deletion-alert: "Désolé ! La suppression d’un dossier n’est pas encore implémentée."
|
deletion-alert: "Désolé ! La suppression d’un dossier n’est pas encore implémentée."
|
||||||
folder-name: "Nom du dossier"
|
folder-name: "Nom du dossier"
|
||||||
root-rename-alert: "L'emplacement actuel est la racine, pas le dossier, vous ne pouvez donc pas le renommer. Veuillez vous déplacer dans le dossier dont vous souhaitez modifier le nom."
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "L'emplacement actuel est la racine, ce n'est pas un dossier et il ne peut pas être déplacé. Veuillez vous déplacer dans le dossier que vous souhaitez déplacer."
|
|
||||||
url-prompt: "URL du fichier que vous souhaitez téléverser"
|
url-prompt: "URL du fichier que vous souhaitez téléverser"
|
||||||
uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever."
|
uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "cette publication a été supprimée"
|
deleted: "cette publication a été supprimée"
|
||||||
media-count: "{} médias attachés"
|
media-count: "{} médias attachés"
|
||||||
poll: "Sondage"
|
poll: "Sondage"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "Pas de notes"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "Content de vous revoir ! "
|
welcome-back: "Content de vous revoir ! "
|
||||||
adjective: "M."
|
adjective: "M."
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Réglages"
|
settings: "Réglages"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "À propos de Misskey"
|
about: "À propos de Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "Il semble que cet·te utilisateur·rice n’a rien publié pour le moment."
|
|
||||||
no-notes-with-media: "Aucune note comprenant des médias"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favoris"
|
title: "Favoris"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,17 +1496,13 @@ mobile/views/pages/home.vue:
|
|||||||
global: "Global"
|
global: "Global"
|
||||||
mentions: "Mentions"
|
mentions: "Mentions"
|
||||||
messages: "Messages"
|
messages: "Messages"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "Sans aucune note"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "Aucune publication ayant pour hashtag « {q} » n’a été trouvée."
|
no-posts-found: "Aucune publication ayant pour hashtag « {q} » n’a été trouvée."
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "S'enregistrer"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "Tableau de bord"
|
dashboard: "ダッシュボード"
|
||||||
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."
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
add-widget: "Ajouter"
|
add-widget: "追加"
|
||||||
customization-tips: "Conseils de personnalisation"
|
customization-tips: "カスタマイズのヒント"
|
||||||
mobile/views/pages/widgets/activity.vue:
|
mobile/views/pages/widgets/activity.vue:
|
||||||
activity: "Activité"
|
activity: "Activité"
|
||||||
mobile/views/pages/share.vue:
|
mobile/views/pages/share.vue:
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "Publication"
|
title: "Publication"
|
||||||
prev: "Note précédente"
|
prev: "Note précédente"
|
||||||
next: "Note suivante"
|
next: "Note suivante"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "Notifications"
|
|
||||||
read-all: "Êtes-vous sûr de vouloir marquer l’ensemble des notifications comme étant lues ?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "Connecté·e en tant que {}"
|
signed-in-as: "Connecté·e en tant que {}"
|
||||||
design: "Affichage et design"
|
design: "Affichage et design"
|
||||||
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é"
|
||||||
circle-icons: "Utiliser des icônes circulaires"
|
|
||||||
contrasted-acct: "Nom d’utilisateur contrasté"
|
|
||||||
timeline: "Fil d’actualité"
|
timeline: "Fil d’actualité"
|
||||||
show-reply-target: "Afficher les réponses"
|
show-reply-target: "Afficher les réponses"
|
||||||
show-my-renotes: "Afficher mes partages"
|
show-my-renotes: "Afficher mes partages"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/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."
|
||||||
settings: "Réglages"
|
settings: "Réglages"
|
||||||
signout: "Déconnexion"
|
|
||||||
sound: "Sons"
|
sound: "Sons"
|
||||||
enable-sounds: "Activer les sons"
|
enable-sounds: "Activer les sons"
|
||||||
password: "Mot de Passe"
|
password: "Mot de Passe"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "Mentions fréquentes"
|
frequently-replied-users: "Mentions fréquentes"
|
||||||
followers-you-know: "Abonné·e·s que vous connaissez"
|
followers-you-know: "Abonné·e·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.notes.vue:
|
|
||||||
no-notes: "Pas de notes"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Pas de photos"
|
no-photos: "Pas de photos"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "Messages directs"
|
direct: "Messages directs"
|
||||||
notifications: "Notifications"
|
notifications: "Notifications"
|
||||||
list: "Listes"
|
list: "Listes"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "Déplacer à gauche"
|
swap-left: "Déplacer à gauche"
|
||||||
swap-right: "Déplacer à droite"
|
swap-right: "Déplacer à droite"
|
||||||
swap-up: "Déplacer vers le haut"
|
swap-up: "Déplacer vers le haut"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "Ce fil a été désactivé par l'administrateur du serveur."
|
description: "Ce fil a été désactivé par l'administrateur du serveur."
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "Les publications médias uniquement"
|
is-media-only: "Les publications médias uniquement"
|
||||||
is-media-view: "Vue média"
|
|
||||||
edit: "Option"
|
edit: "Option"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "Vous suit"
|
follows-you: "Vous suit"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "検索"
|
search: "検索"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
ok: "わかった"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "更新があります"
|
update-available-title: "更新があります"
|
||||||
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
||||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
token: "トークン"
|
token: "トークン"
|
||||||
signing-in: "やってます..."
|
signing-in: "やってます..."
|
||||||
signin: "サインイン"
|
|
||||||
or: "または"
|
or: "または"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Renoteに失敗しました"
|
failure: "Renoteに失敗しました"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "この投稿をRenoteしますか?"
|
title: "この投稿をRenoteしますか?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "セキュリティ"
|
security: "セキュリティ"
|
||||||
signin: "サインイン履歴"
|
signin: "ログイン履歴"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
other: "その他"
|
other: "その他"
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "マップの自動展開"
|
show-maps: "マップの自動展開"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
dark: "闇に飲まれる"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "ログイン"
|
|
||||||
signup: "新規登録"
|
|
||||||
signin-button: "やってる"
|
|
||||||
signup-button: "やる"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "投稿"
|
title: "投稿"
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "新しいバージョンが利用可能です"
|
update-available: "新しいバージョンが利用可能です"
|
||||||
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -30,6 +30,15 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
|
reload-to-apply-the-setting: "この設定を反映するにはページをリロードする必要があります。今すぐリロードしますか?"
|
||||||
|
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
@ -60,6 +69,7 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -123,7 +133,8 @@ common:
|
|||||||
search: "検索"
|
search: "検索"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
ok: "わかった"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "更新があります"
|
update-available-title: "更新があります"
|
||||||
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
||||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||||
@ -154,6 +165,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
|
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
@ -234,6 +258,9 @@ common/views/pages/explore.vue:
|
|||||||
explore: "{host}を探索"
|
explore: "{host}を探索"
|
||||||
users-info: "現在{users}ユーザーが登録されています"
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
|
||||||
|
common/views/components/url-preview.vue:
|
||||||
|
enable-player: "プレイヤーを開く"
|
||||||
|
|
||||||
common/views/components/user-list.vue:
|
common/views/components/user-list.vue:
|
||||||
no-users: "ユーザーがいません"
|
no-users: "ユーザーがいません"
|
||||||
|
|
||||||
@ -457,7 +484,6 @@ common/views/components/signin.vue:
|
|||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
token: "トークン"
|
token: "トークン"
|
||||||
signing-in: "やってます..."
|
signing-in: "やってます..."
|
||||||
signin: "サインイン"
|
|
||||||
or: "または"
|
or: "または"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -588,6 +614,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
|
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
@ -879,9 +909,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "この投稿をRenoteしますか?"
|
title: "この投稿をRenoteしますか?"
|
||||||
|
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -897,7 +924,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "セキュリティ"
|
security: "セキュリティ"
|
||||||
signin: "サインイン履歴"
|
signin: "ログイン履歴"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
other: "その他"
|
other: "その他"
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
@ -920,11 +947,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
@ -934,16 +956,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "マップの自動展開"
|
show-maps: "マップの自動展開"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
@ -1094,8 +1106,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
dark: "闇に飲まれる"
|
|
||||||
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
@ -1447,11 +1457,6 @@ admin/views/federation.vue:
|
|||||||
|
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "ログイン"
|
|
||||||
signup: "新規登録"
|
|
||||||
signin-button: "やってる"
|
|
||||||
signup-button: "やる"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1518,7 +1523,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1560,8 +1564,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
|
|
||||||
@ -1638,9 +1641,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
|
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1659,10 +1659,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
|
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
|
|
||||||
@ -1687,15 +1683,9 @@ mobile/views/pages/home.vue:
|
|||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
|
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
|
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1718,10 +1708,6 @@ mobile/views/pages/note.vue:
|
|||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
|
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
|
|
||||||
@ -1735,10 +1721,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1771,7 +1754,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "新しいバージョンが利用可能です"
|
update-available: "新しいバージョンが利用可能です"
|
||||||
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1796,9 +1778,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
|
|
||||||
@ -1813,6 +1792,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1828,7 +1808,6 @@ deck:
|
|||||||
|
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
|
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "ほい"
|
got-it: "ほい"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "検索"
|
search: "検索"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
ok: "ほい"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "更新があんで"
|
update-available-title: "更新があんで"
|
||||||
update-available: "Misskeyの新しいバージョンがあんで({newer}。現在{current}をつこてるわ)。ページを再度読み込みしたると更新が適用されるわ。"
|
update-available: "Misskeyの新しいバージョンがあんで({newer}。現在{current}をつこてるわ)。ページを再度読み込みしたると更新が適用されるわ。"
|
||||||
my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。"
|
my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。"
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "ちゃんとした情報見せてや!"
|
view-on-remote: "ちゃんとした情報見せてや!"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が起こったわ"
|
title: "問題が起こったわ"
|
||||||
retry: "もっぺん"
|
retry: "もっぺん"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
token: "トークン"
|
token: "トークン"
|
||||||
signing-in: "サインイン中や..."
|
signing-in: "サインイン中や..."
|
||||||
signin: "サインイン"
|
|
||||||
or: "それか"
|
or: "それか"
|
||||||
signin-with-twitter: "Twitterでサインイン"
|
signin-with-twitter: "Twitterでサインイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Renoteでけへん"
|
failure: "Renoteでけへん"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "この投稿をRenoteしてもええか?"
|
title: "この投稿をRenoteしてもええか?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "セキュリティ"
|
security: "セキュリティ"
|
||||||
signin: "こんな感じでサインインしたらしいで"
|
signin: "ログイン履歴"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
other: "その他"
|
other: "その他"
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙選ぶ"
|
choose-wallpaper: "壁紙選ぶ"
|
||||||
delete-wallpaper: "壁紙ほかす"
|
delete-wallpaper: "壁紙ほかす"
|
||||||
dark-mode: "夜にすんで"
|
|
||||||
use-shadow: "UIに影付けたる"
|
|
||||||
rounded-corners: "みんなまぁるくUI変更"
|
|
||||||
circle-icons: "アイコンもタコ焼きも丸いやんな?"
|
|
||||||
contrasted-acct: "ユーザー名ようわからんし見やすしといて"
|
|
||||||
post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?"
|
post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?"
|
||||||
show-clock-on-header: "右上をカリヨン広場にする(時計表示)"
|
show-clock-on-header: "右上をカリヨン広場にする(時計表示)"
|
||||||
show-reply-target: "どこにリプライするんや見せて"
|
show-reply-target: "どこにリプライするんや見せて"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカル投稿のRenoteも見たいんや"
|
show-local-renotes: "ローカル投稿のRenoteも見たいんや"
|
||||||
show-maps: "地図勝手にバァーって開いてくれ"
|
show-maps: "地図勝手にバァーって開いてくれ"
|
||||||
remain-deleted-note: "削除された投稿も表示しっぱなしにする"
|
remain-deleted-note: "削除された投稿も表示しっぱなしにする"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "真ん中"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンド鳴らす"
|
enable-sounds: "サウンド鳴らす"
|
||||||
enable-sounds-desc: "投稿やメッセージもろたとき、音鳴らしたるわ。大丈夫や、この設定はブラウザが覚えてくれとる。"
|
enable-sounds-desc: "投稿やメッセージもろたとき、音鳴らしたるわ。大丈夫や、この設定はブラウザが覚えてくれとる。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー許してくれや!言うてみる"
|
follow-requests: "フォロー許してくれや!言うてみる"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "さいなら"
|
|
||||||
dark: "ナイトゲームじゃ!"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "もうちょい……"
|
about: "もうちょい……"
|
||||||
gotit: "ほい"
|
|
||||||
signin: "サインイン"
|
|
||||||
signup: "サインアップ"
|
|
||||||
signin-button: "やっとる"
|
|
||||||
signup-button: "サインアップ"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "知っときや"
|
announcements: "知っときや"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿しとらんようや。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何すんの?(数字を入れてや): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何すんの?(数字を入れてや): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "フォルダの削除は未実装やねん...。堪忍な!"
|
deletion-alert: "フォルダの削除は未実装やねん...。堪忍な!"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在おる場所はルートで、フォルダとちゃうから名前の変更はできへん。名前を変更したいフォルダに移動してからやってな。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在おる場所はルートで、フォルダとちゃうから移動はできへん。移動したいフォルダに移動してからやってな。"
|
|
||||||
url-prompt: "このURLのファイルをアップロードしたいねん"
|
url-prompt: "このURLのファイルをアップロードしたいねん"
|
||||||
uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。"
|
uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿なんか無くなってもうたわ"
|
deleted: "この投稿なんか無くなってもうたわ"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿はあらへん"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえり、"
|
welcome-back: "おかえり、"
|
||||||
adjective: "はん"
|
adjective: "はん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyってなんや?"
|
about: "Misskeyってなんや?"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿しとらんようや。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はあらへん。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,16 +1496,12 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あんた宛て"
|
mentions: "あんた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできんで。ウィジェットを移動するんやったら「三」をドラッグしてや。ウィジェットを削除するんやったら「x」をタップしてや。いくつかのウィジェットはタップしたったら表示を変更できるかも分からん、知らんけど。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
add-widget: "増やす"
|
add-widget: "追加"
|
||||||
customization-tips: "カスタマイズのヒント"
|
customization-tips: "カスタマイズのヒント"
|
||||||
mobile/views/pages/widgets/activity.vue:
|
mobile/views/pages/widgets/activity.vue:
|
||||||
activity: "やっとること"
|
activity: "やっとること"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "投稿"
|
title: "投稿"
|
||||||
prev: "前のやつ"
|
prev: "前のやつ"
|
||||||
next: "次のやつ"
|
next: "次のやつ"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "通知全部読んだか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "あんたは橋の下で拾った{}や!"
|
signed-in-as: "あんたは橋の下で拾った{}や!"
|
||||||
design: "見た感じ"
|
design: "見た感じ"
|
||||||
dark-mode: "ナイトゲームや!"
|
|
||||||
i-am-under-limited-internet: "電波と阪神がザコいんや"
|
i-am-under-limited-internet: "電波と阪神がザコいんや"
|
||||||
circle-icons: "アイコンもタコ焼きも丸いやんな?"
|
|
||||||
contrasted-acct: "ユーザー名ようわからんし見やすしといて"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "どこにリプライするんや見せて"
|
show-reply-target: "どこにリプライするんや見せて"
|
||||||
show-my-renotes: "あんたのしたRenoteも出すで"
|
show-my-renotes: "あんたのしたRenoteも出すで"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "もっとええバージョンがあるで"
|
update-available: "もっとええバージョンがあるで"
|
||||||
update-available-desc: "もっぺんページ読み込んだら新しなるで"
|
update-available-desc: "もっぺんページ読み込んだら新しなるで"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "さいなら"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンド鳴らす"
|
enable-sounds: "サウンド鳴らす"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知っとるフォロワー"
|
followers-you-know: "知っとるフォロワー"
|
||||||
last-used-at: "最後いつ来た?"
|
last-used-at: "最後いつ来た?"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はあらへん"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はあらへんで"
|
no-photos: "写真はあらへんで"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動や!"
|
swap-left: "左に移動や!"
|
||||||
swap-right: "右に移動や!"
|
swap-right: "右に移動や!"
|
||||||
swap-up: "上に移動や!"
|
swap-up: "上に移動や!"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿だけや"
|
is-media-only: "メディア投稿だけや"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "2단계 인증"
|
2fa: "2단계 인증"
|
||||||
customize-home: "홈 커스터마이징"
|
customize-home: "홈 커스터마이징"
|
||||||
featured-notes: "하이라이트"
|
featured-notes: "하이라이트"
|
||||||
|
dark-mode: "다크 모드"
|
||||||
|
use-shadow: "UI에 그림자 효과 적용"
|
||||||
|
rounded-corners: "UI의 모서리를 둥글게 설정"
|
||||||
|
circle-icons: "원형 아이콘 사용"
|
||||||
|
contrasted-acct: "사용자명에 대비 추가"
|
||||||
|
signin: "로그인"
|
||||||
|
signup: "신규 등록"
|
||||||
|
signout: "로그아웃"
|
||||||
got-it: "알겠습니다"
|
got-it: "알겠습니다"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "커스터마이징 도움말"
|
title: "커스터마이징 도움말"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "휴지통"
|
trash: "휴지통"
|
||||||
drive: "드라이브"
|
drive: "드라이브"
|
||||||
messaging: "대화"
|
messaging: "대화"
|
||||||
|
home: "홈"
|
||||||
deck: "덱"
|
deck: "덱"
|
||||||
timeline: "타임라인"
|
timeline: "타임라인"
|
||||||
explore: "발견"
|
explore: "발견"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "검색"
|
search: "검색"
|
||||||
delete: "삭제"
|
delete: "삭제"
|
||||||
loading: "로드 중"
|
loading: "로드 중"
|
||||||
ok: "확인"
|
ok: "5K"
|
||||||
|
cancel: "그만두기"
|
||||||
update-available-title: "업데이트가 있습니다"
|
update-available-title: "업데이트가 있습니다"
|
||||||
update-available: "Misskey의 새로운 버전이 있습니다 ({newer}. 현재 {current}을 사용 중). 페이지를 다시 로드하면 업데이트가 적용됩니다."
|
update-available: "Misskey의 새로운 버전이 있습니다 ({newer}. 현재 {current}을 사용 중). 페이지를 다시 로드하면 업데이트가 적용됩니다."
|
||||||
my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다."
|
my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "이 글 정보는 복사본입니다."
|
is-remote-post: "이 글 정보는 복사본입니다."
|
||||||
view-on-remote: "정확한 정보 보기"
|
view-on-remote: "정확한 정보 보기"
|
||||||
renoted-by: "{user}이(가) 리노트"
|
renoted-by: "{user}이(가) 리노트"
|
||||||
|
no-notes: "글이 없습니다"
|
||||||
|
turn-on-darkmode: "어둠에 삼켜져라"
|
||||||
|
turn-off-darkmode: "빛이 있으라"
|
||||||
|
deck-column-align: "덱의 칼럼 위치"
|
||||||
|
deck-column-align-center: "가운데"
|
||||||
|
deck-column-align-left: "왼쪽"
|
||||||
|
deck-column-align-flexible: "플렉서블"
|
||||||
|
deck-column-width: "덱의 칼럼 폭"
|
||||||
|
deck-column-width-narrow: "좁음"
|
||||||
|
deck-column-width-narrower: "조금 좁음"
|
||||||
|
deck-column-width-normal: "보통"
|
||||||
|
deck-column-width-wider: "조금 넓음"
|
||||||
|
deck-column-width-wide: "넓음"
|
||||||
error:
|
error:
|
||||||
title: "오류가 발생했습니다"
|
title: "오류가 발생했습니다"
|
||||||
retry: "다시 시도"
|
retry: "다시 시도"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "비밀번호"
|
password: "비밀번호"
|
||||||
token: "토큰"
|
token: "토큰"
|
||||||
signing-in: "로그인 중입니다..."
|
signing-in: "로그인 중입니다..."
|
||||||
signin: "로그인"
|
|
||||||
or: "또는"
|
or: "또는"
|
||||||
signin-with-twitter: "Twitter로 로그인"
|
signin-with-twitter: "Twitter로 로그인"
|
||||||
signin-with-github: "GitHub으로 로그인"
|
signin-with-github: "GitHub으로 로그인"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "뮤트"
|
mute-list: "뮤트"
|
||||||
blocking-list: "차단"
|
blocking-list: "차단"
|
||||||
export-requested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 드라이브에 파일이 추가됩니다."
|
export-requested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 드라이브에 파일이 추가됩니다."
|
||||||
|
enter-password: "비밀번호를 입력하여 주십시오"
|
||||||
|
danger-zone: "위험한 설정"
|
||||||
|
delete-account: "계정 삭제"
|
||||||
|
account-deleted: "계정이 삭제되었습니다. 데이터가 사라질 때까지 시간이 걸릴 수 있습니다."
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "사용자"
|
users: "사용자"
|
||||||
rename: "리스트 이름 바꾸기"
|
rename: "리스트 이름 바꾸기"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "리노트에 실패하였습니다"
|
failure: "리노트에 실패하였습니다"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "이 글을 리노트하시겠습니까?"
|
title: "이 글을 리노트하시겠습니까?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "글이 없습니다"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}의 팔로잉"
|
following: "{user}의 팔로잉"
|
||||||
followers: "{user}의 팔로워"
|
followers: "{user}의 팔로워"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "배경"
|
wallpaper: "배경"
|
||||||
choose-wallpaper: "배경 설정"
|
choose-wallpaper: "배경 설정"
|
||||||
delete-wallpaper: "배경 제거"
|
delete-wallpaper: "배경 제거"
|
||||||
dark-mode: "다크 모드"
|
|
||||||
use-shadow: "UI에 그림자 효과 적용"
|
|
||||||
rounded-corners: "UI의 모서리를 둥글게 설정"
|
|
||||||
circle-icons: "원형 아이콘 사용"
|
|
||||||
contrasted-acct: "사용자명에 대비 추가"
|
|
||||||
post-form-on-timeline: "타임라인 상단에 글 작성란을 표시"
|
post-form-on-timeline: "타임라인 상단에 글 작성란을 표시"
|
||||||
show-clock-on-header: "오른쪽 상단에 시계 표시"
|
show-clock-on-header: "오른쪽 상단에 시계 표시"
|
||||||
show-reply-target: "답글 대상 표시"
|
show-reply-target: "답글 대상 표시"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "로컬 글의 리노트를 타임라인에 보이기"
|
show-local-renotes: "로컬 글의 리노트를 타임라인에 보이기"
|
||||||
show-maps: "지도 자동 표시"
|
show-maps: "지도 자동 표시"
|
||||||
remain-deleted-note: "삭제된 글을 계속 표시"
|
remain-deleted-note: "삭제된 글을 계속 표시"
|
||||||
deck-column-align: "덱의 칼럼 위치"
|
|
||||||
deck-column-align-center: "가운데"
|
|
||||||
deck-column-align-left: "왼쪽"
|
|
||||||
deck-column-align-flexible: "플렉서블"
|
|
||||||
deck-column-width: "덱의 칼럼 폭"
|
|
||||||
deck-column-width-narrow: "좁음"
|
|
||||||
deck-column-width-narrower: "조금 좁음"
|
|
||||||
deck-column-width-normal: "보통"
|
|
||||||
deck-column-width-wider: "조금 넓음"
|
|
||||||
deck-column-width-wide: "넓음"
|
|
||||||
sound: "소리"
|
sound: "소리"
|
||||||
enable-sounds: "소리 사용"
|
enable-sounds: "소리 사용"
|
||||||
enable-sounds-desc: "글이나 메시지를 송수신하였을 때 소리를 재생합니다. 이 설정은 브라우저에 저장됩니다."
|
enable-sounds-desc: "글이나 메시지를 송수신하였을 때 소리를 재생합니다. 이 설정은 브라우저에 저장됩니다."
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "팔로우 요청"
|
follow-requests: "팔로우 요청"
|
||||||
admin: "관리"
|
admin: "관리"
|
||||||
settings: "설정"
|
settings: "설정"
|
||||||
signout: "로그아웃"
|
|
||||||
dark: "어둠에 삼켜져라"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "게임"
|
game: "게임"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1일마다"
|
day: "1일마다"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "자세히..."
|
about: "자세히..."
|
||||||
gotit: "알겠습니다"
|
|
||||||
signin: "로그인"
|
|
||||||
signup: "신규 등록"
|
|
||||||
signin-button: "로그인 중"
|
|
||||||
signup-button: "등록"
|
|
||||||
timeline: "타임라인"
|
timeline: "타임라인"
|
||||||
announcements: "공지사항"
|
announcements: "공지사항"
|
||||||
photos: "최근 이미지"
|
photos: "최근 이미지"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "글과 답글"
|
with-replies: "글과 답글"
|
||||||
with-media: "미디어"
|
with-media: "미디어"
|
||||||
my-posts: "내 글"
|
my-posts: "내 글"
|
||||||
empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "메시지"
|
title: "메시지"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "무엇을 하시겠습니까? (숫자를 입력하여 주십시오): <1 → 파일 업로드 | 2 → 파일을 URL에서 업로드 | 3 → 폴더 만들기 | 4 → 이 폴더의 이름을 변경 | 5 → 현재 폴더 이동| 6 → 현재 폴더 삭제>"
|
prompt: "무엇을 하시겠습니까? (숫자를 입력하여 주십시오): <1 → 파일 업로드 | 2 → 파일을 URL에서 업로드 | 3 → 폴더 만들기 | 4 → 이 폴더의 이름을 변경 | 5 → 현재 폴더 이동| 6 → 현재 폴더 삭제>"
|
||||||
deletion-alert: "죄송합니다! 폴더 삭제는 아직 구현되지 않았습니다..."
|
deletion-alert: "죄송합니다! 폴더 삭제는 아직 구현되지 않았습니다..."
|
||||||
folder-name: "폴더 이름"
|
folder-name: "폴더 이름"
|
||||||
root-rename-alert: "현재 위치가 루트이고, 폴더가 아니므로 이름을 변경할 수 없습니다. 이름을 바꾸고 싶은 폴더로 이동하여 주십시오."
|
here-is-root: "현재 경로는 루트 경로로 폴더가 아닙니다."
|
||||||
root-move-alert: "현재 위치가 루트이므로, 폴더가 아니므로 이동할 수 없습니다. 이동하고 싶은 폴더로 이동하여 주십시오."
|
|
||||||
url-prompt: "업로드 하려는 파일의 URL"
|
url-prompt: "업로드 하려는 파일의 URL"
|
||||||
uploading: "업로드를 요청하였습니다. 업로드가 완료될 때까지 시간이 소요될 수 있습니다."
|
uploading: "업로드를 요청하였습니다. 업로드가 완료될 때까지 시간이 소요될 수 있습니다."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "이 글은 삭제되었습니다"
|
deleted: "이 글은 삭제되었습니다"
|
||||||
media-count: "{}개의 미디어"
|
media-count: "{}개의 미디어"
|
||||||
poll: "투표"
|
poll: "투표"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "글이 없습니다"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "돌아오신 걸 환영합니다."
|
welcome-back: "돌아오신 걸 환영합니다."
|
||||||
adjective: "님"
|
adjective: "님"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "설정"
|
settings: "설정"
|
||||||
admin: "관리"
|
admin: "관리"
|
||||||
about: "Misskey에 대하여"
|
about: "Misskey에 대하여"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "이 사용자는 작성한 글이 없는 것 같습니다."
|
|
||||||
no-notes-with-media: "미디어가 첨부된 글이 없습니다."
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "즐겨찾기"
|
title: "즐겨찾기"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "글로벌"
|
global: "글로벌"
|
||||||
mentions: "받은 멘션"
|
mentions: "받은 멘션"
|
||||||
messages: "메시지"
|
messages: "메시지"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "글이 없습니다"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다."
|
no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다."
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "신규 등록"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "대시보드"
|
dashboard: "대시보드"
|
||||||
widgets-hints: "위젯을 추가 / 제거하거나 정렬할 수 있습니다. 위젯을 이동하려면 창틀의 \"☰\" 아이콘을 드래그합니다. 위젯을 삭제하려면 \"X\" 아이콘을 탭 합니다. 몇몇 위젯은 탭하면 표시형식을 바꿀 수 있습니다."
|
widgets-hints: "위젯을 추가 / 제거하거나 정렬할 수 있습니다. 위젯을 이동하려면 창틀의 \"☰\" 아이콘을 드래그합니다. 위젯을 삭제하려면 \"X\" 아이콘을 탭 합니다. 몇몇 위젯은 탭하면 표시형식을 바꿀 수 있습니다."
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "글"
|
title: "글"
|
||||||
prev: "이전 글"
|
prev: "이전 글"
|
||||||
next: "다음 글"
|
next: "다음 글"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "알림"
|
|
||||||
read-all: "모든 알림을 읽은 상태로 표시하시겠습니까?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "리버시"
|
reversi: "리버시"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}(으)로 로그인"
|
signed-in-as: "{}(으)로 로그인"
|
||||||
design: "디자인 및 표시"
|
design: "디자인 및 표시"
|
||||||
dark-mode: "다크 모드"
|
|
||||||
i-am-under-limited-internet: "저는 통신 대역폭이 제한되어 있습니다"
|
i-am-under-limited-internet: "저는 통신 대역폭이 제한되어 있습니다"
|
||||||
circle-icons: "원형 아이콘 사용"
|
|
||||||
contrasted-acct: "사용자명에 대비 추가"
|
|
||||||
timeline: "타임라인"
|
timeline: "타임라인"
|
||||||
show-reply-target: "답글 대상 표시"
|
show-reply-target: "답글 대상 표시"
|
||||||
show-my-renotes: "자신이 한 리노트 표시"
|
show-my-renotes: "자신이 한 리노트 표시"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "새 버전을 사용할 수 있습니다"
|
update-available: "새 버전을 사용할 수 있습니다"
|
||||||
update-available-desc: "페이지를 다시 로드하면 업데이트가 적용됩니다."
|
update-available-desc: "페이지를 다시 로드하면 업데이트가 적용됩니다."
|
||||||
settings: "설정"
|
settings: "설정"
|
||||||
signout: "로그아웃"
|
|
||||||
sound: "소리"
|
sound: "소리"
|
||||||
enable-sounds: "소리 사용"
|
enable-sounds: "소리 사용"
|
||||||
password: "비밀번호"
|
password: "비밀번호"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "자주 언급되는 사용자"
|
frequently-replied-users: "자주 언급되는 사용자"
|
||||||
followers-you-know: "아는 사람의 팔로워"
|
followers-you-know: "아는 사람의 팔로워"
|
||||||
last-used-at: "마지막 로그인"
|
last-used-at: "마지막 로그인"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "글이 없습니다"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "사진이 없습니다"
|
no-photos: "사진이 없습니다"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "다이렉트 게시글"
|
direct: "다이렉트 게시글"
|
||||||
notifications: "알림"
|
notifications: "알림"
|
||||||
list: "리스트"
|
list: "리스트"
|
||||||
|
select-list: "리스트를 선택하여 주십시오"
|
||||||
swap-left: "왼쪽으로 이동"
|
swap-left: "왼쪽으로 이동"
|
||||||
swap-right: "오른쪽으로 이동"
|
swap-right: "오른쪽으로 이동"
|
||||||
swap-up: "위로 이동"
|
swap-up: "위로 이동"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "서버 운영자에 의해 이 타임라인이 사용할 수 없도록 설정되어 있습니다."
|
description: "서버 운영자에 의해 이 타임라인이 사용할 수 없도록 설정되어 있습니다."
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "미디어가 달린 글만"
|
is-media-only: "미디어가 달린 글만"
|
||||||
is-media-view: "미디어 보기"
|
|
||||||
edit: "옵션"
|
edit: "옵션"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "당신을 팔로우합니다"
|
follows-you: "당신을 팔로우합니다"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "検索"
|
search: "検索"
|
||||||
delete: "Verwijderen"
|
delete: "Verwijderen"
|
||||||
loading: "Bezig met laden"
|
loading: "Bezig met laden"
|
||||||
ok: "Oké"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "更新があります"
|
update-available-title: "更新があります"
|
||||||
update-available: "Er is een nieuwe versie van Misskey beschikbaar: {newer} (de huidige versie is {current}). Herlaad de pagina om de update toe te passen."
|
update-available: "Er is een nieuwe versie van Misskey beschikbaar: {newer} (de huidige versie is {current}). Herlaad de pagina om de update toe te passen."
|
||||||
my-token-regenerated: "Je sleutel is gegenereerd; je wordt nu uitgelogd."
|
my-token-regenerated: "Je sleutel is gegenereerd; je wordt nu uitgelogd."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "Wachtwoord"
|
password: "Wachtwoord"
|
||||||
token: "Sleutel"
|
token: "Sleutel"
|
||||||
signing-in: "Bezig met inloggen..."
|
signing-in: "Bezig met inloggen..."
|
||||||
signin: "Inloggen"
|
|
||||||
or: "または"
|
or: "または"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Renote mislukt"
|
failure: "Renote mislukt"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "Weet je zeker dat je deze notitie wilt renoten?"
|
title: "Weet je zeker dat je deze notitie wilt renoten?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "Beveiliging"
|
security: "Beveiliging"
|
||||||
signin: "Inloggeschiedenis"
|
signin: "ログイン履歴"
|
||||||
password: "Wachtwoord"
|
password: "Wachtwoord"
|
||||||
other: "Overig"
|
other: "Overig"
|
||||||
license: "Licentie"
|
license: "Licentie"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "Donkere modus"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "Ronde pictogrammen gebruiken"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "Berichtformulier boven de tijdlijn tonen"
|
post-form-on-timeline: "Berichtformulier boven de tijdlijn tonen"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "Antwoord-knop tonen"
|
show-reply-target: "Antwoord-knop tonen"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "Kaart tonen"
|
show-maps: "Kaart tonen"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "Geluid"
|
sound: "Geluid"
|
||||||
enable-sounds: "Geluid inschakelen"
|
enable-sounds: "Geluid inschakelen"
|
||||||
enable-sounds-desc: "Een geluid afspelen bij het ontvangen van een bericht. Deze instelling wordt opgeslagen in je browser."
|
enable-sounds-desc: "Een geluid afspelen bij het ontvangen van een bericht. Deze instelling wordt opgeslagen in je browser."
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "Instellingen"
|
settings: "Instellingen"
|
||||||
signout: "Uitloggen"
|
|
||||||
dark: "Donkere modus"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "Othello spelen"
|
game: "Othello spelen"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "Inloggen"
|
|
||||||
signup: "Registreren"
|
|
||||||
signin-button: "Inloggen"
|
|
||||||
signup-button: "Registreren"
|
|
||||||
timeline: "Tijdlijn"
|
timeline: "Tijdlijn"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "Berichten en antwoorden"
|
with-replies: "Berichten en antwoorden"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "Deze gebruiker heeft nog niks geplaatst."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Gesprekken"
|
title: "Gesprekken"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{} media"
|
media-count: "{} media"
|
||||||
poll: "Peiling"
|
poll: "Peiling"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "Geen notities"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Instellingen"
|
settings: "Instellingen"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Over Misskey"
|
about: "Over Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "Het lijkt erop dat deze gebruiker nog niks heeft geplaatst"
|
|
||||||
no-notes-with-media: "Er zijn geen notities met bijgevoegde media"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "Bericht"
|
title: "Bericht"
|
||||||
prev: "Vorige notitie"
|
prev: "Vorige notitie"
|
||||||
next: "Volgende notitie"
|
next: "Volgende notitie"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "Meldingen"
|
|
||||||
read-all: "Weet je zeker dat je alle meldingen wilt markeren als gelezen?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "Ingelogd als {}"
|
signed-in-as: "Ingelogd als {}"
|
||||||
design: "Ontwerp en weergave"
|
design: "Ontwerp en weergave"
|
||||||
dark-mode: "Donkere modus"
|
|
||||||
i-am-under-limited-internet: "Ik heb beperkt internet"
|
i-am-under-limited-internet: "Ik heb beperkt internet"
|
||||||
circle-icons: "Ronde pictogrammen gebruiken"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "Tijdlijn"
|
timeline: "Tijdlijn"
|
||||||
show-reply-target: "Antwoordknop tonen"
|
show-reply-target: "Antwoordknop tonen"
|
||||||
show-my-renotes: "Mijn renotes tonen"
|
show-my-renotes: "Mijn renotes tonen"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "Nieuwe versie beschikbaar!"
|
update-available: "Nieuwe versie beschikbaar!"
|
||||||
update-available-desc: "Herlaad de pagina om de updates toe te passen."
|
update-available-desc: "Herlaad de pagina om de updates toe te passen."
|
||||||
settings: "Instellingen"
|
settings: "Instellingen"
|
||||||
signout: "Uitloggen"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "Volgers die je kent"
|
followers-you-know: "Volgers die je kent"
|
||||||
last-used-at: "Laatst actief"
|
last-used-at: "Laatst actief"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "Geen notities"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Geen foto's"
|
no-photos: "Geen foto's"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "Skjønner!"
|
got-it: "Skjønner!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "Papirkurv"
|
trash: "Papirkurv"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "Søk"
|
search: "Søk"
|
||||||
delete: "Slett"
|
delete: "Slett"
|
||||||
loading: "Laster inn..."
|
loading: "Laster inn..."
|
||||||
ok: "Ok"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "更新があります"
|
update-available-title: "更新があります"
|
||||||
update-available: "En ny versjon av Misskey er nå tilgjengelig ({newer}, nåværende versjon er {current}). Last inn siden igjen for at oppdateringen skal tre i kraft."
|
update-available: "En ny versjon av Misskey er nå tilgjengelig ({newer}, nåværende versjon er {current}). Last inn siden igjen for at oppdateringen skal tre i kraft."
|
||||||
my-token-regenerated: "Ditt synbol har blitt generert. Du vil nå bli utlogget."
|
my-token-regenerated: "Ditt synbol har blitt generert. Du vil nå bli utlogget."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "Passord"
|
password: "Passord"
|
||||||
token: "Token"
|
token: "Token"
|
||||||
signing-in: "やってます..."
|
signing-in: "やってます..."
|
||||||
signin: "Logg inn"
|
|
||||||
or: "Eller"
|
or: "Eller"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Renoteに失敗しました"
|
failure: "Renoteに失敗しました"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "この投稿をRenoteしますか?"
|
title: "この投稿をRenoteしますか?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "セキュリティ"
|
security: "セキュリティ"
|
||||||
signin: "サインイン履歴"
|
signin: "ログイン履歴"
|
||||||
password: "Passord"
|
password: "Passord"
|
||||||
other: "Annet"
|
other: "Annet"
|
||||||
license: "Lisens"
|
license: "Lisens"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "マップの自動展開"
|
show-maps: "マップの自動展開"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "Lyd"
|
sound: "Lyd"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Innstillinger"
|
settings: "Innstillinger"
|
||||||
signout: "サインアウト"
|
|
||||||
dark: "闇に飲まれる"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "Spill"
|
game: "Spill"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "Skjønner!"
|
|
||||||
signin: "Logg inn"
|
|
||||||
signup: "Bli med"
|
|
||||||
signin-button: "Logger inn..."
|
|
||||||
signup-button: "Registrer"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "Kunngjøringer"
|
announcements: "Kunngjøringer"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "Innlegg og svar"
|
with-replies: "Innlegg og svar"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Melding"
|
title: "Melding"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "Mr."
|
adjective: "Mr."
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Innstillinger"
|
settings: "Innstillinger"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favoritter"
|
title: "Favoritter"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,16 +1496,12 @@ mobile/views/pages/home.vue:
|
|||||||
global: "Globalt"
|
global: "Globalt"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "Bli med"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
add-widget: "Legg til"
|
add-widget: "追加"
|
||||||
customization-tips: "カスタマイズのヒント"
|
customization-tips: "カスタマイズのヒント"
|
||||||
mobile/views/pages/widgets/activity.vue:
|
mobile/views/pages/widgets/activity.vue:
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "Innlegg"
|
title: "Innlegg"
|
||||||
prev: "Forrige innlegg"
|
prev: "Forrige innlegg"
|
||||||
next: "Neste innlegg"
|
next: "Neste innlegg"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "Notifikasjon"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "新しいバージョンが利用可能です"
|
update-available: "新しいバージョンが利用可能です"
|
||||||
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
||||||
settings: "Innstillinger"
|
settings: "Innstillinger"
|
||||||
signout: "サインアウト"
|
|
||||||
sound: "Lyder"
|
sound: "Lyder"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -9,10 +9,10 @@ common:
|
|||||||
intro:
|
intro:
|
||||||
title: "Czym jest Misskey?"
|
title: "Czym jest Misskey?"
|
||||||
about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。"
|
about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。"
|
||||||
features: "特徴"
|
features: "Funkcje"
|
||||||
rich-contents: "Wpis"
|
rich-contents: "Wpis"
|
||||||
rich-contents-desc: "Po prostu opublikuj swój pomysł, gorące tematy i wszystko, co chcesz udostępnić. Możesz ozdobić swoje słowa, dołączyć swoje ulubione zdjęcia, wysłać pliki, w tym filmy i utworzyć ankietę - to są rzeczy, które możesz zrobić w Misskey!"
|
rich-contents-desc: "Po prostu opublikuj swój pomysł, gorące tematy i wszystko, co chcesz udostępnić. Możesz ozdobić swoje słowa, dołączyć swoje ulubione zdjęcia, wysłać pliki, w tym filmy i utworzyć ankietę - to są rzeczy, które możesz zrobić w Misskey!"
|
||||||
reaction: "Reakcje"
|
reaction: "Reakcja"
|
||||||
reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。"
|
reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。"
|
||||||
ui: "Interfejs"
|
ui: "Interfejs"
|
||||||
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
|
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
|
||||||
@ -22,14 +22,22 @@ common:
|
|||||||
adblock:
|
adblock:
|
||||||
detected: "Spróbuj wyłączyć blokadę reklam."
|
detected: "Spróbuj wyłączyć blokadę reklam."
|
||||||
warning: "<strong>Misskey nie zawiera reklam</strong>, ale część funkcji może nie działać prawidłowo z włączonym blokowaniem reklam."
|
warning: "<strong>Misskey nie zawiera reklam</strong>, ale część funkcji może nie działać prawidłowo z włączonym blokowaniem reklam."
|
||||||
application-authorization: "アプリの連携"
|
application-authorization: "Współpraca aplikacji"
|
||||||
close: "Zamknij"
|
close: "Zamknij"
|
||||||
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
||||||
load-more: "Załaduj więcej"
|
load-more: "Załaduj więcej"
|
||||||
enter-password: "Wprowadź Hasło"
|
enter-password: "Wprowadź Hasło"
|
||||||
2fa: "Uwierzytelnienie dwuetapowe"
|
2fa: "Uwierzytelnienie dwuetapowe"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "Dostosuj stronę główną"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "Rozumiem!"
|
got-it: "Rozumiem!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Wskazówki o dostosowywaniu"
|
title: "Wskazówki o dostosowywaniu"
|
||||||
@ -58,14 +66,15 @@ common:
|
|||||||
trash: "Kosz"
|
trash: "Kosz"
|
||||||
drive: "Dysk"
|
drive: "Dysk"
|
||||||
messaging: "Rozmowy"
|
messaging: "Rozmowy"
|
||||||
|
home: "Strona główna"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "Oś czasu"
|
||||||
explore: "みつける"
|
explore: "Znajdź"
|
||||||
following: "フォロー中"
|
following: "Śledzisz"
|
||||||
followers: "フォロワー"
|
followers: "Śledzący"
|
||||||
empty-timeline-info:
|
empty-timeline-info:
|
||||||
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
explore: "ユーザーを探索する"
|
explore: "Poznaj"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "N"
|
sunday: "N"
|
||||||
monday: "Pn"
|
monday: "Pn"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "Szukaj"
|
search: "Szukaj"
|
||||||
delete: "Usuń"
|
delete: "Usuń"
|
||||||
loading: "Ładowanie"
|
loading: "Ładowanie"
|
||||||
ok: "OK"
|
ok: "Możesz OK"
|
||||||
|
cancel: "Anuluj"
|
||||||
update-available-title: "Aktualizacja jest dostępna"
|
update-available-title: "Aktualizacja jest dostępna"
|
||||||
update-available: "Nowa wersja Misskey jest dostępna ({newer}, obecna to {current}). Odśwież stronę, aby zastosować aktualizację."
|
update-available: "Nowa wersja Misskey jest dostępna ({newer}, obecna to {current}). Odśwież stronę, aby zastosować aktualizację."
|
||||||
my-token-regenerated: "Twój token został wygenerowany. Zostaniesz wylogowany."
|
my-token-regenerated: "Twój token został wygenerowany. Zostaniesz wylogowany."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "Dla dopełnienia, zobacz to zdalnie."
|
view-on-remote: "Dla dopełnienia, zobacz to zdalnie."
|
||||||
renoted-by: "{user} udostępnił(a)"
|
renoted-by: "{user} udostępnił(a)"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "Coś poszło nie tak"
|
title: "Coś poszło nie tak"
|
||||||
retry: "Ponów próbę"
|
retry: "Ponów próbę"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "Hasło"
|
password: "Hasło"
|
||||||
token: "Token"
|
token: "Token"
|
||||||
signing-in: "Logowanie…"
|
signing-in: "Logowanie…"
|
||||||
signin: "Zaloguj"
|
|
||||||
or: "lub"
|
or: "lub"
|
||||||
signin-with-twitter: "Zaloguj się za pomocą Twittera"
|
signin-with-twitter: "Zaloguj się za pomocą Twittera"
|
||||||
signin-with-github: "Zaloguj się za pomocą GitHuba"
|
signin-with-github: "Zaloguj się za pomocą GitHuba"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "Użytkownicy"
|
users: "Użytkownicy"
|
||||||
rename: "Zmień nazwę listy"
|
rename: "Zmień nazwę listy"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Nie udało się udostępnić"
|
failure: "Nie udało się udostępnić"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "Czy na pewno chcesz udostępnić ten wpis?"
|
title: "Czy na pewno chcesz udostępnić ten wpis?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "Wycisz / Zablokuj"
|
mute-and-block: "Wycisz / Zablokuj"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "Bezpieczeństwo"
|
security: "Bezpieczeństwo"
|
||||||
signin: "Historia logowań"
|
signin: "ログイン履歴"
|
||||||
password: "Hasło"
|
password: "Hasło"
|
||||||
other: "Inne"
|
other: "Inne"
|
||||||
license: "Licencja"
|
license: "Licencja"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "Tapeta"
|
wallpaper: "Tapeta"
|
||||||
choose-wallpaper: "Wybierz tło"
|
choose-wallpaper: "Wybierz tło"
|
||||||
delete-wallpaper: "Usuń tło"
|
delete-wallpaper: "Usuń tło"
|
||||||
dark-mode: "Tryb ciemny"
|
|
||||||
use-shadow: "Użyj cieni w UI"
|
|
||||||
rounded-corners: "Zaokrąglaj rogi w UI"
|
|
||||||
circle-icons: "Używaj okrągłych ikon"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
|
post-form-on-timeline: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "Pokazuj cel odpowiedzi"
|
show-reply-target: "Pokazuj cel odpowiedzi"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "Automatycznie pokazuj mapę"
|
show-maps: "Automatycznie pokazuj mapę"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "Lewo"
|
|
||||||
deck-column-align-flexible: "Elastyczne"
|
|
||||||
deck-column-width: "Szerokość kolumn w talii"
|
|
||||||
deck-column-width-narrow: "Wąska"
|
|
||||||
deck-column-width-narrower: "Trochę wąska"
|
|
||||||
deck-column-width-normal: "Normalna"
|
|
||||||
deck-column-width-wider: "Trochę szeroka"
|
|
||||||
deck-column-width-wide: "Szeroka"
|
|
||||||
sound: "Dźwięk"
|
sound: "Dźwięk"
|
||||||
enable-sounds: "Włącz dźwięk"
|
enable-sounds: "Włącz dźwięk"
|
||||||
enable-sounds-desc: "Odtwarzaj dźwięk przy wstawianiu wpisów, wysyłaniu lub otrzymywaniu wiadomości. Opcja ta jest zapamiętywana przez przeglądarkę."
|
enable-sounds-desc: "Odtwarzaj dźwięk przy wstawianiu wpisów, wysyłaniu lub otrzymywaniu wiadomości. Opcja ta jest zapamiętywana przez przeglądarkę."
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "Prośby o śledzenie"
|
follow-requests: "Prośby o śledzenie"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Ustawienia"
|
settings: "Ustawienia"
|
||||||
signout: "Wyloguj się"
|
|
||||||
dark: "Sprowadź ciemność"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "Gra"
|
game: "Gra"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "O Misskey"
|
about: "O Misskey"
|
||||||
gotit: "Rozumiem!"
|
|
||||||
signin: "Zaloguj się"
|
|
||||||
signup: "Zarejestruj się"
|
|
||||||
signin-button: "Zaloguj się"
|
|
||||||
signup-button: "Zarejestruj się"
|
|
||||||
timeline: "Oś czasu"
|
timeline: "Oś czasu"
|
||||||
announcements: "Ogłoszenia"
|
announcements: "Ogłoszenia"
|
||||||
photos: "Ostatnie obrazy"
|
photos: "Ostatnie obrazy"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "Wpisy i odpowiedzi"
|
with-replies: "Wpisy i odpowiedzi"
|
||||||
with-media: "Multimedia"
|
with-media: "Multimedia"
|
||||||
my-posts: "Moje wpisy"
|
my-posts: "Moje wpisy"
|
||||||
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"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "Co chcesz zrobić? (wprowadź odpowiednią cyfrę): <1 → Wysłać plik | 2 → Wysłać plik z adresu URL | 3 → Utworzyć katalog | 4 → Zmienić nazwę tego katalogu | 5 → Przenieść ten katalog | 6 → Usunąć ten katalog>"
|
prompt: "Co chcesz zrobić? (wprowadź odpowiednią cyfrę): <1 → Wysłać plik | 2 → Wysłać plik z adresu URL | 3 → Utworzyć katalog | 4 → Zmienić nazwę tego katalogu | 5 → Przenieść ten katalog | 6 → Usunąć ten katalog>"
|
||||||
deletion-alert: "Przepraszamy. Usuwanie katalogów nie zostało jeszcze zaimplementowane."
|
deletion-alert: "Przepraszamy. Usuwanie katalogów nie zostało jeszcze zaimplementowane."
|
||||||
folder-name: "Nazwa katalogu"
|
folder-name: "Nazwa katalogu"
|
||||||
root-rename-alert: "Nie można zmienić nazwy katalogu głównego. Przejdź do katalogu, którego nazwę chcesz zmienić."
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "Nie można przenieść tego katalogu, ponieważ jest on katalogiem głównym. Przejdź do katalogu, który chcesz przenieść."
|
|
||||||
url-prompt: "Adres URL pliku, który chcesz wysłać"
|
url-prompt: "Adres URL pliku, który chcesz wysłać"
|
||||||
uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać."
|
uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "ten wpis został usunięty"
|
deleted: "ten wpis został usunięty"
|
||||||
media-count: "{}zawartości multimedialnej"
|
media-count: "{}zawartości multimedialnej"
|
||||||
poll: "Ankieta"
|
poll: "Ankieta"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "Brak wpisów"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "Witaj ponownie, "
|
welcome-back: "Witaj ponownie, "
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Ustawienia"
|
settings: "Ustawienia"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "O Misskey"
|
about: "O Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "Wygląda na to, że ten użytkownik nie opublikował jeszcze niczego"
|
|
||||||
no-notes-with-media: "Brak wpisów z zawartością multimedialną"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Ulubione"
|
title: "Ulubione"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,16 +1496,12 @@ mobile/views/pages/home.vue:
|
|||||||
global: "Globalne"
|
global: "Globalne"
|
||||||
mentions: "Wspomnienia"
|
mentions: "Wspomnienia"
|
||||||
messages: "Wiadomości"
|
messages: "Wiadomości"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "Zarejestruj się"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "Kokpit"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
add-widget: "Dodaj"
|
add-widget: "追加"
|
||||||
customization-tips: "カスタマイズのヒント"
|
customization-tips: "カスタマイズのヒント"
|
||||||
mobile/views/pages/widgets/activity.vue:
|
mobile/views/pages/widgets/activity.vue:
|
||||||
activity: "Aktywność"
|
activity: "Aktywność"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "Wpis"
|
title: "Wpis"
|
||||||
prev: "Poprzedni wpis"
|
prev: "Poprzedni wpis"
|
||||||
next: "Następny wpis"
|
next: "Następny wpis"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "Powiadomienia"
|
|
||||||
read-all: "Czy na pewno chcesz oznaczyć wszystkie powiadomienia jako przeczytane?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "Reversi"
|
reversi: "Reversi"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "Zalogowany jako {}"
|
signed-in-as: "Zalogowany jako {}"
|
||||||
design: "Wygląd i wyświetlanie"
|
design: "Wygląd i wyświetlanie"
|
||||||
dark-mode: "Tryb ciemny"
|
|
||||||
i-am-under-limited-internet: "Ograniczaj zużycie transferu"
|
i-am-under-limited-internet: "Ograniczaj zużycie transferu"
|
||||||
circle-icons: "Używaj okrągłych ikon"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "Oś czasu"
|
timeline: "Oś czasu"
|
||||||
show-reply-target: "Pokazuj cel odpowiedzi"
|
show-reply-target: "Pokazuj cel odpowiedzi"
|
||||||
show-my-renotes: "Pokazuj moje udostępnienia"
|
show-my-renotes: "Pokazuj moje udostępnienia"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "Dostępna jest nowa wersja"
|
update-available: "Dostępna jest nowa wersja"
|
||||||
update-available-desc: "Odśwież stronę, aby zastosować aktualizację."
|
update-available-desc: "Odśwież stronę, aby zastosować aktualizację."
|
||||||
settings: "Ustawienia"
|
settings: "Ustawienia"
|
||||||
signout: "Wyloguj"
|
|
||||||
sound: "Dźwięk"
|
sound: "Dźwięk"
|
||||||
enable-sounds: "Włącz dźwięk"
|
enable-sounds: "Włącz dźwięk"
|
||||||
password: "Hasło"
|
password: "Hasło"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "Śledzący których znasz"
|
followers-you-know: "Śledzący których znasz"
|
||||||
last-used-at: "Ostatnio aktywny"
|
last-used-at: "Ostatnio aktywny"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "Brak wpisów"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Brak zdjęć"
|
no-photos: "Brak zdjęć"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "Bezpośrednie wpisy"
|
direct: "Bezpośrednie wpisy"
|
||||||
notifications: "Powiadomienia"
|
notifications: "Powiadomienia"
|
||||||
list: "Listy"
|
list: "Listy"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "Przesuń w lewo"
|
swap-left: "Przesuń w lewo"
|
||||||
swap-right: "Przesuń w prawo"
|
swap-right: "Przesuń w prawo"
|
||||||
swap-up: "Przenieś w górę"
|
swap-up: "Przenieś w górę"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "Tylko wpisy z zawartością multimedialną"
|
is-media-only: "Tylko wpisy z zawartością multimedialną"
|
||||||
is-media-view: "Widok multimediów"
|
|
||||||
edit: "Opcje"
|
edit: "Opcje"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "Entendi!"
|
got-it: "Entendi!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Dicas de personalização"
|
title: "Dicas de personalização"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "Lixo"
|
trash: "Lixo"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "Buscar"
|
search: "Buscar"
|
||||||
delete: "Apagar"
|
delete: "Apagar"
|
||||||
loading: "Carregando"
|
loading: "Carregando"
|
||||||
ok: "OK"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "Atualização disponível"
|
update-available-title: "Atualização disponível"
|
||||||
update-available: "Uma nova versão de Misskey está disponível ({newer}). A versão atual é {current}. Recarregue a página para atualizar."
|
update-available: "Uma nova versão de Misskey está disponível ({newer}). A versão atual é {current}. Recarregue a página para atualizar."
|
||||||
my-token-regenerated: "Seu token foi recriado, portanto você foi deslogado."
|
my-token-regenerated: "Seu token foi recriado, portanto você foi deslogado."
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
token: "トークン"
|
token: "トークン"
|
||||||
signing-in: "やってます..."
|
signing-in: "やってます..."
|
||||||
signin: "サインイン"
|
|
||||||
or: "または"
|
or: "または"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Renoteに失敗しました"
|
failure: "Renoteに失敗しました"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "この投稿をRenoteしますか?"
|
title: "この投稿をRenoteしますか?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "セキュリティ"
|
security: "セキュリティ"
|
||||||
signin: "サインイン履歴"
|
signin: "ログイン履歴"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
other: "その他"
|
other: "その他"
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "マップの自動展開"
|
show-maps: "マップの自動展開"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
dark: "闇に飲まれる"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "ログイン"
|
|
||||||
signup: "新規登録"
|
|
||||||
signin-button: "やってる"
|
|
||||||
signup-button: "やる"
|
|
||||||
timeline: "Timeline"
|
timeline: "Timeline"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "投稿"
|
title: "投稿"
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "Uma nova versão está disponível"
|
update-available: "Uma nova versão está disponível"
|
||||||
update-available-desc: "Atualizações vão ser aplicadas depois de recarregar a página"
|
update-available-desc: "Atualizações vão ser aplicadas depois de recarregar a página"
|
||||||
settings: "Configurações"
|
settings: "Configurações"
|
||||||
signout: "Sair"
|
|
||||||
sound: "Sons"
|
sound: "Sons"
|
||||||
enable-sounds: "Ativar sons"
|
enable-sounds: "Ativar sons"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "Seguidores que você conhece"
|
followers-you-know: "Seguidores que você conhece"
|
||||||
last-used-at: "Ativo pela última vez"
|
last-used-at: "Ativo pela última vez"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "Nenhuma mensagem"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Sem fotos"
|
no-photos: "Sem fotos"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
customize-home: "ホームをカスタマイズ"
|
customize-home: "ホームをカスタマイズ"
|
||||||
featured-notes: "ハイライト"
|
featured-notes: "ハイライト"
|
||||||
|
dark-mode: "ダークモード"
|
||||||
|
use-shadow: "UIに影を使用"
|
||||||
|
rounded-corners: "UIの角を丸める"
|
||||||
|
circle-icons: "円形のアイコンを使用"
|
||||||
|
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||||
|
signin: "ログイン"
|
||||||
|
signup: "新規登録"
|
||||||
|
signout: "ログアウト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Советы по настройке"
|
title: "Советы по настройке"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "Мусорное ведро"
|
trash: "Мусорное ведро"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Чат"
|
messaging: "Чат"
|
||||||
|
home: "ホーム"
|
||||||
deck: "デッキ"
|
deck: "デッキ"
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
@ -114,7 +123,8 @@ common:
|
|||||||
search: "検索"
|
search: "検索"
|
||||||
delete: "削除"
|
delete: "削除"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
ok: "わかった"
|
ok: "おk"
|
||||||
|
cancel: "やめる"
|
||||||
update-available-title: "更新があります"
|
update-available-title: "更新があります"
|
||||||
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
|
||||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
deck-column-align: "デッキのカラムの配置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "フレキシブル"
|
||||||
|
deck-column-width: "デッキのカラムの幅"
|
||||||
|
deck-column-width-narrow: "狭"
|
||||||
|
deck-column-width-narrower: "やや狭"
|
||||||
|
deck-column-width-normal: "普通"
|
||||||
|
deck-column-width-wider: "やや広"
|
||||||
|
deck-column-width-wide: "広"
|
||||||
error:
|
error:
|
||||||
title: "Что-то пошло не так :("
|
title: "Что-то пошло не так :("
|
||||||
retry: "Повторить"
|
retry: "Повторить"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
token: "トークン"
|
token: "トークン"
|
||||||
signing-in: "やってます..."
|
signing-in: "やってます..."
|
||||||
signin: "サインイン"
|
|
||||||
or: "または"
|
or: "または"
|
||||||
signin-with-twitter: "Twitterでログイン"
|
signin-with-twitter: "Twitterでログイン"
|
||||||
signin-with-github: "GitHubでログイン"
|
signin-with-github: "GitHubでログイン"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "Renoteに失敗しました"
|
failure: "Renoteに失敗しました"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "この投稿をRenoteしますか?"
|
title: "この投稿をRenoteしますか?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}のフォロー"
|
following: "{user}のフォロー"
|
||||||
followers: "{user}のフォロワー"
|
followers: "{user}のフォロワー"
|
||||||
@ -800,7 +824,7 @@ desktop/views/components/settings.vue:
|
|||||||
mute-and-block: "ミュート/ブロック"
|
mute-and-block: "ミュート/ブロック"
|
||||||
blocking: "ブロック"
|
blocking: "ブロック"
|
||||||
security: "セキュリティ"
|
security: "セキュリティ"
|
||||||
signin: "サインイン履歴"
|
signin: "ログイン履歴"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
other: "その他"
|
other: "その他"
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
use-shadow: "UIに影を使用"
|
|
||||||
rounded-corners: "UIの角を丸める"
|
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||||
show-clock-on-header: "右上に時計を表示する"
|
show-clock-on-header: "右上に時計を表示する"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する"
|
||||||
show-maps: "マップの自動展開"
|
show-maps: "マップの自動展開"
|
||||||
remain-deleted-note: "削除された投稿を表示し続ける"
|
remain-deleted-note: "削除された投稿を表示し続ける"
|
||||||
deck-column-align: "デッキのカラムの配置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "フレキシブル"
|
|
||||||
deck-column-width: "デッキのカラムの幅"
|
|
||||||
deck-column-width-narrow: "狭"
|
|
||||||
deck-column-width-narrower: "やや狭"
|
|
||||||
deck-column-width-normal: "普通"
|
|
||||||
deck-column-width-wider: "やや広"
|
|
||||||
deck-column-width-wide: "広"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
dark: "闇に飲まれる"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "1日ごと"
|
day: "1日ごと"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "詳しく..."
|
about: "詳しく..."
|
||||||
gotit: "わかった"
|
|
||||||
signin: "ログイン"
|
|
||||||
signup: "新規登録"
|
|
||||||
signin-button: "やってる"
|
|
||||||
signup-button: "やる"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
announcements: "お知らせ"
|
announcements: "お知らせ"
|
||||||
photos: "最近の画像"
|
photos: "最近の画像"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,12 +1496,8 @@ mobile/views/pages/home.vue:
|
|||||||
global: "グローバル"
|
global: "グローバル"
|
||||||
mentions: "あなた宛て"
|
mentions: "あなた宛て"
|
||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "投稿"
|
title: "投稿"
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "すべての通知を既読にしますか?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "リバーシ"
|
reversi: "リバーシ"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "{}としてサインイン中"
|
signed-in-as: "{}としてサインイン中"
|
||||||
design: "デザインと表示"
|
design: "デザインと表示"
|
||||||
dark-mode: "ダークモード"
|
|
||||||
i-am-under-limited-internet: "私は通信を制限されている"
|
i-am-under-limited-internet: "私は通信を制限されている"
|
||||||
circle-icons: "円形のアイコンを使用"
|
|
||||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
|
||||||
timeline: "タイムライン"
|
timeline: "タイムライン"
|
||||||
show-reply-target: "リプライ先を表示する"
|
show-reply-target: "リプライ先を表示する"
|
||||||
show-my-renotes: "自分の行ったRenoteを表示する"
|
show-my-renotes: "自分の行ったRenoteを表示する"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "新しいバージョンが利用可能です"
|
update-available: "新しいバージョンが利用可能です"
|
||||||
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
update-available-desc: "ページを再度読み込みすると更新が適用されます。"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
|
||||||
sound: "サウンド"
|
sound: "サウンド"
|
||||||
enable-sounds: "サウンドを有効にする"
|
enable-sounds: "サウンドを有効にする"
|
||||||
password: "パスワード"
|
password: "パスワード"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "よく話すユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "ダイレクト投稿"
|
direct: "ダイレクト投稿"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
|
select-list: "リストを選択してください"
|
||||||
swap-left: "左に移動"
|
swap-left: "左に移動"
|
||||||
swap-right: "右に移動"
|
swap-right: "右に移動"
|
||||||
swap-up: "上に移動"
|
swap-up: "上に移動"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "双重身份验证"
|
2fa: "双重身份验证"
|
||||||
customize-home: "自定义主页"
|
customize-home: "自定义主页"
|
||||||
featured-notes: "高亮"
|
featured-notes: "高亮"
|
||||||
|
dark-mode: "黑暗模式"
|
||||||
|
use-shadow: "在UI中使用阴影效果"
|
||||||
|
rounded-corners: "UI界面圆角效果"
|
||||||
|
circle-icons: "使用圆形图标"
|
||||||
|
contrasted-acct: "增加用户名的对比度"
|
||||||
|
signin: "登录"
|
||||||
|
signup: "注册"
|
||||||
|
signout: "退出"
|
||||||
got-it: "没问题"
|
got-it: "没问题"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "自定义提示"
|
title: "自定义提示"
|
||||||
@ -58,6 +66,7 @@ common:
|
|||||||
trash: "垃圾箱"
|
trash: "垃圾箱"
|
||||||
drive: "网盘"
|
drive: "网盘"
|
||||||
messaging: "聊天"
|
messaging: "聊天"
|
||||||
|
home: "首页"
|
||||||
deck: "Deck"
|
deck: "Deck"
|
||||||
timeline: "时间线"
|
timeline: "时间线"
|
||||||
explore: "发现"
|
explore: "发现"
|
||||||
@ -115,6 +124,7 @@ common:
|
|||||||
delete: "删除"
|
delete: "删除"
|
||||||
loading: "正在加载中"
|
loading: "正在加载中"
|
||||||
ok: "确定"
|
ok: "确定"
|
||||||
|
cancel: "取消"
|
||||||
update-available-title: "有可用更新"
|
update-available-title: "有可用更新"
|
||||||
update-available: "新的 Misskey 版本现已发布({newer}。目前版本{current}). 刷新页面以应用更新。"
|
update-available: "新的 Misskey 版本现已发布({newer}。目前版本{current}). 刷新页面以应用更新。"
|
||||||
my-token-regenerated: "您的 Token 已被重置, 您将自动登出。"
|
my-token-regenerated: "您的 Token 已被重置, 您将自动登出。"
|
||||||
@ -144,6 +154,19 @@ common:
|
|||||||
is-remote-post: "该投稿已被复制."
|
is-remote-post: "该投稿已被复制."
|
||||||
view-on-remote: "查看准确的信息"
|
view-on-remote: "查看准确的信息"
|
||||||
renoted-by: "由 {user} Renote"
|
renoted-by: "由 {user} Renote"
|
||||||
|
no-notes: "没有帖子"
|
||||||
|
turn-on-darkmode: "切换暗色主题"
|
||||||
|
turn-off-darkmode: "切换亮色主题"
|
||||||
|
deck-column-align: "列对齐设置"
|
||||||
|
deck-column-align-center: "中央"
|
||||||
|
deck-column-align-left: "左"
|
||||||
|
deck-column-align-flexible: "可变"
|
||||||
|
deck-column-width: "列宽度"
|
||||||
|
deck-column-width-narrow: "窄"
|
||||||
|
deck-column-width-narrower: "更窄"
|
||||||
|
deck-column-width-normal: "正常"
|
||||||
|
deck-column-width-wider: "更宽"
|
||||||
|
deck-column-width-wide: "宽"
|
||||||
error:
|
error:
|
||||||
title: "出现问题"
|
title: "出现问题"
|
||||||
retry: "重试"
|
retry: "重试"
|
||||||
@ -418,7 +441,6 @@ common/views/components/signin.vue:
|
|||||||
password: "密码"
|
password: "密码"
|
||||||
token: "Token (令牌)"
|
token: "Token (令牌)"
|
||||||
signing-in: "正在登录..."
|
signing-in: "正在登录..."
|
||||||
signin: "登录"
|
|
||||||
or: "或者"
|
or: "或者"
|
||||||
signin-with-twitter: "用 Twitter 登录"
|
signin-with-twitter: "用 Twitter 登录"
|
||||||
signin-with-github: "用 GitHub 登录"
|
signin-with-github: "用 GitHub 登录"
|
||||||
@ -537,6 +559,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "屏蔽列表"
|
mute-list: "屏蔽列表"
|
||||||
blocking-list: "黑名单"
|
blocking-list: "黑名单"
|
||||||
export-requested: "导出请求已提交。可能需要花一些时间。导出的文件将保存到网盘中。"
|
export-requested: "导出请求已提交。可能需要花一些时间。导出的文件将保存到网盘中。"
|
||||||
|
enter-password: "请输入您的密码"
|
||||||
|
danger-zone: "危险选项"
|
||||||
|
delete-account: "删除帐户"
|
||||||
|
account-deleted: "帐户已被删除。 数据会在一段时间之后清除。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "用户"
|
users: "用户"
|
||||||
rename: "重命名列表"
|
rename: "重命名列表"
|
||||||
@ -785,8 +811,6 @@ desktop/views/components/renote-form.vue:
|
|||||||
failure: "重新发送失败"
|
failure: "重新发送失败"
|
||||||
desktop/views/components/renote-form-window.vue:
|
desktop/views/components/renote-form-window.vue:
|
||||||
title: "您是否要重新发送?"
|
title: "您是否要重新发送?"
|
||||||
desktop/views/components/timeline.core.vue:
|
|
||||||
empty: "没有帖子"
|
|
||||||
desktop/views/pages/user-following-or-followers.vue:
|
desktop/views/pages/user-following-or-followers.vue:
|
||||||
following: "{user}的正在关注"
|
following: "{user}的正在关注"
|
||||||
followers: "{user}的关注者"
|
followers: "{user}的关注者"
|
||||||
@ -821,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
wallpaper: "壁纸"
|
wallpaper: "壁纸"
|
||||||
choose-wallpaper: "选择一个背景壁纸"
|
choose-wallpaper: "选择一个背景壁纸"
|
||||||
delete-wallpaper: "移除背景壁纸"
|
delete-wallpaper: "移除背景壁纸"
|
||||||
dark-mode: "黑暗模式"
|
|
||||||
use-shadow: "在UI中使用阴影效果"
|
|
||||||
rounded-corners: "UI界面圆角效果"
|
|
||||||
circle-icons: "使用圆形图标"
|
|
||||||
contrasted-acct: "增加用户名的对比度"
|
|
||||||
post-form-on-timeline: "在时间线顶部显示帖子表单"
|
post-form-on-timeline: "在时间线顶部显示帖子表单"
|
||||||
show-clock-on-header: "在右上角显示时钟"
|
show-clock-on-header: "在右上角显示时钟"
|
||||||
show-reply-target: "显示回复目标"
|
show-reply-target: "显示回复目标"
|
||||||
@ -835,16 +854,6 @@ desktop/views/components/settings.vue:
|
|||||||
show-local-renotes: "在时间线中显示Local Renote(s)"
|
show-local-renotes: "在时间线中显示Local Renote(s)"
|
||||||
show-maps: "自动显示地图"
|
show-maps: "自动显示地图"
|
||||||
remain-deleted-note: "继续显示已删除的帖子"
|
remain-deleted-note: "继续显示已删除的帖子"
|
||||||
deck-column-align: "列对齐设置"
|
|
||||||
deck-column-align-center: "中央"
|
|
||||||
deck-column-align-left: "左"
|
|
||||||
deck-column-align-flexible: "可变"
|
|
||||||
deck-column-width: "列宽度"
|
|
||||||
deck-column-width-narrow: "窄"
|
|
||||||
deck-column-width-narrower: "更窄"
|
|
||||||
deck-column-width-normal: "正常"
|
|
||||||
deck-column-width-wider: "更宽"
|
|
||||||
deck-column-width-wide: "宽"
|
|
||||||
sound: "声音"
|
sound: "声音"
|
||||||
enable-sounds: "开启声音"
|
enable-sounds: "开启声音"
|
||||||
enable-sounds-desc: "收到帖子/留言时播放声音。 此设置将被存储在浏览器中。"
|
enable-sounds-desc: "收到帖子/留言时播放声音。 此设置将被存储在浏览器中。"
|
||||||
@ -976,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "关注申请"
|
follow-requests: "关注申请"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "设置"
|
settings: "设置"
|
||||||
signout: "登出"
|
|
||||||
dark: "切换到黑暗模式 (夜间使用请打开此选项哦~)"
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
game: "游戏"
|
game: "游戏"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1305,11 +1312,6 @@ admin/views/federation.vue:
|
|||||||
day: "每天"
|
day: "每天"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "更多信息..."
|
about: "更多信息..."
|
||||||
gotit: "没问题! "
|
|
||||||
signin: "登录"
|
|
||||||
signup: "注册"
|
|
||||||
signin-button: "正在登录"
|
|
||||||
signup-button: "注册"
|
|
||||||
timeline: "时间线"
|
timeline: "时间线"
|
||||||
announcements: "公告"
|
announcements: "公告"
|
||||||
photos: "最近图片"
|
photos: "最近图片"
|
||||||
@ -1364,7 +1366,6 @@ desktop/views/pages/user/user.timeline.vue:
|
|||||||
with-replies: "帖子与回复"
|
with-replies: "帖子与回复"
|
||||||
with-media: "媒体"
|
with-media: "媒体"
|
||||||
my-posts: "我的帖子"
|
my-posts: "我的帖子"
|
||||||
empty: "看起来这个用户还没有发布什么呢。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "信息"
|
title: "信息"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1398,8 +1399,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "您想要干什么呢?(请输入数字):<1 → 上传文件 | 2 → 从URL上传文件 | 3 → 创建新文件夹 | 4 → 更改这个文件夹的名称 | 5 → 移动这个文件夹 | 6 → 删除这个文件夹>"
|
prompt: "您想要干什么呢?(请输入数字):<1 → 上传文件 | 2 → 从URL上传文件 | 3 → 创建新文件夹 | 4 → 更改这个文件夹的名称 | 5 → 移动这个文件夹 | 6 → 删除这个文件夹>"
|
||||||
deletion-alert: "抱歉! 删除文件夹功能尚未实现。"
|
deletion-alert: "抱歉! 删除文件夹功能尚未实现。"
|
||||||
folder-name: "文件夹名称"
|
folder-name: "文件夹名称"
|
||||||
root-rename-alert: "您目前在root模式; 它无法重命名,因为它不是文件夹。 导航到要重命名的文件夹,然后重试。"
|
here-is-root: "当前位置为根目录。"
|
||||||
root-move-alert: "您目前在root模式; 它无法移动,因为它不是文件夹。 导航到要移动的文件夹,然后重试。"
|
|
||||||
url-prompt: "要上传的文件的URL"
|
url-prompt: "要上传的文件的URL"
|
||||||
uploading: "已请求上传。 上传完成可能需要一段时间。"
|
uploading: "已请求上传。 上传完成可能需要一段时间。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1462,8 +1462,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "帖子已删除"
|
deleted: "帖子已删除"
|
||||||
media-count: "附加{}媒体"
|
media-count: "附加{}媒体"
|
||||||
poll: "投票"
|
poll: "投票"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "无帖子"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "欢迎回来!"
|
welcome-back: "欢迎回来!"
|
||||||
adjective: "先生"
|
adjective: "先生"
|
||||||
@ -1480,9 +1478,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "设置"
|
settings: "设置"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "关于 Misskey"
|
about: "关于 Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "看起来该用户还没有发表任何东西哎。"
|
|
||||||
no-notes-with-media: "媒体附件没有备注"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "收藏"
|
title: "收藏"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1501,14 +1496,10 @@ mobile/views/pages/home.vue:
|
|||||||
global: "Global"
|
global: "Global"
|
||||||
mentions: "Mentions"
|
mentions: "Mentions"
|
||||||
messages: "信息"
|
messages: "信息"
|
||||||
mobile/views/pages/home.timeline.vue:
|
|
||||||
empty: "没有帖子"
|
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "没有找到带有主题标签“{q}”的帖子"
|
no-posts-found: "没有找到带有主题标签“{q}”的帖子"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "注册"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "Dashboard"
|
dashboard: "仪表盘"
|
||||||
widgets-hints: "您可以添加/删除/重新排列小部件。 要移动小部件,请拖动“三”。 点击“×”删除小部件。 某些小部件可以通过点击来更改显示。"
|
widgets-hints: "您可以添加/删除/重新排列小部件。 要移动小部件,请拖动“三”。 点击“×”删除小部件。 某些小部件可以通过点击来更改显示。"
|
||||||
add-widget: "添加"
|
add-widget: "添加"
|
||||||
customization-tips: "定制提示"
|
customization-tips: "定制提示"
|
||||||
@ -1524,9 +1515,6 @@ mobile/views/pages/note.vue:
|
|||||||
title: "帖文"
|
title: "帖文"
|
||||||
prev: "上一个帖子"
|
prev: "上一个帖子"
|
||||||
next: "下一个帖子"
|
next: "下一个帖子"
|
||||||
mobile/views/pages/notifications.vue:
|
|
||||||
notifications: "通知"
|
|
||||||
read-all: "您希望将所有通知标记为已读吗?"
|
|
||||||
mobile/views/pages/games/reversi.vue:
|
mobile/views/pages/games/reversi.vue:
|
||||||
reversi: "游戏"
|
reversi: "游戏"
|
||||||
mobile/views/pages/search.vue:
|
mobile/views/pages/search.vue:
|
||||||
@ -1537,10 +1525,7 @@ mobile/views/pages/selectdrive.vue:
|
|||||||
mobile/views/pages/settings.vue:
|
mobile/views/pages/settings.vue:
|
||||||
signed-in-as: "以{}登录"
|
signed-in-as: "以{}登录"
|
||||||
design: "设计与展示"
|
design: "设计与展示"
|
||||||
dark-mode: "夜间模式"
|
|
||||||
i-am-under-limited-internet: "我的带宽有限"
|
i-am-under-limited-internet: "我的带宽有限"
|
||||||
circle-icons: "使用圆形图标"
|
|
||||||
contrasted-acct: "增加用户名的对比度"
|
|
||||||
timeline: "时间线"
|
timeline: "时间线"
|
||||||
show-reply-target: "显示回复目标"
|
show-reply-target: "显示回复目标"
|
||||||
show-my-renotes: "显示我的转发"
|
show-my-renotes: "显示我的转发"
|
||||||
@ -1573,7 +1558,6 @@ mobile/views/pages/settings.vue:
|
|||||||
update-available: "有新版本可用!"
|
update-available: "有新版本可用!"
|
||||||
update-available-desc: "重新加载页面以应用更新"
|
update-available-desc: "重新加载页面以应用更新"
|
||||||
settings: "设置"
|
settings: "设置"
|
||||||
signout: "注销"
|
|
||||||
sound: "声音"
|
sound: "声音"
|
||||||
enable-sounds: "开启声音"
|
enable-sounds: "开启声音"
|
||||||
password: "密码"
|
password: "密码"
|
||||||
@ -1595,8 +1579,6 @@ mobile/views/pages/user/home.vue:
|
|||||||
frequently-replied-users: "活跃用户"
|
frequently-replied-users: "活跃用户"
|
||||||
followers-you-know: "您可能认识的关注者"
|
followers-you-know: "您可能认识的关注者"
|
||||||
last-used-at: "上次登录:"
|
last-used-at: "上次登录:"
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "没有帖子"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "没有图片"
|
no-photos: "没有图片"
|
||||||
deck:
|
deck:
|
||||||
@ -1610,6 +1592,7 @@ deck:
|
|||||||
direct: "直接发布"
|
direct: "直接发布"
|
||||||
notifications: "通知"
|
notifications: "通知"
|
||||||
list: "列表"
|
list: "列表"
|
||||||
|
select-list: "请选择一个列表"
|
||||||
swap-left: "向左移动"
|
swap-left: "向左移动"
|
||||||
swap-right: "向右移动"
|
swap-right: "向右移动"
|
||||||
swap-up: "向上移动"
|
swap-up: "向上移动"
|
||||||
@ -1624,7 +1607,6 @@ deck:
|
|||||||
description: "服务器管理员已禁用时间线。"
|
description: "服务器管理员已禁用时间线。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "只有媒体的帖子"
|
is-media-only: "只有媒体的帖子"
|
||||||
is-media-view: "媒体视图"
|
|
||||||
edit: "选项"
|
edit: "选项"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "关注您"
|
follows-you: "关注您"
|
||||||
|
18
package.json
18
package.json
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"author": "syuilo <i@syuilo.com>",
|
"author": "syuilo <i@syuilo.com>",
|
||||||
"version": "10.87.5",
|
"version": "10.90.4",
|
||||||
"codename": "nighthike",
|
"codename": "nighthike",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -95,14 +95,14 @@
|
|||||||
"@types/websocket": "0.0.40",
|
"@types/websocket": "0.0.40",
|
||||||
"@types/ws": "6.0.1",
|
"@types/ws": "6.0.1",
|
||||||
"animejs": "3.0.1",
|
"animejs": "3.0.1",
|
||||||
"apexcharts": "3.3.0",
|
"apexcharts": "3.5.0",
|
||||||
"autobind-decorator": "2.4.0",
|
"autobind-decorator": "2.4.0",
|
||||||
"autosize": "4.0.2",
|
"autosize": "4.0.2",
|
||||||
"autwh": "0.1.0",
|
"autwh": "0.1.0",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"bee-queue": "1.2.2",
|
"bee-queue": "1.2.2",
|
||||||
"bootstrap-vue": "2.0.0-rc.11",
|
"bootstrap-vue": "2.0.0-rc.11",
|
||||||
"cafy": "14.0.1",
|
"cafy": "15.1.0",
|
||||||
"chai": "4.2.0",
|
"chai": "4.2.0",
|
||||||
"chai-http": "4.2.1",
|
"chai-http": "4.2.1",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
@ -221,27 +221,27 @@
|
|||||||
"ts-node": "7.0.1",
|
"ts-node": "7.0.1",
|
||||||
"tslint": "5.12.1",
|
"tslint": "5.12.1",
|
||||||
"tslint-sonarts": "1.9.0",
|
"tslint-sonarts": "1.9.0",
|
||||||
"typescript": "3.2.4",
|
"typescript": "3.3.3333",
|
||||||
"typescript-eslint-parser": "21.0.2",
|
"typescript-eslint-parser": "21.0.2",
|
||||||
"uglify-es": "3.3.9",
|
"uglify-es": "3.3.9",
|
||||||
"url-loader": "1.1.2",
|
"url-loader": "1.1.2",
|
||||||
"uuid": "3.3.2",
|
"uuid": "3.3.2",
|
||||||
"v-animate-css": "0.0.3",
|
"v-animate-css": "0.0.3",
|
||||||
"video-thumbnail-generator": "1.1.3",
|
"video-thumbnail-generator": "1.1.3",
|
||||||
"vue": "2.6.6",
|
"vue": "2.6.7",
|
||||||
"vue-color": "2.7.0",
|
"vue-color": "2.7.0",
|
||||||
"vue-content-loading": "1.5.3",
|
"vue-content-loading": "1.5.3",
|
||||||
"vue-cropperjs": "3.0.0",
|
"vue-cropperjs": "3.0.0",
|
||||||
"vue-i18n": "8.8.1",
|
"vue-i18n": "8.8.2",
|
||||||
"vue-js-modal": "1.3.28",
|
"vue-js-modal": "1.3.28",
|
||||||
"vue-loader": "15.6.2",
|
"vue-loader": "15.6.4",
|
||||||
"vue-marquee-text-component": "1.1.1",
|
"vue-marquee-text-component": "1.1.1",
|
||||||
"vue-prism-component": "1.1.1",
|
"vue-prism-component": "1.1.1",
|
||||||
"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.10",
|
"vue-svg-inline-loader": "1.2.10",
|
||||||
"vue-template-compiler": "2.6.6",
|
"vue-template-compiler": "2.6.7",
|
||||||
"vuedraggable": "2.17.0",
|
"vuedraggable": "2.17.0",
|
||||||
"vuewordcloud": "18.7.11",
|
"vuewordcloud": "18.7.11",
|
||||||
"vuex": "3.1.0",
|
"vuex": "3.1.0",
|
||||||
@ -251,7 +251,7 @@
|
|||||||
"webpack": "4.28.4",
|
"webpack": "4.28.4",
|
||||||
"webpack-cli": "3.2.1",
|
"webpack-cli": "3.2.1",
|
||||||
"websocket": "1.0.28",
|
"websocket": "1.0.28",
|
||||||
"ws": "6.1.3",
|
"ws": "6.1.4",
|
||||||
"xev": "2.0.1"
|
"xev": "2.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.$root.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.announcements = meta.broadcasts;
|
this.announcements = meta.announcements;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
save(silent) {
|
save(silent) {
|
||||||
this.$root.api('admin/update-meta', {
|
this.$root.api('admin/update-meta', {
|
||||||
broadcasts: this.announcements
|
announcements: this.announcements
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
if (!silent) {
|
if (!silent) {
|
||||||
this.$root.dialog({
|
this.$root.dialog({
|
||||||
|
@ -108,16 +108,11 @@
|
|||||||
app = isMobile ? 'mobile' : 'desktop';
|
app = isMobile ? 'mobile' : 'desktop';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get salt query
|
|
||||||
const salt = localStorage.getItem('salt')
|
|
||||||
? `?salt=${localStorage.getItem('salt')}`
|
|
||||||
: '';
|
|
||||||
|
|
||||||
// Load an app script
|
// Load an app script
|
||||||
// Note: 'async' make it possible to load the script asyncly.
|
// Note: 'async' make it possible to load the script asyncly.
|
||||||
// 'defer' make it possible to run the script when the dom loaded.
|
// 'defer' make it possible to run the script when the dom loaded.
|
||||||
const script = document.createElement('script');
|
const script = document.createElement('script');
|
||||||
script.setAttribute('src', `/assets/${app}.${ver}.js${salt}`);
|
script.setAttribute('src', `/assets/${app}.${ver}.js`);
|
||||||
script.setAttribute('async', 'true');
|
script.setAttribute('async', 'true');
|
||||||
script.setAttribute('defer', 'true');
|
script.setAttribute('defer', 'true');
|
||||||
head.appendChild(script);
|
head.appendChild(script);
|
||||||
@ -155,9 +150,6 @@
|
|||||||
|
|
||||||
localStorage.removeItem('locale');
|
localStorage.removeItem('locale');
|
||||||
|
|
||||||
// Random
|
|
||||||
localStorage.setItem('salt', Math.random().toString().substr(2, 8));
|
|
||||||
|
|
||||||
// Clear cache (service worker)
|
// Clear cache (service worker)
|
||||||
try {
|
try {
|
||||||
navigator.serviceWorker.controller.postMessage('clear');
|
navigator.serviceWorker.controller.postMessage('clear');
|
||||||
|
@ -9,6 +9,10 @@ export default function <T extends object>(data: {
|
|||||||
widget: {
|
widget: {
|
||||||
type: Object
|
type: Object
|
||||||
},
|
},
|
||||||
|
column: {
|
||||||
|
type: Object,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
platform: {
|
platform: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
@ -65,11 +69,15 @@ export default function <T extends object>(data: {
|
|||||||
|
|
||||||
this.bakeProps();
|
this.bakeProps();
|
||||||
|
|
||||||
|
if (this.platform == 'deck') {
|
||||||
|
this.$store.commit('device/updateDeckColumn', this.column);
|
||||||
|
} else {
|
||||||
this.$root.api('i/update_widget', {
|
this.$root.api('i/update_widget', {
|
||||||
id: this.id,
|
id: this.id,
|
||||||
data: this.props
|
data: this.props
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
export default function(me, settings, note) {
|
export default function(me, settings, note) {
|
||||||
const isMyNote = note.userId == me.id;
|
const isMyNote = me && (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;
|
||||||
|
|
||||||
const includesMutedWords = (text: string) =>
|
const includesMutedWords = (text: string) =>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<span class="mk-acct">
|
<span class="mk-acct" v-once>
|
||||||
<span class="name">@{{ user.username }}</span>
|
<span class="name">@{{ user.username }}</span>
|
||||||
<span class="host" :class="{ fade: $store.state.settings.contrastedAcct }" v-if="user.host || detail || $store.state.settings.showFullAcct">@{{ user.host || host }}</span>
|
<span class="host" :class="{ fade: $store.state.settings.contrastedAcct }" v-if="user.host || detail || $store.state.settings.showFullAcct">@{{ user.host || host }}</span>
|
||||||
<fa v-if="user.isLocked == true" class="locked" icon="lock" fixed-width/>
|
<fa v-if="user.isLocked == true" class="locked" icon="lock" fixed-width/>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-if="disableLink && !disablePreview" v-user-preview="user.id" @click="onClick">
|
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-if="disableLink && !disablePreview" v-user-preview="user.id" @click="onClick" v-once>
|
||||||
<span class="inner" :style="icon"></span>
|
<span class="inner" :style="icon"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-else-if="disableLink && disablePreview" @click="onClick">
|
<span class="mk-avatar" :style="style" :class="{ cat }" :title="user | acct" v-else-if="disableLink && disablePreview" @click="onClick" v-once>
|
||||||
<span class="inner" :style="icon"></span>
|
<span class="inner" :style="icon"></span>
|
||||||
</span>
|
</span>
|
||||||
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && !disablePreview" v-user-preview="user.id">
|
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && !disablePreview" v-user-preview="user.id" v-once>
|
||||||
<span class="inner" :style="icon"></span>
|
<span class="inner" :style="icon"></span>
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && disablePreview">
|
<router-link class="mk-avatar" :style="style" :class="{ cat }" :to="user | userPage" :title="user | acct" :target="target" v-else-if="!disableLink && disablePreview" v-once>
|
||||||
<span class="inner" :style="icon"></span>
|
<span class="inner" :style="icon"></span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</template>
|
</template>
|
||||||
|
@ -2,18 +2,23 @@
|
|||||||
<div class="felqjxyj" :class="{ splash }">
|
<div class="felqjxyj" :class="{ splash }">
|
||||||
<div class="bg" ref="bg" @click="onBgClick"></div>
|
<div class="bg" ref="bg" @click="onBgClick"></div>
|
||||||
<div class="main" ref="main">
|
<div class="main" ref="main">
|
||||||
|
<template v-if="type == 'signin'">
|
||||||
|
<mk-signin/>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
<div class="icon" v-if="!input && !select && !user" :class="type"><fa :icon="icon"/></div>
|
<div class="icon" v-if="!input && !select && !user" :class="type"><fa :icon="icon"/></div>
|
||||||
<header v-if="title" v-html="title"></header>
|
<header v-if="title" v-html="title"></header>
|
||||||
<div class="body" v-if="text" v-html="text"></div>
|
<div class="body" v-if="text" v-html="text"></div>
|
||||||
<ui-input v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder" @keydown="onInputKeydown"></ui-input>
|
<ui-input v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder" @keydown="onInputKeydown"></ui-input>
|
||||||
<ui-input v-if="user" v-model="userInputValue" autofocus @keydown="onInputKeydown"><template #prefix>@</template></ui-input>
|
<ui-input v-if="user" v-model="userInputValue" autofocus @keydown="onInputKeydown"><template #prefix>@</template></ui-input>
|
||||||
<ui-select v-if="select" v-model="selectedValue">
|
<ui-select v-if="select" v-model="selectedValue" autofocus>
|
||||||
<option v-for="item in select.items" :value="item.value">{{ item.text }}</option>
|
<option v-for="item in select.items" :value="item.value">{{ item.text }}</option>
|
||||||
</ui-select>
|
</ui-select>
|
||||||
<ui-horizon-group no-grow class="buttons fit-bottom" v-if="!splash">
|
<ui-horizon-group no-grow class="buttons fit-bottom" v-if="!splash">
|
||||||
<ui-button @click="ok" primary :autofocus="!input && !select && !user">OK</ui-button>
|
<ui-button @click="ok" primary :autofocus="!input && !select && !user">{{ (showCancelButton || input || select || user) ? $t('@.ok') : $t('@.got-it') }}</ui-button>
|
||||||
<ui-button @click="cancel" v-if="showCancelButton || input || select || user">Cancel</ui-button>
|
<ui-button @click="cancel" v-if="showCancelButton || input || select || user">{{ $t('@.cancel') }}</ui-button>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -23,8 +28,10 @@ import Vue from 'vue';
|
|||||||
import anime from 'animejs';
|
import anime from 'animejs';
|
||||||
import { faTimesCircle, faQuestionCircle } from '@fortawesome/free-regular-svg-icons';
|
import { faTimesCircle, faQuestionCircle } from '@fortawesome/free-regular-svg-icons';
|
||||||
import parseAcct from "../../../../../misc/acct/parse";
|
import parseAcct from "../../../../../misc/acct/parse";
|
||||||
|
import i18n from '../../../i18n';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
|
i18n: i18n(),
|
||||||
props: {
|
props: {
|
||||||
type: {
|
type: {
|
||||||
type: String,
|
type: String,
|
||||||
@ -128,15 +135,16 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
close() {
|
close() {
|
||||||
|
this.$el.style.pointerEvents = 'none';
|
||||||
(this.$refs.bg as any).style.pointerEvents = 'none';
|
(this.$refs.bg as any).style.pointerEvents = 'none';
|
||||||
|
(this.$refs.main as any).style.pointerEvents = 'none';
|
||||||
|
|
||||||
anime({
|
anime({
|
||||||
targets: this.$refs.bg,
|
targets: this.$refs.bg,
|
||||||
opacity: 0,
|
opacity: 0,
|
||||||
duration: 300,
|
duration: 300,
|
||||||
easing: 'linear'
|
easing: 'linear'
|
||||||
});
|
});
|
||||||
|
|
||||||
(this.$refs.main as any).style.pointerEvents = 'none';
|
|
||||||
anime({
|
anime({
|
||||||
targets: this.$refs.main,
|
targets: this.$refs.main,
|
||||||
opacity: 0,
|
opacity: 0,
|
||||||
|
@ -14,8 +14,12 @@ export default Vue.extend({
|
|||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.zxrjzpcj
|
.zxrjzpcj
|
||||||
|
display inline-block
|
||||||
padding 6px 8px 6px 6px
|
padding 6px 8px 6px 6px
|
||||||
|
margin-top 4px
|
||||||
|
margin-bottom 4px
|
||||||
border-radius 32px
|
border-radius 32px
|
||||||
|
white-space nowrap
|
||||||
|
|
||||||
&:hover
|
&:hover
|
||||||
text-decoration none
|
text-decoration none
|
||||||
|
@ -44,7 +44,7 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
const audioTag = this.$refs.audio as HTMLAudioElement;
|
const audioTag = this.$refs.audio as HTMLAudioElement;
|
||||||
audioTag.volume = this.$store.state.device.mediaVolume;
|
if (audioTag) audioTag.volume = this.$store.state.device.mediaVolume;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
volumechange() {
|
volumechange() {
|
||||||
|
@ -80,7 +80,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
> div
|
> div
|
||||||
background-color var(--text)
|
background-color var(--text)
|
||||||
border-radius var(--round)
|
border-radius 6px
|
||||||
color var(--secondary)
|
color var(--secondary)
|
||||||
display inline-block
|
display inline-block
|
||||||
font-size 14px
|
font-size 14px
|
||||||
|
@ -64,6 +64,10 @@ export default Vue.extend({
|
|||||||
this.hukidasi = false;
|
this.hukidasi = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (top < 0) {
|
||||||
|
top = 0;
|
||||||
|
}
|
||||||
|
|
||||||
popover.style.left = left + 'px';
|
popover.style.left = left + 'px';
|
||||||
popover.style.top = top + 'px';
|
popover.style.top = top + 'px';
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<mfm-core v-bind="$attrs" class="havbbuyv"/>
|
<mfm-core v-bind="$attrs" class="havbbuyv" v-once/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
@ -101,6 +101,13 @@
|
|||||||
<ui-button @click="doExport()"><fa :icon="faDownload"/> {{ $t('export') }}</ui-button>
|
<ui-button @click="doExport()"><fa :icon="faDownload"/> {{ $t('export') }}</ui-button>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<details>
|
||||||
|
<summary>{{ $t('danger-zone') }}</summary>
|
||||||
|
<ui-button @click="deleteAccount()">{{ $t('delete-account') }}</ui-button>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
</ui-card>
|
</ui-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -283,6 +290,25 @@ export default Vue.extend({
|
|||||||
type: 'info',
|
type: 'info',
|
||||||
text: this.$t('export-requested')
|
text: this.$t('export-requested')
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
async deleteAccount() {
|
||||||
|
const { canceled: canceled, result: password } = await this.$root.dialog({
|
||||||
|
title: this.$t('enter-password'),
|
||||||
|
input: {
|
||||||
|
type: 'password'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (canceled) return;
|
||||||
|
|
||||||
|
this.$root.api('i/delete-account', {
|
||||||
|
password
|
||||||
|
}).then(() => {
|
||||||
|
this.$root.dialog({
|
||||||
|
type: 'success',
|
||||||
|
text: this.$t('account-deleted')
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="puqkfets" :class="{ mini }">
|
<div class="puqkfets" :class="{ mini: narrow }">
|
||||||
<mk-avatar class="avatar" :user="note.user"/>
|
<mk-avatar class="avatar" :user="note.user"/>
|
||||||
<fa icon="retweet"/>
|
<fa icon="retweet"/>
|
||||||
<i18n path="@.renoted-by" tag="span">
|
<i18n path="@.renoted-by" tag="span">
|
||||||
@ -30,13 +30,13 @@ export default Vue.extend({
|
|||||||
note: {
|
note: {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mini: {
|
inject: {
|
||||||
type: Boolean,
|
narrow: {
|
||||||
required: false,
|
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -44,25 +44,20 @@ export default Vue.extend({
|
|||||||
.puqkfets
|
.puqkfets
|
||||||
display flex
|
display flex
|
||||||
align-items center
|
align-items center
|
||||||
padding 16px 32px 8px 32px
|
padding 8px 16px
|
||||||
line-height 28px
|
line-height 28px
|
||||||
white-space pre
|
white-space pre
|
||||||
color var(--renoteText)
|
color var(--renoteText)
|
||||||
background linear-gradient(to bottom, var(--renoteGradient) 0%, var(--face) 100%)
|
background linear-gradient(to bottom, var(--renoteGradient) 0%, var(--face) 100%)
|
||||||
|
|
||||||
&.mini
|
&:not(.mini)
|
||||||
padding 8px 16px
|
padding 8px 16px
|
||||||
|
|
||||||
@media (min-width 500px)
|
@media (min-width 500px)
|
||||||
padding 16px
|
padding 8px 16px
|
||||||
|
|
||||||
@media (min-width 600px)
|
@media (min-width 600px)
|
||||||
padding 16px 32px
|
padding 16px 32px 8px 32px
|
||||||
|
|
||||||
> .avatar
|
|
||||||
@media (min-width 500px)
|
|
||||||
width 28px
|
|
||||||
height 28px
|
|
||||||
|
|
||||||
> .avatar
|
> .avatar
|
||||||
flex-shrink 0
|
flex-shrink 0
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<form class="mk-signin" :class="{ signing }" @submit.prevent="onSubmit">
|
<form class="mk-signin" :class="{ signing }" @submit.prevent="onSubmit">
|
||||||
<div class="avatar" :style="{ backgroundImage: user ? `url('${ user.avatarUrl }')` : null }" v-show="withAvatar"></div>
|
<div class="avatar" :style="{ backgroundImage: user ? `url('${ user.avatarUrl }')` : null }" v-show="withAvatar"></div>
|
||||||
<ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]+$" spellcheck="false" autofocus required @input="onUsernameChange" styl="fill">
|
<ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]+$" spellcheck="false" autofocus required @input="onUsernameChange">
|
||||||
<span>{{ $t('username') }}</span>
|
<span>{{ $t('username') }}</span>
|
||||||
<template #prefix>@</template>
|
<template #prefix>@</template>
|
||||||
<template #suffix>@{{ host }}</template>
|
<template #suffix>@{{ host }}</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-model="password" type="password" :with-password-toggle="true" required styl="fill">
|
<ui-input v-model="password" type="password" :with-password-toggle="true" required>
|
||||||
<span>{{ $t('password') }}</span>
|
<span>{{ $t('password') }}</span>
|
||||||
<template #prefix><fa icon="lock"/></template>
|
<template #prefix><fa icon="lock"/></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required styl="fill">
|
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required>
|
||||||
<span>{{ $t('@.2fa') }}</span>
|
<span>{{ $t('@.2fa') }}</span>
|
||||||
<template #prefix><fa icon="gavel"/></template>
|
<template #prefix><fa icon="gavel"/></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-button type="submit" :disabled="signing">{{ signing ? $t('signing-in') : $t('signin') }}</ui-button>
|
<ui-button type="submit" :disabled="signing">{{ signing ? $t('signing-in') : $t('@.signin') }}</ui-button>
|
||||||
<p v-if="meta && meta.enableTwitterIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/twitter`">{{ $t('signin-with-twitter') }}</a></p>
|
<p v-if="meta && meta.enableTwitterIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/twitter`">{{ $t('signin-with-twitter') }}</a></p>
|
||||||
<p v-if="meta && meta.enableGithubIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/github`">{{ $t('signin-with-github') }}</a></p>
|
<p v-if="meta && meta.enableGithubIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/github`">{{ $t('signin-with-github') }}</a></p>
|
||||||
<p v-if="meta && meta.enableDiscordIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/discord`">{{ $t('signin-with-discord') /* TODO: Make these layouts better */ }}</a></p>
|
<p v-if="meta && meta.enableDiscordIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/discord`">{{ $t('signin-with-discord') /* TODO: Make these layouts better */ }}</a></p>
|
||||||
|
@ -10,13 +10,15 @@
|
|||||||
<span>{{ $t('username') }}</span>
|
<span>{{ $t('username') }}</span>
|
||||||
<template #prefix>@</template>
|
<template #prefix>@</template>
|
||||||
<template #suffix>@{{ host }}</template>
|
<template #suffix>@{{ host }}</template>
|
||||||
<template #desc v-if="usernameState == 'wait'" style="color:#999"><fa icon="spinner" pulse fixed-width/> {{ $t('checking') }}</template>
|
<template #desc>
|
||||||
<template #desc v-if="usernameState == 'ok'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('available') }}</template>
|
<span v-if="usernameState == 'wait'" style="color:#999"><fa icon="spinner" pulse fixed-width/> {{ $t('checking') }}</span>
|
||||||
<template #desc v-if="usernameState == 'unavailable'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('unavailable') }}</template>
|
<span v-if="usernameState == 'ok'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('available') }}</span>
|
||||||
<template #desc v-if="usernameState == 'error'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('error') }}</template>
|
<span v-if="usernameState == 'unavailable'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('unavailable') }}</span>
|
||||||
<template #desc v-if="usernameState == 'invalid-format'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('invalid-format') }}</template>
|
<span v-if="usernameState == 'error'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('error') }}</span>
|
||||||
<template #desc v-if="usernameState == 'min-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-short') }}</template>
|
<span v-if="usernameState == 'invalid-format'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('invalid-format') }}</span>
|
||||||
<template #desc v-if="usernameState == 'max-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-long') }}</template>
|
<span v-if="usernameState == 'min-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-short') }}</span>
|
||||||
|
<span v-if="usernameState == 'max-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-long') }}</span>
|
||||||
|
</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-model="password" type="password" :autocomplete="Math.random()" required @input="onChangePassword" :with-password-meter="true" styl="fill">
|
<ui-input v-model="password" type="password" :autocomplete="Math.random()" required @input="onChangePassword" :with-password-meter="true" styl="fill">
|
||||||
<span>{{ $t('password') }}</span>
|
<span>{{ $t('password') }}</span>
|
||||||
@ -148,7 +150,7 @@ export default Vue.extend({
|
|||||||
password: this.password
|
password: this.password
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
localStorage.setItem('i', res.i);
|
localStorage.setItem('i', res.i);
|
||||||
location.reload();
|
location.href = '/';
|
||||||
});
|
});
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
alert(this.$t('some-error'));
|
alert(this.$t('some-error'));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="ui-card" :class="{ shadow: $store.state.settings.useShadow }">
|
<div class="ui-card" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<header>
|
<header>
|
||||||
<slot name="title"></slot>
|
<slot name="title"></slot>
|
||||||
</header>
|
</header>
|
||||||
@ -25,7 +25,9 @@ export default Vue.extend({
|
|||||||
max-width 850px
|
max-width 850px
|
||||||
color var(--faceText)
|
color var(--faceText)
|
||||||
background var(--face)
|
background var(--face)
|
||||||
border-radius var(--round)
|
|
||||||
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
&.shadow
|
&.shadow
|
||||||
box-shadow 0 3px 1px -2px rgba(#000, 0.2), 0 2px 2px 0 rgba(#000, 0.14), 0 1px 5px 0 rgba(#000, 0.12)
|
box-shadow 0 3px 1px -2px rgba(#000, 0.2), 0 2px 2px 0 rgba(#000, 0.14), 0 1px 5px 0 rgba(#000, 0.12)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="player.url" class="player" :style="`padding: ${(player.height || 0) / (player.width || 1) * 100}% 0 0`">
|
<div v-if="playerEnabled" class="player" :style="`padding: ${(player.height || 0) / (player.width || 1) * 100}% 0 0`">
|
||||||
<iframe :src="player.url" :width="player.width || '100%'" :heigth="player.height || 250" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen />
|
<iframe :src="player.url + (player.url.match(/\?/) ? '&autoplay=1&auto_play=1' : '?autoplay=1&auto_play=1')" :width="player.width || '100%'" :heigth="player.height || 250" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen />
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="tweetUrl && detail" class="twitter">
|
<div v-else-if="tweetUrl && detail" class="twitter">
|
||||||
<blockquote ref="tweet" class="twitter-tweet" :data-theme="$store.state.device.darkmode ? 'dark' : null">
|
<blockquote ref="tweet" class="twitter-tweet" :data-theme="$store.state.device.darkmode ? 'dark' : null">
|
||||||
@ -8,8 +8,10 @@
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="mk-url-preview">
|
<div v-else class="mk-url-preview">
|
||||||
<a :class="{ mini, compact }" :href="url" target="_blank" :title="url" v-if="!fetching">
|
<a :class="{ mini: narrow, compact }" :href="url" target="_blank" :title="url" v-if="!fetching">
|
||||||
<div class="thumbnail" v-if="thumbnail" :style="`background-image: url('${thumbnail}')`"></div>
|
<div class="thumbnail" v-if="thumbnail" :style="`background-image: url('${thumbnail}')`">
|
||||||
|
<button v-if="!playerEnabled && player.url" @click.prevent="playerEnabled = true" :title="$t('enable-player')"><fa :icon="['far', 'play-circle']"/></button>
|
||||||
|
</div>
|
||||||
<article>
|
<article>
|
||||||
<header>
|
<header>
|
||||||
<h1 :title="title">{{ title }}</h1>
|
<h1 :title="title">{{ title }}</h1>
|
||||||
@ -26,88 +28,11 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
import i18n from '../../../i18n';
|
||||||
import { url as misskeyUrl } from '../../../config';
|
import { url as misskeyUrl } from '../../../config';
|
||||||
|
|
||||||
// THIS IS THE WHITELIST FOR THE EMBED PLAYER
|
|
||||||
const whiteList = [
|
|
||||||
'afreecatv.com',
|
|
||||||
'aparat.com',
|
|
||||||
'applemusic.com',
|
|
||||||
'amazon.com',
|
|
||||||
'awa.fm',
|
|
||||||
'bandcamp.com',
|
|
||||||
'bbc.co.uk',
|
|
||||||
'beatport.com',
|
|
||||||
'bilibili.com',
|
|
||||||
'boomstream.com',
|
|
||||||
'breakers.tv',
|
|
||||||
'cam4.com',
|
|
||||||
'cavelis.net',
|
|
||||||
'chaturbate.com',
|
|
||||||
'cnn.com',
|
|
||||||
'cybergame.tv',
|
|
||||||
'dailymotion.com',
|
|
||||||
'deezer.com',
|
|
||||||
'djlive.pl',
|
|
||||||
'e-onkyo.com',
|
|
||||||
'eventials.com',
|
|
||||||
'facebook.com',
|
|
||||||
'fc2.com',
|
|
||||||
'gameplank.tv',
|
|
||||||
'goodgame.ru',
|
|
||||||
'google.com',
|
|
||||||
'hardtunes.com',
|
|
||||||
'instagram.com',
|
|
||||||
'johnnylooch.com',
|
|
||||||
'kexp.org',
|
|
||||||
'lahzenegar.com',
|
|
||||||
'liveedu.tv',
|
|
||||||
'livetube.cc',
|
|
||||||
'livestream.com',
|
|
||||||
'meridix.com',
|
|
||||||
'mixcloud.com',
|
|
||||||
'mixer.com',
|
|
||||||
'mobcrush.com',
|
|
||||||
'mylive.in.th',
|
|
||||||
'myspace.com',
|
|
||||||
'netflix.com',
|
|
||||||
'newretrowave.com',
|
|
||||||
'nhk.or.jp',
|
|
||||||
'nicovideo.jp',
|
|
||||||
'nico.ms',
|
|
||||||
'noisetrade.com',
|
|
||||||
'nood.tv',
|
|
||||||
'npr.org',
|
|
||||||
'openrec.tv',
|
|
||||||
'pandora.com',
|
|
||||||
'pandora.tv',
|
|
||||||
'picarto.tv',
|
|
||||||
'pscp.tv',
|
|
||||||
'restream.io',
|
|
||||||
'reverbnation.com',
|
|
||||||
'sermonaudio.com',
|
|
||||||
'smashcast.tv',
|
|
||||||
'songkick.com',
|
|
||||||
'soundcloud.com',
|
|
||||||
'spinninrecords.com',
|
|
||||||
'spotify.com',
|
|
||||||
'stitcher.com',
|
|
||||||
'stream.me',
|
|
||||||
'switchboard.live',
|
|
||||||
'tunein.com',
|
|
||||||
'twitcasting.tv',
|
|
||||||
'twitch.tv',
|
|
||||||
'twitter.com',
|
|
||||||
'vaughnlive.tv',
|
|
||||||
'veoh.com',
|
|
||||||
'vimeo.com',
|
|
||||||
'watchpeoplecode.com',
|
|
||||||
'web.tv',
|
|
||||||
'youtube.com',
|
|
||||||
'youtu.be'
|
|
||||||
];
|
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
|
i18n: i18n('common/views/components/url-preview.vue'),
|
||||||
props: {
|
props: {
|
||||||
url: {
|
url: {
|
||||||
type: String,
|
type: String,
|
||||||
@ -125,10 +50,10 @@ export default Vue.extend({
|
|||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
|
||||||
mini: {
|
inject: {
|
||||||
type: Boolean,
|
narrow: {
|
||||||
required: false,
|
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -147,7 +72,8 @@ export default Vue.extend({
|
|||||||
height: null
|
height: null
|
||||||
},
|
},
|
||||||
tweetUrl: null,
|
tweetUrl: null,
|
||||||
misskeyUrl
|
playerEnabled: false,
|
||||||
|
misskeyUrl,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -188,9 +114,7 @@ export default Vue.extend({
|
|||||||
this.icon = info.icon;
|
this.icon = info.icon;
|
||||||
this.sitename = info.sitename;
|
this.sitename = info.sitename;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
if (whiteList.some(x => x == url.hostname || url.hostname.endsWith(`.${x}`))) {
|
|
||||||
this.player = info.player;
|
this.player = info.player;
|
||||||
}
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -230,6 +154,17 @@ export default Vue.extend({
|
|||||||
height 100%
|
height 100%
|
||||||
background-position center
|
background-position center
|
||||||
background-size cover
|
background-size cover
|
||||||
|
display flex
|
||||||
|
justify-content center
|
||||||
|
align-items center
|
||||||
|
|
||||||
|
> button
|
||||||
|
font-size 3.5em
|
||||||
|
opacity: 0.7
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
font-size 4em
|
||||||
|
opacity 0.9
|
||||||
|
|
||||||
& + article
|
& + article
|
||||||
left 100px
|
left 100px
|
||||||
@ -350,7 +285,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
&.compact
|
&.compact
|
||||||
> .thumbnail
|
> .thumbnail
|
||||||
position: absolute
|
position absolute
|
||||||
width 56px
|
width 56px
|
||||||
height 100%
|
height 100%
|
||||||
|
|
||||||
@ -368,7 +303,7 @@ export default Vue.extend({
|
|||||||
&.compact
|
&.compact
|
||||||
> article
|
> article
|
||||||
> header h1, p, footer
|
> header h1, p, footer
|
||||||
overflow: hidden;
|
overflow hidden
|
||||||
white-space: nowrap;
|
white-space nowrap
|
||||||
text-overflow: ellipsis;
|
text-overflow ellipsis
|
||||||
</style>
|
</style>
|
||||||
|
@ -66,10 +66,11 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
async pushList() {
|
async pushList() {
|
||||||
|
const t = this.$t('select-list'); // なぜか後で参照すると null になるので最初にメモリに確保しておく
|
||||||
const lists = await this.$root.api('users/lists/list');
|
const lists = await this.$root.api('users/lists/list');
|
||||||
const { canceled, result: listId } = await this.$root.dialog({
|
const { canceled, result: listId } = await this.$root.dialog({
|
||||||
type: null,
|
type: null,
|
||||||
title: this.$t('select-list'),
|
title: t,
|
||||||
select: {
|
select: {
|
||||||
items: lists.map(list => ({
|
items: lists.map(list => ({
|
||||||
value: list.id, text: list.title
|
value: list.id, text: list.title
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="dnpfarvgbnfmyzbdquhhzyxcmstpdqzs" :class="{ naked, narrow, active, isStacked, draghover, dragging, dropready }"
|
<div class="dnpfarvgbnfmyzbdquhhzyxcmstpdqzs" :class="{ naked, narrow, active, isStacked, draghover, dragging, dropready, isMobile: $root.isMobile, shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }"
|
||||||
@dragover.prevent.stop="onDragover"
|
@dragover.prevent.stop="onDragover"
|
||||||
@dragleave="onDragleave"
|
@dragleave="onDragleave"
|
||||||
@drop.prevent.stop="onDrop"
|
@drop.prevent.stop="onDrop"
|
||||||
@ -30,6 +30,8 @@ import Vue from 'vue';
|
|||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import Menu from '../../../common/views/components/menu.vue';
|
import Menu from '../../../common/views/components/menu.vue';
|
||||||
import { countIf } from '../../../../../prelude/array';
|
import { countIf } from '../../../../../prelude/array';
|
||||||
|
import { faArrowUp, faArrowDown } from '@fortawesome/free-solid-svg-icons';
|
||||||
|
import { faWindowMaximize } from '@fortawesome/free-regular-svg-icons';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('deck'),
|
i18n: i18n('deck'),
|
||||||
@ -71,7 +73,8 @@ export default Vue.extend({
|
|||||||
active: true,
|
active: true,
|
||||||
dragging: false,
|
dragging: false,
|
||||||
draghover: false,
|
draghover: false,
|
||||||
dropready: false
|
dropready: false,
|
||||||
|
faArrowUp, faArrowDown
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -110,7 +113,7 @@ export default Vue.extend({
|
|||||||
column: this,
|
column: this,
|
||||||
isScrollTop: this.isScrollTop,
|
isScrollTop: this.isScrollTop,
|
||||||
count: v => this.count = v,
|
count: v => this.count = v,
|
||||||
inDeck: !this.naked
|
inNakedDeckColumn: !this.naked
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -143,7 +146,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
toggleActive() {
|
toggleActive() {
|
||||||
if (!this.isStacked) return;
|
if (!this.isStacked) return;
|
||||||
const vms = this.$store.state.settings.deck.layout.find(ids => ids.indexOf(this.column.id) != -1).map(id => this.getColumnVm(id));
|
const vms = this.$store.state.device.deck.layout.find(ids => ids.indexOf(this.column.id) != -1).map(id => this.getColumnVm(id));
|
||||||
if (this.active && countIf(vm => vm.$el.classList.contains('active'), vms) == 1) return;
|
if (this.active && countIf(vm => vm.$el.classList.contains('active'), vms) == 1) return;
|
||||||
this.active = !this.active;
|
this.active = !this.active;
|
||||||
},
|
},
|
||||||
@ -176,50 +179,50 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
}).then(({ canceled, result: name }) => {
|
}).then(({ canceled, result: name }) => {
|
||||||
if (canceled) return;
|
if (canceled) return;
|
||||||
this.$store.dispatch('settings/renameDeckColumn', { id: this.column.id, name });
|
this.$store.commit('device/renameDeckColumn', { id: this.column.id, name });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, null, {
|
}, null, {
|
||||||
icon: 'arrow-left',
|
icon: 'arrow-left',
|
||||||
text: this.$t('swap-left'),
|
text: this.$t('swap-left'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/swapLeftDeckColumn', this.column.id);
|
this.$store.commit('device/swapLeftDeckColumn', this.column.id);
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
icon: 'arrow-right',
|
icon: 'arrow-right',
|
||||||
text: this.$t('swap-right'),
|
text: this.$t('swap-right'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/swapRightDeckColumn', this.column.id);
|
this.$store.commit('device/swapRightDeckColumn', this.column.id);
|
||||||
}
|
}
|
||||||
}, this.isStacked ? {
|
}, this.isStacked ? {
|
||||||
icon: 'arrow-up',
|
icon: faArrowUp,
|
||||||
text: this.$t('swap-up'),
|
text: this.$t('swap-up'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/swapUpDeckColumn', this.column.id);
|
this.$store.commit('device/swapUpDeckColumn', this.column.id);
|
||||||
}
|
}
|
||||||
} : undefined, this.isStacked ? {
|
} : undefined, this.isStacked ? {
|
||||||
icon: 'arrow-down',
|
icon: faArrowDown,
|
||||||
text: this.$t('swap-down'),
|
text: this.$t('swap-down'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/swapDownDeckColumn', this.column.id);
|
this.$store.commit('device/swapDownDeckColumn', this.column.id);
|
||||||
}
|
}
|
||||||
} : undefined, null, {
|
} : undefined, null, {
|
||||||
icon: ['far', 'window-restore'],
|
icon: ['far', 'window-restore'],
|
||||||
text: this.$t('stack-left'),
|
text: this.$t('stack-left'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/stackLeftDeckColumn', this.column.id);
|
this.$store.commit('device/stackLeftDeckColumn', this.column.id);
|
||||||
}
|
}
|
||||||
}, this.isStacked ? {
|
}, this.isStacked ? {
|
||||||
icon: ['far', 'window-maximize'],
|
icon: faWindowMaximize,
|
||||||
text: this.$t('pop-right'),
|
text: this.$t('pop-right'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/popRightDeckColumn', this.column.id);
|
this.$store.commit('device/popRightDeckColumn', this.column.id);
|
||||||
}
|
}
|
||||||
} : undefined, null, {
|
} : undefined, null, {
|
||||||
icon: ['far', 'trash-alt'],
|
icon: ['far', 'trash-alt'],
|
||||||
text: this.$t('remove'),
|
text: this.$t('remove'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/removeDeckColumn', this.column.id);
|
this.$store.commit('device/removeDeckColumn', this.column.id);
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
|
|
||||||
@ -303,7 +306,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
const id = e.dataTransfer.getData('mk-deck-column');
|
const id = e.dataTransfer.getData('mk-deck-column');
|
||||||
if (id != null && id != '') {
|
if (id != null && id != '') {
|
||||||
this.$store.dispatch('settings/swapDeckColumn', {
|
this.$store.commit('device/swapDeckColumn', {
|
||||||
a: this.column.id,
|
a: this.column.id,
|
||||||
b: id
|
b: id
|
||||||
});
|
});
|
||||||
@ -319,10 +322,14 @@ export default Vue.extend({
|
|||||||
|
|
||||||
height 100%
|
height 100%
|
||||||
background var(--face)
|
background var(--face)
|
||||||
border-radius var(--round)
|
|
||||||
box-shadow var(--shadow)
|
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
|
||||||
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
&.draghover
|
&.draghover
|
||||||
box-shadow 0 0 0 2px var(--primaryAlpha08)
|
box-shadow 0 0 0 2px var(--primaryAlpha08)
|
||||||
|
|
||||||
@ -363,6 +370,10 @@ export default Vue.extend({
|
|||||||
> button
|
> button
|
||||||
color var(--text)
|
color var(--text)
|
||||||
|
|
||||||
|
&.isMobile
|
||||||
|
> header
|
||||||
|
box-shadow none
|
||||||
|
|
||||||
> header
|
> header
|
||||||
display flex
|
display flex
|
||||||
z-index 2
|
z-index 2
|
||||||
@ -418,5 +429,6 @@ export default Vue.extend({
|
|||||||
height "calc(100% - %s)" % $header-height
|
height "calc(100% - %s)" % $header-height
|
||||||
overflow auto
|
overflow auto
|
||||||
overflow-x hidden
|
overflow-x hidden
|
||||||
|
-webkit-overflow-scrolling touch
|
||||||
|
|
||||||
</style>
|
</style>
|
@ -29,7 +29,7 @@ export default Vue.extend({
|
|||||||
return {
|
return {
|
||||||
faNewspaper,
|
faNewspaper,
|
||||||
makePromise: cursor => this.$root.api('notes/featured', {
|
makePromise: cursor => this.$root.api('notes/featured', {
|
||||||
limit: 20,
|
limit: 30,
|
||||||
}).then(notes => {
|
}).then(notes => {
|
||||||
notes.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
notes.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
||||||
return notes;
|
return notes;
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<x-notes ref="timeline" :make-promise="makePromise" :media-view="mediaView" @inited="() => $emit('loaded')"/>
|
<x-notes ref="timeline" :make-promise="makePromise" @inited="() => $emit('loaded')"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@ -22,11 +22,6 @@ export default Vue.extend({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
},
|
|
||||||
mediaView: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<x-notes ref="timeline" :make-promise="makePromise" :media-view="mediaView" @inited="() => $emit('loaded')"/>
|
<x-notes ref="timeline" :make-promise="makePromise" @inited="() => $emit('loaded')"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@ -22,11 +22,6 @@ export default Vue.extend({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
},
|
|
||||||
mediaView: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
<a :href="note.url || note.uri" target="_blank">{{ $t('@.view-on-remote') }}</a>
|
<a :href="note.url || note.uri" target="_blank">{{ $t('@.view-on-remote') }}</a>
|
||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
<x-note :note="note" :detail="true" :mini="true"/>
|
<mk-note :note="note" :detail="true"/>
|
||||||
</div>
|
</div>
|
||||||
</x-column>
|
</x-column>
|
||||||
</template>
|
</template>
|
||||||
@ -21,14 +21,12 @@ import Vue from 'vue';
|
|||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import XColumn from './deck.column.vue';
|
import XColumn from './deck.column.vue';
|
||||||
import XNotes from './deck.notes.vue';
|
import XNotes from './deck.notes.vue';
|
||||||
import XNote from '../components/note.vue';
|
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n(),
|
i18n: i18n(),
|
||||||
components: {
|
components: {
|
||||||
XColumn,
|
XColumn,
|
||||||
XNotes,
|
XNotes,
|
||||||
XNote
|
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="eamppglmnmimdhrlzhplwpvyeaqmmhxu">
|
<div class="eamppglmnmimdhrlzhplwpvyeaqmmhxu">
|
||||||
<slot name="empty" v-if="notes.length == 0 && !fetching && inited"></slot>
|
<div class="empty" v-if="notes.length == 0 && !fetching && inited">{{ $t('@.no-notes') }}</div>
|
||||||
|
|
||||||
<mk-error v-if="!fetching && !inited" @retry="init()"/>
|
<mk-error v-if="!fetching && !inited" @retry="init()"/>
|
||||||
|
|
||||||
@ -13,13 +13,12 @@
|
|||||||
<!-- トランジションを有効にするとなぜかメモリリークする -->
|
<!-- トランジションを有効にするとなぜかメモリリークする -->
|
||||||
<component :is="!$store.state.device.reduceMotion ? 'transition-group' : 'div'" name="mk-notes" class="transition notes" ref="notes" tag="div">
|
<component :is="!$store.state.device.reduceMotion ? 'transition-group' : 'div'" name="mk-notes" class="transition notes" ref="notes" tag="div">
|
||||||
<template v-for="(note, i) in _notes">
|
<template v-for="(note, i) in _notes">
|
||||||
<x-note
|
<mk-note
|
||||||
:note="note"
|
:note="note"
|
||||||
:key="note.id"
|
:key="note.id"
|
||||||
@update:note="onNoteUpdated(i, $event)"
|
@update:note="onNoteUpdated(i, $event)"
|
||||||
:media-view="mediaView"
|
|
||||||
:compact="true"
|
:compact="true"
|
||||||
:mini="true"/>
|
/>
|
||||||
<p class="date" :key="note.id + '_date'" v-if="i != notes.length - 1 && note._date != _notes[i + 1]._date">
|
<p class="date" :key="note.id + '_date'" v-if="i != notes.length - 1 && note._date != _notes[i + 1]._date">
|
||||||
<span><fa icon="angle-up"/>{{ note._datetext }}</span>
|
<span><fa icon="angle-up"/>{{ note._datetext }}</span>
|
||||||
<span><fa icon="angle-down"/>{{ _notes[i + 1]._datetext }}</span>
|
<span><fa icon="angle-down"/>{{ _notes[i + 1]._datetext }}</span>
|
||||||
@ -40,27 +39,17 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import shouldMuteNote from '../../../common/scripts/should-mute-note';
|
import shouldMuteNote from '../../../common/scripts/should-mute-note';
|
||||||
import XNote from '../components/note.vue';
|
|
||||||
|
|
||||||
const displayLimit = 20;
|
const displayLimit = 20;
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n(),
|
i18n: i18n(),
|
||||||
|
|
||||||
components: {
|
|
||||||
XNote
|
|
||||||
},
|
|
||||||
|
|
||||||
inject: ['column', 'isScrollTop', 'count'],
|
inject: ['column', 'isScrollTop', 'count'],
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
makePromise: {
|
makePromise: {
|
||||||
required: true
|
required: true
|
||||||
},
|
|
||||||
mediaView: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -91,6 +80,9 @@ export default Vue.extend({
|
|||||||
watch: {
|
watch: {
|
||||||
queue(q) {
|
queue(q) {
|
||||||
this.count(q.length);
|
this.count(q.length);
|
||||||
|
},
|
||||||
|
makePromise() {
|
||||||
|
this.init();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -115,12 +107,12 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
reload() {
|
reload() {
|
||||||
this.queue = [];
|
|
||||||
this.notes = [];
|
|
||||||
this.init();
|
this.init();
|
||||||
},
|
},
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
|
this.queue = [];
|
||||||
|
this.notes = [];
|
||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
this.makePromise().then(x => {
|
this.makePromise().then(x => {
|
||||||
if (Array.isArray(x)) {
|
if (Array.isArray(x)) {
|
||||||
@ -204,6 +196,11 @@ export default Vue.extend({
|
|||||||
> *
|
> *
|
||||||
transition transform .3s ease, opacity .3s ease
|
transition transform .3s ease, opacity .3s ease
|
||||||
|
|
||||||
|
> .empty
|
||||||
|
padding 16px
|
||||||
|
text-align center
|
||||||
|
color var(--text)
|
||||||
|
|
||||||
> .placeholder
|
> .placeholder
|
||||||
padding 16px
|
padding 16px
|
||||||
opacity 0.3
|
opacity 0.3
|
@ -81,15 +81,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template v-if="notification.type == 'quote'">
|
<template v-if="notification.type == 'quote'">
|
||||||
<x-note :note="notification.note" @update:note="onNoteUpdated" :mini="true"/>
|
<mk-note :note="notification.note" @update:note="onNoteUpdated"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-if="notification.type == 'reply'">
|
<template v-if="notification.type == 'reply'">
|
||||||
<x-note :note="notification.note" @update:note="onNoteUpdated" :mini="true"/>
|
<mk-note :note="notification.note" @update:note="onNoteUpdated"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-if="notification.type == 'mention'">
|
<template v-if="notification.type == 'mention'">
|
||||||
<x-note :note="notification.note" @update:note="onNoteUpdated" :mini="true"/>
|
<mk-note :note="notification.note" @update:note="onNoteUpdated"/>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -97,12 +97,8 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import getNoteSummary from '../../../../../misc/get-note-summary';
|
import getNoteSummary from '../../../../../misc/get-note-summary';
|
||||||
import XNote from '../components/note.vue';
|
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
components: {
|
|
||||||
XNote
|
|
||||||
},
|
|
||||||
props: ['notification'],
|
props: ['notification'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
@ -199,7 +199,7 @@ export default Vue.extend({
|
|||||||
display block
|
display block
|
||||||
width 100%
|
width 100%
|
||||||
padding 16px
|
padding 16px
|
||||||
color #555
|
color var(--text)
|
||||||
border-top solid var(--lineWidth) rgba(#000, 0.05)
|
border-top solid var(--lineWidth) rgba(#000, 0.05)
|
||||||
|
|
||||||
&:hover
|
&:hover
|
@ -12,25 +12,21 @@
|
|||||||
|
|
||||||
<div class="editor" style="padding:12px" v-if="edit">
|
<div class="editor" style="padding:12px" v-if="edit">
|
||||||
<ui-switch v-model="column.isMediaOnly" @change="onChangeSettings">{{ $t('is-media-only') }}</ui-switch>
|
<ui-switch v-model="column.isMediaOnly" @change="onChangeSettings">{{ $t('is-media-only') }}</ui-switch>
|
||||||
<ui-switch v-model="column.isMediaView" @change="onChangeSettings">{{ $t('is-media-view') }}</ui-switch>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<x-list-tl v-if="column.type == 'list'"
|
<x-list-tl v-if="column.type == 'list'"
|
||||||
:list="column.list"
|
:list="column.list"
|
||||||
:media-only="column.isMediaOnly"
|
:media-only="column.isMediaOnly"
|
||||||
:media-view="column.isMediaView"
|
|
||||||
ref="tl"
|
ref="tl"
|
||||||
/>
|
/>
|
||||||
<x-hashtag-tl v-else-if="column.type == 'hashtag'"
|
<x-hashtag-tl v-else-if="column.type == 'hashtag'"
|
||||||
:tag-tl="$store.state.settings.tagTimelines.find(x => x.id == column.tagTlId)"
|
:tag-tl="$store.state.settings.tagTimelines.find(x => x.id == column.tagTlId)"
|
||||||
:media-only="column.isMediaOnly"
|
:media-only="column.isMediaOnly"
|
||||||
:media-view="column.isMediaView"
|
|
||||||
ref="tl"
|
ref="tl"
|
||||||
/>
|
/>
|
||||||
<x-tl v-else
|
<x-tl v-else
|
||||||
:src="column.type"
|
:src="column.type"
|
||||||
:media-only="column.isMediaOnly"
|
:media-only="column.isMediaOnly"
|
||||||
:media-view="column.isMediaView"
|
|
||||||
ref="tl"
|
ref="tl"
|
||||||
/>
|
/>
|
||||||
</x-column>
|
</x-column>
|
||||||
@ -94,7 +90,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
onChangeSettings(v) {
|
onChangeSettings(v) {
|
||||||
this.$store.dispatch('settings/saveDeck');
|
this.$store.commit('device/updateDeckColumn', this.column);
|
||||||
},
|
},
|
||||||
|
|
||||||
focus() {
|
focus() {
|
@ -6,7 +6,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p class="desc">{{ $t('disabled-timeline.description') }}</p>
|
<p class="desc">{{ $t('disabled-timeline.description') }}</p>
|
||||||
</div>
|
</div>
|
||||||
<x-notes v-else ref="timeline" :make-promise="makePromise" :media-view="mediaView" @inited="() => $emit('loaded')"/>
|
<x-notes v-else ref="timeline" :make-promise="makePromise" @inited="() => $emit('loaded')"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@ -34,11 +34,6 @@ export default Vue.extend({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
},
|
|
||||||
mediaView: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -73,16 +68,18 @@ export default Vue.extend({
|
|||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
mediaOnly() {
|
mediaOnly() {
|
||||||
this.fetch();
|
(this.$refs.timeline as any).reload();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.makePromise = cursor => this.$root.api(this.endpoint, {
|
this.makePromise = cursor => this.$root.api(this.endpoint, {
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilDate: cursor ? undefined : (this.date ? this.date.getTime() : undefined),
|
|
||||||
untilId: cursor ? cursor : undefined,
|
untilId: cursor ? cursor : undefined,
|
||||||
...this.baseQuery, ...this.query
|
withFiles: this.mediaOnly,
|
||||||
|
includeMyRenotes: this.$store.state.settings.showMyRenotes,
|
||||||
|
includeRenotedMyNotes: this.$store.state.settings.showRenotedMyNotes,
|
||||||
|
includeLocalRenotes: this.$store.state.settings.showLocalRenotes
|
||||||
}).then(notes => {
|
}).then(notes => {
|
||||||
if (notes.length == fetchLimit + 1) {
|
if (notes.length == fetchLimit + 1) {
|
||||||
notes.pop();
|
notes.pop();
|
@ -3,10 +3,12 @@
|
|||||||
<ui-container v-if="user.pinnedNotes && user.pinnedNotes.length > 0" :body-togglable="true">
|
<ui-container v-if="user.pinnedNotes && user.pinnedNotes.length > 0" :body-togglable="true">
|
||||||
<template #header><fa icon="thumbtack"/> {{ $t('pinned-notes') }}</template>
|
<template #header><fa icon="thumbtack"/> {{ $t('pinned-notes') }}</template>
|
||||||
<div>
|
<div>
|
||||||
<x-note v-for="n in user.pinnedNotes" :key="n.id" :note="n" :mini="true"/>
|
<mk-note v-for="n in user.pinnedNotes" :key="n.id" :note="n"/>
|
||||||
</div>
|
</div>
|
||||||
</ui-container>
|
</ui-container>
|
||||||
<ui-container v-if="images.length > 0" :body-togglable="true">
|
<ui-container v-if="images.length > 0" :body-togglable="true"
|
||||||
|
:expanded="$store.state.device.expandUsersPhotos"
|
||||||
|
@toggle="expanded => $store.commit('device/set', { key: 'expandUsersPhotos', value: expanded })">
|
||||||
<template #header><fa :icon="['far', 'images']"/> {{ $t('images') }}</template>
|
<template #header><fa :icon="['far', 'images']"/> {{ $t('images') }}</template>
|
||||||
<div class="sainvnaq">
|
<div class="sainvnaq">
|
||||||
<router-link v-for="image in images"
|
<router-link v-for="image in images"
|
||||||
@ -17,7 +19,9 @@
|
|||||||
></router-link>
|
></router-link>
|
||||||
</div>
|
</div>
|
||||||
</ui-container>
|
</ui-container>
|
||||||
<ui-container :body-togglable="true">
|
<ui-container :body-togglable="true"
|
||||||
|
:expanded="$store.state.device.expandUsersActivity"
|
||||||
|
@toggle="expanded => $store.commit('device/set', { key: 'expandUsersActivity', value: expanded })">
|
||||||
<template #header><fa :icon="['far', 'chart-bar']"/> {{ $t('activity') }}</template>
|
<template #header><fa :icon="['far', 'chart-bar']"/> {{ $t('activity') }}</template>
|
||||||
<div>
|
<div>
|
||||||
<div ref="chart"></div>
|
<div ref="chart"></div>
|
||||||
@ -36,7 +40,6 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import XNotes from './deck.notes.vue';
|
import XNotes from './deck.notes.vue';
|
||||||
import XNote from '../components/note.vue';
|
|
||||||
import { concat } from '../../../../../prelude/array';
|
import { concat } from '../../../../../prelude/array';
|
||||||
import ApexCharts from 'apexcharts';
|
import ApexCharts from 'apexcharts';
|
||||||
|
|
||||||
@ -47,7 +50,6 @@ export default Vue.extend({
|
|||||||
|
|
||||||
components: {
|
components: {
|
||||||
XNotes,
|
XNotes,
|
||||||
XNote
|
|
||||||
},
|
},
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
@ -61,7 +63,26 @@ export default Vue.extend({
|
|||||||
return {
|
return {
|
||||||
withFiles: false,
|
withFiles: false,
|
||||||
images: [],
|
images: [],
|
||||||
makePromise: cursor => this.$root.api('users/notes', {
|
makePromise: null,
|
||||||
|
chart: null as ApexCharts
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
user() {
|
||||||
|
this.fetch();
|
||||||
|
this.genPromiseMaker();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.fetch();
|
||||||
|
this.genPromiseMaker();
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
genPromiseMaker() {
|
||||||
|
this.makePromise = cursor => this.$root.api('users/notes', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
limit: fetchLimit + 1,
|
limit: fetchLimit + 1,
|
||||||
untilId: cursor ? cursor : undefined,
|
untilId: cursor ? cursor : undefined,
|
||||||
@ -82,15 +103,9 @@ export default Vue.extend({
|
|||||||
cursor: null
|
cursor: null
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
|
||||||
this.fetch();
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
fetch() {
|
fetch() {
|
||||||
const image = [
|
const image = [
|
||||||
'image/jpeg',
|
'image/jpeg',
|
||||||
@ -144,7 +159,9 @@ export default Vue.extend({
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
const chart = new ApexCharts(this.$refs.chart, {
|
if (this.chart) this.chart.destroy();
|
||||||
|
|
||||||
|
this.chart = new ApexCharts(this.$refs.chart, {
|
||||||
chart: {
|
chart: {
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
stacked: true,
|
stacked: true,
|
||||||
@ -190,7 +207,7 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
chart.render();
|
this.chart.render();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
}
|
}
|
@ -20,7 +20,6 @@ import Vue from 'vue';
|
|||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import XColumnCore from './deck.column-core.vue';
|
import XColumnCore from './deck.column-core.vue';
|
||||||
import Menu from '../../../common/views/components/menu.vue';
|
import Menu from '../../../common/views/components/menu.vue';
|
||||||
import MkUserListsWindow from '../components/user-lists-window.vue';
|
|
||||||
|
|
||||||
import * as uuid from 'uuid';
|
import * as uuid from 'uuid';
|
||||||
|
|
||||||
@ -32,14 +31,14 @@ export default Vue.extend({
|
|||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
columns(): any[] {
|
columns(): any[] {
|
||||||
if (this.$store.state.settings.deck == null) return [];
|
if (this.$store.state.device.deck == null) return [];
|
||||||
return this.$store.state.settings.deck.columns;
|
return this.$store.state.device.deck.columns;
|
||||||
},
|
},
|
||||||
|
|
||||||
layout(): any[] {
|
layout(): any[] {
|
||||||
if (this.$store.state.settings.deck == null) return [];
|
if (this.$store.state.device.deck == null) return [];
|
||||||
if (this.$store.state.settings.deck.layout == null) return this.$store.state.settings.deck.columns.map(c => [c.id]);
|
if (this.$store.state.device.deck.layout == null) return this.$store.state.device.deck.columns.map(c => [c.id]);
|
||||||
return this.$store.state.settings.deck.layout;
|
return this.$store.state.device.deck.layout;
|
||||||
},
|
},
|
||||||
|
|
||||||
style(): any {
|
style(): any {
|
||||||
@ -69,45 +68,51 @@ export default Vue.extend({
|
|||||||
|
|
||||||
provide() {
|
provide() {
|
||||||
return {
|
return {
|
||||||
getColumnVm: this.getColumnVm
|
inDeck: true,
|
||||||
|
getColumnVm: this.getColumnVm,
|
||||||
|
narrow: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
if (this.$store.state.settings.deck == null) {
|
if (this.$store.state.device.deck == null) {
|
||||||
const deck = {
|
const deck = {
|
||||||
columns: [/*{
|
columns: [/*{
|
||||||
type: 'widgets',
|
type: 'widgets',
|
||||||
widgets: []
|
widgets: []
|
||||||
}, */{
|
}, */{
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'home'
|
type: 'home',
|
||||||
|
name: null,
|
||||||
}, {
|
}, {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'notifications'
|
type: 'notifications',
|
||||||
|
name: null,
|
||||||
}, {
|
}, {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'local'
|
type: 'local',
|
||||||
|
name: null,
|
||||||
}, {
|
}, {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'global'
|
type: 'global',
|
||||||
|
name: null,
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
|
|
||||||
deck.layout = deck.columns.map(c => [c.id]);
|
deck.layout = deck.columns.map(c => [c.id]);
|
||||||
|
|
||||||
this.$store.dispatch('settings/set', {
|
this.$store.commit('device/set', {
|
||||||
key: 'deck',
|
key: 'deck',
|
||||||
value: deck
|
value: deck
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 互換性のため
|
// 互換性のため
|
||||||
if (this.$store.state.settings.deck != null && this.$store.state.settings.deck.layout == null) {
|
if (this.$store.state.device.deck != null && this.$store.state.device.deck.layout == null) {
|
||||||
this.$store.dispatch('settings/set', {
|
this.$store.commit('device/set', {
|
||||||
key: 'deck',
|
key: 'deck',
|
||||||
value: Object.assign({}, this.$store.state.settings.deck, {
|
value: Object.assign({}, this.$store.state.device.deck, {
|
||||||
layout: this.$store.state.settings.deck.columns.map(c => [c.id])
|
layout: this.$store.state.device.deck.columns.map(c => [c.id])
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -134,7 +139,7 @@ export default Vue.extend({
|
|||||||
icon: 'home',
|
icon: 'home',
|
||||||
text: this.$t('@deck.home'),
|
text: this.$t('@deck.home'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'home'
|
type: 'home'
|
||||||
});
|
});
|
||||||
@ -143,7 +148,7 @@ export default Vue.extend({
|
|||||||
icon: ['far', 'comments'],
|
icon: ['far', 'comments'],
|
||||||
text: this.$t('@deck.local'),
|
text: this.$t('@deck.local'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'local'
|
type: 'local'
|
||||||
});
|
});
|
||||||
@ -152,7 +157,7 @@ export default Vue.extend({
|
|||||||
icon: 'share-alt',
|
icon: 'share-alt',
|
||||||
text: this.$t('@deck.hybrid'),
|
text: this.$t('@deck.hybrid'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'hybrid'
|
type: 'hybrid'
|
||||||
});
|
});
|
||||||
@ -161,7 +166,7 @@ export default Vue.extend({
|
|||||||
icon: 'globe',
|
icon: 'globe',
|
||||||
text: this.$t('@deck.global'),
|
text: this.$t('@deck.global'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'global'
|
type: 'global'
|
||||||
});
|
});
|
||||||
@ -170,7 +175,7 @@ export default Vue.extend({
|
|||||||
icon: 'at',
|
icon: 'at',
|
||||||
text: this.$t('@deck.mentions'),
|
text: this.$t('@deck.mentions'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'mentions'
|
type: 'mentions'
|
||||||
});
|
});
|
||||||
@ -179,7 +184,7 @@ export default Vue.extend({
|
|||||||
icon: ['far', 'envelope'],
|
icon: ['far', 'envelope'],
|
||||||
text: this.$t('@deck.direct'),
|
text: this.$t('@deck.direct'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'direct'
|
type: 'direct'
|
||||||
});
|
});
|
||||||
@ -187,15 +192,23 @@ export default Vue.extend({
|
|||||||
}, {
|
}, {
|
||||||
icon: 'list',
|
icon: 'list',
|
||||||
text: this.$t('@deck.list'),
|
text: this.$t('@deck.list'),
|
||||||
action: () => {
|
action: async () => {
|
||||||
const w = this.$root.new(MkUserListsWindow);
|
const lists = await this.$root.api('users/lists/list');
|
||||||
w.$once('choosen', list => {
|
const { canceled, result: listId } = await this.$root.dialog({
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
type: null,
|
||||||
|
title: this.$t('@deck.select-list'),
|
||||||
|
select: {
|
||||||
|
items: lists.map(list => ({
|
||||||
|
value: list.id, text: list.title
|
||||||
|
}))
|
||||||
|
},
|
||||||
|
showCancelButton: true
|
||||||
|
});
|
||||||
|
if (canceled) return;
|
||||||
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'list',
|
type: 'list',
|
||||||
list: list
|
list: lists.find(l => l.id === listId)
|
||||||
});
|
|
||||||
w.close();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
@ -207,7 +220,7 @@ export default Vue.extend({
|
|||||||
input: true
|
input: true
|
||||||
}).then(({ canceled, result: title }) => {
|
}).then(({ canceled, result: title }) => {
|
||||||
if (canceled) return;
|
if (canceled) return;
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'hashtag',
|
type: 'hashtag',
|
||||||
tagTlId: this.$store.state.settings.tagTimelines.find(x => x.title == title).id
|
tagTlId: this.$store.state.settings.tagTimelines.find(x => x.title == title).id
|
||||||
@ -218,7 +231,7 @@ export default Vue.extend({
|
|||||||
icon: ['far', 'bell'],
|
icon: ['far', 'bell'],
|
||||||
text: this.$t('@deck.notifications'),
|
text: this.$t('@deck.notifications'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'notifications'
|
type: 'notifications'
|
||||||
});
|
});
|
||||||
@ -227,7 +240,7 @@ export default Vue.extend({
|
|||||||
icon: 'calculator',
|
icon: 'calculator',
|
||||||
text: this.$t('@deck.widgets'),
|
text: this.$t('@deck.widgets'),
|
||||||
action: () => {
|
action: () => {
|
||||||
this.$store.dispatch('settings/addDeckColumn', {
|
this.$store.commit('device/addDeckColumn', {
|
||||||
id: uuid(),
|
id: uuid(),
|
||||||
type: 'widgets',
|
type: 'widgets',
|
||||||
widgets: []
|
widgets: []
|
||||||
@ -316,6 +329,11 @@ export default Vue.extend({
|
|||||||
flex 1
|
flex 1
|
||||||
padding 16px 0 16px 16px
|
padding 16px 0 16px 16px
|
||||||
overflow auto
|
overflow auto
|
||||||
|
overflow-y hidden
|
||||||
|
-webkit-overflow-scrolling touch
|
||||||
|
|
||||||
|
@media (max-width 500px)
|
||||||
|
padding 8px 0 8px 8px
|
||||||
|
|
||||||
> div
|
> div
|
||||||
margin-right 8px
|
margin-right 8px
|
@ -37,12 +37,12 @@
|
|||||||
>
|
>
|
||||||
<div v-for="widget in column.widgets" class="customize-container" :key="widget.id" @contextmenu.stop.prevent="widgetFunc(widget.id)">
|
<div v-for="widget in column.widgets" class="customize-container" :key="widget.id" @contextmenu.stop.prevent="widgetFunc(widget.id)">
|
||||||
<button class="remove" @click="removeWidget(widget)"><fa icon="times"/></button>
|
<button class="remove" @click="removeWidget(widget)"><fa icon="times"/></button>
|
||||||
<component :is="`mkw-${widget.name}`" :widget="widget" :ref="widget.id" :is-customize-mode="true" platform="deck"/>
|
<component :is="`mkw-${widget.name}`" :widget="widget" :ref="widget.id" :is-customize-mode="true" platform="deck" :column="column"/>
|
||||||
</div>
|
</div>
|
||||||
</x-draggable>
|
</x-draggable>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<component class="widget" v-for="widget in column.widgets" :is="`mkw-${widget.name}`" :key="widget.id" :ref="widget.id" :widget="widget" platform="deck"/>
|
<component class="widget" v-for="widget in column.widgets" :is="`mkw-${widget.name}`" :key="widget.id" :ref="widget.id" :widget="widget" platform="deck" :column="column"/>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</x-column>
|
</x-column>
|
||||||
@ -109,7 +109,7 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
addWidget() {
|
addWidget() {
|
||||||
this.$store.dispatch('settings/addDeckWidget', {
|
this.$store.commit('device/addDeckWidget', {
|
||||||
id: this.column.id,
|
id: this.column.id,
|
||||||
widget: {
|
widget: {
|
||||||
name: this.widgetAdderSelected,
|
name: this.widgetAdderSelected,
|
||||||
@ -122,14 +122,14 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
removeWidget(widget) {
|
removeWidget(widget) {
|
||||||
this.$store.dispatch('settings/removeDeckWidget', {
|
this.$store.commit('device/removeDeckWidget', {
|
||||||
id: this.column.id,
|
id: this.column.id,
|
||||||
widget
|
widget
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
saveWidgets() {
|
saveWidgets() {
|
||||||
this.$store.dispatch('settings/saveDeck');
|
this.$store.commit('device/updateDeckColumn', this.column);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
@ -13,8 +13,8 @@
|
|||||||
<template #header><fa :icon="faHashtag" fixed-width/>{{ $t('popular-tags') }}</template>
|
<template #header><fa :icon="faHashtag" fixed-width/>{{ $t('popular-tags') }}</template>
|
||||||
|
|
||||||
<div class="vxjfqztj">
|
<div class="vxjfqztj">
|
||||||
<router-link v-for="tag in tagsLocal" :to="`/explore/tags/${tag.tag}`" :key="tag.tag" class="local">{{ tag.tag }}</router-link>
|
<router-link v-for="tag in tagsLocal" :to="`/explore/tags/${tag.tag}`" :key="'local:' + tag.tag" class="local">{{ tag.tag }}</router-link>
|
||||||
<router-link v-for="tag in tagsRemote" :to="`/explore/tags/${tag.tag}`" :key="tag.tag">{{ tag.tag }}</router-link>
|
<router-link v-for="tag in tagsRemote" :to="`/explore/tags/${tag.tag}`" :key="'remote:' + tag.tag">{{ tag.tag }}</router-link>
|
||||||
</div>
|
</div>
|
||||||
</ui-container>
|
</ui-container>
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<p class="fetching" v-if="fetching">{{ $t('fetching') }}<mk-ellipsis/></p>
|
<p class="fetching" v-if="fetching">{{ $t('fetching') }}<mk-ellipsis/></p>
|
||||||
<h1 v-if="!fetching">{{ announcements.length == 0 ? this.$t('no-broadcasts') : announcements[i].title }}</h1>
|
<h1 v-if="!fetching">{{ announcements.length == 0 ? $t('no-broadcasts') : announcements[i].title }}</h1>
|
||||||
<p v-if="!fetching">
|
<p v-if="!fetching">
|
||||||
<span v-if="announcements.length != 0" v-html="announcements[i].text"></span>
|
<span v-if="announcements.length != 0" v-html="announcements[i].text"></span>
|
||||||
<template v-if="announcements.length == 0">{{ $t('have-a-nice-day') }}</template>
|
<template v-if="announcements.length == 0">{{ $t('have-a-nice-day') }}</template>
|
||||||
@ -47,7 +47,7 @@ export default define({
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.$root.getMeta().then(meta => {
|
this.$root.getMeta().then(meta => {
|
||||||
this.announcements = meta.broadcasts;
|
this.announcements = meta.announcements;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -14,6 +14,7 @@ import wTips from './tips.vue';
|
|||||||
import wNav from './nav.vue';
|
import wNav from './nav.vue';
|
||||||
import wHashtags from './hashtags.vue';
|
import wHashtags from './hashtags.vue';
|
||||||
import wInstance from './instance.vue';
|
import wInstance from './instance.vue';
|
||||||
|
import wPostForm from './post-form.vue';
|
||||||
|
|
||||||
Vue.component('mkw-analog-clock', wAnalogClock);
|
Vue.component('mkw-analog-clock', wAnalogClock);
|
||||||
Vue.component('mkw-nav', wNav);
|
Vue.component('mkw-nav', wNav);
|
||||||
@ -29,3 +30,4 @@ Vue.component('mkw-rss', wRss);
|
|||||||
Vue.component('mkw-version', wVersion);
|
Vue.component('mkw-version', wVersion);
|
||||||
Vue.component('mkw-hashtags', wHashtags);
|
Vue.component('mkw-hashtags', wHashtags);
|
||||||
Vue.component('mkw-instance', wInstance);
|
Vue.component('mkw-instance', wInstance);
|
||||||
|
Vue.component('mkw-post-form', wPostForm);
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
ref="text"
|
ref="text"
|
||||||
v-autocomplete="{ model: 'text' }"
|
v-autocomplete="{ model: 'text' }"
|
||||||
></textarea>
|
></textarea>
|
||||||
<button class="emoji" @click="emoji" ref="emoji">
|
<button class="emoji" @click="emoji" ref="emoji" v-if="!$root.isMobile">
|
||||||
<fa :icon="['far', 'laugh']"/>
|
<fa :icon="['far', 'laugh']"/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -161,7 +161,7 @@ export default define({
|
|||||||
},
|
},
|
||||||
|
|
||||||
async emoji() {
|
async emoji() {
|
||||||
const Picker = await import('../components/emoji-picker-dialog.vue').then(m => m.default);
|
const Picker = await import('../../../desktop/views/components/emoji-picker-dialog.vue').then(m => m.default);
|
||||||
const button = this.$refs.emoji;
|
const button = this.$refs.emoji;
|
||||||
const rect = button.getBoundingClientRect();
|
const rect = button.getBoundingClientRect();
|
||||||
const vm = this.$root.new(Picker, {
|
const vm = this.$root.new(Picker, {
|
||||||
@ -186,6 +186,9 @@ export default define({
|
|||||||
alert('Something happened');
|
alert('Something happened');
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.posting = false;
|
this.posting = false;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.text.focus();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -7,7 +7,7 @@
|
|||||||
<div class="mkw-rss--body" :data-mobile="platform == 'mobile'">
|
<div class="mkw-rss--body" :data-mobile="platform == 'mobile'">
|
||||||
<p class="fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
<p class="fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
||||||
<div class="feed" v-else>
|
<div class="feed" v-else>
|
||||||
<a v-for="item in items" :href="item.link" target="_blank">{{ item.title }}</a>
|
<a v-for="item in items" :href="item.link" target="_blank" :title="item.title">{{ item.title }}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ui-container>
|
</ui-container>
|
||||||
@ -22,7 +22,7 @@ export default define({
|
|||||||
name: 'rss',
|
name: 'rss',
|
||||||
props: () => ({
|
props: () => ({
|
||||||
compact: false,
|
compact: false,
|
||||||
url: 'http://news.yahoo.co.jp/pickup/rss.xml'
|
url: 'http://feeds.afpbb.com/rss/afpbb/afpbbnews'
|
||||||
})
|
})
|
||||||
}).extend({
|
}).extend({
|
||||||
i18n: i18n(),
|
i18n: i18n(),
|
||||||
@ -55,12 +55,18 @@ export default define({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
setting() {
|
setting() {
|
||||||
const url = window.prompt('URL', this.props.url);
|
this.$root.dialog({
|
||||||
if (url && url != '') {
|
title: 'URL',
|
||||||
|
input: {
|
||||||
|
type: 'url',
|
||||||
|
default: this.props.url
|
||||||
|
}
|
||||||
|
}).then(({ canceled, result: url }) => {
|
||||||
|
if (canceled) return;
|
||||||
this.props.url = url;
|
this.props.url = url;
|
||||||
this.save();
|
this.save();
|
||||||
this.fetch();
|
this.fetch();
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -78,6 +84,9 @@ export default define({
|
|||||||
padding 4px 0
|
padding 4px 0
|
||||||
color var(--text)
|
color var(--text)
|
||||||
border-bottom dashed var(--lineWidth) var(--faceDivider)
|
border-bottom dashed var(--lineWidth) var(--faceDivider)
|
||||||
|
white-space nowrap
|
||||||
|
text-overflow ellipsis
|
||||||
|
overflow hidden
|
||||||
|
|
||||||
&:last-child
|
&:last-child
|
||||||
border-bottom none
|
border-bottom none
|
||||||
|
@ -13,7 +13,7 @@ import fuckAdBlock from '../common/scripts/fuck-ad-block';
|
|||||||
import composeNotification from '../common/scripts/compose-notification';
|
import composeNotification from '../common/scripts/compose-notification';
|
||||||
|
|
||||||
import MkHome from './views/home/home.vue';
|
import MkHome from './views/home/home.vue';
|
||||||
import MkDeck from './views/deck/deck.vue';
|
import MkDeck from '../common/views/deck/deck.vue';
|
||||||
import MkSelectDrive from './views/pages/selectdrive.vue';
|
import MkSelectDrive from './views/pages/selectdrive.vue';
|
||||||
import MkDrive from './views/pages/drive.vue';
|
import MkDrive from './views/pages/drive.vue';
|
||||||
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
||||||
@ -123,30 +123,24 @@ init(async (launch, os) => {
|
|||||||
require('./views/components');
|
require('./views/components');
|
||||||
require('./views/widgets');
|
require('./views/widgets');
|
||||||
|
|
||||||
os.store.commit('device/set', {
|
|
||||||
key: 'inDeckMode',
|
|
||||||
value: os.store.getters.isSignedIn && os.store.state.device.deckMode
|
|
||||||
&& (document.location.pathname === '/' || window.performance.navigation.type === 1)
|
|
||||||
});
|
|
||||||
|
|
||||||
// Init router
|
// Init router
|
||||||
const router = new VueRouter({
|
const router = new VueRouter({
|
||||||
mode: 'history',
|
mode: 'history',
|
||||||
routes: [
|
routes: [
|
||||||
os.store.state.device.inDeckMode
|
os.store.state.device.inDeckMode
|
||||||
? { path: '/', name: 'index', component: MkDeck, children: [
|
? { path: '/', name: 'index', component: MkDeck, children: [
|
||||||
{ path: '/@:user', component: () => import('./views/deck/deck.user-column.vue').then(m => m.default), children: [
|
{ path: '/@:user', component: () => import('../common/views/deck/deck.user-column.vue').then(m => m.default), children: [
|
||||||
{ path: '', name: 'user', component: () => import('./views/deck/deck.user-column.home.vue').then(m => m.default) },
|
{ path: '', name: 'user', component: () => import('../common/views/deck/deck.user-column.home.vue').then(m => m.default) },
|
||||||
{ path: 'following', component: () => import('../common/views/pages/following.vue').then(m => m.default) },
|
{ path: 'following', component: () => import('../common/views/pages/following.vue').then(m => m.default) },
|
||||||
{ path: 'followers', component: () => import('../common/views/pages/followers.vue').then(m => m.default) },
|
{ path: 'followers', component: () => import('../common/views/pages/followers.vue').then(m => m.default) },
|
||||||
]},
|
]},
|
||||||
{ path: '/notes/:note', name: 'note', component: () => import('./views/deck/deck.note-column.vue').then(m => m.default) },
|
{ path: '/notes/:note', name: 'note', component: () => import('../common/views/deck/deck.note-column.vue').then(m => m.default) },
|
||||||
{ path: '/search', component: () => import('./views/deck/deck.search-column.vue').then(m => m.default) },
|
{ path: '/search', component: () => import('../common/views/deck/deck.search-column.vue').then(m => m.default) },
|
||||||
{ path: '/tags/:tag', name: 'tag', component: () => import('./views/deck/deck.hashtag-column.vue').then(m => m.default) },
|
{ path: '/tags/:tag', name: 'tag', component: () => import('../common/views/deck/deck.hashtag-column.vue').then(m => m.default) },
|
||||||
{ path: '/featured', name: 'featured', component: () => import('./views/deck/deck.featured-column.vue').then(m => m.default) },
|
{ path: '/featured', name: 'featured', component: () => import('../common/views/deck/deck.featured-column.vue').then(m => m.default) },
|
||||||
{ path: '/explore', name: 'explore', component: () => import('./views/deck/deck.explore-column.vue').then(m => m.default) },
|
{ path: '/explore', name: 'explore', component: () => import('../common/views/deck/deck.explore-column.vue').then(m => m.default) },
|
||||||
{ path: '/explore/tags/:tag', name: 'explore-tag', props: true, component: () => import('./views/deck/deck.explore-column.vue').then(m => m.default) },
|
{ path: '/explore/tags/:tag', name: 'explore-tag', props: true, component: () => import('../common/views/deck/deck.explore-column.vue').then(m => m.default) },
|
||||||
{ path: '/i/favorites', component: () => import('./views/deck/deck.favorites-column.vue').then(m => m.default) }
|
{ path: '/i/favorites', component: () => import('../common/views/deck/deck.favorites-column.vue').then(m => m.default) }
|
||||||
]}
|
]}
|
||||||
: { path: '/', component: MkHome, children: [
|
: { path: '/', component: MkHome, children: [
|
||||||
{ path: '', name: 'index', component: MkHomeTimeline },
|
{ path: '', name: 'index', component: MkHomeTimeline },
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-calendar" :data-melt="design == 4 || design == 5">
|
<div class="mk-calendar" :data-melt="design == 4 || design == 5" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<template v-if="design == 0 || design == 1">
|
<template v-if="design == 0 || design == 1">
|
||||||
<button @click="prev" :title="$t('prev')"><fa icon="chevron-circle-left"/></button>
|
<button @click="prev" :title="$t('prev')"><fa icon="chevron-circle-left"/></button>
|
||||||
<p class="title">{{ $t('title', { year, month }) }}</p>
|
<p class="title">{{ $t('title', { year, month }) }}</p>
|
||||||
@ -133,10 +133,14 @@ export default Vue.extend({
|
|||||||
.mk-calendar
|
.mk-calendar
|
||||||
color var(--calendarDay)
|
color var(--calendarDay)
|
||||||
background var(--face)
|
background var(--face)
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
|
||||||
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
&[data-melt]
|
&[data-melt]
|
||||||
background transparent !important
|
background transparent !important
|
||||||
border none !important
|
border none !important
|
||||||
|
@ -2,6 +2,7 @@ import Vue from 'vue';
|
|||||||
|
|
||||||
import ui from './ui.vue';
|
import ui from './ui.vue';
|
||||||
import uiNotification from './ui-notification.vue';
|
import uiNotification from './ui-notification.vue';
|
||||||
|
import note from './note.vue';
|
||||||
import notes from './notes.vue';
|
import notes from './notes.vue';
|
||||||
import subNoteContent from './sub-note-content.vue';
|
import subNoteContent from './sub-note-content.vue';
|
||||||
import window from './window.vue';
|
import window from './window.vue';
|
||||||
@ -20,6 +21,7 @@ import uiContainer from './ui-container.vue';
|
|||||||
|
|
||||||
Vue.component('mk-ui', ui);
|
Vue.component('mk-ui', ui);
|
||||||
Vue.component('mk-ui-notification', uiNotification);
|
Vue.component('mk-ui-notification', uiNotification);
|
||||||
|
Vue.component('mk-note', note);
|
||||||
Vue.component('mk-notes', notes);
|
Vue.component('mk-notes', notes);
|
||||||
Vue.component('mk-sub-note-content', subNoteContent);
|
Vue.component('mk-sub-note-content', subNoteContent);
|
||||||
Vue.component('mk-window', window);
|
Vue.component('mk-window', window);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-note-detail" :title="title" tabindex="-1">
|
<div class="mk-note-detail" :title="title" tabindex="-1" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<button
|
<button
|
||||||
class="read-more"
|
class="read-more"
|
||||||
v-if="appearNote.reply && appearNote.reply.replyId && conversation.length == 0"
|
v-if="appearNote.reply && appearNote.reply.replyId && conversation.length == 0"
|
||||||
@ -159,8 +159,15 @@ export default Vue.extend({
|
|||||||
overflow hidden
|
overflow hidden
|
||||||
text-align left
|
text-align left
|
||||||
background var(--face)
|
background var(--face)
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
> .read-more
|
||||||
|
border-radius 6px 6px 0 0
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
> .read-more
|
> .read-more
|
||||||
display block
|
display block
|
||||||
@ -175,7 +182,6 @@ export default Vue.extend({
|
|||||||
outline none
|
outline none
|
||||||
border none
|
border none
|
||||||
border-bottom solid 1px var(--faceDivider)
|
border-bottom solid 1px var(--faceDivider)
|
||||||
border-radius var(--round) var(--round) 0 0
|
|
||||||
|
|
||||||
&:hover
|
&:hover
|
||||||
box-shadow 0 0 0 100px inset rgba(0, 0, 0, 0.05)
|
box-shadow 0 0 0 100px inset rgba(0, 0, 0, 0.05)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="qiziqtywpuaucsgarwajitwaakggnisj" :title="title">
|
<div class="qiziqtywpuaucsgarwajitwaakggnisj" :title="title">
|
||||||
<mk-avatar class="avatar" :user="note.user" v-if="!mini"/>
|
<mk-avatar class="avatar" :user="note.user" v-if="!narrow"/>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<mk-note-header class="header" :note="note" :mini="true"/>
|
<mk-note-header class="header" :note="note" :mini="true"/>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
@ -25,9 +25,10 @@ export default Vue.extend({
|
|||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
mini: {
|
},
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
inject: {
|
||||||
|
narrow: {
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="tkfdzaxtkdeianobciwadajxzbddorql" :class="{ mini }" :title="title">
|
<div class="tkfdzaxtkdeianobciwadajxzbddorql" :class="{ mini: narrow }" :title="title">
|
||||||
<mk-avatar class="avatar" :user="note.user"/>
|
<mk-avatar class="avatar" :user="note.user"/>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<mk-note-header class="header" :note="note"/>
|
<mk-note-header class="header" :note="note"/>
|
||||||
@ -24,10 +24,11 @@ export default Vue.extend({
|
|||||||
note: {
|
note: {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mini: {
|
|
||||||
type: Boolean,
|
inject: {
|
||||||
required: false,
|
narrow: {
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="note"
|
class="note"
|
||||||
:class="{ mini }"
|
:class="{ mini: narrow }"
|
||||||
v-show="(this.$store.state.settings.remainDeletedNote || appearNote.deletedAt == null) && !hideThisNote"
|
v-show="(this.$store.state.settings.remainDeletedNote || appearNote.deletedAt == null) && !hideThisNote"
|
||||||
:tabindex="appearNote.deletedAt == null ? '-1' : null"
|
:tabindex="appearNote.deletedAt == null ? '-1' : null"
|
||||||
v-hotkey="keymap"
|
v-hotkey="keymap"
|
||||||
:title="title"
|
:title="title"
|
||||||
>
|
>
|
||||||
<div class="conversation" v-if="detail && conversation.length > 0">
|
<div class="conversation" v-if="detail && conversation.length > 0">
|
||||||
<x-sub v-for="note in conversation" :key="note.id" :note="note" :mini="mini"/>
|
<x-sub v-for="note in conversation" :key="note.id" :note="note"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="reply-to" v-if="appearNote.reply && (!$store.getters.isSignedIn || $store.state.settings.showReplyTarget)">
|
<div class="reply-to" v-if="appearNote.reply && (!$store.getters.isSignedIn || $store.state.settings.showReplyTarget)">
|
||||||
<x-sub :note="appearNote.reply" :mini="mini"/>
|
<x-sub :note="appearNote.reply"/>
|
||||||
</div>
|
</div>
|
||||||
<mk-renote class="renote" v-if="isRenote" :note="note"/>
|
<mk-renote class="renote" v-if="isRenote" :note="note"/>
|
||||||
<article>
|
<article class="article">
|
||||||
<mk-avatar class="avatar" :user="appearNote.user"/>
|
<mk-avatar class="avatar" :user="appearNote.user"/>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<mk-note-header class="header" :note="appearNote" :mini="mini"/>
|
<mk-note-header class="header" :note="appearNote"/>
|
||||||
<div class="body" v-if="appearNote.deletedAt == null">
|
<div class="body" v-if="appearNote.deletedAt == null">
|
||||||
<p v-if="appearNote.cw != null" class="cw">
|
<p v-if="appearNote.cw != null" class="cw">
|
||||||
<mfm v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
<mfm v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
||||||
@ -35,31 +35,34 @@
|
|||||||
</div>
|
</div>
|
||||||
<mk-poll v-if="appearNote.poll" :note="appearNote" ref="pollViewer"/>
|
<mk-poll v-if="appearNote.poll" :note="appearNote" ref="pollViewer"/>
|
||||||
<a class="location" v-if="appearNote.geo" :href="`https://maps.google.com/maps?q=${appearNote.geo.coordinates[1]},${appearNote.geo.coordinates[0]}`" target="_blank"><fa icon="map-marker-alt"/> 位置情報</a>
|
<a class="location" v-if="appearNote.geo" :href="`https://maps.google.com/maps?q=${appearNote.geo.coordinates[1]},${appearNote.geo.coordinates[0]}`" target="_blank"><fa icon="map-marker-alt"/> 位置情報</a>
|
||||||
<div class="renote" v-if="appearNote.renote"><mk-note-preview :note="appearNote.renote" :mini="mini"/></div>
|
<div class="renote" v-if="appearNote.renote"><mk-note-preview :note="appearNote.renote"/></div>
|
||||||
<mk-url-preview v-for="url in urls" :url="url" :key="url" :mini="mini" :compact="compact"/>
|
<mk-url-preview v-for="url in urls" :url="url" :key="url" :compact="compact"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer v-if="appearNote.deletedAt == null">
|
<footer v-if="appearNote.deletedAt == null" class="footer">
|
||||||
<span class="app" v-if="appearNote.app && mini && $store.state.settings.showVia">via <b>{{ appearNote.app.name }}</b></span>
|
<span class="app" v-if="appearNote.app && narrow && $store.state.settings.showVia">via <b>{{ appearNote.app.name }}</b></span>
|
||||||
<mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/>
|
<mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/>
|
||||||
<button class="replyButton" @click="reply()" :title="$t('reply')">
|
<button class="replyButton button" @click="reply()" :title="$t('reply')">
|
||||||
<template v-if="appearNote.reply"><fa icon="reply-all"/></template>
|
<template v-if="appearNote.reply"><fa icon="reply-all"/></template>
|
||||||
<template v-else><fa icon="reply"/></template>
|
<template v-else><fa icon="reply"/></template>
|
||||||
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
<p class="count" v-if="appearNote.repliesCount > 0">{{ appearNote.repliesCount }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton" @click="renote()" :title="$t('renote')">
|
<button v-if="['public', 'home'].includes(appearNote.visibility)" class="renoteButton button" @click="renote()" :title="$t('renote')">
|
||||||
<fa icon="retweet"/><p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p>
|
<fa icon="retweet"/>
|
||||||
|
<p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button v-else class="inhibitedButton">
|
<button v-else class="inhibitedButton button">
|
||||||
<fa icon="ban"/>
|
<fa icon="ban"/>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton" :title="$t('add-reaction')">
|
<button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton button" @click="react()" ref="reactButton" :title="$t('add-reaction')">
|
||||||
<fa icon="plus"/>
|
<fa icon="plus"/>
|
||||||
|
<p class="count" v-if="Object.values(appearNote.reactionCounts).some(x => x)">{{ Object.values(appearNote.reactionCounts).reduce((a, c) => a + c, 0) }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
|
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted button" @click="undoReact(appearNote)" ref="reactButton" :title="$t('undo-reaction')">
|
||||||
<fa icon="minus"/>
|
<fa icon="minus"/>
|
||||||
|
<p class="count" v-if="Object.values(appearNote.reactionCounts).some(x => x)">{{ Object.values(appearNote.reactionCounts).reduce((a, c) => a + c, 0) }}</p>
|
||||||
</button>
|
</button>
|
||||||
<button @click="menu()" ref="menuButton">
|
<button @click="menu()" ref="menuButton" class="button">
|
||||||
<fa icon="ellipsis-h"/>
|
<fa icon="ellipsis-h"/>
|
||||||
</button>
|
</button>
|
||||||
</footer>
|
</footer>
|
||||||
@ -67,7 +70,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<div class="replies" v-if="detail && replies.length > 0">
|
<div class="replies" v-if="detail && replies.length > 0">
|
||||||
<x-sub v-for="note in replies" :key="note.id" :note="note" :mini="mini"/>
|
<x-sub v-for="note in replies" :key="note.id" :note="note"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -107,9 +110,10 @@ export default Vue.extend({
|
|||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
mini: {
|
},
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
inject: {
|
||||||
|
narrow: {
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -149,7 +153,7 @@ export default Vue.extend({
|
|||||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||||
|
|
||||||
&.mini
|
&.mini
|
||||||
font-size 14px
|
font-size 13px
|
||||||
|
|
||||||
> .renote
|
> .renote
|
||||||
padding 8px 16px 0 16px
|
padding 8px 16px 0 16px
|
||||||
@ -158,7 +162,7 @@ export default Vue.extend({
|
|||||||
width 20px
|
width 20px
|
||||||
height 20px
|
height 20px
|
||||||
|
|
||||||
> article
|
> .article
|
||||||
padding 16px 16px 4px
|
padding 16px 16px 4px
|
||||||
|
|
||||||
> .avatar
|
> .avatar
|
||||||
@ -186,7 +190,7 @@ export default Vue.extend({
|
|||||||
> .renote + article
|
> .renote + article
|
||||||
padding-top 8px
|
padding-top 8px
|
||||||
|
|
||||||
> article
|
> .article
|
||||||
display flex
|
display flex
|
||||||
padding 28px 32px 18px 32px
|
padding 28px 32px 18px 32px
|
||||||
|
|
||||||
@ -270,7 +274,7 @@ export default Vue.extend({
|
|||||||
border dashed var(--lineWidth) var(--quoteBorder)
|
border dashed var(--lineWidth) var(--quoteBorder)
|
||||||
border-radius 8px
|
border-radius 8px
|
||||||
|
|
||||||
> footer
|
> .footer
|
||||||
> .app
|
> .app
|
||||||
display block
|
display block
|
||||||
margin-top 0.5em
|
margin-top 0.5em
|
||||||
@ -278,7 +282,7 @@ export default Vue.extend({
|
|||||||
color var(--noteHeaderInfo)
|
color var(--noteHeaderInfo)
|
||||||
font-size 0.8em
|
font-size 0.8em
|
||||||
|
|
||||||
> button
|
> .button
|
||||||
margin 0 28px 0 0
|
margin 0 28px 0 0
|
||||||
padding 0 8px
|
padding 0 8px
|
||||||
line-height 32px
|
line-height 32px
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-notes">
|
<div class="mk-notes" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<slot name="header"></slot>
|
<slot name="header"></slot>
|
||||||
|
|
||||||
<div class="newer-indicator" :style="{ top: $store.state.uiHeaderHeight + 'px' }" v-show="queue.length > 0"></div>
|
<div class="newer-indicator" :style="{ top: $store.state.uiHeaderHeight + 'px' }" v-show="queue.length > 0"></div>
|
||||||
|
|
||||||
<slot name="empty" v-if="notes.length == 0 && !fetching && inited"></slot>
|
<div class="empty" v-if="notes.length == 0 && !fetching && inited">{{ $t('@.no-notes') }}</div>
|
||||||
|
|
||||||
<mk-error v-if="!fetching && !inited" @retry="init()"/>
|
<mk-error v-if="!fetching && !inited" @retry="init()"/>
|
||||||
|
|
||||||
@ -17,7 +17,7 @@
|
|||||||
<!-- トランジションを有効にするとなぜかメモリリークする -->
|
<!-- トランジションを有効にするとなぜかメモリリークする -->
|
||||||
<component :is="!$store.state.device.reduceMotion ? 'transition-group' : 'div'" name="mk-notes" class="notes transition" tag="div" ref="notes">
|
<component :is="!$store.state.device.reduceMotion ? 'transition-group' : 'div'" name="mk-notes" class="notes transition" tag="div" ref="notes">
|
||||||
<template v-for="(note, i) in _notes">
|
<template v-for="(note, i) in _notes">
|
||||||
<x-note :note="note" :key="note.id" @update:note="onNoteUpdated(i, $event)" :compact="true" ref="note"/>
|
<mk-note :note="note" :key="note.id" @update:note="onNoteUpdated(i, $event)" :compact="true" ref="note"/>
|
||||||
<p class="date" :key="note.id + '_date'" v-if="i != notes.length - 1 && note._date != _notes[i + 1]._date">
|
<p class="date" :key="note.id + '_date'" v-if="i != notes.length - 1 && note._date != _notes[i + 1]._date">
|
||||||
<span><fa icon="angle-up"/>{{ note._datetext }}</span>
|
<span><fa icon="angle-up"/>{{ note._datetext }}</span>
|
||||||
<span><fa icon="angle-down"/>{{ _notes[i + 1]._datetext }}</span>
|
<span><fa icon="angle-down"/>{{ _notes[i + 1]._datetext }}</span>
|
||||||
@ -39,17 +39,12 @@ import Vue from 'vue';
|
|||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
import * as config from '../../../config';
|
import * as config from '../../../config';
|
||||||
import shouldMuteNote from '../../../common/scripts/should-mute-note';
|
import shouldMuteNote from '../../../common/scripts/should-mute-note';
|
||||||
import XNote from './note.vue';
|
|
||||||
|
|
||||||
const displayLimit = 30;
|
const displayLimit = 30;
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n(),
|
i18n: i18n(),
|
||||||
|
|
||||||
components: {
|
|
||||||
XNote
|
|
||||||
},
|
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
makePromise: {
|
makePromise: {
|
||||||
required: true
|
required: true
|
||||||
@ -196,10 +191,14 @@ export default Vue.extend({
|
|||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.mk-notes
|
.mk-notes
|
||||||
background var(--face)
|
background var(--face)
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
|
||||||
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
.transition
|
.transition
|
||||||
.mk-notes-enter
|
.mk-notes-enter
|
||||||
.mk-notes-leave-to
|
.mk-notes-leave-to
|
||||||
@ -209,6 +208,11 @@ export default Vue.extend({
|
|||||||
> *
|
> *
|
||||||
transition transform .3s ease, opacity .3s ease
|
transition transform .3s ease, opacity .3s ease
|
||||||
|
|
||||||
|
> .empty
|
||||||
|
padding 16px
|
||||||
|
text-align center
|
||||||
|
color var(--text)
|
||||||
|
|
||||||
> .placeholder
|
> .placeholder
|
||||||
padding 32px
|
padding 32px
|
||||||
opacity 0.3
|
opacity 0.3
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
|
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="showPostFormOnTopOfTl">{{ $t('post-form-on-timeline') }}</ui-switch>
|
<ui-switch v-model="showPostFormOnTopOfTl">{{ $t('post-form-on-timeline') }}</ui-switch>
|
||||||
<ui-button @click="customizeHome">{{ $t('customize') }}</ui-button>
|
<ui-button @click="customizeHome">{{ $t('@.customize-home') }}</ui-button>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<header>{{ $t('wallpaper') }}</header>
|
<header>{{ $t('wallpaper') }}</header>
|
||||||
@ -87,10 +87,10 @@
|
|||||||
<ui-radio v-model="navbar" value="right">{{ $t('navbar-position-right') }}</ui-radio>
|
<ui-radio v-model="navbar" value="right">{{ $t('navbar-position-right') }}</ui-radio>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="darkmode">{{ $t('dark-mode') }}</ui-switch>
|
<ui-switch v-model="darkmode">{{ $t('@.dark-mode') }}</ui-switch>
|
||||||
<ui-switch v-model="useShadow">{{ $t('use-shadow') }}</ui-switch>
|
<ui-switch v-model="useShadow">{{ $t('@.use-shadow') }}</ui-switch>
|
||||||
<ui-switch v-model="roundedCorners">{{ $t('rounded-corners') }}</ui-switch>
|
<ui-switch v-model="roundedCorners">{{ $t('@.rounded-corners') }}</ui-switch>
|
||||||
<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
|
<ui-switch v-model="circleIcons">{{ $t('@.circle-icons') }}</ui-switch>
|
||||||
<section>
|
<section>
|
||||||
<header>{{ $t('@.line-width') }}</header>
|
<header>{{ $t('@.line-width') }}</header>
|
||||||
<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
|
<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
|
||||||
@ -98,7 +98,7 @@
|
|||||||
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
|
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
|
||||||
</section>
|
</section>
|
||||||
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch>
|
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch>
|
||||||
<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
|
<ui-switch v-model="contrastedAcct">{{ $t('@.contrasted-acct') }}</ui-switch>
|
||||||
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
|
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
|
||||||
<ui-switch v-model="showVia">{{ $t('@.show-via') }}</ui-switch>
|
<ui-switch v-model="showVia">{{ $t('@.show-via') }}</ui-switch>
|
||||||
<ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch>
|
<ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch>
|
||||||
@ -115,18 +115,18 @@
|
|||||||
<ui-switch v-model="remainDeletedNote">{{ $t('remain-deleted-note') }}</ui-switch>
|
<ui-switch v-model="remainDeletedNote">{{ $t('remain-deleted-note') }}</ui-switch>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<header>{{ $t('deck-column-align') }}</header>
|
<header>{{ $t('@.deck-column-align') }}</header>
|
||||||
<ui-radio v-model="deckColumnAlign" value="center">{{ $t('deck-column-align-center') }}</ui-radio>
|
<ui-radio v-model="deckColumnAlign" value="center">{{ $t('@.deck-column-align-center') }}</ui-radio>
|
||||||
<ui-radio v-model="deckColumnAlign" value="left">{{ $t('deck-column-align-left') }}</ui-radio>
|
<ui-radio v-model="deckColumnAlign" value="left">{{ $t('@.deck-column-align-left') }}</ui-radio>
|
||||||
<ui-radio v-model="deckColumnAlign" value="flexible">{{ $t('deck-column-align-flexible') }}</ui-radio>
|
<ui-radio v-model="deckColumnAlign" value="flexible">{{ $t('@.deck-column-align-flexible') }}</ui-radio>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<header>{{ $t('deck-column-width') }}</header>
|
<header>{{ $t('@.deck-column-width') }}</header>
|
||||||
<ui-radio v-model="deckColumnWidth" value="narrow">{{ $t('deck-column-width-narrow') }}</ui-radio>
|
<ui-radio v-model="deckColumnWidth" value="narrow">{{ $t('@.deck-column-width-narrow') }}</ui-radio>
|
||||||
<ui-radio v-model="deckColumnWidth" value="narrower">{{ $t('deck-column-width-narrower') }}</ui-radio>
|
<ui-radio v-model="deckColumnWidth" value="narrower">{{ $t('@.deck-column-width-narrower') }}</ui-radio>
|
||||||
<ui-radio v-model="deckColumnWidth" value="normal">{{ $t('deck-column-width-normal') }}</ui-radio>
|
<ui-radio v-model="deckColumnWidth" value="normal">{{ $t('@.deck-column-width-normal') }}</ui-radio>
|
||||||
<ui-radio v-model="deckColumnWidth" value="wider">{{ $t('deck-column-width-wider') }}</ui-radio>
|
<ui-radio v-model="deckColumnWidth" value="wider">{{ $t('@.deck-column-width-wider') }}</ui-radio>
|
||||||
<ui-radio v-model="deckColumnWidth" value="wide">{{ $t('deck-column-width-wide') }}</ui-radio>
|
<ui-radio v-model="deckColumnWidth" value="wide">{{ $t('@.deck-column-width-wide') }}</ui-radio>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch>
|
<ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch>
|
||||||
@ -387,13 +387,13 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
useShadow: {
|
useShadow: {
|
||||||
get() { return this.$store.state.settings.useShadow; },
|
get() { return this.$store.state.device.useShadow; },
|
||||||
set(value) { this.$store.dispatch('settings/set', { key: 'useShadow', value }); }
|
set(value) { this.$store.commit('device/set', { key: 'useShadow', value }); }
|
||||||
},
|
},
|
||||||
|
|
||||||
roundedCorners: {
|
roundedCorners: {
|
||||||
get() { return this.$store.state.settings.roundedCorners; },
|
get() { return this.$store.state.device.roundedCorners; },
|
||||||
set(value) { this.$store.dispatch('settings/set', { key: 'roundedCorners', value }); }
|
set(value) { this.$store.commit('device/set', { key: 'roundedCorners', value }); }
|
||||||
},
|
},
|
||||||
|
|
||||||
lineWidth: {
|
lineWidth: {
|
||||||
@ -463,17 +463,26 @@ export default Vue.extend({
|
|||||||
|
|
||||||
circleIcons: {
|
circleIcons: {
|
||||||
get() { return this.$store.state.settings.circleIcons; },
|
get() { return this.$store.state.settings.circleIcons; },
|
||||||
set(value) { this.$store.dispatch('settings/set', { key: 'circleIcons', value }); }
|
set(value) {
|
||||||
|
this.$store.dispatch('settings/set', { key: 'circleIcons', value });
|
||||||
|
this.reload();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
contrastedAcct: {
|
contrastedAcct: {
|
||||||
get() { return this.$store.state.settings.contrastedAcct; },
|
get() { return this.$store.state.settings.contrastedAcct; },
|
||||||
set(value) { this.$store.dispatch('settings/set', { key: 'contrastedAcct', value }); }
|
set(value) {
|
||||||
|
this.$store.dispatch('settings/set', { key: 'contrastedAcct', value });
|
||||||
|
this.reload();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
showFullAcct: {
|
showFullAcct: {
|
||||||
get() { return this.$store.state.settings.showFullAcct; },
|
get() { return this.$store.state.settings.showFullAcct; },
|
||||||
set(value) { this.$store.dispatch('settings/set', { key: 'showFullAcct', value }); }
|
set(value) {
|
||||||
|
this.$store.dispatch('settings/set', { key: 'showFullAcct', value });
|
||||||
|
this.reload();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
showVia: {
|
showVia: {
|
||||||
@ -517,6 +526,17 @@ export default Vue.extend({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
reload() {
|
||||||
|
this.$root.dialog({
|
||||||
|
type: 'warning',
|
||||||
|
text: this.$t('@.reload-to-apply-the-setting'),
|
||||||
|
showCancelButton: true
|
||||||
|
}).then(({ canceled }) => {
|
||||||
|
if (!canceled) {
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
customizeHome() {
|
customizeHome() {
|
||||||
location.href = '/?customize';
|
location.href = '/?customize';
|
||||||
},
|
},
|
||||||
@ -583,9 +603,6 @@ export default Vue.extend({
|
|||||||
z-index 1
|
z-index 1
|
||||||
font-size 15px
|
font-size 15px
|
||||||
|
|
||||||
&.inWindow
|
|
||||||
box-shadow var(--shadowRight)
|
|
||||||
|
|
||||||
> p
|
> p
|
||||||
display block
|
display block
|
||||||
padding 10px 16px
|
padding 10px 16px
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="kedshtep" :class="{ naked, inDeck }">
|
<div class="kedshtep" :class="{ naked, inNakedDeckColumn, shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<header v-if="showHeader">
|
<header v-if="showHeader">
|
||||||
<div class="title"><slot name="header"></slot></div>
|
<div class="title"><slot name="header"></slot></div>
|
||||||
<slot name="func"></slot>
|
<slot name="func"></slot>
|
||||||
<button v-if="bodyTogglable" @click="() => showBody = !showBody">
|
<button v-if="bodyTogglable" @click="toggleContent(!showBody)">
|
||||||
<template v-if="showBody"><fa icon="angle-up"/></template>
|
<template v-if="showBody"><fa icon="angle-up"/></template>
|
||||||
<template v-else><fa icon="angle-down"/></template>
|
<template v-else><fa icon="angle-down"/></template>
|
||||||
</button>
|
</button>
|
||||||
@ -36,7 +36,7 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
inject: {
|
inject: {
|
||||||
inDeck: {
|
inNakedDeckColumn: {
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -48,6 +48,7 @@ export default Vue.extend({
|
|||||||
methods: {
|
methods: {
|
||||||
toggleContent(show: boolean) {
|
toggleContent(show: boolean) {
|
||||||
this.showBody = show;
|
this.showBody = show;
|
||||||
|
this.$emit('toggle', show);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -57,10 +58,14 @@ export default Vue.extend({
|
|||||||
.kedshtep
|
.kedshtep
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
|
||||||
&:not(.inDeck)
|
&:not(.inNakedDeckColumn)
|
||||||
background var(--face)
|
background var(--face)
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
& + .kedshtep
|
& + .kedshtep
|
||||||
margin-top 16px
|
margin-top 16px
|
||||||
@ -105,7 +110,7 @@ export default Vue.extend({
|
|||||||
&:active
|
&:active
|
||||||
color var(--faceTextButtonActive)
|
color var(--faceTextButtonActive)
|
||||||
|
|
||||||
&.inDeck
|
&.inNakedDeckColumn
|
||||||
background var(--face)
|
background var(--face)
|
||||||
|
|
||||||
> header
|
> header
|
||||||
|
@ -62,16 +62,14 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li @click="toggleDeckMode">
|
<li @click="toggleDeckMode">
|
||||||
<p>
|
<p>
|
||||||
<span>{{ $t('@.deck') }}</span>
|
<template v-if="$store.state.device.inDeckMode"><span>{{ $t('@.home') }}</span><i><fa :icon="faHome"/></i></template>
|
||||||
<template v-if="$store.state.device.inDeckMode"><i><fa :icon="faHome"/></i></template>
|
<template v-else><span>{{ $t('@.deck') }}</span><i><fa :icon="faColumns"/></i></template>
|
||||||
<template v-else><i><fa :icon="faColumns"/></i></template>
|
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li @click="dark">
|
<li @click="dark">
|
||||||
<p>
|
<p>
|
||||||
<span>{{ $t('dark') }}</span>
|
<span>{{ $store.state.device.darkmode ? $t('@.turn-off-darkmode') : $t('@.turn-on-darkmode') }}</span>
|
||||||
<template v-if="$store.state.device.darkmode"><i><fa icon="moon"/></i></template>
|
<template><i><fa :icon="$store.state.device.darkmode ? faSun : faMoon"/></i></template>
|
||||||
<template v-else><i><fa :icon="['far', 'moon']"/></i></template>
|
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -79,7 +77,7 @@
|
|||||||
<li @click="signout">
|
<li @click="signout">
|
||||||
<p class="signout">
|
<p class="signout">
|
||||||
<i><fa icon="power-off"/></i>
|
<i><fa icon="power-off"/></i>
|
||||||
<span>{{ $t('signout') }}</span>
|
<span>{{ $t('@.signout') }}</span>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -98,13 +96,14 @@ import MkSettingsWindow from './settings-window.vue';
|
|||||||
import MkDriveWindow from './drive-window.vue';
|
import MkDriveWindow from './drive-window.vue';
|
||||||
import contains from '../../../common/scripts/contains';
|
import contains from '../../../common/scripts/contains';
|
||||||
import { faHome, faColumns } from '@fortawesome/free-solid-svg-icons';
|
import { faHome, faColumns } from '@fortawesome/free-solid-svg-icons';
|
||||||
|
import { faMoon, faSun } from '@fortawesome/free-regular-svg-icons';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('desktop/views/components/ui.header.account.vue'),
|
i18n: i18n('desktop/views/components/ui.header.account.vue'),
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
faHome, faColumns
|
faHome, faColumns, faMoon, faSun
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -61,7 +61,7 @@ export default Vue.extend({
|
|||||||
computed: {
|
computed: {
|
||||||
style(): any {
|
style(): any {
|
||||||
return {
|
return {
|
||||||
'box-shadow': this.$store.state.settings.useShadow ? '0 0px 8px rgba(0, 0, 0, 0.2)' : 'none'
|
'box-shadow': this.$store.state.device.useShadow ? '0 0px 8px rgba(0, 0, 0, 0.2)' : 'none'
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="header" :class="navbar">
|
<div class="header" :class="navbar" :data-shadow="$store.state.device.useShadow">
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="post">
|
<div class="post">
|
||||||
<button @click="post" :title="$t('title')"><fa icon="pencil-alt"/></button>
|
<button @click="post" :title="$t('title')"><fa icon="pencil-alt"/></button>
|
||||||
@ -62,7 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<transition :name="`slide-${navbar}`">
|
<transition :name="`slide-${navbar}`">
|
||||||
<div class="notifications" v-if="showNotifications" ref="notifications" :class="navbar">
|
<div class="notifications" v-if="showNotifications" ref="notifications" :class="navbar" :data-shadow="$store.state.device.useShadow">
|
||||||
<mk-notifications/>
|
<mk-notifications/>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
@ -226,11 +226,15 @@ export default Vue.extend({
|
|||||||
|
|
||||||
&.left
|
&.left
|
||||||
left 0
|
left 0
|
||||||
box-shadow var(--shadowRight)
|
|
||||||
|
&[data-shadow]
|
||||||
|
box-shadow 4px 0 4px rgba(0, 0, 0, 0.1)
|
||||||
|
|
||||||
&.right
|
&.right
|
||||||
right 0
|
right 0
|
||||||
box-shadow var(--shadowLeft)
|
|
||||||
|
&[data-shadow]
|
||||||
|
box-shadow -4px 0 4px rgba(0, 0, 0, 0.1)
|
||||||
|
|
||||||
> .body
|
> .body
|
||||||
position fixed
|
position fixed
|
||||||
@ -302,11 +306,15 @@ export default Vue.extend({
|
|||||||
|
|
||||||
&.left
|
&.left
|
||||||
left $width
|
left $width
|
||||||
box-shadow var(--shadowRight)
|
|
||||||
|
&[data-shadow]
|
||||||
|
box-shadow 4px 0 4px rgba(0, 0, 0, 0.1)
|
||||||
|
|
||||||
&.right
|
&.right
|
||||||
right $width
|
right $width
|
||||||
box-shadow var(--shadowLeft)
|
|
||||||
|
&[data-shadow]
|
||||||
|
box-shadow -4px 0 4px rgba(0, 0, 0, 0.1)
|
||||||
|
|
||||||
.nav
|
.nav
|
||||||
> *
|
> *
|
||||||
|
@ -28,7 +28,7 @@ export default Vue.extend({
|
|||||||
this.fetching = true;
|
this.fetching = true;
|
||||||
|
|
||||||
this.$root.api('notes/featured', {
|
this.$root.api('notes/featured', {
|
||||||
limit: 20
|
limit: 30
|
||||||
}).then(notes => {
|
}).then(notes => {
|
||||||
notes.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
notes.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
||||||
this.notes = notes;
|
this.notes = notes;
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<option value="users">{{ $t('@.widgets.users') }}</option>
|
<option value="users">{{ $t('@.widgets.users') }}</option>
|
||||||
<option value="polls">{{ $t('@.widgets.polls') }}</option>
|
<option value="polls">{{ $t('@.widgets.polls') }}</option>
|
||||||
<option value="post-form">{{ $t('@.widgets.post-form') }}</option>
|
<option value="post-form">{{ $t('@.widgets.post-form') }}</option>
|
||||||
<option value="messaging">{{ $t('@.widgets.messaging') }}</option>
|
<option value="messaging">{{ $t('@.messaging') }}</option>
|
||||||
<option value="memo">{{ $t('@.widgets.memo') }}</option>
|
<option value="memo">{{ $t('@.widgets.memo') }}</option>
|
||||||
<option value="hashtags">{{ $t('@.widgets.hashtags') }}</option>
|
<option value="hashtags">{{ $t('@.widgets.hashtags') }}</option>
|
||||||
<option value="posts-monitor">{{ $t('@.widgets.posts-monitor') }}</option>
|
<option value="posts-monitor">{{ $t('@.widgets.posts-monitor') }}</option>
|
||||||
@ -109,6 +109,10 @@ export default Vue.extend({
|
|||||||
name: 'broadcast',
|
name: 'broadcast',
|
||||||
place: 'right',
|
place: 'right',
|
||||||
data: {}
|
data: {}
|
||||||
|
}, {
|
||||||
|
name: 'hashtags',
|
||||||
|
place: 'right',
|
||||||
|
data: {}
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8,9 +8,6 @@
|
|||||||
<router-link to="/explore">{{ $t('@.empty-timeline-info.explore') }}</router-link>
|
<router-link to="/explore">{{ $t('@.empty-timeline-info.explore') }}</router-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #empty>
|
|
||||||
<fa :icon="['far', 'comments']"/>{{ $t('empty') }}
|
|
||||||
</template>
|
|
||||||
</mk-notes>
|
</mk-notes>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="pwbzawku">
|
<div class="pwbzawku">
|
||||||
<mk-post-form class="form" v-if="$store.state.settings.showPostFormOnTopOfTl"/>
|
<mk-post-form class="form" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }" v-if="$store.state.settings.showPostFormOnTopOfTl"/>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<component :is="src == 'list' ? 'mk-user-list-timeline' : 'x-core'" ref="tl" v-bind="options">
|
<component :is="src == 'list' ? 'mk-user-list-timeline' : 'x-core'" ref="tl" v-bind="options">
|
||||||
<header class="zahtxcqi">
|
<header class="zahtxcqi">
|
||||||
@ -193,8 +193,12 @@ export default Vue.extend({
|
|||||||
.pwbzawku
|
.pwbzawku
|
||||||
> .form
|
> .form
|
||||||
margin-bottom 16px
|
margin-bottom 16px
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
.zahtxcqi
|
.zahtxcqi
|
||||||
padding 0 8px
|
padding 0 8px
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="omechnps" v-if="!fetching">
|
<div class="omechnps" v-if="!fetching">
|
||||||
<div class="is-suspended" v-if="user.isSuspended"><fa icon="exclamation-triangle"/> {{ $t('@.user-suspended') }}</div>
|
<div class="is-suspended" v-if="user.isSuspended" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<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>
|
<fa icon="exclamation-triangle"/> {{ $t('@.user-suspended') }}
|
||||||
|
</div>
|
||||||
|
<div class="is-remote" v-if="user.host != null" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
|
<fa icon="exclamation-triangle"/> {{ $t('@.is-remote-user') }}<a :href="user.url || user.uri" target="_blank">{{ $t('@.view-on-remote') }}</a>
|
||||||
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<x-header class="header" :user="user"/>
|
<x-header class="header" :user="user"/>
|
||||||
<router-view :user="user"></router-view>
|
<router-view :user="user"></router-view>
|
||||||
@ -61,8 +65,12 @@ export default Vue.extend({
|
|||||||
margin-bottom 16px
|
margin-bottom 16px
|
||||||
padding 14px 16px
|
padding 14px 16px
|
||||||
font-size 14px
|
font-size 14px
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
&.is-suspended
|
&.is-suspended
|
||||||
color var(--suspendedInfoFg)
|
color var(--suspendedInfoFg)
|
||||||
|
@ -1,84 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="vahgrswmbzfdlmomxnqftuueyvwaafth">
|
|
||||||
<p class="title"><fa icon="users"/>{{ $t('title') }}</p>
|
|
||||||
<p class="initializing" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('loading') }}<mk-ellipsis/></p>
|
|
||||||
<div v-if="!fetching && users.length > 0">
|
|
||||||
<router-link v-for="user in users" :to="user | userPage" :key="user.id">
|
|
||||||
<img :src="user.avatarUrl" :alt="user | userName" v-user-preview="user.id"/>
|
|
||||||
</router-link>
|
|
||||||
</div>
|
|
||||||
<p class="empty" v-if="!fetching && users.length == 0">{{ $t('no-users') }}</p>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts">
|
|
||||||
import Vue from 'vue';
|
|
||||||
import i18n from '../../../../i18n';
|
|
||||||
|
|
||||||
export default Vue.extend({
|
|
||||||
i18n: i18n('desktop/views/pages/user/user.followers-you-know.vue'),
|
|
||||||
props: ['user'],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
users: [],
|
|
||||||
fetching: true
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.$root.api('users/followers', {
|
|
||||||
userId: this.user.id,
|
|
||||||
iknow: true,
|
|
||||||
limit: 16
|
|
||||||
}).then(x => {
|
|
||||||
this.users = x.users;
|
|
||||||
this.fetching = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
|
||||||
.vahgrswmbzfdlmomxnqftuueyvwaafth
|
|
||||||
background var(--face)
|
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
|
||||||
|
|
||||||
> .title
|
|
||||||
z-index 1
|
|
||||||
margin 0
|
|
||||||
padding 0 16px
|
|
||||||
line-height 42px
|
|
||||||
font-size 0.9em
|
|
||||||
font-weight bold
|
|
||||||
color var(--faceHeaderText)
|
|
||||||
box-shadow 0 1px rgba(#000, 0.07)
|
|
||||||
|
|
||||||
> i
|
|
||||||
margin-right 4px
|
|
||||||
|
|
||||||
> div
|
|
||||||
padding 8px
|
|
||||||
|
|
||||||
> a
|
|
||||||
display inline-block
|
|
||||||
margin 4px
|
|
||||||
|
|
||||||
> img
|
|
||||||
display inline-block
|
|
||||||
text-align center
|
|
||||||
width 48px
|
|
||||||
height 48px
|
|
||||||
vertical-align bottom
|
|
||||||
border-radius 100%
|
|
||||||
|
|
||||||
> .initializing
|
|
||||||
> .empty
|
|
||||||
margin 0
|
|
||||||
padding 16px
|
|
||||||
text-align center
|
|
||||||
color var(--text)
|
|
||||||
|
|
||||||
> i
|
|
||||||
margin-right 4px
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,112 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="hozptpaliadatkehcmcayizwzwwctpbc">
|
|
||||||
<p class="title"><fa icon="users"/>{{ $t('title') }}</p>
|
|
||||||
<p class="initializing" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('loading') }}<mk-ellipsis/></p>
|
|
||||||
<template v-if="!fetching && users.length != 0">
|
|
||||||
<div class="user" v-for="friend in users">
|
|
||||||
<mk-avatar class="avatar" :user="friend"/>
|
|
||||||
<div class="body">
|
|
||||||
<router-link class="name" :to="friend | userPage" v-user-preview="friend.id"><mk-user-name :user="friend"/></router-link>
|
|
||||||
<p class="username">@{{ friend | acct }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<p class="empty" v-if="!fetching && users.length == 0">{{ $t('no-users') }}</p>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts">
|
|
||||||
import Vue from 'vue';
|
|
||||||
import i18n from '../../../../i18n';
|
|
||||||
|
|
||||||
export default Vue.extend({
|
|
||||||
i18n: i18n('desktop/views/pages/user/user.friends.vue'),
|
|
||||||
props: ['user'],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
users: [],
|
|
||||||
fetching: true
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.$root.api('users/get_frequently_replied_users', {
|
|
||||||
userId: this.user.id,
|
|
||||||
limit: 4
|
|
||||||
}).then(docs => {
|
|
||||||
this.users = docs.map(doc => doc.user);
|
|
||||||
this.fetching = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
|
||||||
.hozptpaliadatkehcmcayizwzwwctpbc
|
|
||||||
background var(--face)
|
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
|
||||||
overflow hidden
|
|
||||||
|
|
||||||
> .title
|
|
||||||
z-index 1
|
|
||||||
margin 0
|
|
||||||
padding 0 16px
|
|
||||||
line-height 42px
|
|
||||||
font-size 0.9em
|
|
||||||
font-weight bold
|
|
||||||
background var(--faceHeader)
|
|
||||||
color var(--faceHeaderText)
|
|
||||||
box-shadow 0 1px rgba(#000, 0.07)
|
|
||||||
|
|
||||||
> i
|
|
||||||
margin-right 4px
|
|
||||||
|
|
||||||
> .initializing
|
|
||||||
> .empty
|
|
||||||
margin 0
|
|
||||||
padding 16px
|
|
||||||
text-align center
|
|
||||||
color var(--text)
|
|
||||||
|
|
||||||
> i
|
|
||||||
margin-right 4px
|
|
||||||
|
|
||||||
> .user
|
|
||||||
padding 16px
|
|
||||||
border-bottom solid 1px var(--faceDivider)
|
|
||||||
|
|
||||||
&:last-child
|
|
||||||
border-bottom none
|
|
||||||
|
|
||||||
&:after
|
|
||||||
content ""
|
|
||||||
display block
|
|
||||||
clear both
|
|
||||||
|
|
||||||
> .avatar
|
|
||||||
display block
|
|
||||||
float left
|
|
||||||
margin 0 12px 0 0
|
|
||||||
width 42px
|
|
||||||
height 42px
|
|
||||||
border-radius 8px
|
|
||||||
|
|
||||||
> .body
|
|
||||||
float left
|
|
||||||
width calc(100% - 54px)
|
|
||||||
|
|
||||||
> .name
|
|
||||||
margin 0
|
|
||||||
font-size 16px
|
|
||||||
line-height 24px
|
|
||||||
color var(--text)
|
|
||||||
|
|
||||||
> .username
|
|
||||||
display block
|
|
||||||
margin 0
|
|
||||||
font-size 15px
|
|
||||||
line-height 16px
|
|
||||||
color var(--text)
|
|
||||||
opacity 0.7
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="header">
|
<div class="header" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<div class="banner-container" :style="style">
|
<div class="banner-container" :style="style">
|
||||||
<div class="banner" ref="banner" :style="style" @click="onBannerClick"></div>
|
<div class="banner" ref="banner" :style="style" @click="onBannerClick"></div>
|
||||||
<div class="fade"></div>
|
<div class="fade"></div>
|
||||||
@ -126,10 +126,14 @@ export default Vue.extend({
|
|||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.header
|
.header
|
||||||
background var(--face)
|
background var(--face)
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
|
||||||
|
&.round
|
||||||
|
border-radius 6px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 3px 8px rgba(0, 0, 0, 0.2)
|
||||||
|
|
||||||
> .banner-container
|
> .banner-container
|
||||||
height 250px
|
height 250px
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
<mk-note-detail v-for="n in user.pinnedNotes" :key="n.id" :note="n" :compact="true"/>
|
<mk-note-detail v-for="n in user.pinnedNotes" :key="n.id" :note="n" :compact="true"/>
|
||||||
<!--<mk-calendar @chosen="warp" :start="new Date(user.createdAt)"/>-->
|
<!--<mk-calendar @chosen="warp" :start="new Date(user.createdAt)"/>-->
|
||||||
<div class="activity">
|
<div class="activity">
|
||||||
<ui-container :body-togglable="true">
|
<ui-container :body-togglable="true"
|
||||||
|
:expanded="$store.state.device.expandUsersActivity"
|
||||||
|
@toggle="expanded => $store.commit('device/set', { key: 'expandUsersActivity', value: expanded })">
|
||||||
<template #header><fa icon="chart-bar"/>{{ $t('activity') }}</template>
|
<template #header><fa icon="chart-bar"/>{{ $t('activity') }}</template>
|
||||||
<x-activity :user="user" :limit="35" style="padding: 16px;"/>
|
<x-activity :user="user" :limit="35" style="padding: 16px;"/>
|
||||||
</ui-container>
|
</ui-container>
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-container :body-togglable="true">
|
<ui-container :body-togglable="true"
|
||||||
|
:expanded="$store.state.device.expandUsersPhotos"
|
||||||
|
@toggle="expanded => $store.commit('device/set', { key: 'expandUsersPhotos', value: expanded })">
|
||||||
<template #header><fa icon="camera"/> {{ $t('title') }}</template>
|
<template #header><fa icon="camera"/> {{ $t('title') }}</template>
|
||||||
|
|
||||||
<div class="dzsuvbsrrrwobdxifudxuefculdfiaxd">
|
<div class="dzsuvbsrrrwobdxifudxuefculdfiaxd">
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
<span :data-active="mode == 'my-posts'" @click="mode = 'my-posts'"><fa icon="user"/> {{ $t('my-posts') }}</span>
|
<span :data-active="mode == 'my-posts'" @click="mode = 'my-posts'"><fa icon="user"/> {{ $t('my-posts') }}</span>
|
||||||
</header>
|
</header>
|
||||||
</template>
|
</template>
|
||||||
<template #empty><fa :icon="['far', 'comments']"/>{{ $t('empty') }}</template>
|
|
||||||
</mk-notes>
|
</mk-notes>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -30,12 +30,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="sign">
|
<p class="sign">
|
||||||
<span class="signup" @click="signup">{{ $t('signup') }}</span>
|
<span class="signup" @click="signup">{{ $t('@.signup') }}</span>
|
||||||
<span class="divider">|</span>
|
<span class="divider">|</span>
|
||||||
<span class="signin" @click="signin">{{ $t('signin') }}</span>
|
<span class="signin" @click="signin">{{ $t('@.signin') }}</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<img :src="meta.mascotImageUrl" alt="" title="藍" class="char">
|
<img v-if="meta" :src="meta.mascotImageUrl" alt="" title="藍" class="char">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -135,12 +135,12 @@
|
|||||||
</modal>
|
</modal>
|
||||||
|
|
||||||
<modal name="signup" class="modal" width="450px" height="auto" scrollable>
|
<modal name="signup" class="modal" width="450px" height="auto" scrollable>
|
||||||
<header class="formHeader">{{ $t('signup') }}</header>
|
<header class="formHeader">{{ $t('@.signup') }}</header>
|
||||||
<mk-signup class="form"/>
|
<mk-signup class="form"/>
|
||||||
</modal>
|
</modal>
|
||||||
|
|
||||||
<modal name="signin" class="modal" width="450px" height="auto" scrollable>
|
<modal name="signin" class="modal" width="450px" height="auto" scrollable>
|
||||||
<header class="formHeader">{{ $t('signin') }}</header>
|
<header class="formHeader">{{ $t('@.signin') }}</header>
|
||||||
<mk-signin class="form"/>
|
<mk-signin class="form"/>
|
||||||
</modal>
|
</modal>
|
||||||
</div>
|
</div>
|
||||||
@ -174,7 +174,7 @@ export default Vue.extend({
|
|||||||
this.meta = meta;
|
this.meta = meta;
|
||||||
this.name = meta.name;
|
this.name = meta.name;
|
||||||
this.description = meta.description;
|
this.description = meta.description;
|
||||||
this.announcements = meta.broadcasts;
|
this.announcements = meta.announcements;
|
||||||
this.banner = meta.bannerUrl;
|
this.banner = meta.bannerUrl;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -344,8 +344,6 @@ export default Vue.extend({
|
|||||||
.block
|
.block
|
||||||
color var(--text)
|
color var(--text)
|
||||||
background var(--face)
|
background var(--face)
|
||||||
box-shadow var(--shadow)
|
|
||||||
//border-radius 8px
|
|
||||||
overflow auto
|
overflow auto
|
||||||
|
|
||||||
> header
|
> header
|
||||||
|
@ -6,7 +6,6 @@ import wActivity from './activity.vue';
|
|||||||
import wTrends from './trends.vue';
|
import wTrends from './trends.vue';
|
||||||
import wUsers from './users.vue';
|
import wUsers from './users.vue';
|
||||||
import wPolls from './polls.vue';
|
import wPolls from './polls.vue';
|
||||||
import wPostForm from './post-form.vue';
|
|
||||||
import wMessaging from './messaging.vue';
|
import wMessaging from './messaging.vue';
|
||||||
import wProfile from './profile.vue';
|
import wProfile from './profile.vue';
|
||||||
import wCustomize from './customize.vue';
|
import wCustomize from './customize.vue';
|
||||||
@ -17,7 +16,6 @@ Vue.component('mkw-activity', wActivity);
|
|||||||
Vue.component('mkw-trends', wTrends);
|
Vue.component('mkw-trends', wTrends);
|
||||||
Vue.component('mkw-users', wUsers);
|
Vue.component('mkw-users', wUsers);
|
||||||
Vue.component('mkw-polls', wPolls);
|
Vue.component('mkw-polls', wPolls);
|
||||||
Vue.component('mkw-post-form', wPostForm);
|
|
||||||
Vue.component('mkw-messaging', wMessaging);
|
Vue.component('mkw-messaging', wMessaging);
|
||||||
Vue.component('mkw-profile', wProfile);
|
Vue.component('mkw-profile', wProfile);
|
||||||
Vue.component('mkw-customize', wCustomize);
|
Vue.component('mkw-customize', wCustomize);
|
||||||
|
@ -401,34 +401,6 @@ export default (callback: (launch: (router: VueRouter) => [Vue, MiOS], os: MiOS)
|
|||||||
console.log(`Cannot reapply theme. ${e}`);
|
console.log(`Cannot reapply theme. ${e}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
//#region shadow
|
|
||||||
const shadow = '0 3px 8px rgba(0, 0, 0, 0.2)';
|
|
||||||
const shadowRight = '4px 0 4px rgba(0, 0, 0, 0.1)';
|
|
||||||
const shadowLeft = '-4px 0 4px rgba(0, 0, 0, 0.1)';
|
|
||||||
if (os.store.state.settings.useShadow) {
|
|
||||||
document.documentElement.style.setProperty('--shadow', shadow);
|
|
||||||
document.documentElement.style.setProperty('--shadowRight', shadowRight);
|
|
||||||
document.documentElement.style.setProperty('--shadowLeft', shadowLeft);
|
|
||||||
}
|
|
||||||
os.store.watch(s => {
|
|
||||||
return s.settings.useShadow;
|
|
||||||
}, v => {
|
|
||||||
document.documentElement.style.setProperty('--shadow', v ? shadow : 'none');
|
|
||||||
document.documentElement.style.setProperty('--shadowRight', v ? shadowRight : 'none');
|
|
||||||
document.documentElement.style.setProperty('--shadowLeft', v ? shadowLeft : 'none');
|
|
||||||
});
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
//#region rounded corners
|
|
||||||
const round = '6px';
|
|
||||||
if (os.store.state.settings.roundedCorners) document.documentElement.style.setProperty('--round', round);
|
|
||||||
os.store.watch(s => {
|
|
||||||
return s.settings.roundedCorners;
|
|
||||||
}, v => {
|
|
||||||
document.documentElement.style.setProperty('--round', v ? round : '0');
|
|
||||||
});
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
//#region line width
|
//#region line width
|
||||||
document.documentElement.style.setProperty('--lineWidth', `${os.store.state.device.lineWidth}px`);
|
document.documentElement.style.setProperty('--lineWidth', `${os.store.state.device.lineWidth}px`);
|
||||||
os.store.watch(s => {
|
os.store.watch(s => {
|
||||||
@ -504,6 +476,13 @@ export default (callback: (launch: (router: VueRouter) => [Vue, MiOS], os: MiOS)
|
|||||||
return [app, os] as [Vue, MiOS];
|
return [app, os] as [Vue, MiOS];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Deck mode
|
||||||
|
os.store.commit('device/set', {
|
||||||
|
key: 'inDeckMode',
|
||||||
|
value: os.store.getters.isSignedIn && os.store.state.device.deckMode
|
||||||
|
&& (document.location.pathname === '/' || window.performance.navigation.type === 1)
|
||||||
|
});
|
||||||
|
|
||||||
callback(launch, os);
|
callback(launch, os);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -283,7 +283,7 @@ export default class MiOS extends EventEmitter {
|
|||||||
});
|
});
|
||||||
|
|
||||||
main.on('widgetUpdated', x => {
|
main.on('widgetUpdated', x => {
|
||||||
this.store.commit('settings/setWidget', {
|
this.store.commit('settings/updateWidget', {
|
||||||
id: x.id,
|
id: x.id,
|
||||||
data: x.data
|
data: x.data
|
||||||
});
|
});
|
||||||
|
@ -11,10 +11,10 @@ import './style.styl';
|
|||||||
import init from '../init';
|
import init from '../init';
|
||||||
|
|
||||||
import MkIndex from './views/pages/index.vue';
|
import MkIndex from './views/pages/index.vue';
|
||||||
|
import MkDeck from '../common/views/deck/deck.vue';
|
||||||
import MkSignup from './views/pages/signup.vue';
|
import MkSignup from './views/pages/signup.vue';
|
||||||
import MkSelectDrive from './views/pages/selectdrive.vue';
|
import MkSelectDrive from './views/pages/selectdrive.vue';
|
||||||
import MkDrive from './views/pages/drive.vue';
|
import MkDrive from './views/pages/drive.vue';
|
||||||
import MkNotifications from './views/pages/notifications.vue';
|
|
||||||
import MkWidgets from './views/pages/widgets.vue';
|
import MkWidgets from './views/pages/widgets.vue';
|
||||||
import MkMessaging from './views/pages/messaging.vue';
|
import MkMessaging from './views/pages/messaging.vue';
|
||||||
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
||||||
@ -37,7 +37,7 @@ import FolderChooser from './views/components/drive-folder-chooser.vue';
|
|||||||
/**
|
/**
|
||||||
* init
|
* init
|
||||||
*/
|
*/
|
||||||
init((launch) => {
|
init((launch, os) => {
|
||||||
Vue.mixin({
|
Vue.mixin({
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -114,10 +114,26 @@ init((launch) => {
|
|||||||
const router = new VueRouter({
|
const router = new VueRouter({
|
||||||
mode: 'history',
|
mode: 'history',
|
||||||
routes: [
|
routes: [
|
||||||
|
...(os.store.state.device.inDeckMode
|
||||||
|
? [{ path: '/', name: 'index', component: MkDeck, children: [
|
||||||
|
{ path: '/@:user', component: () => import('../common/views/deck/deck.user-column.vue').then(m => m.default), children: [
|
||||||
|
{ path: '', name: 'user', component: () => import('../common/views/deck/deck.user-column.home.vue').then(m => m.default) },
|
||||||
|
{ path: 'following', component: () => import('../common/views/pages/following.vue').then(m => m.default) },
|
||||||
|
{ path: 'followers', component: () => import('../common/views/pages/followers.vue').then(m => m.default) },
|
||||||
|
]},
|
||||||
|
{ path: '/notes/:note', name: 'note', component: () => import('../common/views/deck/deck.note-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/search', component: () => import('../common/views/deck/deck.search-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/tags/:tag', name: 'tag', component: () => import('../common/views/deck/deck.hashtag-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/featured', name: 'featured', component: () => import('../common/views/deck/deck.featured-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/explore', name: 'explore', component: () => import('../common/views/deck/deck.explore-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/explore/tags/:tag', name: 'explore-tag', props: true, component: () => import('../common/views/deck/deck.explore-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/i/favorites', component: () => import('../common/views/deck/deck.favorites-column.vue').then(m => m.default) }
|
||||||
|
]}]
|
||||||
|
: [
|
||||||
{ path: '/', name: 'index', component: MkIndex },
|
{ path: '/', name: 'index', component: MkIndex },
|
||||||
|
]),
|
||||||
{ path: '/signup', name: 'signup', component: MkSignup },
|
{ path: '/signup', name: 'signup', component: MkSignup },
|
||||||
{ path: '/i/settings', name: 'settings', component: () => import('./views/pages/settings.vue').then(m => m.default) },
|
{ path: '/i/settings', name: 'settings', component: () => import('./views/pages/settings.vue').then(m => m.default) },
|
||||||
{ path: '/i/notifications', name: 'notifications', component: MkNotifications },
|
|
||||||
{ path: '/i/favorites', name: 'favorites', component: MkFavorites },
|
{ path: '/i/favorites', name: 'favorites', component: MkFavorites },
|
||||||
{ path: '/i/lists', name: 'user-lists', component: MkUserLists },
|
{ path: '/i/lists', name: 'user-lists', component: MkUserLists },
|
||||||
{ path: '/i/lists/:list', name: 'user-list', component: MkUserList },
|
{ path: '/i/lists/:list', name: 'user-list', component: MkUserList },
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user