Compare commits
43 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 |
24
CHANGELOG.md
24
CHANGELOG.md
@@ -1,6 +1,30 @@
|
|||||||
ChangeLog
|
ChangeLog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
10.90.4
|
||||||
|
----------
|
||||||
|
* url-previewでembedプレイヤー展開をオプトインにするように
|
||||||
|
* デザインの調整
|
||||||
|
* ユーザビリティの強化
|
||||||
|
|
||||||
|
10.90.3
|
||||||
|
----------
|
||||||
|
* モバイルのデッキで投稿フォームウィジェットが設置できなかった問題を修正
|
||||||
|
* ドキュメントの強化
|
||||||
|
* デザインの調整
|
||||||
|
* ユーザビリティの強化
|
||||||
|
|
||||||
|
10.90.2
|
||||||
|
----------
|
||||||
|
* アカウントが削除できない問題を修正
|
||||||
|
* ドキュメントの強化
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.90.1
|
||||||
|
----------
|
||||||
|
* アカウントを作成したときに自動でホームに遷移しない問題を修正
|
||||||
|
* ユーザビリティの強化
|
||||||
|
|
||||||
10.90.0
|
10.90.0
|
||||||
----------
|
----------
|
||||||
* モバイル版でもデッキを使えるように
|
* モバイル版でもデッキを使えるように
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -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: "カスタマイズのヒント"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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: "ライセンス"
|
||||||
@@ -838,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: "リプライ先を表示する"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1532,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を表示する"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -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"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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"
|
||||||
@@ -838,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"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1532,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を表示する"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "Two-factor authentication"
|
2fa: "Two-factor authentication"
|
||||||
customize-home: "Customize 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"
|
||||||
@@ -433,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"
|
||||||
@@ -817,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"
|
||||||
@@ -838,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"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "Messages"
|
messages: "Messages"
|
||||||
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."
|
||||||
@@ -1532,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"
|
||||||
@@ -1568,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"
|
||||||
|
|||||||
@@ -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"
|
||||||
@@ -433,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"
|
||||||
@@ -817,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"
|
||||||
@@ -838,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: "リプライ先を表示する"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1532,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を表示する"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -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"
|
||||||
@@ -433,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"
|
||||||
@@ -817,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"
|
||||||
@@ -838,11 +845,6 @@ desktop/views/components/settings.vue:
|
|||||||
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"
|
||||||
@@ -983,8 +985,6 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
follow-requests: "Demandes d’abonnement"
|
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:
|
||||||
@@ -1312,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"
|
||||||
@@ -1503,13 +1498,11 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "Messages"
|
messages: "Messages"
|
||||||
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:
|
||||||
@@ -1532,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"
|
||||||
@@ -1568,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"
|
||||||
|
|||||||
@@ -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: "カスタマイズのヒント"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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: "ライセンス"
|
||||||
@@ -838,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: "リプライ先を表示する"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1532,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を表示する"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -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:
|
||||||
@@ -249,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: "ユーザーがいません"
|
||||||
|
|
||||||
@@ -472,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でログイン"
|
||||||
@@ -913,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: "ライセンス"
|
||||||
@@ -936,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: "リプライ先を表示する"
|
||||||
@@ -1100,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: "ゲーム"
|
||||||
@@ -1453,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: "最近の画像"
|
||||||
@@ -1687,9 +1686,6 @@ mobile/views/pages/home.vue:
|
|||||||
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」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1725,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を表示する"
|
||||||
@@ -1761,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: "パスワード"
|
||||||
|
|||||||
@@ -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: "カスタマイズのヒント"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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: "ライセンス"
|
||||||
@@ -838,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: "どこにリプライするんや見せて"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,12 +1498,10 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
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: "やっとること"
|
||||||
@@ -1532,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も出すで"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -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: "커스터마이징 도움말"
|
||||||
@@ -433,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으로 로그인"
|
||||||
@@ -838,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: "답글 대상 표시"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "최근 이미지"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "메시지"
|
messages: "메시지"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다."
|
no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다."
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "신규 등록"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "대시보드"
|
dashboard: "대시보드"
|
||||||
widgets-hints: "위젯을 추가 / 제거하거나 정렬할 수 있습니다. 위젯을 이동하려면 창틀의 \"☰\" 아이콘을 드래그합니다. 위젯을 삭제하려면 \"X\" 아이콘을 탭 합니다. 몇몇 위젯은 탭하면 표시형식을 바꿀 수 있습니다."
|
widgets-hints: "위젯을 추가 / 제거하거나 정렬할 수 있습니다. 위젯을 이동하려면 창틀의 \"☰\" 아이콘을 드래그합니다. 위젯을 삭제하려면 \"X\" 아이콘을 탭 합니다. 몇몇 위젯은 탭하면 표시형식을 바꿀 수 있습니다."
|
||||||
@@ -1532,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: "자신이 한 리노트 표시"
|
||||||
@@ -1568,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: "비밀번호"
|
||||||
|
|||||||
@@ -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: "カスタマイズのヒント"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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"
|
||||||
@@ -838,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"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1532,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"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -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: "カスタマイズのヒント"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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"
|
||||||
@@ -838,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: "リプライ先を表示する"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,12 +1498,10 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
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: "アクティビティ"
|
||||||
@@ -1532,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を表示する"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -30,6 +30,14 @@ common:
|
|||||||
2fa: "Uwierzytelnienie dwuetapowe"
|
2fa: "Uwierzytelnienie dwuetapowe"
|
||||||
customize-home: "Dostosuj stronę główną"
|
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"
|
||||||
@@ -433,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"
|
||||||
@@ -817,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"
|
||||||
@@ -838,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"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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"
|
||||||
@@ -1503,12 +1498,10 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "Wiadomości"
|
messages: "Wiadomości"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
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ść"
|
||||||
@@ -1532,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"
|
||||||
@@ -1568,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"
|
||||||
|
|||||||
@@ -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"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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: "ライセンス"
|
||||||
@@ -838,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: "リプライ先を表示する"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1532,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を表示する"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -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: "Советы по настройке"
|
||||||
@@ -433,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でログイン"
|
||||||
@@ -817,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: "ライセンス"
|
||||||
@@ -838,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: "リプライ先を表示する"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近の画像"
|
||||||
@@ -1503,8 +1498,6 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "メッセージ"
|
messages: "メッセージ"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
signup: "新規登録"
|
|
||||||
mobile/views/pages/widgets.vue:
|
mobile/views/pages/widgets.vue:
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
|
||||||
@@ -1532,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を表示する"
|
||||||
@@ -1568,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: "パスワード"
|
||||||
|
|||||||
@@ -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: "自定义提示"
|
||||||
@@ -433,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 登录"
|
||||||
@@ -838,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: "显示回复目标"
|
||||||
@@ -983,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:
|
||||||
@@ -1312,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: "最近图片"
|
||||||
@@ -1503,10 +1498,8 @@ mobile/views/pages/home.vue:
|
|||||||
messages: "信息"
|
messages: "信息"
|
||||||
mobile/views/pages/tag.vue:
|
mobile/views/pages/tag.vue:
|
||||||
no-posts-found: "没有找到带有主题标签“{q}”的帖子"
|
no-posts-found: "没有找到带有主题标签“{q}”的帖子"
|
||||||
mobile/views/pages/welcome.vue:
|
|
||||||
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: "定制提示"
|
||||||
@@ -1532,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: "显示我的转发"
|
||||||
@@ -1568,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: "密码"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"author": "syuilo <i@syuilo.com>",
|
"author": "syuilo <i@syuilo.com>",
|
||||||
"version": "10.90.0",
|
"version": "10.90.4",
|
||||||
"codename": "nighthike",
|
"codename": "nighthike",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<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>
|
||||||
|
|||||||
@@ -150,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">
|
||||||
@@ -9,7 +9,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else class="mk-url-preview">
|
<div v-else class="mk-url-preview">
|
||||||
<a :class="{ mini: narrow, 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,
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -1,6 +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 }"
|
||||||
:data-mobile="$root.isMobile"
|
|
||||||
@dragover.prevent.stop="onDragover"
|
@dragover.prevent.stop="onDragover"
|
||||||
@dragleave="onDragleave"
|
@dragleave="onDragleave"
|
||||||
@drop.prevent.stop="onDrop"
|
@drop.prevent.stop="onDrop"
|
||||||
@@ -323,16 +322,13 @@ 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
|
||||||
|
|
||||||
&[data-mobile]
|
&.round
|
||||||
border-radius 0
|
border-radius 6px
|
||||||
box-shadow none
|
|
||||||
|
|
||||||
> header
|
&.shadow
|
||||||
box-shadow none
|
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)
|
||||||
@@ -374,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
|
||||||
|
|||||||
@@ -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,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<mk-ui :class="$style.root">
|
<mk-ui :class="$style.root">
|
||||||
<div class="qlvquzbjribqcaozciifydkngcwtyzje" :data-mobile="$root.isMobile" ref="body" :style="style" :class="`${$store.state.device.deckColumnAlign} ${$store.state.device.deckColumnWidth}`" v-hotkey.global="keymap">
|
<div class="qlvquzbjribqcaozciifydkngcwtyzje" ref="body" :style="style" :class="`${$store.state.device.deckColumnAlign} ${$store.state.device.deckColumnWidth}`" v-hotkey.global="keymap">
|
||||||
<template v-for="ids in layout">
|
<template v-for="ids in layout">
|
||||||
<div v-if="ids.length > 1" class="folder">
|
<div v-if="ids.length > 1" class="folder">
|
||||||
<template v-for="id, i in ids">
|
<template v-for="id, i in ids">
|
||||||
@@ -332,15 +332,8 @@ export default Vue.extend({
|
|||||||
overflow-y hidden
|
overflow-y hidden
|
||||||
-webkit-overflow-scrolling touch
|
-webkit-overflow-scrolling touch
|
||||||
|
|
||||||
&[data-mobile]
|
@media (max-width 500px)
|
||||||
padding 0
|
padding 8px 0 8px 8px
|
||||||
|
|
||||||
> div
|
|
||||||
margin-right 0
|
|
||||||
|
|
||||||
&.folder
|
|
||||||
> *:not(:last-child)
|
|
||||||
margin-bottom 0
|
|
||||||
|
|
||||||
> div
|
> div
|
||||||
margin-right 8px
|
margin-right 8px
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -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();
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -39,30 +39,30 @@
|
|||||||
<mk-url-preview v-for="url in urls" :url="url" :key="url" :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 && narrow && $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"/>
|
<fa icon="retweet"/>
|
||||||
<p class="count" v-if="appearNote.renoteCount > 0">{{ appearNote.renoteCount }}</p>
|
<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>
|
<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>
|
<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>
|
||||||
@@ -274,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
|
||||||
@@ -282,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,5 +1,5 @@
|
|||||||
<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>
|
||||||
@@ -191,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
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -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,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="kedshtep" :class="{ naked, inNakedDeckColumn }">
|
<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>
|
||||||
@@ -60,8 +60,12 @@ export default Vue.extend({
|
|||||||
|
|
||||||
&:not(.inNakedDeckColumn)
|
&: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
|
||||||
|
|||||||
@@ -77,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>
|
||||||
|
|||||||
@@ -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: {}
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -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 => {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-note-detail" tabindex="-1">
|
<div class="mk-note-detail" tabindex="-1" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<button
|
<button
|
||||||
class="more"
|
class="more"
|
||||||
v-if="appearNote.reply && appearNote.reply.replyId && conversation.length == 0"
|
v-if="appearNote.reply && appearNote.reply.replyId && conversation.length == 0"
|
||||||
@@ -164,7 +164,11 @@ export default Vue.extend({
|
|||||||
width 100%
|
width 100%
|
||||||
text-align left
|
text-align left
|
||||||
background var(--face)
|
background var(--face)
|
||||||
|
|
||||||
|
&.round
|
||||||
border-radius 8px
|
border-radius 8px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
box-shadow 0 4px 16px rgba(#000, 0.1)
|
box-shadow 0 4px 16px rgba(#000, 0.1)
|
||||||
|
|
||||||
@media (min-width 500px)
|
@media (min-width 500px)
|
||||||
@@ -180,7 +184,7 @@ export default Vue.extend({
|
|||||||
width 100%
|
width 100%
|
||||||
font-size 1em
|
font-size 1em
|
||||||
text-align center
|
text-align center
|
||||||
color #999
|
color var(--text)
|
||||||
cursor pointer
|
cursor pointer
|
||||||
background var(--subNoteBg)
|
background var(--subNoteBg)
|
||||||
outline none
|
outline none
|
||||||
@@ -289,7 +293,7 @@ export default Vue.extend({
|
|||||||
> .location
|
> .location
|
||||||
margin 4px 0
|
margin 4px 0
|
||||||
font-size 12px
|
font-size 12px
|
||||||
color #ccc
|
color var(--text)
|
||||||
|
|
||||||
> .map
|
> .map
|
||||||
width 100%
|
width 100%
|
||||||
|
|||||||
@@ -36,26 +36,26 @@
|
|||||||
</div>
|
</div>
|
||||||
<span class="app" v-if="appearNote.app && $store.state.settings.showVia">via <b>{{ appearNote.app.name }}</b></span>
|
<span class="app" v-if="appearNote.app && $store.state.settings.showVia">via <b>{{ appearNote.app.name }}</b></span>
|
||||||
</div>
|
</div>
|
||||||
<footer v-if="appearNote.deletedAt == null">
|
<footer v-if="appearNote.deletedAt == null" class="footer">
|
||||||
<mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/>
|
<mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/>
|
||||||
<button @click="reply()">
|
<button @click="reply()" class="button">
|
||||||
<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)" @click="renote()" title="Renote">
|
<button v-if="['public', 'home'].includes(appearNote.visibility)" @click="renote()" title="Renote" class="button">
|
||||||
<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>
|
<button v-else class="button">
|
||||||
<fa icon="ban"/>
|
<fa icon="ban"/>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="!isMyNote && appearNote.myReaction == null" class="reactionButton" @click="react()" ref="reactButton">
|
<button v-if="!isMyNote && appearNote.myReaction == null" class="button" @click="react()" ref="reactButton">
|
||||||
<fa icon="plus"/>
|
<fa icon="plus"/>
|
||||||
</button>
|
</button>
|
||||||
<button v-if="!isMyNote && appearNote.myReaction != null" class="reactionButton reacted" @click="undoReact(appearNote)" ref="reactButton">
|
<button v-if="!isMyNote && appearNote.myReaction != null" class="button reacted" @click="undoReact(appearNote)" ref="reactButton">
|
||||||
<fa icon="minus"/>
|
<fa icon="minus"/>
|
||||||
</button>
|
</button>
|
||||||
<button class="menu" @click="menu()" ref="menuButton">
|
<button class="button" @click="menu()" ref="menuButton">
|
||||||
<fa icon="ellipsis-h"/>
|
<fa icon="ellipsis-h"/>
|
||||||
</button>
|
</button>
|
||||||
</footer>
|
</footer>
|
||||||
@@ -107,20 +107,6 @@ export default Vue.extend({
|
|||||||
font-size 13px
|
font-size 13px
|
||||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||||
|
|
||||||
&:focus
|
|
||||||
z-index 1
|
|
||||||
|
|
||||||
&:after
|
|
||||||
content ""
|
|
||||||
pointer-events none
|
|
||||||
position absolute
|
|
||||||
top 2px
|
|
||||||
right 2px
|
|
||||||
bottom 2px
|
|
||||||
left 2px
|
|
||||||
border 2px solid var(--primaryAlpha03)
|
|
||||||
border-radius 4px
|
|
||||||
|
|
||||||
&:last-of-type
|
&:last-of-type
|
||||||
border-bottom none
|
border-bottom none
|
||||||
|
|
||||||
@@ -251,8 +237,8 @@ export default Vue.extend({
|
|||||||
font-size 12px
|
font-size 12px
|
||||||
color #ccc
|
color #ccc
|
||||||
|
|
||||||
> footer
|
> .footer
|
||||||
> button
|
> .button
|
||||||
margin 0
|
margin 0
|
||||||
padding 8px
|
padding 8px
|
||||||
background transparent
|
background transparent
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="ivaojijs">
|
<div class="ivaojijs" :class="{ shadow: $store.state.device.useShadow, round: $store.state.device.roundedCorners }">
|
||||||
<div class="empty" v-if="notes.length == 0 && !fetching && inited">{{ $t('@.no-notes') }}</div>
|
<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()"/>
|
||||||
@@ -191,7 +191,11 @@ export default Vue.extend({
|
|||||||
.ivaojijs
|
.ivaojijs
|
||||||
overflow hidden
|
overflow hidden
|
||||||
background var(--face)
|
background var(--face)
|
||||||
|
|
||||||
|
&.round
|
||||||
border-radius 8px
|
border-radius 8px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
box-shadow 0 4px 16px rgba(#000, 0.1)
|
box-shadow 0 4px 16px rgba(#000, 0.1)
|
||||||
|
|
||||||
@media (min-width 500px)
|
@media (min-width 500px)
|
||||||
@@ -239,13 +243,7 @@ export default Vue.extend({
|
|||||||
padding 32px
|
padding 32px
|
||||||
max-width 400px
|
max-width 400px
|
||||||
text-align center
|
text-align center
|
||||||
color #999
|
color var(--text)
|
||||||
|
|
||||||
> [data-icon]
|
|
||||||
display block
|
|
||||||
margin-bottom 16px
|
|
||||||
font-size 3em
|
|
||||||
color #ccc
|
|
||||||
|
|
||||||
> footer
|
> footer
|
||||||
text-align center
|
text-align center
|
||||||
@@ -258,7 +256,7 @@ export default Vue.extend({
|
|||||||
margin 0
|
margin 0
|
||||||
padding 16px
|
padding 16px
|
||||||
width 100%
|
width 100%
|
||||||
color #ccc
|
color var(--text)
|
||||||
|
|
||||||
@media (min-width 500px)
|
@media (min-width 500px)
|
||||||
padding 20px
|
padding 20px
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
this.connection.on('notification', this.onNotification);
|
this.connection.on('notification', this.onNotification);
|
||||||
|
|
||||||
const max = 10;
|
const max = 15;
|
||||||
|
|
||||||
this.$root.api('i/notifications', {
|
this.$root.api('i/notifications', {
|
||||||
limit: max + 1
|
limit: max + 1
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="ukygtjoj" :class="{ naked, inDeck, inNakedDeckColumn, hideHeader: !showHeader }">
|
<div class="ukygtjoj" :class="{ naked, inNakedDeckColumn, hideHeader: !showHeader, 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>
|
||||||
@@ -36,9 +36,6 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
inject: {
|
inject: {
|
||||||
inDeck: {
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
inNakedDeckColumn: {
|
inNakedDeckColumn: {
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
@@ -60,12 +57,13 @@ export default Vue.extend({
|
|||||||
.ukygtjoj
|
.ukygtjoj
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
|
||||||
&.inDeck
|
|
||||||
box-shadow none !important
|
|
||||||
|
|
||||||
&:not(.inNakedDeckColumn)
|
&:not(.inNakedDeckColumn)
|
||||||
background var(--face)
|
background var(--face)
|
||||||
|
|
||||||
|
&.round
|
||||||
border-radius 8px
|
border-radius 8px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
box-shadow 0 4px 16px rgba(#000, 0.1)
|
box-shadow 0 4px 16px rgba(#000, 0.1)
|
||||||
|
|
||||||
& + .ukygtjoj
|
& + .ukygtjoj
|
||||||
@@ -86,7 +84,6 @@ export default Vue.extend({
|
|||||||
font-weight normal
|
font-weight normal
|
||||||
color var(--faceHeaderText)
|
color var(--faceHeaderText)
|
||||||
background var(--faceHeader)
|
background var(--faceHeader)
|
||||||
border-radius 8px 8px 0 0
|
|
||||||
|
|
||||||
> [data-icon]
|
> [data-icon]
|
||||||
margin-right 6px
|
margin-right 6px
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="header" ref="root">
|
<div class="header" ref="root" :class="{ shadow: $store.state.device.useShadow }">
|
||||||
<p class="warn" v-if="env != 'production'">{{ $t('@.do-not-use-in-production') }} <a href="/assets/flush.html?force">Flush</a></p>
|
<p class="warn" v-if="env != 'production'">{{ $t('@.do-not-use-in-production') }} <a href="/assets/flush.html?force">Flush</a></p>
|
||||||
<div class="main" ref="main">
|
<div class="main" ref="main">
|
||||||
<div class="backdrop"></div>
|
<div class="backdrop"></div>
|
||||||
@@ -47,6 +47,8 @@ export default Vue.extend({
|
|||||||
z-index 1024
|
z-index 1024
|
||||||
width calc(100% + 16px)
|
width calc(100% + 16px)
|
||||||
padding 0 8px
|
padding 0 8px
|
||||||
|
|
||||||
|
&.shadow
|
||||||
box-shadow 0 0px 8px rgba(0, 0, 0, 0.25)
|
box-shadow 0 0px 8px rgba(0, 0, 0, 0.25)
|
||||||
|
|
||||||
&, *
|
&, *
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
<li v-if="$store.getters.isSignedIn && ($store.state.i.isAdmin || $store.state.i.isModerator)"><a href="/admin"><i><fa icon="terminal" fixed-width/></i><span>{{ $t('admin') }}</span><i><fa icon="angle-right"/></i></a></li>
|
<li v-if="$store.getters.isSignedIn && ($store.state.i.isAdmin || $store.state.i.isModerator)"><a href="/admin"><i><fa icon="terminal" fixed-width/></i><span>{{ $t('admin') }}</span><i><fa icon="angle-right"/></i></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul>
|
<ul>
|
||||||
<li @click="toggleDeckMode"><p><i><fa :icon="$store.state.device.inDeckMode ? faHome : faColumns"/></i><span>{{ $store.state.device.inDeckMode ? $t('@.home') : $t('@.deck') }}</span></p></li>
|
<li @click="toggleDeckMode"><p><i><fa :icon="$store.state.device.inDeckMode ? faHome : faColumns" fixed-width/></i><span>{{ $store.state.device.inDeckMode ? $t('@.home') : $t('@.deck') }}</span></p></li>
|
||||||
<li @click="dark"><p><i><fa :icon="$store.state.device.darkmode ? faSun : faMoon" fixed-width/></i><span>{{ $store.state.device.darkmode ? $t('@.turn-off-darkmode') : $t('@.turn-on-darkmode') }}</span></p></li>
|
<li @click="dark"><p><i><fa :icon="$store.state.device.darkmode ? faSun : faMoon" fixed-width/></i><span>{{ $store.state.device.darkmode ? $t('@.turn-off-darkmode') : $t('@.turn-on-darkmode') }}</span></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -50,7 +50,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="notifications" v-if="showNotifications">
|
<div class="notifications" v-if="showNotifications">
|
||||||
<header>
|
<header>
|
||||||
<button @click="$parent.isDrawerOpening = false"><fa icon="times"/></button>
|
<button @click="showNotifications = false"><fa icon="times"/></button>
|
||||||
|
<i v-if="hasUnreadNotification" class="circle"><fa icon="circle"/></i>
|
||||||
</header>
|
</header>
|
||||||
<mk-notifications/>
|
<mk-notifications/>
|
||||||
</div>
|
</div>
|
||||||
@@ -207,7 +208,7 @@ export default Vue.extend({
|
|||||||
font-size 15px
|
font-size 15px
|
||||||
|
|
||||||
&.notifications
|
&.notifications
|
||||||
width 340px
|
width 330px
|
||||||
|
|
||||||
> .notifications
|
> .notifications
|
||||||
padding-top 42px
|
padding-top 42px
|
||||||
@@ -217,7 +218,7 @@ export default Vue.extend({
|
|||||||
top 0
|
top 0
|
||||||
left 0
|
left 0
|
||||||
z-index 1000
|
z-index 1000
|
||||||
width 340px
|
width 330px
|
||||||
line-height 42px
|
line-height 42px
|
||||||
background var(--secondary)
|
background var(--secondary)
|
||||||
|
|
||||||
@@ -228,6 +229,13 @@ export default Vue.extend({
|
|||||||
line-height 42px
|
line-height 42px
|
||||||
color var(--text)
|
color var(--text)
|
||||||
|
|
||||||
|
> i
|
||||||
|
position absolute
|
||||||
|
top 0
|
||||||
|
right 16px
|
||||||
|
font-size 12px
|
||||||
|
color var(--notificationIndicator)
|
||||||
|
|
||||||
> .nav
|
> .nav
|
||||||
|
|
||||||
> .me
|
> .me
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ export default Vue.extend({
|
|||||||
position absolute
|
position absolute
|
||||||
top 0
|
top 0
|
||||||
left 0
|
left 0
|
||||||
color var(--primary)
|
color var(--notificationIndicator)
|
||||||
font-size 16px
|
font-size 16px
|
||||||
|
|
||||||
&.post
|
&.post
|
||||||
|
|||||||
@@ -36,7 +36,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;
|
||||||
|
|||||||
@@ -14,16 +14,18 @@
|
|||||||
<template #title><fa icon="poll-h"/> {{ $t('design') }}</template>
|
<template #title><fa icon="poll-h"/> {{ $t('design') }}</template>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="darkmode">{{ $t('dark-mode') }}</ui-switch>
|
<ui-switch v-model="darkmode">{{ $t('@.dark-mode') }}</ui-switch>
|
||||||
<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
|
<ui-switch v-model="useShadow">{{ $t('@.use-shadow') }}</ui-switch>
|
||||||
|
<ui-switch v-model="roundedCorners">{{ $t('@.rounded-corners') }}</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>
|
||||||
<ui-radio v-model="lineWidth" :value="1">{{ $t('@.line-width-normal') }}</ui-radio>
|
<ui-radio v-model="lineWidth" :value="1">{{ $t('@.line-width-normal') }}</ui-radio>
|
||||||
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
|
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
|
||||||
</section>
|
</section>
|
||||||
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }} ({{ $t('@.this-setting-is-this-device-only') }})</ui-switch>
|
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</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>
|
||||||
@@ -155,7 +157,7 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="signout" @click="signout">{{ $t('signout') }}</div>
|
<div class="signout" @click="signout">{{ $t('@.signout') }}</div>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<small>ver {{ version }} ({{ codename }})</small>
|
<small>ver {{ version }} ({{ codename }})</small>
|
||||||
@@ -214,6 +216,16 @@ export default Vue.extend({
|
|||||||
set(value) { this.$store.commit('device/set', { key: 'darkmode', value }); }
|
set(value) { this.$store.commit('device/set', { key: 'darkmode', value }); }
|
||||||
},
|
},
|
||||||
|
|
||||||
|
useShadow: {
|
||||||
|
get() { return this.$store.state.device.useShadow; },
|
||||||
|
set(value) { this.$store.commit('device/set', { key: 'useShadow', value }); }
|
||||||
|
},
|
||||||
|
|
||||||
|
roundedCorners: {
|
||||||
|
get() { return this.$store.state.device.roundedCorners; },
|
||||||
|
set(value) { this.$store.commit('device/set', { key: 'roundedCorners', value }); }
|
||||||
|
},
|
||||||
|
|
||||||
useOsDefaultEmojis: {
|
useOsDefaultEmojis: {
|
||||||
get() { return this.$store.state.device.useOsDefaultEmojis; },
|
get() { return this.$store.state.device.useOsDefaultEmojis; },
|
||||||
set(value) { this.$store.commit('device/set', { key: 'useOsDefaultEmojis', value }); }
|
set(value) { this.$store.commit('device/set', { key: 'useOsDefaultEmojis', value }); }
|
||||||
@@ -296,7 +308,10 @@ 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();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
lineWidth: {
|
lineWidth: {
|
||||||
@@ -306,12 +321,18 @@ export default Vue.extend({
|
|||||||
|
|
||||||
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: {
|
||||||
@@ -384,6 +405,18 @@ export default Vue.extend({
|
|||||||
this.$root.signout();
|
this.$root.signout();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
this.$root.dialog({
|
||||||
|
type: 'warning',
|
||||||
|
text: this.$t('@.reload-to-apply-the-setting'),
|
||||||
|
showCancelButton: true
|
||||||
|
}).then(({ canceled }) => {
|
||||||
|
if (!canceled) {
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
checkForUpdate() {
|
checkForUpdate() {
|
||||||
this.checkingForUpdate = true;
|
this.checkingForUpdate = true;
|
||||||
checkForUpdate(this.$root, true, true).then(newer => {
|
checkForUpdate(this.$root, true, true).then(newer => {
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('mobile/views/pages/signup.vue'),});
|
i18n: i18n('mobile/views/pages/signup.vue')
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
@@ -23,6 +24,6 @@ export default Vue.extend({
|
|||||||
padding 8px 0 0 0
|
padding 8px 0 0 0
|
||||||
font-size 1.5em
|
font-size 1.5em
|
||||||
font-weight bold
|
font-weight bold
|
||||||
color #444
|
color var(--text)
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<nav v-if="$route.name == 'user'">
|
<nav v-if="$route.name == 'user'" :class="{ shadow: $store.state.device.useShadow }">
|
||||||
<div class="nav-container">
|
<div class="nav-container">
|
||||||
<a :data-active="page == 'home'" @click="page = 'home'"><fa icon="home"/> {{ $t('overview') }}</a>
|
<a :data-active="page == 'home'" @click="page = 'home'"><fa icon="home"/> {{ $t('overview') }}</a>
|
||||||
<a :data-active="page == 'notes'" @click="page = 'notes'"><fa :icon="['far', 'comment-alt']"/> {{ $t('timeline') }}</a>
|
<a :data-active="page == 'notes'" @click="page = 'notes'"><fa :icon="['far', 'comment-alt']"/> {{ $t('timeline') }}</a>
|
||||||
@@ -315,10 +315,12 @@ export default Vue.extend({
|
|||||||
position -webkit-sticky
|
position -webkit-sticky
|
||||||
position sticky
|
position sticky
|
||||||
top 47px
|
top 47px
|
||||||
box-shadow 0 4px 4px var(--mobileUserPageHeaderShadow)
|
|
||||||
background-color $bg
|
background-color $bg
|
||||||
z-index 2
|
z-index 2
|
||||||
|
|
||||||
|
&.shadow
|
||||||
|
box-shadow 0 4px 4px var(--mobileUserPageHeaderShadow)
|
||||||
|
|
||||||
> .nav-container
|
> .nav-container
|
||||||
display flex
|
display flex
|
||||||
justify-content center
|
justify-content center
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
<div class="about">
|
<div class="about">
|
||||||
<h2>{{ name }}</h2>
|
<h2>{{ name }}</h2>
|
||||||
<p v-html="description || this.$t('@.about')"></p>
|
<p v-html="description || this.$t('@.about')"></p>
|
||||||
<router-link class="signup" to="/signup">{{ $t('signup') }}</router-link>
|
<router-link class="signup" to="/signup">{{ $t('@.signup') }}</router-link>
|
||||||
</div>
|
</div>
|
||||||
<div class="signin">
|
<div class="signin">
|
||||||
<a href="/signin" @click.prevent="signin()">{{ $t('signin') }}</a>
|
<a href="/signin" @click.prevent="signin()">{{ $t('@.signin') }}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="tl">
|
<div class="tl">
|
||||||
<mk-welcome-timeline/>
|
<mk-welcome-timeline/>
|
||||||
|
|||||||
@@ -17,8 +17,6 @@ const defaultSettings = {
|
|||||||
showPostFormOnTopOfTl: false,
|
showPostFormOnTopOfTl: false,
|
||||||
suggestRecentHashtags: true,
|
suggestRecentHashtags: true,
|
||||||
showClockOnHeader: true,
|
showClockOnHeader: true,
|
||||||
useShadow: true,
|
|
||||||
roundedCorners: false,
|
|
||||||
circleIcons: true,
|
circleIcons: true,
|
||||||
contrastedAcct: true,
|
contrastedAcct: true,
|
||||||
showFullAcct: false,
|
showFullAcct: false,
|
||||||
@@ -48,9 +46,11 @@ const defaultDeviceSettings = {
|
|||||||
deckMode: false,
|
deckMode: false,
|
||||||
deckColumnAlign: 'center',
|
deckColumnAlign: 'center',
|
||||||
deckColumnWidth: 'normal',
|
deckColumnWidth: 'normal',
|
||||||
|
useShadow: false,
|
||||||
|
roundedCorners: true,
|
||||||
reduceMotion: false,
|
reduceMotion: false,
|
||||||
autoPopout: false,
|
autoPopout: false,
|
||||||
darkmode: false,
|
darkmode: true,
|
||||||
darkTheme: 'dark',
|
darkTheme: 'dark',
|
||||||
lightTheme: 'light',
|
lightTheme: 'light',
|
||||||
lineWidth: 1,
|
lineWidth: 1,
|
||||||
|
|||||||
@@ -36,7 +36,14 @@ export const meta = {
|
|||||||
default: null as any,
|
default: null as any,
|
||||||
transform: transform,
|
transform: transform,
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: 'array',
|
||||||
|
items: {
|
||||||
|
type: 'DriveFolder',
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default define(meta, async (ps, user) => {
|
export default define(meta, async (ps, user) => {
|
||||||
|
|||||||
@@ -23,7 +23,14 @@ export const meta = {
|
|||||||
'ja-JP': 'フォルダID'
|
'ja-JP': 'フォルダID'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: 'array',
|
||||||
|
items: {
|
||||||
|
type: 'DriveFolder',
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default define(meta, async (ps, user) => {
|
export default define(meta, async (ps, user) => {
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ export const meta = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: 'DriveFolder',
|
||||||
|
},
|
||||||
|
|
||||||
errors: {
|
errors: {
|
||||||
noSuchFolder: {
|
noSuchFolder: {
|
||||||
message: 'No such folder.',
|
message: 'No such folder.',
|
||||||
|
|||||||
@@ -44,7 +44,14 @@ export const meta = {
|
|||||||
'-attachedRemoteUsers',
|
'-attachedRemoteUsers',
|
||||||
]),
|
]),
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: 'array',
|
||||||
|
items: {
|
||||||
|
type: 'Hashtag'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const sort: any = {
|
const sort: any = {
|
||||||
|
|||||||
@@ -35,7 +35,14 @@ export const meta = {
|
|||||||
'ja-JP': 'オフセット'
|
'ja-JP': 'オフセット'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: 'array',
|
||||||
|
items: {
|
||||||
|
type: 'string'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default define(meta, async (ps) => {
|
export default define(meta, async (ps) => {
|
||||||
|
|||||||
@@ -44,7 +44,14 @@ export const meta = {
|
|||||||
]),
|
]),
|
||||||
default: 'local'
|
default: 'local'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: 'array',
|
||||||
|
items: {
|
||||||
|
type: 'User'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const sort: any = {
|
const sort: any = {
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ export default define(meta, async (ps, user) => {
|
|||||||
await User.update({ _id: user._id }, {
|
await User.update({ _id: user._id }, {
|
||||||
$set: {
|
$set: {
|
||||||
isDeleted: true,
|
isDeleted: true,
|
||||||
token: null,
|
|
||||||
name: null,
|
name: null,
|
||||||
description: null,
|
description: null,
|
||||||
pinnedNoteIds: [],
|
pinnedNoteIds: [],
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export const meta = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default define(meta, async (ps, user) => {
|
export default define(meta, async (ps, user) => {
|
||||||
const day = 1000 * 60 * 60 * 24 * 2;
|
const day = 1000 * 60 * 60 * 24 * 3; // 3日前まで
|
||||||
|
|
||||||
const hideUserIds = await getHideUserIds(user);
|
const hideUserIds = await getHideUserIds(user);
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,13 @@ export const meta = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
res: {
|
||||||
|
type: 'array',
|
||||||
|
items: {
|
||||||
|
type: 'Reaction'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
errors: {
|
errors: {
|
||||||
noSuchNote: {
|
noSuchNote: {
|
||||||
message: 'No such note.',
|
message: 'No such note.',
|
||||||
|
|||||||
@@ -278,6 +278,46 @@ export const schemas = {
|
|||||||
required: ['id', 'createdAt', 'name', 'type', 'datasize', 'md5']
|
required: ['id', 'createdAt', 'name', 'type', 'datasize', 'md5']
|
||||||
},
|
},
|
||||||
|
|
||||||
|
DriveFolder: {
|
||||||
|
type: 'object',
|
||||||
|
properties: {
|
||||||
|
id: {
|
||||||
|
type: 'string',
|
||||||
|
format: 'id',
|
||||||
|
description: 'The unique identifier for this Drive folder.',
|
||||||
|
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||||||
|
},
|
||||||
|
createdAt: {
|
||||||
|
type: 'string',
|
||||||
|
format: 'date-time',
|
||||||
|
description: 'The date that the Drive folder was created.'
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
type: 'string',
|
||||||
|
description: 'The folder name.',
|
||||||
|
},
|
||||||
|
foldersCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'The count of child folders.',
|
||||||
|
},
|
||||||
|
filesCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'The count of child files.',
|
||||||
|
},
|
||||||
|
parentId: {
|
||||||
|
type: 'string',
|
||||||
|
format: 'id',
|
||||||
|
nullable: true,
|
||||||
|
description: 'The parent folder ID of this folder.',
|
||||||
|
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||||||
|
},
|
||||||
|
parent: {
|
||||||
|
$ref: '#/components/schemas/DriveFolder'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['id', 'createdAt', 'name']
|
||||||
|
},
|
||||||
|
|
||||||
Muting: {
|
Muting: {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
properties: {
|
properties: {
|
||||||
@@ -321,4 +361,86 @@ export const schemas = {
|
|||||||
},
|
},
|
||||||
required: ['id', 'createdAt', 'blockee']
|
required: ['id', 'createdAt', 'blockee']
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Reaction: {
|
||||||
|
type: 'object',
|
||||||
|
properties: {
|
||||||
|
id: {
|
||||||
|
type: 'string',
|
||||||
|
format: 'id',
|
||||||
|
description: 'The unique identifier for this reaction.',
|
||||||
|
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||||||
|
},
|
||||||
|
createdAt: {
|
||||||
|
type: 'string',
|
||||||
|
format: 'date-time',
|
||||||
|
description: 'The date that the reaction was created.'
|
||||||
|
},
|
||||||
|
user: {
|
||||||
|
$ref: '#/components/schemas/User',
|
||||||
|
description: 'User who performed this reaction.'
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: 'string',
|
||||||
|
enum: [
|
||||||
|
'like',
|
||||||
|
'love',
|
||||||
|
'laugh',
|
||||||
|
'hmm',
|
||||||
|
'surprise',
|
||||||
|
'congrats',
|
||||||
|
'angry',
|
||||||
|
'confused',
|
||||||
|
'rip',
|
||||||
|
'pudding'
|
||||||
|
],
|
||||||
|
description: 'The reaction type.'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['id', 'createdAt', 'user', 'type']
|
||||||
|
},
|
||||||
|
|
||||||
|
Hashtag: {
|
||||||
|
type: 'object',
|
||||||
|
properties: {
|
||||||
|
tag: {
|
||||||
|
type: 'string',
|
||||||
|
description: 'The hashtag name. No # prefixed.',
|
||||||
|
example: 'misskey',
|
||||||
|
},
|
||||||
|
mentionedUsersCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'Number of all users using this hashtag.'
|
||||||
|
},
|
||||||
|
mentionedLocalUsersCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'Number of local users using this hashtag.'
|
||||||
|
},
|
||||||
|
mentionedRemoteUsersCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'Number of remote users using this hashtag.'
|
||||||
|
},
|
||||||
|
attachedUsersCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'Number of all users who attached this hashtag to profile.'
|
||||||
|
},
|
||||||
|
attachedLocalUsersCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'Number of local users who attached this hashtag to profile.'
|
||||||
|
},
|
||||||
|
attachedRemoteUsersCount: {
|
||||||
|
type: 'number',
|
||||||
|
description: 'Number of remote users who attached this hashtag to profile.'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: [
|
||||||
|
'tag',
|
||||||
|
'mentionedUsersCount',
|
||||||
|
'mentionedLocalUsersCount',
|
||||||
|
'mentionedRemoteUsersCount',
|
||||||
|
'attachedUsersCount',
|
||||||
|
'attachedLocalUsersCount',
|
||||||
|
'attachedRemoteUsersCount',
|
||||||
|
]
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,10 +2,15 @@ import * as Koa from 'koa';
|
|||||||
import * as request from 'request-promise-native';
|
import * as request from 'request-promise-native';
|
||||||
import summaly from 'summaly';
|
import summaly from 'summaly';
|
||||||
import fetchMeta from '../../misc/fetch-meta';
|
import fetchMeta from '../../misc/fetch-meta';
|
||||||
|
import Logger from '../../misc/logger';
|
||||||
|
|
||||||
|
const logger = new Logger('url-preview');
|
||||||
|
|
||||||
module.exports = async (ctx: Koa.BaseContext) => {
|
module.exports = async (ctx: Koa.BaseContext) => {
|
||||||
const meta = await fetchMeta();
|
const meta = await fetchMeta();
|
||||||
|
|
||||||
|
logger.info(`Getting preview of ${ctx.query.url} ...`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const summary = meta.summalyProxy ? await request.get({
|
const summary = meta.summalyProxy ? await request.get({
|
||||||
url: meta.summalyProxy,
|
url: meta.summalyProxy,
|
||||||
@@ -17,6 +22,8 @@ module.exports = async (ctx: Koa.BaseContext) => {
|
|||||||
followRedirects: false
|
followRedirects: false
|
||||||
});
|
});
|
||||||
|
|
||||||
|
logger.succ(`Got preview of ${ctx.query.url}: ${summary.title}`);
|
||||||
|
|
||||||
summary.icon = wrap(summary.icon);
|
summary.icon = wrap(summary.icon);
|
||||||
summary.thumbnail = wrap(summary.thumbnail);
|
summary.thumbnail = wrap(summary.thumbnail);
|
||||||
|
|
||||||
@@ -25,6 +32,7 @@ module.exports = async (ctx: Koa.BaseContext) => {
|
|||||||
|
|
||||||
ctx.body = summary;
|
ctx.body = summary;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
logger.error(`Failed to get preview of ${ctx.query.url}: ${e}`);
|
||||||
ctx.status = 200;
|
ctx.status = 200;
|
||||||
ctx.set('Cache-Control', 'max-age=86400, immutable');
|
ctx.set('Cache-Control', 'max-age=86400, immutable');
|
||||||
ctx.body = '{}';
|
ctx.body = '{}';
|
||||||
|
|||||||
Reference in New Issue
Block a user