Compare commits
245 Commits
Author | SHA1 | Date | |
---|---|---|---|
d4c7ca76ac | |||
1a6aae944f | |||
71e0241c94 | |||
d838ef5b76 | |||
d90a5c9154 | |||
9b79a411e0 | |||
b8e0ec9edc | |||
57009057ae | |||
5db7b2e193 | |||
d994c84901 | |||
febfb97bb4 | |||
a6c5e62923 | |||
ac0390fec3 | |||
97b99867f2 | |||
a55d5516a6 | |||
b679163d01 | |||
76edcdbe45 | |||
d8d51519c4 | |||
3446969121 | |||
0e0c35a701 | |||
c9a6c9e20a | |||
3d2b982a94 | |||
6157d8331b | |||
3d0fc09fae | |||
b975751710 | |||
4530d40537 | |||
94e3ac9b72 | |||
e13fe97ebb | |||
4ad7632113 | |||
0709cac97f | |||
7dd4180fba | |||
558213490a | |||
78a69e3da8 | |||
140c78e5a7 | |||
a8e18e0e22 | |||
2a8bb23625 | |||
936a4d1bc4 | |||
69c34e8d00 | |||
1a2a190828 | |||
251cf1d76f | |||
52774bbe64 | |||
68a6758302 | |||
13e43a4f74 | |||
b7d62d09ec | |||
321ec18173 | |||
a44ac3306e | |||
951288ecf0 | |||
cc8a7dd588 | |||
813c52f51e | |||
be3298639d | |||
e8d2959717 | |||
e7680e08eb | |||
bd792d7661 | |||
4920983f23 | |||
2756f553c6 | |||
fc52e95ad0 | |||
5d1d6bc028 | |||
b106acac91 | |||
a5071db864 | |||
bae874eb45 | |||
60da17940d | |||
385eeed732 | |||
2e908758d8 | |||
a164f8ad95 | |||
372138dfea | |||
922a657c7e | |||
3409a51cca | |||
7174a55846 | |||
6656a59402 | |||
7612ead551 | |||
fa78fe665d | |||
c89aa7eb95 | |||
43f4c5b7cd | |||
2b6c566386 | |||
91ef328b6b | |||
5a9d9dc41d | |||
a48e503caa | |||
fe00cb9ad5 | |||
ed0fdaddbd | |||
893795a31d | |||
f1047f1ce5 | |||
9beddc941a | |||
3a6a01d2d6 | |||
e0e4bdbdbc | |||
b3daf79b6a | |||
81aa21915b | |||
5aadd80243 | |||
23350b1cbc | |||
daff0977cb | |||
c1e7d56ff8 | |||
61aef56f83 | |||
249f591403 | |||
36599c82d1 | |||
7615b1ea0a | |||
d8de9f8eba | |||
8c0e65ce6f | |||
9aa24c0552 | |||
47bf06f432 | |||
99d291c71b | |||
d51cafca74 | |||
7921f8cd43 | |||
1b8467d5e5 | |||
e13b2689b5 | |||
9c167acbd9 | |||
1bc531edbd | |||
b4d0db9202 | |||
bd2b681367 | |||
f0edf81cc4 | |||
e81ac05ba6 | |||
6279ce8f22 | |||
0fd20cf588 | |||
f2d55e7f60 | |||
963b0db3d3 | |||
aeca115a37 | |||
6f97142b59 | |||
b31d1ce61d | |||
b07cd37a16 | |||
69b74a46b9 | |||
882d829558 | |||
532821d503 | |||
522ce67498 | |||
0e046faf4a | |||
d9092dc81f | |||
92a4e90026 | |||
07dccad5b1 | |||
146b0d2889 | |||
388565fb10 | |||
da4ba51a74 | |||
1edcd136a4 | |||
9883c751da | |||
f78b28b995 | |||
54d40420ad | |||
ba1492f977 | |||
efd0368e56 | |||
a766a57af9 | |||
3bdd8a2d90 | |||
7ef1205f8b | |||
e8db63e788 | |||
0bcef2453c | |||
b9f549135c | |||
87b0017386 | |||
cc8ff556d4 | |||
021f74da54 | |||
f9389802d7 | |||
18dd172c97 | |||
1d5a54ff6f | |||
03e2c7eec6 | |||
0902727d1c | |||
496895634d | |||
9414e9e258 | |||
357528d139 | |||
c4efbdf4c7 | |||
fb4a921cd9 | |||
683b242215 | |||
a5660d6c82 | |||
f632ec50c1 | |||
a55d15214b | |||
f1709a2cc2 | |||
effa542958 | |||
e8bf742c87 | |||
2e6652edce | |||
230c204b48 | |||
3755c600b1 | |||
24513fc0a3 | |||
0a79a6564a | |||
562bb5842b | |||
ec3ca3032e | |||
890770c275 | |||
9ed58a1b4e | |||
08984be2fe | |||
e3ade148ca | |||
34c0eff89f | |||
40aba47a47 | |||
6736f51134 | |||
9d826d6e52 | |||
902d9bc7a5 | |||
b6c86e2845 | |||
34dffdfc8f | |||
a56f3f1d89 | |||
88dc4c83cb | |||
5a28dc0198 | |||
40d2650d49 | |||
545e83efb1 | |||
d4b00a5482 | |||
c2b1bbeec5 | |||
8c8f165a6e | |||
04553de230 | |||
2776934728 | |||
0064dbb010 | |||
d52e671adf | |||
6017dc2dff | |||
937f7cbd60 | |||
f8b3f66904 | |||
9d5701f35a | |||
dff65810c6 | |||
6752cf1d64 | |||
8336910a59 | |||
957a1149e0 | |||
e8719ff6e6 | |||
28b63298e5 | |||
dd4dee8095 | |||
c47818fed4 | |||
e53c383908 | |||
55c9c0436b | |||
66b79e5e24 | |||
514b830910 | |||
e4f799bf1d | |||
b383427d3d | |||
e969518139 | |||
113fe294bd | |||
a4d92f781f | |||
414cac49c3 | |||
95b157ac3e | |||
8e3d884081 | |||
9def6fcadd | |||
7837bd44fc | |||
a6c3663155 | |||
0b5afadbb8 | |||
43864f0da4 | |||
6a0d9d70ed | |||
63c6dce68e | |||
53422ffcb2 | |||
38ca514f53 | |||
caea0f0376 | |||
25a8b26977 | |||
bcaefe8d62 | |||
46f1e8c599 | |||
16230f320e | |||
ace6419aef | |||
77fb9eb2be | |||
aa7fc7c893 | |||
8fc170109f | |||
ad12d00d7e | |||
fa5ea45726 | |||
4b6c113251 | |||
3548290ff2 | |||
b165b90c40 | |||
4ffe9c908b | |||
a135f75e71 | |||
cbc61ba03d | |||
5aa58da918 | |||
b083430011 | |||
a8946b0404 | |||
0303bccc61 | |||
f3ce8564ea |
@ -16,19 +16,8 @@ executors:
|
|||||||
working_directory: /tmp/workspace
|
working_directory: /tmp/workspace
|
||||||
docker:
|
docker:
|
||||||
- image: docker:latest
|
- image: docker:latest
|
||||||
alpine:
|
|
||||||
working_directory: /tmp/workspace
|
|
||||||
docker:
|
|
||||||
- image: alpine:latest
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ok:
|
|
||||||
executor: alpine
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: OK
|
|
||||||
command: |
|
|
||||||
echo -e '\033[0;32mOK\033[0;39m'
|
|
||||||
build:
|
build:
|
||||||
executor: default
|
executor: default
|
||||||
steps:
|
steps:
|
||||||
@ -64,8 +53,6 @@ jobs:
|
|||||||
key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
|
key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
|
||||||
paths:
|
paths:
|
||||||
- node_modules
|
- node_modules
|
||||||
# - store_artifacts:
|
|
||||||
# path: built
|
|
||||||
- persist_to_workspace:
|
- persist_to_workspace:
|
||||||
root: .
|
root: .
|
||||||
paths:
|
paths:
|
||||||
@ -134,58 +121,73 @@ workflows:
|
|||||||
version: 2
|
version: 2
|
||||||
nodejs:
|
nodejs:
|
||||||
jobs:
|
jobs:
|
||||||
- ok:
|
- hold:
|
||||||
|
name: manual-build-trigger
|
||||||
|
type: approval
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
ignore: master
|
||||||
- l10n_develop
|
|
||||||
- imgbot
|
|
||||||
- patch-autogen
|
|
||||||
- build:
|
- build:
|
||||||
|
name: manual-build
|
||||||
|
requires:
|
||||||
|
- manual-build-trigger
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
ignore:
|
ignore: master
|
||||||
- l10n_develop
|
- build:
|
||||||
- imgbot
|
name: auto-build
|
||||||
- patch-autogen
|
filters:
|
||||||
|
branches:
|
||||||
|
only: master
|
||||||
- test:
|
- test:
|
||||||
|
name: manual-test-with-redis
|
||||||
executor: with-redis
|
executor: with-redis
|
||||||
requires:
|
requires:
|
||||||
- build
|
- manual-build
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
ignore:
|
ignore: master
|
||||||
# - master
|
|
||||||
- l10n_develop
|
|
||||||
- imgbot
|
|
||||||
- patch-autogen
|
|
||||||
- test:
|
- test:
|
||||||
|
name: auto-test-without-redis
|
||||||
|
executor: with-redis
|
||||||
|
requires:
|
||||||
|
- auto-build
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: master
|
||||||
|
- test:
|
||||||
|
name: manual-test-with-redis
|
||||||
without_redis: true
|
without_redis: true
|
||||||
requires:
|
requires:
|
||||||
- build
|
- manual-build
|
||||||
filters:
|
filters:
|
||||||
# branches:
|
|
||||||
# only: master
|
|
||||||
branches:
|
branches:
|
||||||
ignore:
|
ignore: master
|
||||||
# - master
|
- test:
|
||||||
- l10n_develop
|
name: auto-test-without-redis
|
||||||
- imgbot
|
without_redis: true
|
||||||
- patch-autogen
|
requires:
|
||||||
|
- auto-build
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: master
|
||||||
docker:
|
docker:
|
||||||
jobs:
|
jobs:
|
||||||
- hold:
|
- hold:
|
||||||
|
name: manual-build-trigger
|
||||||
type: approval
|
type: approval
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
ignore: master
|
ignore: master
|
||||||
- docker:
|
- docker:
|
||||||
|
name: manual-build
|
||||||
requires:
|
requires:
|
||||||
- hold
|
- manual-build-trigger
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
ignore: master
|
ignore: master
|
||||||
- docker:
|
- docker:
|
||||||
|
name: auto-build
|
||||||
with_deploy: true
|
with_deploy: true
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
|
111
CHANGELOG.md
111
CHANGELOG.md
@ -1,6 +1,117 @@
|
|||||||
ChangeLog
|
ChangeLog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
10.89.1
|
||||||
|
----------
|
||||||
|
* リアクション数を表示するように
|
||||||
|
* モバイル版でドライブのフォルダを削除できるように
|
||||||
|
* ドキュメントの強化
|
||||||
|
* プロフィールが更新できない場合がある問題を修正
|
||||||
|
* UIの修正
|
||||||
|
|
||||||
|
10.89.0
|
||||||
|
----------
|
||||||
|
* APIのエラーの形式を統一
|
||||||
|
* APIドキュメント刷新
|
||||||
|
* /api/v1/instance/peers 復活
|
||||||
|
* 「返信が遷移後も残り続ける問題を修正」([9beddc9](https://github.com/syuilo/misskey/commit/9beddc941a716f1322ae0b7d71d159edd642a399)) によって遷移前に返信が表示されなくなった問題を修正
|
||||||
|
* デッキモードにてユーザーのプロフィールを連続で見たとき、アクティビティや画像が前のユーザーのもののまま表示される問題を修正
|
||||||
|
|
||||||
|
10.88.0
|
||||||
|
----------
|
||||||
|
* アカウントの削除を試験的に実装
|
||||||
|
* デッキでメディア投稿のみ表示するオプションが機能していない問題を修正
|
||||||
|
* デッキでユーザーを表示したときにタイムラインが残存する問題を修正
|
||||||
|
* モバイルのユーザーページで、ユーザーAのタイムラインから他のユーザーBを選択してユーザーBのタイムラインに移動したとき、ユーザーAのタイムラインが残る問題を修正
|
||||||
|
* ハイライトでミュートしているユーザーの投稿が含まれる問題を修正
|
||||||
|
* 「みつける」でミュートしているユーザーが含まれる問題を修正
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.87.5
|
||||||
|
----------
|
||||||
|
* モバイル版でも連携サービスを表示するように
|
||||||
|
* webfingerのacceptが反映されない問題を修正
|
||||||
|
* 返信が遷移後も残り続ける問題を修正
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.87.4
|
||||||
|
----------
|
||||||
|
* フォローリクエストを許可するときにエラーになる問題を修正
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.87.3
|
||||||
|
----------
|
||||||
|
* 開発モードでビルドしてもスクリプトが404になる問題を修正
|
||||||
|
* 拡張子判別だとアイコンやバナー設定で対応していないと表示される問題を修正
|
||||||
|
* フォローリクエスト数がおかしい場合の応急処置APIを追加
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.87.2
|
||||||
|
----------
|
||||||
|
* みつけるの人気のタグを第2ソートで連合含めたユーザー数にしたりユーザーのタグ以外は除外するように
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.87.1
|
||||||
|
----------
|
||||||
|
* ハッシュタグ検索で大文字小文字が区別されてしまう問題を修正
|
||||||
|
|
||||||
|
10.87.0
|
||||||
|
----------
|
||||||
|
* ハッシュタグでユーザー検索できるように
|
||||||
|
* Exploreページに新規ユーザー一覧を追加
|
||||||
|
* デッキ使用中にホーム扱いで開かれた時にタイムラインボタン等がない問題を修正
|
||||||
|
* デッキ使用中に / 以外でリロードした際にホームモードになる問題を修正
|
||||||
|
|
||||||
|
10.86.2
|
||||||
|
----------
|
||||||
|
* 別タブでルートより下を開いたときにはデッキにしないように
|
||||||
|
* 横のナビゲーションバーの改善
|
||||||
|
* MIDIファイルがオーディオ扱いになる問題を修正
|
||||||
|
* ミュートワードで正規表現を使えるように
|
||||||
|
* デッキで無効になったタイムラインに警告を表示するように
|
||||||
|
* デザインの調整
|
||||||
|
* その他細かな修正
|
||||||
|
|
||||||
|
10.86.1
|
||||||
|
----------
|
||||||
|
* ナビゲーションバーの「ホーム」を「タイムライン」に改称
|
||||||
|
* モバイル版でユーザーページが二重に描画される問題を修正
|
||||||
|
* ユーザー一覧の「もっと読み込む」の動作がおかしい問題を修正
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.86.0
|
||||||
|
----------
|
||||||
|
* Exploreページを実装
|
||||||
|
* UIを改良
|
||||||
|
* その他細かな修正
|
||||||
|
|
||||||
|
10.85.2
|
||||||
|
----------
|
||||||
|
* デッキから フォロー/フォロワー ページに行けるように
|
||||||
|
* ナビゲーションが発生したときに最上部までスクロールように
|
||||||
|
* 検索結果でページ遷移が発生する問題を修正
|
||||||
|
* デザインの調整
|
||||||
|
|
||||||
|
10.85.1
|
||||||
|
----------
|
||||||
|
* ローカルのみ投稿をログイン画面のタイムラインに表示しないように
|
||||||
|
* ナビゲーションバーを横にしてるとデッキに行けない問題を修正
|
||||||
|
|
||||||
|
10.85.0
|
||||||
|
----------
|
||||||
|
* デスクトップ版のUIを改良
|
||||||
|
* 投稿ハイライトページを実装
|
||||||
|
* 無効化されているタイムラインのフォールバック
|
||||||
|
* 既にフォローされている場合はフォローリクエストを生成しないように
|
||||||
|
* その他細かな修正
|
||||||
|
|
||||||
|
10.84.2
|
||||||
|
----------
|
||||||
|
* GIF画像にGIFバッジを表示
|
||||||
|
* よく話すユーザーからサスペンドされたユーザーを隠すなど
|
||||||
|
* nodeinfoが重い問題を修正
|
||||||
|
* ハッシュタグクラウド取得が重い問題を軽減
|
||||||
|
|
||||||
10.84.1
|
10.84.1
|
||||||
----------
|
----------
|
||||||
* deckにフォローされていますマークを追加
|
* deckにフォローされていますマークを追加
|
||||||
|
@ -8,7 +8,6 @@ WORKDIR /misskey
|
|||||||
|
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
|
|
||||||
RUN unlink /usr/bin/free
|
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
@ -20,7 +19,6 @@ RUN apk add --no-cache \
|
|||||||
make \
|
make \
|
||||||
nasm \
|
nasm \
|
||||||
pkgconfig \
|
pkgconfig \
|
||||||
procps \
|
|
||||||
python \
|
python \
|
||||||
zlib-dev
|
zlib-dev
|
||||||
RUN npm i -g yarn
|
RUN npm i -g yarn
|
||||||
@ -34,6 +32,7 @@ FROM base AS runner
|
|||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
tini
|
tini
|
||||||
|
RUN npm i -g web-push
|
||||||
ENTRYPOINT ["/sbin/tini", "--"]
|
ENTRYPOINT ["/sbin/tini", "--"]
|
||||||
|
|
||||||
COPY --from=builder /misskey/node_modules ./node_modules
|
COPY --from=builder /misskey/node_modules ./node_modules
|
||||||
|
18
README.md
18
README.md
@ -61,6 +61,14 @@ Organize and store your files! Want to post a picture you have already uploaded?
|
|||||||
|
|
||||||
...and more! Experience Misskey with your own eyes at [misskey.xyz](https://misskey.xyz) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
|
...and more! Experience Misskey with your own eyes at [misskey.xyz](https://misskey.xyz) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
|
||||||
|
|
||||||
|
Screen shots
|
||||||
|
----------------------------------------------------------------
|
||||||
|
### Profile page
|
||||||
|
<img src="/assets/ss/user.jpg" width="500px"/>
|
||||||
|
|
||||||
|
### Explore users
|
||||||
|
<img src="/assets/ss/explore.jpg" width="500px"/>
|
||||||
|
|
||||||
:new: What's new
|
:new: What's new
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
Please see the [Release notes](./CHANGELOG.md).
|
Please see the [Release notes](./CHANGELOG.md).
|
||||||
@ -94,19 +102,17 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<!-- PATREON_START -->
|
<!-- PATREON_START -->
|
||||||
<table><tr>
|
<table><tr>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/1?token-time=2145916800&token-hash=WeuDzzz24cRXJogyIkU-mxARqkdyms-rcZKbO-GpGjw%3D" alt="weep" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/1?token-time=2145916800&token-hash=WeuDzzz24cRXJogyIkU-mxARqkdyms-rcZKbO-GpGjw%3D" alt="weep" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=prtYqPOiSHBulhM7NU0VzMaWx39-9ntdq25b6kafDNA%3D" alt="negao" width="100"></td>
|
<td><img src="https://c8.patreon.com/2/200/12059069" alt="naga_rus" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/3?token-time=2145916800&token-hash=c8HeVqLtmdgH-gSBJg8i10gmOcwllM87MDHeznl3el0%3D" alt="Melilot" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/3?token-time=2145916800&token-hash=c8HeVqLtmdgH-gSBJg8i10gmOcwllM87MDHeznl3el0%3D" alt="Melilot" width="100"></td>
|
||||||
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
|
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=LtV2lRi3L2jOWMLwccr9qWYfPrFlzIo2jYZHKzHEb6k%3D" alt="Xeltica" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=LtV2lRi3L2jOWMLwccr9qWYfPrFlzIo2jYZHKzHEb6k%3D" alt="Xeltica" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=Ch3iF81ZGP0LMo894Y9ajpLisgtE91SnxtZE7fxsgrM%3D" alt="べすれい" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=1FlxS9MEgmNGH_RHUVHbO5hIXB5I1z0lvA33CTvYvjA%3D" alt="gutfuckllc" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=1FlxS9MEgmNGH_RHUVHbO5hIXB5I1z0lvA33CTvYvjA%3D" alt="gutfuckllc" width="100"></td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
|
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
|
||||||
<td><a href="https://www.patreon.com/negao">negao</a></td>
|
<td><a href="https://www.patreon.com/user?u=12059069">naga_rus</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
|
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
|
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
|
||||||
<td><a href="https://www.patreon.com/Xeltica">Xeltica</a></td>
|
<td><a href="https://www.patreon.com/Xeltica">Xeltica</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=3384329">べすれい</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
|
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<table><tr>
|
<table><tr>
|
||||||
@ -115,6 +121,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<td><img src="https://c8.patreon.com/2/200/16542964" alt="Takumi Sugita" width="100"></td>
|
<td><img src="https://c8.patreon.com/2/200/16542964" alt="Takumi Sugita" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=2PsbFNw0tnubZzgSXD01R6hIgncfiElG7H7HX2Y3dyo%3D" alt="nemu" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=2PsbFNw0tnubZzgSXD01R6hIgncfiElG7H7HX2Y3dyo%3D" alt="nemu" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=9JtETp0X8gI280Ne1E8bxn6j4Lw5o2k4mJkICx97V_k%3D" alt="YUKIMOCHI" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=9JtETp0X8gI280Ne1E8bxn6j4Lw5o2k4mJkICx97V_k%3D" alt="YUKIMOCHI" width="100"></td>
|
||||||
|
<td><img src="https://c8.patreon.com/2/200/17463605" alt="Sampot" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17195955/be45e5e14c3e48b2bee0456c84e19df4/4?token-time=2145916800&token-hash=SbdZeN5SmsuT9stD6v0jN1z0hftg0FmRiCTxysU0Ihw%3D" alt="Damillora" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17195955/be45e5e14c3e48b2bee0456c84e19df4/4?token-time=2145916800&token-hash=SbdZeN5SmsuT9stD6v0jN1z0hftg0FmRiCTxysU0Ihw%3D" alt="Damillora" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/3?token-time=2145916800&token-hash=gMq30aylxu5v3G8pRhWR5jeRBbYWEoRKjGbNeiCQz5g%3D" alt="Acid Chicken" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/3?token-time=2145916800&token-hash=gMq30aylxu5v3G8pRhWR5jeRBbYWEoRKjGbNeiCQz5g%3D" alt="Acid Chicken" width="100"></td>
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/2?token-time=2145916800&token-hash=zcwFxb2zopzWwksKVU1YpfAEjsl4yKT02aQ6yiAFRiQ%3D" alt="natalie" width="100"></td>
|
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/2?token-time=2145916800&token-hash=zcwFxb2zopzWwksKVU1YpfAEjsl4yKT02aQ6yiAFRiQ%3D" alt="natalie" width="100"></td>
|
||||||
@ -125,6 +132,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<td><a href="https://www.patreon.com/user?u=16542964">Takumi Sugita</a></td>
|
<td><a href="https://www.patreon.com/user?u=16542964">Takumi Sugita</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
|
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
|
||||||
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
|
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
|
||||||
|
<td><a href="https://www.patreon.com/user?u=17463605">Sampot</a></td>
|
||||||
<td><a href="https://www.patreon.com/damillora">Damillora</a></td>
|
<td><a href="https://www.patreon.com/damillora">Damillora</a></td>
|
||||||
<td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td>
|
<td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td>
|
||||||
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
|
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
|
||||||
@ -142,7 +150,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
|||||||
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
|
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|
||||||
**Last updated:** Wed, 06 Feb 2019 18:18:05 UTC
|
**Last updated:** Thu, 21 Feb 2019 16:10:06 UTC
|
||||||
<!-- PATREON_END -->
|
<!-- PATREON_END -->
|
||||||
|
|
||||||
:four_leaf_clover: Copyright
|
:four_leaf_clover: Copyright
|
||||||
|
BIN
assets/api-doc.png
Normal file
BIN
assets/api-doc.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
BIN
assets/ss/explore.jpg
Normal file
BIN
assets/ss/explore.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 238 KiB |
BIN
assets/ss/user.jpg
Normal file
BIN
assets/ss/user.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 148 KiB |
@ -55,14 +55,9 @@ As root:
|
|||||||
*6.* Build Misskey
|
*6.* Build Misskey
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
Before build, you need to set `NODE_ENV` to `production`. like this:
|
|
||||||
* Linux: `export NODE_ENV=production`
|
|
||||||
* Windows (PowerShell): `$env:NODE_ENV="production"`
|
|
||||||
* Windows (CMD): `set NODE_ENV=production`
|
|
||||||
|
|
||||||
Build misskey with the following:
|
Build misskey with the following:
|
||||||
|
|
||||||
`npm run build`
|
`NODE_ENV=production npm run build`
|
||||||
|
|
||||||
If you're on Debian, you will need to install the `build-essential`, `python` package.
|
If you're on Debian, you will need to install the `build-essential`, `python` package.
|
||||||
|
|
||||||
@ -71,14 +66,14 @@ If you're still encountering errors about some modules, use node-gyp:
|
|||||||
1. `npm install -g node-gyp`
|
1. `npm install -g node-gyp`
|
||||||
2. `node-gyp configure`
|
2. `node-gyp configure`
|
||||||
3. `node-gyp build`
|
3. `node-gyp build`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
|
|
||||||
*7.* That is it.
|
*7.* That is it.
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
Well done! Now, you have an environment that run to Misskey.
|
Well done! Now, you have an environment that run to Misskey.
|
||||||
|
|
||||||
### Launch normally
|
### Launch normally
|
||||||
Just `npm start`. GLHF!
|
Just `NODE_ENV=production npm start`. GLHF!
|
||||||
|
|
||||||
### Launch with systemd
|
### Launch with systemd
|
||||||
|
|
||||||
@ -94,6 +89,7 @@ Type=simple
|
|||||||
User=misskey
|
User=misskey
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/npm start
|
||||||
WorkingDirectory=/home/misskey/misskey
|
WorkingDirectory=/home/misskey/misskey
|
||||||
|
Environment="NODE_ENV=production"
|
||||||
TimeoutSec=60
|
TimeoutSec=60
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
StandardError=syslog
|
StandardError=syslog
|
||||||
@ -113,7 +109,7 @@ You can check if the service is running with `systemctl status misskey`.
|
|||||||
1. `git fetch`
|
1. `git fetch`
|
||||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||||
3. `npm install`
|
3. `npm install`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
5. Check [ChangeLog](../CHANGELOG.md) for migration information
|
5. Check [ChangeLog](../CHANGELOG.md) for migration information
|
||||||
6. Restart your Misskey process to apply changes
|
6. Restart your Misskey process to apply changes
|
||||||
7. Enjoy
|
7. Enjoy
|
||||||
|
@ -57,7 +57,7 @@ En root :
|
|||||||
|
|
||||||
Construisez Misskey comme ceci :
|
Construisez Misskey comme ceci :
|
||||||
|
|
||||||
`npm run build`
|
`NODE_ENV=production npm run build`
|
||||||
|
|
||||||
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
|
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
|
||||||
|
|
||||||
@ -66,14 +66,14 @@ Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp:
|
|||||||
1. `npm install -g node-gyp`
|
1. `npm install -g node-gyp`
|
||||||
2. `node-gyp configure`
|
2. `node-gyp configure`
|
||||||
3. `node-gyp build`
|
3. `node-gyp build`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
|
|
||||||
*7.* C'est tout.
|
*7.* C'est tout.
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
|
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
|
||||||
|
|
||||||
### Lancement conventionnel
|
### Lancement conventionnel
|
||||||
Lancez tout simplement `npm start`. Bonne chance et amusez-vous bien !
|
Lancez tout simplement `NODE_ENV=production npm start`. Bonne chance et amusez-vous bien !
|
||||||
|
|
||||||
### Démarrage avec systemd
|
### Démarrage avec systemd
|
||||||
|
|
||||||
@ -89,6 +89,7 @@ Type=simple
|
|||||||
User=misskey
|
User=misskey
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/npm start
|
||||||
WorkingDirectory=/home/misskey/misskey
|
WorkingDirectory=/home/misskey/misskey
|
||||||
|
Environment="NODE_ENV=production"
|
||||||
TimeoutSec=60
|
TimeoutSec=60
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
StandardError=syslog
|
StandardError=syslog
|
||||||
@ -108,7 +109,7 @@ Vous pouvez vérifier si le service a démarré en utilisant la commande `system
|
|||||||
1. `git fetch`
|
1. `git fetch`
|
||||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||||
3. `npm install`
|
3. `npm install`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
|
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
|
||||||
|
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
@ -62,14 +62,9 @@ adduser --disabled-password --disabled-login misskey
|
|||||||
*6.* Misskeyのビルド
|
*6.* Misskeyのビルド
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
ビルドする前に、`NODE_ENV`を`production`にする必要があります。例:
|
|
||||||
* Linux: `export NODE_ENV=production`
|
|
||||||
* Windows (PowerShell): `$env:NODE_ENV="production"`
|
|
||||||
* Windows (CMD): `set NODE_ENV=production`
|
|
||||||
|
|
||||||
次のコマンドでMisskeyをビルドしてください:
|
次のコマンドでMisskeyをビルドしてください:
|
||||||
|
|
||||||
`npm run build`
|
`NODE_ENV=production npm run build`
|
||||||
|
|
||||||
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
||||||
|
|
||||||
@ -77,14 +72,14 @@ Debianをお使いであれば、`build-essential`パッケージをインスト
|
|||||||
1. `npm install -g node-gyp`
|
1. `npm install -g node-gyp`
|
||||||
2. `node-gyp configure`
|
2. `node-gyp configure`
|
||||||
3. `node-gyp build`
|
3. `node-gyp build`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
|
|
||||||
*7.* 以上です!
|
*7.* 以上です!
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
||||||
|
|
||||||
### 通常起動
|
### 通常起動
|
||||||
`npm start`するだけです。GLHF!
|
`NODE_ENV=production npm start`するだけです。GLHF!
|
||||||
|
|
||||||
### systemdを用いた起動
|
### systemdを用いた起動
|
||||||
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
|
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
|
||||||
@ -99,6 +94,7 @@ Type=simple
|
|||||||
User=misskey
|
User=misskey
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/npm start
|
||||||
WorkingDirectory=/home/misskey/misskey
|
WorkingDirectory=/home/misskey/misskey
|
||||||
|
Environment="NODE_ENV=production"
|
||||||
TimeoutSec=60
|
TimeoutSec=60
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
StandardError=syslog
|
StandardError=syslog
|
||||||
@ -119,9 +115,11 @@ CentOSで1024以下のポートを使用してMisskeyを使用する場合は`Ex
|
|||||||
1. `git fetch`
|
1. `git fetch`
|
||||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||||
3. `npm install`
|
3. `npm install`
|
||||||
4. `npm run build`
|
4. `NODE_ENV=production npm run build`
|
||||||
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
||||||
|
|
||||||
|
なにか問題が発生した場合は、`npm run clean`すると直る場合があります。
|
||||||
|
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
なにかお困りのことがありましたらお気軽にご連絡ください。
|
なにかお困りのことがありましたらお気軽にご連絡ください。
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "日"
|
sunday: "日"
|
||||||
monday: "月"
|
monday: "月"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "アプリケーションに戻って、やっていってください。"
|
please-go-back: "アプリケーションに戻って、やっていってください。"
|
||||||
error: "セッションが存在しません。"
|
error: "セッションが存在しません。"
|
||||||
sign-in: "サインインしてください"
|
sign-in: "サインインしてください"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っています"
|
waiting-for: "{}を待っています"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} のフォロー"
|
following: "{} のフォロー"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "フォロー中のユーザーはいないようです。"
|
empty: "フォロー中のユーザーはいないようです。"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー:"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "リバーシ"
|
game: "リバーシ"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "ウィンドウの自動ポップアウト"
|
auto-popout: "ウィンドウの自動ポップアウト"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "デザインと表示"
|
display: "デザインと表示"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "お気に入り"
|
favorites: "お気に入り"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "ホームのカスタマイズ"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
dark: "闇に飲まれる"
|
dark: "闇に飲まれる"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "ホーム"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "通知"
|
title: "通知"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームのカスタマイズ"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "フォト"
|
title: "フォト"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知り合い"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
keywords: "キーワード"
|
keywords: "キーワード"
|
||||||
domains: "頻出ドメイン"
|
domains: "頻出ドメイン"
|
||||||
frequently-replied-users: "よく会話するユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "Mehr laden"
|
load-more: "Mehr laden"
|
||||||
enter-password: "Bitte Passwort eingeben"
|
enter-password: "Bitte Passwort eingeben"
|
||||||
2fa: "Zwei-Faktor-Authentifizierung"
|
2fa: "Zwei-Faktor-Authentifizierung"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "Verstanden!"
|
got-it: "Verstanden!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Anpassung-Tipps"
|
title: "Anpassung-Tipps"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Papierkorb"
|
trash: "Papierkorb"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Unterhaltungen"
|
messaging: "Unterhaltungen"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "So"
|
sunday: "So"
|
||||||
monday: "Mo"
|
monday: "Mo"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "Erneut versuchen"
|
retry: "Erneut versuchen"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "Bitte gehe zurück zur Anwendung."
|
please-go-back: "Bitte gehe zurück zur Anwendung."
|
||||||
error: "Sitzung ist nicht vorhanden."
|
error: "Sitzung ist nicht vorhanden."
|
||||||
sign-in: "Bitte melde dich an."
|
sign-in: "Bitte melde dich an."
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "Warten auf {}"
|
waiting-for: "Warten auf {}"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} のフォロー"
|
following: "{} のフォロー"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "Du folgst niemanden"
|
empty: "Du folgst niemanden"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "Wem folgen?"
|
|
||||||
empty: "Der ausgewählte Benutzer konnte nicht gefunden werden."
|
|
||||||
fetching: "Lade…"
|
|
||||||
refresh: "Mehr"
|
|
||||||
close: "Schließen"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "リバーシ"
|
game: "リバーシ"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "Automatische Pop-out Fenster"
|
auto-popout: "Automatische Pop-out Fenster"
|
||||||
auto-popout-desc: "Pop-out ein offenes Fenster wenn möglich. Diese Einstellung wird im Browser gespeichert."
|
auto-popout-desc: "Pop-out ein offenes Fenster wenn möglich. Diese Einstellung wird im Browser gespeichert."
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "Erscheinungsbild und Anzeige"
|
display: "Erscheinungsbild und Anzeige"
|
||||||
customize: "Startseite anpassen"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "Favoriten"
|
favorites: "Favoriten"
|
||||||
lists: "Listen"
|
lists: "Listen"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "ホームのカスタマイズ"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "Einstellungen"
|
settings: "Einstellungen"
|
||||||
signout: "Ausloggen"
|
signout: "Ausloggen"
|
||||||
dark: "Verdunkeln"
|
dark: "Verdunkeln"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "Home"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "Spielen"
|
game: "Spielen"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "Benachrichtigungen"
|
title: "Benachrichtigungen"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームのカスタマイズ"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "Vorheriger Kommentar"
|
prev: "Vorheriger Kommentar"
|
||||||
next: "Nächster Kommentar"
|
next: "Nächster Kommentar"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "フォト"
|
title: "フォト"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "Lade…"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知り合い"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favoriten"
|
title: "Favoriten"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
keywords: "Schlagwörter"
|
keywords: "Schlagwörter"
|
||||||
domains: "頻出ドメイン"
|
domains: "頻出ドメイン"
|
||||||
frequently-replied-users: "よく会話するユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -8,14 +8,14 @@ common:
|
|||||||
about: "Thank you for finding Misskey. Misskey is a <b>decentralized microblogging platform</b> born on Earth. Since it exists within the Fediverse (a universe where various social media platforms are organized), it is mutually linked with other social media platforms. Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet?"
|
about: "Thank you for finding Misskey. Misskey is a <b>decentralized microblogging platform</b> born on Earth. Since it exists within the Fediverse (a universe where various social media platforms are organized), it is mutually linked with other social media platforms. Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet?"
|
||||||
intro:
|
intro:
|
||||||
title: "What is Misskey?"
|
title: "What is Misskey?"
|
||||||
about: "Misskey is an open-source, <b>decentralized microblogging service</b>. Sophisticated, fully customizable UI, varieties of reactions for posts, free file storage providing an integrated management system and other advanced features are available. In addition, Misskey connects to a network system called the “Fediverse”, that enables us to communicate with users on other SNSs. For example, when you post something, it will be sent not only to Misskey, but also to Mastodon, Osada and Pleroma. Just imagine that the planet is sending a radio transmission to another planet to communicate."
|
about: "Misskey is an open-source, <b>decentralized microblogging software</b>. It has a sophisticated, fully customizable user interface, a variety of ways for expressing a reaction to posts, free file storage providing an integrated management system, and other advanced features are available. In addition, Misskey connects to a network system called the “Fediverse”, which enables us to communicate with users on other SNSs. For example, when you post something, it will be sent not only to Misskey users, but also those on Mastodon and Pleroma. Just imagine that the planet is sending a radio transmission to another planet, in order to communicate."
|
||||||
features: "Features"
|
features: "Features"
|
||||||
rich-contents: "Post"
|
rich-contents: "Post"
|
||||||
rich-contents-desc: "Just post your idea, hot topics, and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files, including videos, or create a poll - those are some of the things you can do with Misskey!"
|
rich-contents-desc: "Just post your idea, hot topics, and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files, including videos, or create a poll - those are some of the things you can do with Misskey!"
|
||||||
reaction: "Reactions"
|
reaction: "Reactions"
|
||||||
reaction-desc: "Easiest way to tell your emotions. Misskey allows you to add various type of reactions to other’s post. The emotional experience on Misskey will never be on other SNSs which only able to push “likes”."
|
reaction-desc: "The easiest way to express your emotions. Misskey allows you to add various kinds of reactions to other's posts. The emotional experience on Misskey will never be on other SNSs, which are only able to push “likes”."
|
||||||
ui: "Interface"
|
ui: "Interface"
|
||||||
ui-desc: "No UI fits for everyone. Therefore, Misskey has a highly customizable UI for your taste. Make your original home by editing, adjusting layouts of timeline and placing selectable widgets you can easily customize."
|
ui-desc: "No single UI can suit everyone. Therefore, Misskey has a highly customizable UI for your tastes. You can make your home original by editing the layout of your timeline, and moving around selectable widgets that you can easily adjust to make this place your own."
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online."
|
drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online."
|
||||||
outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!"
|
outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!"
|
||||||
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "Load more"
|
load-more: "Load more"
|
||||||
enter-password: "Please enter the Password"
|
enter-password: "Please enter the Password"
|
||||||
2fa: "Two-factor authentication"
|
2fa: "Two-factor authentication"
|
||||||
|
customize-home: "Customize home layout"
|
||||||
|
featured-notes: "Featured notes"
|
||||||
got-it: "Got it!"
|
got-it: "Got it!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Customization tips"
|
title: "Customization tips"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Trash"
|
trash: "Trash"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Talk"
|
messaging: "Talk"
|
||||||
|
home: "Home"
|
||||||
|
deck: "Deck"
|
||||||
|
timeline: "Timeline"
|
||||||
|
explore: "Explore"
|
||||||
|
following: "Following"
|
||||||
|
followers: "Followers"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "Following users will show their posts in your timeline."
|
||||||
|
explore: "Find users"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "S"
|
sunday: "S"
|
||||||
monday: "M"
|
monday: "M"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "These post contents are mirrored."
|
is-remote-post: "These post contents are mirrored."
|
||||||
view-on-remote: "For completion, view it remotely."
|
view-on-remote: "For completion, view it remotely."
|
||||||
renoted-by: "Renoted by {user}"
|
renoted-by: "Renoted by {user}"
|
||||||
|
no-notes: "Without any notes"
|
||||||
error:
|
error:
|
||||||
title: "Something happened :("
|
title: "Something happened :("
|
||||||
retry: "Retry"
|
retry: "Retry"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "Please go back to the application."
|
please-go-back: "Please go back to the application."
|
||||||
error: "Session does not exist."
|
error: "Session does not exist."
|
||||||
sign-in: "Please sign in."
|
sign-in: "Please sign in."
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "Verified accounts"
|
||||||
|
popular-users: "Popular users"
|
||||||
|
recently-updated-users: "Recently active users"
|
||||||
|
recently-registered-users: "Users who joined recently"
|
||||||
|
popular-tags: "Popular Tags"
|
||||||
|
federated: "From the fediverse"
|
||||||
|
explore: "Explore {host}"
|
||||||
|
users-info: "Currently, {users} users are registered here"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "There are no users."
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "Waiting for {}"
|
waiting-for: "Waiting for {}"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "List of muted accounts"
|
mute-list: "List of muted accounts"
|
||||||
blocking-list: "List of blocked accounts"
|
blocking-list: "List of blocked accounts"
|
||||||
export-requested: "You have requested an export. This may take a while. After the export is complete, the resulting file will be added to the drive."
|
export-requested: "You have requested an export. This may take a while. After the export is complete, the resulting file will be added to the drive."
|
||||||
|
enter-password: "Please enter your password"
|
||||||
|
danger-zone: "Cautious options"
|
||||||
|
delete-account: "Remove the account"
|
||||||
|
account-deleted: "The account has been deleted. It may take some time until all of the data disappears."
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "User"
|
users: "User"
|
||||||
rename: "Rename list"
|
rename: "Rename list"
|
||||||
@ -551,7 +578,7 @@ common/views/widgets/memo.vue:
|
|||||||
memo: "Write here!"
|
memo: "Write here!"
|
||||||
save: "Save"
|
save: "Save"
|
||||||
common/views/widgets/slideshow.vue:
|
common/views/widgets/slideshow.vue:
|
||||||
folder-customize-mode: "To specify a folder, please exit customize mode"
|
folder-customize-mode: "To specify a folder, please exit customization mode"
|
||||||
folder: "Please click and specify a folder"
|
folder: "Please click and specify a folder"
|
||||||
no-image: "There is no image in this folder"
|
no-image: "There is no image in this folder"
|
||||||
common/views/widgets/tips.vue:
|
common/views/widgets/tips.vue:
|
||||||
@ -562,7 +589,7 @@ common/views/widgets/tips.vue:
|
|||||||
tips-line5: "You can upload files by dragging and dropping them to Drive."
|
tips-line5: "You can upload files by dragging and dropping them to Drive."
|
||||||
tips-line6: "You can move a folder by dragging it within the Drive."
|
tips-line6: "You can move a folder by dragging it within the Drive."
|
||||||
tips-line7: "You can move folders by dragging them within the Drive."
|
tips-line7: "You can move folders by dragging them within the Drive."
|
||||||
tips-line8: "Home can be customized from the settings."
|
tips-line8: "The Home layout can be customized from the settings."
|
||||||
tips-line9: "Misskey is licensed under AGPLv3."
|
tips-line9: "Misskey is licensed under AGPLv3."
|
||||||
tips-line10: "Using the Time Machine widget makes it easy to trace back to the past timeline."
|
tips-line10: "Using the Time Machine widget makes it easy to trace back to the past timeline."
|
||||||
tips-line11: "You can pin posts to user page by clicking on \"...\""
|
tips-line11: "You can pin posts to user page by clicking on \"...\""
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "Following {}"
|
following: "Following {}"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "It seems you don't have any following users…"
|
empty: "It seems you don't have any following users…"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "Recommended users:"
|
|
||||||
empty: "Couldn't find any recommended users."
|
|
||||||
fetching: "Loading"
|
|
||||||
refresh: "More"
|
|
||||||
close: "Close"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "Reversi"
|
game: "Reversi"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "Auto pop-out window"
|
auto-popout: "Auto pop-out window"
|
||||||
auto-popout-desc: "If it's possible, pop-out display will be used instead of opening a new window. This setting is stored in your browser."
|
auto-popout-desc: "If it's possible, pop-out display will be used instead of opening a new window. This setting is stored in your browser."
|
||||||
deck-nav: "Transitionless deck navigation"
|
|
||||||
deck-nav-desc: "You get a temporary column without page transitions during navigation when using the deck."
|
|
||||||
keep-cw: "Preserve content warning"
|
keep-cw: "Preserve content warning"
|
||||||
keep-cw-desc: "When replying to a post, the same content warning is set by default to the reply, as has been set by the original post."
|
keep-cw-desc: "When replying to a post, the same content warning is set by default to the reply, as has been set by the original post."
|
||||||
deck-default: "Use Deck view as the default UI"
|
|
||||||
display: "Design and display"
|
display: "Design and display"
|
||||||
customize: "Customize home layout"
|
|
||||||
wallpaper: "Wallpaper"
|
wallpaper: "Wallpaper"
|
||||||
choose-wallpaper: "Choose a background"
|
choose-wallpaper: "Choose a background"
|
||||||
delete-wallpaper: "Remove background"
|
delete-wallpaper: "Remove background"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "Favorites"
|
favorites: "Favorites"
|
||||||
lists: "Lists"
|
lists: "Lists"
|
||||||
follow-requests: "Follow requests"
|
follow-requests: "Follow requests"
|
||||||
customize: "Customize home layout"
|
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Settings"
|
settings: "Settings"
|
||||||
signout: "Sign out"
|
signout: "Sign out"
|
||||||
dark: "Toggle dark mode"
|
dark: "Toggle dark mode"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "Home"
|
|
||||||
deck: "Deck"
|
|
||||||
game: "Games"
|
game: "Games"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "Notifications"
|
title: "Notifications"
|
||||||
@ -982,7 +996,7 @@ desktop/views/components/received-follow-requests-window.vue:
|
|||||||
reject: "Reject"
|
reject: "Reject"
|
||||||
desktop/views/components/user-lists-window.vue:
|
desktop/views/components/user-lists-window.vue:
|
||||||
title: "User lists"
|
title: "User lists"
|
||||||
create-list: "Create list"
|
create-list: "Create a list"
|
||||||
list-name: "List name"
|
list-name: "List name"
|
||||||
desktop/views/components/user-preview.vue:
|
desktop/views/components/user-preview.vue:
|
||||||
notes: "Posts"
|
notes: "Posts"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "Turn off STARTTLS when used that."
|
smtp-secure-info: "Turn off STARTTLS when used that."
|
||||||
smtp-host: "SMTP Host"
|
smtp-host: "SMTP Host"
|
||||||
smtp-port: "SMTP Port"
|
smtp-port: "SMTP Port"
|
||||||
|
smtp-auth: "Perform SMTP authentication"
|
||||||
smtp-user: "SMTP User"
|
smtp-user: "SMTP User"
|
||||||
smtp-pass: "SMTP Password"
|
smtp-pass: "SMTP Password"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "Information"
|
info: "Information"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey storage"
|
title: "Misskey storage"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "Customize home layout"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "Previous post"
|
prev: "Previous post"
|
||||||
next: "Next post"
|
next: "Next post"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "Photos"
|
title: "Photos"
|
||||||
loading: "Loading"
|
loading: "Loading"
|
||||||
no-photos: "No photos"
|
no-photos: "No photos"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "Follows you"
|
|
||||||
menu: "Menu"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "Notes"
|
posts: "Notes"
|
||||||
following: "Following"
|
following: "Following"
|
||||||
followers: "Followers"
|
followers: "Followers"
|
||||||
is-bot: "This account is a Bot"
|
is-bot: "This account is a Bot"
|
||||||
|
no-description: "The user has not written their profile introduction"
|
||||||
years-old: "{age} years old"
|
years-old: "{age} years old"
|
||||||
year: "/"
|
year: "/"
|
||||||
month: "/"
|
month: "/"
|
||||||
day: "-"
|
day: "-"
|
||||||
|
follows-you: "Follows you"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "Posts"
|
default: "Posts"
|
||||||
with-replies: "Posts and replies"
|
with-replies: "Posts and replies"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
my-posts: "My posts"
|
my-posts: "My posts"
|
||||||
empty: "This user doesn't seem to have posted anything yet."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Message"
|
title: "Message"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "What do you want to do? (Please enter a number): <1 → Upload a file | 2 → Upload a file from a URL | 3 → Create a folder | 4 → Change this folder's name | 5 → Move this folder | 6 → Delete this folder>"
|
prompt: "What do you want to do? (Please enter a number): <1 → Upload a file | 2 → Upload a file from a URL | 3 → Create a folder | 4 → Change this folder's name | 5 → Move this folder | 6 → Delete this folder>"
|
||||||
deletion-alert: "Sorry! Deleting a folder is not yet implemented."
|
deletion-alert: "Sorry! Deleting a folder is not yet implemented."
|
||||||
folder-name: "Folder name"
|
folder-name: "Folder name"
|
||||||
root-rename-alert: "You're in the root; it can't be renamed because it's not a folder. Navigate to a folder you want to rename and try again."
|
here-is-root: "Currently, you are on the root, not inside of any folder."
|
||||||
root-move-alert: "You're in the root; it can't be moved because it's not a folder. Navigate to a folder you want to move and try again."
|
|
||||||
url-prompt: "URL of the file you want to upload"
|
url-prompt: "URL of the file you want to upload"
|
||||||
uploading: "Upload requested. It may take a while for the upload to finish."
|
uploading: "Upload requested. It may take a while for the upload to finish."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "Pending"
|
request-pending: "Pending"
|
||||||
follow-processing: "Processing"
|
follow-processing: "Processing"
|
||||||
follow-request: "Follow request"
|
follow-request: "Follow request"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "Let's follow them"
|
|
||||||
empty: "Featured user was not found."
|
|
||||||
fetching: "Loading"
|
|
||||||
refresh: "See more"
|
|
||||||
close: "Close"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "This post is private"
|
private: "This post is private"
|
||||||
deleted: "This post has been deleted"
|
deleted: "This post has been deleted"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "This post has been deleted"
|
deleted: "This post has been deleted"
|
||||||
media-count: "{} media attached"
|
media-count: "{} media attached"
|
||||||
poll: "Poll"
|
poll: "Poll"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "No notes"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "Welcome back, "
|
welcome-back: "Welcome back, "
|
||||||
adjective: "Sir"
|
adjective: "Sir"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Settings"
|
settings: "Settings"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "About Misskey"
|
about: "About Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "It seems this user hasn't posted anything yet."
|
|
||||||
no-notes-with-media: "There are no notes with media attachments"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "All"
|
|
||||||
known: "In common"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favorites"
|
title: "Favorites"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1543,7 +1539,7 @@ mobile/views/pages/settings.vue:
|
|||||||
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"
|
||||||
show-renoted-my-notes: "Show renoted posts of mine"
|
show-renoted-my-notes: "Show the renotes of my posts"
|
||||||
show-local-renotes: "Show renoted local posts"
|
show-local-renotes: "Show renoted local posts"
|
||||||
post-style: "Post design"
|
post-style: "Post design"
|
||||||
post-style-standard: "Standard"
|
post-style-standard: "Standard"
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "Activity"
|
activity: "Activity"
|
||||||
keywords: "Keywords"
|
keywords: "Keywords"
|
||||||
domains: "Domains"
|
domains: "Domains"
|
||||||
frequently-replied-users: "Frequently mentioned users"
|
frequently-replied-users: "Frequent mentions"
|
||||||
followers-you-know: "Followers you know"
|
followers-you-know: "Followers you know"
|
||||||
last-used-at: "Last active:"
|
last-used-at: "Last active:"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "No users you know"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "There are no users that you know"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "No notes"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "No photos"
|
no-photos: "No photos"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "Rename"
|
rename: "Rename"
|
||||||
stack-left: "Stack to the left"
|
stack-left: "Stack to the left"
|
||||||
pop-right: "Dock on the right"
|
pop-right: "Dock on the right"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "Timeline has been disabled"
|
||||||
|
description: "This timeline has been disabled by the server administrator."
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "Only media posts"
|
is-media-only: "Only media posts"
|
||||||
is-media-view: "Media view"
|
|
||||||
edit: "Options"
|
edit: "Options"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "Follows you"
|
follows-you: "Follows you"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
2fa: "Autenticación de dos factores"
|
2fa: "Autenticación de dos factores"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "¡Listo!"
|
got-it: "¡Listo!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Consejos de personalización"
|
title: "Consejos de personalización"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Papelera"
|
trash: "Papelera"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Conversación"
|
messaging: "Conversación"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "domingo"
|
sunday: "domingo"
|
||||||
monday: "lunes"
|
monday: "lunes"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "Por favor, vuelve a la aplicación."
|
please-go-back: "Por favor, vuelve a la aplicación."
|
||||||
error: "Esta sesión no existe."
|
error: "Esta sesión no existe."
|
||||||
sign-in: "Por favor inicia sesión."
|
sign-in: "Por favor inicia sesión."
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "Esperando por {}"
|
waiting-for: "Esperando por {}"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "Usuarios"
|
users: "Usuarios"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "Siguiendo {}"
|
following: "Siguiendo {}"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "Parece que aún no sigues a nadie."
|
empty: "Parece que aún no sigues a nadie."
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "Usuarios recomendados:"
|
|
||||||
empty: "No se pudieron encontrar usuarios para recomendar"
|
|
||||||
fetching: "Cargando"
|
|
||||||
refresh: "Más"
|
|
||||||
close: "Cerrar"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "Reversi"
|
game: "Reversi"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "Ventana emergente automática"
|
auto-popout: "Ventana emergente automática"
|
||||||
auto-popout-desc: "Muestra una ventana emergente si es posible. Esta configuración depende del navegador."
|
auto-popout-desc: "Muestra una ventana emergente si es posible. Esta configuración depende del navegador."
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "Diseño y pantalla"
|
display: "Diseño y pantalla"
|
||||||
customize: "Personaliza la página principal"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "Elije un fondo"
|
choose-wallpaper: "Elije un fondo"
|
||||||
delete-wallpaper: "Suprimir fondo"
|
delete-wallpaper: "Suprimir fondo"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "Favoritos"
|
favorites: "Favoritos"
|
||||||
lists: "Listas"
|
lists: "Listas"
|
||||||
follow-requests: "Solicitudes de seguimiento"
|
follow-requests: "Solicitudes de seguimiento"
|
||||||
customize: "Personalizar la página de inicio"
|
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Configuraciones"
|
settings: "Configuraciones"
|
||||||
signout: "Desconectarse"
|
signout: "Desconectarse"
|
||||||
dark: "Sumergirse en la oscuridad"
|
dark: "Sumergirse en la oscuridad"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "Inicio"
|
|
||||||
deck: "Cubierta"
|
|
||||||
game: "Juegos"
|
game: "Juegos"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "Notificaciones"
|
title: "Notificaciones"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "Host SMTP"
|
smtp-host: "Host SMTP"
|
||||||
smtp-port: "Puerto SMTP"
|
smtp-port: "Puerto SMTP"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "Usuario SMTP"
|
smtp-user: "Usuario SMTP"
|
||||||
smtp-pass: "Contraseña SMTP"
|
smtp-pass: "Contraseña SMTP"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームのカスタマイズ"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "フォト"
|
title: "フォト"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知り合い"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
keywords: "キーワード"
|
keywords: "キーワード"
|
||||||
domains: "頻出ドメイン"
|
domains: "頻出ドメイン"
|
||||||
frequently-replied-users: "よく会話するユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "Charger plus"
|
load-more: "Charger plus"
|
||||||
enter-password: "Veuillez entrer le mot de passe"
|
enter-password: "Veuillez entrer le mot de passe"
|
||||||
2fa: "Authentification à deux facteurs"
|
2fa: "Authentification à deux facteurs"
|
||||||
|
customize-home: "Personnaliser la disposition de votre accueil"
|
||||||
|
featured-notes: "Les notes mises en avant"
|
||||||
got-it: "J’ai compris !"
|
got-it: "J’ai compris !"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Conseils de personnalisation"
|
title: "Conseils de personnalisation"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Corbeille"
|
trash: "Corbeille"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Conversations"
|
messaging: "Conversations"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "Deck"
|
||||||
|
timeline: "Fil"
|
||||||
|
explore: "Découvrir"
|
||||||
|
following: "Suit"
|
||||||
|
followers: "Abonné·e·s"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "Trouver des utilisateurs"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "D"
|
sunday: "D"
|
||||||
monday: "L"
|
monday: "L"
|
||||||
@ -113,7 +124,7 @@ common:
|
|||||||
use-avatar-reversi-stones: "Utiliser l’avatar comme pion dans Reversi"
|
use-avatar-reversi-stones: "Utiliser l’avatar comme pion dans Reversi"
|
||||||
verified-user: "Compte vérifié"
|
verified-user: "Compte vérifié"
|
||||||
disable-animated-mfm: "Désactiver les textes animés dans les publications"
|
disable-animated-mfm: "Désactiver les textes animés dans les publications"
|
||||||
disable-showing-animated-images: "アニメーション画像を再生しない"
|
disable-showing-animated-images: "Désactiver l'animation dans les images"
|
||||||
suggest-recent-hashtags: "Suggérer les hashtags récemment utilisés dans le champs de saisie"
|
suggest-recent-hashtags: "Suggérer les hashtags récemment utilisés dans le champs de saisie"
|
||||||
always-show-nsfw: "Toujours afficher les contenus sensibles"
|
always-show-nsfw: "Toujours afficher les contenus sensibles"
|
||||||
always-mark-nsfw: "Toujours marquer les notes ayant des attachements comme sensibles"
|
always-mark-nsfw: "Toujours marquer les notes ayant des attachements comme sensibles"
|
||||||
@ -130,10 +141,11 @@ common:
|
|||||||
show-password: "Afficher le mot de passe"
|
show-password: "Afficher le mot de passe"
|
||||||
do-not-use-in-production: "Il s’agit d’une version de développement. Ne pas utiliser dans un environnement de production."
|
do-not-use-in-production: "Il s’agit d’une version de développement. Ne pas utiliser dans un environnement de production."
|
||||||
user-suspended: "Cet·te utilisateur·trice a été suspendu·e"
|
user-suspended: "Cet·te utilisateur·trice a été suspendu·e"
|
||||||
is-remote-user: "このユーザー情報は不正確な可能性があります。"
|
is-remote-user: "Les informations à propos de ce compte peuvent être incomplètes."
|
||||||
is-remote-post: "Ceci est une publication distante."
|
is-remote-post: "Ceci est une publication distante."
|
||||||
view-on-remote: " Consulter le profil complet"
|
view-on-remote: " Consulter le profil complet"
|
||||||
renoted-by: "Renoté par {user}"
|
renoted-by: "Renoté par {user}"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "Une erreur est survenue"
|
title: "Une erreur est survenue"
|
||||||
retry: "Réessayer"
|
retry: "Réessayer"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "Veillez retourner à l'application."
|
please-go-back: "Veillez retourner à l'application."
|
||||||
error: "La session n’existe pas."
|
error: "La session n’existe pas."
|
||||||
sign-in: "Veuillez vous connecter"
|
sign-in: "Veuillez vous connecter"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "Comptes vérifiés"
|
||||||
|
popular-users: "Utilisateurs populaires"
|
||||||
|
recently-updated-users: "Utilisateurs actifs récemment"
|
||||||
|
recently-registered-users: "Les nouveaux inscrits"
|
||||||
|
popular-tags: "Mots-clés populaires"
|
||||||
|
federated: "Du Fédiverse"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "En attente de {}"
|
waiting-for: "En attente de {}"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "Liste des comptes mis en sourdine"
|
mute-list: "Liste des comptes mis en sourdine"
|
||||||
blocking-list: "Liste des comptes bloqués"
|
blocking-list: "Liste des comptes bloqués"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "Utilisateur·rice"
|
users: "Utilisateur·rice"
|
||||||
rename: "Renommer la liste"
|
rename: "Renommer la liste"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "Suit {}"
|
following: "Suit {}"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "Vous ne suivez aucun compte."
|
empty: "Vous ne suivez aucun compte."
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "Utilisateur·rice·s recommandé·e·s :"
|
|
||||||
empty: "Impossible de trouver des utilisateur·trice·s à recommander."
|
|
||||||
fetching: "Chargement"
|
|
||||||
refresh: "Plus"
|
|
||||||
close: "Fermer"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "Reversi"
|
game: "Reversi"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -724,11 +745,11 @@ desktop/views/components/notes.vue:
|
|||||||
desktop/views/components/notifications.vue:
|
desktop/views/components/notifications.vue:
|
||||||
empty: "Aucune de notification !"
|
empty: "Aucune de notification !"
|
||||||
desktop/views/components/post-form.vue:
|
desktop/views/components/post-form.vue:
|
||||||
add-visible-user: "+Ajouter un utilisateur"
|
add-visible-user: "+Ajouter un·e utilisateur·rice"
|
||||||
attach-location-information: "Attacher des informations de localisation"
|
attach-location-information: "Attacher des informations de localisation"
|
||||||
hide-contents: "Masquer les contenus"
|
hide-contents: "Masquer les contenus"
|
||||||
reply-placeholder: "Répondre à cette note…"
|
reply-placeholder: "Répondre à cette note …"
|
||||||
quote-placeholder: "Citer cette note…"
|
quote-placeholder: "Citer cette note …"
|
||||||
submit: "Publier"
|
submit: "Publier"
|
||||||
reply: "Répondre"
|
reply: "Répondre"
|
||||||
renote: "Republier"
|
renote: "Republier"
|
||||||
@ -738,7 +759,7 @@ desktop/views/components/post-form.vue:
|
|||||||
note-failed: "La note à échoué"
|
note-failed: "La note à échoué"
|
||||||
reply-failed: "La réponse a échoué"
|
reply-failed: "La réponse a échoué"
|
||||||
renote-failed: "Échec lors de la republication"
|
renote-failed: "Échec lors de la republication"
|
||||||
posting: "Publication…"
|
posting: "Publication …"
|
||||||
attach-media-from-local: "Joindre un média depuis votre appareil"
|
attach-media-from-local: "Joindre un média depuis votre appareil"
|
||||||
attach-media-from-drive: "Joindre un média depuis votre Drive"
|
attach-media-from-drive: "Joindre un média depuis votre Drive"
|
||||||
attach-cancel: "Annuler le fichier attaché"
|
attach-cancel: "Annuler le fichier attaché"
|
||||||
@ -751,8 +772,8 @@ desktop/views/components/post-form.vue:
|
|||||||
visibility: "Visibilité"
|
visibility: "Visibilité"
|
||||||
geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation"
|
geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation"
|
||||||
error: "Erreur"
|
error: "Erreur"
|
||||||
enter-username: "Saisir un nom d'utilisateur…"
|
enter-username: "Saisir un nom d'utilisateur …"
|
||||||
annotations: "内容への注釈 (オプション)"
|
annotations: "Commenter le contenu (optionnel)"
|
||||||
desktop/views/components/post-form-window.vue:
|
desktop/views/components/post-form-window.vue:
|
||||||
note: "Nouvelle note"
|
note: "Nouvelle note"
|
||||||
reply: "Répondre"
|
reply: "Répondre"
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "Exemple : https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "Exemple : https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "Fenêtre contextuelle automatique"
|
auto-popout: "Fenêtre contextuelle automatique"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "Deck sans tansitions"
|
|
||||||
deck-nav-desc: "Vous obtenez une colonne temporaire sans transitions dans la page pendant la navigation, lors de l’utilisation du Deck."
|
|
||||||
keep-cw: "Maintenir l'avertissement de contenu"
|
keep-cw: "Maintenir l'avertissement de contenu"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "Utiliser le Deck comme IU par défaut"
|
|
||||||
display: "Affichage et design"
|
display: "Affichage et design"
|
||||||
customize: "Personnaliser l'Accueil"
|
|
||||||
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"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "Favorites"
|
favorites: "Favorites"
|
||||||
lists: "Listes"
|
lists: "Listes"
|
||||||
follow-requests: "Demandes de suivi"
|
follow-requests: "Demandes de suivi"
|
||||||
customize: "Personnaliser l'Accueil"
|
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Réglages"
|
settings: "Réglages"
|
||||||
signout: "Déconnexion"
|
signout: "Déconnexion"
|
||||||
dark: "Fall in dark"
|
dark: "Fall in dark"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "Accueil"
|
|
||||||
deck: "Deck"
|
|
||||||
game: "Jeux"
|
game: "Jeux"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "Notifications"
|
title: "Notifications"
|
||||||
@ -1019,7 +1033,7 @@ admin/views/dashboard.vue:
|
|||||||
federated: "Fédérées"
|
federated: "Fédérées"
|
||||||
admin/views/queue.vue:
|
admin/views/queue.vue:
|
||||||
operation: "Action(s)"
|
operation: "Action(s)"
|
||||||
remove-all-jobs: "すべてのジョブをクリア"
|
remove-all-jobs: "Enlever toutes les tâches en attente"
|
||||||
admin/views/abuse.vue:
|
admin/views/abuse.vue:
|
||||||
title: "Abus"
|
title: "Abus"
|
||||||
target: "Cible"
|
target: "Cible"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "Désactiver STARTTLS lorsque celui-ci est utilisé."
|
smtp-secure-info: "Désactiver STARTTLS lorsque celui-ci est utilisé."
|
||||||
smtp-host: "Hôte SMTP"
|
smtp-host: "Hôte SMTP"
|
||||||
smtp-port: "Port SMTP"
|
smtp-port: "Port SMTP"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "Utilisateur SMTP"
|
smtp-user: "Utilisateur SMTP"
|
||||||
smtp-pass: "Mot de passe SMTP"
|
smtp-pass: "Mot de passe SMTP"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1167,7 +1182,7 @@ admin/views/users.vue:
|
|||||||
verify-confirm: "Souhaiteriez-vous rendre votre compte comme étant un compte vérifié ?"
|
verify-confirm: "Souhaiteriez-vous rendre votre compte comme étant un compte vérifié ?"
|
||||||
verified: "Le compte a été vérifié"
|
verified: "Le compte a été vérifié"
|
||||||
unverify: "Enlever la vérification du compte"
|
unverify: "Enlever la vérification du compte"
|
||||||
unverify-confirm: "公式アカウントを解除しますか?"
|
unverify-confirm: "Désirez-vous considérer ce compte comme étant non-vérifié ?"
|
||||||
unverified: "Ce compte n'est plus vérifié"
|
unverified: "Ce compte n'est plus vérifié"
|
||||||
update-remote-user: "Mettre à jour les informations de l’utilisateur·rice distant·e"
|
update-remote-user: "Mettre à jour les informations de l’utilisateur·rice distant·e"
|
||||||
remote-user-updated: "Les informations de l’utilisateur·rice distant·e ont étés mis à jour"
|
remote-user-updated: "Les informations de l’utilisateur·rice distant·e ont étés mis à jour"
|
||||||
@ -1186,7 +1201,7 @@ admin/views/users.vue:
|
|||||||
moderator: "Modérateur"
|
moderator: "Modérateur"
|
||||||
adminOrModerator: "Administrateur/Modérateur"
|
adminOrModerator: "Administrateur/Modérateur"
|
||||||
verified: "Compte vérifié"
|
verified: "Compte vérifié"
|
||||||
silenced: "サイレンス済み"
|
silenced: "Déjà mis en sourdine"
|
||||||
suspended: "Suspendu"
|
suspended: "Suspendu"
|
||||||
origin:
|
origin:
|
||||||
title: "Origine"
|
title: "Origine"
|
||||||
@ -1246,9 +1261,9 @@ admin/views/federation.vue:
|
|||||||
latest-request-received-at: "Dernière requête reçue"
|
latest-request-received-at: "Dernière requête reçue"
|
||||||
remove-all-following: "フォローを全解除"
|
remove-all-following: "フォローを全解除"
|
||||||
remove-all-following-info: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
|
remove-all-following-info: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
|
||||||
block: "ブロック"
|
block: "Bloquer"
|
||||||
marked-as-closed: "閉鎖されているとマーク"
|
marked-as-closed: "Marquées comme fermées"
|
||||||
lookup: "照会"
|
lookup: "Recherche"
|
||||||
instances: "Instances"
|
instances: "Instances"
|
||||||
instance-not-registered: "そのインスタンスは登録されていません"
|
instance-not-registered: "そのインスタンスは登録されていません"
|
||||||
sort: "Trier par"
|
sort: "Trier par"
|
||||||
@ -1262,36 +1277,36 @@ admin/views/federation.vue:
|
|||||||
usersAsc: "ユーザーが少ない順"
|
usersAsc: "ユーザーが少ない順"
|
||||||
usersDesc: "ユーザーが多い順"
|
usersDesc: "ユーザーが多い順"
|
||||||
followingAsc: "Les moins suivies"
|
followingAsc: "Les moins suivies"
|
||||||
followingDesc: "フォローが多い順"
|
followingDesc: "Ayant le plus d'abonné·e·s"
|
||||||
followersAsc: "Ayant le moins d'abonné·e·s"
|
followersAsc: "Ayant le moins d'abonné·e·s"
|
||||||
followersDesc: "Ayant le plus d'abonné·e·s"
|
followersDesc: "Ayant le plus d'abonné·e·s"
|
||||||
driveUsageAsc: "ドライブ使用量が少ない順"
|
driveUsageAsc: "ドライブ使用量が少ない順"
|
||||||
driveUsageDesc: "ドライブ使用量が多い順"
|
driveUsageDesc: "ドライブ使用量が多い順"
|
||||||
driveFilesAsc: "ドライブのファイル数が少ない順"
|
driveFilesAsc: "ドライブのファイル数が少ない順"
|
||||||
driveFilesDesc: "ドライブのファイル数が多い順"
|
driveFilesDesc: "ドライブのファイル数が多い順"
|
||||||
state: "状態"
|
state: "État"
|
||||||
states:
|
states:
|
||||||
all: "すべて"
|
all: "Tout"
|
||||||
blocked: "ブロック"
|
blocked: "Bloquées"
|
||||||
not-responding: "応答なし"
|
not-responding: "Sans réponse"
|
||||||
marked-as-closed: "閉鎖とマーク済み"
|
marked-as-closed: "Marquée comme fermée"
|
||||||
result-is-truncated: "上位{n}件を表示しています。"
|
result-is-truncated: "上位{n}件を表示しています。"
|
||||||
charts: "チャート"
|
charts: "Graphs"
|
||||||
chart-srcs:
|
chart-srcs:
|
||||||
requests: "リクエスト"
|
requests: "Requêtes"
|
||||||
users: "ユーザーの増減"
|
users: "Nombre d’utilisateurs·trices : augmentation/diminution"
|
||||||
users-total: "ユーザーの積算"
|
users-total: "Nombre total des utilisateur·rice·s"
|
||||||
notes: "投稿の増減"
|
notes: "Augmentation/diminution du nombre des notes"
|
||||||
notes-total: "投稿の積算"
|
notes-total: "Nombre total des notes"
|
||||||
ff: "フォロー/フォロワーの増減"
|
ff: "Augmentation des abonné·e·s"
|
||||||
ff-total: "フォロー/フォロワーの積算"
|
ff-total: "フォロー/フォロワーの積算"
|
||||||
drive-usage: "ドライブ使用量の増減"
|
drive-usage: "Augmentation et diminution de la capacité stockage"
|
||||||
drive-usage-total: "ドライブ使用量の積算"
|
drive-usage-total: "Utilisation totale du stockage"
|
||||||
drive-files: "ドライブファイル数の増減"
|
drive-files: "ドライブファイル数の増減"
|
||||||
drive-files-total: "ドライブファイル数の積算"
|
drive-files-total: "Nombre total des fichiers sur le Drive"
|
||||||
chart-spans:
|
chart-spans:
|
||||||
hour: "1時間ごと"
|
hour: "Par heure"
|
||||||
day: "1日ごと"
|
day: "Par jour"
|
||||||
desktop/views/pages/welcome.vue:
|
desktop/views/pages/welcome.vue:
|
||||||
about: "à propos"
|
about: "à propos"
|
||||||
gotit: "J'ai compris !"
|
gotit: "J'ai compris !"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "Informations"
|
info: "Informations"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Lecteur de Misskey"
|
title: "Lecteur de Misskey"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "Personnaliser l'Accueil"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "Note précédente"
|
prev: "Note précédente"
|
||||||
next: "Note suivante"
|
next: "Note suivante"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "Photos"
|
title: "Photos"
|
||||||
loading: "Chargement en cours"
|
loading: "Chargement en cours"
|
||||||
no-photos: "Pas de photos"
|
no-photos: "Pas de photos"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "Vous suit"
|
|
||||||
menu: "Menu"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "Notes"
|
posts: "Notes"
|
||||||
following: "Suit"
|
following: "Suit"
|
||||||
followers: "Abonné·e·s"
|
followers: "Abonné·e·s"
|
||||||
is-bot: "Ce compte est un Bot"
|
is-bot: "Ce compte est un Bot"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age} ans"
|
years-old: "{age} ans"
|
||||||
year: "/"
|
year: "/"
|
||||||
month: "/"
|
month: "/"
|
||||||
day: "-"
|
day: "-"
|
||||||
|
follows-you: "Vous suit"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "Publications"
|
default: "Publications"
|
||||||
with-replies: "Publications et réponses"
|
with-replies: "Publications et réponses"
|
||||||
with-media: "Média"
|
with-media: "Média"
|
||||||
my-posts: "Mes Messages"
|
my-posts: "Mes Messages"
|
||||||
empty: "Cet utilisateur n'a rien posté encore."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Messagerie"
|
title: "Messagerie"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
|
prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
|
||||||
deletion-alert: "Désolé ! La suppression d’un dossier n’est pas encore implémentée."
|
deletion-alert: "Désolé ! La suppression d’un dossier n’est pas encore implémentée."
|
||||||
folder-name: "Nom du dossier"
|
folder-name: "Nom du dossier"
|
||||||
root-rename-alert: "L'emplacement actuel est la racine, pas le dossier, vous ne pouvez donc pas le renommer. Veuillez vous déplacer dans le dossier dont vous souhaitez modifier le nom."
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "L'emplacement actuel est la racine, ce n'est pas un dossier et il ne peut pas être déplacé. Veuillez vous déplacer dans le dossier que vous souhaitez déplacer."
|
|
||||||
url-prompt: "URL du fichier que vous souhaitez téléverser"
|
url-prompt: "URL du fichier que vous souhaitez téléverser"
|
||||||
uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever."
|
uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "Demande en attente"
|
request-pending: "Demande en attente"
|
||||||
follow-processing: "En cours d’abonnement"
|
follow-processing: "En cours d’abonnement"
|
||||||
follow-request: "Demande d’abonnement"
|
follow-request: "Demande d’abonnement"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "Abonnez-vous à"
|
|
||||||
empty: "Impossible de trouver des utilisateurs·trices à recommander."
|
|
||||||
fetching: "Chargement"
|
|
||||||
refresh: "Voir plus"
|
|
||||||
close: "Fermer"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "cette publication est privée"
|
private: "cette publication est privée"
|
||||||
deleted: "cette publication a été supprimée"
|
deleted: "cette publication a été supprimée"
|
||||||
@ -1445,11 +1449,11 @@ mobile/views/components/note-sub.vue:
|
|||||||
mobile/views/components/notifications.vue:
|
mobile/views/components/notifications.vue:
|
||||||
empty: "Aucune de notification !"
|
empty: "Aucune de notification !"
|
||||||
mobile/views/components/post-form.vue:
|
mobile/views/components/post-form.vue:
|
||||||
add-visible-user: "Ajouter un utilisateur"
|
add-visible-user: "Ajouter un·e utilisateur·rice"
|
||||||
submit: "Publier"
|
submit: "Publier"
|
||||||
reply: "Répondre"
|
reply: "Répondre"
|
||||||
renote: "Republier"
|
renote: "Republier"
|
||||||
quote-placeholder: "Citer ce billet... (Facultatif)"
|
quote-placeholder: "Citer ce billet ... (Facultatif)"
|
||||||
reply-placeholder: "Répondre à cette note"
|
reply-placeholder: "Répondre à cette note"
|
||||||
cw-placeholder: "Commenter le contenu (optionnel)"
|
cw-placeholder: "Commenter le contenu (optionnel)"
|
||||||
location-alert: "Votre appareil ne prend pas en charge les services de localisation"
|
location-alert: "Votre appareil ne prend pas en charge les services de localisation"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "cette publication a été supprimée"
|
deleted: "cette publication a été supprimée"
|
||||||
media-count: "{} médias attachés"
|
media-count: "{} médias attachés"
|
||||||
poll: "Sondage"
|
poll: "Sondage"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "Pas de notes"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "Content de vous revoir ! "
|
welcome-back: "Content de vous revoir ! "
|
||||||
adjective: "M."
|
adjective: "M."
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Réglages"
|
settings: "Réglages"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "À propos de Misskey"
|
about: "À propos de Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "Il semble que cet utilisateur n’a rien publié pour le moment."
|
|
||||||
no-notes-with-media: "Aucune note comprenant des médias"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "Tout"
|
|
||||||
known: "Vous connaissez"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favoris"
|
title: "Favoris"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1520,7 +1516,7 @@ mobile/views/pages/received-follow-requests.vue:
|
|||||||
accept: "Accepter"
|
accept: "Accepter"
|
||||||
reject: "Refuser"
|
reject: "Refuser"
|
||||||
mobile/views/pages/note.vue:
|
mobile/views/pages/note.vue:
|
||||||
title: "Post"
|
title: "Publication"
|
||||||
prev: "Note précédente"
|
prev: "Note précédente"
|
||||||
next: "Note suivante"
|
next: "Note suivante"
|
||||||
mobile/views/pages/notifications.vue:
|
mobile/views/pages/notifications.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "Activité"
|
activity: "Activité"
|
||||||
keywords: "Mot clés"
|
keywords: "Mot clés"
|
||||||
domains: "Domaines"
|
domains: "Domaines"
|
||||||
frequently-replied-users: "Utilisateurs mentionnés souvent"
|
frequently-replied-users: "Mentions fréquentes"
|
||||||
followers-you-know: "Abonné·e·s que vous connaissez"
|
followers-you-know: "Abonné·e·s que vous connaissez"
|
||||||
last-used-at: "Dernière connexion il y a"
|
last-used-at: "Dernière connexion il y a"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "Aucun utilisateur·rice connu·e"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "Aucun utilisateur connu"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "Pas de notes"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Pas de photos"
|
no-photos: "Pas de photos"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,12 +1612,14 @@ deck:
|
|||||||
rename: "Renommer"
|
rename: "Renommer"
|
||||||
stack-left: "Vers la gauche"
|
stack-left: "Vers la gauche"
|
||||||
pop-right: "Vers la droite"
|
pop-right: "Vers la droite"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "Le fil été désactivé"
|
||||||
|
description: "Ce fil a été désactivé par l'administrateur du serveur."
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "Les publications médias uniquement"
|
is-media-only: "Les publications médias uniquement"
|
||||||
is-media-view: "Vue média"
|
|
||||||
edit: "Option"
|
edit: "Option"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "Vous suit"
|
||||||
posts: "Notes"
|
posts: "Notes"
|
||||||
following: "Suit"
|
following: "Suit"
|
||||||
followers: "Abonnés"
|
followers: "Abonnés"
|
||||||
|
@ -8,6 +8,19 @@ const yaml = require('js-yaml');
|
|||||||
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN', 'ko-KR'];
|
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN', 'ko-KR'];
|
||||||
|
|
||||||
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
|
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
|
||||||
const locales = langs.map(lang => ({ [lang]: loadLocale(lang) }));
|
const locales = langs
|
||||||
|
.map(lang => [lang, loadLocale(lang)])
|
||||||
|
.map(([lang, locale], _, locales) => {
|
||||||
|
switch (lang) {
|
||||||
|
case 'ja-JP': return [lang, locale];
|
||||||
|
case 'en-US': return [lang, { ...locales['ja-JP'], ...locale }];
|
||||||
|
default: return [lang, {
|
||||||
|
...(lang.startsWith('ja-') ? {} : locales['en-US']),
|
||||||
|
...locales['ja-JP'],
|
||||||
|
...locale
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.map(([lang, locale]) => ({ [lang]: loadLocale(lang) }));
|
||||||
|
|
||||||
module.exports = locales.reduce((a, b) => ({ ...a, ...b }));
|
module.exports = locales.reduce((a, b) => ({ ...a, ...b }));
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "日"
|
sunday: "日"
|
||||||
monday: "月"
|
monday: "月"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "アプリケーションに戻って、やっていってください。"
|
please-go-back: "アプリケーションに戻って、やっていってください。"
|
||||||
error: "セッションが存在しません。"
|
error: "セッションが存在しません。"
|
||||||
sign-in: "サインインしてください"
|
sign-in: "サインインしてください"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っています"
|
waiting-for: "{}を待っています"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} のフォロー"
|
following: "{} のフォロー"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "フォロー中のユーザーはいないようです。"
|
empty: "フォロー中のユーザーはいないようです。"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー:"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "リバーシ"
|
game: "リバーシ"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "ウィンドウの自動ポップアウト"
|
auto-popout: "ウィンドウの自動ポップアウト"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "デザインと表示"
|
display: "デザインと表示"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "お気に入り"
|
favorites: "お気に入り"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "ホームのカスタマイズ"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
dark: "闇に飲まれる"
|
dark: "闇に飲まれる"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "ホーム"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "通知"
|
title: "通知"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームのカスタマイズ"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "フォト"
|
title: "フォト"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知り合い"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
keywords: "キーワード"
|
keywords: "キーワード"
|
||||||
domains: "頻出ドメイン"
|
domains: "頻出ドメイン"
|
||||||
frequently-replied-users: "よく会話するユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
|
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
@ -58,6 +60,16 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
|
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "日"
|
sunday: "日"
|
||||||
@ -143,6 +155,9 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
|
turn-on-darkmode: "闇に飲まれる"
|
||||||
|
turn-off-darkmode: "光あれ"
|
||||||
|
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
@ -213,6 +228,19 @@ auth/views/index.vue:
|
|||||||
error: "セッションが存在しません。"
|
error: "セッションが存在しません。"
|
||||||
sign-in: "サインインしてください"
|
sign-in: "サインインしてください"
|
||||||
|
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
|
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っています"
|
waiting-for: "{}を待っています"
|
||||||
@ -564,6 +592,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
|
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
@ -761,13 +793,6 @@ desktop/views/components/following-window.vue:
|
|||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "フォロー中のユーザーはいないようです。"
|
empty: "フォロー中のユーザーはいないようです。"
|
||||||
|
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー:"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "リバーシ"
|
game: "リバーシ"
|
||||||
|
|
||||||
@ -893,14 +918,10 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "ウィンドウの自動ポップアウト"
|
auto-popout: "ウィンドウの自動ポップアウト"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
|
|
||||||
display: "デザインと表示"
|
display: "デザインと表示"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -1076,15 +1097,12 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "お気に入り"
|
favorites: "お気に入り"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "ホームのカスタマイズ"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
dark: "闇に飲まれる"
|
dark: "闇に飲まれる"
|
||||||
|
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "ホーム"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
|
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
@ -1221,6 +1239,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1447,9 +1466,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
|
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームのカスタマイズ"
|
|
||||||
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
@ -1490,26 +1506,23 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
|
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
|
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
@ -1551,8 +1564,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
|
|
||||||
@ -1586,13 +1598,6 @@ common/views/components/follow-button.vue:
|
|||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
|
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1636,9 +1641,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
|
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1657,14 +1659,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
|
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知り合い"
|
|
||||||
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
|
|
||||||
@ -1791,19 +1785,10 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
keywords: "キーワード"
|
keywords: "キーワード"
|
||||||
domains: "頻出ドメイン"
|
domains: "頻出ドメイン"
|
||||||
frequently-replied-users: "よく会話するユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
|
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
|
|
||||||
@ -1827,10 +1812,12 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
|
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
|
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっとあらへんのか!"
|
load-more: "もっとあらへんのか!"
|
||||||
enter-password: "パスワードを入れてや"
|
enter-password: "パスワードを入れてや"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "ほい"
|
got-it: "ほい"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "日"
|
sunday: "日"
|
||||||
monday: "月"
|
monday: "月"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "ちゃんとした情報見せてや!"
|
view-on-remote: "ちゃんとした情報見せてや!"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が起こったわ"
|
title: "問題が起こったわ"
|
||||||
retry: "もっぺん"
|
retry: "もっぺん"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "アプリケーションに戻って、気張ってってな。"
|
please-go-back: "アプリケーションに戻って、気張ってってな。"
|
||||||
error: "セッションが存在してへん。"
|
error: "セッションが存在してへん。"
|
||||||
sign-in: "サインインしてや"
|
sign-in: "サインインしてや"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っとります"
|
waiting-for: "{}を待っとります"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} のフォロー"
|
following: "{} のフォロー"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "フォロー中のユーザーはおらんっぽいで、知らんけど。"
|
empty: "フォロー中のユーザーはおらんっぽいで、知らんけど。"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "おもろそうやな:"
|
|
||||||
empty: "おもろいユーザー居らんかったわ"
|
|
||||||
fetching: "読み込んどります"
|
|
||||||
refresh: "もっとあるやろ!"
|
|
||||||
close: "さいなら"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q?{{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q?{{query}}"
|
||||||
auto-popout: "ウィンドウの自動ポップアウト"
|
auto-popout: "ウィンドウの自動ポップアウト"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトすんで。この設定はブラウザに記憶されんで。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトすんで。この設定はブラウザに記憶されんで。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使うとるとき、ナビゲーションが発生するときにページ移動せんで、一時的なカラムで受けれるようにするで"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "見た感じ"
|
display: "見た感じ"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙選ぶ"
|
choose-wallpaper: "壁紙選ぶ"
|
||||||
delete-wallpaper: "壁紙ほかす"
|
delete-wallpaper: "壁紙ほかす"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "お気に入り"
|
favorites: "お気に入り"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
follow-requests: "フォロー許してくれや!言うてみる"
|
follow-requests: "フォロー許してくれや!言うてみる"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "さいなら"
|
signout: "さいなら"
|
||||||
dark: "ナイトゲームじゃ!"
|
dark: "ナイトゲームじゃ!"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "ホーム"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "通知"
|
title: "通知"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "ドライブ"
|
title: "ドライブ"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームをカスタマイズ"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "前のやつ"
|
prev: "前のやつ"
|
||||||
next: "次のやつ"
|
next: "次のやつ"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "写真"
|
title: "写真"
|
||||||
loading: "読み込んどります"
|
loading: "読み込んどります"
|
||||||
no-photos: "写真はあらへんで"
|
no-photos: "写真はあらへんで"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされとるで"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotや"
|
is-bot: "このアカウントはBotや"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿しとらんようや。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何すんの?(数字を入れてや): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何すんの?(数字を入れてや): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "フォルダの削除は未実装やねん...。堪忍な!"
|
deletion-alert: "フォルダの削除は未実装やねん...。堪忍な!"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在おる場所はルートで、フォルダとちゃうから名前の変更はできへん。名前を変更したいフォルダに移動してからやってな。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在おる場所はルートで、フォルダとちゃうから移動はできへん。移動したいフォルダに移動してからやってな。"
|
|
||||||
url-prompt: "このURLのファイルをアップロードしたいねん"
|
url-prompt: "このURLのファイルをアップロードしたいねん"
|
||||||
uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。"
|
uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許してくれるん待っとる"
|
request-pending: "フォロー許してくれるん待っとる"
|
||||||
follow-processing: "今フォロー処理やっとる‥"
|
follow-processing: "今フォロー処理やっとる‥"
|
||||||
follow-request: "フォローさせてや!言うてみる"
|
follow-request: "フォローさせてや!言うてみる"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "おもろそうやな"
|
|
||||||
empty: "おすすめのユーザーはおらん。"
|
|
||||||
fetching: "読み込んどります"
|
|
||||||
refresh: "もっとあるやろ!"
|
|
||||||
close: "さいなら"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は見せられへんわ"
|
private: "この投稿は見せられへんわ"
|
||||||
deleted: "この投稿なんか無くなってもうたわ"
|
deleted: "この投稿なんか無くなってもうたわ"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿なんか無くなってもうたわ"
|
deleted: "この投稿なんか無くなってもうたわ"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿はあらへん"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえり、"
|
welcome-back: "おかえり、"
|
||||||
adjective: "はん"
|
adjective: "はん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyってなんや?"
|
about: "Misskeyってなんや?"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿しとらんようや。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はあらへん。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知っとる"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "やっとること"
|
activity: "やっとること"
|
||||||
keywords: "キーワード"
|
keywords: "キーワード"
|
||||||
domains: "よく出るドメイン"
|
domains: "よく出るドメイン"
|
||||||
frequently-replied-users: "よう話しとるユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知っとるフォロワー"
|
followers-you-know: "知っとるフォロワー"
|
||||||
last-used-at: "最後いつ来た?"
|
last-used-at: "最後いつ来た?"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知っとるユーザーは居らん"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よう話すユーザーは居らん"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はあらへん"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はあらへんで"
|
no-photos: "写真はあらへんで"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変えるで"
|
rename: "名前を変えるで"
|
||||||
stack-left: "左に重ねんで!"
|
stack-left: "左に重ねんで!"
|
||||||
pop-right: "右に出すで!"
|
pop-right: "右に出すで!"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿だけや"
|
is-media-only: "メディア投稿だけや"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "더보기"
|
load-more: "더보기"
|
||||||
enter-password: "비밀번호를 입력하여 주십시오"
|
enter-password: "비밀번호를 입력하여 주십시오"
|
||||||
2fa: "2단계 인증"
|
2fa: "2단계 인증"
|
||||||
|
customize-home: "홈 커스터마이징"
|
||||||
|
featured-notes: "하이라이트"
|
||||||
got-it: "알겠습니다"
|
got-it: "알겠습니다"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "커스터마이징 도움말"
|
title: "커스터마이징 도움말"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "휴지통"
|
trash: "휴지통"
|
||||||
drive: "드라이브"
|
drive: "드라이브"
|
||||||
messaging: "대화"
|
messaging: "대화"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "덱"
|
||||||
|
timeline: "타임라인"
|
||||||
|
explore: "발견"
|
||||||
|
following: "팔로우 중"
|
||||||
|
followers: "팔로워"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "사용자를 팔로우하면 글이 타임라인에 표시됩니다."
|
||||||
|
explore: "사용자 탐색"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "일"
|
sunday: "일"
|
||||||
monday: "월"
|
monday: "월"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "이 글 정보는 복사본입니다."
|
is-remote-post: "이 글 정보는 복사본입니다."
|
||||||
view-on-remote: "정확한 정보 보기"
|
view-on-remote: "정확한 정보 보기"
|
||||||
renoted-by: "{user}이(가) 리노트"
|
renoted-by: "{user}이(가) 리노트"
|
||||||
|
no-notes: "글이 없습니다"
|
||||||
error:
|
error:
|
||||||
title: "오류가 발생했습니다"
|
title: "오류가 발생했습니다"
|
||||||
retry: "다시 시도"
|
retry: "다시 시도"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "어플리케이션으로 돌아가여 시도하여 주십시오."
|
please-go-back: "어플리케이션으로 돌아가여 시도하여 주십시오."
|
||||||
error: "세션이 존재하지 않습니다."
|
error: "세션이 존재하지 않습니다."
|
||||||
sign-in: "로그인 해주시기 바랍니다"
|
sign-in: "로그인 해주시기 바랍니다"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "공식 계정"
|
||||||
|
popular-users: "인기 사용자"
|
||||||
|
recently-updated-users: "최근 게시한 사용자"
|
||||||
|
recently-registered-users: "신규 사용자"
|
||||||
|
popular-tags: "인기 태그"
|
||||||
|
federated: "연합"
|
||||||
|
explore: "{host}을(를) 탐색"
|
||||||
|
users-info: "현재 {users} 사용자가 등록되어 있습니다"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "사용자가 없습니다"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}을(를) 기다리고 있습니다"
|
waiting-for: "{}을(를) 기다리고 있습니다"
|
||||||
@ -209,7 +232,7 @@ common/views/components/games/reversi/reversi.game.vue:
|
|||||||
can-put-everywhere: "어디에도 둘 수 있는 모드"
|
can-put-everywhere: "어디에도 둘 수 있는 모드"
|
||||||
common/views/components/games/reversi/reversi.index.vue:
|
common/views/components/games/reversi/reversi.index.vue:
|
||||||
title: "Misskey Reversi"
|
title: "Misskey Reversi"
|
||||||
sub-title: "다른 Misskey 유저와 리버시로 대결하자"
|
sub-title: "다른 Misskey 사용자와 리버시로 대결하자"
|
||||||
invite: "초대"
|
invite: "초대"
|
||||||
rule: "게임 방법"
|
rule: "게임 방법"
|
||||||
rule-desc: "리버시는 상대와 번갈아가며 돌을 판에 두고, 상대의 돌을 자신의 돌 사이에 두어 자신의 색으로 바꿔나가며, 최종적으로 남아있는 돌이 많은 쪽이 승리하는 보드게임입니다."
|
rule-desc: "리버시는 상대와 번갈아가며 돌을 판에 두고, 상대의 돌을 자신의 돌 사이에 두어 자신의 색으로 바꿔나가며, 최종적으로 남아있는 돌이 많은 쪽이 승리하는 보드게임입니다."
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "뮤트"
|
mute-list: "뮤트"
|
||||||
blocking-list: "차단"
|
blocking-list: "차단"
|
||||||
export-requested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 드라이브에 파일이 추가됩니다."
|
export-requested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 드라이브에 파일이 추가됩니다."
|
||||||
|
enter-password: "비밀번호를 입력하여 주십시오"
|
||||||
|
danger-zone: "위험한 설정"
|
||||||
|
delete-account: "계정 삭제"
|
||||||
|
account-deleted: "계정이 삭제되었습니다. 데이터가 사라질 때까지 시간이 걸릴 수 있습니다."
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "사용자"
|
users: "사용자"
|
||||||
rename: "리스트 이름 바꾸기"
|
rename: "리스트 이름 바꾸기"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} 의 팔로우"
|
following: "{} 의 팔로우"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "팔로우중인 사용자가 없는 것 같습니다."
|
empty: "팔로우중인 사용자가 없는 것 같습니다."
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "마음에 드는 사용자를 팔로우:"
|
|
||||||
empty: "추천 사용자를 찾을 수 없습니다."
|
|
||||||
fetching: "불러오는 중입니다"
|
|
||||||
refresh: "더 보기"
|
|
||||||
close: "닫기"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "리버시"
|
game: "리버시"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "예: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "예: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "창 자동 팝아웃"
|
auto-popout: "창 자동 팝아웃"
|
||||||
auto-popout-desc: "창이 열릴 때 팝아웃 (브라우저 밖으로 분리) 이 가능한 경우 자동으로 팝아웃합니다. 이 설정은 브라우저에 저장됩니다."
|
auto-popout-desc: "창이 열릴 때 팝아웃 (브라우저 밖으로 분리) 이 가능한 경우 자동으로 팝아웃합니다. 이 설정은 브라우저에 저장됩니다."
|
||||||
deck-nav: "덱 내 탐색"
|
|
||||||
deck-nav-desc: "덱을 사용중일 때, 내비게이션이 발생하였을 경우 페이지를 이동하지 않고 일시적으로 임시 칼럼을 생성하도록 합니다."
|
|
||||||
keep-cw: "CW 유지"
|
keep-cw: "CW 유지"
|
||||||
keep-cw-desc: "글에 답글을 달 때, 답글할 글에 CW가 설정되어 있는 경우 기본값으로 동일한 CW를 설정하도록 합니다."
|
keep-cw-desc: "글에 답글을 달 때, 답글할 글에 CW가 설정되어 있는 경우 기본값으로 동일한 CW를 설정하도록 합니다."
|
||||||
deck-default: "덱을 기본 UI로 설정"
|
|
||||||
display: "디자인 및 표시"
|
display: "디자인 및 표시"
|
||||||
customize: "홈 커스터마이징"
|
|
||||||
wallpaper: "배경"
|
wallpaper: "배경"
|
||||||
choose-wallpaper: "배경 설정"
|
choose-wallpaper: "배경 설정"
|
||||||
delete-wallpaper: "배경 제거"
|
delete-wallpaper: "배경 제거"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "즐겨찾기"
|
favorites: "즐겨찾기"
|
||||||
lists: "리스트"
|
lists: "리스트"
|
||||||
follow-requests: "팔로우 요청"
|
follow-requests: "팔로우 요청"
|
||||||
customize: "홈 커스터마이징"
|
|
||||||
admin: "관리"
|
admin: "관리"
|
||||||
settings: "설정"
|
settings: "설정"
|
||||||
signout: "로그아웃"
|
signout: "로그아웃"
|
||||||
dark: "어둠에 삼켜져라"
|
dark: "어둠에 삼켜져라"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "홈"
|
|
||||||
deck: "덱"
|
|
||||||
game: "게임"
|
game: "게임"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "알림"
|
title: "알림"
|
||||||
@ -1040,7 +1054,7 @@ admin/views/instance.vue:
|
|||||||
maintainer-email: "관리자 연락처"
|
maintainer-email: "관리자 연락처"
|
||||||
drive-config: "드라이브 설정"
|
drive-config: "드라이브 설정"
|
||||||
cache-remote-files: "원격 파일을 캐시"
|
cache-remote-files: "원격 파일을 캐시"
|
||||||
cache-remote-files-desc: "이 설정을 해지하면 원격 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 프라이버시 설정에서 직접 링크를 무효로 설정한 유저에게는 파일이 보이지 않거나, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다. 일반적으로 이 설정을 ON으로 두는 것을 추천합니다."
|
cache-remote-files-desc: "이 설정을 해지하면 원격 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 프라이버시 설정에서 직접 링크를 무효로 설정한 사용자에게는 파일이 보이지 않거나, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다. 일반적으로 이 설정을 ON으로 두는 것을 추천합니다."
|
||||||
local-drive-capacity-mb: "로컬 사용자 한 명당 드라이브 용량"
|
local-drive-capacity-mb: "로컬 사용자 한 명당 드라이브 용량"
|
||||||
remote-drive-capacity-mb: "원격 사용자 한 명당 드라이브 용량"
|
remote-drive-capacity-mb: "원격 사용자 한 명당 드라이브 용량"
|
||||||
mb: "메가바이트 단위"
|
mb: "메가바이트 단위"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS를 사용 시 ON으로 합니다."
|
smtp-secure-info: "STARTTLS를 사용 시 ON으로 합니다."
|
||||||
smtp-host: "SMTP 호스트"
|
smtp-host: "SMTP 호스트"
|
||||||
smtp-port: "SMTP 포트"
|
smtp-port: "SMTP 포트"
|
||||||
|
smtp-auth: "SMTP 인증 수행"
|
||||||
smtp-user: "SMTP 사용자"
|
smtp-user: "SMTP 사용자"
|
||||||
smtp-pass: "SMTP 비밀번호"
|
smtp-pass: "SMTP 비밀번호"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "정보"
|
info: "정보"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "홈 커스터마이징"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "이전 글"
|
prev: "이전 글"
|
||||||
next: "다음 글"
|
next: "다음 글"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "사진"
|
title: "사진"
|
||||||
loading: "로드 중"
|
loading: "로드 중"
|
||||||
no-photos: "사진이 없습니다"
|
no-photos: "사진이 없습니다"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "당신을 팔로우합니다"
|
|
||||||
menu: "메뉴"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "글"
|
posts: "글"
|
||||||
following: "팔로잉"
|
following: "팔로잉"
|
||||||
followers: "팔로워"
|
followers: "팔로워"
|
||||||
is-bot: "이 계정은 Bot입니다"
|
is-bot: "이 계정은 Bot입니다"
|
||||||
|
no-description: "자기소개가 없습니다"
|
||||||
years-old: "{age}세"
|
years-old: "{age}세"
|
||||||
year: "년"
|
year: "년"
|
||||||
month: "월"
|
month: "월"
|
||||||
day: "일"
|
day: "일"
|
||||||
|
follows-you: "당신을 팔로우합니다"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "글"
|
default: "글"
|
||||||
with-replies: "글과 답글"
|
with-replies: "글과 답글"
|
||||||
with-media: "미디어"
|
with-media: "미디어"
|
||||||
my-posts: "내 글"
|
my-posts: "내 글"
|
||||||
empty: "이 사용자는 아직 아무것도 게시하지 않은 것 같습니다."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "메시지"
|
title: "메시지"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "무엇을 하시겠습니까? (숫자를 입력하여 주십시오): <1 → 파일 업로드 | 2 → 파일을 URL에서 업로드 | 3 → 폴더 만들기 | 4 → 이 폴더의 이름을 변경 | 5 → 현재 폴더 이동| 6 → 현재 폴더 삭제>"
|
prompt: "무엇을 하시겠습니까? (숫자를 입력하여 주십시오): <1 → 파일 업로드 | 2 → 파일을 URL에서 업로드 | 3 → 폴더 만들기 | 4 → 이 폴더의 이름을 변경 | 5 → 현재 폴더 이동| 6 → 현재 폴더 삭제>"
|
||||||
deletion-alert: "죄송합니다! 폴더 삭제는 아직 구현되지 않았습니다..."
|
deletion-alert: "죄송합니다! 폴더 삭제는 아직 구현되지 않았습니다..."
|
||||||
folder-name: "폴더 이름"
|
folder-name: "폴더 이름"
|
||||||
root-rename-alert: "현재 위치가 루트이고, 폴더가 아니므로 이름을 변경할 수 없습니다. 이름을 바꾸고 싶은 폴더로 이동하여 주십시오."
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "현재 위치가 루트이므로, 폴더가 아니므로 이동할 수 없습니다. 이동하고 싶은 폴더로 이동하여 주십시오."
|
|
||||||
url-prompt: "업로드 하려는 파일의 URL"
|
url-prompt: "업로드 하려는 파일의 URL"
|
||||||
uploading: "업로드를 요청하였습니다. 업로드가 완료될 때까지 시간이 소요될 수 있습니다."
|
uploading: "업로드를 요청하였습니다. 업로드가 완료될 때까지 시간이 소요될 수 있습니다."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "팔로우 허가 대기중"
|
request-pending: "팔로우 허가 대기중"
|
||||||
follow-processing: "팔로우 처리중"
|
follow-processing: "팔로우 처리중"
|
||||||
follow-request: "팔로우 요청"
|
follow-request: "팔로우 요청"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "마음에 드는 사용자를 팔로우"
|
|
||||||
empty: "추천 사용자를 찾을 수 없습니다."
|
|
||||||
fetching: "불러오는 중입니다"
|
|
||||||
refresh: "더 보기"
|
|
||||||
close: "닫기"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "이 글은 비공개입니다"
|
private: "이 글은 비공개입니다"
|
||||||
deleted: "이 글은 삭제되었습니다"
|
deleted: "이 글은 삭제되었습니다"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "이 글은 삭제되었습니다"
|
deleted: "이 글은 삭제되었습니다"
|
||||||
media-count: "{}개의 미디어"
|
media-count: "{}개의 미디어"
|
||||||
poll: "투표"
|
poll: "투표"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "글이 없습니다"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "돌아오신 걸 환영합니다."
|
welcome-back: "돌아오신 걸 환영합니다."
|
||||||
adjective: "님"
|
adjective: "님"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "설정"
|
settings: "설정"
|
||||||
admin: "관리"
|
admin: "관리"
|
||||||
about: "Misskey에 대하여"
|
about: "Misskey에 대하여"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "이 사용자는 작성한 글이 없는 것 같습니다."
|
|
||||||
no-notes-with-media: "미디어가 첨부된 글이 없습니다."
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "모두"
|
|
||||||
known: "아는 사람"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "즐겨찾기"
|
title: "즐겨찾기"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "활동"
|
activity: "활동"
|
||||||
keywords: "키워드"
|
keywords: "키워드"
|
||||||
domains: "자주 보이는 도메인"
|
domains: "자주 보이는 도메인"
|
||||||
frequently-replied-users: "자주 대화하는 사용자"
|
frequently-replied-users: "자주 언급되는 사용자"
|
||||||
followers-you-know: "아는 사람의 팔로워"
|
followers-you-know: "아는 사람의 팔로워"
|
||||||
last-used-at: "마지막 로그인"
|
last-used-at: "마지막 로그인"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "아는 사용자가 없습니다"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "자주 대화하는 사용자가 없습니다"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "글이 없습니다"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "사진이 없습니다"
|
no-photos: "사진이 없습니다"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "이름 변경"
|
rename: "이름 변경"
|
||||||
stack-left: "왼쪽에 쌓기"
|
stack-left: "왼쪽에 쌓기"
|
||||||
pop-right: "오른쪽으로 빼기"
|
pop-right: "오른쪽으로 빼기"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "비활성화된 타임라인"
|
||||||
|
description: "서버 운영자에 의해 이 타임라인이 사용할 수 없도록 설정되어 있습니다."
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "미디어가 달린 글만"
|
is-media-only: "미디어가 달린 글만"
|
||||||
is-media-view: "미디어 보기"
|
|
||||||
edit: "옵션"
|
edit: "옵션"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "당신을 팔로우합니다"
|
follows-you: "당신을 팔로우합니다"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "ゴミ箱"
|
trash: "ゴミ箱"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "Z"
|
sunday: "Z"
|
||||||
monday: "M"
|
monday: "M"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "アプリケーションに戻って、やっていってください。"
|
please-go-back: "アプリケーションに戻って、やっていってください。"
|
||||||
error: "セッションが存在しません。"
|
error: "セッションが存在しません。"
|
||||||
sign-in: "サインインしてください"
|
sign-in: "サインインしてください"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っています"
|
waiting-for: "{}を待っています"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "Volgend {}"
|
following: "Volgend {}"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "Je volgt niemand."
|
empty: "Je volgt niemand."
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "Aanbevolen gebruikers:"
|
|
||||||
empty: "Er zijn geen vergelijkbare gebruikers gevonden."
|
|
||||||
fetching: "Bezig met laden…"
|
|
||||||
refresh: "Meer"
|
|
||||||
close: "Sluiten"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "Othello"
|
game: "Othello"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "Venster automatisch uitvouwen"
|
auto-popout: "Venster automatisch uitvouwen"
|
||||||
auto-popout-desc: "Venster uitvouwen, indien mogelijk. Deze instelling wordt opgeslagen in je browser."
|
auto-popout-desc: "Venster uitvouwen, indien mogelijk. Deze instelling wordt opgeslagen in je browser."
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "Ontwerp en weergave"
|
display: "Ontwerp en weergave"
|
||||||
customize: "Startpagina aanpassen"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "Favorieten"
|
favorites: "Favorieten"
|
||||||
lists: "Lijsten"
|
lists: "Lijsten"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "Aanpassen"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "Instellingen"
|
settings: "Instellingen"
|
||||||
signout: "Uitloggen"
|
signout: "Uitloggen"
|
||||||
dark: "Donkere modus"
|
dark: "Donkere modus"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "Startpagina"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "Othello spelen"
|
game: "Othello spelen"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "Meldingen"
|
title: "Meldingen"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "Startpagina aanpassen"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "Vorige notitie"
|
prev: "Vorige notitie"
|
||||||
next: "Volgende notitie"
|
next: "Volgende notitie"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "Foto's"
|
title: "Foto's"
|
||||||
loading: "Bezig met laden"
|
loading: "Bezig met laden"
|
||||||
no-photos: "Geen foto's"
|
no-photos: "Geen foto's"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "Volgt jou"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "Berichten"
|
default: "Berichten"
|
||||||
with-replies: "Berichten en antwoorden"
|
with-replies: "Berichten en antwoorden"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "Deze gebruiker heeft nog niks geplaatst."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Gesprekken"
|
title: "Gesprekken"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{} media"
|
media-count: "{} media"
|
||||||
poll: "Peiling"
|
poll: "Peiling"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "Geen notities"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Instellingen"
|
settings: "Instellingen"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Over Misskey"
|
about: "Over Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "Het lijkt erop dat deze gebruiker nog niks heeft geplaatst"
|
|
||||||
no-notes-with-media: "Er zijn geen notities met bijgevoegde media"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "Alles"
|
|
||||||
known: "die je kent"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "Activiteit"
|
activity: "Activiteit"
|
||||||
keywords: "Sleutelwoorden"
|
keywords: "Sleutelwoorden"
|
||||||
domains: "Domeinnamen"
|
domains: "Domeinnamen"
|
||||||
frequently-replied-users: "Frequent gesproken gebruikers"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "Volgers die je kent"
|
followers-you-know: "Volgers die je kent"
|
||||||
last-used-at: "Laatst actief"
|
last-used-at: "Laatst actief"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "Geen gebruikers"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "Geen gebruikers"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "Geen notities"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Geen foto's"
|
no-photos: "Geen foto's"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "Skjønner!"
|
got-it: "Skjønner!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "カスタマイズのヒント"
|
title: "カスタマイズのヒント"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Papirkurv"
|
trash: "Papirkurv"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "S"
|
sunday: "S"
|
||||||
monday: "M"
|
monday: "M"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "アプリケーションに戻って、やっていってください。"
|
please-go-back: "アプリケーションに戻って、やっていってください。"
|
||||||
error: "セッションが存在しません。"
|
error: "セッションが存在しません。"
|
||||||
sign-in: "サインインしてください"
|
sign-in: "サインインしてください"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っています"
|
waiting-for: "{}を待っています"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} のフォロー"
|
following: "{} のフォロー"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "フォロー中のユーザーはいないようです。"
|
empty: "フォロー中のユーザーはいないようです。"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー:"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "Mer"
|
|
||||||
close: "Lukk"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "Reversi"
|
game: "Reversi"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "ウィンドウの自動ポップアウト"
|
auto-popout: "ウィンドウの自動ポップアウト"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "デザインと表示"
|
display: "デザインと表示"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "Favoritter"
|
favorites: "Favoritter"
|
||||||
lists: "Lister"
|
lists: "Lister"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "ホームのカスタマイズ"
|
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Innstillinger"
|
settings: "Innstillinger"
|
||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
dark: "闇に飲まれる"
|
dark: "闇に飲まれる"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "Hjem"
|
|
||||||
deck: "Kolonner"
|
|
||||||
game: "Spill"
|
game: "Spill"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "Notifikasjon"
|
title: "Notifikasjon"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "Informasjon"
|
info: "Informasjon"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームのカスタマイズ"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "Forrige innlegg"
|
prev: "Forrige innlegg"
|
||||||
next: "Neste innlegg"
|
next: "Neste innlegg"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "Bilder"
|
title: "Bilder"
|
||||||
loading: "Laster inn"
|
loading: "Laster inn"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "Innlegg"
|
posts: "Innlegg"
|
||||||
following: "Følger"
|
following: "Følger"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "Innlegg"
|
default: "Innlegg"
|
||||||
with-replies: "Innlegg og svar"
|
with-replies: "Innlegg og svar"
|
||||||
with-media: "Media"
|
with-media: "Media"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Melding"
|
title: "Melding"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "Se mer"
|
|
||||||
close: "Lukk"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "Mr."
|
adjective: "Mr."
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Innstillinger"
|
settings: "Innstillinger"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "Alle"
|
|
||||||
known: "Du kjenner"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Favoritter"
|
title: "Favoritter"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
keywords: "Nøkkelord"
|
keywords: "Nøkkelord"
|
||||||
domains: "頻出ドメイン"
|
domains: "頻出ドメイン"
|
||||||
frequently-replied-users: "よく会話するユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -9,10 +9,10 @@ common:
|
|||||||
intro:
|
intro:
|
||||||
title: "Czym jest Misskey?"
|
title: "Czym jest Misskey?"
|
||||||
about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。"
|
about: "Misskeyはオープンソースの<b>分散型マイクロブログSNS</b>です。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。"
|
||||||
features: "特徴"
|
features: "Funkcje"
|
||||||
rich-contents: "Wpis"
|
rich-contents: "Wpis"
|
||||||
rich-contents-desc: "Po prostu opublikuj swój pomysł, gorące tematy i wszystko, co chcesz udostępnić. Możesz ozdobić swoje słowa, dołączyć swoje ulubione zdjęcia, wysłać pliki, w tym filmy i utworzyć ankietę - to są rzeczy, które możesz zrobić w Misskey!"
|
rich-contents-desc: "Po prostu opublikuj swój pomysł, gorące tematy i wszystko, co chcesz udostępnić. Możesz ozdobić swoje słowa, dołączyć swoje ulubione zdjęcia, wysłać pliki, w tym filmy i utworzyć ankietę - to są rzeczy, które możesz zrobić w Misskey!"
|
||||||
reaction: "Reakcje"
|
reaction: "Reakcja"
|
||||||
reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。"
|
reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。"
|
||||||
ui: "Interfejs"
|
ui: "Interfejs"
|
||||||
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
|
ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。"
|
||||||
@ -22,12 +22,14 @@ common:
|
|||||||
adblock:
|
adblock:
|
||||||
detected: "Spróbuj wyłączyć blokadę reklam."
|
detected: "Spróbuj wyłączyć blokadę reklam."
|
||||||
warning: "<strong>Misskey nie zawiera reklam</strong>, ale część funkcji może nie działać prawidłowo z włączonym blokowaniem reklam."
|
warning: "<strong>Misskey nie zawiera reklam</strong>, ale część funkcji może nie działać prawidłowo z włączonym blokowaniem reklam."
|
||||||
application-authorization: "アプリの連携"
|
application-authorization: "Współpraca aplikacji"
|
||||||
close: "Zamknij"
|
close: "Zamknij"
|
||||||
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。"
|
||||||
load-more: "Załaduj więcej"
|
load-more: "Załaduj więcej"
|
||||||
enter-password: "Wprowadź Hasło"
|
enter-password: "Wprowadź Hasło"
|
||||||
2fa: "Uwierzytelnienie dwuetapowe"
|
2fa: "Uwierzytelnienie dwuetapowe"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "Rozumiem!"
|
got-it: "Rozumiem!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Wskazówki o dostosowywaniu"
|
title: "Wskazówki o dostosowywaniu"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Kosz"
|
trash: "Kosz"
|
||||||
drive: "Dysk"
|
drive: "Dysk"
|
||||||
messaging: "Rozmowy"
|
messaging: "Rozmowy"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "Znajdź"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "N"
|
sunday: "N"
|
||||||
monday: "Pn"
|
monday: "Pn"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "Dla dopełnienia, zobacz to zdalnie."
|
view-on-remote: "Dla dopełnienia, zobacz to zdalnie."
|
||||||
renoted-by: "{user} udostępnił(a)"
|
renoted-by: "{user} udostępnił(a)"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "Coś poszło nie tak"
|
title: "Coś poszło nie tak"
|
||||||
retry: "Ponów próbę"
|
retry: "Ponów próbę"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "Wróć do aplikacji."
|
please-go-back: "Wróć do aplikacji."
|
||||||
error: "Sesja nie istnieje."
|
error: "Sesja nie istnieje."
|
||||||
sign-in: "Proszę zalogować się."
|
sign-in: "Proszę zalogować się."
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "Oczekiwanie na {}"
|
waiting-for: "Oczekiwanie na {}"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "Użytkownicy"
|
users: "Użytkownicy"
|
||||||
rename: "Zmień nazwę listy"
|
rename: "Zmień nazwę listy"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "Śledzeni przez {}"
|
following: "Śledzeni przez {}"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "Nikt Cię nie śledzi."
|
empty: "Nikt Cię nie śledzi."
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "Zacznij śledzić ludzi takich jak Ty:"
|
|
||||||
empty: "Nie znaleziono podobnych użytkowników."
|
|
||||||
fetching: "Ładowanie…"
|
|
||||||
refresh: "Więcej"
|
|
||||||
close: "Zamknij"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "Reversi"
|
game: "Reversi"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "Np: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "Np: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "Automatycznie pojawiające się okna"
|
auto-popout: "Automatycznie pojawiające się okna"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "Użyj Talię jako domyślne UI"
|
|
||||||
display: "Wygląd i wyświetlanie"
|
display: "Wygląd i wyświetlanie"
|
||||||
customize: "Dostosuj stronę główną"
|
|
||||||
wallpaper: "Tapeta"
|
wallpaper: "Tapeta"
|
||||||
choose-wallpaper: "Wybierz tło"
|
choose-wallpaper: "Wybierz tło"
|
||||||
delete-wallpaper: "Usuń tło"
|
delete-wallpaper: "Usuń tło"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "Ulubione"
|
favorites: "Ulubione"
|
||||||
lists: "Listy"
|
lists: "Listy"
|
||||||
follow-requests: "Prośby o śledzenie"
|
follow-requests: "Prośby o śledzenie"
|
||||||
customize: "Dostosuj stronę główną"
|
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
settings: "Ustawienia"
|
settings: "Ustawienia"
|
||||||
signout: "Wyloguj się"
|
signout: "Wyloguj się"
|
||||||
dark: "Sprowadź ciemność"
|
dark: "Sprowadź ciemność"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "Strona główna"
|
|
||||||
deck: "Talia"
|
|
||||||
game: "Gra"
|
game: "Gra"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "Powiadomienia"
|
title: "Powiadomienia"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "Informacje"
|
info: "Informacje"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Dysk Misskey"
|
title: "Dysk Misskey"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "Dostosuj stronę główną"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "Poprzedni wpis"
|
prev: "Poprzedni wpis"
|
||||||
next: "Następny wpis"
|
next: "Następny wpis"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "Zdjęcia"
|
title: "Zdjęcia"
|
||||||
loading: "Ładowanie"
|
loading: "Ładowanie"
|
||||||
no-photos: "Brak zdjęć"
|
no-photos: "Brak zdjęć"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "Śledzi Cię"
|
|
||||||
menu: "Menu"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "Wpisy"
|
posts: "Wpisy"
|
||||||
following: "Śledzeni"
|
following: "Śledzeni"
|
||||||
followers: "Śledzący"
|
followers: "Śledzący"
|
||||||
is-bot: "To konto jest botem"
|
is-bot: "To konto jest botem"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age} lat"
|
years-old: "{age} lat"
|
||||||
year: "/"
|
year: "/"
|
||||||
month: "/"
|
month: "/"
|
||||||
day: "-"
|
day: "-"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "Wpisy"
|
default: "Wpisy"
|
||||||
with-replies: "Wpisy i odpowiedzi"
|
with-replies: "Wpisy i odpowiedzi"
|
||||||
with-media: "Multimedia"
|
with-media: "Multimedia"
|
||||||
my-posts: "Moje wpisy"
|
my-posts: "Moje wpisy"
|
||||||
empty: "Ten użytkownik nie umieścił jeszcze niczego."
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "Wiadomości"
|
title: "Wiadomości"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "Co chcesz zrobić? (wprowadź odpowiednią cyfrę): <1 → Wysłać plik | 2 → Wysłać plik z adresu URL | 3 → Utworzyć katalog | 4 → Zmienić nazwę tego katalogu | 5 → Przenieść ten katalog | 6 → Usunąć ten katalog>"
|
prompt: "Co chcesz zrobić? (wprowadź odpowiednią cyfrę): <1 → Wysłać plik | 2 → Wysłać plik z adresu URL | 3 → Utworzyć katalog | 4 → Zmienić nazwę tego katalogu | 5 → Przenieść ten katalog | 6 → Usunąć ten katalog>"
|
||||||
deletion-alert: "Przepraszamy. Usuwanie katalogów nie zostało jeszcze zaimplementowane."
|
deletion-alert: "Przepraszamy. Usuwanie katalogów nie zostało jeszcze zaimplementowane."
|
||||||
folder-name: "Nazwa katalogu"
|
folder-name: "Nazwa katalogu"
|
||||||
root-rename-alert: "Nie można zmienić nazwy katalogu głównego. Przejdź do katalogu, którego nazwę chcesz zmienić."
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "Nie można przenieść tego katalogu, ponieważ jest on katalogiem głównym. Przejdź do katalogu, który chcesz przenieść."
|
|
||||||
url-prompt: "Adres URL pliku, który chcesz wysłać"
|
url-prompt: "Adres URL pliku, który chcesz wysłać"
|
||||||
uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać."
|
uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać."
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "Przetwarzanie"
|
follow-processing: "Przetwarzanie"
|
||||||
follow-request: "Poproś o śledzenie"
|
follow-request: "Poproś o śledzenie"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "Zacznij śledzić ludzi takich jak Ty"
|
|
||||||
empty: "Nie znaleziono podobnych użytkowników."
|
|
||||||
fetching: "Ładowanie…"
|
|
||||||
refresh: "Więcej"
|
|
||||||
close: "Zamknij"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "ten wpis jest prywatny"
|
private: "ten wpis jest prywatny"
|
||||||
deleted: "ten wpis został usunięty"
|
deleted: "ten wpis został usunięty"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "ten wpis został usunięty"
|
deleted: "ten wpis został usunięty"
|
||||||
media-count: "{}zawartości multimedialnej"
|
media-count: "{}zawartości multimedialnej"
|
||||||
poll: "Ankieta"
|
poll: "Ankieta"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "Brak wpisów"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "Witaj ponownie, "
|
welcome-back: "Witaj ponownie, "
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "Ustawienia"
|
settings: "Ustawienia"
|
||||||
admin: "Admin"
|
admin: "Admin"
|
||||||
about: "O Misskey"
|
about: "O Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "Wygląda na to, że ten użytkownik nie opublikował jeszcze niczego"
|
|
||||||
no-notes-with-media: "Brak wpisów z zawartością multimedialną"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "Wszyscy"
|
|
||||||
known: "Znasz"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "Ulubione"
|
title: "Ulubione"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "Aktywność"
|
activity: "Aktywność"
|
||||||
keywords: "Słowa kluczowe"
|
keywords: "Słowa kluczowe"
|
||||||
domains: "Domeny"
|
domains: "Domeny"
|
||||||
frequently-replied-users: "Często aktywni użytkownicy"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "Śledzący których znasz"
|
followers-you-know: "Śledzący których znasz"
|
||||||
last-used-at: "Ostatnio aktywny"
|
last-used-at: "Ostatnio aktywny"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "Brak użytkowników"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "Brak użytkowników"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "Brak wpisów"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Brak zdjęć"
|
no-photos: "Brak zdjęć"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "Zmień nazwę"
|
rename: "Zmień nazwę"
|
||||||
stack-left: "Przypnij do lewej"
|
stack-left: "Przypnij do lewej"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "Tylko wpisy z zawartością multimedialną"
|
is-media-only: "Tylko wpisy z zawartością multimedialną"
|
||||||
is-media-view: "Widok multimediów"
|
|
||||||
edit: "Opcje"
|
edit: "Opcje"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "もっと読み込む"
|
load-more: "もっと読み込む"
|
||||||
enter-password: "パスワードを入力してください"
|
enter-password: "パスワードを入力してください"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "Entendi!"
|
got-it: "Entendi!"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Dicas de personalização"
|
title: "Dicas de personalização"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Lixo"
|
trash: "Lixo"
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
messaging: "トーク"
|
messaging: "トーク"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "Dom"
|
sunday: "Dom"
|
||||||
monday: "Seg"
|
monday: "Seg"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "問題が発生しました"
|
title: "問題が発生しました"
|
||||||
retry: "やり直す"
|
retry: "やり直す"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "Por favor, volte ao aplicativo."
|
please-go-back: "Por favor, volte ao aplicativo."
|
||||||
error: "A sessão não existe."
|
error: "A sessão não existe."
|
||||||
sign-in: "Por favor, entre."
|
sign-in: "Por favor, entre."
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っています"
|
waiting-for: "{}を待っています"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} のフォロー"
|
following: "{} のフォロー"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "フォロー中のユーザーはいないようです。"
|
empty: "フォロー中のユーザーはいないようです。"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー:"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "リバーシ"
|
game: "リバーシ"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "ウィンドウの自動ポップアウト"
|
auto-popout: "ウィンドウの自動ポップアウト"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "デザインと表示"
|
display: "デザインと表示"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "お気に入り"
|
favorites: "お気に入り"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "ホームのカスタマイズ"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
dark: "闇に飲まれる"
|
dark: "闇に飲まれる"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "ホーム"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "通知"
|
title: "通知"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Drive Misskey"
|
title: "Drive Misskey"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "Personalizar a página inicial"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "Nota anterior"
|
prev: "Nota anterior"
|
||||||
next: "Próxima nota"
|
next: "Próxima nota"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "フォト"
|
title: "フォト"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知り合い"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "Atividade"
|
activity: "Atividade"
|
||||||
keywords: "Palavras chave"
|
keywords: "Palavras chave"
|
||||||
domains: "Domínios"
|
domains: "Domínios"
|
||||||
frequently-replied-users: "Perguntas frequentes"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "Seguidores que você conhece"
|
followers-you-know: "Seguidores que você conhece"
|
||||||
last-used-at: "Ativo pela última vez"
|
last-used-at: "Ativo pela última vez"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "Nenhuma mensagem"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "Sem fotos"
|
no-photos: "Sem fotos"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "Загрузить больше"
|
load-more: "Загрузить больше"
|
||||||
enter-password: "Пожалуйста, введите ваш пароль"
|
enter-password: "Пожалуйста, введите ваш пароль"
|
||||||
2fa: "二段階認証"
|
2fa: "二段階認証"
|
||||||
|
customize-home: "ホームをカスタマイズ"
|
||||||
|
featured-notes: "ハイライト"
|
||||||
got-it: "わかった"
|
got-it: "わかった"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "Советы по настройке"
|
title: "Советы по настройке"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "Мусорное ведро"
|
trash: "Мусорное ведро"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
messaging: "Чат"
|
messaging: "Чат"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "デッキ"
|
||||||
|
timeline: "タイムライン"
|
||||||
|
explore: "みつける"
|
||||||
|
following: "フォロー中"
|
||||||
|
followers: "フォロワー"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。"
|
||||||
|
explore: "ユーザーを探索する"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "Вс"
|
sunday: "Вс"
|
||||||
monday: "Пн"
|
monday: "Пн"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "この投稿情報はコピーです。"
|
is-remote-post: "この投稿情報はコピーです。"
|
||||||
view-on-remote: "正確な情報を見る"
|
view-on-remote: "正確な情報を見る"
|
||||||
renoted-by: "{user}がRenote"
|
renoted-by: "{user}がRenote"
|
||||||
|
no-notes: "投稿がありません"
|
||||||
error:
|
error:
|
||||||
title: "Что-то пошло не так :("
|
title: "Что-то пошло не так :("
|
||||||
retry: "Повторить"
|
retry: "Повторить"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "アプリケーションに戻って、やっていってください。"
|
please-go-back: "アプリケーションに戻って、やっていってください。"
|
||||||
error: "セッションが存在しません。"
|
error: "セッションが存在しません。"
|
||||||
sign-in: "サインインしてください"
|
sign-in: "サインインしてください"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "公式アカウント"
|
||||||
|
popular-users: "人気のユーザー"
|
||||||
|
recently-updated-users: "最近投稿したユーザー"
|
||||||
|
recently-registered-users: "新規ユーザー"
|
||||||
|
popular-tags: "人気のタグ"
|
||||||
|
federated: "連合"
|
||||||
|
explore: "{host}を探索"
|
||||||
|
users-info: "現在{users}ユーザーが登録されています"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "ユーザーがいません"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "{}を待っています"
|
waiting-for: "{}を待っています"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "ミュート"
|
mute-list: "ミュート"
|
||||||
blocking-list: "ブロック"
|
blocking-list: "ブロック"
|
||||||
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。"
|
||||||
|
enter-password: "パスワードを入力してください"
|
||||||
|
danger-zone: "危険な設定"
|
||||||
|
delete-account: "アカウントを削除"
|
||||||
|
account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "ユーザー"
|
users: "ユーザー"
|
||||||
rename: "リスト名を変更"
|
rename: "リスト名を変更"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "{} のフォロー"
|
following: "{} のフォロー"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "フォロー中のユーザーはいないようです。"
|
empty: "フォロー中のユーザーはいないようです。"
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー:"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "リバーシ"
|
game: "リバーシ"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "ウィンドウの自動ポップアウト"
|
auto-popout: "ウィンドウの自動ポップアウト"
|
||||||
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。"
|
||||||
deck-nav: "デッキ内ナビゲーション"
|
|
||||||
deck-nav-desc: "デッキを使用しているとき、ナビゲーションが発生する際にページ遷移を行わずに一時的なカラムで受けるようにします。"
|
|
||||||
keep-cw: "CW保持"
|
keep-cw: "CW保持"
|
||||||
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。"
|
||||||
deck-default: "デッキをデフォルトのUIにする"
|
|
||||||
display: "デザインと表示"
|
display: "デザインと表示"
|
||||||
customize: "ホームをカスタマイズ"
|
|
||||||
wallpaper: "壁紙"
|
wallpaper: "壁紙"
|
||||||
choose-wallpaper: "壁紙を選択"
|
choose-wallpaper: "壁紙を選択"
|
||||||
delete-wallpaper: "壁紙を削除"
|
delete-wallpaper: "壁紙を削除"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "お気に入り"
|
favorites: "お気に入り"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
follow-requests: "フォロー申請"
|
follow-requests: "フォロー申請"
|
||||||
customize: "ホームのカスタマイズ"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
dark: "闇に飲まれる"
|
dark: "闇に飲まれる"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "ホーム"
|
|
||||||
deck: "デッキ"
|
|
||||||
game: "ゲーム"
|
game: "ゲーム"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "通知"
|
title: "通知"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
smtp-secure-info: "STARTTLS使用時はオフにします。"
|
||||||
smtp-host: "SMTPホスト"
|
smtp-host: "SMTPホスト"
|
||||||
smtp-port: "SMTPポート"
|
smtp-port: "SMTPポート"
|
||||||
|
smtp-auth: "SMTP認証を行う"
|
||||||
smtp-user: "SMTPユーザー"
|
smtp-user: "SMTPユーザー"
|
||||||
smtp-pass: "SMTPパスワード"
|
smtp-pass: "SMTPパスワード"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "情報"
|
info: "情報"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey Drive"
|
title: "Misskey Drive"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "ホームのカスタマイズ"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "前の投稿"
|
prev: "前の投稿"
|
||||||
next: "次の投稿"
|
next: "次の投稿"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "フォト"
|
title: "フォト"
|
||||||
loading: "読み込み中"
|
loading: "読み込み中"
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "フォローされています"
|
|
||||||
menu: "メニュー"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "投稿"
|
posts: "投稿"
|
||||||
following: "フォロー"
|
following: "フォロー"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
is-bot: "このアカウントはBotです"
|
is-bot: "このアカウントはBotです"
|
||||||
|
no-description: "自己紹介はありません"
|
||||||
years-old: "{age}歳"
|
years-old: "{age}歳"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "フォローされています"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "投稿"
|
default: "投稿"
|
||||||
with-replies: "投稿と返信"
|
with-replies: "投稿と返信"
|
||||||
with-media: "メディア"
|
with-media: "メディア"
|
||||||
my-posts: "私の投稿"
|
my-posts: "私の投稿"
|
||||||
empty: "このユーザーはまだ何も投稿していないようです。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "メッセージ"
|
title: "メッセージ"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
prompt: "何をしますか?(数字を入力してください): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
|
||||||
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
deletion-alert: "ごめんなさい!フォルダの削除は未実装です...。"
|
||||||
folder-name: "フォルダー名"
|
folder-name: "フォルダー名"
|
||||||
root-rename-alert: "現在いる場所はルートで、フォルダではないため名前の変更はできません。名前を変更したいフォルダに移動してからやってください。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "現在いる場所はルートで、フォルダではないため移動はできません。移動したいフォルダに移動してからやってください。"
|
|
||||||
url-prompt: "アップロードしたいファイルのURL"
|
url-prompt: "アップロードしたいファイルのURL"
|
||||||
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "フォロー許可待ち"
|
request-pending: "フォロー許可待ち"
|
||||||
follow-processing: "フォロー処理中"
|
follow-processing: "フォロー処理中"
|
||||||
follow-request: "フォロー申請"
|
follow-request: "フォロー申請"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "気になるユーザーをフォロー"
|
|
||||||
empty: "おすすめのユーザーは見つかりませんでした。"
|
|
||||||
fetching: "読み込んでいます"
|
|
||||||
refresh: "もっと見る"
|
|
||||||
close: "閉じる"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "この投稿は非公開です"
|
private: "この投稿は非公開です"
|
||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "この投稿は削除されました"
|
deleted: "この投稿は削除されました"
|
||||||
media-count: "{}つのメディア"
|
media-count: "{}つのメディア"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "投稿がありません"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "おかえりなさい、"
|
welcome-back: "おかえりなさい、"
|
||||||
adjective: "さん"
|
adjective: "さん"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "設定"
|
settings: "設定"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "Misskeyについて"
|
about: "Misskeyについて"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "このユーザーは投稿していないようです。"
|
|
||||||
no-notes-with-media: "メディア付き投稿はありません。"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "すべて"
|
|
||||||
known: "知り合い"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "お気に入り"
|
title: "お気に入り"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
keywords: "キーワード"
|
keywords: "キーワード"
|
||||||
domains: "頻出ドメイン"
|
domains: "頻出ドメイン"
|
||||||
frequently-replied-users: "よく会話するユーザー"
|
frequently-replied-users: "よく話すユーザー"
|
||||||
followers-you-know: "知り合いのフォロワー"
|
followers-you-know: "知り合いのフォロワー"
|
||||||
last-used-at: "最終ログイン"
|
last-used-at: "最終ログイン"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "知り合いのユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "よく会話するユーザーはいません"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "投稿はありません"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "写真はありません"
|
no-photos: "写真はありません"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "名前を変更"
|
rename: "名前を変更"
|
||||||
stack-left: "左に重ねる"
|
stack-left: "左に重ねる"
|
||||||
pop-right: "右に出す"
|
pop-right: "右に出す"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "無効化されたタイムライン"
|
||||||
|
description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "メディア投稿のみ"
|
is-media-only: "メディア投稿のみ"
|
||||||
is-media-view: "メディアビュー"
|
|
||||||
edit: "オプション"
|
edit: "オプション"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "フォローされています"
|
follows-you: "フォローされています"
|
||||||
|
@ -28,6 +28,8 @@ common:
|
|||||||
load-more: "加载更多"
|
load-more: "加载更多"
|
||||||
enter-password: "请输入您的密码"
|
enter-password: "请输入您的密码"
|
||||||
2fa: "双重身份验证"
|
2fa: "双重身份验证"
|
||||||
|
customize-home: "自定义主页"
|
||||||
|
featured-notes: "高亮"
|
||||||
got-it: "没问题"
|
got-it: "没问题"
|
||||||
customization-tips:
|
customization-tips:
|
||||||
title: "自定义提示"
|
title: "自定义提示"
|
||||||
@ -56,6 +58,15 @@ common:
|
|||||||
trash: "垃圾箱"
|
trash: "垃圾箱"
|
||||||
drive: "网盘"
|
drive: "网盘"
|
||||||
messaging: "聊天"
|
messaging: "聊天"
|
||||||
|
home: "ホーム"
|
||||||
|
deck: "Deck"
|
||||||
|
timeline: "时间线"
|
||||||
|
explore: "发现"
|
||||||
|
following: "正在关注"
|
||||||
|
followers: "关注者"
|
||||||
|
empty-timeline-info:
|
||||||
|
follow-users-to-make-your-timeline: "关注其他用户时,帖子将显示在时间线中。"
|
||||||
|
explore: "查找用户"
|
||||||
weekday-short:
|
weekday-short:
|
||||||
sunday: "日"
|
sunday: "日"
|
||||||
monday: "一"
|
monday: "一"
|
||||||
@ -87,7 +98,7 @@ common:
|
|||||||
public: "公开"
|
public: "公开"
|
||||||
home: "首页"
|
home: "首页"
|
||||||
home-desc: "仅发送至首页的时间线"
|
home-desc: "仅发送至首页的时间线"
|
||||||
followers: "粉丝"
|
followers: "关注者"
|
||||||
followers-desc: "仅发送至粉丝"
|
followers-desc: "仅发送至粉丝"
|
||||||
specified: "指定用户"
|
specified: "指定用户"
|
||||||
specified-desc: "仅发送至指定用户"
|
specified-desc: "仅发送至指定用户"
|
||||||
@ -104,7 +115,7 @@ common:
|
|||||||
search: "搜索"
|
search: "搜索"
|
||||||
delete: "删除"
|
delete: "删除"
|
||||||
loading: "正在加载中"
|
loading: "正在加载中"
|
||||||
ok: "OK"
|
ok: "确定"
|
||||||
update-available-title: "有可用更新"
|
update-available-title: "有可用更新"
|
||||||
update-available: "新的 Misskey 版本现已发布({newer}。目前版本{current}). 刷新页面以应用更新。"
|
update-available: "新的 Misskey 版本现已发布({newer}。目前版本{current}). 刷新页面以应用更新。"
|
||||||
my-token-regenerated: "您的 Token 已被重置, 您将自动登出。"
|
my-token-regenerated: "您的 Token 已被重置, 您将自动登出。"
|
||||||
@ -134,6 +145,7 @@ common:
|
|||||||
is-remote-post: "该投稿已被复制."
|
is-remote-post: "该投稿已被复制."
|
||||||
view-on-remote: "查看准确的信息"
|
view-on-remote: "查看准确的信息"
|
||||||
renoted-by: "由 {user} Renote"
|
renoted-by: "由 {user} Renote"
|
||||||
|
no-notes: "没有帖子"
|
||||||
error:
|
error:
|
||||||
title: "出现问题"
|
title: "出现问题"
|
||||||
retry: "重试"
|
retry: "重试"
|
||||||
@ -197,6 +209,17 @@ auth/views/index.vue:
|
|||||||
please-go-back: "请返回到应用程序"
|
please-go-back: "请返回到应用程序"
|
||||||
error: "会话不存在。"
|
error: "会话不存在。"
|
||||||
sign-in: "请登录。"
|
sign-in: "请登录。"
|
||||||
|
common/views/pages/explore.vue:
|
||||||
|
verified-users: "官方账户"
|
||||||
|
popular-users: "热门用户"
|
||||||
|
recently-updated-users: "活跃用户"
|
||||||
|
recently-registered-users: "新用户"
|
||||||
|
popular-tags: "热门标签"
|
||||||
|
federated: "联合"
|
||||||
|
explore: "查找{host}"
|
||||||
|
users-info: "当前有{users}个注册用户"
|
||||||
|
common/views/components/user-list.vue:
|
||||||
|
no-users: "无用户"
|
||||||
common/views/components/games/reversi/reversi.vue:
|
common/views/components/games/reversi/reversi.vue:
|
||||||
matching:
|
matching:
|
||||||
waiting-for: "等待 {}"
|
waiting-for: "等待 {}"
|
||||||
@ -516,6 +539,10 @@ common/views/components/profile-editor.vue:
|
|||||||
mute-list: "屏蔽列表"
|
mute-list: "屏蔽列表"
|
||||||
blocking-list: "黑名单"
|
blocking-list: "黑名单"
|
||||||
export-requested: "导出请求已提交。可能需要花一些时间。导出的文件将保存到网盘中。"
|
export-requested: "导出请求已提交。可能需要花一些时间。导出的文件将保存到网盘中。"
|
||||||
|
enter-password: "请输入您的密码"
|
||||||
|
danger-zone: "危险选项"
|
||||||
|
delete-account: "删除帐户"
|
||||||
|
account-deleted: "帐户已被删除。 数据会在一段时间之后清除。"
|
||||||
common/views/components/user-list-editor.vue:
|
common/views/components/user-list-editor.vue:
|
||||||
users: "用户"
|
users: "用户"
|
||||||
rename: "重命名列表"
|
rename: "重命名列表"
|
||||||
@ -684,12 +711,6 @@ desktop/views/components/following-window.vue:
|
|||||||
following: "正在关注 {}"
|
following: "正在关注 {}"
|
||||||
desktop/views/components/following.vue:
|
desktop/views/components/following.vue:
|
||||||
empty: "看起来您没有正在关注的用户..."
|
empty: "看起来您没有正在关注的用户..."
|
||||||
desktop/views/components/friends-maker.vue:
|
|
||||||
title: "推荐用户:"
|
|
||||||
empty: "找不到推荐用户。"
|
|
||||||
fetching: "正在加载"
|
|
||||||
refresh: "浏览更多"
|
|
||||||
close: "关闭"
|
|
||||||
desktop/views/components/game-window.vue:
|
desktop/views/components/game-window.vue:
|
||||||
game: "游戏"
|
game: "游戏"
|
||||||
desktop/views/components/home.vue:
|
desktop/views/components/home.vue:
|
||||||
@ -698,7 +719,7 @@ desktop/views/components/home.vue:
|
|||||||
add: "添加"
|
add: "添加"
|
||||||
desktop/views/input-dialog.vue:
|
desktop/views/input-dialog.vue:
|
||||||
cancel: "取消"
|
cancel: "取消"
|
||||||
ok: "完成"
|
ok: "确定"
|
||||||
desktop/views/components/messaging-room-window.vue:
|
desktop/views/components/messaging-room-window.vue:
|
||||||
title: "信息:"
|
title: "信息:"
|
||||||
desktop/views/components/messaging-window.vue:
|
desktop/views/components/messaging-window.vue:
|
||||||
@ -798,13 +819,9 @@ desktop/views/components/settings.vue:
|
|||||||
web-search-engine-desc: "例如: https://www.google.com/?#q={{query}}"
|
web-search-engine-desc: "例如: https://www.google.com/?#q={{query}}"
|
||||||
auto-popout: "自动弹出窗口"
|
auto-popout: "自动弹出窗口"
|
||||||
auto-popout-desc: "如果可用,将使用弹出显示而不是打开新窗口。 此设置存储在浏览器中。"
|
auto-popout-desc: "如果可用,将使用弹出显示而不是打开新窗口。 此设置存储在浏览器中。"
|
||||||
deck-nav: "Deck 内的导航"
|
|
||||||
deck-nav-desc: "在使用Deck时,您会在导航期间获得一个没有页面过渡的临时列。"
|
|
||||||
keep-cw: "保留内容警告"
|
keep-cw: "保留内容警告"
|
||||||
keep-cw-desc: "在回复帖子时,如果原帖设置了内容警告,默认情况下回帖也会设置相同的内容警告。"
|
keep-cw-desc: "在回复帖子时,如果原帖设置了内容警告,默认情况下回帖也会设置相同的内容警告。"
|
||||||
deck-default: "将Deck界面设置为默认UI显示界面"
|
|
||||||
display: "设计与展示"
|
display: "设计与展示"
|
||||||
customize: "自定义首页摆放"
|
|
||||||
wallpaper: "壁纸"
|
wallpaper: "壁纸"
|
||||||
choose-wallpaper: "选择一个背景壁纸"
|
choose-wallpaper: "选择一个背景壁纸"
|
||||||
delete-wallpaper: "移除背景壁纸"
|
delete-wallpaper: "移除背景壁纸"
|
||||||
@ -961,14 +978,11 @@ desktop/views/components/ui.header.account.vue:
|
|||||||
favorites: "最爱"
|
favorites: "最爱"
|
||||||
lists: "列表"
|
lists: "列表"
|
||||||
follow-requests: "关注申请"
|
follow-requests: "关注申请"
|
||||||
customize: "自定义首页布局"
|
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
settings: "设置"
|
settings: "设置"
|
||||||
signout: "登出"
|
signout: "登出"
|
||||||
dark: "切换到黑暗模式 (夜间使用请打开此选项哦~)"
|
dark: "切换到黑暗模式 (夜间使用请打开此选项哦~)"
|
||||||
desktop/views/components/ui.header.nav.vue:
|
desktop/views/components/ui.header.nav.vue:
|
||||||
home: "首页"
|
|
||||||
deck: "Deck"
|
|
||||||
game: "游戏"
|
game: "游戏"
|
||||||
desktop/views/components/ui.header.notifications.vue:
|
desktop/views/components/ui.header.notifications.vue:
|
||||||
title: "通知"
|
title: "通知"
|
||||||
@ -1091,6 +1105,7 @@ admin/views/instance.vue:
|
|||||||
smtp-secure-info: "使用时关闭 STARTTLS。"
|
smtp-secure-info: "使用时关闭 STARTTLS。"
|
||||||
smtp-host: "SMTP 服务器地址 (主机名)"
|
smtp-host: "SMTP 服务器地址 (主机名)"
|
||||||
smtp-port: "SMTP 端口"
|
smtp-port: "SMTP 端口"
|
||||||
|
smtp-auth: "SMTP身份验证"
|
||||||
smtp-user: "SMTP 用户名"
|
smtp-user: "SMTP 用户名"
|
||||||
smtp-pass: "SMTP 密码"
|
smtp-pass: "SMTP 密码"
|
||||||
serviceworker-config: "ServiceWorker"
|
serviceworker-config: "ServiceWorker"
|
||||||
@ -1306,8 +1321,6 @@ desktop/views/pages/welcome.vue:
|
|||||||
info: "信息"
|
info: "信息"
|
||||||
desktop/views/pages/drive.vue:
|
desktop/views/pages/drive.vue:
|
||||||
title: "Misskey 网盘"
|
title: "Misskey 网盘"
|
||||||
desktop/views/pages/home-customize.vue:
|
|
||||||
title: "自定义首页布局"
|
|
||||||
desktop/views/pages/note.vue:
|
desktop/views/pages/note.vue:
|
||||||
prev: "上一个帖子"
|
prev: "上一个帖子"
|
||||||
next: "下一个帖子"
|
next: "下一个帖子"
|
||||||
@ -1339,24 +1352,22 @@ desktop/views/pages/user/user.photos.vue:
|
|||||||
title: "照片"
|
title: "照片"
|
||||||
loading: "正在加载中"
|
loading: "正在加载中"
|
||||||
no-photos: "没有图片"
|
no-photos: "没有图片"
|
||||||
desktop/views/pages/user/user.profile.vue:
|
|
||||||
follows-you: "关注您"
|
|
||||||
menu: "菜单"
|
|
||||||
desktop/views/pages/user/user.header.vue:
|
desktop/views/pages/user/user.header.vue:
|
||||||
posts: "帖子"
|
posts: "帖子"
|
||||||
following: "关注中"
|
following: "关注中"
|
||||||
followers: "关注者"
|
followers: "关注者"
|
||||||
is-bot: "这个账户是Bot"
|
is-bot: "这个账户是Bot"
|
||||||
|
no-description: "没有自我介绍"
|
||||||
years-old: "{age}岁"
|
years-old: "{age}岁"
|
||||||
year: "年"
|
year: "年"
|
||||||
month: "月"
|
month: "月"
|
||||||
day: "日"
|
day: "日"
|
||||||
|
follows-you: "关注您"
|
||||||
desktop/views/pages/user/user.timeline.vue:
|
desktop/views/pages/user/user.timeline.vue:
|
||||||
default: "帖子"
|
default: "帖子"
|
||||||
with-replies: "帖子与回复"
|
with-replies: "帖子与回复"
|
||||||
with-media: "媒体"
|
with-media: "媒体"
|
||||||
my-posts: "我的帖子"
|
my-posts: "我的帖子"
|
||||||
empty: "看起来这个用户还没有发布什么呢。"
|
|
||||||
desktop/views/widgets/messaging.vue:
|
desktop/views/widgets/messaging.vue:
|
||||||
title: "信息"
|
title: "信息"
|
||||||
desktop/views/widgets/notifications.vue:
|
desktop/views/widgets/notifications.vue:
|
||||||
@ -1390,8 +1401,7 @@ mobile/views/components/drive.vue:
|
|||||||
prompt: "您想要干什么呢?(请输入数字):<1 → 上传文件 | 2 → 从URL上传文件 | 3 → 创建新文件夹 | 4 → 更改这个文件夹的名称 | 5 → 移动这个文件夹 | 6 → 删除这个文件夹>"
|
prompt: "您想要干什么呢?(请输入数字):<1 → 上传文件 | 2 → 从URL上传文件 | 3 → 创建新文件夹 | 4 → 更改这个文件夹的名称 | 5 → 移动这个文件夹 | 6 → 删除这个文件夹>"
|
||||||
deletion-alert: "抱歉! 删除文件夹功能尚未实现。"
|
deletion-alert: "抱歉! 删除文件夹功能尚未实现。"
|
||||||
folder-name: "文件夹名称"
|
folder-name: "文件夹名称"
|
||||||
root-rename-alert: "您目前在root模式; 它无法重命名,因为它不是文件夹。 导航到要重命名的文件夹,然后重试。"
|
here-is-root: "現在いる場所はルートで、フォルダではありません。"
|
||||||
root-move-alert: "您目前在root模式; 它无法移动,因为它不是文件夹。 导航到要移动的文件夹,然后重试。"
|
|
||||||
url-prompt: "要上传的文件的URL"
|
url-prompt: "要上传的文件的URL"
|
||||||
uploading: "已请求上传。 上传完成可能需要一段时间。"
|
uploading: "已请求上传。 上传完成可能需要一段时间。"
|
||||||
mobile/views/components/drive-file-chooser.vue:
|
mobile/views/components/drive-file-chooser.vue:
|
||||||
@ -1418,12 +1428,6 @@ common/views/components/follow-button.vue:
|
|||||||
request-pending: "发送关注申请"
|
request-pending: "发送关注申请"
|
||||||
follow-processing: "申请处理中"
|
follow-processing: "申请处理中"
|
||||||
follow-request: "关注申请"
|
follow-request: "关注申请"
|
||||||
mobile/views/components/friends-maker.vue:
|
|
||||||
title: "推荐用户:"
|
|
||||||
empty: "找不到推荐用户。"
|
|
||||||
fetching: "正在加载..."
|
|
||||||
refresh: "浏览更多"
|
|
||||||
close: "关闭"
|
|
||||||
mobile/views/components/note.vue:
|
mobile/views/components/note.vue:
|
||||||
private: "私密帖子"
|
private: "私密帖子"
|
||||||
deleted: "帖子已删除"
|
deleted: "帖子已删除"
|
||||||
@ -1460,8 +1464,6 @@ mobile/views/components/sub-note-content.vue:
|
|||||||
deleted: "帖子已删除"
|
deleted: "帖子已删除"
|
||||||
media-count: "附加{}媒体"
|
media-count: "附加{}媒体"
|
||||||
poll: "投票"
|
poll: "投票"
|
||||||
mobile/views/components/timeline.vue:
|
|
||||||
empty: "无帖子"
|
|
||||||
mobile/views/components/ui.header.vue:
|
mobile/views/components/ui.header.vue:
|
||||||
welcome-back: "欢迎回来!"
|
welcome-back: "欢迎回来!"
|
||||||
adjective: "先生"
|
adjective: "先生"
|
||||||
@ -1478,12 +1480,6 @@ mobile/views/components/ui.nav.vue:
|
|||||||
settings: "设置"
|
settings: "设置"
|
||||||
admin: "管理"
|
admin: "管理"
|
||||||
about: "关于 Misskey"
|
about: "关于 Misskey"
|
||||||
mobile/views/components/user-timeline.vue:
|
|
||||||
no-notes: "看起来该用户还没有发表任何东西哎。"
|
|
||||||
no-notes-with-media: "媒体附件没有备注"
|
|
||||||
mobile/views/components/users-list.vue:
|
|
||||||
all: "所有"
|
|
||||||
known: "共同"
|
|
||||||
mobile/views/pages/favorites.vue:
|
mobile/views/pages/favorites.vue:
|
||||||
title: "收藏"
|
title: "收藏"
|
||||||
mobile/views/pages/user-lists.vue:
|
mobile/views/pages/user-lists.vue:
|
||||||
@ -1591,15 +1587,9 @@ mobile/views/pages/user/home.vue:
|
|||||||
activity: "活动"
|
activity: "活动"
|
||||||
keywords: "关键字"
|
keywords: "关键字"
|
||||||
domains: "域名"
|
domains: "域名"
|
||||||
frequently-replied-users: "活跃的用户"
|
frequently-replied-users: "活跃用户"
|
||||||
followers-you-know: "您可能认识的关注者"
|
followers-you-know: "您可能认识的关注者"
|
||||||
last-used-at: "上次登录:"
|
last-used-at: "上次登录:"
|
||||||
mobile/views/pages/user/home.followers-you-know.vue:
|
|
||||||
no-users: "没有您认识的用户"
|
|
||||||
mobile/views/pages/user/home.friends.vue:
|
|
||||||
no-users: "没有您知道的用户"
|
|
||||||
mobile/views/pages/user/home.notes.vue:
|
|
||||||
no-notes: "没有帖子"
|
|
||||||
mobile/views/pages/user/home.photos.vue:
|
mobile/views/pages/user/home.photos.vue:
|
||||||
no-photos: "没有图片"
|
no-photos: "没有图片"
|
||||||
deck:
|
deck:
|
||||||
@ -1622,9 +1612,11 @@ deck:
|
|||||||
rename: "重命名"
|
rename: "重命名"
|
||||||
stack-left: "向左折叠"
|
stack-left: "向左折叠"
|
||||||
pop-right: "带到右边"
|
pop-right: "带到右边"
|
||||||
|
disabled-timeline:
|
||||||
|
title: "禁用时间线"
|
||||||
|
description: "服务器管理员已禁用时间线。"
|
||||||
deck/deck.tl-column.vue:
|
deck/deck.tl-column.vue:
|
||||||
is-media-only: "只有媒体的帖子"
|
is-media-only: "只有媒体的帖子"
|
||||||
is-media-view: "媒体视图"
|
|
||||||
edit: "选项"
|
edit: "选项"
|
||||||
deck/deck.user-column.vue:
|
deck/deck.user-column.vue:
|
||||||
follows-you: "关注您"
|
follows-you: "关注您"
|
||||||
|
25
package.json
25
package.json
@ -1,8 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"author": "syuilo <i@syuilo.com>",
|
"author": "syuilo <i@syuilo.com>",
|
||||||
"version": "10.84.1",
|
"version": "10.89.1",
|
||||||
"clientVersion": "2.0.14252",
|
|
||||||
"codename": "nighthike",
|
"codename": "nighthike",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -67,7 +66,7 @@
|
|||||||
"@types/mkdirp": "0.5.2",
|
"@types/mkdirp": "0.5.2",
|
||||||
"@types/mocha": "5.2.5",
|
"@types/mocha": "5.2.5",
|
||||||
"@types/mongodb": "3.1.19",
|
"@types/mongodb": "3.1.19",
|
||||||
"@types/node": "10.12.21",
|
"@types/node": "10.12.24",
|
||||||
"@types/nodemailer": "4.6.5",
|
"@types/nodemailer": "4.6.5",
|
||||||
"@types/nprogress": "0.0.29",
|
"@types/nprogress": "0.0.29",
|
||||||
"@types/oauth": "0.9.1",
|
"@types/oauth": "0.9.1",
|
||||||
@ -83,7 +82,7 @@
|
|||||||
"@types/request-stats": "3.0.0",
|
"@types/request-stats": "3.0.0",
|
||||||
"@types/rimraf": "2.0.2",
|
"@types/rimraf": "2.0.2",
|
||||||
"@types/seedrandom": "2.4.27",
|
"@types/seedrandom": "2.4.27",
|
||||||
"@types/sharp": "0.21.1",
|
"@types/sharp": "0.21.2",
|
||||||
"@types/showdown": "1.9.2",
|
"@types/showdown": "1.9.2",
|
||||||
"@types/speakeasy": "2.0.3",
|
"@types/speakeasy": "2.0.3",
|
||||||
"@types/systeminformation": "3.23.1",
|
"@types/systeminformation": "3.23.1",
|
||||||
@ -96,21 +95,21 @@
|
|||||||
"@types/websocket": "0.0.40",
|
"@types/websocket": "0.0.40",
|
||||||
"@types/ws": "6.0.1",
|
"@types/ws": "6.0.1",
|
||||||
"animejs": "3.0.1",
|
"animejs": "3.0.1",
|
||||||
"apexcharts": "3.3.0",
|
"apexcharts": "3.4.1",
|
||||||
"autobind-decorator": "2.4.0",
|
"autobind-decorator": "2.4.0",
|
||||||
"autosize": "4.0.2",
|
"autosize": "4.0.2",
|
||||||
"autwh": "0.1.0",
|
"autwh": "0.1.0",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"bee-queue": "1.2.2",
|
"bee-queue": "1.2.2",
|
||||||
"bootstrap-vue": "2.0.0-rc.11",
|
"bootstrap-vue": "2.0.0-rc.11",
|
||||||
"cafy": "12.1.0",
|
"cafy": "15.1.0",
|
||||||
"chai": "4.2.0",
|
"chai": "4.2.0",
|
||||||
"chai-http": "4.2.1",
|
"chai-http": "4.2.1",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
"commander": "2.19.0",
|
"commander": "2.19.0",
|
||||||
"crc-32": "1.2.0",
|
"crc-32": "1.2.0",
|
||||||
"css-loader": "2.1.0",
|
"css-loader": "2.1.0",
|
||||||
"cssnano": "4.1.8",
|
"cssnano": "4.1.10",
|
||||||
"dateformat": "3.0.3",
|
"dateformat": "3.0.3",
|
||||||
"deep-equal": "1.0.1",
|
"deep-equal": "1.0.1",
|
||||||
"deepcopy": "0.6.3",
|
"deepcopy": "0.6.3",
|
||||||
@ -222,27 +221,27 @@
|
|||||||
"ts-node": "7.0.1",
|
"ts-node": "7.0.1",
|
||||||
"tslint": "5.12.1",
|
"tslint": "5.12.1",
|
||||||
"tslint-sonarts": "1.9.0",
|
"tslint-sonarts": "1.9.0",
|
||||||
"typescript": "3.2.4",
|
"typescript": "3.3.3333",
|
||||||
"typescript-eslint-parser": "21.0.2",
|
"typescript-eslint-parser": "21.0.2",
|
||||||
"uglify-es": "3.3.9",
|
"uglify-es": "3.3.9",
|
||||||
"url-loader": "1.1.2",
|
"url-loader": "1.1.2",
|
||||||
"uuid": "3.3.2",
|
"uuid": "3.3.2",
|
||||||
"v-animate-css": "0.0.3",
|
"v-animate-css": "0.0.3",
|
||||||
"video-thumbnail-generator": "1.1.3",
|
"video-thumbnail-generator": "1.1.3",
|
||||||
"vue": "2.6.5",
|
"vue": "2.6.7",
|
||||||
"vue-color": "2.7.0",
|
"vue-color": "2.7.0",
|
||||||
"vue-content-loading": "1.5.3",
|
"vue-content-loading": "1.5.3",
|
||||||
"vue-cropperjs": "3.0.0",
|
"vue-cropperjs": "3.0.0",
|
||||||
"vue-i18n": "8.8.0",
|
"vue-i18n": "8.8.2",
|
||||||
"vue-js-modal": "1.3.28",
|
"vue-js-modal": "1.3.28",
|
||||||
"vue-loader": "15.6.2",
|
"vue-loader": "15.6.4",
|
||||||
"vue-marquee-text-component": "1.1.1",
|
"vue-marquee-text-component": "1.1.1",
|
||||||
"vue-prism-component": "1.1.1",
|
"vue-prism-component": "1.1.1",
|
||||||
"vue-router": "3.0.2",
|
"vue-router": "3.0.2",
|
||||||
"vue-sequential-entrance": "1.1.3",
|
"vue-sequential-entrance": "1.1.3",
|
||||||
"vue-style-loader": "4.1.2",
|
"vue-style-loader": "4.1.2",
|
||||||
"vue-svg-inline-loader": "1.2.10",
|
"vue-svg-inline-loader": "1.2.10",
|
||||||
"vue-template-compiler": "2.6.5",
|
"vue-template-compiler": "2.6.7",
|
||||||
"vuedraggable": "2.17.0",
|
"vuedraggable": "2.17.0",
|
||||||
"vuewordcloud": "18.7.11",
|
"vuewordcloud": "18.7.11",
|
||||||
"vuex": "3.1.0",
|
"vuex": "3.1.0",
|
||||||
@ -252,7 +251,7 @@
|
|||||||
"webpack": "4.28.4",
|
"webpack": "4.28.4",
|
||||||
"webpack-cli": "3.2.1",
|
"webpack-cli": "3.2.1",
|
||||||
"websocket": "1.0.28",
|
"websocket": "1.0.28",
|
||||||
"ws": "6.1.3",
|
"ws": "6.1.4",
|
||||||
"xev": "2.0.1"
|
"xev": "2.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faExclamationCircle"/> {{ $t('title') }}</div>
|
<template #title><fa :icon="faExclamationCircle"/> {{ $t('title') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<sequential-entrance animation="entranceFromTop" delay="25">
|
<sequential-entrance animation="entranceFromTop" delay="25">
|
||||||
<div v-for="report in userReports" :key="report.id" class="haexwsjc">
|
<div v-for="report in userReports" :key="report.id" class="haexwsjc">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="broadcast-tower"/> {{ $t('announcements') }}</div>
|
<template #title><fa icon="broadcast-tower"/> {{ $t('announcements') }}</template>
|
||||||
<section v-for="(announcement, i) in announcements" class="fit-top">
|
<section v-for="(announcement, i) in announcements" class="fit-top">
|
||||||
<ui-input v-model="announcement.title" @change="save">
|
<ui-input v-model="announcement.title" @change="save">
|
||||||
<span>{{ $t('title') }}</span>
|
<span>{{ $t('title') }}</span>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faTerminal"/> {{ $t('operation') }}</div>
|
<template #title><fa :icon="faTerminal"/> {{ $t('operation') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-input v-model="target" type="text">
|
<ui-input v-model="target" type="text">
|
||||||
<span>{{ $t('fileid-or-url') }}</span>
|
<span>{{ $t('fileid-or-url') }}</span>
|
||||||
@ -17,18 +17,18 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faCloud"/> {{ $t('@.drive') }}</div>
|
<template #title><fa :icon="faCloud"/> {{ $t('@.drive') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-horizon-group inputs>
|
<ui-horizon-group inputs>
|
||||||
<ui-select v-model="sort">
|
<ui-select v-model="sort">
|
||||||
<span slot="label">{{ $t('sort.title') }}</span>
|
<template #label>{{ $t('sort.title') }}</template>
|
||||||
<option value="-createdAt">{{ $t('sort.createdAtAsc') }}</option>
|
<option value="-createdAt">{{ $t('sort.createdAtAsc') }}</option>
|
||||||
<option value="+createdAt">{{ $t('sort.createdAtDesc') }}</option>
|
<option value="+createdAt">{{ $t('sort.createdAtDesc') }}</option>
|
||||||
<option value="-size">{{ $t('sort.sizeAsc') }}</option>
|
<option value="-size">{{ $t('sort.sizeAsc') }}</option>
|
||||||
<option value="+size">{{ $t('sort.sizeDesc') }}</option>
|
<option value="+size">{{ $t('sort.sizeDesc') }}</option>
|
||||||
</ui-select>
|
</ui-select>
|
||||||
<ui-select v-model="origin">
|
<ui-select v-model="origin">
|
||||||
<span slot="label">{{ $t('origin.title') }}</span>
|
<template #label>{{ $t('origin.title') }}</template>
|
||||||
<option value="combined">{{ $t('origin.combined') }}</option>
|
<option value="combined">{{ $t('origin.combined') }}</option>
|
||||||
<option value="local">{{ $t('origin.local') }}</option>
|
<option value="local">{{ $t('origin.local') }}</option>
|
||||||
<option value="remote">{{ $t('origin.remote') }}</option>
|
<option value="remote">{{ $t('origin.remote') }}</option>
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="plus"/> {{ $t('add-emoji.title') }}</div>
|
<template #title><fa icon="plus"/> {{ $t('add-emoji.title') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-horizon-group inputs>
|
<ui-horizon-group inputs>
|
||||||
<ui-input v-model="name">
|
<ui-input v-model="name">
|
||||||
<span>{{ $t('add-emoji.name') }}</span>
|
<span>{{ $t('add-emoji.name') }}</span>
|
||||||
<span slot="desc">{{ $t('add-emoji.name-desc') }}</span>
|
<template #desc>{{ $t('add-emoji.name-desc') }}</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-model="aliases">
|
<ui-input v-model="aliases">
|
||||||
<span>{{ $t('add-emoji.aliases') }}</span>
|
<span>{{ $t('add-emoji.aliases') }}</span>
|
||||||
<span slot="desc">{{ $t('add-emoji.aliases-desc') }}</span>
|
<template #desc>{{ $t('add-emoji.aliases-desc') }}</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
<ui-input v-model="url">
|
<ui-input v-model="url">
|
||||||
<i slot="icon"><fa icon="link"/></i>
|
<template #icon><fa icon="link"/></template>
|
||||||
<span>{{ $t('add-emoji.url') }}</span>
|
<span>{{ $t('add-emoji.url') }}</span>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-info>{{ $t('add-emoji.info') }}</ui-info>
|
<ui-info>{{ $t('add-emoji.info') }}</ui-info>
|
||||||
@ -23,7 +23,7 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faGrin"/> {{ $t('emojis.title') }}</div>
|
<template #title><fa :icon="faGrin"/> {{ $t('emojis.title') }}</template>
|
||||||
<section v-for="emoji in emojis" class="oryfrbft">
|
<section v-for="emoji in emojis" class="oryfrbft">
|
||||||
<div>
|
<div>
|
||||||
<img :src="emoji.url" :alt="emoji.name" style="width: 64px;"/>
|
<img :src="emoji.url" :alt="emoji.name" style="width: 64px;"/>
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</ui-input>
|
</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
<ui-input v-model="emoji.url">
|
<ui-input v-model="emoji.url">
|
||||||
<i slot="icon"><fa icon="link"/></i>
|
<template #icon><fa icon="link"/></template>
|
||||||
<span>{{ $t('add-emoji.url') }}</span>
|
<span>{{ $t('add-emoji.url') }}</span>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-horizon-group class="fit-bottom">
|
<ui-horizon-group class="fit-bottom">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faTerminal"/> {{ $t('federation') }}</div>
|
<template #title><fa :icon="faTerminal"/> {{ $t('federation') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-input class="target" v-model="target" type="text" @enter="showInstance()">
|
<ui-input class="target" v-model="target" type="text" @enter="showInstance()">
|
||||||
<span>{{ $t('host') }}</span>
|
<span>{{ $t('host') }}</span>
|
||||||
@ -74,11 +74,11 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faServer"/> {{ $t('instances') }}</div>
|
<template #title><fa :icon="faServer"/> {{ $t('instances') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-horizon-group inputs>
|
<ui-horizon-group inputs>
|
||||||
<ui-select v-model="sort">
|
<ui-select v-model="sort">
|
||||||
<span slot="label">{{ $t('sort') }}</span>
|
<template #label>{{ $t('sort') }}</template>
|
||||||
<option value="-caughtAt">{{ $t('sorts.caughtAtAsc') }}</option>
|
<option value="-caughtAt">{{ $t('sorts.caughtAtAsc') }}</option>
|
||||||
<option value="+caughtAt">{{ $t('sorts.caughtAtDesc') }}</option>
|
<option value="+caughtAt">{{ $t('sorts.caughtAtDesc') }}</option>
|
||||||
<option value="-lastCommunicatedAt">{{ $t('sorts.lastCommunicatedAtAsc') }}</option>
|
<option value="-lastCommunicatedAt">{{ $t('sorts.lastCommunicatedAtAsc') }}</option>
|
||||||
@ -97,7 +97,7 @@
|
|||||||
<option value="+driveFiles">{{ $t('sorts.driveFilesDesc') }}</option>
|
<option value="+driveFiles">{{ $t('sorts.driveFilesDesc') }}</option>
|
||||||
</ui-select>
|
</ui-select>
|
||||||
<ui-select v-model="state">
|
<ui-select v-model="state">
|
||||||
<span slot="label">{{ $t('state') }}</span>
|
<template #label>{{ $t('state') }}</template>
|
||||||
<option value="all">{{ $t('states.all') }}</option>
|
<option value="all">{{ $t('states.all') }}</option>
|
||||||
<option value="blocked">{{ $t('states.blocked') }}</option>
|
<option value="blocked">{{ $t('states.blocked') }}</option>
|
||||||
<option value="notResponding">{{ $t('states.not-responding') }}</option>
|
<option value="notResponding">{{ $t('states.not-responding') }}</option>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title">{{ $t('hided-tags') }}</div>
|
<template #title>{{ $t('hided-tags') }}</template>
|
||||||
<section>
|
<section>
|
||||||
<textarea class="jdnqwkzlnxcfftthoybjxrebyolvoucw" v-model="hidedTags"></textarea>
|
<textarea class="jdnqwkzlnxcfftthoybjxrebyolvoucw" v-model="hidedTags"></textarea>
|
||||||
<ui-button @click="save">{{ $t('save') }}</ui-button>
|
<ui-button @click="save">{{ $t('save') }}</ui-button>
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="cog"/> {{ $t('instance') }}</div>
|
<template #title><fa icon="cog"/> {{ $t('instance') }}</template>
|
||||||
<section class="fit-top fit-bottom">
|
<section class="fit-top fit-bottom">
|
||||||
<ui-input :value="host" readonly>{{ $t('host') }}</ui-input>
|
<ui-input :value="host" readonly>{{ $t('host') }}</ui-input>
|
||||||
<ui-input v-model="name">{{ $t('instance-name') }}</ui-input>
|
<ui-input v-model="name">{{ $t('instance-name') }}</ui-input>
|
||||||
<ui-textarea v-model="description">{{ $t('instance-description') }}</ui-textarea>
|
<ui-textarea v-model="description">{{ $t('instance-description') }}</ui-textarea>
|
||||||
<ui-input v-model="mascotImageUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('logo-url') }}</ui-input>
|
<ui-input v-model="mascotImageUrl"><template #icon><fa icon="link"/></template>{{ $t('logo-url') }}</ui-input>
|
||||||
<ui-input v-model="bannerUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('banner-url') }}</ui-input>
|
<ui-input v-model="bannerUrl"><template #icon><fa icon="link"/></template>{{ $t('banner-url') }}</ui-input>
|
||||||
<ui-input v-model="errorImageUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('error-image-url') }}</ui-input>
|
<ui-input v-model="errorImageUrl"><template #icon><fa icon="link"/></template>{{ $t('error-image-url') }}</ui-input>
|
||||||
<ui-input v-model="languages"><i slot="icon"><fa icon="language"/></i>{{ $t('languages') }}<span slot="desc">{{ $t('languages-desc') }}</span></ui-input>
|
<ui-input v-model="languages"><template #icon><fa icon="language"/></template>{{ $t('languages') }}<template #desc>{{ $t('languages-desc') }}</template></ui-input>
|
||||||
</section>
|
</section>
|
||||||
<section class="fit-bottom">
|
<section class="fit-bottom">
|
||||||
<header><fa :icon="faHeadset"/> {{ $t('maintainer-config') }}</header>
|
<header><fa :icon="faHeadset"/> {{ $t('maintainer-config') }}</header>
|
||||||
<ui-input v-model="maintainerName">{{ $t('maintainer-name') }}</ui-input>
|
<ui-input v-model="maintainerName">{{ $t('maintainer-name') }}</ui-input>
|
||||||
<ui-input v-model="maintainerEmail" type="email"><i slot="icon"><fa :icon="farEnvelope"/></i>{{ $t('maintainer-email') }}</ui-input>
|
<ui-input v-model="maintainerEmail" type="email"><template #icon><fa :icon="farEnvelope"/></template>{{ $t('maintainer-email') }}</ui-input>
|
||||||
</section>
|
</section>
|
||||||
<section class="fit-top fit-bottom">
|
<section class="fit-top fit-bottom">
|
||||||
<ui-input v-model="maxNoteTextLength">{{ $t('max-note-text-length') }}</ui-input>
|
<ui-input v-model="maxNoteTextLength">{{ $t('max-note-text-length') }}</ui-input>
|
||||||
@ -27,46 +27,47 @@
|
|||||||
</section>
|
</section>
|
||||||
<section class="fit-bottom">
|
<section class="fit-bottom">
|
||||||
<header><fa icon="cloud"/> {{ $t('drive-config') }}</header>
|
<header><fa icon="cloud"/> {{ $t('drive-config') }}</header>
|
||||||
<ui-switch v-model="cacheRemoteFiles">{{ $t('cache-remote-files') }}<span slot="desc">{{ $t('cache-remote-files-desc') }}</span></ui-switch>
|
<ui-switch v-model="cacheRemoteFiles">{{ $t('cache-remote-files') }}<template #desc>{{ $t('cache-remote-files-desc') }}</template></ui-switch>
|
||||||
<ui-input v-model="localDriveCapacityMb" type="number">{{ $t('local-drive-capacity-mb') }}<span slot="suffix">MB</span><span slot="desc">{{ $t('mb') }}</span></ui-input>
|
<ui-input v-model="localDriveCapacityMb" type="number">{{ $t('local-drive-capacity-mb') }}<template #suffix>MB</template><template #desc>{{ $t('mb') }}</template></ui-input>
|
||||||
<ui-input v-model="remoteDriveCapacityMb" type="number" :disabled="!cacheRemoteFiles">{{ $t('remote-drive-capacity-mb') }}<span slot="suffix">MB</span><span slot="desc">{{ $t('mb') }}</span></ui-input>
|
<ui-input v-model="remoteDriveCapacityMb" type="number" :disabled="!cacheRemoteFiles">{{ $t('remote-drive-capacity-mb') }}<template #suffix>MB</template><template #desc>{{ $t('mb') }}</template></ui-input>
|
||||||
</section>
|
</section>
|
||||||
<section class="fit-bottom">
|
<section class="fit-bottom">
|
||||||
<header><fa :icon="faShieldAlt"/> {{ $t('recaptcha-config') }}</header>
|
<header><fa :icon="faShieldAlt"/> {{ $t('recaptcha-config') }}</header>
|
||||||
<ui-switch v-model="enableRecaptcha">{{ $t('enable-recaptcha') }}</ui-switch>
|
<ui-switch v-model="enableRecaptcha">{{ $t('enable-recaptcha') }}</ui-switch>
|
||||||
<ui-info>{{ $t('recaptcha-info') }}</ui-info>
|
<ui-info>{{ $t('recaptcha-info') }}</ui-info>
|
||||||
<ui-horizon-group inputs>
|
<ui-horizon-group inputs>
|
||||||
<ui-input v-model="recaptchaSiteKey" :disabled="!enableRecaptcha"><i slot="icon"><fa icon="key"/></i>{{ $t('recaptcha-site-key') }}</ui-input>
|
<ui-input v-model="recaptchaSiteKey" :disabled="!enableRecaptcha"><template #icon><fa icon="key"/></template>{{ $t('recaptcha-site-key') }}</ui-input>
|
||||||
<ui-input v-model="recaptchaSecretKey" :disabled="!enableRecaptcha"><i slot="icon"><fa icon="key"/></i>{{ $t('recaptcha-secret-key') }}</ui-input>
|
<ui-input v-model="recaptchaSecretKey" :disabled="!enableRecaptcha"><template #icon><fa icon="key"/></template>{{ $t('recaptcha-secret-key') }}</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<header><fa :icon="faGhost"/> {{ $t('proxy-account-config') }}</header>
|
<header><fa :icon="faGhost"/> {{ $t('proxy-account-config') }}</header>
|
||||||
<ui-info>{{ $t('proxy-account-info') }}</ui-info>
|
<ui-info>{{ $t('proxy-account-info') }}</ui-info>
|
||||||
<ui-input v-model="proxyAccount"><span slot="prefix">@</span>{{ $t('proxy-account-username') }}<span slot="desc">{{ $t('proxy-account-username-desc') }}</span></ui-input>
|
<ui-input v-model="proxyAccount"><template #prefix>@</template>{{ $t('proxy-account-username') }}<template #desc>{{ $t('proxy-account-username-desc') }}</template></ui-input>
|
||||||
<ui-info warn>{{ $t('proxy-account-warn') }}</ui-info>
|
<ui-info warn>{{ $t('proxy-account-warn') }}</ui-info>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<header><fa :icon="farEnvelope"/> {{ $t('email-config') }}</header>
|
<header><fa :icon="farEnvelope"/> {{ $t('email-config') }}</header>
|
||||||
<ui-switch v-model="enableEmail">{{ $t('enable-email') }}<span slot="desc">{{ $t('email-config-info') }}</span></ui-switch>
|
<ui-switch v-model="enableEmail">{{ $t('enable-email') }}<template #desc>{{ $t('email-config-info') }}</template></ui-switch>
|
||||||
<ui-input v-model="email" type="email" :disabled="!enableEmail">{{ $t('email') }}</ui-input>
|
<ui-input v-model="email" type="email" :disabled="!enableEmail">{{ $t('email') }}</ui-input>
|
||||||
<ui-horizon-group inputs>
|
<ui-horizon-group inputs>
|
||||||
<ui-input v-model="smtpHost" :disabled="!enableEmail">{{ $t('smtp-host') }}</ui-input>
|
<ui-input v-model="smtpHost" :disabled="!enableEmail">{{ $t('smtp-host') }}</ui-input>
|
||||||
<ui-input v-model="smtpPort" type="number" :disabled="!enableEmail">{{ $t('smtp-port') }}</ui-input>
|
<ui-input v-model="smtpPort" type="number" :disabled="!enableEmail">{{ $t('smtp-port') }}</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
|
<ui-switch v-model="smtpAuth">{{ $t('smtp-auth') }}</ui-switch>
|
||||||
<ui-horizon-group inputs>
|
<ui-horizon-group inputs>
|
||||||
<ui-input v-model="smtpUser" :disabled="!enableEmail">{{ $t('smtp-user') }}</ui-input>
|
<ui-input v-model="smtpUser" :disabled="!enableEmail || !smtpAuth">{{ $t('smtp-user') }}</ui-input>
|
||||||
<ui-input v-model="smtpPass" type="password" :withPasswordToggle="true" :disabled="!enableEmail">{{ $t('smtp-pass') }}</ui-input>
|
<ui-input v-model="smtpPass" type="password" :withPasswordToggle="true" :disabled="!enableEmail || !smtpAuth">{{ $t('smtp-pass') }}</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
<ui-switch v-model="smtpSecure" :disabled="!enableEmail">{{ $t('smtp-secure') }}<span slot="desc">{{ $t('smtp-secure-info') }}</span></ui-switch>
|
<ui-switch v-model="smtpSecure" :disabled="!enableEmail">{{ $t('smtp-secure') }}<template #desc>{{ $t('smtp-secure-info') }}</template></ui-switch>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<header><fa :icon="faBolt"/> {{ $t('serviceworker-config') }}</header>
|
<header><fa :icon="faBolt"/> {{ $t('serviceworker-config') }}</header>
|
||||||
<ui-switch v-model="enableServiceWorker">{{ $t('enable-serviceworker') }}<span slot="desc">{{ $t('serviceworker-info') }}</span></ui-switch>
|
<ui-switch v-model="enableServiceWorker">{{ $t('enable-serviceworker') }}<template #desc>{{ $t('serviceworker-info') }}</template></ui-switch>
|
||||||
<ui-info>{{ $t('vapid-info') }}<br><code>npm i web-push -g<br>web-push generate-vapid-keys</code></ui-info>
|
<ui-info>{{ $t('vapid-info') }}<br><code>npm i web-push -g<br>web-push generate-vapid-keys</code></ui-info>
|
||||||
<ui-horizon-group inputs class="fit-bottom">
|
<ui-horizon-group inputs class="fit-bottom">
|
||||||
<ui-input v-model="swPublicKey" :disabled="!enableServiceWorker"><i slot="icon"><fa icon="key"/></i>{{ $t('vapid-publickey') }}</ui-input>
|
<ui-input v-model="swPublicKey" :disabled="!enableServiceWorker"><template #icon><fa icon="key"/></template>{{ $t('vapid-publickey') }}</ui-input>
|
||||||
<ui-input v-model="swPrivateKey" :disabled="!enableServiceWorker"><i slot="icon"><fa icon="key"/></i>{{ $t('vapid-privatekey') }}</ui-input>
|
<ui-input v-model="swPrivateKey" :disabled="!enableServiceWorker"><template #icon><fa icon="key"/></template>{{ $t('vapid-privatekey') }}</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
@ -76,8 +77,8 @@
|
|||||||
<section>
|
<section>
|
||||||
<header><fa :icon="faUserPlus"/> {{ $t('user-recommendation-config') }}</header>
|
<header><fa :icon="faUserPlus"/> {{ $t('user-recommendation-config') }}</header>
|
||||||
<ui-switch v-model="enableExternalUserRecommendation">{{ $t('enable-external-user-recommendation') }}</ui-switch>
|
<ui-switch v-model="enableExternalUserRecommendation">{{ $t('enable-external-user-recommendation') }}</ui-switch>
|
||||||
<ui-input v-model="externalUserRecommendationEngine" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-engine') }}<span slot="desc">{{ $t('external-user-recommendation-engine-desc') }}</span></ui-input>
|
<ui-input v-model="externalUserRecommendationEngine" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-engine') }}<template #desc>{{ $t('external-user-recommendation-engine-desc') }}</template></ui-input>
|
||||||
<ui-input v-model="externalUserRecommendationTimeout" type="number" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-timeout') }}<span slot="suffix">ms</span><span slot="desc">{{ $t('external-user-recommendation-timeout-desc') }}</span></ui-input>
|
<ui-input v-model="externalUserRecommendationTimeout" type="number" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-timeout') }}<template #suffix>ms</template><template #desc>{{ $t('external-user-recommendation-timeout-desc') }}</template></ui-input>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
||||||
@ -85,7 +86,7 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title">{{ $t('invite') }}</div>
|
<template #title>{{ $t('invite') }}</template>
|
||||||
<section>
|
<section>
|
||||||
<ui-button @click="invite">{{ $t('invite') }}</ui-button>
|
<ui-button @click="invite">{{ $t('invite') }}</ui-button>
|
||||||
<p v-if="inviteCode">Code: <code>{{ inviteCode }}</code></p>
|
<p v-if="inviteCode">Code: <code>{{ inviteCode }}</code></p>
|
||||||
@ -93,12 +94,12 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</div>
|
<template #title><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</template>
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="enableTwitterIntegration">{{ $t('enable-twitter-integration') }}</ui-switch>
|
<ui-switch v-model="enableTwitterIntegration">{{ $t('enable-twitter-integration') }}</ui-switch>
|
||||||
<ui-horizon-group>
|
<ui-horizon-group>
|
||||||
<ui-input v-model="twitterConsumerKey" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-key') }}</ui-input>
|
<ui-input v-model="twitterConsumerKey" :disabled="!enableTwitterIntegration"><template #icon><fa icon="key"/></template>{{ $t('twitter-integration-consumer-key') }}</ui-input>
|
||||||
<ui-input v-model="twitterConsumerSecret" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-secret') }}</ui-input>
|
<ui-input v-model="twitterConsumerSecret" :disabled="!enableTwitterIntegration"><template #icon><fa icon="key"/></template>{{ $t('twitter-integration-consumer-secret') }}</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
<ui-info>{{ $t('twitter-integration-info', { url: `${url}/api/tw/cb` }) }}</ui-info>
|
<ui-info>{{ $t('twitter-integration-info', { url: `${url}/api/tw/cb` }) }}</ui-info>
|
||||||
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
||||||
@ -106,12 +107,12 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</div>
|
<template #title><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</template>
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="enableGithubIntegration">{{ $t('enable-github-integration') }}</ui-switch>
|
<ui-switch v-model="enableGithubIntegration">{{ $t('enable-github-integration') }}</ui-switch>
|
||||||
<ui-horizon-group>
|
<ui-horizon-group>
|
||||||
<ui-input v-model="githubClientId" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-id') }}</ui-input>
|
<ui-input v-model="githubClientId" :disabled="!enableGithubIntegration"><template #icon><fa icon="key"/></template>{{ $t('github-integration-client-id') }}</ui-input>
|
||||||
<ui-input v-model="githubClientSecret" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-secret') }}</ui-input>
|
<ui-input v-model="githubClientSecret" :disabled="!enableGithubIntegration"><template #icon><fa icon="key"/></template>{{ $t('github-integration-client-secret') }}</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
<ui-info>{{ $t('github-integration-info', { url: `${url}/api/gh/cb` }) }}</ui-info>
|
<ui-info>{{ $t('github-integration-info', { url: `${url}/api/gh/cb` }) }}</ui-info>
|
||||||
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
||||||
@ -119,12 +120,12 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</div>
|
<template #title><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</template>
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="enableDiscordIntegration">{{ $t('enable-discord-integration') }}</ui-switch>
|
<ui-switch v-model="enableDiscordIntegration">{{ $t('enable-discord-integration') }}</ui-switch>
|
||||||
<ui-horizon-group>
|
<ui-horizon-group>
|
||||||
<ui-input v-model="discordClientId" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-id') }}</ui-input>
|
<ui-input v-model="discordClientId" :disabled="!enableDiscordIntegration"><template #icon><fa icon="key"/></template>{{ $t('discord-integration-client-id') }}</ui-input>
|
||||||
<ui-input v-model="discordClientSecret" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-secret') }}</ui-input>
|
<ui-input v-model="discordClientSecret" :disabled="!enableDiscordIntegration"><template #icon><fa icon="key"/></template>{{ $t('discord-integration-client-secret') }}</ui-input>
|
||||||
</ui-horizon-group>
|
</ui-horizon-group>
|
||||||
<ui-info>{{ $t('discord-integration-info', { url: `${url}/api/dc/cb` }) }}</ui-info>
|
<ui-info>{{ $t('discord-integration-info', { url: `${url}/api/dc/cb` }) }}</ui-info>
|
||||||
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
|
||||||
@ -188,6 +189,7 @@ export default Vue.extend({
|
|||||||
smtpPort: null,
|
smtpPort: null,
|
||||||
smtpUser: null,
|
smtpUser: null,
|
||||||
smtpPass: null,
|
smtpPass: null,
|
||||||
|
smtpAuth: false,
|
||||||
enableServiceWorker: false,
|
enableServiceWorker: false,
|
||||||
swPublicKey: null,
|
swPublicKey: null,
|
||||||
swPrivateKey: null,
|
swPrivateKey: null,
|
||||||
@ -236,6 +238,7 @@ export default Vue.extend({
|
|||||||
this.smtpPort = meta.smtpPort;
|
this.smtpPort = meta.smtpPort;
|
||||||
this.smtpUser = meta.smtpUser;
|
this.smtpUser = meta.smtpUser;
|
||||||
this.smtpPass = meta.smtpPass;
|
this.smtpPass = meta.smtpPass;
|
||||||
|
this.smtpAuth = meta.smtpUser != null && meta.smtpUser !== '';
|
||||||
this.enableServiceWorker = meta.enableServiceWorker;
|
this.enableServiceWorker = meta.enableServiceWorker;
|
||||||
this.swPublicKey = meta.swPublickey;
|
this.swPublicKey = meta.swPublickey;
|
||||||
this.swPrivateKey = meta.swPrivateKey;
|
this.swPrivateKey = meta.swPrivateKey;
|
||||||
@ -293,8 +296,8 @@ export default Vue.extend({
|
|||||||
smtpSecure: this.smtpSecure,
|
smtpSecure: this.smtpSecure,
|
||||||
smtpHost: this.smtpHost,
|
smtpHost: this.smtpHost,
|
||||||
smtpPort: parseInt(this.smtpPort, 10),
|
smtpPort: parseInt(this.smtpPort, 10),
|
||||||
smtpUser: this.smtpUser,
|
smtpUser: this.smtpAuth ? this.smtpUser : '',
|
||||||
smtpPass: this.smtpPass,
|
smtpPass: this.smtpAuth ? this.smtpPass : '',
|
||||||
enableServiceWorker: this.enableServiceWorker,
|
enableServiceWorker: this.enableServiceWorker,
|
||||||
swPublicKey: this.swPublicKey,
|
swPublicKey: this.swPublicKey,
|
||||||
swPrivateKey: this.swPrivateKey
|
swPrivateKey: this.swPrivateKey
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="plus"/> {{ $t('add-moderator.title') }}</div>
|
<template #title><fa icon="plus"/> {{ $t('add-moderator.title') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-input v-model="username" type="text">
|
<ui-input v-model="username" type="text">
|
||||||
<span slot="prefix">@</span>
|
<template #prefix>@</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-horizon-group>
|
<ui-horizon-group>
|
||||||
<ui-button @click="add" :disabled="changing">{{ $t('add-moderator.add') }}</ui-button>
|
<ui-button @click="add" :disabled="changing">{{ $t('add-moderator.add') }}</ui-button>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title">{{ $t('operation') }}</div>
|
<template #title>{{ $t('operation') }}</template>
|
||||||
<section>
|
<section>
|
||||||
<ui-button @click="removeAllJobs">{{ $t('remove-all-jobs') }}</ui-button>
|
<ui-button @click="removeAllJobs">{{ $t('remove-all-jobs') }}</ui-button>
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faTerminal"/> {{ $t('operation') }}</div>
|
<template #title><fa :icon="faTerminal"/> {{ $t('operation') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-input class="target" v-model="target" type="text" @enter="showUser">
|
<ui-input class="target" v-model="target" type="text" @enter="showUser">
|
||||||
<span>{{ $t('username-or-userid') }}</span>
|
<span>{{ $t('username-or-userid') }}</span>
|
||||||
@ -32,18 +32,18 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faUsers"/> {{ $t('users.title') }}</div>
|
<template #title><fa :icon="faUsers"/> {{ $t('users.title') }}</template>
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-horizon-group inputs>
|
<ui-horizon-group inputs>
|
||||||
<ui-select v-model="sort">
|
<ui-select v-model="sort">
|
||||||
<span slot="label">{{ $t('users.sort.title') }}</span>
|
<template #label>{{ $t('users.sort.title') }}</template>
|
||||||
<option value="-createdAt">{{ $t('users.sort.createdAtAsc') }}</option>
|
<option value="-createdAt">{{ $t('users.sort.createdAtAsc') }}</option>
|
||||||
<option value="+createdAt">{{ $t('users.sort.createdAtDesc') }}</option>
|
<option value="+createdAt">{{ $t('users.sort.createdAtDesc') }}</option>
|
||||||
<option value="-updatedAt">{{ $t('users.sort.updatedAtAsc') }}</option>
|
<option value="-updatedAt">{{ $t('users.sort.updatedAtAsc') }}</option>
|
||||||
<option value="+updatedAt">{{ $t('users.sort.updatedAtDesc') }}</option>
|
<option value="+updatedAt">{{ $t('users.sort.updatedAtDesc') }}</option>
|
||||||
</ui-select>
|
</ui-select>
|
||||||
<ui-select v-model="state">
|
<ui-select v-model="state">
|
||||||
<span slot="label">{{ $t('users.state.title') }}</span>
|
<template #label>{{ $t('users.state.title') }}</template>
|
||||||
<option value="all">{{ $t('users.state.all') }}</option>
|
<option value="all">{{ $t('users.state.all') }}</option>
|
||||||
<option value="admin">{{ $t('users.state.admin') }}</option>
|
<option value="admin">{{ $t('users.state.admin') }}</option>
|
||||||
<option value="moderator">{{ $t('users.state.moderator') }}</option>
|
<option value="moderator">{{ $t('users.state.moderator') }}</option>
|
||||||
@ -52,7 +52,7 @@
|
|||||||
<option value="suspended">{{ $t('users.state.suspended') }}</option>
|
<option value="suspended">{{ $t('users.state.suspended') }}</option>
|
||||||
</ui-select>
|
</ui-select>
|
||||||
<ui-select v-model="origin">
|
<ui-select v-model="origin">
|
||||||
<span slot="label">{{ $t('users.origin.title') }}</span>
|
<template #label>{{ $t('users.origin.title') }}</template>
|
||||||
<option value="combined">{{ $t('users.origin.combined') }}</option>
|
<option value="combined">{{ $t('users.origin.combined') }}</option>
|
||||||
<option value="local">{{ $t('users.origin.local') }}</option>
|
<option value="local">{{ $t('users.origin.local') }}</option>
|
||||||
<option value="remote">{{ $t('users.origin.remote') }}</option>
|
<option value="remote">{{ $t('users.origin.remote') }}</option>
|
||||||
@ -339,7 +339,7 @@ export default Vue.extend({
|
|||||||
});
|
});
|
||||||
|
|
||||||
return !confirm.canceled;
|
return !confirm.canceled;
|
||||||
}
|
},
|
||||||
|
|
||||||
fetchUsers() {
|
fetchUsers() {
|
||||||
this.$root.api('admin/show-users', {
|
this.$root.api('admin/show-users', {
|
||||||
|
@ -108,16 +108,11 @@
|
|||||||
app = isMobile ? 'mobile' : 'desktop';
|
app = isMobile ? 'mobile' : 'desktop';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get salt query
|
|
||||||
const salt = localStorage.getItem('salt')
|
|
||||||
? `?salt=${localStorage.getItem('salt')}`
|
|
||||||
: '';
|
|
||||||
|
|
||||||
// Load an app script
|
// Load an app script
|
||||||
// Note: 'async' make it possible to load the script asyncly.
|
// Note: 'async' make it possible to load the script asyncly.
|
||||||
// 'defer' make it possible to run the script when the dom loaded.
|
// 'defer' make it possible to run the script when the dom loaded.
|
||||||
const script = document.createElement('script');
|
const script = document.createElement('script');
|
||||||
script.setAttribute('src', `/assets/${app}.${ver}.js${salt}`);
|
script.setAttribute('src', `/assets/${app}.${ver}.js`);
|
||||||
script.setAttribute('async', 'true');
|
script.setAttribute('async', 'true');
|
||||||
script.setAttribute('defer', 'true');
|
script.setAttribute('defer', 'true');
|
||||||
head.appendChild(script);
|
head.appendChild(script);
|
||||||
@ -138,8 +133,8 @@
|
|||||||
const meta = await res.json();
|
const meta = await res.json();
|
||||||
|
|
||||||
// Compare versions
|
// Compare versions
|
||||||
if (meta.clientVersion != ver) {
|
if (meta.version != ver) {
|
||||||
localStorage.setItem('v', meta.clientVersion);
|
localStorage.setItem('v', meta.version);
|
||||||
|
|
||||||
alert(
|
alert(
|
||||||
'Misskeyの新しいバージョンがあります。ページを再度読み込みします。' +
|
'Misskeyの新しいバージョンがあります。ページを再度読み込みします。' +
|
||||||
@ -155,9 +150,6 @@
|
|||||||
|
|
||||||
localStorage.removeItem('locale');
|
localStorage.removeItem('locale');
|
||||||
|
|
||||||
// Random
|
|
||||||
localStorage.setItem('salt', Math.random().toString().substr(2, 8));
|
|
||||||
|
|
||||||
// Clear cache (service worker)
|
// Clear cache (service worker)
|
||||||
try {
|
try {
|
||||||
navigator.serviceWorker.controller.postMessage('clear');
|
navigator.serviceWorker.controller.postMessage('clear');
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { clientVersion as current } from '../../config';
|
import { version as current } from '../../config';
|
||||||
|
|
||||||
export default async function($root: any, force = false, silent = false) {
|
export default async function($root: any, force = false, silent = false) {
|
||||||
const meta = await $root.getMeta(force);
|
const meta = await $root.getMeta(force);
|
||||||
const newer = meta.clientVersion;
|
const newer = meta.version;
|
||||||
|
|
||||||
if (newer != current) {
|
if (newer != current) {
|
||||||
localStorage.setItem('should-refresh', 'true');
|
localStorage.setItem('should-refresh', 'true');
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
import { url as instanceUrl } from '../../config';
|
import { url as instanceUrl } from '../../config';
|
||||||
|
import * as url from '../../../../prelude/url';
|
||||||
|
|
||||||
export function getStaticImageUrl(url: string): string {
|
export function getStaticImageUrl(baseUrl: string): string {
|
||||||
const u = new URL(url);
|
const u = new URL(baseUrl);
|
||||||
const dummy = `${u.host}${u.pathname}`; // 拡張子がないとキャッシュしてくれないCDNがあるので
|
const dummy = `${u.host}${u.pathname}`; // 拡張子がないとキャッシュしてくれないCDNがあるので
|
||||||
let result = `${instanceUrl}/proxy/${dummy}?url=${encodeURIComponent(u.href)}`;
|
return `${instanceUrl}/proxy/${dummy}?${url.query({
|
||||||
result += '&static=1';
|
url: u.href,
|
||||||
return result;
|
static: '1'
|
||||||
|
})}`;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,8 @@ export default function(me, settings, note) {
|
|||||||
|
|
||||||
const includesMutedWords = (text: string) =>
|
const includesMutedWords = (text: string) =>
|
||||||
text
|
text
|
||||||
? settings.mutedWords.some(q => q.length > 0 && !q.some(word => !text.includes(word)))
|
? settings.mutedWords.some(q => q.length > 0 && !q.some(word =>
|
||||||
|
word.startsWith('/') && word.endsWith('/') ? !(new RegExp(word.substr(1, word.length - 2)).test(text)) : !text.includes(word)))
|
||||||
: false;
|
: false;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
18
src/client/app/common/size.ts
Normal file
18
src/client/app/common/size.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
export default {
|
||||||
|
install(Vue) {
|
||||||
|
Vue.directive('size', {
|
||||||
|
inserted(el, binding) {
|
||||||
|
const query = binding.value;
|
||||||
|
const width = el.clientWidth;
|
||||||
|
for (const q of query) {
|
||||||
|
if (q.lt && (width <= q.lt)) {
|
||||||
|
el.classList.add(q.class);
|
||||||
|
}
|
||||||
|
if (q.gt && (width >= q.gt)) {
|
||||||
|
el.classList.add(q.class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-activity">
|
<div>
|
||||||
<div ref="chart"></div>
|
<div ref="chart"></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -9,7 +9,17 @@ import Vue from 'vue';
|
|||||||
import ApexCharts from 'apexcharts';
|
import ApexCharts from 'apexcharts';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
props: ['user'],
|
props: {
|
||||||
|
user: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
limit: {
|
||||||
|
type: Number,
|
||||||
|
required: false,
|
||||||
|
default: 21
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
fetching: true,
|
fetching: true,
|
||||||
@ -21,7 +31,7 @@ export default Vue.extend({
|
|||||||
this.$root.api('charts/user/notes', {
|
this.$root.api('charts/user/notes', {
|
||||||
userId: this.user.id,
|
userId: this.user.id,
|
||||||
span: 'day',
|
span: 'day',
|
||||||
limit: 21
|
limit: this.limit
|
||||||
}).then(stats => {
|
}).then(stats => {
|
||||||
const normal = [];
|
const normal = [];
|
||||||
const reply = [];
|
const reply = [];
|
||||||
@ -32,7 +42,7 @@ export default Vue.extend({
|
|||||||
const m = now.getMonth();
|
const m = now.getMonth();
|
||||||
const d = now.getDate();
|
const d = now.getDate();
|
||||||
|
|
||||||
for (let i = 0; i < 21; i++) {
|
for (let i = 0; i < this.limit; i++) {
|
||||||
const x = new Date(y, m, d - i);
|
const x = new Date(y, m, d - i);
|
||||||
normal.push([
|
normal.push([
|
||||||
x,
|
x,
|
||||||
@ -99,10 +109,3 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
|
||||||
.mk-activity
|
|
||||||
max-width 600px
|
|
||||||
margin 0 auto
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="key"/> API</div>
|
<template #title><fa icon="key"/> API</template>
|
||||||
|
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-input :value="$store.state.i.token" readonly>
|
<ui-input :value="$store.state.i.token" readonly>
|
||||||
@ -19,7 +19,7 @@
|
|||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-textarea v-model="body">
|
<ui-textarea v-model="body">
|
||||||
<span>{{ $t('console.parameter') }} (JSON or JSON5)</span>
|
<span>{{ $t('console.parameter') }} (JSON or JSON5)</span>
|
||||||
<span slot="desc">{{ $t('console.credential-info') }}</span>
|
<template #desc>{{ $t('console.credential-info') }}</template>
|
||||||
</ui-textarea>
|
</ui-textarea>
|
||||||
<ui-button @click="send" :disabled="sending">
|
<ui-button @click="send" :disabled="sending">
|
||||||
<template v-if="sending">{{ $t('console.sending') }}</template>
|
<template v-if="sending">{{ $t('console.sending') }}</template>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<header v-if="title" v-html="title"></header>
|
<header v-if="title" v-html="title"></header>
|
||||||
<div class="body" v-if="text" v-html="text"></div>
|
<div class="body" v-if="text" v-html="text"></div>
|
||||||
<ui-input v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder" @keydown="onInputKeydown"></ui-input>
|
<ui-input v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder" @keydown="onInputKeydown"></ui-input>
|
||||||
<ui-input v-if="user" v-model="userInputValue" autofocus @keydown="onInputKeydown"><span slot="prefix">@</span></ui-input>
|
<ui-input v-if="user" v-model="userInputValue" autofocus @keydown="onInputKeydown"><template #prefix>@</template></ui-input>
|
||||||
<ui-select v-if="select" v-model="selectedValue">
|
<ui-select v-if="select" v-model="selectedValue">
|
||||||
<option v-for="item in select.items" :value="item.value">{{ item.text }}</option>
|
<option v-for="item in select.items" :value="item.value">{{ item.text }}</option>
|
||||||
</ui-select>
|
</ui-select>
|
||||||
@ -128,15 +128,16 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
close() {
|
close() {
|
||||||
|
this.$el.style.pointerEvents = 'none';
|
||||||
(this.$refs.bg as any).style.pointerEvents = 'none';
|
(this.$refs.bg as any).style.pointerEvents = 'none';
|
||||||
|
(this.$refs.main as any).style.pointerEvents = 'none';
|
||||||
|
|
||||||
anime({
|
anime({
|
||||||
targets: this.$refs.bg,
|
targets: this.$refs.bg,
|
||||||
opacity: 0,
|
opacity: 0,
|
||||||
duration: 300,
|
duration: 300,
|
||||||
easing: 'linear'
|
easing: 'linear'
|
||||||
});
|
});
|
||||||
|
|
||||||
(this.$refs.main as any).style.pointerEvents = 'none';
|
|
||||||
anime({
|
anime({
|
||||||
targets: this.$refs.main,
|
targets: this.$refs.main,
|
||||||
opacity: 0,
|
opacity: 0,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="cloud"/> {{ $t('@.drive') }}</div>
|
<template #title><fa icon="cloud"/> {{ $t('@.drive') }}</template>
|
||||||
|
|
||||||
<section v-if="!fetching" class="juakhbxthdewydyreaphkepoxgxvfogn">
|
<section v-if="!fetching" class="juakhbxthdewydyreaphkepoxgxvfogn">
|
||||||
<div class="meter"><div :style="meterStyle"></div></div>
|
<div class="meter"><div :style="meterStyle"></div></div>
|
||||||
|
11
src/client/app/common/views/components/dummy.vue
Normal file
11
src/client/app/common/views/components/dummy.vue
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
export default Vue.extend({
|
||||||
|
});
|
||||||
|
</script>
|
@ -1,8 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<button class="wfliddvnhxvyusikowhxozkyxyenqxqr"
|
<button class="wfliddvnhxvyusikowhxozkyxyenqxqr"
|
||||||
:class="{ wait, block, mini, active: isFollowing || hasPendingFollowRequestFromYou }"
|
:class="{ wait, block, inline, mini, transparent, active: isFollowing || hasPendingFollowRequestFromYou }"
|
||||||
@click="onClick"
|
@click="onClick"
|
||||||
:disabled="wait"
|
:disabled="wait"
|
||||||
|
:inline="inline"
|
||||||
>
|
>
|
||||||
<template v-if="!wait">
|
<template v-if="!wait">
|
||||||
<fa :icon="iconAndText[0]"/> <template v-if="!mini">{{ iconAndText[1] }}</template>
|
<fa :icon="iconAndText[0]"/> <template v-if="!mini">{{ iconAndText[1] }}</template>
|
||||||
@ -28,11 +29,21 @@ export default Vue.extend({
|
|||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
|
inline: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
mini: {
|
mini: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
default: false
|
default: false
|
||||||
}
|
},
|
||||||
|
transparent: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
@ -128,6 +139,12 @@ export default Vue.extend({
|
|||||||
border solid 1px var(--primary)
|
border solid 1px var(--primary)
|
||||||
border-radius 36px
|
border-radius 36px
|
||||||
|
|
||||||
|
&:not(.transparent)
|
||||||
|
background #fff
|
||||||
|
|
||||||
|
&.inline
|
||||||
|
display inline-block
|
||||||
|
|
||||||
&.mini
|
&.mini
|
||||||
padding 0
|
padding 0
|
||||||
min-width 0
|
min-width 0
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
|
import dummy from './dummy.vue';
|
||||||
import userName from './user-name.vue';
|
import userName from './user-name.vue';
|
||||||
import followButton from './follow-button.vue';
|
import followButton from './follow-button.vue';
|
||||||
import error from './error.vue';
|
import error from './error.vue';
|
||||||
@ -32,6 +33,7 @@ import urlPreview from './url-preview.vue';
|
|||||||
import fileTypeIcon from './file-type-icon.vue';
|
import fileTypeIcon from './file-type-icon.vue';
|
||||||
import emoji from './emoji.vue';
|
import emoji from './emoji.vue';
|
||||||
import welcomeTimeline from './welcome-timeline.vue';
|
import welcomeTimeline from './welcome-timeline.vue';
|
||||||
|
import userList from './user-list.vue';
|
||||||
import uiInput from './ui/input.vue';
|
import uiInput from './ui/input.vue';
|
||||||
import uiButton from './ui/button.vue';
|
import uiButton from './ui/button.vue';
|
||||||
import uiHorizonGroup from './ui/horizon-group.vue';
|
import uiHorizonGroup from './ui/horizon-group.vue';
|
||||||
@ -46,6 +48,7 @@ import formButton from './ui/form/button.vue';
|
|||||||
import formRadio from './ui/form/radio.vue';
|
import formRadio from './ui/form/radio.vue';
|
||||||
|
|
||||||
Vue.component('mfm', misskeyFlavoredMarkdown);
|
Vue.component('mfm', misskeyFlavoredMarkdown);
|
||||||
|
Vue.component('mk-dummy', dummy);
|
||||||
Vue.component('mk-user-name', userName);
|
Vue.component('mk-user-name', userName);
|
||||||
Vue.component('mk-follow-button', followButton);
|
Vue.component('mk-follow-button', followButton);
|
||||||
Vue.component('mk-error', error);
|
Vue.component('mk-error', error);
|
||||||
@ -77,6 +80,7 @@ Vue.component('mk-url-preview', urlPreview);
|
|||||||
Vue.component('mk-file-type-icon', fileTypeIcon);
|
Vue.component('mk-file-type-icon', fileTypeIcon);
|
||||||
Vue.component('mk-emoji', emoji);
|
Vue.component('mk-emoji', emoji);
|
||||||
Vue.component('mk-welcome-timeline', welcomeTimeline);
|
Vue.component('mk-welcome-timeline', welcomeTimeline);
|
||||||
|
Vue.component('mk-user-list', userList);
|
||||||
Vue.component('ui-input', uiInput);
|
Vue.component('ui-input', uiInput);
|
||||||
Vue.component('ui-button', uiButton);
|
Vue.component('ui-button', uiButton);
|
||||||
Vue.component('ui-horizon-group', uiHorizonGroup);
|
Vue.component('ui-horizon-group', uiHorizonGroup);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card v-if="enableTwitterIntegration || enableDiscordIntegration || enableGithubIntegration">
|
<ui-card v-if="enableTwitterIntegration || enableDiscordIntegration || enableGithubIntegration">
|
||||||
<div slot="title"><fa icon="share-alt"/> {{ $t('title') }}</div>
|
<template #title><fa icon="share-alt"/> {{ $t('title') }}</template>
|
||||||
|
|
||||||
<section v-if="enableTwitterIntegration">
|
<section v-if="enableTwitterIntegration">
|
||||||
<header><fa :icon="['fab', 'twitter']"/> Twitter</header>
|
<header><fa :icon="['fab', 'twitter']"/> Twitter</header>
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
<template>
|
||||||
|
<a class="zxrjzpcj" :href="url" :class="service" target="_blank">
|
||||||
|
<fa :icon="icon" size="lg" fixed-width /><span>{{ text }}</span>
|
||||||
|
</a>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
props: ['url', 'text', 'icon', 'service']
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
.zxrjzpcj
|
||||||
|
display inline-block
|
||||||
|
padding 6px 8px 6px 6px
|
||||||
|
margin-top 4px
|
||||||
|
margin-bottom 4px
|
||||||
|
border-radius 32px
|
||||||
|
white-space nowrap
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
text-decoration none
|
||||||
|
|
||||||
|
&.twitter
|
||||||
|
color #fff
|
||||||
|
background #1da1f3
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
background #0c87cf
|
||||||
|
|
||||||
|
&.github
|
||||||
|
color #fff
|
||||||
|
background #171515
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
background #000
|
||||||
|
|
||||||
|
&.discord
|
||||||
|
color #fff
|
||||||
|
background #7289da
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
background #4968ce
|
||||||
|
|
||||||
|
</style>
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="usertwitxxxgithxxdiscxxxintegrat" :v-if="user.twitter || user.github || user.discord">
|
<div class="nbogcrmo" :v-if="user.twitter || user.github || user.discord">
|
||||||
<x-integration v-if="user.twitter" service="twitter" :url="`https://twitter.com/${user.twitter.screenName}`" :text="user.twitter.screenName" :icon="['fab', 'twitter']"/>
|
<x-integration v-if="user.twitter" service="twitter" :url="`https://twitter.com/${user.twitter.screenName}`" :text="user.twitter.screenName" :icon="['fab', 'twitter']"/>
|
||||||
<x-integration v-if="user.github" service="github" :url="`https://github.com/${user.github.login}`" :text="user.github.login" :icon="['fab', 'github']"/>
|
<x-integration v-if="user.github" service="github" :url="`https://github.com/${user.github.login}`" :text="user.github.login" :icon="['fab', 'github']"/>
|
||||||
<x-integration v-if="user.discord" service="discord" :url="`https://discordapp.com/users/${user.discord.id}`" :text="`${user.discord.username}#${user.discord.discriminator}`" :icon="['fab', 'discord']"/>
|
<x-integration v-if="user.discord" service="discord" :url="`https://discordapp.com/users/${user.discord.id}`" :text="`${user.discord.username}#${user.discord.discriminator}`" :icon="['fab', 'discord']"/>
|
||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import XIntegration from './user.integrations.integration.vue';
|
import XIntegration from './integrations.integration.vue';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
components: {
|
components: {
|
||||||
@ -19,45 +19,8 @@ export default Vue.extend({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.usertwitxxxgithxxdiscxxxintegrat
|
.nbogcrmo
|
||||||
> a
|
> *
|
||||||
display flex
|
margin-right 10px
|
||||||
align-items center
|
|
||||||
padding 32px 38px
|
|
||||||
box-shadow var(--shadow)
|
|
||||||
border-radius var(--round)
|
|
||||||
|
|
||||||
&:not(:last-child)
|
|
||||||
margin-bottom 16px
|
|
||||||
|
|
||||||
&:hover
|
|
||||||
text-decoration none
|
|
||||||
|
|
||||||
> div
|
|
||||||
padding-left .2em
|
|
||||||
line-height 1.3em
|
|
||||||
flex 1 0
|
|
||||||
word-wrap anywhere
|
|
||||||
|
|
||||||
&.twitter
|
|
||||||
color #fff
|
|
||||||
background #1da1f3
|
|
||||||
|
|
||||||
&:hover
|
|
||||||
background #0c87cf
|
|
||||||
|
|
||||||
&.github
|
|
||||||
color #fff
|
|
||||||
background #171515
|
|
||||||
|
|
||||||
&:hover
|
|
||||||
background #000
|
|
||||||
|
|
||||||
&.discord
|
|
||||||
color #fff
|
|
||||||
background #7289da
|
|
||||||
|
|
||||||
&:hover
|
|
||||||
background #4968ce
|
|
||||||
|
|
||||||
</style>
|
</style>
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="language"/> {{ $t('title') }}</div>
|
<template #title><fa icon="language"/> {{ $t('title') }}</template>
|
||||||
|
|
||||||
<section class="fit-top">
|
<section class="fit-top">
|
||||||
<ui-select v-model="lang" :placeholder="$t('pick-language')">
|
<ui-select v-model="lang" :placeholder="$t('pick-language')">
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<b>{{ $t('sensitive') }}</b>
|
<b>{{ $t('sensitive') }}</b>
|
||||||
<span>{{ $t('click-to-show') }}</span>
|
<span>{{ $t('click-to-show') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="audio" v-else-if="media.type.startsWith('audio')">
|
<div class="audio" v-else-if="media.type.startsWith('audio') && media.type !== 'audio/midi'">
|
||||||
<audio class="audio"
|
<audio class="audio"
|
||||||
:src="media.url"
|
:src="media.url"
|
||||||
:title="media.name"
|
:title="media.name"
|
||||||
@ -44,7 +44,7 @@ export default Vue.extend({
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
const audioTag = this.$refs.audio as HTMLAudioElement;
|
const audioTag = this.$refs.audio as HTMLAudioElement;
|
||||||
audioTag.volume = this.$store.state.device.mediaVolume;
|
if (audioTag) audioTag.volume = this.$store.state.device.mediaVolume;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
volumechange() {
|
volumechange() {
|
||||||
|
@ -10,7 +10,9 @@
|
|||||||
:style="style"
|
:style="style"
|
||||||
:title="image.name"
|
:title="image.name"
|
||||||
@click.prevent="onClick"
|
@click.prevent="onClick"
|
||||||
></a>
|
>
|
||||||
|
<div v-if="image.type === 'image/gif'">GIF</div>
|
||||||
|
</a>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@ -76,6 +78,20 @@ export default Vue.extend({
|
|||||||
background-size contain
|
background-size contain
|
||||||
background-repeat no-repeat
|
background-repeat no-repeat
|
||||||
|
|
||||||
|
> div
|
||||||
|
background-color var(--text)
|
||||||
|
border-radius var(--round)
|
||||||
|
color var(--secondary)
|
||||||
|
display inline-block
|
||||||
|
font-size 14px
|
||||||
|
font-weight bold
|
||||||
|
left 12px
|
||||||
|
opacity .5
|
||||||
|
padding 0 6px
|
||||||
|
text-align center
|
||||||
|
top 12px
|
||||||
|
pointer-events none
|
||||||
|
|
||||||
.qjewsnkgzzxlxtzncydssfbgjibiehcy
|
.qjewsnkgzzxlxtzncydssfbgjibiehcy
|
||||||
display flex
|
display flex
|
||||||
justify-content center
|
justify-content center
|
||||||
|
@ -40,7 +40,11 @@ export default Vue.component('misskey-flavored-markdown', {
|
|||||||
},
|
},
|
||||||
customEmojis: {
|
customEmojis: {
|
||||||
required: false,
|
required: false,
|
||||||
}
|
},
|
||||||
|
isNote: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
render(createElement) {
|
render(createElement) {
|
||||||
@ -204,7 +208,7 @@ export default Vue.component('misskey-flavored-markdown', {
|
|||||||
return [createElement('router-link', {
|
return [createElement('router-link', {
|
||||||
key: Math.random(),
|
key: Math.random(),
|
||||||
attrs: {
|
attrs: {
|
||||||
to: `/tags/${encodeURIComponent(token.node.props.hashtag)}`,
|
to: this.isNote ? `/tags/${encodeURIComponent(token.node.props.hashtag)}` : `/explore/tags/${encodeURIComponent(token.node.props.hashtag)}`,
|
||||||
style: 'color:var(--mfmHashtag);'
|
style: 'color:var(--mfmHashtag);'
|
||||||
}
|
}
|
||||||
}, `#${token.node.props.hashtag}`)];
|
}, `#${token.node.props.hashtag}`)];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="ban"/> {{ $t('mute-and-block') }}</div>
|
<template #title><fa icon="ban"/> {{ $t('mute-and-block') }}</template>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<header>{{ $t('mute') }}</header>
|
<header>{{ $t('mute') }}</header>
|
||||||
@ -25,7 +25,7 @@
|
|||||||
<section>
|
<section>
|
||||||
<header>{{ $t('word-mute') }}</header>
|
<header>{{ $t('word-mute') }}</header>
|
||||||
<ui-textarea v-model="mutedWords">
|
<ui-textarea v-model="mutedWords">
|
||||||
{{ $t('muted-words') }}<span slot="desc">{{ $t('muted-words-description') }}</span>
|
{{ $t('muted-words') }}<template #desc>{{ $t('muted-words-description') }}</template>
|
||||||
</ui-textarea>
|
</ui-textarea>
|
||||||
<ui-button @click="save">{{ $t('save') }}</ui-button>
|
<ui-button @click="save">{{ $t('save') }}</ui-button>
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="['far', 'bell']"/> {{ $t('title') }}</div>
|
<template #title><fa :icon="['far', 'bell']"/> {{ $t('title') }}</template>
|
||||||
<section>
|
<section>
|
||||||
<ui-switch v-model="$store.state.i.settings.autoWatch" @change="onChangeAutoWatch">
|
<ui-switch v-model="$store.state.i.settings.autoWatch" @change="onChangeAutoWatch">
|
||||||
{{ $t('auto-watch') }}<span slot="desc">{{ $t('auto-watch-desc') }}</span>
|
{{ $t('auto-watch') }}<template #desc>{{ $t('auto-watch-desc') }}</template>
|
||||||
</ui-switch>
|
</ui-switch>
|
||||||
<section>
|
<section>
|
||||||
<ui-button @click="readAllNotifications">{{ $t('mark-as-read-all-notifications') }}</ui-button>
|
<ui-button @click="readAllNotifications">{{ $t('mark-as-read-all-notifications') }}</ui-button>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="user"/> {{ $t('title') }}</div>
|
<template #title><fa icon="user"/> {{ $t('title') }}</template>
|
||||||
|
|
||||||
<section class="esokaraujimuwfttfzgocmutcihewscl">
|
<section class="esokaraujimuwfttfzgocmutcihewscl">
|
||||||
<div class="header" :style="bannerStyle">
|
<div class="header" :style="bannerStyle">
|
||||||
@ -14,41 +14,41 @@
|
|||||||
|
|
||||||
<ui-input v-model="username" readonly>
|
<ui-input v-model="username" readonly>
|
||||||
<span>{{ $t('account') }}</span>
|
<span>{{ $t('account') }}</span>
|
||||||
<span slot="prefix">@</span>
|
<template #prefix>@</template>
|
||||||
<span slot="suffix">@{{ host }}</span>
|
<template #suffix>@{{ host }}</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
|
|
||||||
<ui-input v-model="location">
|
<ui-input v-model="location">
|
||||||
<span>{{ $t('location') }}</span>
|
<span>{{ $t('location') }}</span>
|
||||||
<span slot="prefix"><fa icon="map-marker-alt"/></span>
|
<template #prefix><fa icon="map-marker-alt"/></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
|
|
||||||
<ui-input v-model="birthday" type="date">
|
<ui-input v-model="birthday" type="date">
|
||||||
<span slot="title">{{ $t('birthday') }}</span>
|
<template #title>{{ $t('birthday') }}</template>
|
||||||
<span slot="prefix"><fa icon="birthday-cake"/></span>
|
<template #prefix><fa icon="birthday-cake"/></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
|
|
||||||
<ui-textarea v-model="description" :max="500">
|
<ui-textarea v-model="description" :max="500">
|
||||||
<span>{{ $t('description') }}</span>
|
<span>{{ $t('description') }}</span>
|
||||||
<span slot="desc">{{ $t('you-can-include-hashtags') }}</span>
|
<template #desc>{{ $t('you-can-include-hashtags') }}</template>
|
||||||
</ui-textarea>
|
</ui-textarea>
|
||||||
|
|
||||||
<ui-select v-model="lang">
|
<ui-select v-model="lang">
|
||||||
<span slot="label">{{ $t('language') }}</span>
|
<template #label>{{ $t('language') }}</template>
|
||||||
<span slot="icon"><fa icon="language"/></span>
|
<template #icon><fa icon="language"/></template>
|
||||||
<option v-for="lang in unique(Object.values(langmap).map(x => x.nativeName)).map(name => Object.keys(langmap).find(k => langmap[k].nativeName == name))" :value="lang" :key="lang">{{ langmap[lang].nativeName }}</option>
|
<option v-for="lang in unique(Object.values(langmap).map(x => x.nativeName)).map(name => Object.keys(langmap).find(k => langmap[k].nativeName == name))" :value="lang" :key="lang">{{ langmap[lang].nativeName }}</option>
|
||||||
</ui-select>
|
</ui-select>
|
||||||
|
|
||||||
<ui-input type="file" @change="onAvatarChange">
|
<ui-input type="file" @change="onAvatarChange">
|
||||||
<span>{{ $t('avatar') }}</span>
|
<span>{{ $t('avatar') }}</span>
|
||||||
<span slot="icon"><fa icon="image"/></span>
|
<template #icon><fa icon="image"/></template>
|
||||||
<span slot="desc" v-if="avatarUploading">{{ $t('uploading') }}<mk-ellipsis/></span>
|
<template #desc v-if="avatarUploading">{{ $t('uploading') }}<mk-ellipsis/></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
|
|
||||||
<ui-input type="file" @change="onBannerChange">
|
<ui-input type="file" @change="onBannerChange">
|
||||||
<span>{{ $t('banner') }}</span>
|
<span>{{ $t('banner') }}</span>
|
||||||
<span slot="icon"><fa icon="image"/></span>
|
<template #icon><fa icon="image"/></template>
|
||||||
<span slot="desc" v-if="bannerUploading">{{ $t('uploading') }}<mk-ellipsis/></span>
|
<template #desc v-if="bannerUploading">{{ $t('uploading') }}<mk-ellipsis/></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
|
|
||||||
<ui-button @click="save(true)">{{ $t('save') }}</ui-button>
|
<ui-button @click="save(true)">{{ $t('save') }}</ui-button>
|
||||||
@ -101,6 +101,13 @@
|
|||||||
<ui-button @click="doExport()"><fa :icon="faDownload"/> {{ $t('export') }}</ui-button>
|
<ui-button @click="doExport()"><fa :icon="faDownload"/> {{ $t('export') }}</ui-button>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<details>
|
||||||
|
<summary>{{ $t('danger-zone') }}</summary>
|
||||||
|
<ui-button @click="deleteAccount()">{{ $t('delete-account') }}</ui-button>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
</ui-card>
|
</ui-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -283,6 +290,25 @@ export default Vue.extend({
|
|||||||
type: 'info',
|
type: 'info',
|
||||||
text: this.$t('export-requested')
|
text: this.$t('export-requested')
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
async deleteAccount() {
|
||||||
|
const { canceled: canceled, result: password } = await this.$root.dialog({
|
||||||
|
title: this.$t('enter-password'),
|
||||||
|
input: {
|
||||||
|
type: 'password'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (canceled) return;
|
||||||
|
|
||||||
|
this.$root.api('i/delete-account', {
|
||||||
|
password
|
||||||
|
}).then(() => {
|
||||||
|
this.$root.dialog({
|
||||||
|
type: 'success',
|
||||||
|
text: this.$t('account-deleted')
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -3,16 +3,16 @@
|
|||||||
<div class="avatar" :style="{ backgroundImage: user ? `url('${ user.avatarUrl }')` : null }" v-show="withAvatar"></div>
|
<div class="avatar" :style="{ backgroundImage: user ? `url('${ user.avatarUrl }')` : null }" v-show="withAvatar"></div>
|
||||||
<ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]+$" spellcheck="false" autofocus required @input="onUsernameChange" styl="fill">
|
<ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]+$" spellcheck="false" autofocus required @input="onUsernameChange" styl="fill">
|
||||||
<span>{{ $t('username') }}</span>
|
<span>{{ $t('username') }}</span>
|
||||||
<span slot="prefix">@</span>
|
<template #prefix>@</template>
|
||||||
<span slot="suffix">@{{ host }}</span>
|
<template #suffix>@{{ host }}</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-model="password" type="password" :with-password-toggle="true" required styl="fill">
|
<ui-input v-model="password" type="password" :with-password-toggle="true" required styl="fill">
|
||||||
<span>{{ $t('password') }}</span>
|
<span>{{ $t('password') }}</span>
|
||||||
<span slot="prefix"><fa icon="lock"/></span>
|
<template #prefix><fa icon="lock"/></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required styl="fill">
|
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required styl="fill">
|
||||||
<span>{{ $t('@.2fa') }}</span>
|
<span>{{ $t('@.2fa') }}</span>
|
||||||
<span slot="prefix"><fa icon="gavel"/></span>
|
<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>
|
||||||
|
@ -3,37 +3,39 @@
|
|||||||
<template v-if="meta">
|
<template v-if="meta">
|
||||||
<ui-input v-if="meta.disableRegistration" v-model="invitationCode" type="text" :autocomplete="Math.random()" spellcheck="false" required styl="fill">
|
<ui-input v-if="meta.disableRegistration" v-model="invitationCode" type="text" :autocomplete="Math.random()" spellcheck="false" required styl="fill">
|
||||||
<span>{{ $t('invitation-code') }}</span>
|
<span>{{ $t('invitation-code') }}</span>
|
||||||
<span slot="prefix"><fa icon="id-card-alt"/></span>
|
<template #prefix><fa icon="id-card-alt"/></template>
|
||||||
<p slot="desc" v-html="this.$t('invitation-info').replace('{}', 'mailto:' + meta.maintainer.email)"></p>
|
<template #desc v-html="this.$t('invitation-info').replace('{}', 'mailto:' + meta.maintainer.email)"></template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]{1,20}$" :autocomplete="Math.random()" spellcheck="false" required @input="onChangeUsername" styl="fill">
|
<ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]{1,20}$" :autocomplete="Math.random()" spellcheck="false" required @input="onChangeUsername" styl="fill">
|
||||||
<span>{{ $t('username') }}</span>
|
<span>{{ $t('username') }}</span>
|
||||||
<span slot="prefix">@</span>
|
<template #prefix>@</template>
|
||||||
<span slot="suffix">@{{ host }}</span>
|
<template #suffix>@{{ host }}</template>
|
||||||
<p slot="desc" v-if="usernameState == 'wait'" style="color:#999"><fa icon="spinner" pulse fixed-width/> {{ $t('checking') }}</p>
|
<template #desc>
|
||||||
<p slot="desc" v-if="usernameState == 'ok'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('available') }}</p>
|
<span v-if="usernameState == 'wait'" style="color:#999"><fa icon="spinner" pulse fixed-width/> {{ $t('checking') }}</span>
|
||||||
<p slot="desc" v-if="usernameState == 'unavailable'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('unavailable') }}</p>
|
<span v-if="usernameState == 'ok'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('available') }}</span>
|
||||||
<p slot="desc" v-if="usernameState == 'error'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('error') }}</p>
|
<span v-if="usernameState == 'unavailable'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('unavailable') }}</span>
|
||||||
<p slot="desc" v-if="usernameState == 'invalid-format'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('invalid-format') }}</p>
|
<span v-if="usernameState == 'error'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('error') }}</span>
|
||||||
<p slot="desc" v-if="usernameState == 'min-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-short') }}</p>
|
<span v-if="usernameState == 'invalid-format'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('invalid-format') }}</span>
|
||||||
<p slot="desc" v-if="usernameState == 'max-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-long') }}</p>
|
<span v-if="usernameState == 'min-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-short') }}</span>
|
||||||
|
<span v-if="usernameState == 'max-range'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('too-long') }}</span>
|
||||||
|
</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-model="password" type="password" :autocomplete="Math.random()" required @input="onChangePassword" :with-password-meter="true" styl="fill">
|
<ui-input v-model="password" type="password" :autocomplete="Math.random()" required @input="onChangePassword" :with-password-meter="true" styl="fill">
|
||||||
<span>{{ $t('password') }}</span>
|
<span>{{ $t('password') }}</span>
|
||||||
<span slot="prefix"><fa icon="lock"/></span>
|
<template #prefix><fa icon="lock"/></template>
|
||||||
<div slot="desc">
|
<template #desc>
|
||||||
<p v-if="passwordStrength == 'low'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('weak-password') }}</p>
|
<p v-if="passwordStrength == 'low'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('weak-password') }}</p>
|
||||||
<p v-if="passwordStrength == 'medium'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('normal-password') }}</p>
|
<p v-if="passwordStrength == 'medium'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('normal-password') }}</p>
|
||||||
<p v-if="passwordStrength == 'high'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('strong-password') }}</p>
|
<p v-if="passwordStrength == 'high'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('strong-password') }}</p>
|
||||||
</div>
|
</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<ui-input v-model="retypedPassword" type="password" :autocomplete="Math.random()" required @input="onChangePasswordRetype" styl="fill">
|
<ui-input v-model="retypedPassword" type="password" :autocomplete="Math.random()" required @input="onChangePasswordRetype" styl="fill">
|
||||||
<span>{{ $t('password') }} ({{ $t('retype') }})</span>
|
<span>{{ $t('password') }} ({{ $t('retype') }})</span>
|
||||||
<span slot="prefix"><fa icon="lock"/></span>
|
<template #prefix><fa icon="lock"/></template>
|
||||||
<div slot="desc">
|
<template #desc>
|
||||||
<p v-if="passwordRetypeState == 'match'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('password-matched') }}</p>
|
<p v-if="passwordRetypeState == 'match'" style="color:#3CB7B5"><fa icon="check" fixed-width/> {{ $t('password-matched') }}</p>
|
||||||
<p v-if="passwordRetypeState == 'not-match'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('password-not-matched') }}</p>
|
<p v-if="passwordRetypeState == 'not-match'" style="color:#FF1161"><fa icon="exclamation-triangle" fixed-width/> {{ $t('password-not-matched') }}</p>
|
||||||
</div>
|
</template>
|
||||||
</ui-input>
|
</ui-input>
|
||||||
<div v-if="meta.enableRecaptcha" class="g-recaptcha" :data-sitekey="meta.recaptchaSiteKey" style="margin: 16px 0;"></div>
|
<div v-if="meta.enableRecaptcha" class="g-recaptcha" :data-sitekey="meta.recaptchaSiteKey" style="margin: 16px 0;"></div>
|
||||||
<ui-button type="submit">{{ $t('create') }}</ui-button>
|
<ui-button type="submit">{{ $t('create') }}</ui-button>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa icon="palette"/> {{ $t('theme') }}</div>
|
<template #title><fa icon="palette"/> {{ $t('theme') }}</template>
|
||||||
<section class="nicnklzforebnpfgasiypmpdaaglujqm fit-top">
|
<section class="nicnklzforebnpfgasiypmpdaaglujqm fit-top">
|
||||||
<label>
|
<label>
|
||||||
<ui-select v-model="light" :placeholder="$t('light-theme')">
|
<ui-select v-model="light" :placeholder="$t('light-theme')">
|
||||||
<span slot="label"><fa :icon="faSun"/> {{ $t('light-theme') }}</span>
|
<template #label><fa :icon="faSun"/> {{ $t('light-theme') }}</template>
|
||||||
<optgroup :label="$t('light-themes')">
|
<optgroup :label="$t('light-themes')">
|
||||||
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||||
</optgroup>
|
</optgroup>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
<label>
|
<label>
|
||||||
<ui-select v-model="dark" :placeholder="$t('dark-theme')">
|
<ui-select v-model="dark" :placeholder="$t('dark-theme')">
|
||||||
<span slot="label"><fa :icon="faMoon"/> {{ $t('dark-theme') }}</span>
|
<template #label><fa :icon="faMoon"/> {{ $t('dark-theme') }}</template>
|
||||||
<optgroup :label="$t('dark-themes')">
|
<optgroup :label="$t('dark-themes')">
|
||||||
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||||
</optgroup>
|
</optgroup>
|
||||||
|
@ -359,7 +359,7 @@ root(fill)
|
|||||||
display none
|
display none
|
||||||
|
|
||||||
> *
|
> *
|
||||||
display block
|
display inline-block
|
||||||
min-width 16px
|
min-width 16px
|
||||||
max-width 150px
|
max-width 150px
|
||||||
overflow hidden
|
overflow hidden
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cudqjmnl">
|
<div class="cudqjmnl">
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faList"/> {{ list.title }}</div>
|
<template #title><fa :icon="faList"/> {{ list.title }}</template>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<ui-button @click="rename"><fa :icon="faICursor"/> {{ $t('rename') }}</ui-button>
|
<ui-button @click="rename"><fa :icon="faICursor"/> {{ $t('rename') }}</ui-button>
|
||||||
@ -10,7 +10,7 @@
|
|||||||
</ui-card>
|
</ui-card>
|
||||||
|
|
||||||
<ui-card>
|
<ui-card>
|
||||||
<div slot="title"><fa :icon="faUsers"/> {{ $t('users') }}</div>
|
<template #title><fa :icon="faUsers"/> {{ $t('users') }}</template>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<sequential-entrance animation="entranceFromTop" delay="25">
|
<sequential-entrance animation="entranceFromTop" delay="25">
|
||||||
|
183
src/client/app/common/views/components/user-list.vue
Normal file
183
src/client/app/common/views/components/user-list.vue
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
<template>
|
||||||
|
<ui-container :body-togglable="true">
|
||||||
|
<template #header><slot></slot></template>
|
||||||
|
|
||||||
|
<mk-error v-if="!fetching && !inited" @retry="init()"/>
|
||||||
|
|
||||||
|
<div class="efvhhmdq" :class="{ iconOnly }" v-size="[{ lt: 500, class: 'narrow' }]">
|
||||||
|
<div class="no-users" v-if="inited && us.length == 0">
|
||||||
|
<p>{{ $t('no-users') }}</p>
|
||||||
|
</div>
|
||||||
|
<div class="user" v-for="user in us">
|
||||||
|
<mk-avatar class="avatar" :user="user"/>
|
||||||
|
<div class="body" v-if="!iconOnly">
|
||||||
|
<div class="name">
|
||||||
|
<router-link class="name" :to="user | userPage" v-user-preview="user.id"><mk-user-name :user="user"/></router-link>
|
||||||
|
<p class="username">@{{ user | acct }}</p>
|
||||||
|
</div>
|
||||||
|
<div class="description" v-if="user.description" :title="user.description">
|
||||||
|
<mfm :text="user.description" :is-note="false" :author="user" :i="$store.state.i" :custom-emojis="user.emojis" :should-break="false"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="more" :class="{ fetching: fetchingMoreUsers }" v-if="cursor != null" @click="fetchMoreUsers()" :disabled="fetchingMoreUsers">
|
||||||
|
<template v-if="fetchingMoreUsers"><fa icon="spinner" pulse fixed-width/></template>{{ fetchingMoreUsers ? $t('@.loading') : $t('@.load-more') }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</ui-container>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
import i18n from '../../../i18n';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
i18n: i18n('common/views/components/user-list.vue'),
|
||||||
|
|
||||||
|
props: {
|
||||||
|
makePromise: {
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
iconOnly: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
fetching: true,
|
||||||
|
fetchingMoreUsers: false,
|
||||||
|
us: [],
|
||||||
|
inited: false,
|
||||||
|
cursor: null
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.init();
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
init() {
|
||||||
|
this.fetching = true;
|
||||||
|
this.makePromise().then(x => {
|
||||||
|
if (Array.isArray(x)) {
|
||||||
|
this.us = x;
|
||||||
|
} else {
|
||||||
|
this.us = x.users;
|
||||||
|
this.cursor = x.cursor;
|
||||||
|
}
|
||||||
|
this.inited = true;
|
||||||
|
this.fetching = false;
|
||||||
|
}, e => {
|
||||||
|
this.fetching = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
fetchMoreUsers() {
|
||||||
|
this.fetchingMoreUsers = true;
|
||||||
|
this.makePromise(this.cursor).then(x => {
|
||||||
|
this.us = this.us.concat(x.users);
|
||||||
|
this.cursor = x.cursor;
|
||||||
|
this.fetchingMoreUsers = false;
|
||||||
|
}, e => {
|
||||||
|
this.fetchingMoreUsers = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
.efvhhmdq
|
||||||
|
&.narrow
|
||||||
|
> .user > .body > .name
|
||||||
|
width 100%
|
||||||
|
|
||||||
|
> .user > .body > .description
|
||||||
|
display none
|
||||||
|
|
||||||
|
&.iconOnly
|
||||||
|
padding 12px
|
||||||
|
|
||||||
|
> .user
|
||||||
|
display inline-block
|
||||||
|
padding 0
|
||||||
|
border-bottom none
|
||||||
|
|
||||||
|
> .avatar
|
||||||
|
display inline-block
|
||||||
|
margin 4px
|
||||||
|
|
||||||
|
> .no-users
|
||||||
|
text-align center
|
||||||
|
color var(--text)
|
||||||
|
|
||||||
|
> .user
|
||||||
|
display flex
|
||||||
|
padding 16px
|
||||||
|
border-bottom solid 1px var(--faceDivider)
|
||||||
|
|
||||||
|
&:last-child
|
||||||
|
border-bottom none
|
||||||
|
|
||||||
|
> .avatar
|
||||||
|
display block
|
||||||
|
flex-shrink 0
|
||||||
|
margin 0 12px 0 0
|
||||||
|
width 42px
|
||||||
|
height 42px
|
||||||
|
border-radius 8px
|
||||||
|
|
||||||
|
> .body
|
||||||
|
display flex
|
||||||
|
width calc(100% - 54px)
|
||||||
|
|
||||||
|
> .name
|
||||||
|
width 45%
|
||||||
|
|
||||||
|
> .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
|
||||||
|
|
||||||
|
> .description
|
||||||
|
width 55%
|
||||||
|
color var(--text)
|
||||||
|
line-height 42px
|
||||||
|
white-space nowrap
|
||||||
|
overflow hidden
|
||||||
|
text-overflow ellipsis
|
||||||
|
opacity 0.7
|
||||||
|
font-size 14px
|
||||||
|
|
||||||
|
> .more
|
||||||
|
display block
|
||||||
|
width 100%
|
||||||
|
padding 16px
|
||||||
|
color var(--text)
|
||||||
|
border-top solid var(--lineWidth) rgba(#000, 0.05)
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
background rgba(#000, 0.025)
|
||||||
|
|
||||||
|
&:active
|
||||||
|
background rgba(#000, 0.05)
|
||||||
|
|
||||||
|
&.fetching
|
||||||
|
cursor wait
|
||||||
|
|
||||||
|
> [data-icon]
|
||||||
|
margin-right 4px
|
||||||
|
|
||||||
|
</style>
|
@ -76,6 +76,7 @@ export default Vue.extend({
|
|||||||
if (note.replyId != null) return;
|
if (note.replyId != null) return;
|
||||||
if (note.renoteId != null) return;
|
if (note.renoteId != null) return;
|
||||||
if (note.poll != null) return;
|
if (note.poll != null) return;
|
||||||
|
if (note.localOnly) return;
|
||||||
|
|
||||||
this.notes.unshift(note);
|
this.notes.unshift(note);
|
||||||
},
|
},
|
||||||
|
188
src/client/app/common/views/pages/explore.vue
Normal file
188
src/client/app/common/views/pages/explore.vue
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<ui-container :show-header="false" v-if="meta && stats">
|
||||||
|
<div class="kpdsmpnk" :style="{ backgroundImage: meta.bannerUrl ? `url(${meta.bannerUrl})` : null }">
|
||||||
|
<div>
|
||||||
|
<router-link to="/explore" class="title">{{ $t('explore', { host: meta.name }) }}</router-link>
|
||||||
|
<span>{{ $t('users-info', { users: num(stats.originalUsersCount) }) }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ui-container>
|
||||||
|
|
||||||
|
<ui-container :body-togglable="true" :expanded="tag == null" ref="tags">
|
||||||
|
<template #header><fa :icon="faHashtag" fixed-width/>{{ $t('popular-tags') }}</template>
|
||||||
|
|
||||||
|
<div class="vxjfqztj">
|
||||||
|
<router-link v-for="tag in tagsLocal" :to="`/explore/tags/${tag.tag}`" :key="tag.tag" class="local">{{ tag.tag }}</router-link>
|
||||||
|
<router-link v-for="tag in tagsRemote" :to="`/explore/tags/${tag.tag}`" :key="tag.tag">{{ tag.tag }}</router-link>
|
||||||
|
</div>
|
||||||
|
</ui-container>
|
||||||
|
|
||||||
|
<mk-user-list v-if="tag != null" :make-promise="tagUsers" :key="`${tag}-local`">
|
||||||
|
<fa :icon="faHashtag" fixed-width/>{{ tag }}
|
||||||
|
</mk-user-list>
|
||||||
|
<mk-user-list v-if="tag != null" :make-promise="tagRemoteUsers" :key="`${tag}-remote`">
|
||||||
|
<fa :icon="faHashtag" fixed-width/>{{ tag }} ({{ $t('federated') }})
|
||||||
|
</mk-user-list>
|
||||||
|
|
||||||
|
<template v-if="tag == null">
|
||||||
|
<mk-user-list :make-promise="verifiedUsers">
|
||||||
|
<fa :icon="faBookmark" fixed-width/>{{ $t('verified-users') }}
|
||||||
|
</mk-user-list>
|
||||||
|
<mk-user-list :make-promise="popularUsers">
|
||||||
|
<fa :icon="faChartLine" fixed-width/>{{ $t('popular-users') }}
|
||||||
|
</mk-user-list>
|
||||||
|
<mk-user-list :make-promise="recentlyUpdatedUsers">
|
||||||
|
<fa :icon="faCommentAlt" fixed-width/>{{ $t('recently-updated-users') }}
|
||||||
|
</mk-user-list>
|
||||||
|
<mk-user-list :make-promise="recentlyRegisteredUsers">
|
||||||
|
<fa :icon="faPlus" fixed-width/>{{ $t('recently-registered-users') }}
|
||||||
|
</mk-user-list>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
import i18n from '../../../i18n';
|
||||||
|
import { faChartLine, faPlus, faHashtag } from '@fortawesome/free-solid-svg-icons';
|
||||||
|
import { faBookmark, faCommentAlt } from '@fortawesome/free-regular-svg-icons';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
i18n: i18n('common/views/pages/explore.vue'),
|
||||||
|
|
||||||
|
props: {
|
||||||
|
tag: {
|
||||||
|
type: String,
|
||||||
|
required: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
verifiedUsers: () => this.$root.api('users', {
|
||||||
|
state: 'verified',
|
||||||
|
origin: 'local',
|
||||||
|
sort: '+follower',
|
||||||
|
limit: 10
|
||||||
|
}),
|
||||||
|
popularUsers: () => this.$root.api('users', {
|
||||||
|
state: 'alive',
|
||||||
|
origin: 'local',
|
||||||
|
sort: '+follower',
|
||||||
|
limit: 10
|
||||||
|
}),
|
||||||
|
recentlyUpdatedUsers: () => this.$root.api('users', {
|
||||||
|
origin: 'local',
|
||||||
|
sort: '+updatedAt',
|
||||||
|
limit: 10
|
||||||
|
}),
|
||||||
|
recentlyRegisteredUsers: () => this.$root.api('users', {
|
||||||
|
origin: 'local',
|
||||||
|
state: 'alive',
|
||||||
|
sort: '+createdAt',
|
||||||
|
limit: 10
|
||||||
|
}),
|
||||||
|
tagsLocal: [],
|
||||||
|
tagsRemote: [],
|
||||||
|
stats: null,
|
||||||
|
meta: null,
|
||||||
|
num: Vue.filter('number'),
|
||||||
|
faBookmark, faChartLine, faCommentAlt, faPlus, faHashtag
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
tagUsers(): () => Promise<any> {
|
||||||
|
return () => this.$root.api('hashtags/users', {
|
||||||
|
tag: this.tag,
|
||||||
|
state: 'alive',
|
||||||
|
origin: 'local',
|
||||||
|
sort: '+follower',
|
||||||
|
limit: 30
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
tagRemoteUsers(): () => Promise<any> {
|
||||||
|
return () => this.$root.api('hashtags/users', {
|
||||||
|
tag: this.tag,
|
||||||
|
state: 'alive',
|
||||||
|
origin: 'remote',
|
||||||
|
sort: '+follower',
|
||||||
|
limit: 30
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
tag() {
|
||||||
|
if (this.$refs.tags) this.$refs.tags.toggleContent(this.tag == null);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.$root.api('hashtags/list', {
|
||||||
|
sort: '+attachedLocalUsers',
|
||||||
|
attachedToLocalUserOnly: true,
|
||||||
|
limit: 30
|
||||||
|
}).then(tags => {
|
||||||
|
this.tagsLocal = tags;
|
||||||
|
});
|
||||||
|
this.$root.api('hashtags/list', {
|
||||||
|
sort: '+attachedRemoteUsers',
|
||||||
|
attachedToRemoteUserOnly: true,
|
||||||
|
limit: 30
|
||||||
|
}).then(tags => {
|
||||||
|
this.tagsRemote = tags;
|
||||||
|
});
|
||||||
|
this.$root.api('stats').then(stats => {
|
||||||
|
this.stats = stats;
|
||||||
|
});
|
||||||
|
this.$root.getMeta().then(meta => {
|
||||||
|
this.meta = meta;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
.vxjfqztj
|
||||||
|
padding 16px
|
||||||
|
|
||||||
|
> *
|
||||||
|
margin-right 16px
|
||||||
|
|
||||||
|
&.local
|
||||||
|
font-weight bold
|
||||||
|
|
||||||
|
.kpdsmpnk
|
||||||
|
min-height 100px
|
||||||
|
padding 16px
|
||||||
|
background-position center
|
||||||
|
background-size cover
|
||||||
|
|
||||||
|
&:before
|
||||||
|
content ""
|
||||||
|
display block
|
||||||
|
position absolute
|
||||||
|
top 0
|
||||||
|
left 0
|
||||||
|
width 100%
|
||||||
|
height 100%
|
||||||
|
background rgba(0, 0, 0, 0.3)
|
||||||
|
|
||||||
|
> div
|
||||||
|
color #fff
|
||||||
|
text-shadow 0 0 8px #00
|
||||||
|
|
||||||
|
> .title
|
||||||
|
display block
|
||||||
|
font-size 20px
|
||||||
|
font-weight bold
|
||||||
|
color inherit
|
||||||
|
|
||||||
|
> span
|
||||||
|
font-size 14px
|
||||||
|
opacity 0.8
|
||||||
|
|
||||||
|
</style>
|
@ -12,7 +12,7 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
<span class="username">@{{ user | acct }}</span>
|
<span class="username">@{{ user | acct }}</span>
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<mfm v-if="user.description" :text="user.description" :author="user" :i="$store.state.i" :custom-emojis="user.emojis"/>
|
<mfm v-if="user.description" :text="user.description" :is-note="false" :author="user" :i="$store.state.i" :custom-emojis="user.emojis"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
30
src/client/app/common/views/pages/followers.vue
Normal file
30
src/client/app/common/views/pages/followers.vue
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<mk-user-list :make-promise="makePromise">{{ $t('@.followers') }}</mk-user-list>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
import parseAcct from '../../../../../misc/acct/parse';
|
||||||
|
import i18n from '../../../i18n';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
i18n: i18n(''),
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
makePromise: cursor => this.$root.api('users/followers', {
|
||||||
|
...parseAcct(this.$route.params.user),
|
||||||
|
limit: 30,
|
||||||
|
cursor: cursor ? cursor : undefined
|
||||||
|
}).then(x => {
|
||||||
|
return {
|
||||||
|
users: x.users,
|
||||||
|
cursor: x.next
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
27
src/client/app/common/views/pages/following.vue
Normal file
27
src/client/app/common/views/pages/following.vue
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<mk-user-list :make-promise="makePromise">{{ $t('@.following') }}</mk-user-list>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
import parseAcct from '../../../../../misc/acct/parse';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
makePromise: cursor => this.$root.api('users/following', {
|
||||||
|
...parseAcct(this.$route.params.user),
|
||||||
|
limit: 30,
|
||||||
|
cursor: cursor ? cursor : undefined
|
||||||
|
}).then(x => {
|
||||||
|
return {
|
||||||
|
users: x.users,
|
||||||
|
cursor: x.next
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-analog-clock">
|
<div class="mkw-analog-clock">
|
||||||
<mk-widget-container :naked="props.style % 2 === 0" :show-header="false">
|
<ui-container :naked="props.style % 2 === 0" :show-header="false">
|
||||||
<div class="mkw-analog-clock--body">
|
<div class="mkw-analog-clock--body">
|
||||||
<mk-analog-clock :dark="$store.state.device.darkmode" :smooth="props.style < 2"/>
|
<mk-analog-clock :dark="$store.state.device.darkmode" :smooth="props.style < 2"/>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="anltbovirfeutcigvwgmgxipejaeozxi">
|
<div class="anltbovirfeutcigvwgmgxipejaeozxi">
|
||||||
<mk-widget-container :show-header="false" :naked="props.design == 1">
|
<ui-container :show-header="false" :naked="props.design == 1">
|
||||||
<div class="anltbovirfeutcigvwgmgxipejaeozxi-body"
|
<div class="anltbovirfeutcigvwgmgxipejaeozxi-body"
|
||||||
:data-found="announcements && announcements.length != 0"
|
:data-found="announcements && announcements.length != 0"
|
||||||
:data-melt="props.design == 1"
|
:data-melt="props.design == 1"
|
||||||
@ -23,7 +23,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<a v-if="announcements.length > 1" @click="next">{{ $t('next') }} >></a>
|
<a v-if="announcements.length > 1" @click="next">{{ $t('next') }} >></a>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-calendar" :data-special="special" :data-mobile="platform == 'mobile'">
|
<div class="mkw-calendar" :data-special="special" :data-mobile="platform == 'mobile'">
|
||||||
<mk-widget-container :naked="props.design == 1" :show-header="false">
|
<ui-container :naked="props.design == 1" :show-header="false">
|
||||||
<div class="mkw-calendar--body">
|
<div class="mkw-calendar--body">
|
||||||
<div class="calendar" :data-is-holiday="isHoliday">
|
<div class="calendar" :data-is-holiday="isHoliday">
|
||||||
<p class="month-and-year">
|
<p class="month-and-year">
|
||||||
@ -31,7 +31,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-hashtags">
|
<div class="mkw-hashtags">
|
||||||
<mk-widget-container :show-header="!props.compact">
|
<ui-container :show-header="!props.compact">
|
||||||
<template slot="header"><fa icon="hashtag"/>{{ $t('title') }}</template>
|
<template #header><fa icon="hashtag"/>{{ $t('title') }}</template>
|
||||||
|
|
||||||
<div class="mkw-hashtags--body" :data-mobile="platform == 'mobile'">
|
<div class="mkw-hashtags--body" :data-mobile="platform == 'mobile'">
|
||||||
<mk-trends/>
|
<mk-trends/>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ import wSlideshow from './slideshow.vue';
|
|||||||
import wTips from './tips.vue';
|
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';
|
||||||
|
|
||||||
Vue.component('mkw-analog-clock', wAnalogClock);
|
Vue.component('mkw-analog-clock', wAnalogClock);
|
||||||
Vue.component('mkw-nav', wNav);
|
Vue.component('mkw-nav', wNav);
|
||||||
@ -27,3 +28,4 @@ Vue.component('mkw-memo', wMemo);
|
|||||||
Vue.component('mkw-rss', wRss);
|
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);
|
||||||
|
14
src/client/app/common/views/widgets/instance.vue
Normal file
14
src/client/app/common/views/widgets/instance.vue
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<template>
|
||||||
|
<div class="mkw-instance">
|
||||||
|
<ui-container>
|
||||||
|
<mk-instance/>
|
||||||
|
</ui-container>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import define from '../../../common/define-widget';
|
||||||
|
export default define({
|
||||||
|
name: 'instance'
|
||||||
|
});
|
||||||
|
</script>
|
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-memo">
|
<div class="mkw-memo">
|
||||||
<mk-widget-container :show-header="!props.compact">
|
<ui-container :show-header="!props.compact">
|
||||||
<template slot="header"><fa :icon="['far', 'sticky-note']"/>{{ $t('title') }}</template>
|
<template #header><fa :icon="['far', 'sticky-note']"/>{{ $t('title') }}</template>
|
||||||
|
|
||||||
<div class="mkw-memo--body">
|
<div class="mkw-memo--body">
|
||||||
<textarea v-model="text" :placeholder="$t('placeholder')" @input="onChange"></textarea>
|
<textarea v-model="text" :placeholder="$t('placeholder')" @input="onChange"></textarea>
|
||||||
<button @click="saveMemo" :disabled="!changed">{{ $t('save') }}</button>
|
<button @click="saveMemo" :disabled="!changed">{{ $t('save') }}</button>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-nav">
|
<div class="mkw-nav">
|
||||||
<mk-widget-container>
|
<ui-container>
|
||||||
<div class="mkw-nav--body">
|
<div class="mkw-nav--body">
|
||||||
<mk-nav/>
|
<mk-nav/>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-photo-stream" :class="$style.root" :data-melt="props.design == 2">
|
<div class="mkw-photo-stream" :class="$style.root" :data-melt="props.design == 2">
|
||||||
<mk-widget-container :show-header="props.design == 0" :naked="props.design == 2">
|
<ui-container :show-header="props.design == 0" :naked="props.design == 2">
|
||||||
<template slot="header"><fa icon="camera"/>{{ $t('title') }}</template>
|
<template #header><fa icon="camera"/>{{ $t('title') }}</template>
|
||||||
|
|
||||||
<p :class="$style.fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
<p :class="$style.fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
||||||
<div :class="$style.stream" v-if="!fetching && images.length > 0">
|
<div :class="$style.stream" v-if="!fetching && images.length > 0">
|
||||||
@ -13,7 +13,7 @@
|
|||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
<p :class="$style.empty" v-if="!fetching && images.length == 0">{{ $t('no-photos') }}</p>
|
<p :class="$style.empty" v-if="!fetching && images.length == 0">{{ $t('no-photos') }}</p>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-posts-monitor">
|
<div class="mkw-posts-monitor">
|
||||||
<mk-widget-container :show-header="props.design == 0" :naked="props.design == 2">
|
<ui-container :show-header="props.design == 0" :naked="props.design == 2">
|
||||||
<template slot="header"><fa icon="chart-line"/>{{ $t('title') }}</template>
|
<template #header><fa icon="chart-line"/>{{ $t('title') }}</template>
|
||||||
<button slot="func" @click="toggle" :title="$t('toggle')"><fa icon="sort"/></button>
|
<template #func><button @click="toggle" :title="$t('toggle')"><fa icon="sort"/></button></template>
|
||||||
|
|
||||||
<div class="qpdmibaztplkylerhdbllwcokyrfxeyj" :class="{ dual: props.view == 0 }">
|
<div class="qpdmibaztplkylerhdbllwcokyrfxeyj" :class="{ dual: props.view == 0 }">
|
||||||
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`" v-show="props.view != 2">
|
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`" v-show="props.view != 2">
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<text x="1" y="5">Fedi</text>
|
<text x="1" y="5">Fedi</text>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-rss">
|
<div class="mkw-rss">
|
||||||
<mk-widget-container :show-header="!props.compact">
|
<ui-container :show-header="!props.compact">
|
||||||
<template slot="header"><fa icon="rss-square"/>RSS</template>
|
<template #header><fa icon="rss-square"/>RSS</template>
|
||||||
<button slot="func" title="設定" @click="setting"><fa icon="cog"/></button>
|
<template #func><button title="設定" @click="setting"><fa icon="cog"/></button></template>
|
||||||
|
|
||||||
<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>
|
||||||
@ -10,7 +10,7 @@
|
|||||||
<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">{{ item.title }}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ export default define({
|
|||||||
name: 'rss',
|
name: 'rss',
|
||||||
props: () => ({
|
props: () => ({
|
||||||
compact: false,
|
compact: false,
|
||||||
url: 'http://news.yahoo.co.jp/pickup/rss.xml'
|
url: 'http://feeds.afpbb.com/rss/afpbb/afpbbnews'
|
||||||
})
|
})
|
||||||
}).extend({
|
}).extend({
|
||||||
i18n: i18n(),
|
i18n: i18n(),
|
||||||
@ -78,6 +78,9 @@ export default define({
|
|||||||
padding 4px 0
|
padding 4px 0
|
||||||
color var(--text)
|
color var(--text)
|
||||||
border-bottom dashed var(--lineWidth) var(--faceDivider)
|
border-bottom dashed var(--lineWidth) var(--faceDivider)
|
||||||
|
white-space nowrap
|
||||||
|
text-overflow ellipsis
|
||||||
|
overflow hidden
|
||||||
|
|
||||||
&:last-child
|
&:last-child
|
||||||
border-bottom none
|
border-bottom none
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mkw-server">
|
<div class="mkw-server">
|
||||||
<mk-widget-container :show-header="props.design == 0" :naked="props.design == 2">
|
<ui-container :show-header="props.design == 0" :naked="props.design == 2">
|
||||||
<template slot="header"><fa icon="server"/>{{ $t('title') }}</template>
|
<template #header><fa icon="server"/>{{ $t('title') }}</template>
|
||||||
<button slot="func" @click="toggle" :title="$t('toggle')"><fa icon="sort"/></button>
|
<template #func><button @click="toggle" :title="$t('toggle')"><fa icon="sort"/></button></template>
|
||||||
|
|
||||||
<p :class="$style.fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
<p :class="$style.fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
||||||
<template v-if="!fetching">
|
<template v-if="!fetching">
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<x-uptimes v-show="props.view == 4" :connection="connection"/>
|
<x-uptimes v-show="props.view == 4" :connection="connection"/>
|
||||||
<x-info v-show="props.view == 5" :connection="connection" :meta="meta"/>
|
<x-info v-show="props.view == 5" :connection="connection" :meta="meta"/>
|
||||||
</template>
|
</template>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { clientVersion as version, codename } from '../../../config';
|
import { version, codename } from '../../../config';
|
||||||
import define from '../../../common/define-widget';
|
import define from '../../../common/define-widget';
|
||||||
export default define({
|
export default define({
|
||||||
name: 'version'
|
name: 'version'
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
declare const _LANGS_: string[];
|
declare const _LANGS_: string[];
|
||||||
declare const _COPYRIGHT_: string;
|
declare const _COPYRIGHT_: string;
|
||||||
declare const _VERSION_: string;
|
declare const _VERSION_: string;
|
||||||
declare const _CLIENT_VERSION_: string;
|
|
||||||
declare const _CODENAME_: string;
|
declare const _CODENAME_: string;
|
||||||
declare const _ENV_: string;
|
declare const _ENV_: string;
|
||||||
|
|
||||||
@ -17,6 +16,5 @@ export const langs = _LANGS_;
|
|||||||
export const locale = JSON.parse(localStorage.getItem('locale'));
|
export const locale = JSON.parse(localStorage.getItem('locale'));
|
||||||
export const copyright = _COPYRIGHT_;
|
export const copyright = _COPYRIGHT_;
|
||||||
export const version = _VERSION_;
|
export const version = _VERSION_;
|
||||||
export const clientVersion = _CLIENT_VERSION_;
|
|
||||||
export const codename = _CODENAME_;
|
export const codename = _CODENAME_;
|
||||||
export const env = _ENV_;
|
export const env = _ENV_;
|
||||||
|
@ -1,20 +1,10 @@
|
|||||||
import { apiUrl, locale } from '../../config';
|
import { apiUrl, locale } from '../../config';
|
||||||
import CropWindow from '../views/components/crop-window.vue';
|
|
||||||
import ProgressDialog from '../views/components/progress-dialog.vue';
|
import ProgressDialog from '../views/components/progress-dialog.vue';
|
||||||
|
|
||||||
export default ($root: any) => {
|
export default ($root: any) => {
|
||||||
|
|
||||||
const cropImage = file => new Promise((resolve, reject) => {
|
const cropImage = file => new Promise(async (resolve, reject) => {
|
||||||
|
const CropWindow = await import('../views/components/crop-window.vue').then(x => x.default);
|
||||||
const regex = RegExp('\.(jpg|jpeg|png|gif|webp|bmp|tiff)$');
|
|
||||||
if (!regex.test(file.name) ) {
|
|
||||||
$root.dialog({
|
|
||||||
title: locale['desktop']['invalid-filetype'],
|
|
||||||
text: null
|
|
||||||
});
|
|
||||||
return reject('invalid-filetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
const w = $root.new(CropWindow, {
|
const w = $root.new(CropWindow, {
|
||||||
image: file,
|
image: file,
|
||||||
title: locale['desktop']['avatar-crop-title'],
|
title: locale['desktop']['avatar-crop-title'],
|
||||||
|
@ -1,20 +1,10 @@
|
|||||||
import { apiUrl, locale } from '../../config';
|
import { apiUrl, locale } from '../../config';
|
||||||
import CropWindow from '../views/components/crop-window.vue';
|
|
||||||
import ProgressDialog from '../views/components/progress-dialog.vue';
|
import ProgressDialog from '../views/components/progress-dialog.vue';
|
||||||
|
|
||||||
export default ($root: any) => {
|
export default ($root: any) => {
|
||||||
|
|
||||||
const cropImage = file => new Promise((resolve, reject) => {
|
const cropImage = file => new Promise(async (resolve, reject) => {
|
||||||
|
const CropWindow = await import('../views/components/crop-window.vue').then(x => x.default);
|
||||||
const regex = RegExp('\.(jpg|jpeg|png|gif|webp|bmp|tiff)$');
|
|
||||||
if (!regex.test(file.name) ) {
|
|
||||||
$root.dialog({
|
|
||||||
title: locale['desktop']['invalid-filetype'],
|
|
||||||
text: null
|
|
||||||
});
|
|
||||||
return reject('invalid-filetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
const w = $root.new(CropWindow, {
|
const w = $root.new(CropWindow, {
|
||||||
image: file,
|
image: file,
|
||||||
title: locale['desktop']['banner-crop-title'],
|
title: locale['desktop']['banner-crop-title'],
|
||||||
|
@ -12,19 +12,11 @@ import init from '../init';
|
|||||||
import fuckAdBlock from '../common/scripts/fuck-ad-block';
|
import fuckAdBlock from '../common/scripts/fuck-ad-block';
|
||||||
import composeNotification from '../common/scripts/compose-notification';
|
import composeNotification from '../common/scripts/compose-notification';
|
||||||
|
|
||||||
import MkIndex from './views/pages/index.vue';
|
import MkHome from './views/home/home.vue';
|
||||||
import MkHome from './views/pages/home.vue';
|
import MkDeck from './views/deck/deck.vue';
|
||||||
import MkDeck from './views/pages/deck/deck.vue';
|
|
||||||
import MkUser from './views/pages/user/user.vue';
|
|
||||||
import MkUserFollowingOrFollowers from './views/pages/user-following-or-followers.vue';
|
|
||||||
import MkFavorites from './views/pages/favorites.vue';
|
|
||||||
import MkSelectDrive from './views/pages/selectdrive.vue';
|
import MkSelectDrive from './views/pages/selectdrive.vue';
|
||||||
import MkDrive from './views/pages/drive.vue';
|
import MkDrive from './views/pages/drive.vue';
|
||||||
import MkHomeCustomize from './views/pages/home-customize.vue';
|
|
||||||
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
||||||
import MkNote from './views/pages/note.vue';
|
|
||||||
import MkSearch from './views/pages/search.vue';
|
|
||||||
import MkTag from './views/pages/tag.vue';
|
|
||||||
import MkReversi from './views/pages/games/reversi.vue';
|
import MkReversi from './views/pages/games/reversi.vue';
|
||||||
import MkShare from './views/pages/share.vue';
|
import MkShare from './views/pages/share.vue';
|
||||||
import MkFollow from '../common/views/pages/follow.vue';
|
import MkFollow from '../common/views/pages/follow.vue';
|
||||||
@ -36,6 +28,7 @@ import PostFormWindow from './views/components/post-form-window.vue';
|
|||||||
import RenoteFormWindow from './views/components/renote-form-window.vue';
|
import RenoteFormWindow from './views/components/renote-form-window.vue';
|
||||||
import MkChooseFileFromDriveWindow from './views/components/choose-file-from-drive-window.vue';
|
import MkChooseFileFromDriveWindow from './views/components/choose-file-from-drive-window.vue';
|
||||||
import MkChooseFolderFromDriveWindow from './views/components/choose-folder-from-drive-window.vue';
|
import MkChooseFolderFromDriveWindow from './views/components/choose-folder-from-drive-window.vue';
|
||||||
|
import MkHomeTimeline from './views/home/timeline.vue';
|
||||||
import Notification from './views/components/ui-notification.vue';
|
import Notification from './views/components/ui-notification.vue';
|
||||||
|
|
||||||
import { url } from '../config';
|
import { url } from '../config';
|
||||||
@ -44,7 +37,7 @@ import MiOS from '../mios';
|
|||||||
/**
|
/**
|
||||||
* init
|
* init
|
||||||
*/
|
*/
|
||||||
init(async (launch) => {
|
init(async (launch, os) => {
|
||||||
Vue.mixin({
|
Vue.mixin({
|
||||||
methods: {
|
methods: {
|
||||||
$contextmenu(e, menu, opts?) {
|
$contextmenu(e, menu, opts?) {
|
||||||
@ -130,35 +123,64 @@ init(async (launch) => {
|
|||||||
require('./views/components');
|
require('./views/components');
|
||||||
require('./views/widgets');
|
require('./views/widgets');
|
||||||
|
|
||||||
|
os.store.commit('device/set', {
|
||||||
|
key: 'inDeckMode',
|
||||||
|
value: os.store.getters.isSignedIn && os.store.state.device.deckMode
|
||||||
|
&& (document.location.pathname === '/' || window.performance.navigation.type === 1)
|
||||||
|
});
|
||||||
|
|
||||||
// Init router
|
// Init router
|
||||||
const router = new VueRouter({
|
const router = new VueRouter({
|
||||||
mode: 'history',
|
mode: 'history',
|
||||||
routes: [
|
routes: [
|
||||||
{ path: '/', name: 'index', component: MkIndex },
|
os.store.state.device.inDeckMode
|
||||||
{ path: '/home', name: 'home', component: MkHome },
|
? { path: '/', name: 'index', component: MkDeck, children: [
|
||||||
{ path: '/deck', name: 'deck', component: MkDeck },
|
{ path: '/@:user', component: () => import('./views/deck/deck.user-column.vue').then(m => m.default), children: [
|
||||||
{ path: '/i/customize-home', component: MkHomeCustomize },
|
{ path: '', name: 'user', component: () => import('./views/deck/deck.user-column.home.vue').then(m => m.default) },
|
||||||
{ path: '/i/favorites', component: MkFavorites },
|
{ path: 'following', component: () => import('../common/views/pages/following.vue').then(m => m.default) },
|
||||||
|
{ path: 'followers', component: () => import('../common/views/pages/followers.vue').then(m => m.default) },
|
||||||
|
]},
|
||||||
|
{ path: '/notes/:note', name: 'note', component: () => import('./views/deck/deck.note-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/search', component: () => import('./views/deck/deck.search-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/tags/:tag', name: 'tag', component: () => import('./views/deck/deck.hashtag-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/featured', name: 'featured', component: () => import('./views/deck/deck.featured-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/explore', name: 'explore', component: () => import('./views/deck/deck.explore-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/explore/tags/:tag', name: 'explore-tag', props: true, component: () => import('./views/deck/deck.explore-column.vue').then(m => m.default) },
|
||||||
|
{ path: '/i/favorites', component: () => import('./views/deck/deck.favorites-column.vue').then(m => m.default) }
|
||||||
|
]}
|
||||||
|
: { path: '/', component: MkHome, children: [
|
||||||
|
{ path: '', name: 'index', component: MkHomeTimeline },
|
||||||
|
{ path: '/@:user', component: () => import('./views/home/user/index.vue').then(m => m.default), children: [
|
||||||
|
{ path: '', name: 'user', component: () => import('./views/home/user/user.home.vue').then(m => m.default) },
|
||||||
|
{ path: 'following', component: () => import('../common/views/pages/following.vue').then(m => m.default) },
|
||||||
|
{ path: 'followers', component: () => import('../common/views/pages/followers.vue').then(m => m.default) },
|
||||||
|
]},
|
||||||
|
{ path: '/notes/:note', name: 'note', component: () => import('./views/home/note.vue').then(m => m.default) },
|
||||||
|
{ path: '/search', component: () => import('./views/home/search.vue').then(m => m.default) },
|
||||||
|
{ path: '/tags/:tag', name: 'tag', component: () => import('./views/home/tag.vue').then(m => m.default) },
|
||||||
|
{ path: '/featured', name: 'featured', component: () => import('./views/home/featured.vue').then(m => m.default) },
|
||||||
|
{ path: '/explore', name: 'explore', component: () => import('../common/views/pages/explore.vue').then(m => m.default) },
|
||||||
|
{ path: '/explore/tags/:tag', name: 'explore-tag', props: true, component: () => import('../common/views/pages/explore.vue').then(m => m.default) },
|
||||||
|
{ path: '/i/favorites', component: () => import('./views/home/favorites.vue').then(m => m.default) },
|
||||||
|
]},
|
||||||
{ path: '/i/messaging/:user', component: MkMessagingRoom },
|
{ path: '/i/messaging/:user', component: MkMessagingRoom },
|
||||||
{ path: '/i/drive', component: MkDrive },
|
{ path: '/i/drive', component: MkDrive },
|
||||||
{ path: '/i/drive/folder/:folder', component: MkDrive },
|
{ path: '/i/drive/folder/:folder', component: MkDrive },
|
||||||
{ path: '/i/settings', component: MkSettings },
|
{ path: '/i/settings', component: MkSettings },
|
||||||
{ path: '/selectdrive', component: MkSelectDrive },
|
{ path: '/selectdrive', component: MkSelectDrive },
|
||||||
{ path: '/search', component: MkSearch },
|
|
||||||
{ path: '/tags/:tag', name: 'tag', component: MkTag },
|
|
||||||
{ path: '/share', component: MkShare },
|
{ path: '/share', component: MkShare },
|
||||||
{ path: '/games/reversi/:game?', component: MkReversi },
|
{ path: '/games/reversi/:game?', component: MkReversi },
|
||||||
{ path: '/@:user', name: 'user', component: MkUser },
|
|
||||||
{ path: '/@:user/following', name: 'userFollowing', component: MkUserFollowingOrFollowers },
|
|
||||||
{ path: '/@:user/followers', name: 'userFollowers', component: MkUserFollowingOrFollowers },
|
|
||||||
{ path: '/notes/:note', name: 'note', component: MkNote },
|
|
||||||
{ path: '/authorize-follow', component: MkFollow },
|
{ path: '/authorize-follow', component: MkFollow },
|
||||||
|
{ path: '/deck', redirect: '/' },
|
||||||
{ path: '*', component: MkNotFound }
|
{ path: '*', component: MkNotFound }
|
||||||
]
|
],
|
||||||
|
scrollBehavior(to, from, savedPosition) {
|
||||||
|
return { x: 0, y: 0 };
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Launch the app
|
// Launch the app
|
||||||
const [app, os] = launch(router);
|
const [app, _] = launch(router);
|
||||||
|
|
||||||
if (os.store.getters.isSignedIn) {
|
if (os.store.getters.isSignedIn) {
|
||||||
/**
|
/**
|
||||||
|
@ -11,6 +11,9 @@ html
|
|||||||
height 100%
|
height 100%
|
||||||
background var(--bg)
|
background var(--bg)
|
||||||
|
|
||||||
|
&, div, textarea
|
||||||
|
scrollbar-width thin
|
||||||
|
|
||||||
&, *
|
&, *
|
||||||
scrollbar-color var(--scrollbarHandle) var(--scrollbarTrack)
|
scrollbar-color var(--scrollbarHandle) var(--scrollbarTrack)
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-activity">
|
<div class="mk-activity">
|
||||||
<mk-widget-container :show-header="design == 0" :naked="design == 2">
|
<ui-container :show-header="design == 0" :naked="design == 2">
|
||||||
<template slot="header"><fa icon="chart-bar"/>{{ $t('title') }}</template>
|
<template #header><fa icon="chart-bar"/>{{ $t('title') }}</template>
|
||||||
<button slot="func" :title="$t('toggle')" @click="toggle"><fa icon="sort"/></button>
|
<template #func><button :title="$t('toggle')" @click="toggle"><fa icon="sort"/></button></template>
|
||||||
|
|
||||||
<p :class="$style.fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
<p :class="$style.fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<x-calendar v-show="view == 0" :data="[].concat(activity)"/>
|
<x-calendar v-show="view == 0" :data="[].concat(activity)"/>
|
||||||
<x-chart v-show="view == 1" :data="[].concat(activity)"/>
|
<x-chart v-show="view == 1" :data="[].concat(activity)"/>
|
||||||
</template>
|
</template>
|
||||||
</mk-widget-container>
|
</ui-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<mk-window ref="window" is-modal width="800px" height="500px" @closed="destroyDom">
|
<mk-window ref="window" is-modal width="800px" height="500px" @closed="destroyDom">
|
||||||
<span slot="header" class="jqiaciqv">
|
<template #header>
|
||||||
|
<span class="jqiaciqv">
|
||||||
<span class="title">{{ $t('choose-prompt') }}</span>
|
<span class="title">{{ $t('choose-prompt') }}</span>
|
||||||
<span class="count" v-if="multiple && files.length > 0">({{ $t('chosen-files', { count: files.length }) }})</span>
|
<span class="count" v-if="multiple && files.length > 0">({{ $t('chosen-files', { count: files.length }) }})</span>
|
||||||
</span>
|
</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
<div class="rqsvbumu">
|
<div class="rqsvbumu">
|
||||||
<x-drive
|
<x-drive
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<mk-window ref="window" is-modal width="800px" height="500px" @closed="destroyDom">
|
<mk-window ref="window" is-modal width="800px" height="500px" @closed="destroyDom">
|
||||||
<span slot="header">
|
<template #header>
|
||||||
<span>{{ $t('choose-prompt') }}</span>
|
<span>{{ $t('choose-prompt') }}</span>
|
||||||
</span>
|
</template>
|
||||||
|
|
||||||
<div class="hllkpxxu">
|
<div class="hllkpxxu">
|
||||||
<x-drive
|
<x-drive
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<mk-window ref="window" is-modal width="800px" :can-close="false">
|
<mk-window ref="window" is-modal width="800px" :can-close="false">
|
||||||
<span slot="header"><fa icon="crop"/>{{ title }}</span>
|
<template #header><fa icon="crop"/>{{ title }}</template>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<vue-cropper ref="cropper"
|
<vue-cropper ref="cropper"
|
||||||
:src="image.url"
|
:src="image.url"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<mk-window ref="window" @closed="destroyDom" width="800px" height="500px" :popout-url="popout">
|
<mk-window ref="window" @closed="destroyDom" width="800px" height="500px" :popout-url="popout">
|
||||||
<template slot="header">
|
<template #header>
|
||||||
<p v-if="usage" :class="$style.info"><b>{{ usage.toFixed(1) }}%</b> {{ $t('used') }}</p>
|
<p v-if="usage" :class="$style.info"><b>{{ usage.toFixed(1) }}%</b> {{ $t('used') }}</p>
|
||||||
<span :class="$style.title"><fa icon="cloud"/>{{ $t('@.drive') }}</span>
|
<span :class="$style.title"><fa icon="cloud"/>{{ $t('@.drive') }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,165 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="mk-friends-maker">
|
|
||||||
<p class="title">{{ $t('title') }}</p>
|
|
||||||
<div class="users" v-if="!fetching && users.length > 0">
|
|
||||||
<div class="user" v-for="user in users" :key="user.id">
|
|
||||||
<mk-avatar class="avatar" :user="user" target="_blank"/>
|
|
||||||
<div class="body">
|
|
||||||
<router-link class="name" :to="user | userPage" v-user-preview="user.id">
|
|
||||||
<mk-user-name :user="user"/>
|
|
||||||
</router-link>
|
|
||||||
<p class="username">@{{ user | acct }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p class="empty" v-if="!fetching && users.length == 0">{{ $t('empty') }}</p>
|
|
||||||
<p class="fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('fetching') }}<mk-ellipsis/></p>
|
|
||||||
<a class="refresh" @click="refresh">{{ $t('refresh') }}</a>
|
|
||||||
<button class="close" @click="destroyDom()" :title="$t('title')"><fa icon="times"/></button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts">
|
|
||||||
import Vue from 'vue';
|
|
||||||
import i18n from '../../../i18n';
|
|
||||||
|
|
||||||
export default Vue.extend({
|
|
||||||
i18n: i18n('desktop/views/components/friends-maker.vue'),
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
users: [],
|
|
||||||
fetching: true,
|
|
||||||
limit: 6,
|
|
||||||
page: 0
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.fetch();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
fetch() {
|
|
||||||
this.fetching = true;
|
|
||||||
this.users = [];
|
|
||||||
|
|
||||||
this.$root.api('users/recommendation', {
|
|
||||||
limit: this.limit,
|
|
||||||
offset: this.limit * this.page
|
|
||||||
}).then(users => {
|
|
||||||
this.users = users;
|
|
||||||
this.fetching = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
refresh() {
|
|
||||||
if (this.users.length < this.limit) {
|
|
||||||
this.page = 0;
|
|
||||||
} else {
|
|
||||||
this.page++;
|
|
||||||
}
|
|
||||||
this.fetch();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
|
||||||
.mk-friends-maker
|
|
||||||
padding 24px
|
|
||||||
|
|
||||||
> .title
|
|
||||||
margin 0 0 12px 0
|
|
||||||
font-size 1em
|
|
||||||
font-weight bold
|
|
||||||
color #888
|
|
||||||
|
|
||||||
> .users
|
|
||||||
&:after
|
|
||||||
content ""
|
|
||||||
display block
|
|
||||||
clear both
|
|
||||||
|
|
||||||
> .user
|
|
||||||
padding 16px
|
|
||||||
width 238px
|
|
||||||
float left
|
|
||||||
|
|
||||||
&: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 #555
|
|
||||||
|
|
||||||
> .username
|
|
||||||
margin 0
|
|
||||||
font-size 15px
|
|
||||||
line-height 16px
|
|
||||||
color #ccc
|
|
||||||
|
|
||||||
> .mk-follow-button
|
|
||||||
position absolute
|
|
||||||
top 16px
|
|
||||||
right 16px
|
|
||||||
|
|
||||||
> .empty
|
|
||||||
margin 0
|
|
||||||
padding 16px
|
|
||||||
text-align center
|
|
||||||
color var(--text)
|
|
||||||
|
|
||||||
> .fetching
|
|
||||||
margin 0
|
|
||||||
padding 16px
|
|
||||||
text-align center
|
|
||||||
color var(--text)
|
|
||||||
|
|
||||||
> [data-icon]
|
|
||||||
margin-right 4px
|
|
||||||
|
|
||||||
> .refresh
|
|
||||||
display block
|
|
||||||
margin 0 8px 0 0
|
|
||||||
text-align right
|
|
||||||
font-size 0.9em
|
|
||||||
color #999
|
|
||||||
|
|
||||||
> .close
|
|
||||||
cursor pointer
|
|
||||||
display block
|
|
||||||
position absolute
|
|
||||||
top 6px
|
|
||||||
right 6px
|
|
||||||
z-index 1
|
|
||||||
margin 0
|
|
||||||
padding 0
|
|
||||||
font-size 1.2em
|
|
||||||
color #999
|
|
||||||
border none
|
|
||||||
outline none
|
|
||||||
background transparent
|
|
||||||
|
|
||||||
&:hover
|
|
||||||
color #555
|
|
||||||
|
|
||||||
&:active
|
|
||||||
color #222
|
|
||||||
|
|
||||||
> [data-icon]
|
|
||||||
padding 14px
|
|
||||||
|
|
||||||
</style>
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user